GNU/Linux >> Tutoriels Linux >  >> Linux

Créez un répertoire sous /var/run au démarrage

Solution 1 :

Il existe deux alternatives pour que systemd crée des répertoires sous /var/run / /run .

Généralement, le plus simple est de déclarer un RuntimeDirectory dans le fichier unité de votre service. Exemple :

RuntimeDirectory=foo

Cela créera /var/run/foo pour une unité système. (Remarque :NE PAS fournir de chemin d'accès complet, uniquement le chemin d'accès sous /var/run ) Pour la documentation complète, veuillez consulter l'entrée appropriée dans la documentation systemd.exec.


Pour les répertoires d'exécution qui nécessitent une configuration ou des garanties à vie plus complexes ou différentes, utilisez tmpfiles.d et faites déposer votre colis dans un fichier /usr/lib/tmpfiles.d/mydaemon.conf :

#Type Path            Mode UID      GID    Age Argument
d     /run/mydaemon   0755 myuser myuser   -   -

Consultez la documentation complète de tmpfiles.d ici.

Solution 2 :

J'ai créé un service qui ferait le répertoire au démarrage :

vim /etc/systemd/system/mydaemon-helper.service

Le contenu de /etc/systemd/system/mydaemon-helper.service :

[Unit]
Description=MyDaemon Helper Simple Service
After=network.target

[Service]
Type=simple
ExecStartPre=-/usr/bin/mkdir /var/run/mydaemon
ExecStart=/usr/bin/chown myuser:myuser /var/run/mydaemon
Restart=on-abort


[Install]
WantedBy=multi-user.target

Puis j'ai lancé ce service :

systemctl start mydaemon-helper

systemctl status mydaemon-helper

Sortie :

[[email protected] etc]# systemctl status mydaemon-helper.service
● mydaemon-helper.service - MyDaemon Helper Simple Service
   Loaded: loaded (/etc/systemd/system/mydaemon-helper.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

May 28 20:53:50 alpha systemd[1]: Starting MyDaemon Helper Simple Service...
May 28 20:53:50 alpha systemd[1]: Started MyDaemon Helper Simple Service.

Enfin, j'ai dit au système de le charger au démarrage :

systemctl enable mydaemon-helper


Linux
  1. "Impossible de créer un répertoire de cache /home//.composer/cache/repo/https—packagist.org/, ou le répertoire n'est pas accessible en écriture. Procéder sans cache ?

  2. 20 fichiers journaux Linux situés dans le répertoire /var/log

  3. NGINX :connect() to unix:/var/run/php7.0-fpm.sock a échoué (2 :aucun fichier ou répertoire de ce type)

  4. cp :ne peut pas créer de répertoire :aucun fichier ou répertoire de ce type

  5. Comment puis-je déplacer le répertoire /var/log

Django static_root dans /var/www/... - aucune autorisation pour collectstatic

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Redimensionner la partition de démarrage

unix:///var/run/supervisor.sock aucun fichier de ce type

Est-ce que le fait d'avoir un répertoire caché sous /etc est sûr ?

Pourquoi me manque-t-il /var/run/sshd après chaque démarrage ?