Benutzer-Werkzeuge

Webseiten-Werkzeuge


systemd-kommandos

Welche Dienste laufen

# systemctl


Meldungen von bestimmten Bootvorgang anzeigen

Alle Meldungen vom aktuellen Bootvorgang anzeigen

# journalctl -b 0

Alle Meldungen vom letzten Bootvorgang anzeigen

# journalctl -b -1

Alle Meldungen vom vorletzten Bootvorgang anzeigen

# journalctl -b -2


Alle Bootvorgänge im Journal auflisten

# journalctl --list-boots
 -30 6477cc4f6bf647079859a579c5af1186 So 2015-09-27 16:50:16 CEST—So 2015-09-27 17:12:49 CEST
 -29 518dc782dfe142bc8d133fe963cda5d9 Mo 2015-09-28 17:09:27 CEST—Mo 2015-09-28 17:20:36 CEST
 -28 b1fdebebf428425db537ced67dc99e01 Mo 2015-09-28 17:21:00 CEST—Mo 2015-09-28 21:50:42 CEST
 -27 40af3ecb278c46858e5fe232d627b5ba Di 2015-09-29 17:04:29 CEST—Di 2015-09-29 22:01:11 CEST
 -26 e57872a9c89d4b9f9620f145eb521dca Mi 2015-09-30 17:56:09 CEST—Mi 2015-09-30 21:38:08 CEST
 -25 34cba02a84a240c9b25168684c6d26ee Do 2015-10-01 19:20:56 CEST—Do 2015-10-01 21:55:38 CEST
 -24 e3bf02a739dd461797f23be4a6b4083a Fr 2015-10-02 07:31:15 CEST—Fr 2015-10-02 21:42:26 CEST
 -23 3b756bc354504a9eb9f6c3d26e257fb2 Sa 2015-10-03 17:01:01 CEST—Sa 2015-10-03 21:37:40 CEST
 -22 e098b95fb169499b9d7fdbcb59165ba6 Sa 2015-10-03 21:57:38 CEST—Sa 2015-10-03 22:21:47 CEST
 -21 5b372d823a08470d9e68e575ac3656c1 So 2015-10-04 11:34:22 CEST—So 2015-10-04 11:38:18 CEST
 -20 667ef39f636440738eef9e73ab26feb0 So 2015-10-04 11:38:41 CEST—So 2015-10-04 21:34:15 CEST
 -19 3cf92b8979af4e019970ef9835c9e908 Mo 2015-10-05 18:21:50 CEST—Mo 2015-10-05 22:16:52 CEST
 -18 ec3ba6e97239441c9ef3efbdb59140c3 Mi 2015-10-07 18:06:42 CEST—Mi 2015-10-07 21:25:40 CEST
 -17 042a308f35d045839f7d62ea400393cc Do 2015-10-08 17:21:01 CEST—Do 2015-10-08 21:28:45 CEST
 -16 e56011333b294326a9edd9c85a0c5359 Fr 2015-10-09 07:40:19 CEST—Fr 2015-10-09 16:04:51 CEST
 -15 9ad646b8d70947f192c9ed124945ba87 Sa 2015-10-10 09:35:17 CEST—Sa 2015-10-10 21:21:28 CEST
 -14 4c6a1a3ee4ba4f84b76e565c546ffd68 So 2015-10-11 10:00:02 CEST—So 2015-10-11 21:36:57 CEST
 -13 a9be38af505d453aaee412bafbbb773e Mo 2015-10-12 17:01:55 CEST—Mo 2015-10-12 21:57:40 CEST
 -12 65c48e2a3b794d71a3f537583e4b4643 Di 2015-10-13 17:02:35 CEST—Di 2015-10-13 17:47:56 CEST
 -11 a6150785d49b4c91ab88e09beb20c9a4 Di 2015-10-13 17:48:18 CEST—Di 2015-10-13 21:56:00 CEST
 -10 5157f26c9f6f4ebea01923326833f11d Mi 2015-10-14 16:56:27 CEST—Mi 2015-10-14 17:02:04 CEST
  -9 3e59c388c97e479680c1a4c6795a7688 Mi 2015-10-14 17:02:28 CEST—Mi 2015-10-14 23:04:20 CEST
  -8 7f67fbd637e1413bbeb7c4681b080933 Do 2015-10-15 17:42:53 CEST—Do 2015-10-15 22:01:12 CEST
  -7 0373a9e005b94f618b9375a4f05499cf Fr 2015-10-16 07:16:44 CEST—Fr 2015-10-16 21:27:15 CEST
  -6 18ee0947275548b0a3c4e06cba10da6a Sa 2015-10-17 16:22:02 CEST—Sa 2015-10-17 21:25:29 CEST
  -5 ab2e21d604fd4720800d1a2462725dad So 2015-10-18 09:04:58 CEST—So 2015-10-18 18:18:10 CEST
  -4 5073e06a424d4a1d8b418e7951139671 So 2015-10-18 18:18:29 CEST—So 2015-10-18 21:30:43 CEST
  -3 ce6842c28b9544228ae8cd9fed9446fb Mo 2015-10-19 10:26:09 CEST—Mo 2015-10-19 21:39:16 CEST
  -2 e82125cb91d94c809285b8a70910b9a0 Di 2015-10-20 15:25:01 CEST—Di 2015-10-20 21:23:08 CEST
  -1 32cdeb8a3b294cc49d9d2a754e651f1d Mi 2015-10-21 07:38:42 CEST—Mi 2015-10-21 08:59:03 CEST
   0 e8f83bcc35514760b43cc5fc0444cadf Mi 2015-10-21 08:59:27 CEST—Mi 2015-10-21 09:56:43 CEST

Bestimmten Bootvorgang mit einer bekannten ID anzeigen

# journalctl --boot=667ef39f636440738eef9e73ab26feb0


Welche Dienste haben einen Fehler gemeldet

# systemctl --failed


Aktualisierende Anzeige des Journals

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

# journalctl -f


Journal Ausgabe filtern

Alle Meldungen von gestern und heute des cron Service anzeigen

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

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

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

Alle Meldungen der letzten fünf Minuten anzeigen

# journalctl --since "5 min ago"

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).

# journalctl -p 2 --since=today


Status eines Dateisystems abfragen

Auch Dateisysteme bzw. Devices können abgefragt werden.

# systemctl status /boot
 ● boot.mount - /boot
   Loaded: loaded (/etc/fstab)
   Active: active (mounted) since Mi 2015-10-21 10:31:50 CEST; 4h 12min ago
    Where: /boot
     What: /dev/sda1
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 618 ExecMount=/bin/mount /dev/disk/by-label/BOOT /boot -t ext4 -o defaults,relatime,errors=remount-ro (code=exited, status=0/SUCCESS)
 
 Okt 21 10:31:49 darthvader systemd[1]: Mounting /boot...
 Okt 21 10:31:50 darthvader systemd[1]: Mounted /boot.
# systemctl status /dev/sda1
 ● dev-sda1.device - INTEL_SSDSC2BW240A3L BOOT
   Follow: unit currently follows state of sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device
   Loaded: loaded
   Active: active (plugged) since Mi 2015-10-21 10:31:49 CEST; 4h 13min ago
   Device: /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1


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.

# mount ./LVvar-20140514_1155.dd /media/loop
# cd /media/loop/log/journal/9dd891f2123ca26f8f3558d752e6cf59
# 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

# journalctl -D /media/loop/log/journal/9dd891f2123ca26f8f3558d752e6cf59


Welche Programme vom Type 'service' laufen

Typen sind zB. mount, service, mount, device, socket, target

# systemctl --type=service


Service stoppen, starten, restarten oder den Status ermitteln

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


Service dauerhaft aktivieren

# systemctl enable nfs-server.service


Service dauerhaft deaktivieren

# systemctl disable nfs-server.service


Service stoppen, deaktivieren und entfernen/löschen

# systemctl stop [name.service]
# systemctl disable [name.service]

Auch Links,  wenn vorhanden entfernen (Vorsicht)
# rm /etc/systemd/system/[name.service]

Auch Links, wenn vorhanden entfernen (Vorsicht)
rm /usr/lib/systemd/system/[name.service]

# systemctl daemon-reload
# systemctl reset-failed


Ist ein Service aktiviert schon ab dem Systemstart

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


Wechsel in den Multi-User-Target (ehemals Runlevel 3)

# systemctl isolate multi-user.target
# systemctl isolate runlevel3.target


Wechsel in den Graphical-Target (ehemals Runlevel 5)

# systemctl isolate graphical.target
# systemctl isolate runlevel5.target


Anzeige des Default-Target

# systemctl get-default


Zuordnung der ehemaligen Runlevel zu den aktuellen Targets

Mit dem Listing sieht man sehr übersichlich welches ehemalige Runlevel zu welchen Target geworden ist.

$ ls -al /lib/systemd/system/runlevel*
 lrwxrwxrwx 1 root root   15 Feb  1 15:31 /lib/systemd/system/runlevel0.target -> poweroff.target
 lrwxrwxrwx 1 root root   13 Feb  1 15:31 /lib/systemd/system/runlevel1.target -> rescue.target
 lrwxrwxrwx 1 root root   17 Feb  1 15:31 /lib/systemd/system/runlevel2.target -> multi-user.target
 lrwxrwxrwx 1 root root   17 Feb  1 15:31 /lib/systemd/system/runlevel3.target -> multi-user.target
 lrwxrwxrwx 1 root root   17 Feb  1 15:31 /lib/systemd/system/runlevel4.target -> multi-user.target
 lrwxrwxrwx 1 root root   16 Feb  1 15:31 /lib/systemd/system/runlevel5.target -> graphical.target
 lrwxrwxrwx 1 root root   13 Feb  1 15:31 /lib/systemd/system/runlevel6.target -> reboot.target


Default-Target ändern

Ändern des Default-Target, also in welches Taget (ehemals Runlevel) beim Systemstart gebootet werden soll. Hier im Beispiel wird vom Graphical-Target (ehemals Runlevel 5) auf das Multi-User-Target (ehemals Runlevel 3) gewechselt.

Anzeige Default Target:

# systemctl get-default
graphical.target

Setzen des neuen Default-Target:

# systemctl set-default multi-user.target 

Anzeige Default Target:

# systemctl get-default
multi-user.target


Welche Targets sind gerade aktiv

# 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
 multi-user.target      loaded active active Multi-User System
 network-online.target  loaded active active Network is Online
 network.target         loaded active active Network
 nfs-client.target      loaded active active NFS client services
 nss-lookup.target      loaded active active Host and Network Name Lookups
 nss-user-lookup.target loaded active active User and Group Name Lookups
 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
 sound.target           loaded active active Sound Card
 swap.target            loaded active active Swap
 sysinit.target         loaded active active System Initialization
 time-sync.target       loaded active active System Time Synchronized
 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.
 
 23 loaded units listed. Pass --all to see loaded but inactive units, too.
 To show all installed unit files use 'systemctl list-unit-files'.


Welche Targets (ehemals Runlevel) gibt es

 
# systemctl list-units --type=target --all
  UNIT                        LOAD      ACTIVE   SUB    DESCRIPTION
  basic.target                loaded    active   active Basic System
  cryptsetup.target           loaded    active   active Encrypted Volumes
  emergency.target            loaded    inactive dead   Emergency Mode
  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 not-found inactive dead   mail-transport-agent.target
  multi-user.target           loaded    active   active Multi-User System
  network-online.target       loaded    active   active Network is Online
  network-pre.target          loaded    inactive dead   Network (Pre)
  network.target              loaded    active   active Network
  nfs-client.target           loaded    active   active NFS client services
  nss-lookup.target           loaded    active   active Host and Network Name Lookups
  nss-user-lookup.target      loaded    active   active User and Group Name Lookups
  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
  rescue.target               loaded    inactive dead   Rescue Mode
  rpcbind.target              loaded    active   active RPC Port Mapper
  shutdown.target             loaded    inactive dead   Shutdown
  slices.target               loaded    active   active Slices
  sockets.target              loaded    active   active Sockets
  sound.target                loaded    active   active Sound Card
  swap.target                 loaded    active   active Swap
  sysinit.target              loaded    active   active System Initialization
  syslog.target               not-found inactive dead   syslog.target
  time-sync.target            loaded    active   active System Time Synchronized
  timers.target               loaded    active   active Timers
  umount.target               loaded    inactive dead   Unmount All Filesystems
 
 LOAD   = Reflects whether the unit definition was properly loaded.


Alle Units anzeigen vom Type Service die inaktiv sind

# 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

Die Service-Datei des cron anzeigen

# systemctl cat cron.service --no-pager
# /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

Das Unit-File vom Typ target anzeigen.

# systemctl cat multi-user.target
# /lib/systemd/system/multi-user.target
#  This file is part of systemd.
  
 [Unit]
 Description=Multi-User System
 Documentation=man:systemd.special(7)
 Requires=basic.target
 Conflicts=rescue.service rescue.target
 After=basic.target rescue.service rescue.target
 AllowIsolate=yes


Die Eigenschaften (Properties) einer Unit anzeigen

Alle Eigenschaften auflisten.

# 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.

# systemctl show cron.service --property=WantedBy --no-pager
WantedBy=multi-user.target


System anhalten

# systemctl halt

Suspendmode

# systemctl suspend


Ausschalten

# systemctl poweroff


Reboot

# systemctl reboot


Journal persistent machen

Standardmäßig speichert das Journal Protokolldaten in /run/log/journal/. Da /run/flüchtig ist, gehen die Protokolldaten beim Neustart verloren. Um die Daten persistent zu machen, genügt es, /var/log/journal/ zu erzeugen, wobei systemd-journald dann die Daten speichert.

# mkdir -p /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal

Evtl. ist in /etc/systemd/journald.conf unter [Journal] die Option 'Storage=persistent' noch zu aktivieren. Die Option ForwardToSyslog=yes sollte dann natürlich deaktiviert werden.


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.


Journal händisch verkleinern

Alle alten Einträge, bis das Journal die gewünschte Größe erreicht, werden gelöscht (hier 200 MByte).

# journalctl --vacuum-size=200M

Dieser Befehl verwirft alle Meldungen die älter als 3 Monate sind, ungeachtet der momentanen Größe der Protokolldatei.

# journalctl --vacuum-time=3month


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:

# 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.

# systemctl start systemd-networkd
# journal -f -u systemd-networkd


Logmeldungen im Journal erzeugen

Das logger Kommando ist im systemd gleich mit integriert, dazu nutzt man systemd-cat. Das ist mitunter in Shellscripten recht nützlich.

# echo 'informative Meldung' | systemd-cat -t someapp -p info
 Apr 06 13:27:55 snowcat someapp[31560]: informative Meldung

 # echo 'eine Warnmeldung' | systemd-cat -t someapp -p warning
 Apr 06 13:28:26 snowcat someapp[31686]: eine Warnmeldung

 # echo 'einen kritischen Fehler' | systemd-cat -t someapp -p emerg
 Broadcast message from systemd-journald@snowcat (Wed 2016-04-06 13:28:49 CEST):
 someapp[31786]: ein kritischen Fehler
 Apr 06 13:28:49 snowcat someapp[31786]: einen kritischen Fehler


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.

# 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 oder im Browser betrachtet werden kann.

# systemd-analyze plot > bootplot.svg

Alternativ würde der folgende Befehl ein ähnliche Grafik erstellen (kann durchaus eine Minute dauern).

# systemd-analyze dot | dot -Tsvg > systemd.svg

Da die Grafik system.svg von den Ausmaßen sehr groß werden kann, sollte man sich auf den benötigten Teilbereich beschränken. Hier im Beispiel wird der Service cups dargestellt.

# systemd-analyze dot 'cups*' | dot -Tsvg > cups.svg


Sollte man eine PNG- oder JPG-Grafik bevorzugen kann man die SVG-Datei dementsprechend konvertieren.

$ systemd-analyze dot 'cups*' | dot -Tsvg | convert - cups.png


Weitere Informationen

systemd-kommandos.txt · Zuletzt geändert: 2021/03/16 19:24 von dwadmin