从零开始学Linux系统(一)之引导流程解析
Linux系统:分时多用户多任务的操作系统;
Linux系统引导流程:
inittab配置文件中:
定义了linux系统的运行的7个级别:从0~6
0、6:分别代表关机和重启,不建议设置为默认的运行级别,否则将无法正常使用系统;
4:暂未被使用,留给用户自定义使用;
1:单用户模式,只有管理员可以使用;
2,3:无图形界面,2只比3缺少了NFS(网络文件系统,一种存在安全隐患的网络共享服务)
5:带有图形界面
查看当前的运行级别: # runlevel 前级别 当前级别
切换运行级别:init/telinit [0123456Ss] Ss代表为运行级别1
inittab配置文件内容格式:
定义进程记录:
id(2位标识符) : run-levels(运行级别) : action(运行状态) : process(要运行的脚本和命令)
action取值:
initdefalut(默认值)
sysinit(与运行级别无关,只要系统就会执行一次)
wait:执行process中的指令,等其结束后在运行其他命令
once:执行process中的指令,不等其结束 (没有被使用过)
ctrlaltdel: Ctrl+Alt+Del时执行process指定的命令(默认是关机指令)=== 所以才有网吧快捷键的关机大法的由来
注:action为sysinit的启动脚本位置在:sysint/ect/rc.d/rc.sysinit
然后会判断系统的运行级别,去找不同运行级别的启动脚本目录,通过查看文件:S开头表示启动,K开头表示停止,标号越小优先级越高;可以通过修改文件名称,达到不让系统启动某些服务的目的;例如:运行级别3目录 /etc/rc.d/rc3.d 或 /etc/rc3.d
其实目录下所有各种服务的启动脚本文件都是存放在: /etc/rc.d/init.d/ 或 /etc/init.d 目录下,这里看到仅仅是软链接而已;
Ctrl + alt + F1~F6 :启动6个终端 F7:是回到原页面
设置自启动程序:
ln -s ls -s /etc/rc.d/init.d/test /etc/rc.d/rcdd/S100test
chkconfig chkconfig --list
ntsysv
运行dmesg检查引导期间的错误:# dmesg | grep sda 【检查硬盘启动状态】
检查系统日志/var/log/messages,查找可能被 dmesg忽略的应用程序错误
注:如果命令不好使,可能是同虚拟机中的快捷键冲突了,需要更改虚拟机的快捷键;