引导过程
bios:开机自检。寻找第一启动项,找主引导记录(MBR/GPT)
MBR:协助硬件找到操作系统
GRUB:系统启动加载器(根据程序配置文件找到内核——>[操作系统]文件的位置)
加载内核:运行内核(操作系统)
centos7 systemd(一起启动)
centos6 init(一个一个启动)
服务:特殊的应用程序,一般是在后台一直执行
系统服务:给系统提供服务功能
应用服务:给人提供服务
systemd:服务程序,给其他应用程序使用(给一部分服务提供叫醒服务)
systemd新特性
-
系统引导时实现服务并行启动
-
按需启动守护进程
-
自动化的服务依赖关系管理
-
同时采用socket式与D-Bus总线式激活服务
-
socket与服务程序分离
-
向后兼容sysv init脚本
-
使用systemctl 命令管理,systemctl命令固定不变,不可扩展,非由systemd启动的服务,
-
systemctl无法与之通信和控制
-
系统状态快照
核心概念:unit
unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息。
sysyemd 单元类型
单元类型 | 扩展名 | 说明 |
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的单元 |
init0: 关机
init1: 单用户 休系统 管理系统
init2: 字符界面 不支持nfs功能
init3: 最完整的字符界面
init4: 保留下来的字符界面
init5: 图形界面
init6: 重启
服务控制:
systemctl start httpd 启动httpd
systemctl stop httpd 关闭httpd
systemctl restart httpd 重启httpd (先停止服务)
systemctl relod httpd 重新加载httpd (在不停止的服务情况下重新加载 服务)
systemctl status httpd 查看目前服务的状态
systemctl enable httpd 开机自启
systemctl disable httpd 开机不自启
systemctl enable --now httpd 开机启动并且立即开启服务
systemctl disable --now httpd 开机不自启并且立即关闭服务
实验1:模拟MBR被破坏后的修复
dd if=/dev/sda of=/opt/mbr.bak count=1 bs=512 ( 备份)
dd if =/dev/zero of=/dev/sda count=1 bs=512 (模拟破坏)
先备份mbr在进行模拟破坏
#新建一个磁盘分区,并格式化成xfs类型
#将/dev/sdb1挂载到/mnt中
#再将/dev/sda备份到/dev/sdb1中
#模拟破坏,将/dev/sba前512字节的内容写0覆盖
#准备好后重新启动
#因mbr文件被破坏,机器无法正常开机
#选择troubleshoot ing,进入故障检测界面
#再选择第二个,拯救centos系统
#选1延伸,并回车确认
#检查刚刚备份的磁盘是否可以使用
#在根目录下创建一个新文件夹,并将备份磁盘/dev/sdb1挂载到新文件夹中
#将备份的文件重新写入到/dev/sda
#使用hexdump命令检查文件是否恢复
#确认后重启
实验2:修复grub分区
#删除boot下的gurb2中的grub.cfg文件
#重启
#在系统读条的时间内按一次esc键(这里手速要快,读条时间很短)进入boot 菜单,并选择光盘启动
#进入故障检查界面
#拯救我们的机器
#选1延申
#根据提示输入chroot /mnt/sysimage,进入光盘中带的小程序
#从本地源中下载grub2到/dev/sda
#重新搭建grub菜单配置文件
#exit退出小程序然后重启计算机
#检查grub.cfg文件是否恢复
实验3:忘记root密码,怎么修改回来
#按esc进入boot菜单,选择CD-ROM Drive
#选择第三个,进入故障检查界面
#选择第二个,拯救我们的计算机
#选择1延申
#根据提示输入,进入光盘带的小程序
#再输入passwd修改密码
#输入新密码,并确认
#退出小程序,并重启计算机
实验4:在没有光驱的情况下修改密码
#在该界面下按“e”
#进入单用户界面
#在该行末尾输入“rd.break”
#ctrl+x确认,进入该界面
#mount查看挂载信息
#root用户只有读的没有写,需要重新挂载
#重新挂载,并赋予他可读可写的权限
#切换目录
#修改密码
#关闭安全机制,退出重启
标签:引导,systemd,服务,httpd,控制,dev,systemctl,挂载 From: https://www.cnblogs.com/chenjw0608/p/17813204.html