Fuseftp

aus ThiesenWiki, der freien Wissensdatenbank

Wechseln zu: Navigation, Suche

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:

'Persönliche Werkzeuge