[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. ebnetd の起動

ebnetd は、スタンドアロンのデーモン、あるいは inetd の 子プロセスとして起動することができます。 指定がなければ、スタンドアロンのデーモンとして起動するようになっています。

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

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

あなたのシステムでは ebnetd を必要としないなら、この章の残りの 部分は読み飛ばして下さい。

6.1 ebnetd をスタンドアロンで起動  
6.2 ebnetdinetd 経由で起動  
6.3 ebnetdxinetd 経由で起動  
6.4 telnet による ebnetd の確認  
6.5 ebnetd のオプション  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 ebnetd をスタンドアロンで起動

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

 
% /usr/local/sbin/ebnetd

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


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 ebnetdinetd 経由で起動

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

 
ebnet  stream  tcp  nowait  root  /usr/local/sbin/ebnetd ebnetd --inetd

(ただし、EBNETD を `/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


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 ebnetdxinetd 経由で起動

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

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

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

(ただし、EBNETD を `/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


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 telnet による ebnetd の確認

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

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

 
% telnet localhost ebnet

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

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

ここで、BOOKLIST に続けて Enter を入力します。

 
BOOKLIST

ebnetd が正常に動いていれば、次のように利用可能な CD-ROM 書籍の一覧を出力します。

 
!OK; book list follows
chujiten
kojien
colloc
colloc.app

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

 
QUIT
Connection closed by foreign host.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.5 ebnetd のオプション

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

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

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

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

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

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

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


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Motoyuki Kasahara on December, 28 2003 using texi2html