下载地址 (HTTP): http://cr.yp.to/daemontools/daemontools-0.76.tar.gz 下载地址 (FTP): 版本: 0.76 包的大小: 162 KB 占用磁盘空间: 1.8 MB |
其他下载地址: daemontools errno patch |
daemontools 软件包是inetd和winetd的代替品。这里用它的主要理由是:他被 qmail 和 djbdns 推荐使用。
用下面的命令安装daemontools:
cd admin/daemontools-0.76 && patch -Np1 -i ../../daemontools-0.76.errno.patch && package/compile && cd package && sed 's|command|usr/sbin|' boot.inittab > boot.inittab~ && mv boot.inittab~ boot.inittab && cd ../command && sed -e 's|/command:/usr/local/bin:/usr/local/sbin:||' \ -e 's|command|usr/sbin|' \ -e 's|/service|/etc/service|g' svscanboot > svscanboot~ && mv svscanboot~ svscanboot && chmod 555 svscanboot && cp * /usr/sbin && cd ../package && cat /etc/inittab boot.inittab > /etc/inittab~ && mv -f /etc/inittab~ /etc/inittab && mkdir /etc/service && telinit Q |
安装Daniel J. Bernstein的软件包(除了 daemontools,还有 Qmail,djbdns 和 ucspi-tcp)时,首先要了解的事情是:如果他认为自己的观点是正确的,但标准和他的想法不同,他会完全漠视一切标准。在Bernstein的软件里,他把自己作为标准。
因此,需要在安装的时候做一些小小的改变,使它适应FHS(Filesystem Hierarchy Standard)标准。许多命令由此而改变。
cd admin/daemontools-0.76: 这个包在admin目录被解压,你会在它下面2层目录下找到实际的包。
package/compile: 这个命令编译源代码,把二进制文件放到命令目录里。
由于我们打算把二进制文件放到 /usr/sbin 而不是创建一个非标准的 /command 目录,必须改变几个路径:
sed 's|command|usr/sbin|' boot.inittab > boot.inittab~ mv boot.inittab~ boot.inittab |
sed -e 's|/command:/usr/local/bin:/usr/local/sbin:||' \ -e 's|command|usr/sbin|' \ -e 's|/service|/etc/service|g' svscanboot > svscanboot~ && |
在这里,svscanboot 脚本中的好几个路径被改变了。按照我们的安装,svscan 在运行前将检查 /etc/service 目录而不是 /service 目录,才启动守护进程。
cp * /usr/sbin: 我们必须手工拷贝二进制文件到/usr/sbin目录。
cat /etc/inittab boot.inittab > /etc/inittab~ mv -f /etc/inittab~ /etc/inittab |
这些命令在/etc/inittab中添加一行,使init运行svscan程序。
mkdir /etc/service: 这个命令创建daemontools控制目录。此目录即便是空的也必须创建(为了使daemontools运行)。
telinit Q: T这个命令告诉init进程重新读取设置文件(inittab),使改变生效。这就启动了 svscanboot 脚本。
daemontools 软件包包含 svscanboot, svscan, supervise, svc, svok, svstat, fghack, pgrphack, readproctitle, multilog, tai64n, tai64nlocal, setuidgid, envuidgid, envdir, softlimit和 setlock. 更多的详细描述,请参考http://cr.yp.to/daemontools.html.