GNU Shepherd 0.9.2 başlangıç ​​sisteminin piyasaya sürülmesi

Bağımlılıkları destekleyen SysV-init başlatma sistemine alternatif olarak GNU Guix System dağıtımının geliştiricileri tarafından geliştirilen hizmet yöneticisi GNU Shepherd 0.9.2 (eski adıyla dmd) yayınlandı. Shepherd kontrol arka plan programı ve yardımcı programları, hizmetlerin başlatılmasına ilişkin ayarları ve parametreleri tanımlamak için de kullanılan Guile dilinde (Şema dilinin uygulamalarından biri) yazılmıştır. Shepherd halihazırda GuixSD GNU/Linux dağıtımında kullanılmaktadır ve aynı zamanda GNU/Hurd'da da kullanılması amaçlanmaktadır, ancak Guile dilinin mevcut olduğu POSIX uyumlu herhangi bir işletim sistemi üzerinde çalışabilir.

Shepherd, hizmetler arasındaki ilişkileri dikkate alarak, seçilen hizmetin bağlı olduğu hizmetleri dinamik olarak belirleyerek ve başlatarak hizmetleri başlatma ve durdurma işini yapar. Shepherd ayrıca hizmetler arasındaki çakışmaların tespit edilmesini ve bunların aynı anda çalışmasının engellenmesini de destekler. Proje, hem ana başlatma sistemi olarak (PID 1 ile init) hem de bireysel kullanıcıların arka plan işlemlerini (örneğin, tor, privoxy, mcron vb. çalıştırmak için) haklarla yürütme ile yönetmek için ayrı bir formda kullanılabilir. bu kullanıcılardan.

Değişiklikler arasında:

  • Shepherd'da kullanılan dosya tanımlayıcıları, bir exec komutu yürütüldüğünde hemen kapatılmak yerine artık O_CLOEXEC (exec'e yakın) bayrağıyla işaretlenmiştir; bu, tanıtıcıların bir exec komutu tarafından dolaylı olarak başlatılan hizmetlere aktarılmasına olanak tanır.
  • İstemci bağlantıları artık engelleyici olmayan bir şekilde işleniyor, bu da Shepherd'ın eksik bir komut gönderirken askıda kalmasını önlüyor.
  • Eğer mevcut değilse, “log-file” ayarında tanımlanan log dosyaları için bir dizin oluşturulmasını sağlar.

Kaynak: opennet.ru

Yorum ekle