usage: rar2fs source mountpoint [options] general options: -o opt,[opt...] mount options -h --help print help -V --version print version FUSE options: -d -o debug enable debug output (implies -f) -f foreground operation -s disable multi-threaded operation -o allow_other allow access to other users -o allow_root allow access to root -o auto_unmount auto unmount on process termination -o nonempty allow mounts over non-empty file/dir -o default_permissions enable permission checking by kernel -o fsname=NAME set filesystem name -o subtype=NAME set filesystem type -o large_read issue large read requests (2.4 only) -o max_read=N set maximum size of read requests -o hard_remove immediate removal (don't hide files) -o use_ino let filesystem set inode numbers -o readdir_ino try to fill in d_ino in readdir -o direct_io use direct I/O -o kernel_cache cache files in kernel -o [no]auto_cache enable caching based on modification times (off) -o umask=M set file permissions (octal) -o uid=N set file owner -o gid=N set file group -o entry_timeout=T cache timeout for names (1.0s) -o negative_timeout=T cache timeout for deleted names (0.0s) -o attr_timeout=T cache timeout for attributes (1.0s) -o ac_attr_timeout=T auto cache timeout for attributes (attr_timeout) -o noforget never forget cached inodes -o remember=T remember cached inodes for T seconds (0s) -o nopath don't supply path if not necessary -o intr allow requests to be interrupted -o intr_signal=NUM signal to send on interrupt (10) -o modules=M1[:M2...] names of modules to push onto filesystem stack -o max_write=N set maximum size of write requests -o max_readahead=N set maximum readahead -o max_background=N set number of maximum background requests -o congestion_threshold=N set kernel's congestion threshold -o async_read perform reads asynchronously (default) -o sync_read perform reads synchronously -o atomic_o_trunc enable atomic open+truncate support -o big_writes enable larger than 4kB writes -o no_remote_lock disable remote file locking -o no_remote_flock disable remote file locking (BSD) -o no_remote_posix_lock disable remove file locking (POSIX) -o [no_]splice_write use splice to write to the fuse device -o [no_]splice_move move data while splicing to the fuse device -o [no_]splice_read use splice to read from the fuse device Module options: [subdir] -o subdir=DIR prepend this directory to all paths (mandatory) -o [no]rellinks transform absolute symlinks to relative [iconv] -o from_code=CHARSET original encoding of file names (default: UTF-8) -o to_code=CHARSET new encoding of the file names (default: UTF-8) rar2fs options: --img-type=E1[;E2...] additional image file type extensions beyond the default [.iso;.img;.nrg] --show-comp-img show image file types also for compressed archives --preopen-img prefetch volume file descriptors for image file types --fake-iso[=E1[;E2...]] fake .iso extension for specified image file types --exclude=F1[;F2...] exclude file filter --seek-length=n set number of volume files that are traversed in search for headers [0=All] --flat-only only expand first level of nested RAR archives --iob-size=n I/O buffer size in 'power of 2' MiB (1,2,4,8, etc.)  --hist-size=n I/O buffer history size as a percentage (0-75) of total buffer size  --save-eof force creation of .r2i files (end-of-file chunk) --no-lib-check disable validation of library version(s) --no-expand-cbr do not expand comic book RAR archives --no-smp disable SMP support (bind to CPU #0)
Text file created as follows:
rar2fs --help &> rar2fs_help.txt
RAR2FS(1) User Commands RAR2FS(1) NAME rar2fs - FUSE file system for reading RAR archives SYNOPSIS rar2fs [options] source target DESCRIPTION rar2fs is a FUSE based file system that can mount a source RAR archive/volume or a directory containing any number of RAR archives on target and access (read only) the contents as plain files/directories. Other files located in the source directory are handled transparently. Both compressed and non-compressed (store) archives/volumes are supported but full media seek support (aka. indexing) is only available for non-compressed plaintext archives. If a RAR volume is selected as source the file specified must be the first in the set. Since rar2fs is non-interactive, passwords that are required to decrypt encrypted archives should be stored in a file with the same name as the main archive/volume file but with a .pwd extension. Be aware that a password must be stored in plaintext format and is thus not pro- tected in any way from unauthorized access. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/> OPTIONS Besides the standard FUSE options rar2fs accepts the following options that can be passed to the program. --img-type=".<ext>[;.<ext>;...]" additional image file type extensions The default image file types recognized by rar2fs is .img, .nrg and .iso. This option will allow more file extensions to be added. It affects the behavior of the --show- comp-img , --preopen-img and --fake-iso options. --show-comp-img show image file types also for compressed/encrypted archives Image media files in compressed/encrypted archives usually does not playback very well, if at all. This is because imaged media, such as DVD images, is implementing a file access pattern that can not be fully supported by a partly buffered decoded data stream with limited history. For that reason the default is to not show such files. --preopen-img prefetch volume file descriptors for image file types This option will force all volume files to be opened before playback is started. Specifying this option might help in some rare situations to overcome transient play- back disturbances at switch of volume files when mounted across a lossy/slow network. Note that this option only affects playback of image file media read in raw mode (not compressed/encrypted). --fake-iso=".<ext>[;.<ext>;...]" --fake-iso fake .iso extension for specified image file types Some media players does not support display of image files other than those with a .iso extension. However, .img files are usually 100% compatible with .iso and so is .nrg files, even though the .nrg format specification says otherwise. For that reason playback of .nrg might fail. Specifying this option will remove the need for renaming certain file types to .iso just to make them display properly. If playback works or not is all about the player software from here. Each file extension/type in the list should be separated by a semi-colon ';' character. It is also possible not to provide any image file type extensions for which the default .img and .nrg will be displayed as .iso together with what was specified in --img-type. Note though that image files are treated somewhat differently depending on where they are located. If the image file is not part of a RAR archive, then there will be a virtual clone made of the original file but with a .iso extension, provided that the file/link does not already exist. This to keep the consistency of the back-end file system, especially when links are involved. --seek-length=n set number of volume files that are traversed in search for headers [0=All] Normally the RAR specific header(s) describing the files contained in a volume is located in the first volume file. Providing a value of 1 here should thus be suffi- cient to cover most cases. The default is 0, meaning that the complete set of volumes files are searched for headers. The lower the value (starting from 1) the faster the display of folders containing a lot of RAR volumes (or volumes with a lot of files) will become since the number of open/search/close requests can be reduced. --seek-depth=n --flat-only control number of levels down RAR files are parsed inside main archive Currently one instance of a rar2fs file system can expand up to two levels of nested RAR archives. The --flat-only option can be used to tell rar2fs to expand only the first level. In some specific situations enabling this option might increase folder load time but typically will not have any other effect than loosing the rar-inside- rar feature. The --flat-only replaces the obsoleted --seek-depth=0 option which is no longer supported. The --seek-depth option is however still accepted as a dummy for backwards compatibility but provides no functionality. To aquire more levels of nest- ing stacking of rar2fs file systems is needed. --exclude="<file>[;<file>;...]" --exclude=<path> exclude file filter When file access is requested and the file can not be found on the local file system all RAR archives in target folder are also searched for it. Not until that last oper- ation fails the file is considered missing. On some platforms certain files (eg. .lock files) are always accessed but are usually never to expect within a RAR ar- chive. Specifying this option will treat the listed files differently. If not found on local file system they will never be searched for in the local RAR archives. This dramatically decrease the folder load/display time during 'ls' like operations on such systems. Each file in the list should be separated by a semi-colon ';' charac- ter. It is also possible to use this option in such a way that it instead points to a file that lists the actual exclude filter. This is done by specifying an absolute file path (starting with '/') instead of a semi-colon separated list of file names. The file pointed to may contain more than one line but for each line files should be sep- arated by a semi-colon ';' character. --no-smp disable SMP support (bind to CPU #0) Note that this option is only available on Linux based platforms with support for the cpu_set_t type (GNU extension). --save-eof force creation of .r2i files (end-of-file chunk) [EXPERIMENTAL] Index information is usually populated by the media player at the beginning of a playback session. Since the index table in most cases is stored at the end of the file, retrieving this information without the use of some post-processing is more or less impossible to perform in real-time for compressed/encrypted video streams. The mkr2i tool is intended to be used in such cases to make the index table available in a separate .r2i file. Enabling this option will instead tell rar2fs to guess where the index information is located by analyzing the access pattern of the media player and then write the end- of-file chunk to an .r2i file automatically. This method is however less precise than when using the mkr2i tool. Expect an increase in size of the generated .r2i file com- pared to using the mkr2i tool directly. Start of playback will also be delayed since almost the entire archive needs to be extracted in order to access the data towards the end of the file and make it available for playback. This option is only supported for AVI 1.0 and multi-part OpenDML (AVI 2.0) files cre- ated by a properly configured muxer. Badly configured muxers will expose themselves by generating invalid frame counts. The latter is automatically detected by rar2fs. --no-lib-check disable dynamic library consistency check At startup rar2fs validates that the dynamic libraries libfuse.so and libunrar.so are compatible/consistent with what was used during compilation. Use this option to by- pass this check. Use of this option is discouraged. --iob-size=n tune the size of the I/O buffer The I/O buffer is used to prefetch data at extraction of compressed or encrypted ar- chives to make sure streaming is possible without delay due to disk or network I/O. Depending on the current system resources and network latency this buffer might need to be adjusted. A small buffer takes less resources but increase the chance that rar2fs must wait for data to arrive during a read request. On the other hand, a large buffer will increase memory footprint which may not always be desired. Also keep in mind that every file being extracted requires its own buffer. So the total memory resources required are always the buffer size multiplied by the number of active extraction threads. Be careful when choosing buffer size. There is no cap on the size itself. The only requirement is that it is a 'power of 2' Megabytes, eg. 1,2,4,8, etc. The default size is 4MiB. --hist-size=n tune the size of I/O buffer history The I/O buffer history is a sliding window within the I/O buffer that is guaranteed to never be overwritten until future data has been consumed passed this limit. This means that, even though an extraction process can never be reversed, this part of the buffer can still deliver "historic" data within this window (eg. skipping backwards during movie playback). The size of the history buffer is expressed as a percentage of the total I/O buffer size between 0% and 75%. Specifying 0 here will completely disable this function. The default size is 50% of the total I/O buffer size. --no-expand-cbr disable support for comic book RAR archives Default is to always expand comic book RAR archives. In the case that comic book readers are used that expect to find the orignal .cbr archive this option can be used to keep such files intact. BUGS - SEE ALSO Project home page <http://code.google.com/p/rar2fs/> AUTHOR Hans Beckérus <hans.beckerus#AT#gmail.com> Wed, May 22, 2013 v RAR2FS(1)
Install rar2fs 1.20.0 on Ubuntu 14.04
#!/bin/bash WORKDIR=`mktemp -d` && cd $WORKDIR # Get deps sudo apt-get -q update sudo apt-get -qy install make libfuse-dev g++ # Get, make and install unrar wget http://www.rarlab.com/rar/unrarsrc-5.1.1.tar.gz tar zxvf unrarsrc-5.1.1.tar.gz cd unrar make && sudo make install make lib && sudo make install-lib cd .. # Get, make and install rar2fs wget https://googledrive.com/host/0B-2uEqYiZg3zR1F0b0tmRktiaXc -O rar2fs-1.20.0.tar.gz tar zxvf rar2fs-1.20.0.tar.gz cd rar2fs-1.20.0 ./configure --with-unrar=../unrar --with-unrar-lib=/usr/lib/ make && sudo make install # Cleanup rm -rf $WORKDIR
SMB/CIFS & RAR2FS in Autofs
This docker image makes a given directory containing RAR archives available on
the network through SMB as if the archives were extracted.
Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server.