abr 14 2011
ArchLinux: Yaourt y AUR

Buenos días tardes o noches según sea tu caso, hoy trataremos de un tema poco tratado aquí en ifxperu, trataremos sobre Linux, específicamente sobre sobre el gestor de paquetes yaourt de Arch Linux.(Lo mejor de ArchLinux después de su filosofía )
Conceptos
Arch Linux tiene su gestor de paquetes nativo PACMAN(No, no es un juego, significa Package Manager), pero opcionalmente podemos instalar yaourt que es como un apoyo a pacman que completa los programas que no están en los repositorios oficiales de Arch, yaourt usa el repositorio AUR( Arch User Repository )
Para aquellos que han usado ubuntu, para que se ubiquen mejor, pacman es el apt-get de Arch, en Arch el equivalente a los ppa’s de ubuntu, sería AUR un único repositorio donde estarían todos los ppa’s, que en ubuntu están “desparramados” y por último yaourt es como un apt-get para estos repositorios ppa. o sea para AUR el un repositorio de todo el software no-oficial sin embargo disponible para todos.
Según la Wiki de Archlinux, Yaourt es:
Una herramienta mas para el repositorio del usuario,( Y et A n O ther U ser R epository T ool, por sus siglas en ingles). Yaourt es una herramienta hecha por la comunidad para pacman, que agrega acceso sin complicaciones a AUR , descargando y automatizando la compilación e instalación de mas de 8000 PKGBUILDs disponibles en AUR , ademas de miles de binarios disponibles. Yaourt usa la misma sintaxis que pacman, lo cual le ahorrará el trabajo de aprender un nuevo método de mantenimiento del sistema, pero también agrega nuevas opciones. Yaourt expande el poder y la simpleza de pacman añadiendo varias opciones muy útiles entre una consola agradable, la consola colorizada, búsqueda interactiva, entre muchas mas. Usted realmente le gustara esto.
Que tal floro que se meten en la wiki jeje..pero está bien explicada.
Como podemos ver en la imagen, lo que no hay en pacman, hay en yaourt; hay varios paquetes de dropbox disponibles para instalar, cada uno con su descripción.
Bueno ahora que sabemos que es Yaourt y Aur procedemos a explicar que es un PKGBUILD, un pkgbuild es un script, que le indica a yaourt, de donde debe descargar el codigo fuente y como debe compilarlo.
También hay un archivo que se termina en .install, creo que es obvio para que sirve, es el script que da detalles sobre la instalación, que se debe hacer antes, que se debe hacer después, etc etc.
Que Ventajas tiene Yaourt y AUR:
Pues las ventajas son muchas, la principal, es que todo lo encuentras con un par de lineas de comando, y no tienes que estar buscando por internet, el código fuente, o el instalador, o como instalarlo, no te tienes que preocupar por eso, porque de seguro alguien ya lo hizo por ti.
Desventajas:
Está hecho por el pueblo(algo así como wikipedia), por lo que en los script de compilado o instalación puede tener código malicioso, es por esto, que Yaourt, antes de ejecutar el pkgbuild o el install te pregunta, si deseas editar o revisar los archivos.
Como funciona, la comunidad:
En AUR, hay miles de programas, que no están en los repositorios oficiales por ejemplo dropbox, que como no está en los repositorios oficiales de Arch, entonces un usuario, en alguna parte del mundo, se baja el código, lo compila, y lo instala, este usuario que ya logro instalarlo, comparte los pasos a traves de un script, lo sube a los repositorios de yaourt, y ahora todos pueden instalar dropbox, con simplemente yaourt -S dropbox.
Si quieres saber lo necesario para colaborar, entra aquí.
Algunos problemas:
Estos problemas, solo se dan con algunos programas que necesitan ser modificados ligeramente, la mayoría no necesita de esto..

Podemos ver que nautilus-dropbox está marcado como “Out of Date”, si lo intento instalar me saldrá un error:

Uno o más archivos no pasaron la verificación de integridad
Lindo error jeje..
Cuando el instalador o el pkgbuild deja de funcionar los programas son marcados como “out of date”,estos problemas a veces se dan porque, se cambio la ruta del archivo, y no se logra descargar(404) o se actualizó el archivo y el checksum no es el correcto. Si, cosas tan simples como esas, marcan un programa como “out of date”, y no lo podremos instalar
, pero se olvidaron que les dije que se podían editar los archivos de pkgbuild?, bueno en el script, está embebida la ruta del archivo, y también el checksum, un poquito de logica, y estos datos se cambian, y listo.
Esto me paso cuando quise instalar nautilus-dropbox que está“out of date”, y el error?.. es que el checksum es invalido, lo que hice fue entrar al pkgbuild, que siempre lo había pasado por alto, cuando me preguntaba, deseas editarlo, yo le daba No jeje, pero esta vez lo hice y vi que ahí estaba la ruta del archivo y el checksum, ni siquiera tuve que buscarla, estaba a primera vista, y no tuve que buscar el archivo pkgbuild, porque el mismo yaourt me propone abrirlo, en el pkgbuild, copié la ruta del instalador, lo descargué por otro lado con wget y por linea de comando md5sum nombreArchivo obtuve el checksum, remplazé el checksum en el pkgbuild, y eureca!!, continuó normal con su instalación.
Claro en un principio no entiendes ni un carajo de ese script, pero a grandes rasgos se puede saber cual es el archivo de descarga, y cual es el checksum,
En la misma instalación, me pasó algo parecido con el script share dropbox, que aunque este está“out of date”, porque el archivo no está donde debería, por que cambió de versión y con eso su nombre, entonces me aparecía 404 No found.. volví a repetir casi todos los pasos anteriores, solo edite el pkgbuild, con la ruta correcta, actualicé el checksum, en esté caso fue sha1, pero el proceso era casi el mismo. Y lo terminé instalando.
La gran ventaja de AUR y Yaourt, es que tienes todos los programas a dos simple lineas de distancia,
“sudo yaourt -Ss programa”, para buscar
“sudo yaourt -S programa” para instalar,
Y si te cruzas con algún error, como esos, puedes modificar o crear tu propio instalador en base a los script ya creados.
Con Yaourt, nunca más deberías pasarte horas y horas buscando el instalador o el repositorio ppa, y/o buscar como compilar el código fuente, para después perder otras dos horas más buscando como instalarlo.
PD: Archlinux es muy criticado por no ser fácil de instalar, pero me encanta su filosofía, puedes leer más en su wiki, si quieres aprender un poco más de linux, esta es tu distribución, si eres un usuario final, ubuntu.
More info: https://wiki.archlinux.org/
La Wiki de Archlinux, es una de las wikis de Linux más completas, y más ordenadas que he visto.




