Systemd gestisce molte attività di base del sistema, sostituendo anche parti che precedentemente erano gestite autonomamente (come il sistema cron).
Gli oggetti gestiti si chiamano "unità" (unit).
sudo systemctl list-units
sudo systemctl list-units --all
sudo systemctl list-unit-files
sudo systemctl start syslog
sudo systemctl stop syslog
sudo systemctl status syslog.service
sudo systemctl restart syslog.service
sudo systemctl reload syslog.service
journalctl
journalctl -b # dall'ultimo bootstrap
journalctl -k # del kernel
sudo journalctl -f -u apache2 # log tail per il server web
systemctl cat syslog
# configurazione
systemctl list-dependencies syslog
# dipendenze
sudo systemctl edit --full syslog.service
I target rappresentano punti di sincronizzazione che servono a definire quali servizi attivare per portare il server ad un determinato stato.
systemctl list-unit-files --type=target
systemctl get-default
sudo systemctl poweroff
sudo systemctl poweroff
Provare a creare un proprio servizio "oneshot" predisponendo un file /etc/systemd/system/oneshot.service
con il seguente contenuto:
[Unit]
Description=Our test oneshot service
[Service]
Type=oneshot
ExecStartPre=/bin/echo "Starting"
ExecStart=/bin/echo "Hello World"
ExecStopPost=/bin/echo "Stopping"
Avviare il servizio con
sudo systemctl start oneshot
Dare un'occhiata al log con
journalctl -u oneshot
systemctl status oneshot
(continuare con le indicazioni di Vidar Hokstad...)