"Errore GPG: versione: le seguenti firme non erano valide: BADSIG"


88

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 <ftpmaster@ubuntu.com>

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 questo e perché sta accadendo?


4
Ho visto un problema simile quando ho installato per la prima volta il 12.04. Successivamente ho cambiato le "Sorgenti software" dal gestore software dall'India a un altro server. Ora non vedo questo problema. Se stai utilizzando il server India, modificalo e facci sapere.
Abhijeet

Grazie Abhijeet. Sono un indiano, ma sto qui in Qatar, ho cambiato server in Arabia Saudita, ma lo stesso risultato.
Beeju,

Risposte:


90

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

4
Non è necessario creare la partialsottodirectory. sudo apt-get updatelo farà da solo.
Byte Commander

9
dopo aver fatto quanto sopra ottengo ancora questo errore: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,

Potrebbe valere la pena di rispondere alla domanda posta (e guadagnare più voti ;-)).
Witold Kaczurba,

errore riscontrato al secondo passaggio:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
Utente Internet

Potresti elaborare cosa fa esattamente? Grazie,
Hendrik,

64

Questo messaggio viene visualizzato perché manca la chiave gpg per quel repository nel database apt-key.

Per importare la chiave, aprire un terminale e immettere questi comandi

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

Le chiavi pgp sono distribuite principalmente in diversi keystore. Le chiavi relative a Ubuntu si trovano di solito in keyserver.ubuntu.com. Ma se fallisce, puoi usare delle 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.

Verrà visualizzato il seguente output se quanto sopra ha esito positivo

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

Quindi eseguire 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.


1
Ciao @ anwar dove / come posso ottenere la chiave di cui mi fido?
Minnie Shi,

1
@MinnieShi La chiave è presente nel messaggio di errore stessoThe following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu

1
Si noti che il apt-key addcomando dovrebbe restituire "OK".
COil

Ottimo, dovrebbe essere la risposta accettata! Grazie.
Jacob,

13

L'ho trovato solo facendo

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

ha funzionato per me.


Usa sudo rm -rf / var / lib / apt / lists / * && sudo mkdir -p / var / lib / apt / lists per preservare qualsiasi autorizzazione / var / lib / apt / lists
131

1
Non è necessario creare la partialsottodirectory. sudo apt-get updatelo farà da solo.
Byte Commander

9

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

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

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


6

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

1
Non è necessario creare la partialsottodirectory. sudo apt-get updatelo farà da solo.
Byte Commander

4

Ho avuto un errore simile. Ma invece di BADSIGottenere KEYEXPIREDil 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 updatefunzionerà perfettamente!


1

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


1

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 chiedergli di aggirare temporaneamente la cache:

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

-2

È possibile utilizzare launchpad-getkeysper risolvere questo problema. Apri un terminale e inserisci:

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

Poi

sudo apt-get update
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.