02 septiembre 2011

Instalando XMonad en Slackware 13.37

Vampii se ha propuesto explorar lo que hay en el Mar de las Tinieblas junto a Tinky Winky, Lala, Po y Dipsie y una espumosa, y nadar mar adentro, y no querer salir...

Señor Juez: ¿Por que hice todo esto? Como decia ALF, "cuando las cosas se ponen feas, los feos entran en accion"... Basicamente porque no me gusta la obsolecencia planificada, y hay muchisimos equipos que tranquilamente podrian estar con una interfaz grafica y ser usables, pero no solo eso, siempre es mas lindo que bateria/disco/recursos nos duren "un cachito mas", y no solo por rescatarlos, aunque sean baratos, sino simplemente porque usar solamente el teclado es muchisimo mas veloz y comodo.

Trabajo como Consultor Independiente haciendo Seguridad Informatica, desde la desesperantemente lenta "Era Paralitica". ¿Como me voy a conformar con algo menos que lo mejor? ¿Como dejar que mis hermanos sufran y no compartir conocimiento con ellos? Hace mucho tiempo que "escucho voces pero ni una palabra"... Se escuchan todas boludeces hoy...

Ninguno en sus cabales compraria un auto con el capot soldado, con la prohibicion de abrirlo, y mucho menos firmar un papel que dice que "si lo abrimos por nuestra cuenta somos delincuentes y renunciamos a defendernos", con penas monetarias y prision, y que solo teniamos derecho a usar el auto "como te lo di yo, tu dios y vendedor" y sin intentar averiguar que hay dentro. Ni hablemos de que "si le cambio la llave no anda mas" (como celulares que tienen claves de superusuario o "root" que no pueden ser cambiadas pero son conocidas por todo el mundo, como ej. "alpine"). No obstante hay gente que acepta alegremente licencias de software privativo que dice el equivalente a eso, claro que ¿Quien lee las licencias?. Vamos, que hasta el viejo WinAmp decia que uno se ofrecia de "probador anal (censurado)" y todos aceptaban las condiciones sin pestañear... Ni hablemos de la ley de delitos informaticos, que especifica las multas y penas de prision por hacer eso a lo que renunciamos expresamente. Es tan fina la barrera entre el Odio y el Amor...

Algunas personas empiezan siendo feas y se vuelven hermosas, como el patito feo. Pero si sos joven y feo deberias irte acostumbrando al hecho que la mayoria de patitos feos crecen para convertirse en patos feos. Por otro lado, los cisnes emiten un desagradable siseo, mientras que los patos emiten un cuac-cuac encantador. Eso tiene que tener una moraleja en alguna parte... Y veras tú linda cara frente al espejo demacrada...

En Fin. Originalmente iba a instalar otro paquete similar, a saber Awesome, por sugerencia del grande de Lord OsiuX, pero me di cuenta que XMonad, al estar realizado en haskell, no me obliga a aprender los rudimentos del mismo para configurarlo, como en el caso de Awesome, que para configurarlo minimamente requiere que sepamos algo de LUA, y recordemos que no todos  somos programadores (bueno, bueno, yo si, aunque me pese... Pero no viene al caso despues de todo)...

Primero necesitamos una lista de los determinados siguientes paquetes, pero no hay drama, para  eso acudimos a los "SlackBuilds" y listo. Habran escuchando: "en Slackware solo viene lo básico y lo demás hay que compilarlo..." Bueno, eso no es totalmente cierto, pero para ahorrarnos tiempo hay unos muchachos en http://www.slackbuilds.com/ que se dedicaron a hacer un repositorio de scripts de compilación (también llamados SlackBuilds) que son capaces de automáticamente transformar el código fuente original de un programa en un paquete Slackware.

Esta es exactamente la misma técnica de trabajo que se usa para generar los paquetes básicos que ya tenés instalados de la distribución.

Solo deberias vivir con alguien si no podes vivir sin ese alguien. Vivir juntos en pareja es una actividad altamente antinatural. Empieza como un deseo de no tener que ir a casa despues de una sesion de sexo desenfrenado y acaba como una sesion de compra de medias al por mayor. La clave de vivir en pareja es la misma que en el mundo diplomatico: nada mantiene a la gente tan unida como un enemigo en común. Ese es el motivo por el que con tanta frecuencia vivir juntos acaba con niños de por medio. Lo mismo vale cuando empezas a usar Slackware, si todavia no lo usas, estas a tiempo, ¡huye como el diablo!... No digas que no te avise.

Yo voy a desarrollar de la manera mas primitiva y sencilla, aunque no la mas burda, esto es, bajando los fuentes y compilando el paquete para instalar, paso a paso, pero nada les impide bajarse directamente los binarios e instalar los paquetes desde un manejador de paquetes propio, como slapt-get o slackpkg.
Lo hago de esta manera porque me gusta tener el control mas claro de lo que instalo, y aparte para optimizar los paquetes a mi arquitectura. Si, "la Seguridad es un estado mental". Estoy tecleando esto desde un equipo realmente viejo, y la verdad que se nota muchisimo la diferencia, pero mucho en serio. Y como el movimiento se demuestra andando:

vampii@khamul:$ uname -a
Linux khamul 2.6.37.6-smp #2 SMP Sat Apr 30 22:30:17 CDT 2011 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux 

Si, todavia compilo mis kernels, si eso te llama la atención, dije que era un equipo viejo... Igualmente todo lo que uso puedo hacerlo desde consola, exceptuando Firefox, Wireshark y LibreOffice, creo que ningun otro paquete mas que necesite, y la verdad que no tener que depender de un entorno grafico (que uso mas que nada para estos tres paquetes) me alegraria la vida, al margen de optimizar mi siempre escasa bateria y no tener que usar el touchpad, que no siempre es comodo de hacer cuando sostenemos el equipo con la otra mano, o nos estamos agarrando de algo a buena altura. Aparte tiene ese gustito de "y lo hice yo..." Y no estoy hablando de Ingenieria Espacial, esta al alcance de cualquier mente inquieta y sin conocimientos minimos.

"La voz de uno nunca debe estrangular los pensamientos propios ni ahuyentar los ajenos" decia Elizabeth de Austria. Basicamente el proceso de SlackBuild es muy simple, aunque lo voy a explicar para los menos informados:

Lo que vamos a hacer es bajarnos el repositorio completo de SlackBuilds. No te asustes que de disco son solo 14 MB porque estamos bajando la versión comprimida, y de descarga son bastante menos porque estamos habilitando la compresion de datos en el protocolo rsync. El comando está basado en 13.37 que es la versión de Slackware con la que yo trabajé; si tenes otra corregilo, hace un "cat /etc/slackware-version" para mas datos de tu versión.

Todo esto deberas hacerlo como root, (eso significa el pragma, si, el simbolo # se llama pragma, no ta-te-ti, numeral o esos nombres raros con que he oido referirse a el, lo mismo vale para el ñuflo, simbolo ~ que lo llaman "el cosito de la eñe, gusanito y cosas peores y que representa el directorio home del usuario, tenia que decirlo) en el shell de ejemplo.

root@khamul:~# mkdir -p ~/soft/SlackBuilds
root@khamul:~# rsync -rtzv rsync://rsync.slackbuilds.org/slackbuilds/13.37/*/*.tar.gz ~/soft/SlackBuilds/

¿A que me refiero cuando digo "Instalate el paquete megaporno-xxx de los SlackBuilds"?
Simple, voy a estar refiriéndome al siguiente procedimiento:

Vamos a usar de ejemplo el paquete xmonad:

root@khamul:~# cd ~/soft/SlackBuilds
root@khamul# tar -zxf xmonad.tar.gz
root@khamul# cd xmonad
root@khamul# cat xmonad.info

Ahi tenes que leer la url rotulada DOWNLOAD, que es el link directo al último código fuente con el que se probó exitosamente el script de compilacion SlackBuild que vamos a correr. Bajamos los fuentes.

root@khamul# wget http://hackage.haskell.org/packages/archive/xmonad/0.9.2/xmonad-0.9.2.tar.gz
root@khamul# ./xmonad.SlackBuild

El paquete de instalación va a parar a /tmp asi que estamos a una línea de distancia de tener el paquete instalado...

root@khamul# installpkg /tmp/xmonad*.tgz

Al tercero que hagas vas a ver que lo tenes instalado en menos de 1 minuto. Realmente es muy simple... Es la filosofía de Slackware, KISS... "Hacelo Simple Idiota", pero en la lengua de los hijos de la gran Bretaña.

Mmmm. Lista de SlackBuilds para armar los paquetes, parece larga pero recorda que estamos resolviendo dependencias a mano, y puede que se me vaya algun colado de mas en la lista... Si, tanto ganar para no conservar nunca nada...

ghc
haskell-X11
haskell-X11-xft
haskell-utf8-string
haskell-syb
haskell-transformers
haskell-xml
haskell-xhtml
haskell-zip-archive
haskell-zlib
haskell-ghc-paths
haskell-mtl
haskell-fgl
haskell-parsec
haskell-stm
haskell-hinotify
haskell-text
haskell-regex-posix
haskell-regex-base
haskell-digest
haskell-OpenGL
haskell-OpenGLRaw
haskell-HTTP
haskell-GLURAW
stalonetray
xmonad
xmonad-contrib


Hay otros manejadores de paquetes, como el viejo y venerable Sourcery, que bajan directamente los SlackBuilds, y cuando queremos instalar algo se encargan de automatizar todo el proceso, desde bajar los fuentes, resolver las dependencias e instalar o desinstalar los paquetes propiamente dichos, pero siempre es bueno no tener que depender de terceros, al margen que de esta manera entendemos perfectamente como funcionan los procesos, y no hay nada "automagico", obscuro y arcano realizando las tareas por nosotros. Pescar o recibir un pescado. Y lo dice alguien que "automagizo" cosas, y mucho, mucho tiempo, con Swaret... Reconozco que puedo ser perezoso. Aparte opino que las interfaces gráficas logran que la gente se estupidice mas, y solo se preocupe despúes por ver un videito en "yutub" que diga "como hacerlo", y hablo de personas que antes se calentaban dos minutos por aprender a usar un procesador de textos... Y no se amedrentaban ante una aspera consola...

Convertir el paquete con ALIEN, ¡ajjjjj!!!, realmente no da resultado, porque al ser debian-based rompe todo.
En lo más profundo y fundamental de la mente y del Universo, hay una razón para ello.
¡Vamos a la Camara de Ilusiones Informaticas!

Al margen que me era totalmente necesario recompilar y despues parchar la libreria RCAIRO, y la verdad que esas soluciones nunca me gustaron. Esto se debe a que el paquete no esta mas soportado oficialmente para SLACKWARE desde que ES la version 9.1, sino solo para Debian/Ubuntu por un tema de no ser ESTANDAR.
Y "las cosas que DEBIAN ser estandares" no lo son tanto en estos casos...
DEBIAN ser estandares pero NO lo son...
Debian, pero no ES estandar.
Debian ser ESTANDARes.
Repetir es mi trabajo, repetir, mi trabajo es repetir...

No se me ocurrio buscar el paquete para Fedora y hacer el mismo proceso de RPM2TGZ, por el mismo motivo, ya que me parece una solucion "muy sucia" convertir binarios y esas cosas, seguramente funciona, pero cuando dispongo del codigo fuente del paquete en cuestion, prefiero ensuciarme un poco las manos y compilarlo yo mismo, y generar el paquete a mano, y de esta manera asegurarme que todo funcione. Despues de todo no me lleva mas que unos minutos por paquete, y menos todavia gracias a la gente de SlackBuilds ;-)

No considero correcto tener que resolver el mismo problema una y otra vez, prefiero usar ese tiempo disfrutando de unas espumosas heladas con amigos, aprendiendo algo nuevo o, en compania de mujeres guapotas y de altos conocimientos matematicos... O mejor aun, con esa chica geek, que todos buscan... Y que yo encontre... Sisi... ESA muy guapota y pechocha.

Y la verdad que muchas veces, se siente un gran placer el poder solucionar las cosas uno mismo, es como "o recibir un pescado o aprender a pescar". Yo ya se pescar, y muchas gracias, lastima que privatizaron muchas partes del mar... Aunque lo bueno que siempre encontramos soluciones para evitar esas aguas peligrosas... Y que mejor de esas soluciones que compartirlas... Yo soy así, naci para cantar y ser feliz...

Despues de todo, en El Principio fue... La (Todopoderosa) Linea de Comandos. Si, recomiendo vehementemente leer el libro "En el principio fue... La linea de comandos" de Neal Stephenson, que pueden encontrar aca.

"A favor de todos y en contra de nadie", es mi lema, despues de todo cualquiera se puede equivocar, inclusive yo... Si yo soy asi...

He aqui algunas capturas de pantalla

Aca esta mi xmonad.conf, no esperes mucho, lo escribo mientras estoy en el omnibus... No hay camarones por dos pesos... Me estare poniendo viejo, pero que lindo que se siente escribir esto en un obsoleto P3 850MHz bajo GNU/Linux, y que todo ande bien, y no tener que instalar un "anti-virus-spam-troyanos-gusanos-spyware-todo"... Como a esos equipos nuevos que "andan mal de la Vista" y solo les faltan que les salgan patas y caminen por su cuenta... Lastima que la bateria me dure menos de una hora... Y con la bateria ORIGINAL... Tal vez vivir cueste el pecado... Algun dia hablare de la "Obsolecencia planificada o de la Carrera de la Reina Roja" (donde todos corren para permanecer en el mismo lugar).

Asi que ya saben:

Si alguien quiere aportar algo mas, sientase bienvenid@ a hacerlo. Lo gentil seria avisar antes, por el tema de la disponibilidad del corregir y todo eso operativo tan molesto que siempre planificamos previamente pero que nunca tenemos tiempo de hacer. Las peleas surgen de la nada en relacion a temas de una trivialidad asombrosa, por ejemplo la forma en que colgas la toalla en el baño. Debes tener entonces mucho cuidado de que no se produzca una reaccion termonuclear en cadena hacia una agresion psicologica mas hiriente en la que se dicen cosas acerca del peso, del vestido, del corte de pelo o de la suegra. Las peleas se olvidan rapidamente, pero los castigos por tus comentarios seran severos y duraran mucho tiempo.

Donaciones, regalos, petes, valores, comentarios, efectivo y/o felicitaciones a:
Señor Don Lord Vampii - Las Tierras Asperas de Quilmes - Argentonia
Amenazas de muerte, flames e insultos a /dev/null

No hay comentarios: