Иногда пакет, который я хочу получить от PPA, имеет то же имя, что и другой пакет в другом репозитории. Есть ли способ, которым я могу сказать apt
, чтобы загрузить пакет packageName
из определенного репо?
Я предпочел бы просто использовать apt
, но я полагаю, aptitude
или какой-либо другой инструмент будет работать хорошо Чем проще, тем лучше.
Есть два способа:
Допустим, пакет получен из какого-либо источника, назовем его ppa.launchpad.net
. Итак, как сказать aptitude для установки пакета формы, которая является источником:
sudo aptitude install '?narrow(nameofthepackage, ?origin(ppa.launchpad.net))'
Вы можете изменить narrow
на and
. Также вы можете использовать другие селекторы, такие как строка версии и т. Д.
Полный список всех характеристик aptitude здесь:
<час>Это требует, чтобы вы записали файл предпочтений перед этим, и вы должны добавить красивые аргументы параметров:
Вы должны написать свой файл закрепления:
Package: somepackage
Pin: origin ppa.launchpad.net
Pin-Priority: 1000
Теперь с помощью apt-get:
sudo apt-get install -o Dir::Etc::Preferences=/path/to/pinningFile somepackage
Готово.