Sambaのunix charsetをUTF-8に変更した

おうちのサーバでは、ずいぶん昔からSambaを使ってWindows向けのファイルサーバを運用してた。昔からの設定を引き継いで使っていたので、Samba 3系列で言うところのunix charsetは昔からEUC-JP系列の設定で運用してた。
最近、とある理由でSambaで共有しているディレクトリをApache経由で見せる時に、DirectoryIndexをUTF-8で出力する必要に迫られた。mod_autoindexで作られるIndexは、ファイルシステムのファイル名がそのまま使われるので、Sambaがファイルを作るときにUTF-8なファイル名を付与してくれないと困ってしまう。というわけで、EUC-JPからUTF-8への変更を敢行した。
まずはいつでも戻せるようにsnapshotを作成した。

# zfs snapshot zroot/hoge@beforeutf8

ZFSすばらしい!!
次はSambaの設定を変更した。

        dos charset = cp932
        display charset = cp932
        unix charset = utf-8

最後にEUC-JPなファイル名をUTF-8に変換した。変換にはconverters/convmvを使った。

# convmv -r -f eucjp -t utf8 *
# convmv -r -f eucjp -t utf8 * --notest

最初に--notestなしでdry runしておいて、よさそうなら--notestを指定してファイル名を実際に変換。snapshotがあるから安心して試せるね。ハッピー。