所以场景如下: 我有一些系统,我从CI服务器下载构建并安装它们。这些构建是未发布的构建,但命名约定中有一个时间戳来确定较新的构建。所以我安装了其中一个版本,测试它,很棒。
好吧,在某些时候我想恢复到我们当地yum repo上的实际发布版本。但是如果我做yum install -y somepackage
,安装就会说它试图下载的版本已被我安装的这个未发布的版本淘汰。
我想知道的是,如果有一种方法可以强制yum安装构建,即使它已被当前安装的版本淘汰,或者我将在yum安装已发布版本之前被迫yum删除已安装的版本?
我不介意做后者,但前者是一个更好的解决方案,因为一些依赖于此RPM的高可用性组件会在它丢失时抱怨,所以我想知道它是否可能。
提前致谢!
答案 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中获取所有依赖项并安装。