linux系统启动过程-脚本启动顺序

1.系统启动流程Linux系统主要通过以下步骤启动:1、读取MBR的信息,启动Boot ManagerWindows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。Linux通常使用功能强大,配置灵活的GRUB或者lilo作为Boot Manager2、加载系统内核,启动init进程init进程是Linux的根进程,所有的系统进程都是它的子进程。3、init进程读取“/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以“start”参数启动,并指向一个系统中的程序。通常情况下,“/etc/rcS.d/”目录下的启动脚本首先被执行,然后是“/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”,最后启动的脚本是/etc/rc.local目录4、启动登录管理器,等待用户登录Ubuntu系统默认使用GDM作为登录管理器,kde则是kdm,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的链接)5.在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的/etc/profile.d/file/etc/profile/etc/bashrc/root/.bashrc/root/.bash_profile

2.更改运行级别*在“/etc/inittab”文件中找到如下内容:# The default runlevel.id:2:initdefault:这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:0 关机1 单用户维护模式2~5 多用户模式6 重启

3.服务管理更改启动服务在运行级别对应的文件夹中,您可以看到许多文件名以“S##”和“K##”起始的启动脚本链接。例如:/etc/rcS.d/S35mountall.sh 挂载文件系统/etc/rcS.d/S40networking 启用网络支持/etc/rc2.d/S13gdm 启动登录管理器/etc/rc2.d/S20makedev 创建设备文件/etc/rc2.d/S23xinetd 启动超级进程init 进程将以“start”为参数,按文件名顺序执行所有以“S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在“/etc/rc2.d/” 文件夹中,“S13gdm”文件名中的数字小于“S23xinetd”,“S13gdm”将比“S23xinetd”先执行。如果一个脚本链接,以“K##”起始,表示它将以“stop”参数被执行。如果相应服务没有启动,则不执行该脚本。例如:/etc/rc2.d/K20powernowd 针对某种硬件的电源管理支持如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由“S##xxx”重命名为“K##xxx”。手动控制服务您也可以手动运行带有以下参数的启动脚本,来控制系统服务。start 启动stop 停止restart 重启例如:/etc/rc2.d/K20powernowd start有时您并不清楚当前运行级别,该运行级别下未必有相应脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,您可以直接使用“/etc/init.d /”文件夹中的启动脚本(“/etc/rcX.d/”中的启动脚本链接到“/etc/init.d/”文件夹下相应脚本),这也是我们向您推荐的方式。例如:/etc/init.d/powernowd startTips:以上命令的位置并没有包含在环境变量的搜索路径中,所以要输入完整路径。

Ubuntu10.10 里面的环境配置文件:

(1)/etc/enviroment 是系统的环境变量。

(2)/etc/profile: 是所有用户的环境变量。当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(3)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。

(4)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

(5)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(6) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

(7)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

十年干戈天地老,四海苍生痛苦深。

linux系统启动过程-脚本启动顺序

相关文章:

你感兴趣的文章:

标签云: