1.Linux启动流程
Centos7:开机自检(BIOS)→MBR引导→GRUB菜单→加载内核→systemd(并行启动)→运行级别→初始化系统system.init→启动服务(登陆…)
2.Linux运行级别
system V init运行级别 | systemd目标名称 | 作用 |
---|---|---|
0 | runlevel0.target, poweroff.target | 关机 |
1 | runlevel1.target, rescue.target | 单用户模式 |
2 | runlevel2.target, multi-user.target | |
3 | runlevel3.target, multi-user.target | 多用户的文本模式 |
4 | runlevel4.target, multi-user.target | |
5 | runlevel5.target, graphical.target | 多用户的图形界面 |
6 | runlevel6.target, reboot.target | 重启 |
cat /etc/inittab #说明运行级别文档
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
runlevel #查看当前的运行级别,N为上一次没有改变
init Number #改变运行级别(立即生效)
systemctl get-default #查看当前系统的运行级别
systemctl set-default graphical.target #设置启动级别为5
3.Linux systemd
centos7在读取运行级别时,若使用multi-user,则会加载该目录下的服务资源
/etc/systemd/system/multi-user.target.wants/
systemctl命令:
systemctl enable ServiceName #加入开机自启
systemctl disable ServiceName #关闭开机自启
systemctl start crond.service #启动服务
systemctl stop crond.service #停止服务
systemctl restart crond.service #重启服务
systemctl reload crond.service #重新加载配置
systemctl status crond.servre #查看服务运行状态
systemctl is-active sshd.service #查看服务是否在运行中
systemctl is-enabled crond.service #查看是否为开机启动
systemctl mask crond.servre #禁止服务运行
systemctl unmask crond.servre #取消禁止服务运行
systemctl list-unit-files #查看当前系统的所有服务
systemctl daemon-reload #如果修改了某个服务的配置,则需要执行此命令才可以启动服务
当我们使用systemctl启动一个守护进程后,可以通过systemctl status查看此进程的状态
systemctl status sshd.service
进程状态 | 描述 |
---|---|
loaded | 服务单元的配置文件已经被处理 |
active(running) | 服务持续运行 |
actiive(exited) | 服务成功完成一次的配置 |
actiive(waiting) | 服务已经在运行但在等待某个事件 |
inactive | 服务没有在运行 |
enable | 服务设定为开机运行 |
disable | 服务设定为开机不允许 |
static | 服务开机不启动,但可被其他服务调用启动 |
4.Linux单用户模式
启动Linux系统时,在选择内核时按E,进入内核编辑界面,在Linux16这一行最后添加enforcing=0 init=/bin/bash,过几秒之后进入单用户模式
mount -0 remount,rw / #默认为只读,重新挂载为读写
exec /sbin/init #完成之后重新引导系统
5.Linux救援模式
在boot设置里将光盘设置为第一引导,保存开机后选择Troubleshooting,选择Rescue a Centos system,选择1)continue
chroot /mnt/sysimage #此时直接为原系统内容
grub2-install /dev/sda #当引导坏了时修复引导
grub2-mkconfig -o /boot/grub2/grub.cfg #误删除引导grub时修复
exit
reboot