linux的启动与定制
Linux
系统
主要经过如下步骤启动:(参考版本:11.10)
一、读取MBR的信息,启动Boot Manager
二、加载系统内核,启动/sbin/init进程
init进程是
Linux
的根进程,全部的系统进程都是它的子进程。
三、init进程读取“/etc/inittab”(注:新版本找不到此文件)文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本:
/etc/init.d中存储着可执行脚本文件。/etc/rcS.d和/etc/rcN(0-9)中存储有脚本的连接文件。
一般状况下,“/etc/rcS.d/”目录下的连接文件首先被执行,而后根据运行级别选择N,执行“/etc/rcN.d/”目录下的连接文件。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。
连接文件以K/S+两位数字+脚本名字方式命名,S/K表明脚本运行的参数为start/stop,两位数字表明连接文件执行的优先级。
注:此时执行的脚本处于root用户权限下。
注:如需增长自定义开机启动脚本,须要建立脚本,拷贝到/etc/init.d目录下,增长可执行属性,并在对应的运行级别/etc/rcN.d目录下按SXXScript的方式建立脚本的连接文件。系统还提供了对应的脚本工具update-rc.d帮助快速的创建和删除连接文件。(见附录)
四、根据“/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器“xorg”,Xwindow为Linux下的图形用户界面系统。
五、启动登陆管理器,等待用户登陆
Ubuntu系统默认使用GDM做为登陆管理器,您在登陆管理器界面中输入用户名和密码后,即可以登陆系统。(您能够在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的连接)
此时将进入用户权限。
附录:update-rc.d用法
1) 将你的启动脚本复制到/etc/init.d目录下
如下假设你的脚本文件名为test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行以下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照本身的须要相应修改便可。在你有多个启动脚本,而它们之间又有前后启动的依赖关系时你就知道这个数字的具体做用了。该命令的输出信息参考以下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令输出的信息参考以下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test
欢迎关注本站公众号,获取更多信息