玄子Share-引导过程与服务控制

玄子Share-引导过程与服务控制

Linux操作系统引导过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

系统初始化进程

  • init 进程
    • 由 Linux 内核加载运行 /sbin/init 程序
    • init 进程是系统中第一个进程
    • init 进程的 PID(进程标记)号永远为 1
  • Systemd
    • Systemd是Linux操作系统的一种init软件
    • CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
    • CentOS7中运行的第一个init进程是/lib/systemd/systemd

Systemd 单元类型

单元类型扩展名说明
Service.service描述一个系统服务
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automount.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或交换文件
Path.path描述一个文件系统中文件或目录
Timer.timer描述一个定时器(用于实现类似cron的调度任务)
Snapshot.snapshot用于保存一个systemd的状态
Scope.scope使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元

运行级别所对应的 Systemd 目标

文件路径: /lib/systemd/system/ 和 /usr/lib/systemd/system/

运行级别Systemd的target说明
0shutdown.target关机状态,使用该级别时将会关闭主机
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
2multi-user.target不支持网络的多用户模式。默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别
4multi-user.target系统未使用。默认等同于3
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境
6reboot.target重新启动,使用该级别时将会重启主机

系统启动类故障排除

修复MBR扇区故障

  • 故障原因
    • 病毒、木马等造成的破坏
    • 不正确的分区操作、磁盘读写误操作
  • 故障现象
    • 找不到引导程序,启动中断
    • 无法加载操作系统,开机后黑屏
  • 解决思路
    • 应提前作好备份文件
    • 以安装光盘引导进入急救模式
    • 从备份文件中恢复
# 虚拟机新添加一块磁盘,然后开机
fdisk -l
# 查看新添加磁盘
fdisk /dev/sdb
# 进行磁盘分区管理:n,p,1,默认,默认,w
partx  /dev/sdb
# 更新内核关于磁盘分区表的信息
mkfs.ext4 /dev/sdb1
# 格式化分区为 CentOS6 默认类型 ext4
mkdir /backup
# 创建挂载点目录
mount /dev/sdb1 /backup/
# 挂载分区至挂载点目录
mount | tail -1
# 查看分区挂载情况
dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1
# 备份 MBR;bs=512 MBR 默认 512 大小;count=1 复制一份
ls -hl /backup/sda.mbr.bak 
# 查看备份文件信息
dd if=/dev/zero of=/dev/sda bs=512 count=1
# 模拟 MBR 被破坏的故障
reboot
# 重启系统

重启进入系统前确保,已勾选连接选项

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启系统后选择第三项,进入急救模式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

键盘按下,选择语言模式为简体中文

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

保持默认,回车

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

键盘按下取消网络设置,回车

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择Continue,回车

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

按下回车,输入如下命令

mkdir /tempdir
# 重新创建挂载点目录
mount /dev/sdb1 /tempdir
# 挂载分区
dd if=/tempdir/sda.mbr.bak of=/dev/sda bs=512 count=1
# 从之前备份的 MBR 恢复
reboot
#  重启

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后进入登录界面,修复完毕

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

修复GRUB引导故障

  • 故障原因
    • MBR中的GRUB引导程序遭到破坏
    • grub.conf文件丢失、引导配置有误
  • 故障现象
    • 系统引导停滞,显示“grub>” 提示符
  • 解决思路
    • 尝试手动输入引导命令
    • 进入急救模式,重写或者从备份中恢复
    • grub.conf向 MBR 扇区中重建grub程序

进入系统前确保,已勾选连接选项

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

开机进入系统,以此执行如下命令

cd /boot/grub
# 进入到 grub 目录
mv grub.conf grub.conf.bak
# 同目录下执行 mv 命令相当于重名操作,模拟 grub 损坏
init 0
# 关闭系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

右键系统,电源,选择打开电源时进入固件,即 BIOSS 模式,提一句,这里右键很容易选错虚拟机,启动前确认一下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

键盘按下选择boot,按下选中CD-ROM Drive按下Shift +调整至第一位,按下F10报错退出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入安装选择界面,使用同样的方式进入急救模式到 shell 页面,输入如下命令

chroot /mnt/sysimage
# 从急救系统切换到代修复的 Linux 根目录
cd /boot/grub
# 切换到  grub 目录
mv grub.conf.bak grub.conf
# 同样使用 mv 命令重命名恢复 grub.conf
exit
# 退出
reboot
# 重启

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后,仍然进入安装界面,因为:BIOSS 设置CD-ROM Drive为启动项第一位,需要重新以固件模式启动并恢复BIOSS 设置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

+Hard Drive调整至第一位,F10保存退出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后等待时间较长,需要重新扫描 grub,等待后进入登录界面,修复完毕

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

/etc/inittab文件丢失

遗忘root用户密码

  • 故障原因
    • 遗忘root用户的密码
  • 故障现象
    • 无法进行需要root权限的管理操作
    • 若没有其他可用帐号,将无法登录系统
  • 解决思路
    • 引导进入单用户模式,然后重设密码
      • grub > kernel … single 或 s 或 1
    • 或进入急救模式,然后重设密码
方式1

进入系统前确保,已勾选连接选项

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因为系统没有启动问题,无法进入安装界面,所以用 BIOSS 启动并将CD-ROM Drive 设置到第一位,F10保存退出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后进入安装界面,使用同样的方式进入急救模式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入 shell 界面,输入如下命令,关机后记得恢复 BIOSS 设置,将+Hard Drive调整至第一位,F10保存退出

chroot /mnt/sysimage
# 从急救系统切换到代修复的 Linux 根目录
passwd root
# 修改 root 密码
exit
# 退出
reboot
# 重启

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后进入登录界面,修复完毕,使用刚修改的 root 密码登录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方式2

正常开机,在读秒期内,键盘按下E

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再次按下E

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择第二项,键盘按下E

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

后面加上数字1,回车

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

键盘按下B键,进入单用户模式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入单用户模式,使用passwd命令重置 root 密码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重启后进入登录界面,修复完毕,使用刚修改的 root 密码登录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

系统文件类故障排除

修复文件系统

  • 故障原因

    • 非正常关机、突然断电、设备读写失误等
    • 文件系统的超级块(super-block)信息被破坏
  • 故障现象

    • 无法向分区中读取或写入数据
    • 启动后提示“Give root password for maintenance”
  • 解决思路

    • 根据提示输入root口令,进入修复状态
    • 使用fsck命令进行修复
# 虚拟机新添加一块磁盘,然后开机
fdisk -l
# 查看新添加磁盘
fdisk /dev/sdb
# 进行磁盘分区管理:n,p,1,默认,默认,w
partx  /dev/sdb
# 更新内核关于磁盘分区表的信息
mkfs.ext4 /dev/sdb1
# 格式化分区为 CentOS6 默认类型 ext4
mkdir /kgc
# 创建挂载点目录
mount /dev/sdb1 /kgc
# 挂载分区至挂载点目录
mount | tail -1
# 查看分区挂载情况
dd if=/dev/zero of=/dev/sdb1 bs=512 count=4
# 损坏 sdb1 分区
mount /dev/sdb1 /kgc
# 重新挂载分区 mount:you must specify the filesystemtype
fsck -y -t ext4 /dev/sdb1
# 使用 fsck 命令修复 sdb1 指定修复分区格式为 ext4
mount /dev/sdb1 /kgc
# 再次尝试挂载
mount | tail -1
# 查看分区挂载情况

磁盘资源耗尽故障

  • 故障原因

    • 磁盘空间已被大量的数据占满,空间耗尽
    • 虽然还有可用空间,但文件数i节点耗尽
  • 故障现象

    • 无法写入新的文件,提示“… : 设备上没有空间”
    • 部分程序无法运行,甚至系统无法启动
  • 解决思路

    • 清理磁盘空间,删除无用、冗余的文件
    • 转移或删除占用大量i节点的琐碎文件
    • 进入单用户模式、急救模式进行修复
    • 为用户设置磁盘配额
# 虚拟机新添加一块磁盘(磁盘容量给小点 0.1 ),然后开机
fdisk -l
# 查看新添加磁盘
fdisk /dev/sdb
# 进行磁盘分区管理:n,p,1,默认,默认,w
partx  /dev/sdb
# 更新内核关于磁盘分区表的信息
mkfs.ext4 /dev/sdb1
# 格式化分区为 CentOS6 默认类型 ext4
mkdir /data
# 创建挂载点目录
mount /dev/sdb1 /data
# 挂载分区至挂载点目录
mount | tail -1
# 查看分区挂载情况
df -i /data
# Ifree 剩余节点空间
vim /killInode.sh
# 编写脚本文件自动生成,把剩余空间填充完
#! bin/bash
i=1
while [ $i -le 26197 ]
do
	touch /data/file$i
	let i++
done
cd /
# 切换到根目录
./killInode.sh &
# 执行脚本文件 & 后台执行
# 若提示无权限,则执行 chmod /killInode.sh 755 分配执行权限
df -i /data
# 查看剩余空间,显示全部占用
cp  /etc/passwd /data
# 复制文件到 data 无法复制,空间全部占用
rm -rf /data/file?
# 删除部分文件
cp  /etc/passwd /data
# 重新复制,复制成功
df -i /data
# 再次查看剩余空间

检测磁盘坏道

  • 故障原因
    • 磁盘设备中存在坏道(逻辑的或物理的)
  • 故障现象
    • 读取磁盘中的数据时,磁盘设备发出异常声响。
    • 访问磁盘中的某个文件时,反复读取且出错,提示文件损坏。
    • 对于新建立的分区无法完成格式化。
    • 系统使用该磁盘时频繁死机
badblocks -sv /dev/sdb
# 扫描磁盘坏道 Pass completed, 0 bad blocks found.

系统服务管理

重启操作

  • 基于CentOS 6 的重启操作
    • init 6
    • reboot
    • shutdown -r now
  • 基于CentOS 7 的重启操作
    • init 6
    • reboot
    • shutdown -r now
    • systemctl reboot

关机操作

  • 基于CentOS 6 的关机操作
    • init 0
    • poweroff
    • shutdown -h now
    • halt -p
  • 基于CentOS 7 的关机操作
    • init 0
    • poweroff
    • shutdown -h now
    • halt -p
    • systemctl poweroff

系统服务控制

systemctl  控制类型 服务名称
# CentOS7
service 服务名称 控制类型
# CentOS6
  • start:启动
  • stop:停止
  • restart:重新启动r
  • eload:重新加载
  • status:查看服务状态

查看Linux系统的运行级别

  • runlevel 命令(6)

    • 两个参数,第一个参数表示上次使用运行级别(默认N),第二个参数表示当时使用运行级别
  • systemctl 工具(7)

    • systemctl 查看默认的运行级别 target

临时切换运行级别

  • init 参数运行级别对应数字(6)
    • init 3 :从桌面切换到字符终端
    • init 5 :从字符终端切换到桌面
  • systemctl 工具参数具体 rarget(7)
    • systemctl isolate multi-user.target :从桌面环境切换到字符终端
    • systemctl isolate graphical-user.target :从字符终端切换到桌面

设置永久运行级别

基于CentOS 6

  • 将系统的运行级别永久设置为多用户字符终端,对应的运行级别是3

    • 修改配置文件:vim /etc/inittab
    • id:5:initdefault: (修改id就是运行级别)
  • 将系统的运行级别永久设置为多用户桌面环境,对应的运行级别是5

    • 修改配置文件:vim /etc/inittab

    • id:3:initdefault: (修改id就是运行级别)

基于CentOS 7

  • 将系统的运行级别永久设置为多用户字符终端,对应的运行级别是 3

    • ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
    • systemctl get-defaults
  • 将系统的运行级别永久设置为多用户桌面环境,对应的运行级别是 5

    • ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
    • systemctl get-defaults
systemctl  set-default multi-user.target
# 设置字符页面
systemctl  set-default graphical.target
# 设置图形页面

系统服务介绍

linux 系统中,有一些特殊程序,启动后会持续在后台运行,等待用户或其他软件调用,这种程序称为服务

  • 系统服务:服务的对象是linux系统本身
  • 网络服务:服务的对象是网络中的客户端

系统服务优化启动过程

基于CentOS 6

  • ntsysv工具
    • 命令模式:ntsysv --level 运行级别 服务名称
  • chkconfig 配置工具
    • 命令模式:chkconfig --level 运行级别 服务名称 开启或禁用 (on/off)

基于CentOS 7

  • ntsysv 工具
    • 提供一个交互式、可视化窗口
    • 可以在字符终端运行
    • 便于集中管理多个服务
  • systemctl 工具
    • 不提供交互式、可视化窗口
    • 管理单个服务效率更高

系统服务的启动和控制

ntsysv 系统服务管理工具

ntsysv                         
# 用于管理当前运行级别中的服务 
ntsysv --level  2345
# 对指定运行级别中的服务进行管理
# 有*号代表开机自启动

Centos6 服务开机自启动控制-chkconfig

查看系统服务的开机启动状态

chkconfig  --list  
# 服务名称

设置系统服务的开机启动状态

chkconfig  --level 2345   服务名称  on
# 将服务设置为开机启动
chkconfig  --level 2345   服务名称  off
# 将服务设置为开机不启动

Centos7 服务开机自启动控制-systemctl

查看系统服务的开机启动状态

systemctl is-enabled 服务名称

设置系统服务的开机启动状态

systemctl  enable   服务名称       
# 将服务设置开机自启动
systemctl  disable  服务名称       
# 将服务设置开机不启动
systemctl  enable   服务名称 --now  
# 将服务启动并设置开机自启动
systemctl  disable  服务名称 --now  
# 将服务关闭并设置开机不启动
systemctl  enable   服务名称 服务名称  服务名称
# 批量设置将服务设置开机自启动

查看系统中所有以激活的系统服务

systemctl  list-units  --type=service

玄子Share-引导过程与服务控制 2024-03-23

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值