Chinaunix首页 | 论坛 | 博客
  • 博客访问: 679785
  • 博文数量: 467
  • 博客积分: 8050
  • 博客等级: 中将
  • 技术积分: 14825
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-18 11:00
文章分类

全部博文(467)

文章存档

2009年(8)

2008年(459)

分类: LINUX

2008-04-20 14:14:08

daemontools-0.76

介绍Daemontools

下载地址 (HTTP):       
下载地址 (FTP):
版本: 0.76
包的大小: 162 KB
占用磁盘空间: 1.8 MB
其他下载地址:

daemontools 软件包是inetd和winetd的代替品。这里用它的主要理由是:他被 qmail 和 djbdns 推荐使用。

安装 daemontools

用下面的命令安装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
在 boot.inittab 中, /command/svscanboot 被改成 /usr/sbin/svscanboot.
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, softlimitsetlock. 更多的详细描述,请参考.

描述

svscanboot

svscanboot 是一个普通的脚本, 用来运行svscan,把输出定向到readproctitle。

svscan

svscan 检查服务目录,为每一个找到的脚本开始管理进程。

supervise

supervise运行 svscan给它的运行脚本,监听脚本开始的进程,当进程死亡的时候,使之重新运行。

svc

svc 发送信号到在supervise下运行的进程。

svok

svok 检查目录中运行的 supervise 。

svstat

svstat显示supervise监听到的进程的状态。

fghack

fghack 防止进程把自己放到后台运行。

pgrphack

pgrphack 在单独的进程组里开启一个进程。

readproctitle

readproctitle 显示ps输出的log文件。

multilog

multilog 是登陆程序。它从daemon获得输出,添加到log文档里。

tai64n

tai64n 是一个timestamp生成程序。

tai64nlocal

tai64nlocal 改变 tai64n 输出文件到可读的格式。

setuidgid

setuidgid 在指定的帐号下运行一个特定的程序。

envuidgid

envuidgid 完成setuidgid程序的功能,但是设置环境变量$UID 和 $GID 帐号提供的UID和GID

envdir

envdir 在目录里运行利用环境变量提供的程序。

softlimit

softlimit 对指定程序允许资源限制。

setlock

setlock 锁住可执行程序的文件。

阅读(1249) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~