## НАЗВАНИЕ

TazLiTo — SliTaz Live Tool.

## СИНТАКСИС

    tazlito [команда] [список|iso|flavor] [папка]

## ОПИСАНИЕ

TazLiTo — маленькая утилита, которая поможет распаковать и пересобрать образ Live CD, изменить корневую файловую систему, упакованную в Live CD, создать дистрибутив, руководствуясь списком пакетов. Настройки TazLiTo, необходимые для работы, находятся в конфигурационном файле `/etc/tazlito/tazlito.conf` или в файле `tazlito.conf`, который можно создать в текущей папке. В конфигурационном файле указаны: имя файла ISO-образа, метка диска, сопровождающий, пути к пакетам дистрибутива и к создаваемому образу. При создании дистрибутива, TazLiTo может скопировать на Live CD дополнительные файлы из указанной папки.

Утилита TazLiTo распростаняется на условиях свободной лицензии GNU GPL v.3. Она установлена по умолчанию в SliTaz, устанавливалась и успешно тестировалась в Debian GNU/Linux. Узнать больше о создании Live CD вы сможете в Handbook.

## КОМАНДЫ

### usage

Показать список доступных команд с кратким описанием.

    # tazlito usage

### stats

Отобразить переменные конфигурации, пути к различным файлам и папкам, а также информацию о образе ISO.

    # tazlito stats

### gen-config

Создать пример конфигурационного файла, который вы сможете править. По умолчанию файл создаётся в текущей папке, при необходимости вы можете указать другую папку в параметрах команды.

    # tazlito gen-config
    # tazlito gen-config /путь/к/дистрибутиву

### configure

Команда для интерактивного заполнения конфигурационного файла (системного или имеющегося в текущей папке).

    # tazlito configure

### gen-iso

Создать новый образ Live CD со всеми изменениями и дополнениями в корневой файловой системе, упакованной на CD-ROM. Для работы этой команде нужна папка, содержащая дерево дистрибутива системы Live. Это дерево можно легко создать командой `extract-distro`, затем внести изменения и пересобрать.

    # tazlito gen-iso

### gen-initiso

Эта команда делает ту же самую работу, что и `gen-iso`, но она сначала пересобирает initramfs. В initramfs содержится корневая файловая система, и она должна быть пересобрана в случае любых изменений в ней.

    # tazlito gen-initiso

### list-flavors

Загрузить (при необходимости) и показать список доступных редакций (flavor). Используя опцию `--recharge` вы можете принудительно загрузить новый список.

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

### get-flavor

Загрузить (при необходимости) и подготовить файлы для работы команды `gen-distro`, которая создаёт редакцию (flavor).

    # tazlito get-flavor указанный_flavor

### show-flavor

Показать описание редакции (flavor) и её размер после регенерации. Параметры `--brief` и `--noheader` сокращают количество отображаемой информации:

    # tazlito show-flavor указанный_flavor
    # tazlito show-flavor указанный_flavor --brief
    # tazlito show-flavor указанный_flavor --brief --noheader

### gen-flavor

Создать файл описания новой редакции (flavor) в результате создания дистрибутива (`gen-distro`). Файл `.flavor` можно прислать на slitaz.org:

    # tazlito gen-flavor новый_flavor

### gen-liveflavor

Создать файл описания новой редакции (flavor) в результате создания дистрибутива, основанного на текущей системе. Параметр `--help` предоставляет дополнительную информацию:

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

### upgrade-flavor

Обновить файл редакции (flavor) путём обновления пакетов из списка до последних доступных версий:

    # tazlito upgrade-flavor указанный_flavor

### extract-flavor

Преобразовать flavor в древовидную структуру по пути `/home/slitaz/ВЕРСИЯ/flavors`, которую можно легко модифицировать. Работа над официальными flavor ведётся в mercurial: hg.slitaz.org/flavors. К примеру, в системе Cooking рабочей папкой будет являться `/home/slitaz/cooking`.

    # tazlito extract-flavor указанный_flavor

### pack-flavor

Преобразовать древовидную структуру по пути `/home/slitaz/ВЕРСИЯ/flavors` в файл flavor (файл`.flavor`). Эта команда противоположна команде `extract-flavor`:

    # tazlito pack-flavor указанный_flavor

### extract-distro

Распаковать образ ISO Live CD для внесения изменений в структуру файловой системы, находящейся на CD-ROM. После распаковки можно внести изменения и дополнения, а затем создать новый образ ISO командой `gen-iso` или `gen-initiso`. Пример использования:

    # tazlito extract-distro slitaz-cooking.iso

### gen-distro

The Generate Distribution command can generate the distro-tree and an ISO image via a list of packages. To function, this command needs a list of packages, a directory containing all the (`.tazpkg`) packages on the list, and a directory to generate the distribution. The list of packages can be extracted from a flavor with the `get-flavor` command. If one uses the LiveCD, the options `--cdrom` and `--iso=` permit the regeneration of packages that place files in `/boot` without being obliged to download them and recovers the additional files of the LiveCD. The path to the various directories are configured in the configuration file and packages can be downloaded from the SliTaz mirrors or generated by Cookutils. To generate a distribution:

    # tazlito gen-distro
    # tazlito gen-distro --cdrom
    # tazlito gen-distro --iso=slitaz.iso
    # tazlito gen-distro список_пакетов

### clean-distro

Удалить все созданные и распакованные файлы в структуре Live CD:

    # tazlito clean-distro

### check-distro

Проверить, имеются ли в системе файлы установленных пакетов.

    # tazlito check-distro

### writeiso

This command will write the current filesystem to a cpio archive (`rootfs.gz`) and then generate a bootable ISO image. Writeiso can be used in a HD install or in live mode and will also archive your current `/home` directory. This command lets you easily remaster and build your own LiveCD image, just boot, modify any files, and then:

    # tazlito writeiso [gzip|lzma|none]
    # tazlito writeiso gzip
    # tazlito writeiso gzip имя_образа

### check-list

Checks if the `distro-packages.list` is updated with the latest package versions:

    # tazlito check-list

### repack

Перепаковать rootfs с наилучшей степенью сжатия.

    # tazlito repack slitaz.iso

### merge

Combines several flavors like nested Russian dolls. Each rootfs is a subset of the previous. The first rootfs is extracted from the ISO image used in the third argument. The flavor will then be chosen to launch at startup according to the amount of RAM available:

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

### build-loram

Creates an ISO image flavor for low RAM systems from a SliTaz ISO image. You can build a flavor with `/` always in RAM or where `/` resides on the CD-ROM:

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

### emu-iso

The `emu-iso` command uses the Qemu emulator to start and run SliTaz. Qemu is used to test the newly built ISO image without burning to a CD-ROM or booting into frugal mode:

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

### burn-iso

`burn-iso` will guess the CD-ROM device and its speed, and wodim (part of cdrkit) will begin to burn an ISO image. The default ISO image is the one located in the current configuration file, but it's possible to specify a different image via the command line:

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

## РЕДАКЦИИ

Файлы `.flavor` маленького размера, всего несколько килобайт. Они содержат достаточно информации для создания собственной редакции Live CD SliTaz.

### Как изменить редакцию

Свою редакцию можно создать на основе одной из имеющихся доступных редакций:

    # tazlito list-flavors

Список редакций
Название | ISO | RootFS | Описание
--- | --- | --- | ---
base | 6.9M | 13.1M | Минимальный набор пакетов для загрузки
core-3in1 | 31.5M | 105.6M | Система SliTaz Core с альтернативами JustX и Base
core | 31.5M | 104.6M | Система SliTaz Core
eeepc | 31.2M | 105.4M | Система SliTaz Eee PC
justx | 16.1M | 51.2M | SliTaz с минимальным окружением X.Org

Переделаем редакцию для Eee PC. Она использует 105,4 МБ ОЗУ и занимает 31,2 МБ на CD-ROM.

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

### Как создать редакцию

Создать свою редакцию можно одним из трёх способов:

- Создать образ Live CD командой `tazlito gen-distro`, а затем создать файл `flavor` командой `tazlito gen-flavor`.
- Создать древовидную структуру, которая описывает редакцию (см. `tazlito extract-flavor`), а затем создать редакцию командой `tazlito pack-flavor`.
- Воспользоваться нашим онлайн сервисом.

### Как поделиться редакцией

Файл `.flavor` маленького размера, его можно отправить в рассылку SliTaz.

Результат выполнения команды `tazlito extract-flavor` можно разместить в репозитории. В этом случае древовидная структура будет непосредственно видна в веб-интерфейсе mercurial.

Структура включает в себя:

- receipt — следующие переменные в рецепте описывают редакцию:

  FLAVOR | название редакции
  SHORT_DESC | краткое описание
  VERSION | версия (в свободном формате)
  MAINTAINER | адрес почты сопровождающего
  FRUGAL_RAM* | минимально необходимый размер ОЗУ
  ROOTFS_SIZE* | размер, занимаемый распакованным rootfs.gz в ОЗУ
  INITRAMFS_SIZE* | размер rootfs.gz на CD-ROM
  ISO_SIZE* | размер образа CD-ROM
  ROOTFS_SELECTION* | см. ниже Мета-редакция

  Переменные, отмеченные звёздочкой, можно не указывать.
- packages.list — в файле содержится список пакетов без указания их версий (TazLiTo загружает самые последние доступные версии). Этот файл отсутствует, если переменная ROOTFS_SELECTION указана в рецепте.
- mirrors — не обязательный файл, в котором можно указать список неофициалных зеркал (undigest), на которых располагаются личные пакеты.
- rootfs — не обязательная папка, в которую можно поместить дерево файловой системы. Файлы отсюда (обычно, это файлы настроек) будут добавлены в корневую файловую систему, находящуюся в rootfs.gz.
- rootcd — не обязательная папка, в которую можно поместить дерево файловой системы. Файлы отсюда будут добавлены в файловую систему CD-ROM.

### Как доработать редакцию

Часто проще изменить существующую редакцию, чем создавать новую с нуля. Например, так можно доработать редакцию для Eee PC:

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

Теперь можно изменить файлы в папке `myslitaz`, а затем следующей командой создать новую редакцию:

    # tazlito pack-flavor myslitaz

Совет: можно не устанавливать mercurial и распаковать файл `flavor` соответствующей командой. Вот как будет выглядеть предыдущий пример:

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

### Мета-редакция

Мета-редакция включает в себя несколько обычных редакций, вложенных одна в другую как матрёшки. В зависимости от объёма ОЗУ будет запущена соответствующая редакция. В переменной `ROOTFS_SELECTION` указан минимальный объём ОЗУ и соответствующая ему редакция, пример:

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

Мета-редакция не содержит список пакетов (`packages.list`). Версии SliTaz, основанные на ядре Linux до 2.6.30, не поддерживают мета-редакции.

## СОПРОВОЖДАЮЩИЕ

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