6 najboljih modernih Linux 'init' sustava (1992.-2023.)


U Linuxu i drugim operativnim sustavima sličnim Unixu, proces init (inicijalizacija) je prvi proces koji izvršava kernel prilikom podizanja sustava, a koji ima ID (PID) od 1, koji se izvršava u pozadini dok se sustav ne isključi.

Proces init pokreće sve druge Linux procese, to jest demone, usluge i druge pozadinske procese, stoga je on majka svih ostalih procesa u sustavu.

Proces može pokrenuti mnoge druge podređene procese u sustavu, ali ako roditeljski proces umre, init postaje roditelj procesa siročadi.

Tijekom godina, mnogi init sustavi su se pojavili u glavnim distribucijama Linuxa, au ovom vodiču ćemo pogledati neke od najboljih init sustava s kojima možete raditi na Linux operativnom sustavu.

1. Sustav V Init

System V (SysV) je zrela i popularna shema init na operativnim sustavima sličnim Unixu, roditelj je svih procesa na Unix/Linux sustavu. SysV prvi je dizajniran komercijalni Unix operativni sustav.

Gotovo sve distribucije Linuxa prvo su koristile init shemu SysV osim Gentoo koji ima prilagođeni init i Slackware koji koristi init shemu u stilu BSD-a.

Kako su godine prolazile, zbog nekih nesavršenosti, razvijeno je nekoliko SysV init zamjena u potrazi za stvaranjem učinkovitijih i savršenijih init sustava za Linux.

Iako ove alternative nastoje poboljšati SysV i vjerojatno nude nove značajke, još uvijek su kompatibilne s originalnim SysV init skriptama.

2. SustavD

SystemD je relativno nova init shema na Linux platformi. Predstavljen u Fedori 15, to je izbor alata za jednostavno upravljanje sustavom. Glavna svrha je inicijalizacija, upravljanje i praćenje svih procesa sustava u procesu pokretanja i dok je sustav pokrenut.

Systemd init se sveobuhvatno razlikuje od ostalih tradicionalnih Unix init sustava, po načinu na koji praktično pristupa upravljanju sustavom i uslugama. Također je kompatibilan sa SysV i LBS init skriptama.

Ima neke od sljedećih istaknutih značajki:

  • Čist, jednostavan i učinkovit dizajn
  • Konkurentna i paralelna obrada pri dizanju sustava
  • Bolji APIv
  • Omogućuje uklanjanje neobaveznih procesa
  • Podržava bilježenje događaja pomoću dnevnika
  • Podržava raspoređivanje poslova pomoću timera kalendara systemd
  • Pohrana zapisa u binarne datoteke
  • Očuvanje stanja systemd za buduće potrebe
  • Bolja integracija s GNOME-om i još mnogo toga

3. Skoropočetnica

Upstart je sustav pokretanja temeljen na događajima koji su razvili kreatori Ubuntua kao zamjena za sustav pokretanja SysV. Pokreće različite sistemske zadatke i procese, pregledava ih dok sustav radi i zaustavlja ih tijekom gašenja sustava.

To je hibridni init sustav koji koristi i SysV skripte za pokretanje i Systemd skripte, a neke od značajnih značajki Upstart init sustava uključuju:

  • Izvorno razvijen za Ubuntu Linux, ali može raditi na svim drugim distribucijama
  • Pokretanje i zaustavljanje zadataka i usluga na temelju događaja
  • Događaji se generiraju tijekom pokretanja i zaustavljanja zadataka i usluga
  • Događaje mogu slati drugi procesi sustava
  • Komunikacija s init procesom kroz D-Bus
  • Korisnici mogu pokrenuti i zaustaviti svoje procese
  • Ponovno stvaranje usluga koje naglo umiru i još mnogo toga

4. OpenRC

OpenRC je shema initacije koja se temelji na zavisnostima za operativne sustave slične Unixu, kompatibilna je s SysV initom. Koliko god donosi neka poboljšanja Sys V, morate imati na umu da OpenRC nije apsolutna zamjena za datoteku /sbin/init.

Nudi neke veličanstvene značajke uključujući:

  • Može raditi na mnogim drugim Linux distribucijama uključujući Gentoo i također na BSD-u
  • Podržava init skripte koje pokreće hardver
  • Podržava jednu konfiguracijsku datoteku
  • Nema podržanih konfiguracija po uslugama
  • Radi kao demon
  • Pokretanje paralelnih usluga i još mnogo toga

5. runit

runit je također cross-platformski init sustav koji može raditi na GNU/Linuxu, Solarisu, *BSD i Mac OS X i alternativa je SysV init-u, koji nudi nadzor usluge.

Dolazi s nekim prednostima i izvanrednim komponentama kojih nema u SysV init-u i vjerojatno drugim init sustavima u Linuxu, a one uključuju:

  • Nadzor usluge, gdje je svaka usluga povezana s imenikom usluga
  • Čisto stanje procesa jamči svakom procesu čisto stanje
  • Ima pouzdanu jedinicu za sječu
  • Brzo pokretanje i gašenje sustava
  • Također je prenosiv
  • Prijatno pakiranje
  • Mala veličina koda i još mnogo toga

6. s6

s6 nudi kompaktan skup alata za UNIX, prilagođen za nadzor procesa, sličan daemontools i runit. Olakšava operacije na procesima i demonima.

Dizajniran kao komplet alata za administraciju usluge niske razine, s6 pruža različite alate koji mogu funkcionirati neovisno ili unutar svog okvira. Ovi alati, kada se kombiniraju, daju robusnu funkcionalnost s minimalnim kodom.

Kao što sam ranije spomenuo, sustav init pokreće i upravlja svim ostalim procesima na Linux sustavu. Osim toga, SysV je primarna init shema na operativnim sustavima Linux, ali zbog nekih slabosti performansi, programeri sustava razvili su nekoliko zamjena za nju.

Ovdje smo pogledali neke od tih zamjena, ali mogli bi postojati i drugi init sustavi za koje mislite da su vrijedni spomena na ovom popisu. Možete nas obavijestiti o njima putem odjeljka za komentare u nastavku.