day23-Linux基础学习 系统服务

一、Linux启动流程

1、CentOS6启动流程

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

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


    CentOS6启动流程.png

2、CentOS7启动流程

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键进入内核编辑界面

图1.png

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

图2.png

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

图3.png

五、Linux救援模式

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

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

图4.png

图5.png

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

图6.png

图7.png

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

图8.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • cenos6启动流程 加载BIOS的硬件信息,获取第一个启动设备 读取第一个启动设备MBR的引导加载程序(grub...
    毛利卷卷发阅读 4,775评论 0 1
  • 最近在研究Docker的源码.读到ApiServer的启动过程时,发现其有一个新的概念,叫做service act...
    AlstonWilliams阅读 4,842评论 1 4
  • 一、后台任务 https://www.jianshu.com/p/954550c2b528 & 先说工作任务 Ct...
    运维开发_西瓜甜阅读 4,187评论 0 1
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,120评论 0 10
  • 系统服务 老师笔记另一个 一、后台任务 & 先说工作任务Ctrl+z 可以把一个前台运行的程序放在后台,且停止工作...
    霓旸芊芊阅读 3,621评论 0 0