zisofs Micro HOWTO

author: Konstantin Lepikhov [email protected]
###################################################################

!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!
Автор этого HOWTO не несет никакой ответственности за любой
урон, полученный в результате его использования. Все
описанное программное обеспечение не имеет конечной версии!
Так что вас предупреждали ;-))

###################################################################

Содержание:

1. Что вам потребуется
2. Подготовка к записи
    2.1 Подготовка программного обеспечения
    2.2 Создание дерева каталогов
    2.3 Создание образа диска
    2.4 Запись образа на диск
3. Чтение zisofs диска
    3.1 Требования к системе
    3.2 Проблемы при чтении
4. Приложение
5. Пожелания

#########################################################################

1. Что вам потребуется

Если вы хотите только читать zisofs диски, то вам нужно как
можно более новое ядро Linux (версии >=2.4.10), куда поддержка включена
официально. Если по каким-то причинам вы не хотите использовать ядра 2.4,
то вам тогда не узнать всех прелестей это примочки =). Для записи zisofs
дисков необходим еще ряд утилит, речь о которых пойдет ниже. Также вам
потребуется терпение и кофе (желательно пиво :))

2. Подготовка к записи

Возьмите чистый CD-R диск. Неплохо было бы иметь и cd recorder :)

2.1 Подготовка программного обеспечения

zisofs - это RockRidge расширение для драйвера isofs, позволяет с помощью
вспомогательных утилит сжимать данные перед записью на CD-R/CD-RW диск, а
затем осуществлять transparent decompression уже с помощью модифицированного
драйвера ядра. Автор - H. Peter Anvin [email protected], CPUID/MSR kernel
maintainer. В его директории на сайте kernel.org, можно найти патчи для ядра
2.4 и необходимую информацию. Утилиты для создания zisofs дисков
можно найти на http://www.kernel.org/pub/linux/utils/fs/zisofs/ Итак,
let's begin!

а) Распаковываем архив с утилитами, собираем все необходимые программы
б) Устанавливаем все необходимые патчи

Теперь все готово для записи.

2.2 Создание дерева каталогов

Т.к zisofs - это "надстройка" над стандартной iso9660, то и весь процесс записи
таких дисков очень схож с обычным. Для начала создадим дерево каталогов для записи -
туда будут помещены данные, наиболее подверженные сжатию (текстовая  информация,
графические файлы, музыка, etc). Все остальные данные (например, загрузочные файлы),
можно оставить за пределами этого каталога. Т.о внешняя структура будет выглядеть так:

/ - cd root
|
|___Не сжимаемые данные
|	    |__________
|	    |__________
|	    |__________
|	    |__________
|
|__Сжатые данные
		|------
		|------
		|------

Подобно mkisofs, в zisofs utils существует программа mkzftree, выполняющая сжатие
каталога с данными. Формат ее вызова:

# mkzftree [options] intree outtree, где options
--force 		 -f    сжимать, даже если размер сжатого окажется больше
--level 		 -z #  уровень сжатия (0-9)
--parallelizm 		 -p #  кол-во независимых процессов, позволяет повысить
				 скорость сжатия
--strict-one-filesystem  -X    Same as -x, but don't create stubs dirs
--local                  -l    Do not recurse into subdirectoires
--strict-local           -L    Same as -l, but don't create stubs dirs
--file                   -F    Operate possibly on a single file
--sloppy                 -s    Don't abort if metadata cannot be set
--verbose                -v    Increase message verbosity
--verbosity #            -V #  Set message verbosity to # (default = 1)
--quiet                  -q    No messages, not even errors (-V 0)
--help                   -h    Display this message
--version                -w    Display the program version

intree - дерево каталогов, подготовленное для сжатия
outtree - выходное дерево каталогов

После генерации outtree, можем удалить intree. Если вы все-таки хотите читать сжатые
диски на системе без zisofs, можете использовать ключ -u для mkzftree - тогда ваше
сжатое дерево каталогов будет распаковано.

2.3 Создание образа диска

Теперь приступим к генерации iso образа. Для этого нам потребуется модифицированная
версия mkisofs (патч для этого можно найти в каталоге zisofs utils). Затем "натравливаем"
mkisofs на дерево каталогов:

# mkisofs -z -R | -r [ваши опции записи] -o compressed.iso cd_root_dir

mkisofs сама обойдет несжатые данные, оставив их читаемыми в любых условиях.
Внимание! Т.к zisofs использует RockRidge, ключ -R или -r обязателен! Без него
опция -z не будет эффективна!

2.4 Запись образа на диск

Запись образа осуществляется стандартными средствами (например, cdrecord)

3. Чтение zisofs диска

Для чтения такого диска достаточно поддержки zisofs в модуле iso9660 ядра Linux.

3.1 Требования к системе

Укажите CONFIG_ISO9660_FS=y/m и CONFIG_ZISOFS=y в конфигурационном файле ядра.

3.2 Проблемы при чтении

Пока не замечено :) Возможны только из-за физических дефектов на поверхности диска

4. Приложение

ftp.kernel.org/pub/linux/people/hpa/ - директория автора zisofs, там можно найти патчи
для более старых версий ядра

http://www.kernel.org/pub/linux/utils/fs/zisofs/ -  последние версии утилит к zisofs

ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/Mandrake/RPMS/ - rpm версия

 mkzftree для дистрибутива Sisyphus

5. Пожелания

Шлите любые замечания и пожелания на мой адрес [email protected]
Happy Linuxing!!!