6 parasta nykyaikaista Linuxin "init" -järjestelmää (1992-2023)


Linuxissa ja muissa Unixin kaltaisissa käyttöjärjestelmissä init (alustus) -prosessi on ensimmäinen ytimen käynnistämä prosessi käynnistyksen yhteydessä ja jolla on prosessin ID ( >PID)/1, joka suoritetaan taustalla, kunnes järjestelmä sammutetaan.

init-prosessi käynnistää kaikki muut Linux-prosessit, eli demonit, palvelut ja muut taustaprosessit, joten se on kaikkien muiden järjestelmän prosessien äiti.

Prosessi voi käynnistää monia muita aliprosesseja järjestelmässä, mutta jos pääprosessi kuolee, init tulee orpoprosessin pääprosesseja.

Vuosien mittaan suuriin Linux-jakeluihin on syntynyt monia init-järjestelmiä, ja tässä oppaassa tarkastellaan joitain parhaista init-järjestelmistä, joita voit työskennellä Linux-käyttöjärjestelmässä.

1. System V Init

System V (SysV) on kypsä ja suosittu init-järjestelmä Unix-tyyppisissä käyttöjärjestelmissä. Se on kaikkien prosessien emo Unix/Linux-järjestelmässä. SysV on ensimmäinen kaupallinen Unix-käyttöjärjestelmä, joka on suunniteltu.

Melkein kaikki Linux-jakelut käyttivät ensin SysV-aloitusjärjestelmää paitsi Gentoo, jolla on mukautettu init, ja Slackware, joka käyttää BSD-tyylistä aloitusjärjestelmää.

Vuosien kuluessa on joidenkin puutteiden vuoksi kehitetty useita SysV-init-korvauksia, joiden tarkoituksena on luoda tehokkaampia ja täydellisempiä init-järjestelmiä Linuxille.

Vaikka nämä vaihtoehdot pyrkivät parantamaan SysV:tä ja tarjoavat todennäköisesti uusia ominaisuuksia, ne ovat silti yhteensopivia alkuperäisten SysV-init-komentosarjojen kanssa.

2. SystemD

SystemD on suhteellisen uusi aloitusjärjestelmä Linux-alustalla. Fedora 15:ssä esitelty työkaluvalikoima helpottaa järjestelmän hallintaa. Päätarkoituksena on alustaa, hallita ja seurata kaikkia järjestelmäprosesseja käynnistyksen aikana ja järjestelmän ollessa käynnissä.

Systemd init eroaa täysin muista perinteisistä Unix-init-järjestelmistä siinä, miten se käytännössä lähestyy järjestelmän ja palveluiden hallintaa. Se on myös yhteensopiva SysV- ja LBS-aloituskomentosarjojen kanssa.

Siinä on joitain seuraavista merkittävistä ominaisuuksista:

  • Puhdas, suoraviivainen ja tehokas muotoilu
  • Samanaikainen ja rinnakkainen käsittely käynnistyksen yhteydessä
  • Parempi APIv
  • Mahdollistaa valinnaisten prosessien poistamisen
  • Tukee tapahtumien kirjaamista journaldin avulla
  • Tukee töiden ajoitusta systemd-kalenteriajastimien avulla
  • Lokien tallennus binääritiedostoissa
  • Järjestelmän tilan säilyttäminen myöhempää tarvetta varten
  • Parempi integraatio GNOMEen ja moniin muihin

3. Aloittaja

Upstart on tapahtumapohjainen init-järjestelmä, jonka Ubuntun valmistajat ovat kehittäneet korvaamaan SysV-init-järjestelmän. Se käynnistää eri järjestelmätehtävät ja -prosessit, tarkastaa ne järjestelmän ollessa käynnissä ja pysäyttää ne järjestelmän sammutuksen aikana.

Se on hybridi-aloitusjärjestelmä, joka käyttää sekä SysV-käynnistysskriptejä että Systemd-skriptejä. Upstart-aloitusjärjestelmän merkittäviä ominaisuuksia ovat mm.

  • Alun perin kehitetty Ubuntu Linuxille, mutta sitä voidaan käyttää kaikissa muissa jakeluissa
  • Tehtävien ja palveluiden tapahtumapohjainen aloitus ja lopetus
  • Tapahtumia syntyy tehtävien ja palveluiden alkaessa ja pysähtyessä
  • Muut järjestelmäprosessit voivat lähettää tapahtumia
  • Viestintä aloitusprosessin kanssa D-Busin kautta
  • Käyttäjät voivat aloittaa ja lopettaa prosessinsa
  • Yhtäkkiä kuolevien palveluiden uudelleensyntyminen ja monet muut

4. OpenRC

OpenRC on riippuvuuteen perustuva init-malli Unix-tyyppisille käyttöjärjestelmille, ja se on yhteensopiva SysV-init:n kanssa. Vaikka se tuo joitain parannuksia Sys V:hen, sinun on pidettävä mielessä, että OpenRC ei ole ehdoton korvike /sbin/init-tiedostolle.

Se tarjoaa joitain maineikkaita ominaisuuksia, kuten:

  • Se voi toimia muissa monissa Linux-jakeluissa, mukaan lukien Gentoo ja myös BSD
  • Tukee laitteiston käynnistämiä init-komentosarjoja
  • Tukee yhtä asetustiedostoa
  • Palvelukohtaisia määrityksiä ei tueta
  • Toimii demonina
  • Rinnakkaispalvelujen käynnistys ja paljon muuta

5. runit

runit on myös cross-platform init-järjestelmä, joka voi toimia GNU/Linux-, Solaris-, *BSD- ja Mac OS X -käyttöjärjestelmissä, ja se on vaihtoehto SysV-initille, joka tarjoaa palvelunvalvonnan.

Se sisältää joitain etuja ja merkittäviä komponentteja, joita ei löydy SysV-initistä ja mahdollisesti muista Linuxin init-järjestelmistä, ja näitä ovat:

  • Palvelun valvonta, jossa jokainen palvelu liittyy palveluhakemistoon
  • Puhdas prosessitila takaa jokaiselle prosessille puhtaan tilan
  • Sillä on luotettava hakkuumahdollisuus
  • Nopea järjestelmän käynnistys ja sammutus
  • Se on myös kannettava
  • Pakkausystävällinen
  • Pieni koodikoko ja paljon muuta

6. s6

s6 tarjoaa kompaktin joukon UNIX-työkaluja, jotka on räätälöity prosessien valvontaan, kuten daemontools ja runit. Se helpottaa prosessien ja demonien toimintaa.

Matalatason palvelunhallinnan työkalupakkiksi suunniteltu s6 tarjoaa erilaisia työkaluja, jotka voivat toimia itsenäisesti tai sen puitteissa. Yhdistettynä nämä työkalut tarjoavat vankan toiminnallisuuden minimaalisella koodilla.

Kuten aiemmin mainitsin, init-järjestelmä käynnistää ja hallitsee kaikkia muita Linux-järjestelmän prosesseja. Lisäksi SysV on ensisijainen aloitusmalli Linux-käyttöjärjestelmissä, mutta joidenkin suorituskykypuutteiden vuoksi järjestelmäohjelmoijat ovat kehittäneet sille useita korvaavia vaihtoehtoja.

Tässä tarkastelimme muutamia noista korvauksista, mutta saattaa olla muitakin init-järjestelmiä, jotka mielestäsi ovat mainitsemisen arvoisia tässä luettelossa. Voit ilmoittaa niistä meille alla olevan kommenttiosion kautta.