Dies ist eine alte Version des Dokuments!


Systemd

Ein Service bearbeiten und personalisieren.

systemctl edit --full rc-local

Man könnte auch Dienste direkt in /etc/systemd/system/blabla-custom.service kopieren. Von dem wird abgeraten. Vor allem da viele Services erst von anderen Systemddiensten nur temporär angelegt werden. Das Kommando oben extrahiert die richtigen Files automatisch.

[Unit] 
Description=Puppet agent 
Requires=network.target 
[Service] 
Type=forking 
EnvironmentFile=-/etc/default/puppet 
PIDFile=/run/puppet/agent.pid 
ExecStartPre=/bin/sleep 15
ExecStart=/usr/bin/puppet agent $DAEMON_OPTS 
[Install] 
WantedBy=multi-user.target

Sehr nützlich wenn durch z.B. nicht mehr erreichen von Services wie NB's - WLAN Dienste ihr maximales Timeout erreichen würden.

[Unit]
Description=Make remote CUPS printers available locally
After=cups.service avahi-daemon.service
Wants=cups.service avahi-daemon.service

[Service]
TimeoutStopSec=2
ExecStart=/usr/sbin/cups-browsed

[Install]
WantedBy=multi-user.target

Hierzu legt man sich folgendes File an:

nano /etc/systemd/system/getty@tty1.service.d/override.conf

Mit folgenden Inhalt

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin xbmc --noclear %I 38400 linux

Hier wird z.B. der xbmc Benutzer automatisch eingeloggt. Danach werden natürlich .zshrc .bashrc und auch die .xinitrc beachtet.

Mit Systemd ist es sehr bequem möglich Dinge zu organisieren ohne das man direkt am Host ist. z.b.

systemctl -H root@myhost.supertux.bla status apache2
systemctl enable nfs-client.target
systemctl enable rpc-statd.service
systemctl enable rpcbind.service

Die FSTAB ist mehr oder weniger überholt. Benötigt wird sie vom System wohl nur mehr für den Root Mount. Generell wird bereits bei jedem manuellen FSTAB-Eintrag bereits ein Systemd-Unit-File generiert dass auf die FSTAB verweist. Daher ist es auch empfohlen statt der FSTAB nur mehr Systemd zu verwenden was sehr viele Vorteile mit sich bringt. Z.B. hat man damit die Möglichkeit auch Abhängigkeiten von anderen Programmen und States anzugeben. Ein praktischen nerviges Beispiel wäre wenn ein Netzwerkmount nicht immer automatisch in der FSTAB gemountet wird, weil das Netzwerk vielleicht nicht immer gleich schnell verfügbar ist. Und obwohl man in der FSTAB die Option gesetzt hat dass, das Netzwerk verfügbar sein muss, funktioniert es trotzdem noch immer nicht. Systemd schafft da Abhilfe. Auch Proxmox verwendet den Systemd-Mounter als Default.

Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle:

systemd-analyze plot > bootchart.svg
systemd-analyze blame

Links