エラー:要求されたデータ型プライマリは利用できません


8

エラーにより、パッケージをインストールできません。また、最新バージョンにアップデートできません。今何をしたらいいのか分かりません。どんな助けも大歓迎です。

エラー:要求されたデータ型プライマリは利用できません

OS情報

  • オペレーティングシステム:Fedora 18
  • アーキテクチャ:X86_64

インターネットから、次のコマンドを実行してリポジトリを再構築しました。しかし、まだ同じエラーが発生します。

実行されるコマンド

# 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

回答:


12

キャッシュを消去する

まず、キャッシュ領域をクリーンアップします。

$ sudo yum clean all

各リポジトリをテストする

yum listそれでも問題が解決しない場合は、各リポジトリを一度に1つずつ無効にしてから、コマンドを再実行して問題が解決するかどうかを確認します。

これは一時的にコマンドラインから実行できますが、最初にリポジトリの実際の名前を取得する必要があります。ファイルの名前は必ずしも同じではありません。

ここでは、たとえば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

一度に1つのリポジトリを有効にする

だから私は最初の列に私のリポジトリの名前を見ることができます。次に、すべてを無効にし、1つのリポジトリのみを有効にする「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 | FACT 2を展開します---次に、各リポジトリを個別に有効にして確認しました。epel repoは、私たちが話しているエラーを生成しています。そしてもう1つの興味深い要因は、「------リポジトリデータの取得中にエラーが発生しました、リポジトリが見つかりません」などの別のエラーが発生することです。それらのリポジトリはfedora-updates、fedora-updates-testing、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、2017年

4

同じエラーが発生しました:要求されたデータタイプのファイルリストが利用できません。上記の@slmプロセスに従って、どの.repoファイルが問題の原因であるかを絞り込みましたが、今度はどの個別のリポジトリですか?

私は変わっ= 1を有効にの.repoファイル内のすべての個々のリポジトリに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

私の場合、「yum update」を実行すると、ローカルのリポジトリが手動で/etc/yum.repo.dディレクトリに追加したため、このエラーが発生していました。

myrepo.repoファイルを作成し、 "baseurl"に "http://"を2回入れました。つまり、

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

ご覧のとおり、baseurlは間違っています。余分な "http://"を削除し、 "yum update"が正常に実行されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.