Systemd

De Linuxmemo.

Version du 25 avril 2024 à 11:23 par Linuxmemo (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

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