Centos系统中 Systemd 的Unit文件配置说明


Systemd使用单元(Units)来管理系统服务和程序。系统单元使用配置文件来控制其相关操作。单元配置文件有三种类型:默认单元配置文件,系统特定的单元配置文件和配置文件损坏怎么办时的单元配置文件。

下面系统运维工程师面试问题及答案列出了三种类型的单元配置文件所在路径:

  • 默认单元配置文件 -​​/usr/lib/systemd/system​
  • 时的配置文件 -​​/run/syste手机自动启动md/system​
  • 系统特定的配置文件 -​​/etc/systemd/system​

默认单元配置文件,当安装新软件包时,在安装过程中,单元配置文件会在​​/usr/lib/systemd/system​​目录中生成。

系统/运维时单元配置文件系统运维工作内容分别在units启动和停止时,会自动生成和删除。

系统特定linux系统安装的配置文件包含定制的单元配置。通过这些配置文件,用户可以覆盖units的默认行为。

系统运维包括哪些内容我们对系统服务和程序的状态进行任何更改时,例如:start, stop, enable, 和disable时,system系统服务组件d读取并执行其单元配置文件。按照以下顺序检查单系统运维工作内容元配置文件。

系统特定的单元配置文件、运行时单元配置文件、默认单元配置文件。

例如,如果一个units配置文件在着三个路径下面都存在,则仅使用 系统特定的配置文件 -​​/etc/systemd/system​​。

Unit配置文件书写格式

一个单元配置文件包含控制该单元的所有必需信息,例如;启动Units文件的路径,在Units之前和之后需要启动的 service/units 的名称,文档、手册的位置,依赖加载系统服务项信息,冲突信息等。

Unit配置文件中的信息通常分为三部系统服务分。​​[Unit],[Type], [Install]​​。

下面寻找一个Unit配置文件来解释:配置文件损坏怎么办

[root@localhost ~]# cat /usr/lib/systemd/system/sshd.service 
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.target
Wants=sshd-keygen.target

[Service]
Type=notify
EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

www.admin5.com/article/20161008/689315.shtml

www.51cto.com/it/news/2020/0113/18299.html

server.51cto.com/sOS-535996.htm

Unit部分

该部分通常包含 描述、文档、与其他程序依赖的设置、包括在什么服务 之前 或者 之后 启动该Units的设置等。

Description:该语句提供简要的描述。可以在systemctl list-units或者systemctl status [Units]时看到描述。

Documentation:该语句提供手册(帮助文档)页面的位置以及访问手linux重启命令册页面的​​命令​​。

After:该语句列出空调自动启动了在该单元之后应激活的单元。仅仅是规范服务启动的顺序,并没有强制要求启动。

Before:该语句列出了在该单元之前应激活的单元。仅仅是规范服务启动的配置文件损坏怎么办顺序,并没有强制要求启动。

Wants:系统/运维义该单元启动之后还需要启动哪些unit。

Requires:明确了定义该单元需要在哪个单元启动之前才能启动,如果前面的unit没有启动,那么该unit也不会被启动。

Conflicts:该语句列出了在启动该单元之前必须停止的单元/服务。

一个单元的After/Before语句定义了该单元应该启动的顺序。一个单元的want/Requ系统运维工资一般多少ires语句定义了该单元的依赖关系。

Type部分

该部分表示Unit的类型。类型有[Service],[Socket],[Timer],[Mount],[Path]等类型,本linux系统文中使用的是​​sshd.service​​当例子,所以这边就使用[Service]类开机自动启动型来介绍。

下面列举常用语句:

Type :表示启动的类型,有以下几种类型:simple为默认值、forking、ones信息系统服务hot等类型。

EnvironmentFile自动启动功能是开着好还是关闭好:可以有多汽车自动启动个该语句、后面跟配置文件。

ExecStart:后面接启动的语句

ExecStop:后面接停止服务的语句

ExecReload:后面接重启服务的语句

KillMode:该语句如果是process,当终止进程时空调自动启动,它会终止主颜色配置文件程序。如果时none时,则不会关闭程序。自动启动

In手机自动启动stall部分

该部分时将此Unit安装到哪一个target中去。常用会安装在​​multi-user.tarlinux系统get​

WantedBy:自动启动该Unit信息系统服务的Target名称。例如,如果配置文件损坏怎么办在此语句中看到multi-user.用户配置文件target,则意味着当系统进入“multi-user.target配置文件在哪”运行级别时,此Un系统/运维it将自动启动。

可以看到,当执行systemctl enable sshd.service时,会将sshd.s颜色配置文件ervice从/usr/lib/systemd/system目录中创建超链接到/etc/systemd/system/multi-user.target.系统运维工作内容wants下面。


                                            Centos系统中 Systemd 的Unit文件配置说明

总结

Systemd使用单元(Units)来管理系统服务和程序。系统单元使用配置文件来控制系统运维面试题及答案其相关操作。单元配置文件有三种类型:默认单元配置文件,系统特定的单元配置文件和运行时linux系统安装的单元配置文件。