よくわからないエンジニア

よく分からないエンジニアの日々の記録

よくわからないエンジニア

CentOS7 /var/run /run のディレクトリを起動時に作成する

最近ハマったトピックを一つ。

目次

再起動時に/run以下のディレクトリが消える

知っている人は知っていることですが、CentOS7は/var/run以下にディレクトリ作ったりしていると、再起動時に消えます。

server.etutsplus.com

なんか/tmpは一定時間で消えるみたいな記事を読んだことがあったのですが、/var/run以下は再起動すると消されるというのは完全に失念してました。
後は/runと/var/runってシンボリックリンクだったんですね。初めて知った。
きっかけは、/run以下にディレクトリ作って、その中にpid作成していたら、再起動時に自動起動しなくてテンパってしまったからです。

# mkdir -p /run/test
# ls /run |grep test
test
# shutdown -r now

これで再起動すると、testが消失してます。ここをpidの置き場所にしていると、自動起動されずにテンパります。

対策

先程貼り付けたURLにも記載されていましたが、/etc/tmpfiles.d以下に設定ファイルを用意しましょう。
以下、参考にさせて頂いたサイトです。

お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita

今回のようにtestディレクトリを作成したい場合は以下のように準備しておきます。

# vim /etc/temfiles.d/test.conf
d /run/test 0755 root root

これで再起動して確認したところ、/runの下にtestディレクトリ残ってました。急に起動しなくなるとビビリマスネ。めでたし。