单元 polkitd.service 被屏蔽

单元 polkitd.service 被屏蔽

在 Ubuntu 版本升级失败后,一台计算机开始出现异常。在最初无法启动后,我们设法让它进入命令行 - 但它拒绝联网(所以没有apt,没有 LDAP,没有 NFS......)。我可以用 SSH进入机器,但没有传出流量尝试成功。显然升级已卸载network-manager,所以我尝试通过scp-ing 所需.deb文件来恢复它,但是......不行。modemmanagernetwork-manager失败

Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.systemd1.UnitMasked: Unit polkitd.service is masked. (g-io-error-quark, 36)

并且policykit-1

polkitd.service is a disabled or a static unit not running, not starting it.

因此看起来polkitd,它确实被掩盖了:

$ systemctl is-enabled polkitd.service
masked-runtime

(工作系统显示static)。

发生了什么事?我该如何修复故障节点?

编辑回应评论:

$ ls /etc/systemd/system
avahi-daemon.service
avahi-daemon.socket
click-system-hooks.service
dbus-org.freedesktop.Avahi.service
dbus-org.freedesktop.ModemManager1.service
dbus-org.freedesktop.nm-dispatcher.service
default.target.wants
display-manager.service.wants
gdm.service
getty.target.wants
graphical.target.wants
halt.target.wants
hibernate.target.wants
hybrid-sleep.target.wants
kexec.target.wants
multi-user.target.wants
nfs-client.target
nfs-server.service
ofono.service
osspd.service
plymouth-log.service
plymouth.service
polkitd.service.d
portmap.service
poweroff.target.wants
printer.target.wants
reboot.target.wants
resolvconf.service
shutdown.target.wants
sockets.target.wants
sshd.service
suspend.target.wants
sysinit.target.wants
syslog.service
urfkill.service

编辑

# ls -al /etc/systemd/system/polkitd.service.d/
total 8
drwxr-xr-x  2 root root 4096 Dec 15 10:50 .
drwxr-xr-x 19 root root 4096 Dec 15 10:50 ..

我删除了有问题的空目录并重新启动;服务现在static正常了,我设法安装了network-manager

但是,网络仍然无法访问,所以肯定是其他问题。我可以 ping 网关...所以我查看了一下resolv.conf,发现链接坏了:

$ ls -al /etc/resolv.conf
lrwxrwxrwx 1 root root 29 May 14  2015 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

所以我从另一台机器复制了它;现在网络可以正常工作了!我还必须安装nfs-commonnfs-kernel-server,因为出于某种原因,它们消失了(而我没有注意到)才能运行我的 autofs。

答案1

迫于赏金截止日期,我重复了 blubberdiblub 的回答:

/etc/systemd/system/polkitd.service.d在我的 Ubuntu 系统上不存在。你的目录是空的吗?如果是,rmdir /etc/systemd/system/polkitd.service.d重新启动有帮助吗?

是的,确实如此 - 确实如此。我完全按照建议操作,错误消失了。

答案2

我知道我迟到了,但首先检查它是否是 /dev/null 的链接

ls -l /lib/systemd/system/xxx.service

如果是,则只需取消链接:

sudo unlink /lib/systemd/system/xxx.service

然后你需要重新加载你的守护进程:

sudo systemctl daemon-reload

再次检查状态:

sudo systemctl status xxx

最后你可以重新启动它:

sudo systemctl restart xxx

请注意您已丢失服务文件。

相关内容