jueves, 14 de mayo de 2009

FIRMAR LOS REPOSITORIOS CUANDO DAN FALLOS


Normalmente la seguridad que utilizan los repositorios de los que tiramos al utilizar apt-get, aptitude, synaptic… o el gestor de paquetes que usemos nos importa bastante poco hasta que falla. Y el fallo que veremos si tenemos alguna firma mal en los repositorios (no es que la tengamos mal, normalmente es que cambian la firma del repositorio porque ha sido comprometida o algo similar, pero ésto es una entrada rápida) veremos un mensaje como éste al actualizar la lista de paquetes de los repositorios:
[...]
Obj http://archive.ubuntu.com intrepid-security/multiverse Packages
Obj http://packages.medibuntu.org intrepid/free Packages
Obj http://packages.medibuntu.org intrepid/non-free Packages
Descargados 308B en 1s (241B/s).
Leyendo lista de paquetes… Hecho
W: Error de GPG: http://ppa.launchpad.net intrepid Release Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 60D11217247D1CFF
W: Tal vez quiera ejecutar ‘apt-get update’ para corregir estos problemas
Fijémonos en el valor 60D11217247D1CFF que es lo que nos interesa. Lo que nos está diciendo el mensaje es que no tenemos la clave pública del repositorio http://ppa.launchpad.net intrepid Release. Posiblemente la solución que nos ofrece aptitude de ejecutar apt-get update no nos sirva de nada, así que vamos con la solución que conocemos y sabemos que funciona.
Abrimos una consola y metemos el comando siguiente:
gpg --keyserver keyserver.ubuntu.com --recv 60D11217247D1CFF
la salida debería ser algo similar a ésto:
gpg: solicitando clave 247D1CFF de hkp servidor keyserver.ubuntu.com
gpg: /home/nemesis/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: clave 247D1CFF: clave pública “Launchpad PPA for OpenOffice.org Scribblers” importada
gpg: Cantidad total procesada: 1
gpg: importadas: 1 (RSA: 1)
lo que nos confirma que hemos obtenido la firma del repositorio.
Con éste comando siguiente introducimos la firma obtenida en el gestor de paquetes:
gpg --export --armor 60D11217247D1CFF | sudo apt-key add -
la salida será simplemente un OK si el comando se ha realizado de forma correcta. Ahora sólo nos resta volver a actualizar la lista de paquetes con un:
sudo aptitude update
Y ya no deberíamos recibir ningún error.
OJO: Fijaros que si recibis éste error en más de un repositorio deberéis repetir éste proceso para cada uno de los repositorios afectados.

No hay comentarios:

Publicar un comentario