Fuseftp
aus ThiesenWiki, der freien Wissensdatenbank
Inhaltsverzeichnis |
Download
Changelog
0.8
- fix for special characters in filenames on the server side (by Wolf)
- fix the timeout option
- added --port=21 to specify the port
0.7
- new --foreground switch, fuseftp backgrounds now by default (by David Danier)
- changed --allow-others to --options=allow_others to be more compatible with other FUSE clients (by David Danier)
0.6
- new --ask-password switch to ask password on command line (by David Danier)
- fix for the --passive option (spotted by David Danier)
- fix for warning in offset computation in write routine (spotted by Radim)
- note: Term::ReadKey is needed for 0.6
0.5
- fixed handling of special dirs ('.') in listing code
0.4
- Doc fixes
- Passive Conenctions by David Danier
- Better server string parsing (allows @ in usernames)
- Makefile.PL fix by Joris
0.3
- General Fixes and cleanups, writing and reading work.
- Command line options
- Allowing to mount FTP directories
Installation
From Source
perl Makefile.PL make sudo make install
If any of the preregs fail, you can install the missing modules using the cpan shell which is started with "cpan" or "cpan -MCPAN -e shell".
Prereqs
You can install the modules with:
sudo cpan -i Fuse Net::FTP Cache::File Term::ReadKey
Debian
apt
Joris made a Debian Package which is apt-get'able via his homepage: http://debian.jox.be/. Note that the packages are build on Debian Unstable (Sid), so it may or may not work on stable (Sarge) or testing (Etch). As apt-get 0.6 checks for key signatures, you might have to import Joris key with
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys E3904B8C gpg --armor --export E3904B8C | sudo apt-key add -
To install fuseftp via apt-get add
deb http://debian.jox.be ./ deb-src http://debian.jox.be ./
to your sources list and do an
apt-get update apt-get install fuseftp
(as root user). This will resolve all dependencies manually.
Slackware
slapt-get
A Slackware Package built on 11.0 is available from http://www.nekserve.de
at http://www.nekserve.de/mirror/index.php?dir=Pakete%2FNekserve%2Fdevel%2Ffuseftp%2F.
The Perl-Dependencies are already online, but there has to be worked on the slack-required files.
For installing via slapt-get, add "SOURCE=http://nekserve.de/mirror/Pakete/" to your slapt-getrc file.
Slackware-based LiveCDs
Modules for Nekdesk, Slax and other Slackware-based LiveCDs are also available from Nekserve
at http://www.nekserve.de/mirror/index.php?dir=Module%2F.
The Perl-Dependencies are already included in both lzm- and mo-modules.
manual from source
Debian has packages for Net::FTP, Cache::File and Term::ReadKey called libnet-perl, libcache-perl and libterm-readkey-perl. To be able to build the Fuse module you have to have the libfuse and libfuse-dev package installed (the following commands have to be issued as root).
apt-get install libnet-perl libcache-perl libterm-readkey-perl libfuse2 libfuse-dev cpan -i Fuse
manual from package
Go to http://debian.jox.be/ Joris' page and grab the libfuse-perl and fuseftp package. You have to install the preregs manually:
apt-get install libnet-perl libcache-perl libterm-readkey-perl libfuse2
(the libfuse-dev package is only needed to build from source)
dpkg -i libfuse-perl_0.06-1_i386.deb fuseftp_0.6-1_i386.deb
Usage
marcus@hal2000:~: mkdir kernel marcus@hal2000:~: fuseftp kernel/ ftp.kernel.org fuseftp 0.7 - 2005 (c) by Marcus Thiesen <marcus@thiesen.org> Successfully logged into ftp.kernel.org Backgrounding... marcus@hal2000:~: cd kernel marcus@hal2000:~/kernel: ls for_mirrors_only lost+found pub usr welcome.msg marcus@hal2000:~/kernel: cd .. marcus@hal2000:~: fusermount -u kernel/
Passwords
If you give only a username (like foo@ftp.kernel.org) or nothing Net::FTP uses Net::Netrc to lookup the username and/or password in your .netrc file. The format of the .netrc file is described in this howto.
Help
Usage: fuseftp [options] mountpoint [user[:password]@]host[:directory]
where options is one of:
--ask-password Interactive ask for the password if none provided
--cache=memory The default caching uses a file system caching system, if
you want to speed things up and won't transfer big files
you can use in memory caching.
--debug Enable FUSE debugging messages
(implies --foreground)
--foreground Don't put process into background
--options=opt[,opt] Pass options to FUSE
allow_others: allow access by other users
--passive Make a passive FTP connection
--port=21 Set the port to use for the connection, defaults to
21.
--timeout=seconds Timeout for read cache, files will be stored 'seconds'
seconds in the cache. Defaults to 300.
Mountpoint is the directory where the FTP server will be mountet into the filesystem.
The last parameter is the server.
Examples:
Mounts the directory pub/linux of ftp.kernel.org to ~/kernel using memory cache:
fuseftp --cache=memory ~/kernel ftp.kernel.org:/pub/linux
Mounts the FTP server my.isp.com to ~/homepage using username "foo" and password
"bar". NOTE: This way your password will show up in the process table. You can
specify passwords on a per server basis in ~/.netrc
fuseftp ~/homepage foo:bar@my.isp.com
Support
Email me or write a comment to this blogentry
Bugs
Bugs go to fuseftp-bugs@thiesen.org or into the following list:
