Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
systemd [Le 07/01/2018, 11:59] 87.231.176.89 [Modifier l'exécution d'un service] |
systemd [Le 15/07/2024, 13:57] (Version actuelle) 91.161.152.215 [Gestion] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>système administration services}} | + | {{tag>système administration services log Focal}} |
- | ---- | + | |
====== systemd ====== | ====== systemd ====== | ||
Ligne 6: | Ligne 5: | ||
C'est une pièce maîtresse de l'architecture [[:GNU]]/[[:Linux]]. En effet, c'est le premier programme lancé par le noyau (il a donc le PID N°1) et il se charge de lancer tous les programmes suivants en ordre jusqu'à obtenir un système opérationnel pour l'utilisateur, selon le mode déterminé (single user, multi-user, graphique). C'est également à lui qu'incombe la tache de redémarrer ou arrêter votre ordinateur proprement. | C'est une pièce maîtresse de l'architecture [[:GNU]]/[[:Linux]]. En effet, c'est le premier programme lancé par le noyau (il a donc le PID N°1) et il se charge de lancer tous les programmes suivants en ordre jusqu'à obtenir un système opérationnel pour l'utilisateur, selon le mode déterminé (single user, multi-user, graphique). C'est également à lui qu'incombe la tache de redémarrer ou arrêter votre ordinateur proprement. | ||
- | <note warning>À la la lecture de l’introduction, il apparaît très clairement que toute modification malencontreuse de l'architecture des services lancés par systemd peut avoir des conséquences dramatiques sur le fonctionnement de votre ordinateur. \\ Il faut être très prudent lorsque l'on touche à la configuration de systemd. \\ __Une mauvaise manipulation peut rendre votre système instable__, jusqu'à le rendre totalement inutilisable.</note> | + | <note warning>À la lecture de l’introduction, il apparaît très clairement que toute modification malencontreuse de l'architecture des services lancés par systemd peut avoir des conséquences dramatiques sur le fonctionnement de votre ordinateur. \\ Il faut être très prudent lorsque l'on touche à la configuration de systemd. \\ __Une mauvaise manipulation peut rendre votre système instable__, jusqu'à le rendre totalement inutilisable.</note> |
<note warning>D'anciennes versions de Ubuntu proposent dans les dépôts le paquet systemd et il est donc possible de l'installer en remplacement de Upstart. Néanmoins, cette manipulation est complexe et extrêmement risquée. Pour cette raison, cette procédure ne sera pas décrite ici.</note> | <note warning>D'anciennes versions de Ubuntu proposent dans les dépôts le paquet systemd et il est donc possible de l'installer en remplacement de Upstart. Néanmoins, cette manipulation est complexe et extrêmement risquée. Pour cette raison, cette procédure ne sera pas décrite ici.</note> | ||
Ligne 20: | Ligne 19: | ||
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 | ||
Ligne 27: | Ligne 26: | ||
* // 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> | ||
Ligne 45: | Ligne 45: | ||
====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 | grep 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 : | ||
Ligne 55: | Ligne 63: | ||
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 sont 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/**\\ | ||
Ligne 65: | Ligne 73: | ||
===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==== | ||
Ligne 126: | Ligne 134: | ||
===== 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 | ||
Ligne 136: | Ligne 147: | ||
</code> | </code> | ||
- | <note tip>Lorsque vous consultez le ''status'' d'un service avec la commande ''systemctl status <nom_du_service>'', systemd vous affiches quelques lignes des logs les plus recents</note> | + | <note tip>Lorsque vous consultez le ''status'' d'un service avec la commande ''systemctl status <nom_du_service>'', systemd vous affiche quelques lignes des logs les plus recents</note> |
journalctl permet aussi de filtrer par le niveau de log (tel que défini par syslog). Pour n'afficher que les erreurs : | journalctl permet aussi de filtrer par le niveau de log (tel que défini par syslog). Pour n'afficher que les erreurs : | ||
Ligne 144: | Ligne 155: | ||
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]]// |