Journal Gestion automatique des périphériques de stockage USB

Posté par  (site web personnel) .
Étiquettes : aucune
0
5
juin
2004
Édition précédente : https://linuxfr.org/~ccomb/8866.html(...)

Pour ceux qui possèdent une clef USB, ou tout périphérique usb mass-storage.

Voici un script qui permet de :
1) créer automatiquement le point de montage
2) ajouter ou retirer la ligne correspondante dans fstab

Le point de montage est choisi pour être explicite (par exemple /mnt/IntelligentStick pour une PQI Intelligent Stick. Les infos sont récupérées depuis /sys)

Du coup, si vous êtes sous Gnome, votre périphérique va apparaître automatiquement dans la liste des volumes montables (clic droit sur le bureau).

http://ccomb.free.fr/wiki/wakka.php?wiki=UsbMassStorage(...)

PS : maintenant je demande un peu d'aide : comment fait-on pour récupérer le label d'une partition ?
  • # label d'une partition

    Posté par  (site web personnel) . Évalué à 2.

    file -s pour les partoches fat.
    Autrement, il me semble que les systèmes de fichier ext* ne supportent pas de label par contre on peut donner des labels à des partoches reiserfs mais file -s affiche seulement data.
    • [^] # Re: label d'une partition

      Posté par  (site web personnel) . Évalué à 3.

      ah merci, je viens de modifier le script pour qu'il choisisse le label comme nom pour le point de montage.
      De cette façon il choisir dans l'ordre :
      1) le label
      2) le product
      3) le manufacturer
      4) usb-disk s'il n'a rien trouvé jusqu'ici
    • [^] # Re: label d'une partition

      Posté par  (site web personnel) . Évalué à 1.

      il me semble que les systèmes de fichier ext* ne supportent pas de label
      tune2fs -L label partition
      Mais bon ext* c'est dépassé à côté de reiserfs :D
  • # FHS

    Posté par  . Évalué à 5.

    Si je puis me permettre : les médias amovibles comme les disquettes et/ou les clefs usb sont maintenant censés être montés dans le répertoire /media
    http://www.pathname.com/fhs/pub/fhs-2.3.html#MEDIA(...)

    /media : Mount point for removeable media

    Purpose
    This directory contains subdirectories which are used as mount points for removeable media such as floppy disks, cdroms and zip disks.

    Rationale

    Historically there have been a number of other different places used to mount removeable media such as /cdrom, /mnt or /mnt/cdrom. Placing the mount points for all removeable media directly in the root directory would potentially result in a large number of extra directories in /. Although the use of subdirectories in /mnt as a mount point has recently been common, it conflicts with a much older tradition of using /mnt directly as a temporary mount point.
    • [^] # Re: FHS

      Posté par  (site web personnel) . Évalué à 3.

      Merci, je viens aussi de corriger ça dans la version 6.
      (j'ai ajouté un changelog sur la page)
  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 1.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: j'ai une telle erreur

        Posté par  (site web personnel) . Évalué à 2.

        Le script est fait pour fonctionner avec un noyau 2.6 avec /sys et avec udev, pas devfs.
        Devfs est obsolète et doit être remplacé par udev, beaucoup plus souple et puissant.
        La version précédente fonctionnait avec devfs, mais je ne m'en occupe plus.

        Cela-dit, si tu peux corriger la version pour 2.6 pour qu'elle remarche avec devfs, préviens-moi, je l'ajouterai sur le site.
        • [^] # Commentaire supprimé

          Posté par  . Évalué à 1.

          Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à 1.

            Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Re: j'ai une telle erreur

            Posté par  (site web personnel) . Évalué à 3.

            /dev/scsi/... est la méthode de nommage de devfs.

            Si tu n'as jamais utilisé devfs et que tu es passé directement du "static dev" vers udev, c'est normal que tu n'aies pas /dev/scsi/...
            A priori tu dois plutot te retrouver avec des périphériques du type /dev/sda1

            Or je me souviens avoir activé la compatibilité d'udev avec devfs sur ma machine, donc il semble bien que mon script ne fonctionne que dans ce cas.
            Je vais désactiver cette compatibilité chez moi et essayer de faire marcher le script dans ce cas, puis je reposte.

            PS : Si tu as des problèmes avec udev, ajoute-les en bas de la page, dans les commentaires (c'est un wiki) :
            http://ccomb.free.fr/wiki/wakka.php?wiki=UsbMassStorage(...)
            • [^] # Re: j'ai une telle erreur

              Posté par  (site web personnel) . Évalué à 2.

              OK, le script en version 6 ne marche que si les règles devfs.rules de udev sont activées.
              Pour les activer c'est très simple :
              cd /etc/udev/rules.d
              ln -s ../devfs.rules

              Mais ce serait mieux si le script fonctionnait sans ces règles, parce que tout le monde ne veut pas forcément la methode de nommage de devfs.
              J'y travaille...
              • [^] # Re: j'ai une telle erreur

                Posté par  (Mastodon) . Évalué à 2.

                Hop, grâce à ça, ça fonctionne chez moi.
                Seul hic, j'ai mis udev dans /udev/ et non /dev/, et ton script va chercher /dev/scsi/hostxx.
                L'idéal serait qu'il aille chercher la configuration de udev_root dans le fichier /etc/udev/udev.conf !

                Merci beaucoup pour le script en tout cas, vraiment très utile.

                Yth.
        • [^] # Re: j'ai une telle erreur

          Posté par  (Mastodon) . Évalué à 2.

          Ce n'est pas une question de devfs, j'ai la même erreur mais je n'utilise pas le devfs...

          En fait, je n'ai pas de répertoire /dev/scsi, c'est grave docteur ?
          Quelqu'un saurait ce qui est censé créer ce répertoire ?
          Il semble inutile en fonctionnement normal sans devfs, avec ou sans udev, je tourne en scsi et ça marche...

          En fait si j'ai bien compris tu récupères les partitions des disques scsi grâce à ça ?
          Buf, j'ai beau farfouiller dans /dev et /proc, sur mon système je ne trouve aucun moyen de faire le lien entre le host scsi et ses partitions :(

          Yth, perplexe...
  • # réécriture

    Posté par  (site web personnel) . Évalué à 2.

    J'ai complètement réécrit le script pour qu'il puisse fonctionner avec tout type de règles udev. Maintenant ça devrait marcher aussi bien avec /dev/sda qu'avec /dev/scsi/...
    Le point de montage est également retiré au débranchement
    J'ai aussi amélioré la prise en compte de plusieurs périphériques branchés en même temps, et le cas des périphériques avec plusieurs partitions.
    Et enfin j'ai mis une protection contre les exécutions parallèles.

    Il s'agit de la version 7 :
    http://ccomb.free.fr/usbstorage/updfstab-2.6-latest(...)
  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 1.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: éffacer une fat

        Posté par  (site web personnel) . Évalué à 2.

        Ca n'est pas une question de vfat, mais c'est mieux pour un périphérique amovible. Si quelqu'un le débranche, au moins on est sûr que les données sont écrites.

        Si tu es sûr de faire attention à bien démonter avant de débrancher, tu peux enlever l'option sync.
    • [^] # Re: éffacer une fat

      Posté par  (site web personnel) . Évalué à 2.

      Ca c'est probablement un bug du noyau...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.