6.1. init 系统

文件/etc/inittab包含用于保持系统运行的后台程序。其中一个程序是每个串行端口一个 getty 进程。

图 6-3. gettyinit 启动,基于以下条目/etc/inittab

co:2345:respawn:/sbin/getty ttyS0 CON9600 vt102

inittab中,每个字段都用冒号分隔,并包含

co

用于inittab的任意条目。只要此条目没有在其他地方出现inittab,就没问题。我们将此条目命名为co,因为它用于控制台。

红帽 Linux 7.3 有一个名为 kudzu 的程序,它在系统启动时配置系统。kudzu 处理一个inittab条目co,对其进行特殊处理,将其设置为连接的显示器和键盘或串行控制台。硬编码的值co可以防止此行为。

2345

此条目启动的运行级别。运行级别 2、3、4 和 5 可用于操作系统的系统,getty 不应在其他运行级别中使用。即使没有 getty,串行控制台仍然可以在运行级别 1(或单用户模式)下工作。

respawn

如果程序终止则重新运行。我们希望发生这种情况,以便当您注销控制台时,会出现一个新的login登录提示符。

/sbin/getty ttyS0 CON9600 vt102

要运行的命令。在本例中,我们告诉 getty 连接到/dev/ttyS0,使用以下设置CON9600,该设置位于/etc/gettydefs。此条目表示一个以 9600bps 运行的终端。最初假设终端是较新模型的 VT100

更改/etc/inittab后,使用以下命令重启 init

telinit q

另一种方法是使用命令 kill -HUP 1init 发送挂起信号。不建议这样做:如果您输入错误并实际终止 init,则您的系统将突然停止运行。

Note中的注释inittab和红帽的 kudzu
 

kudzu 使用#行注释来激活和停用连接的显示器和键盘以及串行端口的 getty。为防止真正的注释与 kudzu 保存的行混淆,请使用##在真正的注释行的开头。