Закрепление пакета в Debian lenny

Мне нужен твой совет, так как я не знаю, попал ли я в жук или я что-то неправильно понял.

На Debian Lenny я пытаюсь предотвратить установку двух конкретных пакетов, когда они запрашиваются как зависимости от других пакетов. Я использую тот же синтаксис, который успешно использовал в Squeeze, но безуспешно.

На сжатие, следующие работает как ожидалось:

# cat /etc/apt/preferences.d/local-no-pike.pref
Package: pike7.6-core
Pin: version *
Pin-Priority: -1000

Если я попытаюсь установить pike7.6, который зависит от pike7.6-core Способность и склонность отказываются делать это.

На Ленни единственное отличие состоит в том, что нет поддержки "фрагментов" в /etc/apt/preferences.d и все предпочтения должны быть в /etc/apt/preferences файл. Но это не работает. Например, если файл содержит:

Package: grub-common
Pin: version *
Pin-Priority: -1000

APT не останавливает меня от установки grub, который зависит от grub-common,

я использовал strace чтобы увидеть, если файл читается, и это так. Мне предложили использовать некоторые Debug:: варианты, но они не помогли точно определить проблему. Я много гуглял с некоторыми комбинациями " lenny ", предотвращать "", пакет "," установка "," закрепление "и тому подобное, но ничего хорошего не вышло. И конечно я читаю man apt_preferences,

Что мне здесь не хватает?

1 ответ

В качестве обходного пути вы можете предотвратить обновление пакета, установив для него значение "hold" в dpkg:

echo "grub-common hold"|dpkg --set-selections

тогда вы можете отменить это с

echo "grub-common install"|dpkg --set-selections

другой вариант, упомянутый здесь: http://lists.debian.org/debian-user/2009/07/msg00477.html

Package: somepackage
Pin: release a=fakerepo
Pin-Priority: 1001

Поскольку "fakerepo" не является действующим выпуском, "somepackage" никогда не устанавливается.

также может быть полезно проверить вывод "apt-cache policy grub-common"

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