systemd(1)
systemd(1)
NAMN
systemd, init — systemd system- och tjänstehanterare
SYNOPSIS
/usr/lib/systemd/systemd [ALTERNATIV...] init [ALTERNATIV...]
BESKRIVNING
systemd är en system- och tjänstehanterare för Linux-operativsystem. När det körs som första process vid uppstart (som PID 1) fungerar det som init-system och startar upp samt upprätthåller användarrumstjänster. Separata instanser startas för inloggade användare för att starta deras tjänster.
systemd anropas vanligtvis inte direkt av användaren, utan är installerat som symbolisk länk till /sbin/init och startas under den tidiga uppstartsfasen. Instanser av användarhanteraren startas automatiskt via tjänsten user@.service(5).
När det körs som en systeminstans tolkar systemd konfigurationsfilen system.conf och filerna i katalogerna system.conf.d; när det körs som en användarinstans tolkar systemd konfigurationsfilen user.conf och filerna i katalogerna user.conf.d. Se systemd-system.conf(5) för mer information.
systemd innehåller inbyggda implementationer av olika uppgifter som behöver köras som en del av uppstartsprocessen. Det sätter till exempel värdnamnet eller konfigurerar loopback-nätverksenheten. Det sätter också upp och monterar olika API-filsystem, såsom /sys/, /proc/ och /dev/.
systemd återställer även systemklockan under tidig uppstart om den verkar vara felaktigt inställd. Se avsnittet Systemklockans epok nedan.
Observera att vissa men inte alla gränssnitt som tillhandahålls av systemd omfattas av löftet om gränssnittsportabilitet och stabilitet.
D-Bus-API:t för systemd beskrivs i org.freedesktop.systemd1(5) och org.freedesktop.LogControl1(5).
System som anropar systemd i en container- eller initrd-miljö bör implementera specifikationerna för Container Interface respektive initrd Interface.
ENHETER
systemd tillhandahåller ett beroendesystem mellan olika objekt som kallas ”enheter” av 11 olika typer. Enheter kapslar in olika objekt som är relevanta för systemets uppstart och underhåll. Majoriteten av enheterna konfigureras i enhetskonfigurationsfiler, vars syntax och grundläggande alternativ beskrivs i systemd.unit(5), men vissa skapas automatiskt från andra konfigurationsfiler, dynamiskt från systemtillståndet eller programmatiskt vid körning. Enheter kan befinna sig i ett antal tillstånd, som beskrivs i följande tabell.
| Tillstånd | Beskrivning |
|---|---|
| active | Startad, bunden, inkopplad, ..., beroende på enhetstyp. |
| inactive | Stoppad, obunden, urkopplad, ..., beroende på enhetstyp. |
| failed | Liknar inactive, men enheten misslyckades på något sätt. |
| activating | Växlar från inactive till active. |
| deactivating | Växlar från active till inactive. |
| maintenance | Enheten är inactive och en underhållsåtgärd pågår. |
| reloading | Enheten är active och laddar om sin konfiguration. |
| refreshing | Enheten är active och en ny montering aktiveras i dess namnrymd. |
Följande enhetstyper finns:
- Tjänsteenheter, som startar och styr daemons och de processer de består av. Se systemd.service(5).
- Socketenheter, som kapslar in lokal IPC eller nätverkssocklar i systemet, användbara för socket-baserad aktivering. Se systemd.socket(5) och daemon(7).
- Målenheter, användbara för att gruppera enheter eller tillhandahålla välkända synkroniseringspunkter under uppstart. Se systemd.target(5).
- Enhetsenheter, som exponerar kärnenheter i systemd och kan användas för enhetsbaserad aktivering. Se systemd.device(5).
- 'Monteringsenheter, som styr monteringspunkter i filsystemet. Se systemd.mount(5).
- 'Automonteringsenheter, som tillhandahåller automonteringsfunktioner. Se systemd.automount(5).
- 'Timerenheter, användbara för att utlösa aktivering av andra enheter baserat på tidtagare. Se systemd.timer(5).
- 'Swapenheter, som liknar monteringsenheter och kapslar in swap-partitioner eller swap-filer. Se systemd.swap(5).
- 'Sökvägsenheter, som kan användas för att aktivera andra tjänster när filsystemobjekt ändras. Se systemd.path(5).
- 'Slice-enheter, som används för att gruppera enheter som hanterar systemprocesser i ett hierarkiskt träd för resurshantering. Se systemd.slice(5).
- 'Scope-enheter, som liknar tjänsteenheter men hanterar externa processer i stället för att starta dem. Se systemd.scope(5).
Enheter namnges efter sina konfigurationsfiler. Vissa enheter har särskild semantik. En detaljerad lista finns i systemd.special(7).
systemd känner till olika sorters beroenden, inklusive positiva och negativa kravberoenden (till exempel Requires= och Conflicts=) samt ordningsberoenden (After= och Before=). Ordnings- och kravberoenden är ortogonala.
Applikationsprogram och enheter kan begära tillståndsändringar för enheter. I systemd kapslas dessa begäranden in som ”jobb” och underhålls i en jobbkö. Jobb kan lyckas eller misslyckas, och deras exekvering ordnas utifrån enheternas ordningsberoenden.
Vid uppstart aktiverar systemd målenheten default.target, vars uppgift är att aktivera uppstartstjänster och andra uppstartsenheter genom att dra in dem via beroenden. Vanligtvis är enhetsnamnet bara ett alias (symbolisk länk) för antingen graphical.target eller multi-user.target, men administratören kan konfigurera det som ett alias till vilken annan målenhet som helst.
Vid första uppstart kommer systemd att aktivera eller inaktivera enheter enligt förinställningspolicy. Se systemd.preset(5) och ”First Boot Semantics” i machine-id(5).
systemd håller bara en minimal uppsättning enheter laddade i minnet. Närmare bestämt hålls endast enheter laddade för vilka minst ett av följande villkor är sant:
- Den är i tillståndet active, activating, deactivating eller failed.
- Den har ett jobb köat för sig.
- Den är ett beroende till minst en annan laddad enhet.
- Den har någon form av resurs fortfarande allokerad.
- Den har låsts i minnet programmatiskt via ett D-Bus-anrop.
systemd laddar automatiskt och implicit enheter från disk så snart operationer begärs för dem. Använd systemctl list-units --all för att lista alla enheter som för närvarande är laddade.
Processer som systemd startar placeras i individuella Linux-kontrollgrupper uppkallade efter den enhet de tillhör i systemds privata hierarki. Se Control Groups v2 för mer information.
systemd är kompatibelt med olika etablerade Unix-funktioner såsom /etc/fstab eller utmp-databasen.
systemd har ett minimalt transaktionssystem. Innan en begärd operation utförs verifierar systemd att den är rimlig, försöker rätta till den om möjligt och misslyckas bara om den verkligen inte går att genomföra.
Enheter kan genereras dynamiskt vid uppstart och omladdning av systemhanteraren, till exempel baserat på andra konfigurationsfiler eller parametrar som skickas på kärnans kommandorad. För detaljer, se systemd.generator(7).
KATALOGER
Systemenhetskataloger
systemd:s systemhanterare läser enhetskonfiguration från flera kataloger. Paket som vill installera enhetsfiler ska placera dem i katalogen som returneras av:
pkg-config systemd --variable=systemdsystemunitdir
Andra kataloger som kontrolleras är:
- /usr/local/lib/systemd/system
- /usr/lib/systemd/system
Användarkonfiguration har alltid företräde. Följande kommando returnerar sökvägen till systemkonfigurationskatalogen:
pkg-config systemd --variable=systemdsystemconfdir
Paket bör endast ändra innehållet i dessa kataloger med kommandona enable och disable i systemctl(1). Fullständig lista över kataloger finns i systemd.unit(5).
Användarenhetskataloger
Liknande regler gäller för användarenhetskataloger. Här följs XDG Base Directory specification för att hitta enheter. Program bör placera sina enhetsfiler i katalogen som returneras av:
pkg-config systemd --variable=systemduserunitdir
Global konfiguration görs i katalogen som rapporteras av:
pkg-config systemd --variable=systemduserconfdir
SIGNALER
Tjänsten lyssnar på olika UNIX-processignaler som kan användas för att begära olika åtgärder asynkront.
- SIGTERM
- Systemhanterare: serialiserar tillstånd, startar om sig själv och deserialiserar tillståndet igen. Liknar systemctl daemon-reexec.
- Användarhanterare: startar enheten exit.target.
- SIGINT
- Systemhanterare: startar enheten ctrl-alt-del.target. Om signalen tas emot mer än 7 gånger på 2 sekunder utlöses en omedelbar omstart.
- Användarhanterare: behandlas på samma sätt som SIGTERM.
- SIGWINCH
- Systemhanterare: startar enheten kbrequest.target.
- Användarhanterare: ignoreras.
- SIGPWR
- Startar enheten sigpwr.target.
- SIGUSR1
- Återanslut till D-Bus-bussen.
- SIGUSR2
- Logga fullständigt internt tillstånd i läsbar form.
- SIGHUP
- Ladda om fullständig daemonkonfiguration. Liknar systemctl daemon-reload.
- SIGRTMIN+0
- Gå till standardläge, starta default.target.
- SIGRTMIN+1
- Gå till räddningsläge, starta rescue.target.
- SIGRTMIN+2
- Gå till nödläge, starta emergency.service.
- SIGRTMIN+3
- Stoppa maskinen, starta halt.target.
- SIGRTMIN+4
- Stäng av maskinen, starta poweroff.target.
- SIGRTMIN+5
- Starta om maskinen, starta reboot.target.
- SIGRTMIN+6
- Starta om maskinen via kexec, starta kexec.target.
- SIGRTMIN+7
- Starta om användarrummet, starta soft-reboot.target.
- Tillagt i version 254.
- SIGRTMIN+13
- Stoppa maskinen omedelbart.
- SIGRTMIN+14
- Stäng av maskinen omedelbart.
- SIGRTMIN+15
- Starta om maskinen omedelbart.
- SIGRTMIN+16
- Starta om maskinen med kexec omedelbart.
- SIGRTMIN+17
- Starta om användarrummet omedelbart.
- Tillagt i version 254.
- SIGRTMIN+20
- Aktivera visning av statusmeddelanden på konsolen.
- SIGRTMIN+21
- Inaktivera visning av statusmeddelanden på konsolen.
- SIGRTMIN+22
- Sätt loggnivån till ”debug”.
- SIGRTMIN+23
- Återställ konfigurerad loggnivå.
- Tillagt i version 239.
- SIGRTMIN+24
- Avsluta hanteraren omedelbart (endast för --user-instanser).
- Tillagt i version 195.
- SIGRTMIN+25
- Kör om systemd-hanteraren asynkront.
- Tillagt i version 250.
- SIGRTMIN+26
- Återställ konfigurerat loggmål.
- Tillagt i version 239.
- SIGRTMIN+27, SIGRTMIN+28
- Sätt loggmålet till ”console” eller ”kmsg”.
- Tillagt i version 239.
MILJÖ
Miljöblocket för systemhanteraren sätts initialt av kärnan. För användarhanteraren sätter systemhanteraren miljön som beskrivs i avsnittet ”Environment Variables in Spawned Processes” i systemd.exec(5).
Några av variablerna som förstås av systemd:
- $SYSTEMD_LOG_LEVEL
- Högsta loggnivå för utsända meddelanden.
- $SYSTEMD_LOG_COLOR
- Boolesk. Om sant färgas tty-meddelanden enligt prioritet.
- $SYSTEMD_LOG_TIME
- Boolesk. Om sant föregås konsolloggmeddelanden av en tidsstämpel.
- Tillagt i version 246.
- $SYSTEMD_LOG_LOCATION
- Boolesk. Om sant föregås meddelanden av källfilnamn och radnummer.
- $SYSTEMD_LOG_TID
- Boolesk. Om sant föregås meddelanden av tråd-ID.
- Tillagt i version 247.
- $SYSTEMD_LOG_TARGET
- Mål för loggmeddelanden. Ett av:
- console, console-prefixed, kmsg, journal, journal-or-kmsg, auto, null.
- $SYSTEMD_LOG_RATELIMIT_KMSG
- Boolesk. Om kmsg-meddelanden ska hastighetsbegränsas.
- Tillagt i version 254.
- $XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS
- Används av användarhanteraren enligt XDG Base Directory-specifikationen.
- $SYSTEMD_UNIT_PATH, $SYSTEMD_GENERATOR_PATH, $SYSTEMD_ENVIRONMENT_GENERATOR_PATH
- Styr var systemd letar efter enhetsfiler och generatorer.
- $SYSTEMD_PAGER, $PAGER
- Sidvisare att använda när --no-pager inte anges.
- $SYSTEMD_LESS
- Åsidosätt alternativ som skickas till less.
- $SYSTEMD_LESSCHARSET
- Åsidosätt teckenkodning som skickas till less.
- $SYSTEMD_PAGERSECURE
- Boolesk. Styr användningen av sidvisarens ”säkra läge”.
- $SYSTEMD_COLORS
- Boolesk eller ett av “16”, “256”. Styr färganvändning.
- $SYSTEMD_URLIFY
- Boolesk. Styr om klickbara länkar genereras.
- $LISTEN_PID, $LISTEN_PIDFDID, $LISTEN_FDS, $LISTEN_FDNAMES
- Sätts av systemd under socket-baserad aktivering. Se sd_listen_fds(3).
- $NOTIFY_SOCKET
- Sätts för tjänster för status- och beredskapsnotifikationer. Se sd_notify(3).
För ytterligare miljövariabler som förstås av systemd och dess olika komponenter, se Known Environment Variables.
KÄRNANS KOMMANDORAD
När systemd körs som systeminstans tolkar det ett antal alternativ från kärnans kommandorad.
Följande variabler förstås:
- systemd.unit=, rd.systemd.unit=
- Åsidosätter enheten som ska aktiveras vid uppstart. Standard är default.target.
- systemd.dump_core
- Boolesk. Om aktiverad dumpar PID 1 core vid krasch.
- Tillagt i version 233.
- systemd.crash_chvt
- Positivt heltal eller boolesk. Aktivera angiven virtuell terminal när PID 1 kraschar.
- Tillagt i version 233.
- systemd.crash_shell
- Boolesk. Om aktiverad startar PID 1 ett skal när det kraschar.
- Tillagt i version 233.
- systemd.crash_action=
- Ett av “freeze”, “reboot”, “poweroff”.
- Tillagt i version 256.
- systemd.confirm_spawn
- Boolesk eller konsolsökväg. Be om bekräftelse när processer startas med /dev/console.
- Tillagt i version 233.
- systemd.service_watchdogs=
- Boolesk. Aktivera eller inaktivera tjänsters watchdog-funktioner och nödåtgärder.
- Tillagt i version 237.
- systemd.show_status
- Boolesk eller “error” eller “auto”. Styr korta tjänstestatusuppdateringar på konsolen.
- Tillagt i version 233.
- systemd.status_unit_format=
- Ett av name, description, combined.
- Tillagt i version 243.
- systemd.log_color, systemd.log_level=, systemd.log_location, systemd.log_target=, systemd.log_time, systemd.log_tid, systemd.log_ratelimit_kmsg
- Styr loggutmatning.
- systemd.default_standard_output=, systemd.default_standard_error=
- Styr standardutmatning och standardfelutmatning för tjänster och socklar.
- systemd.setenv=
- Sätt standardmiljövariabler för barnprocesser.
- systemd.machine_id=
- 32-teckens hexadecimalt värde för maskin-ID.
- Tillagt i version 229.
- systemd.set_credential=, systemd.set_credential_binary=
- Sätt systemuppgifter via kärnans kommandorad.
- Tillagt i version 251.
- systemd.import_credentials=
- Boolesk. Inaktivera import av uppgifter från stödda firmware-/uppstartsmekanismer.
- Tillagt i version 251.
- quiet
- Stäng av statusutmatning vid uppstart.
- debug
- Slå på felsökningsutmatning.
- emergency, rd.emergency, -b
- Starta i nödläge.
- rescue, rd.rescue, single, s, S, 1
- Starta i räddningsläge.
- 2, 3, 4, 5
- Starta i motsvarande äldre SysV-runlevel.
- locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, ...
- Sätt systemets språk- och lokalinställningar.
För andra parametrar på kärnans kommandorad, se kernel-command-line(7).
SYSTEMUPPGIFTER
Under initiering importerar tjänstehanteraren uppgifter från olika källor till systemets uppgiftsuppsättning, som sedan kan vidarebefordras till tjänster och användas av generatorer.
Källor inkluderar:
- SMBIOS Type 11 vendor strings
- QEMU fw_cfg
- Kärnans kommandorad via systemd.set-credential=
- UEFI-miljön via systemd-stub(7)
- Filer i /run/credentials/@initrd/ under övergången initrd → värdsystem
För att inspektera uppgifter:
# systemd-creds --system list
Tjänstehanteraren när den körs som PID 1 använder följande systemuppgifter:
- vmm.notify_socket
- Innehåller en AF_VSOCK- eller AF_UNIX-adress dit en READY=1-notifikation ska skickas.
- Tillagt i version 254.
- system.machine_id
- 128-bitars hexadecimal identitet för att initiera /etc/machine-id från.
- Tillagt i version 254.
För mer information, se systemd.system-credentials(7).
BEREDSKAPSPROTOKOLL
Tjänstehanteraren implementerar ett beredskapsprotokoll både mellan hanteraren och dess tjänster och mellan hanteraren och en överordnad tillsynsinstans. Grundprotokollet beskrivs i sd_notify(3).
Notifikationsprotokollet uppåt från tjänstehanteraren stöder utökade fält, inklusive:
- X_SYSTEMD_HOSTNAME=...
- Skickas när det initiala värdnamnet har fastställts.
- Tillagt i version 256.
- X_SYSTEMD_MACHINE_ID=...
- Skickas när maskin-ID har fastställts.
- Tillagt i version 256.
- X_SYSTEMD_SIGNALS_LEVEL=...
- Skickas när signalhanterare har installerats.
- Tillagt i version 256.
- X_SYSTEMD_UNIT_ACTIVE=... och X_SYSTEMD_UNIT_INACTIVE=...
- Skickas för målenheter när de blir aktiva eller inaktiva.
- Tillagt i version 256.
- X_SYSTEMD_SHUTDOWN=...
- Skickas strax före avstängning. Värdet är ett av “reboot”, “halt”, “poweroff”, “kexec”.
- Tillagt i version 256.
- X_SYSTEMD_REBOOT_PARAMETER=...
- Skickas strax före avstängning med det konfigurerade omstartsargumentet.
- Tillagt i version 256.
Dessa skickas utöver de vanliga notifikationerna READY=1 och RELOADING=1.
ALTERNATIV
systemd anropas vanligtvis inte direkt. Alternativen nedan är främst användbara för felsökning och specialändamål.
Introspektions- och felsökningsalternativ
- --dump-configuration-items
- Dumpa kända konfigurationsobjekt för enheter.
- --dump-bus-properties
- Dumpa exponerade bussegenskaper.
- Tillagt i version 239.
- --test
- Bestäm den initiala uppstartstransaktionen, skriv ut den och avsluta utan att köra några jobb.
- --system, --user
- Används tillsammans med --test för att välja system- eller användarinstans.
- -h, --help
- Skriv ut en kort hjälptråd och avsluta.
- --version
- Skriv ut en kort versionssträng och avsluta.
Alternativ som duplicerar inställningar på kärnans kommandorad
- --unit=
- Sätt standardenheten som ska aktiveras vid uppstart.
- --dump-core
- Aktivera core-dump vid krasch.
- '--crash-vt=VT
- Växla till en specifik virtuell konsol vid krasch.
- Tillagt i version 227.
- --crash-shell
- Kör ett skal vid krasch.
- '--crash-action=
- Ange vad som ska göras när PID 1 kraschar.
- Tillagt i version 256.
- --confirm-spawn
- Be om bekräftelse när processer startas.
- --show-status
- Visa kortfattad enhetsstatusinformation på konsolen under uppstart och avstängning.
- Tillagt i version 244.
- --log-color
- Markera viktiga loggmeddelanden med färg.
- Tillagt i version 244.
- '--log-level=
- Sätt loggnivå.
- --log-location
- Inkludera källkodsposition i loggmeddelanden.
- Tillagt i version 244.
- '--log-target=
- Sätt loggmål.
- --log-time
- Förse konsolmeddelanden med tidsstämpel.
- Tillagt i version 246.
- '--machine-id=
- Åsidosätt maskin-ID på hårddisken.
- Tillagt i version 229.
- --service-watchdogs
- Aktivera eller inaktivera globalt alla watchdog-timeouter och nödåtgärder för tjänster.
- Tillagt i version 237.
- --default-standard-output=, --default-standard-error=
- Sätt standardutmatning/felutmatning för alla tjänster och socklar.
SYSTEMKLOCKANS EPOK
När systemd startas eller startas om kan det sätta systemklockan till ”epoken”. Denna mekanism används för att säkerställa att systemklockan förblir rimligt initierad och ungefär monotont ökande mellan omstarter.
Epoken är det lägsta datum över vilket systemklockans tid antas vara korrekt inställd. Vid initiering flyttas den lokala klockan fram till epoken om den var satt till ett lägre värde. Om den lokala klockan är tillräckligt långt in i framtiden antas hårdvaruklockan vara trasig och systemklockan vrids tillbaka till epoken.
Epoken sätts till det högsta av:
- systemds byggtid
- ändringstiden för /usr/lib/clock-epoch
- ändringstiden för /var/lib/systemd/timesync/clock
FILER
- /run/systemd/notify
- Socket för daemon-statusnotifikation.
- /run/systemd/private
- Intern kommunikationskanal mellan systemctl(1) och systemd-processen.
- /usr/lib/clock-epoch
- Dess ändringstid används för tidsepoken.
- Tillagt i version 247.
- /var/lib/systemd/timesync/clock
- Ändringstid uppdaterad av systemd-timesyncd.service(8). Används för epoken om den finns.
- Tillagt i version 257.
HISTORIK
- systemd 252
- Parametrarna systemd.unified_cgroup_hierarchy och systemd.legacy_systemd_cgroup_controller på kärnans kommandorad avråddes från. Byt till den enhetliga cgroup-hierarkin.
SE ÄVEN
systemd Homepage, systemd-system.conf(5), locale.conf(5), systemctl(1), journalctl(1), systemd-notify(1), daemon(7), sd-daemon(3), org.freedesktop.systemd1(5), systemd.unit(5), systemd.special(7), pkg-config(1), kernel-command-line(7), bootup(7), systemd.directives(7)
För mer information om idéerna och koncepten bakom systemd, se Original Design Document.
NOTER
- Interface Portability and Stability Promise
- https://systemd.io/PORTABILITY_AND_STABILITY/
- Container Interface
- https://systemd.io/CONTAINER_INTERFACE
- initrd Interface
- https://systemd.io/INITRD_INTERFACE/
- Control Groups v2
- https://docs.kernel.org/admin-guide/cgroup-v2.html
- XDG Base Directory specification
- https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
- Det rekommenderas att andra verktyg sätter och kontrollerar $SUDO_UID på lämpligt sätt.
- Known Environment Variables
- https://systemd.io/ENVIRONMENT
- System and Service Credentials
- https://systemd.io/CREDENTIALS
- systemd Homepage
- https://systemd.io/
- Original Design Document
- https://0pointer.de/blog/projects/systemd.html
KOLOFON
Den här sidan är en del av projektet systemd. Information om projektet finns på:
http://www.freedesktop.org/wiki/Software/systemd
Om du vill rapportera ett fel i manualsidan, se:
http://www.freedesktop.org/wiki/Software/systemd/#bugreports
Den här sidan hämtades från projektets uppströms Git-arkiv:
https://github.com/systemd/systemd.git
den 2026-01-16. Vid den tidpunkten var datumet för den senaste commit som hittades i arkivet 2026-01-16.
Om du upptäcker renderingsproblem i den här HTML-versionen av sidan, eller anser att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar till informationen i denna KOLOFON (som inte är en del av den ursprungliga manualsidan), skicka e-post till man-pages@man7.org.
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/systemd.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.