Buscar este blog

jueves, 24 de marzo de 2011

Actualizaciones en la familia Ubuntu


Lo normal es que cuando realizamos una actualización de aplicaciones en Linux no ocurra ningún incidente, eso es lo normal, pero …..

A continuación expongo algunas de las incidencias que he tenido y su resolución.

En primer lugar vamos a conocer algunas herramientas, mi sistema en concreto es Linux Mint Helena (una distribución basada en Ubuntu 9.10, Karmic Koala) con el escritorio KDE .

La principal herramienta para realizar actualizaciones es utilizar el gestor de actualizaciones (update manager). Este programa lo que hace es conectarse a los repositorios (servidores en internet que almacenan programas y actualizaciones) de Ubuntu (principalmente) para buscar ahí todas las posibles actualizaciones.

Lo normal es que esto funcione sin más, pero en ocasiones podemos encontrar algún error como por ejemplo el siguiente donde nos dice que “tenemos algún paquete roto”, en cristiano, algún programa no está bien instalado.



Para añadir, quitar o actualizar programas, la herramienta de escritorio es Synaptic, la cual sirve de interfaz gráfica del programa de consola “apt” para la de gestión de paquetes de Debian GNU/Linux. Lo ejecutamos y mandamos que nos repare los paquetes rotos.



Pero, también pueden aparecer errores en “Synaptic” como el siguiente, donde nos muestra un aviso sobre “GPG error”. 


  • ¿Y que es eso?
  • GPG es una herramienta relacionada con la seguridad, en este caso, lo que nos dice es que no puede verificar la firma de un paquete por que no tiene la clave pública A040830F7FAC5991.
  • ¿Te quedaste como estabas?
  • Afinamos un poco más. Sabemos que las aplicaciones y actualizaciones (paquetes) están en repositorios, pero al bajarlos al equipo, puede haber un error de transmisión u otra causa que haga que los datos del archivo bajado sean incorrectos. Para evitar instalar un paquete con datos incorrectos, se decidió firmarlos. Firmarlos es crear una clave única para ese paquete, esa clave se guarda también en repositorios (clave pública). De esta forma que si al bajar un paquete e intentar volver a generar la clave no coincide con la clave pública entonces es que algo fallo. En nuestro caso, el problema está en que no tenemos la clave pública para compararla con la que obtenemos una vez bajado el paquete y así saber si todo fue bien.
  • ¿Y donde están esas claves públicas?
  • Pueden estar en distintos servidores en Internet, por ejemplo “keyserver.ubuntu.com”


Vamos a solucionar el problema y obtener la clave pública. Nos vamos a la línea de comandos. (¡qué hacker¡) ;-)

En primer lugar vamos a ver un ejemplo de como actualizar los repositorios de donde nos bajamos programas y actualizaciones.

# apt-get update

y vemos que al final nos muestra un error de que falta una clave pública:

W: GPG error: http://repo.wuala.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4406FE9EA179D329

Vamos a conseguir esa clave que nos falta, la cual vienen identificada por su número: 4406FE9EA179D329. Si faltasen más claves, las ponemos seguidas separadas por espacio.

# gpg --keyserver keyserver.ubuntu.com --recv-key 4406FE9EA179D329

Si todo fue bien nos muestra algo como lo siguiente:

gpg: requesting key A179D329 from hkp server keyserver.ubuntu.com
gpg: key A179D329: "Dario Vieli (Package Repository Wuala) <dario@wuala.com>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1

Ahora lo que tenemos que hacer es guardar esa clave pública en un fichero de nuestro equipo. Para este paso primero exportamos (--export) la clave en formato ASCII (--armor) y recogemos los datos con el comando “apt-key add -” el cual añade la clave a un fichero de claves de confianza.

# gpg --armor --export A179D329 | apt-key add -

Si volvemos a actualizar los repositorios todo debería estar correcto:

# apt-get update

Por último, ¿Donde están las direcciones de los famosos repositorios? Pues están en el siguiente fichero: “/etc/apt/sources.list”. ¿El aspecto? Algo como esto:

deb http://packages.linuxmint.com/ helena upstream import backport romeo main
deb http://packages.linuxmint.com helena-kde main upstream import
deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse
## +++ Skype +++
deb http://download.skype.com/linux/repos/debian/ stable non-free


No hay comentarios:

Publicar un comentario