日本 Samba ユーザ会 (Samba Users Group Japan)
Samba 2.0.x 日本語版利用ガイド
Samba 日本語版をインストール後に実際に使用する上での注意点について記述します。
インストールに関してはSamba 2.0.x 日本語版インストールの注意点と動作確認方法について を参照してください。
目次
Samba 2.0.7 日本語版では、SWAT で日本語(を含む各国語)を表示する機能は、日本語 Samba ユーザ会で開発した SWAT 国際化機能を利用することで実現します。
日本語版のブラウザを利用している場合、通常 SWAT は日本語で表示されるはずですが、英語版のブラウザの場合は、特に設定を行っていない限り英語で表示されるはずです。
日本語で表示されない場合は「 Samba 2.0.x 日本語版インストールの注意点と動作確認方法について」の「ブラウザ言語設定の確認」に従ってブラウザの設定を行ってください。
先頭に戻る
オリジナル版の Samba 2.0.7 が国際化機能を実装したため、日本語を利用する際に、幾つか注意すべき点があります。
なお、これらはオリジナル版の Samba 2.0.7 にも該当します。
smb.conf の文字コード
Samba 2.0.5a-JP2 で smb.conf 内に日本語を記述する場合は、いわゆるSJISで記述する必要がありました。
しかし、このバージョンからは、Samba 2.0.7 オリジナル版から実装された国際化機能を利用しているため、smb.confを「coding system」パラメータで示されるコードで記述する必要があります。
例えば、 coding system = CAP の場合は、共有名の指定にも [:83a:41b] のように、CAP形式で指定する必要があります。
なお、コメント中の文字コードについては制限はありませんが、 coding system = SJIS や coding system = EUC の場合、文字化けを避けるために coding system と同じ文字コードで記述することを強く推奨します。
パラメータの記述順序
smb.conf 内で利用されている文字コードに関する情報は、 coding system および client code page パラメータが読み込まれるまでは設定されません。そのため、これらのパラメータを記述する前に smb.conf 中に日本語等の非ASCII 文字列を利用した場合は、文字コード変換が正しく行われずに文字化けしてしまいます。
必ず smb.conf のグローバルセクション([GLOBAL])の先頭で、上記パラメータを記述するようにしてください。
なお、SWAT 経由で設定を行う場合は、smb.conf の先頭にこれらのパラメータが記述されます。
先頭に戻る
Samba 2.0.7 日本語版は、Samba 2.0.7 に対して上位互換です。
しかしながら、Samba 2.0.5a 日本語版と、Samba 2.0.6 および Samba 2.0.7の間には、一部に互換性のうえでの問題が生まれてしまっています。
そのため、これまでSamba 2.0.5a日本語版(JP1 およびJP2 を含む)を使われてきた方々は、以下の互換性に関する注意点を熟読していただきたいと思います。
デフォルト言語の変更
Samba 2.0.5a 日本語版では日本語ユーザの便を考慮して、 client code page = 932 、 coding system = EUC をデフォルトの値となるように変更を行い、特に smb.conf に記述を行わなくても日本語ファイル名が利用できるようにしたものを提供していました。
しかし、日本語版とオリジナル版によって smb.conf の書き方が変わってしまい、書籍や雑誌などの記事通りに設定を行っても動作する場合としない場合があるといった混乱が発生してしまったため、Samba 2.0.7 日本語版ではオリジナル版と同じデフォルト値に戻しました。
従って、 Samba 2.0.5a 日本語版から移行する際は、 client code page と coding system の設定を必ず確認してください。特に SWAT を用いて設定を行っている場合、デフォルト値はファイルに書き出されていないので、必ず明示的に設定を行ってください。
Samba 2.0.5a-JP2 で日本語共有名などを使っている状態から移行する際の注意点
- Samba 2.0.7 日本語版では、
coding system で指定した文字コードで smb.conf を記述する必要があります。
Samba 2.0.5a-JP2 では coding system に関わらず、smb.conf を SJIS で記述する必要があったので、例えば coding system = EUC の場合は、nkf 等を使って、smb.conf の文字コードを SJIS から EUC に変更しておく必要があります。
-
client codepage と coding system は global セクションの先頭に記述する必要があります。
SWAT で smb.conf を作成する場合は、Samba 2.0.7 から自動的に先頭に記述するようになりましたが、手作業で smb.conf を記述している場合は、注意してください。
Samba 2.0.5a 日本語版で、外字や機種依存文字をファイル名に使用している状態から移行する際の注意点
リリース2.0では、同梱されております、examples/smbchartool/ を利用して修復します。ソースを取得展開後、./INSTALL.sh と実行することでこのツールをインストールできます。
修正には、以下のようなコマンドを実行することでおこないます。
smbfnconv -a euctoeuc /where/to/share
-aオプションには、これまで使用していた文字コードおよび今後使用したい文字コードを以下のルールで指定します。
">これまでのコード>to<今後のコード<"
たとえば、euctoeuc, hextoeuc, jistoeucなどとなります。
(制限事項: 本ツールでは3バイトEUCおよびUTF-8コードは現在サポートされておりません)
リリース2.0より前の場合は以下を参照してください。
以下の文字コードツールはこちらのページからも入手できます。
- EUCを使用していた場合
- 外字、機種依存文字の一部は、EUCに変換されないまま、SJISの状態で、書き込まれています。しかしながら、コード範囲がEUCの重なるため、文字化けをした症状としてあらわれています。
この状態で、Samba 2.0.7 日本語版をインストールして実行します。 coding system = EUC を明示的に指定してください。
- Samba 日本語版 リリース1.3以降に添付されている文字コード変換ツールを使用します。
- Samba 日本語版のソースを展開した example/smbchartool/にそのツールはあります。
-
euctoeuc /where/to/share とすることで、問題のあるコードが読み込めるように変換されます。
- もし、問題のあるコードが適当な文字コードに変換できなかった場合は、下駄文字((〓)に変換されます。
- SJISと、EUCの文字領域が重なっているため、文字化けした文字がもともとSJISの状態なのか、EUCの文字なのかを判別する方法はありません。したがって、元の文字に完全に復元する方法はありません。
- JISを使用していた場合
- 外字、機種依存文字の一部は、JISに変換されないまま、SJISの状態で、書き込まれています。しかしながら、コード範囲がアルファベットおよび未定義領域となるため、サーバ上では文字化けをした症状としてあらわれています。
この状態で、Samba 2.0.7 日本語版をインストールして実行します。 coding system は、変更しません。
- Samba 日本語版 リリース1.3以降に添付されている文字コード変換ツールを使用します。
- Samba 日本語版のソースを展開した example/smbchartool/にそのツールはあります。
-
jistojis /where/to/share とすることで、問題のあるコードが変換されます。
- もし、問題のあるコードが適当な文字コードに変換できなかった場合は、下駄文字((〓)に変換されます。
- SJIS, CAPを使用していた場合
- 機種依存文字の一部は、Windows NT ないしは Windows 95/98のどちらか一方からでないと、アクセスできない場合があります。Windows 95/98 からアクセスできないファイルは、対処が必要です。
- Samba 日本語版 リリース1.3以降に添付されている文字コード変換ツールを
使用します。
- Samba 日本語版のソースを展開した example/smbchartool/にそのツールはあります。
- SJISの場合には、sjistosjisを、CAPの場合にはcaptocapを使用してください。
- たとえば、
sjistosjis /where/to/share とすることで、問題のあるコードが変換されます。
- HEXを使用していた場合
- 機種依存文字の一部は、Windows NT ないしは Windows 95/98のどちらか一方からでないと、アクセスできない場合があります。これらのファイルの対処が必要です。また、外字については、もとより Windows NTからアクセスできませんので、対処が必要です。
- Samba 日本語版 リリース1.3以降に添付されている文字コード変換ツールを使用します。
- Samba 日本語版のソースを展開した example/smbchartool/にそのツールはあります。
- hextohexというコマンドを使用してください。
- たとえば、
hextohex /where/to/share とすることで、問題のあるコードが変換されます。
|