Miércoles, Enero 16, 2019

Usando PPA en Ubuntu Linux [Guía completa]

what-is-ppa

Si has estado usando Ubuntu o alguna otra distribución de Linux basada en Ubuntu como Linux Mint, Linux Lite, Zorin OS, etc., es posible que te hayas encontrado con tres líneas mágicas de este tipo:

sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer

Una serie de sitios web sugieren este tipo de líneas para instalar aplicaciones en Ubuntu. Esto es lo que se llama instalar una aplicación usando PPA.

Pero, ¿qué es el PPA? ¿Por qué se utiliza? ¿Es seguro usar PPA? ¿Cómo usar correctamente el PPA? ¿Cómo borrar un PPA?

Responderé a todas las preguntas anteriores en esta guía detallada. Incluso si ya sabes algunas cosas sobre los PPAs, estoy seguro de que este artículo te ayudará a mejorar tus conocimientos.

Ten en cuenta que estoy escribiendo este artículo usando Ubuntu. Por lo tanto, usaré el término Ubuntu casi en todas partes, pero las explicaciones y pasos también son aplicables a otras distribuciones basadas en Debian/Ubuntu.

¿Qué es PPA? ¿Por qué se utiliza?

PPA significa Personal Package Archive.

¿Eso tiene sentido? Probablemente no.

Antes de entender PPA, debes conocer el concepto de repositorios en Linux. Sin embargo, no entraré en detalles aquí.

Concept of repositories and package management

Un repositorio es una colección de archivos que contiene información sobre varios programas, sus versiones y algunos otros detalles como la suma de comprobación. Cada versión de Ubuntu tiene su propio conjunto oficial de cuatro repositorios:

  • Main

  • Universe

  • Restricted

  • Multiverse

Puedes ver estos repositorios para todas las versiones de Ubuntu aqui. Puedes navegar a través de ellos y también ir a los repositorios individuales. Por ejemplo, el repositorio principal de Ubuntu 16.04 se puede encontrar aquí.

Así que básicamente es una URL web que tiene información sobre el software. ¿Cómo sabe tu sistema dónde están estos repositorios?

Esta información se almacena en el archivo sources.list en el directorio /etc/apt. Si miras su contenido, verás que tiene la URL de los repositorios. Las líneas con # al principio se ignoran.

Ahora, cuando ejecutas el comando sudo apt update, tu sistema utiliza la herramienta APT para comprobar contra el repositorio y almacena la información sobre el software y su versión en una caché. Cuando usas el comando sudo apt install paquete, usa la información para obtener ese paquete de la URL donde está almacenado el software.

Si el repositorio no tiene la información sobre un determinado paquete, verás un error como:

E: Unable to locate package

Así que esto era sobre los repositorios. Pero, ¿qué es el PPA?

¿Por qué se utiliza el PPA?

Como puede ver, Ubuntu controla qué software y, lo que es más importante, qué versión de un software obtiene en tu sistema. Pero imagina si un desarrollador de software lanza una nueva versión del software.

Ubuntu no lo hará disponible inmediatamente. Existe un procedimiento para comprobar si la nueva versión del software es compatible con el sistema o no. Esto asegura la estabilidad del sistema.

Pero esto también significa que pasarán algunas semanas o, en algunos casos, algunos meses antes de que Ubuntu lo ponga a disposición. No todo el mundo querría esperar tanto tiempo para tener en sus manos la nueva versión de su software favorito.

Del mismo modo, supongamos que alguien desarrolla un software y quiere que Ubuntu lo incluya en los repositorios oficiales. Pasarán meses antes de que Ubuntu tome una decisión y la incluya en los repositorios oficiales.

Otro caso sería durante las pruebas beta. Incluso si una versión estable del software está disponible en los repositorios oficiales, un desarrollador de software puede querer que algunos usuarios finales prueben su próxima versión. ¿Cómo permiten al usuario final probar la próxima versión beta?

¿Cómo usar PPA? ¿Cómo funciona el PPA?

PPA, como ya te dije, significa Personal Package Archive. Cuidado con la palabra ‘Personal’ aquí. Eso da la pista de que esto es algo exclusivo de un desarrollador y que no está oficialmente avalado por la distribución.

Ubuntu proporciona una plataforma llamada Launchpad que permite a los desarrolladores de software crear sus propios repositorios. Un usuario final, es decir, puede añadir el repositorio PPA a su sources.list y cuando actualice su sistema, éste sabrá de la disponibilidad de este nuevo software y podrá instalarlo usando el comando estándar sudo apt install de esta manera.

sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer

Para abreviar:

  • sudo add-apt-repository <PPA_info> <– Este comando añade el repositorio PPA a la lista.
  • sudo apt-get update <– Este comando actualiza la lista de los paquetes que se pueden instalar en el sistema.
  • sudo apt-get install <package_in_PPA> <– Este comando instala el paquete.

Verás que es importante usar el comando sudo apt update o de lo contrario tu sistema no sabrá cuando un nuevo paquete está disponible.

Ahora echemos un vistazo al primer comando con un poco más de detalle.

sudo add-apt-repository ppa:dr-akulavich/lighttable

Notarás que este comando no tiene una URL para el repositorio. Esto se debe a que la herramienta ha sido diseñada para abstraer la información sobre la URL tuya.

Sólo una pequeña nota. Si añades ppa:dr-akulavich/lighttable, obtienes Light Table. Pero si agregas ppa:dr-akulavich, obtendrás todos los repositorios o paquetes mencionados en el ‘repositorio superior’. Es jerárquico.

Básicamente, cuando agregas un PPA usando add-apt-repository, harás la misma acción que si ejecutaras manualmente estos comandos:

deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu 
deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main

Las dos líneas anteriores son la forma tradicional de añadir cualquier repositorio a tu sources.list. Pero PPA lo hace automáticamente para ti, sin preguntarse sobre la URL exacta del repositorio y la versión del sistema operativo.

Una cosa importante a no aquí es que cuando utilizas PPA, esto no cambia tu fuente sources.list. En su lugar, crea dos archivos en el directorio /etc/apt/sources.d, una lista y un archivo de copia de seguridad con el sufijo ‘save’.

Los ficheros con el sufijo ‘list’ tienen el comando que añade la información sobre el repositorio.

content-of-ppa-list

Contenido de la lista de fuentes de un PPA

Esta es una medida de seguridad para asegurar que la adición de PPAs no interfiera con el archivo sources.list original. También ayuda a eliminar el PPA.

¿Por qué PPA? ¿Por qué no paquetes DEB?

Puedes preguntarte por qué deberías usar PPA cuando se trata de usar una línea de comandos que podría no ser la preferida por todos. ¿Por qué no distribuir un paquete DEB que pueda ser instalado gráficamente?

La respuesta está en el procedimiento de actualización. Si instalas un software usando un paquete DEB, no hay garantía de que el software instalado se actualizará a una versión más nueva cuando ejecutes sudo apt update && sudo apt upgrade.

Esto se debe a que el procedimiento de actualización depende del archivo sources.list. Si no hay ninguna entrada para un software, éste no recibe la actualización a través del actualizador de software estándar.

Entonces, ¿significa que el software instalado usando DEB nunca obtiene una actualización? No, en realidad no. Depende de cómo se creó el paquete.

Algunos desarrolladores añaden automáticamente una entrada a sources.list y luego se actualiza como un software normal. Google Chrome es un ejemplo de ello.

Algunos programas te notificarán de la disponibilidad de una nueva versión cuando intentes ejecutarla. Tendrás que descargar el nuevo paquete DEB y ejecutarlo de nuevo para actualizar el software actual a una versión más nueva. Oracle Virtual Box es un ejemplo en este caso.

Para el resto de los paquetes DEB, tendrás que buscar manualmente una actualización y esto no es conveniente, especialmente si tu software es beta. Necesitas añadir más actualizaciones con frecuencia. Aquí es donde PPA viene al rescate.

PPA oficial frente a PPA no oficial

También puedes escuchar el término PPA oficial o PPA no oficial. ¿Cuál es la diferencia?

Cuando los desarrolladores crean PPA para su software, se denomina PPA oficial. Obviamente, porque viene de nada menos que de los desarrolladores del proyecto.

Pero a veces, los individuos crean PPA de proyectos que fueron creados por otros desarrolladores.

¿Por qué alguien haría eso? Porque muchos desarrolladores sólo proporcionan el código fuente del software y sabes que instalar software desde el código fuente en Linux es un fastidio y no todo el mundo podría o haría eso.

Esta es la razón por la que los voluntarios se encargan de crear un PPA a partir de ese código fuente para que otros usuarios puedan instalar el software fácilmente. Después de todo, usar esas 3 líneas es mucho más fácil que luchar contra la instalación del código fuente.

Asegúrate de que un PPA esté disponible para la versión de tu distribución.

Cuando se trata de usar PPA en Ubuntu o en cualquier otra distribución basada en Debian, hay algunas cosas que debes tener en cuenta.

No todos los PPA están disponibles para tu versión particular. Debes saber qué versión de Ubuntu estás usando. El nombre en clave de la versión es importante porque cuando se va a la página web de un determinado PPA, se puede ver qué versiones de Ubuntu son compatibles con el PPA.

Para otras distribuciones basadas en Ubuntu, puedes comprobar el contenido de /etc/os-release para encontrar la información de la versión de Ubuntu.

¿Cómo conocer la url de PPA? Simplemente busca en Internet con el nombre PPA como ppa:dr-akulavich/lighttable y obtendrás el primer resultado de Launchpad, la plataforma oficial para alojar PPA. También puedes ir a Launchpad y buscar el PPA requerido directamente allí.Si no verificas y agrega el PPA, puede que veas un error como este cuando intente instalar un software no disponible para tu versión.
E: Unable to locate package
Lo que es peor es que desde que ha sido añadido a tu sources.list, cada vez que ejecutes el actualizador de software, verás un error “Failed to download repository information”.

Si ejecutas sudo apt update en el terminal, el error tendrá más detalles sobre qué repositorio está causando el problema. Puedes ver algo como esto al final de la salida de sudo apt update:

W: Failed to fetch http://ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main/binary-i386/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

Lo cual se explica por sí mismo porque el sistema no puede encontrar el repositorio para tu versión. ¿Recuerdas lo que vimos antes sobre la estructura del repositorio? APT intentará buscar información de software en el sitio http://ppa.launchpad.net/<PPA_NAME>/ubuntu/dists/Ubuntu_Version.

Y si el PPA para la versión específica no está disponible, nunca podrás abrir la URL y obtendrás el famoso error 404.

¿Por qué los PPAs no están disponibles para todas las versiones de Ubuntu?

Es porque alguien tiene que compilar el software y crear un PPA a partir de él en las versiones específicas. Teniendo en cuenta que cada seis meses se publica una nueva versión de Ubuntu, es una tarea tediosa actualizar el PPA para cada versión de Ubuntu. No todos los desarrolladores tienen tiempo para hacer eso.

¿Cómo instalar la aplicación si PPA no está disponible para tu versión?

Es posible que aunque el PPA no esté disponible para tu versión de Ubuntu, todavía puedes descargar el archivo DEB e instalar la aplicación.

Digamos que vas al PPA de Light Table. Usando el conocimiento sobre PPA que acabas de aprender, te das cuenta de que el PPA no está disponible para tu versión específica de Ubuntu.

Lo que puedes hacer es hacer clic en el botón “Ver detalles del paquete”.

what-is-ppa-01

Y aquí puedes hacer clic en un paquete para ver más detalles. También encontrarás el código fuente y el archivo DEB del paquete aquí.

what-is-ppa-02

Aconsejo usar Gdebi para instalar estos archivos DEB en lugar del Software Center porque Gdebi es mucho mejor manejando las dependencias.

Ten en cuenta que es posible que el paquete instalado de esta forma no obtenga ninguna actualización futura.

Creo que ya has leído suficiente sobre la adición de PPAs. ¿Qué tal si quitas un PPA y el software instalado por él?

¿Cómo borrar un PPA?

Te aconsejo que elimines el software que instalaste de un PPA antes de quitarlo. Si simplemente quitas el PPA, el software instalado permanece en el sistema pero no recibirá ninguna actualización. No querrías eso, ¿verdad?

Entonces, la pregunta es, ¿cómo saber qué aplicación fue instalada por qué PPA?

Buscar paquetes instalados por un PPA y eliminarlos

El Centro de Software de Ubuntu no ayuda aquí. Tendrás que usar el gestor de paquetes Synaptic, que tiene características más avanzadas.

Puedes instalar Synaptic desde el Centro de software o utilizar el siguiente comando:

sudo apt install synaptic

Una vez instalado, inicia el gestor de paquetes Synaptic y selecciona Origen. Verás varios repositorios añadidos al sistema. Las entradas PPA se etiquetarán con el prefijo PPA. Haz clic en ellos para ver los paquetes que están disponibles en el PPA. El software instalado tendrá el símbolo correspondiente delante de él.

ppa-synaptic-manager

Una vez que hayas encontrado los paquetes, puedes eliminarlos del propio Synaptic. De lo contrario, siempre tienes la opción de utilizar la línea de comandos:

sudo apt remove paquete

Una vez que hayas eliminado los paquetes instalados por un PPA, puedes continuar eliminando el PPA de tu sources.list.

Eliminar un PPA gráficamente

Ve a Software & Updates y luego a la pestaña Otro Software. Busca el PPA que deseas eliminar:

Delete-a-PPA

Tienes dos opciones. Desmarca el PPA o selecciona la opción Eliminar.

La diferencia es que cuando deseleccionas una entrada PPA, tu sistema comentará la entrada del repositorio en tu archivo ppa_name.list en /etc/apt/sources.list.list.d pero si eliges la opción Eliminar, borrará la entrada del repositorio de tu directorio ppa_name.list en /etc/apt/sources.list.d.

En ambos casos, los ficheros ppa_name.list permanecen en dicho directorio, aunque estén vacíos.

¿Es seguro usar PPA?

Es una pregunta subjetiva. Los puristas aborrecen los PPA porque la mayoría de las veces los PPA son de desarrolladores de terceros. Pero al mismo tiempo, los PPAs son populares en el mundo Debian/Ubuntu ya que proporcionan una opción de instalación más fácil.

En cuanto a la seguridad, es poco probable que utilices un PPA y que tu sistema Linux sea pirateado o inyectado con malware. No recuerdo que un incidente así haya ocurrido hasta ahora.

Los PPA oficiales se pueden utilizar sin pensarlo dos veces. El uso de PPA no oficiales es enteramente tu decisión.

Como regla general, deberías evitar instalar un programa a través de un PPA de terceros si el programa requiere acceso sudo para ejecutarse.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 133 invitados y ningún miembro en línea

Contador de Visitas

9526963
Hoy Hoy 1440
Ayer Ayer 1087
Esta semana Esta semana 3810
Este mes Este mes 22752
Total de Visitas Total de Visitas 9526963

Día con más
visitantes

12-27-2018 : 2190

Gracias por su visita