První vydání minimalistického inicializačního systému Nitro

Byla publikována první veřejná verze projektu Nitro, který vyvíjí minimalistický init systém s funkcemi pro řízení provádění procesů. Projekt vyvíjí Leah Neukirchen, jedna ze správců balíčků pro distribuci Void. Linux. Код написан на языке Си и распространяется под лицензий 0BSD.

Nitro может применяться как в качестве init-процесса (pid 1), так и в форме непривилегированного процесса, контролирующего бесперебойное выполнение приложений в пространстве пользователя и перезапускающего задачи в случае сбоев. Поддерживается работа в Linux и FreeBSD, возможно применение в окружениях на базе стандартной Си-библиотеки Musl. В качестве областей применения упоминаются встраиваемые системы, образы ram-дисков (initramfs), контейнеры (Docker/Podman/LXC/Kubernetes), а также рабочие станции и серверные системы. Для управления работой сервисов и взаимодействия с init-процессом поставляется утилита командной строки nitroctl.

Místo složených inicializačních skriptů používá Nitro model založený na přesunutí každé funkce do samostatného skriptu. Pro každou službu v hierarchii /etc/nitro je vytvořen podadresář, který může obsahovat následující skripty: setup - obsahuje příkazy spuštěné před spuštěním služby; run - definuje spouštěcí skript služby; finish - obsahuje příkazy spuštěné po dokončení služby. Pro organizaci logování se používá symbolický odkaz s názvem log, který ukazuje na jinou službu, na kterou bude výstup přesměrován. Pro zakázání automatického spuštění služby stačí v jejím adresáři vytvořit soubor s názvem „down“ a pro ignorování služby přidat k názvu adresáře symbol „@“.

Autor projektu uvádí následující výhody Nitra ve srovnání s jinými inicializačními systémy:

  • Veškerý stav je uložen v paměti RAM, což usnadňuje práci v prostředích s diskovými oddíly pouze pro čtení.
  • Architektura založená na událostech, která nepoužívá dotazování.
  • Žádné operace alokace paměti během provozu (všechny vyrovnávací paměti jsou alokovány při spuštění).
  • Omezené použití deskriptorů souborů během provozu.
  • Dodáváno ve formě jednoho samostatného spustitelného souboru a utility pro správu systému.
  • Žádné fáze kompilace konfigurace – provoz služby je definován jednoduchými skripty v adresáři souvisejícím se službou.
  • Dostupnost funkce pro restartování služeb po selhání.
  • Přítomnost mechanismu protokolování, který lze povolit buď ve výchozím nastavení, nebo selektivně pro jednotlivé služby.
  • Možnost vybudování řetězce zpracování kulatiny, který zahrnuje několik služeb.
  • Provoz nezávisí na přesnosti systémových hodin.
  • Podpora spouštění na FreeBSD přes /etc/ttys.
  • Možnost sestavení jako malý staticky kompilovaný spustitelný soubor pomocí knihovny musl libc.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster