ファイルシステム(ファイル名)の変換
ファイルシステム(ファイル名)の変換
Samba3.0では日本語ファイル名(機種依存文字)に使用するコードが変わったため、Samba2.xからSamba3.0へ移行するには、同 じEUCやSJISを使う場合でもファイルシステム(ファイル名)の変換をする必要がある。(Samba 2.2ではWindows 95互換のコード体系を利用し、Samba 3.0ではWindows NT互換のコード体系に変更された。)
もしSamba2.xとSamba3.0のマシンが別マシンであるならば、Windows2000/XP/2003マシンを使って (Win95/98/Meは不可)ファイルコピーをすれば、変換は自動的に完了する。一方、現在Samba2.xで利用しているマシンをそのまま Samba3.0で利用するには、以下のWebで公開されているsmbchartoolを使って変換作業を行う必要がある。
http://www.miraclelinux.com/technet/samba30/migration.html
移行が必要なケースは表6の通りだ。一般に機種依存文字と言われる図2のすべてが問題になるわけではないので、注意して欲しい。
| Samba 2.x coding system |
Samba 3.0 unix charset |
機種依存文字の 変換必要性 |
変換が必要な文字 |
| sjis | cp932 | 必要 | 図5の13文字 |
| euc | eucJP-ms | 必要 | 図6の374文字 |
| euc3 | eucJP-ms | 必要 | 図6の13文字 |
| utf8 | utf-8 | 不要 | |
| hex | cp932 + VFS hexモジュール | 必要 | 図5の13文字 |
| cap | cp932 + VFS capモジュール | 必要 | 図5の13文字 |
表6:変換が必要な文字

図2:一般的な機種依存文字

図3:IBM拡張文字(115区) から NEC特殊文字 (13区)へ変更になったため
変換が必要な大文字のローマ数字, No., TEL, (株)

図4:変換が必要な機種依存文字374文字(NEC選定IBM拡張文字 89〜92区)
もちろん、上記以外の文字コードの変更をする場合も必ず変換が必要となる。だがこれらもす べてsmbchartoolで変換が行える。例えばSamba2.xで"coding system=euc"としていた場合、Samba3.0へ移行する前に以下の手順を実施する事で変換が行なえる。
ファイル名の変換手順
$ mv 共有ディレクトリ 共有ディレクトリ.samba2 
$ mkdir 共有ディレクトリ 
$ cd 共有ディレクトリ.samba2 
$ smbfnconv -f euc -t eucjp-ms -p ../共有ディレクトリ . 