1 |
Fuse version 0.06 |
2 |
================= |
3 |
|
4 |
Fuse is combination of Linux kernel module and user space library which |
5 |
enables you to write user-space filesystems. This module enables you to |
6 |
write filesystems using perl. |
7 |
|
8 |
Additional file-systems using Fuse module are released on CPAN using Fuse:: |
9 |
namespace. Currently that includes only Fuse::DBI which allows you to mount |
10 |
database as file system, but there will be more. |
11 |
|
12 |
This is a pre-production release. It seems to work quite well. In fact, I |
13 |
can't find any problems with it whatsoever. If you do, I want to know. |
14 |
|
15 |
|
16 |
INSTALLATION |
17 |
|
18 |
To install this module type the standard commands as root: |
19 |
|
20 |
perl Makefile.PL |
21 |
make |
22 |
make test |
23 |
make install |
24 |
|
25 |
|
26 |
DEPENDENCIES |
27 |
|
28 |
This module requires the FUSE userspace library and the FUSE kernel module. |
29 |
See http://fuse.sourceforge.net/ |
30 |
|
31 |
|
32 |
COPYRIGHT AND LICENCE |
33 |
|
34 |
This is contributed to the FUSE project by Mark Glines <mark@glines.org>, |
35 |
and is therefore subject to the same license and copyright as FUSE itself. |
36 |
Please see the AUTHORS and COPYING files from the FUSE distribution for |
37 |
more information. |
38 |
|
39 |
|
40 |
EXAMPLES |
41 |
|
42 |
There are a few example scripts. You can find them in the examples/ |
43 |
subdirectory. These are: |
44 |
|
45 |
* example.pl, a simple "Hello world" type of script |
46 |
|
47 |
* loopback.pl, a filesystem loopback-device. like fusexmp from |
48 |
the main FUSE dist, it simply recurses file operations |
49 |
into the real filesystem. Unlike fusexmp, it only |
50 |
re-shares files under the /tmp/test directory. |
51 |
|
52 |
* rmount.pl, an NFS-workalike which tunnels through SSH. It requires |
53 |
an account on some ssh server (obviously), with public-key |
54 |
authentication enabled. (if you have to type in a password, |
55 |
you don't have this. man ssh_keygen.). Copy rmount_remote.pl |
56 |
to your home directory on the remote machine, and create a |
57 |
subdir somewhere, and then run it like: |
58 |
./rmount.pl host /remote/dir /local/dir |
59 |
|
60 |
* rmount_remote.pl, a ripoff of loopback.pl meant to be used as a backend |
61 |
for rmount.pl. |
62 |
|
63 |
|
64 |
BUGS |
65 |
|
66 |
I've begun to build a formal testing framework. Currently it can mount |
67 |
and unmount loopback.pl, and all of the base-level functions have test |
68 |
scripts. These need to be fleshed out as problems are noticed. |
69 |
|
70 |
The current test framework seems to work well, but the underlying mount/ |
71 |
unmount infrastructure is a crock. I am not pleased with that code. |
72 |
|
73 |
While most things work, I do still have a TODO list: |
74 |
* "du -sb" reports a couple orders of magnitude too large a size. |
75 |
* need to sort out cleaner mount semantics for the test framework |
76 |
* figure out how to un-linuxcentrify the statfs tests |
77 |
* test everything on other architectures and OS's |
78 |
|