从按下开机键到出现输入用户名的界面的整个过程。要经历哪些步骤呢。
步骤如下:
- firmware:加载固件,固件在硬件层面进行设备检查,称为加电自检。【硬件时钟】
- 加电自检后就加载mbr即自举程序。mbr保存了三个东西(自举程序,磁盘分区表,结束标记字)
- BootLoader:自举程序,linux里面常用的自举程序是grub,自举程序用来载入内核。
- kernel:载入内核,从软件层面驱动硬件,启动init进程。
- init进程读取inittab文件。并按照inittab启动相应的运行级别所对应的程序及服务。
- 出现输入用户名和密码的框子。
硬件时钟和软件时钟的同步:
注:加载固件环节会涉及到一个硬件时钟的东东。
- hwclock:命令是hardwareclock的简称,即硬件时钟的意思。直接敲该命令将显示硬件时钟。
- date: 命令可以显示操作系统的时间,直接敲date即可。
- hwclock:命令有两个选项, --hctosys 以硬件为准同步date和hwclock, --systohc 以软件为准同步date和 hwclock。
- 直接设置硬件时钟、方法是:hwclock --set --date="9/22/96 16:45:05"
- 直接设置date、方法是:date 073113202014.02 ##月日时分年.秒
所有的例子如下:
##显示软件时间 [root@localhost ~]# date 2014年 07月 30日 星期三 13:09:18 CST ##显示硬件时钟 [root@localhost ~]# hwclock 2014年07月30日 星期三 13时09分22秒 -0.017273 seconds [root@localhost ~]# [root@localhost ~]# hwclock --systohc [root@localhost ~]# hwclock --systohc [root@localhost ~]# ##如果两个时间都不准的话,需要进行设置命令如下: [root@localhost ~]# date 073113202014.02 ##月日时分年.秒 2014年 07月 31日 星期四 13:20:02 CST [root@localhost ~]# [root@localhost ~]# hwclock --set --date="9/22/96 16:45:05" [root@localhost ~]# ##然后再用同步命令同步即可
自举程序及配置:
- linux系统中的自举程序一般为grub,其配置所在目录:../boot/grub/grub.conf
- 里面的主要配置是加载内核的相关信息。
[root@localhost etc]# pwd /etc [root@localhost etc]# ls -l grub.conf lrwxrwxrwx 1 root root 22 07-31 07:02 grub.conf -> ../boot/grub/grub.conf [root@localhost etc]#
-
grub.conf的内容解析
[root@localhost etc]# cat grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sda ####default用来配置默认引导的系统,单系统没有用,多系统的时候才有用 default=0 ####等待选择的时间 timeout=5 ####背景图片 splashimage=(hd0,0)/grub/splash.xpm.gz ####隐藏按钮 hiddenmenu #######定义系统及内核的位置。 title CentOS (2.6.18-194.el5) root (hd0,0) kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-194.el5.img [root@localhost etc]#
注:vmlinuz-2.6.18-194.el5 是内核文件 2.6.18 是内核的版本号 祝版本号.次版本号.末版本号 次版本号是奇数表示测试版。
关于内核:
内核只做两个事情:
- 驱动硬件,也就是让linux能认识这个硬件。启动过程中有识别硬件的过程。
- 启动进程init进程。系统启动的第一个进程,进程号恒为1,init进程读取inittab。其父进程为pid为0的 内核调度器进程。
###内核文件的位置
[root@localhost boot]# ls -l /boot/vm*
-rw-r--r-- 1 root root 1852596 2009-08-19 /boot/vmlinuz-2.6.18-164.el5PAE ##是一个文件,在启动的时候需要解压
[root@localhost boot]#
inittab:
- init进程启动的时候需要读取inittab这个配置文件
- 文件所在目录:/etc/inittab
[root@localhost etc]# ls -l /etc/inittab -rw-r--r-- 1 root root 1666 07-31 07:02 /etc/inittab [root@localhost etc]#
- 查看一下inittab的内容,
[root@localhost etc]# grep -v "^#" inittab
###默认启动的运行级别是5 如果要改成3则将下面的5改成3即可
id:5:initdefault:
###运行级别出啥都不写,表示任何级别都要运行,rc.sysinit这个脚本里面定义的都是系统启动必须的初始化操作。
si::sysinit:/etc/rc.d/rc.sysinit
###定义了7个级别,我们后面会有这几个的详细解释。
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
####按下ctrlaltdel时的操作是 shutdown
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
###跟电源有关。
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
###跟电源有关。
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
####6个本地终端的配置,tty就表示终端,按ctrl+F1-F6即可 ctrl+F7返回桌面环境
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
###运行级别5的时候启动xwindow。
x:5:respawn:/etc/X11/prefdm -nodaemon
[root@localhost etc]#
不难发现里面的格式:xx:xx:xx:xx
inittab的格式:id:runlevels:action:process
- id 唯一标识,标识符
- runlevels 运行级别
- action 运行状态,常用的有:wait、once:不等待,一般不用、ctraltdel:关机。
- 要运行的进程,脚本
运行级别解释
- # 0 - halt (Do NOT set initdefault to this)
- # 1 - Single user mode 没有图形,只有root可以登录 且不需要密码即可登录,
- # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) NFS一般不用了,有安全问题,建议不用。
- # 3 - Full multiuser mode
- # 4 - unused
- # 5 - X11 图形界面 11是xwindow的版本号 跟三的区别就是有图形。
- # 6 - reboot (Do NOT set initdefault to this)
切换运行级别:
- runlevel:查看当前的运行级别
[root@localhost etc]# runlevel N 5 [root@localhost etc]#
- init 运行级别 telinit 运行级别; 用来更改运行级别
[root@localhost etc]# init 1 [root@localhost etc]#
rc相关的东东:
在我们的inittab中我们可以看到所有的运行级别的process都指向了一个rc的脚本如下所示:
l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6
我们去看看这个文件:
- 文件目录:/etc/rc.d/rc
- 它会再调用同目录rcN.d
[root@localhost rc.d]# ls -l /etc/rc.d/rc -rwxr-xr-x 1 root root 2255 2009-07-04 /etc/rc.d/rc [root@localhost rc.d]# ##该文件中根据入参决定调用同目录哪个文件:即rcN.d N=0-6 [root@localhost rc.d]# ls -l 总计 112 drwxr-xr-x 2 root root 4096 07-31 07:10 init.d -rwxr-xr-x 1 root root 2255 2009-07-04 rc drwxr-xr-x 2 root root 4096 07-31 07:12 rc0.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc1.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc2.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc3.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc4.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc5.d drwxr-xr-x 2 root root 4096 07-31 07:12 rc6.d -rwxr-xr-x 1 root root 220 2009-07-04 rc.local -rwxr-xr-x 1 root root 27476 2009-09-29 rc.sysinit ###该文件应该也不陌生
我们随便找一个rcN.d看看其里面的内容,以5为例:
- 不难发现都是一些软连接文件,都指向了../init.d/中文件。
[root@localhost rc.d]# ls -l /etc/rc.d/rc5.d 总计 288 lrwxrwxrwx 1 root root 17 07-31 06:52 K01dnsmasq -> ../init.d/dnsmasq lrwxrwxrwx 1 root root 24 07-31 06:54 K02avahi-dnsconfd -> ../init.d/avahi-dnsconfd lrwxrwxrwx 1 root root 18 07-31 06:50 S08iptables -> ../init.d/iptables lrwxrwxrwx 1 root root 18 07-31 06:52 S08mcstrans -> ../init.d/mcstrans
-
K开头表示关闭S开头表示启动。严格区分大小写。
- 后面的数字表示启动顺序,越小启动的越早。
- 后面是服务的名字。
- 配置的原则:最小的权限,最少的服务。节省资源,防止攻击。比如不想启动:S60vsftpd 将S改成小写即可。
再次发现:
[root@localhost etc]# ls -l /etc/rc3.d
lrwxrwxrwx 1 root root 10 06-19 06:22 /etc/rc3.d -> rc.d/rc3.d
[root@localhost etc]# cd rc.d/rc3.d
[root@localhost rc3.d]# ls -l
总计 292
lrwxrwxrwx 1 root root 17 06-19 06:23 K01dnsmasq -> ../init.d/dnsmasq
lrwxrwxrwx 1 root root 24 06-19 06:38 K02avahi-dnsconfd -> ../init.d/avahi-dnsconfd
lrwxrwxrwx 1 root root 24 06-19 06:46 K02NetworkManager -> ../init.d/NetworkManager
lrwxrwxrwx 1 root root 16 06-19 06:28 K05conman -> ../init.d/conman
- 从上面的脚本容易发现,/etc/rc3.d 实际是/etc/rc.d/rc3.d 且rc3.d中的文件都是指向/etc/rc.d/init.d中的文件。
- init.d中定义了系统中的全部服务,我们可以进行这些服务重启,关闭等,如下:
[root@localhost init.d]# pwd /etc/rc.d/init.d [root@localhost init.d]# ./syslog 用法:./syslog {start|stop|status|restart|condrestart} [root@localhost init.d]# ./syslog stop 关闭内核日志记录器: [确定] 关闭系统日志记录器: [确定] [root@localhost init.d]# ./syslog start 启动系统日志记录器: [确定] 启动内核日志记录器: [确定] [root@localhost init.d]#
设置程序是否自启动:
- 将要运行的程序或者脚本创建软连接,并将软连接文件放到对应的rcN.d中,起一个S开头的名字。
- 将rcN.d中的文件直接改名,将服务是否启动进行改变。
- chkconfig,可以对系统中的服务进行查看,设置。如下
- ntsysv工具进行设置
###查看全部的服务及其启动级别,0:关闭 表示级别1的时候关闭,以此类推 [root@localhost init.d]# chkconfig --list acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 anacron 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 apmd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 [root@localhost init.d]# chkconfig --list sshd 指定名字 只显示一个服务的 sshd 0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@localhost init.d]# chkconfig --level 01 sshd on 指定01 级别时为on [root@localhost init.d]# chkconfig --list sshd ##查看一下设置结果。 sshd 0:启用 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@localhost init.d]# ##看一下chkconfig的用法: [root@localhost init.d]# chkconfig --help chkconfig 版本 1.3.30.1 - 版权 (C) 1997-2000 Red Hat, Inc. 在 GNU 公共许可的条款下,本软件可以被自由发行。 用法: chkconfig --list [name] chkconfig --add <name> chkconfig --del <name> chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities> [root@localhost init.d]#
ntsysv的使用如下:
ntsysv - simple interface for configuring runlevels
引导过程中信息查询:
dmesg的使用:
查看引导期间的信息。比如查看网卡:
[root@localhost init.d]# dmesg | grep eth0 eth0: no IPv6 routers present eth0: no IPv6 routers present [root@localhost init.d]#
var/log目录里面的日志文件:
- messages 启动信息日志
- boot.log 启动的错误日志一般为空
[root@localhost log]# cat boot.log [root@localhost log]# [root@localhost log]# grep syslog messages Jul 30 14:04:52 localhost syslogd 1.4.1: restart. Jul 30 14:17:24 localhost syslogd 1.4.1: restart. Jul 30 22:22:18 localhost syslogd 1.4.1: restart. [root@localhost log]#
相关推荐
"亦步亦趋的代码移植——从Linux到Windows的代码移植" 代码移植是指将原本运行在某一个操作系统平台上的代码移植到另一个操作系统平台上,使其能够在新的平台上正确地运行。文章主要讲解了从Linux到Windows的代码...
亦步亦趋也是个问题.doc
其中,820芯片组是一个重要的里程碑,它采用了创新的Intel Hub Architecture(英特尔中心架构),舍弃了传统的南北桥设计,用更快的总线连接内存控制器(MCH)和I/O控制器(ICH),旨在提供更高的内存带宽和系统响应...
随着21世纪信息技术的飞速发展,教育领域亦步亦趋,不断融入新技术、新手段,尤其是针对小学语文教学的信息化改革,已经成为推动教育教学质量提升的重要因素。《呼风唤雨的世纪》作为小学语文四年级教材中的一篇科普...
【市中事业编招聘2020年考试真题及答案解析完整版(1).docx】这份文档可能是一份事业单位招聘考试的真题及解析,涵盖了多项选择题,涉及了多个领域的知识。以下是其中几个题目及其解析: 1. 这道题目探讨的是心理学...
例如,“亦步亦趋”这一成语在多数情况下带有贬义,用来形容盲目跟从他人,但将其用于描述赵薇的形象显然是不合适的。正确的理解和使用成语,对学生来说是一种挑战,也是一种提高语文综合运用能力的重要途径。同时,...
在高一语文学习的征程中,每一次综合测试都是对学生们基础知识掌握情况的全面检阅。...对于教师而言,这种综合测试同样是一种教学反馈的工具,帮助教师及时了解教学效果,调整教学策略,更好地引导学生学习。
在面对全球经济的快速变化和数字化浪潮的冲击下,中国烟草行业亦步亦趋地探索着自身的数字化转型之路。这份名为【精品】开拓市场 创新驱动 探讨中国烟草行业的数字化转型之路(PDF报告).rar的报告,便是一份深入...
在信息化时代的浪潮下,教育领域亦步亦趋,紧跟技术发展的步伐,以多媒体教学一体机为代表的现代教学设备,正悄然改变着传统教育的面貌。尤其是在小学这一启蒙阶段,多媒体教学一体机的引入,不但使得课堂教学...
1. 在第一道题目中,考察的是成语或词语的恰当运用。"灌注"、"注入"、"倾注"和"贯注"都表示把精力、心血等集中到某个事物上,但"淡薄"、"淡泊"、"淡漠"和"淡薄"则分别对应对某事的兴趣程度或态度。正确选项应考虑...
不管你现在的编程技能有多么的高超,曾经你也是个亦步亦趋,不断的学习的初学者。在编程这条曲折的道路上,我想你肯定犯过一些低级的错误、遇见过一些普通的编码陷阱。本文作者跨越多个语言,为大家总结了20条...
在当今汽车工业飞速发展的背景下,摩托车行业亦步亦趋,持续探索提升产品性能与用户体验的新途径。在此过程中,细节之处往往蕴含着巨大的创新潜能,例如摩托车后中心罩与尾灯的扣合结构,这一看似微不足道的设计环节...
1. 通信卫星覆盖面积:通信卫星通常能俯瞰地球的特定区域,题目中的41276412774127841279可能是错误或误导的信息,实际的通信卫星覆盖面积需考虑卫星轨道高度、卫星数量和天线覆盖角度等因素。 2. 录像机重复播放...
1. 一字之师:指仅通过修改一个字就能使作品更完美的老师,强调细微之处的指导。 2. 严师益友:形容既严格又对学生成长有帮助的老师,是人生的重要导师。 3. 三人行,必有我师:无论何时何地,都应谦虚学习他人长处...
在信息时代飞速发展的今天,教育行业亦步亦趋地紧跟科技的潮流,不断探索和实践如何将信息技术与教育相结合,以提高教学质量并促进学生创新能力的培养。其中,“英特尔未来教育培训”项目为全球教育工作者提供了一种...
盛大陈天桥:一个人的江湖 在本文档中,我们将探讨盛大网络董事长兼首席执行官陈天桥的商业生涯和战略思考。从陈天桥的个人生平到盛大网络的发展战略,本文将详细分析陈天桥的商业思想和战略逻辑。 一、陈天桥的...
另一种则是“顺着代码铺就的道路,亦步亦趋地成为良匠大师”,即深入技术领域,不断提升自己的技术能力。在技术方向上,可以从初级程序员逐渐成长为架构师、总架构师乃至首席架构师。 ### 二、设计模式概述 设计...
在浙江省诸暨市草塔中学,2020学年高二语文上学期的第一次月考,学生迎来了一次全面而深入的语文素养检验。这份试卷不仅仅考察学生的语文基础知识,更是对其语言运用、逻辑思维、文化理解等多方面能力的一次全面检阅...
3. 科研流程题:这是一个关于科研活动顺序的选择题,通常科研项目会经历查阅资料、争取项目、现场考察、模拟实验和通过鉴定等步骤。 4. 职业关系题:此题考查的是职位之间的对应关系,教练对应运动员,类似于导演...
1. 职业与网络使用的关系: 题目指出,不同职业人群使用互联网的频率存在差异。新闻记者与网络联系紧密,但上网人数占比并不高;相比之下,青少年学生网民的占比显著高于教师和领导干部。这表明职业特性与上网习惯...