目录
3.1.1systemctl status firewalld.service 查看 firewalld.service 服务状态
3.1.2 systemctl stop firewalld.service 停止firewalld.service
3.1.3 systemctl start firewalld.service开启服务
[root@localhost ~]# rm -rf /boot/grub2/grub.cfg 5.2修复选项
一、介绍
引导过程:开机自检,开机环境的部署
服务控制:开、关、重启、开机自启动,查看状态
二、引导过程
引导过程总览
- 开机自检(BIOS):CUP、内存、显卡、键盘等设备初步检测,检测成功后,根据预设的启动顺序把系统的控制权转交给本机的硬盘。检测出第一个能够引导系统的设备,要么是硬盘,要么是光驱。
- MBR引导:本机硬盘启动系统 ,从第一个硬盘的扇区中的MBR主引导记录的设置,系统控制前---包含操作系统引导文件的分区,或者直接根据MBR记录中引导信息调用启动菜单(grub)
- grub:多系统引导程序,将显示启动的菜单给用户选择centos7。
默认grub2引导程序
路径 /boot/grub2/grub.cfg 控制权转交----内核。
- 加载内核: 1./boot 内核文件,编译好的一个特殊二进制文件,它介于硬件资源和系统程序之间。
总结:把内核和相关的系统镜像文件加载到内核存档中--进程初始化
- init进程初始化:Linux内核将系统的/sbin/init/ 程序加载到内核当中,完成整个系统的初始化
总结:加载硬件驱动,检测进入操作系统,必须要有的程序,加载到内存当中运行。
1、systemd初始化进程:
systemd是Linux操作系统的一种init软件
centos7采用全新的systemd启动方式,取代传统的sysvinit
cenos7中运行的第一个init进程是/lib/sytemd/systemd
systemd功能特性
- 支持并行启动服务,提高系统启动速度;
- 可以自动重启服务,确保服务的可靠性和稳定性;
- 可以在服务运行期间动态调整服务参数和资源限制,提高系统的灵活性和可管理性;
- 支持启动依赖关系和控制依赖关系,确保服务的正确启动和运行;
- 支持多种服务管理方式,例如命令行工具、图形界面、Web 界面等。
单元类型 | 扩展名 | 说明 |
service | .service | 描述一个系统服务 |
socket | .socket | 描述一个进程间通信的套接字 |
device | .device | 描述一个内核识别的设备文件 |
mount | .mount | 描述一个文件系统的挂载点 |
automount | .automount | 描述一个内存交换设备或交换机文件 |
swap | .swap | 描述一个文件系统中文件或目录 |
path | .path | 描述一个定时器(用于实现类似cron的调度任务) |
timer | .timer | 用于保存一个systemd的状态 |
snapshot | .snapshot | 用于保存一个systemd的状态 |
scope | .scope | 使用systemd的总线接口,以编程的方式创建外部进程 |
slice | .slice | 描述基于Cgroup的一组通过层次组织的管理系统进程 |
target | .targe | 描述一组systemd的单元 |
init :是串行启动 --shell脚本
systemd:并行启动,按需启动
三、服务控制
3.1 服务控制命令systemctl
start:开启
stop:停止
restart:重启
reload:重新加载服务的配置文件
status:查看服务状态
enable:服务开机自启动
disable:关闭自启动
3.1.1systemctl status firewalld.service 查看 firewalld.service 服务状态
3.1.2 systemctl stop firewalld.service 停止firewalld.service
[root@localhost opt]# systemctl stop firewalld.service
[root@localhost opt]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 三 2023-05-10 15:26:14 CST; 2s ago
Docs: man:firewalld(1)
Process: 753 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 753 (code=exited, status=0/SUCCESS)
5月 09 13:47:16 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
5月 09 13:47:16 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: ICMP type 'beyond-scope' is not suppo...v6.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: beyond-scope: INVALID_ICMPTYPE: No su...me.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: ICMP type 'failed-policy' is not supp...v6.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: failed-policy: INVALID_ICMPTYPE: No s...me.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: ICMP type 'reject-route' is not suppo...v6.
5月 09 13:47:16 localhost.localdomain firewalld[753]: WARNING: reject-route: INVALID_ICMPTYPE: No su...me.
5月 10 15:26:14 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
5月 10 15:26:14 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
3.1.3 systemctl start firewalld.service开启服务
[root@localhost opt]# systemctl start firewalld.service
[root@localhost opt]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2023-05-10 15:26:56 CST; 3s ago
Docs: man:firewalld(1)
Main PID: 8413 (firewalld)
CGroup: /system.slice/firewalld.service
└─8413 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...me.
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...me.
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
5月 10 15:26:56 localhost.localdomain firewalld[8413]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables ...?).
Hint: Some lines were ellipsized, use -l to show in full.
3.2 运行级别inti
init 0 关机
init 1 单用户模式
init 2 3 4 字符界面
init 5 图形化界面
init 6 重启
systemctl get-default 查看系统默认运行级别
运行级别 | Systemd的target | 说明 |
0 | powerff.target | 关机状态,使用该级别时将会关闭主机 |
1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多用于系统维护 |
2 3 4 | multi-user.target | 用户定义域特定运行级别,默认等同于3,字符界面 |
5 | graphical.target | 图形界面 |
6 | reboot.target | 重启 |
四、模拟MBR主引导记录被删除
4.1添加一块新的硬盘
4.2创建fdisk分区,格式化,挂载
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x27095f75 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 5G 0 part /boot
└─sda2 8:2 0 54G 0 part
├─centos-root 253:0 0 50G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 4.2G 0 rom /mnt
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sdb1 /data/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 4.5G 46G 9% /
devtmpfs 977M 0 977M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 9.1M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 5.0G 161M 4.9G 4% /boot
tmpfs 199M 4.0K 199M 1% /run/user/42
tmpfs 199M 32K 199M 1% /run/user/0
/dev/sdb1 20G 33M 20G 1% /data
4.2备份
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sdb1 /data/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 4.5G 46G 9% /
devtmpfs 977M 0 977M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 9.1M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 5.0G 161M 4.9G 4% /boot
tmpfs 199M 4.0K 199M 1% /run/user/42
tmpfs 199M 32K 199M 1% /run/user/0
/dev/sdb1 20G 33M 20G 1% /data
[root@localhost ~]# dd if=/dev/sda of=/data/mbr.bak bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000234602 秒,2.2 MB/秒
[root@localhost ~]# cd /data
[root@localhost data]# ls
mbr.bak
4.3破坏MBR主引导记录
[root@localhost data]# dd if=/dev/zero of=/dev/sda bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000143358 秒,3.6 MB/秒
[root@localhost data]#
4.4修复
4.4.1修复选项
4.4.2修复相关命令
五、模拟GRUB引导故障
要将磁盘挂载在/mnt
5.1直接删除boot下的grub2/grub.cfg
[root@localhost ~]# rm -rf /boot/grub2/grub.cfg
5.2修复选项
重启主机,在加载界面按“esc”
5.3修复命令
六、修改root密码
在急切模式下修改密码