# make_smbcodepage

## Name

make_smbcodepage -- Samba 用のコードページファイルの構築

## Synopsis

make_smbcodepage {c|d} {codepage} {inputfile} {outputfile}

## DESCRIPTION

このツールは Samba スイートの一部である。

make_smbcodepage は Samba 2.2 の国際化機能で使うコードページファイルをコンパイルしたり 逆コンパイルする。

## オプション

c|d

  make_smbcodepage に、テキスト形式の コードページファイルをバイナリ形式にコンパイルさせるか(c)、 バイナリ形式のコードページファイルをテキスト形式に逆コンパイルさせるか (d) を指定する。

codepage

  これは、どのコードページを処理するかを指定する。 (番号で、例えば 850 を指定する)

inputfile

  これは、処理すべき入力ファイルである。 コンパイル 'c' を指定した場合、 このファイルには、Samba の `source/codepages` ディレクトリにあるファイルのような、テキスト形式のコードページ定義 ファイルを指定する。逆コンパイル 'd' を指示した場合、 このファイルには、Samba をインストールしたディレクトリ内の `lib/codepages` ディレクトリにあるファイルのような、 バイナリ形式のコードページ定義ファイルを指定する。

outputfile

  出力ファイルを指定する。

## Samba コードページファイル

テキスト形式の 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 バージョン 2.2 一式用である。

## 参照

smbd(8)、 smb.conf(5)

## 著者

オリジナルの 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 によって行なわれた。

## 日本語訳

- 太田 俊哉(ribbon@samba.gr.jp)

- 堀田倫英(sim@remus.dti.ne.jp)

- 佐藤 文優(fumiya@samba.gr.jp)

- はせがわ ようすけ