Next revision | Previous revision |
informatique:linux:systemd [2018/02/06 15:05] – créée pteu | informatique:linux:systemd [2025/02/13 13:59] (current) – [journalctl] -x pteu |
---|
[[https://fr.wikipedia.org/wiki/Systemd|Systemd]] remplace sur la plupart des distribution récentes l'init System V. | [[https://fr.wikipedia.org/wiki/Systemd|Systemd]] remplace sur la plupart des distribution récentes l'init System V. |
| |
* il remplace des commandes permettant de gérer les services (''chkconfig'' et ''service'') par ''systemctl'' ; par exemple pour démarrer/stopper le service "network" : | |
| =====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" : |
<code bash> | <code bash> |
systemctl start network[.service] | systemctl start network[.service] |
* ''systemd-analyze critical-chain'' | * ''systemd-analyze critical-chain'' |
* ''systemd-analyze plot > systemd.svg'' : génère un graphique du démarrage | * ''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 |
| * ''-x'' (''--catalog''): affiche les explications supplémentaires du catalogue de messages |
| ====Documentation==== |
| |
| * [[https://stackoverflow.com/questions/23082512/how-should-i-handle-remote-logging-with-systemd|How should I handle remote logging with systemd?]] |
| * [[https://stackoverflow.com/questions/70382088/exporting-logs-using-journald-rsyslogd|Exporting logs using journald / rsyslogd]] |
| =====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// : |
| <file bash /etc/systemd/resolved.conf.d/DNSperso.conf> |
| DNS=192.168.1.1#perso1 192.168.1.2#perso2 |
| FallbackDNS=8.8.8.8#google |
| </file> |
| |
| Puis relancer le démon et revérifier l'état : |
| <code bash> |
| 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 |
| </code> |
| |
| Pour désactiver le //stub-resolver DNS// et libérer le port UDP/53 de la machine, ajouter cette ligne : |
| <file bash /etc/systemd/resolved.conf.d/DNSperso.conf> |
| DNSStubListener=no |
| </file> |
| et redémarrer le service ''sudo systemctl restart systemd-resolved'', ce qui restaurera le resolv.conf historique : |
| <file bash /etc/resolv.conf> |
| nameserver 192.168.1.1 |
| nameserver 192.168.1.2 |
| search pteu.fr |
| </file> |