Skip to Content

Différentes méthodes pour monter des périphériques amovibles sous Linux

But de ce document

Ce document me sert de mémo pour monter et démonter des périphériques amovibles (ex : clé usb) avec différentes méthodes sous Linux. J’ai testé ce mémo sous Debian Testing et Debian Sid et sous KDE.

Identifier le nom du périphérique à monter

La consultation des logs permet de connaître le nom actuel du périphérique lors de son insertion :

# tail -f /var/log/syslog
Aug 16 17:33:45 localhost kernel: sda: assuming drive cache: write through
Aug 16 17:33:45 localhost kernel:  sda: sda1

Nous voyons donc qu’il s’agit du périphérique «  sda  ».

Une autre méthode pour retrouver le nom d’un périphérique qu’on vient d’insérer est de regarder le contenu du dossier « /sys/block/ ». Lors de l’insertion du périphérique, un nouveau dossier correspondant au nom du périphérique sera créé (ex : sda).

Ce nouveau périphérique (ex : sda) sera créé également dans « /dev ».

Remarque  : Une fois le périphérique identifié, il est possible de connaître ses différentes partitions avec la commande « fdisk -l /dev/sda » ou la commande « cat /proc/partitions »

Montage manuel du périphérique en ligne de commande

Avant de monter un périphérique, il faut commencer par créer le répertoire devant accueillir la partition à monter. Exemple :

# mkdir /media/sda1

Voici un exemple de commande permettant de monter la partition «  sda1  » du périphérique « /dev/sda1 » sur le dossier « /media/sda1 » :

# mount /dev/sda1 /media/sda1

Et voici la commande permettant de démonter ce périphérique :

# umount /dev/sda1

ou :

# umount /media/sda1

Remarque  : Il faut obligatoirement être root pour effectuer les opérations précédentes

Autoriser un simple utilisateur à monter et démonter des périphériques

Pour autoriser un simple utilisateur à monter et démonter des périphériques, il faut ajouter la ligne suivante dans le fichier « /etc/fstab » :

/dev/sda1 /media/sda1 vfat rw,auto,user 0 0

Remarque  : L’option « user » autorise les utilisateurs à monter et démonter ce périphérique.

Une fois le fichier « /etc/fstab » correctement configuré, un simple utilisateur peut monter une partition avec la commande :

$ mount /dev/sda1

ou la commande :

$ mount /media/sda1

Et la démonter avec cette commande :

$ umount /dev/sda1

ou cette commande :

$ umount /media/sda1

Remarque sur le démontage d’une clé usb

Lorsque des données sont écrites sur une clé USB, celles-ci ne sont pas immédiatement écrites mais simplement stockées dans une zone mémoire.

L’écriture réelle des données est effectuée seulement lors du démontage de la clé USB.

C’est pour cela qu’il est obligatoire de démonter proprement une clé USB avant de la retirer de son emplacement sinon les fichiers ne seront pas correctement enregistrés.

Cela permet d’augmenter la durée de vie des clés USB, car le nombre d’écritures est limité.

Ajouter un icône de périphérique dans KDE pour les monter et démonter facilement

L’ajout d’un icône de périphérique, permet de monter et démonter des périphériques sans saisir de ligne de commande.

Pour créer un icône de périphérique, il faut commencer par configurer « /etc/fstab » comme indiqué précédemment et ensuite effectuer les opérations suivantes :

  •  Clic-droit sur le fond du bureau ou dans un dossier sous Konqueror
  •  Menu « Créer un nouveau / Lien vers un périphérique » et choisir votre périphérique
  •  Dans l’onglet « Général » mettre le nom de votre périphérique
  •  Dans l’onglet « Périphérique », sélectionner la ligne de votre « /etc/fstab » correspondant à votre périphérique.

    Une fois l’icône créé, un clic droit sur celui-ci permettra de monter ou démonter la partition.

    Montage de périphériques avec pmount

    La commande «  pmount  » permet de simplifier le montage et le démontage de périphériques amovibles. Elle offre plusieurs avantages par rapport a la commande «  mount  » :

  •  Il n’est plus nécessaire de configurer le fichier « /etc/fstab » pour les périphériques amovibles et si des entrées existent, il est même conseillé de les supprimer.
  •  Un simple utilisateur peut monter et démonter des périphériques à condition qu’il appartienne au groupe « plugdev ».
  •  Le point de montage dans « /media » est créé et supprimé automatiquement lors du montage et du démontage du périphérique.

    Si ce n’est pas déjà fait, il faut commencer par installer le paquet «  pmount  » qui est désormais installé en standard avec KDE sous Debian Testing et Sid.

    La commande suivante permet de monter le périphérique :

    $ pmount /dev/NomDuPeripherique

    ou même plus simplement :

    $ pmount NomDuPeripherique       

    La commande suivante permet de démonter le périphérique :

    $ pumount NomDuPeripherique       

    Montage automatique des périphériques avec udev sous kde 3.4 ou supérieur

    Grâce à udev et pmount et depuis la version 3.4 de kde, lors de la connexion d’un nouveau périphérique, plusieurs opérations sont effectuées automatiquement :

  •  Un icône apparaît sur le bureau lors de la connexion et disparaît lors de la déconnexion du périphérique. Si ce n’est pas le cas, il faut vérifier dans la configuration du bureau et dans la section «  Comportement  » et dans l’onglet « Icônes de périphériques » que les icônes sont biens affichés.
  •  Une fenêtre s’ouvre demandant quelle opération il faut effectuer. Si ce n’est pas le cas, il faut aller dans « Centre de configuration de KDE / Périphériques / Support de stockage », sélectionner le type de périphérique à configurer et déterminer une action.
  •  Le montage du périphérique est réalisé automatiquement dans le dossier « /Media ».

    Remarque  : Le nom de l’icône qui apparaît sur le bureau est déterminé automatiquement par KDE et à priori, il n’est pas possible de le changer (en tout cas, je n’ai pas trouvé).

    Configurer udev pour renommer ses périphériques

    udev s’occupe entre autre de la gestion et la création des noms des périphériques dans « /dev ». Il permet en particulier de renommer ses périphériques usb automatiquement en fonction des caractéristiques et des identifiants de ceux-ci. Par exemple une clé usb sera nommée /dev/cle_usb un appareil photo /dev/apareil_photo et non pas simplement /dev/sda1. Mais pour cela, il faut configurer udev comme indiqué ci-dessous.

    Obtenir des informations sur votre périphérique pour l’identifier de manière unique

    Une fois le nom du périphérique identifié, la commande suivante permet d’obtenir de nombreuses informations sur celui-ci :

    udevinfo -a -p /sys/block/sda

    Dans les nombreuses informations précédentes, il faut isoler une ligne identifiant de manière unique votre périphérique. Exemple :

       SYSFS{serial}=="18113A4123115881"

    Configurer udev

    Une fois votre périphérique clairement identifié, il faut configurer udev, pour lui indiquer le nom que nous souhaitons désormais donner à ce périphérique. Pour cela, il faut éditer le fichier « /etc/udev/rules.d/udev.rules » et ajouter vers le début une ligne ressemblant à cela :

    BUS=="usb", SYSFS{serial}=="18113A4123115881", NAME="cle_usb"

    Après avoir déconnecté et reconnecté votre périphérique usb, celui-ci sera désormais renommé avec le nom indiqué ci-dessus soit « cle_usb »

    Remarque : Pour que le montage manuel de vos périphériques continue à fonctionner correctement, il faudra encore modifier votre fichier « /etc/fstab » pour lui indiquer les nouveaux noms de vos périphériques.

    Points à vérifier si cela ne fonctionne pas correctement

  •  Vérifier que les paquets kdebase-kio-plugins, udev, hal et dbus-1 sont installés
  •  Vérifier que l’utilisateur appartient au groupe plugdev
  •  Vérifier que le démon dbus est bien démarré (ps aux | grep dbus)
  •  Vérifier que la version de votre noyau est supérieure à 2.6.13 (uname -r)
  •  Vérifier que votre version de KDE est supérieure ou égale à 3.4
  •  Vérifier que le périphérique apparaît correctement dans Konqueror à l’adresse « media :/ »
  •  Vous pouvez éventuellement installer le paquet « hal-device-manager » et lancer le programme du même nom pour vérifier que le périphérique apparaît correctement. Pour éviter d’installer les dépendances de gnomes, vous pouvez aussi utiliser la commande «  lshal  », mais le résultat est beaucoup moins lisible.
  • Gérer les droits sur vos périphériques avec udev

    En plus de nommer vos périphériques, udev permet d’autres choses et en particulier la gestion des droits. En reprenant l’exemple précédent, il est possible d’affecter un groupe avec le paramètre « GROUP= » et un masque avec le paramètre « MODE= » à notre clé USB. Exemple :

    BUS=="usb", SYSFS{serial}=="18113A4123115881", NAME="cle_usb", GROUP="tony", MODE="0770"

    Voici le résultat :

    # ls -la /dev/cle_usb
    brwxrwx--- 1 root tony 8, 97 2007-04-07 10:08 /dev/cle_usb

    Gérer les droits des périphériques montés sous KDE

    Sous KDE quand une clé USB est insérée, celle-ci est montée automatiquement dans « /media » sans que celle-ci soit déclarée dans « /etc/fstab » grâce à pmount.

    Si vous souhaitez maîtriser le point le montage ou la gestion des droits sur ce périphérique, vous pouvez créer une entrée dans « /etc/fstab » pour cela. Dans cet exemple, le point de montage est indiqué dans « /mnt », et grâce à «  umask  » et «  gid  », il n’y aura que les utilisateurs appartenant à « mongroup » qui auront accès à ce périphérique :

    /dev/cle_usb /mnt/cle_usb vfat rw,user,noauto,umask=0007,gid=mongroup 0 0

    Il ne faut pas oublier de créer manuellement le dossier qui va contenir le point de montage :

    # mkdir  mnt/cle_usb

    Autres sources d’informations

    La documentation de référence de udev :

  •  http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html

    Historique des modifications

    Version Date Commentaire
    0.1 20/08/06 Création par Tony GALMICHE
    0.2 07/04/07 Ajout « Gérer les droits sur vos périphériques avec udev » et « Gérer les droits des périphériques montés sous KDE »
  • Commentaires

    > Différentes méthodes pour monter des périphériques amovibles s

    Intéressant.

    Juste pour dire que je fais plus facilement "cat /proc/partitions" que "fdisk -l".

    Et que je fais plus facilement dmesg que tail -f /var/log/messages.