Bon je galère un poil là je me suis appuyer sur ce script pour une bonne base
http://www.debian-fr.org/automount-en-regles-udev-uniquement-t24845.html#p310289
J’ai pour l’instant commencer sérieusement la lecture de ceci :
https://wiki.archlinux.org/index.php/Udev#Auto_mounting_USB_devices
En particulier la partie sur le chiffrement et la prise en charge des cartes SD.
Je rencontre un souci pour l’instant assez ennuyeux mais surement pas grave depuis le début d’après midi avec le premier script de mougly.
Les clés USB monte bien mais ne se démonte pas bien, de plus les entrées dans le fstab persistent ( j’ai surement dût faire une énorme gaffe c’est pour ça que j’attaque la relecture complète ).
Et je cherche aussi le moyen pour pouvoir “binder” le montage et le démontage de partition sur disque dur USB.
Je repasserai ce soir ( petite tête blonde envahissante à l’heure actuelle ) pour vous dire ce qu’il en est si jamais des gens ont des idées d’où ça peut provenir n’hésitez pas j’aimerai bien aboutir rapidement sur cet “automont” de clé USB et de disque dur.
- EDIT - Ouhps le Tajine m’a cloué au canapé hier soir
Bon j’ai fait une relecture te comparer un peut au script de mougly et j’ai donc bel et bien cerner le souci, le “fstab” n’est pas re écris au démontage de la clé USB du coup après plusieurs branchement de la même clé USB mon fstab est littéralement pollué .
Du coup ça me saoul je vois pas où ça coince dans le script
[code]#!/bin/bash
date >> /tmp/dev_usb
echo $ACTION >> /tmp/dev_usb
echo $1 $ID_FS_TYPE $ID_TYPE >> /tmp/dev_usb
echo $ID_SERIAL >> /tmp/dev_usb
echo echo $mntpnt | tr ' ' '_'
$mntopt >> /tmp/dev_usb
echo “----------”>> /tmp/dev_usb
#Ajustement pour les noms avec espace
v_=$IFS
IFS=’
’
Action ADD
if [ “$ACTION” = “add” ] ; then
NOM=$1_$ID_SERIAL
DEVICE=/dev/$1
if [ “$ID_FS_TYPE” = “” ] ; then
ID_FS_TYPE=auto
fi
while [ -f /tmp/__insertusb ] ; do /bin/true ; done
touch /tmp/__insertusb
mkdir -p echo $mntpnt | tr ' ' '_'
echo “#$NOM” >> /etc/fstab
if grep -q "$DEVICE " /etc/fstab > /dev/null ; then
echo -n “#” >> /etc/fstab
fi
if [ $ID_FS_TYPE = ntfs ] ; then
ID_FS_TYPE=ntfs-3g
chmod 777 echo $mntpnt | tr ' ' '_'
fi
echo $DEVICE echo $mntpnt | tr ' ' '_'
$ID_FS_TYPE users,defaults,uid=1000,gid=1000 0 0 >> /etc/fstab
/bin/mount $DEVICE
rm /tmp/__insertusb
fi
Action REMOVE
if [ “$ACTION” = “remove” ] ; then
NOM=$1_$ID_SERIAL
DEVICE=/dev/$1
while [ -f /tmp/fstab_mod ] ; do /bin/true ; done
touch /tmp/fstab_mod
/bin/umount -f echo $mntpnt | tr ' ' '_'
/bin/rmdir echo $mntpnt | tr ' ' '_'
echo “sed -e '/^#”$NOM"/{N;d}’ /etc/fstab > /tmp/fstab_$1"> /tmp/edite.$1
cp /etc/fstab /tmp/fstab.$1
sh /tmp/edite.$1
LISTE=`cat /etc/fstab | grep " /home/clochette/media" | awk '{print $2}' | sed -e 's|/home/clochette/media/||' | sort -u`
cp /etc/fstab /tmp/fstab
for device in $LISTE ; do
if [ ! -d /home/batbat/media/$device ] ; then
grep -v $device’ ’ /tmp/fstab | grep -v $device’’ > /tmp/fstab$device
cp /tmp/fstab_$device /tmp/fstab
fi
done
if [ ls -l /tmp/fstab_$device | awk '{print $5}'
= “0” ] ; then
touch /tmp/panique.$1
else
mv /tmp/fstab_$device /etc/fstab
fi
rm /tmp/fstab_mod
fi
IFS=$v_
exit 0[/code]
les règles associé :
[code]# ne jamais laisser une variable d’environnement vide
ACTION==“add”, ENV{mntopt}="-t auto"
ACTION==“add”, ENV{mntpnt}="/home/clochette/media/%k"
ACTION==“add”, ENV{mntname}=“usb_disk”
détermination du point de montage et du FS
ACTION==“add”, ENV{ID_BUS}==“usb”, ENV{SUBSYSTEM}==“block”, ENV{ID_FS_TYPE}!="" , PROGRAM=="/sbin/blkid -c /dev/null -s TYPE -o value %N", RESULT==“vfat”,ENV{mntopt}="-t vfat -o uid=1000"
ACTION==“add”, ENV{ID_BUS}==“usb”, ENV{SUBSYSTEM}==“block”, ENV{ID_FS_TYPE}!="" , PROGRAM=="/sbin/blkid -c /dev/null -s LABEL -o value %N", RESULT!="", ENV{mntname}="%c",ENV{mntpnt}="/home/clochette/media/$env{mntname}",
on vérifie que le point de montage n’est pas déjà utilisé
s’il l’est on redéfinit le point de montage à /home/clochette/media/%k qui est unique
ACTION==“add”, PROGRAM!="/bin/mountpoint $env{mntpnt}", GOTO=“MONTER”
ACTION==“add”, ENV{mntpnt}="/home/clochette/media/%k", ENV{mntname}=“usb_disk”
Quoi faire
LABEL=“MONTER”
ACTION==“add”, ENV{ID_BUS}==“usb”, ENV{SUBSYSTEM}==“block”, ENV{ID_FS_TYPE}!="", RUN+="/lib/udev/usb_fstab.sh %k"
ACTION==“remove”, ENV{ID_BUS}==“usb”, ENV{SUBSYSTEM}==“block”, ENV{ID_FS_TYPE}!="" , RUN+="/lib/udev/usb_fstab.sh %k"[/code]
d’où pourrait provenir ce souci