美国服务器Linux系统启动脚本执行顺序介绍

美国服务器 Linux 系统启动脚本执行的顺序是有特定的规则的,今天美联科技小编就来跟大家介绍下美国服务器 Linux 系统启动脚本执行的顺序。 1 、美国服务器一般内核启动后 1 )先识

美国服务器Linux系统启动脚本执行顺序介绍

来源:美国服务器 作者:美联科技小编Zoe 浏览量:161
2020-02-12
0

美国服务器Linux系统启动脚本执行的顺序是有特定的规则的,今天美联科技小编就来跟大家介绍下美国服务器Linux系统启动脚本执行的顺序。

1美国服务器一般内核启动后

1)先识别存储器分区,根据root=/dev/block/mtd/mmcblk0p6这样的的参数挂载文件系统。

2)运行文件系统中的init=/sbin/init执行启动脚本。

3)一般这个时候脚本中可能会有分区识别脚本,将分区再识别一次,或者重新挂载nfs,或者直接在root=nfs,让内核去挂载网络文件系统也是可以的。

2、一般美国服务器Linux系统的RunLevel

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆。

运行级别2:多用户状态,没有NFS

运行级别3:完全的多用户状态,有NFS,登陆后进入控制台命令行模式。

运行级别4:系统未使用,保留。

运行级别5X11控制台,登陆后进入图形GUI模式。

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。

3美国服务器UbuntuRunLevel

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户GUI

运行级别3:多用户GUI

运行级别4:多用户GUI

运行级别5:多用户GUI

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

4美国服务器旧式System V initialization启动流程:

1)运行第一个进程/sbin/init,找到/etc/inittab

2)根据inittab首先执行/etc/rcS.d/

3)随后根据“id:5:initdefault”,设置runlevel(这里为5),并根据runlevel执行/etc/init.d/rc 5,这个命令会找到/etc/rc5.d/,运行其中的脚本,这些脚本实际是/etc/init.d/目录下脚本的软连接,可能根据传入的文件名作为参数执行相应动作,类似busybox,这些脚本以S开头的为启动的意思,以K开头的为停止。并且S/K后面的两位数数字代表了服务的启动顺序。

5美国服务器Ubuntu启动脚本执行流程:

使用upstart启动流程,并且兼容System V初始化。

1)其中/sbin/init 进程首先找到/etc/init/目录下的rc-sysinit.confrc.confrcS.confrc-sysinitstartup事件发生时被启动,rc在系统runlevel变化时被启动,rcS在系统runlevelS时启动。

2)其中rc-sysinit.conf的主要工作是检测是否存在/etc/inittab或内核命令行,若存在,则按内核命令行>/etc/inittab>默认runlevel的顺序设置系统 runlevel,不存在则忽略。

3)随后rc-sysinit.conf主动调用/etc/init.d/rcS,其作用就是调用/etc/rcS.d目录下的脚本。

4)之后rc-sysinit.conf设置系统默认runlevel2),由于runlevel变化,rc.confrcS.conf服务启动,其中rc.conf最后会执行“exec /etc/init.d/rc RUNLEVEL”,从而SystemVinitialization的流程被启动,进入/etc/rc(RUNLEVEL).d/执行相应脚本,其中rc($RUNLEVEL).d文件夹中一般会有一个执行优先级最低的/etc/init.d/rc.local,里面的内容其实就是调用/etc/rc.local

综合上述描述,系统登录之前的脚本主要有:/etc/rcS.d -> /etc/rc2.d/ -> /etc/rc.local,这些目录下的脚本一般以数字开头,数字越小越先被执行。

6美国服务器Ubuntu各个时间段执行的脚本:

1)启动过程最后会调用/etc/rc.local

2)用户登录先执行全局登录脚本/etc/enviroment->/etc/profile,然后在用户目录按顺序查找三个特殊文件中的一个:.bash_profile.bash_login.profile;但只执行先找到的一个;

3)退出登录时执行用户目录的.bash_logout

关注美联科技,了解更多IDC资讯!

部分文章来源与网络,若有侵权请联系站长删除!