Один и тот же пакет из 2 разных PPA в sources.list.d; как заставить установку с одного конкретного PPA?
Проблема:
Допустим, у меня есть PPA для программного обеспечения (например, Blender; http://ppa.launchpad.net/thomas-schiex/blender/ubuntu), которое по некоторым причинам содержит версию Python3.6.
Чего я хочу добиться:
Допустим, я хочу "лучший" пакет Python3.6, например, из ppa, выделенного для Python, в моем случае; http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu
Вопрос:
Как apt
выбрал пакет для установки и могу ли я сказать apt
установить его с одного желаемого ppa на других?
Я предполагаю, что он выберет самый современный пакет (я не прав?), Но что если по каким-то причинам я захочу оставить конкретную старую версию?
Пример с python3.6 является "единственным" примером здесь, это может быть полезно для любых пакетов.
Примечание о дубликате:
Даже если ответ в предлагаемых ссылках в комментариях одинаков, точки входа, то есть "вопрос", отмечаются точно так же, и многие люди могут прийти к ответу через этот результат поиска вместо другого. Так что, по моему скромному мнению и, строго говоря, ответ несколько дублирует, а не вопрос.
1 ответ
Как вы уже догадались apt
собирается установить последнюю версию, доступную в ваших источниках.
Например:
$ apt-cache madison firefox
firefox | 61.0.1+build1-0ubuntu0.18.04.1 | http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
firefox | 61.0.1+build1-0ubuntu0.18.04.1 | http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
firefox | 59.0.2+build1-0ubuntu1 | http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Как вы можете видеть, для установки доступны две разные версии Firefox, давайте проверим, какая из них будет установлена:
$ apt-cache policy firefox | head -3
firefox:
Installed: (none)
Candidate: 61.0.1+build1-0ubuntu0.18.04.1
Как вы можете видеть, будет установлена последняя версия (это кандидат на установку)
Ты можешь использовать:
sudo apt install package-name=version
например:
sudo apt install firefox=59.0.2+build1-0ubuntu1
установить более старую версию программного обеспечения.
В качестве альтернативы тоске вы можете apt-mark
чтобы остановить его от обновления:
sudo apt-mark hold firefox