O que provavelmente faria com que os diretórios em / var / run desaparecessem / não fossem criados na inicialização? (CentOS 7.3)

4

Fizemos um problema hoje, onde o Apache não carregava porque estava faltando /var/run/httpd . Depois de muita caça a ache isso causa do erro que eu estava recebendo ( [Tue Jul 25 00:06:31.574386 2017] [auth_digest:error] [pid 6179] (2)No such file or directory: AH01760: failed to initialize shm - all nonce-count checking, one-time nonces, and MD5-sess algorithm disabled ).

Então vi que o MariaDB estava com falta do diretório /var/run/mysql , e o PostgreSQL estava perdendo seu diretório.

O que faria com que aqueles não fossem feitos na inicialização do sistema / salvos entre as reinicializações?

Eu não esperaria precisar modificar os scripts de inicialização conforme sugerido nesta pergunta .

Editar: saídas de ls -dl /var/run & %código%

lrwxrwxrwx. 1 root root 6 Dec 15  2015 /var/run -> ../run
drwxr-xr-x 25 root root 800 Jul 26 03:40 /run
    
por warren 25.07.2017 / 02:41

3 respostas

0

Não é uma correção - mas uma correção.

Depois de vasculhar outros sites da rede SE, fóruns, grupos de notícias e afins, imaginei se poderia estar relacionado à ordem de montagem para sistemas de arquivos locais e remotos (há um par de compartilhamentos CIFS montados nesse servidor, que cada tem subdiretórios ligados montados em outro lugar).

Eu empurrei os compartilhamentos CIFS para cima em /etc/fstab e movi todas as montagens de bind para a parte inferior.

Então eu reiniciei.

Agora, /run aka /var/run está funcionando como esperado.

Eu não sei que editando /etc/fstab importava - mas é a única alteração substantiva que eu sei.

    
por 26.07.2017 / 16:41
1

{/ var,} / run é vaporizado pelo systemd na inicialização. É uma surpresa maravilhosa e totalmente inesperada com um valor tão baixo.

Se você quiser garantir que um diretório exista após a inicialização, você precisará inserir algo na seção tmpfiles do systemd.

/usr/lib/tmpfiles.d/httpd.conf
::::::::::::::
d /run/httpd   710 root apache
d /run/httpd/htcacheclean   700 apache apache

/usr/lib/tmpfiles.d/mariadb.conf
::::::::::::::
d /var/run/mariadb 0755 mysql mysql -

E, se suas entradas tffiles estiverem faltando, aposto que você faça manualmente seus próprios pacotes (e ajuste, teste e promova, para every.single.release). Contanto que concordemos que geralmente é uma má idéia para qualquer coisa com escala ou um SLA, isso é legal embora.

    
por 30.10.2017 / 00:57
0

Esses arquivos de configuração residem em /usr/lib/tmpfiles.d e /etc/tmpfiles.d /.

Eu precisava desmascarar e ativar o systemd-tmpfiles-setup.service para ter / executar automaticamente a configuração na inicialização: systemctl unmask systemd-tmpfiles-setup.service systemctl enable systemd-tmpfiles-setup.service

    
por 30.01.2018 / 15:07