![DNF|YUM - 禁止某一特定软件包版本的软件包升级](https://linux22.com/image/224471/DNF%7CYUM%20-%20%E7%A6%81%E6%AD%A2%E6%9F%90%E4%B8%80%E7%89%B9%E5%AE%9A%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%89%88%E6%9C%AC%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%8D%87%E7%BA%A7.png)
我在 Linux 主机上遇到一个问题,升级软件包 X 会导致软件包 Y 停止工作,而软件包 Y 对于该 Linux 主机的用户至关重要。
该Linux主机使用DNF|YUM作为包管理器。
我知道有可能永久通过编辑系统的 YUM 配置文件或通过“版本锁”应用程序等来阻止给定软件包的软件更新;但这不是我想做的。
我希望做的是配置此 Linux 主机,以便它不会升级软件包 X 的一个特定版本,但它将安装软件包 X 的任何较新的升级版本,前提是 X 或 Y 或两者都为“已修复”在未来的版本中。
DNF|YUM 是否能够在升级系统时阻止/排除某个特定版本的软件包 X?
答案1
使用yum
或dnf
,没有任何工具可以阻止对特定版本的更新,同时允许随后的任何操作。所能做的就是使用您提到的方法之一,例如使用版本锁或将其排除在外/etc/yum.conf
或/etc/dnf/dnf.conf
在存储库文件中添加排除行或yum -x package update
在更新系统上的所有包时使用。
您能做的最好的事情就是设置一个测试虚拟机,您可以在其中使用其中一种方法排除该包,拍摄快照,然后测试未来的版本以查看其他包是否不再发生损坏。如果此包不是正在破坏的包的依赖项,那么可能可以从源代码编译破坏包并让它使用它。如果是,那么测试机是您最好的选择,同时提交错误报告。