jueves, 8 de marzo de 2012

Administración de Repositorios Personales de Paquetes ( PersonalPackages Archives, PPA )

La finalidad de crear un Repositorio Personal de Paquetes ( Personal Packages Archives, PPA), es distribuir el software y las actualizaciones, directamente a los usuarios de Ubuntu.
Se crea un paquete fuente, para enviar a  Launchpad, construir binarios y luego alojarlos en su propio repositorio de apt.

Cada creador de PPA  en Launchpad puede tener uno o más PPA, cada uno con su propia URL. Los paquetes publicados en su PPA permanecerán allí hasta que los elimine, o sean reemplazados por otros paquetes que  suba con una nueva versión. Un PPA también puede ser remplazado si se vuelve obsoleto (es decir, por la versión de Ubuntu).

Esto significa que los usuarios de Ubuntu pueden instalar paquetes de la misma manera que los paquetes de instalación estándar de Ubuntu y automáticamente recibirá actualizaciones a medida que se realizan.

En este tema no se va a tratar sobre como crear un PPA, sino como usar los que han hecho para nosotros sus creadores.

A) Administración de ppa con la terminal:

I) Instalar un programa a través de un ppa:

sudo add-apt-repository ppa:nombre_del repositorio
sudo aptitude update
sudo aptitude install nombre_del_paquete
Por ejemplo:
sudo add-apt-repository ppa:alexey-smirnov/deadbeef
sudo aptitude update
sudo aptitude install deadbeef

Al instalar un ppa con este método, ( o con el programa gráfico Y-ppa-manager , de mas abajo ) aparecen en Synaptic->Configuración -> Repositorios: ventana Origenes del Software: pestaña Otro Software , y se instalan unas claves de identificación de los ppa, que aparecen en la pestaña Autentificación de esa misma ventana.

----------------------------

II) Buscar un ppa:

¿Y si tu pregunta es que conoces el nombre de la aplicación que quieres instalar, pero no conoces el repositorio PPA donde se localiza?

PPASearch es una herramienta (*) que nos permite buscar repositorios PPA de Launchpad desde la consola. Así, si queremos instalar una determinada aplicación mediante PPA y no conocemos que repositorios usar, podemos buscarlos de manera muy sencilla.

Para instalar ppasearch:

sudo add-apt-repository ppa:wrinkliez/ppasearch
sudo apt-get update && sudo apt-get install ppasearch

Después ya invocamos a ppasearch indicando el nombre de la aplicación ( ppasearch nombre_del_programa ) . Por ejemplo para buscar repositorios ppa de VLC ejecutaríamos:

ppasearch vlc

Aparecerá una lista de repositorios identificados por un numero y seleccionando ese valor, podremos instalar el repositorio correspondiente en nuestro sistema.

(*) Actualmente hay paquetes de PPASearch que funcionan sólo para Ubuntu 10.04 Lucid Lynx y Ubuntu 10.10 Maverick Meerkat. Eso es al menos lo que he leído en internet, pero en el momento de escribir este tema uso Mint9 que deriva de Ubuntu Lucid y ppaserch no me funciona, ya que al usarlo en la terminal me sale lo siguiente ( he puesto el ejemplo de buscar un ppa para vlc pero da igual que cosa busque ):

usuario@Mint ~ $ ppasearch vlc
No results found.  Try refining your search.
usuario@Mint ~ $

-----------------------------------------------

Si ppasearch no funciona en nuestro sistema, también se pueden buscar un ppa para un determinado paquete:

A) En la dirección: https://launchpad.net/ubuntu/+ppas?name_filter=%27

B) Añadiendo un motor de búsqueda desde la página: http://mycroft.mozdev.org/search-engines.html?name=launchpad&category=63 )

C) Usando un programa gráfico ( Y-Ppa-Manager ) como se indica mas abajo.

------------------------------------------

III ) Eliminar un ppa: ( si lo que queremos hacer es desinstalar un programa instalado a través de un ppa lo hacemos como con cualquier otro paquete .deb  )


Si en cambio queremos eliminar un repositorio, primero nos instalamos el paquete ppa-purge , que viene por defecto en Synaptic. Lo instalamos y ya podemos desinstalar repositorios PPA con:

sudo ppa-purge ppa:aqui_nombre_del_repositorio

Antes de empezar a usar ppa-purge debemos resolver una pregunta. ¿Como listamos todos los repositorios ppa que hemos ido agregando ? : Desde terminal con el comando:
grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list > listappa.txt
De esta forma se crea un fichero de texto, listappa.tx, con la lista completa en el directorio del usuario. Es fácil, editando el fichero, ver que repositorio nos interesa eliminar.
( La alternativa es ver en Nautilus el contenido del directorio /etc/apt/sources.list.d/ )

El programa ppa-purge es básicamente es un script que elimina fácilmente esa entrada de repositorios y claves publicas. Otra ventaja del script es que los programas que hubiéramos instalado con esos repositorios, el propio script se encarga de intentar sustituir los paquetes por sus correspondientes de los repositorios oficiales de Ubuntu, siempre que sea posible.

========================================

B) Administración de ppa con un programa gráfico:

I) Programa Y-Ppa-Manager:

Podemos instalar el programa y-ppa-manager,  a través del ppa webupd8team/y-ppa-manager , con la orden:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo aptitude update
sudo aptitude install y-ppa-manager

Su uso es tremendamente intuitivo ( al menos si sabes inglés ): 1) Añadir un ppa 2) Quitar un ppa 3) Ver lista de paquetes en un ppa activado en el pc 4) Avanzado 5) Buscar en todos los ppa de launcpad  y 6)Configuración



Una posibilidad buena que tiene es que tras buscar un programa en un ppa (botón 5 ) puedes instalar todo el ppa o bajar solo un paquete .deb de los que contiene, para instalar solamente dicho paquete; esto servirá si dicho paquete se puede instalar sin dependencias de otros paquetes del ppa, en caso contrario habrá que instalar todo el ppa:

-- Click en el botón 5 Search

-- En la ventana que se abre pones el nombre del programa que quieres instalar con un ppa y a continuación se abre la ventana siguiente:



-- En esta ventana puedes seleccionar un ppa ( en verde ) y añadirlo ( add selected ppa ) o dar a "list packages" con lo que se abre la siguiente ventana



-- En la que puedes elegir un paquete y bajarlo ( "Download selected package" ) para instalarlo despues, sin haber instalado todo el ppa sino solo ese paquete.

----------------------------------------------------

II ) Origenes de Software:

Synaptic->Configuración -> Repositorios: ventana Origenes del Software: pestaña Otro Software *.

A partir de esta ventana se pueden añadir los ppa de forma gráfica, y es fácil editar el nombre ( botón editar y añadir un comentario para que el ppa aparezca por un nombre mas fácil de identificar ) , o desactivar temporalmente , y también eliminar un ppa.



* en la pestaña Autentificación aparecen las claves de identificación de los ppa que se han ido añadiendo por los métodos anteriormente explicados. Si eliminamos un ppa desde la pestaña Otro Software debemos también eliminar su clave de identificación en esta pestaña.

---------------------------------------------------------------------------

Siempre que se añade, modifica o elimina un ppa, con cualquiera de los métodos indicados,  se debe hacer click en el botón Recargar de Synaptic, para que la fuente de software este actualizada.

También aconsejo que después instalar un paquete tras añadir un ppa para ello, se desactive o elimine el ppa, y se vuelva a hacer click en el botón Recargar de Synaptic, de esa forma nos aseguramos que solo se instala el programa por el que hemos añadido el ppa, pero no ningún otro programa con el gestor de actualizaciones. Si posteriormente queremos instalar otro paquete desde un ppa lo volvemos a activar, recargamos Synaptic, instalamos el paquete, volvemos a desactivar el ppa y volvemos a recargar Synaptic.

En los ppa suele aparecer esta advertencia: "El contenido de los Repositorios Personales de Paquetes no es verificado o comprobado. El software que instalas es bajo tu propio riesgo".

Los ppa surgieron como una necesidad y su primordial objetivo era proveer de paquetes no disponibles en los repositorios oficiales. Estos ppa son menos arriesgados de instalar porque no actualizan paquetes del sistema, solo agregan algunos no disponibles en los repositorios oficiales.

No se recomienda el  uso de un ppa que actualice paquetes de tu sistema, porque: se pierde estabilidad, y se puede adquirir bugs que solo el mantenedor del ppa puede ayudar a corregir.

---------------------------------------------------------------------

2 comentarios:

  1. Muy buen articulo, no conocía el Y-Ppa-Manager.
    Gracias Hatteras

    ResponderEliminar
  2. De lujo!

    Justamente lo que andaba buscando, gracias hombre :D!

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.