Zum Inhalt springen

Systemd/Anwendungen

Aus Foxwiki

Anwendungen

Welche Dienste laufen

  1. systemctl

Alle Meldungen vom letzten Bootvorgang anzeigen

  1. journalctl -b -1

Welche Dienste haben einen Fehler gemeldet

  1. systemctl --failed

Aktualisierende Anzeige

Ähnlich einen tail -f aktualisiert sich die Anzeige am Bildschirm laufend

  1. journalctl -f

Ausgabe filtern

Alle Meldungen von gestern und heute des cron Service anzeigen

  1. journalctl -u cron.service --since=yesterday

Alle Meldungen des cron Service zwischen 7:00 und 8:00 Uhr

  1. journalctl -u cron.service --since='2014-05-12 07:00' --until='2014-05-12 08:00'

Alle wichtigen Meldungen (Priority 2 entspricht emerg, alert und crit) von heute anzeigen

  • Dies entpricht den Klassen des syslog-Daemon
  • emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7)
  1. journalctl -p 2 --since=today

Logmeldungen eines nicht laufenden Systems ansehen

z. B. die Logmeldungen eines Backup (/var) ansehen

  • Dazu müssen die Daten in geeigneter Weise für das system.journal zur Verfügung stehen, im Beispiel via Mount-Kommando einer gesichertern /var-Partition
  1. mount ./LVvar-20140514_1155.dd /media/loop
  1. cd /media/loop/log/journal/9dd891f2123ca26f8f3558d752e6cf59
  1. ll

insgesamt 10752 -rw-r-----+ 1 root utempter 9875456 Mai 14 11:59 system.journal -rw-r-----+ 1 root utempter 1114112 Mai 11 21:54 user-1000.journal

  1. journalctl -D /media/loop/log/journal/9dd891f2123ca26f8f3558d752e6cf59

Welche Programme vom Type 'service' laufen

Typen sind zB

  • mount, service, mount, device, socket, target
  1. systemctl --type=service

Service stoppen, starten, restarten oder den Status ermitteln

  1. systemctl sshd.service [stop|start|restart|reload|status]
  2. systemctl network.service [stop|start|restart|reload|status]


Service dauerhaft aktivieren

  1. systemctl enable nfs-server.service

Service dauerhaft deaktivieren

  1. systemctl disable nfs-server.service

Ist ein Service aktiviert schon ab dem Systemstart

  1. systemctl is-enabled nfs-server.service; echo $?

Wechsel in den Runlevel 3

  1. systemctl isolate multi-user.target
  2. systemctl isolate runlevel3.target

Wechsel in den Runlevel 5

  1. systemctl isolate graphical.target
  2. systemctl isolate runlevel5.target

Welche Runlevel gibt es

  1. systemctl list-units --type=target

UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System cryptsetup.target loaded active active Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems mail-transport-agent.target loaded active active Mail Transport Agent multi-user.target loaded active active Multi-User System network-online.target loaded active active Network is Online network.target loaded active active Network paths.target loaded active active Paths remote-fs-pre.target loaded active active Remote File Systems (Pre) remote-fs.target loaded active active Remote File Systems rpcbind.target loaded active active RPC Port Mapper slices.target loaded active active Slices sockets.target loaded active active Sockets swap.target loaded active active Swap sysinit.target loaded active active System Initialization timers.target loaded active active Timers

LOAD = Reflects whether the unit definition was properly loaded ACTIVE = The high-level unit activation state, i.e

  • generalization of SUB

SUB = The low-level unit activation state, values depend on unit type

19 loaded units listed

  • Pass --all to see loaded but inactive units, too

To show all installed unit files use 'systemctl list-unit-files'

Alle Units anzeigen vom Type Service die inaktiv sind

  1. systemctl list-units --all --type=service --state=inactive --no-pager
UNIT LOAD ACTIVE SUB DESCRIPTION
acpi-fakekey.service loaded inactive dead ACPI fakekey daemon
alsa-restore.service loaded inactive dead Restore Sound Card State
alsa-state.service loaded inactive dead Manage Sound Card State (restore and store)
alsa-store.service loaded inactive dead Store Sound Card State

[...]

systemd-sysusers.service not-found inactive dead systemd-sysusers.service
systemd-tmpfiles-clean.service loaded inactive dead Cleanup of Temporary Directories
systemd-udev-hwdb-update.service not-found inactive dead systemd-udev-hwdb-update.service
systemd-update-utmp-runlevel.service loaded inactive dead Update UTMP about System Runlevel Changes
systemd-vconsole-setup.service not-found inactive dead systemd-vconsole-setup.service

LOAD = Reflects whether the unit definition was properly loaded ACTIVE = The high-level unit activation state, i.e

  • generalization of SUB

SUB = The low-level unit activation state, values depend on unit type

51 loaded units listed To show all installed unit files use 'systemctl list-unit-files'

Eine Unit-Datei anzeigen

  1. systemctl cat cron.service --no-pager
  2. /lib/systemd/system/cron.service

[Unit] Description=Regular background program processing daemon Documentation=man:cron(8)

[Service] EnvironmentFile=-/etc/default/cron ExecStart=/usr/sbin/cron -f $EXTRA_OPTS IgnoreSIGPIPE=false KillMode=process

[Install] WantedBy=multi-user.target

Die Eigenschaften (Properties) einer Unit anzeigen

Alle Eigenschaften auflisten

  1. systemctl show cron.service --no-pager

Type=simple Restart=no NotifyAccess=none RestartUSec=100ms TimeoutStartUSec=1min 30s TimeoutStopUSec=1min 30s WatchdogUSec=0 [...]

Spezielle Eigenschaften (Property) einer Unit anzeigen

In welchen Runlevel (Target) läuft der Cron-Service

  1. systemctl show cron.service --property=WantedBy --no-pager

WantedBy=multi-user.target

System anhalten

  1. systemctl halt

Suspendmode

  1. systemctl suspend

Ausschalten

  1. systemctl poweroff

Reboot

  1. systemctl reboot

Journalgröße limitieren

Um die Logmeldungen nicht ins unermessliche wachsen zu lassen kann die Größe des Verzeichnisses /var/log/journal beschränkt werden

  • Dazu muss man in der Konfigurationsdatei /etc/systemd/journald.conf den Wert SystemMaxUse zB
  • auf 512 MByte beschränken

SystemMaxUse=512M

Ab dem nächsten Reboot ist diese Beschränkung aktiv

Detailliertere Logmeldung

Um mehr Informationen vom systemd zu bekommen muss man den Debuglevel einschalten mit der Variable SYSTEMD_LOG_LEVEL

  • Dazu stoppt man den betreffenden Dienst (hier systemd-networkd) und editiert die entsprechende Servicedatei unter /lib/systemd und setzt die nachfolgende Zeile in dieser Datei

Dienst stoppen:

  1. systemctl stop systemd-networkd

Zeile in /lib/systemd/system/systemd-networkd.service ergänzen unter Abschnitt '[Service]

SYSTEMD_LOG_LEVEL=debug /lib/systemd/systemd-networkd

Danach den Dienst wieder starten und die Meldungen in einer zweiten Konsole verfolgen

  1. systemctl start systemd-networkd
  2. journal -f -u systemd-networkd

Verzeichnisse des systemd

/lib/systemd/system

/etc/systemd/system/

Bootvorgang chronologisch auflisten

Dies listet die Startzeiten der jeweiligen Dienste während des Bootvorgangs auf

  • Hiermit kann man Services aufspüren die ungewöhnliche lange zum Starten brauchen
  1. systemd-analyze blame
2.738s networking.service
2.439s lvm2-activation-early.service
1.078s uml-utilities.service
847ms systemd-fsck@dev-disk-by\x2dlabel-VIDEO.service
620ms systemd-fsck@dev-disk-by\x2dlabel-MUSIC.service
559ms systemd-udev-settle.service
519ms systemd-fsck@dev-disk-by\x2dlabel-VM\x2dNORMAL.service
514ms systemd-fsck@dev-disk-by\x2dlabel-USERDATA.service
483ms lvm2-activation.service
420ms systemd-fsck@dev-disk-by\x2dlabel-MISC.service
387ms mnt-import-dataexchange.mount
319ms vboxdrv.service
310ms mediatomb.service
308ms systemd-fsck@dev-disk-by\x2dlabel-PHOTO.service
305ms postfix.service
295ms mnt-import-archive.mount
172ms mnt-vm-normal.mount
150ms gpm.service
148ms binfmt-support.service
122ms systemd-logind.service
122ms loadcpufreq.service
106ms lm-sensors.service
102ms alsa-restore.service
102ms console-kit-log-system-start.service
101ms pppd-dns.service
97ms rsyslog.service
96ms rc-local.service
96ms systemd-user-sessions.service
96ms motion.service
95ms mnt-share-music.mount
95ms saned.service
95ms nfs-kernel-server.service
94ms ifplugd.service
93ms kexec.service
93ms ntp.service
93ms sysstat.service
90ms irqbalance.service
88ms acpi-support.service
86ms nfs-common.service
83ms keyboard-setup.service
72ms console-setup.service
71ms mnt-share-photo.mount
69ms mnt-import-vm.mount
64ms systemd-fsck-root.service
57ms mnt-share-userdata.mount
54ms systemd-update-utmp.service
53ms systemd-modules-load.service
51ms console-kit-daemon.service
47ms systemd-tmpfiles-setup-dev.service
46ms lvm2-monitor.service
40ms dirmngr.service
39ms udisks2.service
39ms mnt-import-rsnapshot.mount
38ms mnt-share-misc.mount
37ms rpcbind.service
35ms kbd.service
32ms systemd-tmpfiles-clean.service
28ms systemd-fsck@dev-disk-by\x2dlabel-HOME.service
27ms systemd-update-utmp-runlevel.service
26ms sys-kernel-debug.mount
25ms systemd-fsck@dev-disk-by\x2dlabel-VM\x2dFAST.service
25ms dev-mqueue.mount
24ms systemd-fsck@dev-disk-by\x2dlabel-VAR.service
24ms dev-hugepages.mount
24ms kdm.service
23ms polkitd.service
22ms systemd-udev-trigger.service
22ms systemd-tmpfiles-setup.service
18ms mnt-share-videostream.mount
18ms user@1000.service
18ms lvm2-pvscan@8:17.service
16ms lvm2-pvscan@8:1.service
15ms hdparm.service
13ms upower.service
10ms systemd-backlight@backlight:acpi_video0.service
9ms home.mount
9ms keymap.service
8ms dns-clean.service
8ms dev-disk-by\x2duuid-5d5979de\x2d85ac\x2d440a\x2db647\x2dcac2026b301e.swap
8ms hddtemp.service
7ms systemd-random-seed.service
7ms var.mount
7ms systemd-journal-flush.service
7ms mnt-vm-fast.mount
6ms kmod-static-nodes.service
5ms resolvconf.service
4ms systemd-sysctl.service
4ms systemd-remount-fs.service
3ms proc-sys-fs-binfmt_misc.mount
3ms cpufrequtils.service
3ms systemd-udevd.service
2ms vboxballoonctrl-service.service
2ms udev-finish.service
2ms vboxweb-service.service
2ms kexec-load.service
2ms vboxautostart-service.service
1ms sys-fs-fuse-connections.mount
1ms qemu-system-x86.service

Graphische Auswertung des Bootvorgangs

Erzeugt eine SVG-Graphik die z. B. mit gwenview betrachtet werden kann

  1. systemd-analyze plot > bootplot.svg