使用 systemd override 自定义服务配置,修改 systemd 服务依赖顺序

在 Linux 系统中,systemd 是一种系统和服务管理器,用于管理系统启动时的进程以及运行中的服务。systemd 允许用户通过 systemd unit 文件来配置服务的行为。

当我们需要修改系统提供的服务的行为,而不希望直接编辑原始的 systemd unit 文件时,可以使用 systemd 的 override 文件来实现自定义配置,可以添加、修改或删除 systemd unit 文件中的选项,以满足其特定需求。

创建 override 文件

a.service为例 :

sudo systemctl edit a.service

这将用nano编辑器中打开一个新的 override 文件,你可以在其中添加你想要修改的配置选项。

由于我习惯使用vim,就手动创建了:

sudo mkdir -p /etc/systemd/system/a.service.d/
sudo vim /etc/systemd/system/a.service.d/override.conf

编辑 override 文件

可以添加、修改或删除配置选项以满足你的需求。例如我修改服务的 After 参数,添加以下内容:

[Unit]
After=network-online.target nss-lookup.target flanneld.service

重新启动相关的服务,以应用新的配置

sudo systemctl daemon-reload
sudo systemctl restart a.service

参考资料


Xcode 下载模拟器报错 Could not download iOS 17.4 Simulator (21E213). AWK 在 Debian 11 上的表现与 Debian 10 有差异