J'ai juste (bêtement) complété la mise à niveau du 14.04.4 au 16.04. Apparemment, il y a un bug dû à l'introduction de systemd qui casse libvirt ... ou j'ai cassé aptitude. Existe-t-il une solution de contournement ou une solution à ce problème? Dois-je revenir à 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)
Cela semble être causé par apparmor car vous trouverez quelque chose de similaire dans votre syslog:
noyau: [2386.130467] audit: type = 1400 audit (1461767119.644: 89): apparmor = "REFUSÉ" operation = "create" profile = "/ usr/sbin/libvirtd" pid = 21368 comm = "libvirtd" family = "netlink" sock_type = "raw" protocole = 0 required_mask = "create" denied_mask = "create"
Jusqu'à ce que le bogue soit corrigé, une solution de contournement non sécurisée consiste à désactiver temporairement apparmor pour l'installation:
Sudo systemctl stop apparmor.service
Sudo apt-get -f install
Sudo systemctl start apparmor.service
Ne décommentez pas ceci dans /etc/libvirt/libvirtd.conf
:
# You need to uncomment this line
log_outputs="3:syslog:libvirtd"
Laissez le par défaut comme:
# You need to uncomment this line
#log_outputs="3:syslog:libvirtd"
Cela a été mentionné dans le wiki officiel de libvirt: http://wiki.libvirt.org/page/The_daemon_cannot_be_started , mais cela n'aide en rien.
La meilleure option est de lancer d'abord:
Sudo systemctl stop apparmor.service
Sudo apt-get -f install
Sudo systemctl start apparmor.service
Ensuite, vous pouvez essayer:
systemctl status libvirt-bin.service
Le résultat devrait ressembler à ceci:
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.
J'ai eu le même problème avec apt dist-upgrade. Je résous le problème en arrêtant le service libvirt-bin et en supprimant tous les processus en cours d'exécution.