"Error de GPG: versión: las siguientes firmas no eran válidas: BADSIG"

88

Ejecuté este comando en la Terminal:

sudo apt-get update

La actualización finaliza con el siguiente informe de error:

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é significa esto y por qué está sucediendo?

beeju
fuente
44
Vi un problema similar cuando instalé por primera vez el 12.04. Después de eso cambié las "Fuentes de software" del administrador de software de India a otro servidor. Ahora no estoy viendo este problema. Si está utilizando el servidor de India, cámbielo y avísenos.
Abhijeet
Gracias Abhijeet. Soy indio pero me quedo aquí en Qatar. Cambié el servidor a Arabia Saudita. Pero el mismo resultado.
beeju

Respuestas:

90

Prueba esto:

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
fuente
44
No es necesario crear el partialsubdirectorio. sudo apt-get updatelo hará por sí mismo.
Byte Commander
99
después de hacer lo anterior, sigo recibiendo este error: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
Puede valer la pena responder la pregunta formulada (y ganar más votos a favor ;-)).
Witold Kaczurba
error encontrado en el segundo paso:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
Usuario de Internet
¿Podría explicar qué hace exactamente esto? Gracias
Hendrik
64

Este mensaje se muestra porque falta la clave gpg para ese repositorio en su base de datos apt-key.

Para importar la clave, abra una terminal e ingrese estos comandos

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

Las claves pgp se distribuyen principalmente en varios almacenes de claves. Las claves relacionadas con Ubuntu generalmente se encuentran en keyserver.ubuntu.com. Pero si eso falla, puede usar alternativas. Me gusta -

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

Debe reemplazar la parte alfanumérica, con la clave específica. Asegúrese de que la clave sea de confianza . Cualquier repositorio con esta clave, podría instalar cualquier paquete sin previo aviso.

Vería el siguiente resultado si lo anterior es exitoso

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

Luego ejecute este comando:

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

Tenga en cuenta la -señal después add.

Entonces sudo apt-get update, no tendrá tales mensajes después de esto.

Anwar
fuente
1
Hola @ anwar, ¿dónde / cómo obtengo la clave en la que confío?
Minnie Shi
1
@MinnieShi La clave está presente en el mensaje de errorThe following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu,
1
Tenga en cuenta que el apt-key addcomando debe devolver "OK".
Bobina
Genial, debería ser la respuesta aceptada! Gracias.
Jacob
13

Descubrí que solo haciendo

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

trabajó para mi.

intuido
fuente
Use sudo rm -rf / var / lib / apt / lists / * && sudo mkdir -p / var / lib / apt / lists para preservar lo que pueda tener el permiso / var / lib / apt / lists
131
1
No es necesario crear el partialsubdirectorio. sudo apt-get updatelo hará por sí mismo.
Byte Commander
9

Puede probar mi script para recibir automáticamente todas las claves GPG para los PPA que use: smartupdate.sh .

Se iniciará apt-get update, luego encontrará todos los errores de GPG y recibirá las claves para las firmas GPG encontradas. En su caso, solo se lanzará

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

pero cuando agrega algunos PPA sin firmar, se vuelve aburrido agregar claves GPG manualmente. :)

Max Alibaev
fuente
6

Los siguientes comandos me resolvieron el problema:

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Chirag
fuente
1
No es necesario crear el partialsubdirectorio. sudo apt-get updatelo hará por sí mismo.
Byte Commander
4

Tengo un error similar Pero en lugar de BADSIGobtener KEYEXPIREDel repositorio 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 solución se describe perfectamente aquí, pero esto es lo que hice para resolverla:

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

¡Y ahora $ sudo apt-get updatefuncionará perfectamente!

UlfR
fuente
1

Este consejo (de actionparsnip ) funcionó para mí:

Tratar:

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

Encontrado en:
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077

ebasconp
fuente
1

Esto podría deberse a un problema de almacenamiento en caché de un proxy HTTP. Si tiene uno de esos en algún lugar de la ruta como yo, puede pedirle a Apt que le pida que evite el caché temporalmente:

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

Puedes usar launchpad-getkeyspara arreglar esto. Abra una terminal e ingrese:

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

Entonces

sudo apt-get update
nastys
fuente