installation d`un partage de fichier NFS

Transcription

installation d`un partage de fichier NFS
Le pcDuino : Fonctions avancées système : installation d'un partage de fichier NFS
Installation du partage de fichier NFS : le mini-PC en serveur NFS
•
J'ai déjà décrit la procédure sous Ubuntu en détail ici : Mise en place d'un partage de fichier NFS via réseau wifi entre le PC embarqué et le PC fixe,
C'est quoi le partage de fichier
•
Le partage de fichier va consister à ouvrir sur le poste fixe le répertoire utilisateur du mini-PC et à y travailler comme si c'était un répertoire de votre PC
fixe !! Vous allez alors pouvoir copier / coller des fichiers qui seront instantanément copier/coller sur le mini-PC et inversement.
Ceci va s'avérer très pratique surtout lorsque le mini-PC sera physiquement éloigné du poste fixe.... aucune intervention physique ne sera nécessaire !
•
Ceci va également être très intéressant pour transférer des fichiers... sans fil, car çà fonctionne aussi bien en wifi qu'en filaire !
•
Préalable
•
Sachez que vous pouvez à tout moment utiliser le « partage de fichier pour les nuls » avec... une simple clé USB !! Vous copier le fichier voulu du mini-PC
ou de votre PC sur une clé USB... et vous le copiez ensuite sur le poste de destination.
•
Ceci fonctionne très bien mais devient vite fastidieux... !!
Aspects techniques : choix de la solution de partage de fichier et ports utilisés
•
Plusieurs techniques sont possibles, notamment SAMBA, NFS : nous utiliserons ici NFS qui est plus spécifique au monde Gnu/Linux.
•
Au niveau du réseau, le partage NFS va utiliser les ports 2049 (nfs) et 111 (rpcbind)
Installation des paquets nécessaire
•
Pour la suite, se connecter au mini-PC en accès VNC à partir du poste fixe.
•
On commence donc par installer les paquets nécessaire pour transformer le mini-PC en serveur NFS : nfs-kernel-server et nfs-common (est installé en
même temps que nfs-kernel-server). Ce qui donne en ligne de commande :
$ sudo apt-get install nfs-kernel-server nfs-common --yes
Paramétrage du dossier partagé
•
On va partager ici le répertoire /home/user du mini-PC (serveur). On commence par éditer du fichier /etc/exports
$ sudo geany /etc/exports
•
Ajouter dans le fichier exports (pour pouvoir partager sur des réseaux ayant comme racine 192.168.0, .1 ou .2 - à adapter à votre situation) :
# pour avoir tous les droits root :
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 1 / 8
/home/ubuntu 192.168.0.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check) # autorise acces par client 192.168.0.x en lecture / ecriture
/home/ubuntu 192.168.1.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check) # autorise acces par client 192.168.1.x en lecture / ecriture
/home/ubuntu 192.168.2.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check) # autorise acces par client 192.168.2.x en lecture / ecriture
•
Une fois fait, pour que les modifs soient prises en compte, on fait :
$ sudo exportfs -a
•
ou mieux
$ sudo exportfs -ra
•
avec
◦ -a : exporte tous les répertoires
◦ -r : ré-exporte tous les répertoires
Configuration autorisations dans hosts.deny
•
On ouvre hosts.deny et on interdit tout par défaut
$ sudo geany /etc/hosts.deny
•
Ajouter les lignes
#pour partage NFS
# Tout interdire sur portmap, nfsd et mountd
# les autoriser par hosts.allow
portmap:ALL
lockd : ALL
mountd:ALL
rquotad : ALL
statd : ALL
#nfsd:ALL
Configuration autorisations dans hosts.allow
•
On ouvre hosts.allow et on autorise les adresses voulues :
$ sudo geany /etc/hosts.allow
•
On ajoute les lignes :
#partage NFS
#Autoriser ces clients a se connecter avec services portmap, nfsd, moundt
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 2 / 8
portmap:ALL
lockd:192.168.
mountd:192.168.
rquotad:192.168.
statd:192.168.
#nfsd:192.168.
Redémarrage serveur NFS
•
On relance NFS
$ sudo /etc/init.d/nfs-kernel-server reload
•
ou mieux, on redémarre le service :
$ sudo /etc/init.d/nfs-kernel-server restart
+/- Désactivation ipv6
•
Si au démarrage du serveur NFS, on a un message de warning indiquant que nfsd ne supporte pas ipv6. A priori, çà n'a pas d'impact sur ipv4 donc çà doit
marcher. Ceci étant, pour résoudre çà :
•
soit on l'installe en manuel avec :
$ sudo modprobe ipv6
•
soit on charge ipv6 au démarrage avec :
$ sudo geany /etc/modules
•
Ajouter la ligne
ipv6
Vérification
•
Pour vérifier que tout est ok, on peut faire :
$ rpcinfo -p
Récupérer adresse ip du pcDuino
•
Une fois fait, il va suffire de « monter » le répertoire partagé du mini-PC sur le poste client pour pouvoir échanger ou copier/coller des fichiers. On
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 3 / 8
commence par retrouver l'adresse ip du mini-PC avec la commande
$ ifconfig
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 4 / 8
Accéder au partage de fichier depuis le client Gnu/Linux
A présent, on va travailler depuis le poste fixe client.
Attention : la suite de la procédure se passe
sur le poste fixe qui accède au mini-PC
Installation des paquets utiles
•
Installer les paquets : nfs-common (et nfs-server tant qu'on y est... ? )
$ sudo apt-get install nfs-common
Création d'un point de montage sur le client
•
Dans une console, on crée un répertoire pour le montage :
$ sudo mkdir /mnt/nfs
Montage du serveur (le mini-PC) sur le client (le poste fixe)
On utilise ici l'adresse du serveur : 192.168.1.x (à adapter à votre situation) C'est l'adresse obtenue par ifconfig sur le mini-PC. On peut également obtenir cette
adresse par nmap.
$ sudo mount -t nfs 192.168.1.x:/home/ubuntu/ /mnt/nfs
ou
$ sudo mount -t nfs -o rw 192.168.1.x:/home/ubuntu/ /mnt/nfs
Voilà, si pas de message d'erreur, c'est bon... Ne pas oublier le / avant le nom du chemin de montage après l'adresse... et utiliser le même utilisateur que déclaré
sur le mini-PC précédemment +++
A noter, pour automatiser le montage NFS depuis le poste client, on pourra utiliser un sccript comme par exemple :
#!/bin/bash
# script montage NFS
# par XH - Aout 2011
echo "--- script de Montage NFS côté client ---" $disque
read -p "Quelle est l'adresse du serveur NFS (192.168.x.x ou équiv.) ? " adresse #saisie de l'adresse
echo "L'adresse IP du serveur NFS à monter est :" $adresse
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 5 / 8
read -p "Quel est le répertoire du /home du serveur NFS à monter sur le client (/xavier ou /glapbox/Bureau ou équiv) ?" repertoire #saisie du répertoire
echo "Le répertoire du /home du serveur NFS à monter sur le client est :" $repertoire
echo "Le script va monter "$adresse":/home"$repertoire"/ sur /mnt/nfs"
read -p "<OK>" # pour attendre entrée pour continuer
sudo mount -t nfs -o rw $adresse:/home$repertoire/ /mnt/nfs
echo "Opération terminée"
read -p "<OK>" # pour attendre entrée pour sortir
exit 0 ;
Résultat
Une fois fait, on visualise et accède au contenu du mini-PC directement sur le poste fixe comme si on travaillait dessus !
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 6 / 8
En arrière plan le mini-PC avec navigateur de fichier ouvert, en avant plan le répertoire du montage NFS sur le poste fixe :
on accède aux fichiers du mini-PC depuis le poste fixe !
Tests utiles
•
+/- Saisir dans la console pour voir si le montage nfs est bien en place :
$ mount | grep nfs
•
ce qui donne
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.1.3:/home/xavier/ on /mnt/nfs type nfs (rw,addr=192.168.1.3)
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 7 / 8
•
Aller dans le répertoire /mnt/nfs : on doit voir le contenu de RaspberryPi ! On peut dès lors réaliser des échanges de fichiers entre la RaspberryPi
et le PC de contrôle en toute simplicité !
•
On pourra également créer un lanceur sur le bureau du client vers le répertoire /mnt/nfs pour accéder facilement au contenu du répertoire. A noter que pour
ouvrir un dossier à partir d'un lanceur, il faudra faire :
• sous Ubuntu : nautilus /rep
•
sous xubuntu : thunar /rep
Bon à savoir
Si on veut démonter le partage NFS du côté client, dans un terminal on fait :
$ sudo umount /mnt/nfs
Pour résoudre un problème de copier/coller du client vers le serveur NFS (le poste fixe vers le mini-PC), j'ai ouvert le navigateur de fichier en sudo en faisant :
$ gksudo thunar
Puis copier/coller OK en me plaçant dans le rép NFS
Suite à un copier/coller sur le mini-PC à partir du client : problème en exécution. Les fichier copiés appartiennent à root... d'où le problème.
Je suis passé en sudo permanent et placé dans /home/user (sinon on est dans /root)
$ sudo -i
# cd /home/user
# chown -R user .
ce qui fixe user propriétaire de tous les fichiers du home/user et donc ceux qui ont été copiés... et après tout rendre dans l'ordre. Faire sudo – i sinon marche pas..
Le pcDuino : Installation d'un partage de fichier par NFS - Par X. HINAULT – Juin 2013 – www.mon-club-elec.fr – p. 8 / 8

Documents pareils