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 igenarchivefs 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 $ makearchivefs 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