SuSE Linux的启动
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
启动方案
init程序
l 运行级别
l 运行级别的转换
l init脚本
l 运行级别编辑器-YaST
l SuSEconfig和/ect/sysconfig
l 用YaST的系统编辑器配置系统
l 脚本和变量-系统配置
-设置/ect/sysconfig中的数据
启动方案
Unix系统的启动和初始化对一个有经验的系统管理员来说觉不是一件普通的事。本章是一个SuSE Linux启动方案的入门介绍。
用一句简要的话来解释Linux就是,内核从硬件那里接受所有的控制。它测试并设置终端,确切的说是显卡的BIOS寄存器和屏幕的显示模式,以便之后可以读出BIOS中的设定以及初始化主板的基本接口。然后逐个检查驱动模块(内核的组成部分),和已存在的硬件,以便有必要的话对其进行初始化。在检查完分区并加载了根目录之后启动init程序。通过init启动主系统和许多服务程序,以及对他们的配置。然后内核管理整个系统:监视每个程序的运行时间,管理内存,控制对硬件的使用。
Init程序
Init是一个控制具体系统初始化的进程;它可以说是系统中所有进程的父进程。
Init在所有的程序中是一个特殊的角色:它直接被内核启动,对9号信号免疫(它可以将普通的进程杀死)。其他的进程将会被init本身或它的子进程启动。
Init是集中在/etc/inittab中被配置的;这里“运行级别”被定义,它确定了在哪个级别中哪些服务将被运行。根据/etc/inittab中的记录,它调用相应的脚本。为便于理解这些脚本放在/etc/init.d目录中。
整个系统的启动(当然也包括关闭)都将被init单独控制;就这点而言,内核被视为后台进程,它的任务是管理那些启动了的进程,分配给他们运行及访问硬件的权利并加以控制。
运行级别
Linux中有很多运行级别,他们定义了系统的状态。启动系统时的标准运行级别在/etc/inittab中通过initdefault项确定,通常为3和5级(见表)。启动时可以指定想要的级别;内核将它的一些参数传递给init进程。
为了能在之后某个时候切换到其他的级别,可以调用以级别号为参数的init程序;只有系统管理员能够切换运行级别。
例如:通过输入命令
root@erde:/>init 1
进入单用户模式,它用来对系统进行维护和管理。当管理员完成他的工作之后,他可以通过
root@erde:/>init 3
将系统切换到普通状态。这时所有需要的程序都会运行,其他用户也可以登录了。
下表给出了所有运行级别的信息。级别2为,如果你的/usr区是通过NFS加载的,将不能被使用。
停机(System halt)
s
单用户模式(美式键盘布局)
1
单用户模式
2
本地多用户模式,不带网络。
3
完全多用户模式,带网络。
4
保留(暂时不用的模式)
5
完全多用户模式,带网络,带KDM(默认),GDM和XDM。
6
重起模式。
另外你可以通过root@erde:/>init 0 停机,
通过root@erde:/>init 6 重起。
SuSE将5级作为默认的运行级别,以便用户可以直接进入图形界面。
如果你要进入3级和5级,必须先确保X Window系统已配置好。想要知道系统是否如你所希望的那样运行,输入:root@erde:/>init 5进行测试。
如果正常,你就可以通过YaST将5级设为默认运行级别。
注意
错误的配置/etc/inittab将会导致系统不能正确的启动。改动时一定要仔细,并且请保留一份备份。如果发生了错误,可以在lilo命令行加上参数:init=/bin/sh,便可以直接进入一个shell,然后将备份的文件拷贝回去。
运行级别的切换
通常在切换级别时会发生的是:当前运行级别的“停止脚本”被调用,这时,该级别中那些程序将被终止,然后新的级别的“开始脚本”将被调用。多数情况下在这个过程中一些程序被启动。
为了阐述清楚,让我们看一个从级别3到级别5的切换:
l 系统管理员通知init程序,级别要被切换:init 5 (今后我将省略前面的提示符)
l init检查/etc/inittab,并调用/etc/init.d/rc脚本(以新的级别号为参数)。
l …rc‟调用当前级别的一些“停止脚本”,这些脚本(可理解为一些服务程序)没有在新的级别的“开始脚本”中存在。
提示:“停止脚本”已k开头(kill),“开始脚本”已s开头(start)。
l 最后新级别的“开始脚本”被调用;在我们的例子中为/etc/init.d/rc5.d下的已s开头的脚本。这些脚本的调用顺序以来他们后面的数字。
Init脚本
/etc/init.d下的脚本分成两类:
l 直接被init调用的脚本:包括仅仅在启动和关闭系统时使用的脚本(断电或用户按了组合键ctl+alt+del(我的文件里没有印出来,这是我猜的)时也会调用的)。l 间接被init调用的脚本:即级别切换时要调用的;通常是/etc/init.d/rc调用的,它保证那些脚本按正确的顺序被调用。
所有的脚本都在/etc/init.d目录下。切换级别的脚本也在这个目录下,他们将已指向/etc/init.d/rc0.d到/etc/init.d/rc6.d的符合链接的形式存在并被调用。这样是为了使之脉路更清晰,同时避免出现几份相同的脚本,因为不同的级别可能会用到一些相同的脚本。因为这些脚本不是开始的就是停止的,所以他们都能够接受start 和stop参数。(不知道这里翻译得是否准确)。另外他们也可以接受restart, reload, force-reload 和status参数;这些参数的意义列在下表中。
选项
意义
Start
开始
Stop
停止
Restart
如果服务已经在运行则重起,否则如start
Reload
重新读入配置文件,但不重起。
Force-reload
如果支持则重新读入配置文件,否则重起。
Status
当前状态。
离开级别3时/etc/init.d/rc3.d/K40network被调用;/etc/init.d/rc使用stop参数调用/etc/init.d/network。进入级别5时,同样的脚本被调用,但是用start 参数。