Lëshimi i sistemit init GNU Shepherd 0.9

Dy vjet pas formimit të lëshimit të fundit të rëndësishëm, u publikua menaxheri i shërbimit GNU Shepherd 0.9 (dikur dmd), i cili po zhvillohet nga zhvilluesit e shpërndarjes së sistemit GNU Guix si një alternativë ndaj sistemit të inicializimit të SysV-init që mbështet varësitë . Daemon dhe programet e kontrollit Shepherd janë shkruar në gjuhën Guile (një nga implementimet e gjuhës Scheme), e cila përdoret gjithashtu për të përcaktuar cilësimet dhe parametrat për nisjen e shërbimeve. Shepherd është përdorur tashmë në shpërndarjen GuixSD GNU/Linux dhe synohet gjithashtu të përdoret në GNU/Hurd, por mund të ekzekutohet në çdo OS në përputhje me POSIX për të cilin është e disponueshme gjuha Guile.

Shepherd bën punën e fillimit dhe ndërprerjes së shërbimeve duke marrë parasysh marrëdhëniet ndërmjet shërbimeve, duke identifikuar dhe nisur në mënyrë dinamike shërbimet nga të cilat varet shërbimi i përzgjedhur. Shepherd gjithashtu mbështet zbulimin e konflikteve midis shërbimeve dhe parandalimin e funksionimit të tyre në të njëjtën kohë. Projekti mund të përdoret si si sistemi kryesor i inicializimit (init me PID 1), ashtu edhe në një formë të veçantë për të menaxhuar proceset e sfondit të përdoruesve individualë (për shembull, për të ekzekutuar tor, privoxy, mcron, etj.) me ekzekutim me të drejtat të këtyre përdoruesve.

Risitë kryesore:

  • Koncepti i shërbimeve të përkohshme (kalimtare) zbatohet, çaktivizohet automatikisht pas përfundimit për shkak të përfundimit të procesit ose thirrjes së metodës "stop", e cila mund të kërkohet për shërbimet e sintetizuara që nuk mund të rifillojnë pas mbylljes.
  • Për të krijuar shërbime të ngjashme me inetd, është shtuar procedura "make-inetd-constructor".
  • Për të krijuar shërbime që aktivizohen gjatë aktivitetit të rrjetit (në stilin e aktivizimit të prizës systemd), është shtuar procedura "make-systemd-constructor".
  • Procedura e shtuar për fillimin e një shërbimi në sfond - "start-in-the-background".
  • Parametrat e shtuar ":suplementary-groups", "#:create-session" dhe "#:resource-limits" në rutinën "make-forkeexec-constructor".
  • Funksionimi i aktivizuar pa bllokim gjatë pritjes së skedarëve PID.
  • Për shërbimet pa parametrin "#:log-file", ofrohet dalje në syslog dhe për shërbimet me parametrin #:log-file, regjistri shkruhet në një skedar të veçantë që tregon kohën e regjistrimeve. Regjistrat nga procesi i paprivilegjuar Shepherd ruhen në drejtorinë $XDG_DATA_DIR.
  • Mbështetja për ndërtimin me Guile 2.0 është ndërprerë. Problemet kur përdorni versionet Guile 3.0.5-3.0.7 janë zgjidhur.
  • Tani kërkohet të funksionojë biblioteka Fibers 1.1.0 ose më e re.

Burimi: opennet.ru

Shto një koment