archivefs
- mount your archives and browse them as regular files
archivefs [-sdf] --directory=/some/absolute/path /mountpoint
- Expand archives as directories
- Reads files from an archive as a regular file
- Shows non-archive files and directories as normal
$ tree .
.
├── archives
│ └── maskinen.tar.gz
└── mountpoint
2 directories, 1 file
$ archivefs --directory=$HOME/example/archives mountpoint/
$ tree .
.
├── archives
│ └── maskinen.tar.gz
└── mountpoint
└── maskinen
├── pengar.txt
└── segertaget.txt
3 directories, 3 files
$ cat mountpoint/maskinen/segertaget.txt | head -n5
[Vers 1]
He-he-hej, här kommer segertåget
Rullar in som teknodromen
Tryck på play, du sätter på den
Dansar som på, äh, vi kör igen
archivefs
is a FUSE file system for mounting and reading from archive files
instead of unpacking them to read the content.
To build archivefs
there are some packages that are required to be
installed on the system:
- libfuse (or osxfuse)
- libarchive
- Rust
- A C compiler
- Homebrew
To build the project you run the make
command:
$ brew bundle # Installs dependencies for building the project
$ make
archivefs
does not handle nested directories inside an archive file
properly. For now only flat archvies are compatiable.
If you get the following error message you can try setting the
LD_LIBRARY_PATH
environment variable to the path of the libarchivefs
library:
$ ./archivefs
./archivefs: error while loading shared libraries: libarchivefs.so: cannot open shared object file: No such file or directory
$ LD_LIBRARY_PATH=./target/release/deps ./archivefs
Need to set which archive you want to mount