使用Yum降级Linux软件包

我目前已经安装了一个64位版本的软件包(subversion-javaHL)。 我需要把它回滚到它的32位对应。

有没有办法做到这一点,而不是简单地卸载它?

rpm -e subversion-javahl-1.4.2-4.el5.x86_64 yum install subversion-javahl-1.4.2-4.el5.i386 

这里的版本号假设你正在运行最新的CentOS / RHEL。 你可能会碰到基于依赖关系的皱纹……在这种情况下,你需要对基本的颠覆包进行相同的操作。

Yum允许安装插件,Fedora repo包含一个yum-allowdowngrade插件(不知道CentOS / RHEL)。 安装之后,您应该能够运行以下内容:

 yum --allow-downgrade install subversion-javahl-1.4.2-4.el5.i386 

我从来没有尝试过使用它,但不知道是否从64位切换到32位在技术上将被视为降级。

如果–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 

在RHEL上,yum-allowuninstall插件不可用,为此使用yum downgrade <packagename> 。 这需要一步一步降级,但在依赖引擎上可能更容易。