Vyhledávání na webu

6 nejlepších moderních linuxových „init“ systémů (1992-2023)


V Linuxu a dalších unixových operačních systémech je proces init (inicializace) prvním procesem, který jádro spustí při spouštění a které má ID procesu (PID) 1, který se spouští na pozadí, dokud se systém nevypne.

Proces init spouští všechny ostatní linuxové procesy, tedy démony, služby a další procesy na pozadí, je tedy matkou všech ostatních procesů v systému.

Proces může v systému spustit mnoho dalších podřízených procesů, ale pokud nadřazený proces zemře, init se stane rodičem osiřelého procesu.

V průběhu let se v hlavních distribucích Linuxu objevilo mnoho systémů init a v této příručce se podíváme na některé z nejlepších systémů init, se kterými můžete v operačním systému Linux pracovat.

1. System V Init

System V (SysV) je vyspělé a oblíbené schéma init na operačních systémech podobných Unixu, je to rodič všech procesů v systému Unix/Linux. SysV je první navržený komerční operační systém Unix.

Téměř všechny distribuce Linuxu nejprve používaly init schéma SysV kromě Gentoo, které má vlastní init, a Slackware, který používá init schéma ve stylu BSD.

Jak roky plynuly, kvůli některým nedokonalostem bylo vyvinuto několik náhrad SysV init ve snaze vytvořit efektivnější a dokonalejší init systémy pro Linux.

Přestože se tyto alternativy snaží zlepšit SysV a pravděpodobně nabízejí nové funkce, jsou stále kompatibilní s původními skripty SysV init.

2. SystemD

SystemD je relativně nové schéma init na platformě Linux. Představený ve Fedoře 15 je souborem nástrojů pro snadnou správu systému. Hlavním účelem je inicializovat, spravovat a sledovat všechny systémové procesy v procesu spouštění a za běhu systému.

Systemd init je zcela odlišný od ostatních tradičních unixových init systémů ve způsobu, jakým prakticky přistupuje ke správě systémů a služeb. Je také kompatibilní se skripty SysV a LBS init.

Má některé z následujících vynikajících vlastností:

  • Čistý, přímočarý a efektivní design
  • Souběžné a paralelní zpracování při spuštění
  • Lepší APIv
  • Umožňuje odstranění volitelných procesů
  • Podporuje protokolování událostí pomocí journald
  • Podporuje plánování úloh pomocí systemd kalendářových časovačů
  • Ukládání protokolů v binárních souborech
  • Zachování stavu systemd pro budoucí použití
  • Lepší integrace s GNOME a mnoha dalšími

3. Počáteční

Upstart je init systém založený na událostech vyvinutý tvůrci Ubuntu jako náhrada za init systém SysV. Spouští různé systémové úlohy a procesy, kontroluje je, když systém běží, a zastavuje je během vypínání systému.

Jedná se o hybridní init systém, který používá jak spouštěcí skripty SysV, tak skripty Systemd, některé z pozoruhodných funkcí systému Upstart init zahrnují:

  • Původně vyvinutý pro Ubuntu Linux, ale může běžet na všech ostatních distribucích
  • Spouštění a zastavování úloh a služeb na základě událostí
  • Události jsou generovány během spouštění a zastavování úloh a služeb
  • Události mohou být odesílány jinými systémovými procesy
  • Komunikace s procesem init přes D-Bus
  • Uživatelé mohou spouštět a zastavovat své procesy
  • Re-spawning služeb, které náhle umírají a mnoho dalších

4. OpenRC

OpenRC je schéma init založené na závislostech pro operační systémy podobné Unixu, je kompatibilní s SysV init. Přestože přináší určitá vylepšení pro Sys V, musíte mít na paměti, že OpenRC není absolutní náhradou za soubor /sbin/init.

Nabízí některé slavné funkce, včetně:

  • Může běžet na mnoha dalších distribucích Linuxu včetně Gentoo a také na BSD
  • Podporuje hardwarově iniciované init skripty
  • Podporuje jeden konfigurační soubor
  • Nejsou podporovány žádné konfigurace pro jednotlivé služby
  • Běží jako démon
  • Spuštění paralelních služeb a mnoho dalších

5. runit

runit je také multiplatformní init systém, který může běžet na GNU/Linux, Solaris, *BSD a Mac OS X a je alternativou k SysV init, který nabízí dohled nad službami.

Přichází s některými výhodami a pozoruhodnými komponentami, které se nenacházejí v SysV init a možná i v jiných init systémech v Linuxu, a mezi ně patří:

  • Dohled nad službami, kde je každá služba spojena s adresářem služeb
  • Čistý stav procesu zaručuje každému procesu čistý stav
  • Má spolehlivé zařízení pro těžbu dřeva
  • Rychlé spouštění a vypínání systému
  • Je také přenosný
  • Šetrné k balení
  • Malá velikost kódu a mnoho dalších

6. s6

s6 nabízí kompaktní sadu nástrojů pro UNIX, přizpůsobenou pro dohled nad procesy, podobně jako daemontools a runit. Usnadňuje operace s procesy a démony.

s6, navržený jako sada nástrojů pro správu služeb nízké úrovně, poskytuje různé nástroje, které mohou fungovat nezávisle nebo v jeho rámci. Tyto nástroje, když jsou kombinovány, poskytují robustní funkčnost s minimálním kódem.

Jak jsem již dříve zmínil, systém init spouští a spravuje všechny ostatní procesy v systému Linux. Kromě toho je SysV primárním init schématem v operačních systémech Linux, ale kvůli některým výkonnostním slabinám pro něj systémoví programátoři vyvinuli několik náhrad.

Zde jsme se podívali na několik těchto náhrad, ale mohou existovat další init systémy, o kterých si myslíte, že stojí za zmínku v tomto seznamu. Můžete nám o nich dát vědět prostřednictvím sekce komentářů níže.