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

Son önemli sürümün oluşturulmasından iki yıl sonra, bağımlılıkları destekleyen SysV-init başlatma sistemine alternatif olarak GNU Guix Sistemi dağıtımının geliştiricileri tarafından geliştirilen hizmet yöneticisi GNU Shepherd 0.9 (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.

Ana yenilikler:

  • Geçici hizmetler (geçici) kavramı uygulanır, işlemin sona ermesi veya kapatıldıktan sonra yeniden başlatılamayan sentezlenmiş hizmetler için gerekli olabilecek "durdurma" yönteminin çağrılması nedeniyle tamamlandıktan sonra otomatik olarak devre dışı bırakılır.
  • inetd benzeri hizmetler oluşturmak için “make-inetd-constructor” prosedürü eklendi.
  • Ağ etkinliği sırasında etkinleştirilen hizmetleri oluşturmak için (systemd soket etkinleştirme stilinde), “make-systemd-constructor” prosedürü eklenmiştir.
  • Arka planda bir hizmeti başlatmak için prosedür eklendi - "arka planda başlatma".
  • "make-forkexec-constructor" rutinine ":supplementary-groups", "#:create-session" ve "#:resource-limits" parametreleri eklendi.
  • PID dosyalarını beklerken engelleme olmadan çalışma etkinleştirildi.
  • “#:log-file” parametresi olmayan servisler için syslog'a çıktı sağlanır, #:log-file parametresi olan servisler için ise log, kayıt zamanını gösteren ayrı bir dosyaya yazılır. Ayrıcalıksız çoban işleminin günlükleri $XDG_DATA_DIR dizininde saklanır.
  • Guile 2.0 ile yapı oluşturma desteği durduruldu. Guile 3.0.5-3.0.7 sürümlerini kullanırken yaşanan sorunlar çözüldü.
  • Çalışmak için artık Fibers kütüphanesi 1.1.0 veya daha yeni bir sürüm gerekiyor.

Kaynak: opennet.ru

Yorum ekle