Simple TCP FUSE File System
Details
| Last Update: | 2008-02-03 11:01:17 |
| Version: | 1.2 |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Tomi Ollila |
| Price: | $0.00 |
Description:
Simple TCP FUSE File System is a FUSE based networked file
system. It consists of 2 parts. A network server daemon that is
started on the (remote) host and a FUSE module running in
user-space on the local host. Server component is launched via SSH
and after client and server have communicated and created separate
TCP connection for data transfer SSH link is shut down.
So, this provides somewhat the same functionality than sshfs,
but security traded for speed. If security is not an issue, this is
useful at least in the following situations: 1) Either machine is
low-end. 2) The machines has important high-load application(s)
running. 3) One wants to see real statvfs values.
Installation:
Client requires FUSE headers and libraries, server does not.
Currently C99-capable compiler is needed to compile both client and
server, but with little effort on the code, this requirement can be
removed from the server component.
To compile both client and server, enter ``make all``.
Enter ``make client`` or ``make server`` to compile either
component.
For developers/testers: Enter ``make debug`` to compile debug
build.
After client compilation on "local" machine (where directory
is to be mounted) and server compilation on "remote" machine
(from where directory is mounted), move server component to a
location that is on your PATH. In many cases entering command ``cp
stfufs-server $HOME/bin/stfufs-server`` does the job. During
initial testing, client does not need to be copied anywhere, but
for permanent use it is good to be get somewhere in your PATH.
Usage:
These examples expect stfufs (client) is found in your PATH.
During initial testing on stfufs source directory, use ``./stfufs
...``
In it's basic form, the usage is pretty same as with
sshfs_:
``stfufs remote:[directory] mountpoint``
This instructs server try to bind on ports in range 13668 -
14658, on 10
port increment and if succeeds to bind on any, listen for
client to connect
on that port.
For this to work, one must not have firewall to block on these
ports;
stfufs-server do know when port is already in use, but does not
know about
firewall blocking connections. Today, most of the systems
(linux distributions, at least) have firewall blocking connections,
so check with your system firewall configuration tool how to open
the required port(s)
You can also define what port to use for connection:
``stfufs -c < portno > remote:[directory]
mountpoint``
Now server tries to bind on given port and if succeeds, listens
for client to connect. The above firewall rules apply.
There is also possibility to make the connection other way
around:
``stfufs -b < portno > remote:[directory]
mountpoint``
Now client tries to bind on given port and if succeeds, listens
for server to connect. The same firewall rules apply, now on client
machine.
In both connection directions, there is also a proxy option
available. If this sounds too difficult/badly documented, skip
over.
Example:
``./stfufs -c 2001 -p 127.0.0.1:2000 -d 127.0.0.1:/usr
usr``
This informs server to bind on port 2001, but connection is
made to localhost (127.0.0.1) port 2000. On that port, there is
proxy pre-configured to connect to port 2001 on remote machine.
This has currently mostly used for debugging purposes but there
might be other uses as well.
And, for another direction:
``./stfufs -b 2001 -p 127.0.0.1:2000 -d 127.0.0.1:/usr
usr``
Now client binds to port 2001, server is instructed to connect
to 127.0.0.1:2000 (where proxy is configured to connect to
127.0.0.1:2001.)...
Not more on these (tricky) issues for now. In most cases the
proxyless versions work fine.
Testing:
(Move this part to developer documentation)
There has been many bugs that has been squashed in this program
after some testing. No-one can ever be sure that all bugs are gone,
since there is no resources to do indefinite testing.
I've so far done some basic testing with devel/test.sh
functions. Then I tarred ``usr/bin/``, which created 95M archive.
``tar -zdf`` verified
all ok. And, for heavy stfufs buffer runs, I've run ``while ls
-l usr/bin; do :; done`` for some time..
More tests needs to be developed for more certainty everyhing
works fine -- and for regression testing when new releases are
made. I'll investigate in this (slowly, though); suggestions for
tools/methods are greatly appreciated.
What's New in This Release:
· This release drops single element read/write caches
and replaces them with a 1024-item offset table indexed by fd.
· It includes a separate server launcher which, if used,
supports server versions using different communication
protocols.
0 comments
Add to
Simple TCP FUSE File System Version History
Related Software
|
|
From category: Filesystems |
| XFS combines advanced journaling technology with full 64-bit addressing and scalable structures and algorithms.... |
|
|
From category: Networking |
| Ethernet TAP driver 1.1 is networking software developed by Maksim Yevmenkin. TAP provides packet reception and transmission for user-space programs. It can be viewed as a simple Ethernet device, w... |
|
|
From category: Operating-Systems-Linux-Distri |
| Aurox 11.1 is operating systems linux distri software developed by Aurox Sp. z o.o.. Aurox Live is a version of the Aurox operating system which runs directly from CD. Quicksilver includes up-to-da... |
|
|
From category: Installer-Setup |
| Flagedit 0.0.7 is installer/setup software developed by dams. Flagedit is a CLI USE flags and package keywords editor for Gentoo Linux. It lets you edit the USE flags of /etc/make.conf, as well as... |
|
|
From category: Operating-Systems-Linux-Distri |
| AegeanLinux 0.5.02 is operating systems linux distri software developed by AegeanLinux Community. AegeanLinux is a free open source operating system for your computer. Other examples of an operatin... |
|
|
From category: Operating-Systems-Linux-Distri |
| DistccPPCKnoppix 0.0.9 is operating systems linux distri software developed by Ben Meyer. DistccPPCKnoppix is a Knoppix distribution which contains distcc servers for both Linux x86 and OSX ppc com... |
|
|
From category: Shells |
| eltclsh 1.5 is shells software developed by Anthony Mallet. eltclsh (editline tcl shell) is an interactive shell for the TCL programming language. It provides command line editing, history browsing... |
|
|
From category: Networking |
| Chaosreader 0.94 is networking software developed by Brendan Gregg. Chaosreader is an open source tool to trace TCP/UDP/... sessions and fetch application data from snoop or tcpdump logs. This is a... |
|
|
From category: Networking |
| Enas Alpha is networking software developed by Davide Lima Daum. Enas is a Perl script that can telnet to a Cisco router or switch, execute some command, and log the work on a file. Easy Network... |
|
|
From category: System-Administration |
| eL DAPo 1.18 is system administration software developed by keysd. eL DAPo is a PHP-based application for managing and querying LDAP servers. It can rename, modify, and delete LDAP entries, as well... |
|
|
From category: Operating-Systems-Linux-Distri |
| Arudius Linux LiveCD 0.5 is operating systems linux distri software developed by Haidut. Arudius is a live CD Linux distribution based on Minislack (Zenwalk) and Slax\'s Linux Live scripts.... |
|
|
From category: Operating-Systems-Linux-Distri |
| ExTiX 2.0 is operating systems linux distri software developed by ExTiX Team. This new version of ExTiX Linux Live DVD includes the 2.6.11 kernel by default, KDE 3.4.1, OpenOffice.org 2.0, KOffice,... |
|
|
From category: Networking |
| fusemb 0.1 is networking software developed by Yaroslav Rastrigin. fusemb is a small daemon which maps Microsoft network hierarchy into Unix filesystem subtree, using libsmbclient to obtain informa... |
|
|
From category: Operating-Systems-Linux-Distri |
| BrlSpeak 07-10-2003 is operating systems linux distri software developed by The Braillespeak Team. A mini-distribution for the blind. Has options for installation of drivers for braille devices or... |
|
|
From category: Networking |
| BlockSSHD 0.9 is networking software developed by James Turnbull. BlockSSHD is a Perl script based on BruteForceBlocker v1.2.3 that dynamically adds IPTables rules to block SSH brute force attacks.... |
Leave a comment