我正在尝试设置一个非常简单的本地仓库。我想要一个包含两个版本且只有一个 rpm 的基本仓库,所以我这样做了:
mkdir /packages/x64
将两个 rpm 复制到 /packages/x64
[root@repo x64]# createrepo --verbose /packages/x64
1/2 - jre-6u37-linux-amd64.rpm
2/2 - jre-7u9-linux-x64.rpm
保存主要元数据保存文件列表元数据保存其他元数据
将 repo 添加到 /etc/yum.repos.d/local.repo
但当我这样做时:
[root@repo x64]# yum list jre
我得到:
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Available Packages
jre.x86_64 1.7.0_09-fcs local
也就是说,它只显示最新版本。我知道它们都在 repo 中,因为我已经运行过这个:
[root@repo x64]# rpm -qp jre-6u37-linux-amd64.rpm
jre-1.6.0_37-fcs.x86_64
[root@repo x64]# rpm -qp jre-7u9-linux-x64.rpm
jre-1.7.0_09-fcs.x86_64
当我删除后一个版本并再次运行 createrepo 时,前一个版本又出现了。最令人困惑的是,我错过了什么?
答案1
您正在寻找的命令是:
yum --showduplicates list jre
这应该会给你一份先前事项的清单。
yum list kernel
Available Packages
kernel.x86_64 2.6.32-279.14.1.el6 updates
和...
yum --showduplicates list kernel
Available Packages
kernel.x86_64 2.6.32-279.el6 base
kernel.x86_64 2.6.32-279.1.1.el6 updates
kernel.x86_64 2.6.32-279.2.1.el6 updates
kernel.x86_64 2.6.32-279.5.1.el6 updates
kernel.x86_64 2.6.32-279.5.2.el6 updates
kernel.x86_64 2.6.32-279.9.1.el6 updates
kernel.x86_64 2.6.32-279.11.1.el6 updates
kernel.x86_64 2.6.32-279.14.1.el6 updates
默认情况下,yum 不会显示所有可用的软件包。就它而言,该jre
软件包有两个版本,其中 1.7.0 是最新版本,因此它只会显示这些版本,而不会告诉您。