0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

Dovecotが「Fatal: mkdir(/usr/local/var/run/dovecot) failed: Read-only file system」と言われて起動できない

状況

CentOS8でDovecot(2.3.10.1)をソースからコンパイルしてインストールして、起動しようとすると、「Fatal: mkdir(/usr/local/var/run/dovecot) failed: Read-only file system」と言われて起動できませんでした。

Permissionの問題かと思い、デレクトリをあらかじめ作ったり、ディレクトリのPermissionを777などにするなどいろいろ試しても、最終的に「master: Fatal: chmod() failed for /usr/local/var/run/dovecot/login: Read-only file system」が出て、にっちもさっちもいかなくなりました。

解決方法

/usr/lib/systemd/system/dovecot.service を修正します。

/usr/lib/systemd/system/dovecot.service
[Service]
...略...
ProtectSystem=false   <== full を false に変えます
...略...

systemdの設定をリロードします。

systemctl daemon-reload

ソースに対するパッチ

再コンパイルしてインストールしたら上書きされてしまうので、ソースへのパッチも置いときますね。

diff -uNr dovecot-2.3.10.1.org/dovecot.service.in dovecot-2.3.10.1/dovecot.service.in
--- dovecot-2.3.10.1.org/dovecot.service.in     2020-05-13 00:44:05.000000000 +0900
+++ dovecot-2.3.10.1/dovecot.service.in 2020-07-26 23:22:05.897623807 +0900
@@ -21,7 +21,7 @@
 ExecStop=@bindir@/doveadm stop
 PrivateTmp=true
 NonBlocking=yes
-ProtectSystem=full
+ProtectSystem=false
 ProtectHome=no
 PrivateDevices=true

おまけ

systemdの設定ファイルをインストールするには、configureするときに

./configure --with-systemdsystemunitdir=auto

のオプションを付けます。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?