Frage Wie behebe ich "Unbekannter Fehler, der gpgv ausführt", wenn ich sudo apt-get update mache?


Ich habe den folgenden Fehler erhalten

Reading package lists... Done
W: GPG error: http://extras.ubuntu.com oneiric Release: Unknown error executing gpgv
executing gpgv
----
----
W: GPG error: http://archive.ubuntu.com oneiric-updates Release: Unknown error executing gpgv

Nach dem googlen habe ich die folgende Anweisung gefunden und befolgt, aber das verursachte einen Fehler:

**sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update**

Beim Laufen habe ich den Fehler bekommen:

kapil@ubuntu:/var/lib/apt$ sudo mv lists lists.old
mv: cannot move `lists' to `lists.old/lists': Directory not empty

Also habe ich den update-Befehl erneut ausgeführt und habe den gleichen Fehler erneut erhalten. Bitte helfen Sie mir, was soll ich tun?


Ich tat folgendes auf Ihren Rat und es zeigte folgendes

root@ubuntu:/home/kapil# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/loop0             15G  4.7G  8.8G  35% /

udev                  1.5G  4.0K  1.5G   1% /dev

tmpfs                 591M  880K  590M   1% /run

none                  5.0M     0  5.0M   0% /run/lock

none                  1.5G  488K  1.5G   1% /run/shm

/dev/sda5             229G  221G  7.2G  97% /host

/dev/sda1             100M   25M   76M  25% /media/System Reserved

root@ubuntu:/home/kapil# ls -al /var/lib/apt/

total 68

drwxr-xr-x  7 root root  4096 2012-04-08 09:53 .

drwxr-xr-x 58 root root  4096 2012-03-28 09:59 ..

-rw-r--r--  1 root root   203 2012-03-24 13:18 cdroms.list

-rw-r--r--  1 root root  7261 2012-04-06 15:27 extended_states

drwxr-xr-x  2 root root  4096 2011-10-12 10:27 keyrings

drwxr-xr-x  3 root root 16384 2012-04-14 06:26 lists


drwxr-xr-x  4 root root 20480 2012-04-08 07:46 lists.old

drwxr-xr-x  3 root root  4096 2011-10-12 10:27 mirrors

drwxr-xr-x  2 root root  4096 2012-03-24 14:39 periodic*

Als ich die obige Anweisung befolgte, wurden zuerst folgende Warnungen angezeigt:

root@ubuntu:/home/kapil# sudo apt-get clean

root@ubuntu:/home/kapil# sudo rm /var/lib/apt/lists/*

rm: cannot remove `/var/lib/apt/lists/partial': Is a directory

root@ubuntu:/home/kapil# sudo rm /var/lib/apt/lists/partial/*

root@ubuntu:/home/kapil# sudo apt-get clean

root@ubuntu:/home/kapil# sudo apt-get update

Danach zeigte es wieder den Fehler:

Reading package lists... Done

W: GPG error: http//archive.canonical.com oneiric Release: Unknown error executing gpgv

W: GPG error: http//extras.ubuntu.com oneiric Release: Unknown error executing gpgv

W: GPG error: http//archive.ubuntu.com oneiric Release: Unknown error executing gpgv

W: GPG error: http//archive.ubuntu.com oneiric-backports Release: Unknown error executing gpgv

W: GPG error: http//archive.ubuntu.com oneiric-security Release: Unknown error executing gpgv

W: GPG error: http//archive.ubuntu.com oneiric-proposed Release: Unknown error executing gpgv

W: GPG error: http//archive.ubuntu.com oneiric-updates Release: Unknown error executing gpgv

Was nun?


4
2018-04-14 11:14


Ursprung


Long shot, aber bitte überprüfen Sie die Dateisystemnutzung mit df -h. Überprüfen Sie auch, ob lists.old bereits existiert. In diesem Fall verschieben Sie es woanders hin. - jippie
Danke für deine Antwort, aber ich bin ein Amateur in Ubuntu ... kannst du mir einen weisen Ratschlag geben, weil ich einen Ordner / eine Datei nicht im Stammverzeichnis von "var / lib / apt" verschieben darf - Kapil Anand
Geben Sie Folgendes in die Befehlszeile ein und aktualisieren Sie Ihre Frage mit dem, was Sie gefunden haben: df -hund ls -al /var/lib/apt/ - jippie
done ... ich hv aktualisiert in obigem Problem, um Ihnen die Ausgabe zu zeigen .. - Kapil Anand
Sie booten momentan von einer (Installations-) CD? - jippie


Antworten:


Ich habe zwei Lösungen:

  • Lösung # 1 (Empfohlen ):

    Öffnen Sie einfach ein Terminal und führen Sie die folgenden Befehle aus:

    sudo apt-get clean

    sudo rm /var/lib/apt/lists/*

    sudo rm /var/lib/apt/lists/partial/*

    sudo apt-get clean

    sudo apt-get update

    Erledigt! Wenn man diese ausführt sudo rm ... Befehle, mach dir keine Sorgen über Fehler oder Warnungen.

  • Lösung # 2:

    1. Entfernen Sie zuerst alle PPA-Repositories im Update Manager -> Einstellungen -> Andere Software;

    2. sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

    3. sudo touch /etc/apt/sources.list

    4. sudo apt-get update

    5. sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list

    6. sudo apt-get update

    7. Fügen Sie nun alle Ihre ppa-Repos wieder hinzu.

    8. sudo apt-get update

    Erledigt!


3
2018-04-14 12:13



Ich habe die Ausgabe erwähnt ... das Problem besteht immer noch ... jede Hilfe wird großartig sein - Kapil Anand
Die von mir bereitgestellten Befehle unterscheiden sich geringfügig von denen, die Sie in der Frage gepostet haben. Befolgen Sie sorgfältig die Befehle, die ich zur Verfügung gestellt habe. Diese sollten funktionieren, weil ich diese Methode benutzt habe, um GPG-Fehler viele Male zu lösen und es hat immer für mich funktioniert. - Seyed Mohammad
ich habe meine Frage aktualisiert, indem ich deine Anweisung eingeschlossen habe, die du gerade gesagt hast ... überprüfe das o / p whichch im Erhalten ..... @ seyed - Kapil Anand
Bitte antworten Sie auf meine Frage @ Seyed Mohammed - Kapil Anand
Hmm, seltsam! Derzeit habe ich keine Ahnung, warum das Problem nicht behoben wurde. Ich werde zurückkommen, sobald ich etwas Nützliches finde. - Seyed Mohammad


Dein ursprünglicher Fehler:

mv: cannot move `lists' to `lists.old/lists': Directory not empty

kann adressiert werden, indem der Verzeichnisumbenennung ein Zeitstempel hinzugefügt wird, wie Sie unten sehen können.   Durch Hinzufügen von a &&  Zwischen jeder Zeile wird jeder Befehl abgegrenzt, so dass Sie ganze Sätze von Befehlen aus Ihren Notizen in ein Terminal einfügen können

sudo apt-get clean && \
cd /var/lib/apt && \
sudo mv lists lists.old_`date '+%Y%m%d_%H%M%S'`   && \
sudo mkdir -p lists/partial && \
sudo apt-get clean && \
sudo apt-get update

ein anderer Ansatz besteht darin, es in ein Skript zu schreiben, das bei einem Fehler beendet wird ... vi myscript.sh

#!/bin/bash 
set -o errexit

sudo apt-get clean 
cd /var/lib/apt 
sudo mv lists lists.old_`date '+%Y%m%d_%H%M%S'`   
sudo mkdir -p lists/partial 
sudo apt-get clean 
sudo apt-get update

1
2017-09-27 16:16





Das einzige Mal, dass ich diesen Fehler bekommen habe, war, dass 'lists.old' bereits von mir gemacht wurde, als ich das Problem vorher behoben habe. Versuchen Sie es mit den obigen Skript- / Terminal-Anweisungen, aber ersetzen Sie 'lists.old2' durch 'lists.old' und alles sollte in Ordnung sein (vorausgesetzt, das Problem besteht darin, dass das Verzeichnis nicht leer ist).

Wenn nicht, dann können Sie immer versuchen, aptitude zu benutzen, um das Problem zu lösen, weil es, soweit ich weiß, andere Listen als apt-get verwendet, aber dieselben Abhängigkeiten auflösen kann (sudo aptitude update & & sudo aptitude upgrade) oder verwendet die aptitude-Shell (geben Sie einfach aptitude ein und drücken Sie die Eingabetaste, es wird zur Eingabe von root aufgefordert, wenn sie benötigt wird), die interaktiv ist und mehr Optionen bietet, um die apt-get-Probleme zu korrigieren - aptitude shell ist auch weniger intuitiv benutze es (u, U, g, g usw.)

Beachten Sie auch, dass wenn Sie eine alte Version von Ubuntu verwenden, versuchen Sie nicht, Dinge mit Aptitude zu beheben, da apt-get es gewohnt ist, nicht gut damit zu kommunizieren und Ihr System kann durcheinander kommen, wenn Sie beide benutzen.


0
2018-04-18 04:41





Ich hatte das gleiche Problem und dies löste es für mich, nachdem ich zuerst apt-get clean und list clean durchgeführt hatte.

mkdir ~/tmp
sudo mv /usr/local/lib/libreadline* ~/tmp
sudo ldconfig
sudo apt-get update

0
2018-06-09 12:53