GNU Shepherd, Guix tarafından geliştirilen bir servis yöneticisi

Son büyük sürümün yayınlanmasının üzerinden iki yıl geçtikten sonra, GNU Shepherd servis yöneticisinin (eski adıyla dmd) yeni sürümü 0.9 kamuoyuna duyuruldu . Bu sürüm , GNU Guix dağıtımının geliştiricileri tarafından, sistem bağımlılıklarını dikkate alan SysV-init başlatma yöntemine alternatif olarak geliştirilmektedir .

Shepherd, kullanıcı alanı işlevselliğini eşzamansız olarak hizmetler şeklinde sağlar ; Shepherd'da bu hizmetler, temel işletim sistemini tanımlanmış bir şekilde genişletmek için Shepherd'ın kullanması amacıyla dışa aktarılan genel işlevler ve nesne veri türleridir. Systemd'nin aksine, kullanıcı alanı izleme işlemi o kullanıcı olarak çalışır.

Çoban Hakkında

Shepherd'ın kullanıcı alanı başlatma modelinin özü, hizmetlerin diğer hizmetlerle örtüşecek şekilde tasarlandığı ve istenildiği gibi daha ayrıntılı veya özel davranışlarla zenginleştirildiği bir tür birleştirilebilirlik olan genişletme kavramıdır. Bu, birçok modern başlatma sisteminde bulunan örneklemeye dayalı bağımlılık ilişkilerini ifade eder, sistemi modüler hale getirir , ancak aynı zamanda hizmetlerin diğer hizmetlerle keyfi şekillerde değişken olarak etkileşim kurmasına da olanak tanır .

Shepherd ayrıca , sistem için posta aktarım aracısı (MTA) örnekleri oluşturanlar gibi, ilgili hizmet nesneleri sınıfı üzerinde dinamik teslimatı sağlayan sanal hizmetler de sunmaktadır .

Shepherd arka plan programı tarafından yönetilen bir sistem, "sistem hizmeti" (erken önyükleme ve başlatma aşamalarından sorumlu) kök olarak ve sonraki tüm başlatılmış hizmetler sistem hizmetinin işlevselliğinin uzantıları olarak, yönlendirilmiş bir döngüsel olmayan grafik olarak kullanıcı alanını temsil edebilir. , doğrudan veya diğer hizmetler üzerinden geçişli olarak.

Guile Scheme dilinde yazılıp yapılandırıldığı için GNU Shepherd, sistem yöneticisi tarafından yüksek düzeyde programlanabilir olacak şekilde tasarlanmıştır , ancak ayrıcalıksız arka plan programlarının ve hizmetlerinin kullanıcı başına profillerini yönetmek için de kullanılabilir.

Hizmetleri ve yapılandırması, nesne yönelimli Scheme kodu olarak tek tip şekilde saklanır ve temel Guix sistemiyle birlikte bir dizi temel hizmet sağlanmasına rağmen, keyfi yeni hizmetler esnek bir şekilde tanımlanabilir ve Guile'ın nesne sistemi GOOPS aracılığıyla, mevcut hizmetler, Shepherd'dan örnekleme sırasında hizmetleri belirli şekillerde dinamik olarak yeniden yazmasını isteyerek kullanıcının takdirine bağlı olarak yeniden tanımlanabilir.

GNU Shepherd, başlangıçta GNU Hurd ile çalışmak üzere tasarlanmıştı ve daha sonra Guix Sistemi tarafından kabul edildi.

GNU Shepherd 0.9'un başlıca yeni özellikleri

Bu yeni sürüm, işlem sonlanması veya sonlandırıldıktan sonra yeniden başlatılamayan sentezlenmiş hizmetler için gerekli olabilecek "durdur" yöntemine yapılan bir çağrı nedeniyle sonlandıktan sonra otomatik olarak bağlantısı kesilen geçici (kısa süreli) hizmetler kavramının uygulanmasını vurgulamaktadır.

Bir diğer önemli değişiklik ise, " #:log-file" parametresi olmayan servisler için çıktının syslog'a gönderilmesi , "#:log-file" parametresi olan servisler için ise günlüğün, ayrıcalıksız Shepherd işleminde günlüklerin oluşturulma zamanını gösteren ayrı bir dosyaya yazılması ve bu dosyanın $XDG_DATA_DIR dizininde saklanmasıdır.

Ayrıca inetd'ye benzer servisler oluşturmak için "make-inetd-constructor" prosedürünün eklenmiş olması ve ağ etkinliğinde (style systemd soketi) aktif olan servisleri oluşturmak için "make-systemd-constructor" prosedürünün eklenmiş olması dikkat çekicidir. aktivasyon).

Bu yeni sürümdeki diğer önemli değişiklikler şunlardır:

  • Arka plan hizmetini başlatmak için bir prosedür eklendi:
  • “make-forkexec-constructor” prosedürüne “:supplementary-groups”, “#:create-session” ve “#:resource-limits” parametreleri eklendi.
  • PID dosyalarını beklerken garantili kilitsiz çalışma.
  • Guile 2.0 ile derleme desteği kaldırıldı. Guile 3.0.5-3.0.7 sürümlerini kullanırken oluşan sorunlar düzeltildi.
  • Fibers kitaplığı 1.1.0 veya üstü artık çalışması gerekiyor.
  • İyileştirilmiş belgeler ve örnekler
  • Çoban artık Guile 2.0 ile inşa edilemez
  • Guile 3.0 derleyici hatasını düzeltin.[5-7]
  • Güncellenen çeviriler

Son olarak, daha fazla bilgi edinmek veya bu yeni sürüme sahip olmak isterseniz, aşağıdaki bağlantıdan ayrıntılara, belgelere ulaşabilir ve indirebilirsiniz .


Google'da tercih edilen kaynak olarak ekleyin.