/etc/systemd/system.conf
filen
inneholder et sett av alternativer for å kontrollere grunnleggende
systemoperasjoner. Standardfilen har alle oppføringer kommentert
med standardinnstillingene angitt. Denne filen er hvor loggnivået
kan endres, samt noen grunnleggende logginnstillinger. Se
systemd-system.conf(5)
manualside for
detaljer om hvert konfigurasjonsalternativ.
Normal oppførsel for systemd er å tømme skjermen på slutten av oppstartssekvensen. Hvis ønskelig, kan denne oppførselen endres ved å kjøre følgende kommando:
mkdir -pv /etc/systemd/system/getty@tty1.service.d
cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF
[Service]
TTYVTDisallocate=no
EOF
Oppstartsmeldingene kan alltid gjennomgås ved å bruke
journalctl -b
kommandoen som root
bruker.
Som standard, /tmp
blir opprettet som
en tmpfs. Hvis dette ikke er ønsket, kan det overstyres ved å
utføre følgende kommando:
ln -sfv /dev/null /etc/systemd/system/tmp.mount
Alternativt, hvis en egen partisjon for /tmp
er ønsket, spesifiser partisjonen i en
/etc/fstab
oppføring.
Ikke lag den symbolske lenken ovenfor hvis en separat partisjon
brukes til /tmp
. Dette vil
forhindre rotfilsystemet (/) fra å bli remontert r/w og gjør
systemet ubrukelig ved oppstart.
Det er flere tjenester som oppretter eller sletter filer eller mapper:
systemd-tmpfiles-clean.service
systemd-tmpfiles-setup-dev.service
systemd-tmpfiles-setup.service
Systemplasseringen for konfigurasjonsfilene er /usr/lib/tmpfiles.d/*.conf
. Den lokale
konfigurasjonsfilene er i /etc/tmpfiles.d
. Filer i /etc/tmpfiles.d
overstyrer filer med samme navn i
/usr/lib/tmpfiles.d
. Se tmpfiles.d(5)
manualside for filformat detaljer.
Merk at syntaksen for /usr/lib/tmpfiles.d/*.conf
filer kan være
forvirrende. For eksempel standard sletting av filer i /tmp mappen
ligger i /usr/lib/tmpfiles.d/tmp.conf
med linjen:
q /tmp 1777 root root 10d
Typefeltet, q, diskuterer å lage et undervolum med kvoter som egentlig bare er aktuelt for btrfs filsystemer. Den refererer til type v som igjen refererer til type d (mappe). Dette skaper deretter den spesifiserte mappen hvis den ikke er til stede og justerer tillatelsene og eierskap som spesifisert. Innholdet i mappen vil være underlagt tidsbasert opprydding hvis aldersargumentet er spesifisert.
Hvis standardparametrene ikke er ønsket, bør filen bli kopiert til
/etc/tmpfiles.d
og redigert etter
ønske. For eksempel:
mkdir -p /etc/tmpfiles.d cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d
Parametrene til en enhet kan overstyres ved å opprette en mappe og
en konfigurasjonsfil i /etc/systemd/system
. For eksempel:
mkdir -pv /etc/systemd/system/foobar.service.d
cat > /etc/systemd/system/foobar.service.d/foobar.conf << EOF
[Service]
Restart=always
RestartSec=30
EOF
Se systemd.unit(5)
manualside for mer
informasjon. Etter å ha opprettet konfigurasjonsfilen, kjør
systemctl
daemon-reload
og systemctl restart foobar
for å
aktivere endringene i en tjeneste.
I stedet for vanlige skallskript som brukes i SysVinit eller BSD stil init systemer, bruker systemd et enhetlig format for ulike typer oppstarts filer (eller enheter). Kommandoen systemctl brukes for å aktivere, deaktivere, kontrollere tilstand og få status for enhetsfiler. Her er noen eksempler på ofte brukte kommandoer:
systemctl list-units -t
<service>
[--all]: viser innlastede enhetsfiler av
typen service.
systemctl list-units -t
<target>
[--all]: viser innlastede enhetsfiler av
typen target.
systemctl show -p Wants
<multi-user.target>
:
viser alle enheter som er avhengige av flerbrukermålet.
Targets er spesielle enhetsfiler som er analoge med
kjørenivåer under SysVinit.
systemctl status <servicename.service>
:
viser statusen til servicename service. .service utvidelsen
kan utelates hvis det ikke finnes andre enhetsfiler med samme
navn, for eksempel .socket-filer (som lager en lyttekontakt
som gir lignende funksjonalitet som inetd/xinetd).
Logging på et system oppstartet med systemd håndteres med systemd-journald (som standard), i stedet for en typisk unix syslog nisse (daemon). Du kan også legge til en normal syslog nisse og la begge operere side ved siden av hverandre om ønskelig. Systemd-journald programmet lagrer journaloppføringer i et binært format i stedet for en ren tekstloggfil. Å bistå med å analysere filen, kommandoen journalctl er gitt. Her er noen eksempler på ofte brukte kommandoer:
journalctl -r: viser alt innholdet i journal i omvendt kronologisk rekkefølge.
journalctl -u UNIT
: viser
journalpostene knyttet til den angitte UNIT filen.
journalctl -b[=ID] -r: viser journal oppføringer siden sist vellykkede oppstart (eller for oppstarts-ID) i omvendt kronologisk rekkefølge.
journalctl -f: gir lignende funksjonalitet som tail -f (follow).
Kjernedumper er nyttige for å feilsøke programmer som krasjet,
spesielt når en nisseprosess krasjer. På systemd oppstartede
systemer kjernedumping håndteres av systemd-coredump. Det vil logge
kjernedumpen i journalen og oppbevare selve kjernedumpen i
/var/lib/systemd/coredump
. For å
hente og behandle kjernedumper, coredumpctl verktøy er gitt. Her
er noen eksempler på ofte brukte kommandoer:
coredumpctl -r: viser alle kjernedumper i omvendt kronologisk rekkefølge.
coredumpctl -1 info: viser informasjonen fra siste kjernedump.
coredumpctl -1 debug: laster den siste kjernedumpen inn i GDB.
Kjernedumper kan bruke mye diskplass. Maksimal diskplass brukt av
kjernedumper kan begrenses ved å lage en konfigurasjonsfil i
/etc/systemd/coredump.conf.d
. For
eksempel:
mkdir -pv /etc/systemd/coredump.conf.d
cat > /etc/systemd/coredump.conf.d/maxuse.conf << EOF
[Coredump]
MaxUse=5G
EOF
Se systemd-coredump(8)
, coredumpctl(1)
, og coredump.conf.d(5)
manualsidene for mer
informasjon.
Fra og med systemd-230 blir alle brukerprosesser drept når en
brukerøkt er avsluttet, selv om nohup brukes, eller prosessen
bruker daemon()
eller setsid()
funksjoner. Dette er en bevisst endring
fra et historisk tillatt miljø til et mer restriktiv. Den nye
atferden kan forårsake problemer hvis du er avhengig av at
langvarige programmer (f.eks., screen eller tmux) forblir aktive etter
avsluttet brukerøkt. Det er tre måter å aktivere langvarige
prosesser til å være aktiv etter at en brukerøkt er avsluttet.
Aktiver langvarig prosess for kun
utvalgte brukere: Vanlige brukere har tillatelse
til å aktivere prosessforlenging med kommandoen loginctl enable-linger for
deres egen bruker. Systemadministratorer kan bruke den samme
kommandoen med et user
argument for å aktivere
for en bruker. Denne brukeren kan da bruke systemd-run kommandoen for
å starte langvarige prosesser. For eksempel: systemd-run --scope --user
/usr/bin/screen. Hvis du aktiverer forlenging
for din bruker, vil user@.service forbli selv etter at alle
påloggingsøktene er lukket, og vil automatisk starte ved
systemoppstart. Dette har fordelen av å eksplisitt tillate og
ikke tillate prosesser å kjøre etter at brukerøkten er
avsluttet, men bryter bakoverkompatibiliteten med verktøy som
nohup og
verktøy som bruker daemon()
.
Aktiver systemomfattende langvarig
prosess: Du kan angi KillUserProcesses=no
i
/etc/systemd/logind.conf
for å
muliggjøre prosessforlenging globalt for alle brukere. Dette
har fordelen av å gjøre det gamle metoden tilgjengelig for
alle brukere på bekostning av eksplisitt kontroll.
Deaktiver ved
byggetid: Du kan deaktivere systemforlenging som
standard mens du bygger systemd ved å legge til bryteren
-Ddefault-kill-user-processes=false
til meson
kommandoen for systemd. Dette deaktiverer helt systemds evne
til å drepe brukerprosesser under øktslutt.