====== Les daemons ou démons ou processus ou services ====== ===== Introduction : ===== systemd est fourni avec la commande "systemctl" qui permet de gérer les “unités” (units en anglais). Pour systemd, une unité est un terme générique qui désigne tout objet sur lequel il va pouvoir agir. Les unités peuvent être de différents types : service, montage, périphérique, etc. Les daemons sont de type “service”. Presque tous les fichiers des unités sont dans : /lib/systemd/system ===== Lister les unités : ===== systemctl list-units ===== Lister les daemons : ===== systemctl list-units --type=service ===== Commander vos processus : ===== ==== Démarrer et arrêter un service : ==== Démarrer et couper le service samba. sudo systemctl start smbd sudo systemctl stop smbd ==== Autres actions possibles : ==== * **restart** : pour stop puis start en une seule commande. * **reload** : pour mettre à jour la configuration sans couper le service (pour les services qui en sont capables). * **status** : pour connaître l’état de votre service. * **enable** : pour lancer le service au démarrage. * **disable** : pour ne pas lancer le service au démarrage. ===== Systemctl permet de lire et d’éditer les fichiers d’unité : ===== ==== Affichage avec cat : ==== systemctl cat smbd.service ==== Edition simple d'un fichier : ==== Cette commande ne va pas réellement modifier le fichier original mais plutôt créer un fichier de “surcharge” qui aura la priorité sur le fichier original. sudo systemctl edit smbd.service ==== Edition avancé d'un fichier : ==== Si vous savez ce que vous faites et voulez éditer directement le fichier de configuration, utilisez la commande : sudo systemctl edit --full smbd.service ==== Après édition relancer le service : ==== Si vous deviez éditer un fichier unité de systemd, vous devriez ensuite faire prendre en compte vos changements au système par la commande : sudo systemctl daemon-reload ===== Les targets, évolution des runlevels de systemV : ===== ==== Introduction : ==== Le terme anglais “target” signifie “cible”. Il permet d’amener le système à un certain état cohérent. À la différence des runlevels, vous voyez qu’il peut y avoir plusieurs target actives en même temps. ==== Commandes sur les target : ==== * Afficher la liste des unités de type “target” par la commande :sudo systemctl list-units --type target --all * Voir la liste des dépendances dont dépent votre target : sudo systemctl list-dependencies graphical.target * Voir la target par défaut par la commande :sudo systemctl get-default * Permet de passer en mode de secours (sans réseau, seulement root connecté) :sudo systemctl isolate rescue.target * Fixer graphical.target comme target par défaut par la commande :sudo systemctl set-default graphical.target ===== Journalctl les logs gérés par systemd: ===== * Affiche tous les logs gérés par systemd par ordre chronologiques :sudo journalctl * Afficher les logs que depuis le dernier démarrage du système : sudo journalctl -b * Afficher que les logs du kernel depuis le dernier démarrage (équivalent de la commande "dmesg") : sudo journalctl -b -k * Afficher uniquement les logs d’une unité en particulier : sudo journalctl -u smbd.service