1.系统服务
2.systemd的使用
3.单用户模式
4.救援模式
一、系统服务
1.centos6的启动流程
主要分为5个阶段:
- 内核的引导
- 运行init
- 系统的初始化
- 建立终端
- 用户登录系统
- 内核引导
内核引导分为两个步骤:
a. 打开电源,开始BIOS自检,启动操作系统
b. 操作系统启动后,读入/boot目录下的内核文件
- 运行init
init进程是系统所有进程的的起点,没有这个进程,系统中的任何进程就不会启动。
init程序首先需要读取配置文件/etc/inittab。
- 系统初始化
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
- 建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端: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
- 用户登录系统
用图形表示centos6启动流程为(1)命令行登录
(2)ssh登录
(3)图形界面登录
2.centos7启动流程
用图形表示centos7的启动流程centos7的启动流程与centos6的启动流程基本相似,分为5个阶段:
- 按下电源
- 开机自检(BIOS)
- MBR引导
- GRUB菜单
- 加载内核
-
centos6与centos7的区别
centos 6与centos 7运行级别的区别
什么是运行级别:
运行级别就是操作系统当前正在运行的功能级别
centos 6运行级别 | centos 7运行级别 | 作用 |
---|---|---|
0 | runlevel0.target,poweroff.target | 关机 |
1 | runlevel1.target,rescue.target | 单用户模式 |
2 | runleve2.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 | 重启 |
# 查看当前运行级别
[root@wyw-10 ~]# systemctl get-default
multi-user.target
# 修改系统下次启动时候的运行级别
[root@wyw-10 ~]# systemctl set-default multi-user.target
二、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(waiting) | 服务已经运行但在等待某个事件 |
inactive | 服务没有在运行 |
enable | 服务设定为开机运行 |
disable | 服务设定为开机不运行 |
static | 服务开机不启动,但可以被其他服务调用启动 |
关机
shutdown -h now
poweroff
halt
init 0
systemctl poweroff
重启
reboot
shutdown -r now
init 6
systemctl reboot
四、单用户模式
- 能正常引导进入系统
1)配置文件错误导致无法启动
2)忘记root密码
(1)重新启动或开启CentOS7.6系统,在选择进入系统的Grub菜单界面如下图,根据提示按“e”小写字母进入编辑界面
(2)然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”,如下图所示:
如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux),如下图所示:
(3)配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图所示:
1)图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。
2)也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount-o rw,remount /”命令,修改方法如下图所示:
PS:无法使用其它重启命令时,需要多执行一条“touch /.autorelabel”命令以便在下次系统引导前重新标记系统中的所有相关文件
五、救援模式
系统无法正常进入 比如没有内核 比如grub被修改 比如系统崩溃
(1)没有内核文件,只能使用救援模式进入
1)先打开电源固件,加载固件
2)进入救援模式后,根据提示输入chroot /mnt/sysimage
3)找到vmlinux后,移到/boot下,保存后重启
4)重启之后,进入登录界面
(2)系统崩溃,要保留重要数据的时候
1)首先加一块硬盘存储数据
2)打开救援模式
3)进入命令行模式后,挂载(mount /dev/sdb /data/)
1)模拟grub菜单出现问题
2)进入救援模式后,输入grub2-install /dev/sda,保存重启