即使是降级,我如何强制安装yum?

时间:2016-05-27 19:39:58

标签: build yum downgrade

所以场景如下: 我有一些系统,我从CI服务器下载构建并安装它们。这些构建是未发布的构建,但命名约定中有一个时间戳来确定较新的构建。所以我安装了其中一个版本,测试它,很棒。

好吧,在某些时候我想恢复到我们当地yum repo上的实际发布版本。但是如果我做yum install -y somepackage,安装就会说它试图下载的版本已被我安装的这个未发布的版本淘汰。

我想知道的是,如果有一种方法可以强制yum安装构建,即使它已被当前安装的版本淘汰,或者我将在yum安装已发布版本之前被迫yum删除已安装的版本?

我不介意做后者,但前者是一个更好的解决方案,因为一些依赖于此RPM的高可用性组件会在它丢失时抱怨,所以我想知道它是否可能。

提前致谢!

6 个答案:

答案 0 :(得分:0)

yum update-to <package-name>

答案 1 :(得分:0)

yum downgrade somepackage

此外,yum history下的命令可能会在类似情况下对您有所帮助。

答案 2 :(得分:0)

我也一直在寻找解决方案。不幸的是,这是我能找到的唯一解决方法:

pkg=package-1.2.3-0.rpm
yum -y downgrade $pkg
yum -y install $pkg

这些命令将导致您安装了确切的版本;降级或升级时。

答案 3 :(得分:0)

是的,您可以使用downgrade子命令安装(已安装的软件包的)较早的可用版本:

yum -y downgrade mypackage-1.2.3-4

请注意,您必须明确指定要降级到的软件包的版本/版本。

yum的后继者dnf也可以使用此命令。

答案 4 :(得分:0)

对于Centos 7静态32位库:
获取http://mirror.centos.org/centos/7/os/x86_64/Packages/glibc-static-2.17-307.el7.1.i686.rpm

rpm -qlp glibc-static-2.17-307.el7.1.i686.rpm

rpm -ivh glibc-static-2.17-307.el7.1.i686.rpm

答案 5 :(得分:-1)

使用RPM,您可以执行此操作 请尝试以下操作:

$ rpm -Uvh --oldpackage pkg1.rpm pkg2.rpm

rpm手册页摘录

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

This upgrades or installs the package currently installed to a newer    version. This is the same as install, except all other version(s) of the
   package are removed after the new package is installed.

--oldpackage           Allow an upgrade to replace a newer package with an older one.

只需从rpm中获取所有依赖项并安装。