GNU/Linux >> Linux Esercitazione >  >> Linux

Crea una directory sotto /var/run all'avvio

Soluzione 1:

Ci sono due alternative per fare in modo che systemd crei le directory sotto /var/run / /run .

In genere il modo più semplice è dichiarare un RuntimeDirectory nel file unit del tuo servizio. Esempio:

RuntimeDirectory=foo

Questo creerà /var/run/foo per un'unità di sistema. (Nota:NON fornire un percorso completo, solo il percorso sotto /var/run ) Per la documentazione completa, consultare la voce appropriata in systemd.exec docs.


Per le directory di runtime che richiedono configurazioni più complesse o diverse o garanzie a vita, utilizza tmpfiles.d e fai in modo che il tuo pacchetto rilasci un file /usr/lib/tmpfiles.d/mydaemon.conf :

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

Consulta la documentazione completa di tmpfiles.d qui.

Soluzione 2:

Ho creato un servizio che creasse la directory all'avvio:

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

Il contenuto di /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

Poi ho avviato questo servizio:

systemctl start mydaemon-helper

systemctl status mydaemon-helper

Uscita:

[[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.

Infine ho detto al sistema di caricarlo all'avvio:

systemctl enable mydaemon-helper


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Rimuovere in modo sicuro /var/cache?

  3. 20 File di registro Linux che si trovano nella directory /var/log

  4. Comprensione della directory /etc/xinetd.d sotto Linux

  5. Django static_root in /var/www/... - nessuna autorizzazione a collectstatic

Come ripristinare la proprietà predefinita del gruppo/utente di tutti i file in /var?

Lo script Init.d non viene eseguito all'avvio?

Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

"impossibile creare la directory della cache /home//.composer/cache/repo/https—packagist.org/, oppure la directory non è scrivibile. Procedere senza cache”?

Errore lvdisplay:“Impossibile creare la directory /var/lock/lvm. Inizializzazione del blocco basata su file non riuscita."

unix:///var/run/supervisor.sock nessun file di questo tipo