9 S. X2 e& t2 j 允许init在电源被切断时,关闭系统。其前提是具有U P S和监视U P S并通知init电源已被切断的软件。 6 L$ a: e/ `9 y4 A* I# b/ g 4 a2 q2 G% {' G3 j9 R7 S2 p 2. ctrlaltdel ' D, y6 I3 A# ?" g% M
! g/ ~6 b3 _2 L/ ^' K& Y 允许init在用户于控制台键盘上按下C t r l + A l t + D e l组合键时,重新启动系统。注意,如果该系统放在一个公共场所,系统管理员可将C t r l + A l t + D e l组合键配置为别的行为,比如忽略等。 1 T& a& R" N5 V' X! y8 K8 M1 F2 _2 y0 N3 m. @4 o
3. sysinit ( n+ s, i3 M* t2 S) u$ s" W6 a) m' d. b
系统启动时准备运行的命令。比如说,这个命令将清除/tmp。 8 X. F- `6 O( M) X/ H
1 P3 G7 b4 i" c- O$ W 上面列出的特殊关键字尚不完整。其他的关键字及其使用详情,可参考你的inittab手册页。 % e9 p4 _5 a- I 1 D, U$ ?% V) K/ F 五、在单用户模式下引导 8 d/ m* U4 {- _4 y1 B4 Z8 [! W. {6 Z3 p# o* Q. w5 r
一个重要的运行级别就是单用户模式(运行级别1),该模式中,只有一个系统管理员使用特定的机器,而且尽可能少地运行系统服务,其中包含登录。单用户模式对少数管理任务(比如在/usr分区上运行fsck)而言,是很有必要的,因为这需要卸载分区,但这是不可能的,除非所有的服务系统已被杀死。 + y# ~: o7 T1 m0 a& ? 8 @& j5 _5 w0 I! u: z 一个正在运行的系统可以进入单用户模式,具体做法是利用init,请求运行级别1。内核启动时,在内核命令行指定single或emergency关键字,就可进入运行级别1了。内核同时也为init指定命令行, init从关键字得知自己不应该采用默认的运行级别(内核命令行的输入方式和你启动系统的方式有关)。 0 ~4 \) h9 J+ W, C 8 [5 S: R$ r0 e( N6 G 有时,以单用户模式进行启动是必要的,这样一来,用户在装入分区之前,或至少在装入分散的/usr分区之前,能手工运行fsck(在分散的文件系统上,任何活动都可能使其更为分散,所以应该尽可能地运行fsck)。 J2 E. Z5 w1 I% O3 i# w
, `9 ?0 t ]' i& U# k4 w+ i
如果自动化的fsck在启动时失败了,启动脚本init的运行将自动进入单用户模式。这样做是为了防止系统使用不连贯的文件系统,这个文件系统是f s c k不能自动修复的。文件系统不连贯的现象极为少见,而且通常会导致硬盘的不连贯或实验性的内核释放,但最好能做到防患于未然。 % O1 A8 R! s) s" n! C/ C6 V2 Z: q : Y# b' J4 Y* K; y' O 由于安全上的考虑,在单用户模式下,启动外壳脚本之前,配置得当的系统会要求用户提供root密码。否则,它会简单地为L I L O输入合适的一行代码,以r o o t的身份登录(当然,如果/etc/passwd已经由于文件系统的问题而不连贯了,就不适合这里的原则了,为对付这种情况,你最好随时准备一张启动盘)。 2 T5 }5 M% b2 I6 g K: k) I0 A$ Q9 n
/ G* z# @! Y) o$ C$ Q
不同的运行级有不同的用处,也应该根据自己的不同情形来设置。 ; l5 n* x. ]0 g# [+ I
- a; ?+ B+ p: q1 e/ c; I$ u/ y" s" c
例如,如果丢失了root口令,那么可以让机器启动进入单用户状态。在启动后的 lilo 提示符下输入: 7 M! P& _* v( `4 `: n( `4 d4 d/ c1 ^$ E7 V7 _& v: a# `
init=/bin/sh rw 使机器进入运行级1 ,并把 root 文件系统挂为读写。他会跳过所有系统认证,让你可以使用passwd 程序来改变root口令,然后启动到一个新的运行级。