Я просто, может казаться, не устанавливаю пользовательскую версию libvirt на Сервере Ubuntu 14.04. Я использую этот PPA, и я использовал метод ручной вставки в следующих строках к нижней части моего sources.list файла:
deb http://ppa.launchpad.net/zulcss/esx/ubuntu trusty main
deb-src http://ppa.launchpad.net/zulcss/esx/ubuntu trusty main
Я также создал следующий/etc/apt/preferences файл:
Package: libvirt-bin
Pin: origin ppa.launchpad.net
Pin-Priority: 610
Package: libvirt-bin
Pin: origin us.archive.ubuntu.com
Pin-Priority: 600
Package: libvirt-bin
Pin: origin security.ubuntu.com
Pin-Priority: 590
Вот вывод libvirt-мусорного-ведра политики способного кэша
libvirt-bin:
Installed: (none)
Candidate: 1.2.2-0ubuntu9
Package pin: 1.2.2-0ubuntu9
Version table:
1.2.2-0ubuntu13.1.14 610
500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
100 /var/lib/dpkg/status
1.2.2-0ubuntu13.1.7 610
500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
1.2.2-0ubuntu13 610
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
1.2.2-0ubuntu9 610
500 http://ppa.launchpad.net/zulcss/esx/ubuntu/ trusty/main amd64 Packages
Вот то, что происходит, когда я на самом деле пытаюсь установить:
root@ubuntu:/etc/apt/sources.list.d# apt-get install libvirt-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libvirt-bin : Depends: libvirt0 (= 1.2.2-0ubuntu9) but 1.2.2-0ubuntu13.1.14 is to be installed
E: Unable to correct problems, you have held broken packages.
root@ubuntu:/etc/apt/sources.list.d#
Кто-либо может думать о способе разрешить это без ручной компиляции?
Присвойте более высокий приоритет всем пакетам из PPA:
Package: *
Pin: origin ppa.launchpad.net
Pin-Priority: 610
Если назначить приоритет только для libvirt-bin
, пакеты зависимостей, такие как libvirt0
, не будут затронуты, поэтому apt-get
выбирает самую высокую доступную версию для тех, которые будут из Ubuntu. PPA предоставляет следующие пакеты:
libvirt-bin
libvirt-dev
libvirt-doc
libvirt0
libvirt0-dbg
Таким образом, вы также можете назначить приоритет только для libvirt-bin
и libvirt0
:
Package: libvirt-bin libvirt0
Pin: origin ppa.launchpad.net
Pin-Priority: 610
Создайте конфигурацию
sudo nano /etc/apt/preferences.d/zulcss-esx-ppa-pin
с содержанием
Package: *
Pin: release o=LP-PPA-zulcss-esx
Pin-Priority: 1001
, чтобы способствовать всем пакетам в этом PPA.
я использую подобную конфигурацию также для моего PPA.