我需要覆盖ExecStart
A的参数systemd模板。我已经确认了单元文件的存在&通过验证。添加unique-name@.service.d/override.conf
文件在某些机器上运行良好:
user@prod-west-1604$ systemctl --version | head -1
systemd 229
user@prod-west-1604$ file -b /etc/systemd/system/unique-name@.service
symbolic link to /lib/systemd/system/nginx.service
user@prod-west-1604$ sudo systemctl edit unique-name@.service
# (opens editor as expected)
但是,在运行更新的systemd版本的机器上,操作失败:
user@prod-east-1810$ systemctl --version | head -1
systemd 239
user@prod-east-1810$ file -b /etc/systemd/system/unique-name@.service
symbolic link to /lib/systemd/system/nginx.service
user@prod-east-1810$ sudo systemctl edit unique-name@.service
Failed to get the load state of unique-name@.service: Unit name unique-name@.service is neither a valid invocation ID nor unit name.
<#>为什么?
发布于 2019-02-09 03:52:53
这是由systemdv233 233中引入并在V 240中修复的bug引起的。没有必要升级systemd,在大多数情况下,systemctl edit
不过是以下几个方面的捷径:
sudo mkdir -p /etc/systemd/system/unique-name@.service.d/
sudo vim /etc/systemd/system/unique-name@.service.d/override.conf
The覆盖文件将工作,即使在系统d versions中, systemctl edit
command不工作。不要忘记使用以下方法应用新配置:
sudo systemctl daemon-reload
发布于 2019-07-30 14:48:06
当启动服务失败时,我收到了关于'neither一个有效的调用ID或单元名称‘的相同错误消息,但是修复与可接受的答案不同,并且与bug无关。正如我在下面解释的那样,错误信息完全是红鲱鱼和浪费时间。
我的问题是systemd netfilter-persistent
服务。错误信息使我相信启动服务的系统齿轮有问题。然后我有了顿悟:如果在“ iptables
4”服务调用的规则中有一个无意义的规则,该怎么办?
是的:由于引发该服务所需的依赖文件,服务没有启动,在本例中,“ file es.v 4”出现了错误。这在systemctl status
或journalctl -xe
中没有出现。sed表达式无法匹配占位符并使用子网替换占位符。一旦我的规则文件正确构建,服务就正确地上升了.
<#>When在研究此错误消息时,不要对systemd服务定义本身视而不见,以至于您不会检查任何可能出现错误的依赖文件。
总之,希望这能让其他人避免用这个错误信息来追逐他们的尾巴。
https://serverfault.com/questions/953093
复制相似问题