我已经有一个包 B,并且想要安装一个新的包 A。安装程序想要修改 B,但是我不希望发生这种情况。
我需要安装包 A。
它依赖于包 B,并且要求 (>2.0)。
我的系统中已经安装了 B,版本为 2.1,因此我当前的设置已经满足依赖性。
但是在 Debian 存储库中 B 包有一个新版本(2.2),并且我不想要它,因为它与其他东西冲突。
因此,当我安装 A 包时,apt 也会尝试升级 B。
如何在不编辑软件包的情况下禁用依赖项的升级或指示明确的依赖项版本?
我读过了我如何让 apt-get 忽略一些依赖关系?,但这对我没有帮助。在这个问题中,依赖项 (B) 根本不应该由存储库管理器处理。就我而言,存储库管理器已经处理了依赖项,应该继续这样做,只是不在此特定操作中。
重新开放审阅者:请参阅胜利者这本来应该是答案。
答案1
在 Debian 8 上,我发现选项 --no-upgrade 可以帮助实现所需的结果。例如:
apt-get install --no-upgrade php7.0-xmlrpc
答案2
您可以尝试--nodeps
使用标志,也可以尝试使用选项的apt-get
debian 软件包实用程序。dpkg
--ignore-depends
答案3
使用apt-mark hold package-that-apt-should-leave-alone
。
抓住
hold 用于将软件包标记为保留,这将阻止软件包被自动安装、升级或删除。
答案4
您可以使用--nodeps
标志apt-get
或下载软件包并使用dpkg
选项进行安装--ignore-depends