ratarmount
Features
- Add support for argument completion in your shell with
argcomplete
if it is installed. - Make
--unmount
accept multiple mount points to unmount. - Add support for extended file attributes.
- Extract libfuse3 support into
mfusepy
, a fork offusepy
, and depend on it. - Add
--log-file
option to write output to file when daemonized.
Performance
- Try backends in smarter order based on file suffix.
ratarmountcore
Feature
- Add support for SQLAR SQLite archives.
- Add support for mounting .index.sqlite ratarmount indexes directly without the associated archive-
- Add support for encrypted 7z files via py7zr.
- Add support for EXT4 images.
- Add support for SAR archives.
- Add new method to specify fine-granular parallelization for each backend.
- Make
--recursion-depth 0
only undo the compression on TAR files. - Show better error message when trying to open supported file formats with missing Python modules.
Libarchive
: Add warning when file contents are encrypted and no password specified.
Performance
- Do not import everything in main module to aid some delayed import workflows for smaller latencies.
API
- Rename
AutoMountLayer.recursionDepth
tomaxRecursionDepth
. - Restructure ratarmountcore file hierarchy. Move
MountSource
implementations into subfolders. - Use
snake_case
for functions and class methods, one step further towards PEP 8. - Accept
os.PathLike
inopen_mount_source
.
Fixes
- The progress bar was wrong for parallelized XZ decompression.
- Collect correct file permissions for SquashFS, RAR, ZIP, and Libarchive.
FileVersionLayer
: Do not dispatch requests on .versions folder to underlying mount source.AutoMountLayer
: Account for recursions depths introduced bySQLiteIndexedTar
.- Mounting
github://
without a prefix did not work correctly. - Avoid misdetection of images as TAR by libarchive.
SubvolumeMountSource
: Return clone of root file info to avoid duplicateuserdata
elements.
AppImages
The AppImages can be downloaded, made executable with chmod u+x *.AppImage
, and executed directly to start ratarmount.
There are also usability helper for AppImages such as AppImageLauncher and AM.
If the AppImage is too slow to start up or to reduce memory overhead for the AppImage itself, the Appimage can also be manually unpacked and installed:
- Extract with
ratarmount-*.AppImage --appimage-extract
- The extracted AppImage can be started by executing
squashfs-root/AppRun
. - Rename and move the resulting generic
squashfs-root
folder wherever you want, e.g.,/opt/ratarmount-<version>
. - Add a link to
/opt/ratarmount-<version>/AppRun
into some folder that is in yourPATH
variable, e.g., with:
ln -s /opt/ratarmount-<version>/AppRun ~/.local/bin/ratarmount
Slim version
Supports: 7z, ASAR, bzip2, EXT4, FAT, gzip, RAR, SQLAR, TAR, XZ, ZIP, zlib, ZStandard
Full version
Supports: All slim formats + libarchive (ar, CAB, cpio, grzip, ISO9660, lrzip, LZ4, lzip, LZMA, lzop, RPM, UU, WARC, XAR, Z), SquashFS, and all remote protocols (ftp://, git://, http://, ssh://, ...)