![使用本地 apt repo 和同名不同版本的软件包](https://linux22.com/image/1185644/%E4%BD%BF%E7%94%A8%E6%9C%AC%E5%9C%B0%20apt%20repo%20%E5%92%8C%E5%90%8C%E5%90%8D%E4%B8%8D%E5%90%8C%E7%89%88%E6%9C%AC%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我已经创建了包含两个包的本地仓库
这些是控制文件:
软件包:package-a 版本:1.0.0
软件包:package-a 版本:2.0.0
当我执行“sudo apt install package-a=1.0.0”或“sudo apt install package-a=2.0.0”时,它运行良好。
现在我想要第三个包:
软件包:测试 版本:1.0.0 依赖:package-a(=1.0.0)
如果我尝试“sudo apt install test”,它不起作用,它会给我一个错误未满足的依赖关系,package-a(2.0.0) 将被安装
我做错了什么?我想使用依赖于其他版本
答案1
出现错误消息是因为该软件包test
依赖于package_a=>1.0.0
但不幸的是,我们的“高级”软件包管理器apt
正在尝试安装该软件包的最新版本,即2.0.0
。该软件包test
被编程为仅与 一起使用package_a=>1.0.0
。要修复:
您可以使用
aptitude
包管理器。您可以手动安装该版本。
要使用 aptitude 包管理器安装:
sudo apt update
sudo apt install aptitude
sudo aptitude -f install test
n
除非它提出正确的解决方案,否则请按。
要手动安装,请使用apt
:
sudo apt update
sudo apt install package_a=1.0.0
sudo apt install test
这样就可以成功安装test
。
注意::APT 总是安装软件包的最新版本;您不能拥有同一个软件包的 2 个以上版本,因为它们可能会导致文件冲突。