¿Qué es AUR en Arch Linux y debería usarlo?
Publicado: 2023-06-23AUR 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?
¿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 sí 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.
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.
¿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.
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.
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.
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
Cuando se complete la descarga, cambie al nuevo directorio "yay".
cd yay
Veamos qué archivos tenemos.
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
¿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.
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