GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer AutoFS sur Linux

Que vous soyez un administrateur système expérimenté ou simplement un utilisateur régulier, vous avez probablement déjà monté des disques sous Linux.

Les lecteurs peuvent être locaux sur votre machine ou accessibles via le réseau en utilisant le protocole NFS par exemple.

Si vous avez choisi de monter des disques de manière permanente, vous les avez probablement ajoutés à votre fichier fstab.

Heureusement pour vous, il existe un moyen plus efficace et plus économique de monter des disques :en utilisant l'utilitaire AutoFS.

AutoFS est un utilitaire qui monte les lecteurs locaux ou distants uniquement lorsqu'ils sont accessibles :si vous ne les utilisez pas, ils seront automatiquement démontés.

Dans ce didacticiel, vous apprendrez comment vous pouvez installer et configurer AutoFS sur les systèmes Linux.

Prérequis

Avant de commencer, c'est important pour vous pour avoir des privilèges sudo sur votre hôte.

Pour le vérifier, exécutez simplement la commande "sudo" avec l'option "-v" :si vous ne voyez aucune option, vous êtes prêt à partir.

$ sudo -v

Si vous ne disposez pas des privilèges sudo, vous pouvez suivre ce didacticiel pour les hôtes basés sur Debian ou ce didacticiel pour les systèmes basés sur CentOS.

Installation d'AutoFS sur Linux

Avant d'installer l'utilitaire AutoFS, vous devez vous assurer que vos packages sont à jour avec les référentiels.

$ sudo apt-get update

Maintenant que votre système est mis à jour, vous pouvez installer AutoFS en exécutant la commande "apt-get install" avec l'argument "autofs".

$ sudo apt-get install autofs

Lors de l'installation du package AutoFS, le processus d'installation :

  • Créer plusieurs fichiers de configuration dans le répertoire /etc tel que :auto.master, auto.net, auto.misc et ainsi de suite ;
  • Créera le service AutoFS dans systemd ;
  • Ajouter le "montage automatique ” dans votre fichier “nsswitch.conf” et liez-le aux “fichiers "source

Juste après l'installation, assurez-vous que le service AutoFS est en cours d'exécution avec la commande "systemctl status"

$ sudo systemctl status autofs

Vous pouvez également activer le service AutoFS pour qu'il soit exécuté au démarrage

$ sudo systemctl enable autofs

Maintenant qu'AutoFS est correctement installé sur votre système, voyons comment vous pouvez commencer à créer votre première carte.

Fonctionnement d'AutoFS sous Linux

"Cartes ” sont un concept clé en matière d'AutoFS.

Dans AutoFS, vous mappez des points de montage avec des fichiers (qui s'appelle une carte indirecte) ou un point de montage avec un emplacement ou un appareil.

Dans sa configuration par défaut, AutoFS commencera par lire les cartes définies dans le fichier autofs.master du répertoire /etc.

À partir de là, il démarrera un fil pour tous les points de montage définis dans les fichiers de carte définis dans le fichier maître.

Le démarrage d'un thread ne signifie pas que le point de montage est monté lorsque vous démarrez AutoFS pour la première fois :il ne sera monté que lors de l'accès.

Par défaut, après cinq minutes d'inactivité, AutoFS démontera (ou démontera) les points de montage qui ne sont plus utilisés.

Remarque :les paramètres de configuration pour AutoFS sont disponibles dans le /etc/autofs.conf

Création de votre premier fichier de carte automatique

Maintenant que vous avez une idée du fonctionnement d'AutoFS, il est temps pour vous de commencer à créer votre toute première carte AutoFS .

Dans le répertoire /etc, créez un nouveau fichier de carte nommé "auto.example ".

$ sudo touch /etc/auto.example

Le but de ce fichier map sera de monter un partage NFS situé sur un ordinateur du réseau.

Le partage NFS est situé à l'adresse IP 192.168.178.29/24 sur le réseau local et il exporte un lecteur situé à /var/share.

Avant d'essayer de monter automatiquement le partage NFS, il est recommandé d'essayer de le monter manuellement et de vérifier que vous pouvez contacter le serveur distant.

$ ping 192.168.178.29

Créer une carte directe

Le mappage le plus simple que vous pouvez créer à l'aide d'AutoFS s'appelle un mappage direct ou un mappage direct .

Une carte directe associe directement un point de montage à un emplacement (par exemple, un emplacement NFS)

Par exemple, supposons que vous souhaitiez monter un partage NFS au démarrage sur le répertoire /tmp.

Pour créer une carte directe, modifiez votre "auto.example ” fichier et y ajouter le contenu suivant :

# Creating a direct map with AutoFS

# <mountpoint>    <options>    <remote_ip>:<location>   

/tmp              -fstype=nfs  192.168.178.29:/var/share

Maintenant, vous devrez ajouter la carte directe à votre "auto.master ” fichier.

Pour spécifier que vous faites référence à une carte directe, vous devez utiliser la notation "-"

# Content of the auto.master file

/-    auto.example

Maintenant que votre fichier maître est modifié, vous pouvez redémarrer le service AutoFS pour que les modifications soient effectives.

$ sudo systemctl restart autofs

$ cd /tmp

Félicitations, vous devriez maintenant pouvoir accéder à vos fichiers via NFS via le mappage direct.

Créer un mapping indirect

Maintenant que vous avez découvert les mappages directs, voyons comment vous pouvez utiliser les mappages indirects pour monter un emplacement distant sur votre système de fichiers.

Les mappages indirects utilisent la même syntaxe que les mappages directs avec une petite différence :au lieu de monter des emplacements directement sur le point de montage, vous le montez à un emplacement dans ce point de montage.

Pour le comprendre, créez un fichier nommé "auto.nfs ” et collez-y le contenu suivant

nfs    -fstype=nfs  192.168.178.29:/var/share

Comme vous pouvez le voir, la première colonne a changé :dans une carte directe, vous utilisez le chemin vers le point de montage (par exemple /tmp), mais avec une carte indirecte vous spécifiez la clé .

La clé représentera le nom du répertoire situé dans le répertoire du point de montage.

Modifiez votre fichier "auto.master" et ajoutez-y le contenu suivant

/tmp   /etc/auto.nfs

Redémarrez votre service AutoFS et accédez au répertoire "tmp"

$ sudo systemctl restart autofs

$ cd /tmp

Par défaut, rien ne s'affichera si vous listez le contenu de ce répertoire :rappelez-vous, AutoFS ne montera les répertoires que lorsqu'ils seront accédés.

Pour qu'AutoFS monte le répertoire, accédez au répertoire nommé d'après la clé que vous avez spécifiée dans le fichier "auto.nfs" (appelé "nfs" dans ce cas)

$ cd nfs

Génial!

Votre point de montage est maintenant actif et vous pouvez commencer à parcourir votre répertoire.

Mappage des répertoires personnels distants

Maintenant que vous en savez un peu plus sur les mappings directs et indirects, vous vous posez peut-être une question :quel est l'intérêt d'avoir un mapping indirect quand on peut simplement cartographier des lieux directement ?

Pour être utiles, les cartes indirectes sont destinées à être utilisées avec des caractères génériques.

L'un des principaux cas d'utilisation de l'utilitaire AutoFS est de pouvoir monter des répertoires personnels à distance.

Cependant, comme les noms d'utilisateur changent d'un utilisateur à l'autre, vous ne pourrez pas avoir un fichier de carte propre et agréable, vous devrez mapper chaque utilisateur de manière très redondante.

# Without wildcards, you have very redundant map files

/home/antoine  <ip>:/home/antoine
/home/schkn    <ip>:/home/schkn
/home/devconnected <ip>:/home/devconnected

Heureusement pour vous, il existe une syntaxe qui vous permet de créer dynamiquement des répertoires en fonction de ce qui est disponible sur le serveur.

Pour illustrer cela, créez un nouveau fichier nommé "auto.home ” dans votre /etc répertoire et commencez à le modifier.

# Content of auto.home

*    <ip>:/home/&

Dans ce cas, il y a deux jokers et cela signifie simplement que tous les répertoires trouvés dans le répertoire /home sur le serveur seront mappés vers un répertoire du même nom sur le client.

Pour illustrer cela, supposons que nous ayons un serveur NFS fonctionnant sur l'adresse IP 192.168.178.29 et qu'il contienne tous les répertoires personnels de nos utilisateurs.

# Content of auto.home

*   192.168.178.29:/home/&

Enregistrez votre fichier et commencez à éditer votre fichier auto.master afin de créer votre mapping indirect

$ sudo nano /etc/auto.master

# Content of auto.master

/home     /etc/auto.home

Enregistrez votre fichier maître et redémarrez votre service AutoFS pour que les modifications soient appliquées.

$ sudo systemctl restart autofs

Maintenant, vous pouvez vous diriger vers le répertoire /home et vous devriez pouvoir voir les répertoires correctement montés pour les utilisateurs.

Note :si vous ne voyez rien dans le répertoire, n'oubliez pas que vous devrez peut-être accéder au répertoire une fois pour qu'il soit monté par AutoFS

Cartographier et découvrir les hôtes sur votre réseau

Si vous avez prêté attention au fichier auto.master, vous avez probablement remarqué qu'il y a une entrée pour le /net répertoire avec une valeur "-hosts ".

Le paramètre "-hosts" est censé représenter toutes les entrées définies dans le fichier /etc/hosts.

Pour rappel, le fichier "hosts" peut être vu comme un résolveur DNS simple et local qui associe un ensemble d'IP à des noms d'hôte.

Par exemple, définissons une entrée pour le serveur NFS dans le fichier /etc/hosts en renseignant l'adresse IP et le nom d'hôte de la machine.

Tout d'abord, assurez-vous que certains répertoires sont exportés sur le serveur en exécutant la commande "showmount" sur le client.

$ sudo showmount -e <server>

Maintenant que vous vous êtes assuré que certains répertoires sont exportés, accédez à votre fichier "auto.master" dans /etc et ajoutez la ligne suivante.

# Content of auto.master

/net   -hosts

Enregistrez votre fichier et redémarrez votre service AutoFS pour que les modifications soient appliquées.

$ sudo systemctl restart autofs

C'est ça!

Votre partage NFS devrait maintenant être accessible dans le répertoire /net sous un répertoire nommé d'après le nom d'hôte de votre serveur.

$ cd /net/<server_name>

$ cd /net/<server_ip>

Remarque :rappelez-vous qu'il vous faudra naviguer directement dans le répertoire pour qu'il soit monté. Vous ne le verrez pas en listant simplement le répertoire /net sur le premier montage.

Dépannage

Dans certains cas, vous pouvez rencontrer des problèmes lors de la configuration d'AutoFS :lorsqu'un appareil est occupé ou lorsque vous ne parvenez pas à contacter un hôte distant par exemple.

  • monter/démonter :la cible est occupée

Comme Linux est un système multi-utilisateurs, certains utilisateurs peuvent parcourir certains emplacements que vous essayez de monter ou de démonter (en utilisant ou non AutoFS)

Si vous voulez savoir qui navigue dans le dossier ou qui utilise un fichier, vous devez utiliser la commande "lsof".

$ lsof +D <directory>
$ lsof <file>

Note :l'option "+D" est utilisée afin de lister qui utilise la ressource de manière récursive.

  • showmount se bloque lors de la configuration de la découverte d'hôtes

Si vous avez essayé de configurer la découverte d'hôtes à l'aide du paramètre "-hosts", vous avez peut-être vérifié que vos hôtes distants sont accessibles à l'aide de la commande "showmount".

Cependant, dans certains cas, la commande "showmount" se bloque simplement car elle est incapable de contacter le serveur distant.

La plupart du temps, le pare-feu du serveur bloque les requêtes faites par le client.

Si vous avez accès au serveur, vous essayez d'inspecter les journaux afin de voir si le pare-feu (UFW par exemple) bloque les requêtes ou non.

  • Débogage à l'aide de l'utilitaire de montage automatique

Sur les distributions récentes, l'utilitaire autofs est installé en tant que service systemd.

Par conséquent, vous pouvez inspecter les journaux autofs en utilisant la commande "journalctl".

$ sudo journalctl -u autofs.service

Vous pouvez également utiliser l'utilitaire "automount" afin de déboguer les montages automatiques effectués par le service.

$ sudo systemctl stop autofs

$ sudo automount -f -v

Conclusion

Dans ce didacticiel, vous avez découvert l'utilitaire AutoFS :son fonctionnement et les différences entre les cartes directes et indirectes.

Vous avez également appris qu'il peut être configuré afin de configurer la découverte d'hôtes :prêt à l'emploi, vous pouvez vous connecter à tous les partages NFS de votre réseau local, ce qui est un outil très puissant.

Enfin, vous avez vu comment créer des cartes indirectes afin de créer automatiquement des répertoires personnels à la volée.

Si vous êtes intéressé par l'administration système Linux, nous avons une section complète qui lui est dédiée, alors n'hésitez pas à y jeter un œil !


Linux
  1. Comment installer Python sur Linux

  2. Comment installer Java sur Linux

  3. Comment installer NodeJS sur Linux

  4. Comment installer FFmpeg sous Linux

  5. Comment installer PIP sous Linux

Comment installer Bashtop sous Linux

Comment installer Helm sur Linux

Comment installer PuTTY sur Linux

Comment installer Diskonaut sur Linux

Comment installer GoAccess sur Linux

Comment installer Overlord sur Linux