15 août 2012

Un script Shell pour monter les clés USB au boot

Dans un post antérieur, j'expliquais une façon de monter les clés USB sous Linux sur le même point de montage à chaque fois.

En effet, deux problèmes sont rencontrés avec les clés USB sous Linux (Debian ici):
  • Le device utilisé au mount n'est pas prévisible,
  • Le point de montage s'appelle toujours KINGSTON, en fait le nom du filesystem
Maintenant que l'on a renommé les filesystem dos comme expliqué dans le post cité plus haut, on va monter les clés (cela s'applique évidemment aussi aux disques durs amovibles branchés en USB)  automatiquement au démarrage du système Debian, et ce sans passer par la configuration de Gnome ou de XFCE.

Pour cela, on utilise le script Shell suivant:

$ cat usb-mount.sh

#!/bin/sh
#
# usb-mount.sh
#
# Mount USB keys to /media/LABEL
# where LABEL is the output of the dosfslabel
# command on the corresponding device.
#
MOUNT_OPTS="uid=1000,gid=1000,errors=remount-ro"
for letter in a b c d e f g; do
dev="/dev/sd${letter}1"
if grep "${dev} " /etc/mtab > /dev/null 2>&1; then
echo "${dev} is already mounted"
continue
fi
if ! dosfslabel ${dev} > /dev/null 2>&1; then
echo "${dev} is probably not an USB key"
continue
fi
label=`dosfslabel ${dev}`
dir="/media/${label}"
if ! -d ${dir}; then
mkdir ${dir}
fi
mount -t vfat -o $MOUNT_OPTS ${dev} ${dir}
done
Il ne reste plus qu'à l'appeler au démarrage du système, par exemple en ajoutant la ligne suivante dans le fichier /etc/crontab:

@reboot root usb-mount.sh

On aura pris soin au préalable de placer le script usb-mount.sh dans le répertoire /usr/local/sbin ou /usr/local/bin afin qu'il soit trouvé par cron.

De cette façon, mes disques et clés USB sont montées automatiquement au démarrage, toujours sur le même point de montage, ce qui me permet d'avoir des commandes périodiques de backup ou d''archivage d'un disque/clé sur l'autre.

Libellés : , , , , , , , , , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil

31 mars 2012

Debian: Montage automatique des clés USB

Lorsque les périphériques amovibles tels que les clés USB sont insérés sur un système Debian, et que le "montage automatique" est activé dans la configuration de GNOME comme montré ci-contre, le système choisit un device et monte la clé dans /media/nom du volume.

Par exemple:

mount | grep fat


/dev/sdg1 on /media/data-256m type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000)


Si on n'a qu'un disque dur, le montage des clés USB commence à /dev/sdb1, mais on ne sait pas à l'avance quel device sera utilisé: par exemple ici la clé utilise le device /dev/sdg1 alors que /dev/sdf n'est pas utilisé pour autant.

Par conséquent, il peut être utile de correctement nommer les partitions des clés USB sur Linux, qui sinon risquent de toutes s'appeller KNGSTON par défaut !

Ainsi, si l'on ne connait pas le device à l'avance, on connait le point de montage, ce qui est l'essentiel.

Aussi, pour changer le nom d'un volume sur une clé USB, on utilisera sous root la commande dosfslabel qui permet soit d'afficher le nom d'un volume dos soit de le changer.

On pensera préalablement à démonter le volume avant de changer son nom:
umount /dev/sdg1

dosfslabel /dev/sdg1 data-256m


Attention toutefois le nom des volumes dos est limité à 11 caractères mais ça devrait suffire à identifier vos clés USB !

Libellés : , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil