web-dev-qa-db-fra.com

"Erreur GPG: Version: Les signatures suivantes n'étaient pas valides: BADSIG"

J'ai lancé cette commande dans le terminal:

Sudo apt-get update

La mise à jour se termine par le rapport d'erreur suivant:

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  

Qu'est-ce que cela signifie et pourquoi cela se produit-il?

82
beeju

Essaye ça:

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
86
SirCharlo

Ce message s'affiche car la clé gpg de ce référentiel est manquante dans votre base de données apt-key.

Pour importer la clé, ouvrez un terminal et entrez ces commandes

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

les clés pgp sont principalement distribuées dans plusieurs fichiers de clés. Les clés liées à Ubuntu se trouvent généralement dans keyserver.ubuntu.com. Mais si cela échoue, vous pouvez utiliser des alternatives. Comme -

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

Vous devez remplacer la partie alphanumérique par la clé spécifique. Assurez-vous que la clé est celle en laquelle vous avez confiance. Tout référentiel avec cette clé pourrait installer n'importe quel paquet sans avertissement.

Vous verriez la sortie suivante si ce qui précède est réussi

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

Puis lancez cette commande:

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

Notez le signe - après add.

Ensuite, Sudo apt-get update, vous ne recevrez plus de tels messages après cela.

60
Anwar

J'ai trouvé ça

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

a travaillé pour moi.

11
intuited

Vous pouvez essayer mon script pour recevoir automatiquement toutes les clés GPG des PPA que vous utilisez: smartupdate.sh .

Il lancera apt-get update, puis trouvera toutes les erreurs GPG et recevra les clés des signatures GPG trouvées. Dans votre cas, il va simplement lancer

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

mais lorsque vous ajoutez quelques PPA non signés, il devient ennuyeux d'ajouter manuellement des clés GPG. :)

9
Max Alibaev

Les commandes suivantes ont résolu le problème pour moi:

Sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
6
Chirag

J'ai une erreur similaire. Mais au lieu de BADSIG, j'ai KEYEXPIRED pour le référentiel PostgreSQL:

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

La solution est parfaitement décrite ici mais voici ce que j'ai fait pour la résoudre:

$ 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 -

Et maintenant, $ Sudo apt-get update fonctionnera parfaitement!

4
UlfR

Cette astuce (de actionparsnip ) a fonctionné pour moi:

Essayer:

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

Trouvé dans:
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077

1
ebasconp

Cela peut être dû à un problème de mise en cache d'un proxy HTTP. Si vous avez l'un de ceux-ci quelque part sur le parcours comme moi, vous pouvez demander à Apt de lui demander de contourner temporairement la mémoire cache:

Sudo apt-get update -o Acquire::http::No-Cache=True