
Я пытался понять разницу между этими двумя командами и заметил, что получаю разные результаты.
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 upgrade).
пакет/дистрибуция
Если в файле sources.list упоминается несколько дистрибутивов, можно указать версию пакета для установки. Конкретный номер версии можно запросить с помощью apt-get install package=version, но указание дистрибутива происхождения (Stable, Testing или Unstable) — с помощью apt-get install package/distribution — обычно предпочтительнее.
Вопрос
В обоих случаях вы указываете желаемое распределение, но полученное поведение не соответствует обоим случаям?
решение1
У меня была такая же проблема, но я ее решил!!!
(Изначально я хотел прокомментировать этооригинальный ответ(Потому что у других людей, похоже, тоже есть эта проблема, но у меня на тот момент не было достаточно очков магической «репутации», чтобы мое мнение было ценным, так что вот.)
Это причуда значений, которые он выбрал для apt-pinning. Когда вы запускаете apt-get install my_package
, apt выбирает, из какого источника установить этот пакет, основываясь на том, какой из них имеет наивысший приоритет закрепления.
Общая настройка вашей системы (выпуск по умолчанию) имеет приоритет 990.
Добавление -t unstable
к команде apt-get временно делает «unstable» выпуском по умолчанию для этой команды.
Он установил свой приоритет закрепления для «стабильного»995. Это означает, что в любом случае пакеты всегда будут устанавливаться из стабильной версии, поскольку ее приоритет даже выше, чем приоритет выпуска по умолчанию.
Итак, как исправить? Легко — просто измените приоритет пина /etc/apt/preferences.d/security.pref
с 995 на 900.