hexxellor / fusecompress

Automatically exported from code.google.com/p/fusecompress Transparent compression FUSE filesystem (0.9.x tree)
GNU General Public License v2.0
7 stars 4 forks source link

FuseCompress

http://fusecompress.googlecode.com/

We are not responsible for any badness that may happen to you while using this software.

NEWS

    after 0.9.1.1: see http://code.google.com/p/fusecompress/source/list
    0.9.1.1 Buffer overflow from command line parsing fixed. Fix bug that
            caused permition problems on read-only files.
    0.9.1 File format has been changed. It allows better cooperation with
          file and magic utility.
    0.9.0 First release that can be marked as stable. Many bugs fixed.
    0.8.8 User can choose compression method via program parameter.
    0.8.7 Correct rename bug, don't freeze on unmounting when in debug mode.
    0.8.6 Correct time of last status chnage, correct cleaning during unmount.
          Remove hard-coded minimal filesize for compressing.
    0.8.4 Support lzo compression.
    0.8.3 Problem with files bigger than 2GB fixed.
    0.8.2 Write-only bug corrected.
    0.8.1 README updated.
    0.8   Major update. New format for storing compressed files is used.

LICENSE

This program is distributed under the terms of the GNU Public License version 2.

TODO

See http://code.google.com/p/fusecompress/issues/list

INSTALLATION

To compile a release build, run

./autogen.sh (If there is no "configure" file) ./configure make

For more information, see http://code.google.com/p/fusecompress/wiki/BuildHOWTO

USAGE

        fusecompress [OPTIONS] /storage/directory [/mount/point]
          -h                   print this help
          -v                   print version
          -c lzo/bz2/gz/lzma/null   choose default compression method
          -l LEVEL             set compression level (1 to 9)
          -o ...               pass arguments to fuse library

You can mount filesystem over existing directory with files by omitting the
last parameter. Files will be compressed when you work with filesystem. Even
a simple 'find /storage' will compress them. Note that some of the last
files found are not compressed - this increases performance on frequently
accessed files. These files are compressed when the filesystem is unmounted
or (if mounted with "-o noterm" (default for root)) when the fusecompress
process receives a SIGTERM signal.

Useful parameters for FUSE library:

The FUSE library must be configured to support these features - the configuration
file /etc/fuse.conf must contains at least the option "user_allow_other".

allow_other

        This option overrides the security measure restricting file
        access to the user mounting the filesystem.  So all users
        (including root) can access the files.  This option is by
        default only allowed (and automatically enabled) for root,
        but this restriction can be removed with the configuration
        option described in the previous section.

allow_root

        This option is similar to 'allow_other', but file access is limited
        to the user mounting the filesystem and root.  This option and
        'allow_other' are mutually exclusive.

More information can be found at
http://code.google.com/p/fusecompress/wiki/Usage

TIPS AND TRICKS

How can I find out about the compression ratio?

    Run this command in the FuseCompressed directory when mounted
    with FuseCompress:
            du -sh
            du -sh --apparent-size

    The first command prints the total uncompressed size of all
    files in the current directory and its subdirectories while
    the second one prints the total compressed size.

    When the FuseCompress filesystem is not mounted, run `ls -l
    my_file.dat` and compare the file size with the value
    obtained with `file my_file.dat`.

File and magic utilities:

Put this config file into ~/.magic or /etc/magic to allow the file utility to recognize the FuseCompress file format:

0 string \037\135\211 FuseCompressed data

3 byte 0x00 (null format) 3 byte 0x01 (bz2 format) 3 byte 0x02 (gz format) 3 byte 0x03 (lzo format) 3 byte 0x04 (lzma format) 3 byte >0x04 (unknown format) 4 long x uncompressed size: %d

AUTHORS


Milan Svoboda <milan.svoboda@centrum.cz> (original author)
Anders Aagaard <aagaande@gmail.com> (direct compress feature)
Ulrich Hecht <uli@suse.de> (LZMA module, tools, test suite, bugfixes, maintainer)

Feel free to contact Ulrich Hecht with suggestions and bug reports.

Thanks to Dobos Sándor for testing.
Thanks to Roland Kletzing for exhaustive testing and suggestions.