« LINUX:Fichier contenant le numéro de processus » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 22 : Ligne 22 :


Chaque fichier comprend une ou plusieurs lignes, chacune dédiée à une tâche. Chaque ligne est constituée de sept colonnes:
Chaque fichier comprend une ou plusieurs lignes, chacune dédiée à une tâche. Chaque ligne est constituée de sept colonnes:
* Type de fichier (f pour fichier, d pour répertoire, L pour lien symbolique,...)
* Type de fichier ("f" pour fichier, "d" pour répertoire, "L" pour lien symbolique,...)
* Chemin (ou Path)
* Chemin (ou Path)
* Privilèges (ou Mode) comme on l'utilise avec la commande "chmod" en mode numérique
* Privilèges (ou Mode) comme on l'utilise avec la commande "chmod" en mode numérique
Ligne 28 : Ligne 28 :
* Groupe propriétaire
* Groupe propriétaire
* Age de la dernière modification dans un but de nettoyage
* Age de la dernière modification dans un but de nettoyage
* Argument: nécessaire par exemple pour la création de liens symboliques
* Argument (optionnel): nécessaire par exemple pour la création de liens symboliques


Une absence de valeur est signalée par un tiret ("-").
Une absence de valeur est signalée par un tiret ("-"). Voyez les Mans Pages pour plus de détails.


=Exemple=
J'ai été confronté à ce problème sous Ubuntu. J'utilisais une application WEB "NagioSQL" qui permet de configurer le logiciel de surveillance réseau "Nagios". Il avait besoin du fichier "/run/nagios/nagios.pid" défini dans la configuration de Nagios via l'option "lock_file". Mais problème, le répertoire "/run/nagios" n'existe pas.
J'ai donc créé le fichier "/usr/lib/tmpfiles.d/nagios.conf" dont voici le contenu:
----
D /run/nagios 0755 nagios nagios -
----
On crée le répertoire "/run/nagios" appartenant à l'utilisateur/groupe "nagios/nagios" qui exécute le service Nagios avec les privilèges "0755".





Version du 1 août 2022 à 13:21


retour au menu de Systemd


But

A chaque programme lancé est attribué un numéro unique (PID). S'il est lancé deux fois, il en aura deux différents. Il est courant de retrouver ce numéro dans un fichier pour les services.


Emplacement

Usuellement ce fichier est créé dans le répertoire "/run" ou dans un sous-répertoire.

Si on y regarde de plus près, on remarque que "/run" est un "file system" créé dynamiquement en mémoire; ce qui signifie que si on arrête la machine, tous son contenu est perdu, effacé. Il faut donc recréer son contenu à chaque démarrage.


Service

Cette tâche est effectuée par le programme "systemd-tmpfiles" qui est notamment lancé une fois au démarrage via le service "systemd-tmpfiles-setup.service". Il ne concerne pas seulement l'arborescence sous le répertoire "/run" mais également d'autres fichiers nécessaires au bon fonctionnement du système. Un autre service existe, dédié aux fichiers de "/dev": "systemd-tmpfiles-setup-dev.service". Un troisième service se charge du nettoyage journalier: "systemd-tmpfiles-clean.timer".


Configuration

Ses fichiers de configuration se retrouvent dans le répertoire "/usr/lib/tmpfiles.d"; ils ont l’extension ".conf".

Chaque fichier comprend une ou plusieurs lignes, chacune dédiée à une tâche. Chaque ligne est constituée de sept colonnes:

  • Type de fichier ("f" pour fichier, "d" pour répertoire, "L" pour lien symbolique,...)
  • Chemin (ou Path)
  • Privilèges (ou Mode) comme on l'utilise avec la commande "chmod" en mode numérique
  • Utilisateur propriétaire
  • Groupe propriétaire
  • Age de la dernière modification dans un but de nettoyage
  • Argument (optionnel): nécessaire par exemple pour la création de liens symboliques

Une absence de valeur est signalée par un tiret ("-"). Voyez les Mans Pages pour plus de détails.


Exemple

J'ai été confronté à ce problème sous Ubuntu. J'utilisais une application WEB "NagioSQL" qui permet de configurer le logiciel de surveillance réseau "Nagios". Il avait besoin du fichier "/run/nagios/nagios.pid" défini dans la configuration de Nagios via l'option "lock_file". Mais problème, le répertoire "/run/nagios" n'existe pas.

J'ai donc créé le fichier "/usr/lib/tmpfiles.d/nagios.conf" dont voici le contenu:


D /run/nagios 0755 nagios nagios -


On crée le répertoire "/run/nagios" appartenant à l'utilisateur/groupe "nagios/nagios" qui exécute le service Nagios avec les privilèges "0755".




retour au menu de Systemd