Я пытался понять разницу между этими двумя командами и заметил, что получаю разные результаты.
apt-get install -t testing appX
apt-get install appX/testing
Задний план
Я настраиваю свои списки источников и конфигурацию закрепления в соответствии с https://serverfault.com/a/382101/132528
Текущие результаты
root@home:/etc/apt# apt-cache policy i3
i3:
Installed: (none)
Candidate: 4.2-2
Version table:
4.8-1 0
750 http://debian.mirror.ac.za/debian/ testing/main amd64 Packages
750 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
50 http://debian.mirror.ac.za/debian/ unstable/main amd64 Packages
50 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
4.8-1~bpo70+1 0
100 http://debian.mirror.ac.za/debian/ wheezy-backports/main amd64 Packages
4.2-2 0
995 http://debian.mirror.ac.za/debian/ wheezy/main amd64 Packages
995 http://debian.mirror.ac.za/debian/ stable/main amd64 Packages
995 http://ftp.us.debian.org/debian/ stable/main amd64 Packages
Он выбирает 4,2-2, когда делает
apt-get install -t testing appX
И выбирает 4,8 при выполнении
apt-get install appX/testing
Справочник Debian:
-t targetRelease
Чтобы указать apt-get использовать конкретный дистрибутив при поиске обновленных пакетов, вам необходимо использовать параметр -t или --target-release, за которым следует имя нужного вам дистрибутива (например: apt-get -t stable Обновить).
pkg / distribution
Если в файле sources.list упоминается несколько дистрибутивов, можно указать версию пакета для установки. Конкретный номер версии может быть запрошен с помощью apt-get install package = version, но с указанием его исходного распределения (стабильный, тестируемый или нестабильный) - с помощью apt-get install package / distribution - обычно предпочтительнее.
Вопрос
В обоих случаях вы указываете желаемое распределение, но наблюдаемое поведение не согласуется между двумя случаями?
У меня была такая же проблема, но я понял !!!
(Я изначально хотел прокомментировать это на оригинальный ответ потому что у других людей, похоже, тоже есть эта проблема, но в то время у меня не было достаточно магических очков "репутации", чтобы мое мнение было ценным, так что продолжаем.)
Это причуда тех ценностей, которые он выбрал для удачного закрепления. Когда ты бежишь apt-get install my_package
, apt выбирает, из какого источника установить этот пакет, в зависимости от того, какой из них имеет наивысший приоритет закрепления.
Ваша общая системная настройка (версия по умолчанию) имеет приоритет 990.
Добавление -t unstable
к команде apt-get временно делает "нестабильным" выпуск по умолчанию для этой команды.
Он установил приоритет закрепления, чтобы "стабильный" был 995. Это означает, что несмотря ни на что, пакеты всегда будут устанавливаться из стабильной версии, поскольку ее приоритет даже выше, чем приоритет выпуска по умолчанию.
Итак, исправление? Легко - просто измените приоритет пина в /etc/apt/preferences.d/security.pref
с 995 до 900.