Возможно ли интегрировать файлы zip и tar.gz в качестве каталога в файловую систему

Интересно, есть ли способ интегрировать (это немного отличается от установки, я думаю) сжатые файлы в качестве каталогов в файловую систему?

Например, можно загрузить compressed-file.tar.gz на его локальный жесткий диск, затем выполнить cd compressed-file.tar.gz и запустить сценарий из сжатой папки или сделать cp some-file .. чтобы извлечь один из файлы.

Я знаю, что Btrfs поддерживает сжатие, но я не хочу менять файловую систему, которая у меня есть (ext3), чтобы поддерживать эту функцию.

  • Раскройте архив gz с расширением zip
  • Извлечение файла Wordpress.zip на Linux-сервере
  • Как я могу закрепить содержимое текущего каталога минус все скрытые файлы?
  • Как найти поврежденные архивные файлы?
  • Crack zip-файл с известными частями паролей
  • Список файлов из вложенного zip-файла без лишних
  • Как создать ZIP-архив, который сохраняет только структуру целевого каталога и ниже?
  • Любой способ переопределить защиту обхода пути при распаковке?
  • 2 Solutions collect form web for “Возможно ли интегрировать файлы zip и tar.gz в качестве каталога в файловую систему”

    Вы можете использовать команду archivemount для монтирования архивов, таких как .tar.gz .

     $ ls files.tgz mnt/ $ archivemount files.tgz mnt $ ls mnt file1 file2 [... Perform desired read/write operations on the archive via mnt/ ...] $ umount mnt [... Any changes are saved to the archive ...] 

    Дополнительную информацию см. На странице man для archivemount . Часто не устанавливается, поэтому вам, вероятно, потребуется установить пакет. Он также называется archivemount . Например, на Fedora 19:

     $ sudo yum install archivemount 

    Рекомендации

    • Как монтировать архив для доступа в виде файловой системы

    Вы либо говорите о файловой системе FUSE (файловая система в пользовательском пространстве – Linus называет их игрушками ), либо пользовательском скомпилированном ядре ИЛИ squashfs. Squash squashfs. Squash не совсем так, как вы описали – вы не можете просто монтировать tarball, например, не с поддерживаемым ядром VFS, но вы можете, конечно, mksquash любое количество файлов или каталогов и монтировать полученный архив только для чтения. У вас есть выбор сжатия xz, lzma, or gz . Squash используется все время – если вы когда-либо использовали живое изображение linux, все очень хорошо, он был squashed.

    Я скажу вам один трюк, который я использую с squashfs. Мне нравится создавать файл изображения btrfstune -S 1 и использовать btrfstune -S 1 чтобы сделать его seed томом . Затем я помещаю это изображение в архив squashfs . Оттуда я могу mount -o loop image.sfs и изнутри этого mount -o loop btrfs образ btrfs .

    Объем btrfs seed изначально будет монтироваться как read-only что можно ожидать, учитывая, что он содержится в squashed контуре. Но если я тогда сделаю:

     GB_tmp_loop=$( fallocate -l $((1024*1024*1024)) /tmp/1GB_tmp.img && losetup -f --show $_ ) btrfs device add "$GB_tmp_loop" "${btrfs_seed=/path/to/btrfs_image_mount}" umount "$btrfs_seed" mount -o compress-force=lzo,autodefrag,rw "$GB_tmp_loop" "$btrfs_seed" 

    Внезапно я использую функции btrfs s copy-on-write и автоматическое сжатие записи, а squashfs превосходное сжатие в RAM и in-kernel.

    Linux и Unix - лучшая ОС в мире.