练习 15:系统启动:运行级别,/etc/init.d
,rcconf
,update-rc.d
首先我会给出一个典型的系统启动过程的概述:
现在我们只对“init”和“运行级别”阶段感兴趣,所以我将总结一下,系统如何启动并自动启动一些程序。首先,有一些术语:
- 守护进程 - 一直运行在后台的程序。这意味着它不在乎你是否登录系统,通常你不需要手动启动它,因为它在计算机启动时自动启动。
- 运行级别 - 系统运行模式。基本上,这只是一个数字,提供给
init
程序,它知道哪些守护程序与每个数字相关联,并根据需要启动并停止这些守护程序。
但是init
怎么知道的?好吧,这是用于它的特殊目录。
你可能能猜到,每个数字和S
对应表中的运行级别。让我们列出其中一个目录,它在正常启动中启动所有所需的守护进程。
- 它以
S
开始,意味着“启动”。Debian 启动系统中使用的每个脚本至少有 2 个参数,“启动”和“停止”。现在我们可以说,当我们的系统切换到运行级别 2 时,该脚本将使用动作“启动”来执行 。 - 它有一个数字 18。目录中的脚本以字典序执行,所以现在我们明白,在启动
ssh
之前 ,系统启动portmap
,nfs-common
,rsyslog
和sudo
。rsyslog
是一个系统日志守护程序,特别是ssh
想要记录谁在什么时候访问系统,所以在启动之前需要运行rsyslog
。
现在,你将学习如何列出启用的服务(守护程序),以及启用和禁用服务(守护程序)。
- 安装
rcconf
包,让你轻松管理运行级别。 - 打印包含运行级别 2 的启动脚本的目录。现在启用了邮件服务器
exim4
。 - 仅仅打印出相同运行级别的服务。请注意,由于它们被视为系统服务,因此存在多个未显示的服务。
rcconf –list –expert
会把它们全部列出,以及更多的驻留在不同的运行级别上的服务。 - 禁用邮件服务器的自动启动。
- 打印运行级别 2 的服务。服务
exim4
现在已关闭。 - 开启
exim4
的自动启动。 - 再次打印包含运行级别 2 的启动脚本的目录,
exim4
再次启动。 - 打印运行级别 2 的服务。
exim4
的状态变更为已启动,和预期一样。
- 请阅读 Debian 启动过程:
- 尝试这样做:
aptitude install sysv-rc-conf
,sysv-rc-conf -list
。阅读。