저는 CentOS 7.2가 사용하는 기본 시스템 버전인 CentOS 7.2만 사용하고 있습니다(systemd 219). 방금 물리적 호스트를 찾았는데 systemctl
명령이 작동하지 않습니다. 예를 들어. 실행하면 systemctl restart syslog-ng
막힙니다.
그리고 다시 시작해야만 이 문제를 해결할 수 있습니다.
[root@localhost /root]
#time systemctl restart syslog-ng
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24)
Failed to restart syslog-ng.service: Connection timed out
real 0m25.031s
user 0m0.004s
sys 0m0.003s
그래서 방금 dbus 활성화 폴킷이 실패했음을 발견했습니다.
[root@localhost /root]
#time systemctl restart polkit
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of org.freedesktop.PolicyKit1 timed out (g-dbus-error-quark, 20)
Job for polkit.service failed because a timeout was exceeded. See "systemctl status polkit.service" and "journalctl -xe" for details.
real 1m33.771s
user 0m0.003s
sys 0m0.005s
Busctl에서 문제를 볼 수 없습니다
[root@localhost /root]
#busctl
NAME PID PROCESS USER CONNECTION UNIT SESSION DESCRIPTION
:1.4 74375 polkitd polkitd :1.4 polkit.service - -
:1.7 75062 busctl root :1.7 sshd.service - -
net.reactivated.Fprint - - - (activatable) - -
org.freedesktop.DBus - - - - - - -
org.freedesktop.PolicyKit1 74375 polkitd polkitd :1.4 polkit.service - -
org.freedesktop.hostname1 - - - (activatable) - -
org.freedesktop.locale1 - - - (activatable) - -
org.freedesktop.login1 - - - (activatable) - -
org.freedesktop.machine1 - - - (activatable) - -
org.freedesktop.systemd1 - - - (activatable) - -
org.freedesktop.timedate1 - - - (activatable) - -
그러나 polkit을 수동으로 시작하면 반전이 제대로 작동하고 systemctl 명령이 작동합니다.
[root@localhost /root]
#/usr/lib/polkit-1/polkitd
또한, Busctl을 사용하면 polkit을 활성화할 수 없습니다. 그럼 dbus에 버그가 있는 것 같은데요?
#busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss polkit.service replace
이 질문 본 사람 있나요? 또한 polkit 사용자 계정이 존재하는지 확인하기 위해 /etc/passwd를 확인했습니다.