MacからのLinux系NASの利用
Macのクソ文字コード仕様。
前々から導入しようと思っていたNASにようやく乗り換えました。最近評判のいいSynology DS216jを買ったのですが、移行にえらい手間取った。Macで管理していた大量のファイルをNASに移す時に、ちょっとした注意をしないとMacからファイルが見えなくなったりします。その辺の備忘録。
問題が発生するのは、日本語文字が入ったディレクトリとかファイル。その中でも特定の文字が名前に入っていると、Macから見えなくなることがあります。濁点、半濁点は全滅みたいです。調べてみると、割と有名な話のようです。問題は、MacのHFS+だとファイル名がUTF-8-MACとかいう文字コードになっているみたいなのですが、これをそのままNASにコピるとNAS側で読めなくなる。正確には読めないわけではないのだけど、どうもMacからNASを読もうとした時、Macは普通のUTF-8と思って読み取ろうとするけど、実際はUTF-8-MACが帰ってきて壊れてると認識されている感じ。
ではどうするかというと、MacからNASに移す時UTF-8-MACからUTF-8に変換してやればいい。移行は、もともとrsyncを使っていたのですが、どうやらrsyncにiconvオプションとかがある。それを使ってやればOK。
[code]
rsync –iconv=UTF-8-MAC,UTF-8 -av foo rsync://nanachi@nas/bar
[/code]
みたいな感じ。ちなみに、Mac標準のrsyncは古いので、homebrewで独自に入れないといけないです。
とりあえず、これで読めなくなるということはなくなります。あとは、どうもNASとAFPで接続するのはまずそうです。AFP接続だと、またUTF-8-MACで書き込もうとするみたい。なので、Samba接続がよろしいようです。まあ、MacもAFPサポートそろそろやめるはずだけど。
iTunesライブラリをNAS上に置いてるんだけど、フリーズしまくったのは、この問題で大量のディレクトリが読めない状態だったからのようです。ちなみに、DS216jのストレージサービスへの同期機能も、UTF-8-MACのままだとそのディレクトリを無視してしまいます。バックアップできたと思ったら、なんかファイル数が少なかったのはこのせいだった。
要するに、Macのファイルシステムはクソ、ということです。
—–
Leave a comment