如果YUM存储库中有给定RPM的两个(或更多)版本,我如何指示yum安装我想要的版本?多个版本。



#1 楼

要查看通过yum提供的特定版本,可以使用--showduplicates开关。它为您提供了一个列表,例如``软件包名称。体系结构版本'':

$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirror.steadfast.net

Available Packages
httpd.x86_64                        2.4.6-6.fc20                         fedora 
httpd.x86_64                        2.4.10-1.fc20                        updates


就安装特定版本而言?您可以将版本信息附加到软件包的名称中,从而删除体系结构名称,例如:

$ sudo yum install <package name>-<version info>


例如,在这种情况下,如果我想安装旧版本版本2.4.6-6,我将执行以下操作:

$ sudo yum install httpd-2.4.6-6


指定软件包时,还可以包括发行信息。在这种情况下,由于我正在使用Fedora 20(F20),因此发行信息将为“ fc20”,而架构信息也将为“ fc20”。 >
如果不确定是否正确构造参数,也可以与repoquery进行协商。

$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64


下载和安装

还可以使用以下选项之一从Web下载特定的RPM,然后使用yum进行安装。

$ sudo yum install yum-utils  # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64


,然后安装像这样:

$ yum --downloadonly <package>
-or-
$ yumdownloader <package>


如果我要下载X软件包所需的所有内容怎么办?

$ sudo yum localinstall <path to rpm>


示例

$ yumdownloader --resolve <package>


请注意,它正在执行依赖项检查,然后下载缺少的部分。请参阅我的答案,在这里进行更详细的介绍:如何从repo下载文件,然后在不连接Internet的情况下安装它?。

参考文献


请百胜安装特定的软件包版本


评论


我认为它不适用于位于@updates的最新版本和位于@fedora的操作系统的初始版本之间的软件包。例如,如果您尝试安装httpd-2.4.8-1,yum会说该软件包不可用。

–问题溢出
2014年8月23日在8:51



@QuestionOverflow-不关注。该版本未在仓库中显示为可用。

–slm♦
2014年8月23日在12:38

让我用yum日志中的真实示例再试一次。 python-libs-2.7.5-12.fc20.x86_64曾经安装在我的计算机上,但此后被替换。假设现在我要安装此特定软件包,yumdownloader python-libs-2.7.5-12 *会说No Match for arguments python-libs-2.7.5-12 * Nothing to download。我要说的是,一旦有新软件包到达,旧软件包就无法从yum中访问了。您只能安装最新的软件包或初始版本,而不能安装两者之间的版本。

–问题溢出
2014年8月24日4:13



@QuestionOverflow-在这种情况下,我认为您必须使用yum降级...如果该软件包已经安装,并且您打算稍后再使用它。在我的问题中,我试图展示如何手动选择尚未安装的特定版本的软件包。 docs.fedoraproject.org/zh-CN/Fedora/14/html/…

–slm♦
2014年8月24日7:53



不,即使升级到特定程序包也无法使用。几天前,我已经尝试过使用全新的安装方式。您只能yum更新到最新的软件包,而不能更新您想要的任何版本。

–问题溢出
2014年8月24日上午8:05

#2 楼

另一个选择是,您可以下载rpm文件,然后指示yum执行localinstall

yum localinstall /path/to/package.rpm


rpmfind.com是获得所需软件包的好地方并搜索该软件包名称。

评论


是否有一个包含大多数(如果不是所有)rpm文件版本的URL?

–问题溢出
14年8月23日在8:59

@QuestionOverflow:rpmfind.net

–cuonglm
14年8月23日在9:01

还有yum --downloadonly ,然后还有yum localinstall 的路径。您也可以使用实用程序yumdownloader

–slm♦
2014年8月23日在12:40



#3 楼

您还可以使用选项命令:

yum install --nogpgcheck pckg-name-version