学习Linux运维的个人笔记:系统服务(三十)

一、Linux启动流程

  • 首先我们要清楚的一点是:
    centos7———祖宗进程systemd
    centos6——— 祖宗进程 init
  • centos6的启动级别
    在这里插入图片描述
  • CentOS6与CentOS7对比图

二、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 重启
  • 如何查看并调整系统中运行级别
centos6中
#1.临时
runlevel		#查看当前级别
init			#切换级别
#2.永久(修改)
vim /etc/inittab
 	id:5:initdefault 		#开机启动什么级别
centos7中
#multi-user.target:类似于运行级别3
#graphical.target: 类似于运行级别5
runlevel
	N 3
	#N 上一次的级别是什么  N表示上一次没有的意思
	#3 当前正在使用的级别
#永久操作
# 查看当前的运行级别
systemctl get-default
	multi-user.target

# 设置默认的运行级别
systemctl set-default graphical.target
  • centos7图形界面设置方法
#1.前置环境
yum -y groupinstall 'X Window System'
#2.桌面安装
yum groupinstall "GNOME Desktop"
#3.重启即可
reboot

三、linux systemd

  • systemd的由来
    Linux一直以来都是采用init进程作为祖宗进程,但是init有两个缺点:
  1. 启动时间长。Init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
  2. 启动脚本复杂,初始化完成后系统会加载很多脚本,脚本都会处理各自的情况,这会让脚本多而复杂。
    Centos5 是启动速度最慢的,串行启动过程,无论进程相互之间有无依赖关系。
    Centos6 相对启动速度有所改进。有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动。
    Centos7 所有进程无论有无依赖关系则都是并行启动(当然很多时候进程没有真正启动而是只有一个信号或者说是标记而已,在真正利用的时候才会真正启动。)
    在这里插入图片描述
  • 什么是systemd
    systemd即为system daemon守护进程,systemd主要解决上文的问题而诞生,systemd的目标是,为系统的启动和管理提供一套完整的解决方案。

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

  • systemd相关配置文件
    /usr/lib/systemd/system/ #类似Centos6系统的启动脚本,/etc/init.d/
    /etc/systemd/system/ #类似Centos6系统的/etc/rc.d/rcN.d/
    centos7在读取运行级别时,假设我们使用的是multi-user,那么则会加载该目录下的所有服务资源/etc/systemd/system/multi-user.target.wants/

  • systemd管理服务相关命令
    systemctl管理服务的启动、重启、停止、重载、查看状态等常用命令

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 取消禁止服务运行
  • 当我们使用systemctl启动一个守护进程后,可以通过sysytemctl status查看此守护进程的状态
状态 描述
loaded 服务单元的配置文件已经被处理
active(running) 服务持续运行
active(exited) 服务成功完成一次的配置
active(waiting) 服务已经运行但在等待某个事件
inactive 服务没有在运行
enabled 服务设定为开机运行
disabled 服务设定为开机不运行
static 服务开机不启动,但可以被其他服务调用启动
  • systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令
systemctl命令(7系统) 作用
systemctl enable crond.service 开机自动启动
systemctl disable crond.service 开机不自动启动
systemctl list-unit-files 查看各个级别下服务的启动与禁用
systemctl is-enabled crond.service 查看特定服务是否为开机自启动
systemctl daemon-reload 创建新服务文件需要重载变更

四、Linux单用户模式

  1. 忘记ROOT密码。
  2. 修改错配置文件,造成系统无法启动成功。
  • 步骤一:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面
    在这里插入图片描述
  • 步骤二:在linux16这行的后面添加enforcing=0 init=/bin/bash,然后按下Ctrl + X组合键来运行修改过的内核程序
    在这里插入图片描述
  • 步骤三:大约5秒过后,进入到系统的单用户模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。命令行执行效果如图所示。
    在这里插入图片描述

五、Linux下救援模式

  1. 当系统坏了,无法登陆系统,但需要把里面的数据复制出来。
  2. 修复MBR,主要出现在安装双系统时,后安装的系统把原来系统的MBR删除了,需要修复。
  3. Centos7误删除grub文件如何进行修复。
  • 先挂载光盘,然后选择光盘引导为第一位
    在这里插入图片描述

  • 进入故障排除模式–>然后选择救援模式
    在这里插入图片描述
    在这里插入图片描述

  • 挂载真实系统后,发现数据都还存在
    在这里插入图片描述

      		1. 当系统坏了,无法登陆系统,但需要把里面的数据复制出来。
      			/dev/sda /dev/sdb	/dev/sdc
      			系统      数据盘   	
      			进入救援模式后,将sdc格式化并挂载,将sdb数据拷贝至sdc,然后取出sdc盘
      			
      		2. 修复MBR,主要出现在安装双系统时,后安装的系统把原来系统的MBR删除了,需要修复。
      			修复MBR引导,然后重启连接服务器
      			#1.使用grub修复
      			grub2-install /dev/sda
      			#2.然后退出
      			exit
      			#3.最后重启进入系统
      			reboot
      		
      		3. Centos7误删除grub文件如何进行修复。
      			使用grub2-install、grub2-mkconfig恢复配置文件
      			grub2-install /dev/sda
      			grub2-mkconfig -o /boot/grub2/grub.cfg
      			ls /boot/grub2/
    
发布了34 篇原创文章 · 获赞 10 · 访问量 2329

猜你喜欢

转载自blog.csdn.net/weixin_44903608/article/details/105412441