systemd
Systemd | |||
---|---|---|---|
Utvikler(e) | Lennart Poettering,[1] Kay Sievers,[1] Harald Hoyer | ||
Utgitt | 30. mars 2010 | ||
Nyeste versjon | 256.7 (8. oktober 2024)[2] | ||
Kodelager | https://github.com/systemd/systemd | ||
Operativsystem | Linux | ||
Skrevet i | C[3][4] | ||
Type | Init, operating system service management | ||
Lisens | LGPL 2.1+[5] | ||
Nettsted | www.freedesktop.org (en) (–2024)[6] systemd.io (en) (2020–)[7] | ||
Forgjenger | init, Upstart | ||
systemd er en samling av daemoner, biblioteker og systemverktøy som fungerer som en konfigurasjonsplattform for operativsystemet Linux. Formålet med systemd er å erstatte oppstartsprosessen init, som Linux har arvet fra UNIX System V og Berkeley 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 ulike distribusjoner av Linux; et tidligere forsøk på å introdusere noe lignende var Upstart i 2006. Red Hat Fedora innførte systemd som standard oppstartsystem i 2011. Deretter ble det adoptert av en rekke større Linux-distribusjoner, deriblant Debian, Ubuntu, SUSE og Gentoo Linux. Systemd har likevel vært kontroversielt, og har ført til en polarisering av Linux-samfunnet.
Navnet systemd følger en Unix-konvensjon hvor daemoner tildeles bokstaven d som siste bokstav i filnavnet.[8] Systemd er lisensiert under GNU Lesser General Public License versjon 2.1 eller senere,[9] og ble lansert 30. mars 2010.
Design
[rediger | rediger kilde]Lennart Poettering og Kay Sievers, som opprinnelig utviklet systemd,[10] søkte å overgå oppstartsprosessen init i effektivitet på flere måter. De ønsket et bedre rammeverk for å uttrykke avhengigheter, tillate mer parallellprosessering under oppstart, og å redusere skallets 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:[11]
- En system- og tjenestehåndterer, som styrer systemet, dets varierende konfigurasjoner, og dets tjenester
- En programvareplattform, som tjener som basis for utviklingen av annen programvare
- Limet mellom applikasjoner og Linux-kjernen, ved å sørge for ulike grensesnitt til kjernens funksjonalitet
Systemd er ikke bare en oppstartsdaemon, men refererer til alle programmene omkring den, som jornuald, 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.[12] Denne programpakken erstatter oppstartssekvensene og runlevels i den tradisjonelle init-daemonen, sammen med skallskriptet som er utført under dens kontroll.
Historie
[rediger | rediger kilde]Init i forsknings-Unix, BSD og System V
[rediger | rediger kilde]Utdypende artikkel: Init
Oppstartsprosessen init er den første prosessen som startes under oppstart av operativsystemet Unix. Det er en daemon som fortsetter å kjøre inntil systemet slås av, og er den direkte eller indirekte foreldreprosessen til andre prosesser.
Prosessen har sin opprinnelse i forsknings-Unix som eksisterte fra 1971 til 1989. Derifra fulgte det to forskjellige versjoner. Den ene var å finne i Berkeley Software Distribution (BSD) og dens derivater 4.3BSD (1986), 386BSD (1992), NetBSD (1993), FreeBSD (1993), OpenBSD (1996) og DragonFly BSD (2004). Også de tidligere operativsystemene Sun Microsystems SunOS, DEC Ultrix og det nåværende macOS er avarter av BSD.
I forsknings-Unix startet init i katalogen /etc/rc
,[13] som deretter startet getty under kontroll av /etc/ttys
(initialisering av terminaler).[14] 4.3BSD tilføyde støtte for Vindussystemet X og grafiske terminaler i /etc/ttys
.[15][16] 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.[17]
I Mac OS X 10.4, som ble lansert 29. april 2005, ble det lansert et alternativ til init, i form av launchd. Dette er et sett med systemprogramvare 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 i UNIX System III[18] (1982) og overtatt av UNIX System V (1983) fra AT&T. Kjente avarter av System V er Silicon Graphics IRIX, SCO UnixWare, IBM AIX, Hewlett Packards HP-UX og Sun Microsystems/Oracle Corporation Solaris.
Særpreget ved «SysVinit», som den også kalles, er runlevels – et antall forutbestemte tilstander, og operativsystemet befinner seg til enhver tid i en av disse tilstandene. Antall runlevels 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 av Service Management Facility.
Init i Linux
[rediger | rediger kilde]Linux arvet begge variantene av oppstartsprosessen fra Unix. Distribusjonene Slackware og Arch 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 og MEPIS.
Atter andre distribusjoner laget sine egne alternative implementasjoner. Eksempler er:
- OpenRC i distribusjonen Gentoo Linux, såvel som NetBSD og FreeBSD
- BootScripts i distribusjonen GoboLinux
- DEMONS i distribusjonen KahelOS
- Mudur i den tyrkiske distribusjonen Pardus.
Upstart
[rediger | rediger kilde]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 av Upstart, og flere aktører samlet seg om den nye prosessen, i et forsøk på å gjøre den til en ny standard:
- Ubuntu 6.10[19][20]
- Fedora 9[21]
- Red Hat Enterprise Linux versjon 6[22]
- CentOS versjon 6[23]
- Scientific Linux versjon 6[24]
- Oracle Linux versjon 6
- StartCom Linux Enterprise versjon 6[25]
- openSUSE versjon 11.3, Milestone 4[26]
- webOS versjon 1.0.2 fra Hewlett Packard[27]
- Maemo versjon 5 for Nokia nettbrett[28]
- MeeGo versjon 1.0 for mobiltelefoner.[29]
- Chrome OS
Forsøket på å oppnå enighet mislyktes, og Linux-samfunnet fortsatte en uenighet som har sin opprinnelse i Unix-krigene på slutten av 1980-tallet og begynnelsen av 1990-tallet.
systemd
[rediger | rediger kilde]Systemd representerer et nytt forsøk på å samles om en felles dynamisk oppstartsprosess. Programmet ble lansert 30. oktober 2010, og ble standard oppstartsystem i Red Hat Fedora versjon 15 den 24. mai 2011. Deretter fulgte en rekke distribusjoner, hvorav et utvalg er listet nedenfor:
- Fedora 15[30]
- Mandriva Linux 2011.0[31]
- CoreOS versjon 94.0.0[32]
- openSUSE versjon 12.11[33]
- Frugalware Linux 1.5[34]
- Gentoo Linux versjon 12.0[35]
- Mageia versjon 2.0[36]
- Arch Linux (oktober 2012)[37]
- Chakra Linux 2012.10[38]
- Tizen versjon 2.0[39]
- Siduction versjon 2013.2[40]
- Sabayon Linux 13.04[41]
- Red Hat Enterprise Linux versjon 7[42]
- SUSE Linux Enterprise Server versjon 12[43]
- CentOS versjon 7[44]
- Scientific Linux versjon 7[45]
- Oracle Linux versjon 7[46]
- Lunar Linux 1.7.0[47]
- Parsix 7.5r0[48]
- Ubuntu 14.10[49][50]
- Debian 8.0[51]
- Linux Mint 18.0
Kontroverser
[rediger | rediger kilde]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 til Unix-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.[52]
I et intervju den 6. juli 2012, ga Slackware's leder Patrick Volkerding uttrykk for reservasjoner overfor systemd, og hevdet at det krenker Unix-filosofien om å sammenføye programvare med en begrenset definert funksjonalitet.[53] Per 2. juli 2016 (versjon 14.2) støtter ikke Slackware systemd, men i 2013 utelukket ikke Volkerding muligheten for å svitsje over til det.[54]
Fra 25. oktober 2013 til 2. januar 2014 fant det sted en lang debatt i Debian Technical Committee på mailinglisten om Debian 8.0 «Jessie»,[55] som kulminerte i en beslutning til fordel for systemd. Debatten ble vidt publisert[56][57] og etter beslutningen har debatten fortsatt på mailinglisten. Debian 8.0 ble lansert 25. april 2015.
I en blogg den 26. januar 2013 kalt The Biggest Myths imøtegikk Lennart Poettering 30 argumenter som motstandere har ført i marken omkring systemd.[12] Den 6. oktober 2014 anklaget han Linus Torvalds og andre utviklere av Linuxkjernen for å ha skapt splittelsen innen Linux-samfunnet.[58]
Den 14. februar 2014 kunngjorde Mark Shuttleworth på en blogg at Ubuntu ville gå over til systemd,[59] selv om han den 18. oktober 2013 beskrev systemd som «enormt invasivt og neppe forsvarlig».[60] Ubuntu var den opprinnelige utvikler av Upstart. Den 23. oktober 2014 ble systemd lansert i Ubuntu 14.10.
Den 10. mars 2014 uttrykte Eric 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.[61] Den 2. april 2014 uttrykte Linus Torvalds reservasjoner mot holdningen til brukere og bugrapporter hos Kay Sievers, en sentral utvikler av systemd.[62]
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.[63][64]
I en artikkel publisert den 18. august 2014 i InfoWorld 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».[65] Artikkelen sammenlignet systemd med svchost.exe, en kritisk systemkomponent med omfattende funksjonalitet som ble introdusert i Microsoft Windows 2000.
Joey Hess,[66] Russ Allbery,[67] Ian Jackson[68] i Debian Technical Committee, og Debians systemd-ansvarlig Tollef Fog Heen[69] 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 en fork av Debian, kalt Devuan, kunngjort av en gruppe som kalte seg «Veteran Unix Admins». dens intensjon er å lage en Debian-variant uten systemd.[70]
I august 2015 fikk systemd et skall for innlogging, som startes av kommandoen machinectl shell
.[71]
Se også
[rediger | rediger kilde]Referanser
[rediger | rediger kilde]- ^ a b «README - systemd/systemd - System and Session Manager» (på engelsk). Besøkt 17. november 2018.
- ^ «Release 256.7». 8. oktober 2024. Besøkt 27. oktober 2024.
- ^ «systemd/systemd - System and Session Manager» (på engelsk). Besøkt 27. april 2015.
- ^ «The systemd Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 18. juli 2018.
- ^ «README - systemd/systemd - System and Session Manager» (på engelsk). Besøkt 17. november 2018.
- ^ api.github.com, besøkt 30. juli 2018[Hentet fra Wikidata]
- ^ lists.freedesktop.org[Hentet fra Wikidata]
- ^ Lennart Poettering, Kay Sievers, Thorsten Leemhuis (8. mai 2012), Control Centre: The systemd Linux init system, The H, arkivert fra originalen on 2012-10-14, https://web.archive.org/web/20121014173559/http://www.h-online.com/open/features/Control-Centre-The-systemd-Linux-init-system-1565543.html, besøkt 8. september 2015 «Arkivert kopi». Archived from the original on 14. oktober 2012. Besøkt 26. juli 2015.
- ^ Lennart Poettering (21. april 2012), systemd Status Update, http://0pointer.de/blog/projects/systemd-update-3.html, besøkt 8. september 2015
- ^ systemd/README, freedesktop.org
- ^ Poettering, Lennart (mai 2014). «A Perspective for systemd: What Has Been Achieved, and What Lies Ahead» (PDF). Besøkt 30. november 2014.
- ^ a b The Biggest Myths, 26. januar 2013
- ^ Version 7 Unix Programmers Manual: INIT(8) Arkivert 3. mars 2016 hos Wayback Machine., Unixdev.net
- ^ Version 7 Unix Programmers Manual: TTYS(5) Arkivert 4. mars 2016 hos Wayback Machine., Unixdev.net
- ^ 4.3BSD System Manager's Manual: INIT(8), 22. mai 1986
- ^ 4.3BSD System Manager's Manual: TTYS(5), 22. mai 1986
- ^ Andrew Smallshaw: Unix and Linux startup scripts, Part 2, 7. desember 2009
- ^ SysIII/usr/src/man/man8/init.8, minnie.tuhs.org.
- ^ Ubuntu wiki: DaemontoolsUpstartConfig, 8. mars 2010
- ^ Ubuntu wiki: Vividvervet ReleaseNotes, 24. april 2015
- ^ Fedora Project: Features/Upstart, 24. mai 2008
- ^ Red Hat: Deployment. Red Hat Enterprise Linux 6: Technical Notes Arkivert 31. desember 2013 hos Wayback Machine., 10. november 2010
- ^ Serverfault: CentOS 6 and upstart, 18. juli 2011
- ^ Rpm pbone.net:upstart rpm build for : Scientific Linux 6, 24. februar 2014
- ^ Rpm pbone.net:upstart rpm build for : StartCom 6, 13. januar 2011
- ^ The H Open: OpenSUSE gets an Upstart, 26. mars 2010
- ^ Matthew Garrett: Palm Pre Arkivert 23. desember 2009 hos Wayback Machine., 10. juni 2009
- ^ Maemo: Fremantle Arkivert 8. september 2015 hos Wayback Machine., 24. august 2009
- ^ Wangy985: Past and Present of the upstart Linux operating system MeeGo Arkivert 5. mars 2016 hos Wayback Machine., 30. april 2010
- ^ Red Hat: Release Notes for Fedora 15 Arkivert 7. mai 2015 hos Wayback Machine., 24. mai 2011
- ^ Mandriva 2011 arrives with Systemd, The H Open, 29. august 2011
- ^ CoreOS's init system and configuration platform Arkivert 14. februar 2014 hos Wayback Machine., Open source projects for Linux. Containers, coreos.com, besøkt 17. september 2015
- ^ Directory view of the 11.4 i586 installation showing presence of the systemd v18 installables, 2011-02-23, http://download.opensuse.org/distribution/11.4/repo/oss/suse/i586/, besøkt 2013-09-24
- ^ Development Release: Frugalware Linux 1.5 Pre 1, DistroWatch. com, 18. april 2011
- ^ Gentoo Linux wiki: Systemd, 12. september 2015
- ^ Fabian Scherschel: Mageia 2 arrives with GNOME 3 and systemd, The H Open, 22. mai 2012
- ^ Thomas Bächler: systemd is now the default on new installations, Arch Linux, 23. oktober 2012
- ^ Silviu Stahie: Chakra Linux 2012.10 Switches to Systemd [Screenshot Tour], Softpedia, 29. oktober 2012
- ^ Mikko Ylinen: Tizen IVI Architecture Arkivert 30. november 2012 hos Wayback Machine., 3. februar 2013
- ^ Release Notes for siduction 2013.2, 22. oktober 2014
- ^ Ixnay; Press Release: Sabayon 13.04 Arkivert 10. september 2015 hos Wayback Machine., 30. april 2013
- ^ Red Hat Unveils Red Hat Enterprise Linux 7, 2014-06-10, http://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7
- ^ SUSE Linux Enterprise Server 12 Release, 2. mars 2015
- ^ Terrence T. Cox: CentOS 7: Take the Plunge into SystemD Arkivert 10. september 2015 hos Wayback Machine., Linuxacademy.com, 30. september 2014
- ^ systemd rpm build for : Scientific Linux 7, RPØM pbone.net, 5. mars 2015
- ^ About systemd, Oracle® Linux. Administrator's Guide for Release 7, oracle.com, 23. juli 2014
- ^ Lunar Linux 1.7.0 (i686 & x86_64) ISO’s released, Lunar Linux, 11. oktober 2004
- ^ Welcome to Parsix GNU/Linux 7.5r0 Release Notes Arkivert 24. september 2015 hos Wayback Machine., parsix.org
- ^ «InterfaceStabilityPromise». freedesktop.org.
- ^ systemd — An alternative boot manager, https://wiki.ubuntu.com/systemd, besøkt 2013-06-24
- ^ «systemd». debian.org. Besøkt 19. november 2014.
- ^ Vaughan-Nichols, Steven (19. september 2014). «Linus Torvalds and others on Linux's systemd». ZDNet.com.
- ^ Interview with Patrick Volkerding of Slackware, LinuxQuestions.org, 6. juli 2012
- ^ volkerdi Slackware Maintainer, LinuxQuestions.org, 29. oktober 2013
- ^ Debian Bug report logs - #727708 tech-ctte: Decide which init system to default to in Debian, tråden begynner 25. oktober 2013
- ^ Jonathan Corbet: Which init system for Debian?, LWN.net, 5. november 2013
- ^ Michael Larabel: Debian Still Debating Systemd vs. Upstart Init System, phoronix, 30. september 2013
- ^ Steven J. Vaughan-Nichols: Lennart Poettering's Linus Torvalds rant,ZDNet, 6. oktober 2014
- ^ Mark Shuttleworth: Losing graciously Arkivert 22. mars 2014 hos Wayback Machine., 14. februar 2014
- ^ Mark Shuttleworth: Quantal, raring, saucy…, 18. oktober 2013
- ^ Eric S. Raymond: systemd, Slashdot.org, 10. mars 2014
- ^ Linus Torvalds: Re: [RFC PATCH] cmdline: Hide "debug" from /proc/cmdline, LKML.org, 2. april 2014
- ^ Is systemd as bad as boycott systemd is trying to make it? Arkivert 5. september 2015 hos Wayback Machine., Linux Today, 4. september 2014
- ^ boycottsystemd.org, 6. desember 2014
- ^ Paul Venezia: Systemd: Harbinger of the Linux apocalypse, 18. august 2014
- ^ Joey Hess: on leaving
- ^ Russ Allbery: Resigning from the Technical Committee, 16. november 2014
- ^ Ian Jackson: Resignation, 19. november 2014
- ^ Resignation from the pkg-systemd maintainer team, 16. november 2014
- ^ corbet: The "Devuan" Debian fork, LWN.net, 29. november 2014
- ^ Paul Carroty (28. august 2015). «Lennart Poettering merged “su” command replacement into systemd: Test Drive on Fedora Rawhide». Arkivert fra originalen 4. september 2015. «Arkivert kopi». Archived from the original on 4. september 2015. Besøkt 19. september 2015.
Eksterne lenker
[rediger | rediger kilde]- (en) Offisielt nettsted
- (en) Systemd – kategori av bilder, video eller lyd på Commons
- (en) systemd på GitHub
- Chapter 8. Managing Services with systemd, Red Hat Linux 7 documentation, System Administrator's Guide, 2015
- Sébastien Koechlin: Évolutions techniques de systemd, Linuxfr.org, 2. august 2011
- Lennart Poettering, Kay Sievers, Thorsten Leemhuis: Control Centre: The systemd Linux init system, the H Open, 8. mai 2012
- Lennart Poettering, Kay Sievers, Thorsten Leemhuis: Booting up: Tools and tips for systemd, a Linux init tool, the H Open, 15. mai 2012