Apt-pin и само размещенное apt-репо

У нас есть собственный репозиторий apt/deb с несколькими пакетами, в которых мы хотим контролировать версию. Важно, что это касается марионеток, которые могут быть чувствительны к разным версиям.

Я хочу, чтобы наши рабочие столы получали только марионетку из нашего репозитория, а также чтобы люди могли добавлять свои собственные PPA, включать обратные порты и т. Д. В настоящее время у нас есть проблемы с обратными портами в Ubuntu Lucid. Некоторые важные строки из /etc/apt/sources.list:

deb http://gb.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse

deb http://deb.example.org/apt/ubuntu/lucid/ binary/

И в /etc/apt/preferences.d/puppet:

Package: puppet puppet-common
Pin: release a=binary
Pin-Priority: 800

Package: puppet puppet-common
Pin: release a=lucid-backports
Pin-Priority: -10

В настоящее время политика говорит:

$ sudo apt-cache policy puppet
puppet:
  Installed: (none)
  Candidate: (none)
  Package pin: 2.7.1-1ubuntu3.6~lucid1
  Version table:
     2.7.1-1ubuntu3.6~lucid1 -10
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid-backports/main Packages
        100 /var/lib/dpkg/status
     2.6.14-1puppetlabs1 -10
        500 http://deb.example.org/apt/ubuntu/lucid/ binary/ Packages
     0.25.4-2ubuntu6.8 -10
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
        500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
     0.25.4-2ubuntu6 -10
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid/main Packages

Если я использую n= вместо a= тогда я получаю Package pin: (not found)

Я просто запутался в этом вопросе относительно того, что я должен использовать. Любая помощь приветствуется.

редактировать

Я потратил больше времени на чтение справочной страницы apt / Предпочтения и нашел origin ключевое слово. Итак, я сейчас попробовал:

Explanation: get puppet from our server
Explanation: priority over 1000 means downgrade if necessary
Package: puppet puppet-common
Pin: origin "deb.example.org"
Pin-Priority: 1001

Я удалил строку backports. На странице руководства говорится, что приоритет выше 1000 приведет к снижению рейтинга. Но как оно там ничего не установлено. Я все еще получаю Package pin: (not found) а также Candidate: (not found) пока еще получаю полную версию таблицы выше. Я не понимаю, почему мое происхождение не меняет приоритет по сравнению с deb.example.org.

1 ответ

Этот ответ, очевидно, будет зависеть от того, как вы упаковываете и распространяете пакеты, такие как puppet, в своем собственном репо, но альтернативный вариант, который следует рассмотреть, - создание версий для конкретной компании с префиксным именем, чтобы избежать конфликтов с "основными" репозиториями, такими как backports.,

Поэтому вместо puppet используйте abc-puppet, где abc является сокращением для вашей компании.

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