クスクス り〜な!
雑記など

daemon tools と言っても、仮想CDではありませんよ。(^^;)

現在、このサーバーは、inetd 経由でtelnetサーバーを動かしています。inetdは、こういう手のサーバーソフトを動かすため、いわば受付に当たるソフトです。

(先に設定した iptables が門の守衛さんだとすれば、inetd は、入り口の受付嬢といった感じでしょうか。)

・・・しかし!

この inetd はさまざまな弱点が指摘されています。

そこで、より強固な daemon tools に乗り換えようというわけです。また、この先に導入予定のDNSキャッシュやqmailなどは、inetdではなにかと問題があるので、ここで一気にdaemon toolsを導入しておこうというわけです。

(djbのツールはなにかとややこしいと言われていますが、パターンさえ解れば、かえって楽ですよ。)

Page Top

インストール anchor.png

入手と簡単な説明はこちらから。

では、さっそく手順に従って、インストールを開始します。

# cd /
# mkdir -p package
# chmod 1755 /package
# cd /package/
# lftp ftp://ftp.jp.qmail.org/qmail
cd 成功、cwd=/qmail
lftp ftp.jp.qmail.org:/qmail> get daemontools-0.76.tar.gz
36975 バイト転送済、2 秒経過 (18.8KB/s)
lftp ftp.jp.qmail.org:/qmail>quit
# ls
daemontools-0.76.tar.gz
# tar xzvf daemontools-0.76.tar.gz
             ・
             ・
             ・
# ls
admin/  daemontools-0.76.tar.gz
#

まずはご覧のように、/package を作って、そこにdaemontoolsをダウンロードしてきます。そして、解凍をしておきます。

そして、コンパイルしなくてはいけないのですが、例によって開発ツールがなにも入っていませんので、導入しておきます。

# mount /usr -o remount,rw
# apt-get install make
# apt-get install gcc
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了 
以下の追加パッケージがインストールされます:
  binutils gcc-cpp glibc-devel kernel-headers
以下のパッケージが新たにインストールされます:
  binutils gcc gcc-cpp glibc-devel kernel-headers
アップグレード: 0 個, 新規インストール: 5 個, 削除: 0 個, 保留: 0 個
0B/15.1MB のアーカイブを取得する必要があります。
展開後に 47.0MB のディスク容量が追加消費されます。
続行しますか? [Y/n] Y
                    ・
                    ・
                    ・
#

さて、コンパイルするのですが、一点だけ問題があります。このツールはチョット古い時代に書かれたものなので、glibcが最新版であるVineではちょっと問題が起きます。

そこで、/package/admin/daemontools-0.76/src/error.h の最初のほう。 extern int errno; という行を修正します。

#ifndef ERROR_H
#define ERROR_H

/*extern int errno;*/
#include <errno.h>

extern int error_intr;
extern int error_nomem;
           ・
           ・
           ・

さて、お待たせしました。それではコンパイル開始です。

# cd /package/admin/daemontools-0.76
# ./package/install

これでOK。(簡単でしょ?)

さあ、あとはリブートするだけ。

リブートすると、もうすでにdaemontoolsのサーバー管理部分である、 svscan が動いているはず。どれどれ?

# ps x
             ・
             ・
             ・
 475 ?        S      0:00 /bin/sh /command/svscanboot
 477 ?        S      0:00 svscan /service
 478 ?        S      0:00 readproctitle service errors: .......................
             ・
             ・
             ・
 530 pts/0    R      0:00 ps x
#

ほら、なんか変なのが動いているでしょ。これが svscan。

ちなみに、「errors」って出ているけど、これは正常な状態だから気にしなくていい。

Page Top

続いてucspi-tcp anchor.png

続いて ucspi-tcp。こいつは daemontools下でデーモンに様々な制限を掛けることができる補助ツールです。

Page Top

インストール anchor.png

入手はこちらから。

解凍します。

# tar xzvf ucspi-tcp-0.88.tar.gz
                  ・
                  ・
                  ・
#

さて、コンパイルするのですが、一点だけ問題があります。このツールはチョット古い時代に書かれたものなので、glibcが最新版であるVineではちょっと問題が起きます。

そこで、error.h の最初のほう。 extern int errno; という行を修正します。

#ifndef ERROR_H

#define ERROR_H

/*extern int errno;*/

#include <errno.h>

extern int error_intr; extern int error_nomem;

          ・
          ・
          ・

さて、お待たせ。コンパイルします。

# cd ucspi ucspi-tcp-0.88
# make

最後にインストールします。ちなみに、これらのツールは、 /usr/local 以下にインストールされますので、aptやrpmの管理とぶつかることはありませんので安心してください。

# make setup check
./install
./instcheck
#

問題なくインストールすることができましたね。

Page Top

後処理 anchor.png

例によって後処理。開発環境とdaemontoolsのアーカイバを削除しておこう。

# mount /usr -o remount,rw
# apt-get remove gcc
# apt-get remove glibc-devel
# apt-get remove gcc-cpp
# apt-get remove kernel-headers
# apt-get remove binutils
# apt-get remove make
# rm /package/daemontools-0.76.tar.gz
# rm /usr/src/ucspi-tcp-0.88 -Rf
# rm /usr/src/ucspi-tcp-0.88.tar.gz
# mount /usr -o remount,ro
なにこれ?
お品書き
雑記など
XOOPS Cube PROJECT