我有一个单元文件,我想修改其中的一些属性。我可以使用目录扩展所有属性/etc/systemd/system/unitname.service.d/
,但无法WantedBy
扩展属性。
原始单元文件(deluged.service)
[Unit]
Description=Deluge Bittorrent Client Daemon
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=media
Group=media
ExecStart=/usr/local/bin/deluged -d -u 0.0.0.0
[Install]
WantedBy=multi-user.target
/etc/systemd/system/deluged.service.d/override.conf
[Unit]
BindTo=sys-subsystem-net-devices-tun0.device
After=sys-subsystem-net-devices-tun0.device
[Service]
ExecStart=
ExecStart=/usr/local/bin/deluged -d -i 10.10.10.1 -u 0.0.0.0
[Install]
WantedBy=
WantedBy=sys-subsystem-net-devices-tun0.device
一切似乎都工作正常,除了WantedBy
当我运行时systemctl enable deluged
它仍然创建符号链接multi-user
并且没有在新位置创建链接。
我搜索了有关扩展/覆盖的文档,但没有看到任何内容,WantedBy
所以我不知道是否有可能对其进行扩展。是我做错了什么,还是根本就不可能?
答案1
答案2
我目前正在使用 Systemd 237,它似乎考虑了 [install] 部分覆盖。
至少根据我的插入文件创建了链接。
/usr/lib/systemd/user/syncthing.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
[Service]
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
# Hardening
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true
[Install]
WantedBy=default.target
/home/abe/.config/systemd/user/syncthing.service.d/override.conf
[Install]
WantedBy=
WantedBy=multi-user.target
systemctl --user 启用 syncthing.service
Created symlink /home/abe/.config/systemd/user/multi-user.target.wants/syncthing.service → /usr/lib/systemd/user/syncthing.service.