Comment monter un dossier depuis une machine Linux sur une autre machine Linux?

14

Je veux monter un dossier à partir d'une machine Linux sur une autre machine Linux. Comment je fais ça? Dois-je mettre à jour /etc/fstabou /etc/export?

Mon objectif est de monter à /tmppartir de l'autre machine Linux. J'ai Debian 5.1. 10.45.40.165, c'est l'IP de l'autre machine.

Par exemple, j'ai essayé:

mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied
slhck
la source
1
Pourquoi cela a-t-il migré de SF?
Ignacio Vazquez-Abrams
@Ignacio Eh bien - l'OP n'est probablement pas un administrateur système. David, je suppose que vous avez Debian. Corrige moi si je me trompe. Quoi qu'il en soit, il n'y a pas de Linux 5.1 .
slhck
1
@slhck, @Darth: Si vous insistez.
Ignacio Vazquez-Abrams
1
@David: Veuillez poster /etc/exportset la sortie de netstat -plantet iptables -Ldepuis le serveur.
Ignacio Vazquez-Abrams
1
@David: avez-vous démarré un serveur NFS sur la machine serveur? Iptables fonctionne-t-il sur le serveur?
Peltier

Réponses:

9

Ce que vous faites, c'est le partage NFS. Sur un système Debian, vous devez installer les outils nécessaires. Supposons que le client (la machine sur laquelle vous souhaitez monter le dossier distant) et le serveur (la machine où se trouve le dossier distant)

Sur le serveur, vous devrez installer

apt-get install nfs-server portmap nfs-common

dans les nouvelles versions de Debian

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

Sur le client, vous devrez installer:

apt-get install nfs-client nfs-common

Ma sélection de packages pourrait avoir plus ou moins ce dont vous avez besoin, mais certaines combinaisons feront l'affaire.

Maintenant, ce que vous devez faire est de mettre les dossiers que vous souhaitez partager avec la machine distante dans / etc / exports :

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

Alors:

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

Ici 192.168.0.2 est l'adresse de votre machine locale, remplacez-la par votre propre IP. le fichier exports contient la liste des machines pouvant accéder au dossier partagé. Si vos machines n'ont pas de restrictions de pare-feu les unes aux autres (vous pouvez résoudre ce problème en ajoutant un hôte à /etc/hosts.allow).

Maintenant sur votre machine locale, vous pouvez utiliser la commande:

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

Si vous voulez avoir un montage automatique au démarrage, vous devez modifier votre fichier / etc / fstab et mettre la ligne sur votre client:

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

Ceci est juste un exemple de paramètres (copie copiée à partir du mien), vous devez vérifier l'aide de nfs pour voir quelles suites vous conviennent le mieux.

enedene
la source
une raison pour laquelle r / wsize est différent pour l'approche de montage par opposition à l'approche fstab?
puk
1
au lieu de nfs-server dans les nouvelles versions de debian, le nfs-kernel-server doit être utilisé. Ces informations se trouvent dans l'arborescence des dépendances Debian. La mise à jour de la réponse est donc recommandée.
Dee
Pouvez-vous autoriser un sous-réseau dans le exportsfichier?
nonsensickle
0

Afin de monter le dossier / tmp à partir d'une autre machine, il doit être exposé par un service qui le permet. Votre question indique que vous avez l'intention d'utiliser NFS pour cela.

Dans ce cas, vous devrez éditer / etc / exports et fournir une ligne similaire à

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

Lisez la page de manuel pour les exportations pour les détails exacts de toutes les options. Une fois les options dont vous avez besoin, redémarrez le service NFS avec

exportfs -ra

Montez ensuite le dossier exporté à partir de votre client.

Wolfgangsz
la source