Systemd
De Linuxmemo.
Sommaire |
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
Start/stop
systemctl start nom_du_service.service systemctl stop nom_du_service.service systemctl restart nom_du_service.service
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
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
DNS
systemd-resolve --status
To set "dns-search":
systemd-resolve --set-domain=chez.moi --interface=eno1
vim /etc/systemd/resolved.conf
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
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
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
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
logind/loginctl
loginctl list-sessions loginctl seat-status seatX