====== Linux ====== ===== Gestion des services ===== \\ ==== systemd ==== ^Référence |[[https://doc.ubuntu-fr.org/systemd]] | **systemd** utilise des fichiers de configuration correspondant aux différents services à manipuler. Il n'est (en général) plus nécessaire de créer des fichiers bash pour gérer le service, systemd s'occupe de tout (lancement, arrêt, redémarrage, status, gestion des logs, etc).\\ Ces fichiers de configuration se trouvent dans ''/etc/systemd/system/'' ou ''/lib/systemd/system/'' et permettent d'indiquer les conditions d'activation ou désactivation d'un service, leur propriétaire, etc. \\ \\ === Gestion basique d'un service === L'outil de gestion des services dans **systemd** s'appelle ''systemctl''. $ systemctl .service # ou $ systemctl //// sera la commande que l'on souhaite appliquer au service : ^start |démarrer le service | ^stop |arrêter le service | ^restart |relancer le service | ^reload |recharger le service | ^status |connaitre l'état du service | ^show |montre le contenu du fichier de configuration du service | //// est le nom du service visé. Quelle que soit l'action menée sur un service, au prochain démarrage de la machine celui-ci devrait retrouver le status qui lui a été défini par défaut. \\ \\ === Lister les services démarrés === * Liste triée de tous les services accompagnés de leur état : $ systemctl list-unit-files --type=service * Liste des services actifs avec leur description : $ systemctl list-units --type=service * Liste des services actifs, en cours d'exécution, avec leur description : $ systemctl list-units --type=service --state=running * Liste des services lancés au démarrage, triés selon leur temps d’exécution : $ systemd-analyze blame \\ === Modifier l'exécution d'un service === * Désactiver un service : $ sudo systemctl disable .service //Au prochain redémarrage du système, le service correspondant ne sera plus lancé.// * Activer un service ou relire son fichier de configuration : $ sudo systemctl enable .service //Au prochain redémarrage du système, le service correspondant sera lancé automatiquement.// \\ Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez modifier ou créer le fichier ''/etc/systemd/system/.service''. Les fichiers de configuration par défaut se trouvent dans ''/lib/systemd/system/''. \\ \\ === Logiciel graphique === Il existe un utilitaire graphique qui se nomme ''systemadm'' pour gérer systemd. ^Paquet à installer |systemd-ui | \\ === Journaux === systemd possède son propre mécanisme de journalisation, appelé "The Journal". \\ Ils sont enregistrés dans le répertoire ''/var/log/journal/''. * Consultation Pour accéder au journal, tapez dans un terminal : $ journalctl Pour une vision plus fine, vous pouvez consulter les messages d'un seul service par son nom, son PID ou même son exécutable : $ journalctl -u apache2 $ journalctl _PID=1 $ journalctl /usr/sbin/dhcpcd Lorsque vous consultez le status d'un service avec la commande ''systemctl status '', systemd vous affiche quelques lignes des logs les plus récents. \\ journalctl permet aussi de filtrer par le niveau de log (tel que défini par syslog). Pour n'afficher que les erreurs : $ journalctl -p err \\ ----