Une des choses géniales sous Linux est la possibilité de monter n’importe quel système au sein de son arborescence et de pouvoir utiliser cela comme n’importe quel fichier local. Un partage réseau ? Un dossier. Une machine accessible en SFTP ? Un dossier. etc… Sur un SBC avec un espace limité c’est vraiment pratique de pouvoir accéder à son NAS pour stocker des données (par exemple ses enregistrements TV). Ou à l’inverse pour un usage mediacenter de pouvoir accéder à sa librairie. Ce qui est nettement moins intuitif est le comment ajouter ces dossier montés. On peut retrouver la commande mount pour ajouter un dossier à la demande, ajouter une configuration dans /etc/fstab pour que le dossier soit ajouté au démarrage, …
Mais savez-vous qu’il existe un outil qui combien le meilleur de tout ça ? Voici autofs, l’outil parfait pour gérer les partages réseau.
Une fois configuré, autofs va automatiquement monter les dossiers lorsque l’on tente d’y accéder. Mais également démonter les dossiers lorsqu’ils ne sont plus utilisés. Et tenter de remonter un dossier inaccessible suite par exemple à une coupure réseau. Plusieurs partages Samba sur votre NAS ? Pas besoin de les configurer individuellement : une fois le NAS configuré il suffit de descendre dans le dossier que l’on souhaite pour que autofs monte le partage ayant ce nom…
Partage réseau NFS
On commence par s’assurer qu’on dispose des paquets requis
sudo apt install autofs nfs-common
On configure le fichier principal de autofs /etc/auto.master en ajoutant à la fin
/mnt/share /etc/auto.nfs --ghost,--timeout=60
On complète alors le fichier correspondant : /etc/auto.nfs
<nom_partage> -fstype=nfs,rw,nosuid,vers=4 <ip_serveur>:<path_serveur>
Puis on redémarre le service
sudo service autofs restart
Dans cet exemple autofs va créer le dossier <nom_partage> dans /mnt/share et si on tente d’accéder au dossier /mnt/share/<nom_partage> (via un cd ou un ls par exemple) il va tenter de monter le partage ainsi configuré puis la commande fonctionnera comme si de rien n’était.
Partage réseau SMB
Dans ce cas autofs devient encore plus magique.
On vérifie qu’on a tout :
sudo apt install autofs cifs-utils
Dans le fichier /etc/auto.master on ajoute :
/mnt/nas /etc/auto.mnt --ghost,--timeout=30
que l’on complète par le fichier /etc/auto.mnt
* -fstype=cifs,username=<username>,domain=WORKGROUP,password=<password>,rw,uid=1000,gid=1000,file_mode=0666,dir_mode=0777 ://<IP_NAS>/&
Puis on redémarre
sudo service autofs restart
On peut alors par exemple accéder au dossier partagé « Photo » en utilisant le dossier /mnt/nas/Photo. Et si on essaye /mnt/nas/Video autofs essaiera de monter le partage Video et s’il existe (et que le compte configuré a bien les droits d’accès) on y a accès.
Et voilà !
Il est bien sûr possible de spécifier plusieurs partages en ajoutant à chaque fois une ligne dans /etc/autofs.master puis en ajoutant le fichier de conf correspondant
Et si ça coince ?
Comme toujours avec la magie noire quand ça marche c’est génial mais quand ça ne fonctionne pas on est vite bloqué.
Pour investiguer on stoppe le service
sudo service autofs stop
et on lance la commande suivante :
sudo automount -f -v -d
La commande va ainsi loguer ce que fait autofs. En utilisant un deuxième shell (ou via screen par exemple) on tente alors d’accéder au dossier posant problème et on peut voir l’erreur apparaître dans ce log ce qui facilite grandement les investigations.