今日总结
1.开机启动流程
-
CentOS6
- 内核的引导
- 计算机打开后首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动,
- /boot
- 载入内核文件
- 运行init
- init是所有进程的起点
- 运行级别
- 系统初始化
- 加载/etc/init.d文件
- 建立终端
- 用户登录系统
- 内核的引导
-
CentOS7
按下电源
开机自检(BIOS)
MBR引导
-
GRUB菜单
- C7救援模式
加载内核
-
读取运行级别
- systemd
/etc/systemd/system/default.target.wants/
/usr/lib/systemd/system/sysinit.target.wants/
- systemd
初始化系统
-
启动服务
- 并行启动服务
-
CentOS6与CentOS7的区别
-
运行级别
- Centos6
- 0 关机
- 1 单用户模式(超级权限 必须面对实体硬件)
- 2 在位使用
- 3 字符界面
- 4 暂未使用
- 5 图形界面
- 6 重启
- Centos6
#临时性的操作
[root@oldboy~]# runlevel #查看级别
N 3
#N 表示上一次是什么级别
#3 当前系统正在运行的级别
[root@oldboy~]# init 3 #切换到3级别上
#永久操作 /etc/inittab
- Centos7
- 0 关机
- 1 单用户模式(超级权限 必须面对实体硬件)
- 2 在位使用
- 3 字符界面
- 4 暂未使用
- 5 图形界面
- 6 重启
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
[root@oldboy~]# systemctl get-default #查看当前运行级别
multi-user.target
#修改系统下次启动时的运行级别
[root@oldboy~]# systemctl set-default graphical.target
# To set a default target, run:
# systemctl set-default TARGET.target
2.Linux systemd
-
systemd的由来
Linux一直以来都是使用init进程作为祖宗进程,但init有两个缺点- 启动时间长
- 启动脚本复杂
什么是systemd
systemd即为system daemon守护进程,systemd主要解决上文的问题而诞生。systemd的目标是,为系统的启动和管理提供一套完整的解决方案。-
systemd的优势
- 最新系统都采用systemd管理(Redhat7,CentOS7,Ubuntu15等)
- Centos7支持开机并行启动服务,显著提高开机启动效率
- Centos7关机只关闭正在运行的服务,而6全部都关闭一次
- Centos7服务的启动与停止不再使用脚本管理,也就是/etc/init.d下不在有脚本。
- CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的进程。
systemd相关的配置文件
/usr/lib/systemd/system #类似6的系统启动脚本
/etc/systemd/system/ #类似6系统的/etc/rc.d/rcN.d
/etc/systemd/system/multi-user.target.wants/
- systemd管理服务相关命令
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemclt status nginx
systemctl enable nginx #下一次开机启动nginx,于当前无关
systemctl disable nginx #下一次开机不启动nginx,于当前无
关
当我们使用systemctl启动一个守护进程后,可以通过systemctl status查看此守护进程的状态
状态 | 描述 |
---|---|
loaded | 服务单元的配置文件已经被处理 |
active(running) | 服务持续运行 |
active(exited) | 服务成功完成一次的配置 |
active(waitting) | 服务已经运行但在等待某个事件 |
iniactive | 服务没有在运行 |
enabled | 服务设定为开机运行 |
disable | 服务设定为开机不运行 |
static | 服务开机不启动,但可以被其他服务调用启动 |
systemctl list-unit-files #查看各个级别下服务的启动与禁止
-l #查看日志
[root@oldboy ~]# #关机
shutdown -h now
poweroff
halt
init 0
systemctl poweroff
[root@oldboy ~]# #重启
reboot
shutdown -r now
init 6
systemctl reboot
3.单用户模式
- 正常引导程序
- 配置文件错误导致无法启动
- 忘记root密码
https://mp.weixin.qq.com/s/1f-zCq8j4gL3xiB3AV9K3A
4.救援模式
- 没有内核文件,只能使用救援模式进入
- 系统崩溃,要保留重要数据的时候
- grup菜单出现问题