[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: autofs, program map et option ghost



Personne n'a d'idées ? Il manque des précisions ? S'il vous plait dites moi que quelqu'un a une idée... :)

Bonne soirée à tous.

RTyler

RTyler a écrit :
Bonjour la liste,


j'aimerai avoir un montage automatique de mes ressources NFS et que les règles ne soient pas écrites à l'avance. Pour se faire, j'ai récupérer le script /etc/auto.net livré avec autofs et j'ai tenté de l'adapter (je mets plus bas le script initial puis le mien) afin qu'il me génère une map conforme à ce que je cherche (à savoir j'ai un répertoire Partage sur mon système et je voudrais qu'il monte dedans les partages NFS suivant cette arborescence : NomServeurNFS/NomDossierPartage et non NomServeurNFS/NomCompletDossierPartage (ie je ne veux pas toute l'arborescence du répertoire partagé mais juste son nom) comme dans auto.net .

Par ailleurs je souhaiterai que les répertoires soient visible par avance en graphique de manière à n'avoir pas à taper le nom du répertoire partagé (puisque les répertoires partagés sont susceptible de changer). J'ai donc utilisé l'option --ghost dans auto.master et ai modifié le script auto.net également pour qu'il n'attende aucun argument.

1) Mais voila, cela ne marche pas. Déjà même sans l'option --ghost et sans la modification de l'argument il y a une différence entre auto.net et auto_nfs (le script modifié) : bien que le début soit identique, auto_nfs ne récupère rien dans key...

2) Ensuite, lorsque je veux utiliser l'option ghost et que je fais la modification adéquate (à savoir je remplace key=$1 par key=pwd le montage automatique ne se fait plus. J'ai tenté un pwd>/home/moi/test.txt pour voir ce qui se passait et justement, il ne se passe rien. Le script devrait être appelé quand on accède à Partage/NomServeurNFS mais visiblement il n'en est rien. Il semble attendre que je tape quelque chose pour passer au script un argument.

J'espère que vous aurez des suggestions à me faire parce que là je sèche. D'ailleurs si vous avez une idée également pour qu'à terme je n'ai même pas besoin de spécifier les ordinateurs partageant quelque chose et garder le ghosting cela m'intéresse beaucoup (du genre je vais dans Partage, je vois les ordinateurs de mon réseau connectés, et quand je vais dans leur sous-répertoire respectif je vois les différents partage afférents). Juste une idée me suffirait, ce serait d'ailleurs grandement plus bénéfique pour moi que je mette en pratique tout seul donc un lien me ravirait complètement.

Merci d'avance et bonne journée à tous.

RTyler

Annexes (je ne copie que le nécessaire)

auto.master
--------------------

/home/rtyler/Partage/   /etc/auto_share --timeout=60 --ghost

auto.net
--------------

#!/bin/bash

# $Id: auto.net,v 1.8 2005/04/05 13:02:09 raven Exp $

# This file must be executable to work! chmod 755!

# Look at what a host is exporting to determine what we can mount.
# This is very simple, but it appears to work surprisingly well

key="$1"

# add "nosymlink" here if you want to suppress symlinking local filesystems
# add "nonstrict" to make it OK for some filesystems to not mount
opts="-fstype=nfs,hard,intr,nodev,nosuid,nonstrict,async"

# Showmount comes in a number of names and varieties.  "showmount" is
# typically an older version which accepts the '--no-headers' flag
# but ignores it.  "kshowmount" is the newer version installed with knfsd,
# which both accepts and acts on the '--no-headers' flag.
#SHOWMOUNT="kshowmount --no-headers -e $key"
#SHOWMOUNT="showmount -e $key | tail -n +2"

for P in /bin /sbin /usr/bin /usr/sbin
do
   for M in showmount kshowmount
   do
       if [ -x $P/$M ]
       then
           SMNT=$P/$M
           break
       fi
   done
done

[ -x $SMNT ] || exit 1

# Newer distributions get this right
SHOWMOUNT="$SMNT --no-headers -e $key"

$SHOWMOUNT | LC_ALL=C sort +0 | \
   awk -v key="$key" -v opts="$opts" -- '
   BEGIN    { ORS=""; first=1 }
{ if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
   END    { if (!first) print "\n"; else exit 1 }
   '

/etc/auto_nfs
---------------------

#!/bin/bash

# $Id: auto.net,v 1.8 2005/04/05 13:02:09 raven Exp $

# This file must be executable to work! chmod 755!

# Look at what a host is exporting to determine what we can mount.
# This is very simple, but it appears to work surprisingly well

#key="$1"
key=pwd

pwd > /home/rtyler/test1.txt

# add "nosymlink" here if you want to suppress symlinking local filesystems
# add "nonstrict" to make it OK for some filesystems to not mount
opts="-fstype=nfs,hard,intr,nodev,nosuid,nonstrict,async"

# Showmount comes in a number of names and varieties.  "showmount" is
# typically an older version which accepts the '--no-headers' flag
# but ignores it.  "kshowmount" is the newer version installed with knfsd,
# which both accepts and acts on the '--no-headers' flag.
#SHOWMOUNT="kshowmount --no-headers -e $key"
#SHOWMOUNT="showmount -e $key | tail -n +2"

for P in /bin /sbin /usr/bin /usr/sbin
do
   for M in showmount kshowmount
   do
       if [ -x $P/$M ]
       then
           SMNT=$P/$M
           break
       fi
   done
done

[ -x $SMNT ] || exit 1

# Newer distributions get this right
SHOWMOUNT="$SMNT --no-headers -e $key"

$SHOWMOUNT | LC_ALL=C sort +0 | \
   awk -v key="$key" -v opts="$opts" -- '
   BEGIN    { ORS=""; first=1 }
       { for(i=length($1); (i>=0) && (substr($1,i,1)!="/"); i--)}
{ if (first) { print opts; first=0 }; print " \\\n\t" substr($1,i+1,length($1)-i), key ":" $1 }
   END    { if (!first) print "\n"; else exit 1 }
   '

/etc/auto_share
--------------------------

Christine    /etc/auto_nfs    --timeout=60 --ghost





Reply to: