archivemount
Mount archives as virtual filesystems
TLDR
Mount an archive to a specific mountpoint
SYNOPSIS
archivemount [OPTIONS] ARCHIVE_FILE MOUNT_POINT
PARAMETERS
ARCHIVE_FILE
Path to the archive file to be mounted.
MOUNT_POINT
Path to the directory where the archive will be mounted. This directory must exist.
-h, --help
Display help information and exit.
-V, --version
Display program version information and exit.
-o OPTIONS
Pass FUSE mount options (e.g., ro for read-only, allow_other to allow other users to access, default_permissions to enable default FUSE permissions, uid=N, gid=N).
-d, --debug
Enable debug output, printing additional information to stderr.
-f
Run in foreground, do not daemonize.
-s
Disable multi-threaded operation.
DESCRIPTION
archivemount is a FUSE (Filesystem in Userspace) program that allows you to mount a compressed or uncompressed archive file (e.g., tar, zip, iso, rar, 7z) as a regular filesystem directory. Once mounted, you can navigate into the directory, list its contents, and access individual files within the archive as if they were on a regular disk, without explicitly extracting the entire archive.
This provides a convenient way to inspect or retrieve specific files from large archives without consuming significant disk space or time for full extraction. It leverages the libarchive library for robust archive parsing, making it compatible with a wide array of archive formats.
CAVEATS
archivemount provides read-only access to archive contents; you cannot modify, delete, or create files within the mounted archive.
Accessing files within a large or complex archive might be slower than accessing regular files, as data needs to be extracted on-the-fly.
It requires the FUSE kernel module and user-space libraries to be installed and loaded on the system. The archive must be unmounted using fusermount -u MOUNT_POINT or umount MOUNT_POINT when no longer needed.
SUPPORTED ARCHIVE FORMATS
archivemount leverages the libarchive library, which supports a vast range of archive formats including but not limited to: tar (and its compressed variants like tar.gz, tar.bz2, tar.xz), zip, iso (ISO 9660 CD images), rar, 7z, cpio, ar, deb, rpm, and many more. The specific formats supported depend on the version and compilation options of libarchive installed on the system.
USAGE EXAMPLE
To mount an archive named my_archive.tar.gz to a newly created directory ~/my_mount:
1. Create the mount point directory (if it doesn't exist):
mkdir -p ~/my_mount
2. Mount the archive:
archivemount my_archive.tar.gz ~/my_mount
3. Browse the archive contents:
ls ~/my_mount
4. After use, unmount the archive:
fusermount -u ~/my_mount
or, for root or via sudo:
sudo umount ~/my_mount
HISTORY
archivemount was developed to provide a convenient FUSE interface for the libarchive library, enabling users to interact with a wide array of archive formats as if they were standard directories. Its development aimed to simplify archive content browsing without the overhead of full extraction, integrating seamlessly into the Linux filesystem environment as part of the broader FUSE ecosystem.