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