| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| systemd [Le 10/08/2019, 19:13] – Il y avait deux fois "la" 90.66.97.39 | systemd [Le 15/07/2024, 13:57] (Version actuelle) – [Gestion] 91.161.152.215 |
|---|
| {{tag>système administration services}} | {{tag>système administration services log Focal}} |
| ---- | |
| |
| ====== systemd ====== | ====== systemd ====== |
| Il est généralement utilisé dans un [[:terminal]]: | Il est généralement utilisé dans un [[:terminal]]: |
| <code>systemctl ACTION <Nom_du_service>.service</code> | <code>systemctl ACTION <Nom_du_service>.service</code> |
| Où | Où |
| * ACTION sera la commande que l'on souhaite appliquer à la dite unité: | * ACTION sera la commande que l'on souhaite appliquer à la dite unité: |
| * // start // : démarrer le service | * // start // : démarrer le service |
| * // reload // : recharger le service | * // reload // : recharger le service |
| * // status // : connaitre l'état du service | * // status // : connaitre l'état du service |
| | * // show // : montre le contenu du fichier de configuration du service |
| * <Nom_du_service> est le nom du service visé. | * <Nom_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é [[#Modifier l'exécution d'un service|défini par défaut]]. | 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é [[#Modifier l'exécution d'un service|défini par défaut]]. |
| <note>Il n'est pas nécessaire d'utiliser sudo devant ces commandes. Systemctl vous demandera votre mot de passe root en cas de besoin (presque à chaque fois, donc)</note> | <note>Il n'est pas nécessaire d'utiliser sudo devant ces commandes. Systemctl vous demandera votre mot de passe root en cas de besoin (presque à chaque fois, donc)</note> |
| |
| ====Lister les services démarrés==== | ====Lister les services démarrés==== |
| |
| Pour obtenir la liste triée des services accompagnés de leur état, saisissez dans un [[:terminal]] : | Pour obtenir la liste triée de tous les services accompagnés de leur état, saisissez dans un [[:terminal]] : |
| <code>systemctl list-unit-files '*service' | sort </code> | <code>systemctl list-unit-files --type=service</code> |
| | |
| | Pour la liste des services actifs avec leur description : |
| | <code>systemctl list-units --type=service</code> |
| | |
| | Pour la liste des services actifs, encours d'exécution, avec leur description : |
| | <code>systemctl list-units --type=service --state=running</code> |
| | |
| | Il y a d'autres possibilités pour voir les services activés, désactivés, etc. qui sont décrites dans la page de manuel de systemctl. |
| |
| Vous pouvez également obtenir la liste des services lancés au démarrage, triés selon leur temps d’exécution : | Vous pouvez également obtenir la liste des services lancés au démarrage, triés selon leur temps d’exécution : |
| |
| Pour désactiver un service, il faut taper : | Pour désactiver un service, il faut taper : |
| <code>systemctl disable <Nom_du_service>.service</code> | <code>sudo systemctl disable <Nom_du_service>.service</code> |
| Ainsi, au prochain redémarrage du système, le service correspondant ne sera plus lancé.\\ | Ainsi, au prochain redémarrage du système, le service correspondant ne sera plus lancé.\\ |
| |
| Pour activer un service (c'est à dire le lancer à chaque démarrage de l'ordinateur) ou relire son fichier de configuration, il faut taper: | Pour activer un service (c'est à dire le lancer à chaque démarrage de l'ordinateur) ou relire son fichier de configuration, il faut taper: |
| <code>systemctl enable <Nom_du_service>.service</code> | <code>sudo systemctl enable <Nom_du_service>.service</code> |
| |
| Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez [[:tutoriel:comment_modifier_un_fichier|modifier ou créer le fichier]] **/etc/systemd/system/<nom_du_service>.service**. Les fichiers de configuration par défaut se trouvent dans **/lib/systemd/system/**\\ | Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez [[:tutoriel:comment_modifier_un_fichier|modifier ou créer le fichier]] **/etc/systemd/system/<nom_du_service>.service**. Les fichiers de configuration par défaut se trouvent dans **/lib/systemd/system/**\\ |
| ===Exemples=== | ===Exemples=== |
| Si vous souhaitez désactiver la [[:synchronisation]] des fichiers [[:syncthing]], dans un [[:terminal]] saisissez: | Si vous souhaitez désactiver la [[:synchronisation]] des fichiers [[:syncthing]], dans un [[:terminal]] saisissez: |
| <code>systemctl disable syncthing.service</code> | <code>sudo systemctl disable syncthing.service</code> |
| Pour réactiver le service, il faudra faire la manipulation inverse: | Pour réactiver le service, il faudra faire la manipulation inverse: |
| <code>systemctl enable syncthing.service</code> | <code>sudo systemctl enable syncthing.service</code> |
| |
| ====Logiciel graphique==== | ====Logiciel graphique==== |
| ===== Les journaux ===== | ===== Les journaux ===== |
| systemd possède son propre mécanisme de journalisation, appelé "The Journal". | 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 log, tapez dans un [[:terminal]] : | Pour accéder au log, tapez dans un [[:terminal]] : |
| <code>journalctl</code> | <code>journalctl</code> |
| |
| Pour une gestion plus fine, vous pouvez consulter les messages d'un seul service par son //nom//, son //PID// ou même son //exécutable// : | 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// : |
| <code>journalctl -u wicd | <code>journalctl -u wicd |
| journalctl _PID=1 | journalctl _PID=1 |
| Il existe un logiciel graphique nommé **Gnome-logs** pour lire les fichiers de log generés par systemd. | Il existe un logiciel graphique nommé **Gnome-logs** pour lire les fichiers de log generés par systemd. |
| [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>gnome-logs|gnome-logs]]** | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>gnome-logs|gnome-logs]]** |
| | ==== Gestion ==== |
| | |
| | Le **volume de ces fichiers de suivi peut devenir important** (jusqu'à 4 Go) sur votre disque sytème et s'enregistrer sur plusieurs mois. Vous pouvez ramener immédiatement ces fichiers à une taille moindre en éliminant les plus vieux événements par la commande : |
| | <code>sudo journalctl --vacuum-size=200M</code> |
| | Vous choisissez le paramètre « size » ; dans cet exemple, la taille totale des fichiers est ramenée à 200 Mo. |
| | |
| | Vous pouvez modifier les différents paramètres de gestion de ce journal par le fichier /etc/systemd/journald.conf (informations disponibles sur cette page [[https://www.freedesktop.org/software/systemd/man/journald.conf.html#SystemMaxUse=|journal systemd]] avec les paramètres par défaut). Pour passer outre les paramètres par défaut, vous devez modifier ce fichier avec les [[sudo|Droits de super utilisateur]]. Voici quelques [[:nettoyer_ubuntu#reduire_la_taille_des_fichiers_journaux| exemples.]] |
| | |
| | ==== Monter un disque avec systemd.automount ==== |
| | Voir la page : [[Mounter un disque avec systemd.automount]] |
| | |
| | ===== Problèmes courants ===== |
| | |
| | On peut procéder un examen général du système et lister les "unités" posant problème à l'aide de la commande suivante : |
| | systemctl list-units --failed |
| | |
| ===== Ressources ====== | ===== Ressources ====== |
| | * [[creer_un_service_avec_systemd|Créer un nouveau service avec systemd]] |
| * [[wpfr>systemd|systemd]] sur Wikipedia en français | * [[wpfr>systemd|systemd]] sur Wikipedia en français |
| * [[http://casteyde.christian.free.fr/system/linux/guide/index.html|YAGIL]] Yet Another « Guide d'installation de Linux » de Christian Casteyde. Pour tout savoir sur le fonctionnement de [[:GNU]] / [[:Linux]]. | * [[http://casteyde.christian.free.fr/system/linux/guide/index.html|YAGIL]] Yet Another « Guide d'installation de Linux » de Christian Casteyde. Pour tout savoir sur le fonctionnement de [[:GNU]] / [[:Linux]]. |
| * [[https://wiki.archlinux.fr/Systemd|Archlinux et systemd]] Systemd sur le wiki de Archlinux | * [[https://wiki.archlinux.org/title/Systemd_(Fran%C3%A7ais)|Archlinux et systemd]] Systemd sur le wiki de Archlinux |
| * [[http://doc.fedora-fr.org/wiki/Systemd|Fedora et systemd]] notamment pour la partie [[#Personnaliser un fichier de configuration systemd]] | * [[https://doc.fedora-fr.org/wiki/Systemd|Fedora et systemd]] notamment pour la partie [[#Personnaliser un fichier de configuration systemd]] |
| * [[https://docs.syncthing.net/users/autostart.html#using-systemd|Documentation de Syncthing]] Créer un service systemd pour lancer Syncthing au démarrage (en anglais) | * [[https://docs.syncthing.net/users/autostart.html#using-systemd|Documentation de Syncthing]] Créer un service systemd pour lancer Syncthing au démarrage (en anglais) |
| * [[http://dev.deluge-torrent.org/wiki/UserGuide/Service/systemd|Documentation de Deluge]] Créer un service systemd pour lancer Deluge au démarrage (en anglais) | * [[https://dev.deluge-torrent.org/wiki/UserGuide/Service/systemd|Documentation de Deluge]] Créer un service systemd pour lancer Deluge au démarrage (en anglais) |
| |
| |
| ---- | ---- |
| //Contributeurs: [[:utilisateurs:zarmu]]// | //Contributeurs: [[:utilisateurs:zarmu]]// |