"GPG-Fehler: Veröffentlichung: Die folgenden Signaturen waren ungültig: BADSIG"

88

Ich habe diesen Befehl im Terminal ausgeführt:

sudo apt-get update

Die Aktualisierung endet mit dem folgenden Fehlerbericht:

W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <[email protected]>

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release  

Was bedeutet das und warum passiert es?

beeju
quelle
4
Ich sah ein ähnliches Problem, als ich den 12.04 zum ersten Mal installierte. Danach habe ich die "Software Sources" vom Software Manager aus Indien auf einen anderen Server umgestellt. Jetzt sehe ich dieses Problem nicht. Wenn Sie einen India-Server verwenden, ändern Sie diesen und teilen Sie uns dies mit.
Abhijeet
Vielen Dank Abhijeet. Ich bin ein Inder, aber hier in Qatar bleibend. Ich änderte Server zu Saudi-Arabien. Aber das gleiche Ergebnis.
Beeju

Antworten:

90

Versuche dies:

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update
SirCharlo
quelle
4
Das partialUnterverzeichnis muss nicht erstellt werden. sudo apt-get updatewerde das selber machen.
Byte Commander
9
nachdem ich das oben genannte getan habe, erhalte ich noch diesen Fehler:Reading package lists... Done W: GPG error: http://developer.download.nvidia.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
Mona Jalal
Es könnte sich lohnen, die gestellte Frage zu beantworten (und mehr Stimmen zu verdienen ;-)).
Witold Kaczurba
Fehler beim zweiten Schritt:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
Internetbenutzer
Könnten Sie näher erläutern, was dies genau bewirkt? Vielen Dank,
Hendrik
64

Diese Meldung wird angezeigt, weil der GPG-Schlüssel für dieses Repository in Ihrer Apt-Key-Datenbank fehlt.

Öffnen Sie zum Importieren des Schlüssels ein Terminal und geben Sie diese Befehle ein

gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192 

pgp-Schlüssel werden meist in mehreren Keystores verteilt. Ubuntu-bezogene Schlüssel sind normalerweise in zu finden keyserver.ubuntu.com. Wenn dies jedoch fehlschlägt, können Sie Alternativen verwenden. Mögen -

gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192

Sie müssen den alphanumerischen Teil durch den spezifischen Schlüssel ersetzen. Stellen Sie sicher, dass Sie dem Schlüssel vertrauen . Jedes Repository mit diesem Schlüssel kann jedes Paket ohne Warnung installieren.

Sie würden die folgende Ausgabe sehen, wenn das oben genannte erfolgreich ist

gpg: Total number processed: 1
gpg:               imported: 1

Führen Sie dann diesen Befehl aus:

gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add - 

Beachten Sie das -Schild nach add.

Danach sudo apt-get updatehaben Sie keine solchen Nachrichten mehr.

Anwar
quelle
1
Hi @ anwar Woher bekomme ich den Schlüssel, dem ich vertraue?
Minnie Shi
1
@MinnieShi Der Schlüssel ist in der Fehlermeldung selbst vorhandenThe following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu
1
Beachten Sie, dass der apt-key addBefehl "OK" zurückgeben sollte.
1.
Toll, sollte die akzeptierte Antwort sein! Vielen Dank.
Jacob
13

Ich fand das einfach so

sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists

arbeitete für mich.

intuitiert
quelle
Verwenden Sie sudo rm -rf / var / lib / apt / lists / * && sudo mkdir -p / var / lib / apt / lists , was / var / lib / apt / lists Erlaubnis haben könnte zu erhalten
131
1
Das partialUnterverzeichnis muss nicht erstellt werden. sudo apt-get updatewerde das selber machen.
Byte Commander
9

Sie können mein Skript verwenden, um automatisch alle GPG-Schlüssel für PPAs zu erhalten, die Sie verwenden: smartupdate.sh .

Es wird gestartet apt-get update, findet dann alle GPG-Fehler und erhält Schlüssel für gefundene GPG-Signaturen. In Ihrem Fall wird es nur gestartet

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4

Wenn Sie jedoch einige nicht signierte PPAs hinzufügen, wird es langweilig, GPG-Schlüssel manuell hinzuzufügen. :)

Max Alibaev
quelle
6

Die folgenden Befehle haben das Problem für mich gelöst:

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Chirag
quelle
1
Das partialUnterverzeichnis muss nicht erstellt werden. sudo apt-get updatewerde das selber machen.
Byte Commander
4

Ich habe einen ähnlichen Fehler bekommen. Aber anstatt BADSIGich bekam KEYEXPIREDfür das PostgreSQL-Repo:

W: A error occurred during the signature verification.
  The repository is not updated and the previous index files will be used.
  GPG error: http://apt.postgresql.org precise-pgdg Release:
  The following signatures were invalid: KEYEXPIRED 1381654177

Die Lösung ist hier perfekt beschrieben , aber das habe ich getan, um sie zu lösen:

$ sudo apt-key list | grep -B1 PostgreSQL
$ sudo apt-key del ACCC4CF8
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Und jetzt $ sudo apt-get updatewird perfekt funktionieren!

UlfR
quelle
1

Dieser Tipp (von actionparsnip ) hat bei mir funktioniert:

Versuchen:

sudo fuser -vvv /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824
sudo dpkg --clear-avail
sudo dpkg --configure -a
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 && sudo apt-get dist-upgrade

Gefunden in:
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077

ebasconp
quelle
1

Dies kann an einem Caching-Problem eines HTTP-Proxys liegen. Wenn Sie irgendwo auf der Route eine solche haben wie ich, können Sie Apt bitten, den Cache vorübergehend zu umgehen:

sudo apt-get update -o Acquire::http::No-Cache=True
Dhinesh Sunder Ganapathi
quelle
-2

Sie können launchpad-getkeysdies beheben. Öffne ein Terminal und gib ein:

sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys

Dann

sudo apt-get update
böse
quelle