Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

zisofs Micro HOWTO

author: Konstantin Lepikhov lakostis@pisem.net

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

!!!!!!!!!!!!!!!!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 hpa@zytor.com, 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. Пожелания

Шлите любые замечания и пожелания на мой адрес lakostis@pisem.net
Happy Linuxing!!!


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP