Posts Tagged ‘arch

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.

14
Ene
08

Reviviendo el PC

Uff… Estuve unos días sin PC porque tuve un error brígido… Kernel panic y cuestiones, inconsistencia en el sistema de archivos… No me di la molestia de arreglarlo pues este error llegó justo en el momento en que necesitaba tiempo libre para leer un mamotreto que pedí en la biblioteca de Santiago (aventura que le lleva una situación que aun no logro comprender y que si me da la gana y el tiempo contaré en otro post). Esto, ya que habitualmente pierdo horas e incluso a veces días resolviendo las quejas de mi PC…

Bueno, habiendo leído ya unas 450 páginas (todavía no llego a la mitad) y como a esta hora están dando Perdidos en el Espacio en la radio, me di la molestia de buscar en internet acerca del problema que tenía el PC y la solución es bastante simple… Procedo a comentar el problema y la solución.

Antecedentes:

  • Sistema Operativo: Arch Linux
  • Memoria RAM: 512 Mb
  • Discos duros: digamos unos 80 – 90 Gb, de esos viejos (creo que los nuevos son SATA, bueno, mis discos no lo son)
  • Sistema de archivos: ext3

Ya, resulta que llegó a mis manos un módulo de memoria RAM de 256 Mb y quise instalarla en el PC. Sumado a esto, quise instalar un disco duro que tenía “botado” por ahí. OK. Abrí el PC, limpié la gran cantidad de suciedad que había e instalé ambas cosas. Reboot… Error en el disco. Bueno, hace años había tenido el mismo problema, pero con un lector de CD, por lo que creo que creo que el malo es el enchufe ese gordo que ahora no me acuerdo cómo se llama… Pero eso es harina de otro costal.

Saqué el disco, reinicié (pasando por la BIOS en todos los casos) y llego a la bienvenida de Arch en KDE. Meto la clave e inicio sesión. Carga, pero falta en la barra faltan los programas que se están ejecutando. “Voy a matar la X”, pensé. CTRL + ALT + DELETE. Bueno, ahora le puedo decir que ¡¡¡no haga esoooo!!! Yo lo había hecho en varias oportunidades (a sabiendas que puede traer problemas) y ahora me tiró unos errores 4 y 8 de no sé dónde. Dije: “no ha de ser grave”. Apreto reset en el PC (no me dejó ocupar ni el comando halt ni reboot) y de nuevo… ¡¡¡Usted no lo haga!!! Corrompí algo (qué se yo qué sería) y me tiró los mansos kernel panics y yo tenía el alma dividida: “wow, nunca había tenido un kernel panic” y “¡qué desastre!”. OK, como no me dejaba ejecutar comandos (me daba errores) al igual que en el caso anterior, nuevamente reset (si ya lo comprendió antes, no creo que sea necesario que le recuerde nuevamente que eso no se debe hacer).

Cargo el sistema… Revisando los discos… Error.

Multiply-claimed block(s) in inode ###: ###

donde los ### eran unos números. Fueron como 4 mensajes de esos y no me dejaba iniciar el PC. Moría ahí mismo. Esperando un rato salía un informe de los nodos conflictivos y los archivos que estaban involucrados. Si bien eran de sistema, eran de baja importancia: imágenes, un .desktop y un PKGBUILD del abs.

Acudí a un PC con internet, puse el error que arriba está en negrita (“blanquita”) en google y el oráculo me dijo al tiro que ejecutara

fsck /dev/partición

donde partición corresponde a hdXY o sdXY según sea el caso (el error especifica la partición conflictiva). Bueno, ejecuté el comando como root (a pesar de no cargar el sistema completo, ofrece la posibilidad de ingresar como root en una sesión “limitada”), me preguntó un par de cosas, a las cuales sólo respondí y (yes, claro está)… Voilà, aquí estoy postando desde mi PC y esperando que al siguiente reboot no haya problemas…

PD: importante, el fsck se debe ejecutar en una partición que NO ESTÉ MONTADA. Se me había olvidado mencionar ese pequeño gran detalle. Si lo ejecutan estando la partición montada, puede que dejen una escoba más grande que la original.

PD2: luego de sucesivos on/off, el PC ha funcionado normalmente…

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.

21
Dic
07

Yo uso Linux

La verdad es que hace casi un año que uso Linux (la primera distro en instalar satisfactoriamente fue Ubuntu 6.10 el 31 de diciembre de 2006) y me encanta. Salvo eso que no existe la última chupada del mate en juegos, está bien, sobretodo porque ya no juego mucho en el PC (Pinball Fantasies emulado con DOSBox no más).

Recordemos el sublime momento de ver la distro recién instalada con una screenshot de la época:

Ubuntu 6.10

Ahí poniendo el sistema up to date.

Lo único que realmente me complica de usar alguna distro de Linux es no disponer de una aplicación poderosa para planillas de cálculo como Excel (Calc de OpenOffice.org no se la puede en ese sentido), cosa que quizás ahora no creo que moleste tanto pues es de esperar que no necesite del poder de ese software por lo pronto. Por otra parte está el hecho que en la U se tiene Windows en las estaciones de trabajo para los alumnos, por lo que debo encontrar pronto un reemplazo para software como PSpice o bien tratar de ejecutar Windows en entorno Linux, o buscar un equivalente (¿Oregano?)… O bien seguir directamente estos consejos: Five ways to use Windows apps in Linux.

Otro problema es que casi la totalidad de mis amigos usa Windows y MS Office, por lo que a veces la compatibilidad de programas (para hacer trabajos en grupo por ejemplo) se va a las pailas, igual que cuando suben planillas de Excel con notas a Internet y no veo más que un montón de instrucciones XML en lugar de una hoja de cálculo, pero en fin, son cosas que se pueden soportar si se tiene entusiasmo por esto del software libre.

Ocupé feliz de la vida Ubuntu por gran tiempo, hasta que me dio por instalar Arch. Lo hice y quise echar a andar Xfce (un entorno de escritorio), experiencia francamente desagradable. Recordemos aquel oscuro pasaje con una screenshot del 15 de julio de 2007:

Arch Voodoo + Xfce

Me costó realmente un mundo echar a andar la X y cuando lo hice, me encuentro con un entorno gráfico con unas fuentes horribles… Instalé todas las fuentes habidas y por haber según lo que pude investigar con google, pero nada funcionó. Además, al instalar esta distro, eché a perder Ubuntu, por lo que al final reinstalé todo de nuevo y me quedé con Ubuntu solamente. Obviamente había previsto esto, por esta razón jugué con las particiones en esta fecha, ya que

  1. Tenía tiempo libre disponible.
  2. La nueva versión de Ubuntu, conocida como Feisty, había salido tiempo atrás y no la había instalado.

Recordemos esa vuelta al lado apt de la fuerza con otra screenshot, ahora de Feisty:

Ubuntu Feisty

Seguir leyendo ‘Yo uso Linux’




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.