/etc/rc.d/rc.sysinit 启动脚本
/etc/rc.d/rc.sysinit 脚本在启动时由 init 程序调用。
此脚本执行与运行级别无关的初始设置。
以下是 rc.sysinit 脚本完成的事情的示例:
- 配置了外围硬件,例如 USB、并行或者串行连接的设备
- 在 /etc/sysctl.conf 中指定的内核参数被应用到正在运行的内核
- 设置主机名
- 检查根文件系统并重新挂载读/写
- RAID 和 LVM 设备已激活
- 交换文件和分区被激活
- 磁盘配额已激活
更多: zhilu jiaocheng
示例 /etc/inittab 文件
下面是一个来自 CentOS 6 系统的示例 /etc/inittab 文件。
# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
当内核启动 System V 风格的 init 程序时,它们会读取它们的配置文件 /etc/inittab。
该文件定义:
- 默认情况下 init 将其中启动系统的运行级别
- 程序 init 将运行以初始化系统
- 标准进程 init 将为每个运行级别启动
- 脚本 init 将运行以实现每个运行级别
默认情况下,大多数服务器在运行级别 3 中启动,而大多数工作站在运行级别 5 中启动。
通过配置引导加载程序向 init 传递一个指定备用运行级别的选项,可以在启动时覆盖此默认值。
/etc/inittab 行语法
/etc/inittab 文件中的一行有四个以冒号分隔的字段。
id:rstate:action:process
第一个是唯一ID。
只要没有其他行具有相同的 1 或者 2 个字符,值是什么并不重要。
第二个是限制此行的运行级别列表。
如果没有列出,则无论默认运行级别如何,都将处理该行。
第三个字段是将要采取的操作(通常执行在第四个字段中指定的命令)。
下表描述了 inittab 条目中的字段。
字段 | 说明 |
---|---|
id | 是条目的唯一标识符。 |
rstate | 列出此条目适用的运行级别。 |
action | 标识进程字段中指定的进程将如何运行。 可能的值包括:sysinit、boot、bootwait、wait 和 respawn。 有关其他操作关键字的说明,请参阅 inittab(4)。 |
process | 定义要执行的命令或者脚本。 |
默认运行级别
/etc/inittab 中的 initdefault 行告诉 init 如果没有得到该信息,它要转到哪个运行级别。
这一行的特殊之处在于没有要运行的命令(所有其他命令在第四个字段中都有一个值):
日期:2020-09-17 00:14:32 来源:oir作者:oir