エラーにより、パッケージをインストールできません。また、最新バージョンにアップデートできません。今何をしたらいいかわかりません。どんな助けも大歓迎です。
エラー:要求されたデータ型プライマリは利用できません
インターネットから、次のコマンドを実行してリポジトリを再構築しました。しかし、まだ同じエラーが発生します。
# 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
まず、キャッシュ領域をクリーンアップします。
$ 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
そのため、最初の列に私のリポジトリの名前を見ることができます。次に、すべてを無効にし、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
問題の原因となっているリポジトリにアクセスすると、投稿で述べたのと同じエラーが表示されます。
同じエラーが発生しました:要求されたデータ型ファイルリストが使用できません。上記の@slmプロセスに従って、どの.repoファイルが問題の原因となっているかを絞り込みましたが、今度はどの個別のリポジトリですか?
.repoファイル内のすべての個々のリポジトリでenable = 1をに変更し、各個人を有効にした後、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
そしてそれは私の問題を解決しました。
私の場合、/etc/yum.repo.d
ディレクトリに手動で追加したローカルのレポジトリが原因で「yum update」を実行すると、このエラーが発生していました。
Myrepo.repoファイルを作成し、 "baseurl"に "http://"を2回入れました。つまり、
baseurl = http://http://isblcncldrp0001.scisb.isban.corp:8900/cm/5/
ご覧のとおり、baseurlは間違っています。余分な「http://」を削除し、「yum update」が正常に実行されました。