Linux系统服务 day23

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

  • 用户登录系统

(1)命令行登录
(2)ssh登录
(3)图形界面登录

用图形表示centos6启动流程为
centos6启动流程
2.centos7启动流程

centos7的启动流程与centos6的启动流程基本相似,分为5个阶段:

  • 按下电源
  • 开机自检(BIOS)
  • MBR引导
  • GRUB菜单
  • 加载内核

用图形表示centos7的启动流程
centos7启动流程
  • 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”小写字母进入编辑界面
    centos7.6系统grub菜单界面

    (2)然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”,如下图所示:
    进入编辑界面配置图
    特别说明:
    如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux),如下图所示:
    关闭Linux配置图

    (3)配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图所示:
    重新挂载修改密码图界面
    特殊说明:
    1)图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。
    2)也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount-o rw,remount /”命令,修改方法如下图所示:
    修改内核参数
    (4)配置完后,执行exec /sbin/init命令重启系统
    PS:无法使用其它重启命令时,需要多执行一条“touch /.autorelabel”命令以便在下次系统引导前重新标记系统中的所有相关文件
    处理SELinux以及重启系统界面
    (5)重启系统后验证修改后的密码是否能登录,出现如下图所示,表示密码修改并登录成功
    登陆界面
五、救援模式

系统无法正常进入 比如没有内核 比如grub被修改 比如系统崩溃
(1)没有内核文件,只能使用救援模式进入
1)先打开电源固件,加载固件


加载光盘固件

2)进入救援模式后,根据提示输入chroot /mnt/sysimage


进入救援模式

3)找到vmlinux后,移到/boot下,保存后重启
找到vmlinux镜像文件

4)重启之后,进入登录界面
image.png

(2)系统崩溃,要保留重要数据的时候
1)首先加一块硬盘存储数据


新加一块硬盘

2)打开救援模式
1

2

3)进入命令行模式后,挂载(mount /dev/sdb /data/)
image.png
(3)grub菜单出现问题
1)模拟grub菜单出现问题
image.png

2)进入救援模式后,输入grub2-install /dev/sda,保存重启

你可能感兴趣的:(Linux系统服务 day23)