This is an old revision of the document!
Table of Contents
Reminder Systemd
Systemd remplace sur la plupart des distribution récentes l'init System V.
systemctl
Systemd remplace des commandes permettant de gérer les services (chkconfig
et service
) par systemctl
; par exemple pour démarrer/stopper le service “network” :
systemctl start network[.service]
reload/restart
pour recharger les fichiers de configuration ou l'ensemble du serviceenable/disable
pour activer ou désactiver un service au démarragestatus/is-active/is-failed
pour afficher l'état du servicehalt/poweroff/reboot/suspend/hibernate
systemctl list-units
: lister les services.systemctl get-default/set-default
: afficher/modifier le runlevel par défaut du système (NB : afficher le runlevel courant :who -r
)systemctl isolate <RUNLEVEL>
modifier le runlevel courant, avec <RUNLEVEL> parmi :
runlevel0.target = poweroff.target runlevel1.target = rescue.target runlevel2.target = runlevel4.target runlevel3.target = multi-user.target runlevel5.target = graphical.target runlevel6.target = reboot.target
systemctl cat networking
: afficher le fichier de configuration Systemd du service ; celui-ci est situé, sous Debian 9, dans/lib/systemd/system
systemctl show networking
: afficher l'état du lancement du servicesystemd-analyze
: mesurer le temps de démarragesystemd-analyze critical-chain
systemd-analyze plot > systemd.svg
: génère un graphique du démarrage
journalctl
journalctl
permet d'afficher les logs systemd, qui sont enregistrés en binaire à la différence du rsyslog traditionnel. Il peut s'utiliser avec les options suivantes :
-f
(–follow
): pour afficher le journal en temps réel (~=tail -f
)-e
(–pager-end
): pour afficher les derniers-u <service>
(–unit=<UNIT>
) : pour n'afficher que le journal de <service>-k
(–dmesg
): affiche le journal du kernel-n <NB>
(–lines=<NB>
): affiche les NB derniers messages
Documentation
resolved
systemd-resolved est le sous-service systemd gérant la résolution DNS. Le fichier historique /etc/resolved.conf contient l'unique résolveur local (“stub resolver”) 127.0.0.53 ; pour connaitre le résolveur externe vers lequel seront relayées les requêtes DNS de la machine il faut utiliser la commande resolvectl status
.
Pour modifier ce dernier il faut éditer le fichier /etc/systemd/resolved.conf
ou créer un fichier drop-ins :
- /etc/systemd/resolved.conf.d/DNSperso.conf
DNS=192.168.1.1#perso1 192.168.1.2#perso2 FallbackDNS=8.8.8.8#google
Puis relancer le démon et revérifier l'état :
systemctl restart systemd-resolved resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub DNS Servers: 192.168.1.1#perso1 Link 2 (enp1s0) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported DNS Servers: 192.168.1.1 DNS Domain: pteu.fr
Pour désactiver le stub-resolver DNS et libérer le port UDP/53 de la machine, ajouter cette ligne :
- /etc/systemd/resolved.conf.d/DNSperso.conf
DNSStubListener=no
et redémarrer le service sudo systemctl restart systemd-resolved
, ce qui restaurera le resolv.conf historique :
- /etc/resolv.conf
nameserver 192.168.1.1 nameserver 192.168.1.2 search pteu.fr