## NOMBRE

Tazlito - Herramienta de SliTaz Live.

## SINTAXIS

    tazlito [comando] [lista|iso|flavor] [directorio]

## DESCRIPCIÓN

Tazlito es una pequeña utilidad para extraer un LiveCD, reconstruir la imagen ISO y regenerar el sistema de archivos raíz del LiveCD. Tazlito también puede generar una distribución a partir de una lista de paquetes previamente descargados. Para ejecutarse, Tazlito usa el archivo de configuración `/etc/tazlito/tazlito.conf` o un fichero `tazlito.conf` fácil de generar, que buscará en el directorio actual. Especifica el nombre de la ISO, volumen, mantenedor y las rutas de los paquetes a distribuir y de la ISO generada. A Tazlito también se le puede indicar un directorio que contenga archivos adicionales que serán copiados al LiveCD cuando se genere la distribución.

Tazlito se distribuye bajo la licencia libre GNU GPL V3, instalado por defecto en SliTaz e instalado/probado con éxito en Debian GNU/Linux.Encontrarás información adicional de como crear un LiveCD en el manual.

## COMANDOS

### usage

El comando `usage` muestra un sumario de los comandos disponibles con una breve descripción.

    # tazlito usage

### stats

El comando `stats` muestra las variables de configuración, las rutas a los distintos archivos y directorios, e información de la imagen ISO:

    # tazlito stats

### gen-config

El comando `gen-config` permite generar un archivo de configuración preparado para ser editado. Por defecto el archivo es creado en el directorio actual, pero puede ser creado en otro directorio si se especifica mediante la línea de comandos:

    # tazlito gen-config
    # tazlito gen-config /ruta/a/distro

### configure

Este comando configura el archivo de configuración del sistema o uno que encuentre en el directorio actual:

    # tazlito configure

### gen-iso

El comando `gen-iso` puede generar una imagen nueva del LiveCD siguiendo las modificaciones realizadas a la raíz del sistema de archivos del cdrom. Para funcionar, este comando necesita un directorio que contenga el árbol de la distribución del sistema Live. Este árbol puede ser construido fácilmente con el comando `extract-distro`, y modificado y reconstruido mediante:

    # tazlito gen-iso

### gen-initiso

El comando `gen-initiso` funciona igual que el comando `gen-iso`, pero reconstruye el sistema de archivos comprimido initramfs primero. El sistema de archivos initramfs contiene el sistema de archivos raíz y tiene que ser reconstruido si es modificado:

    # tazlito gen-initiso

### list-flavors

El comando `list-flavors` descarga (si es necesario) y muestra una lista de las diferentes versiones personalizadas (flavors) de SliTaz disponibles. Puedes forzar la descarga con la opción `--recharge`:

    # tazlito list-flavors
    # tazlito list-flavors --recharge

### get-flavor

El comando `get-flavor` descarga (si es necesario) y prepara los archivos para `gen-distro` para generar una distribución personalizada (flavor):

    # tazlito get-flavor nombre-version-flavor

### show-flavor

El comando `show-flavor` muestra la descripción de la versión personalizada (flavor) y su tamaño después de la regeneración. Las opciones `--brief` y `--noheader` reducen la información mostrada en pantalla:

    # tazlito show-flavor nombre-version-flavor
    # tazlito show-flavor nombre-version-flavor --brief
    # tazlito show-flavor nombre-version-flavor --brief --noheader

### gen-flavor

El comando `gen-flavor` crea un archivo de descripción de una nueva versión personalizada (flavor) a partir del resultado de generar una distribución (`gen-distro`). El archivo `.flavor` se puede enviar a slitaz.org:

    # tazlito gen-flavor nueva-version-flavor

### gen-liveflavor

El comando `gen-liveflavor` crea un archivo de descripción de una nueva versión personalizada (flavor) a partir de los resultados de generar una distribución basada en el sistema actual. La opción `--help` proporciona más información:

    # tazlito gen-liveflavor
    # tazlito gen-liveflavor --help

### upgrade-flavor

El comando `upgrade-flavor` refresca un archivo flavor actualizando la lista de paquetes con la última versión disponible:

    # tazlito upgrade-flavor nombre-archivo-flavor

### extract-flavor

El comando `extract-flavor` convierte una versión personalizada (flavor) en una estructura de árbol fácilmente modificable en `/home/slitaz/VERSION/flavors` la cual puede ser administrada con mercurial: http://hg.slitaz.org/flavors. Por ejemplo, para 'cooking' tendrás el directorio de trabajo en `/home/slitaz/cooking`.

    # tazlito extract-flavor nombre-archivo-flavor

### pack-flavor

El comando `pack-flavor` convierte una estructura de árbol en `/home/slitaz/VERSION/flavors` en un archivo (`.flavor`). Es inverso a `tazlito extract-flavor`:

    # tazlito pack-flavor nombre-archivo-flavor

### extract-distro

El comando `extract-distro` se usa para extraer una imagen ISO del LiveCD con el fin de reconstruir la estructura raíz del CD-ROM y del sistema. Entonces es posible realizar los cambios o añadidos que se desee y reconstruir la imagen ISO mediante `gen-iso` or `gen-initiso`. Ejemplo:

    # tazlito extract-distro slitaz-cooking.iso

### gen-distro

El comando Generar distribución puede generar el árbol de la distribución y una imagen ISO mediante la lista de paquetes. Para funcionar, este comando necesita una lista de paquetes, un directorio que contenga todos los paquetes (`.tazpkg`) de la lista, y un directorio para generar la distribución. La lista de paquetes puede ser extraída de una versión personalizada (flavor) con el comando `get-flavor`. Si se usa el LiveCD, las opciones `--cdrom` y `--iso=` permiten la regeneración de los paquetes que tienen archivos en `/boot` sin que sea necesario descargarlos y recuperar los archivos adicionales del LiveCD. La ruta para los distintos directorios esta configurada en el archivo de configuración y los paquetes pueden ser descargados desde los espejos de SliTaz o generados con Cookutils. Para generar una distribución:

    # tazlito gen-distro
    # tazlito gen-distro --cdrom
    # tazlito gen-distro --iso=slitaz.iso
    # tazlito gen-distro package-list

### clean-distro

Borra todos los archivos generados o añadidos a la estructura del LiveCD:

    # tazlito clean-distro

### check-distro

Este comando simplemente verifica si los archivos instalados por los paquetes están presentes en el sistema:

    # tazlito check-distro

### writeiso

Este comando escribirá el actual sistema de archivos en un archivo cpio (`rootfs.gz`) y entonces generará una imagen ISO arrancable. Writeiso puede ser usado en una instalación en disco duro o en modo live y también archivara tu directorio `/home` actual. Este comando te permite remasterizar y construir tu propia imagen LiveCD, solo ejecuta, modifica cualquier archivo, y entonces:

    # tazlito writeiso [gzip|lzma|none]
    # tazlito writeiso gzip
    # tazlito writeiso gzip nombre-imagen

### check-list

Comprueba si el archivo `distro-packages.list` (lista de distribución de paquetes) está actualizado con las ultimas versiones de paquetes:

    # tazlito check-list

### repack

Vuelve a comprimir el sistema de archivos raíz con la mejor compresión posible:

    # tazlito repack slitaz.iso

### merge

Combina varios versiones personalizadas (flavors) como si fueran matrioskas (muñecas rusas). Cada sistema de ficheros raíz es un subconjunto del anterior. El primer sistema de ficheros raíz es extraído desde la imagen ISO utilizada en el tercer argumento. El flavor será entonces elegido para ser ejecutado al inicio conforme a la cantidad de RAM disponible:

    # tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz

### build-loram

Crea una imagen ISO personalizada (flavor) para sistemas con poca RAM desde una imagen ISO de SliTaz. Puedes construir un flavor con `/` siempre en RAM o donde `/` esté en el CD-ROM:

    # tazlito build-loram slitaz.iso loram.iso
    # tazlito build-loram slitaz.iso loram-cdrom.iso cdrom

### emu-iso

El comando `emu-iso` usa el emulador Qemu para iniciar y ejecutar SliTaz. Qemu se usa para probar la recién construida imagen ISO sin ser quemada en un CD-ROM o ejecutada en modo frugal:

    # tazlito emu-iso
    # tazlito emu-iso ruta/a/imagen.iso

### burn-iso

El comando `burn-iso` detectará el dispositivo CD-ROM y su velocidad, y wodim (parte de cdrkit) comenzara a grabar una imagen ISO. La imagen ISO por defecto es la indicada en el archivo de configuración actual, pero es posible especificar otra imagen ISO mediante la linea de comandos:

    # tazlito burn-iso
    # tazlito burn-iso slitaz-hacked.iso

## FLAVORS

Un archivo `.flavor` contiene solo unos cuantos KB de información para (re)construir un LiveCD personalizado de SliTaz.

### Reconstruir una versión flavor

Puedes elegir el flavor para (re)construir entre las disponibles::

    # tazlito list-flavors

    List of flavors
    ================================================================================
    Nombre              ISO   Rootfs  Descripción
    ================================================================================
    base               6.9M  13.1M  Conjunto mínimo de paquetes para ejecutar
    core-3in1         31.5M 105.6M  Sistema central de SliTaz con justX y alternativas de base
    core              31.5M 104.6M  Sistema central de SliTaz
    eeepc             31.2M 105.4M  Sistema eeepc de SliTaz
    justX             16.1M  51.2M  SliTaz con un entorno X mínimo

Empezaremos fabricando el flavor eeepc que usa 105.4M de RAM y tiene un tamaño en CD-ROM de 31.2M:

    # tazlito clean-distro
    # tazlito get-flavor eeepc
    # tazlito gen-distro

### Crear un flavor

Para crear un flavor, tienes que:

- O bien crear una imagen ISO con `tazlito gen-distro` y después crear un archivo flavor con `tazlito gen-flavor`
- O bien directamente crear una estructura de árbol que defina el flavor (ver `tazlito extract-flavor`) y entonces crear un flavor con `tazlito pack-flavor`
- O bien usar el constructor en línea

### Enviar un flavor

Como un archivo `.flavor` ocupa solamente unos cuantos KB, es fácil enviarlo a través de la lista de correo de SliTaz.

El resultado de `tazlito extract-flavor` se puede subir a mercurial. Este método es preferible, porque el árbol sera visible directamente con la interfaz web de mercurial.

Este árbol incluye:

- Un archivo de recibo que describe el flavor gracias a las variables:
  - FLAVOR: El nombre del flavor.
  - SHORT_DESC: Descripción breve.
  - VERSION: Formato libre.
  - MAINTAINER: Correo electrónico del encargado de mantenimiento.
  - FRUGAL_RAM: RAM mínima requerida (opcional).
  - ROOTFS_SIZE: Tamaño de rootfs.gz descomprimido en la RAM (opcional).
  - INITRAMFS_SIZE: Tamaño del archivo rootfs.gz en el CD-ROM (opcional).
  - ISO_SIZE: Tamaño del CD-ROM (opcional).
  - ROOTFS_SELECTION: Opcional, ver Meta flavor debajo.
- El archivo packages.list, que contiene la lista de los paquetes en la que no se especifica la versión (tazlito usa la ultima versión disponible). Este archivo no aparecerá si ROOTFS_SELECTION existe en este fichero de recibo.
- EL archivo opcional mirrors, que contiene la lista de espejos no oficiales (undigest) para que puedas incluir paquetes personales.
- El directorio opcional rootfs que contiene el árbol para añadirlo al sistema de archivos raíz rootfs.gz (archivos de configuración normalmente).
El directorio opcional rootcd, que contiene el árbol para añadirlo a la raíz del CD-ROM.

### Adaptar un flavor

A menudo es mas fácil modificar un flavor existente que crear uno desde cero. Para adaptar el flavor eeepc por ejemplo:

    # tazpkg get-install mercurial
    # cd /home/slitaz
    # hg clone http://hg.slitaz.org/flavors
    # cd flavors
    # cp -a eeepc myslitaz

Los archivos en `myslitaz` pueden cambiarse, y:

    # tazlito pack-flavor mislitaz

Simplemente creará un nuevo flavor.

Sugerencia: Puedes saltarte la instalación de mercurial extrayendo un flavor usando el ejemplo siguiente:

    # tazlito get-flavor eeepc
    # tazlito extract-flavor eeepc.flavor
    # cd /home/slitaz/flavors
    # cp -a eeepc mislitaz

### Meta flavor

Un meta flavor contiene varios flavors como una matrioska (muñecas rusas). El flavor se ejecutará al inicio dependiendo de la RAM disponible. La variable ROOTFS_SELECTION define el mínimo de RAM y los parámetros de flavor correspondientes, ejemplo:

    ROOTFS_SELECTION="160M core 96M justX 32M base"

Un meta flavor no contiene una lista de paquetes (`packages.list`). El kernel de SliTaz anterior a 2.6.30 no soporta meta flavors.

## MAINTAINER

Christophe Lincoln <pankso en slitaz.org>
Pascal Bellard <pascal.bellard en slitaz.org>