En ocasiones tras haber actualizado nuestro sistema, ocurre que se pueden perder algunas llaves públicas de repositorios de terceros, y al querer actualizar recibimos el error GPG diciendo que la llave pública no existe.
En mi caso, noté que el navegador Chrome permanecía en una versión vieja, pero a veces en el apuro no me percaté de ello y siguió así durante varios días. Ya con más tiempo, empecé averiguar porque sucedía esto y noté dentro de los logs que el repositorio de Google Chrome fallaba al chequear las nuevas versiones de la aplicación desde su repositorio.

# El error que presentaba es el siguiente:
W: GPG error: http://dl.google.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991

Buscando un poco en Internet, encontré en los foros de AskUbuntu a uno de sus usuarios publicando un problema muy similar al mío, pero con otros repositorios en particular. Leyendo un poco, encontré la solución que de por sí es bastante sencilla y sólo requiere de unos pocos minutos de tipeo.

Pero, ¿Qué es una llave pública o public keys?

Estas llaves fueron implementadas al sistema para mayor seguridad de sus repositorios, por ejemplo para evitar phising.

Las aplicaciones más utilizadas y testeadas siempre nos dará la llave, pero a veces no la podemos obtener por ser aplicaciones creadas por programadores o personas que sacan adelante proyectos muy interesantes o que simplemente la llave da error por cualquier otro motivo producto del sistema.

Cómo solucionarlo

Para solucionar este error con la llave publica, cuando estemos en la Terminal y veamos el error tenemos que copiar las letras y los números que van detrás de “NO_PUBKEY” y escribir el siguiente comando en la Terminal:

# Respetar la línea de comandos
nandu@sherlock:~$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys A040830F7FAC5991
# Pulsamos [Enter] y escribir este otro comando:
nandu@sherlock:~$ gpg --armor --export A040830F7FAC5991 | sudo apt-key add -
# Luego volver a probar, ya debe funcionar bien
nandu@sherlock:~$ sudo apt-get update

Con los comandos anteriores estaremos resolviendo el problema con las llaves públicas, pero es sumamente importante que el código de la llave sea reemplazado con el que corresponda, por ejemplo, en mi caso es “A040830F7FAC5991” pero esto puede variar según cada caso en particular.