存档

文章标签 ‘inittab’

/etc/init.d和/etc/rc.d/init.d的关系

2011年1月16日 没有评论

这两个其实是同一个东西,/etc/init.d是/etc/rc.d/init.d的软链接。并且这个东西只有在fedora下面有,ubuntu下面没有/etc/rc.d/这个目录,只有/etc/init.d,openSUSE下面有/etc/rc.d,直接链接的/etc/init.d。

并且有时候可以看到rc0.d/这样的目录,查看这些目录里的文件,ls -l,发现都是软链接。

要想搞明白这里面的关系就要搞明白Linux的运行级。打开/etc/inittab,里面应该有注释,

# 0 – 停机(千万别把initdefault设置为0,否则系统永远无法启动)
# 1 – 单用户模式
# 2 – 多用户,没有 NFS
# 3 – 完全多用户模式(标准的运行级)
# 4 – 系统保留的
# 5 – X11 (x window)
# 6 – 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

不同的运行级,开机启动的时候会开启不同的服务,所以当开机以后执行init(pdi为1,是开机后执行的第一个进程,所有其他进程都是这个进程的后代)这个进程,就会根据不同的运行级开启不同的默认服务(fedora下是读取rc.sysinit)。

可以看到rc0.d/这样的目录下的脚本前面都带有S或者K,s就是start,k就是kill。比如说当你从运行级5到3切换的时候,可能就会关掉有些服务,这时候就会执行k开头的脚本。

并且字母后面会接着数字,表示的是脚本执行的先后顺序,数字越小越早执行,很多时候这些执行顺序是很重要的,比如要启动Apache服务,就必须先配置网络接口,不然一个没有IP的机子来启动http服务那岂不是很搞笑…
阅读全文…