GNU Shepherd 0.9.2 init системасынын чыгарылышы

Кызмат менеджери GNU Shepherd 0.9.2 (мурдагы dmd) басылып чыкты, ал көз карандылыкты колдогон SysV-init инициализация системасына альтернатива катары GNU Guix системасынын бөлүштүрүүнүн иштеп чыгуучулары тарабынан иштелип жатат. Shepherd башкаруу демону жана утилиталары Guile тилинде жазылган (Схема тилинин ишке ашырууларынын бири), ал ошондой эле кызматтарды ишке киргизүү үчүн орнотууларды жана параметрлерди аныктоо үчүн колдонулат. Shepherd мурунтан эле GuixSD GNU/Linux дистрибуциясында колдонулган жана ошондой эле GNU/Hurdда колдонууга багытталган, бирок Guile тили жеткиликтүү болгон каалаган POSIX шайкеш OSде иштей алат.

Shepherd кызматтардын ортосундагы мамилелерди эске алуу менен кызматтарды баштоо жана токтотуу ишин, тандалган кызмат көз каранды болгон кызматтарды динамикалык түрдө аныктоо жана баштоо менен аткарат. Shepherd ошондой эле кызматтардын ортосундагы чыр-чатактарды аныктоону жана алардын бир убакта иштешин алдын алууну колдойт. Долбоор негизги инициализация системасы катары да (PID 1 менен башталгыч), ошондой эле жеке колдонуучулардын фонддук процесстерин башкаруу үчүн өзүнчө формада да колдонулушу мүмкүн (мисалы, tor, privoxy, mcron ж.б. иштетүү үчүн) укуктар менен аткаруу менен. бул колдонуучулардын.

Өзгөртүүлөрдүн арасында:

  • Shepherd'те колдонулган файл дескрипторлору азыр аткаруучу-буйрук аткарылганда дароо жабылбай, O_CLOEXEC (аткаруучуга жакын) желекчеси менен белгиленип, туткаларды кыйыр түрдө аткаруучу-буйругу менен башталган кызматтарга өткөрүүгө мүмкүндүк берет.
  • Кардар байланыштары эми бөгөттөлбөгөн түрдө иштетилет, бул чабанга толук эмес буйрук жөнөтүүдө илинип калуудан сактайт.
  • Эгерде ал жок болсо, "лог-файл" жөндөөсүндө аныкталган журнал файлдары үчүн каталог түзүлүшүн камсыздайт.

Source: opennet.ru

Комментарий кошуу