第5讲.Linux引导流程解析
1、固件:solaris的固件:PROM/openboot,在运行中可用stop+A调出固件程序; 软件时钟#date;硬件时钟#hwclock(hardwareclock)同步及修改 当出现不熟悉的命令时要学会看help,#hwclock –help 当出现时间不同时可用硬件同软件或反之:硬件同步软件时钟#hwclock –hctosys;软件时钟同步硬件#hwclock –systohc 当时间都不对时,可修改时间:man date查看date修改时间的格式;date [MMDDhhmm[[CC]YY][.ss]] man hwclock/hwclock --set --date="9/22/96 16:45:05" 2、自举程序BootLoader(GRUB) 硬盘MBR:主引导记录Master Boor Recorder,windows下NTLDR和boot.ini;Linux下GRUB/LILO;#vi /etc/grub.conf vmlinuz-2.6.18-194.el5是一个内核文件(可执行),在/boot下; /usr/src/Linux目录下一般会存放内核源代码文件,可编译升级 3、载入内核Kernel 它在启动加载时只做两件事:硬件驱动和启动一个初始进程init,内核更多包含驱动程序。 4、启动进程init后,它首先读取inittab #ps -le|more;init为PID为1的第一个进程,它是所有进程的父进程,PPID是一个进程的父进程的PID;init的父进程是PID为0的内核调度器(Kernel scheduler),分配CPU时间和进程间的切换; 5、读取执行配置文件/etc/inittab runlevel运行级别 #init 3 //不重启切换级别,前为N时表示没切换过; #ll `which telinit` //telinit是init的软件连接 #init [0123456Ss] //可以用s表示级别1 #grep -v "^#" /etc/inittab|more //显示除行首为#行的其它行 #man inittab //man一下inittab这个配置文件,和命令一样不用指出目录;主要注意最后的process id:5:initdefault: //判断默认的运行级别,action常用取值:initdefault缺省级别、sysinit系统启动就执行后面的process命令、wait执行其后process命令,并等其结束再运行其他命令、ctrlaltdel按三键时执行process命令、respawn一旦其后process结束,便重新运行该命令。 si::sysinit:/etc/rc.d/rc.sysinit //系统服务初始化,如环境变量、系统时钟、加载字体、加载文件系统、生成系统启动信息日志等。这是所有级别在系统启动时都要运行的SHELL脚本,可加自启动配置在这个文件未尾。 l5:5:wait:/etc/rc.d/rc 5 //判断默认级别后,调用/etc/rc.d/rc这个SHELL脚本,执行相应级别/etc/rc.d/rc[n].d目录下的服务命令,并等到其执行结束再运行其它命令。 #ls /etc/rc.d/rc3.d //这是/etc/rc.d/init.d里服务程序脚本的软连接;[K|S]kill和start,数字顺序,服务名;配置LINUX服务器时,可以在这里改S来禁止此服务启动;另#ll /etc/rc3.d是这个目录的软连接(UNIX多用此) ca::ctrlaltdel:/sbin/shutdown -t3 -r now //在虚拟机里可设置相应的热键定义 2:2345:respawn:/sbin/mingetty tty2 //终端切换CTRL+ALT+F1-F6,F7返回 6、手动关闭或启动服务 在/etc/rc.d/init.d目录里是所有服务的启动脚本,可以status、start、stop、restart、reload 7、设置自启动程序 自己添加的服务要在运行级别里随系统启动,可以有三种方法:ln –s;chkconifg;ntsysv 1).先建立自启动服务脚本msg.script: //建议自建服务也放在一个固定的目录下 2).#chmod u+x /etc/rc.d/init.d/msg.script //增加可执行权限 3).可用三种方式建立自启动 #ln –s /etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/S100msg.script //在3级别运行 重启或init 3后,可以看到,一启动就会Starting 0msg.script,然后将信息记录在msg.today里 #chkconfig –-level 2345 msg.script on //出错不支持msg.script,用vsftpd可用 #ntsysv –-level 3 //可比较直观的看到在某个运行级别是否启用或作更改 8、dmesg 查看内核引导期间的信息,可以检测添加的硬件在启动时能否被内核所识别 #dmesg | grep sda 内核启动时的所有信息中的sda #ls /var/log //所有日志文件都在这个目录里,启动时如果出错或其它都可以通过这里的文件来判断 #grep syslog /var/log/messages|more
Linux基础自学记录六-引导流程解析1
发布日期:2021-09-03 18:04:51
浏览次数:2
分类:技术文章
本文共 2323 字,大约阅读时间需要 7 分钟。
转载于:https://blog.51cto.com/74516/806769
转载地址:https://blog.csdn.net/weixin_34194317/article/details/91501830 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年03月27日 16时32分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【C++】算法集锦(8):从两数和问题拓展到一百数和问题
2019-04-27
【C++】算法集锦(9):背包问题
2019-04-27
【C++】算法集锦(10)通俗讲kmp算法
2019-04-27
【C++】算法集锦(12):高楼扔鸡蛋
2019-04-27
【图解】拥塞控制
2019-04-27
线程上下文切换
2019-04-27
什么是服务熔断?
2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能
2019-04-27
C++面经总结之《Effective C++》(一)
2019-04-27
C++面经总结之《Effective C++》(二)
2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!!
2019-04-27
打开我的收藏夹 -- Python数据分析杂谈
2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构
2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据
2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件
2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办?
2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗
2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位
2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧
2019-04-27