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. 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 года.

Ссылки[править | править код]