6 najboljih modernih Linux 'init' sistema (1992-2023)


U Linuxu i drugim operativnim sistemima sličnim Unixu, init (inicijalizacija) proces je prvi proces koji izvršava kernel u vrijeme pokretanja, a koji ima proces ID (PID) od 1, koji se izvršava u pozadini dok se sistem ne isključi.

init proces pokreće sve ostale Linux procese, odnosno demone, usluge i druge pozadinske procese, dakle, on je majka svih ostalih procesa u sistemu.

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

Tokom godina, mnogi init sistemi su se pojavili u glavnim distribucijama Linuxa i u ovom vodiču ćemo pogledati neke od najboljih init sistema sa kojima možete raditi na Linux operativnom sistemu.

1. System V Init

System V (SysV) je zrela i popularna init šema na operativnim sistemima sličnim Unixu, ona je roditelj svih procesa na Unix/Linux sistemu. SysV je prvi dizajnirani komercijalni Unix operativni sistem.

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

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

Iako ove alternative nastoje poboljšati SysV i vjerovatno nude nove funkcije, one su i dalje kompatibilne s originalnim SysV init skriptama.

2. SystemD

SystemD je relativno nova init shema na Linux platformi. Uveden u Fedora 15, to je asortiman alata za jednostavno upravljanje sistemom. Glavna svrha je inicijalizacija, upravljanje i praćenje svih sistemskih procesa u procesu pokretanja i dok sistem radi.

Systemd init se sveobuhvatno razlikuje od drugih tradicionalnih Unix init sistema, na način na koji praktično pristupa upravljanju sistemom i uslugama. Takođe je kompatibilan sa SysV i LBS init skriptama.

Ima neke od sljedećih eminentnih karakteristika:

  • Čist, jasan i efikasan dizajn
  • Istovremena i paralelna obrada pri pokretanju
  • Bolji APIv
  • Omogućuje uklanjanje opcionih procesa
  • Podržava evidentiranje događaja koristeći journald
  • Podržava zakazivanje poslova pomoću systemd kalendarskih tajmera
  • Čuvanje logova u binarnim datotekama
  • Očuvanje systemd stanja za buduću upotrebu
  • Bolja integracija sa GNOME-om i još mnogo toga

3. Upstart

Upstart je sistem pokretanja zasnovan na događajima koji su razvili kreatori Ubuntua kao zamjenu za SysV sistem pokretanja. Pokreće različite sistemske zadatke i procese, proverava ih dok sistem radi i zaustavlja ih tokom gašenja sistema.

To je hibridni init sistem koji koristi i SysV skripte za pokretanje i Systemd skripte, a neke od značajnih karakteristika Upstart init sistema uključuju:

  • Prvobitno razvijen za Ubuntu Linux, ali može raditi na svim drugim distribucijama
  • Pokretanje i zaustavljanje zadataka i usluga zasnovano na događajima
  • Događaji se generišu tokom pokretanja i zaustavljanja zadataka i usluga
  • Događaje mogu slati drugi sistemski procesi
  • Komunikacija sa init procesom preko D-Bus-a
  • Korisnici mogu pokrenuti i zaustaviti svoje procese
  • Ponovno pokretanje servisa koji naglo umiru i još mnogo toga

4. OpenRC

OpenRC je šema init zasnovana na zavisnosti za operativne sisteme slične Unixu, kompatibilna je sa SysV init. Koliko god da donosi neka poboljšanja Sys V, morate imati na umu da OpenRC nije apsolutna zamjena za /sbin/init datoteku.

Nudi neke sjajne karakteristike uključujući:

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

5. runit

runit je takođe višeplatformski init sistem koji može da radi na GNU/Linux, Solaris, *BSD i Mac OS X i predstavlja alternativu SysV init-u, koji nudi nadzor servisa.

Dolazi sa nekim prednostima i izvanrednim komponentama koje se ne nalaze u SysV init-u i eventualno drugim init sistemima u Linuxu, a one uključuju:

  • Nadzor usluge, gdje je svaka usluga pridružena servisnom direktoriju
  • Stanje čistog procesa garantuje svakom procesu čisto stanje
  • Ima pouzdano postrojenje za sječu
  • Brzo pokretanje i gašenje sistema
  • Takođe je prenosiv
  • Packaging friendly
  • Mala veličina koda i još mnogo toga

6. s6

s6 nudi kompaktan skup alata za UNIX, skrojen za nadzor procesa, slično kao daemontools i runit. Olakšava operacije nad procesima i demonima.

Dizajniran kao alat za administraciju usluga niskog nivoa, s6 pruža različite alate koji mogu funkcionisati nezavisno ili unutar njegovog okvira. Ovi alati, kada su kombinovani, pružaju robusnu funkcionalnost sa minimalnim kodom.

Kao što sam ranije spomenuo, init sistem pokreće i upravlja svim ostalim procesima na Linux sistemu. Dodatno, SysV je primarna init šema na Linux operativnim sistemima, ali zbog nekih slabosti u performansama, sistemski programeri su razvili nekoliko zamjena za nju.

Ovdje smo pogledali neke od tih zamjena, ali bi mogli postojati i drugi init sistemi za koje mislite da su vrijedni pomena na ovoj listi. Možete nas obavijestiti o njima putem odjeljka za komentare ispod.