# Manual Tazlito

## NOME

Tazlito - SliTaz Live Tool.

## SINTAXE

    tazlito [command] [list|iso|flavor] [dir]

## DESCRIÇÃO

Tazlito é um pequeno utilitário que extrai um LiveCD, reconstrói a imagem ISO e regenera o sistema de arquivos root do LiveCD, criando uma variante (flavor) da distribuição. O Tazlito também pode gerar uma distribuição a partir de uma lista de pacotes previamente baixados. Para rodar, o Tazlito usa o arquivo de configuração /etc/slitaz-tools/tazlito.conf ou o tazlito.conf gerado pelo Tazlito no diretório atual. Este arquivo especifica o nome da ISO, volume, mantenedor, os caminhos dos pacotes a serem incluidos e da ISO a ser gerada. Tazlito também pode ser usado para configurar um diretório contendo arquivos adicionais que serão copiados para o LiveCD na geração da distribuição.

Tazlito é distribuído sobre a licença livre GNU GPL V3, istalada por padrão no SliTaz e instalada/testada com sucesso no Debian GNU/Linux. Você irá encontrar informações adicionais sobre a criação de um LiveCD no Manual SliTaz.

## COMANDOS

### usage

O comando "usage" mostra um resumo dos comandos disponíveis com uma pequena descrição:

     # tazlito usage

### stats

"Stats" mostra as variáveis da configuração, os caminhos para os vários arquivos e diretórios e informações sobre a imagem ISO:

     # tazlito stats

### gen-config

O comando "gen-config" permite a geração do arquivo de configuração pronto para ser editado. Por padrão o arquivo é criado no diretório atual, mas também pode ser em outro diretório informado na linha de comando:

     # tazlito gen-config
     # tazlito gen-config /path/to/distro

### configure

Este comando pode configurar o arquivo de configuração do sistema ou o encontrado no diretório atual:

     # tazlito configure

### gen-iso

O comando "gen-iso" pode gerar uma nova imagem do LiveCD a partir de modificações e adições ao sistema de arquivos root do cdrom. Para funcionar, este comando precisa de um diretório que contenha a "árvore" da distribuição do sistema Live. Esta "árvore" pode ser facilmente gerada com o comando "extract-distro", modificada ou reconstruida via:

     # tazlito gen-iso

### gen-initiso

O comando "gen-initiso" faz o mesmo que o "gen-iso", mas antes ele reconstrói o sistema comprimido initramfs. O initramfs contem o sistema de arquivos root e deve ser reconstruído se modificado:

     # tazlito gen-initiso

### list-flavors

Este comando baixa (se necessário) e mostra a lista de diferentes variantes disponíveis. Pode-se forçar o download com a opção --recharge:

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

### get-flavor

O comando "get-flavor" baixa (se necessário) e prepara os arquivos para que o comando "gen-distro" gere uma variante:

     # tazlito get-flavor particular-flavor

### show-flavor

Este comando mostra a descrição da variante e seu tamanho após a regeneração. As opções --brief e --hoheader reduzem a saida do comando:

     # tazlito show-flavor particular-flavor
     # tazlito show-flavor particular-flavor --brief
     # tazlito show-flavor particular-flavor --brief --noheader

### gen-flavor

O comando "gen-flavor" cria um arquivo de descrição de uma nova variante a partir dos resultados da regeneração da distro (gen-distro). O arquivo .flavor pode ser enviado ao slitaz.org:

     # tazlito gen-flavor new-flavor

### gen-liveflavor

Este comando cria um arquivo de descrição de uma nova variante a partir dos resultados de geração da distro baseada no sistema atual. A opção --help mostra mais informações

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

### upgrade-flavor

Este comando renova um arquivo flavor, atualizando a lista de pacotes com a versão mais recente disponível no mirror:

     # tazlito upgrade-flavor this-flavor

### extract-flavor

O comando 'extract-flavor' converte um flavor em uma estrutura de pastas facilmente modificável em /home/slitaz/VERSION/flavors que pode ser ser gerenciada com o mercurial: http://hg.slitaz.org/flavors.

     # tazlito extract-flavor this-flavor

### pack-flavor

Este comando converte uma estrutura de pastas encontrada em /home/slitaz/VERSION/flavors em um arquivo de variante (.flavor). É o inverso do que o comando 'extract-flavor' faz:

     # tazlito pack-flavor this-flavor

### extract-distro

Este comando é usado para extrair uma imagem ISO do LiveCD e reconstruir a estrutura do cdrom e sistema root. Isto possibilita fazer as mudanças desejadas, adições e reconstruções da imagem ISO por meio do comando "gen-iso" ou "gen-initiso". Exemplo de uso:

     # tazlito extract-distro slitaz-cooking.iso

### gen-distro

O comando para Geração de Distribuição pode gerar a árvore da distribuição e a imagem ISO por meio de uma lista de pacotes. Para funcionar, este comando precisa da lista de pacotes, um diretório contendo todos os pacotes .tazpgk especificados na lista e um diretório para gerar a distribuição. A lista de pacotes pode ser extraida de uma variante pelo comando "get-flavor". Ao se utilizar o LiveCD, as opções --cdrom e --iso= permitem a regeneração dos pacotes que adicionam arquivos ao diretório /boot sem que seja necessário o download dos mesmos e recuperam os arquivos adicionais do LiveCD. O caminho para os vários diretórios é informado no arquivo de configuração e os pacotes podem ser baixados dos mirrors do SliTaz ou gerados pelo Cookutils. Para gerar uma distribuição:

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

### clean-distro

Remove todos os arquivos gerados ou extraidos da estrutura do LiveCD:

     # tazlito clean-distro

### check-distro

Este comando simplesmente verifica se os arquivos instalados pelos pacotes estão presentes no sistema:

     # tazlito check-distro

### writeiso

Este comando irá converter o sistema de arquivos atual em um arquivo cpio (rootfs.gz) e então gerar uma imagem ISO inicializável. Pode ser usado tanto em instalações no HD quanto em modo LiveCD, e irá arquivar também o conteúdo do diretório /home. Com ele, pode-se facilmente remasterizar e construir sua própria imagem de LiveCD. Para tanto inicie o sistema, modifique arquivos, instale pacotes e então:

     # tazlito writeiso [gzip|lzma|none]
     # tazlito writeiso gzip
     # tazlito writeiso gzip image-name

### frugal-install

Executa uma instalação frugal em /boot/frugal e adiciona uma entrada ao GRUB, caso necessário. Este tipo de instalação irá rodar o SliTaz diretamente na memória RAM (mesmo comportamento do LiveCD), o que permite testar a distro ou ter um sistema de recuperação pronto para uso. Para instalar todos os arquivos necessários a partir de uma estrutura de pastas ou de uma imagem ISO:

     # tazlito frugal-install
     # tazlito -fi slitaz.iso

### check-list

Verifica se o arquivo distro-packages.list está atualizado com as mais recentes versões dos pacotes:

     # tazlito check-list

### repack

Comprime novamente o rootfs com a melhor compressão possível:

     # tazlito repack slitaz.iso

### merge

Combina diversas variantes. Cada rootfs é uma consequência de seu anterior. O primeiro rootfs é extraido da imagem ISO indicada como terceiro argumento. As variantes serão escolhidas no momento do boot, de acordo com a memória RAM disponível:

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

### build-loram

Cria uma variante para sistemas com pouca memória RAM à partir de uma imagem ISO do SliTaz. Pode-se gerar uma variante que seja carregada na diretamente na memória ou lida a partir do cdrom:

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

### emu-iso

O comando emu-iso utiliza o emulador Qemu para iniciar e rodar o SliTaz. É util para testar a iso criada sem a necessidade de gravá-la em um cdrom ou bootar em modo frugal.

     # tazlito emu-iso
     # tazlito emu-iso path/to/image.iso

### burn-iso

O comando "burn-iso" obtém informações sobre o dispositivo de cd e as velocidades permitidas para gravação, e o wodim (parte do cdrkit) inicia para gravar a imagem ISO. A imagem ISo padrão é aquela especificada no arquivo de configuração, mas é possível especificar uma imagem diferente por meio da linha de comando:

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

## FLAVORS

Um arquivo .flavor contém somente alguns poucos Kb de informação necessária para (re)construir um LiveCD customizado do SliTaz.

### (Re)construa uma variante

Você pode escolher uma variante para (re)construir a partir daquelas disponíveis:

    # tazlito list-flavors

    List of flavors
    ================================================================================
    Name              ISO   Rootfs  Description
    ================================================================================
    base               6.9M  13.1M  Minimal set of packages to boot
    core-3in1         31.5M 105.6M  SliTaz core system with justX and base alternatives
    core              31.5M 104.6M  SliTaz core system
    eeepc             31.2M 105.4M  SliTaz eeepc system
    justX             16.1M  51.2M  SliTaz with a minimal X environment

Como exeplo, começaremos a reconstruir a variante eeepc que ocupa 105.4M de RAM e possui um tamanho de imagem ISO de 31.2M:

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

### Crie uma variante

Para criar uma variante, você deve:

- Criar uma imagem ISO usando o comando tazlito-gen-distro e então criar um arquivo flavor usando tazlito gen-flavor; ou
- Criar diretamente uma estrutura de arquivos que define o flavor (veja tazlito extract-flavor) e então criar o flavor usando tazlito pack-flavor.

### Publique uma variante

Um arquivo .flavor possui alguns Kb de tamanho, então você pode enviá-lo para a lista de discussão do SliTaz.

Os arquivos resultantes do comando tazlito extract flavor pode também ser colocado no repositório mercurial (http://repos.slitaz.org/flavors). Este método é preferido porque a estrutura de pastas poderá ser acessada diretamente por uma interface web.

Esta estrutura inclui:

- Uma receita (arquivo receipt) que descreve a variante por intermédio das variáveis:
  - FLAVOR: O nome da variante.
  - SHORT_DESC: Uma curta descrição
  - VERSION: Versão.
  - MAINTAINER: Email do desenvolvedor/criador.
  - FRUGAL_RAM: Memória RAM mínima recomendável (variável opcional).
  - ROOTFS_SIZE: Tamanho que o rootfs.gz ocupa descomprimido na RAM (opcional).
  - INITRAMFS_SIZE: Tamanho que o rootfs.gz ocupa em um CDROM (opcional).
  - ISO_SIZE: Tamanho do CDROM (opcional).
  - ROOTFS_SELECTION: Opcional, veja Meta flavor abaixo.
- O arquivo packages.list contem a lista de pacotes sem especificar uma versão (o tazlito sempre utiliza os últimos pacotes disponíveis). Este arquivo não aparece caso a variável ROOTFS_SELECTION esteja definida.
- O arquivo opcional mirrors contem a lista de mirror não oficiais (undigest) a serem incluidos para se obter pacotes personalizados.
- O diretório opcional rootfs contem uma estrutura de pastas e arquivos a serem adicionados ao sistema de arquivos rootfs.gz (normalmente serão arquivos de configuração).
- O diretório opcional rootcd contem uma estrutura de pastas e arquivos a serem adicionados ao CDROM.

### Adapte uma variante

Às vezes é mais fácil modificar uma variante existente do que criar uma nova. Para adaptar a variante eeepc, por exemplo:

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

Arquivos em my-slitaz podem ser adaptados, então:

    # tazlito pack-flavor myslitaz

Isto irá criar uma nova variante adaptada de uma outra existente.

Dica: Pode-se evitar a instalação do mercurial extraindo-se uma variante. Usando o exemplo anterior:

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

### Meta flavor

Uma meta variante (meta flavor) contem diversas variantes juntas. Ao se iniciar o sistema com uma meta variante, uma variante contida no LiveCD irá ser chamada dependendo do tamanho da memória RAM disponível. A variável ROOTFS_SELECTION define o mínimo de RAM a ser utilizada e os parametros das variantes existentes. Exemplo usando a meta variante :

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

Este tipo de variante não possui uma lista de pacotes (packages.list) e só é suportada no SliTaz a partir do kernel 2.6.30.

## MANTENEDOR

Christophe Lincoln <pankso at slitaz.org>