我目前安装了一个 64 位版本的软件包(确切地说是 subversion-javaHL)。我需要将其回滚到 32 位版本。
有没有办法做到这一点,而不是简单地卸载它?
答案1
rpm -e subversion-javahl-1.4.2-4.el5.x86_64
yum install subversion-javahl-1.4.2-4.el5.i386
此处的版本号假设您正在运行最新的 CentOS/RHEL。您可能会遇到依赖关系问题……在这种情况下,您需要对基本 subversion 包执行相同的操作。
答案2
Yum 允许安装插件,Fedora repo 包含一个 yum-allowdowngrade 插件(不确定 CentOS/RHEL 是否支持)。安装后,您应该能够运行以下命令:
yum --allow-downgrade install subversion-javahl-1.4.2-4.el5.i386
我从未尝试使用它,并且不确定从 64 位切换到 32 位在技术上是否被视为降级。
答案3
如果 --allow-downgrade 不起作用,并且还有其他依赖于此的东西不允许您卸载,您可以使用 yum shell 在单个事务中执行此操作:
# yum shell
> remove subversion-javahl-1.4.2-4.el5.x86_64
> install subversion-javahl-1.4.2-4.el5.i386
> run
答案4
在 RHEL 上,yum-allowuninstall 插件不可用,要执行此操作,请使用yum downgrade <packagename>
。这需要一步一步降级,但在依赖引擎上可能更容易。