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

Re: Utilisation de peripheriques USB et fstab



Gurvan Huiban <gugu-nospam@netcourrier.com> a écrit :

| Tel que je vois la solution; il faut que au branchement d'un
| peripherique, un script soit execute, extrayant le device /dev/sdx qui
| vient d'etre associe au peripherique que je viens de brancher, et qui
| selon l'identifiant USB du-dit peripherique, actualise la fstab; et
| eventuellement monte les partitions.

Voici ce que j'ai fait pour resoudre ce probleme. Pas d'emballement : le
script repose sur quelques hypotheses simplistes, mais ca pourrait bien
marcher chez toi aussi.

Pour reprendre une phrase commerciale eculee que je deteste : "avoir tous
vos problemes resolus est aussi simple que 1, 2, 3".

1_ Copiez le script usb-storage dans /etc/hotplug/usb et rendez-le executable.
2_ Adaptez le fichier de configuration /etc/hotplug/usb/usb-storage.conf a
   votre configuration.
3_ Editez le fichier /etc/hotplug/usb.usermap pour lancer le script de
   l'etape 1 a l'insertion de votre disque dur amovible.

Le script 
- voit si le périphérique USB est décrit dans le fichier de configuration ;
- tente de deviner le bon périphérique SCSI (/dev/sda, /dev/sdb...)
- si le périphérique USB était décrit dans le fichier de configuration,
  le script monte tout comme il faut, sinon le script monte « à tout hasard »
  la première partition primaire du périphérique.
- lorsque le périphérique USB est déconnecté, le système de fichier est
  démonté. :) /etc/fstab n'est jamais modifie (trop dangereux, et surtout
  inutile).

Avec un fichier de configuration vide, les cas les plus simples
fonctionnent. En renseignant le fichier de configuration, les bonnes
partitions seront montées correctement. Toutefois :
- l'heuristique pour deviner le bon périphérique SCSI est très naïve, et
  se vautrera sauf dans les cas les plus simples (pas de vrais périph SCSI)
  udev typiquement resolvera ce probleme, a ce qu'il parait. 
- le script pourrait utiliser « fdisk » pour découvrir les partitions du
  périphériques et faire quelquechose de plus raffiné que juste monter
  /dev/sd?1 au hasard. Il ne le fait pas pour l'instant.
- le script pourrait détecter qui est loggué sur la console et lui
  « donner » le point de montage, même si c'est en pratique équivalent
  au « -o umask=000 » actuel.

L'edition de /etc/hotplug/usb.usermap revient a ajouter une ligne comme ca :
usb-storage	0x0001	0x????	0x????
(les champs sont decrits a la premiere ligne du fichier usb.distmap)

Une note à propos de mon usb-storage.conf : mon lecteur mp3 a sa
partition directement sur /dev/sda, d'où le « _DEV_ » (pour décrire
/dev/sda) au lieu du « _DEV_1 » (pour /dev/sda1) par défaut.

Que ca reponde parfaitement a ton probleme ou que tu doives modifier le
script pour ca, tout retour d'experience est apprecie. =) Bonne chance.

-- 
Daniel Déchelotte
                  http://yo.dan.free.fr/

Attachment: usb-storage
Description: Binary data

Attachment: usb-storage.conf
Description: Binary data


Reply to: