有时我想要的 PPA 软件包与另一个存储库中的其他软件包同名。有什么方法可以告诉我从哪个存储库apt
下载软件包吗?packageName
我更愿意只使用apt
,但我想aptitude
或者其他工具也可以。越简单越好。
答案1
有两种方法:
- 固定-> 这更像是一个永久性的解决方案,您可以将其重新混合成某种临时方案,并在最后详细说明。
- 使用 aweso......呃,能力!
使用 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
完毕。