Miałem demona, który potrzebował własnego /var/run
katalogu dla swojego pliku PID z uprawnieniem do zapisu przyznanym użytkownikowi demona.
Odkryłem, że mogę utworzyć ten katalog za pomocą następujących poleceń:
# mkdir /var/run/mydaemon
Następnie mógłbym zmienić jego własność na użytkownika / grupę, w ramach której chciałbym uruchomić proces:
# chown myuser:myuser /var/run/mydaemon
Ale ten katalog zniknąłby za każdym razem, gdy uruchamiam ponownie! Jak mogę utworzyć ten katalog przy każdym uruchomieniu komputera?
systemd-sysv-generator
i mam wystarczająco dużo krzywych uczenia się przez tydzień. Tylko ten jeden plik .conf i ten jeden wiersz./usr/lib/tmpfiles.d/php7.3-fpm.conf
i/usr/lib/tmpfiles.d/php7.2-fpm.conf
nadal nie tworzy ona/run/php
katalogu.Stworzyłem usługę, która na początku tworzyłaby katalog:
vim /etc/systemd/system/mydaemon-helper.service
Zawartość
/etc/systemd/system/mydaemon-helper.service
:Potem uruchomiłem tę usługę:
systemctl start mydaemon-helper
systemctl status mydaemon-helper
Wydajność:
Na koniec powiedziałem systemowi, aby załadował go podczas uruchamiania:
systemctl enable mydaemon-helper
źródło
RuntimeDirectory
jest lepszy sposób to zrobić teraz , wpadłem na serwerze ze starą wersją Systemd (208), w których dyrektywa nie istnieje, więc ta odpowiedź jest tylko obejście.