====== Quelques commandes utiles avec systemd ====== [[https://www.freedesktop.org/wiki/Software/systemd/|systemd]] est un système d'initialisation pour le noyau linux ((La plupart des distributions Linux l'ont adopté.)). Il faut être **root** ou utiliser la commande ''sudo'' pour effectuer les manipulations. ===== Comment changer de « runlevel » ===== Pendant longtemps on parlait de init 3 (console uniquement, le serveur X.org n'était pas démarré même si il était présent), et init 5 (mode graphique, souvent c'est celui que l'on trouvait après une installation). Désormais on parle plutôt de //target// (ou cible). Pour connaître sa cible par défaut systemctl get-default graphical.target Cela veut dire que par défaut, il s'agit d'une session graphique. Pour passer à une autre cible (celle en console par exemple) systemctl set-default multi-user.target Après avoir tapé cette commande, il faut redémarrer son ordinateur. Quand on utilise l'option **set-default** c'est **__permanent__**. Pour basculer temporairement de l'un à l'autre, il faut plutôt utiliser l'option **isolate** systemctl isolate multi-user.target ===== Activer / désactiver un démon (ou service) ===== Pour savoir si un service est actif : systemctl status nom.service Pour activer un service : systemctl start nom.service Si le démon est déjà actif, mais que l'on a modifié la configuration, pour le relancer il faut taper cette commande : systemctl restart nom.service Pour arrêter un service : systemctl stop nom.service ==== Activer / désactiver au boot ==== Les commandes ci-dessus activent (ou désactivent) un démon dans la session en cours, mais si on veut démarrer (ou stopper) ces services automatiquement au //boot//, on utilise une autre option. Pour rendre actif au démarrage un démon : systemctl enable nom.service À l'inverse pour ne plus le rendre actif : systemctl disable nom.service Parfois, un service ne peut pas être arrêté. Soit il dépend d'un autre démon, soit le résultat de la commande ''systemctl status'' renvoie **degraded**. Pour connaître la liste des services qui sont en échecs (**degraded**) : systemctl --failed On peut le « masquer » (il n'apparaitra pas dans la liste des démons actifs). systemctl mask nom.service ===== Réduire les logs ===== Si vous constatez que votre système prend de l'embonpoint, la consultation du répertoire ''/var/log/journal/'' est une première étape ((Votre gestionnaire de paquets peut également garder en « cache » les paquets pour des « //rollbacks// » en cas de problème.)). journalctl --disk-usage Avant de faire du nettoyage, on doit enregistrer tout ce qui est situé dans ''/run/log/journal/'', c'est à dire tout ce qui est en cours d'exécution. journalctl --flush Si on veut supprimer tout ce qui est plus âgé de plus de deux jours : journalctl --vacuum-time=2days On peut également spécifier une taille en particulier, option **--vacuum-size**. ===== Changer le nom de l'ordinateur ===== Pour changer le nom de l'ordinateur sans modifier les fichiers de configuration, on peut utiliser l'utilitaire ''hostnamectl''. Pour connaître le nom qui est déjà définie : hostnamectl status Pour modifier le nom de ce dernier : hostnamectl set-hostname ... ===== Ajuster le fuseau horaire ===== La commande ''timedatectl status'' permet de connaître la date, l'heure, le fuseau horaire, etc. Pour modifier le fuseau horaire (dans le cas d'un utilisateur français) : timedatectl set-timezone Europe/Paris ''timedatectl list-timezones'' liste les différents fuseaux horaires. ===== Changer l'heure ===== timedatectl set-time 15:38:52 L'option **set-time** modifie l'heure, il faut préciser HH:MM:SS (où HH → heure, MM → minute, et SS → seconde). ===== Changer la disposition du clavier ===== Pour connaître la disposition actuelle : localectl status === Sans interface graphique (console virtuelle) === Pour connaître la liste des dispositions des différents types de clavier : localectl list-keymaps Par exemple pour un clavier de type **AZERTY français**, on va utiliser cette disposition : localectl set-keymap fr-oss === Avec une interface graphique === Afin de pouvoir définir le type, le modèle et éventuellement donner une variante au modèle principal, il faut utiliser ces 3 options : * **list-x11-keymap-layouts** * **list-x11-keymap-models** * **list-x11-keymap-variants** Par exemple pour connaître des différentes dispositions : localectl list-x11-keymap-layouts La commande complète pour un clavier de type **AZERTY français** sera la suivante : localectl set-x11-keymap fr pc105 oss Cette dernière va créer un fichier ''00-keyboard.conf'' dans le répertoire ''/etc/X11./xorg.conf.d/''.