Arch User Repository (Español) - ArchWiki

# Arch User Repository (Español)

Artículos relacionados

- AUR helpers
- AurJson
- AUR Trusted User Guidelines
- PKGBUILD
- makepkg
- pacman (Español)
- Official Repositories (Español)
- Arch Build System (Español)

This article or section is out of date.

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Arch User Repository (Español)#)

Arch User Repository (AUR) es un repositorio promovido por los usuarios de la comunidad de Arch. Este contiene descripciones de los paquetes (PKGBUILD) que le permiten compilar un paquete desde el código fuente con makepkg y luego instalarlo a través de pacman. AUR fue creado para organizar y compartir paquetes nuevos de la comunidad y ayudar a acelerar la inclusión de los paquetes más populares en el repositorio [community]. Este documento explica cómo los usuarios pueden acceder y utilizar AUR.

Un buen número de paquetes nuevos que entran en los repositorios oficiales tienen su origen en AUR. En AUR, los usuarios pueden aportar sus propias compilaciones de paquetes (PKGBUILD y los archivos relacionados). La comunidad de AUR tiene la posibilidad de votar a favor o en contra de los paquetes de AUR. Si un paquete llega a ser lo suficientemente popular —siempre que tenga una licencia compatible y la técnica de un buen empaquetado— puede ser introducido en el repositorio [community] (directamente accesible por pacman o abs).

## Para empezar

Los usuarios pueden buscar y descargar PKGBUILD desde la Interfaz Web de AUR. Estos PKGBUILD se pueden compilar en paquetes instalables usando makepkg, y luego instalarlos con pacman.

- Asegúrese de que los paquetes del grupo base-devel están instalados (`pacman -S base-devel`).
- Léase el resto de este artículo para obtener más información que funciona como un breve tutorial sobre la instalación de los paquetes de AUR.
- Visite la Interfaz Web de AUR para obtener información sobre actualizaciones y otros eventos. Allí también encontrará estadísticas y una lista actualizada de los nuevos paquetes disponibles presentes en AUR.
- Léase #FAQ para obtener respuestas a las preguntas más comunes.
- Es posible mejorar la optimización ajustando `/etc/makepkg.conf` para el procesador antes de crear paquetes desde AUR. Se puede obtener una mejora significativa en los tiempos de compilación en sistemas con procesadores multi-core ajustando la variable MAKEFLAGS. También se pueden habilitar optimizaciones para hardware específico en GCC a través de la variable CFLAGS. Véase makepkg.conf para obtener más información.

## Historia

Los siguientes instrumentos se listan con fines ilustrativos solamente. Desde entonces, han sido sustituidos por AUR y ya no están disponibles.

Al principio, existía `ftp://ftp.archlinux.org/incoming`, y se contribuía únicamente subiendo el PKGBUILD, los archivos adicionales necesarios y el mismo paquete compilado al servidor. El paquete y los archivos asociados se mantenían allí hasta que un Package Maintainer veía el programa y lo adoptaba.

Posteriormente, surgieron los Trusted User Repositories («repositorios de usuarios de confianza»). A algunas personas de la comunidad se les permitía alojar sus propios repositorios para que cualquiera los utilizase. AUR se amplió sobre esta base, con el objetivo de hacerlo más flexible y usable. De hecho, a los responsables de AUR todavía se les conoce como TUs (Trusted Users -«Usuarios de Confianza»-).

## Buscar

La interfaz web de AUR puede ser encontrada aquí, y una interfaz para el acceso a AUR mediante un script (por ejemplo) puede ser encontrada aquí.

Las consultas de búsqueda de los nombre y descripciones de los paquetes utilizan un método similar al de MySQL. Esto permite el uso de criterios de búsquedas más flexibles (por ejemplo, pruebe a burcar por «tool%like%grep», en lugar de «tool like grep»). Si tiene que buscar una descripción que contiene «%», use el carácter de escape «\%».

## Instalar paquetes

La instalación de paquetes desde AUR es un proceso relativamente simple. En esencia consiste en:

1. Adquirir el tarball que contiene los PKGBUILD y posiblemente otros archivos necesarios.
2. Extraer el tarball (preferentemente en una carpeta reservada solo para las compilaciones de AUR) con `tar xzf foo.tar.gz`.
3. Ejecutar `makepkg` en el directorio donde se guardan los archivos (`makepkg -s` resuelve automáticamente las dependencias con pacman). Esto descargará el código, lo compilará y lo empaquetará.
4. Buscar el archivo README en `src/` el cual puede contener información adicional útil para el futuro.
5. Instalar el paquete resultante con pacman:

      # pacman -U /path/to/pkg.tar.xz

Los AUR helpers añaden un acceso transparente para AUR. Los mismos varían en sus características, pero pueden facilitar la búsqueda, descarga, compilación e instalación de los PKGBUILD que se encuentran en AUR. Todos estos scripts se pueden encontrar en AUR.

Nota: Nunca habrá un mecanismo oficial para la instalación del material precompilado de AUR. Por tanto, todos los usuarios deben estar familiarizados con el proceso de compilación.

Lo que sigue es un ejemplo detallado de la instalación de un paquete llamado «foo».

### Prerrequisitos

Primero, asegúrese de que las herramientas necesarias estén instaladas. El grupo de paquetes base-devel debe ser suficiente; incluye make y otras herramientas necesarias para compilar desde el código fuente.

Advertencia: Los paquetes disponibles en AUR asumen que tiene instalado el grupo base-devel, por lo que los paquetes de AUR no listan los elementos de este grupo como dependencias, incluso si el paquete no se puede compilar sin ellos. Por tanto, asegúrese que este grupo está instalado para prevenir que arroje errores sobre fallo al compilar.

    # pacman -S base-devel

A continuación, elija un directorio de compilación apropiado. Un directorio de compilación es simplemente una carpeta en la que se construirá el paquete o «se compilará», y puede ser cualquier carpeta. Un ejemplo de carpeta comúnmente utilizada es:

    ~/builds

o si se utiliza ABS (Arch Build System):

    /var/abs/local

Para obtener más información sobre ABS, léase el artículo sobre Arch Build System. En el ejemplo que se sigue, la carpeta `~/builds` será el directorio de compilación.

### Adquirir archivos compilados

Localice el paquete en AUR. Esto se realiza utilizando la función de búsqueda (esto es, el recuadro de texto de la parte superior de la página principal de AUR). Al pulsar sobre el nombre de la aplicación en la lista de búsqueda, nos llevará a una página de información sobre el paquete. Lea la descripción para confirmar que este es el paquete deseado, observe si el paquete ha sido actualizado y lea los comentarios.

Descargue los archivos necesarios de compilación. Desde la página de información del paquete, descargue los archivos de compilación pulsando el «tarball» que aparece en el lado izquierdo, cerca del final de los detalles del paquete. Este archivo debe ser guardado en el directorio de compilación o una copia del archivo en dicho directorio después de la descarga. En este ejemplo, el archivo se llama «foo.tar.gz» (el formato estándar es nombredelpaquete.tar.gz, si ha sido debidamente enviado).

Otra posibilidad consistiría en descargar el archivo tar desde el terminal, cambiando los directorios al primer archivo de compilación:

    $ cd ~/builds
    $ curl -O https://aur.archlinux.org/packages/fo/foo/foo.tar.gz

### Compilar el paquete

Extraiga el tarball. Para ello, cambie el archivo a la carpeta de compilación, si no está ya allí y, una vez en dicho directorio, extraiga los archivos de compilación.

    $ cd ~/builds
    $ tar -xvzf foo.tar.gz

Esto debería crear una nueva carpeta llamada «foo» en el directorio de compilación.

Advertencia: Revise cuidadosamente todos los archivos. Ejecute la orden `cd` para desplazarse a la carpeta (foo) recién creada y revise con cuidado el`PKGBUILD` y cualquier archivo `.install` para advertir órdenes maliciosas. Los `PKGBUILD` son scripts de bash que contienen funciones para ser ejecutadas por `makepkg`: estas funciones pueden contener cualquier orden válida o con la sintaxis que interpreta Bash, por lo que es totalmente posible que un `PKGBUILD` pueda contener órdenes peligrosas introducidas por malicia o ignorancia del autor. Use `makepkg` en un entorno fakeroot (y no lo ejecute nunca como root), lo cual le da un cierto nivel de protección, pero nunca se debe confiar del todo con ello. En caso de duda, no compile el paquete y consulte en los foros o listas de correo.

    $ cd foo
    $ nano PKGBUILD
    $ nano foo.install

Construya el paquete. Después de confirmar manualmente la integridad de los archivos, ejecute makepkg como un usuario normal en el directorio de compilación.

    $ makepkg -s

La opción `-s` utilizará sudo para instalar eventuales dependencias. Si no se desea utilizar sudo, se deberá probar a instalar manualmente las dependencias de antemano y posteriormente ejecutar lar orden anterior, omitiendo la opción `-s`.

### Instalar el paquete

Instale el paquete con pacman. Un tarball bien creado debería mostrar un nombre siguiendo este esquema:

    <application name>-<application version number>-<package revision number>-<architecture>.pkg.tar.xz

Este paquete puede ser instalado usando la orden «upgrade» de pacman:

    # pacman -U foo-0.1-1-i686.pkg.tar.xz

Estos paquetes instalados manualmente se denominan paquetes foráneos («foreign packages») —es decir, aquellos paquetes que no se han originado desde cualquier repositorio conocido por pacman—. Para listar todos los paquetes foráneos, escriba:

    $ pacman -Qm

Nota: El ejemplo anterior es solo un breve resumen del proceso de compilación de un paquete. Es recomendable una visita a los artículos sobre makepkg y ABS. Estos artículos proporcionan más detalles y son muy útiles, sobre todo para los usuarios primerizos.

## Feedback

La Interfaz Web de AUR facilita hacer comentarios que permite a los usuarios proporcionar sugerencias y feedback para contribuir a mejorar el PKGBUILD. Evite pegar parches o PKGBUILD en la sección de comentarios: se vuelven rápidamente obsoletos y acaban ocupando innecesariamente mucho espacio. En su lugar, envie los archivos al mantenedor, o incluso utilice un pastebin.

Una de las actividades más fáciles para todos los usuarios de Arch es navegar por AUR y votar por sus paquetes favoritos utilizando la interfaz web. Todos los paquetes son elegibles para ser adoptados por un TU para su inclusión en [community], y el recuento de votos es uno de los factores considerados en este proceso, ¡por lo que votar es un interés de todos!

## Compartir y mantener los paquetes

El usuario juega un papel esencial en AUR, por lo que no puede desplegar su potencial sin el apoyo, la participación y la contribución de la más amplia comunidad de usuarios. El ciclo de vida de un paquete de AUR comienza y termina con el usuario y requiere que el usuario contribuya de diversas maneras.

Los usuarios pueden compartir los PKGBUILD a través de Arch User Repository. Este no contiene los paquetes binarios, pero permite a los usuarios subir sus PKGBUILD que pueden ser descargados por otros. Estos PKGBUILD no tienen ningún apoyo oficial y, por tanto, no se han investigado a fondo, por lo que se deben utilizar con cautela bajo el propio riesgo del usuario.

### Enviar paquetes

Después de iniciar sesión en la interfaz web de AUR, un usuario puede enviar un archivo *.tar comprimido con gzip (`.tar.gz`) de un directorio que contiene archivos para compilar un paquete. El directorio, dentro del tarball, debe contener un PKGBUILD, cualesquiera archivos `.install`, parches, etc., (en ningún caso archivos binarios). Ejemplos de cómo debe ser la estructura de dicho directorio pueden ser encontrados en los directorios incluidos en `/var/abs`, si Arch Build System se ha instalado.

El tarball se puede crear con la siguiente orden:

    $ makepkg --source

Tenga en cuenta que se trata de un archivo .tar comprimido con gzip, de modo que, suponiendo que está subiendo un paquete llamado libfoo, la creación del archivo comprimido debería dar como resultado algo similar a esto:

    $ tar tf libfoo-0.1-1.src.tar.gz

    libfoo/
    libfoo/PKGBUILD
    libfoo/libfoo.install

Al enviar un paquete, observe las siguientes reglas:

- Marque la casilla package database para el paquete. Si existe, no envie el paquete. Si el paquete actual está roto o falta alguna función incluida, es preferible enviar un informe de errores.
- Compruebe AUR para el paquete. Si es mantenido actualmente, los cambios se pueden enviar en un comentario para la atención del mantenedor. Si está desatendido, el paquete puede ser adoptado y actualizado, según sea necesario. No cree paquetes duplicados.
- Verifique cuidadosamente que lo que se está cargando es correcto. Todos los participantes deben leer y seguir las normas de empaquetado de Arch al escribir PKGBUILD. Esto es esencial para el buen funcionamiento y el éxito general de AUR. Recuerde que no va a ganar ningún crédito o respeto de sus compañeros por perder el tiempo con un PKGBUILD malo.
- Los paquetes que contengan binarios o que estén mal escritos pueden ser borrados sin previo aviso.
- Si no está seguro sobre el paquete (o el proceso de compilación/envío) de ninguna manera, presente el PKGBUILD a la Lista de Correo de AUR o en las Tablas de AUR del fórum público para su revisión antes de añadirlo a AUR.
- Asegúrese de que el paquete es útil. ¿Alguien más quiere utilizar este paquete? ¿Es sumamente especializado? Si no hay más que unas cuantas personas que encontrarán este paquete útil, no es apropiado para su presentación.
- Los repositorios AUR y oficiales están diseñados para paquetes que instalan generalmente software y contenido relacionado con el software, incluyendo uno o más de los siguientes: archivo(s) ejecutable, archivo(s) de configuración, documentación en línea o fuera de línea para un software, en particular, o para la distribución Arch Linux, en general; archivos multimedia destinados a ser utilizados directamente por el software.
- Obtenga un poco de experiencia antes de enviar los paquetes. Compile algunos paquetes para conocer el proceso y luego enviarlos.
- Si se presenta un `package.tar.gz` con un archivo llamado «`package`» obtendrá el siguiente error: «Could not change to directory `/home/aur/unsupported/package/package`». Para resolver este problema, cambie el nombre del archivo llamado «`package`» con otro nombre, por ejemplo, «`package.rc`». Cuando se instale en el directorio `pkg` puede cambiar su nombre de nuevo a «`package`». Léase también Arch packaging standards#Submitting packages to the AUR.

### Mantener los paquetes

- Si se mantiene un paquete y desea actualizar el PKGBUILD para el mismo, basta con reenviarlo.
- Compruebe si hay feedback y comentarios de otros usuarios y trate de incorporar las mejoras que le sugieren, ¡considere que es un proceso de aprendizaje!
- Por favor, no presente un paquete, para luego olvidarse de él. El trabajo del mantenedor es mantener el paquete, buscando las actualizaciones y las mejoras del PKGBUILD.
- Si no desea seguir manteniendo el paquete, por alguna razón, etiquete el paquete como `disown` a través de la interfaz web de AUR y/o envie un mensaje a la lista de correos de AUR.

### Otras solicitudes

- La peticiones de abandono y de eliminación deben ir a la lista de correos general de aur, para que puedan tomar una decisión los TU y los demás usuarios.
- Incluya el nombre del paquete y la dirección URL a la página de AUR, preferiblemente con una nota al pie [1].
- Las solicitudes de abandono se concederán dos semanas después de que el mantenedor actual haya sido contactado por correo electrónico y no se haya obtenido respuesta.
- El renombre de paquetes no es ahora implementado, los usuarios tienen ahora que reenviar el paquete con un nombre nuevo y solicitar el renombre de los comentarios de la versión antigua y de los votos a la lista de correos.
- Las peticiones de eliminación requieren la siguiente información:
  - Nombre del paquete y la dirección URL a la página AUR
  - Razón para su eliminación, al menos una breve nota
    Aviso: Los comentarios de un paquete, no son razón suficiente para señalar un paquete para su eliminación. Porque tan pronto como TU toma medidas, el único lugar donde se puede obtener esa información es la lista de correo general de aur.
  - Incluir detalles de información, como cuando un paquete es proporcionado por otro paquete, si es el mismo mantenedor, si se ha cambiado el nombre y el propietario original está de acuerdo, etc.

Las solicitudes de abandono pueden ser rechazadas, en cuyo caso es probable que se avise del abandono del paquete para referencias futuras del empaquetador.

## [community]

El repositorio [community], mantenido por los Trusted Users, contiene los paquetes más populares de AUR. Está habilitado de forma predeterminada en `/etc/pacman.conf`. Si [community] se ha deshabilitado o eliminado, se puede activar descomentándolo, o añadiendo estas dos líneas, respectivamente:

    /etc/pacman.conf

    ...
    [community]
    Include = /etc/pacman.d/mirrorlist
    ...

Este depósito, a diferencia de AUR, contiene paquetes binarios que se pueden instalar directamente con pacman y a los archivos de compilación también se puede acceder con ABS. Algunos de estos paquetes pueden eventualmente pasar a los repositorios [core] o [extra], cuando los desarrolladores los consideran cruciales para la distribución.

Los usuarios también pueden acceder a los archivos de compilación de [community] editando `/etc/abs.conf` y habilitando al repositorio [community] en la matriz `REPOS`.

## Repositorio Git

Un repositorio git de AUR es mantenido por Thomas Dziedzic proporcionando paquete históricos, entre otras cosas. Se actualiza, al menos, una vez al día. Para clonar el repositorio (varios cientos de MB):

    $ git clone git://pkgbuild.com/aur-mirror.git

Más información: Interfaz Web, readme, hilo del fórum.

## FAQ

### ¿Que es AUR?

AUR (Arch User Repository) es el lugar donde la comunidad de Arch Linux puede subir los PKGBUILD de las aplicaciones, bibliotecas, etc., y compartirlos con el resto de la comunidad. Los demás usuarios pueden votar para que sus favoritos entren en el repositorio [community] de modo que puedan ser instalados en Arch Linux en formato binario.

### ¿Qué tipo de paquetes se permiten en AUR?

Los paquetes en AUR no son más que «scripts de compilación», es decir, instrucciones para construir los binarios que pueden ser manejados por pacman. Para la mayor parte de los casos, no hay limitaciones, siempre y cuando se ajusten a las directrices de la utilidad antes mencionada y a los términos de licencia del contenido. En otros casos, cuando se menciona que «no se puede vincular» a las descargas, como cuando los contenidos no son redistribuibles, solo se podrá hacer uso del mismo nombre del archivo como la fuente. Esto significa y requiere que los usuarios deben tener ya la fuente en el directorio de compilación antes de iniciar el proceso de construcción del paquete. En caso de duda, pregunte.

### ¿Cómo puedo votar por los paquetes en AUR?

Inscríbase en el sitio web de AUR para tener acceso a la opción "Vote for this package" («Vote por este paquete») mientras explora los paquetes.

### ¿Qué es un TU?

Un TU (Trusted User) es una persona encargada de supervisar el repositorio AUR y el repositorio [community]. Ellos son los que colocan los paquetes más votados en el repositorio [community], marcan los PKGBUILDs como seguros y mantienen AUR.

### ¿Cuál es la diferencia entre Arch User Repository y [community]?

Arch User Repository contiene todos los PKGBUILD que los usuarios envían; para instalarlos tiene que construirlos manualmente con makepkg. Cuando un PKGBUILD obtiene suficientes votos, pasa al repositorio [community], donde los TUs lo mantienen y puede instalarse como binario directamente con pacman.

### ¿Cuántos votos necesita un PKGBUILD para llegar a [community]?

Por lo general, son necesarios, al menos, 10 votos para que algo se mueva al repositorio [community]. Sin embargo, si un TU quiere apoyar un paquete, se suele pasar dicho paquete al repositorio.

### ¿Cómo hacer un PKGBUILD?

Lo mejor es mirar Creating packages. Recuerde mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.

### No me funciona «pacman -S foo», aunque sé que el paquete «foo» está en [community]

Probablemente no ha activado el repositorio [community] en el archivo `/etc/pacman.conf`. Basta con descomentar las líneas relevantes. Si el repositorio [community] está habilitado en `/etc/pacman.conf`, pruebe ejecutando primero `pacman -S -y` para sincronizar el pkgcache, antes de intentar de nuevo instalar el paquete.

### Un paquete en AUR está desactualizado, ¿qué hago?

Puede marcarlo como obsoleto. Si no se actualiza en un periodo de tiempo razonable, lo mejor es avisar a su mantenedor por email. Si el responsable no responde, puede comunicarlo a la lista de correo general de AUR, para que un TU (usuario de confianza) declare huérfano al PKGBUILD y pueda adoptarlo si desea mantenerlo él mismo. Cuando se trate de un paquete que lleva desactualizado más de 3 meses y, en general, no se actualiza desde hace mucho tiempo, por favor agregue esto en su solicitud de orfandad.

### Quiero enviar un PKGBUILD ¿podría alguien comprobar antes si tiene errores?

Si quisiera recibir comentarios a tu PKGBUILD, envíelo a la lista de correo de AUR para que los TU y los otros miembros de AUR puedan orientarle para mejorarlo. Otro lugar donde puede encontrar ayuda es el canal IRC, #archlinux en irc.freenode.net. También puede usar namcap para depurar su PKGUILD y el pkg.tar.gz.

### Foo, que está en AUR, no me compila con makepkg, ¿qué hago?

Probablemente está pasando por alto alguna cosa.

1. Ejecute `pacman -Syyu` antes de compilar nada con `makepkg` dado que el problema puede ser que el sistema no está al día.
2. Asegúrese de que tiene instalados tanto los grupos «base» como «base-devel».
3. Pruebe usando la opción «`-s`» con `makepkg` para comprobar e instalar todas las dependencias necesarias antes de comenzar el proceso de compilación.

Asegúrese de leer primero el PKGBUILD y los comentarios en la página de AUR del paquete en cuestión. La razón puede no ser trivial después de todo. La personalización de CFLAGS, LDFLAGS y MAKEFLAGS puede causar fallos. También es posible que el PKGBUILD se rompe para todos. Si no puede resolverlo por su cuenta, simplemente informe al mantenedor, por ejemplo, mediante la publicación de los errores que está recibiendo en los comentarios de la página de AUR.

### ¿Cómo puedo acelerar los repetidos procesos de compilación?

Si suele compilar del código que utiliza gcc —como por ejemplo, un paquete git o SVN—, puede encontrar útil utilizar ccache, abreviatura de «compiler cache».

### ¿Cómo accedo a paquetes de Unsupported?

Véase #Installing packages

### ¿Puedo subir archivos a AUR sin usar la interfaz web?

Puede usar burp, aurploader (python3-aurAUR) o aurupAUR —se trata de programas de línea de órdenes—.

Categories:

- Arch User Repository (Español)
- Package development (Español)
- Package management (Español)