9.2. 配置 init 以启动 getty/etc/inittab文件

启动时,init 读取/etc/inittab配置文件。当系统运行时,如果发送 HUP 信号 (kill -HUP 1),它将重新读取该文件;此功能使得无需重启系统即可使对 init 配置的更改生效。

这个/etc/inittab文件有点复杂。我们将从配置 getty 行的简单情况开始。

中的行/etc/inittab由四个冒号分隔的字段组成

id:runlevels:action:process
字段描述如下。此外,/etc/inittab

可以包含空行和以数字符号 (`#'); 这些都会被忽略。

id

这标识文件中的行。对于 getty 行,它指定其运行的终端(在/dev/tty设备文件名中的字符之后)。对于其他行,这无关紧要(长度限制除外),但它应该是唯一的。

runlevels

应该考虑该行的运行级别。运行级别以单个数字给出,没有分隔符。(运行级别在下一节中描述。)

action

该行应采取的操作,例如,respawn在命令退出时再次运行下一个字段中的命令,或者once仅运行一次。

process

要运行的命令。

要在第一个虚拟终端 (

/dev/tty1) 上启动 getty,在所有正常的多用户运行级别 (2-5) 中,可以编写以下行

1:2345:respawn:/sbin/getty 9600 tty1
第一个字段表示这是用于/dev/tty1的行。第二个字段表示它适用于运行级别 2、3、4 和 5。第三个字段表示命令应该在退出后再次运行(以便可以登录、注销,然后再次登录)。最后一个字段是在第一个虚拟终端上运行 getty 的命令。

不同版本的 getty 运行方式不同。请查阅您的手册页,并确保它是正确的手册页。

如果想要向系统添加终端或拨号调制解调器线路,则需要在/etc/inittab中添加更多行,每条线路对应一个终端或拨号线路。有关更多详细信息,请参阅手册页 initinittabgetty

如果命令在启动时失败,并且 init 配置为restart它,它将使用大量系统资源:init 启动它,它失败,init 启动它,它失败,init 启动它,它失败,依此类推,永无止境。为了防止这种情况,init 将跟踪它重新启动命令的频率,如果频率变得过高,它将延迟五分钟再重新启动。