Linux服务启动介绍

启动流程

  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 文件中找到如下内容:

# The default runlevel.
id:2:initdefault:    

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

更改启动服务

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

/etc/rcS.d/S35mountall.sh   挂载文件系统
/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/rc2.d/K20powernowd start    

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

/etc/init.d/powernowd start        

常见系统服务

服务名称说明
acpi-support高级电源管理支持
acpidacpi 守护程序.这两个用于电源管理,非常重要
apmdacpi 的扩展
alsa声音子系统
alsa-utils声音子系统实用工具
cron任务调度系统,建议开启
anacroncron 的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行
atd类似于 cron 的任务调度系统。建议关闭
binfmt-support核心支持其他二进制的文件格式
bluez-utiles蓝牙设备支持
bootlogd启动日志。开启它
syslog-ng系统日志,建议开启
klogd同上,使用一种就可以了
sysklogd
cupsys打印机子系统
dbus消息总线系统(message bus system)。非常重要
dns-clean使用拨号连接时,清除 dns信息
evms企业卷管理系统
fetchmail邮件用户代理守护进程,用于收取邮件
gdmgnome 登录管理器
gpm终端中的鼠标支持
halt别动它
hdparm调整硬盘的脚本,配置文件为 /etc/hdparm.conf
hibernate系统休眠
hotkey-setup笔记本功能键支持
hotplug and hotplug-net即插即用支持,比较复杂,建议不要动它
ifrename网络接口重命名脚本。如果您有十块网卡,您应该开启它
inetd配置文件为 /etc/inetd.conf
linux-restricted-modules-common受限模块支持。1
lvm逻辑卷管理系统支持
makedev创建设备文件,非常重要
mdamd磁盘阵列
module-init-tools从/etc/modules加载扩展模块,建议开启
networking网络支持。按 /etc/network/interfaces 文件预设激活网络,非常重要
ntpdate时间同步服务,建议关闭
pcmciapcmcia 设备支持
powernowd移动 CPU 节能支持
ppp拨号连接
ppp-dns
readahead预加载库文件
reboot别动它
resolvconf自动配置 DNS
rmnologin清除 nologin
rsyncrsync 守护程序
sendsigs在重启和关机期间发送信号
single激活单用户模式
sshdssh服务器
sudo检查 sudo 状态
udev用户空间 dev文件系统(userspace dev filesystem)。重要
umountfs卸载文件系统
urandom随机数生成器
usplash开机画面支持
vbesave显卡 BIOS 配置工具。保存显卡的状态
xorg-common设置 X 服务 ICE socket
adjtimex调整核心时钟的工具
dirmngr证书列表管理工具
hwtoolsirqs 优化工具
libpam-devperm系统崩溃之后,用于修理设备文件许可的守护程序
lm-sensors板载传感器支持
mdadm-raid磁盘陈列管理器
screen-cleanup清除开机屏幕的脚本
xinetd管理其他守护进程的一个 inetd 超级守护程序

发表评论

电子邮件地址不会被公开。 必填项已用*标注