web-dev-qa-db-ja.com

KVM + Xenial Server。 libvirt-binは設定しません

14.04.4から16.04へのアップグレードを(愚かに)完了しました。どうやらlibvirtを壊すsystemdの導入に起因するバグがあります...またはaptitudeを壊しました。これに対する回避策または修正はありますか? 14.04に戻る必要がありますか?

root@KVM0:~# apt-get install libvirt-bin
Reading package 
lists... Done
Building dependency tree
Reading state information... Done
libvirt-bin is already the newest version (1.3.1-1ubuntu10).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up libvirt-bin (1.3.1-1ubuntu10) ...
Job for libvirt-bin.service failed because the control process exited with error code. See "systemctl status libvirt-bin.service" and "journalctl -xe" for details.
invoke-rc.d: initscript libvirt-bin, action "start" failed.
dpkg: error processing package libvirt-bin (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 libvirt-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)
4
Justin

これは、syslogで次のようなものが見つかるため、apparmorが原因であると思われます。

カーネル:[2386.130467] audit:type = 1400 audit(1461767119.644:89):apparmor = "DENIED" operation = "create" profile = "/ usr/sbin/libvirtd" pid = 21368 comm = "libvirtd" family = "netlink" sock_type = "raw" protocol = 0 requested_mask = "create" denied_mask = "create"

バグが修正されるまで、安全でない回避策の1つは、インストールのために一時的にapparmorを無効にすることです。

Sudo systemctl stop apparmor.service
Sudo apt-get -f install
Sudo systemctl start apparmor.service
5
Johan Ehnberg

/etc/libvirt/libvirtd.confのコメントを外さないでください:

# You need to uncomment this line
log_outputs="3:syslog:libvirtd"

次のようにデフォルトのままにします。

# You need to uncomment this line
#log_outputs="3:syslog:libvirtd"

公式のlibvirt wikiで言及されていました: http://wiki.libvirt.org/page/The_daemon_cannot_be_started ですが、まったく役に立ちません。

最適なオプションは、最初に実行することです:

Sudo systemctl stop apparmor.service
Sudo apt-get -f install
Sudo systemctl start apparmor.service

次に試すことができます:

systemctl status libvirt-bin.service

出力は次のようになります。

libvirt-bin.service - Virtualization daemon

Loaded: loaded (/lib/systemd/system/libvirt-bin.service; enabled; vendor prese

Active: active (running) since Fr 2016-08-19 14:02:04 EST; 43s ago
Docs: man:libvirtd(8)
       http://libvirt.org

Main PID: 8620 (libvirtd)
CGroup: /system.slice/libvirt-bin.service
       ├─8620 /usr/sbin/libvirtd
       ├─9013 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.
       └─9014 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.
1
Ridone

Apt dist-upgradeでも同様の問題がありました。 libvirt-binサービスを停止し、実行中のすべてのlibvirtプロセスを強制終了して修正します。

0
Artyum