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. 1 2 Description of the zisofs Format (англ.). Дата обращения: 19 июня 2023. Архивировано из оригинала 17 октября 2017 года.
  9. 1 2 Implementacja kompresji Zisofs w systemie Microsoft Windows (пол.). Дата обращения: 17 октября 2017. Архивировано из оригинала 17 октября 2017 года. (пол.)
  10. Squash Fs Comparisons - eLinux.org (англ.). Дата обращения: 17 октября 2017. Архивировано 17 октября 2017 года.
  11. Linux Journal. Upfront (англ.) (1 марта 2003). Дата обращения: 19 июня 2023. Архивировано 17 октября 2017 года.
  12. CURTAILING WEB DEFACEMENT USING A READ-ONLY STRATEGY (англ.). Дата обращения: 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 года.

Ссылки

[править | править код]
В статье есть список источников, но не хватает сносок. Без сносок сложно определить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставив сноски на источники, подтверждающие информацию. Сведения без сносок могут быть удалены. (28 августа 2018)