Mount über SSH (SSHFS, Fuse)

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
7
Punkte
0
Manchmal muss man eine Verzeichnisebene zwischen ziehen ...

Leg doch mal an /volume1/share/mountpoint und mach sshfs -p 2200 test@entfernte.ip:/verzeichnis /volume1/share/mountpoint - Schau mal, ob in der /var/log/messages etwas steht ...


Itari
 

goetz

Super-Moderator
Teammitglied
Mitglied seit
18. Mrz 2009
Beiträge
13.555
Punkte für Reaktionen
23
Punkte
328
Hallo,
eine Antwort auf itari's Anfrage wäre sehr hilfreich. Es reicht ja schon das Ergebnis von ls -la für "." und "..".

Gruß Götz
 

Melissa

Benutzer
Mitglied seit
26. Jun 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
0
Es funktioniert. Hab ein -o allow_other in den sshfs link reingepackt, jetzt gehts.


Danke für Eure Hilfe!
 

eror

Benutzer
Mitglied seit
06. Mai 2012
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Anleitung install sshfs

So, nach paar Stunden lesen und probieren habe ich auch geschafft sshfs auf Synoligy DS 111 zu installieren.
Hier die Anleitung !
1)FUSE (fuse.sourceforge.net/sshfs.html) etnpacken dann ./configure --prefix=/opt, make, make install.
Bei Fehler sieh unten!
2)ipkg install glip
3)SSHFS entpacken dann ./configure --prefix=/opt, make, make install.
4)ln -s /opt/lib/libfuse.so.2 /lib/
5)fertig

Wenn Fehler in #1 dann:
1) backup the pthread libraries found in /opt/arm-none-linux-gnueabi/lib/ :
Code:
mkdir /opt/arm-none-linux-gnueabi/lib_disabled
mv /opt/arm-none-linux-gnueabi/lib/libpthread* /opt/arm-none-linux-gnueabi/lib

2) Copy the pthread libraries found in /opt/lib
Code:
cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
cd /opt/arm-none-linux-gnueabi/lib/
ln -s libpthread.so.0 libpthread.so
ln -s libpthread.so.0 libpthread-2.5.so

3) Dann nochmal:
Fuse entpacken, ./configure --prefix=/opt, make, make install.


Viel Spaß
 

jimbolaya

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
67
Punkte für Reaktionen
1
Punkte
0
hi leute,

vielen dank für eure vielen hinweise zur installation von fuse/sshfs!

ich scheitere leider schon an der fuse-installation. d.h. configure endet mit einem warning und make und make install enden mit errors.

eror's Tipps bzgl. "Wenn Fehler in #1 dann:" haben leider nichts gebracht, da bei mir die datei libpthread.so.0 nicht existiert :-(

ich tipp mal einfach zusammen, wie ich vorgegangen bin und würde mich freuen, wenn ihr mir einen tipp geben könnt!

ipkg install gcc
ipkg install make
ipkg install util-linux
ipkg install glib
ipkg install openssh

wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz/download
tar xvf fuse-2.9.3.tar.gz
cd fuse-2.9.3/
./configure --prefix=/opt

// am Ende von configure kommt dann:
configure: WARNING:
******************************************************************
* Please install util-linux version 2.18 or later which supports *
* --fake and --no-canonicalize options in mount and umount *
******************************************************************
Trotz der Warnung habe ich dann weiter gemacht:
make
Making all in include
make[1]: Entering directory `/root/fuse-2.9.3/include'
make all-am
make[2]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Leaving directory `/root/fuse-2.9.3/include'
make[1]: Leaving directory `/root/fuse-2.9.3/include'
Making all in lib
make[1]: Entering directory `/root/fuse-2.9.3/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/fuse-2.9.3/lib'
Making all in util
make[1]: Entering directory `/root/fuse-2.9.3/util'
make all-am
make[2]: Entering directory `/root/fuse-2.9.3/util'
CCLD ulockmgr_server
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_sa_restorer_v2@GLIBC_PRIVATE'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_rt_sa_restorer_v2@GLIBC_PRIVAT E'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_rt_sa_restorer_v1@GLIBC_PRIVAT E'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_sa_restorer_v1@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
make[2]: *** [ulockmgr_server] Error 1
make[2]: Leaving directory `/root/fuse-2.9.3/util'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/fuse-2.9.3/util'
make: *** [all-recursive] Error 1

make install
Making install in include
make[1]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Nothing to be done for `install-exec-am'.
.././install-sh -c -d '/opt/include/fuse'
.././install-sh -c -m 644 fuse.h fuse_compat.h fuse_common.h fuse_common_compat .h fuse_lowlevel.h fuse_lowlevel_compat.h fuse_opt.h cuse_lowlevel.h '/opt/inclu de/fuse'
.././install-sh -c -d '/opt/include'
.././install-sh -c -m 644 old/fuse.h ulockmgr.h '/opt/include'
make[2]: Leaving directory `/root/fuse-2.9.3/include'
make[1]: Leaving directory `/root/fuse-2.9.3/include'
Making install in lib
make[1]: Entering directory `/root/fuse-2.9.3/lib'
make[2]: Entering directory `/root/fuse-2.9.3/lib'
.././install-sh -c -d '/opt/lib'
/bin/ash ../libtool --mode=install .././install-sh -c libfuse.la libulockmg r.la '/opt/lib'
libtool: install: .././install-sh -c .libs/libfuse.so.2.9.3 /opt/lib/libfuse.so. 2.9.3
libtool: install: (cd /opt/lib && { ln -s -f libfuse.so.2.9.3 libfuse.so.2 || { rm -f libfuse.so.2 && ln -s libfuse.so.2.9.3 libfuse.so.2; }; })
libtool: install: (cd /opt/lib && { ln -s -f libfuse.so.2.9.3 libfuse.so || { rm -f libfuse.so && ln -s libfuse.so.2.9.3 libfuse.so; }; })
libtool: install: .././install-sh -c .libs/libfuse.lai /opt/lib/libfuse.la
libtool: install: .././install-sh -c .libs/libulockmgr.so.1.0.1 /opt/lib/libuloc kmgr.so.1.0.1
libtool: install: (cd /opt/lib && { ln -s -f libulockmgr.so.1.0.1 libulockmgr.so .1 || { rm -f libulockmgr.so.1 && ln -s libulockmgr.so.1.0.1 libulockmgr.so.1; } ; })
libtool: install: (cd /opt/lib && { ln -s -f libulockmgr.so.1.0.1 libulockmgr.so || { rm -f libulockmgr.so && ln -s libulockmgr.so.1.0.1 libulockmgr.so; }; })
libtool: install: .././install-sh -c .libs/libulockmgr.lai /opt/lib/libulockmgr. la
libtool: install: .././install-sh -c .libs/libfuse.a /opt/lib/libfuse.a
libtool: install: chmod 644 /opt/lib/libfuse.a
libtool: install: ranlib /opt/lib/libfuse.a
libtool: install: .././install-sh -c .libs/libulockmgr.a /opt/lib/libulockmgr.a
libtool: install: chmod 644 /opt/lib/libulockmgr.a
libtool: install: ranlib /opt/lib/libulockmgr.a
libtool: install: warning: remember to run `libtool --finish /usr/local/lib'
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/fuse-2.9.3/lib'
make[1]: Leaving directory `/root/fuse-2.9.3/lib'
Making install in util
make[1]: Entering directory `/root/fuse-2.9.3/util'
make install-am
make[2]: Entering directory `/root/fuse-2.9.3/util'
CCLD ulockmgr_server
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_sa_restorer_v2@GLIBC_PRIVATE'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_rt_sa_restorer_v2@GLIBC_PRIVAT E'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_rt_sa_restorer_v1@GLIBC_PRIVAT E'
/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib /libpthread.so: undefined reference to `__default_sa_restorer_v1@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
make[2]: *** [ulockmgr_server] Error 1
make[2]: Leaving directory `/root/fuse-2.9.3/util'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/root/fuse-2.9.3/util'
make: *** [install-recursive] Error 1
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
2) Copy the pthread libraries found in /opt/lib
Code:
cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
cd /opt/arm-none-linux-gnueabi/lib/
ln -s libpthread.so.0 libpthread.so
ln -s libpthread.so.0 libpthread-2.5.so
Da scheint mir ein Widerspruch.
Such' doch mal, welche libs du so hast.
find /opt -type f -name 'libpthread*'
find /lib -type f -name 'libpthread*'
find /usr -type f -name 'libpthread*'

Ggf. gibts im configure aber auch die Möglichkeit, ohne Threads zu kompilieren.
./configure --help
schafft Klarheit.
 

jimbolaya

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
67
Punkte für Reaktionen
1
Punkte
0
hi..

der find ergibt folgende libs:

/opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so
/opt/lib/libpthread_nonshared.a
/lib/libpthread.so.0

und was sollte ich mit denen nun machen?

ist das Warning am Ende meines configure die Ursache dafür, dass make erfolglos mit Error endet?
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Eins nach dem anderen.
Du hast geschrieben, dass libpthread.so.0 bei dir nicht existiert.
Es liegt aber doch in /lib, wie oben zu sehen ist...
 

jimbolaya

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
67
Punkte für Reaktionen
1
Punkte
0
hast recht! ;-)
bin mir fast sicher, dass ich bei meinem vorletzten posting am 26. februar /lib/libpthread.so.0 nicht hatte. weiss aber auch nicht, weshalb es nun da ist..

./configure --help | grep thread
hat leider nichts ergeben. geht anscheinend doch nicht ohne threads...

OK, hab nochmal eror's tipp nachvollzogen ab "Wenn Fehler in #1 dann:"

in der zweiten Zeile von eror fehlte ein "_disabled". so sollte es richtig sein und so habe ich's gemacht:

mkdir /opt/arm-none-linux-gnueabi/lib_disabled
mv /opt/arm-none-linux-gnueabi/lib/libpthread* /opt/arm-none-linux-gnueabi/lib_disabled
cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
cd /opt/arm-none-linux-gnueabi/lib/
ln -s libpthread.so.0 libpthread.so
ln -s libpthread.so.0 libpthread-2.5.so

danach wieder

cd fuse-2.9.3/
./configure --prefix=/opt

Wieder die gleiche Warnmeldung am Ende von configure

******************************************************************
* Please install util-linux version 2.18 or later which supports *
* --fake and --no-canonicalize options in mount and umount *
******************************************************************
SERVER> make
Making all in include
make[1]: Entering directory `/root/fuse-2.9.3/include'
make all-am
make[2]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Leaving directory `/root/fuse-2.9.3/include'
make[1]: Leaving directory `/root/fuse-2.9.3/include'
Making all in lib
make[1]: Entering directory `/root/fuse-2.9.3/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/fuse-2.9.3/lib'
Making all in util
make[1]: Entering directory `/root/fuse-2.9.3/util'
make all-am
make[2]: Entering directory `/root/fuse-2.9.3/util'
CCLD ulockmgr_server
CC mount.fuse.o
CCLD mount.fuse
make[2]: Leaving directory `/root/fuse-2.9.3/util'
make[1]: Leaving directory `/root/fuse-2.9.3/util'
Making all in example
make[1]: Entering directory `/root/fuse-2.9.3/example'
CC fusexmp.o
CCLD fusexmp
../lib/.libs/libfuse.so: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[1]: *** [fusexmp] Error 1
make[1]: Leaving directory `/root/fuse-2.9.3/example'
make: *** [all-recursive] Error 1


SERVER> make install
Making install in include
make[1]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Entering directory `/root/fuse-2.9.3/include'
make[2]: Nothing to be done for `install-exec-am'.
.././install-sh -c -d '/opt/include/fuse'
.././install-sh -c -m 644 fuse.h fuse_compat.h fuse_common.h fuse_common_compat.h fuse_lowlevel.h fuse_lowlevel_compat.h fuse_opt.h cuse_lowlevel.h '/opt/include/fuse'
.././install-sh -c -d '/opt/include'
.././install-sh -c -m 644 old/fuse.h ulockmgr.h '/opt/include'
make[2]: Leaving directory `/root/fuse-2.9.3/include'
make[1]: Leaving directory `/root/fuse-2.9.3/include'
Making install in lib
make[1]: Entering directory `/root/fuse-2.9.3/lib'
make[2]: Entering directory `/root/fuse-2.9.3/lib'
.././install-sh -c -d '/opt/lib'
/bin/ash ../libtool --mode=install .././install-sh -c libfuse.la libulockmgr.la '/opt/lib'
libtool: install: .././install-sh -c .libs/libfuse.so.2.9.3 /opt/lib/libfuse.so.2.9.3
libtool: install: (cd /opt/lib && { ln -s -f libfuse.so.2.9.3 libfuse.so.2 || { rm -f libfuse.so.2 && ln -s libfuse.so.2.9.3 libfuse.so.2; }; })
libtool: install: (cd /opt/lib && { ln -s -f libfuse.so.2.9.3 libfuse.so || { rm -f libfuse.so && ln -s libfuse.so.2.9.3 libfuse.so; }; })
libtool: install: .././install-sh -c .libs/libfuse.lai /opt/lib/libfuse.la
libtool: install: .././install-sh -c .libs/libulockmgr.so.1.0.1 /opt/lib/libulockmgr.so.1.0.1
libtool: install: (cd /opt/lib && { ln -s -f libulockmgr.so.1.0.1 libulockmgr.so.1 || { rm -f libulockmgr.so.1 && ln -s libulockmgr.so.1.0.1 libulockmgr.so.1; }; })
libtool: install: (cd /opt/lib && { ln -s -f libulockmgr.so.1.0.1 libulockmgr.so || { rm -f libulockmgr.so && ln -s libulockmgr.so.1.0.1 libulockmgr.so; }; })
libtool: install: .././install-sh -c .libs/libulockmgr.lai /opt/lib/libulockmgr.la
libtool: install: .././install-sh -c .libs/libfuse.a /opt/lib/libfuse.a
libtool: install: chmod 644 /opt/lib/libfuse.a
libtool: install: ranlib /opt/lib/libfuse.a
libtool: install: .././install-sh -c .libs/libulockmgr.a /opt/lib/libulockmgr.a
libtool: install: chmod 644 /opt/lib/libulockmgr.a
libtool: install: ranlib /opt/lib/libulockmgr.a
libtool: install: warning: remember to run `libtool --finish /usr/local/lib'
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/fuse-2.9.3/lib'
make[1]: Leaving directory `/root/fuse-2.9.3/lib'
Making install in util
make[1]: Entering directory `/root/fuse-2.9.3/util'
make install-am
make[2]: Entering directory `/root/fuse-2.9.3/util'
make[3]: Entering directory `/root/fuse-2.9.3/util'
.././install-sh -c -d '/opt/bin'
/bin/ash ../libtool --mode=install .././install-sh -c fusermount ulockmgr_server '/opt/bin'
libtool: install: .././install-sh -c fusermount /opt/bin/fusermount
libtool: install: .././install-sh -c ulockmgr_server /opt/bin/ulockmgr_server
.././install-sh -c -d /sbin
.././install-sh -c ./mount.fuse /sbin/mount.fuse
.././install-sh -c -d /etc/init.d
.././install-sh -c ./init_script /etc/init.d/fuse
make install-exec-hook
make[4]: Entering directory `/root/fuse-2.9.3/util'
chmod u+s /opt/bin/fusermount
make[4]: Leaving directory `/root/fuse-2.9.3/util'
.././install-sh -c -d /etc/udev/rules.d
.././install-sh -c -m 644 ./udev.rules /etc/udev/rules.d/99-fuse.rules
make[3]: Leaving directory `/root/fuse-2.9.3/util'
make[2]: Leaving directory `/root/fuse-2.9.3/util'
make[1]: Leaving directory `/root/fuse-2.9.3/util'
Making install in example
make[1]: Entering directory `/root/fuse-2.9.3/example'
CCLD fusexmp
../lib/.libs/libfuse.so: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[1]: *** [fusexmp] Error 1
make[1]: Leaving directory `/root/fuse-2.9.3/example'
make: *** [install-recursive] Error 1
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Glückwunsch!
Erfolgreich kompiliert und installiert.
Schon getestet?

Die Fehlermeldung würde mich nicht kratzen.
"Example" dürfte nicht wichtig sein.
 

jimbolaya

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
67
Punkte für Reaktionen
1
Punkte
0
Danke! OK, wenn die Fehler nichts zu bedeuten haben, dann hatte es bei mir wahrscheinlich schon beim ersten mal geklappt und ich hätte eror's tipps vmtl. gar nicht befolgen müssen..

hab nun folgendermaßen weitergemacht:

beim versuch sshfs zu kompilieren kam raus, dass mir pkg-config fehlt. das habe ich mir auf http://www.freedesktop.org/wiki/Software/pkg-config/ besorgt.

pkg-config entpackt und dann
configure --with-internal-glib
make
make install
hat erfolgreich geklappt!

allerdings kommt beim kompilieren von sshfs nun raus, dass anscheinend fuse doch nicht richtig funkioniert (siehe unten). ich komm mir schon echt ein bisschen blöd vor... was nun?

cd /root/sshfs-fuse-2.5
./configure

checking for a BSD-compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for library containing dlsym... -ldl
checking OpenSSH version... 5.8 >= 4.4, disabling NODELAY workaround
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSHFS... no
configure: error: Package requirements (fuse >= 2.3 glib-2.0 gthread-2.0) were not met:

No package 'fuse' found
No package 'glib-2.0' found
No package 'gthread-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SSHFS_CFLAGS
and SSHFS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Sind denn die 3 Pakete, die er anmeckert, installiert?
 

jimbolaya

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
67
Punkte für Reaktionen
1
Punkte
0
zu fuse:
da hattest du mir ja selber geschrieben "Glückwunsch! Erfolgreich kompiliert und installiert." Und scheint auch so zu sein:

SERVER> fusermount
fusermount: missing mountpoint argument

zu glib2.0:

SERVER> find /opt -type f -name 'glib-2.0*'
/opt/lib/pkgconfig/glib-2.0.pc
/opt/share/aclocal/glib-2.0.m4

scheint also auch da zu sein. was glib macht oder wie ich prüfen kann, obs funktioniert - das weiss ich leider nicht.

gleiches gilt für gthread-2.0:

SERVER> find /opt -type f -name 'gthread-2.0*'
/opt/lib/pkgconfig/gthread-2.0.pc
 
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Dann hilft wohl nur PKG_CONFIG_PATH