GNU Shepherd 0.9.2 (avvalgi dmd), bog'liqliklarni boshqaradigan SysV-init boshlang'ich tizimiga alternativa sifatida GNU Guix System distributivi ishlab chiquvchilari tomonidan ishlab chiqilgan xizmat menejeri chiqarildi. Shepherd boshqaruv demoni va yordamchi dasturlari Guile (Scheme tilining amalga oshirilishi) tilida yozilgan bo'lib, u xizmat konfiguratsiyasi va ishga tushirish parametrlarini aniqlash uchun ham ishlatiladi. Shepherd allaqachon GuixSD GNU distributivida ishlatilgan.Linux va shuningdek, GNU/Hurd da foydalanishga mo'ljallangan, ammo Guile tili mavjud bo'lgan har qanday POSIX-mos keladigan operatsion tizimda ishlashi mumkin.
Shepherd xizmatlar o'rtasidagi munosabatlarni hisobga olgan holda, tanlangan xizmat bog'liq bo'lgan xizmatlarni dinamik ravishda aniqlash va ishga tushirish orqali xizmatlarni ishga tushirish va to'xtatish ishlarini bajaradi. Shepherd shuningdek, xizmatlar o'rtasidagi ziddiyatlarni aniqlash va ularning bir vaqtda ishlashini oldini olishni qo'llab-quvvatlaydi. Loyiha asosiy ishga tushirish tizimi (PID 1 bilan boshlash) sifatida ham, alohida foydalanuvchilarning fon jarayonlarini boshqarish uchun alohida shaklda (masalan, tor, privoxy, mcron va boshqalarni ishga tushirish) huquqlar bilan bajarilishi mumkin. ushbu foydalanuvchilardan.
O'zgarishlar orasida:
- Shepherd-da ishlatiladigan fayl identifikatorlari endi ijrochi-buyrug'i bajarilganda darhol yopilish o'rniga O_CLOEXEC (exec-ga yaqin) bayrog'i bilan belgilanadi, bu esa bilvosita ijrochi-buyrug'i bilan boshlangan xizmatlarga tutqichlarni o'tkazish imkonini beradi.
- Mijoz ulanishlari endi bloklanmaydigan tarzda qayta ishlanadi, bu esa cho'ponning to'liq bo'lmagan buyruq yuborayotganda osib qo'yishiga yo'l qo'ymaydi.
- Agar mavjud bo'lmasa, "jurnal fayli" sozlamalarida belgilangan jurnal fayllari uchun katalog yaratilganligini ta'minlaydi.
Manba: opennet.ru
