Problema de debmirror: gpgv: Can’t check signature: public key not found


NoMirror.jpg

Tengo un repositorio donde son servidos paquetes de Debian y Ubuntu de forma que las perosnas en la red interna puedan actualizar usando este repositorio. Pero el otro día me di cuenta que este no podía sincronizarse contra el repositorio de Debian como se describe en el artículo Cómo crear un mirror de Debian y Ubuntu con debmirror. Cuando trataba de ejecutar el script de sincronización este arrojaba errores y abortaba.

Síntomas

Cuando se ejecuta el ascript de debmirro este falla con un error similar a este:

gpgv: Signature made Wed 17 Jul 2013 04:40:31 PM CST using RSA key ID 473041FA
[GNUPG:] ERRSIG AED4B06F473041FA 1 2 00 1374050431 9
[GNUPG:] NO_PUBKEY AED4B06F473041FA
gpgv: Can’t check signature: public key not found
gpgv: Signature made Wed 17 Jul 2013 04:40:31 PM CST using RSA key ID 46925553
[GNUPG:] ERRSIG 8B48AD6246925553 1 2 00 1374050431 9
[GNUPG:] NO_PUBKEY 8B48AD6246925553
gpgv: Can’t check signature: public key not found
Release signature does not verify.

Causa

 Los paquetes son validados usando una llave, de forma que podamos confiar en lo que descargamos desde los repositorios de origen y qué es instado finalmente en nuestros computadores. Algunos repositorios tienen un juego de llaves con llaves conocidas, y es probable que una nueva llave firmada fue agregada al juego de llaves de Debian/Ubuntu. Esto puede ocurrir si hay una nueva versión de la distro, y nuevas llaves son añadidas, haciendo que nuestro juego de llaves quede obsolote (les falta las nuevas llaves).

Solución

Para arreglar este inconveniente, sigue los siguientes pasos dependiendo de la distro a la que le estés haciendo mirror:

Debian

Actualiza el repoitorio e importa las nuevas llaves:

aptitude update
aptitude safe-upgrade
gpg --keyring /usr/share/keyrings/debian-archive-keyring.gpg  --export | gpg --no-default-keyring --keyring /var/data/keyrings/debian/trustedkeys.gpg --import

Nota: Si las llaves no fueron agregadas, descarga el último paquete  debian-archive-keyring desde los repoitorioes, extráelo y usa este juego de llaves. Ejemplo:

wget http://ftp.us.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2012.4_all.deb
dpkg -x debian-archive-keyring_2012.4_all.deb  ~
gpg --keyring ~/usr/share/keyrings/debian-archive-keyring.gpg  --export | gpg --no-default-keyring --keyring /var/data/keyrings/debian/trustedkeys.gpg --import

Ubuntu

Descarga el último paquete ubuntu-archive-kering y extraélo, luego usa este juego de llaves. Ejemplo:

wget http://mirror.pnl.gov/ubuntu//pool/main/u/ubuntu-keyring/ubuntu-keyring_2012.05.19_all.deb
dpkg -x ubuntu-keyring_2012.05.19_all.deb ~
gpg --keyring ~/usr/share/keyrings/ubuntu-archive-keyring.gpg --export|gpg --no-default-keyring --keyring /home/hdrepo/keyrings/ubuntu/trustedkeys.gpg --import

Luego el script de sincronixación del mirror debe correr sin  errores, descargando las últimas actualizaciones.


, ,

  1. #1 by Luis Gallardo on 13/01/2017 - 2:56

    @antonio puedes intentar usar un mirror parcial con apt-cacher http://lgallardo.com/2009/11/10/mirror-interno-con-apt-cacher/, de esta forma no copias teras de paquetes que no usarás.

    Saludos!

  2. #2 by antonio salazar on 15/11/2016 - 9:34

    disculpa el fastidio pero estoy interesado en montar un repositorio locar para el uso de mis linux en casa.. tendras una guia de como hacerlo localmente?
    gracias nuevamente…

    saludos…

Los Comentarios están cerrados