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

88

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?

beeju
la source
4
J'ai vu le même problème lorsque j'ai installé le 12.04. Après cela, j'ai changé les "sources de logiciels" du gestionnaire de logiciels de l'Inde vers un autre serveur. Maintenant, je ne vois pas ce problème. Si vous utilisez le serveur India, changez-le et faites-le nous savoir.
Abhijeet
Merci Abhijeet. Je suis un Indien mais je vis ici au Qatar.J'ai changé de serveur en Arabie Saoudite.Mais même résultat.
Beeju

Réponses:

90

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
SirCharlo
la source
4
Pas besoin de créer le partialsous - répertoire. sudo apt-get updatefera cela lui-même.
Byte Commander
9
après avoir fait ce qui précède, j'obtiens toujours l'erreur suivante: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 le
Cela vaut peut-être la peine de répondre à la question posée (et de gagner plus de votes positifs ;-)).
Witold Kaczurba
erreur rencontrée à la deuxième étape:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
Utilisateur Internet,
Pourriez-vous préciser ce que cela fait exactement? Merci,
Hendrik
64

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 n'aurez plus de tels messages après cela.

Anwar
la source
1
Bonjour @ Anwar Où et comment puis-je obtenir la clé en laquelle j'ai confiance?
Minnie Shi
1
@MinnieShi La clé est présente dans le message d'erreur mêmeThe following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu
1
Notez que la apt-key addcommande doit renvoyer "OK".
Coil le
Génial, devrait être la réponse acceptée! Merci.
Jacob
13

J'ai trouvé ça

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

a travaillé pour moi.

intuitif
la source
Utilisez sudo rm -rf / var / lib / apt / lists / * && sudo mkdir -p / var / lib / apt / lists pour conserver tout ce que / var / lib / apt / lists peut avoir
131
1
Pas besoin de créer le partialsous - répertoire. sudo apt-get updatefera cela lui-même.
Byte Commander
9

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. :)

Max Alibaev
la source
6

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
Chirag
la source
1
Pas besoin de créer le partialsous - répertoire. sudo apt-get updatefera cela lui-même.
Byte Commander
4

J'ai une erreur similaire. Mais au lieu de cela, BADSIGje me suis procuré KEYEXPIREDle 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!

UlfR
la source
1

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

ebasconp
la source
1

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
Dhinesh Sunder Ganapathi
la source
-2

Vous pouvez utiliser launchpad-getkeyspour résoudre ce problème. Ouvrez un terminal et entrez:

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

ensuite

sudo apt-get update
méchant
la source