Обычно каталоги для хранения идентификаторов pid или подобных им создаются сценариями запуска служб. (Видеть этот вопрос)
Однако я только что заметил, что эти каталоги все еще создаются заново после перезагрузки, когда я отключаю службы. Это произошло со всеми услугами, которые я пробовал.
root@sonorus:~# systemctl status openvpn
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
Active: inactive (dead)
root@sonorus:~# systemctl status ejabberd
● ejabberd.service - A distributed, fault-tolerant Jabber/XMPP server
Loaded: loaded (/lib/systemd/system/ejabberd.service; disabled)
Active: inactive (dead)
Docs: https://www.process-one.net/en/ejabberd/docs/
Какая служба на самом деле создает эти каталоги?
В systemd появилась новая функция под названием tmpfiles.d(5)
который можно использовать для создания файлов или каталогов при загрузке вне файла .service. Openvpn и ejabberd используют это, поэтому каталоги в /var/run
по-прежнему создаются, даже если они не запускаются при загрузке.
В tmpfiles
файлы конфигурации хранятся в /usr/lib/tmpfiles.d/