Linux服务启动介绍

Share on:

启动流程

  1. 读取 MBR (主引导记录Master Boot Record)的信息,启动 Boot Manager
  2. 加载系统内核,启动 init进程
  3. init进程 读取 /etc/inittab 文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start选项启动,并指向一个系统中的程序。
  4. 根据 /etc/rcS.d/文件夹中对应的脚本启动 Xwindow 服务器 xorg
  5. 启动登录管理器,等待用户登录
    1. Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。 Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
    2. init进程 是 Linux 的根进程,所有的系统进程都是它的子进程。
    3. 通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是 /etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动目录为 /etc/rc3.d/ 。
    4. Xwindow 为 Linux 下的图形用户界面系统。
    5. 大多 Linux 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/ 文件夹中找到一个名为 S13gdm 的链接)

更改运行级别

在 /etc/inittab 文件中找到如下内容:

id:2:initdefault:    

2为系统的运行级别,默认的运行级别涵义如下:
0 关机
1 单用户维护模式
2~5 多用户模式
6 重启

更改启动服务

在运行级别对应的文件夹中,您可以看到许多文件名以 S## 和 K## 起始的启动脚本链接。例如:

/etc/rcS.d/S40networking    启用网络支持
/etc/rc2.d/S13gdm           启动登录管理器
/etc/rc2.d/S20makedev       创建设备文件
/etc/rc2.d/S23xinetd        启动超级进程
/etc/rc2.d/K20powernowd     针对某种硬件的电源管理支持
  1. init进程将以 start 为选项,按文件名顺序执行所有以 S## 起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在 /etc/rc2.d/ 文件夹中, S13gdm 文件名中的数字小于 S23xinetd , S13gdm 将比 S23xinetd 先执行。
  2. 如果一个脚本链接,以 K## 起始,表示它将以 stop 选项被执行。如果相应服务没有启动,则不执行该脚本。

如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由 S##xxx 重命名为 K##xxx 。

手动控制服务

您也可以手动运行带有以下选项的启动脚本,来控制系统服务。 start 启动 stop 停止 restart 重启

有时您并不清楚某一运行级别有什么启动脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,可以直接使用 /etc/init.d/ 文件夹中的启动脚本( /etc/rcX.d/ 中的启动脚本链接到 /etc/init.d/ 文件夹下相应脚本),这也是推荐的方式。

常见系统服务

<th>
  说明
</th>
<td>
  高级电源管理支持
</td>
<td>
  acpi 守护程序.这两个用于电源管理,非常重要
</td>
<td>
  acpi 的扩展
</td>
<td>
  声音子系统
</td>
<td>
  声音子系统实用工具
</td>
<td>
  任务调度系统,建议开启
</td>
<td>
  cron 的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行
</td>
<td>
  类似于 cron 的任务调度系统。建议关闭
</td>
<td>
  核心支持其他二进制的文件格式
</td>
<td>
  蓝牙设备支持
</td>
<td>
  启动日志。开启它
</td>
<td>
  系统日志,建议开启
</td>
<td>
  同上,使用一种就可以了
</td>
<td>
</td>
<td>
  打印机子系统
</td>
<td>
  消息总线系统(message bus system)。非常重要
</td>
<td>
  使用拨号连接时,清除 dns信息
</td>
<td>
  企业卷管理系统
</td>
<td>
  邮件用户代理守护进程,用于收取邮件
</td>
<td>
  gnome 登录管理器
</td>
<td>
  终端中的鼠标支持
</td>
<td>
  别动它
</td>
<td>
  调整硬盘的脚本,配置文件为 /etc/hdparm.conf
</td>
<td>
  系统休眠
</td>
<td>
  笔记本功能键支持
</td>
<td>
  即插即用支持,比较复杂,建议不要动它
</td>
<td>
  网络接口重命名脚本。如果您有十块网卡,您应该开启它
</td>
<td>
  配置文件为 /etc/inetd.conf
</td>
<td>
  受限模块支持。1
</td>
<td>
  逻辑卷管理系统支持
</td>
<td>
  创建设备文件,非常重要
</td>
<td>
  磁盘阵列
</td>
<td>
  从/etc/modules加载扩展模块,建议开启
</td>
<td>
  网络支持。按 /etc/network/interfaces 文件预设激活网络,非常重要
</td>
<td>
  时间同步服务,建议关闭
</td>
<td>
  pcmcia 设备支持
</td>
<td>
  移动 CPU 节能支持
</td>
<td>
  拨号连接
</td>
<td>
</td>
<td>
  预加载库文件
</td>
<td>
  别动它
</td>
<td>
  自动配置 DNS
</td>
<td>
  清除 nologin
</td>
<td>
  rsync 守护程序
</td>
<td>
  在重启和关机期间发送信号
</td>
<td>
  激活单用户模式
</td>
<td>
  ssh服务器
</td>
<td>
  检查 sudo 状态
</td>
<td>
  用户空间 dev文件系统(userspace dev filesystem)。重要
</td>
<td>
  卸载文件系统
</td>
<td>
  随机数生成器
</td>
<td>
  开机画面支持
</td>
<td>
  显卡 BIOS 配置工具。保存显卡的状态
</td>
<td>
  设置 X 服务 ICE socket
</td>
<td>
  调整核心时钟的工具
</td>
<td>
  证书列表管理工具
</td>
<td>
  irqs 优化工具
</td>
<td>
  系统崩溃之后,用于修理设备文件许可的守护程序
</td>
<td>
  板载传感器支持
</td>
<td>
  磁盘陈列管理器
</td>
<td>
  清除开机屏幕的脚本
</td>
<td>
  管理其他守护进程的一个 inetd 超级守护程序
</td>
闽ICP备12003472号-7