| Systemd | |||
|---|---|---|---|
Oppstartsmeldinger frasystemd i Fedora 17 | |||
| Utvikler(e) | Lennart Poettering,[1]Kay Sievers,[1]Harald Hoyer | ||
| Utgitt | 30. mars 2010 | ||
| Nyeste versjon | 259.1(6. februar 2026)[2] | ||
| Kodelager | https://github.com/systemd/systemd | ||
| Operativsystem | Linux | ||
| Skrevet i | C[3][4][5] | ||
| Type | Init, operating system service management | ||
| Lisens | LGPL 2.1+[6] | ||
| Nettsted | www.freedesktop.org... (en; –2024)[7] systemd. (en;2020–)[8] | ||
| Forgjenger | init,Upstart | ||
systemd er en samling avdaemoner,biblioteker ogsystemverktøy som fungerer som en konfigurasjonsplattform foroperativsystemetLinux. Formålet med systemd er å erstatte oppstartsprosesseninit, som Linux har arvet fraUNIX System V ogBerkeley Software Distribution (BSD). Linux har mange flere bruksområder enn Unix, og systemd er derfor en mer dynamisk oppstartsprosess som tilpasser seg ulike bruksområder.
Systemd er ment å bli en felles konfigurasjonsplattform for ulikedistribusjoner av Linux; et tidligere forsøk på å introdusere noe lignende varUpstart i 2006.Red Hat ogFedora innførte systemd som standard oppstartsystem i 2011. Deretter ble det adoptert av en rekke større Linux-distribusjoner, deriblantDebian,Ubuntu,SUSE ogGentoo Linux. Systemd har likevel vært kontroversielt, og har ført til en polarisering av Linux-samfunnet.
Navnetsystemd følger enUnix-konvensjon hvor daemoner tildeles bokstavend som siste bokstav ifilnavnet.[9] Systemd er lisensiert underGNU Lesser General Public License versjon 2.1 eller senere,[10] og ble lansert 30. mars 2010.
Lennart Poettering ogKay Sievers, som opprinnelig utviklet systemd,[11] søkte å overgå oppstartsprosesseninit i effektivitet på flere måter. De ønsket et bedre rammeverk for å uttrykke avhengigheter, tillate merparallellprosessering underoppstart, og å redusereskallets beregningstid.
Poettering beskrev utviklingen av systemd som«aldri avsluttet, aldri komplett, men som holder tritt med utviklingen av teknologien». I mai 2014 definerte han dets formål som å forene«meningsløse forskjeller mellom distribusjoner», ved å sørge for tre generelle funksjoner:[12]

systemd-nspawnSystemd er ikke bare en oppstartsdaemon, men refererer til alle programmene omkring den, somjornuald,logind,networkd, og mange andre lavnivå-komponenter. I januar 2013 beskrev Poettering systemd ikke som et enkelt program, men som en programpakke som inkluderer 69 individuelle binærfiler.[13] Denne programpakken erstatteroppstartssekvensene ogrunlevels i den tradisjonelle init-daemonen, sammen medskallskriptet som er utført under dens kontroll.
Utdypende artikkel:Init
Oppstartsprosesseninit er den førsteprosessen som startes underoppstart avoperativsystemetUnix. Det er endaemon som fortsetter å kjøre inntil systemet slås av, og er den direkte eller indirekte foreldreprosessen til andre prosesser.
Prosessen har sin opprinnelse iforsknings-Unix som eksisterte fra 1971 til 1989. Derifra fulgte det to forskjellige versjoner. Den ene var å finne iBerkeley Software Distribution (BSD) og dens derivater 4.3BSD (1986),386BSD (1992),NetBSD (1993),FreeBSD (1993),OpenBSD (1996) ogDragonFly BSD (2004). Også de tidligere operativsystemeneSun MicrosystemsSunOS,DEC Ultrix og det nåværendemacOS er avarter av BSD.
I forsknings-Unix startet init i katalogen/etc/rc,[14] som deretter startetgetty under kontroll av/etc/ttys (initialisering av terminaler).[15] 4.3BSD tilføyde støtte forVindussystemet X og grafiske terminaler i/etc/ttys.[16][17] BSD-varianter hadde lenge et skript i/etc/rc.local som kjørte helt til slutt under oppstartsprosessen. NetBSD 1.5 og FreeBSD 5.0 introduserte et modulært oppstartsystem som ble utført i/etc/rc.d. Rekkefølgen på modulene som skulle utføres ble i UNIX System V avledet av filnavnet til hvert skript; i BSD ble rekkefølgen eksplisitt definert av indekser innenfor hvert skript.[18]
IMac OS X 10.4, som ble lansert 29. april 2005, ble det lansert et alternativ til init, i form avlaunchd. Dette er et sett medsystemprogramvare som starter i/etc/rc, og som fortsetter å scanne gjennom forskjellige skript i/System/Library/LaunchDaemons og/Library/LaunchDaemons.
Den andre typen av oppstartsprosessen init ble lansert iUNIX System III[19] (1982) og overtatt avUNIX System V (1983) fraAT&T. Kjente avarter av System V erSilicon GraphicsIRIX,SCOUnixWare,IBMAIX,Hewlett PackardsHP-UX og Sun Microsystems/Oracle CorporationSolaris.
Særpreget ved «SysVinit», som den også kalles, errunlevels – et antall forutbestemte tilstander, og operativsystemet befinner seg til enhver tid i en av disse tilstandene. Antallrunlevels varierte med implementasjonene: 2 i AIX, og 3 i HP-UX, Unixware og Solaris.
I versjon 10 av Solaris, som ble lansert 31. januar 2005, ble init erstattet avService Management Facility.
Linux arvet begge variantene av oppstartsprosessen fra Unix. DistribusjoneneSlackware ogArch Linux benyttet i utgangspunktet BSD-varianten, og Slackware gjør det fortsatt. Andre distribusjoner valgte varianten fra UNIX System V. Eksempler er Debian,Ubuntu,Red Hat Linux,Red Hat Enterprise Linux, Fedora,openSUSE,Mandriva,Knoppix,Linux Mint ogMEPIS.
Atter andre distribusjoner laget sine egne alternative implementasjoner. Eksempler er:
Utdypende artikkel:Upstart
I 2006 ble det gjort et forsøk på å få Linux-samfunnet til å enes om én felles oppstartsprosess. Linux har mange flere bruksområder enn Unix, og det egnede vil derfor være en mer dynamisk oppstartsprosess, som tilpasser seg etter bruksområde. Dette behovet ble forsøkt tilfredsstilt avUpstart, og flere aktører samlet seg om den nye prosessen, i et forsøk på å gjøre den til en ny standard:
Forsøket på å oppnå enighet mislyktes, og Linux-samfunnet fortsatte en uenighet som har sin opprinnelse iUnix-krigene på slutten av 1980-tallet og begynnelsen av 1990-tallet.
Systemd representerer et nytt forsøk på å samles om en felles dynamisk oppstartsprosess. Programmet ble lansert 30. oktober 2010, og ble standard oppstartsystem iRed HatFedora versjon 15 den 24. mai 2011. Deretter fulgte en rekke distribusjoner, hvorav et utvalg er listet nedenfor:
Systemd har vært kontroversielt. Kritikken går ut på at programmet er overkomplekst, og stadig utvides med nye egenskaper i stedet for å ha en enkel funksjonalitet. Dette kan betraktes som et brudd på filosofien tilUnix-lignende operativsystemer. Det har også vært bekymringer for at systemd fører til avhengigheter, slik at distributørene ikke har noe annet valg etterhvert som applikasjoner blir avhengige av dets komponenter.[53]
I et intervju den 6. juli 2012, gaSlackware's lederPatrick Volkerding uttrykk for reservasjoner overfor systemd, og hevdet at det krenkerUnix-filosofien om å sammenføye programvare med en begrenset definert funksjonalitet.[54] Per 2. juli 2016 (versjon 14.2) støtter ikke Slackware systemd, men i 2013 utelukket ikke Volkerding muligheten for å svitsje over til det.[55]
Fra 25. oktober 2013 til 2. januar 2014 fant det sted en lang debatt iDebian Technical Committee på mailinglisten om Debian 8.0 «Jessie»,[56] som kulminerte i en beslutning til fordel for systemd. Debatten ble vidt publisert[57][58] og etter beslutningen har debatten fortsatt på mailinglisten. Debian 8.0 ble lansert 25. april 2015.
I en blogg den 26. januar 2013 kaltThe Biggest Myths imøtegikkLennart Poettering 30 argumenter som motstandere har ført i marken omkring systemd.[13] Den 6. oktober 2014 anklaget hanLinus Torvalds og andre utviklere av Linuxkjernen for å ha skapt splittelsen innen Linux-samfunnet.[59]
Den 14. februar 2014 kunngjordeMark Shuttleworth på en blogg atUbuntu ville gå over til systemd,[60] selv om han den 18. oktober 2013 beskrev systemd som«enormt invasivt og neppe forsvarlig».[61] Ubuntu var den opprinnelige utvikler avUpstart. Den 23. oktober 2014 ble systemd lansert i Ubuntu 14.10.
Den 10. mars 2014 uttrykteEric S. Raymond den mening at systemd etter en innledende suksess hadde potensial til å utvides hinsides dets opprinnelige hensikt i en fatal retning, og bli tunggrodd, tregt og kreve mer minne.[62] Den 2. april 2014 uttrykte Linus Torvalds reservasjoner mot holdningen til brukere og bugrapporter hosKay Sievers, en sentral utvikler av systemd.[63]
Sent i april 2014, ble det startet en kampanaje for å boikotte systemd, og en nettside ble opprettet med oversikt over ulike grunner til ikke å adoptere det.[64][65]
I en artikkel publisert den 18. august 2014 iInfoWorld skrev Paul Venezia om kontroversen rundt systemd. Han hevdet at den krenket Unix-filosofien og skyldtes«de enorme egoer som er fast overbevist om at de ikke kan gjøre noe feil».[66] Artikkelen sammenlignet systemd medsvchost.exe, en kritisk systemkomponent med omfattende funksjonalitet som ble introdusert iMicrosoft Windows 2000.
Joey Hess,[67] Russ Allbery,[68]Ian Jackson[69] i DebianTechnical Committee, og Debians systemd-ansvarlig Tollef Fog Heen[70] trakk seg fra sine stillinger i november 2014. De forsvarte sine beslutninger med stress relatert til de offentlige mailinglistene og bloggene med pågående uenighet om systemd.
I desember 2014 ble enfork av Debian, kaltDevuan, kunngjort av en gruppe som kalte seg«Veteran Unix Admins». dens intensjon er å lage en Debian-variant uten systemd.[71]
I august 2015 fikk systemd etskall for innlogging, som startes av kommandoen machinectl shell.[72]