centos7.2中啟動polkit服務啟動失敗


1. 錯誤表現
在centos7.2系統中重啟服務的時候報錯:

Error getting authority:Eroor initializing authority:Error calling StartServiceByName for org.freedesktop.PolicyKit1:Timeout was readhed(g-io-error-quark, 24)  

Failed to restart network.service: Connection timed out

使用journalctl查看詳細信息的時候會報如下錯誤:

[system] Failed to activate service ‘org.freedesktop.PolicyKit1’: timed out

2. 錯誤原因
這個是一個和polkit.service相關問題。檢查polkit服務的時候發現服務停止而且同樣的,嘗試開啟這個服務的時候報錯:
當使用daemon-reload或者使用restart指令來重新加載啟動polkit服務的時候,競態條件會優先序列將會發生改變,與此同時systemctl status將會立馬報告polkit卡在了啟動狀態。但是polkit進程實際上是在運行的,系統只是簡單地忽略掉了bus屬主的改變。($busctl 查看)。

3. 解決辦法:

  1. 確認是否由polkitd的用戶存在.
  2. 可以使用polkitd來調試錯誤,直接運行:
    /usr/lib/plokit-1/plokitd
  3. 重新安裝polkit的包然后重啟服務.
    在使用systemd 225的時候會有這類錯誤異常bug,但是到systemd 229的時候修復了。錯誤原因是當systemd 啟動了這個服務的時候policykit-1的postinst殺掉了polkit的守護進程。在RHEL,CentOS,ubuntu,debain系統上均可以看到相關bug報告反饋。

4.相關鏈接

1.可觀察到bug反饋:
https://bugs.launchpad.net/ubuntu/+source/policykit-1/+bug/1447654
https://github.com/coreos/bugs/issues/462

2.redhat對此問題的解決方案
https://access.redhat.com/solutions/1543343

3.國外stackexchange問答網站上給出的一些解釋
http://unix.stackexchange.com/questions/249575/systemctl-keeps-timing-out-on-service-restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM