Service Manager s6-rc 0.5.3.0 sürümü ve başlatma sistemi s6-linux-init 1.0.7 sürümü

Bağımlılıkları dikkate alarak başlatma komut dosyalarının ve hizmetlerinin başlatılmasını yönetmek için tasarlanmış hizmet yöneticisi s6-rc 0.5.3.0'ın önemli bir sürümü hazırlandı. s6-rc araç seti hem başlatma sistemlerinde hem de sistem durumundaki değişiklikleri yansıtan olaylarla bağlantılı olarak isteğe bağlı hizmetlerin başlatılmasını organize etmek için kullanılabilir. Belirli bir duruma ulaşmak için tam bağımlılık ağacı takibi ve hizmetlerin otomatik olarak başlatılmasını veya kapatılmasını sağlar. Kod C dilinde yazılmıştır ve ISC lisansı altında dağıtılmaktadır.

Sysv-rc veya OpenRC'nin bir analogu olarak düşünülebilecek s6-rc hizmet yöneticisi, uzun süren işlemleri (arka plan programları) veya hemen sonlandırılan başlatma komut dosyalarını başlatmak ve durdurmak için bir dizi yardımcı program içerir. Çalışma sırasında bileşenler arasındaki bağımlılıklar dikkate alınır, birbirleriyle kesişmeyen komut dosyalarının ve hizmetlerin paralel başlatılması sağlanır ve komut dosyası yürütme sırasının farklı başlatmalarda tekrarlanması garanti edilir. Tüm durum değişiklikleri, bağımlılıklar dikkate alınarak işlenir ve bağımlılıkların ihlal edilmediğinden emin olunur (örneğin, bir hizmet başlatıldığında, çalışması için gerekli bağımlılıklar otomatik olarak başlatılacak ve durdurulduğunda bağımlı hizmetler de durdurulacaktır).

Çalışma seviyeleri yerine s6-rc, hizmetleri keyfi özelliklere ve çözülmesi gereken görevlere göre gruplandırmanıza olanak tanıyan daha evrensel bir paket konsepti sunar. İş verimliliğini artırmak için, hizmetleri başlatmak/durdurmak için dosyalar içeren dizinlerin içeriğine dayalı olarak s6-rc-compile yardımcı programı tarafından oluşturulan derlenmiş bir bağımlılık veritabanı kullanılır. Veritabanını ayrıştırmak ve değiştirmek için s6-rc-db ve s6-rc-update yardımcı programları sunulur. Sistem, sysv-init uyumlu başlatma komut dosyalarını destekler ve bağımlılık bilgilerini sysv-rc veya OpenRC'den içe aktarabilir.

S6-rc'nin avantajları arasında, doğrudan sorunları çözmeye yönelik bileşenler dışında gereksiz hiçbir şey içermeyen ve minimum kaynak tüketen kompakt bir uygulama yer almaktadır. Diğer hizmet yöneticilerinden farklı olarak s6-rc, mevcut bir hizmet kümesi için proaktif (çevrimdışı) bir bağımlılık grafiği oluşturulmasını destekler; bu, yükleme veya durum değişiklikleri sırasında değil, kaynak yoğun bağımlılık analizini ayrı olarak gerçekleştirmenize olanak tanır. Aynı zamanda sistem monolitik değildir ve her biri Unix felsefesine uygun olarak yalnızca belirli bir görevi çözen bir dizi ayrı ve değiştirilebilir modüle bölünmüştür.

Araç seti, süreçlerin çalışmasını izleyen s6 yardımcı programlarıyla (daemontools ve runit'e benzer) birlikte, uzun süredir çalışan hizmetlerin çalışmasını eşzamanlı olarak izlemenize, örneğin anormal sonlandırma durumunda bunları yeniden başlatmanıza ve bir sıranın sağlanmasına olanak tanır. Komutların sayısı, farklı başlangıçlarda tekrarlanan, tekrarlanabilir bir biçimde başlatılır. Desteklenen özellikler arasında bir sokete erişirken bir hizmetin etkinleştirilmesi (bir ağ bağlantı noktasına erişirken bir işleyicinin başlatılması), işlem olaylarının günlüğe kaydedilmesi (syslogd'un değiştirilmesi) ve ek ayrıcalıkların kontrollü olarak verilmesi (sudo'ya benzer) yer alır.

Aynı zamanda, s6 ve s1.0.7.0'nın bulunduğu Linux çekirdeğini temel alan işletim sistemleri için hazır init sistemleri oluşturmaya yönelik init sürecinin bir uygulamasını sunan s6-linux-init 6 paketinin sürümü de mevcuttur. -rc yardımcı programları hizmetleri ve başlatma komut dosyalarını yönetmek için kullanılır. Aynı zamanda s6 ve s6-rc, s6-linux-init'e bağlı değildir ve istenirse herhangi bir başlatma sistemiyle birlikte kullanılabilir.

Ayrıca proje şunları sağlar:

  • s6-networking, ucspi'ye benzer şekilde ağ hizmetleri oluşturmaya yönelik bir dizi yardımcı programdır.
  • s6-frontend - daemontools ve runit'in işlevselliğini s6'nın üzerinde yeniden oluşturmak için bir çerçeve.
  • s6-portable-utils, minimum kaynak tüketimi için optimize edilmiş ve ISC lisansı altında sağlanan, kesilmiş, chmod, ls, sort ve grep gibi bir dizi standart Unix yardımcı programından oluşur.
  • s6-linux-utils - Chroot, freeramdisk, logwatch, mount ve swapon gibi Linux'a özgü bir dizi yardımcı program.
  • s6-dns, BIND ve djbdns'in standart DNS yardımcı programlarının yerini alan bir dizi istemci kitaplığı ve yardımcı programdır.

S6-rc'nin yeni sürümünde, s6-rc-compile yardımcı programı, bağımlılıklar ve hizmet kümeleri hakkındaki verileri dosyalar yerine dizinlerden okumayı uygular. Dizinleri kullanmak, dosyaları bir paket yöneticisi aracılığıyla yüklerken bağımlılıklarla ilgili bilgileri içeren hizmetleri veritabanına eklemeyi kolaylaştırır, çünkü dosyalarda değişiklik yapmadan bunu yapmanıza olanak tanır. Uyumluluğu sağlamak için eski dosya tabanlı format desteği korundu. s6-linux-init'in yeni sürümünde, konteynerlerdeki verileri senkronize etmek için s6-linux-init-maker yardımcı programına "-S" seçeneği eklendi.

Kaynak: opennet.ru

Yorum ekle