PPA Purge: cómo remover un repositorio PPA en forma segura

Los PPA permiten a los usuarios instalar aplicaciones que no están presentes o no se encuentran lo suficientemente actualizadas en el repositorio oficial de Ubuntu, ya que quienes administran estos repositorios se toman un tiempo prudencial para hacer «oficiales» las actualizaciones de los programas en pos de mejorar la estabilidad y seguridad del sistema.

Por suerte, en Ubuntu contamos con los PPA para sobrepasar esta «medida», que si bien es muy adecuada desde el punto de vista de los desarrolladores de Ubuntu, puede no serlo tanto desde el punto de vista del usuario final que siempre quiere tener el último «chiche» y la última versión de los programas. Las desventaja de este método es que, al agregar PPAs, aumentamos los riesgos de inestabilidad del sistema y abrimos brechas de seguridad importantes.

Estas son las razones, precisamente, por las que puede resultar necesario remover un repositorio PPA que hayas agregado previamente.

PPA-PURGE al rescate

ppa-purge es un script que removerá el PPA indicado de tu sources.list así como todos los paquetes instalados desde aquél. Por último, volverá a instalar las versiones «oficiales» de los programas que hayas actualizado a través del PPA. En una palabra, es una forma de restaurar tu sistema al punto previo anterior al agregar el PPA.

Modo de uso

El problema surgió cuando escribiste esto en un terminal:

sudo add-apt-repository ppa:mi_ppa

Al ejecutar esta línea lo que hiciste fue agregar un PPA a tu listado de repositorios desde los cuales Ubuntu instalará y actualizará las aplicaciones disponibles.

Para deshacer esta situación, primero tenés que instalar PPA-PURGE. Podés bajarte el paquete DEB desde aquí.

Una vez instalado, abrí un terminal y escribí:

sudo ppa-purge ppa:mi_ppa/subdirectorio/

En caso de que antes haya agregado el PPA entero, sólo habrá que poner el nombre del PPA, de lo contrario hay que poner también el subdirectorio específico.

Así, por ejemplo, estos serían los pares para instalar y desinstalar un PPA:

sudo add-apt-repository ppa:chromium-daily
sudo ppa-purge ppa:chromium-daily

sudo add-apt-repository ppa:tualatrix/gloobus
sudo ppa-purge ppa:tualatrix/gloobus

En el primer ejemplo, habíamos instalado el PPA completo y en el segundo sólo un directorio. Al usar ppa-purge, obviamente, debemos especificar la misma ruta que habíamos utilizado con add-apt-repository.

Esperemos que el Centro de Software de Ubuntu mejorado que vendrá con Ubuntu 10.10 incorpore la posibilidad de agregar y/o remover PPAs. Por ahora, debemos conformarnos con éste método, que según mi experiencia es el más seguro y confiable.

Cómo listar los PPA utilizados actualmente

Es probable que no recuerdes cómo demonios se llamaba ese maldito PPA que te está causando problemas. Existen básicamente 3 formas de averiguar los PPA que tu sources.list está utilizando actualmente.

La primera es la más fácil. Andá a Sistema > Administración > Orígenes del Software. Una vez allí, andá a la pestaña Otro software. Allí aparecerán listados todos los PPA. Desde esta ventana también vas a poder deshabilitar los PPA que te causen problemas (aunque esto, por sí sólo, no restaurará las versiones anteriores de los programas). También podés agregarle un «comentario» a cada PPA para que sea más fácil de identificar (claro, ¡a veces la ruta del PPA no nos dice nada que nos dé una pista para saber de qué se trata!).

También podés acceder a un listado de los PPA yendo a Aplicaciones > Centro de software de Ubuntu. Sin embargo, desde allí no vas a poder deshabilitar los PPA, apenas ver/instalar/desinstalar las aplicaciones disponibles a través de esos PPA.

El tercer método consiste en utilizar el terminal. Escribimos:

grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list

Esta es, a mi modo de ver, la mejor forma de ver cuáles son los PPA instalados en el sistema.

Recordá que si vas a utilizar el método 1 (a través de Orígenes del Software) o el 3 (usando el terminal) para obtener la ruta del PPA necesaria para desinstalarlo usando ppa-purge, ésta viene dada por el texto que se encuentra entre ppa.launchpad.net y ubuntu.

Por ejemplo, para:

http://ppa.launchpad.net/jason-scheunemann/ppa/ubuntu

la ruta del PPA es: jason-scheunemann/ppa

Entonces, en ppa-purge vas a poner:

sudo ppa-purge ppa:jason-scheunemann/ppa

Para que tengas como referencia, es bueno saber que, generalmente, la estructura de las rutas de los PPA es la siguiente: nombre_de_usuario/nombre_del_ppa.