Systemd
De Linuxmemo.
Sommaire |
[modifier] Statut
systemctl is-active nom_du_service.service systemctl status nom_du_service.service
- Liste des services:
systemctl list-unit-files --state=enabled systemctl list-unit-files --type service --state enabled,generated systemctl list-units --type=service systemctl list-units --type=service --state=running systemctl list-units --type=service --state=active
[modifier] Start/stop
systemctl start nom_du_service.service systemctl stop nom_du_service.service systemctl restart nom_du_service.service
[modifier] Configurer
systemctl enable nom_du_service.service systemctl disable nom_du_service.service
Unit dependencies and order:
vim /etc/systemd/system/multi-user.target.wants/unit-name.service AFTER= xxx xxx
[modifier] Client NTP
vim /etc/systemd/timesyncd.conf [Time] NTP=mon.server.ntp systemctl stop systemd-timesyncd systemctl start systemd-timesyncd systemctl status systemd-timesyncd
Fuseau horaire sur Ubuntu 22.04 LTS:
timedatectl ls -l /etc/localtime timedatectl list-timezones timedatectl set-timezone Europe/Paris timedatectl set-timezone Indian/Reunion timedatectl
[modifier] DNS
systemd-resolve --status
To set "dns-search":
systemd-resolve --set-domain=chez.moi --interface=eno1
vim /etc/systemd/resolved.conf
[modifier] NetworkManager
systemctl status NetworkManager
nmtui est l’outil graphique dans un terminal texte
nmcli est l’outil en ligne de commande.
nmcli device shownmcli device show nmcli connection show
[modifier] Gestion de l'unité
systemctl list-units --type=service systemctl list-units --type=service --state=running systemctl list-units --type=service --state=failed systemctl --failed
- Configuration
systemctl cat nordvpnd
- Dépendances
systemctl list-dependencies nordvpnd systemctl list-dependencies nordvpnd --all systemctl list-dependencies nordvpnd --reverse systemctl list-dependencies nordvpnd --before systemctl list-dependencies nordvpnd --after
- Propriétés
systemctl show nordvpnd systemctl show nordvpnd -p Conflicts
- Masquage (marquer une unité comme étant totalement impossible à démarrer, automatiquement ou manuellement, en la reliant à /dev/null)
systemctl mask nginx.service systemctl list-unit-files |grep masked systemctl unmask nginx.service
- Modification
systemctl edit nordvpnd
[modifier] les cibles ou "target" (niveaux d'exécution)
- Le niveau par defaut
systemctl get-default
- modification (exemple niveau graphique)
systemctl set-default graphical.target
- Lister les target dipo
systemctl list-unit-files --type=target systemctl list-units --type=target
- Isolation (exemple passage au mode console)
systemctl list-dependencies multi-user.target systemctl isolate multi-user.target
- Raccourcis pour les cibles spéciales
systemctl isolate rescue.target systemctl rescue systemctl halt systemctl poweroff systemctl reboot
[modifier] journald/journalctl
Par défaut configuré pour garder ses journaux en RAM uniquement.
journalctl -u nginx -n 5000
Affiche les 5000 lignes de logs de nginx dans un pager en commencant par les plus anciennes
journalctl --disk-usage
Affiche l'espace couramment utilisé par les fichiers journaux du système
journalctl --vaccum-size 1G
Nettoie les fichiers journaux pour ne garder qu'un gigaoctet d'utilisé
journalctl -eu nginx
Affiche sous forme de pager les 1000 dernières de logs du service nginx
journalctl -fu nginx
Affiche les toutes dernières lignes de log en continu
journalctl -k -p warning
Affiche seulement les messages d'alerte du kernel. L'option `p` ne fonctionne que si l'application les écrivant est compatible journald car les loglevels ne viennent pas de nul part
journalctl -p 2
Affiche les évenements critiques propres à toutes les applications gérant les loglevel
journalctl -u nginx --until yesterday
N'affiche pas les messages nginx d'aujourd'hui
journalctl -o json
Affiche le journal système global au format json, pratique pour découvrir toutes les champs (et leur contenu), et ainsi pouvoir scripter une analyse de logs efficace grâce à par exemple un script python
-f permet le flux de logs d’une application à la manière d’un tail -f
journalctl -u nordvpnd -f
[modifier] logind/loginctl
loginctl list-sessions loginctl seat-status seatX