Fehler: Angeforderter primärer Datentyp nicht verfügbar

8

Durch den Fehler kann ich keine Pakete installieren. Außerdem kann ich nicht auf die neueste Version aktualisieren. Ich weiß jetzt nicht, was ich tun soll. Jede Hilfe sehr geschätzt.

Fehler: Angeforderter primärer Datentyp nicht verfügbar

Betriebssysteminfo

  • Betriebssystem: Fedora 18
  • Architektur: X86_64

Aus dem Internet habe ich die folgenden Befehle versucht, um das Repository neu zu erstellen. Aber ich bekomme immer noch den gleichen Fehler.

Befehle werden ausgeführt

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

Mehr Info

Folgendes sind meine Repo-Dateien:

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
quelle

Antworten:

12

Bereinigen Sie den Cache

Für den Anfang würde ich meinen Cache-Bereich aufräumen.

$ sudo yum clean all

Testen Sie jedes Repo

Wenn sich das Problem dadurch nicht beheben lässt, versuche ich, jedes Repository 1 einzeln zu deaktivieren und den yum listBefehl erneut auszuführen , um festzustellen, ob das Problem dadurch behoben wird.

Sie können dies vorübergehend über die Befehlszeile tun, aber zuerst müssen Sie die tatsächlichen Namen der Repositorys abrufen. Die Namen der Dateien müssen nicht unbedingt identisch sein.

Hier verwende ich zum Beispiel 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

Aktivieren Sie jeweils ein Repo

So kann ich die Namen meiner Repos in der ersten Spalte sehen. Als nächstes möchten Sie eine Yum-Liste erstellen, in der Sie alles deaktivieren und dann nur ein Repo aktivieren, um zu bestätigen, dass es richtig funktioniert.

$ 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            

Wenn Sie zu dem Repo gelangen, das ein Problem verursacht, sollten Sie denselben Fehler erhalten, den Sie in Ihrem Beitrag erwähnt haben.

slm
quelle
Vielen Dank für die Tipps zur Fehlerbehebung. Ich folgte den Anweisungen. Und am Ende folgen interessante Fakten. FAKT 1 --- Ich erhalte den gleichen Fehler mit diesem Befehl yum repolist | Erweitern Sie FAKT 2 --- Dann habe ich jedes Repo überprüft, indem ich es einzeln aktiviert habe. epel repo erzeugt den Fehler, über den wir sprechen. Ein weiterer interessanter Faktor ist das Abrufen eines weiteren Fehlers wie "Fehler beim Abrufen der Repository-Daten für ------, Repository nicht gefunden". Diese Repos sind Fedora-Updates, Fedora-Updates-Tests, MySQL-Community-Quelle, MySQL-Community, Pgdg-92-Fedora.
ArunRaj
1
@ user2959196 - Sie können auch in die .repo-Dateien gehen und die Option enabled = 1 in enabled = 0 ändern.
slm
1
In meinem Fall löste das Ausführen yum --disablerepo=* --enablerepo=repo_name updatefür jedes einzelne Repo das Problem trotzdem. Ich war Error: requested datatype filelists not availablevorher.
Maxim Mazurok
4

Ich hatte den gleichen Fehler: Problem mit angeforderten Datentyp-Dateilisten nicht verfügbar . Ich habe den obigen @ slm-Prozess befolgt, um einzugrenzen, welche .repo-Datei das Problem verursacht hat, aber nun welches einzelne Repo?

Ich habe enable = 1 für alle einzelnen Repos in der .repo-Datei auf 0 gesetzt und dann den Befehl list getestet, nachdem ich jedes einzelne Repo aktiviert hatte. Schließlich fand ich das einzelne Repo, das das Problem verursachte.

Wir hosten den Repository-Cache mit Artifactory ... aber auch mit extern gehosteten Repos, wenn Sie die Repos durchsuchen können (wie http://mirror.centos.org/centos/7.5.1804/os/x86_64/repodata/ ), werden Sie Siehe die Datei filelist.xml.gz. Dies ist die fehlende Datei, über die der Fehler spricht.

Für Artifactory habe ich Folgendes gefunden: 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.

So konnte ich zu Admin -> local -> "repo" navigieren und das Kontrollkästchen aktivieren, um die Dateiliste zu erstellen.

Danach habe ich den Cache gesäubert:

$ yum clean all

$ rm -rf /var/cache/yum

und reran

$ yum list iostat

und es löste mein Problem.

Silentpete
quelle
0

In meinem Fall wurde dieser Fehler beim Ausführen von "yum update" aufgrund eines lokalen Reporsitoriums ausgelöst, das ich manuell zum /etc/yum.repo.dVerzeichnis hinzugefügt habe .

Ich habe eine myrepo.repo-Datei erstellt und in die "baseurl" zweimal "http: //" eingefügt, ich meine:

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

Wie Sie sehen können, ist die Basis falsch. Ich habe das zusätzliche "http: //" entfernt und "yum update" lief mit Erfolg.

evinhas
quelle