Sommaire Carte Index Recherche Nouvelles Archives Liens A propos
[Barre Superieure]
[Barre Inferieure]
Ce document est disponible en: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
par Frédéric Raynal

L´auteur:
Frédéric Raynal prépare une thèse en informatique à l'INRIA. Il aime lire (aussi bien Tolkien que Balzac) et écouter de la musique (de Mozart à Philip Glass et de Led Zeppelin à Massive Attack en passant par Björk et Boris Vian, mais en évitant soigneusement le rap, la techno et quelques autres bruits ;-)
Sommaire:

automount et autofs

Résumé:

automount et autofs forment un outil puissant qui facilite la gestion des systèmes de fichiers. Ils permettent à tous les utilisateurs d'une machine de monter différents systèmes de fichiers.



Introduction

En fonction du support physique (disques durs, disquettes, cdrom, ...) et/ou du système d'exploitation, l'écriture des données (pas leur signification) diffère : c'est ce qu'on appelle le système de fichiers (que les experts et les puristes me pardonnent ces raccourcis ;-) Le fichier /etc/fstab contient les points de montage en dur qui seront installés dès le démarrage de la machine. Chaque point correspond à un emplacement et un système de fichiers (par exemple, une des partitions de votre disque dur). Ensuite, si on veut accéder à d'autres points, seul root peut utiliser la commande mount. Il doit spécifier le point le montage, ce qu'il veut monter et, éventuellement, le système de fichiers ainsi que quelques options. Un utilisateur quelconque, n'ayant (heureusement ;-) pas les mêmes privilèges, ne pourra pas accéder à toutes les données.

Les pages man de mount et fstab donnent une description plus précise et complète de ces commandes et concepts.

La paire (automount, autofs) permet à l'administrateur de configurer tous les systèmes de fichiers auxquels une machine peut accéder, de la même manière qu'il le ferait en utilisant mount. L'utilisateur peut alors accéder à ces systèmes de manière entièrement transparente, sans se soucier de savoir comment le noyau va accéder à sa requête.

Descriptions

Le couple (automount, autofs) peut être vu comme le modèle client/serveur utilisé en réseau. Un serveur tourne, attendant un requête. Lorsqu'il en arrive une, le serveur se duplique, une partie répondant à la requête et l'autre attendant de nouvelles requêtes.

Ici, autofs joue le rôle du serveur qui attend et automount celui du "serveur dupliqué". Les requêtes sont elles contenues dans des fichiers de configuration.

 

autofs

Généralement, autofs est lancé dès le démarrage du système et arrêté à l'extinction (shutdown ou reboot). Il est toutefois possible à l'administrateur de le lancer ou l'arrêter "manuellement".

autofs dispose de 4 options :

  1. start :
  2. comme son nom l'indique, démarre le processus. Lors du démarrage, autofs recherche des "maps" (des cartes qui spécifient les points de montage) dans le fichier de configuration /etc/auto.master. Il lance alors un automount par point de montage. Ensuite, autofs recherche les maps de NIS (on ne parlera pas plus des yellow pages dans cet article) ;
  3. stop : arrête l'autofs et tous les automount ;
  4. status : affiche la configuration actuelle ainsi que tous les automount qui tournent ;
  5. reload : relit la map auto.master et tue les automount qui n'apparaissent plus dedans puis démarre ceux pour de nouveaux points de montage. Il faut noter que les modifications apportées dans les maps sont prises en considération dès l'opération suivante. En revanche, celles apportées dans auto.master nécessitent de relancer autofs.

En résumé, autofs n'est rien d'autre qu'un script qui consulte auto.master avant de démarrer les automount associés à chaque point de montage qui y est décrit.  

automount

automout fonctionne à partir d'un point de montage initial (celui trouvé par autofs qui déclenche automount) et d'une nouvelle map qui va décrire les possibilités de ce point de montage intial. La map associée à l'automount va contenir les informations nécessaires à un usage (invisible pour l'utilisateur) de la commande mount pour monter automatiquement (d'où son nom ;-) les systèmes de fichiers à partir de ce point de montage. Ce montage automatique est effectué dès qu'une opération accède à quelque chose de valide après le point de montage.

Les systèmes de fichiers sont ensuite démontés automatiquement après une certaine période d'inactivité (le time out par défaut est fixé à 5 minutes).

Configuration

La configuration se fait à l'aide de 2 types de fichiers. Le fichier auto.master, qui contient les points de montage, et un fichier par point de montage qui est en fait une nouvelle map, détaillant les options systèmes de ce point de montage.  

Le fichier /etc/auto.master

Nous détaillons ici les maps qui suivent le format de Sun. Il existe un autre format (hesiod) auquel ce qui suit ne peut s'appliquer.

C'est le fichier principal pour autofs. Chaque ligne décrit un point de montage et fait référence au fichier qui contient les descriptions des systèmes de fichiers qui doivent être montés à ce point. Enfin, un dernier champ permet de transmettre des options au mount qui sera exécuté

La syntaxe d'une ligne est :
point-de-montage map-pour-l-automount-associé [ -options-de-montage-séparées-par-des-virgules ]

Exemple :
/home /etc/auto.home
/misc /etc/auto.misc --timeout 60
/mnt yp:mnt.map -intr,nosuid,nodev

Ceci configure 3 points de montage, /home, /misc et /mnt. Pour accéder à des fichier dans /misc, automount va lire le fichier /etc/auto.misc pour trouver les options de montages et la clé associée au système de fichiers.
Les 2 dernières lignes contiennent des options. Celles-ci sont celles décrites dans la page man de mount et sont totalement standards. Comme l'illustre la dernière ligne de l'exemple, autofs et automount sont totalement compatibles avec les maps des yellow pages (NIS et autres).

 

Les maps pour automount

La syntaxe de ce fichier est presque la même que pour le auto.master (c'est normal vu que c'est aussi une map ;-) :
clé [ -options-de-montage-séparées-par-des-virgules ] emplacement

La clé représente un identificateur, sous le point de montage, pour le système de fichiers. L'emplacement est l'emplacement physique réel.

Reprenons l'exemple précédent avec un fichier /etc/auto.misc :

kernel -ro,soft,intr ftp.kernel.org:/pub/linux
cdrom -fstype=iso9660,ro :/dev/cdrom
floppy -fstype=auto :/dev/fd0
windoz -fstype=vfat :/dev/hda1

Le chemin absolu vers un fichier est donc :
/point-de-montage/clé/chemin/fichier

Ainsi, pour lire le fichier config.sys de mon Windows, il ne me reste plus qu'à exécuter "cat /misc/windoz/config.sys", ce qui accède au device /dev/hda1, en le considérant comme un système de fichier FAT étendue.

Notons que la première ligne du fichier fait référence à un répertoire exporté via NFS (juste pour montrer la souplesse d'utilisation d'automount et autofs ;-)

Derniers détails

Tout d'abord, il faut noter que, lorsqu'on essaye d'atteindre un fichier sur une des maps, la complétion du chemin n'a pas son comportement habituel. Pour éviter de taper les chemins entiers, on utilise couramment la complétion automatique à l'aide de la touche TAB. Celle-ci ne fonctionne pas tant que la map n'est pas chargée. En revenant sur l'exemple précédent, si je veux encore accéder au même config.sys et que je fais :
%1 > cat /misc/ <TAB >
Je n'aurai droit qu'à un "beep" de déception car il ne trouvera rien à compléter (attention, ne pas le confondre avec le "beep" de contentement provoqué lorsqu'il y a plusieurs choix - pour les distinguer, il faut faire un <CTRL+D> et on voit apparaître toutes les complétions possibles, s'il y en a).

Ce comportement est, en fait, tout à fait normal. En effet, lorsqu'on cherche à utiliser la complétion, le contenu du répertoire est examiné puis on regarde ce qui correspond aux symboles déjà fournis. Or, dans le cas de l'automount, le répertoire /misc est vide puisque justement, le but est de monter le système de fichiers uniquement lorsqu'on y accède. En revanche, on pourra utiliser la complétion tant que le point de montage n'aura pas été annulée automatiquement (i.e. dès qu'aucune ressource ne sera plus requise de ce système de fichiers et que le time out sera écoulé).

Regardons le résultat d'un mount avant et après l'accès à une map, en considérant le /etc/auto.master précédant, d'un simple mount :

/dev/hda6 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda9 on /home type ext2 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
automount(pid362) on /home type autofs (rw,fd=5,pgrp=362,minproto=2,maxproto=3)
automount(pid364) on /misc type autofs (rw,fd=5,pgrp=364,minproto=2,maxproto=3)
automount(pid366) on /mnt type autofs (rw,fd=5,pgrp=366,minproto=2,maxproto=3)

On constate bien la présence d'un démon (deamon - grosso modo, un processus système) par point de montage. De plus, chaque "type" associé est "autofs". Après avoir enfin visualisé mon /misc/windoz/config.sys, voici le résultat du mount :

/dev/hda6 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda9 on /home type ext2 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
automount(pid362) on /home type autofs (rw,fd=5,pgrp=362,minproto=2,maxproto=3)
automount(pid364) on /misc type autofs (rw,fd=5,pgrp=364,minproto=2,maxproto=3)
automount(pid366) on /mnt type autofs (rw,fd=5,pgrp=366,minproto=2,maxproto=3)
/dev/hda1 on /misc/windoz type vfat (rw)

La dernière ligne comporte bien ce que nous espérions :) Si nous attendons 60 secondes sans accéder à ce point de montage, il disparaîtra lors du prochain mount.

Conclusion

Sur un ordinateur personnel muni de Linux et, par exemple, de Windows, automount et autofs ne servent pas à grand chose, sauf à éviter de se logger tout le temps en root (ce qui est, tout compte fait, déjà pas si mauvais). En effet, il suffit de définir une map pour les partitions FAT ou FAT32 et accéder ainsi tranquillement aux données.

Dans le cas d'un réseau, la souplesse est encore plus grande puisque, en conjugaison avec les yellow pages (que nous verrons dans une prochaine série d'articles) et NFS entre autres, on peut accéder partout sans se préoccuper de savoir où nous sommes physiquement.

Correctif pour la RedHat 6.2:

Par rapport à ce qui est précisé dans un précédent article de LM sur automount et autofs, la syntaxe du fichier /etc/auto.master a changé dans la RedHat 6.2. On peut en effet préciser des points de montage dynamiques via NIS à autofs. Par exemple, pour utiliser la map NIS auto.map , au point de montage /misc, la page man spécifie la syntaxe suivante :

/misc    yp:auto.map    -intr,nosuid,nodev

Toutefois, l'absence du yp: ne semblant pas poser de problème, ma machine était configurée ainsi :

/misc     auto.map    -intr,nosuid,nodevntr,nosuid,nodev

En fait, cette syntaxe ne fonctionne plus. Auparavant, le yp: était optionnel. Maintenant, la syntaxe correcte est :

/misc    yp auto.map    --intr,nosuid,nodevntr,nosuid,nodev

Rappelons qu'un simple appel à mount permet de voir les points de montage et les maps associées, ce qui permet de vérifier que tout tourne convenablement.

 

Discussion sur cet article

Chaque article possède sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d´autres lecteurs:
 page de discussion 

Site Web maintenu par l´équipe d´édition LinuxFocus
© Frédéric Raynal, FDL
LinuxFocus.org

Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus

2001-03-18, generated by lfparser version 2.8