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

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

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

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

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.

  • Распакуйте архив с более чем одной записью
  • Сжатие старых файлов журнала и переход в новый каталог
  • Кодирование zip-файла
  • Прокрутите только архив данных .zip только для чтения, чтобы извлечь строку из файла .kml в
  • Как я могу закрепить содержимое текущего каталога минус все скрытые файлы?
  • Unrar несколько частей
  • распаковать / распаковать файлы с помощью Curl на ftp-сервере
  • Как сжать файлы на основе даты файла
  • Я неоднократно застегиваю одну и ту же папку с файлами, но shasum продолжает меняться
  • «Mac-стиль» распаковывается на linux
  • file-roller: произошла ошибка при загрузке архива (Zip / 7z)
  • Linux и Unix - лучшая ОС в мире.