Издаване на система за инициализация GNU Shepherd 0.9.2.

Публикуван е системният мениджър GNU Shepherd 0.9.2 (бивш dmd), който се развива от разработчиците на дистрибуцията GNU Guix System като алтернатива на системата за инициализация SysV-init, предоставяща поддръжка на зависимости. Управляващият демон и инструментите на Shepherd са написани на езика Guile (една от реализациите на езика Scheme), който също се използва за определяне на настройки и параметри за стартиране на услуги. Shepherd вече се използва в дистрибуцията GuixSD GNU/Linux и е насочен към употреба в GNU/Hurd, но може да работи и в всяка POSIX-совместима ОС, за която е наличен езика Guile.

Shepherd изпълнява действията по стартиране и спиране на услугите, отчитайки взаимовръзките между тях, динамично определя и стартира услугите, от които зависи избраната услуга. Shepherd също така поддържа определянето на конфликти между услугите и предотвратява тяхното едновременно изпълнение. Проектът може да се използва както в роля на основна система за инициализация (init c PID 1), така и в отделен вид за управление на фоновите процеси на отделни потребители (например, за стартиране на tor, privoxy, mcron и т.н.) с изпълнение с правата на съответните потребители.

Сред промените:

  • Файловите дескриптори, използвани в Shepherd, сега се маркират с флага O_CLOEXEC (close-on-exec), а не се затварят веднага при изпълнение на „exec-command“, което позволява предаването на дескриптори на услуги, стартирани не директно, а чрез „exec-command“.
  • Клиентските връзки сега се обработват в неблокиращ режим, което предотвратява зависването на shepherd при изпращането на непълна команда.
  • Осигурено е създаването на директория за лог файлове, определени в настройката „log-file“, в случай че такава липсва.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster