引导过程(centos启动过程)
1.加电,检测硬件是否有故障,如果无故障,就去bios中设置第一启动项找操作系统
2.MBR引导,第一个扇区的前446字节有一个grub程序第一阶段,引导硬件找到操作系统,grub完整的程序
3.grub会根据grub.cfg配置文件找到操作系统
4.加载内核(操作系统)
5.启动进程(centos7——systemd centos6——init)
systemd服务:负责在系统启动或运行时,激活系统资源,服务器进程和其它进程
1.对比5 6 可以解决依赖关系并行启动
2.按需启动
3.自动解决依赖关系
systemd新特性:
1.系统引导时实现服务并行启动
2.按需启动守护进程
3.自动化的服务依赖关系管理
4.同时采用socket式与D-Bus总线式激活服务
5.socket与服务程序分离
6.向后兼容sysv init脚本
7.使用systemctl 命令管理,systemctl命令固定不变,不可扩展,非由systemd启动的服务
8.systemctl无法与之通信和控制
9.系统状态快照
init进程与systemd进程的区别:init串行启动,systemd并行启动
systemctl start 程序名——开启进程
systemctl stop 程序名——关闭进程
systemctl status 程序名——查看程序状态
systemctl restart 程序名——重启程序
systemctl reload 程序名——重新加载配置文件,不会影响业务
systemctl enable 程序名——开机自启
systemctl disable 程序名——开机不自启
systemctl enable --now 程序名——开机自启并且立马启动
systemctl disable --now 程序名——开机不自启并且立马关闭
systemd 核心概念:unit
unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息
在systemd中不同类型的systemd对象被统一称为单元,是让系统知道该如何进行操作和管理资源的主要对象,所以systemd有许多单元类型
systemd单元文件最初默认存放在/lib/systemd/system目录中,每当安装新的软件都会自动在这个目录中添加一个配置文件。
systemctl 命令用于管理各种类型的systemd单元
使用“systemctl -t help”命令来查询systemd支持的单元类型
单元类型 | 护展名 | 说明 |
Service | .service | 护展名 |
Socket | .socket | 描述一个进程间通信的套接字 |
Device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
Automoun | .automount | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或目录 |
Timer | .timer | 描述一个定时器(用于实现类似cron的调度任务) |
Path | .path | 描述一个文件系统中文件或目录(path 路径) |
Snapshot | .snapshot | 用于保存一个systemd的状态(snapshot 快照) |
Scope | .scope | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元(target 目标) |
service unit file文件通常由三部分组成:
[Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关
[Service]:与特定类型相关的专用选项;此处为Service类型
[Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到
的一些选项
自制systemctl 管理文件
vim /lib/systemd/system/hello.service
备份MBR分区表
dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
init运行级别:
0:关机
1:单用户模式(root自动登录), single, 维护模式
2:多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;
5:多用户模式,正常模式;图形界面
6:重启