i have a pen是什么梗:How to install daemontools (svc) and introduction
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 00:10:57
How to install daemontools
Like any other piece of software (and information generally), daemontools comes with NO WARRANTY.System requirements
daemontools works only under UNIX.Installation
Create a /package directory:mkdir -p /package chmod 1755 /package cd /packageDownload daemontools-0.76.tar.gz into /package. Unpack the daemontools package:
gunzip daemontools-0.76.tar tar -xpf daemontools-0.76.tar rm -f daemontools-0.76.tar cd admin/daemontools-0.76Compile and set up the daemontools programs:
package/installOn BSD systems, reboot to start svscan.
To report success:
mail djb-sysdeps@cr.yp.to < /package/admin/daemontools/compile/sysdeps原文link: http://cr.yp.to/daemontools/install.html
daemontools-0.76
介绍Daemontools
下载地址 (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
用下面的命令安装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, softlimit和 setlock. 更多的详细描述,请参考http://cr.yp.to/daemontools.html.
描述
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 锁住可执行程序的文件。
原文link: http://lfs.linuxsir.org/htdocs/blfs/basicnet/daemontools.html