mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00:00
be10e3a77d
several patches. Update documents and setup/install scripts. PR: 7470 Submitted by: maintainer
317 lines
10 KiB
Plaintext
317 lines
10 KiB
Plaintext
Dserver FreeBSD portセットアップについて.
|
||
|
||
3.Nov.1996
|
||
Revised 20.Dec.1996
|
||
Revised 31.Jan.1998
|
||
三田吉郎 <mita@jp.FreeBSD.org>
|
||
Special thanks to MIHIRA Yoshiro <sanpei@yy.cs.keio.ac.jp>
|
||
|
||
目次
|
||
I. インストール
|
||
I.1. setup.sh の具体的な作業
|
||
I.2. 辞書のコピー・マウント
|
||
I.3. dserver_access ファイルの整備
|
||
I.4. サーバの動作テスト
|
||
II. 使う
|
||
II.1. kenjiro
|
||
III. 削除(uninstall)
|
||
IV. `inetd起動のdserver'を作る方法
|
||
IV.1. `inetd起動のdserverとは何か'
|
||
IV.2. standaloneとinetdと,どちらを選択するか.
|
||
IV.3. inetd起動のdserverを作る.
|
||
IV.4. 初期設定スクリプトの違い.
|
||
V. エラーとその対策
|
||
V.1. 辞書を10種類以上にしたら途端にBus Errorで落っこちます.
|
||
|
||
※ 文中の${PREFIX}は,/usr/localに読み変えてください,portsを利用して
|
||
コンパイルすると,${PREFIX}を/usr/local以外にも,自分の好みの
|
||
ディレクトリに設定することができます.
|
||
|
||
I. インストール
|
||
|
||
dserver の ports を インストールした後に必要な作業は次の通りで
|
||
す.
|
||
|
||
1: [/etc/services] に ndtp プロトコルのエントリを追加
|
||
2: dserver 起動用スクリプトの準備
|
||
3: 辞書をコピーまたはマウント
|
||
|
||
これらの作業は, [${PREFIX}/lib/dserver/setup.sh] を起動すると, 1~
|
||
2 までを自動的に設定してくれます.
|
||
|
||
※ ${PREFIX}
|
||
ここで ${PREFIX} とは ports をコンパイル時の環境変数 PREFIX を
|
||
示します. packages では, [/usr/local] となります. 上記の場合,
|
||
[/usr/local/lib/dserver/setup.sh] と適時読みかえてください.
|
||
|
||
I.1. setup.sh の具体的な作業
|
||
|
||
この setup.sh では, 具体的に次の作業を行います.
|
||
|
||
1: [/etc/services] の末尾に次の行を追加します.
|
||
|
||
-----
|
||
ndtp 2010/tcp #Network Dictionary Transfer Protocol
|
||
-----
|
||
※ この行は, dserver を利用する*全てのマシン*に追加する必要があります.
|
||
|
||
2: [${PREFIX}/etc/rc.d/dserver.sh] に次の行を追加します.
|
||
|
||
これにより, OS ブート時に dserver が自動的に起動します.
|
||
|
||
-----
|
||
# dserver - dictionary server
|
||
if [ -f /usr/local/lib/dserver/dserver ] ; then
|
||
/usr/local/lib/dserver/dserver&
|
||
echo -n 'dserver'
|
||
fi
|
||
-----
|
||
|
||
I.2. 辞書のコピー・マウント
|
||
|
||
[${PREFIX}/share/dict/cdrom/] に,それぞれの辞書をマウントします.
|
||
[${PREFIX}/lib/dserver/dserver_access] のエントリと整合性を持たせる
|
||
ようにしてください.
|
||
|
||
makedic というプログラムを使うと,辞書サイズを概ね 1/3 に圧縮す
|
||
ることができます.使い方は簡単で次の通りです.
|
||
|
||
-----
|
||
makedic [オリジナルの辞書ファイル名] [新しい辞書ファイル名]
|
||
-----
|
||
|
||
※: 辞書のライセンスによる圧縮の制限
|
||
辞書をハードディスクにコピー,圧縮してよいかどうかの対応ですが,
|
||
広辞苑は×,研究社の事典は○であるなどと,各社異なります.
|
||
[${PREFIX}/lib/dserver/doc/README.dserver] を御覧下さい.
|
||
|
||
I.3. dserver_access ファイルの整備
|
||
dserver は, ${PREFIX}/lib/dserver/dserver_access というファイルで,
|
||
1. どのマシンからのアクセスを受け付けるか
|
||
2. どういう名前のファイルを辞書ファイルとして登録するか,
|
||
その辞書ファイルへ何人のアクセスを同時に受けるか,
|
||
辞書内部に埋め込まれた外字を, どうやって真似て表示するか
|
||
といった情報を取得します. 従って, このファイルは自分で書く必要があります.
|
||
|
||
一行一行, 辞書エントリやアクセス許可ホスト名を並べて書きます.
|
||
順番はどうでもいいです.
|
||
附属の ${PREFIX}/lib/dserver/dserver_access が参考になるでしょう.
|
||
1. どのホストからのアクセスを受け付けるか
|
||
アクセスを受け付けるホスト名を書きます.
|
||
|
||
-----
|
||
localhost
|
||
-----
|
||
|
||
とするのが一般的で, こうすると dserver をインストールした
|
||
そのホストからアクセスできるようになります.
|
||
2. 辞書のエントリ
|
||
|
||
-----
|
||
#DICT eiwa /cdrom/chujiten/data/honmon "研究社中英和" 25 600
|
||
#DICT waei /cdrom/chujiten/data/honmon "研究社中和英" 25 600
|
||
-----
|
||
|
||
のように, #DICT につづけて, 辞書にアクセスするための名前,
|
||
辞書本体のファイルのありか, 辞書名, 同時にアクセスできるユーザ数,
|
||
タイムアウトまでの時間を記入します.
|
||
|
||
ところで, 以上の例は,
|
||
パシフィックハイテックさん htt://www.pht.co.jp/ が出している,
|
||
FreeBSD Pro 2.2.6-R に付いてくる, EPWING 版 研究社新英和辞典6.4版
|
||
用の設定です. それで, この辞書で, 別 port になっている diclookup-mule
|
||
(ja-diclookup-mule*という名前です) 和英検索をするためには,
|
||
${PREFIX}/lib/dserver/waei.tbl というファイルの先頭の,
|
||
|
||
-----
|
||
#kana=hyouki
|
||
-----
|
||
|
||
という行のコメントを外して,
|
||
|
||
-----
|
||
kana=hyouki
|
||
-----
|
||
|
||
とする必要があります. 参考までに.
|
||
|
||
I.4. サーバの動作テスト
|
||
|
||
desrver を立ち上げると,dserver が使えるようになるはずです.次の
|
||
ように打ち込んで,簡単な接続試験をしてみましょう.
|
||
|
||
-----
|
||
telnet localhost ndtp<リターン>
|
||
-----
|
||
|
||
1: 接続試験その 1, アクセス可能かどうか
|
||
|
||
接続した上で A<リターン> と打ち込むと,[dserver_access] ファイル
|
||
でアクセス許可が出ている場合は $A という返事が帰って来るはずです.
|
||
|
||
-----
|
||
% telnet localhost ndtp
|
||
lavender: {1234} telnet localhost ndtp
|
||
Trying 127.0.0.1...
|
||
Connected to localhost.
|
||
Escape character is '^]'.
|
||
A
|
||
$A
|
||
-----
|
||
|
||
※: アクセス許可ファイルの記述の注意
|
||
|
||
dserver の仕様として, アクセス許可のチェックは IP アドレスでは
|
||
なく, ホストネームで行われています. そのため, 次の場合例のように
|
||
localhost とだけ書いてもうまくアクセス許可を得れない場合がありま
|
||
す.
|
||
|
||
0) [/etc/hosts] に次のような行が含まれる.
|
||
|
||
例
|
||
--------
|
||
127.0.0.1 localhost.rad.cc.keio.ac.jp localhost dserver
|
||
--------
|
||
|
||
0-1) DNS が使える環境であるが, [/etc/host.conf] で bind より
|
||
hosts を先に書いている場合.
|
||
|
||
0-2) DNS を使えず [/etc/hosts] だけを参照する場合.
|
||
|
||
その場合には, 次のように [dserver_access] に記述するとアクセス
|
||
許可を得れます.
|
||
|
||
例: [/etc/hosts] が上記のような場合. 適時 rad.cc.keio.ac.jp. を追加
|
||
してください.
|
||
-----
|
||
localhost.rad.cc.keio.ac.jp
|
||
-----
|
||
|
||
2: 接続試験その 2, 辞書が使用可能かどうか?
|
||
|
||
アクセス許可を得た後,T<リターン> と打ち込むと,使用可能な辞書の
|
||
リストを得ることができます.
|
||
|
||
辞書リストの例:
|
||
-----
|
||
T
|
||
1 研究社中和英
|
||
2 研究社中和英
|
||
3 三省堂クラウン仏和
|
||
$*
|
||
-----
|
||
|
||
辞書をインストールしたにも関わらず利用可能になっていない場合は,
|
||
[dserver_access] ファイルと,CDROM のディレクトリ構造を確認してみ
|
||
てください.辞書ファイルは,start とか hommon とかいう名前になって
|
||
いますが,このインストール位置が狂っているばあいがよくあります.
|
||
|
||
リスト中の漢字は,EUC漢字コードを使っていますので,
|
||
ktermを`kterm -km euc'で立ちあげたり,ctrl+中ボタンを押して
|
||
選択するなどして,EUC漢字コードを表示できるようにしてください.
|
||
|
||
II. 使う
|
||
|
||
II.1. kenjiro
|
||
|
||
コマンドラインから引きたい場合は kenjiro<リターン> です.
|
||
【指定辞書無し】と出たときに<ESC>キーを押すと辞書が選択できます.
|
||
|
||
リストに無い辞書を読みたい場合は,ports を用意して make patch の
|
||
後 [${WRKSRC}/clients/kenjiro/config.h] を書き換えてmakeし直します.
|
||
|
||
III. 削除(uninstall)
|
||
|
||
削除は,インストールの逆を行えばよいわけですが,3-1 を自動的に行
|
||
うためのシェルスクリプト,[${PREFIX}/lib/dserver/deinstall.sh] を
|
||
用意しておきました.
|
||
|
||
その後で,pkg_deleteを行えばOKのはずです.
|
||
|
||
IV. `inetd起動のdserver'を作る
|
||
このportsでは,特に指定しない限り`standaloneのdserver'を
|
||
作るようにしていますが,`inetd起動のdserver'を作ることもできます.
|
||
|
||
IV.1 `inetd起動のdserver'とは何か?
|
||
|
||
これまで説明してきた例では,このportsでの標準設定である,
|
||
dserverをstandaloneで使用するための設定を紹介してきました.
|
||
|
||
standaloneでは,プログラムdserverシステムを起動したときから,
|
||
システムが終了する時までずっと走っていて,「全ての接続要求を
|
||
一つのdserverが処理」します.
|
||
|
||
inetdでは,プログラムdserverは普段は走っておらず,接続要求がくるたびに
|
||
inetdから起動されます.「別々の接続要求は別々のdserverが処理」します.
|
||
|
||
IV.2. standaloneとinetdと,どちらを選択するか.
|
||
ライセンス制限(ファイルdserver_accessで,辞書を同時に読めるユーザ数を
|
||
制限できる機能です)を使うためには,全ての接続要求を一つのdserverが
|
||
処理する必要があるので,standaloneで立ちあげる必要があります.
|
||
|
||
inetdでは,dserverを使っていないときにCDROMを差し替えることができます.
|
||
amdと組み合わせるのが便利です.
|
||
|
||
IV.3. inetd起動のdserverを作る.
|
||
|
||
rootになって,/usr/ports/japanese/dserverのディレクトリで,
|
||
-----
|
||
make package
|
||
-----
|
||
と入力すると,ファイルを展開した後に,
|
||
standaloneでdserverを動かすように設定するか,それとも
|
||
inetdから接続するたびに呼び出すように設定するかの
|
||
選択画面になります.
|
||
|
||
----------------- dserver port configuration -----------------
|
||
| How do you want to run dserver, standalone or run by inetd?|
|
||
| |
|
||
| (*) standalone stanalone |
|
||
| ( ) inetd inetd |
|
||
| |
|
||
| [ OK ] Cancel |
|
||
--------------------------------------------------------------
|
||
普段はこの画面のように,standaloneで起動する設定になっていますが,
|
||
上下カーソルとリターンキーでinetdを選択すると,
|
||
inetdから呼び出す設定になります(下図はinetdを選択したところ)
|
||
|
||
----------------- dserver port configuration -----------------
|
||
| How do you want to run dserver, standalone or run by inetd?|
|
||
| |
|
||
| ( ) standalone stanalone |
|
||
| (*) inetd inetd |
|
||
| |
|
||
| [ OK ] Cancel |
|
||
--------------------------------------------------------------
|
||
|
||
IV.4. 初期設定スクリプトの違い.
|
||
|
||
初期設定スクリプトsetup.sh, deinstall.shは,
|
||
inetd起動を選択した場合とstandaloneを選択した場合とで違ったものが
|
||
インストールされます.
|
||
|
||
inetd起動用のsetup.shでは,standaloneに比べて以下の点が異なっています.
|
||
* /usr/local/etc/rc.d/dserver.shを作成しない.
|
||
* /etc/inetd.confへのdserverのエントリを追加する.
|
||
* inetdを立ちあげ直す(HUPシグナルを送る)
|
||
|
||
使い方はinetd, standalone用とも一緒です.
|
||
|
||
V. エラーとその対策
|
||
V.1. 辞書を10種類以上にしたら途端にBus Errorで落っこちます.
|
||
|
||
server2.2-pl2/config.hの,MAXDICTの値を10から増やして
|
||
コンパイルし直しましょう.
|
||
※dserver_accessファイルの設定を変更している場合,バックアップしておきます.
|
||
-----
|
||
% su root
|
||
#cp /usr/local/lib/dserver/dserver_access /tmp/dserver_access.orig
|
||
# cd /usr/ports/japanese/dserver
|
||
# make patch
|
||
# vi work/dserver/server2.2-pl2/config.h
|
||
# make install
|
||
#cp /tmp/dserver_access.orig /usr/local/lib/dserver/dserver_access
|
||
-----
|
||
|
||
質問,不平不満など御座いましたらmita@jp.FreeBSD.orgにどうぞ.
|