Wie mounte ich einen Ordner von einem Linux-Computer auf einem anderen Linux-Computer?

14

Ich möchte einen Ordner von einem Linux-Computer auf einen anderen Linux-Computer laden. Wie mache ich das? Muss ich updaten /etc/fstaboder /etc/export?

Mein Ziel ist es, /tmpvon der anderen Linux-Maschine zu mounten . Ich habe Debian 5.1. 10.45.40.165, das ist die IP des anderen Rechners.

Zum Beispiel habe ich versucht:

mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied
slhck
quelle
1
Warum wurde dies von SF migriert?
Ignacio Vazquez-Abrams
@Ignacio Nun - das OP ist höchstwahrscheinlich kein Sysadmin. David, ich nahm an, Sie haben Debian. Korrigiere mich, wenn ich falsch liege. Auf jeden Fall gibt es kein Linux 5.1 .
Slhck
1
@slhck, @Darth: Wenn Sie darauf bestehen.
Ignacio Vazquez-Abrams
1
@David: Bitte posten /etc/exportsund die Ausgabe von netstat -plantund iptables -Lauf dem Server.
Ignacio Vazquez-Abrams
1
@ David: Haben Sie einen NFS-Server auf dem Server gestartet? Läuft iptables auf dem Server?
Peltier

Antworten:

9

Was Sie tun, ist NFS-Freigabe. Auf einem Debian-System sollten Sie die notwendigen Werkzeuge installieren. Nehmen wir an, dass der Client (der Computer, auf dem Sie den Remote-Ordner bereitstellen möchten) und der Server (der Computer, auf dem sich der Remote-Ordner befindet)

Auf dem Server müssen Sie installieren

apt-get install nfs-server portmap nfs-common

in neuen debian-versionen

apt-get install nfs-kernel-server portmap nfs-common

Auf dem Client müssen Sie Folgendes installieren:

apt-get install nfs-client nfs-common

Meine Paketauswahl könnte mehr oder weniger das haben, was Sie brauchen, aber einige Kombinationen reichen aus.

Nun müssen Sie die Ordner, die Sie für die Remote-Maschine freigeben möchten, in / etc / exports ablegen :

/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)

Dann:

exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart

Hier ist 192.168.0.2 die Adresse Ihres lokalen Rechners, ersetzen Sie diese durch Ihre eigene IP. Die Exportdatei enthält die Liste der Computer, die auf den freigegebenen Ordner zugreifen können. Wenn Ihre Computer keine gegenseitigen Firewall-Einschränkungen haben (Sie können dies beheben, indem Sie host zu /etc/hosts.allow hinzufügen).

Jetzt können Sie auf Ihrem lokalen Computer den folgenden Befehl verwenden:

sudo mount -o soft,intr,rsize=8192,wsize=8192 server_ip:/path_to_tmp_folder/tmp /local_path_to_empty_tmp_folder/tmp

Wenn Sie das automatische Laden beim Booten wünschen, müssen Sie Ihre / etc / fstab-Datei bearbeiten und die Zeile auf Ihrem Client platzieren:

server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock

Dies ist nur ein Beispiel für Einstellungen (Kopie aus meiner eigenen). Sie müssen die NFS-Hilfe überprüfen, um zu sehen, welche Suiten für Sie am besten sind.

enedene
quelle
Gibt es einen Grund, warum r / wsize für den Mount-Ansatz anders ist als für den Fstab-Ansatz?
Puk
1
anstelle von nfs-server sollte in neuen versionen von debian der nfs-kernel-server verwendet werden. Diese Informationen befinden sich im Debian-Abhängigkeitsbaum. Daher wird eine Aktualisierung der Antwort empfohlen.
Dee
Können Sie ein Subnetz in der exportsDatei zulassen ?
nonsensickle
0

Um den Ordner / tmp von einem anderen Computer aus bereitzustellen, muss er von einem Dienst verfügbar gemacht werden, der dies zulässt. Ihre Frage weist darauf hin, dass Sie NFS dafür verwenden möchten.

In diesem Fall müssen Sie / etc / exports bearbeiten und eine Zeile wie die folgende eingeben

/tmp 10.45.40/24(ro,insecure,sync,no_subtree_check)

In der Manpage für den Export finden Sie genaue Informationen zu allen Optionen. Starten Sie den NFS-Dienst mit neu, sobald die gewünschten Optionen verfügbar sind

exportfs -ra

Hängen Sie dann den exportierten Ordner von Ihrem Client ein.

wolfgangsz
quelle