Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.2.3. Upstart

红帽企业版 Linux 6 中,sysvinit 软件包的 init 已经被基于事件的 init 系统 Upstart 替代。这个系统在启动时处理任务和服务的开始,在关闭时停止它们并且在系统运行时监督它们。如果需要更多 Upstart 本身的信息,请参考 init(8) 手册页。
Upstart 识别为任务的进程是由 /etc/init 目录中的文件定义。Upstart 在手册页中有详细的记录。命令概述位于 init(8),任务语法请参考 init(5)
Upstart 在红帽企业版 Linux 6 中提供以下行为上的改变:
  • 弃用 /etc/inittab 文件,现在它" "用于通过 initdefault 行设定默认运行级别。其他配置由 /etc/init 目录中的 upstart 任务完成。
  • 现在使用 /etc/sysconfig/init 中的 ACTIVE_CONSOLES 变量设定活跃 tty 控制台数,它可由 /etc/init/start-ttys.conf 任务读取。默认值为 ACTIVE_CONSOLES=/dev/tty[1-6],它可在 tty1 到 tty6 中启动的 getty。
  • 如果串行控制台是主要的系统控制台,一个串行 getty 还是会被自动配置。在先前的发行版本,这是通过 kudzu 完成的,它将会编辑 /etc/inittab。在红帽企业版 Linux 6,主要串行控制台配置是通过 /etc/init/serial.conf 进行处理的。
  • 现在要配置在非默认串口控制台中运行的 getty,您必须写入一个 Upstart 任务而不是编辑 /etc/inittab。例如:如果需要 ttyS1 中的 getty,则应使用以下任务文件(/etc/init/serial-ttyS1.conf):
    # This service maintains a getty on /dev/ttyS1.
    
    start on stopped rc RUNLEVEL=[2345]
    stop on starting runlevel [016]
    
    respawn
    exec /sbin/agetty /dev/ttyS1 115200 vt100-nav
像在先前的发行版本,如果您希望允许根用户登录到这个 getty,在 /etc/securetty 中需要 ttyS1。
因为使用 Upstart,所以不再支持使用 /etc/shutdown.allow 定义谁可关闭这台机器。