Распаковка / распаковка архива явно не обязательна. Вы хотите FUSE (Файловая система в пространстве пользователя), которая позволяет mount
архивные файлы.
Любая необходимая распаковка / перепаковка выполняется в файловой системе, поэтому она прозрачна для программ, которые вы используете для доступа или изменения файлов внутри смонтированного архива.
Одним из таких проектов является archivemount
(ссылка на Википедию, исходные архивы). Этот и другие проекты перечислены на вики- странице Sourceforge ArchiveFileSystems. Различные проекты используют разные библиотеки в качестве бэкэндов для выполнения реальной работы.
Некоторые проекты, похоже, поддерживают только операции чтения, но многие из них молодые и могут включать функции записи позже.
archivemount
использует libarchive
, имеет доступ к архивам cpio, .tar.gz, .tar.bz2
fuse-zip
использует libzip
, включает поддержку записи для .zip архивов
avfs
(Виртуальная файловая система) "поддерживает дискеты, файлы tar и gzip, файлы zip, bzip2, ar и rar, сеансы ftp, http, webdav, rsh/rcp, ssh/scp" и другие.
В идеале файловая система FUSE для архивов будет работать примерно так же, как и поддержка Windows Explorer для просмотра .zip-файлов.