Winとファイル共有

前回まででめでたく、WindowsLinuxデュアルブート環境が整い、さらに共有データのためのパーティションも用意されたわけだが、もう一度その構成を書くと、

となっている。このsda2が共有パーティションなんだが、Windowsからは当然普通にDドライブとして何もしなくても見えてる。ちなみに、sda5以降はファイルシステムが違うからWindowsからは見えない。Linuxからsda2のファイルにアクセスするためには、いわゆる"マウント"ていうやつをしてやる必要がある。コマンドで書けば、
 #mount -t vfat /dev/sda2 /mnt/share
見たいな感じになる(/mnt/shareというディレクトリは前もって作ってあるとする)。このコマンドの意味は、"sda2っていうデバイスファイルシステムとして/mnt/shareの下につなげてください。あっ、ファイル形式はWindowsのやつ(vfat)ですよ"って感じだろうか?
さらに、起動時に自動的にこのマウントをしてもらうためには、/etc/fstabというファイルに次のような一行を加えればよい。そうすれば、いちいちmountコマンドを打つ必要がなくなる。
 /dev/sda2 /mnt/share vfat defaults 0 0
defaultsが起動時にマウントされることを表してる。最後の0 0はよくわかりません。。とりあえず、こう書いとけばよいらしい。

ThuderbirdのMail共有

 さて、WindowsでもLinuxでも同じくメールクライアントとしてThunderbird*1を使っていたら、メールデータを共有したくなるっていうのが人情じゃないだろうか?ここでは、もともとWindowsの側でThuderbirdを使ってた場合に、そのメールデータを共有パーティションに移して設定する手順を書いとく。
 まず、メールの実体がどこにあるかだが、たぶんWindows XPで普通に使ってたら、それはC:\Documents and Settings\"username"\Application Data\Thunderbird\Profiles\"randomstring".defaultにあるはず。ここで、"randomstring"というのはthunderbirdが勝手に付ける本当にランダムなアルファベット文字列で、ある一つのプロファイル(この場合はデフォルトのプロファイル)を表している。thunderbirdはユーザー情報をまずプロファイルという形で管理し、その下にアカウントを作る。複数のプロファイルを作ることも可能だが、thunderbirdを普通に起動するとデフォルトのプロファイルしか読み込まれないので、気づかないでこのプロファイルのみ使っている場合が多いんじゃないだろうか?(俺はそうだった)。で、この"randomstring".defaultフォルダの下にMailフォルダがあり、さらにその下に各アカウントのためのフォルダがある。いま仮に、アカウント名がfoo.comだったとするとC:\Documents and Settings\"username"\Application Data\Thunderbird\Profiles\"randomstring".default\Mail\foo.com以下を覗くと、Inbox、Draft、Sent、Junk、Trashなどのファイルがあると思う。これらはそれぞれ、受信トレイ、下書き、送信済みトレイ、迷惑メール、ごみ箱の実体ファイルである。たとえば、Inboxの中身を見れば、受信トレイ内の受信メールが一続きのプレーンテキストとして保存されているのがわかる。他に、Inbox.msfなどmfsという拡張子のついたファイルがあるが、これはメッセージの見出しだけを納めたファイルらしい。また、受信トレイの中にさらにサブフォルダをつくっている場合は、Inbox.sbd内にさらに同様な構造が見られるはずだ。とにかくこれら一式をMailフォルダごと共有パーテションにコピーする。(D:\Mail以下にコピーしたとする)
 つぎに、Thuderbirdを設定し直して、以後はこの移動させたMailフォルダ以下にメッセージを保存するようにする。これらの設定はC:\Documents and Settings\"username"\Application Data\Thunderbird\Profiles\"randomstring".defaultの下にpref.jsとして保存されている。そこに記載されている項目のうちのいくつかを以下のように書き直す。
 user_pref("mail.root.none", "D:\\Mail");
 user_pref("mail.root.pop3", "D:\\Mail");
 user_pref("mail.server.server1.directory", "D:\\Mail\\foo.com");
ディレクトリの区切りが"\\"(\のエスケープ)になっているのに注意だ。また、"mail.server.server1.directory-rel"という項目もある。これはプロファイルフォルダ(いまの場合はC:\Documents and Settings\"username"\Application Data\Thunderbird\Profiles\"randomstring".default)からの相対パスを記述するっぽいが、面倒ならThunderbirdが自動で作ってくれるらしいので削除してもオッケーだ。また、今の場合、アカウントがfoo.comしかないとして話をしてきたが、他にアカウントをつくっていたりローカルフォルダを使っていたりするとそれらに従って、"mail.server.server数字.directory"の設定が必要となる。
 これで、Windowsからの設定はおしまいで、Linux側でも同様にpref.jsを編集すればいい。Linuxでのプロファイルディレクトリの在処は/home/"username"/.mozilla-thunderbird/"randomstring".defaultである。pref.jsもそこにある。ついでに言えば、プロファイルフォルダ下にある、training.dat、abook.mab、history.mabはそれぞれ、迷惑メールフィルタの学習結果、アドレス帳、集積アドレス帳(thunderbird送信先から勝手につくるアドレス帳)であるので、これらをWindowsのプロファイルフォルダからコピーしてくれば、今までのWindowsでのThunderbirdの環境がLinuxでも再現できる。

*1:Debian etchでは商標の問題で(?)icedoveって名前だけど