Linux管理员不可不知:RHEL6为Upstart弃System V init

日期: 2010-12-15 作者:Sander van Vugt翻译:陈中华 来源:TechTarget中国 英文

随着Red Hat Enterprise Linux(RHEL)6的发布,红帽将使用新的Upstart启动服务来替换以前的init。本文中,您将了解这一基本的Linux进程的变化,以及它对系统管理员工作的意义。   原有的System V init启动过程的缺点是,它基于包含了大量启动脚本的runlevel目录。而Upstart则是事件驱动型的,因此,它只包含按需启动的脚本,这将使启动过程变得更加迅速。

经过良好调优并使用Upstart启动方式的Linux服务器的启动速度要明显快于原有的使用System V init的系统。   为了使Upstart更容易理解,它仍然使用了一个init进程。所以……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

随着Red Hat Enterprise Linux(RHEL)6的发布,红帽将使用新的Upstart启动服务来替换以前的init。本文中,您将了解这一基本的Linux进程的变化,以及它对系统管理员工作的意义。

  原有的System V init启动过程的缺点是,它基于包含了大量启动脚本的runlevel目录。而Upstart则是事件驱动型的,因此,它只包含按需启动的脚本,这将使启动过程变得更加迅速。经过良好调优并使用Upstart启动方式的Linux服务器的启动速度要明显快于原有的使用System V init的系统。

  为了使Upstart更容易理解,它仍然使用了一个init进程。所以,你仍然可以看到/ sbin / init,它是所有服务的根进程。但是,如果你看一下文件/ etc / inittab,你会发现一切都变了。

  理解从init到Upstart的转变

  有一个好消息,那就是RHEL 6对启动过程的改变很少。你还是可以处理那些在目录/ etc / init.d中的包含服务脚本的服务,所以runlevel的概念一直存在。因此,在使用yum增加一个服务后,照样可以像以前那样使用chkconfig命令激活它。此外,仍然可以用service命令来启动它。

  但如果你要查找以前应用在/ etc / inittab中的设定,你会发现很多都已经变了。唯一没变的是对服务器默认运行级别(runlevel)设定的这一行:

id:5:initdefault:

  所有先前由/ etc / inittab中处理的条目,现在都在目录/ etc / init中以单个文件的形式存在(不要与目录/ etc / init.d混淆,/ etc / init.d中包含的是服务脚本)。以下是一个你要使用的脚本的简短列表:

/etc/init/rcS.conf

通过启动大部分的基本服务来对系统进行初始化的设定

/etc/init/rc.conf

对启动各自的运行级别(runlevel)的设定

/etc/init/control-alt-delete.conf

定义当用户按“control-alt-delete”三个键时的系统行为

/etc/init/tty.conf
and
/etc/init/serial.conf

定义了系统处理终端登录的方式

  除了这些通用的文件,在文件/ etc / sysconfig / init中还有一些额外的配置。在这里,定义了一些参数来决定启动信息的格式。除了那些不很重要的设置,有三行我们需要注意:

AUTOSWAP=no
ACTIVE_CONSOLES=/dev/tty[1-6]
SINGLE=/sbin/sushell

  其中,第一行的值你可以设定为Yes,这样可以让你的系统能够自动检测交换分区。使用此选项意味着你再也不必在/ etc / fstab中挂载交换分区了。在ACTIVE_CONSOLES这一行决定了虚拟控制台的创建。在大多数情况下,tty[1-6]工作得很好,同时这个选项也允许您分配更多或者更少的虚拟控制台。但是要注意,不要使用tty [1-8],因为tty7是专门为图形界面预留的。

  最后很重要的一行是single= / sbin/ sushell。这一行可以有两个参数:/ sbin/ sushell(系统默认的参数),它会在启动单用户模式时将你带入一个root的 shell,参数/ sbin / sulogin会在单用户模式启动之前弹出一个登录提示,你必须输入root账户的密码才能继续下去。

  RHEL 6通过将System V替换为Upstart加快了其启动速度。采用了这项新服务,红帽仍然可以向下兼容地保持以前的管理方式,这就意味着,作为管理员,你仍可以使用原来的方式来管理服务 - 也几乎就是这样 - 只要在文件/ etc / inittab中做一些修改就可以了。