Page suivante Page précédente Table des matières
1. Didacticiel autofs rapide
Par Mark Nielsen
1.1 Autofs, c'est quoi ?
Autofs utilise automount pour monter (mount) les unités de cdrom et les unités de disquettes (et d'autres choses) sur votre ordinateur quand vous en avez besoin et les démontent (umount) lorsqu'ils ne sont plus utilisés. Que sont mount et umount ? Mount et umount sont des programmes qui connectent (montent) une unité périphérique à une entrée de répertoire. par exemple, la commande suivante connectera la première unité de disquette (unité A: en termes DOS) au répertoire "/mnt/floppy", et ainsi, à chaque fois, vous accéderez à "/mnt/floppy" pour accéder à l'unité de disquettes.
et la commande suivante démonte (déconnecte) ou libère l'unité de disquettes qui devient inutilisable.
mount /dev/fd0 /mnt/floppySous DOS, vous pouvez accéder à votre unité de disquettes quand c'est nécessaire. C'est ce qu'espèrent les utilisateurs normaux. Ils ne veulent pas avoir à monter et à démonter leur unité car cela faire perdre du temps et on peut ne pas le faire correctement.
umount /dev/fd0Je suppose que votre unité de cdrom est "/dev/cdrom" et "dev/fd0" celle de disquettes. Je suppose également que vous sauvegarderez votre fichier "/etc/auto.master". Utilisez le script suivant pour créer trois fichier et relancer autofs. Connectez vous en tant que "root", allez dans votre répertoire initial (home), copiez tout ce qu'il y a entre les deux lignes qui suivent dans un fichier nommé "CreateAutofs.script" et exécutez le script avec la commande :
_______________________________________________________________________________
source CreateAutofs.script_______________________________________________________________________________
cd echo "Veuillez ignorer toute erreur lors de la création des répertoires" ### Assurons nous que les deux répertoires existent, ignorons les erreurs mkdir /mnt/floppy mkdir /mnt/cdrom ### Sauvegardons les fichiers auto au cas ou ils ne le seraient pas mv /etc/auto.master /etc/auto.master_old mv /etc/auto.floppy /etc/auto.floppy_old mv /etc/auto.cdrom /etc/auto.cdrom_old ### Créer les fichiers pour autofs echo "/mnt/cdrom /etc/auto.cdrom --timeout 10" > /etc/auto.master echo "/mnt/floppy /etc/auto.floppy --timeout 1" >> /etc/auto.master echo "floppy -user,suid,fstype=msdos :/dev/fd0" > /etc/auto.floppy echo "cdrom -fstype=iso9660,ro :/dev/cdrom" > /etc/auto.cdrom ### Créer les liens pour l'unité de disquettes et pour l'unité cdrom ln -s /mnt/floppy/floppy a: ln -s /mnt/cdrom/cdrom d: ln -s /mnt/floppy/floppy floppy ln -s /mnt/cdrom/cdrom cdrom ### Relancez autofs, vous pourriez avoir à redémarrer le système cd /etc/rc.d/init.d ./autofs restart ### Si cela ne marche pas, il faut que vous redémarriez le système ### Essayez "./autofs start" si le redémarrage signale que autofs n'a pas #### été lancé cdEn final, vous devriez obtenir quelque chose comme ce qui suit si tout s'est bien passé
Maintenant insérez une disquette formatée MSDOS et un cdrom puis exécutez les commandes :
Start /usr/sbin/automount --timeout 10 /mnt/cdrom file /etc/auto.cdrom Start /usr/sbin/automount --timeout 1 /mnt/floppy file /etc/auto.floppypour voir s'ils contiennent quelque chose. Avec un peu de chance vous ne devriez pas avoir de messages d'erreur.
ls a: ls d:Personnellement, mon fichier /etc/auto.floppy ressemble à ceci :
et mon fichier /etc/auto.cdrom à :
floppy -fstype=auto,defaults,user,suid :/dev/fd0La raison pour laquelle j'ai donné des valeurs prudentes dans le script vient du fait que ces valeurs peuvent engendrer des problèmes de sécurité. Comme je suis la seule personne à utiliser mon ordinateur, je tenais à avoir un accès sans restriction à l'unité de disquettes et à celle de cdrom. De plus, -fstype=auto semble ne pas fonctionner tout à fait correctement lorsque le disque est formaté MSDOS, mais marche parfaitement avec ext2. "-fstype=auto" essaye de détecter automatiquement le format du fichier.
cdrom -fstype=iso9660,user,suid :/dev/cdromAvez-vous noté que le délai d'attente de l'unité de disquettes est de 1 seconde ?. Cela signifie qu'après l'extinction de la LED de l'unité de disquettes, celle-ci est démontée et l'utilisateur normal peut enlever sa disquette sans que "quelque chose de grave ne survienne". J'ai donné une valeur de 10 secondes comme délai d'attente pour l'unité de cdrom car son fonctionnement n'était pas très bon en utilisant 1 seconde. Je me suis aperçu que l'unité de cdrom ne disposait pas d'un temps suffisant pour "se réveiller" avant d'être arrêtée. Vous pouvez tester quelle doit être la valeur de ce délai d'attente pour votre unité de cdrom.
Pour obtenir des informations complémentaires sur autofs, utilisez les commandes :
et consultez dans le répertoire
man 5 autofs man autofs"usr/doc"
le répertoire"autofs-0.3.14"
ou quelque chose d'approchant.1.2 Maintenant, un mot d'explication.
Bien, voici mon explication succincte de ce qui se passe. Tout d'abord, consultez les pages de manuel et toutes les documentations.
Votre script
"/etc/rc.d/init.d/autofs"
va d'abord consulter"/etc/auto.master"
. Ce fichier contient habituellement trois choses sur chacune de ses lignes. Il y a le répertoire sur lequel tous les mount seront effectués. Puis, à côté de cette information, on trouve le nom du fichier qui contient l' (les) information(s) concernant les unités que vous voulez monter. Nous appellerons ces fichiers "fichiers annexes". À côté de ce nom, on trouve la valeur du délai d'attente de x secondes d'inactivité que vous souhaitez voir s'écouler. Après ce délai d'attente de x secondes d'inactivité toutes les unités spécifiées dans les fichiers annexes seront libérées ou "démontées".Les fichiers annexes peuvent avoir plus d'une entrée, mais pour mes besoins particuliers, je ne l'ai pas fait. Vous en trouverez l'explication ci-dessous. Les fichiers annexes peuvent être nommés comme vous le désirez. Ils possèdent également trois valeur pour chaque entrée. La première valeur est le "pseudo" répertoire. J'y reviendrai plus tard. La seconde valeur est constituée des options de montage. La troisième valeur donne l'unité (comme
"/dev/fd0"
désigne l'unité de disquettes) à laquelle le "pseudo" répertoire est connecté.Le "pseudo" répertoire se situe dans le répertoire qui est défini dans
"/etc/auto.master"
. Lorsque quelqu'un veut accéder à ce "pseudo" répertoire, il est redirigé vers le périphérique que vous avez spécifié. Par exemple, le script ci-dessus va créer un lien appeléa:
qui, si vous en demandez le contenu avec la commande"ls a:"
va vous donner la liste des fichiers contenus sur la disquette. Ou bien,"ls /mnt/floppy/floppy"
pourrait constituer une commande similaire. Mais si vous essayez la commande"ls /mnt/floppy"
, vous n'obtiendrez rien bien que le répertoire"/mnt/floppy/floppy"
existe. C'est parce que"/mnt/floppy/floppy
n'existe pas en tant que fichier ou répertoire, mais, en fait, le système sait que si vous demandez spécialement"/mnt/floppy/floppy"
il doit vous rediriger vers l'unité de disquettes.Maintenant, parlons de la raison pour laquelle je n'ai pas inclus l'unité de disquettes et l'unité cdrom dans le même fichier annexe. Chaque définition dans le fichier
"/etc/auto.master"
possède son propre programme"automount"
qui s'exécute pour lui. Si vous avez plusieurs périphériques gérés par le même programme automount et que l'un d'entre eux tombe en panne, il empêchera les autres de fonctionner. C'est la raison pour laquelle je veux que chaque périphérique en fonctionnement ait son propre programme automount ce qui entraîne qu'il n'y a qu'un périphérique par fichier annexe et par entrée dans le fichier"/etc/auto.master"
_______________________________________________________________________________
Copyright © 1998, Mark Nielsen - Publié dans le n°24 de la Linux Gazette - Janvier 1998.
Adaptation française de Albert-Paul Bouillot
Page suivante Page précédente Table des matières