This is ndtpd-ja.info, produced by makeinfo version 4.8 from
ndtpd-ja.texi.

INFO-DIR-SECTION CD-ROM Book Utilities
START-INFO-DIR-ENTRY
* NDTPD-ja: (ndtpd-ja).         Server for accessing CD-ROM books with NDTP.
END-INFO-DIR-ENTRY

   NDTPD: NDTP サーバ、笠原基之

   Copyright (C) 1997, 98, 99, 2000, 01  Motoyuki Kasahara

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by Free Software Foundation, Inc.


File: ndtpd-ja.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)

   この文書は第 3.1.5 版です。NDTPD バージョン 3.1.5 に対応しています。

* Menu:

* Introduction::                はじめに
* Installation::                NDTPD のインストール
* Configuration File::          設定ファイルの書き方
* Configuration Checker::       設定ファイルの確認
* Setup Your Environment::      環境設定
* Start the Server::            `ndtpd' の起動
* Terminate and Restart::       `ndtpd' の終了および再始動
* Daily Works::                 毎日の管理作業
* Network License::             ネットワークライセンス

* FAQ::                         よく訊かれる質問集

 --- The Detailed Node Listing ---

NDTPD のインストール

* Basic Installation::          基本的なインストール方法
* Compilers and Options::       コンパイラとコンパイルオプションの選択
* Multiple Architectures::      複数のアーキテクチャでコンパイル
* Installation Names::          インストール名の変更
* Optional Features::           取捨選択の可能な機能
* System Type::                 システムの種類
* Sharing Defaults::            `configure' スクリプトのデフォルト
                                を共通の値に設定するには
* Operation Controls::          `configure' の動作の制御
* Optional Feature List::       取捨選択の可能な機能の一覧

設定ファイル

* Single Directive::            単独指示子の一般形
* Single Directive List::       単独指示子の一覧
* Group Directive::             複合指示子の一般形
* Book Group Directive::        複合指示子の一覧
* Sample Configuration::        設定ファイルの例

設定ファイルのチェックコマンド

* Invoking ndtpcheck::          `ndtpcheck' の実行
* ndtpcheck Options::           `ndtpcheck' のオプション

環境設定

* Services::                    `services' ファイルの設定
* Syslog::                      `syslog.conf' ファイルの設定
* Working Directory::           NDTPD の作業用ディレクトリ
* Mount CD-ROM Books::          CD-ROM 書籍のマウント
* Appendix Package::            appendix パッケージの用意
* Install NDTP Client::         NDTP クライアントのインストール

サーバの起動

* Run as Standalone::           `ndtpd' をスタンドアロンで起動
* Run as a Child of inetd::     `ndtpd' を inetd 経由で起動
* Run as a Child of xinetd::    `ndtpd' を xinetd 経由で起動
* Checking with telnet::        `telnet' を用いた確認
* ndtpd Options::               `ndtpd' のオプション

サーバの終了および再始動

* Invoking ndtpcontrol::        `ndtpcontrol' の実行
* ndtpcontrol Options::         `ndtpcheck' のオプション

毎日の管理作業

* ndtpdaily Options::           `ndtpdaily' のオプション

ネットワークライセンス

* Count the Number of Clients::  クライアントの数え上げ

よく訊かれる質問集

* Question 1::                  質問 1 (`ndtpd' がすぐに終了する)
* Question 2::                  質問 2 (書籍が読めません)
* Question 3::                  質問 3 (appendix パッケージ)
* Question 4::                  質問 4 (`diclookup-mule')
* Question 5::                  質問 5 (すべての接続を拒否)
* Question 6::                  質問 6 (テキストが変な位置で切れる)


File: ndtpd-ja.info,  Node: Introduction,  Next: Installation,  Prev: Top,  Up: Top

1 はじめに
**********

NDTPD は TCP 上の NDTP (Network Dictionary Transfer Protocol) という
プロトコルを用いて、CD-ROM 書籍へのアクセスを行うサーバです。 dserver
は NDTPD に置き換えることが可能です。

   NDTPD は UNIX 系 OS のシステム上で動作させることができます。 EB,
EBG, EBXA, EBXA-C, S-EBXA および EPWING 形式の CD-ROM 書籍に対応し
ています。 これらの形式の CD-ROM 書籍は、日本で一般的に使われています。
CD-ROM 書籍自体は ISO 9660 形式になっていますので、他の ISO 9660 形式
と同じ要領でマウントすることができます。

   サーバのコマンドは `ndtpd' といいます。 `ndtpd'
は、デフォルトではスタンドアロンで動作しますが、`inetd'
経由で起動するようにすることも可能です。

   NDTPD はフリーソフトウェアです。あなたは、Free Software Foundation が
公表した GNU General Public License (GNU 一般公有使用許諾) バージョン 2
あるいはそれ以降の各バージョンの中からいずれかを選択し、そのバージョ
ンが定める条項に従って本プログラムを再頒布または変更することができます。

   NDTPD
は有用とは思いますが、頒布にあたっては、市場性及び特定目的適合性
についての暗黙の保証を含めて、いかなる保証も行ないません。詳細について
は GNU General Public License をお読み下さい。

   加えて、あなたは自分の所有する CD-ROM
書籍の使用許諾も守らなくてはいけ ません。 NDTPD
はフリーソフトウェアですが、あなたの書籍が自由に使えるものである
とは限りません。
使用を許されていないホストやユーザに対して、あなたの書籍を公開しないで
下さい。

   この文書は NDTPD バージョン 3.1.5 に対応しています。

   最新の NDTPD は `ftp://ftp.sra.co.jp/pub/net/ndtp/ndtpd/'
から入手できます。

   NDTPD に関する情報は `http://www.sra.co.jp/people/m-kasahr/ndtpd/'
から得ることができます。

   コメントやバグの報告は <m-kasahr@sra.co.jp>
宛に、日本語か英語でお送り下さい。


File: ndtpd-ja.info,  Node: Installation,  Next: Configuration File,  Prev: Introduction,  Up: Top

2 NDTPD のインストール
**********************

NDTPD は CD-ROM 書籍にアクセスするために、EB ライブラリを使用していま
す。 NDTPD をインストールする前に、EB ライブラリ 3.3 もしくはそれ以降の
バージョンをインストールする必要があります。

   最新の EB ライブラリは `ftp://ftp.sra.co.jp/pub/misc/eb/'
から入手できます。

   EB ライブラリに関する情報は
`http://www.sra.co.jp/people/m-kasahr/eb/' から得ることができます。

* Menu:

* Basic Installation::          基本的なインストール方法
* Compilers and Options::       コンパイラとコンパイルオプションの選択
* Multiple Architectures::      複数のアーキテクチャでコンパイル
* Installation Names::          インストール名の変更
* Optional Features::           取捨選択の可能な機能
* System Type::                 システムの種類
* Sharing Defaults::            `configure' スクリプトのデフォルト
                                を共通の値に設定するには
* Operation Controls::          `configure' の動作の制御
* Optional Feature List::       取捨選択の可能な機能の一覧


File: ndtpd-ja.info,  Node: Basic Installation,  Next: Compilers and Options,  Prev: Installation,  Up: Installation

2.1 基本的なインストール方法
============================

以下に記したのは、一般的なインストールの方法です。

   `configure' シェルスクリプトは、コンパイル中に使用される、システム
依存のチェック項目の値を正しく推定しようと努めます。
`configure'は、判定した値を利用してパッケージ中の各ディレクトリの
`Makefile'を生成します。 加えて、システムに依存する定義内容を記した
`.h' ファイルを一つもし くはいくつか生成することもあります。
最後に、`configure' は `config.status' というシェルスクリプト
`config.cache'、`config.log' というファイルを生成します。
`config.status' は、現在のコンフィグレーションを後で再度生成すると
きに用います。 `config.cache'
は、再度コンフィグレーションを行うときにスピードアッ
プを図るために、テストの結果を保存してあります。 `config.log'
には、(主に `configure' のデバッグに役立つような)
コンピュータの出力が記録されています。

あなたがパッケージをコンパイルするにあたって、特別なことをしなければなら
なかったときは、`configure' がどのような判定をしていたのかを調べて
みて、`README' に記されたアドレスに宛てて、相違点や指摘をメールで送っ
て下さい。 そうすれば、次回のリリースに向けて検討されると思います。
もし、`config.cache' に見られたくない結果が記録されている場合は、そ
の部分を削除したり編集したりしても構いません。

   `configure.in' というファイルは、`autoconf' というプログラムが
`configure' を生成するときに参照します。 あなたにとって `configure.in'
というファイルが必要になるのは、 `configure.in'
の内容を変更したい場合か、`autoconf' のもっと新 しいバージョンで
`configure' を生成したい場合の、いずれかだけです。

パッケージの最も単純なコンパイル方法は次の通りです。

  1. パッケージのソースコードが置かれているディレクトリに移動 (`cd')
     し、 あなたのシステム向けのコンフィグレーションを行うために
     `./configure' を実行します。 あなたが古いバージョンの System V で
     `csh' を使用している場合は、 `csh'
     自身がスクリプトを実行してしまわないように、 `sh. /configure'
     とする必要があるかも知れません。

     `configure' の実行には少々時間がかかります。
     実行している間は、どのような項目をチェックしているのかを記したメッセージ
     が出力されます。

  2. `make' を実行してパッケージをコンパイルします。

  3. 任意で、パッケージに付属しているセルフテストを実行する場合は、
     `make check' を実行します。

  4. `make install' を実行して、プログラムおよびデータファイル、ドキュメ
     ントをインストールします。

  5. `make clean' を実行すると、生成されたプログラムのバイナリファイルや
     オブジェクトファイルを、ソースコードの置かれたディレクトリから消すことが
     できます。 一緒に `configure' が生成したファイルも消すには
     (こうすることで、別
     の種類のコンピュータでパッケージをコンパイルできます)、 `make
     distclean' を実行します。 `make maintainer-clean'
     というターゲットも用意されていますが、これ
     は主にそのパッケージの開発者のためのものです。 `make
     maintainer-clean' を実行してしまうと、パッケージに元々含まれ
     ていたファイルを再生成するために、他のいろいろなプログラムを入手しなくて
     はいけなくなるかも知れません。


File: ndtpd-ja.info,  Node: Compilers and Options,  Next: Multiple Architectures,  Prev: Basic Installation,  Up: Installation

2.2 コンパイラとコンパイルオプション
====================================

システムによっては、`configure' スクリプトが理解していない、コンパ
イルやリンクのための特別なオプションを与える必要があります。
環境変数を通して、`configure' に対して初期値を与えることができます。
Bourne
シェルと互換性のあるシェルを使用している場合は、次のようにします。
     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure

`env' というコマンドがシステムにあるならば、次のようにすることも
できます。
     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure


File: ndtpd-ja.info,  Node: Multiple Architectures,  Next: Installation Names,  Prev: Compilers and Options,  Up: Installation

2.3 複数のアーキテクチャでのインストール
========================================

オブジェクトファイルをアーキテクチャ毎に別々のディレクトリに置くようにす
ることにより、種類の異なる複数のコンピュータが、パッケージを同時にコンパ
イルできます。 これを行うには、GNU `make' のように、`VPATH'
変数に対応した `make' を使用する必要があります。
オブジェクトファイルや実行形式のファイルを置いておきたいディレクトリに移
動 (`cd') して、そこで `configure' スクリプトを実行します。 `configure'
は、自身の存在するディレクトリおよび `..' にソース
コードがあるかどうかを自動的に調べます。

   `VPATH' 変数に対応していない `make' を使用している場合は、ソー
スコードディレクトリの下で、一度に一つのアーキテクチャずつコンパイルして
いくしかありません。一つのアーキテクチャのコンパイルが終わったら、別のアー
キテクチャでコンパイルするために再コンフィグレーションを行う前に `make
distclean' を実行して下さい。


File: ndtpd-ja.info,  Node: Installation Names,  Next: Optional Features,  Prev: Multiple Architectures,  Up: Installation

2.4 インストール名
==================

デフォルトでは、`make install' を実行すると、パッケージ中のファイ ルが
`/usr/local/bin'、`/usr/local/man' などにインストールさ れます。
`configure' に対して `--prefix=パス' オプションを指定
することで、`/usr/local' 以外のインストール先を指定するとができま ます。

アーキテクチャに依存したファイルとそうでないファイルを、それぞれ異なっ
たインストール先にインストールすることも可能です。 `configure' に対して
`--exec-prefix=パス' を指定すると、
プログラムやライブラリなどのインストール先が パス に変わります。
ドキュメントや、データファイルなどは、通常のインストール先にインストー
ルされます。

加えて、あなたが通常とは異なったディレクトリレイアウトを採用している場合
は、`--bindir=パス' といったオプションを指定することで、特定
の種類のファイルのインストール先だけを変えることができます。 `configure
--help' を実行すると、どのようなディレクトリを変更できる
のか、どのような種類のファイルがどのディレクトリにインストールされるのか
が分かります。

   パッケージがサポートしているならば、`configure' に
`--program-prefix=接頭辞' や `--program-suffix=接尾辞'
というオプションを与えることで、
インストール時にプログラム名に接頭辞や接尾辞を付加することができます。


File: ndtpd-ja.info,  Node: Optional Features,  Next: System Type,  Prev: Installation Names,  Up: Installation

2.5 取捨選択の可能な機能
========================

パッケージによっては、`configure' が `--enable-機能'
オプションを認識することがあります。 ここで 機能
は、パッケージにおいて取捨選択の可能な機能を表します。
また、`--with-パッケージ' オプションを認識することもありま す。 ここで
パッケージ は、`gnu-as' や (X ウィンドウシステムのた めの) `x'
といったものです。 `README' ファイルでは、どのような
`--enable-'、`--with-'
オプションをパッケージが認識するのか、記しておくべきです。

   一般に、X ウィンドウシステムを使用しているパッケージでは、`configure'
は X の include ファイルとライブラリファイルを自動的に見つけ出すことが
できますが、見つけられない場合は、`configure' のオプション
`--x-includes=ディレクトリ' と `--x-libraries=ディレクトリ'
を用いることでディレクトリの位置 を明示的に指定することができます。


File: ndtpd-ja.info,  Node: System Type,  Next: Sharing Defaults,  Prev: Optional Features,  Up: Installation

2.6 システムの種類の指定
========================

設定項目によっては、`configure' が自動的に識別できなくても、パッケー
ジが動作するホストの種類を基に決定しなければならないときもあります。
通常、`configure' はそのホストの種類を識別することができますが、も しも
`configure' がホストの種類を識別できないという旨のメッセージを
出力してきたときは、`--host=種類' オプションを与えて下さい。 種類 は
`sun4' のようなシステムの種類を表した短い名前か、ある いは次のように 3
つの項からなる正式名称のいずれかです。
     CPU-社名-システム
   それぞれの項にどのような値が指定可能なのかについては、`config.sub'
ファイルをご覧下さい。 パッケージが `config.sub'
を含んでいないのであれば、そのパッケージ
はホストの種類を識別する必要がないことを意味しています。

あなたがクロスコンパイルのためのコンパイラツールをインストールしようとし
ている場合は、`--target=種類' オプションを使用することで、ど
のホスト向けのコードを生成させるのかを指定できます。そして、
`--build=種類' オプションを使用することで、パッケージをコンパ
イルしようとしているシステムの種類を指定することができます。


File: ndtpd-ja.info,  Node: Sharing Defaults,  Next: Operation Controls,  Prev: System Type,  Up: Installation

2.7 デフォルト値の共有
======================

複数の `configure' スクリプトに対して共通のデフォルト値を設定したい
ときは、サイト毎に `config.site' というシェルスクリプトを作成し、そ
こに `CC' や `cache_file'、`prefix' といった変数のデフォ
ルト値を記述して下さい。 `configure' は `PREFIX/share/config.site'
があれば、 それを調べ、次に `PREFIX/etc/config.site' があればそれを
調べます。 あるいは、環境変数 `CONFIG_SITE'
を設定することで、サイト固有のスク
リプトの位置を指定することもできます。 ただし、すべての `configure'
スクリプトがサイト固有のスクリプトを見
に行くわけではありませんので、ご注意下さい。


File: ndtpd-ja.info,  Node: Operation Controls,  Next: Optional Feature List,  Prev: Sharing Defaults,  Up: Installation

2.8 `configure' の動作の制御
============================

`configure' は次に記したオプションを認識します。

`--cache-file=ファイル'
     テストの結果の読み込みや書き出しに使用するファイルは、通常
     `./config.cache' ですが、代わりに ファイル を用います。
     `configure' をデバッグするときは、ファイル に `/dev/null'
     を指定することで、キャッシュを抑制することができます。

`--help'
     `configure' のオプションの一覧を表示して、終了します。

`--quiet'
`--silent'
`-q'
     どのチェック項目を行っているのかを示すメッセージを出力しません。
     通常のメッセージ出力をすべて抑制するには、`/dev/null' へリダイレク
     トして下さい
     (ただし、エラーメッセージについては出力されてしまいますが)。

`--srcdir=ディレクトリ'
     パッケージのソースコードを探し出す際に、ディレクトリ を探します。
     通常、`configure' は自動的にディレクトリを決定します。

`--version'
     `configure' スクリプトがどのバージョンの Autoconf によって生成され
     たのかを表示して、終了します。

役に立つ場面は限られますが、`configure' には他にもいくつかのオプショ
ンが用意されています。


File: ndtpd-ja.info,  Node: Optional Feature List,  Prev: Operation Controls,  Up: Installation

2.9 選択可能な機能の一覧
========================

本パッケージの `configure' は以下に記した `--enable-' および `--with-'
オプションを認識します。

`--with-logdir=DIR'
     `ndtpdaily' がローテーションを行う syslog ファイル
     が置かれるディレクトリのデフォルトとして DIR を指定します。
     無指定時は、`LOCALSTATEDIR/ndtpd/log' です。

`--with-eb-conf=FILE'
     EB ライブラリの設定ファイルとして FILE を読み込みます。
     デフォルトは、`SYSCONFDIR/eb.conf' です。

`--with-gnu-ld'
     C コンパイラが GNU ld を使用していると仮定します。
     デフォルトは、`no' です。

`--enable-ipv6'
     IPv6 に対応させます。 システムが IPv6 に対応している場合、 The
     default value is `yes' if the system supports IPv6.



File: ndtpd-ja.info,  Node: Configuration File,  Next: Configuration Checker,  Prev: Installation,  Up: Top

3 設定ファイル
**************

`ndtpd' を始動させるためには、まず設定ファイルを編集する必要があ
ります。 `ndtpd' は始動時および再始動時にこのファイルを読み込みます。
このファイルの内容によって、サーバの様々な挙動が決定されます。

   NDTPD を `/usr/local' 以下にインストールし、かつ、マシン固有の
読み込み専用のデータを置くディレクトリ (`sysconfdir') の位置を
変更していなければ、無指定時に読み込まれる設定ファイルは
`/usr/local/etc/ndtpd.conf' になります。 設定ファイルの位置は、`ndtpd'
のコマンドラインオプション `--configuration-file' (あるいは `-c')
を用いることで変更 が可能です (*note `ndtpd' のオプション: ndtpd
Options.)。

   設定ファイルの中では、空行、および空白以外の最初の文字がハッシュ記号
(`#') である行は無視されます。 他の行はすべて、"単独指示子 (single
directive)" か "複合指示子 (group directive)"
のいずれかでなくてはなりません。
単独指示子と複合指示子は、どのような順序で定義しても差し支えありません。

   各行は、改行文字を含め 511 文字を越えてはなりません。

* Menu:

* Single Directive::            単独指示子の一般形
* Single Directive List::       単独指示子の一覧
* Group Directive::             複合指示子の一般形
* Book Group Directive::        複合指示子の一覧
* Sample Configuration::        設定ファイルの例


File: ndtpd-ja.info,  Node: Single Directive,  Next: Single Directive List,  Prev: Configuration File,  Up: Configuration File

3.1 単独指示子の一般形
======================

単独指示子とは、1 行で完結する指示子です。
単独指示子の一般形は次の通りです。

     指示子の名前    指示子の値

以下の例では、`syslog-facility' が指示子の名前、`local0' が その値です。

     syslog-facility    local0

指示子名の大文字と小文字は区別されますので、`syslog-facility' を
`Syslog-Facility' と書くことはできません。
指示子の名前と値の区切りには、空白かタブを用います。
連続した空白とタブが、行頭および行末にあった場合、それらは無視されます。


File: ndtpd-ja.info,  Node: Single Directive List,  Next: Group Directive,  Prev: Single Directive,  Up: Configuration File

3.2 単独指示子の一覧
====================

単独指示子には次のようなものがあります。

`ndtp-port'
     `ndtp-port' 指示子では、サーバが見張るポートの番号を指定し ます。
     指示子の値は、TCP のサービス名 (例: `NDTP') か、ポート番号 (例:
     `2010') でなくてはいけません。 `ndtpd' を `inetd'
     経由で起動した場合は、この指示子は 無視されます。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時の値は `NDTP' です。

`http-port'
     `ndtpd' はこの指示子を常に無視します。

`user'
     `user' 指示子では、`ndtpd' プロセスを所有するユーザを指定しま す。
     指示子の値は、ユーザ名 (例: `nobody') か、ユーザ ID (例: `65535')
     でなくてはいけません。
     別のユーザに所有ユーザを変える場合は、`ndtpd' を起動したときの所有
     ユーザが `root' でなくてはいけません。
     所有ユーザの変更に失敗すると、`ndtpd' は走行の継続を断念します。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。
     この指示子を定義しなかった場合、`ndtpd' プロセスの所有ユーザは変化
     しません。

     `ndtpuser' のようなダミーのユーザアカウントを一つ作って、それをこの
     指示子で指定することをお薦めします。

`group'
     `group' 指示子では、`ndtpd' プロセスのグループを指定し ます。
     指示子の値は、ユーザ名 (例: `nogroup') か、グループ ID (例:
     `65534') でなくてはいけません。
     グループの変更に失敗すると、`ndtpd' は走行の継続を断念します。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することもできません。
     この指示子を定義しなかった場合、`ndtpd' プロセスのグループ
     は変化しません。

     `ndtpgrp' のようなダミーのグループアカウントを一つ作って、それをこ
     の指示子で指定することをお薦めします。

`max-clients'
     `max-clients' 指示子では、同時に `ndtpd' に接続できるクライア
     ントの数の上限を指定します。 指示子の値は、0
     以上の整数でなくてはいけません。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時の値は `1' です。
     指示子の値を 0 に設定すると、無制限になります。

`hosts'
     `hosts' 指示子では、どのホストが `ndtpd' に接続でき、どのホス
     トが接続できないのかを指定します。 指示子の値は IP
     アドレス、ホスト名、アドレス/ネットマスク のいずれ かです。
     加えて、直前に感嘆符 (`!') を付けることができます。
     指示子の値が感嘆符で始まっていた場合は、それに続く IP アドレスま
     たはホスト名にマッチするホストからの接続要求は拒否します。
     感嘆符がない場合は、指示子の値にマッチするホストからの接続要求は
     許可します。


          # `host.xxx.yyy.jp' からの接続を許可する。
          hosts host.xxx.yyy.jp

          # `127.0.0.1' からの接続を許可する。
          hosts 127.0.0.1

          # `192.24.1.0/24'.からの接続を拒否する。
          hosts !192.24.1.0/24

     ホスト名に限り、アスタリスク (`*') と疑問符 (`?') を使うことが
     できます。 アスタリスクは、先頭の感嘆符を除いた任意の 0
     文字以上の文字列にマッチし ます。


          # `xxx.yyy.jp' ドメインのホストからの接続を拒否する。
          hosts !*.xxx.yyy.jp

          # どのホストからの接続も許可する。
          hosts *

     疑問符は "未知のホスト名" を表します。


          # ホスト名が分からないホストからの接続を拒否する。
          hosts !?

     この指示子は必ずしも定義する必要はありません。
     また、何度でも定義することが可能です。 設定ファイルに `hosts'
     指示子が無くてもエラーにはなりませんが、どの
     クライアントもサーバにはアクセスできなくなります。 いずれの
     `hosts' 指示子にもマッチしないホストからの接続要求は拒否さ れます。
     複数の `hosts' にマッチする場合は、設定ファイルの先頭に最も近いもの
     が採用されます。

     以下の例では、`sub1.xxx.yyy.jp' ドメインに属するホストからの接続要
     求は拒否していますが、それ以外の `xxx.yyy.jp' ドメインに属するホス
     トからの接続要求は許可しています。


          hosts !*.sub1.xxx.yyy.jp
          hosts *.xxx.yyy.jp

     この例では、指示子の順序は重要です。
     順序を引っくり返してしまうと、`sub1.xxx.yyy.jp' を含め、
     `xxx.yyy.jp' ドメインに属するすべてのホストがサーバに接続できてし
     まいます。


          # 間違い!!!
          hosts *.xxx.yyy.jp
          hosts !*.sub1.xxx.yyy.jp

     ホスト名を比較する際、`ndtpd' は常にクライアントの正式ホスト名を
     使用します。 ホスト名は、クライアントのアドレスから DNS
     などの名前解決のサービス を利用して取得します。
     別名は使用されませんので、注意して下さい。

     IPv6 アドレスおよび IPV6 アドレス/ネットマスク パターンを指定す
     ることも可能です。 IPv6 対応機能を有効にしてコンパイルされていない
     `ndtpd' は IPv4
     クライアントとしか通信できませんが、設定ファイルに書かれた IPv6
     アド レスを解釈することはできます。


          # `12ab:0:0:cd3/60' と `::1' からの接続を許可する。
          hosts ::1
          hosts 12ab:0:0:cd3/60

     `hosts' 指示子では、IPv4 アドレス (例 `192.168.1.1') とそれ
     に対応する IPv4 射影 IPv6 アドレス (例 `::ffff:192.168.1.1') は
     等価になります。 つまり、IPv4 クライアント `192.168.1.1' は
     `hosts' 指示子 `::ffff:192.168.1.1' にマッチし、IPv6 クライアント
     `::ffff:192.168.1.1' は `hosts' 指示子 `192.168.1.1'
     にマッチします。

`timeout'
     `timeout' 指示子では、交信が途絶えたクライアントとの接続を `ndtpd'
     が切断するまでの秒数を指定します。 指示子の値は、0
     以上の整数でなくてはいけません。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時の値は `900' (15分) です。
     指示子の値を 0 に設定すると、時間切れによる切断は行いません。

`work-path'
     `work-path' 指示子では、`ndtpd' の作業用ディレクトリ
     のパスを指定します (*note 作業用ディレクトリ: Working Directory.)。
     指示子の値は、絶対パスでなくてはいけません。 `ndtpd'
     はこのディレクトリの下に作業用のファイルをいくつか作成しま す。
     また、異常終了によってコアファイルをダンプするときは、このディレクトリに
     作成します。 この指示子は必ずしも定義する必要はありません。
     また、2 度以上定義することはできません。 NDTPD を `/usr/local'
     以下にインストールし、かつ、マシン固有の更新
     されうるデータを置くディレクトリ (`localstatedir') を変更していなけ
     れば、無指定時の値は `/usr/local/var/ndtpd/' になります。

`max-hits'
     `max-hits' 指示子では、一回の検索で `ndtpd' が返すヒット数の上
     限を指定します。 `ndtpd'
     は、この指示子で指定された値と同じだけのヒット数を見つけた
     時点で、ただちに検索を中止します。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時の値は `50' です。
     指示子の値を 0 に設定すると、無制限になります。

`max-text-size'
     `max-text-size' 指示子は、`ndtpd' がクライアントへの応答 1 回
     で返すテキストのバイト数の上限を指定します。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時の値は `32768' です。
     指示子の値を 0 に設定すると、無制限になります。

`syslog-facility'
     `syslog-facility' 指示子では、syslog のファシリティを指定します
     (例: `daemon', `local0' など)。
     この指示子は必ずしも定義する必要はありません。 また、2
     度以上定義することはできません。 無指定時は `daemon' を用います。
     また、`ndtpd' が設定ファイルを読み込み終わるまでは、`daemon'
     が用いられます。


File: ndtpd-ja.info,  Node: Group Directive,  Next: Book Group Directive,  Prev: Single Directive List,  Up: Configuration File

3.3 複合指示子の一般形
======================

複合指示子 (指示命令)
とは、記述が設定ファイル内の複数行に渡る指示子です。
複合指示子の一般形は次の通りです。

     begin 複合指示子の名前
         副指示子の名前    副指示子の値
                  :
                  : (repeated)
                  :
     end

キーワード `begin' は、複合指示子の開始を表します。 `begin' は後ろに
複合指示子の名前 を引数として取ります。 `begin' と 複合指示子の名前
は空白かタブで区切り、両方とも同 じ行の中に置きます。 キーワード `end'
は、複合指示子の終了を表します。 `end' は、単独で 1 行にして置きます。

   NDTPD バージョン 3.1.5 では、使用できる複合指示子の名前は `book'
だけです。 それぞれの "副指示子" は、`begin' と `end' の行の間に置き
ます。 副指示子に関する記述の一般的な規則は、単独指示子と変わりません
(たとえば、 副指示子の名前と 副指示子の値
は空白かタブで区切ることなど)。

   以下は、 `book' 複合指示子の記述例です。

     begin book
             name            EJDICT
             title           English Japanese Dictionary
             path            /mnt/cdrom
             hosts           127.0.0.1
             hosts           host.your.domain
     end


File: ndtpd-ja.info,  Node: Book Group Directive,  Next: Sample Configuration,  Prev: Group Directive,  Up: Configuration File

3.4 `book' 複合指示子
=====================

一つの `book' 複合指示子 は一冊の CD-ROM 書籍に対応しますので、 CD-ROM
書籍一冊ごとにこの複合指示子を定義しなくてはいけません。 `book'
複合指示子の副指示子として、NDTPD が認識するものは次の通りで す。

`name'
     `name' 副指示子では、その書籍の名前を指定します。
     副指示子の値に用いることができるのは、英小文字 (`a'..`z')、 数字
     (`0'..`9')、下線 (`_')、ハイフン (`-') だけで、 長さは 14
     文字までです。
     この名前は、書籍を識別するために使いますので、各書籍には異なる名前を付け
     なくてはいけません。 この副指示子は、それぞれの `book'
     複合指示子に必須です。 また、1 つの `book' 複合指示子で 2
     度以上定義することはできません。

`title'
     `title' 副指示子では、その書籍の題名を指定します。
     副指示子の値には、改行文字とナル文字 (`\0') を除く任意の文字を使っ
     て指定することができますが、長さは 80 バイトまでです。 EUC
     (Extended Unix Code) を用いれば日本語の文字も使用可能です。
     副指示子の値の中に空白やタブを用いることも可能で、これらは他の文字と同じ
     く一文字として解釈されます。

     この副指示子は、それぞれの `book' 複合指示子に必須です。 また、1
     つの `book' 複合指示子で 2 度以上定義することはできません。

`path'
     `path' 副指示子では、その書籍の絶対パスを指定します。
     パスはその書籍のトップディレクトリ、つまり `CATALOG' または
     `CATALOGS' ファイルの存在するディレクトリを指してしなくてはいけませ
     ん。

     この副指示子は、それぞれの `book' 複合指示子に必須です。 また、1
     つの `book' 複合指示子で 2 度以上定義することはできません。

`appendix-path'
     `appendix-path' 副指示子では、その書籍に対応する appendix (付録)
     パッ ケージの絶対パスを指定します。 パスは appendix
     パッケージのトップディレクトリ、つまり `CATALOG' または `CATALOGS'
     ファイルの存在するディレクトリを指してしなくては いけません。

     この副指示子は、必ずしも定義する必要はありません。 また、1 つの
     `book' 複合指示子で 2 度以上定義することはできません。
     書籍を使う上で、appendix
     パッケージは必須ではありませんが、ないと外字が
     識別不可能になるため、読みづらいかも知れません。

`max-clients'
     `max-clients' 副指示子には、この書籍を同時にいくつのクライアントが
     使うことができるのかを指定します。 副指示子の値には、0
     以上の整数を指定します。
     この副指示子は、必ずしも定義する必要はありません。 また、1 つの
     `book' 複合指示子で 2 度以上定義することはできません。
     無指定時の値は `1' です。 0 を指定すると、無制限になります。

`hosts'
     `hosts' 副指示子には、この書籍にどのホストがアクセスできて、どのホ
     ストができないのかを指定します。
     この副指示子は、必ずしも定義する必要はありません。 また、1 つの
     `book' 複合指示子で何度でも定義することが可能です。 `book'
     複合指示子が `hosts' 副指示子を持たなくてもエラーにはな
     りませんが、その書籍はどのクライアントからもアクセスできません。

     この副指示子の表記方法は、単独指示子の `hosts' と同じです。

`alias-eiwa'
`alias-waei'
`alias-kojien'
     大抵の NDTP
     クライアントは、サーバと接続する度に書籍の一覧をサーバから
     取得しますが、古い NDTP クライアントにはこれができません。 古い
     NDTP クライアントは、`eiwa'、`waei'、`kojien' とい う 3
     つの決まった書籍名しか理解しません。 `eiwa'
     という別名は英和辞典用、`waei' は和英辞典用、 `kojien'
     は日本語の国語辞典用です。 NDTP サーバがこれら 3
     つの書籍名を持った書籍を提供していることを、古い NDTP
     クライアントは前提としていますが、この規則はすでに時代遅れとなって
     います。

     このようなクライアントのために、この副指示子を用いることで `eiwa',
     `waei', and `kojien' という書籍名を別名 (alias)
     として定義し、正式な書籍名と対応させることができます。
     副指示子の値には、その書籍に含まれる副本 (subbook)
     のディレクトリ名を記 します。

     `ebinfo' コマンドを用いると、あなたの所有している書籍にどのような副
     本が含まれているのかを知ることができます。 NDTPD を `/usr/local'
     以下にインストールし、かつ、一般ユーザが実行
     しうるコマンドを置くディレクトリ (`bindir') を変更していなければ、
     `ebinfo' コマンドは `/usr/local/bin' にインストールされていま す。
     以下は `ebinfo' の実行例です。

          % ebinfo /mnt/cdrom
          ディスクの形式: EB/EBG/EBXA/EBXA-C/S-EBXA
          文字コード: JIS X 0208
          副本の数: 2
          副本  1:
            題名: 新英和辞典（第三版）
            ディレクトリ: ejdict
            検索方式: 前方一致 後方一致 条件 メニュー
            フォントの大きさ: 16 24 30 48
            半角フォントの文字: 0xa121 -- 0xa24e
            全角フォントの文字: 0xa321 -- 0xa27e
          副本  2:
            題名: この書籍の使い方
            ディレクトリ: howto
            検索方式: 前方一致 後方一致 条件 メニュー
            フォントの大きさ: 16 24 30 48
            半角フォントの文字:
            全角フォントの文字: 0xa321 -- 0xa27e

     `ebinfo' は `ndtpd' の設定ファイルは読み込まないので、その点は
     ご注意下さい。 CD-ROM
     書籍のトップディレクトリをコマンド行の引数で明示的に指定する必要
     があります (`ebinfo' についての詳細は *note `ebinfo' の実行:
     (ebinfo-ja)Invoking ebinfo.)。

     この例では、2
     つの副本が書籍には含まれており、それらのディレクトリ名は `ejdict'
     と `howto' だということが分かります。 そこで、`eiwa'
     という別名を次のように定義することができます。


          alias-eiwa    ejdict

     複数の別名を同一の副本に対応させることは可能ですが、それぞれの別名は設定
     ファイル内で一回しか定義できません。
     これらの副指示子は、必ずしも定義する必要はありません。


File: ndtpd-ja.info,  Node: Sample Configuration,  Prev: Book Group Directive,  Up: Configuration File

3.5 設定ファイルの例
====================

NDTPD を `/usr/local' 以下にインストールし、かつ、マシン固有の読み
込み専用のデータを置くディレクトリ (`sysconfdir') の位置を変更して
いなければ、この設定ファイルのサンプルは
`/usr/local/etc/ndtpd.conf.sample' にインストールされています。

     ######################################################################
     # NDTPD の設定ファイルのサンプル
     # (このファイルを `ndtpd.conf' にコピーして、編集してください)
     ######################################################################

     ### `ndtpd' が見張るポート番号
     ### (無指定の場合: ndtp)
     # ndtp-port	ndtp

     ### `ebhttpd' が見張るポート番号
     ### (無指定の場合: http)
     # http-port	http

     ### サーバのプロセスの所有ユーザ
     ### (無指定の場合: なし)
     user		ndtpuser

     ### サーバのプロセスのグループ
     ### (無指定の場合: なし)
     group		ndtpgrp

     ### サーバに同時に接続できるクライアントの数
     ### (無指定の場合: 1)
     # max-clients	1

     ### サーバに接続できるホスト、できないホスト
     ### (無指定の場合: なし)
     hosts		127.0.0.1
     hosts		::1
     hosts		!?
     hosts		host.your.domain

     ### サーバが交信の途絶えたコネクションを切るまでの時間
     ### (無指定の場合: 900)
     # timeout		900

     ### 作業用ディレクトリのパス
     ### サーバを起動する前に、このディレクトリを作り、サーバプロセスが
     ### 書き込めるようにしておいて下さい。
     ### (無指定の場合: /usr/local/var/ndtpd)
     # work-path	/usr/local/var/ndtpd

     ### 一回の検索で、サーバが返す、ヒットしたエントリの最大個数
     ### (無指定の場合: 50)
     # max-hits	50

     ### クライアントへの一回の応答で、サーバが返すテキストの最大サイズ
     ### (default: 32768)
     # max-text-size		32768

     ### syslog のファシリティ
     ### (無指定の場合: daemon)
     syslog-facility	local0

     ###
     ### 書籍のエントリ
     ###
     begin book
         ### 書籍名
         ### (必須)
         name		JITENBAN97

         ### 書籍の題名
         ### (必須)
         title		Jitenban 97

         ### 書籍のトップディレクトリ
         ### (必須)
         path		/cdrom

         ### appendix (付録) パッケージのトップディレクトリ
         ### (無指定の場合: なし)
         appendix-path	/usr/local/share/eb/appendix/jitenban97-2.1

         ### 同時にアクセスできるクライアントの数
         ### (無指定の場合: 1)
         max-clients		1

         ### この書籍を利用できるホスト、できないホスト
         ### (無指定の場合: なし)
         hosts		127.0.0.1
         hosts		::1
         hosts		!?
         hosts		host.your.domain

         ### 別名の定義
         ### (無指定の場合: なし)
         alias-eiwa		CHUJITEN
         alias-waei		CHUJITEN
         alias-kojien	IWAKOKU
     end

     ### もし、NDTPD を介して読みたい CD-ROM 書籍が他にもあるなら、`book'
     ### 複合指示子  (`begin book' から `end' の間の行) を追加し
     ### て下さい。`book' 複合指示子は、書籍一冊毎に必要です。


File: ndtpd-ja.info,  Node: Configuration Checker,  Next: Setup Your Environment,  Prev: Configuration File,  Up: Top

4 設定ファイルのチェックコマンド
********************************

編集し終えた設定ファイルをチェックするには、`ndtpcheck' というチェッ
クコマンドを使うと良いでしょう。 NDTPD を `/usr/local'
以下にインストールし、かつ、システム管理用の コマンドを置くディレクトリ
(`sbindir') の位置を変更していなければ、 `ndtpcheck' は
`/usr/local/sbin' にインストールされています。

* Menu:

* Invoking ndtpcheck::          `ndtpcheck' の実行
* ndtpcheck Options::           `ndtpcheck' のオプション


File: ndtpd-ja.info,  Node: Invoking ndtpcheck,  Next: ndtpcheck Options,  Prev: Configuration Checker,  Up: Configuration Checker

4.1 `ndtpcheck' の実行
======================

`ndtpcheck' コマンドは、`ndtpd' と同じ要領で設定ファイルを読
み込んで、チェックします。 `ndtpcheck'
コマンドの一般的な起動方法は次の通りです。

     % /usr/local/sbin/ndtpcheck

ただし、NDTPD を `/usr/local' 以下にインストールし、かつ、システム
管理用のコマンドを置くディレクトリ (`sbindir') の位置を変更していな
いと仮定しています。

   記述の誤りが発見されると、`ndtpcheck' は標準エラー出力に以下のよう
なメッセージを出力します。

     /usr/local/etc/ndtpd.conf:12: unknown user: noboy
     configuration failure


File: ndtpd-ja.info,  Node: ndtpcheck Options,  Prev: Invoking ndtpcheck,  Up: Configuration Checker

4.2 `ndtpcheck' のオプション
============================

`ndtpcheck' コマンドは、伝統的な一文字オプション名と覚えやすい長い
オプション名の両方を扱うことができます。
長いオプション名を表すには、`-' ではなく `--' を用います。
オプション名が一意に決まる範囲内で、名前の後方部分を省略することができま
す。

   `ndtpcheck' コマンドは以下に挙げたオプションを解釈することができま
す。

`-c ファイル'
`--configuration-file ファイル'
     設定ファイルを指定します。
     無指定時のファイル名は、ヘルプメッセージの中に記されています。

`-d'
`--debug'
`--verbose'
     デバッグ用の情報を標準エラー出力に出力します。
     デバッグ用の情報は、設定ファイルの各行がどのように解釈されるのかを示して
     くれます。

`-h'
`--help'
     ヘルプメッセージを標準出力に出力して、終了します。

`-v'
`--version'
     バージョン番号を標準出力に出力して、終了します。


File: ndtpd-ja.info,  Node: Setup Your Environment,  Next: Start the Server,  Prev: Configuration Checker,  Up: Top

5 環境設定
**********

サーバ周辺のシステムの環境を設定をする必要があるかも知れません。
設定には、おそらくスーパーユーザの権限が必要になるでしょう。

* Menu:

* Services::                    `services' ファイルの設定
* Syslog::                      `syslog.conf' ファイルの設定
* Working Directory::           NDTPD の作業用ディレクトリ
* Mount CD-ROM Books::          CD-ROM 書籍のマウント
* Appendix Package::            appendix パッケージの用意
* Install NDTP Client::         NDTP クライアントのインストール


File: ndtpd-ja.info,  Node: Services,  Next: Syslog,  Prev: Setup Your Environment,  Up: Setup Your Environment

5.1 `services' ファイル
=======================

サービス名 `ndtp' があなたのシステムの `services' ファイルに
無ければ、追加しなくてはなりません (大抵の場合 `/etc/services')。
もし、あなたのホストが NIS クライアントならば、代わりに NIS サーバ上にあ
る NIS のマップを修正しなくてはなりません。

   もし、次の行が無ければ足します。

     ndtp          2010/tcp

次のように、システムの `services' ファイルにはすでに別のサービス 名で
`2010/tcp' というエントリが入っているかも知れません。

     search        2010/tcp

この場合は、`ndtp' というサービス名を別名としてその行に追加して 下さい。

     search        2010/tcp        ndtp

(詳しくは、あなたのシステムのマニュアルをご覧下さい。)


File: ndtpd-ja.info,  Node: Syslog,  Next: Working Directory,  Prev: Services,  Up: Setup Your Environment

5.2 `syslog.conf' ファイル
==========================

`ndtpd' は syslog を使ってログを残します。 `syslogd' の設定ファイル
(大抵の場合 `/etc/syslog.conf') に、 次のような行を追加して下さい。
一般にフィールドの区切りにはタブしか許されていませんので、空白を使わな
いように注意して下さい。

     local0.info   /usr/local/var/ndtpd/log/ndtpd.log

`ndtpd' が使用する syslog のファシリティは、`ndtpd' の設定 ファイルの
`syslog-facility' 指示子で決まることに留意して下さい (*note
`syslog-facility': Single Directive List.)。

   もしログファイルが存在しなければ、空のファイルを作成します。

     % touch /usr/local/var/ndtpd/log/ndtpd.log
     % chmod 644 /usr/local/var/ndtpd/log/ndtpd.log

現在走行している `syslogd' プロセスの PID を調べます。

     % ps axuww | grep syslogd

(詳しくは、あなたのシステムのマニュアルをご覧下さい。)
`syslogd' が走っているならば、次のような行が見つかるはずです。

     root        63  0.0  1.1   188  316  ??  Is   10:04PM    0:00.16 syslogd

ハングアップシグナル (`SIGHUP') を `syslogd' に送ると、 `syslogd' は
`syslog.conf' を読み込み直します。

     % kill -HUP 63

あなたのシステムに `logger' コマンドがあれば、次のようにして `syslogd'
にテストメッセージを送ることができます。

     % logger -p local0.info "test message"


File: ndtpd-ja.info,  Node: Working Directory,  Next: Mount CD-ROM Books,  Prev: Syslog,  Up: Setup Your Environment

5.3 作業用ディレクトリ
======================

`ndtpd' は作業用のディレクトリの下にいくつかのファイルを作成します。
このディレクトリは、設定ファイルの中の `work-path' 指示子
で指定することができます (*note `work-path': Single Directive List.)。

   このディレクトリを作り、`ndtpd' プロセスとスーパーユーザだけが書き
込めるようにしておいて下さい。

     # mkdir /usr/local/var/ndtpd
     # chown ndtpuser /usr/local/var/ndtpd
     # chmod 755 /usr/local/var/ndtpd

(あなたのシステムでは `ndtpd' プロセスを所有するユーザが `ndtpuser'
であると仮定しています。)

   ただし、`ndtpd' プロセスの 所有ユーザとグループは、設定ファイルの中
の `user', `group' 指示子でそれぞれ決まりますので、注意 して下さい
(*note `user': Single Directive List, および *note `group': Single
Directive List.)。


File: ndtpd-ja.info,  Node: Mount CD-ROM Books,  Next: Appendix Package,  Prev: Working Directory,  Up: Setup Your Environment

5.4 CD-ROM 書籍のマウント
=========================

先に述べたように、CD-ROM 書籍自体は ISO 9660 形式に従っています。
CD-ROM 書籍は、他の ISO 9660 形式のディスクと同じ方法でマウントすること
ができます。 もし、ISO 9660 の CD-ROM
ディスクのマウント方法が分からなければ、あなた
のシステムのマニュアルを調べて下さい。

   `ndtpd' は `ebzip' で圧縮された辞書をアクセスすることができ ます
(*note 圧縮: (ebzip-ja)Compression.)。


File: ndtpd-ja.info,  Node: Appendix Package,  Next: Install NDTP Client,  Prev: Mount CD-ROM Books,  Up: Setup Your Environment

5.5 appendix パッケージの用意
=============================

"appendix" ("付録") とは CD-ROM 書籍の補助データの ことです。 appendix
は CD-ROM 書籍の出版社から提供されているものではなく、 EB
ライブラリに固有のものです。

   appendix は以下のデータを CD-ROM 書籍に対して提供します。

本文の区切りコード
     あなたが NDTPD を使って CD-ROM 辞書の中のある
     単語を引く際、その単語の説明が終了する箇所で、NDTPD が本文の
     出力を止めることをあなたは期待するのではないでしょうか。
     しかし、NDTPD はそのような動作を保証することができません。
     なぜなら、CD-ROM
     書籍の本文には、項目の終わりを示す印が存在しないから です。

     幸いにも、多くの CD-ROM 書籍には、項目の終わりを示す印の代替として
     使える、"区切りコード" ("stop code") というものを 持っています。
     通常、NDTPD (正確には EB ライブラリ)
     はこの区切りコードを自動的に推測
     するようになっているのですが、時々誤った区切りコードを導き出すことが
     あります。 appendix
     の区切りコードは、その書籍の正しい区切りコードを NDTPD
     に教えてやるために用います。

外字の代替文字列
     多くの CD-ROM 書籍は、外字 (独自に定義した文字)
     を持っており、本文中で その外字を使っています。 CD-ROM
     書籍では外字のビットマップフォントを用意しており、 NDTP
     クライアントアプリケーションが外字を出力するには、そのフォントを
     描画しなくてはなりません。

     appendix では、外字の "代替文字列" ("alternation text")
     を定義することができます。
     アプリケーションは、ビットマップフォントを描画する代わりに、その代替
     文字列を出力することにしても良いでしょう。

   appendix パッケージのレイアウトは CD-ROM 書籍のものとよく似ています。
トップディレクトリには `CATALOG' もしくは `CATALOGS'
ファイルが存在し、各副本のデータは対応するサブディレクトリに配置されて
います。 appendx を使うには、設定ファイルの中の、複合指示子 `book' の
`appendix-path' 副指示子で指定します (*note `appendix-path': Group
Directive.)。

   EB ライブラリの公式な FTP サイト
(`ftp://ftp.sra.co.jp/pub/misc/eb/appendix/') に、appendix
パッケージがいくつか置いてあります。 ここに載っていない CD-ROM 書籍用の
appendix パッケージを作成する場合は、 `ebappendix'
コマンドを使いましょう。 appendix
のデータファイルの整形を行うことができます。


File: ndtpd-ja.info,  Node: Install NDTP Client,  Prev: Appendix Package,  Up: Setup Your Environment

5.6 NDTP クライアントのインストール
===================================

`ndtpd' は NDTP サーバですので、CD-ROM 書籍を読むためにはさらに
クライアントも必要です。
もし、まだクライアントのソフトウェアをインストールしていないのであれ
ば、インストールして下さい。 NDTPD の配布物には、NDTP
クライアントは含まれていません。

   Web ページ `http://www.sra.co.jp/m-kasahr/ndtpd/related.html' に
`ndtpd' と通信可能なクライアントソフトウェアの一覧があります。


File: ndtpd-ja.info,  Node: Start the Server,  Next: Terminate and Restart,  Prev: Setup Your Environment,  Up: Top

6 サーバの起動
**************

設定ファイルの編集を終えたならば、`ndtpd' を起動することができます。
`ndtpd' は、スタンドアロンのデーモン、あるいは `inetd' の子プ
ロセスとして起動することができます。
指定がなければ、スタンドアロンのデーモンとして起動するようになっています。

   サーバへコネクションが頻繁に来ないなら、メモリの消費を抑えるために
`ndtpd' を `inetd' の子プロセスとして起動する方が良いでしょう。

   しかし、`inetd' によって起動される度に、`ndtpd' は設定ファイル
を読み込み、初期化のために CD-ROM 書籍からデータを部分的に読み込みます。
コネクションが頻繁に来るようなら、`ndtpd' をスタンドアロンのデーモ
ンとして起動した方が良いでしょう。

* Menu:

* Run as Standalone::           `ndtpd' をスタンドアロンで起動
* Run as a Child of inetd::     `ndtpd' を inetd 経由で起動
* Run as a Child of xinetd::    `ndtpd' を xinetd 経由で起動
* Checking with telnet::        `telnet' を用いた確認
* ndtpd Options::               `ndtpd' のオプション


File: ndtpd-ja.info,  Node: Run as Standalone,  Next: Run as a Child of inetd,  Prev: Start the Server,  Up: Start the Server

6.1 スタンドアロンのデーモンとして起動
======================================

`ndtpd' をスタンドアロンのデーモンとして起動するには、次のようにコ
マンドを実行して下さい。スーパーユーザの権限が必要かも知れません。

     % /usr/local/sbin/ndtpd

NDTPD を `/usr/local' 以下にインストールし、かつ、システム管理用の
コマンドを置くディレクトリ (`sbindir') の位置を変更していなければ、
`ndtpd' は `/usr/local/sbin' にインストールされています。


File: ndtpd-ja.info,  Node: Run as a Child of inetd,  Next: Run as a Child of xinetd,  Prev: Run as Standalone,  Up: Start the Server

6.2 `inetd' の子プロセスとして起動
==================================

`ndtpd' を `inetd' の子プロセスとして起動には、次の手順が必
要になります。 次のエントリを `inetd.conf' ファイル (大抵の場合
`/etc/inetd.conf') に加えます。 `--inetd' (または `-i')
オプションを足すのを忘れないようにして 下さい。

     ndtp  stream  tcp  nowait  root  /usr/local/sbin/ndtpd ndtpd --inetd

(ただし、NDTPD を `/usr/local' 以下にインストールし、かつ、システム
管理用のコマンドを置くディレクトリ (`sbindir') の位置を変更していな
いと仮定しています。)

   走行している `inetd' プロセスの PID を探し出します。 BSD
系のシステムでは、次のようにします。

     % ps axuww | grep inetd

SYSV 系のシステムなら、次のようにします。

     % ps -ef | grep inetd

(詳しくは、あなたのシステムのマニュアルをご覧下さい。)
`inetd' が走っているならば、次のような行が見つかるはずです。

     root        79  0.0  1.1   224  340  ??  Is   10:04PM    0:00.29 inetd

見つかったならば、ハングアップシグナル (`SIGHUP') を `inetd'
に送ります。 おそらく、スーパーユーザの権限が必要です。

     % kill -HUP 79


File: ndtpd-ja.info,  Node: Run as a Child of xinetd,  Next: Checking with telnet,  Prev: Run as a Child of inetd,  Up: Start the Server

6.3 `xinetd' の子プロセスとして起動
===================================

Linux システムには、伝統的な `inetd' の代わりに `xinetd' を
使用しているものもあります。 `xinetd' の設定ファイルの文法は、伝統的な
`inetd' の設定ファイル の文法とは異なります。

   `ndtpd' を `xinetd' の子プロセスとして起動には、次の手順が必要
になります。 次のエントリを設定ファイル (大抵の場合
`/etc/xinetd.d/ndtp') に 加えます。 `--inetd' (または `-i')
オプションを足すのを忘れないようにして 下さい。

     # default: off
     # description: The ndtp server
     service ndtp
     {
             disable = no
             socket_type     = stream
             wait            = no
             user            = root
             server          = /usr/local/sbin/ndtpd
             server_args     = --inetd
             log_on_failure  += USERID
     }

(ただし、NDTPD を `/usr/local' 以下にインストールし、かつ、システム
管理用のコマンドを置くディレクトリ (`sbindir') の位置を変更していな
いと仮定しています。)

   走行している `xinetd' プロセスの PID を探し出します。

     % ps axuww | grep xinetd

`xinetd' が走っているならば、次のような行が見つかるはずです。

     root        79  0.0  1.1   224  340  ??  Is   10:04PM    0:00.29 xinetd

見つかったならば、USER2 シグナル (`SIGUSR2') を `xinetd' に送ります。
おそらく、スーパーユーザの権限が必要です。

     % kill -USR2 79


File: ndtpd-ja.info,  Node: Checking with telnet,  Next: ndtpd Options,  Prev: Run as a Child of xinetd,  Up: Start the Server

6.4 `telnet' を用いた確認
=========================

セットアップがすべて完了したら、`telnet' コマンドを用いて `ndtpd'
に接続してみましょう。

   まず、次のように入力します。 この例では、localhost 上の `ndtpd'
に接続しています。

     % telnet localhost ndtp

`ndtpd' が接続を受け付ければ、次のようなメッセージが表示さ れます。

     Connected to localhost.
     Escape character is '^]'.

ここで、<t> に続けて <Enter> を入力します。 `ndtpd'
が正常に動いていれば、次のように利用可能な CD-ROM
書籍の一覧を出力します。

     t
     1   Oxford Dictionary/Thesaurus   edict/oxford   0   0   0
     2   Quick Tour                    edict/quick    0   0   0
     3   User's Guide                  edict/user     0   0   0
     4   About This Disc               edict/about    0   0   0
     $*

接続を終えるには、<Q> に続けて <Enter> を入力します。

     Q
     Connection closed by foreign host.


File: ndtpd-ja.info,  Node: ndtpd Options,  Prev: Checking with telnet,  Up: Start the Server

6.5 `ndtpd' のオプション
========================

`ndtpd' コマンドは、伝統的な一文字オプション名と覚えやすい長いオプ
ション名の両方を扱うことができます。 長いオプション名を表すには、`-'
ではなく `--' を用います。
オプション名が一意に決まる範囲内で、名前の後方部分を省略することができま
す。

   `ndtpd' コマンドは以下に挙げたオプションを解釈することができます。

`-c ファイル'
`--configuration-file ファイル'
     設定ファイルを指定します。
     無指定時のファイル名は、ヘルプメッセージの中に記されています。

`-h'
`--help'
     ヘルプメッセージを標準出力に出力して、終了します。

`-i'
`--inetd'
     `inetd' モード。 `ndtpd' を `inetd'
     から起動させるときは、このオプションを指定 する必要があります。

`-t'
`--test'
     テストモード。 `ndtpd'
     はフォアグラウンドプロセスとして起動され、決して fork を行
     いません。
     サーバへのリクエストは標準入力から読み込まれ、クライアントへのレスポンス
     は標準出力へ出力されます。
     標準入力および標準出力は、端末と結び付けられたファイル記述子であっても構
     いません。
     また、アクセスに対する識別チェックは行いませんので、すべての
     CD-ROM 書籍 にアクセス可能です。

`-v'
`--version'
     バージョン番号を標準エラー出力に出力して、終了します。


File: ndtpd-ja.info,  Node: Terminate and Restart,  Next: Daily Works,  Prev: Start the Server,  Up: Top

7 サーバの終了および再始動
**************************

`ndtpcontrol' コマンドを用いることで、現在スタンドアロンのデーモン
として走っている `ndtpd' プロセスを終了させたり、強制終了、再始動さ
せたりすることができます。 NDTPD を `/usr/local'
以下にインストールし、かつ、システム管理用の コマンドを置くディレクトリ
(`sbindir') の位置を変更していなければ、 `ndtpcontrol' は
`/usr/local/sbin' にインストールされています。 走行中の `ndtpd'
を終了させるには次のようにします。

     % /usr/local/sbin/ndtpcontrol terminate

   `ndtpd' は自身の PID を作業用ディレクトリの下のファイル `ndtpd.pid'
に記録します (*note 作業ディレクトリ: Working Directory.)。
`ndtpcontrol' は、走行中の `ndtpd' プロセスの PID を知るために この PID
ファイルの中身を読み、その PID に対してシグナルを送ります。

   `ndtpd' が正常に終了すれば、PID ファイルは `ndtpd' 自身によっ
て削除されます。 しかしながら、`ndtpd' が異常終了したときは、PID
ファイルは削除され ません。 この場合、残された PID ファイルに記述された
PID は、後で他のプロセスに割 り当てられる可能性があります。
`ndtpcontrol' の実行は慎重に行って下さい。 `ndtpcontrol' は、本当に
`ndtpd' プロセスが存在するかどうかに ついては、確かめません。 `ndtpd'
プロセスが存在しないのに PID ファイルだけ残っていると、 `ndtpcontrol'
は他のプロセスにシグナルを送ってしまうかも知れません。

   `ndtpcontrol' は `ndtpd' の設定ファイルを読み込み、作業用
ディレクトリの位置を調べます。
ディレクトリの位置は、設定ファイル中の単独指示子 `work-path'
で定義することができます (*note `work-path': Single Directive List.)。
無指定時の設定ファイルのファイル名、および単独指示子 `work-path' の値は
`ndtpd' と同じです。

* Menu:

* Invoking ndtpcontrol::        `ndtpcontrol' の実行
* ndtpcontrol Options::         `ndtpcheck' のオプション


File: ndtpd-ja.info,  Node: Invoking ndtpcontrol,  Next: ndtpcontrol Options,  Prev: Terminate and Restart,  Up: Terminate and Restart

7.1 `ndtpcontrol' の実行
========================

`ndtpcontrol' を実行する一般的な方法は次の通りです。

     % /usr/local/sbin/ndtpcontrol 副コマンド

   `ndtpontrol' は次の副コマンドを解釈することができます。
副コマンド名が一意に決まる範囲内で、名前の後方部分を省略することができま
す。

`kill'
     現在走っている `ndtpd' プロセスを強制終了させます (`SIGKILL'
     シグナルを送ります)。 また、`ndtpcontrol' は、`ndtpd' の PID
     ファイルを消去します。 この副コマンドを試す前に、まず `terminate'
     を先に試すべきです。

`restart'
     現在走っている `ndtpd' プロセスを再始動させます (`SIGHUP'
     シグナルを送ります)。 `ndtpd' プロセスは、すべての TCP
     コネクションを閉じ、設定ファイルを 読み込み直します。

`status'
     `ndtpd'
     が走っているかどうか調べ、結果を標準エラー出力に出力します。
     この副コマンドは、`ndtpd' にシグナルを送ることはしません。

`terminate'
     現在走っている `ndtpd' プロセスを終了させます (`SIGTERM'
     シグナルを送ります)。


File: ndtpd-ja.info,  Node: ndtpcontrol Options,  Prev: Invoking ndtpcontrol,  Up: Terminate and Restart

7.2 `ndtpcontrol' のオプション
==============================

`ndtpcontrol' コマンドは、伝統的な一文字オプション名と覚えやすい長
いオプション名の両方を扱うことができます。
長いオプション名を表すには、`-' ではなく `--' を用います。
オプション名が一意に決まる範囲内で、名前の後方部分を省略することができま
す。

   `ndtpcontrol' コマンドは以下に挙げたオプションを解釈することができ
ます。

`-c ファイル'
`--configuration-file ファイル'
     設定ファイルを指定します。
     無指定時のファイル名は、ヘルプメッセージの中に記されています。

`-h'
`--help'
     ヘルプメッセージを標準出力に出力して、終了します。

`-v'
`--version'
     バージョン番号を標準出力に出力して、終了します。


File: ndtpd-ja.info,  Node: Daily Works,  Next: Network License,  Prev: Terminate and Restart,  Up: Top

8 毎日の管理作業
****************

`ndtpdaily' コマンドは、`ndtpd' の syslog ファイルのうち、最も
新しいものを調べて統計情報を生成し、syslog ファイルのローテーションを行
います。
その結果は、コマンド行の引数に指定された管理者に宛てて、メールで送られま
す。

   `ndtpdaily' コマンドは Perl スクリプトです。perl バージョン 4.036
もしくはそれ以降のバージョンの perl が必要です。 NDTPD を `/usr/local'
以下にインストールし、かつ、システム管理用の コマンドを置くディレクトリ
(`sbindir') の位置を変更していなければ、 `ndtpdaily' は
`/usr/local/sbin' にインストールされています。 `ndtpdaily'
を実行する一般的な方法は次の通りです。

     % /usr/local/sbin/ndtpdaily メールアドレス...

以下は実行例です。

     % /usr/local/sbin/ndtpdaily root@host.your.domain

2 つ以上のメールアドレスを書くこともできます。

     % /usr/local/sbin/ndtpdaily root@host.your.domain root@dept.your.domain


   `ndtpdaily' を毎日一回、自動的に実行するには、以下のようなエントリ
をあなたのシステムの `crontab' に加えて下さい。

     0 0 * * *    /usr/local/sbin/ndtpdaily root@host.your.domain

(詳しくは、あたなのシステムのマニュアルをご覧下さい。)
とくに変更の指定がなければ、`ndtpdaily' は、古くなった syslog ファ
イルを `compress' コマンドで圧縮し、7 世代分保存します。 現在の syslog
ファイルが `/usr/local/var/ndtpd/log/ndtpd.log' だと すると、古くなった
syslog ファイルは次のように保存されます。

     /usr/local/var/ndtpd/log/ndtpd.log.0.Z
     /usr/local/var/ndtpd/log/ndtpd.log.1.Z
     /usr/local/var/ndtpd/log/ndtpd.log.2.Z
     /usr/local/var/ndtpd/log/ndtpd.log.3.Z
     /usr/local/var/ndtpd/log/ndtpd.log.4.Z
     /usr/local/var/ndtpd/log/ndtpd.log.5.Z
     /usr/local/var/ndtpd/log/ndtpd.log.6.Z

これらの syslog は次の要領でローテーションされます。

  1. もっとも古い syslog ファイル `ndtpd.log.6.Z' が削除されます。

  2. 他の `ndtpd.log.N.Z' ファイルは、 `ndtpd.log.N+1.Z'
     に改名されます。

  3. 現在の syslog ファイル `ndtpd.log' は `ndtpd.log.0' にコ
     ピーされます。

  4. `ndtpd.log.0' は、`compress' で圧縮され、ファイル名が
     `ndtpd.log.0.Z' に変わります。

  5. 現在の syslog file `ndtpd.log' の内容がクリアされます。

* Menu:

* ndtpdaily Options::           `ndtpdaily' のオプション


File: ndtpd-ja.info,  Node: ndtpdaily Options,  Prev: Daily Works,  Up: Daily Works

8.1 `ndtpdaily' のオプション
============================

`ndtpdaily' コマンドは、伝統的な一文字オプション名と覚えやすい長い
オプション名の両方を扱うことができます。
長いオプション名を表すには、`-' ではなく `--' を用います。
オプション名が一意に決まる範囲内で、名前の後方部分を省略することができま
す。

   `ndtpdaily' コマンドは以下に挙げたオプションを解釈することができま
す。

`-a 整数'
`--ages 整数'
     古い syslog ファイルを 整数 世代分だけ保存します。 無指定時は `7'
     です。

`-c 圧縮プログラム'
`--compressor 圧縮プログラム'
     古くなった syslog ファイルを圧縮するプログラムを指定します。
     圧縮プログラム は、`compress'、`gzip'、`bzip2'、 `none'
     のうちのいずれかでなくてはなりません。 無指定時は、`compress'
     です。

     `compress' を指定するか、`--compressor' (`-c') オプション
     を用いなかった場合は、`compress' コマンドによる圧縮が行われ、圧縮さ
     れたファイルには拡張子 `.Z' が付加されます。 `gzip'
     を指定した場合は、`gzip' コマンドによる圧縮が行われ、圧
     縮されたファイルには拡張子 `.gz' が付加されます。 `bzip2'
     を指定した場合は、`bzip2' コマンドによる圧縮が行われ、
     圧縮されたファイルには拡張子 `.bz2' が付加されます。 `none'
     を指定した場合は、圧縮は行われず、ファイルの拡張子も変わりま せん。

`-l ファイル'
`--log-file ファイル'
     現在の syslog ファイルを指定します。
     NDTPD を `/usr/local' 以下にインストールし、かつ、マシン固有の更新
     されうるデータを置くディレクトリ (`localstatedir') および
     ログファイルが置かれるディレクトリ (`--with-logdir' で指定) を変更
     していなければ、無指定時では `/usr/local/var/ndtpd/log/ndtpd.log'
     になります。
     無指定時のファイル名は、ヘルプメッセージの中に記されています。

`-h'
`--help'
     ヘルプメッセージを標準出力に出力して、終了します。

`-v'
`--version'
     バージョン番号を標準出力に出力して、終了します。

`-N'
`--fast'
`--best'
     これらのオプションは `gzip', `bzip2' に渡されます (*note Invoking
     `gzip': (gzip)Invoking gzip.)。 `gzip', `bzip2'
     を使用しないときは、たんに無視されます。


File: ndtpd-ja.info,  Node: Network License,  Next: FAQ,  Prev: Daily Works,  Up: Top

Appendix A ネットワークライセンス
*********************************

CD-ROM 書籍の出版社はオプションでネットワークライセンスを用意している
ことがあります。 これは、あなたの LAN
上の複数のユーザに対して書籍へのアクセスを許可す るものです。
ネットワークライセンスでは、同時にその書籍へアクセスするユーザの最大
数が制限されることがあります (ライセンスの形態は様々ですので、詳しく
は出版社にお問い合わせ下さい)。

   `ndtpd' の設定ファイルには、2 つの `max-clients' というパラ
メタがあります。 一つは単独指示子で (*note `max-clients': Single
Directive List.)、 もう一つは `book' 複合指示子の副指示子です (*note
`max-clients': Book Group Directive.)。
どちらもクライアントの最大数を制限します。

これらはネットワークライセンスの順守を補助しますが、完璧なものではあり
ません。
たとえば、書籍がアクセスできるのは、ユーザの使用しているクライアントが
サーバに接続している間だけにすべきですが、`ndtpd' も大抵の NDTP
クライアントも、接続がまだ有効かどうかを頻繁にチェックするわけではあり
ません。
結果として、時々ユーザは、接続がない状態で気付かぬまま書籍にアクセスす
ることがあります。

   それでも、ネットワークライセンスのために `max-clients' を設定する
ことは良いことです。 重要なのは `max-clients'
の能力を過信しないことです。

* Menu:

* Count the Number of Clients::  クライアントの数え上げ


File: ndtpd-ja.info,  Node: Count the Number of Clients,  Prev: Network License,  Up: Network License

A.1 クライアントの数え上げ
==========================

ある時刻に書籍にアクセスしているクライアントの数 (これは `max-clients'
副指示子で制限します) を、 `ndtpd' は次のように数えます。

  1. クライアントがある書籍の選択を要求してきたら、 `ndtpd' はその書籍
     に現在アクセスしているクライアントの数を確認します。
     もし、最大値に達しているなら、エラーコードを返します。
     それ以外のときは、その書籍を使用しているクライアントの数を 1
     つ増やし、 成功を意味するコードを返します。

     `ndtpd' は、そのクライアントが前に使用していた書籍のクライアント
     数を 1 つ減らすことはしないので注意して下さい。

  2. クライアントとの接続が切れたら、`ndtpd' はそのクライアントが接続
     中に選択したおのおのの書籍のクライアント数を 1 つ減らします。


File: ndtpd-ja.info,  Node: FAQ,  Prev: Network License,  Up: Top

Appendix B よく訊かれる質問集
*****************************

* Menu:

* Question 1::                  質問 1 (`ndtpd' がすぐに終了する)
* Question 2::                  質問 2 (書籍が読めません)
* Question 3::                  質問 3 (appendix パッケージ)
* Question 4::                  質問 4 (`diclookup-mule')
* Question 5::                  質問 5 (すべての接続を拒否)
* Question 6::                  質問 6 (テキストが変な位置で切れる)


File: ndtpd-ja.info,  Node: Question 1,  Next: Question 2,  Prev: FAQ,  Up: FAQ

B.1 質問 1 (`ndtpd' がすぐに終了する)
=====================================

質問
     `ndtpd' を始動させても、すぐに終了してしまいます。何が悪いのでしょ
     うか?

答え
     まずは、`ndtpd' の出力した syslog のメッセージを確認しましょう。

     この問題の原因でもっとも多いのは、`ndtpd' が `WORK-PATH'
     ディレクトリの下のファイルに書き込むことに失敗していることによるものです。
     その場合、`ndtpd' は次のような syslog メッセージを出力します。

          Jun  7 22:09:50 localhost ndtpd[1760]: cannot open the file,
              Permission denied: /usr/local/var/ndtpd/ndtpd.pid
          Jun  7 22:09:50 localhost ndtpd[1760]: failed to write a PID
              to the file: /usr/local/var/ndtpd/ndtpd.pid
          Jun  7 22:09:52 localhost ndtpd[1760]: the server dies

     `work-path' ディレクトリのパーミッション、所有者、グループの設定
     を確認してみて下さい。


File: ndtpd-ja.info,  Node: Question 2,  Next: Question 3,  Prev: Question 1,  Up: FAQ

B.2 質問 2 (書籍が読めません)
=============================

質問
     書籍が読めません。 `ndtpd'
     は起動しているのですが、奇妙に思える振る舞いをします。
     どこが悪いのでしょうか。

答え
     `ndtpd' を GCC (GNU C Compiler) のバージョン 2.7.2 あるいはそれ以
     前のバージョンでコンパイルしたのでしたら、それは GCC
     の最適化のバグに よるものかも知れません。

     明示的に指定しない限り、`configure' スクリプトが生成する
     `Makefile' では `gcc' に対して `-O2' オプション (最適化 レベル 2
     を指定) を渡すようになっていますが、最適化されたオブジェクト
     コードは正しく動きません。

     解決方法には 3 通りあります。

       1. もし、別の信頼に足る C
          コンパイラを持っているなら、それを使って NDTPD
          をコンパイルする。

       2. GCC 2.7.2.1
          もしくはそれ以降のバージョンをインストールし、それを使って
          NDTPD をコンパイルする。

       3. GCC バージョン 2.7.2
          もしくはそれ以前のバージョンを使って、以下の手順
          でコンパイルする。

          パッケージの configure スクリプトを実行します。

               (Bourne シェル互換のシェルを使っている場合)
               % CFLAGS='-g' ./configure

               (C シェル互換のシェルを使っている場合)
               % setenv CFLAGS '-g'
               % ./configure

          もし残っているならば、(`gcc -O2' でコンパイルされた) 古いオブ
          ジェクトファイルを消します。

               % make clean

          パッケージをコンパイルします。

               % make

          プログラム、データファイル、およびドキュメントをインストールします。

               % make install


File: ndtpd-ja.info,  Node: Question 3,  Next: Question 4,  Prev: Question 2,  Up: FAQ

B.3 質問 3 (appendix パッケージ)
================================

質問
     公式 FTP サイトから取ってきた appendix パッケージを使っていますが、
     `ndtpd' は CD-ROM 書籍が独自に定義している文字を正しく置き換えてく
     れません。 これは `ndtpd' のバグですか?

答え
     その appendix パッケージは本当にあなたの書籍向けのものですか?
     たとえ書籍と appendix パッケージの題名が同じでも、あなたの書籍は
     appendix よりも新しい版だったり古い版だったりするかも知れません。
     appendix パッケージに ISBN
     コードの情報が記載されていれば、それを確かめ てみて下さい。


File: ndtpd-ja.info,  Node: Question 4,  Next: Question 5,  Prev: Question 3,  Up: FAQ

B.4 質問 4 (`diclookup-mule')
=============================

質問
     私は NDTP クライアントに `diclookup-mule' を使っています。
     `新英和・和英中辞典' と `広辞苑' は正しく使えていますが、
     他の書籍が使えません。 これは NDTPD か `diclookup-mule'
     のバグなのでしょうか?

答え
     `diclookup-mule' は古いタイプのクライアントです。 `diclookup-mule'
     を含め、古い NDTP クライアントは NDTP サーバか
     ら書籍の一覧を取得することをしません。 古い NDTP
     クライアントは、`eiwa'、`waei'、`kojien' と いう 3
     つの書籍名しか使いません (*note `alias-eiwa'、`alias-waei' および
     `alias-kojien': Book Group Directive.)。 しかし、`diclookup-mule'
     は独自にいくつかの書籍の名前を定義して
     います。`オックスフォード英々辞典' 用に `oxford'、
     `クラウン独和辞典' 用に `crger' といった具合です。

     `diclookup-mule' がこうして独自に名付けた書籍名を、`ndtpd'
     は認識することができません。 問題を解決するには、`diclookup-mule'
     が付けている独自の名前を `ndtpd' が認識できる名前に変更します。

     まず、あなたのシステムで動作している `ndtpd' の書籍の一覧を確認
     します。 `ndtpd' に `--test' オプションを付けて起動します。

          % ndtpd --test
          # ndtpd version 3.1.5
          # test mode (type `Q' to quit)

     ここで、<t> に続けて <Enter> を入力します。

          t
          1   Oxford Dictionary/Thesaurus   edict/oxford   0   0   0
          2   Quick Tour                    edict/quick    0   0   0
          3   User's Guide                  edict/user     0   0   0
          4   About This Disc               edict/about    0   0   0
          $*

     <Q> に続けて <Enter> を入力して、テストモードを抜けます。

          Q

     この例では、`Oxford Dictionary/Thesaurus' に `edict/oxford'
     という書籍名が割り当てられています。 そこで、`diclookup-mule' の
     `lib/od-oxford.el' を次のように 修正します。

          (od-modify-dict-parameters
           "edict/oxford"
           (cons

     終わったら `diclookup-mule' を再度インストールします。


File: ndtpd-ja.info,  Node: Question 5,  Next: Question 6,  Prev: Question 4,  Up: FAQ

B.5 質問 5 (すべての接続を拒否)
===============================

質問
     `ndtpd.conf' の `hosts' 指示子は正しく設定したので すが、NEXTSTEP
     と OPENSTEP の `ndtpd' はクライアントとの接続をす
     べて拒否してしまいます。 なぜでしょう。

答え
     `ndtpd' はあなたのクライアントと接続する際に、NDTP の接続数を制限
     するために、ロックファイルをロックしようとします (*note
     `max-clients': Single Directive List.)。 しかしながら、NEXTSTEP と
     OPENSTEP の `ndtpd' は必ずこのロックに 失敗してしまいます。
     (ロックするために、`ndtpd' は `fcntl()' に `F_SETLK' パ
     ラメタを渡して呼び出します。)

     `ndtpd' がロックに失敗すると、接続しているクライアントの数が上限に
     達したと判断し、新たに接続することを断念します。
     そのため、NEXTSTEP と OPENSTEP の `ndtpd' は接続をすべて拒否してし
     まうのです。

     この問題を回避するには、すべての `max-clients' 単独指示子
     および副指示子を定義し、その値を `0' に設定することです。
     (指示子が未定義だと、`ndtpd' は `1' が設定されたもの
     と見なします。)


File: ndtpd-ja.info,  Node: Question 6,  Prev: Question 5,  Up: FAQ

B.6 質問 6 (テキストが変な位置で切れる)
=======================================

質問
     NDTPD は変な位置でテキストの送信を止めてしまいます。
     どうやったら解決できますか?

答え
     この問題は、あなたの CD-ROM
     書籍が通常とは違うテキスト区切りコードを使っ ているために生じます。
     もし、あなたの CD-ROM 書籍用の appendix
     パッケージがあるなら、それを使い ましょう。 appendix
     パッケージは、あなたの CD-ROM 書籍に適切な区切りコードを定義し
     ています。

     もし、appendix パッケージが存在しなければ、NDTPD
     のメンテナーに連絡して みて下さい。



Tag Table:
Node: Top1002
Node: Introduction4071
Node: Installation5877
Node: Basic Installation6991
Node: Compilers and Options10125
Node: Multiple Architectures10789
Node: Installation Names11811
Node: Optional Features13135
Node: System Type14060
Node: Sharing Defaults15236
Node: Operation Controls15957
Node: Optional Feature List17156
Node: Configuration File17973
Node: Single Directive19324
Node: Single Directive List19954
Node: Group Directive27353
Node: Book Group Directive28642
Node: Sample Configuration34290
Node: Configuration Checker37331
Node: Invoking ndtpcheck37937
Node: ndtpcheck Options38634
Node: Setup Your Environment39583
Node: Services40216
Node: Syslog41016
Node: Working Directory42381
Node: Mount CD-ROM Books43285
Node: Appendix Package43839
Node: Install NDTP Client46176
Node: Start the Server46732
Node: Run as Standalone47804
Node: Run as a Child of inetd48371
Node: Run as a Child of xinetd49574
Node: Checking with telnet51071
Node: ndtpd Options52094
Node: Terminate and Restart53408
Node: Invoking ndtpcontrol55259
Node: ndtpcontrol Options56372
Node: Daily Works57159
Node: ndtpdaily Options59459
Node: Network License61588
Node: Count the Number of Clients62965
Node: FAQ63822
Node: Question 164333
Node: Question 265298
Node: Question 366990
Node: Question 467654
Node: Question 569760
Node: Question 670886

End Tag Table
