Как запретить apt-get обновлять пакеты, созданные из исходных текстов с помощью apt pinning? [дубликат]

На этот вопрос уже есть ответ здесь:

У меня установлен пакет (xcp-xapi), который подвержен ошибкам. Исправление очень простое (всего пара строк в коде), поэтому я делаю следующее:

apt-get source xcp-xapi

Затем я нахожу исходный файл, чтобы применить исправление, и затем снова запускаю

apt-get -b source xcp-xapi

Это приведет к появлению некоторого файла .deb файлы, которые я устанавливаю с помощью

dpkg -i *.deb

Теперь проблема в том, что каждый раз, когда я пытаюсь запустить обновление apt-get, apt пытается получить пакеты из репозиториев. Я предполагаю, что это можно исправить с помощью закрепления, но я не могу найти правильную конфигурацию, чтобы установить высокий приоритет пакетов, которые я скомпилировал самостоятельно.

Итак, вопрос в том, как я могу настроить закрепление, чтобы следующие уже установленные пакеты имели более высокий приоритет, чем любые существующие в репозиториях?

# apt-cache policy xcp-networkd xcp-v6d xcp-xapi xcp-xapi-debug
xcp-networkd:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-v6d:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi-debug:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
3
задан 24 November 2014 в 13:21

2 ответа

Одним из способов также может быть отправка отчета об ошибке и патча разработчикам xcp-xapi, и со временем ошибка может быть исправлена ​​в репозиториях. Затем вы можете снова установить версию из репозитория. Тем не менее, до обновления репозиториев может потребоваться некоторое терпение.

0
ответ дан 24 November 2014 в 13:21

Я не знаю, является ли это правильным решением, но, пробуя разные конфигурации закрепления, я в итоге заставил его работать так:

создайте файл /etc/apt/preferences.d/xcp- xapi со следующим содержимым:

Package: xcp-networkd
Pin: release n=precise
Pin-Priority: -1

Package: xcp-v6d
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi-debug
Pin: release n=precise
Pin-Priority: -1

Из того, что я понимаю, предоставление ему отрицательного приоритета для конкретного пакета из определенного репозитория означает, что не мешайте этому пакету, поэтому сохраняйте текущую версию установленной. Если кто-то может объяснить дальше или предоставить «более правильное» решение, я был бы признателен. Спасибо!

0
ответ дан 24 November 2014 в 13:21

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

Похожие вопросы: