day23-Linux基础学习 系统服务

一、Linux启动流程

1、CentOS6启动流程

CentOS6启动过程可以分为5个阶段:

  • 内核的引导
  • 运行init
  • 系统初始化
  • 建立终端
  • 用户登录系统。


    day23-Linux基础学习 系统服务_第1张图片
    CentOS6启动流程.png

2、CentOS7启动流程

day23-Linux基础学习 系统服务_第2张图片
CentOS7启动流程.png

二、运行级别

1、什么是运行级别

运行级别就是操作系统当前正在运行的功能级别

2、CentOS6

运行级别 作用
0 关机
1 单用户模式 (超级权限 必须面对实体硬件)
2 暂未使用
3 字符界面(黑框)
4 暂未使用
5 图形界面
6 重启
#CentOS6调用运行级别
#临时性的操作
[root@oldboy ~]# runlevel #查看级别
N 3
#N 表示上一次是什么级别
#3 当前系统正在运行的级别

#永久操作 /etc/inittab
[root@oldboy ~]# init 3 #切换到3级别上

3、CentOS7

运行级别 作用
0 关机
1 单用户模式 (超级权限 必须面对实体硬件)
2 暂未使用
3 字符界面(黑框)
4 暂未使用
5 图形界面
6 重启

#CentOS7调用运行级别的方法

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 重启
#CentOS7调用运行级别
#systemd使用的是'target'而不是runlevels
# multi-user.target: analogous to runlevel 3  #类似于运行级别3
# graphical.target: analogous to runlevel 5   #类似于运行级别5

#查看当前的运行级别
[root@oldboy ~]# systemctl get-default
multi-user.target

#修改系统下次启动时候的运行级别
[root@oldboy ~]# systemctl set-default multiuser.target

三、Linux systemd

1、systemd的由来

Linux一直以来都是采用init进程作为祖宗进程,但是init有两个缺点:

  • 启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
  • 启动脚本复杂,初始化完成后系统会加载很多脚本,脚本都会处理各自的清况,这会让脚本多而复杂。

2、什么是systemd

systemd即为system daemon 守护进程,systemd主要解决上文的问题而诞生。
systemd的目标是,为系统的启动和管理提供一套完整的解决方案。

3、systemd的优势

  • 最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15等)。
  • CentOS7支持开机并行启动服务,显著提高开机启动效率。
  • CentOS7关机只关闭正在运行的服务,而CentOS6全部都关闭一次。
  • CentOS7服务的启动与停止不在使用脚本进行管理,也就是/etc/init.d下不在有脚本。
  • CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。

4、systemd管理服务相关命令

systemct/管理服务的启动、重启、停止、重载、查看状态等常用命令。

systemctl命令 作用
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 mask crond.servre 禁止服务运行
systemctl unmask crond.servre 取消禁止服务运行

当我们使用systemct/启动一个守护进程后,可以通i过sysytemctl status查看此守护进程的状态。

CentOS7系统,管理员可以使用systemctl命令来管理服务器启动与停止。

systemctl enable nginx      #下一次开机启动nginx,于当前无关
systemctl disable nginx     #下一次开机不启动nginx,于当前无关
systemctl poweroff          #立即关机,常用
systemctl reboot            #重启命令,常用

systemctl的journalctl日志

journalctl  -n 20       #查看最后20行
journalctl  -f          #动态查看日志
journalctl  -p err      #查看日志的级别
journalctl  -u crond    #查看某个服务的单元的日志

四、Linux单用户模式

能正常引导进入系统

  • 配置文件错误导致无法启动
  • 忘记ROOT密码 ( 快照 | 单用户修改)

如何使用单用户模式进行变更系统密码?以CentOS7系统为例(CentOS6破解方式请自行百度)

第1步:重启Linux系统主机并出现引导界面时,按下建盘上的e键进入内核编辑界面

day23-Linux基础学习 系统服务_第3张图片
图1.png

第2步:在Linux16这行的后面添加 enforcing=einit=/bin/bash​ ,然后按下 Ctrl+X 组合键来运行修改过的内核程序。

day23-Linux基础学习 系统服务_第4张图片
图2.png

第3步:大约5秒过后,进入到系统的单用户模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。

day23-Linux基础学习 系统服务_第5张图片
图3.png

五、Linux救援模式

当系统坏了,无法登陆系统,但需要把里面的数据复制出来,怎么办?

步骤一、先桂载光盘,然后选择光盘引导为第一位

day23-Linux基础学习 系统服务_第6张图片
图4.png

day23-Linux基础学习 系统服务_第7张图片
图5.png

步聚二、进入故障排除模式->然后选择救援模式

day23-Linux基础学习 系统服务_第8张图片
图6.png

day23-Linux基础学习 系统服务_第9张图片
图7.png

步骤三:挂载真实系统后,发现数据都还存在

day23-Linux基础学习 系统服务_第10张图片
图8.png

你可能感兴趣的:(day23-Linux基础学习 系统服务)