Latinoamérica
de.novatoanovato@gmail.com

Gestores de paquetes AUR Helpers Archlinux

Dedicado al nuevo usuario de software libre

Gestores de paquetes AUR Helpers Archlinux

Gestores de paquetes para repositorios AUR

Los repositorio de software son el lugar donde se almacenan los paquetes de software, los cuales pueden ser recuperados e instalados en un equipo por medio de un gestor de paquetes, en al caso de Archlinux su gestor de paquetes es Pacman. Los mantenedores de paquetes de ArchLinux mantienen una serie de repositorios oficiales que contienen paquetes de software, desde el más esencial al extra, a los que se puede acceder fácilmente mediante haciendo uso de Pacman. Estos cuentan con una gran variedad de paquetes puestos a nuestra disposición.

Pero para quienes quieran disponer de una variedad de paquetes aun mayor, cuentan con los repositorios AUR, mantenidos por los usuarios de confianza o Trusted Users.

Los usuarios de confianza sirven a los siguientes propósitos:

  1. Mantener el repositorio de la comunidad (community) como intermediario entre repositorios oficiales de ArchLinux y la colección de paquetes no admitidos en AUR.
  2. Mantener, administrar y vigilar el funcionamiento de AUR.

Sabiendo esto continuemos…

Fuente: Wiki ArchLinux

¿Que son los repositorios AUR?

El termino AUR deriva del acrónimo en inglés de Arch User Repository. Se trata de un repositorio gestionado por la comunidad de usuarios de Arch. Contiene en su interior la descripción de los paquetes (PKGBUILD) que le permiten compilar un paquete desde el origen con makepkg y luego instalarlo a través de pacman, pero no así con él. AUR fue creado para organizar y compartir nuevos paquetes populares en la comunidad de usuarios. En dicha comunidad, los usuarios son capaces de contribuir con paquetes. Estos podrán votar a favor o en contra de éstas aportaciones. Si la contribución es muy popular podrá llegar a estar en los repositorios oficiales de pacman.

¿Que es un gestor de paquetes?

Un gestor de paquetes, es una colección de herramientas que sirven para automatizar el proceso de instalación, actualización, configuración y eliminación de paquetes de software, entre otras cosas.

Los paquetes incluyen información importante, además del software mismo, como pueden ser el nombre completo, una descripción de su funcionalidad, el número de versión, el distribuidor del software, la suma de verificación y una lista de otros paquetes requeridos para el correcto funcionamiento del software (dependencias). Esta metainformación se introduce normalmente en una base de datos de paquetes local. Y es esencial para el corrector funcionamiento de los gestores.

Gestores de paquetes para repositorios AUR

El gestor de paquetes pacman, solo opera con los repositorios oficiales, para poder operar con los repositorios AUR contamos con algunos gestores de paquetes, también llamados helpers, que son los que nos abrirán las puertas a AUR.

A continuación veremos algunos de los gestores de paquetes desarrollados para hacer uso de la paquetería disponible en los repositorios AUR, haciendo mas amplio el numero de paquetes para instalar en nuestro ArchLinux o sus derivadas, aprenderemos a instalarlos y conoceremos sus principales características para así elegir el aquel que mas se adapte a sus necesidades.

Nota: Es importante tener instalado el paquete git para poder efectuar la descarga de cualquiera de los gestores que se expondrán, instancia previa a su instalación.

Para consulta si esta instalado ejecutamos:

pacman -Q git

En caso de estar instalado, se nos imprimirá la siguiente salida

De lo contrario, como salida, se nos indicara que el paquete no fue encontrado. Para instalarlo en caso de ser necesario, ejecutamos:

sudo pacman -S git

Y con esto ya tendremos todo lo necesario para poder instalar nuestro helper. Es momento de escoger alguno de los disponibles.

Instalación de gestores de paquetes AUR

A continuación veremos uno a uno los helpers que a la fecha se encuentran en mantenimiento, y que son los que recomendamos para su instalación. La información sobre las características de estos, fue extraída directamente de el repositorio GitHub donde encontramos alojados cada uno de los proyectos.

yay

yay es un muy buen helper de AUR, escrito en Go con el objetivo de proporcionar una interfaz de pacman con una mínima entrada de usuario, ya como búsqueda y casi sin dependencias.

Características de yay
  • yay descarga el PKGBUILD de ABS o AUR.
  • Admite angostamiento de búsqueda y no se obtiene el origen de PKGBUILD.
  • El binario no tiene dependencias adicionales a las de pacman.
  • Proporciona un solucionador de dependencia avanzado y elimina las dependencias de make al final del proceso de compilación.
  • Admite salida coloreada cuando habilitas la opción Color en el archivo /etc/pacman.conf.
Instalación de yay

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Proyecto en desarrollo.

pakku

Pakku es otro ayudante de pacman que aún se encuentra en su etapa inicial. Sin embargo, el hecho de que sea nuevo no significa que carezca de ninguna de las características admitidas por otro asistente de AUR. Hace su trabajo muy bien y junto con la búsqueda e instalación de aplicaciones de AUR, elimina las dependencias después de una compilación.

Características de pakku
  • Búsqueda e instalación de paquetes desde Arch User Repository.
  • Visualización de archivos y cambios entre compilaciones.
  • Creación de paquetes desde repositorios oficiales y eliminación de dependencias después de una compilación.
  • Recuperación de PKGBUILD e integración de Pacman.
  • La interfaz de usuario similar a Pacman y las opciones de pacman son compatibles.
  • La configuración de Pacman admite y no hay fuentes PKGBUILD.
Instalando pakku

git clone https://aur.archlinux.org/pakku.git
cd pakku
makepkg -si

Proyecto en desarrollo.

aurutils

aurutils es básicamente una colección de scripts que automatiza el uso de Arch User Repository. Puede buscar AUR, comprobar actualizaciones para diferentes aplicaciones instaladas y resolver problemas de dependencias.

Características de aurutils
  • aurutils usa un repositorio local que le da un beneficio de soporte de archivos pacman, y todos los paquetes funcionan con -asdeps.
  • Puede haber múltiples repos para diferentes tareas.
  • Actualiza el repositorio local de una vez con aursync -u
  • pkgbase, formato largo y soporte en bruto para aursearch
  • Capacidad de ignorar el paquete
Instalación de aurutils

git clone https://aur.archlinux.org/aurutils.git
cd aurutils
makepkg -si

Proyecto en desarrollo.

Trizen

Trizen, se encuentra desarrollado en Perl, es un helper ligero, muy rápido y uno de los mas seguros para gestionar paquetería desde los repositorios AUR.

Características de trizen
  • Permite instalar paquetes de AUR
  • Buscar paquetes
  • Leer comentarios desde él
  • Actualizar paquetes desde AUR
  • Resolver dependencias de paquetes de forma recursiva
  • Interacción con pacman built-in
  • Capacidad para editar ficheros de texto de soporte
  • Salida con soporte UTF-8
Instalación de trizen

git clone https://aur.archlinux.org/trizen.git
cd trizen
makepkg -si

Proyecto en desarrollo.

Pikaur

Pikaur, es un helper AUR con mínimas dependencias. Revisa PKGBUILDs todo de una vez, para luego construirlo todos sin la interacción del usuario. Inspirado por pacaur, yaourt y yay. En lugar de tratar de ser más inteligente que pacman (mediante el uso de –nodeps, –force, –ask, –confirm y así sucesivamente) simplemente le dice a pacman de manera interactiva qué hacer. Si pacman hace una pregunta inesperada, el usuario solo podrá responderla manualmente.

Características de pikaur
  • Construir PKGBUILDs locales con AUR deps (-P / – pkgbuild)
  • Recupera PKGBUILDs de AUR y ABS (-G / – getpkgbuild)
  • Manejar de manera interactiva los problemas de compilación comunes (como una clave GPG no confiable o una discrepancia de suma de comprobación, arquitectura incorrecta)
  • Utilizando usuarios dinámicos de systemd si compila paquetes como usuario root
  • Mostrar noticias Arch no leídas antes de sysupgrade
  • Selección de paquete anual en la solicitud de instalación mediante el editor de texto (ignorar las actualizaciones no deseadas o seleccionar el proveedor del paquete)
  • Muestra el paquete AUR diff y revisa los archivos PKGBUILD y .install
  • Actualizar -git, -svn y otros paquetes de desarrollo
  • Nombres de paquetes AUR en la finalización de shell (bash, fish, zsh)
Instalación de pikaur

git clone https://aur.archlinux.org/pikaur.git
cd pikaur
makepkg -si

Proyecto en desarrollo.

Lista de helpers recomendados y sus características

Contamos en la wiki de Archlinux con los helpers disponibles y sus principales características..

Donde cada columna significa:

  • Nombre: Es la columna que nos indica el nombre el Helper AUR.
  • Escrito en: Es el lenguaje de programación en el que el proyecto esta escrito.
  • Revisión de Archivos: No obtiene el PKGBUILD de forma predeterminada, alerta al usuario y le ofrece la oportunidad de inspeccionar el PKGBUILD manualmente antes de que se obtenga. Se sabe que algunos ayudantes obtienen PKGBUILD antes de que el usuario pueda inspeccionarlos, lo que permite que se ejecute código malicioso.
  • Vista de diferencias: Posibilidad de ver las diferencias de paquetes en la inspección. Además de PKGBUILD, esto incluye cambios en los archivos .install or .patch.
  • Clonado en Git: usa git-clone por defecto para recuperar los archivos de compilación desde el AUR.
  • Analizador confiable: Habilidad para manejar paquetes complejos mediante el uso de los metadatos provistos (RPC/.SRCINFO) en lugar de analizar PKGBUILD.
  • Solicionador confiable: Habilidad para resolver correctamente y construir cadenas de dependencia complejas.
  • Paquetes divididos: capacitado de construir e instalar correctamente múltiples paquetes desde la misma base de paquetes, dividir paquetes que dependen de un paquete de la misma base de paquetes, divide los paquetes de forma independiente.
  • Banderas inseguras: Son las opciones de gestión que no son seguras de ejecutar con el helper.
  • Finalización de shell: Finalización de pestaña está disponible para los shells listados.

Proceso de instalación en gestores helpers

Archivo PKGBUILD

Los paquetes en ArchLinux son construidos utilizando makepkg y la información almacenada en un PKGBUILD. Cuando se ejecuta makepkg busca un PKGBUILD en el directorio actual y sigue las instrucciones ahí almacenadas para compilar y/o descargar y empaquetar todos los archivos necesarios en un archivo pkgname.pkg.tar.xz. Este archivo resultante contiene archivos binarios e instrucciones de instalación legibles para pacman.

Script makepkg

El script makepkg es usado para compilar y construir paquetes capaces de ser instalados mediante pacman, automatiza el proceso de construcción de paquetes; este puede descargar y validar archivos fuente, resolver dependencias, configurar los parámetros de tiempo de compilación, compilar las fuentes e instalarlo dentro de un root temporal.

El paquete makepkg lo provee el paquete pacman.

Etapas de la instalación de un paquete desde AUR

La instalación de paquetes desde AUR es un proceso relativamente simple.

En esencia consiste en:

  • Obtener los archivos para la compilación, incluyendo el PKGBUILD y posiblemente otros archivos necesarios.
  • Verificar que el PKGBUILD y los archivos acompañantes no sean maliciosos.
  • Ejecutar makepkg -si en el directorio donde se han colocado los archivos. Esta orden descarga la fuente, resuelve dependencias con pacman, compila, empaca e instala el paquete.

Sintaxis para gestionar paquetes AUR

Para gestionar paquetes, los helpers tienen una sintaxis similar a la que utiliza pacman para la misma tarea, a continuación expondremos las tares que se puedes llevar a cabo con estos y aclarando que todas las acciones a realizar con los helpers no deben ser ejecutadas con privilegios de administrador. Estos gestores de paquetes se corresponden con la siguiente sintaxis.

"helper" [opciones] [paquetes]

Instalar paquete desde los repositorios AUR

Una de las cuestiones primordiales por las que es requerido incorporar un helper a nuestro sistema, es la de ampliar el numero de paquetes disponibles para su instalación. Ya que en los repositorios AUR se encuentran paquetes que no disonemos en los repositorios oficiales.

Instalación de un paquete

Para instalar un paquetes, contamos con la opción -S, donde posteriormente debemos indicar el nombre exacto del paquete a instalar.

"helper" -S Paquete

Instalación de un grupo de paquetes

Del mismo modo en que instalamos un paquete, podemos ejecutar la instalación de varios paquetes simultáneamente, al igual con pacman, los helpers permiten la instalación de grupos de paquetes.

"helper" -S Paquete1 Paquete2 paquete3

Buscar paquetes en repositorios AUR

Muchas veces necesitamos saber si el paquete que estamos requiriendo se encuentra en los repositorios AUR. Los helpers en su sintaxis cuentan con el parámetro s para ejecutar la orden de búsqueda de un paquete, donde posteriormente insertaremos el nombre del paquete en cuestión.

"helper" -Ss NombreDelPaquete

Obtener informacion de un paquete en los repositorios AUR

Todos los paquetes contiene información sobre si mismo, como: versión del paquete, descripción, licencias y demás. Estos metadatos son accesibles a través del parámetro i. Ya que no nos es posible acceder a la información de un paquete alojado en los repositorios AUR con pacman, los helpers cuentan con esta opción en su sintaxis.

"helper" -Si NombreDelPaquete

Obtener lista de paquetes disponibles para actualizar desde repositorios AUR

Así como con pacman podemos saber si hay versiones de paquetes nuevas para efectuar una actualización, los helpers cuentan con el parámetro -Pu para realizar este tipo de consulta.

"helper" -Pu

Actualización de los paquetes instalados desde los repositorios AUR

Cuando llevamos a cabo una actualización de sistema, osea de los paquetes que construyen nuestra distribución, por medio de pacman, este no toma en cuenta los paquetes que fueron instalados desde AUR. Para ello debemos utilizar el helper. Este actualizara todos los paquetes que provengan de los repositorios AUR instalados en nuestro sistema a la ultima versión, el parámetro que lleva a cabo esta acción es u seguido del parámetro a, que indica al helper la actualización de los paquetes AUR.

"helper" -Sua

Una cosa a tener en cuenta. Al momento de ejecutar una orden de actualización con un helper, este actualizara toda la paquetería, incluso la que proviene de los repositorios oficiales. Por una cuestión de seguridad, se recomienda primero efectuar una actualización de los paquetes oficiales con pacman para posteriormente actualizar los paquetes AUR.

Importante tener en cuenta

Se recomienda solo utilizar gestores de paquetes helpers para instalar paquetes de los repositorios AUR, no se recomienda su utilización para instalar paquetes desde los repositorios oficiales, ya que esto es posible, pero no recomendado. Para el resto de las tareas de gestión de paquetes se recomienda utilizar pacman, debido a que su sintaxis las cubre perfectamente incluso para paquetes AUR.

Si quieres saber mas sobre gestión de paquetes con pacman, les comparto los siguientes artículos: Pacman parte 1 Conociendo pacman, parte 2 Gestión de paquetes con pacman y parte 3 Gestión de paquetes y mantenimiento del sistema con pacman.

Puedes seguirnos en:

Ayudanos a mantener el sitio con una contribución.
Muchas gracias!

Espero sea de utilidad.
Saludos, Cristian Bellini.

 

2 comentarios

  1. Wibort dice:

    Hola, excelente articulo, sabes si es posible encontrat algun helper de estos que funciones en 32 bits? tengo un laptop con pentium4 pero yay no funciona me genera error por el tema de arquitectura.

  2. Jesús D Machado dice:

    Muy buen artículo, pero leer el con ese fondo blanco y letras grises es un dolor de cabeza, de igual forma muchas gracias me ha sido de utilidad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

cinco + quince =