Kesalahan: jenis data yang diminta primer tidak tersedia

8

Karena kesalahan saya tidak dapat menginstal paket apa pun. Dan juga saya tidak dapat memperbarui ke versi terbaru. Saya tidak tahu harus berbuat apa sekarang. Setiap bantuan sangat dihargai.

Kesalahan: jenis data yang diminta primer tidak tersedia

Info OS

  • Sistem Operasi: Fedora 18
  • Arsitektur: X86_64

Dari internet saya sudah mencoba perintah berikut untuk membangun kembali repositori. Tapi saya masih mendapatkan kesalahan yang sama.

Perintah dijalankan

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

Info lebih lanjut

Berikut ini adalah file Repo saya:

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
ArunRaj
sumber

Jawaban:

12

Bersihkan cache

Sebagai permulaan saya akan membersihkan area cache saya.

$ sudo yum clean all

Menguji setiap repo

Jika itu tidak menyelesaikan masalah, maka saya akan mencoba dan menonaktifkan setiap repositori 1 sekaligus dan menjalankan kembali yum listperintah untuk melihat apakah itu menyelesaikan masalah Anda.

Anda dapat melakukan ini melalui baris perintah sementara, tetapi pertama-tama Anda perlu mendapatkan nama-nama sebenarnya dari repositori, nama-nama file tidak selalu sama.

Di sini saya menggunakan Fedora 19, misalnya:

$ 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

Mengaktifkan repo satu per satu

Jadi saya bisa melihat nama-nama repo saya di kolom pertama. Selanjutnya Anda akan ingin melakukan `daftar yum tempat Anda menonaktifkan semuanya dan kemudian aktifkan hanya satu repo, untuk mengonfirmasi bahwa semuanya berfungsi dengan baik.

$ 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            

Ketika Anda sampai ke repo yang menyebabkan masalah Anda harus mendapatkan kesalahan yang sama yang Anda sebutkan di posting Anda.

slm
sumber
Terima kasih atas kiat Pemecahan Masalahnya. Saya mengikuti instruksi. Dan berakhir dengan fakta menarik berikut. FAKTA 1 --- Saya mendapatkan kesalahan yang sama dengan perintah ini yum repolist | expand FACT 2 --- Lalu saya memeriksa setiap repo dengan mengaktifkannya satu per satu. epel repo menghasilkan kesalahan yang sedang kita bicarakan. Dan Satu faktor lagi yang menarik adalah mendapatkan kesalahan lain seperti "Kesalahan mendapatkan data repositori untuk ------, repositori tidak ditemukan". Repo-repo itu adalah fedora-update, fedora-update-testing, sumber mysql-komunitas, komunitas mysql, pgdg-92-fedora.
ArunRaj
1
@ user2959196 - Anda juga dapat masuk ke file .repo dan mengubah diaktifkan = 1 menjadi diaktifkan = 0 juga.
slm
1
Dalam kasus saya, berjalan yum --disablerepo=* --enablerepo=repo_name updateuntuk setiap repo individu, bagaimanapun juga menyelesaikan masalah. Saya mendapatkan Error: requested datatype filelists not availablesebelumnya.
Maxim Mazurok
4

Saya mengalami Galat yang sama : daftar data datatype yang diminta tidak tersedia . Saya mengikuti proses @slm di atas untuk mempersempit file .repo mana yang menyebabkan masalah, tetapi sekarang repo individual mana?

Saya mengaktifkan mengaktifkan = 1 pada semua repo individual dalam file .repo ke 0 dan kemudian menguji perintah daftar setelah mengaktifkan setiap repo individu. Akhirnya saya menemukan repo individu yang menyebabkan masalah.

Kami meng-host cache repositori dengan Artifactory ... tetapi bahkan dengan repos yang dihosting secara eksternal, jika Anda dapat menelusuri repos (seperti http://mirror.centos.org/centos/7.5.1804/os/x86_64/repodata/ ) Anda akan lihat filelist.xml.gz, ini adalah file yang hilang dari kesalahan yang dibicarakan.

Untuk Artifactory, saya menemukan: 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.

Jadi saya dapat menavigasi ke Admin -> local -> "repo" dan centang kotak untuk membuat daftar file.

Setelah ini, saya membersihkan cache:

$ yum clean all

$ rm -rf /var/cache/yum

dan reran

$ yum list iostat

dan itu menyelesaikan masalah saya.

silentpete
sumber
0

Dalam kasus saya, itu meningkatkan kesalahan ini ketika menjalankan "pembaruan yum" karena repositori lokal yang saya tambahkan secara manual ke /etc/yum.repo.ddirektori.

Saya membuat file myrepo.repo, dan di "baseurl" saya meletakkan dua kali "http: //", maksud saya:

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

Jadi seperti yang Anda lihat, baseurl salah. Saya menghapus "http: //" dan "pembaruan yum" ekstra berjalan dengan sukses.

evinhas
sumber