代码改变世界

CentOS8中systemd配置文件说明

2021-06-10 17:56  猎手家园  阅读(1156)  评论(0编辑  收藏  举报

1、systemd配置文件夹
systemd配置文件存在于以下三个文件夹中:

/etc/systemd/system     #存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system     #系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system #存放系统上所有的启动文件。优先级最低

 

2、unit分类
unit的定义文件可以根据其后缀名称识别其定义的类型,可以使用systemctl -t help 查看。

.servicre #定义了系统服务的启动
.target   #定义了系统启动的级别标签,systemd 没有运行级别的概念,创建标签只是为了兼容老版本。
.socket   #定义了进程通信用到的套接字,套接字与进程是分离的
.device   #定义了系统启动时内核识别的文件,systemd提供了设备的管理功能,/dev 下的设备由/etc/udev/下的配置文件与.device共同定制
.mount    #定义了系统的文件系统的挂载点
.snapshop #系统快照
.swap     #用于标识swap设备
.automount#文件系统的自动挂载点
.path     #用于定义文件系统中的一个文件或目录使用。常用于文件系统发生变化时,延迟激活服务。

 

3、service文件组成:
(1)service文件三部分

[Unit]
...
[service]
...
[install]
...

 

(2)Unit单元
[Unit] :不属于第二个标签的定义都放在这里,或存放不属于unit类型的定义,描述信息,依赖的unit

Description:描述信息
After:表明需要依赖的服务,作用决定启动顺序
Before:表明被依赖的服务
Requles:依赖到的其他unit ,强依赖,即依赖的unit启动失败。该unit不启动。
Wants:依赖到的其他unit,弱依赖,即依赖的unit 启动失败。该unit继续启动
Conflicts:定义冲突关系

 

(3)service单元
[Service]:

Type:启动时关系的定义,
simple:exec启动的进程就是主进程。
forking :exec 启动的进程生成的其中一个子进程成为主进程,启动完成后,旧的主进程会退出。
ontshot:启动下一个进程前主进程退出。
dbus:
notify:
ldle:
PIDFile=/var/run/sshd.pid
EnvironmentFile 需要使用到的变量的定义文件
ExecStart= 启动 unit需要执行的命令
ExecStartpre:
ExecStartpost:
ExecStop=停止unit需要执行的命令
Restart:
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

 

(4)install单元
[install]:服务启动或禁用时的一些选项

Alias:
RequlredBy: 被那些unit所依赖,
WanteBy:被那些unit所依赖

 

4、配置重载
修改了的unit文件需要重载,使用如下命令

#systemctl daemon-reload