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 . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ Linux Kernel Driver DataBase: CONFIG_ZISOFS: Transparent decompression extension . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ FuseISO download | SourceForge.net . Дата обращения: 17 октября 2017. Архивировано 7 июня 2017 года.
- ↑ zisofs-tools – Freecode . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ Ubuntu Manpage: mkzftree - Create a zisofs/RockRidge compressed file tree . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ GNU xorriso - GNU Project - Free Software Foundation . Дата обращения: 17 октября 2017. Архивировано 4 октября 2017 года.
- ↑ Into the Core - Lauri Kasanen - Google Книги . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ 8,0 8,1 Description of the zisofs Format Архивная копия от 17 октября 2017 на Wayback Machine, 2009 (англ.)
- ↑ 9,0 9,1 Архивированная копия (недоступная ссылка). Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года. (польск.)
- ↑ Squash Fs Comparisons - eLinux.org . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ Linux Journal. Upfront Архивная копия от 17 октября 2017 на Wayback Machine, March 1, 2003 (англ.)
- ↑ Архивированная копия . Дата обращения: 17 октября 2017. Архивировано 13 октября 2006 года.
- ↑ 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 . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
- ↑ Debian - Security Information - DSA-1017-1 kernel-source-2.6.8 . Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
Ссылки
- 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 (англ.)
- [1] (нем.)
В статье есть список источников, но не хватает сносок. |