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].

См. также

Примечания

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

Ссылки