Comment monter et démonter des périphériques de stockage à partir du terminal Linux

  • Dave McKay

    @TheGurkha

  • Mise à jour le 28 mai 2019, 17h15 EDT
Fatmawati Achmad Zaenuri/.com

Les systèmes de fichiers de Linux et des systèmes d’exploitation de type Unix comme macOS peuvent être montés, démontés et remontés à l’aide du terminal. C’est un outil puissant et polyvalent – voici tout ce que vous devez savoir.

Le système de fichiers Linux

Les systèmes de fichiers de Linux, macOS et d’autres systèmes d’exploitation de type Unix n’utilisent pas d’identifiants de volume distincts pour les périphériques de stockage comme le fait, par exemple, Windows. Windows attribue à chaque volume une lettre de lecteur telle que C : ou D : et le système de fichiers de chaque volume est une arborescence de répertoires assis sous cette lettre de lecteur.

Dans Linux, le système de fichiers est une arborescence de répertoires tout-en-un. Un périphérique de stockage monté a son système de fichiers greffé sur cette arborescence de sorte qu’il semble faire partie intégrante d’un système de fichiers cohésif. Le système de fichiers nouvellement monté sera accessible via le répertoire dans lequel il est monté. Ce répertoire est appelé point de montage pour ce système de fichiers.

Publicité

De nombreux systèmes de fichiers sont montés automatiquement au moment du démarrage ou à la volée en tant que volumes de stockage connectés à l’ordinateur pendant l’exécution. Les administrateurs système prudents peuvent désactiver les fonctions de montage automatique en cours d’exécution afin de pouvoir contrôler les connexions au système.

Cela signifie que les périphériques de stockage connectés en cours d’exécution peuvent ne pas se monter automatiquement et nécessiter un montage manuel. Le montage manuel d’un système de fichiers vous permet de prendre des décisions concernant ce système de fichiers, comme l’emplacement du point de montage et si le système de fichiers va être en lecture seule ou en lecture-écriture.

Que ce soit par nécessité ou par choix, les commandes mountumount et remount vous donnent la possibilité de prendre le contrôle de cet aspect important de votre système Linux.

Interroger votre système de fichiers avec mount

Mount possède un grand nombre d’options, mais pour lister tous les systèmes de fichiers montés sur votre ordinateur, aucune option n’est nécessaire. Il suffit de taper mount et d’appuyer sur Entrée :

Publicité

mount listera tous les systèmes de fichiers connectés dans la fenêtre du terminal.

Il peut être difficile de piocher dans ce déversement de données pour trouver ce que vous cherchez.

Vous pouvez affiner la sortie en demandant à mount de ne lister que les systèmes de fichiers qui vous intéressent. L’option -t (type) indique à mount le type de système de fichiers à signaler.

mount -t tmpfs
mount -t ext4

À titre d’exemple, nous avons demandé à mount de ne répertorier que tmpfs les systèmes de fichiers. Nous obtenons un résultat beaucoup plus gérable.

Publicité

Un tmpfs système de fichiers apparaît comme s’il s’agissait d’un système de fichiers régulier et monté, mais il est en fait stocké dans la mémoire volatile – tmp signifie temporaire – au lieu d’être sur un périphérique de stockage persistant.

Vous voudrez substituer le paramètre tmpfs au type de fichier qui vous intéresse.

Nous avons également émis une commande pour lister les systèmes de fichiers ext4. Sur cet ordinateur de test, il existe un seul ext4 système de fichiers, il se trouve sur le périphérique sda-le premier périphérique de stockage monté, généralement le disque dur principal-et monté sur /, qui est la racine de l’arborescence du système de fichiers.

Les autres indicateurs signifient :

  • rw : Le système de fichiers est lisible et inscriptible.
  • relatime : Le noyau utilise un schéma optimisé pour enregistrer les méta-données d’accès et de modification des fichiers.
  • errors=remount -o : Si une erreur suffisamment grave est détectée, le système de fichiers sera remonté en mode lecture seule pour permettre un diagnostic.

RELATED : Quel système de fichiers Linux devriez-vous utiliser ?

Interroger votre système de fichiers avec df

La commande df peut également être utilisée pour afficher les systèmes de fichiers montés et l’emplacement de leurs points de montage.

Publicité

df utilisée sans paramètres vous donne le même problème de surcharge d’informations que mount. À titre d’exemple, dans Ubuntu Linux, il existe un squashfs système de pseudo-fichiers créé pour chacune des applications qui ont été installées à l’aide de la snap commande. Qui veut voir tout cela ?

Pour forcer df à les ignorer – ou tout autre type de système de fichiers – utilisez l’option -x (exclure):

df -x squashfs

Vous pouvez facilement voir les noms des systèmes de fichiers, leurs capacités, l’espace utilisé et libre, et leurs points de montage.

RELATED : Comment afficher l’espace disque libre et l’utilisation du disque à partir du terminal Linux

Remontage de tous les systèmes de fichiers dans fstab

Tous les systèmes de fichiers montés au moment du démarrage ont des entrées dans un fichier appelé fstab, qui est la table des systèmes de fichiers située dans /etc.

Publicité

Vous pouvez utiliser mount pour forcer un « rafraîchissement » et remonter tous les systèmes de fichiers listés dans fstab. Dans des conditions d’exploitation normales, cela n’est pas nécessaire. Il prend vraiment tout son sens si vous avez des problèmes avec plusieurs systèmes de fichiers.

Vous devrez utiliser sudo, il vous sera donc demandé votre mot de passe.

sudo mount -a

Il est vrai que sur un ordinateur fonctionnant correctement, c’est un peu décevant.

Sur un ordinateur avec des problèmes de système de fichiers, cependant, le remontage pourrait résoudre les problèmes. Si cela ne se produit pas, alors au moins vous obtiendrez des messages de diagnostic à l’écran et dans les journaux du système qui vous guideront pour rechercher la cause du problème.

RELATED : Qu’est-ce que le fichier fstab de Linux, et comment fonctionne-t-il ?

Montage d’une image ISO

Il est facile de monter une image ISO afin de pouvoir accéder à son contenu en tant que partie du système de fichiers.

Publicité

Cela fonctionnera avec n’importe quelle image ISO. Dans cet exemple, il se trouve que nous utilisons une ISO Tiny Core Linux parce qu’elle est commodément petite et rapide à télécharger. (Une minuscule distribution Linux avec une interface graphique, en 18 Mo ! Vous avez probablement des fichiers .mp3 plus gros que ça.)

Dans le même répertoire que l’image ISO, lancez cette commande. Remplacez-la par le nom du fichier ISO que vous montez.

sudo mount -t iso9660 -o loop TinyCore-current.iso /mnt

Parce que nous devons utiliser sudo, vous devrez entrer votre mot de passe.

Publicité

L’option -t (type) indique à mount quel type de système de fichiers nous montons. Il s’agit d’un fichier ISO, nous fournissons donc le iso9660 spécificateur de type.

L’indicateur -o (options) est utilisé pour passer des paramètres supplémentaires à mount. Notre paramètre est loop.

Nous utilisons loop pour forcer mount à utiliser un fichier de périphérique en boucle pour se connecter à notre image ISO. Un fichier de périphérique en boucle permet à un fichier (comme l’image ISO) d’être monté et traité comme s’il s’agissait d’un périphérique de stockage.

Les fichiers de périphérique sont des fichiers spéciaux utilisés comme interface pour que les périphériques connectés apparaissent comme s’il s’agissait d’un fichier normal du système de fichiers. Cela fait partie de la philosophie de conception tout dans Linux est un fichier.

Publicité

Il existe de nombreux types de fichiers de périphériques. Nous en avons vu un précédemment lorsque nous avons noté que le seul ext4 système de fichiers sur cette machine de test était monté sur / et s’appelait sda.

Pour être plus précis, ce système de fichiers ext4 se trouve sur un périphérique de stockage connecté au système de fichiers par le biais du fichier /dev/sda périphérique et le système de fichiers sur ce périphérique de stockage monté à /.

Nous devons fournir le nom de l’image ISO bien sûr, et nous devons faire savoir à mount où nous aimerions que le système de fichiers soit monté. Nous avons choisi /mnt.

Publicité

L’image ISO est montée. Un rappel que les images ISO sont toujours montées en mode lecture seule apparaît dans la fenêtre du terminal.

Exploration de l’image ISO

Maintenant qu’elle est montée, nous pouvons naviguer dans les répertoires de l’image ISO de la même manière que dans toute autre partie du système de fichiers. Dressons la liste des fichiers de l’image ISO. Elle est montée à /mnt remember.

ls /mnt
ls /mnt/cde/

Démontage de l’image ISO

Pour démonter un système de fichiers monté, utilisez la commande umount. Notez qu’il n’y a pas de « n » entre le « u » et le « m » – la commande est umount et non « unmount. »

Vous devez indiquer à umount quel système de fichiers vous démontez. Faites-le en fournissant le point de montage du système de fichiers.

sudo umount /mnt

Pas de nouvelles est une bonne nouvelle. S’il n’y a rien à signaler, alors tout s’est bien passé.

Création d’un point de montage

Vous pouvez créer et utiliser vos propres points de montage. Nous allons en créer un appelé isomnt et monter notre image ISO dessus. Un point de montage est juste un répertoire. Nous pouvons donc utiliser mkdir pour créer notre nouveau point de montage.

sudo mkdir /media/dave/isomnt
Publicité

Nous pouvons maintenant utiliser le même format de commande que précédemment pour monter notre image ISO. Cette fois, nous ne la monterons pas sur /mnt, nous la monterons sur /media/dave/isomnt/:

sudo mount -r -t iso9660 -o loop TinyCore-current.iso /media/dave/isomnt/

Nous pouvons maintenant accéder au système de fichiers monté depuis notre nouveau point de montage.

ls /media/dave/isomnt/cde/optional

Mais ces chemins deviennent très longs. Cela va rapidement devenir fastidieux. Faisons quelque chose à ce sujet.

Lier un point de montage

Vous pouvez lier un point de montage à un autre répertoire. Le système de fichiers monté est alors accessible soit par le point de montage d’origine, soit par le répertoire qui lui est lié.

Publicité

Voici un exemple travaillé. Nous allons créer un répertoire dans notre répertoire personnel appelé iso. Puis nous lierons le point de montage de l’image ISO /media/dave/isomnt au nouveau répertoire iso de notre répertoire personnel.

Nous pourrons accéder à l’image ISO par le point de montage original /media/dave/isomnt et par le nouveau répertoire iso. L’option -B (bind) nécessite le nom du point de montage et le nom du répertoire auquel le lier.

mkdir iso
sudo mount -B /media/dave/isomnt/ iso
ls iso
ls /media/dave/isomnt
cd iso
ls
cd cde

Utilisation de umount avec des liaisons

Un système de fichiers dont le point de montage a été lié à un autre répertoire nécessite un démontage de son point de montage et du point de liaison.

Publicité

Même si nous démontons le système de fichiers depuis son point de montage d’origine, vous pouvez toujours accéder au système de fichiers depuis son répertoire lié. Le système de fichiers doit être démonté de ce répertoire également.

sudo umount /media/dave/isomnt
ls iso 
sudo umount iso
ls iso

Montage d’une disquette

Un lecteur de disquettes (avec une disquette dedans) est un périphérique de stockage. Cela signifie qu’un fichier de périphérique sd (pour storage device) sera utilisé pour se connecter au périphérique physique. Nous devons déterminer quel est le prochain fichier de périphérique sd libre. Nous pouvons le faire en faisant passer la sortie de df par grep et en recherchant les entrées contenant « sd ».

df | grep /dev/sd

Sur cet ordinateur, un seul fichier de périphérique sd est utilisé. Il s’agit de /dev/sda. Le prochain fichier de périphérique sd émis sera /dev/sdb. Cela signifie que lorsque nous connecterons le lecteur de disquettes à l’ordinateur, Linux utilisera /dev/sdb pour se connecter au lecteur de disquettes.

Nous allons dire à mount de monter le système de fichiers sur la disquette dans le lecteur de disquettes qui est connecté à /dev/sdb au /mnt point de montage.

Publicité

Insérez la disquette dans le lecteur de disquettes et connectez le lecteur de disquettes à un port USB de l’ordinateur. Lancez la commande suivante :

sudo mount /dev/sdb /mnt

Libellés du système de fichiers

Nous pouvons utiliser l’option -l (label) avec mount pour savoir quel label, le cas échéant, est attaché à un système de fichiers. Les étiquettes ne sont rien de plus que des noms arbitraires. Ils n’ont aucun but fonctionnel.

Nous utilisons l’option -t (type) pour demander à mount de faire un rapport sur les vfat systèmes de fichiers uniquement.

mount -l -t vfat

Vous trouverez l’étiquette entre crochets à la fin de la liste. Le label de ce lecteur de disquettes est NORTUN.

Publicité

Nous pouvons accéder au lecteur de disquettes via le /mnt point de montage.

cd /mnt
ls
ls -l AMATCH.C

La disquette contient des fichiers de code source en langage C. L’horodateur d’un des fichiers indique qu’il a été modifié pour la dernière fois en octobre 1992. Il est probablement plus ancien que beaucoup de nos lecteurs. (Inutile de dire que la signification de NORTUN en tant qu’étiquette se perd dans la nuit des temps.)

Si nous répétons notre df commande pipée par grep pour lister les fichiers du périphérique sd, nous verrons qu’il y en a maintenant deux.

df | grep /dev/sd

Notre lecteur de disquettes se présente comme monté sur /dev/sdb comme nous nous y attendions. Le système de fichiers sur la disquette dans le lecteur est monté sur /mnt .

Publicité

Pour démonter la disquette, nous utilisons umount et lui passons le fichier du périphérique en paramètre.

sudo umount /dev/sdb

L’option paresseuse umount

Que se passe-t-il si vous (ou un autre utilisateur) utilisez le système de fichiers lorsque vous essayez de le démonter ? Le démontage échouera.

sudo umount /dev/sdb

Il échoue parce que le répertoire de travail actuel de l’utilisateur se trouve dans le système de fichiers qu’il essaie de démonter. Linux est assez intelligent pour ne pas vous laisser scier la branche sur laquelle vous êtes assis.

Pour surmonter cela, utilisez l’option -l (paresseuse). Cela amène umount à attendre que le système de fichiers puisse être démonté en toute sécurité.

sudo umount -l /dev/sdb
ls
cd ~
ls /mnt
Publicité

Même si la commande umount est émise, le système de fichiers est toujours monté, et l’utilisateur peut lister les fichiers normalement.

Dès que l’utilisateur change de répertoire vers son répertoire personnel, le système de fichiers de la disquette est libéré et est démonté. Essayer de lister les fichiers dans /mnt ne donne aucun résultat.

Montage d’un partage Samba

Samba est un ensemble de services logiciels qui permettent d’accéder aux partages réseau de manière interchangeable entre les systèmes d’exploitation Linux et de type Unix, et les systèmes d’exploitation Windows.

La configuration de Samba dépasse le cadre de cet article. Mais, si vous avez un accès autorisé à un partage Samba qui a été mis à votre disposition, voici comment vous pouvez le monter sous Linux.

Publicité

Un Raspberry Pi connecté au même réseau que la machine de test possède un partage Samba sur lui. C’est un répertoire appelé Backup qui a donné le nom Samba de « share ». Établissons une connexion SSH avec lui et regardons le contenu du répertoire partagé. Le répertoire partagé se trouve sur une clé USB montée sur le Pi.

Le nom d’utilisateur est pi et le nom de réseau du Raspberry Pi est marineville.local.

ssh [email protected]
ls /media/pi/USB64/Backup
exit

L’utilisateur émet la commande SSH et est invité à fournir son mot de passe Raspberry Pi.

Il fournit son mot de passe et est authentifié. L’invite de la fenêtre du terminal devient [email protected] car elle est connectée au Raspberry Pi.

Publicité

Ils listent le contenu du répertoire partagé à /media/pi/USB64/Backup . Le contenu est constitué de deux répertoires, un appelé dave et un autre appelé pat. Nous savons donc maintenant à quoi nous attendre lorsque nous montons le partage Samba.

Ils tapent exit pour se déconnecter du Raspberry Pi et l’invite redevient [email protected].

Pour utiliser Samba, vous devez installer le paquet cifs-utils.

Utilisez apt-get pour installer ce paquet sur votre système si vous utilisez Ubuntu ou une autre distribution basée sur Debian. Sur les autres distributions Linux, utilisez plutôt l’outil de gestion des paquets de votre distribution Linux.

sudo apt-get install cifs-utils

Une fois l’installation terminée, montez le partage avec une commande comme la suivante, en modifiant l’adresse IP, le nom du partage et le point de montage (qui doit déjà exister) en fonction de votre situation.

sudo mount -t cifs -o credentials=/etc/samba/creds,uid=1000,gid=1000 //192.168.4.13/share /media/dave/NAS

Décomposons les parties de cette commande.

  • -t cifs : le type de système de fichiers est cifs.
  • -o credentials=/etc/samba/creds,uid=1000,gid=1000 : Les paramètres des options sont le chemin d’accès à un fichier appelé creds qui est sécurisé et contient le nom d’utilisateur et le mot de passe de l’utilisateur Raspberry Pi ; l’ID utilisateur (UID) et l’ID groupe (GID) qui sont utilisés pour définir le propriétaire et le groupe de la racine du système de fichiers.
  • //192.168.4.13/share : L’emplacement réseau du périphérique sur lequel se trouve le partage Samba, et le nom Samba du répertoire partagé. La racine du partage est un répertoire appelé Backup, mais son nom de partage Samba est défini sur share.
  • /media/dave/NAS : Le nom du point de montage. Vous devez créer votre point de montage au préalable.
Publicité

En accédant à notre point de montage à /media/dave/NAS, nous accédons au répertoire partagé sur le Raspberry Pi à travers le réseau. Nous pouvons voir les deux dossiers sur le Raspberry Pi appelés dave et pat.

cd /media/dave/NAS

Création et montage d’un système de fichiers

Vous pouvez utiliser la commande dd pour créer un fichier image, puis utiliser mkfs pour créer un système de fichiers à l’intérieur. Ce système de fichiers peut ensuite être monté. C’est une bonne façon de pratiquer et d’expérimenter avec mount.

Nous utilisons l’option if (fichier d’entrée) pour indiquer à dd d’utiliser le flux de valeurs nulles de /dev/zero comme fichier d’entrée.

Le of (fichier de sortie) est un nouveau fichier appelé geek_fs.

Publicité

Nous utilisons l’option bs (taille du bloc) pour demander une taille de bloc de 1 Mo.

Nous utilisons l’option count pour indiquer à dd d’inclure 20 blocs dans le fichier de sortie.

dd if=/dev/zero of./geek_fs bs=1M count=20

Cela crée notre fichier image pour nous. Il ne contient que des valeurs nulles.

Nous pouvons créer un système de fichiers fonctionnel à l’intérieur du fichier geek_fs à l’aide de la commande mkfs. L’option -t (type) nous permet de sélectionner le type de système de fichiers. Nous créons un ext4 système.

mkfs -t ext4 ./geek_fs
Publicité

C’est tout ce qu’il faut pour avoir un système de fichiers fonctionnel.

Montons-le sur /media/dave/geek et utilisons ensuite chown pour définir les propriétés du propriétaire et du groupe afin d’en autoriser l’accès.

sudo mount ./geek_fs /media/dave/geek
sudo chown dave:users /media/dave/geek

Est-ce que ça fonctionne ? Changeons dans le nouveau système de fichiers et copions-y un fichier pour voir.

cd /media/dave/geek
cp /etc/fstab . 
ls -l

Nous avons pu changer de répertoire dans le nouveau système de fichiers, et nous avons réussi à faire une copie du fichier /etc/fstab. Cela fonctionne !

Publicité

Si nous utilisons mount pour lister les systèmes de fichiers montés mais que nous restreignons sa sortie aux ext4 systèmes de fichiers utilisant l’option -t (type), nous verrons qu’il y a maintenant deux systèmes de fichiers montés ext4.

mount -t ext4

Remontage d’un système de fichiers

Le remontage d’un système de fichiers utilise l’option -o remount. Il est généralement effectué pour faire passer un système de fichiers d’un état de lecture seule (test) à un état de lecture-écriture (production).

Montons à nouveau notre lecteur de disquettes. Cette fois, nous utiliserons le drapeau -r (lecture seule). Ensuite, nous allons faire passer mount par grep et regarder les détails du système de fichiers de la disquette.

sudo mount -r /dev/sdb /mnt
mount | grep /mnt

Comme vous pouvez le voir, la mise en évidence de ro indique que le système de fichiers est monté en lecture seule.

Publicité

En utilisant l’option -o remount avec le drapeau rw (lecture-écriture), nous pouvons démonter et remonter le système de fichiers avec les nouveaux paramètres, le tout en une seule commande.

sudo mount -o remount,rw /mnt

Répéter la canalisation de mount à travers grep. nous montre que le ro a été remplacé par rw (mis en évidence). Le système de fichiers est maintenant en mode lecture-écriture.

mount | grep /mnt

(Pas) déplacer un système de fichiers

Vous aviez l’habitude de pouvoir démonter un système de fichiers et le remonter sur un autre point de montage avec une seule commande.

L’option -M (move) de mount existe spécifiquement pour vous permettre de faire cela. Mais elle ne fonctionne plus dans les distributions Linux qui sont passées à systemd. Et c’est la plupart des grands noms.

Publicité

Si nous essayons de déplacer un système de fichiers de /mnt vers ./geek, cela échoue et donne le message d’erreur indiqué ci-dessous. Essayer de lister les fichiers dans le ystem de fichiers à travers ./geek ne retourne aucun résultat.

sudo mount -M /mnt ./geek
ls ./geek

La solution de contournement consiste à utiliser l’option -B (bind) que nous avons utilisée précédemment pour lier le point de montage original au nouveau point de montage.

sudo mount -B /mnt ./geek
ls ./geek

A part le fait de ne pas libérer le point de montage original, cela aura le même résultat pratique.

Observations finales

En utilisant l’option --make-private, il était possible de forcer le déplacement sur les systemd versions de Linux. Cette technique n’est pas présentée ici pour deux raisons.

  1. Elle peut avoir un comportement imprévisible.
  2. Elle n’était pas persistante et devait être répétée à chaque redémarrage.
Publicité

Devuan Linux utilise SysV init et non systemd. Un ordinateur a été chargé avec la dernière version de Devuan et testé. L’option -M (déplacer) a fonctionné comme prévu sur ce système.

A part les problèmes systemd avec l’option -M (move), vous devriez trouver l’utilisation de mount et umount simple. Ce sont d’excellentes commandes à avoir dans votre manche lorsque vous êtes confronté à un système endommagé et que vous devez commencer à reconstituer le système de fichiers à la main.

Dave McKay
Dave McKay a d’abord utilisé des ordinateurs lorsque la bande de papier perforé était en vogue, et il n’a jamais cessé de programmer depuis. Après plus de 30 ans dans l’industrie informatique, il est maintenant journaliste technologique à plein temps. Au cours de sa carrière, il a travaillé comme programmeur indépendant, responsable d’une équipe internationale de développement de logiciels, chef de projet de services informatiques et, plus récemment, comme responsable de la protection des données. Dave est un évangéliste Linux et un défenseur de l’open source.Lire la bio complète « 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *