5 bedste moderne Linux init-systemer (1992-2015)


I Linux og andre Unix-lignende operativsystemer er init (initialiserings) processen den første proces, der udføres af kernen ved opstartstidspunktet. Det har et proces-id (PID) på 1, det udføres i baggrunden, indtil systemet lukkes ned.

Init-processen starter alle andre processer, det vil sige dæmoner, tjenester og andre baggrundsprocesser, derfor er det moderen til alle andre processer på systemet. En proces kan starte mange andre underordnede processer på systemet, men i tilfælde af at en forældreproces dør, bliver init forælder til den forældreløse proces.

I årenes løb er der opstået mange init-systemer i større Linux-distributioner, og i denne vejledning skal vi se på nogle af de bedste init-systemer, du kan arbejde med på Linux-operativsystemet.

1. System V Init

System V (SysV) er et modent og populært init-skema på Unix-lignende operativsystemer, det er forælder til alle processer på et Unix/Linux-system. SysV er det første kommercielle Unix-operativsystem designet.

Næsten alle Linux-distributioner brugte først SysV init-ordningen undtagen Gentoo, som har en brugerdefineret init og Slackware ved hjælp af BSD-stil init-ordning.

Efterhånden som årene er gået, på grund af nogle ufuldkommenheder, er flere SysV init-udskiftninger blevet udviklet i opgaver for at skabe mere effektive og perfekte init-systemer til Linux.

Selvom disse alternativer søger at forbedre SysV og sandsynligvis tilbyder nye funktioner, er de stadig kompatible med originale SysV init-scripts.

2. SystemD

SystemD er et relativt nyt init-skema på Linux-platformen. Introduceret i Fedora 15 er det et udvalg af værktøjer til nem systemadministration. Hovedformålet er at initialisere, administrere og holde styr på alle systemprocesser i opstartsprocessen, og mens systemet kører.

Systemd init adskiller sig omfattende fra andre traditionelle Unix init-systemer på den måde, det praktisk nærmer sig system- og servicestyring. Det er også kompatibelt med SysV- og LBS-init-scripts.

Det har nogle af følgende fremtrædende funktioner:

  1. Rent, ligetil og effektivt design
  2. Samtidig og parallel behandling ved opstart
  3. Bedre APIv
  4. Muliggør fjernelse af valgfri processer
  5. Understøtter hændelseslogning ved hjælp af journald
  6. Understøtter jobplanlægning ved hjælp af systemd kalendertimere
  7. Opbevaring af logfiler i binære filer
  8. Bevaring af systemtilstand til fremtidig reference
  9. Bedre integration med GNOME plus mange flere

Læs Systemd init-oversigten: https://fedoraproject.org/wiki/Systemd

Læs også: Historien bag: Hvorfor 'init' skal erstattes med 'systemd' i Linux

3. Opstart

Upstart er et begivenhedsbaseret init-system udviklet af producenter af Ubuntu som erstatning for SysV init-system. Det starter forskellige systemopgaver og processer, inspicerer dem, mens systemet kører, og stopper dem, når systemet lukkes ned.

Det er et hybrid-init-system, der bruger både SysV-opstartsskripter og også Systemd-scripts, nogle af de bemærkelsesværdige funktioner i Upstart-init-systemet inkluderer:

  1. Oprindeligt udviklet til Ubuntu Linux, men kan køre på alle andre distributioner
  2. Begivenhedsbaseret start og stop af opgaver og tjenester
  3. Begivenheder genereres under start og stop af opgaver og tjenester
  4. Begivenheder kan sendes af andre systemprocesser
  5. Kommunikation med init-processen gennem D-Bus
  6. Brugere kan starte og stoppe deres egne processer
  7. Re-gydning af tjenester, der dør brat, og mange flere

Besøg hjemmeside: http://upstart.ubuntu.com/index.html

4. OpenRC

OpenRC er en afhængighedsbaseret init-ordning for Unix-lignende operativsystemer, den er kompatibel med SysV init. Så meget som det giver nogle forbedringer til Sys V, skal du huske på, at OpenRC ikke er en absolut erstatning for/sbin/init-fil.

Det tilbyder nogle berømte funktioner, og disse inkluderer:

  1. Det kan køre på andre mange Linux-distributioner, inklusive Gentoo og også på BSD
  2. Understøtter hardware-initierede init-scripts
  3. Understøtter en enkelt konfigurationsfil
  4. Ingen konfigurationer pr. tjeneste understøttet
  5. Kører som en dæmon
  6. Start af parallelle tjenester og mange flere

Besøg hjemmeside: https://wiki.gentoo.org/wiki/OpenRC

5. runit

runit er også et cross-platform init-system, der kan køre på GNU/Linux, Solaris, * BSD og Mac OS X, og det er et alternativ til SysV init, der tilbyder serviceovervågning.

Det kommer med nogle fordele og bemærkelsesværdige komponenter, der ikke findes i SysV init og muligvis andre init-systemer i Linux, og disse inkluderer:

  1. Tjenestetilsyn, hvor hver tjeneste er knyttet til et servicekatalog
  2. Ren procestilstand, det garanterer hver proces en ren tilstand
  3. Det har en pålidelig logningsfacilitet
  4. Hurtig opstart og lukning af systemet
  5. Det er også bærbart
  6. Emballagevenlig
  7. Lille kodestørrelse og mange flere

Besøg hjemmeside: http://smarden.org/runit/

Som jeg tidligere nævnte, starter og styrer init-systemet alle andre processer på et Linux-system. Derudover er SysV det primære init-skema på Linux-operativsystemer, men på grund af nogle svagheder i ydeevnen har systemprogrammerere udviklet flere udskiftninger til det.

Og her så vi på et par af disse udskiftninger, men der kunne være andre init-systemer, som du synes er værd at nævne i denne liste. Du kan fortælle os dem via kommentarsektionen nedenfor.