Zgodba za init in systemd: Zakaj je bilo treba init v Linuxu nadomestiti s systemd


Naročen sem na več poštnih seznamov, povezanih z različnimi distribucijami in aplikacijami Linuxa, samo zato, da se sproti obveščam o tem, kje se dogaja. Katere so nove napake? Kaj so izdani popravki? Kaj se pričakuje v naslednji izdaji? in veliko drugih stvari. Danes je poštni seznam močno poseljen z\"Izberite svojo stran v Linux Divide", predvsem na Debianovem poštnem seznamu, skupaj z nekaj drugimi.

Daimon init bo nadomeščen z demonom systemd v nekaterih distribucijah Linuxa, medtem ko ga je veliko že implementiralo. To bo/bo ustvarilo veliko vrzel med tradicionalnimi Unix/Linux Guard in New Linux Guard - programerji in sistemskimi skrbniki.

V tem članku bomo obravnavali in rešili vsa posamezna vprašanja.

  1. Kaj je init?
  2. Kaj je systemd?
  3. Zakaj je bilo treba init zamenjati?
  4. Katere funkcije bo imel sistemd.

V Linuxu je init okrajšava za Initialization. Init je demonski postopek, ki se zažene takoj, ko se računalnik zažene in se še naprej izvaja, dokler se ne zaustavi. Dejansko je init prvi postopek, ki se začne, ko se računalnik zažene, zaradi česar je nadrejen vsem drugim tekočim procesom neposredno ali posredno, zato mu je običajno dodeljeno » pid = 1 «.

Če se init daemon nekako ne bi mogel zagnati, se noben postopek ne bo zagnal in sistem bo dosegel stopnjo, imenovano » Kernel Panic «. init se najpogosteje imenuje sistem V init . System V je prvi komercialni operacijski sistem UNIX, zasnovan in uporaba initov v večini današnje distribucije Linuxa je enaka OS V System z nekaj izjemami, kot sta Slackware v slogu BSD in Gentoo z uporabo init po meri .

Potrebo po zamenjavi init z nečim popolnejšim smo čutili že dolgo in občasno je bilo razvitih več možnosti, od katerih so nekatere postale izvorna zamenjava initov v distribuciji, med katerimi so nekatere:

  1. Nadzagon - demon za nadomestitev, ki je bil implementiran v Ubuntu GNU/Linux in je zasnovan za asinhroni zagon procesa.
  2. Epoha - začetni nadomestni demon, ki temelji na preprostosti in upravljanju storitev, namenjen zagonu procesa z enim navojem.
  3. Mudar - začetni nadomestni demon, napisan v Pythonu, implementiran v Pardus GNU/Linux in zasnovan za asinhroni zagon procesa.
  4. systemd - začetni nadomestni demon, namenjen vzporednemu zagonu procesa, ki je implementiran v številnih standardnih distribucijah - Fedora, OpenSuSE, Arch, RHEL, CentOS itd.

systemd je demon za upravljanje sistema, imenovan s konvencijo UNIX, ki na koncu demona doda " d ". Tako, da jih je mogoče zlahka prepoznati. Sprva je bil izdan pod GNU General Public License, zdaj pa so izdani pod GNU Lesser General Public License. Podobno kot init je tudi systemd nadrejen vsem drugim procesom neposredno ali posredno in je prvi postopek, ki se začne ob zagonu, zato je običajno dodeljen " pid = 1 ".

systemd se lahko nanaša na vse pakete, pripomočke in knjižnice okoli demona. Zasnovan je bil za premagovanje pomanjkljivosti init. Sami so procesi v ozadju, namenjeni vzporednemu zagonu procesov, s čimer se zmanjša čas zagona in računski stroški. V primerjavi z init ima veliko drugih lastnosti.

Init postopek se začne zaporedno, tj. Ena naloga se zažene šele potem, ko je bil zadnji zagon opravila uspešen in je bil naložen v pomnilnik. To je pogosto povzročilo zamudo in dolg čas zagona. Vendar systemd ni bil zasnovan za hitrost, temveč za to, da se stvari naredijo lepo, kar se posledično izogne vsem zamudam, potrebnim za ZN.

  1. Čista, varčna in učinkovita zasnova.
  2. Enostavnejši postopek zagona.
  3. Sočasna in vzporedna obdelava ob zagonu.
  4. Boljši API.
  5. Enostavna sintaksa enote.
  6. Možnost odstranjevanja neobveznih komponent.
  7. Malo odtisov spomina.
  8. Izboljšana tehnika za izražanje odvisnosti.
  9. Navodila za inicializacijo, napisana v konfiguracijski datoteki in ne v skriptu lupine.
  10. Uporabite Unix Domain Socket.
  11. Razporejanje opravil z uporabo sistemskih časovnikov koledarja.
  12. Beleženje dogodkov z časopisom.
  13. Izbira beleženja sistemskih dogodkov s sistemom in syslog.
  14. Dnevniki so shranjeni v binarni datoteki.
  15. sistemsko stanje lahko ohranite, da ga boste pozneje pozvali.
  16. Sledite postopku z uporabo jedra cgroup in ne PID.
  17. Prijava uporabnikov, ki jo upravlja sistemd-logind.
  18. Boljša integracija z Gnomom za interoperabilnost.

  1. Vse na enem mestu.
  2. Ni standard POSIX.

Linus Torvalds, glavni arhitekt jedra Linuxa, meni, da je odnos ključnega razvijalca systemd do uporabnikov in poročila o napakah niso videti v redu. Poročali so tudi, da je sistemska filozofija čudna in tuj način za nadzor sistemskih procesov. Enako so zabeležili Patric Volkerding in drugi pomembni uporabniki in razvijalci Linuxa ter občasno na spletnem forumu.

Vse, kar teče kot pid = 1, se ne sme zlomiti, ne sme biti v neredu in ga morajo uporabniki učinkovito in učinkovito nadzorovati. Številni uporabniki verjamejo, da zamenjava init za systemd ni nič drugega kot ponovna iznova kolesa kot stranski učinek Linuxa. Toda to je raznolika narava Linuxa. To je zato, ker je Linux tako močan. Sprememba je dobra in jo moramo ceniti, če je z dobrim razlogom.

To je vse za zdaj. Spet bom tu z novim Zanimivim člankom, ki ga boste ljudje radi prebrali. Do takrat ostanite z nami in povezani s Tecmintom. Ne pozabite nam poslati svojih dragocenih povratnih informacij v spodnjih komentarjih.