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
Outils personnels