Я хотел бы смочь объединиться, несколько файлов в один файл и смочь получают доступ к внутренним файлам, не имея необходимость делать любой вид распаковки. Что-то как универсальный двоичный файл для Mac.
Такой формат файла существует?
Править
Некоторое дальнейшее исследование помогло мне разъяснить то, что я хочу: однофайловая файловая система. В этой точке единственная опция, кажется, смонтированный файл ISO. Однако лучшие предложения всегда приветствуются.
Распаковка/распаковка архива явно не строго необходима. Вы хотите FUSE (Файловая система в Пространстве пользователя), который позволяет Вам mount
архивные файлы.
Любая необходимая распаковка/переупаковка сделана в файловой системе, таким образом, это очевидно для программ, Вы использовали бы, чтобы получить доступ или изменить файлы в смонтированном архиве.
Один такой проект archivemount
(Ссылка Википедии, источник tarballs). Это и различные другие проекты перечислено на странице wiki ArchiveFileSystems SourceForge. Различные проекты пользуются различными библиотеками как бэкендами, чтобы сделать фактическую работу.
Некоторые проекты только, кажется, поддерживают операции чтения, но многие молоды и могут включать функции записи позднее.
archivemount
использование libarchive
, доступы cpio, .tar.gz, .tar.bz2 архивыfuse-zip
использование libzip
, включает поддержку записи архивов .zipavfs
(Виртуальная файловая система), "поддерживает дискеты, tar и gzip файлы, zip, bzip2, площадь и rar файлы, сеансы FTP, http, webdav, rsh/rcp, ssh/scp" и другие.Идеально, файловая система FUSE для архивов будет работать немного как поддержка Windows Explorer просмотра .zip файлы.
Ваш лучший выбор состоит в том, чтобы посмотреть на сжатые форматы нулевого сжатия. Вот пример с помощью командной строки 7zip в Linux с этой целью (хотя это, вероятно, не установлено по умолчанию),
7z a -mx0 archive folder
Для большего количества ответов смотрите на этот подобный вопрос, который был отправлен на stackoverflow:
https://stackoverflow.com/questions/79136/how-do-i-create-a-container-file
можно использовать циклическое устройство: http://en.wikipedia.org/wiki/Loop_device. Как к: http://www.walkernews.net/2007/07/01/create-linux-loopback-file-system-on-disk-file/ (престижность за Zoredache от serverfault)
Вы могли взглянуть на то, как klik делает это: http://klik.atekon.de/wiki/index.php/Main_Page Это очень похоже на dmg для Mac, и это использует FUSE.