Linuxをインストールして一通りの設定が済み、再起動した際にIMAPとPOP3サーバのDovecotが起動しなった時の解決策です。
下記では、Dovecotを起動させようとして、「listen(993) failed: Address already in use」といったエラーが表示されています。
# /sbin/service dovecot start Dovecot Imap を起動中: Fatal: listen(993) failed: Address already in use
Dovecotのポート993がすでに使われているというエラー内容です。lsof(LiSt Open File)コマンドで、993番ポートを使っているプロセスを調べることができます。
/usr/sbin/lsof -i :993 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME rpc.statd 4627 rpcuser 7u IPv4 10672 TCP *:imaps (LISTEN)
rpc.statdが993番ポートを使っているようなので、まずはrpc.statdを起動しているサービスを調べます。
# grep rpc.statd /etc/init.d/* /etc/init.d/nfslock: [ -x /sbin/rpc.statd ] || exit 5 /etc/init.d/nfslock: # Make sure the rpc.statd is not already running. /etc/init.d/nfslock: if status rpc.statd > /dev/null ; then /etc/init.d/nfslock: daemon rpc.statd "$STATDARG" /etc/init.d/nfslock: killproc rpc.statd /etc/init.d/nfslock: status rpc.statd /etc/init.d/nfslock: /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"
上記の出力内容からnfslockがrpc.statdを起動していることがわかりました。サービスを停止し、自動起動しないように変更する必要があります。
nfslockを停止し、自動起動しないように設定します。
# /sbin/service nfslock stop # /sbin/chkconfig nfslock off
chkconfigでnfslockの状態を確認します。
# /sbin/chkconfig --list nfslock nfslock 0:off 1:off 2:off 3:off 4:off 5:off 6:off
以上でnfslockが停止し、次回からは自動起動もしません。
あとはDovecotを起動して終了です。
# /sbin/service dovecot start