- Dave McKay
@TheGurkha
- Mise à jour le 28 mai 2019, 17h15 EDT
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.
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 mount
umount
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 :
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.
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.
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
.
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.
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.
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.
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
.
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
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é.
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.
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.
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.
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
.
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
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.
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 pi@marineville
car elle est connectée au Raspberry Pi.
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 dave@howtogeek
.
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 surshare
. - /media/dave/NAS : Le nom du point de montage. Vous devez créer votre point de montage au préalable.
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
.
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
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 !
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.
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.
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.
- Elle peut avoir un comportement imprévisible.
- Elle n’était pas persistante et devait être répétée à chaque redémarrage.
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 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 «