このツールは Samba スイートの一部である。
make_smbcodepage は Samba 2.2 の国際化機能で使うコードページファイルをコンパイルしたり 逆コンパイルする。
make_smbcodepage に、テキスト形式の コードページファイルをバイナリ形式にコンパイルさせるか(c)、 バイナリ形式のコードページファイルをテキスト形式に逆コンパイルさせるか (d) を指定する。
これは、どのコードページを処理するかを指定する。 (番号で、例えば 850 を指定する)
これは、処理すべき入力ファイルである。 コンパイル 'c' を指定した場合、 このファイルには、Samba の source/codepages ディレクトリにあるファイルのような、テキスト形式のコードページ定義 ファイルを指定する。逆コンパイル 'd' を指示した場合、 このファイルには、Samba をインストールしたディレクトリ内の lib/codepages ディレクトリにあるファイルのような、 バイナリ形式のコードページ定義ファイルを指定する。
出力ファイルを指定する。
テキスト形式の Samba コードページ定義ファイルには、指定された DOS コードページ中の ASCII コード 127 より大きな文字について、 Samba が大文字から小文字へマッピングする方法が記述されている。 特定の DOS コードページ(たとえば 437)では、小文字から大文字への マッピングが非対称で行われる場合があることに注意されたい。例えば 小文字から大文字に変換する際、コードページ 437 (いわゆるウムラウトを含む欧州文字) のアクセント記号が付いた小文字 a は単純な大文字 A に変換するが、 逆の場合は、単純な大文字 A を単純な小文字 a に変換する。
バイナリ形式の Samba コードページ定義ファイルは、 バイナリによる同じ表現であり、どのコードページについて 記述されているかの値も含んでいる。
Samba (現在の Samba バージョン 2.2)は、まだ UNICODE を利用していないため、 使用している特定の言語のにおいて大文字/小文字をきちんと区別したいときには、 DOS と Windows クライアントが使うクライアントのコードページを指定する必要がある。 既定値のコードページは 850 (西ヨーロッパ)である。テキスト形式のコードページの 定義のサンプルは、コードページ 437 (米国)、 737 (ギリシア語)、850 (西ヨーロッパ)、 852 (MS-DOS Latin 2)、 861 (アイスランド)、866 (キリル)、932 (シフト JIS 漢字)、 936 (簡体字中国語)、 949 (韓国ハングル)、950 (繁体字中国語) 用に Samba のディストリビューションとして提供されている。利用者は、利用者用の固有の コードページのためのテキスト形式のコードページ定義を書き、それを samba@samba.org に寄付することを推奨する。 Samba の source/codepages ディレクトリにあるすべてのコードページファイルは、 'make install' コマンドが実行されたときにコンパイルされ、 インストールされる。
smbd サーバが利用するクライアントの コードページは、smb.conf ファイルの client code page パラメータで指定する。
codepage_def.<codepage>
Samba の source/codepages ディレクトリで 提供される入力(テキスト形式)コードページファイル。
テキスト形式のコードページ定義ファイルは 4 つのフィールドを 持つ複数の行からなる。それらのフィールドは:
lower: この行においてマップされる小文字(16進数表記)。
upper: 大文字(16進数表記)。小文字をこの文字にマップする。
map upper to lower: 論理値(True か False のどちらかを記述)。 ファイル名を小文字に変換するのとき、 指定された大文字を指定された小文字に変換するかを Samba に指示する。
map lower to upper: 論理値(True か False のどちらかを記述)。 ファイル名を大文字に変換するのとき、 指定された小文字を指定された大文字に変換するかを Samba に指示する。
codepage.<codepage> - Samba の lib/codepages/ ディレクトリに作成、 保管される出力(バイナリ形式)コードページファイル。
サーバプログラムとそのサポートファイルをどこに置くべきかは、 各システム管理者が判断すべき問題である。 よって、以下はただの提案である。
make_smbcodepage コマンドは /usr/local/samba階層にインストールすることを推奨する。 このディレクトリはすべてのユーザに読み込み可能で root のみ書き込み可能である。プログラムはすべてのユーザに実行可能にすべきである。 setuid,setgidをこのコマンドにけっして行わないように。
オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作成された。現在 Samba は Samba Team によって、 Linux カーネルの開発と同様の オープンソースプロジェクトとして開発が行なわれている。
オリジナルの Samba マニュアルページは Karl Auer によって作成された。マニュアルページは YODL 形式( ftp://ftp.icce.rug.nl/pub/unix/ で入手可能な優れた オープンソースソフトウェア) に変換され、Samba 2.0 リリースに伴い、 Jeremy Allison によって更新された。Samba 2.2 における DocBook 形式への変換は、Gerald Carter によって行なわれた。