sábado, 26 de septiembre de 2009

Ubuntu para PCs de bajos recursos

Armar un sistema GNU/Linux que corra fluido en una PC con escasa potencia es un tema muy discutido, sobre el que hay abundante material en Internet. ¿Por qué, entonces, armar otro post en tal sentido? Porque una PC un poco pasasa de moda pierde, básicamente, flexibilidad; entonces, cada una de las "recetas" que están en Internet ajustan a un cierto servicio, a un cierto conjunto de características a cumplir con esa PC. Si el objetivo es que esa PC realice otra tarea, la "receta" no va a funcionar completamente, justamente, porque la PC ya no tiene la flexibilidad de una PC moderna, en la que una instalación general sirve para casi cualquier tipo de servicio.

Bien, con esta premisa aclarada, vamos a tema que nos ocupa :)
El objetivo a cumplir con el presente trabajo fue armar un sistema GNU/Linux moderno, simple y fácil de adminstrar; adecuado para correr en PCs un poco viejas (Intel Celeron 700 MHz con 64 y 128 Mb de RAM) y con las aplicaciones necesarias para cubrir las necesidades requeridas en la "Sala de Computación" de una escuela para adultos: editor de textos, planilla de cálculos, navegador de Internet, chat/IM, visor de imágenes, visor de archivos pdf y un par de chucherías más (aunque no mucho más ;) )

Aclarado el objetivo a cumplir, vamos a los bifes ;)
La metodología de trabajo que usé fue armar todo en una máquina virtual (usando VirtualBox) y por último generar el CD de instalación para la "propagación" del sistema final. Esta manera de trabajar puede ser objetable (ya que la VM que armé no es exactamente igual a las PCs reales en las que irá a aterrizar el sistema), pero no encontré otra manera más práctica y sencilla, por eso la adopté.

El sistema base sobre el cual trabajé es Ubuntu 9.04; para instalarlo usé el AlternateCD, ya que esta herramienta permite instalar el sistema base sin interfaz gráfica. La ventaja de usar el AlternateCD y no el MinimalCD es que en el CD ya están todas las herramientas básicas de un sistema funcional, sin tener que bajar paquetes necesarios desde Intertet durante la instalación (así funciona el MinimalCD).
Una ventaja extra al armar el sistema en una VM es la conectividad: Vbox levanta un servidor DHCP y hace NAT con la VM, así que la conexión en el sistema huesped es automática (ya en el proceso de instalación intenta conectarse a la red usando eth0 por DHCP y lo consigue) y si el el host tenemos Internet (como es mi caso particular), la VM ya arranca con Internet "automágicamente" :)

Bien, en este momento tenemos un sistema instalado, pero sin interfaz gráfica y con muy pocas herramientas...
Como gestor de acceso a la interfaz gráfica elegí slim y como entorno de escritorio opté por LXDE. Bien, sólo resta Xorg; para no instalar una multitud de drivers de video que no se usarán, en vez de instalar el metapaquete xorg instalé el paquete xserver-xorg-video-vesa; instala el núcleo de Xorg y no llena el sistema con drivers de placas extrañas :)

Así que simplemente hice lo siguiente:

$ sudo aptitude install slim lxde xserver-xorg-video-vesa

Después de descargar una buena cantidad de paquetes, el sistema quedó con una hermosa interfaz gráfica, con unas herramientas básicas instaladas (editor simple de textos, navegador de archivos, compresor/descompresor de archivos, etc)

Agregamos algunos paquetes de idioma extras, si es que no se instalaron antes:

$ sudo aptitude install language-pack-es language-pack-es-base language-pack-gnome-es ispanish

Instalación de herramientas específicas: editor de textos: Abiword; planilla de cálculos: Gnumeric; navegador web: Epiphany; chat: Pidgin

$ sudo aptitude install abiword gnumeric epiphany-browser pidgin

El cliente de correo electrónico elegido fue claws-mail, ya que es moderno, liviano, fácil de usar y muy, muy poderoso. Como ventaja extra es que viene "fraccionado": todas las funcionalidades, agregados, plugins y demases se instalan de manera separada, de modo que podemos acomodar completamente la herramienta según nuestros requerimientos. Para instalarlo, entonces, hay que hacer 2 pasos:

$ apt-cache search claws mail

y elegir qué paquete nos interesa, de la larga lista que nos devolverá el comando anterior.

Bueno, en este punto tenemos el grueso de nuestro sistema listo :) Ahora, después de haber realizado el trabajo, no recuerdo qué herramientas instala LXDE por defecto, así que explicito las necesarias, si no están instaladas lo hacemos con aptitude:

Visor de imágenes: gpicview; visor de pdf: epdfview; administrador de archivos comprimidos: xarchiver

Apartado especial, propio del destino para el que estoy preparando este sistema: instalar cups y los drivers necesarios para la impresora que van a usar. La impresora es una HP OfficeJet K550 (de 3° o 4° mano, pero funcional), así que con instalar hplip ya es suficiente:

$ sudo aptitude install cups hplip

Por último, agregamos un adminstrador de conexiones de red. Ubuntu propone el network-manager, pero si lo instalamos nos generará 2 problemas: traerá junto una gran cantidad de paquetes de Gnome y va a hacer crecer innecesariamente el tamaño de nuestro sistema... Así que le bajamos el pulgar ;) En su reemplazo instalamos wicd

$ sudo aptitude install wicd

Bien, acá terminamos la paquetería :) Nos quedan 2 paso más, para afinar mejor el sistema: crear otro usuario sin privilegios y poner el menú de LXDE en español

Aunque no querramos, en los procesos de instalación arriba detallados se han instalado varias herramientas de Gnome que, en principio, no necesitamos. Pero al menos una sí nos sirve: el adminstrador gráfico de usuarios. Vamos al menú principal, ahí a "System Tools" y luego a "Usuarios y grupos"; ahí damos de alta otro usuario, con el nivel de privilegios que querramos adecuado. En mi caso, este usuario nuevo es muy restringido, ya que será el que usen los alumnos en su "toqueteo" diario :)

Para poner el menú de LXDE en español es necesario un poco más de trabajo manual: hay que editar el archivo de configuración del elemento lxpanel, propio de cada usuario. No es difícil, pero tiene sus mañas... En fin, acá está muy bien explicado :)

¿Qué nos falta? Hacer una imagen iso de nuestro sistema, para instalar en las PCs destino. Vamos a usar remastersys, que es muy fácil de instalar y de utilizar.
Para instalarlo, hay que editar el sources.list y agregar la siguiente línea:

deb http://www.geekconnection.org/remastersys/repository ubuntu/

Después, lo de siempre:

$ sudo aptitude update
$ sudo aptitude install remastersys

Terminado el proceso de instalación, nos damos una vuelta por el archivo de configuración de la herramienta:

/etc/remastersys.conf

y lo modificamos según lo que necesitamos. Luego generamos la iso con

$ sudo remastersys dist

Listo, proceso terminado :)


Como yo realicé el trabajo en una VM, saqué la imagen iso con un pendrive y la probé en otra VM (siempre con Vbox), funcionando muy bien (bah, en realidad, sorprendentemente bien :) )

En cuanto a tamaño en disco, el sistema final, con toda la paquetería instalada, con 2 usuarios funcionales (sin archivos personales relevantes) me quedó de unos 1,3 Gb. La imagen iso de ese sistema pesó menos de 400 Mb

Por otra parte, para ser ordenado en el texto de arriba, he planteado la instalación de las herramientas en la secuencia citada; en realidad, el orden de instalación puede ser cualquiera; si faltan dependencias aptitude las va a instalar y el producto final siempre va a ser el mismo. De hecho, en el sistema real fui instalando paquetes a medida que avanzaba en el proceso y el orden no fue justamente el arriba explicado...


Créditos y bibliogafía:

En primer lugar, el grueso de este trabajo lo realicé siguiendo las líneas y las sugerencias de Mi Comunidad: Ubuntu-ar; muchas gracias a todos los que desde ahí me brindaros sugerencias y propuestas :)

Configuración de LXDE

Ubuntu reducido

Problemas con Remastersys

Google
(bueno, es un poco redundante, no? )




Agregado extra:


A pedido de los interesados, comparto la imagen iso del sistema armado según lo arriba expresado. El usuario del LiveCD es "usuario", sin comillas y sin clave; en el sistema ya instalado los usuarios son:

Usuario en /etc/sudoers: escuela701 donsarmiento
Usuario restringido: alumnos noselaclave

Mi ancho de banda a Internet no es grande (256 Kbps de bajada y no mucho más que 50 - 60 Kbps de subida), así que la única manera de compartir la iso es usando Bittorrent. He subido el archivo semilla a TPB y en principio soy el único seeder, a medida que la red se expanda será más rápida la descarga. El acceso es este:

Descargar torrent


7 comentarios:

jorge hequera dijo...

gracias por compartir tu trabajo daniel :)

Carlos A. Crespo dijo...

Muy bueno el trabajo Daniel!!
Y muy buena la iniciativa... (sigo el blog a partir de la lista de correos de U-ar)

Lo único:
Te faltó subir la iso para descargarla.

Un abrazo,
Carlos

Josecuervo86 dijo...

Muy bueno Daniel! Simple y bien redactado!

Muchas gracias por compartirlo!

Saludos

Marco Antonio dijo...

hola daniel..

felicitaciones..!!

pongo a disposicion, espacio en el sitio de tecnicoslinux para que subas el .iso, y generar una nota (citando la fuente) en el portal del sitio web.

espero tu respuesta (via privado). salu2

Ariel dijo...

Hola. Muchas gracias por tu "Ubuntu para PCs de bajos recursos". Aunque mi máquina no tiene "tan bajos recursos", lo instalé y anda bárbaro.

Estaría bueno que en la parte de instalar el sistema base con el AlternateCD, digas cómo se hace. Pues si uno va siguiendo los pasos, te instala todo Ubuntu. Así que tuve que reiniciar la instalación de cero como 200 veces hasta que me di cuenta qué paso tenía que saltear para que instale solo el sistema base.

Saludos

Ariel dijo...
Este blog ha sido eliminado por un administrador de blog.
Gustavo dijo...

Hola,

Excelente iniciativa! ¿Está disponible algún enlace de descarga directa tipo ftp?
Me interesa probar la distro en una K6 que uso en mi trabajo.

Saludos

Firefox 3

NO al Canon Digital!

No Al Canon en Argentina