Zisofs
Zisofs — модификация файловой системы ISO 9660 Rock Ridge[1] с поддержкой прозрачного сжатия, позволяющая записывать файлы в сжатом виде на оптический диск или в образы файловой системы. Поддерживается ядром Linux начиная с версии 2.4.14 и в более поздних[2], может быть примонтирована с помощью FUSE-приложения fuseiso[3]. Под другими операционными системами формат не поддерживается, ими воспроизводятся только имена файлов. Ранее Zisofs использовалось при создании LiveCD, но была вытеснена squashfs.
Для работы с форматом используется пакет zisofs-tools[4], утилита mkzftree создает образы[5]. Также может быть создан утилитами libisofs и GNU xorriso[6]. Минимальный размер образа zisofs составляет 512 КБ[7], максимальный размер файлов внутри образа, для которых может применяться сжатие — 4 ГБ минус 1 байт[8].
Формат zisofs может использоваться в первой версии пакетов AppImage для распространения программ для Linux. Пакеты AppImage представляют собой один файл, содержащий код и данные приложения вместе со всеми зависимостями.
Реализует пофайловое сжатие с применением алгоритма DEFLATE (compress2) из zlib с блочным разделением входного потока на фрагменты размером 32 КБ, 64 КБ или 128 КБ[8]. Система хранит таблицу смещений сжатых блоков, что позволяет значительно ускорить произвольный доступ по различным смещениям внутри сжатого файла, не требуя полной распаковки блоков, предшествующих данному[9]
По сравнению с более современными сжатыми образами файловых систем, например, squashfs, формат zisofs показывает меньший уровень сжатия и более низкую производительность[10][11]. Формат не предоставляет возможностей по дозаписи или изменению файлов[12].
Драйвер zisofs в версиях ядра Linux до 2.6.12.5 (2005 год) обладал встроенной уязвимостью типа DoS, получивший рейтинг по шкале CVSS в 5 баллов из 10[13][14].
Существует экспериментальная реализация драйвера zisofs для ОС семейства Windows[9].
См. также
- SquashFS
- Cramfs
- Cloop
- e2compr
- Universal Disk Format (UDF, формат для оптических дисков с поддержкой сжатия)
Примечания
- ISO 9660 - OSDev Wiki
- Linux Kernel Driver DataBase: CONFIG_ZISOFS: Transparent decompression extension
- FuseISO download | SourceForge.net
- zisofs-tools – Freecode
- Ubuntu Manpage: mkzftree - Create a zisofs/RockRidge compressed file tree
- GNU xorriso - GNU Project - Free Software Foundation
- Into the Core - Lauri Kasanen - Google Книги
- Description of the zisofs Format Архивная копия от 17 октября 2017 на Wayback Machine, 2009 (англ.)
- Архивированная копия (недоступная ссылка). Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года. (польск.)
- Squash Fs Comparisons - eLinux.org
- Linux Journal. Upfront, March 1, 2003 (англ.)
- http://icsa.cs.up.ac.za/issa/2004/Proceedings/Research/059.pdf
- CVE-2005-2457 : The driver for compressed ISO file systems (zisofs) in the Linux kernel before 2.6.12.5 allows local users and remote at
- Debian - Security Information - DSA-1017-1 kernel-source-2.6.8
Ссылки
- Description of the zisofs Format Архивная копия от 17 октября 2017 на Wayback Machine, 2009 (англ.)
- Ben Martin, Transparent compression of files on optical media, Linux.com, OCTOBER 31, 2008 (англ.)
- Раздел утилит zisofs на сайте ядра Linux kernel.org, 2004 (англ.)
- (нем.)