Я только что (по глупости) завершил обновление с 14.04.4 до 16.04. Очевидно, есть ошибка из-за введения systemd, которая нарушает libvirt ... или я сломал 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)
У меня была похожая проблема с apt dist-upgrade. Я исправляю это, останавливая службу libvirt-bin и убивая все запущенные процессы libvirt.
Это, кажется, вызывается apparmor, поскольку Вы найдете что-то подобным этому в Вашем системном журнале:
ядро: [2386.130467] аудит: аудит type=1400 (1461767119.644:89): apparmor = "ОТКЛОНЕННЫЙ" в операции = "создают" профиль = "/usr/sbin/libvirtd" pid=21368 коммуникация = "libvirtd" семейство = "netlink" sock_type =, "сырые данные" protocol=0 requested_mask = "создают" denied_mask =, "создают"
, Пока ошибка не исправлена, одно небезопасное обходное решение должно временно отключить apparmor для установки:
sudo systemctl stop apparmor.service
sudo apt-get -f install
sudo systemctl start apparmor.service
Не не комментируйте это в /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.