Archivo del sitio

Canaima/Trisquel vs. Debian: Distribuciones para usuario final

Estan son ideas aisladas que logré hilvanar luego de mi participación en el “Dia Debian Barquisimeto” y es una reflexión sobre hacia donde debemos llevar a los nuevos usuarios y a la distribución nacional Canaima …

Puede que hiera algunas susceptibilidades, pero considero que es discusión necesaria …

Mi concepto de usuario final …

¿A quién considero yo un “usuario final”?, es aquella persona que utiliza el computador como una herramienta, lo ayuda en sus quehaceres y le permite navegar en Internet, conectarse a redes sociales y por qué no, jugar a la granjita …

Un usuario final usa la computadora como quien usa un celular, un microondas o un vehículo, el 80% de las personas que conducen no tienen por qué saber mecánica para poder manejar … hay quien te dirá que “es necesario saber al menos lo básico”, pero todos sabemos que no lo es …

Bueno, claro, te quedarás varado en espera de una grua si no sabes siquiera lo más básico, pero comprendamos que esto no será la mayor parte del tiempo …

Por el contrario, nosotros vivimos de esto (al menos yo) y pues es lógico que necesitamos saber muchisimo más que el resto de los usuarios de computadoras …

¿Qué es GNU/Linux Debian?

Debian es una meta-distribución, como tal, es genérica y trae todo lo que necesitas para convertirla en TODO lo que necesitas, desde servidores a dispositivos imbuidos, pasando por teléfonos y como no, estaciones de trabajo y escritorio …

¿Puede ser Debian (o una distribución basada nativamente en Debian sin personalizaciones) una distribución apta para el usuario final nombrado líneas más arriba? …

Y mi respuesta es … NO!

¿Qué diferencias hay?

Notemos algunas diferencias que a la primera se daría cuenta cualquier persona:

  • Ubuntu ya trae todo el firmware privativo instalado para *casi* cualquier dispositivo, activar tu inalámbrica pasa por simplemente poner en *on* el switch de la misma.
  • En Trisquel no vendrán esos binarios, así que cierto hardware no funcionará, pero en su defecto, trae un kernel libre mucho más ligero (hay menos mutexes y paradas del kernel esperando la inicialización de binarios externos) que además, trae el parche (por defecto) de Ingo Molnar para respuesta “realtime” preemptiva, esto nos da una sensación de uso más “suave” del equipo y una mejor respuesta ante aplicaciones críticas de usuario (edición de audio o de video, 3D, blender y otras aplicaciones).
  • Ubuntu *por defecto* tarda unos 15 a 25 segundos en iniciar, un Debian Squeeze *por defecto* tarda unos 25 a 30 segundos en iniciar (en mi hardware, sin tunning), Trisquel tarda unos increíbles 12 segundos en iniciar.
  • Debian trae un kernel compilado para arquitectura i386 (si usan amd64, al menos podrán contar con un kernel x86_64) con una velocidad de reloj de latencia de 300Mhz, una respuesta pre-emptiva de 250Mhz, con la mayoría del tiempo de proceso dedicado a los servicios y no al espacio de usuario.
  • Ubuntu trae un kernel “personalizado” con respuesta de 700Mhz y una latencia pre-emptiva de 1000Mhz.
  • Trisquel trae un kernel “dietético” sin binarios privativos que deban ser inicializados y ralentizando el kernel, con una velocidad de 1000Mhz y tickless (respuesta pre-emptiva en tiempo real, menor a 100 ms).

¿Por qué basar una distro en Debian?

Una distribución de GNU/Linux debería estar basada en Debian siempre y cuando se vayan a tener varios “targets” o destinatarios y tipos de usuarios, la gente de gNewSense cambió de Ubuntu a Debian porque entre otras cosas sugirieron en la lista de discusión la “posibilidad” de crear proyectos como *servidores libres* (gNewSense con configuración óptima para servidores pero usando un kernel GNU Linux-Libre).

Sin embargo, basar una distro en Debian cuando su destino final es “el usuario final” (como Canaima Linux) tiene como consecuencia un trabajo “mayor” de los organizadores pues estos tendrán que poner a punto las configuraciones de distintos paquetes de software (para que el usuario no tenga que unir *a mano* el PulseAudio con el Jack o tenga que configurar a *al pelo* su tarjeta de video).

Si al final, tomamos los paquetes y el núcleo de Debian y le hacemos un “maquillaje estético” a la distribución, le estaremos instalando un Servidor de archivos (y no una estación de trabajo óptimizada) al usuario, con las consecuencias de lentitud, nivel de respuesta y adaptación del usuario …

Y ni hablar cuando esa distribución se base en la versión *estable* de GNU/Linux Debian.

Pero, ¿Por qué no puede configurarla a su gusto el usuario?

Si, yo uso Debian, anteriormente usaba en el mismo entorno y partición una versión “desktop” con kernel personalizado (vanilla-flavor) para “navegar y jugar” y en esa misma partición, montaba Xen-Linux-System y toda mi plataforma para trabajar (VMs con postgreSQL, mySQL y MariaDB, Samba, etc); solo diferenciados por el arranque del GRUB, ahora las configuraciones de tunning y *performance* para una *óptima* versión escritorio y una *óptima* versión de servidor son tan distintas que llegué a la conclusión que tener 2 entornos completamente separados, un Debian para trabajar y un GNU Trisquel para jugar, navegar y transmitir por RadioGNU era algo necesario.

Claro, yo en mi GNU/Linux Debian tengo aún esa “versión optimizada para escritorio” donde a pelo y configurando “a lo agrícola y artesanal” he modificado:

  • Modificado el GRUB para una larga lista de opciones de optimización
  • Fijar los fallos de asignación MTRR para una mejor respuesta del video
  • Cambios para usar nativamente la GPU y aceleración openGL en todo el entorno de escritorio y video
  • Modificaciones en los parámetros de HDPARM, para sacarle el máximo provecho a mi disco SATA-2
  • Apagar la acústica del disco duro, no me importa que suene, pero va más rápido
  • Modificado las variables de sysctl para que gestione mejor la memoria de userspace.
  • Uso y configuración de preload en Debian para una carga optimizada de aplicaciones (preload y prefetch vienen ya configurados por defecto en Ubuntu y Trisquel)
  • He cambiado el comportamiento en sysctl del “swappiness” ya que con 4Gb de RAM en un entorno de escritorio, es innecesario que Linux use Swap.
  • He desactivado cosas que no uso (como IPv6) para mejorar la velocidad en general de la red.
  • Re-optimización de módulos del kernel (como mi inalámbrica, para que soporte 150Mbps, ya que tengo un Access Point Wireless-N).
  • He recompilado algunas aplicaciones usando directivas de pre-compilación para mi arquitectura específica (-march=nonona, la arquitectura de 64-bits de Intel, si quieres 32-bits usas prescott) y muchas las compilo con “-O3” (máximo performance).
  • Uso de aceleración GL y no *por software* en las aplicaciones de video (que lo soportan), esto ahorra CPU una barbaridad.
  • Uso de un kernel RT (realtime), he parcheado (Ingo Molnar patch) un kernel vainilla 2.6.33-7 y he obtenido rendimiento realtime, con respuestas menores a 100 ms en las actividades directamente dedicadas al Kernel, incluso he podido iniciar IDJC en modo “real time” sin obtener XRUNS, claro, eso en Trisquel ya viene “por defecto” y no tuve que parchear ni compilar Kernel.

La conclusión a esta larga lista de cambios, es que mi estación de trabajo (donde programo, etc) GNU/Linux Debian es tanto o más eficiente que un Ubuntu o Trisquel corriendo en esta misma PC.

Claro, la cantidad de cambios y personalizaciones que tuve que hacer para llegar al *punto óptimo* de ejecución de mi portátil raya en las personalizaciones de sistemas como Linux Arch o Gentoo Linux.

A la vista del “eye-candy”

Mucho del escritorio GNU/Linux, sobre todo KDE4+plasma o Gnome+Compiz, vende *gracias* a su capacidad de asombrar con el “eye-candy”; pero como afirmo allá arriba, no es lo mismo mi escritorio, donde con varios “tweaks” he hecho que el sistema de video use la GPU y la aceleración por hardware del video (y no el “indirect-rendering” que usa emulación de aceleración 3D por software) al de un usuario con un “Canaima básico” usando intel-vesa con framebuffer por software que pensará que su computador es un “pote” inútil o que Linux es “dificil” porque para lograr esos *tweaks* requiere conocer de física nuclear y matemáticas avanzadas y que por tanto “esa cosa difícil del Linux” no es para él.

¿Y eso tiene algo de malo?

Para un usuario final si lo tiene, no podemos pretender que todo el mundo sepa mecánica para evitar las congestiones por gruas, tampoco podemos pretender que la gente monte un GNU/Linux Debian (o un Canaima: Debian Lenny Edition) y se la pase *paseando* todos los días por foros o listas de correo de soporte preguntando una y otra vez como se configura el modem 3G de movistar para conectarse a Internet en Canaima Linux.

Es injusto (por partida doble) que la gente no cuente (son simples scripts que se pueden correr en conjunto con los scripts *laptop-detect* que permitirían personalizar el hardware de manera automática) con equipos “óptimos” para su día a día; pero que además, tengan que enfrentar listas de correo de soporte para responder a sus problemas, una y otra y otra vez, para llenar egos inflados de Debianitas Pro-Canaima que quieren siempre responder a esas preguntas para “demostrar que saben” …

Al final de cuentas, una persona ve un GNU/Linux Debian como el mio y lo compara con su Canaima y siempre terminan llenos de frustración por la imposibilidad de “enchufar su modem 3G” y hacerlo funcionar con un simple “asistente gráfico” y en vez de recibir esas mejoras (o scripts automáticos que lo ayuden en su personalización) recibe respuestas en listas de correo donde le piden que abra una consola y utilice el comando wvdial.

Un usuario final, ni siquiera sabrá para qué le sirve una consola.

Activando Wacom Tablet PC en Trisquel/Ubuntu

Como lo dije en un artículo anterior, he cambiado de Debian Squeeze a GNU/Linux Trisquel y han cambiado algunas cosas como se configura todo (se nota que es hijo de Ubuntu, nieto de Debian), entre ellas como configurar correctamente la Wacom Tablet PC.

Habilitando opciones de la Wacom en Ubuntu y GNU/Linux Trisquel

Aunque los dispositivos wacom son detectados y habilitados en Ubuntu y Trisquel, no todas las opciones son habilitadas, sin embargo, la receta tradicional “Debian” de colocar un archivo xorg.conf ya no es útil.

Esto es debido a que en nuevas versiones de Debian (squeeze), Ubuntu y derivados (ej. Trisquel) se recomienda que se utilice el directorio /usr/lib/X11 para todo lo que tenga que ver con configuración del sistema X.
Dentro, encontraremos un directorio llamado xorg.conf.d/ donde siguiendo las reglas de carga de muchas configuraciones, (números más bajos cargan primero).
Una lista del directorio:

-rw-r--r-- 1 root root  946 2010-03-31 01:59 05-evdev.conf
-rw-r--r-- 1 root root  766 2010-04-15 17:07 10-synaptics.conf
-rw-r--r-- 1 root root  139 2010-04-22 10:44 10-vmmouse.conf
-rw-r--r-- 1 root root 3201 2010-07-03 20:46 10-wacom.conf

10-screen.conf y 10-wacom.conf fueron creados para configurar la tarjeta de video y el dispositivo wacom respectivamente (aunque podria ser 15-wacom, ya que debería ser configurado luego de evdev (teclado/ratón) del synaptic y de la tarjeta de video).

el archivo 10-wacom.conf contiene:

#clase que identifica a todos los dispositivos wacom
Section "InputClass"
 Identifier "Wacom class"
 MatchProduct "Wacom|WACOM"
 MatchDevicePath "/dev/input/event*"
 Driver "wacom"
EndSection

# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
 Identifier "Wacom N-Trig class"
 MatchProduct "HID 1b96:0001"
 MatchDevicePath "/dev/input/event*"
 Driver "wacom"
EndSection

Section "InputClass"
 Identifier "Wacom serial class"
 MatchProduct "Serial Wacom Tablet"
 Driver "wacom"
 Option       "ForceDevice"   "ISDV4"
 Option       "USB"            "on"
 Option       "Button1"        "1"  # El click con el stylus sera boton primario de raton
 Option       "Button2"        "2"  # El boton del lapiz es el click central
 Option       "Button3"        "3"  # El borrador hara de boton derecho
 Option       "TopX"           "27"
 Option       "TopY"           "-21"
 Option       "BottomX"        "24641"
 Option       "BottomY"        "18504"
 Option       "tilt"           "on"  # add this if your tablet supports tilt
 Option       "Threshold"      "5"   # the official linuxwacom howto advises this line
EndSection

#esta seccion permite que la wacom se comporte como cursor
Section "InputDevice"
 Driver        "wacom"
 Identifier    "cursor"
 Option        "Device"        "/dev/ttyS0"
 Option        "Type"          "cursor"
 Option        "ForceDevice"   "ISDV4"
 Option        "Mode"          "Absolute"
EndSection

Luego de creado el archivo, reiniciamos las X o simplemente reiniciamos el equipo.

Luego de reiniciadas las X, encontraremos en el archivo log /var/log/Xorg.0.log información sobre la carga de la wacom:

(II) config/udev: Adding input device Serial Wacom Tablet (/dev/ttyS0)
(**) Serial Wacom Tablet: Applying InputClass "Wacom serial class"
(II) LoadModule: "wacom"
(II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
(II) Module wacom: vendor="X.Org Foundation"
 compiled for 1.7.6, module version = 0.10.5
 Module class: X.Org XInput Driver
 ABI class: X.Org XInput driver, version 7.0
(**) Option "Device" "/dev/ttyS0"
(II) Serial Wacom Tablet: type not specified, assuming 'stylus'.
(II) Serial Wacom Tablet: other types will be automatically added.
(**) Serial Wacom Tablet: always reports core events
(**) Option "TopX" "27"
(**) Option "TopY" "-21"
(**) Option "BottomX" "24641"
(**) Option "BottomY" "18504"
(**) Option "Button1" "1"
(**) Option "Button2" "2"
(**) Option "Button3" "3"
(II) Serial Wacom Tablet: hotplugging dependent devices.
(**) Option "Device" "/dev/ttyS0"
(**) Serial Wacom Tablet eraser: always reports core events
(**) Option "TopX" "27"
(**) Option "TopY" "-21"
(**) Option "BottomX" "24641"
(**) Option "BottomY" "18504"
(**) Option "Button1" "1"
(**) Option "Button2" "2"
(**) Option "Button3" "3"
(II) XINPUT: Adding extended input device "Serial Wacom Tablet eraser" (type: ERASER)
(**) Option "StopBits" "1"
(**) Option "DataBits" "8"
(**) Option "Parity" "None"
(**) Option "Vmin" "1"
(**) Option "Vtime" "10"
(**) Option "FlowControl" "Xoff"
(WW) Serial Wacom Tablet eraser: Waited too long for answer (failed after 3 tries).
(WW) Serial Wacom Tablet eraser: Waited too long for answer (failed after 3 tries).
(II) Serial Wacom Tablet eraser: serial tablet id 0x90.
(--) Serial Wacom Tablet eraser: using pressure threshold of 7 for button 1
(--) Serial Wacom Tablet eraser: Wacom General ISDV4 tablet speed=38400 maxX=24576 maxY=18432 maxZ=127 resX=2540 resY=2540  tilt=disabled
(--) Serial Wacom Tablet eraser: top X=27 top Y=-21 bottom X=24641 bottom Y=18504 resol X=2540 resol Y=2540
(II) Serial Wacom Tablet: hotplugging completed.
(II) XINPUT: Adding extended input device "Serial Wacom Tablet" (type: STYLUS)
(--) Serial Wacom Tablet: top X=27 top Y=-21 bottom X=24641 bottom Y=18504 resol X=2540 resol Y=2540
Nota: (**) es tomado de un archivo de configuración, (–) es asumido por el controlador, (WW) es una advertencia y (II) es una sección informativa.

Tomen en cuenta que en archivo Xorg.0.log, una línea que empieza en (**) indica que fué tomada de un archivo de configuración, con eso sabemos que nuestro archivo funciona correctamente.

El comando xsetwacom y la configuración de la tablet

Aunque por lo general los comandos de configuración agregados al xorg.conf.d son permanentes, podemos por ejemplo, cambiar el threshold, la sensilibidad de presión al click u otras opciones (incluso, rotar la posición de los botones) sin necesidad de cambiar las X, simplemente usando el comando xsetwacom.

El comando xsetwacom tiene la siguiente sintaxis:

xsetwacom set "DEVICE" option "value"

El nombre del dispositivo lo podemos descubrir con:

> xsetwacom --list

La respuesta sería:

Serial Wacom Tablet eraser ERASER
Serial Wacom Tablet STYLUS    

Esto muestra que tenemos un ERASER (borrador) llamado “Serial Wacom Tablet eraser” y un STYLUS (apuntador) llamado “Serial Wacom Tablet”

Con ambos valores, construimos nuestro archivo xinitrc (uno por usuario)

/~.xinitrc

En mi caso, el archivo estará en /home/jesuslara/.xinitrc

xsetwacom set "Serial Wacom Tablet eraser" Suppress "2"
xsetwacom set "Serial Wacom Tablet eraser" RawSample "4"
xsetwacom set "Serial Wacom Tablet eraser" ClickForce "6"
xsetwacom set "Serial Wacom Tablet eraser" PressCurve "0 0 100 100"
xsetwacom set "Serial Wacom Tablet" TPCButton "on"
xsetwacom set "Serial Wacom Tablet" Button3 "Button 3"
xsetwacom set "Serial Wacom Tablet" Button2 "Button 3"
xsetwacom set "Serial Wacom Tablet" Button1 "Button 1"
xsetwacom set "Serial Wacom Tablet" Suppress "2"
xsetwacom set "Serial Wacom Tablet" RawSample "4"
xsetwacom set "Serial Wacom Tablet" ClickForce "6"
xsetwacom set "Serial Wacom Tablet" PressCurve "0 0 100 100"
xsetwacom set "Serial Wacom Tablet eraser" bottomy "18504"
xsetwacom set "Serial Wacom Tablet eraser" bottomx "24641"
xsetwacom set "Serial Wacom Tablet eraser" topy "-21"
xsetwacom set "Serial Wacom Tablet eraser" topx "27"
xsetwacom set "Serial Wacom Tablet" bottomy "18504"
xsetwacom set "Serial Wacom Tablet" bottomx "24641"
xsetwacom set "Serial Wacom Tablet" topy "-21"
xsetwacom set "Serial Wacom Tablet" topx "27"
# run the primary system script
. /etc/X11/xinit/xinitrc

Tenemos opciones como:

ClickForce: fuerza del click, menos presión y se considerará una selección, más y se considerará un click
PressCurve: depende obviamente de los niveles de sensibilidad, una Wacom Intuos o Bamboo tienen 256 niveles de presión, mi tablet solo tiene 100 niveles de presión
topy – topx – bottomy . bottomx : coordenadas en pixeles que permiten cuadrar el dispositivo (las obtuve con una herramienta de calibración que compilé para wacom)

Hay muchisimas más opciones, aunque realmente mi tablet pc no tiene tantas como una Wacom Intuos o una Wacom Bamboo.

Usando myPaint

myPaint (www.mypaint.info) es una herramienta completamente libre y multi-plataforma, para dibujo usando una tableta digitalizadora, posee una gran colección de pinceles, brochas y efectos, que pueden ser personalizados y guardados en paletas diferentes, muy útil para artistas, ya que de hecho, son artistas como Martin Renold y Artis Rozentāls quienes dieron origen al proyecto, como una versión “libre” de Corel Painter.

Un screenshot:

Es una interfaz bastante sencilla, soporta capas, múltiples pinceles, patrones y brochas, permite guardar varios bocetos en un mismo archivo y recuperarlos y a diferencia de GIMP, tiene un especial reconocimiento a la sensibilidad de presión, recorrido, velocidad y actividad de la tableta digitalizadora.

Usando "Lapiz" en myPaint

Otro punto a favor de myPaint es que reconoce cuando el borrador está sobre el lienzo y me permite borrar de manera natural.

Incluso hay un grupo en Flickr de dibujantes y diseñadores con la herramienta.

Cambiando de Debian a Trisquel: Consejos

Preámbulo

Luego de experimentar algunos problemas en Debian Squeeze y bajo la experimentación de algo más “amigable al usuario” pero aún así libre, he cambiado mi distribución de escritorio (de uso regular) de Debian Squeeze a GNU/Linux Trisquel, una versión basada en Ubuntu pero sin binarios privativos en el Kernel y sin aplicaciones no-libres.

A pesar de lo que la gente piense, la distribución funciona “bastante bien” en mi portatil, incluso se nota que es una distribución para “usuario final” puesto que tiene algunas ventajas sobre Debian Squeeze:

Kernel realtime

* Kernel Realtime con parche de tickless Kernel: todo ese palabrerío loco significa que el soporte a actividades en “tiempo real” y el parche para un kernel sin “tiempos muertos” es agregado Por defecto dentro del kernel libre de Trisquel, esto trae como consecuencia que las actividades de usuario (acceso a dispositivos, sonido, recursos en userspace) se haga en tiempo real (y no cada 300 mhz como ocurre con el kernel oficial de Debian Squeeze), ¿ventajas de esto?:

  • Gózenla!: El equipo levanta en solamente 12 segundos, no el minuto y algo más que ya estaba tardando mi Debian Squeeze.
  • Soporte para PulseAudio y Jackd en tiempo real, gestiono mi radio por Internet de Radio GNU por ahí (es como tener Ubuntu Studio, pero libre)
  • El acceso a dispositivos es rápido, la digitalizadora Wacom de la tablet PC funciona que es una maravilla.

Ningún soporte a Binarios privativos

No se crean que podrán “ensuciar” este kernel, un script “de-BLOBber” remueve toda posibilidad de inclusión de binarios dentro del kernel, esto hace que por ejemplo, el módulo del kernel “iwlagn” que levanta la inalámbrica, aún cuando el firmware se encuentre en /lib/firmware, fallará con un error “module [deblobbed], don’t load device” y pues, estoy sin tarjeta inalámbrica en GNU/Linux Trisquel.

Esto es una ventaja aunque no lo crean, ver que la mayoría de los fabricantes han hecho un equipo (en mi caso un Lenovo X61 tablet PC) que *casi* no necesita binarios privativos, todo funciona:

  • Bluetooth funciona por defecto y “out of the box” en trisquel
  • El módulo SDHCI levanta perfectamente la lectora de memorias SD
  • El Firewire funciona, lo probé con una camara de video Samsung que tengo.
  • La Wacom funcionó al terminar de instalar, faltó configurar algunas cosas
  • Thinkpad buttons funcionan, ya asocié el Thinkvantage button para que abra un Nautilus
  • La aceleración 3D la detecta en modo UXA, la he cambiado a modo EXA para soportar AIGLX para compiz
  • La salida de video funciona dual y correctamente

Solamente faltó probar el infrarrojo, el modem 56K y el lector de huellas dactilares, pero recuerdo que ninguno requería binarios privativos.

Mientras, buscaré una tarjeta inalámbrica mini-PCI-express que me permita usarla sin binarios, como por ejemplo, las atheros o las realtek.

Como Ubuntu, pero sin Ubuntu …

Realmente Trisquel es un Ubuntu completamente libre, como gNewSense, hay gente que pensaría que al no permitir cosas “multiverse” privativas o “non-free” quedaríamos “mochos” y sería peor que usar Debian Squeeze; pero admito que estaba equivocado, cosas que encontraremos interesantes:

  • Reemplazo de gnome-audio por PulseAudio: el gestor de pulseaudio es mucho más óptimo que el que usa Debian por defecto (al menos hasta squeeze), alguien acá pondría que podrías tener pulseAudio en Debian, claro, pero acá viene por defecto y ya configurado.
  • BlueMon carga por defecto: si detecta bluetooth, carga por defecto, en mi Debian Squeeze me tocó montarlo y además, encender la antena bluetooth con un cat “enable” al /proc del device, algo “no muy intuitivo” y “user-friendly”
  • Levante más rápido: claro, a lo Debian/Ubuntu, si esto fuera un Arch Linux, los servicios no levantarían a menos que uno lo solicitara; pero al menos prelink y preload vienen “por defecto” por lo que el arranque de ejecutables y el “levante” de librerías es más rápido.
  • Uso de ext4 por defecto en el root; al igual que en Ubuntu, soporta ext4 para usarlo en root; en Debian había que crearla como ext3 y *luego* convertirla a ext4.
  • La ausencia de Java-Sun ha hecho que algunos módulos de Eclipse (como el Eclipse-Mercurial) no funcionen correctamente, espero ver como corrijo el problema.

Conclusiones

Es más que obvio que Debian Lenny y Squeeze seguirán en una partición en mi disco, más que todo por mis experimentos en Servidores, otras plataformas, Directorio Libre y una gran cantidad de proyectos, pero para cosas como la Radio Libre de RadioGNU, mi escritorio de usual, jugar y el resto de cosas “que la gente común hace” entonces seré un usuario Trisquel.

Y … ¿Por qué no?

Arch: Arch Linux es una distro por demás interesante, te lleva a conocer más de linux que otras distribuciones, *realmente* debes saber el por qué de los problemas, leer configuraciones, es como Gentoo pero más “comunitario” y con posibilidades como AUR que permiten tener paquetes desde casi cualquier lado. Arch definitivamente es una distribución por la que cualquier fanático Linux debería pasar. Pero ya yo pasé por eso.

Fedora: Fedora siempre me ha parecido extremandamente fácil, útil y es una de mis favoritas, pero ya sabemos que servidores y distribuciones personalizadas (como Canaima) nacen de Debian, por lo que otro perder tiempo en otro LSB (Linux Standard Base: organización de los directorios, archivos de configuración y aplicaciones), otro sistema de empaquetamiento (RPM: aunque es más fácil empaquetar en RPM que el suplicio de DEB, ¿qué vamos a hacer?, Debian es más popular en muchos ámbitos), incluso con el único mirror Debian+Trisquel que tengo, puedo suministrar paquetes a Canaima, a Ubuntu y a otras distribuciones.

Ubuntu: El problema con Ubuntu no es la distribución en sí sino los usuarios, muchos de ellos niegan decirle a la gente que no es una distribución libre; el que los repositorios non-free y multiverse vengan “por defecto” activados y muchos binarios sean por defecto instalados, hace que uno piense ¿realmente esta es mi computadora?, ni siquiera Fedora instala codecs privativos, como mp3 o AC3, pero en Ubuntu todos se montan por defecto.

Gentoo: Gentoo es como el Everest, como el Kilimanjaro, es un lugar interesante para ir, donde aprenderás muchas cosas, pero definitivamente no es algo para “vivir” ahí.

Usando Debmirror para crear un mirrors (Trisquel,Debian,Multimedia)

Mirror (o realmente “repositorio local”) es la posibilidad de contener de manera local todos los paquetes de una distribución específica para ahorrar Internet y ancho de banda.

Aunque es algo que uno hace casi todos los días, a veces uno olvida compartir estos comandos y scripts con la comunidad; en este caso, como crear un mirror de GNU/Linux Trisquel (una versión de Ubuntu completamente libre, sin paquetes privativos).

Un mirror para Trisquel

En la página oficial de Trisquel, indican que se puede usar rsync para crear un mirror de Trisquel (este medirá en su totalidad 229Gb), sin embargo, podemos usar debmirror para crear un mirror “personalizado” de Trisquel.

Creando el mirror

Para empezar, debemos conocer que los valores principales de debmirror cambian con lo que deseamos hacer, en mi caso:

  • Arquitectura: i386,amd64 (arm para Debian, algunos experimentos)
  • Distribuciones: Debian (lenny,squeeze), Trisquel (Taranis)
  • Secciones: Debian (main,contrib,non-free), Trisquel (main,extras)

Adicionalmente, un mirror para i386 de debian-multimedia.

El Debmirror necesario para crear un mirror Debian como el destrito es:

debmirror --host=http.us.debian.org --root=debian --cleanup --nosource --ignore-missing-release --progress --ignore-release-gpg \
--arch=i386,amd64,arm --dist=lenny,squeeze --method=http --section=main,contrib,non-free local_path

Donde nuestro host es el repositorio desde donde se realizarán las copias (uso el oficial)

local_path es la ruta en disco donde crearemos el mirror (en mi caso, un disco USB)

Para crear el mirror Debian-Multimedia ejecutamos:

debmirror local_path --host=www.debian-multimedia.org --ignore-small-errors --dist=testing --arch=i386 --root=/ --method=http --section=main,non-free \
--nosource --ignore-missing-release --progress --ignore-release-gpg

Y para crear el mirror de Trisquel (Version Taranis, la que estoy usando, basada en Ubuntu Maverick) se ejecuta:

debmirror local_path --host=mirror.fsf.org --root=trisquel --ignore-small-errors --method=http --nosource --ignore-missing-release --progress --ignore-release-gpg \
--dist=taranis,taranis-backports --section=main,extras --arch=i386,amd64

Donde podemos usar como hosts a archive.trisquel.info o a mirror.fsf.org

Recordemos que la versión anterior de Trisquel (basada en Lucid) es Awen.

Usando Rsync

Crear mirrors usando debmirror y rysnc es muchisimo más rápido que usando HTTP convencional, esto es porque con rsync se puede lograr multi-threaded downloads, que aunque hace la descarga mucho más rápida, te consumirás casi todo el ancho de banda de tu conexión.

Para crear un mirror de Trisquel Taranis, usando Debmirror+rsync ejecutamos:

debmirror --host=archive.trisquel.info --pdiff=none --getcontents \
--method=rsync --root=":packages" --rsync-options "-rplthi --delete-after \
--stats --partial" --nosource --ignore-missing-release --progress \
--ignore-release-gpg --ignore-small-errors \
--dist=taranis,taranis-backports --section=main,extras --arch=i386,amd64 \
local_path

De hecho, si ejecutamos:

 rsync -avn archive.trisquel.info::

Podremos ver que “modulos” posee este mirror, en este caso:

:iso (cd images)

:packages (repository)

Es por eso que –root apunta a :packages (en Debian, apuntaría a :debian)

Determinando el mirror más “rapido”

Podemos usar el paquete netselect-apt para determinar cual es el mirror más “rápido” para una distribución específica de Debian, para ello instalamos el paquete:

aptitude install netselect-apt

Y luego ejecutamos:

Para lenny:

netselect-apt -n -s stable

Para Squeeze:

netselect-apt -n -s testing

Para mi configuración, conexión, etc, ha determinado que:

The fastest server seems to be:
 http://204.152.191.39/debian/
Writing sources.list.
Done.
A %d blogueros les gusta esto: