Ubuntu y los errores de actualización son inseparables. De vez en cuando encuentro errores al actualizar el sistema después de agregar una nueva fuente. El otro día estaba intentando instalar el entorno de escritorio Mate cuando me apareció este error GPG. mientras actualiza el sistema:
W:error de GPG:http://repo.mate-desktop.org descarado InRelease:las siguientes firmas no se pudieron verificar porque la clave pública no está disponible:NO_PUBKEY 68980A0EA10B4DE8
Aquí hay una captura de pantalla del error:
En esta publicación rápida, le mostraré cómo solucionar este error W:GPG:las siguientes firmas no se pudieron verificar porque la clave pública no está disponible:NO error. También explicaré por qué ves este error en primer lugar y cómo la solución que menciono corrige el error.
Corregir error de GPG:no se pudieron verificar las siguientes firmas
El error le indica que su sistema no puede identificar una determinada clave pública GPG (PUBKEY). Lo que debe hacer es buscar esta clave pública en el sistema.
Obtenga el número de clave del mensaje de error que se muestra en su sistema. En el mensaje anterior, la clave no identificada es 68980A0EA10B4DE8. Será algo diferente para ti.
Ahora agregue esta clave pública a su sistema Ubuntu usando el comando apt-key:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68980A0EA10B4DE8
Si ve un mensaje de advertencia sobre el desuso del comando apt-key, ignórelo.
El comando anterior agregará la clave al sistema. Solo haz una sudo apt-get update y ya no debería ver este error.
Ahora que sabe cómo solucionar este error, aprenda por qué ocurre este error y cómo se solucionó.
¿Por qué ves este error?
El administrador de paquetes APT en las distribuciones basadas en Ubuntu y Debian emplea un mecanismo de confianza/seguridad con GPG. Al igual que SSH, GPG también tiene un par de claves públicas y privadas. La clave pública se comparte y la clave privada se mantiene en secreto.
Cada repositorio, ya sea del mismo Ubuntu o de un PPA o de un repositorio de terceros, está firmado con claves GPG por su desarrollador. Cuando agrega un repositorio a su sistema, la clave GPG pública de su desarrollador se agrega en claves GPG confiables en su sistema. Esto asegura que su sistema Linux confíe en los paquetes provenientes del repositorio.
Puede ver las claves GPG almacenadas en su sistema usando este comando:
apt-key list
Como puede ver en la captura de pantalla anterior, algunas claves GPG también tienen fechas de vencimiento. Si el desarrollador no renueva sus claves o si cambia la clave, su sistema se quejará.
Y eso es exactamente lo que sucedió en el error en mi caso. Probablemente el desarrollador cambió la clave GPG y firmó el repositorio con la nueva clave. Dado que esta nueva clave pública no se agregó en la clave GPG de confianza del sistema, Ubuntu no descarga los paquetes de este repositorio en particular y le informa que no pudo verificar la clave mencionada.
¿Hasta aquí todo bien? Ahora, para resolver el problema, lo que hizo fue agregar la nueva clave no verificada a la clave GPG confiable de su sistema. Con eso, su sistema comienza a confiar en los repositorios firmados por esa clave GPG y ya no ve el error.
Pero eso te deja con otra pregunta:
¿Debería agregar ciegamente la nueva clave GPG?
No. Siempre puede verificar dos veces si la clave GPG cambiada realmente proviene del desarrollador o no.
¿Cómo haces eso? Desde la página del repositorio del desarrollador. Quiero decir, generalmente los desarrolladores tienen una página con estas instrucciones de instalación en su página de proyecto. Mencionan la clave GPG allí. Si se cambió la clave, la página de instalación debe mencionarlo. De lo contrario, puede ponerse en contacto con el desarrollador.
Si usó un PPA, puede ir a la página de PPA en Launchpad, hacer clic en el perfil del mantenedor y puede ver la clave GPG pública en este perfil. Puede hacerlo coincidir con la clave modificada.
Por supuesto, en todo esto, está confiando en que el desarrollador le proporcionará el repositorio y el paquete correctos. Bueno, usted confió en el desarrollador en primer lugar, así que, a menos que tenga buenas razones en contra, puede volver a confiar en el desarrollador.
Espero que no solo haya solucionado el error "No se pudieron verificar las siguientes firmas", sino que también sepa por qué sucedió y cómo se solucionó.
¿Preguntas? ¿Sugerencias? La sección de comentarios es toda tuya.