¿Qué es AUR en Arch Linux y debería usarlo?

Publicado: 2023-06-23
Logotipo de Arch Linux en el sitio web ArchWiki.
Jordan Gloor / Instructores Geek
El repositorio Arch Linux AUR contiene software impulsado por la comunidad que es seguro de usar si toma algunas precauciones simples. Incluso si no comprende las secuencias de comandos de shell, hay indicadores que puede usar para juzgar si un paquete es seguro o no.

AUR es una de las joyas de la corona de Arch Linux, que proporciona miles de paquetes de software adicionales. Pero, ¿es seguro usar este repositorio dirigido por el usuario o debería evitarlo?

Tabla de contenido

¿Qué es el AUR?
Los peligros de usar el AUR
Seguridad de AUR: verifique los detalles del paquete y la reputación
Verifique el contenido de PKGBUILD y otros archivos
Puedes ayudar a otros usuarios de AUR

¿Qué es el AUR?

El AUR (Arch User Repository) es un repositorio de software impulsado por la comunidad que proporciona más de 85 000 paquetes de software a los usuarios de Arch Linux. A diferencia de otros repositorios de Arch, como los repositorios core, extra y multilib, AUR no aloja paquetes listos para instalar. De hecho, no aloja archivos binarios ni software empaquetado en absoluto.

El AUR aloja archivos de compilación de paquetes, llamados PKGBUILD. Estos son scripts de shell que ejecuta la herramienta Arch makepkg . Cuando se ejecuta makepkg , busca un archivo llamado "PKGBUILD". Si encuentra uno, lo abre y sigue las instrucciones que contiene para crear un archivo de paquete de software en su computadora. Si está familiarizado con la compilación en la línea de comandos, un archivo PKGBUILD y makepkg funcionan juntos de manera similar a MAKEFILE y la utilidad make .

Las instrucciones de PKGBUILD descargan archivos de código fuente y otros archivos necesarios para crear el archivo del paquete. La herramienta pacman se llama automáticamente para instalar el software desde el archivo del paquete.

A riesgo de generar cierta confusión, algunos paquetes AUR entregan binarios precompilados. Pero esos binarios no están alojados en AUR, están almacenados en otro lugar de Internet. La entrada AUR para esos paquetes solo contiene un archivo PKGBUILD que descarga el binario precompilado en su computadora.

Arch Linux vs. Ubuntu: ¿Cuál debería usar?
RELACIONADO Arch Linux vs. Ubuntu: ¿Cuál debería usar?

AUR permite que cualquier persona cree un PKGBUILD para una pieza de software que le gustaría poner a disposición de otros usuarios de Arch. Estos pueden ser paquetes de código abierto o cerrado, o incluso software comercial. Los paquetes AUR que obtienen suficientes votos de los usuarios se pueden promocionar a un repositorio de Arch normal llamado repositorio de la comunidad.

El problema con el AUR se vuelve evidente cuando lo reduce a lo básico. Es una colección de scripts de usuarios aleatorios en Internet. Y les gustaría que los ejecutaras en tu computadora.

Para mitigar los riesgos, los scripts cargados son revisados ​​por voluntarios calificados y respetados, conocidos como usuarios de confianza. Los usuarios de confianza inspeccionan y prueban los PKGBUILDS, y eliminan los que contienen errores peligrosos o intenciones maliciosas.

RELACIONADO: Cómo actualizar Arch Linux

Los peligros de usar el AUR

Es una ocurrencia muy rara, pero a veces las cosas se escapan de la red, a pesar de la diligencia de los usuarios de confianza. En 2015, un script Steam de Valve Software borró su directorio de inicio si previamente había movido el directorio Steam a una nueva ubicación.

Más siniestro fue el incidente de 2005, cuando un nuevo mantenedor se hizo cargo de un paquete huérfano de AUR y añadió deliberadamente un código malicioso al archivo PKGBUILD. Estos ejemplos son antiguos y poco comunes, pero las mismas cosas podrían volver a suceder.

Por supuesto, si tiene la habilidad suficiente, puede revisar el contenido del archivo PKGBUILD usted mismo. Esta transparencia es uno de los puntos fuertes de AUR, pero requiere suficiente conocimiento de secuencias de comandos para beneficiarse de ella. Y eso solo cubre el archivo PKGBUILD en sí. Si obtiene una gran cantidad de código fuente de la aplicación, en teoría, eso también debería verificarse.

Otros peligros en el uso de AUR están basados ​​en la distribución. No todas las distribuciones basadas en Arch son lo suficientemente parecidas a Arch para que AUR funcione sin problemas. El AUR asume que se está instalando en Arch Linux genuino, y en una versión actualizada y completamente parcheada. Manjaro, por ejemplo, no admite oficialmente AUR a pesar de que está basado en Arch.

Pero, dado que su distribución es compatible con AUR, ¿qué puede hacer para asegurarse de que lo está usando de la manera más segura posible, ya sea que entienda el código fuente y los scripts de shell o no?

Seguridad de AUR: verifique los detalles del paquete y la reputación

Incluso sin revisiones de código, hay pasos que puede seguir para ayudarlo a decidir si puede confiar en un paquete AUR.

Encuentre su paquete en AUR

Hay una página en AUR para cada paquete. La página web del paquete describe el paquete, qué dependencias tiene, qué paquetes dependen de él y otra información útil. Comience su investigación yendo a AUR y buscando su paquete.

La barra de búsqueda en el sitio web de AUR

¿Cuál es su reputación?

Los usuarios pueden votar por los paquetes, y también se otorga una puntuación de popularidad a cada paquete. Cuantos más votos y mayor sea la popularidad, mejor. Significa que el paquete es bien conocido y ampliamente utilizado. En otras palabras, es un paquete de buena reputación.

Los detalles del paquete AUR para los paquetes yay, con los votos y las cifras de popularidad resaltadas

La reputación del paquete es una buena indicación de su confiabilidad. Cuantas más personas lo usen y voten por él, más cómodo te sentirás al usarlo.

Verifique las fechas de actividad

En la sección "Detalles del paquete" verás sus votos, puntuación de popularidad y dos fechas. Una es cuando los paquetes se introdujeron por primera vez en AUR y la segunda es cuando el paquete se actualizó por última vez.

Los detalles del paquete AUR para los paquetes yay, con las fechas de primer envío y última actualización resaltadas

La fecha de "Última actualización" le indicará si el paquete se mantiene activamente. Los paquetes que han estado inactivos durante mucho tiempo deben tratarse con precaución.

¿La URL ascendente es una ubicación válida?

También verifique la "URL ascendente" y verifique que se dirija a una página web o repositorio de código válido para el paquete o proyecto. Si no es así, algo anda mal.

Los detalles del paquete AUR para los paquetes yay, con la URL ascendente resaltada

Lea los comentarios del usuario

Hay comentarios de los usuarios al pie de cada página de AUR. Estos pueden extenderse a lo largo de muchas páginas. Vea lo que otros usuarios dicen sobre el paquete y qué tipo de preguntas hacen. También vea qué soluciones se ofrecen a los problemas que se plantean. ¿Hay algún comentario reciente? ¿Este paquete todavía tiene una base de usuarios activa?

Regístrate y Participa

Si te registras en AUR y creas una cuenta gratuita podrás dejar comentarios y hacer preguntas. Además, use otros recursos como foros y subreddits para preguntar sobre el paquete.

Incluso si no entiende los scripts de shell, todavía hay un par de cosas que puede verificar.

Verifique el contenido de PKGBUILD y otros archivos

Una forma común de acceder a AUR es con una línea de comando "ayudante de AUR" como yay , pero también puede usar AUR de forma práctica y manual.

Los buenos ayudantes de AUR le brindan la opción de inspeccionar el archivo PKGBUILD, deteniendo la instalación si no desea continuar. En el proceso manual, busca el paquete en AUR y descarga el archivo PKGBUILD y lo inspecciona antes de usarlo. Si desea continuar después de haberlo revisado, ejecute makepkg manualmente.

Es una buena idea instalar al menos un paquete manualmente, para que conozca la mecánica de lo que está haciendo el asistente de AUR en segundo plano. Usaremos el ayudante yay AUR como ejemplo.

El paquete se envió por primera vez en 2016 y se actualizó por última vez en mayo de 2023. Al momento de escribir, esa es una actualización muy reciente. También es notable que el remitente original, el mantenedor actual y la última persona en empaquetar el software son todos la misma persona. Esa continuidad es una buena señal.

Haga clic en el enlace URL "Git Clone URL" en la sección "Detalles del paquete" para copiarlo en el portapapeles.

En una ventana de terminal, escriba "git clone", un espacio y luego presione Shift+Ctrl+V para pegar la URL en la línea de comando. Presiona “Enter” para iniciar la descarga.

 clon de git https://aur.archlinux.org/yay.git 

Clonar el archivo yay PKGBUILD de su repositorio git

Cuando se complete la descarga, cambie al nuevo directorio "yay".

 cd yay 

Cambiando directorios a la carpeta yay.

Veamos qué archivos tenemos.

 ls 

Listado de los archivos recuperados con ls

Hay un solo archivo, el archivo PKGBUILD. A menudo hay uno o dos archivos auxiliares adicionales. Mire a través de esos también. Usaremos less para leer nuestro único archivo.

 menos PKGBUILD 

Iniciando el visor de archivos menos para abrir el archivo yay PKGBUILD

¿Qué URL utiliza el archivo PKGBUILD?

Un archivo PKGBUILD bien formado que sigue las convenciones creará variables para contener las URL que utiliza. Esto nos da una lista ordenada en la parte superior del archivo de las URL a las que hará referencia PKGBUILD. En este caso, solo hay uno.

Inspeccionando el archivo yay PKGBUILD con el visor de archivos menos

Podemos ver que apunta a una página de GitHub para el proyecto yay .

La página de GitHub es propiedad de un usuario con el mismo nombre que el mantenedor que figuraba en la página de AUR para este paquete. Estas son dos buenas indicaciones de que este es un paquete seguro.

Pero continuaremos y miraremos un poco más profundo.

Busque comandos de descarga

Use la función de búsqueda less para buscar en el archivo los usos de wget o curl . Ambas herramientas se pueden utilizar para recuperar archivos remotos. Un PKGBUILD con buen comportamiento no debería necesitar tal actividad.

Si encuentra alguna ocurrencia, trátela como una señal de alerta y no instale el paquete hasta que esté seguro de que es benigno. ¿Cuál es la URL a la que hacen referencia los comandos wget o curl ? ¿Parecen legítimos y relacionados con el paquete?

Si puede obtener la confirmación de una fuente confiable de que PKGBUILD es confiable y está escrito de una manera que no sigue las convenciones, aún puede optar por instalarlo.

Busque rm, mv y otros comandos peligrosos

Del mismo modo, no es necesario que un archivo PKGBUILD contenga los comandos rm o mv , ni deberían tener que hacer referencia a nada en el directorio “/dev”. Si PKGBUILD llama directamente pacman o menciona systemctl , systemd o cualquier otro componente vital del sistema como grub , trate el archivo PKGBUILD como peligroso y no lo ejecute.

Puede realizar los pasos que hemos usado hasta ahora incluso si no puede leer los scripts de shell. Si conoce algunas secuencias de comandos de shell, puede revisar el código real en PKGBUILD.

Tenga cuidado con el código ofuscado

Las personas que escriben código malicioso a menudo intentan ocultar sus intenciones ofuscándolo. Utilizan una sintaxis minimalista, concisa e impenetrable, por lo que es difícil descifrar lo que intentan hacer. Si ve líneas que usan la redirección o llaman a sed o awk , trátelas como sospechosas.

Copiar esas líneas y colocarlas en un analizador en línea como explicashell.com las desempaquetará para que pueda ver lo que realmente hacen. Si se enfrenta a un desorden denso de corchetes, puntos y comas y símbolos de unión, vale la pena usar un analizador en línea para verificar que haya interpretado correctamente lo que la línea está tratando de hacer. Pero, en general, el código difícil de leer es una señal de advertencia.

Tu casa debe ser tu castillo

Las compilaciones y construcciones de PKGBUILD tienen lugar en un entorno chroot .

Se trata de minisistemas de archivos aislados que permiten a los desarrolladores realizar procesos de sandbox limitando su acceso al resto del sistema de archivos de su computadora y reduciendo su acceso a otros comandos del sistema.

Si PKGBUILD está manipulando directamente su directorio de inicio, trátelo como una bandera de advertencia. Asegúrese de entender completamente lo que está haciendo antes de decidir ejecutarlo.

Puedes ayudar a otros usuarios de AUR

Con paquetes extremadamente populares, es muy probable que esté seguro. Debido a la gran cantidad de usuarios, los problemas se detectan y se notifican más rápidamente. Puede hacer su parte informando cualquier problema que encuentre y votando buenos paquetes para mejorar su reputación.

Si encuentra que hay un problema con un paquete que hace que no quiera instalarlo, puede encontrarse en un aprieto porque necesitaba ese paquete. Una forma de avanzar es pedir en los foros sugerencias de otros paquetes que puedan satisfacer esa necesidad particular.

Linux generalmente tiene muchas formas de despellejar a cualquier gato.

RELACIONADO: Cómo instalar Arch Linux desde una GUI