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

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

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

Негизги инновациялар:

  • Убактылуу кызматтар (өтмө) концепциясы ишке ашырылат, процесс аяктагандан кийин автоматтык түрдө өчүрүлөт же “стоп” ыкмасын чакыруу, ал синтезделген кызматтар үчүн талап кылынышы мүмкүн, аларды өчүргөндөн кийин кайра иштетүү мүмкүн эмес.
  • Inetd сыяктуу кызматтарды түзүү үчүн "make-inetd-constructor" процедурасы кошулду.
  • Тармактын активдүүлүгүндө (системалык розеткаларды активдештирүү стилинде) активдештирилген кызматтарды түзүү үчүн “жазуу-система-конструктор” процедурасы кошулган.
  • Кызматты фондо баштоо процедурасы кошулду - “фондо баштоо”.
  • "Make-forkexec-constructor" процедурасына ": supplementary-groups", "#:create-session" жана "#:resource-limits" параметрлери кошулду.
  • PID файлдарын күтүп жатканда бөгөттөлбөй иштетилген.
  • “#:log-file” параметри жок кызматтар үчүн syslogго чыгаруу камсыз кылынат, ал эми #:log-file параметри бар кызматтар үчүн журнал жазуулардын убактысын көрсөтүү менен өзүнчө файлга жазылат. Артыкчылыксыз койчу процессинин журналдары $XDG_DATA_DIR каталогунда сакталат.
  • Guile 2.0 менен курууну колдоо токтотулду. Guile 3.0.5-3.0.7 версияларын колдонуудагы көйгөйлөр чечилди.
  • Fibers китепканасы 1.1.0 же андан кийинкиси иштөө үчүн азыр талап кылынат.

Source: opennet.ru

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