RheaVFS 0.3

RheaVFS allows you to turn an archive into a virtual directory.
RheaVFS allows you to turn an archive into a virtual directory, so all the files in the archive can be accessed as if they were in the virtual directory. This works transparently for all programs without any need to modify them.

Currently RheaVFS is in a beta stage of the development. It has read/write support for the following archives:

zip, tar, bzip2, gzip, gpg (encryption)

Installation:

There are two principal parts in the RheaVFS system: a redirector and a server. Currently a redirector is implemented by a kernel patch which must be installed in the Linux kernel. The server part uses a FUSE library to create a virtual filesystem.

The kernel patch

The Linux kernel patch is in the 'kernel_patch' subdirectory. There are versions for kernels 2.6.20 through 2.6.23. Currently only i386 is supported, but extending to other architectures should be straitforward (as soon as I get a new HW

Patch your favorite kernel:

patch -p1 < shdw-2.6.23.patch

and recompile-install-reboot.

The server

Required libraries (Fedora 6 packages):

fuse-devel (2.5.3)
commoncpp2-devel (1.5.0) Now part of GNU Telephony.
gpgme-devel (1.1.2) - if not present, the GPG encryption module won't be compiled
file (libmagic) (4.17.8)
kernel FUSE driver - included in all recent Linux kernels.
tar, zip, gzip, bzip2, gpg programs.

Type 'make' in the 'src/' subdirectory and the VFS server will be (hopefully) compiled.

Running

There's a script: 'src/run-vfs'. It will setup some minor things and run FUSE VFS server in a foreground. The default mount point is at ~/usrmnt. The VFS server will automaticaly setup 'shadow directories' implemented in the kernel patch.
Install scripts do not work.

How to use RheaVFS - examples

The basic use-case is to open an archive like a directory:

cd foo.zip^

To open a file as a directory you must append an escape character to its name - it's the '^'. You can read and write, create and delete any file in the virtual directory and all the changes will be propagated back to the source file.

TAR.GZ/BZ2 files are a little more tough. You must use two '^' to open the archive:

cd foo.tar.gz^^

That's because the first '^' will decompress GZIPed file and the second converts TAR file to a directory. See for yourself:

$ stat hello.tar.gz

File: `hello.tar.gz'
Size: 284 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 430324 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/ jara) Gid: ( 500/ jara)
Access: 2007-05-29 00:10:25.000000000 +0200
Modify: 2007-05-29 00:09:47.000000000 +0200
Change: 2007-05-29 00:09:47.000000000 +0200

$ stat hello.tar.gz^

File: `hello.tar.gz^'
Size: 10240 Blocks: 24 IO Block: 4096 regular file
Device: 17h/23d Inode: 21 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 500/ jara) Gid: ( 500/ jara)
Access: 2007-05-29 00:10:25.000000000 +0200
Modify: 2007-05-29 00:10:25.000000000 +0200
Change: 1970-01-01 01:00:00.000000000 +0100

$ stat hello.tar.gz^^

File: `hello.tar.gz^^'
Size: 72 Blocks: 0 IO Block: 4096 directory
Device: 17h/23d Inode: 16 Links: 0
Access: (0777/drwxrwxrwx) Uid: ( 500/ jara) Gid: ( 500/ jara)
Access: 2007-05-29 00:09:41.000000000 +0200
Modify: 2007-05-29 00:09:41.000000000 +0200
Change: 1970-01-01 01:00:00.000000000 +0100

What's New in This Release:

· patches for kernels 2.6.20 through 2.6.23

last updated on:
October 17th, 2007, 15:04 GMT
price:
FREE!
developed by:
Jaroslav Sykora
license type:
GPL (GNU General Public License) 
category:
ROOT \ System \ Filesystems

FREE!

In a hurry? Add it to your Download Basket!

user rating 18

UNRATED
3.1/5
 

0/5

Add your review!

SUBMIT