yum 列表可用 - 不显示所有软件包

yum 列表可用 - 不显示所有软件包

我遇到了一个奇怪的问题,yum 在一台服务器上工作,但在另一台服务器上却不工作应该相同。

症状是在包含 RPM 的目录上运行 createrepo 后(并在 /etc/yum.repos.d 中创建名为“foo”的定义):

yum list available --disablerepo=* --enablerepo=foo 

在一台服务器上显示全部 23 个 RPM,但在另一台服务器上仅显示其中 7 个。

在仅显示 7 个 RPM 的服务器上,我仍然可以通过运行以下命令查看丢失的 RPM

yum search <package_name> --disablerepo=* --enablerepo=foo

我检查过:

  • SELinux-两台服务器上均已禁用
  • 操作系统版本 - 两者均为 RHEL 6.4
  • 内核 - 两者相同
  • Yum 和 createrepo 命令的版本

那么,服务器之间可能存在哪些差异,从而造成此问题?

答案1

如果软件包已安装,它将不会显示为可用。您可以指定选项--showduplicates以查看存储库中可用的所有内容,无论是否已安装。我建议比较在两台服务器上运行以下命令的输出。如果两台服务器访问同一个存储库,则输出应该是相同的:

yum list available --disablerepo=* --enablerepo=foo --showduplicates

答案2

或者你可以尝试这个

yum list --showduplicates | grep foo

“yum list”列出了所有已安装或可用的软件包,“--showduplicates”显示所有已启用存储库中的所有软件包,即使它们已在另一个存储库中看到过,然后只需 grep 您的存储库名称即可查看本地存储库提供的内容

答案3

yum list available不会显示已安装在该系统上的软件包。

尝试这个:

  • 列出特定 repo 中的所有软件包(包括已安装的软件包):
sudo yum repo-pkgs "<repo name>" list
  • 列出特定 repo 中已安装的软件包:
sudo yum repo-pkgs "<repo name>" list installed

相关内容