“Errore GPG: Rilascio: le seguenti firme non erano valide: BADSIG”

Ho eseguito questo comando nel terminale:

sudo apt-get update 

L’aggiornamento termina con il seguente rapporto di errore:

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

Che cosa significa e perché sta succedendo?

Prova questo:

 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 

Questo messaggio viene visualizzato perché la chiave gpg per quel repository non è presente nel database di chiavi apt.

Per importare la chiave, apri un terminale e inserisci questi comandi

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

le chiavi pgp sono per lo più distribuite in diversi keystore. Le chiavi relative a Ubuntu si trovano solitamente in keyserver.ubuntu.com . Ma se fallisce puoi usare alternative. Piace –

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

È necessario sostituire la parte alfanumerica, con la chiave specifica. Assicurati che la chiave sia quella di cui ti fidi . Qualsiasi repository con questa chiave, sarebbe in grado di installare qualsiasi pacchetto senza preavviso.

Vedresti il ​​seguente risultato se quanto sopra è successo

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

Quindi esegui questo comando:

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

Nota il segno - dopo add .

Quindi sudo apt-get update , non avrai più tali messaggi dopo questo.

Puoi provare il mio script per ricevere automaticamente tutte le chiavi GPG per i PPA che usi: smartupdate.sh .

Avvierà apt-get update , quindi troverà tutti gli errori GPG e riceverà le chiavi per le firme GPG trovate. Nel tuo caso, verrà appena lanciato

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

ma quando aggiungi alcuni PPA non firmati, diventa noioso aggiungere manualmente le chiavi GPG. 🙂

L’ho trovato solo facendo

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

ha funzionato per me

I seguenti comandi hanno risolto il problema per me:

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

Ho ottenuto un errore simile. Ma invece di BADSIG ho ottenuto KEYEXPIRED per il repository 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 soluzione è perfettamente descritta qui, ma questo è quello che ho fatto per risolverlo:

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

E ora $ sudo apt-get update funzionerà perfettamente!

Questo suggerimento (da actionparsnip ) ha funzionato per me:

Provare:

 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 

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

Ciò potrebbe essere dovuto a un problema di memorizzazione nella cache di un proxy HTTP. Se ne hai uno da qualche parte lungo il percorso come me, puoi chiedere ad Apt di chiedere di eludere temporaneamente la cache:

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

È ansible utilizzare launchpad-getkeys per risolvere questo problema. Apri un terminale e inserisci:

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

Poi

 sudo apt-get update