Accueil

RETOUR page 'bash'
Page actualisée le : 09/06/2008

La commande mount par l' exemple.

   Plan du Tutoriel
BUT :
Expliquer par l' exemple, le montage et démontage d' une partition...

RAPPEL : Sous Linux , 2 mots clés arborescence et fichiers.
Tout est fichier; que ce soient un disque, une partition, un répertoire, une clé USB, un périphérique. Tout est fichier!!!
Tous ces fichiers sont liés dans une arborescence (similaire à l'explorateur de Windows).
Mais dans Linux il n'existe qu' une seule arborescence qui part de la... racine /

Sur cette racine sont greffés (montés) les fichiers-disque, les fichiers-partition, les fichiers-répertoire etc...
Pour être accessibles (lecture, écriture, exécution ) ces fichiers doivent OBLIGATOIREMENT être greffés (montés) à un point précis dans l'arborescence.

Il est important de faire la différence entre une liaison physique (je branche une clé USB sur mon PC) et la liaison virtuelle (arborescence) pour Linux.
Sans liaison virtuelle , Linux ne peut pas deviner où se trouve cette clé, quel est son système de fichiers (NTFS ?, Fat32 ?, ext3 ?).
La liaison virtuelle va lui fournir ces paramètres...
La commande mount va créer cette liaison virtuelle et donc créer un nouveau rameau vivant celui de la clé USB.
Nous pourrons voir, écrire, lire etc... dans cette clé USB. Et avant d' enlever celle-ci il faudra... couper cette liaison virtuelle démonter (commande unmount), couper ce rameau vivant...le rendre inerte...


EXEMPLE REEL mais simplifié... (pris dans un forum):
Pour le cas réel complet (partitions en FAT) résolu, voir le lien : Permissions et droits attachés aux fichiers ( chmod, umask...)
Question :
Je branche un disque externe USB de 160 Gigas. Il n'est pas reconnu sous Linux, pourtant il l' est sous XP Windows.... Pourquoi ?
Pour un diagnostic voilà ce qu' affichent les commandes fdisk et mount:

La commande fdisk repère physiquement (lignes commençant par /dev/).
La commande mount repère uniquement les liaisons virtuelles (lignes commençant par /dev/).
Pour une compréhension plus facile les lignes inutiles dans mount sont décalées.


 
 
 # fdisk -l
 Disque /dev/sdf: 160.0 Go, 160041885696 octets
                        255 têtes, 63 secteurs/piste, 19457 cylindres
                        Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique   Amorce  Début      Fin Blocs       Id   Système
/dev/sdf1              9561      76798701         7   HPFS/NTFS
/dev/sdf2              9562      19457 79489620   7   HPFS/NTFS
 ----------------------------------------------------------------------------------------
 # mount
 /dev/sda2 on / type ext3 (rw,errors=remount-ro)
        proc on /proc type proc (rw,noexec,nosuid,nodev)
        /sys on /sys type sysfs (rw,noexec,nosuid,nodev)
        varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
        varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
        procbususb on /proc/bus/usb type usbfs (rw)
        udev on /dev type tmpfs (rw,mode=0755)
        devshm on /dev/shm type tmpfs (rw)
        devpts on /dev/pts type devpts (rw,gid=5,mode=620)
        lrm on /lib/modules/2.6.20-16-generic/volatile type tmpfs (rw)
/dev/sda1 on /media/sda1 type ntfs (rw,nls=utf8,umask=007,gid=46)

Avec le commentaire du topic sur le Forum : Pourtant le DD est bel est bien branché..


Explications:
La commande fdisk -l repère physiquement le disque externe 160 G. (sdf) avec ses 2 partitions (sdf1 et sdf2)
Ce disque dur externe en USB est physiquement branché mais sans liaison virtuelle (montage) ...donc inaccessible!

Dans mount il n'y a aucune ligne commençant par /dev/sdf1 et /dev/sdf2:
ni /dev/sdf1 on /media/sdf1 type ntfs (....)
ni /dev/sdf2 on /media/sdf2 type ntfs (....) si montage en /media

Par contre sont montés (donc visibles) la partition racine de Linux (/dev/sda2 on /) et celle de windows (/dev/sdf1 on /media/sdf1 type ntfs )



Solution (Voir man mount ). Monter le disque USB en utilisant la commande mount.
(On admettra que le fichier de configuration /etc/fstab a umask mis à 000. Sinon il faudra modifier en conséquence).
Création du répertoire de montage dans l' arborescence de Linux '/mnt/' :
# mkdir /mnt/mon_usb
Montage du disque externe USB :
# mount /dev/sdf1 /mnt/mon_usb
Contrôle par 'mount' :
# mount
...... affiche :
/dev/sdf1 on /mnt/mon_usb ....

Maintenant le rameau disque externe USB est monté (greffé) sur l 'arborescence du Linux.
Donc visible et accessible.