Dovecot 2.4

リモートで管理しているDebianのサーバーですが,まだDebian Bookworm (12)で動かしています.そろそろTrixie (13)にupgradeするように圧力がかかりそうなので,クローニングした仮想マシンでupgradeの予行演習をしました.

まずは,apt update && apt dist-upgrade1でBookwormの最終形にupgradeします.これは全く問題なし.

次に,/etc/apt/sources.list内のbookwormをtrixieに書き換えて,apt update && apt dist-upgradeをしたところ,dovecotの再起動に失敗してupgrade自体が途中で終わってしまいました.

dovecotの設定ファイルの問題のようです.こういうときのために,仮想マシンでsnapshotを撮りながら作業していますのでbookwormの最終形に巻き戻してやり直しです.

とりあえずは,

systemctl stop dovecot
systemctl disable dovecot

としてから,再度trixieへのupgradeを試みたら成功しました.

あとはdovecotの問題の解決です.Debian (Raspberry Pi OSも)では,Bookwormにはdovecot 2.3.xが,Trixieには 2.4.xが付いてきます.2.3.xから2.4.xで設定ファイルに見直しがあったようです.

エラーは/etc/dovecot/conf.d/10-mail.conf内の,

mail_location = mbox:~/.mailbox:INBOX=/var/mail/%u

で起こります.ユーザーのディレクトリーのmboxを “.” で始まるディレクトリーにして通常のlsでは見えないようにしたいのです.

GeminiとChatGPTに聞きましたが,遠回りをして解決にたどり着きません.かなり時間を浪費しました.

AIへの相談をやめて,自分の管理しているサーバーを調べたら答えがありました.

mail_path = %{home}/.mailbox
mail_inbox_path = /var/mail/%{user}

のように,dovecot 2.4.xでは2行で既述すれば良いのです.

  1. 筆者はSlackwareの「root権限になってからシステムのメンテをする」流儀のため,ログインしてsudo -iをしてroot権限を取得してから作業します.そのため,コマンドにいちいちsudoを付けません. ↩︎