![]() |
[ News | Documentation | Knowledge Base | Project | Event | Users Group | Mailing List ] |
Samba 日本語版をインストール後に実際に使用する上での注意点について記述します。
インストールに関してはSamba 日本語版インストールガイド を参照してください。
Samba 2.0.7 日本語版では、SWAT で日本語(を含む各国語)を表示する機能は、日本語 Samba ユーザ会で開発した SWAT 国際化機能を利用することで実現します。
日本語版のブラウザを利用している場合、通常 SWAT は日本語で表示されるはずですが、英語版のブラウザの場合は、特に設定を行っていない限り英語で表示されるはずです。
日本語で表示されない場合は「 Samba 日本語版インストールの注意点と動作確認方法について」の「ブラウザ言語設定の確認」に従ってブラウザの設定を行ってください。
オリジナル版の Samba 2.0.7 が国際化機能を実装したため、日本語を利用する際に、幾つか注意すべき点があります。
なお、これらはオリジナル版の Samba 2.0.7 にも該当します。
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 を用いて設定を行っている場合、デフォルト値はファイルに書き出されていないので、必ず明示的に設定を行ってください。
coding system
で指定した文字コードで smb.conf を記述する必要があります。coding system
に関わらず、smb.conf を SJIS で記述する必要があったので、例えば coding system = EUC
の場合は、nkf 等を使って、smb.conf の文字コードを SJIS から EUC に変更しておく必要があります。client codepage
と coding system
は global セクションの先頭に記述する必要があります。
リリース2.0では、同梱されております、examples/smbchartool/
を利用して修復します。ソースを取得展開後、./INSTALL.sh と実行することでこのツールをインストールできます。
修正には、以下のようなコマンドを実行することでおこないます。
smbfnconv -a euctoeuc /where/to/share
-aオプションには、これまで使用していた文字コードおよび今後使用したい文字コードを以下のルールで指定します。
">これまでのコード>to<今後のコード<"
たとえば、euctoeuc, hextoeuc, jistoeucなどとなります。
(制限事項: 本ツールでは3バイトEUCおよびUTF-8コードは現在サポートされておりません)
リリース2.0より前の場合は以下を参照してください。
以下の文字コードツールはSambaユーザ会Webページからも入手できます。
coding system = EUC
を明示的に指定してください。euctoeuc /where/to/share
とすることで、問題のあるコードが読み込めるように変換されます。
coding system
は、変更しません。jistojis /where/to/share
とすることで、問題のあるコードが変換されます。
sjistosjis /where/to/share
とすることで、問題のあるコードが変換されます。
hextohex /where/to/share
とすることで、問題のあるコードが変換されます。