GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen Sie beim Booten ein Verzeichnis unter /var/run

Lösung 1:

Es gibt zwei Alternativen, systemd Verzeichnisse unter /var/run erstellen zu lassen / /run .

Normalerweise ist es am einfachsten, eine RuntimeDirectory zu deklarieren in der Unit-Datei Ihres Dienstes. Beispiel:

RuntimeDirectory=foo

Dadurch wird /var/run/foo erstellt für eine Systemeinheit. (Hinweis:Geben Sie KEINEN vollständigen Pfad an, sondern nur den Pfad unter /var/run ) Vollständige Dokumente finden Sie im entsprechenden Eintrag in systemd.exec docs.


Verwenden Sie für Laufzeitverzeichnisse, die eine komplexere oder andere Konfiguration oder lebenslange Garantien erfordern, tmpfiles.d und lassen Sie Ihr Paket eine Datei /usr/lib/tmpfiles.d/mydaemon.conf ablegen :

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

Die vollständige tmpfiles.d-Dokumentation finden Sie hier.

Lösung 2:

Ich habe einen Dienst erstellt, der das Verzeichnis beim Start erstellen würde:

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

Der Inhalt von /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

Dann habe ich diesen Dienst gestartet:

systemctl start mydaemon-helper

systemctl status mydaemon-helper

Ausgabe:

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

Zuletzt habe ich dem System gesagt, es soll beim Start geladen werden:

systemctl enable mydaemon-helper


Linux
  1. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  2. 20 Linux-Protokolldateien, die sich im Verzeichnis /var/log befinden

  3. lvdisplay-Fehler:„Fehler beim Erstellen des Verzeichnisses /var/lock/lvm. Initialisierung der dateibasierten Sperre fehlgeschlagen.“

  4. Django static_root in /var/www/... - keine Berechtigungen für collectstatic

  5. Warum fehlt /var/run/sshd nach jedem Start?

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Größe der Bootpartition ändern

unix:///var/run/supervisor.sock keine solche Datei

Ist ein verstecktes Verzeichnis unter /etc sicher?

Wie kann ich das Verzeichnis /var/log verschieben

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?