Не могу установить пользовательскую libvirt

Я просто не могу установить пользовательскую версию libvirt на Ubuntu Server 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

Вот вывод политики apt-cache libvirt-bin

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#

Кто-нибудь может придумать способ решить эту проблему без ручной компиляции?

2 ответа

Решение

Назначьте более высокий приоритет всем пакетам из 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.

Другие вопросы по тегам