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があるから安心して試せるね。ハッピー。