Buenas:
Un módulo no es más que un archivo comprimido con las instrucciones de como y donde debe descomprimirse cada archivo, asi, es posible hacer virtualmente módulos de cualquier cosa, programas, configuraciones... que al "instalarse" pasarán a formar parte del sistema operativo, como si de un plug-in se tratara.
El siguiente manual explica como crear un módulo .xzm, a partir de un paquete .tar.gz explicando el proceso para poder realizarlo desde una shell.
Existe además la posibilidad de:
-Convertir un módulo antiguo .lzm a .xzm (http://foro.seguridadwireless.net/live-cd-wifiway/tutorial-convertir-modulos-viejos-en-formato-lzm-para-usarlos-en-wifiway-3-0/)
-Convertir un módulo para al el mismo sistema, Slackware 13.37 y arquitectura i486 y convertir el .txz a .xzm
-A partir de Wifislax4.1 se incluye un gestor de paquetes que permite descargar los módulos y convertirlos a .xzm
NOTA: Recordad que algunos programas tienen dependencias, librerías que necesitan para funcionar, y que deberán incluirse en el módulo o instalarse separadamente para que funcione correctamente.
Creacion de Modulos .xzm para Wifislax 4
Buenas, este tutorial es para crear módulos .xzm para wifislax de una manera más correcta de lo habitual.
Que conseguimos con este metodo?
De este modo podemos tener una lista completa de aplicaciones y librerías instaladas en /var/log/packages, además cuando se instalen actualizaciones de aplicaciones, poder desinstalar las versiones antiguas de manera sencilla así como poder desinstalar paquetes que no nos interesen de la live.
Como ejemplo vamos a actualizar grep, de la versión grep-2.5.3 que tenemos en /var/log/packages a la version grep-2.7, que es la más actual al dia de hoy.
1-Instalacion de la aplicacion:
-Primero nos descargamos grep-2.7.tar.gz y lo colocamos en el directorio /root
-una vez tengamos grep-2.7.tar.gz en root, abrimos una shell y lo descomprimimos:
Código:
tar xzf /root/grep-2.7.tar.gz
-una vez descomprimido entramos en el directorio grep-2.7:
Código:
cd grep-2.7
-creamos un nuevo directorio en grep-2.7 que lo llamaremos BUILD:
Código:
mkdir BUILD
-ahora copilamos:
Código:
./configure
make
-seguidamente creamos la estructura de archivos pero en el directorio BUILD:
Código:
make install DESTDIR=/root/grep-2.7/BUILD
NOTA: esto es solo un ejemplo ya que no todas las aplicaciones se intalan igual, depende de muchas cosas como puede ser el lenguage de programacion. Para cambiar la ruta de instalacion con python, seria algo asi:
Código:
python setup.py --root=/root/grep-2.7/BUILD
Lo importante es tener en un directorio toda la estructura de archivos de la aplicacion, cada uno que lo haga a su manera
2-Crear el paquete .txz:
-ahora ya tenemos los archivos necesarios para crear el paqute .txz, así que entramos en BUILD:
Código:
cd BUILD
-Abrimos una shell en BUILD (f4) y creamos el paquete .txz en root:
Código:
makepkg /root/grep-2.7.txz
3-Pasar un paquete .txz a modulo .xzm:
-bueno ya tenemos nuestro paquetito .txz, pero ahora queremos pasarlo a .xzm para que sea compatible con wifislax
-Abrimos una shell (f4) y ejecutamos el siguiente comando:
Código:
txz2xzm /root/grep-2.7.txz /root/grep-2.7.xzm
-Así conseguimos un .xzm con el nombre del paquete instalado en /var/log/packages
4-Eliminacion de un paquete .txz:
-seguidamente pasamos a desinstalar el paquete antiguo grep-2.5.3-i486-5.
-Buscamos donde se encuentra este paquete en los módulos de wifislax, lo podéis mira rápidamente en /mnt/live/memory/images/ , en este caso grep-2.5.3-i486-5 se encuentra en 1.001-core.xzm
-descomprimimos el modulo 1.001-core.xzm en root y seguidamente desinstalamos el paquete con este comando:
Código:
ROOT=/root/1.001-core removepkg grep-2.5.3-i486-5
Ahora ya se puede volver a comprimir el 1.001-core.xzm sin el grep-2.5.3 o bien podemos meter los archivo del nuevo grep-2.7 en 1.001-core y después comprimirlo todo junto.
NOTA: El paso 4 no es necesario si lo que queremos es hacer un modulo independiente, esta puesto mas bien a nivel informativo por si quereis modificar cosas en vuestra live.
Tambien podemos usar la bateria de menu contextual si queremos ahorrarnos el escribir codigo
Esto es todo amigos, Saludos.
original: elmanuvolador
PERFECCIONAMIENTO
En este tutorial intentaremos perfeccionar los módulos una vez tengais controlado el tema de crearlos.
En los programas/librerias , se suele añadir "doc" , "man" , e idiomas a mansalva , ( las lives pueden dan soporte a ingles/español, por eso el resto de idiomas se suelen quitar )
Es facil que llegasemos a tener varios cientos de megas en espacio ocupado por doc (documentacion) , hay se suelen guaradr textos, sobre el proceso de desarrollo , personas que participaron , bugs corregidos ...cosas que a muy pocos interesa, ( siempre poemos mirarlo en las paginas oficiales de cada programa )
Luego tenemos el directorio "man" ...hay se guardan manuales ...que a mi juicio (tal vez equivocado) , tampoco merece la pena tener, ya que para manejar una aplicacion basta con poner un --help ...y nos dara la ayuda en pantalla.
En el video vereis como tambien trato de eliminar idiomas innecesarios ( no podemos tener 300 megas en soporte a 50 idiomas ... no es practico , cuando alguien encesita un idioma extra puede añadirselo despues ).Los programas por defecto ya van todos en ingles ( en-us) asique de normal salvaremos solo el español (es) , si vemos que existe el (en) , lo salvamos por que eso significa que por defecto la aplicacion arranca en otro idioma.
Por ultimo , y que no aparece en el video tenemos en muchas ocasiones el directorio gtk-doc , el cual se puede intuir que guarda documentacion ...en caso de existir podemos elimianrlo.
Aun hay otra opcion para bajar peso ...esta podemos usarla cuando hemos compilado nosotros mismo un paquete , en el video podremos ver un ejemplo con el modulo testdisk.Usando la herramienta stripdir.
Vereis como por ejemplo un modulo de vlc , pasa de 22,5 megas a 17,8 ( aprox ) ,simplemente eliminando idiomas ,doc , y man.
las rutas siempre estan en
/usr/share/*