![systemd OpenVPN 实例依赖](https://linux22.com/image/731307/systemd%20OpenVPN%20%E5%AE%9E%E4%BE%8B%E4%BE%9D%E8%B5%96.png)
有一个 OpenVPN 实例 X,需要在同一台机器上启动 Dante 代理(因为它将使用代理连接到其目标)。我想设置一个依赖项systemd
([email protected]
并且仅适用于此实例)以等待danted
启动。
我怎么做?
答案1
假设您的danted
服务也是通过 启动的,systemd
并且定义为danted.service
,您可能需要使用和这两个[Unit]
选项。Requires
After
Requires=
将列出启动实际服务所需的其他服务。在您的情况下,该服务将是danted
。此外,当[email protected]
启动时,danted.service
也会自动启动。After=
确保openvpn
服务在之后启动danted
。Requires
只会同时启动两个服务,这可能会导致您的 openvpn 服务失败。
要将其附加到您的[email protected]
唯一,最好使用。这将打开一个编辑器(哪一个,请参阅和),您可以在其中添加更改。systemctl edit [email protected]
man systemctl
SYSTEMD_EDITOR
[Unit]
Requires=danted.service
After=danted.service
这将创建文件/etc/systemd/系统/[电子邮件保护]/覆盖.conf其中包含更改/添加。本文件中的任何更改/添加覆盖配置文件文件将优先于 中的设置/lib/systemd/system
。
因此您也可以手动创建目录和路径。
保存更改后,运行systemctl daemon-reload
以激活更改。
您可能还想查看systemd
单元的其他可用依赖项,这些依赖项在中有解释man systemd.unit
。