En İyi 6 Modern Linux 'init' Sistemi (1992-2023)


Linux ve diğer Unix benzeri işletim sistemlerinde, init (başlatma) işlemi, çekirdek tarafından önyükleme sırasında yürütülen ve bir kimliği (ID)'ye sahip olan ilk işlemdir. >PID)/1, sistem kapatılıncaya kadar arka planda yürütülür.

init süreci diğer tüm Linux süreçlerini, yani daemon'ları, hizmetleri ve diğer arka plan süreçlerini başlatır, dolayısıyla sistemdeki diğer tüm süreçlerin anasıdır.

Bir süreç, sistemdeki diğer birçok alt süreci başlatabilir, ancak bir üst süreç ölürse init, yetim sürecin üst öğesi haline gelir.

Yıllar geçtikçe, büyük Linux dağıtımlarında birçok init sistemi ortaya çıktı ve bu kılavuzda, Linux işletim sisteminde çalışabileceğiniz en iyi init sistemlerinden bazılarına göz atacağız.

1. Sistem V Başlatma

Sistem V (SysV), Unix benzeri işletim sistemlerinde olgun ve popüler bir init şemasıdır; Unix/Linux sistemindeki tüm süreçlerin üst öğesidir. SysV tasarlanan ilk ticari Unix işletim sistemidir.

Özel bir init'e sahip olan Gentoo ve BSD tarzı init şemasını kullanan Slackware dışında hemen hemen tüm Linux dağıtımları ilk olarak SysV başlatma şemasını kullandı.

Yıllar geçtikçe, bazı kusurlar nedeniyle, Linux için daha verimli ve mükemmel başlatma sistemleri oluşturma arayışında çeşitli SysV başlangıç değişiklikleri geliştirildi.

Bu alternatifler SysV'yi iyileştirmeyi amaçlasa ve muhtemelen yeni özellikler sunsa da, hâlâ orijinal SysV başlatma komut dosyalarıyla uyumludurlar.

2. SistemD

SystemD, Linux platformunda nispeten yeni bir başlatma şemasıdır. Fedora 15'te tanıtılan bu araç, kolay sistem yönetimine yönelik çeşitli araçlardan oluşur. Temel amaç, önyükleme işleminde ve sistem çalışırken tüm sistem işlemlerini başlatmak, yönetmek ve takip etmektir.

Systemd init, sistem ve hizmet yönetimine pratik yaklaşım açısından diğer geleneksel Unix init sistemlerinden kapsamlı bir şekilde farklıdır. Ayrıca SysV ve LBS başlatma komut dosyalarıyla da uyumludur.

Aşağıdaki seçkin özelliklerden bazılarına sahiptir:

  • Temiz, anlaşılır ve verimli tasarım
  • Açılışta eşzamanlı ve paralel işleme
  • Daha iyi APIv
  • İsteğe bağlı işlemlerin kaldırılmasını sağlar
  • Journald kullanarak olay günlüğünü destekler
  • Systemd takvim zamanlayıcılarını kullanarak iş planlamayı destekler
  • Günlüklerin ikili dosyalarda saklanması
  • Gelecekte başvurmak üzere systemd durumunun korunması
  • GNOME ile daha iyi entegrasyon ve çok daha fazlası

3. Başlangıç

Upstart, Ubuntu'nun yapımcıları tarafından SysV başlatma sisteminin yerini almak üzere geliştirilen, olaya dayalı bir başlatma sistemidir. Farklı sistem görevlerini ve süreçlerini başlatır, sistem çalışırken bunları denetler ve sistem kapatıldığında bunları durdurur.

Hem SysV başlangıç komut dosyalarını hem de Systemd komut dosyalarını kullanan karma bir başlatma sistemidir; Upstart başlatma sisteminin dikkate değer özelliklerinden bazıları şunlardır:

  • Başlangıçta Ubuntu Linux için geliştirildi ancak diğer tüm dağıtımlarda da çalışabilir
  • Görevlerin ve hizmetlerin olaya dayalı başlatılması ve durdurulması
  • Görevlerin ve hizmetlerin başlatılması ve durdurulması sırasında olaylar oluşturulur
  • Olaylar diğer sistem süreçleri tarafından gönderilebilir
  • D-Bus aracılığıyla başlatma süreciyle iletişim
  • Kullanıcılar işlemlerini başlatabilir ve durdurabilir
  • Aniden ölen hizmetlerin yeniden ortaya çıkması ve çok daha fazlası

4.OpenRC

OpenRC, Unix benzeri işletim sistemleri için bağımlılık tabanlı bir init şemasıdır ve SysV init ile uyumludur. Sys V'e bazı iyileştirmeler getirse de, OpenRC'nin /sbin/init dosyasının mutlak bir alternatifi olmadığını aklınızda bulundurmalısınız.

Aşağıdakiler de dahil olmak üzere bazı ünlü özellikler sunar:

  • Gentoo dahil diğer birçok Linux dağıtımında ve ayrıca BSD'de çalışabilir.
  • Donanım tarafından başlatılan başlatma komut dosyalarını destekler
  • Tek bir yapılandırma dosyasını destekler
  • Hizmet başına yapılandırma desteklenmez
  • Bir daemon olarak çalışır
  • Paralel hizmetlerin başlatılması ve çok daha fazlası

5. runit

runit aynı zamanda GNU/Linux, Solaris, *BSD ve Mac OS X'te çalışabilen çapraz platformlu bir init sistemidir ve hizmet denetimi sunan SysV init'e bir alternatiftir.

SysV init'te ve muhtemelen Linux'taki diğer init sistemlerinde bulunmayan bazı avantajlar ve dikkat çekici bileşenlerle birlikte gelir ve bunlar şunları içerir:

  • Her hizmetin bir hizmet dizini ile ilişkilendirildiği hizmet denetimi
  • Temiz bir işlem durumu, her işlemin temiz bir durumu garanti eder
  • Güvenilir bir kayıt olanağına sahiptir
  • Hızlı sistem başlatma ve kapatma
  • Aynı zamanda taşınabilir
  • Ambalaj dostu
  • Küçük kod boyutu ve çok daha fazlası

6.s6

s6, UNIX için daemontools ve runit'e benzer şekilde süreç denetimi için özel olarak tasarlanmış kompakt bir araç seti sunar. Süreçler ve daemonlar üzerindeki işlemleri kolaylaştırır.

Düşük düzeyli bir hizmet yönetimi araç seti olarak tasarlanan s6, bağımsız olarak veya kendi çerçevesinde çalışabilen çeşitli araçlar sağlar. Bu araçlar bir araya getirildiğinde minimum kodla güçlü işlevsellik sunar.

Daha önce de belirttiğim gibi Linux sistemindeki diğer tüm işlemleri init sistemi başlatır ve yönetir. Ayrıca SysV, Linux işletim sistemlerindeki birincil başlatma şemasıdır, ancak bazı performans zayıflıkları nedeniyle sistem programcıları bunun için çeşitli alternatifler geliştirdiler.

Burada bu değişikliklerden birkaçına baktık, ancak bu listede bahsetmeye değer olduğunu düşündüğünüz başka init sistemleri de olabilir. Bunları aşağıdaki yorum bölümünden bize bildirebilirsiniz.