/var/run のディレクトリが起動時に消えたり、生成されないのはなぜですか? (セントOS 7.3)

/var/run のディレクトリが起動時に消えたり、生成されないのはなぜですか? (セントOS 7.3)

今日問題が発生しました。/var/run/httpdファイルが欠落しているため、Apacheをロードできません。数多くの狩りの終わりに探すエラーが発生する理由は([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)です。

/var/run/mysqlその後、MariaDBにはディレクトリがなく、PostgreSQLにはディレクトリがないことを確認しました。失われたそのディレクトリ。

システムの起動時に生成されないか、再起動の間に保存されないのですか?

私はしません予想されるこの提案に従って初期化スクリプトを変更する必要があります。質問

編集:ls -dl /var/run&の出力ls -dl /run

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

ベストアンサー1

{/var,}/run は起動時に systemd によって蒸発します。そんなに低い価値に比べて本当に驚くほど全く予想外の驚きです。

起動後にディレクトリが存在することを確認するには、systemdのtmpfiles部分に何かを関連付ける必要があります。

/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 -

そして、tmpfilesエントリが見つからない場合は、自分のパッケージを手動でローリングし、すべての.single.releaseに対してパッケージを調整、テスト、およびアップグレードします。これがスケールやSLAに関するすべてのものに一般的に悪いアイデアであることに同意する限り、それも良いです。

おすすめ記事