Ich habe zwei RasberryPi, auf denen debian wheezy läuft, und ich möchte einen Ordner von Computer A auf Computer B mounten.
Was ist der beste (wie am effizientesten) Weg, um dies zu tun?
Ich kann es über SMB tun, aber das ist für Windows, ich denke, es muss einen besseren Weg geben, um über Linux zu teilen.
filesystems
mount
remote
cjburkha
quelle
quelle
Antworten:
Sie können viele Dinge verwenden, unter denen beliebte Optionen sind:
Aufgrund der einfachen Einrichtung müssten sie meiner Meinung nach in dieser Reihenfolge angeordnet werden (oben: am einfachsten).
SSHFS
Mit FUSE können Sie entfernte Dateisysteme über ssh mounten. Ich werde nicht darauf eingehen, wie, wie Cristopher das bereits sehr gut erklärt hat. Beachten Sie, dass zum automatischen Mounten der Datei etwas mehr Arbeit erforderlich ist .
Samba
Sie können Windows- und Unix-Computer verwenden, um auf den Remote-Ordner zuzugreifen. Wenn es für Sie keine große Sache ist, werden Sie wahrscheinlich nicht davon profitieren. Es ist jedoch einfach, es bei init automatisch zu aktivieren (geben Sie einfach die entsprechenden Werte bei ein
/etc/fstab
, einschließlichusername=<your-samba-username>,password=<your-samba-password>
in der Optionsspalte .NFS
Damit können Sie sich nur über IP authentifizieren (kein Benutzername = schneller, nur in Ihrem nicht feindlichen LAN) oder über Kerberos-Tickets (zu schmerzhaft für nur zwei Himbeeren, aber nützlich in Unternehmensumgebungen).
Da der Kernel-Modus unterstützt wird, läuft er schneller als sshfs. Da keine Verschlüsselung durchgeführt wird, hat es außerdem einen besseren Durchsatz, und im Fall des winzigen Himbeer-ARM kann es einen Unterschied machen.
Außerdem ist es nicht so schmerzhaft, wenn Sie einfach Ihrem Netzwerk vertrauen. Sie haben auch Auto-Mount-Unterstützung
/etc/fstab
und müssen keine vertraulichen Daten (wie Benutzernamen oder Kennwörter) eingeben. Wenn Sie Ihre Benutzernamen synchronisiert haben (dieselben/etc/passwd
und/etc/group
Dateien), können Sie das übliche POSIX-Berechtigungs-Toolset (chown
,chgrp
undchmod
) verwenden.quelle
arisu:/mnt/ytra /mnt/ytra nfs soft,ro,intr 0 2
stat()
zurückgibt, z. B. Dinge, die von dernlink
Anzahl abhängen, von der CIFS keine Ahnung hat. SSHFS hat mich nicht sonderlich beeindruckt, da es Kontextwechsel auf dem Dateiserver sehr hoch laufen ließ und die für interne Programme erforderliche Sperrung nicht unterstützte. Also, NFS ...SSHFS ist wunderbar. Es kann entfernte Verzeichnisse in einem lokalen Verzeichnis mit FUSE mounten . Mit den folgenden Befehlen wird
#
angegeben, dass ein Befehl ausgeführt wurderoot
, während$
die Ausführung als regulärer Benutzer angegeben wird. Da FUSE-Software erforderlich ist, stellen Sie zunächst sicher, dass sie verfügbar ist und ausgeführt wird.Einer der
lsmod
undgrep
Befehle kann unten zeigen , wenn die Software geladen und einsatzbereit. Ein Ergebnis von beiden Befehlen zeigt an, dassfuse
verfügbar ist.Wenn keiner der beiden Befehle ein Ergebnis liefert, versuchen Sie, das Kernelmodul ohne Neustart mit zu laden,
modprobe
und überprüfen Sie es erneut.Wenn das Laden des Moduls fehlschlägt, installieren Sie die Software mit
apt-get
.Überprüfen Sie es nach der Installation erneut.
FUSE muss installiert sein und ausgeführt werden, bevor Sie fortfahren können.
Überprüfen Sie die Berechtigungen von
/dev/fuse
. Die Berechtigungen sollten Ihrem regulären Benutzerkonto Lese- und Schreibzugriff gewähren. Überspringen Sie diesen Teil, wenn Sie festgestellt haben, dass Ihr reguläres Benutzerkonto bereits über Lese- und Schreibberechtigungen verfügt/dev/fuse
.Die Ausgabe könnte eine der folgenden sein.
Im Jahr 2013 hat mein Debian
/dev/fuse
mit0600
Berechtigungen, Eigentümerroot
, Gruppeneigentümer erstelltfuse
. Ich musste die Sicherungsgruppe das Gerät verwenden lassen und mein reguläres Benutzerkonto zur Gruppe hinzufügen, wie unten gezeigt.Wenn die neue Gruppenmitgliedschaft erforderlich war, melden Sie sich ab und wieder an, um Mitglied der Gruppe zu werden.
Anschließend
ssh
wie folgt beidseitig montieren .Diese Antwort wurde für Debian geschrieben, aber auf Ubuntu 18.x zumindest
openssh-client
,fuse
und ein paar andere Pakete sind ein Teil des Ubuntu -sshfs
Paket. Diesshfs
Software wird auf der Client-Seite benötigt, kann jedoch auf beiden Seiten installiert werden. Eine der Paketabhängigkeiten istfuse
, aber das Installationsprogramm überspringt bereits installierte Software.Erstellen Sie mit
fuse
undssh
verfügbar und mit der Berechtigung zur Verwendung des Geräts/dev/fuse
einen Einhängepunkt für das ferne Dateisystem. und hängen Sie das entfernte Dateisystem wie folgt lokal an.Wenn Sie ein anderes Verzeichnis als home bereitstellen möchten, geben Sie es nach dem Doppelpunkt an.
Zum Abhängen verwenden Sie
fusermount
.Wenn Sie einen Windows-Computer haben, kann er auch SSHFS mit win-sshfs verwenden . Diese Software ordnet ein Laufwerk mit SSHFS zu, sodass Sie einen Windows-Laufwerksbuchstaben haben können, der das Remote-Verzeichnis enthält.
quelle
yum install fuse-sshfs.x86_64
), aber als ichmodprobe fuse
es tat, hat es keine Sicherungsgruppe für mich erstellt. Als ich das tatusermod -a -G fuse [your-user]
, bekam ichusermod: group 'fuse' does not exist
. kannst du helfenlsmod | grep fuse
Gibt das Ergebnis zurück und ich habe/dev/fuse
m, das root gehört. Du sagst also, ich bin okay ohne die Gruppe?crw-rw-rw-. 1 root root 10, 229 Nov 21 15:32 /dev/fuse
Unter Linux würden Sie sich für NFS entscheiden ( lesen Sie dazu auch den Artikel auf archwiki, der möglicherweise auch relevante Informationen für Ihre Distribution enthält). Es hat erweiterte Funktionen als Samba. Wenn Sie Dateien sperren müssen (dh gleichzeitig auf sie zugreifen müssen), sollten Sie sich auch mit lockd befassen, da nfs statusfrei ist. Es ist jedoch schwieriger zu konfigurieren als smb. Ich würde vorschlagen, sowohl Samba als auch NFS auszuprobieren, um herauszufinden, welches Ihren Bedürfnissen entspricht.
quelle
Ich habe in der Vergangenheit sowohl SFTP-Netzlaufwerk als auch ExpanDrive verwendet und kann Ihnen sagen, dass sshfs beide ohne Frage übertrifft.
quelle