单元 systemd-resolved.service 被屏蔽

单元 systemd-resolved.service 被屏蔽

我尝试systemd-resolved.service使用以下命令重新启动:

sudo systemctl restart systemd-resolved

并收到错误消息:

Failed to restart systemd-resolved.service: Unit systemd-resolved.service is masked. 

文件systemd-resolved.service存在于文件夹中/lib/systemd/system

服务状态为:

/lib/systemd/system# systemctl status systemd-resolved.service
● systemd-resolved.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

当我尝试执行:

/lib/systemd/system/systemd-resolved.service
-bash: /lib/systemd/system/systemd-resolved.service: Permission denied

我究竟做错了什么?

答案1

如果您的服务被屏蔽,它将被符号链接到 /dev/null,
您可以通过以下方式验证:

ls -l /etc/systemd/system/systemd-resolved.service

要删除面具,只需运行:

sudo systemctl unmask systemd-resolved

/lib/systemd/system/systemd-resolved.service是文本文件,无法通过 bash 执行。服务二进制文件位于/lib/systemd/systemd-resolved

答案2

尝试删除 systemd 服务文件,然后重新启动它。

删除文件-

sudo rm /lib/systemd/system/systemd-resolved.service

重新加载守护进程

sudo systemctl daemon-reload

重新加载后,启动服务

sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved

注意:要获取 systemd-resolved 服务的位置,您可以使用sudo systemctl enable systemd-resolved并进一步使用该位置来删除文件。

被屏蔽的 systemd 服务导致我的系统出现网络管理器问题,我无法在系统上使用互联网。当我使用以下命令进一步检查错误或警告时grep 已解析 /var/log/syslog命令时,我发现该服务被屏蔽的错误,并使用上述解决方案取消了屏蔽。

答案3

使用此命令

$ sudo dpkg-reconfigure resolvconf

答案4

添加到罗曼·K上面的回答,
使用unmask命令来取消屏蔽错误中列出的任何服务,
例如:

如果你得到

...Unit systemd-networkd.service is masked...

然后运行命令

sudo systemctl unmask systemd-networkd.service

(另见此存档答案了解列出屏蔽服务的方法)

相关内容