Montage des filesystems
Le processus d'accès à un système de fichiers sous Linux est appelé montage car Linux conserve une seule arborescence de système de fichiers avec des périphériques attachés à de nombreux endroits (dans l'arborescence du système de fichiers). Le système de fichiers peut être monté sur n'importe quel répertoire, et en entrant dans le répertoire, on peut accéder à son contenu. Lorsque nous parlons de l'endroit où le montage a lieu, cet endroit est appelé point de montage. Les commandes mount et umount sont utilisées pour monter et démonter des systèmes de fichiers. Il s'agit généralement d'un répertoire vide. La commande Mount est présente dans presque chaque système d'exploitation Linux, qui peut être utilisée pour monter le système de fichiers sur n'importe quel répertoire.
Montage d’un filesystem
La syntaxe de la commande mount est donnée ci-dessous :
mount -t type_fs -o options device point_montage
- type_fs : Facultatif : type de filesystem à monter.
- options : Facultatif : options de montage.
- device : Le périphérique hébergeant un filesystem à monter, sous forme de fichier spécial bloc.
- point_montage : Le répertoire qui servira de point d’ancrage au filesystem monté.
Le superutilisateur peut exécuter la commande mount. Cette commande attache le système de fichiers du nom de périphérique mentionné (device) dans la hiérarchie principale du système de fichiers Linux à l'emplacement du répertoire spécifié (point_montage. Vous fournissez le chemin absolu de cet emplacement de répertoire, appelé point de montage. Linux maintient une seule arborescence de système de fichiers après les périphériques attachés au système de fichiers principal.
Pour monter un disque /dev/sdb1 déjà ajouté sur le système dans le répertoire /data, la commande de montage suivante est exécutée :
devinfo@ubuntu:~$ sudo mount /dev/sdb1 /data
Le système de fichiers sur le disque est automatiquement détecté par la commande mount, mais parfois il demande de spécifier le type de système de fichiers avec la commande, comme indiqué dans l'exemple :
devinfo@ubuntu:~$ sudo mount -t ext4 /dev/sdb1 /data
Pour répertorier les systèmes de fichiers actuellement montés, vous pouvez utiliser la commande mount sans argument, par exemple,
devinfo@ubuntu:~$ mount ... proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) /dev/sda5 on / type ext4 (rw,relatime,errors=remount-ro) ... /dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) ... /dev/sdb1 on /data type ext4 (rw,relatime)
Linux prend en charge et reconnaît de nombreux types de systèmes de fichiers. Supposons que si vous connectez des périphériques de support amovibles à des ordinateurs installés sur votre système d'exploitation Windows, vous utilisez principalement les types suivants :
- vfat : système de fichiers long Windows
- ntfs : système de fichiers avancé Windows (utilisé dans Windows XP, Vista, Window7,..)
- ReFS : système de fichiers Microsoft Windows 8 Server
- iso9660 : le système de fichiers standard du CD-ROM
- UDF : le système de fichiers DVD standard
Si vous souhaitez accéder aux données depuis un périphérique multimédia USB, vous devez alors monter le périphérique USB (/dev/sdb1 par exemple) à l'emplacement /mnt/USB (juste un exemple), en utilisant la commande suivante :
devinfo@ubuntu:~$ sudo mount -t vfat /dev/sdb1 /mnt/USB
Après avoir attaché le périphérique multimédia USB dans le répertoire /mnt/USB de l'arborescence principale, le superutilisateur a le plein droit d'accéder aux données du périphérique.
Le tableau ci-dessous montre certaines options clés de la commande mount.
Option | Description |
---|---|
-t fs_type | Spécifiez le type de système de fichiers, tel que ext3, ext4, ntfs, etc. |
-l | Lister tous les systèmes de fichiers montés ; |
-a | Monter tous les systèmes de fichiers répertoriés dans /etc/fstab. Ignore les entrées qui incluent l'option noauto |
-r | Monter le système de fichiers en lecture seule |
-n | Monter le périphérique sans l'enregistrer dans le fichier /etc/mstab |
Démontage d’un filesystem
Tout système de fichiers monté sur le système peut être démonté à l'aide de la commande umount. Pour démonter le disque actuellement monté, exécutez la commande umount avec le nom du disque ou le point de montage. La syntaxe de la commande umount est très simple :
umount -O options device point_montage
- options : Facultatif : options de démontage.
- device : Facultatif si le point de montage est précisé : le périphérique à démonter.
- point_montage : Facultatif si le périphérique est précisé : le répertoire servant de point de montage à libérer.
Les options les plus courantes sont -f (force : forcer le démontage) et -l (lazy : démontage paresseux qui sera effectif quand toutes les ressources utilisées pour le montage auront pu être libérées.
Le démontage d’un filesystem est indispensable pour en effectuer la vérification avec la commande e2fsck. Le filesystem monté sur / est par définition indémontable puisque toujours occupé. Il est possible de forcer la vérification avant le montage lors du démarrage depuis la commande shutdown.
shutdown -F -r now
Montage automatique (fichier fstab)
Parfois, vous devez monter un disque ou une partition de disque lors du démarrage du système. Pour cela, le système utilise le fichier /etc/fstab qui comprend une liste de toutes les partitions disponibles pour un montage automatique sur le système lors du démarrage. Les disques sont montés à l'aide du fichier /etc/fstab, sont appelés périphériques de montage automatique. Le fichier /etc/fstab maintenu manuellement par l'administrateur système et doit être modifié et une nouvelle entrée doit être créée pour monter la partition automatiquement lors du démarrage.
Pendant le processus de démarrage, cette liste est lue et les éléments qui y sont mentionnés sont automatiquement montés avec les options mentionnées dans ce fichier. Le format des entrées dans le fichier /etc/fstab est le suivant :
fs point_montage type options dump fsck
Les champs sont séparés par des espaces ou des tabulations.
- fs : Filesystem, désigné par son fichier de bloc spécial, son label ou son uuid.
- point_montage : Point de montage.
- type : Type de filesystem. Obligatoirement swap pour le swap, auto ou type effectif de filesystem dans le cas contraire.
- options : Options de montage. En fait, les options admises par la commande mount.
- dump : Facultatif. Si la commande dump est utilisée pour la sauvegarde du système, ce champ doit être à 1 pour assurer la sauvegarde. Sinon, sa valeur par défaut est 0.
- fsck : Facultatif. En cas de vérification automatique des filesystems au démarrage, indique dans quel ordre cette vérification doit se faire. Valeur obligatoire de 1 pour le filesystem monté sur /, 2 pour les autres. 0 pour que la vérification ne soit jamais effectuée.
Exemple de fichier /etc/fstab sur Ubuntu
Notez que les disques sont identifiés par leur UID.
devinfo@ubuntu:~$ cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda5 during installation UUID=9d539d99-5b5f-4e52-baef-15854f7a18fd / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=5073-1B63 /boot/efi vfat umask=0077 0 1 /swapfile none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
La commande mount -a est appelée au démarrage d’un système. Cette commande provoque le montage de tous les périphériques référencés dans le fichier /etc/fstab, à l’exception de ceux qui présentent l’option noauto dans le quatrième champ.