¡Saludos al foro de Software Libre después de tanto tiempo! He estado de vacaciones, de vacaciones de esas en que se para la pata en un mismo sitio durante muy poco tiempo y apenas hay ocasión de coger un ordenador... Eso el mes de julio, principio de este mes de agosto he estado ocupado con lo que digo a continuación:
Para compensar la ausencia, publico la guía de las últimas chapucillas que le he estado haciendo a la SLAX 5. Hace ya unos meses dejé dicho en
este hilo, que me proponía hacer la internacionalización/localización de la distribución, porque es su punto más flojo. Empecé, pero lo dejé porque me surgieron asuntas más perentorios. Sin embargo, ahora que paro cerca de un mes en mi domicilio paterno, donde hay una jungla infestada de ordenadores con windows, no me ha quedado otra que recomenzar la configuración de la slax, para tener un sistema decente con el que trabajar.
Hice la guía y cuando me dispuse a anunciárosla, se cayeron los servidores de EOL. Y como seguía con ganas de marcha me dispuse a hacer un
script que automatizase todo lo que había hecho yo, ante la imposibilidad de colgaros la iso de ningún sitio. Pero el script al final fue a más. Comento un poco la guía y luego el script, pero antes de nada me plagio un párrafo de mi guía para que el que no conozca slax, pero sí knoppix, se interese por esta estupenda distribución:
Resumiendo, una distribución excelente si nos vemos obligados a trabajar con ella durante largo rato. Quizás para una necesidad más puntual es mejor la knoppix (mejor reconocimiento de hardware, más vistosa, más software); pero, cuando se requiere trabajar con la distribución, la knoppix es exasperantemente lenta (lee de cedé) y muy poco versátil (si no tiene incluido el programa, te jodes). En cambio, slax es más rápida desde cedé y cuando está cargada en memoria corre como una moto. Además, como permite cargar módulos en caliente, si no se dispone del programa, no hay más que buscar el paquete tgz en un repositorio de slackware, convertirlo a módulo con la utilidad "tgz2mo" y cargarlo con "uselivemod". Todo sin haber reiniciado el ordenador para nada y sin esoterismos de ningún tipo. Si se prevé que este módulo se necesitará en más ocasiones es sumamente fácil incluir el módulo en el cedé, como se verá más adelante. Y para colmo de utilidad los comandos websave y webrestore pueden almacenarnos en el servidor de slax hasta 8Mb de perfil de usuario. Slax no es cómo tener linux instalado en el disco duro, pero es lo que más se le aproxima.
Al que no le interese la guía demasiado, que se pase directamente a leer el comentario sobre el script.
LA GUÍA Me ahorro más preámbulo: para el que ojease lo que hice a la versión 4, la nueva slax 5 tiene la misma filosofía, aunque cambia un poco la estructura y los nombres de las utilidades. En esta ocasión me he esmerado bastante más y me ha quedado una internacionalización bastante coqueta. Resumiendo lo que trato en la guía:
* Modificaciones sencillas: adición y supresión de módulos enteros, adición y supresión de aplicaciones a módulos de la distribución.
* Modificaciones más profundas:
- Alteración de los script de arranque para internacionalizar la distribución:
x Adición del parámetro de arranque "lang".
x Revisión de los script de inicio (/etc/rc.d(/rc.*) y xconf para que una localización básica de slax (teclado y locales) sea tan simple como incluir un fichero /etc/lang/lang.LENGUA.conf.
- Creación de módulos de idioma.
- Creación de una versión local de slax mediante todo lo anterior y la traducción del boot de arranque, la adición de un valor por defecto a "lang" y la configuración de un teclado local en él (¿a que jode estar buscando a ciegas dónde está el '=' en el tecladpo inglés cuando se quiere añadir un parámetro de arranque?).
* mozilla-firefox: cómo crear una versión de mozilla-firefox que permita instalar extensiones por medio de módulos (lo cual permite incluir la extensión del idioma propio en el módulo de idioma). Se propone además un xpi2tgz que transforma las extensiones en formato xpi a paquetes de slackware.
Grosso modo esto es lo que se trata. Con todo ello, me he hecho yo una edición de slax:
- con suporte para internacionalización, módulo es.mo (español) y españolización del boot de arranque.
- sin kde (arggghhh...) y fluxbox como entorno por defecto.
- con mozilla-firefox, gimp, azureus, gqview, xmms, gkrellm y xpdf.
- con los plugins de firefox: mplayerplug-in, flash y java.
- con extensiones de mozilla-firefox: aardvark, fireFTP, web developer, flashblock y sessionSaver.
EL SCRIPTComo no podía poner los ciento y pico megas de mi slax en ningún sitio y elotrolado ha estado un par de días caído, se me ocurrió crear un script que automatizase el paso de la slax estándar a mi slax particular. Esa fue la idea de inicio. Conforme iba escribiendo el script, iba cambiando la idea original y al final lo que he creado es un script que transforma slax en
la slax que te dé la gana. Sólo basta indicar en un ficherito cuáles son los paquetes que queremos eliminar y cuáles son los que queremos incluir. El script se encarga de descargarlos internet e incluirlos en el módulo de la slax que le indiquemos (si el módulo no existe, lo crea). De ahí que lo que en principio había llamado slax2kdeless, he acabado por llamarlo
frankenslax, nombre más sonoro y ajustado a la tarea que realiza.
Ya digo que la slax resultante es la que te dé la gana. La que genera el fichero packages.list que se incluye por defecto es justamente la que tengo yo con internazionalización, localización del arranque, etc...
Para que os hagáis una idea, este es el packages.list por defecto (corto algunas líneas demasiado largas):
#***-- General ---------------------------
+*0base,02_core: ${DIR_BIN}/packages/util-slax-5.0.6-noarch-1.tgz
#-----------------------------------------
#III-- Internacionalización --------------
+I0base,02_core: ${DIR_BIN}/packages/patch-core-i18n-0.1-noarch-1.tgz
+I0base,02_core: slackware/l/glibc-i18n-2.3.4-noarch-1
+I0base,10_kdeless: ${DIR_BIN}/packages/langpack-slax-0.1-noarch-1.tgz
#III--------------------------------------
#KKK-- Eliminación de KDE ----------------
+K0base,02_core: ${DIR_BIN}/packages/patch-core-kdeless-0.1-noarch-1.tgz
-K0base,06_kde_base: -v 'slax-kde-artwork'
-K0base,07_kde_apps: *
-K0base,08_kde_office: *
#
# Paquete sustitutivos
#
+K0base,10_kdeless: slackware/xap/gkrellm-2.2.4-i486-1
+K0base,10_kdeless: slackware/xap/xmms-1.2.10-i486-2
+K0base,10_kdeless: slackware/xap/xpdf-3.00-i486-3
+K0base,10_kdeless:
http://linuxpackages.inode.at/Slackware-10.1/fred/gqview-2.0.1-i486-1arf.tgz+K0base,10_kdeless:
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.6/linux-i686/en-US/firefox-1.0.6.tar.gz#+K0base,10_kdeless: ${DIR_BIN}/packages/mozilla-firefox-1.0.6-i486-3.tgz
+K1base,10_kdeless:
http://dag.wieers.com/packages/mplayerplug-in/mplayerplug-in-3.05-1.1.fc2.rf.i386.rpm#KKK--------------------------------------
#MMM-- Personalización -------------------
-M0base,05_common: slackware/a/elvis-2.2_0-i486-2
+M0base,05_common: slackware/ap/vim-6.3.007-i486-1
+M0base,02_core: ${DIR_BIN}/packages/patch-profiles-0.1-noarch-1.tgz
#MMM--------------------------------------
#FFF-- Paquetes non-free -----------------
-F0base,09_slax: /netscape-plugins-7.2-i486-1
+F0modules,02_nonfree:
http://ruslug.rutgers.edu/macromedia/tarball/generic/install_flash_player_7_linux.tar.gz+F0modules,02_nonfree: ${DIR_BIN}/packages/jre-1_5_0_04-linux-i586.bin
#FFF--------------------------------------
#EEE-- Extensiones para mozilla ----------
+E0modules,01_firefox_extensions: ${DIR_BIN}/packages/mozilla-profiles-0.1-noarch-1.tgz
+E0lang,es:
http://nave.hispalinux.es/productos/firefox/1.0/descargas/firefox.1.0.es-ES.langpack.xpi+E0modules,01_firefox_extensions:
http://downloads.mozdev.org/webdeveloper/webdeveloper_localized.xpi+E0modules,01_firefox_extensions:
http://downloads.mozdev.org/flashblock/flashblock-1.3.2.xpi+E0modules,01_firefox_extensions:
http://www.karmatics.com/aardvark/aardvark.xpi+E0modules,01_firefox_extensions:
http://ftp.mozilla.org/pub/mozilla.org/extensions/fireftp/fireftp-0.88.3-fx.xpi#EEE--------------------------------------
Como veis, cada línea es básicamente indicar qué paquete se quiere instalar (+) o desinstalkar(-) y en qué módulo de slax. Para hacerlo más versátil se me ha ocurrido que las modificaciones a la slax, se pueden dividir en módulos (nada que ver con los de slax) de modo que si le digo a frankenslax que ejecute el módulo F, me instalará en la iso resultante el software non-free, pero si no lo digo, no lo hará.
La ejecución es algo así:
$ ./slax2kdeless -l es -d tmp -o nuevaslax.iso -m I,K,M,F,E
que como ejecuta todos los módulos que hay en packages.list, genera la slax que estoy utilizando yo ahora. Por cierto, que en el paquete que os suministro se sigue llamando slax2kdeless: he decidido el cambio de nombre escribiendo las FAQ.
Una última cosa, en haceros una slax en
catalán, gallego o euskera no tardáis más de cinco minutos: basta con traducir tres o cuatro ficheros. Viene explicado en las FAQ.
El script está pensado para ejecutarlo desde una slax.
¡Ah! Y antes de probarlo, haced un ./slax2kdeless --help y leed. al menos, el README.
Nada más, espero de los amantes de slax (que hay varios en el foro, según creo) comentarios, dudas o correcciones, vituperios o alabanzas. En especial estas, que ando últimamente falto de cariño...
Si os parece que está bien, quizás me anime a publicarlo en los foros de slax. Pero aquí tengo más confianza...
EDITO: (20-8-05)
Sustituyo la versión 0.1 por la versión 0.2. Para saber los cambios, consultad más adelante en el hilo.