Normalmente, diretórios para armazenar pid's ou similares são criados pelos scripts de inicialização dos serviços. (Veja esta pergunta )
No entanto, acabei de perceber que esses diretórios ainda são recriados após uma reinicialização quando desativo os serviços. Isso aconteceu em todos os serviços que experimentei.
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/
Qual serviço está realmente criando esses diretórios?
Com o systemd, há uma nova funcionalidade chamada
tmpfiles.d(5)
que pode ser usada para criar arquivos ou diretórios na inicialização fora do arquivo .service. Openvpn e ejabberd estão usando isso, então é por isso que os diretórios/var/run
ainda são criados, mesmo que não sejam iniciados na inicialização.Os
tmpfiles
arquivos de configuração são armazenados em/usr/lib/tmpfiles.d/