使用localinstall更新yum包

时间:2018-02-07 20:42:24

标签: linux redhat yum rhel

如果使用yum localinstall安装的软件包如下:

span{
color:red;
}

现在,如果我跑:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Phasellus sit amet auctor velit, ac egestas augue.</p>

是否会使用新版本完全替换旧版本或维护这两个版本?

2 个答案:

答案 0 :(得分:2)

答案是,这取决于some-package的打包方式。一般而言,与.rpms打包在一起的大多数foo-version-release.rpm都会被包含foo和/或version++的同一个包release++淘汰。

查看您的some-package,如果您要运行yum localinstall some-package-2.0.0.rpm(请注意,而不是-y),那么您会看到来自yum的消息,如下所示:< / p>

Resolving Dependencies
--> Running transaction check
---> Package foo.x86_64 0:1.0.0 will be updated
---> Package foo.x86_64 0:2.0.0 will be an update

这表明yum将更新包并删除旧包。 yum解析了这些依赖关系,而rpm -ivh则无法解决这些问题。

现在,有一些特殊情况,例如kernel,它将与旧版本并排安装在系统上,除非您手动调用rpm -Uvh kernel*.rpm命令。

yum localinstall的等效命令将是双重的,

# This will fail if some-2.0.0 is designed to obsolete some-1.0.0
$ rpm -ivh --test some-2.0.0.rpm  

而后续会成功:

$ rpm -Uvh --test some-2.0.0.rpm  

注意,我正在使用--test进行干运行。需要将其删除以进行实际安装。

答案 1 :(得分:2)

由于基于仓库的软件包管理器,我更喜欢使用相同的pkg管理器进行所有操作。

它似乎没有记录,但确实可以使用标准的yum args:

result = 1 + min_op(n // 2, base)