| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ebnetd の起動
ebnetd は、スタンドアロンのデーモン、あるいは inetd の
子プロセスとして起動することができます。
指定がなければ、スタンドアロンのデーモンとして起動するようになっています。
サーバへコネクションが頻繁に来ないなら、メモリの消費を抑えるために
ebnetd を inetd の子プロセスとして起動する方が良いでしょう。
しかし、inetd によって起動される度に、ebnetd は設定ファイル
を読み込み、初期化のために CD-ROM 書籍からデータを部分的に読み込みます。
コネクションが頻繁に来るようなら、ebnetd をスタンドアロンのデーモン
として起動した方が良いでしょう。
あなたのシステムでは ebnetd を必要としないなら、この章の残りの
部分は読み飛ばして下さい。
6.1 ebnetdをスタンドアロンで起動6.2 ebnetdをinetd経由で起動6.3 ebnetdをxinetd経由で起動6.4 telnetによるebnetdの確認6.5 ebnetdのオプション
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ebnetd をスタンドアロンで起動
ebnetd をスタンドアロンのデーモンとして起動するには、次のように
コマンドを実行して下さい。
スーパーユーザの権限が必要かも知れません。
% /usr/local/sbin/ebnetd |
EBNETD を `/usr/local' 以下にインストールし、かつ、システム管理用の
コマンドを置くディレクトリ (sbindir) の位置を変更していなければ、
ebnetd は `/usr/local/sbin' にインストールされています。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ebnetd を inetd 経由で起動
ebnetd を inetd の子プロセスとして起動には、次の手順が必要
になります。
次のエントリを `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] | [ ? ] |
ebnetd を xinetd 経由で起動
Linux システムには、伝統的な inetd の代わりに xinetd を
使用しているものもあります。
xinetd の設定ファイルの文法は、伝統的な inetd の設定ファイル
の文法とは異なります。
ebnetd を xinetd の子プロセスとして起動には、次の手順が必要
になります。
次のエントリを設定ファイル (大抵の場合 `/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] | [ ? ] |
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] | [ ? ] |
ebnetd のオプション
ebnetd コマンドは、伝統的な一文字オプション名と覚えやすい長い
オプション名の両方を扱うことができます。
長いオプション名を表すには、`-' ではなく `--' を用います。
オプション名が一意に決まる範囲内で、名前の後方部分を省略することが
できます。
ebnetd コマンドは以下に挙げたオプションを解釈することができます。
-c ファイル
--configuration-file ファイル
-h
--help
-i
--inetd
inetd モード。
ebnetd を inetd から起動させるときは、このオプションを指定
する必要があります。
-t
--test
ebnetd はフォアグラウンドプロセスとして起動され、決して fork を
行いません。
サーバへのリクエストは標準入力から読み込まれ、クライアントへのレスポンス
は標準出力へ出力されます。
標準入力および標準出力は、端末と結び付けられたファイル記述子であっても
構いません。
また、アクセスに対する識別チェックは行いませんので、すべての CD-ROM 書籍
にアクセス可能です。
-v
--version
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |