Выпуск сістэмы ініцыялізацыі GNU Shepherd 0.6

Прадстаўлены сэрвісны менеджэр GNU Shepherd 0.6 (былы dmd), які развіваецца распрацоўшчыкамі дыстрыбутыва GuixSD GNU/Linux у якасці падтрымлівае залежнасці альтэрнатывы сістэме ініцыялізацыі SysV-init. Кіраўнік дэман і ўтыліты Shepherd напісаны на мове Guile (адна з рэалізацый мовы Scheme), які таксама выкарыстоўваецца для вызначэння налад і параметраў запуску сэрвісаў. Shepherd ужо ўжываецца ў дыстрыбутыве GuixSD GNU/Linux і накіраваны таксама на выкарыстанне ў GNU/Hurd, але можа працаваць у любой POSIX-сумяшчальнай АС, для якой даступны мова Guile.

Shepherd можа выкарыстоўвацца як у ролі асноўнай сістэмы ініцыялізацыі (init c PID 1), так і ў адасобленым выглядзе для кіравання фонавымі працэсамі асобных карыстальнікаў (напрыклад, для запуску tor, privoxy, mcron і да т.п.) з выкананнем з правамі дадзеных карыстальнікаў. Shepherd выконвае працу па запуску і прыпынку сэрвісаў, улічваючы ўзаемасувязь паміж сэрвісамі, дынамічна вызначаючы і запускаючы сэрвісы, ад якіх залежыць абраны сэрвіс. Shepherd таксама падтрымлівае азначэнне канфліктаў паміж сэрвісамі і прадухіляе іх адначасовае выкананне.

Асноўныя навіны:

  • Дададзены рэжым працы сэрвісаў адзін стрэл,
    пры якім сэрвіс адразу пасля паспяховага запуску пазначаецца спыненым, што можа запатрабавацца для запуску аднаразовых прац перад іншымі сэрвісамі, напрыклад, для выканання чысткі ці ініцыялізацыі;

  • Забяспечана выдаленне файлаў з сокетамі пасля завяршэння працы
    shepherd;

  • Каманда «herd stop» зараз не выводзіць памылку пры выкананні над ужо спыненым сэрвісам;
  • Утыліта herd зараз вяртае ненулявы код звароту ў выпадку збою запуску задачы;
  • У выпадку запуску ў кантэйнеры забяспечана ігнаравання звязаных з загрузкай памылак.

Крыніца: opennet.ru

Дадаць каментар