Posts Tagged ‘pacman

05
Dic
09

Compilar programas disponibles en el AUR e instalarlos

El otro día me enteré que se puede postear código fuente en los entradas del blog de manera muy fácil, de modo que voy a tomar unos artículos que había escrito hace un buen tiempo [1] [2] que estaban muy adornados con “teoría” para que el usuario supiera qué era lo que estaba haciendo realmente para dejar solo la parte práctica. En esa ocasión no utilicé el plug in para desplegar código, así que supongo que ahora puede quedar más “limpio”.

Sin embargo, antes que todo claramente debo situar la escena. Pasa que en Arch Linux existe un repositorio (el AUR) que es mantenido por los usuarios de la distribución en los que ellos suben código que permite instalar programas que no están disponibles en los repositorios oficiales. Si bien se corre un riesgo al hacer uso de esta opción (Arch no les da soporte y toda la responsabilidad recae en la comunidad), utilizarla nos permite acceder a montones de programas que no están contemplados oficialmente.

Ahora sí, la parte práctica. Para instalar un programa descargado desde el AUR en la carpeta “downloads” (por ejemplo), basta con seguir la siguiente secuencia de pasos (la cual no está pensada para ser utilizada como script).

#  Supóngase que el nombre del paquete a instalar es "foo"
#+ y que este se encuentra en la carpeta downloads.
cd downloads
gunzip -c foo.tar.gz | tar xopf -
cd foo
makepkg
su
pacman -U foo.pkg.tar.gz
exit

Lo anterior asume que el usuario que mantiene el paquete en el AUR es ordenado y puso todo su código en la carpeta foo y luego la comprimió en un archivo tar.gz. Esto es lo habitual. También se asume que el código que proporcionó no es defectuoso y/o malicioso…

Para conocer todos los detalles que hay detrás de las operaciones anteriores (cómo hacer que se pueda compilar el código como usuario normal, qué es el ABS o el PKGBUILD por ejemplo), visite los artículos Compilar programas en Arch e instalarlos primera y segunda parte. Si usted nunca ha hecho uso de makepkg antes, se lo recomiendo totalmente. Ahora si lo que quiere es tener a mano la secuencia de comandos (como yo), no se moleste.

23
Nov
08

Manejo básico de pacman en Arch Linux

Escribiendo el post acerca de la instalación de Arch Linux me percaté que en muchas ocasiones puse instrucciones que dependían de pacman. Para los no entendidos, pacman (en el mundo de Arch Linux), corresponde al gestor de paquetes de la distribución (algo así como apt en Debian) y toma su nombre por tanto de PACkage MANager.

Pacman está extremadamente bien escrito y es una de las principales razones por las cuales uso Arch Linux. Goza de mucha simpleza y versatilidad, por lo que incluso he leído que mucha gente considera que es superior al mismísimo apt.

El objetivo de este post es ofrecer una pequeña guía de comandos comunes y que son básicos para desenvolverse con pacman en Arch Linux. Nótese que se adopta la misma convención que en el otro artículo: las palabras entre corchetes cuadrados corresponden a parámetros a ingresar por el usuario.

La presente guía está basada en la página de la wiki de Arch para pacman.

Seguir leyendo ‘Manejo básico de pacman en Arch Linux’

24
Dic
07

Compilar programas en Arch e instalarlos (segunda parte)

A continuación les dejo la segunda parte del artículo. Si le gustó el primero, debe leer el segundo… Y si no… No no más pues.

Como mencioné en el post anterior, es bueno tener cierto conocimiento acerca de unos conceptos. Continúo con ello.

PKGBUILD. Como mencioné anteriormente, corresponde a un archivo de texto con las instrucciones necesarias para compilar un programa desde su código fuente y dejar el paquete listo para ser instalado mediante pacman. Los archivos PKGBUILD tienen un campo que especifica desde dónde bajar el código fuente, por lo que sólo se necesita éste archivo y todo el proceso debiese efectuarse automáticamente (nuevamente si los astros están alineados y todo eso). Un ejemplo de estos archivos se encuentra en la wiki de Arch y lo puedes ver aquí. Otra explicación de las variables que se usan en el archivo también pueden encontrarla aquí. Como están en inglés voy a nombrar las que me parecen relevantes:

  • pkgname: el nombre del paquete
  • pkgver: versión del paquete
  • pkgdesc: descripción del paquete
  • arch: la arquitectura de software en la que se sabe que funciona el programa (procesador, cantidad de bits 32 vs 64)
  • url: especifica la web asociada al programa
  • license: la licencia bajo la que se distribuye el software
  • depends: dependencias que necesita el programa para funcionar
  • makedepends: dependencias necesarias para compilar el programa (pero que no son necesarias una vez que éste está instalado)
  • conflicts: paquetes que producen conflicto si están instalados al mismo tiempo que el paquete que queremos compilar e instalar
  • install: especifica un archivo anexo que se debe utilizar para la instalación (se debe revisar cuidadosamente dicho archivo para verificar que es seguro)
  • source: dirección desde donde se debe descargar el código fuente del programa
  • md5sums: especifica una llave de comprobación de la integridad del código fuente descargado (o sea, verifica que no se haya bajado con errores)

Bueno, son CASI todas las que aparecen. Revisen los links para más detalles. Otro aspecto relevante corresponde a la función build() que se declara en cada PKGBUILD. Dicha función es la que específicamente se encarga de compilar el programa. Detalles con respecto a esta función se pueden ver aquí. Difieren para cada programa, pero básicamente se trata del ./configure, make y make install habitual junto a otras instrucciones.

makepkg. Corresponde a la herramienta de la que dispone Arch para compilar los programas. Básicamente se encarga de leer los PKGBUILD y ejecutarlos, de modo de obtener un paquete listo para ser instalado por pacman (info más detallada en la wiki de Arch). Un link tipo tutorial acerca de makepkg/abs (en inglés) puede ser visto aquí.

Creo que con respecto a los conceptos, eso es suficiente. Ahora vamos con lo que en realidad nos interesa, compilar e instalar (en base a un PKGBUILD ya hecho).

Seguir leyendo ‘Compilar programas en Arch e instalarlos (segunda parte)’

24
Dic
07

Compilar programas en Arch e instalarlos (primera parte)

El siguiente artículo pretendía ser publicado en su totalidad al tiro, pero como se anduvo alargando lo separo en dos partes, la primera de las cuales dejo a continuación.

No me había animado a hacerlo, pero ahora ya logré mi primera instalación exitosa de un programa que no esté en los repositorios de Arch. La cuestión parece que es bien fácil si el programa se encuentra en el AUR (y los astros están alineados de la manera correcta). Bueno, la verdad es que instalé unos scripts solamente, pero algo es algo.

Vamos por partes. ¿Qué es el AUR? Corresponde a ArchLinux User-community Repository, el Repositorio de la Comunidad de usuarios de Arch Linux. Allí los usuarios suben unos archivos de texto plano conocidos como PKGBUILD en los cuales se detalla la forma de compilación e instalación de los programas en Arch, los cuales pueden ser utilizados por la comunidad de usuarios de la distro para instalar programas que no se encuentren en los repositorios oficiales (en ocasiones también se suben otros archivos como parches, configuraciones, etcétera). La gracia de todo esto del AUR es que si los programas se vuelven suficientemente populares, pueden ser promovidos a los repositorios oficiales, donde cuentan con la garantía de quienes mantienen la distro funcionando. .

Lo último mencionado es importante: los PKGBUILD (y otros archivos) que se encuentran en el AUR no son necesariamente seguros. Por ejemplo, en el mismo sitio del AUR se dice que sólo el 29,4% de los paquetes que se encuentran en unsupported han sido revisados y marcados como seguros, además que sugieren revisar cuidadosamente las instrucciones de todos los archivos que se pueden bajar de dicho sitio. Por ello, el primer paso si se quiere instalar un programa es revisar los repositorios oficiales y sólo luego de ello recurrir a los paquetes disponibles en el AUR.

Ah, con respecto a lo del repositorio oficial, por experiencia propia he visto que en dicha página no se encuentran listados todos los paquetes disponibles, por lo que puede ser una buena idea utilizar pacman para buscar programas:

$ pacman -Ss <nombre_paquete>

Bien, una vez establecido lo anterior, es hora de poner manos a la obra. Veamos… Si usted es un conocedor de la lengua de Shakespeare, puede acceder a la wiki de Arch donde después de su buena búsqueda podrá encontrar cómo diablos instalar paquetes con un PKGBUILD. A mi entender, quizás toda esa info es demasiado técnica, por lo que trataré de simplificar el asunto (si no lo logro lo suficiente, discúlpeme, pero haré mi mejor esfuerzo).

Si quieren saber más de Arch y sus repos, pueden revisar los siguientes links: ArchLinux (Español) y Repositorios Oficiales.

Ahora, conceptos que se supone uno debiese conocer:

ABS, Arch Build System. Según muchos amantes de Arch, una de sus gracias es que existe la posibilidad de compilar uno mismo los programas de acuerdo a una serie de reglas (hecho tan técnico que aun no logro entender, pero básicamente es lo que escribí), tal como en Gentoo. Si uno quiere realizar esto con los programas que están en el respositorio de Arch, puede hacer uso de ABS. Según la wiki (en inglés) de la distro

ABS es una herramienta especializada de Arch para compilar programas desde el código fuente hasta crear un paquete .pkg.tar.gz, el cual es instalable mediante pacman.

¿Dudas? Los archivos con extensión tar son como los zip, pero sin compresión, mientras que los gz sí están comprimidos. Esto es, los tar pueden guardar varios archivos en uno solo el cual luego es comprimido (gzipped). Por otra parte, pacman es el gestor de paquetes de Arch (pacman es por package manager), es decir, el programa que se encarga de instalar/desinstalar los paquetes en Arch y manejar dependencias. Si no se entendó eso, quizás sea buena idea revisar el link que puse en el segundo párrafo al respecto (allí el “símil” de pacman es apt/aptitude).

Si se desea hacer esto de compilar archivos que se encuentren en el repositorio oficial, se debe crear el ABS tal como se explica en la wiki de Arch. Entren ahí y ejecuten los comandos descritos hasta abs (incluido), todos como root. Luego los PKGBUILDs de cada programa que esté en el repo oficial los podrán encontrar bajo /var/abs. Cada vez que ejecuten la instrucción abs, se actualizará el árbol del ABS, por lo que recomiendan hacerlo periódicamente.

Próximamente, la segunda parte.

Cualquier duda o corrección (lo que he escrito no necesariamente es totalmente exacto), sírvase a escribir en los comentarios. En la medida que pueda ayudar, lo haré.

Link a la segunda parte.




buscar en el blog

calendario de posts

febrero 2017
L M X J V S D
« Mar    
 12345
6789101112
13141516171819
20212223242526
2728  

Contacto

Siéntase libre de escribir a contacto También puede encontrarme en Last.fm, YouTube, Delicious y Twitter.