系统启动流程
POST --> bootloader --> MBR工作 --> kernel(initramfs/initrd) --> ro rootfs --> init
init
用户空间的一切与管理相关的事务由Init程序完成,特权操作发起syscall由内核完成
init分类
init新特性
* 系统引导时,并行启动进程,类似于upstart
* 按需激活进程: 节约内存,启动速度快
* 支持系统快照
* 基于依赖控制服务启动逻辑
系统管理的核心概念: systemd unit
配置文件标识和配置:socket、snapshot、服务程序、以及init相关的信息
配置文件
TYPE:
关键特性
基于socket激活机制:系统启动用不到的服务,由socketunit代为监听,在被访问时临时启动服务。
基于dbus激活机制:支持dbus进程间通信的程序,可以按需激活
基于device激活机制:在某个硬件设备激活或变得可用时的激活机制
基于path激活机制:某个文件路径变得可用或激活时,激活相关服务
基于快照激活机制:保存unit的当前状态信息于持久存储设备中
兼容SysV脚本:兼容有限,支持有限个运行级别
不兼容
* 没有脚本灵活,systemctl命令格式固定
* 非由systemd服务启动的服务,systemd服务不能控制
* systemd级别切换时,只有将运行中的停止,停止中的启动。
1
2
3
4
|
SysV脚本init切换运行级别时,例如
3
-->
2
将/etc/rc.d/rc.
2
/*下的所有服务程序
K* stop
S* start
|
* systemctl不会读取标准输入数据流
* 跟用户的PATH环境没有关系
* unit均受5min超时时长,时间一过,将会退出
CentOS 7 systemd管理系统服务
基本管理
服务状态注解
查看服务启动或停止、依赖关系、查看运行级别
1
|
systemctl list-units --type TYPE [--all]
|
服务状态注解
查看开机是否自动启动
设定服务开机是否自启
运行级别管理
name.target
查看运行级别
级别管理
1
2
3
4
5
6
|
设定图形:
删除/etc/systemd/system/
default
.target
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/
default
.target
设定字符:
删除/etc/systemd/system/
default
.target
ln -s /usr/lib/systemd/system/multi-user.target /etc/systemd/system/
default
.target
|
其他命令
unit配置文件
1
2
3
4
5
6
7
8
9
|
[Unit]
Description=描述信息
After=定义依赖关系
[Service]
程序
执行的命令
启动
重载
停止
|