我在 Linux 主机上遇到一个问题,升级软件包 X 会导致软件包 Y 停止工作,而软件包 Y 对于该 Linux 主机的用户至关重要。
该Linux主机使用DNF|YUM作为包管理器。
我知道可以通过编辑系统的 YUM 配置文件或通过“版本锁”应用程序等来永久阻止给定软件包的软件更新;但这不是我想做的。
我希望做的是配置此 Linux 主机,以便它不会升级软件包 X 的一个特定版本,但它将安装软件包 X 的任何较新的升级版本,前提是 X 或 Y 或两者都为“已修复”在未来的版本中。
DNF|YUM 是否能够在升级系统时阻止/排除某个特定版本的软件包 X?
使用
yum
或dnf
,没有任何工具可以阻止对特定版本的更新,同时允许随后的任何操作。所能做的就是使用您提到的方法之一,例如使用版本锁或将其排除在外/etc/yum.conf
或/etc/dnf/dnf.conf
在存储库文件中添加排除行或yum -x package update
在更新系统上的所有包时使用。您能做的最好的事情就是设置一个测试虚拟机,您可以在其中使用其中一种方法排除该包,拍摄快照,然后测试未来的版本以查看其他包是否不再发生损坏。如果此包不是正在破坏的包的依赖项,那么可能可以从源代码编译破坏包并让它使用它。如果是,那么测试机是您最好的选择,同时提交错误报告。