web-dev-qa-db-ja.com

polkitが欠落ファイルエラーをスローするため、GNOMEのないシステム上のGentoovirt-managerはlibvirtdに接続できません

AMD A8-4555MCPUを搭載したHPPavilion Touch14-N009LAでカーネル3.12.21AMD64を使用してGentooLinux forAMD64を実行しています。私のデスクトップ環境はKDE4.12.5です。 KVM、libvirtd、polkit、virt-managerをインストールしました。ただし、virt-managerを開くと、次のエラーが発生し、仮想マシンで何もできません。

Unable to connect to libvirt.

authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

詳細出力はこちらです:

Unable to connect to libvirt.

authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1002, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 984, in _try_open
    flags)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 105, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

ぐるぐる回って、それを機能させるための次のヒントを見つけました。その方法は次のとおりです。

  • Polkit認証エージェントが実行されていることを確認します。私がチェックしたところ、実際に実行されています。
black @ rockshooter〜 $ ps -ef | grep polkit 
 black 5039 1 0 04:31? 00:00:00/usr/lib64/kde4/libexec/polkit-kde-authentication-agent-1
  • Kvmというグループを作成し、それにユーザーIDを追加し、VMを管理したいグループkvmのユーザーを認証するためのpolkitルールを作成します。私はこのようにそれをしました、そしてそれは働きませんでした:
root @ rockshooter /etc/polkit-1/rules.d#cat 50-default.rules 
 polkit.addRule(function(action、subject){
 if(action.id == "org .libvirt.unix.manage "&& 
 subject.isInGroup(" kvm ")){
 return polkit.Result.YES; 
} 
}); 
 root @ rockshooter /etc/polkit-1/rules.d#grep kvm /etc/group
kvm:x:78:qemu,black
  • コマンドラインからハイパーバイザーに接続します(virshを使用)。まったく同じエラーが発生します。
black @ rockshooter〜 $ virsh --connect qemu:/// system 
エラー:ハイパーバイザーへの接続に失敗しました
エラー:認証に失敗しました:polkit:権限の取得エラー:権限の初期化エラー:できません接続:そのようなファイルまたはディレクトリはありません
1
RAKK

システムポリシーにより、ローカル仮想化システムの管理が妨げられます。 suを使用して、virt-managervirsh --connect qemu:///systemおよびその他の仮想化関連のタスクを実行する必要があります。

1
Peque