错误:请求的数据类型主要不可用


8

由于错误,我无法安装任何软件包。而且我也无法更新到最新版本。我现在不知道该怎么办。任何帮助,不胜感激。

错误:请求的数据类型主要不可用

操作系统信息

  • 操作系统:Fedora 18
  • 架构:X86_64

从Internet上,我尝试了以下命令来重建存储库。但是我仍然遇到同样的错误。

命令运行

# yum clean all
# rpm rebuilddb
# yum grouplist or yum list

更多信息

以下是我的回购文件:

adobe-linux-x86_64.repo
epel.repo
fedora.repo
fedora-updates.repo
fedora-updates-testing.repo
livna.repo
mysql-community.repo
mysql-community-source.repo
pgdg-92-fedora.repo
rpmfusion-free-rawhide.repo
rpmfusion-free.repo
rpmfusion-free-updates.repo
rpmfusion-free-updates-testing.repo
rpmfusion-nonfree-rawhide.repo
rpmfusion-nonfree.repo
rpmfusion-nonfree-updates.repo
rpmfusion-nonfree-updates-testing.repo

Answers:


12

清理缓存

首先,我会清理我的缓存区域。

$ sudo yum clean all

测试每个回购

如果那不能解决问题,那么我将遍历并尝试一次禁用每个存储库1,然后重新运行yum list命令以查看是否可以解决您的问题。

您可以通过命令行临时执行此操作,但是首先您需要获取存储库的实际名称,文件名不一定是同一回事。

例如,我在这里使用Fedora 19:

$ yum repolist | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
repo id                                       repo name                   status
fedora/19/x86_64                              Fedora 19 - x86_64          36,253
fedora-debuginfo/19/x86_64                    Fedora 19 - x86_64 - Debug   6,635
google-chrome                                 google-chrome                    3
rpm-sphere                                    RPM Sphere                   7,679
rpmfusion-free/19/x86_64                      RPM Fusion for Fedora 19 -     462
rpmfusion-free-debuginfo/19/x86_64            RPM Fusion for Fedora 19 -     157
rpmfusion-free-updates/19/x86_64              RPM Fusion for Fedora 19 -     414
rpmfusion-free-updates-debuginfo/19/x86_64    RPM Fusion for Fedora 19 -     149
rpmfusion-nonfree/19/x86_64                   RPM Fusion for Fedora 19 -     219
rpmfusion-nonfree-debuginfo/19/x86_64         RPM Fusion for Fedora 19 -      62
rpmfusion-nonfree-updates/19/x86_64           RPM Fusion for Fedora 19 -     497
rpmfusion-nonfree-updates-debuginfo/19/x86_64 RPM Fusion for Fedora 19 -     170
*updates/19/x86_64                            Fedora 19 - x86_64 - Update 17,597
*updates-debuginfo/19/x86_64                  Fedora 19 - x86_64 - Update  2,241
virtualbox/19/x86_64                          Fedora 19 - x86_64 - Virtua     10
repolist: 72,548

一次启用一个仓库

因此,我可以在第一列中看到我的存储库名称。接下来,您将要在`yum list'中禁用所有功能,然后仅启用一个回购,以确认其工作正常。

$ yum --disablerepo=* --enablerepo=google-chrome list available
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
Available Packages
google-chrome-beta.x86_64                                                                               33.0.1750.91-1            

当您进入导致问题的仓库时,应该得到与您在帖子中提到的错误相同的错误。


感谢您的疑难解答提示。我按照指示进行。最后得出以下有趣的事实。事实1 ---我在此命令中遇到了相同的错误yum repolist | 扩展事实2 ---然后我通过分别启用每个仓库来检查它。epel repo产生了我们正在谈论的错误。还有一个有趣的因素是出现了另一个错误,例如“获取------的存储库数据出错,找不到存储库”。这些仓库是fedora更新,fedora更新测试,mysql-community-source,mysql-community,pgdg-92-fedora。
ArunRaj 2014年

1
@ user2959196-您也可以进入.repo文件,并将enabled = 1更改为enabled = 0。
slm

1
就我而言,yum --disablerepo=* --enablerepo=repo_name update为每个单独的仓库运行可以解决该问题。我Error: requested datatype filelists not available之前。
Maxim Mazurok

4

我遇到了同样的错误:请求的数据类型文件列表不可用的问题。我按照上面的@slm流程来缩小是哪个.repo文件引起了问题,但是现在是哪个个人回购?

我将.repo文件中所有单个存储库的enable = 1设为0,然后在启用每个单个存储库后测试了list命令。最终,我发现了导致该问题的单个回购。

我们使用Artifactory托管存储库缓存...但是即使使用外部托管的存储库,如果您可以浏览存储库(例如http://mirror.centos.org/centos/7.5.1804/os/x86_64/repodata/),也会请参阅filelist.xml.gz,这是错误所涉及的丢失文件。

对于Artifactory,我发现:https : //www.jfrog.com/confluence/display/RTF/RPM+Repositories

Indexing the File List 
The filelists.xml metadata file of an RPM repository contains a list of all
the files in each package hosted in the repository. When the repository
contains many packages, reindexing this file as a result of interactions
with the YUM client can be resource intensive causing a degradation of
performance. Therefore, from version 5.4, reindexing this file is initially
disabled when an RPM repository is created. To enable indexing
filelists.xml, set the Enable File List Indexing checkbox.

这样我就可以导航到Admin-> local->“ repo”并选中创建文件列表的框。

之后,我清除了缓存:

$ yum clean all

$ rm -rf /var/cache/yum

并重新运行

$ yum list iostat

它解决了我的问题。


0

就我而言,由于我已手动将本地报表添加到/etc/yum.repo.d目录中,因此在运行“ yum update”时出现此错误。

我创建了一个myrepo.repo文件,在“ baseurl”中,我两次输入了“ http://”,我的意思是:

baseurl = http://http://isblcncldrp0001.scisb.isban.corp:8900/cm/5/

如您所见,baseurl是错误的。我删除了多余的“ http://”,并且成功运行了“ yum更新”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.