Errore: primario del tipo di dati richiesto non disponibile


8

Per errore non riesco a installare alcun pacchetto. E inoltre non riesco ad aggiornare all'ultima versione. Non so cosa fare adesso. Qualsiasi aiuto molto apprezzato.

Errore: primario del tipo di dati richiesto non disponibile

Informazioni OS

  • Sistema operativo: Fedora 18
  • Architettura: X86_64

Da Internet ho provato i seguenti comandi per ricostruire il repository. Ma sto ancora ricevendo lo stesso errore.

I comandi vengono eseguiti

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

Ulteriori informazioni

I seguenti sono i miei file Repo:

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

Risposte:


12

Pulisci la cache

Per cominciare avrei ripulito la mia cache.

$ sudo yum clean all

Test di ogni repo

Se ciò non risolve il problema, verrei attraverso e tenterei di disabilitare ogni repository 1 alla volta e quindi eseguire nuovamente il yum listcomando per vedere se ciò risolve il problema.

Puoi farlo temporaneamente dalla riga di comando, ma prima devi ottenere i nomi effettivi dei repository, i nomi dei file non sono necessariamente la stessa cosa.

Qui sto usando Fedora 19, per esempio:

$ 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

Abilitazione di un repository alla volta

Quindi posso vedere i nomi dei miei repository nella primissima colonna. Successivamente ti consigliamo di fare una lista yum in cui disabiliti tutto e quindi abiliti solo un repository, per confermare che funziona correttamente.

$ 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            

Quando arrivi al repository che sta causando un problema, dovresti ricevere lo stesso errore menzionato nel tuo post.


Grazie per i suggerimenti per la risoluzione dei problemi. Ho seguito le istruzioni. E finiamo con i seguenti fatti interessanti. FATTO 1 --- Ricevo lo stesso errore con questo comando yum repolist | espandi FATTO 2 --- Quindi ho controllato ciascun repo abilitandolo singolarmente. epel repo sta producendo l'errore di cui stiamo parlando. E un altro fattore interessante è ottenere un altro errore come "Errore nell'acquisizione dei dati del repository per ------, repository non trovato". Quei repository sono aggiornamenti fedora, test aggiornamenti fedora, mysql-community-source, mysql-community, pgdg-92-fedora.
ArunRaj,

1
@ user2959196 - Puoi anche andare nei file .repo e modificare anche abilitato = 1 in enabled = 0.
slm

1
Nel mio caso, correndo yum --disablerepo=* --enablerepo=repo_name updateper ogni singolo repository, ho risolto comunque il problema. Stavo arrivando Error: requested datatype filelists not availableprima.
Maxim Mazurok,

4

Stavo riscontrando lo stesso errore: richiesto file list del tipo di dati non disponibile problema. Ho seguito il processo @slm sopra per restringere quale file .repo stava causando il problema, ma ora quale singolo repository?

Ho attivato enable = 1 su tutti i singoli repository all'interno del file .repo su 0 e quindi ho testato il comando list dopo aver abilitato ogni singolo repository. Alla fine ho trovato il singolo repository che ha causato il problema.

Ospitiamo la cache del repository con Artifactory ... ma anche con repository ospitati esternamente, se puoi sfogliare i repository (come http://mirror.centos.org/centos/7.5.1804/os/x86_64/repodata/ ) vedi filelist.xml.gz, questo è il file mancante di cui parla l'errore.

Per Artifactory, ho trovato: 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.

Quindi sono stato in grado di accedere all'amministratore -> locale -> "repo" e selezionare la casella per creare l'elenco file.

Dopo questo, ho pulito la cache:

$ yum clean all

$ rm -rf /var/cache/yum

e ripetere

$ yum list iostat

e ha risolto il mio problema.


0

Nel mio caso, stava generando questo errore quando eseguivo "yum update" a causa di un repository locale che ho aggiunto manualmente alla /etc/yum.repo.ddirectory.

Ho creato un file myrepo.repo e nel "baseurl" ho messo due volte "http: //", intendo:

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

Come puoi vedere, il baseurl è sbagliato. Ho rimosso gli extra "http: //" e "yum update" eseguiti correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.