昨日の続き,というわけではないのですが,Subversionや各種実験用Webアプリケーションのサーバにしているマシンについて,仕事の合間に7.10から8.04にアップグレードしようとしたところ,エラーが出て,無理に再起動をすると「Kernel Panic」となりました.にっちもさっちもいかなくなったので,インストールをやり直しました.
パーティション
あらかじめ,/home, /opt, /var/spool を別のパーティションにしていたので,/ (ルート)のみをクリーンインストールしました.
インストール時に,パーティションは手動で設定・指示します./var/spool へのマウントはこの段階ではできませんでした.
バックアップとリストア
入れ直しの前に,/etc 全体と,Subversionリポジトリのバックアップをとりました.
まず,LivrCDで起動して,HDDのパーティションをマウントして,所在を確認します.
念のため別のHDDにコピーしましたが,/opt (にマウントされるパーティション)にディレクトリを作ってコピーすればよかったのでした.
上述の /var/spool へのマウントは,バックアップでとった /etc/fstab から, /var/spool を含む行を取り出し,新しい /etc/fstab に貼り付けるだけで,いけました.
メール受信
メールサーバは,postfixをインストールしますが,受信設定ができていないときに受信してもうれしくないので,すぐに /etc/init.d/postfix stop を実行します.
受信には,前と同じく,Cyrus IMAP serverを使います(cyrus-imapd-2.2).
http://hk-tech.homeip.net/pcserver/imap4.htmlを参考にしながら,せっていしたものの,
cyradm -user cyrus localhost
を実行しても,接続できず,すぐ終了します.
cyradm -user cyrus
としてプロンプトを出して,login としても,エラーです.
長いこと悩みましたが,これは,/var/spool/cyrus の所有者がおかしかったからでした.
chwon -R cyrus.mail /var/spool/cyrus
を実行して,念のため
/etc/init.d/cyrus2.2 restart
とすると,つながるようになりました.
メールボックス
しかし,まだメールボックスを見ることができず,今のCyrusが,それまでのディレクトリやメールファイルを認識できるようにしないといけません.
まずはrootで
find /var/spool/cyrus/mail/t/user/takehiko -type d
を実行して,メールボックスに相当するディレクトリを確認しておきます.
次に一般ユーザでもrootでもいいのですが,
cyradm -user cyrus localhost
として,プロンプトが出たら,以下のコマンドを投入していきます.
cm user.takehiko reconstruct user.takehiko cm user.takehiko.Sent reconstruct user.takehiko.Sent cm user.takehiko.Drafts reconstruct user.takehiko.Drafts cm user.takehiko.Trash reconstruct user.takehiko.Trash cm user.takehiko.Junk reconstruct user.takehiko.Junk (以下略)
Sent,Drafts,Trash,Junkは,Thunderbirdではそれぞれ,送信済み,下書き,ごみ箱,迷惑メールに対応します.
上のfindコマンドでは,「(cyrusのパス)/mail/(ユーザ名の頭文字)/user/(ユーザ名)」を起点として,サブディレクトリを求めています.各サブディレクトリ名について,
- 「(cyrusのパス)/mail/(ユーザ名の頭文字)/」を削除して
- 「/」をすべて「.」に置き換えた文字列
が,cyradmの中のメールボックス名になります.「user.(ユーザ名)」も忘れないように.