Recherche de site Web

Monter de manière permanente un lecteur A sous Linux en utilisant Fstab


Si vous venez de brancher un disque USB externe sur votre système Linux et vous vous demandez comment le rendre accessible, vous êtes au bon endroit ! Monter un disque sous Linux peut sembler technique, mais c'est en réalité très simple une fois que vous comprenez les bases. Dans ce guide, nous allons vous expliquer les étapes pour monter de manière permanente un disque externe sous Linux en utilisant le fichier fstab.

Nous couvrirons également les meilleures pratiques telles que l'utilisation des UUID, l'activation de TRIM et la définition d'une valeur de umask plus sécurisée.

Que signifie montage ?

Dans Linux, « monter » un disque signifie le rendre accessible au système. Lorsque vous branchez un disque externe, Linux le détecte, mais vous devez indiquer au système où le « fixer » dans le système de fichiers. Cela se fait en créant un point de montage (un répertoire) et en y reliant le disque.

Qu'est-ce que Fstab ?

Le /etc/fstab (abréviation de table des systèmes de fichiers) est un fichier de configuration sous Linux qui définit comment et où les périphériques de stockage et les partitions sont montés. Il indique au système quels lecteurs monter, où les monter et quelles options utiliser pendant le processus de montage.

Pourquoi est-ce important ?

  • Montage automatique : Les disques listés dans /etc/fstab sont montés automatiquement au démarrage, donc vous n'avez pas besoin de les monter manuellement à chaque fois.
  • Options personnalisables : Vous pouvez spécifier des options de montage telles que les permissions de lecture/écriture, le type de système de fichiers et le comportement de gestion des erreurs.
  • Configuration centralisée : Tous les points de montage et leurs paramètres sont stockés en un seul endroit, ce qui facilite la gestion.

Structure de /etc/fstab :

Chaque ligne du fichier représente un système de fichiers ou une partition et comporte six champs :

  1. Périphérique : La partition ou le disque à monter (par exemple, /dev/sdb1, UUID=1234-5678, ou LABEL=MonDisque).
  2. Point de montage : Le répertoire où le lecteur sera accessible (par exemple, /mnt/monlecteur).
  3. Type de système de fichiers : Le type de système de fichiers (par exemple, ext4, ntfs, exfat).
  4. Options de montage : Une liste d'options séparées par des virgules (par exemple, defaults, noatime, nofail).
  5. Dump : Utilisé par l'utilitaire dump pour les sauvegardes (0 signifie pas de sauvegarde).
  6. Ordre Fsck : Spécifie l'ordre des vérifications du système de fichiers (0 signifie aucune vérification, 1 est pour la racine, 2 est pour les autres disques).

Exemple d'entrée :

Voici un exemple d'une entrée /etc/fstab :

UUID=1234-5678 /mnt/mydrive ext4 defaults,noatime 0 2

Ici,

  • UUID=1234-5678 : Le lecteur à monter (identifié par son UUID).
  • /mnt/mydrive : Le répertoire où le lecteur sera monté.
  • ext4 : Le type de système de fichiers.
  • defaults,noatime : Options de montage (paramètres par défaut + pas de mise à jour du temps d'accès).
  • 0 : Désactive les sauvegardes avec l'utilitaire dump.
  • 2 : Spécifie l'ordre des vérifications du système de fichiers.

En résumé, le fichier /etc/fstab est un outil puissant pour gérer comment et où les disques sont montés sous Linux. En comprenant sa structure et ses options, vous pouvez automatiser le montage et personnaliser la configuration de stockage de votre système.

Pour plus de détails sur Fstab, veuillez consulter le guide suivant :

  • Une introduction au fichier /etc/fstab de Linux

Voyons maintenant comment monter de façon permanente un lecteur sous Linux.

Étapes pour monter en permanence des disques externes sous Linux avec fstab

Étape 1 : Sauvegarder le fichier Fstab

Avant de modifier le fichier /etc/fstab, il est fortement recommandé de faire une sauvegarde. Si quelque chose tourne mal (par exemple, une faute de frappe ou une configuration incorrecte), votre système pourrait ne pas démarrer correctement. Avoir une sauvegarde vous permet de revenir facilement au fichier original et de résoudre le problème.

Sauvegarder /etc/fstab:

Depuis le Terminal, exécutez la commande suivante pour créer une sauvegarde :

sudo cp /etc/fstab /etc/fstab.backup

Cela crée une copie du fichier fstab nommée fstab.backup dans le même répertoire.

Restaurer à partir de la sauvegarde :

Si vous faites une erreur et devez restaurer le fichier original fstab :

Démarrez en mode de récupération ou utilisez un USB live si votre système échoue au démarrage.

Ouvrez un terminal et restaurez la sauvegarde en utilisant la commande :

sudo cp /etc/fstab.backup /etc/fstab

Redémarrez votre système :

sudo reboot

Toujours tester avant de redémarrer

Après avoir modifié /etc/fstab, testez toujours la configuration avec :

sudo mount -a

Cette commande tente de monter tous les systèmes de fichiers listés dans fstab. S'il n'y a pas d'erreurs, vos modifications sont probablement sûres. S'il y a des erreurs, corrigez-les avant de redémarrer.

Suivez toujours ce flux de travail :

  1. Sauvegarder /etc/fstab.
  2. Modifiez /etc/fstab.
  3. Test avec sudo mount -a.
  4. Redémarrez seulement s'il n'y a pas d'erreurs.

En suivant ces étapes, vous éviterez la plupart des problèmes courants lors du montage de disques externes sous Linux.

Étape 2 : Identifiez votre lecteur

Avant de monter, vous devez connaître le nom de votre disque. Linux attribue des noms comme /dev/sdb1 ou /dev/nvme0n1p1 aux disques.

Pour trouver votre lecteur, ouvrez un terminal et exécutez :

lsblk

Cela listera tous les disques et partitions de votre système. Cherchez votre disque externe dans le résultat. Il aura généralement une taille correspondant à la capacité de votre disque.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 931.5G  0 disk 
├─sda1        8:1    0 931.5G  0 part 
└─sda2        8:2    0    32M  0 part 
nvme0n1     259:0    0 465.8G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0 464.3G  0 part /
└─nvme0n1p3 259:3    0   976M  0 part [SWAP]

Comme vous le voyez dans la sortie ci-dessus, deux disques sont connectés à mon système. Le disque interne est /dev/nvme0n1 et le disque externe est /dev/sda.

Dans cet exemple, sda1 est le périphérique que nous allons monter.

Étape 3 : Créer un point de montage

Un point de montage est simplement un répertoire où le lecteur sera accessible. Vous pouvez en créer un n'importe où, mais il est courant d'utiliser /mnt ou /media. Par exemple :

sudo mkdir /media/ostechnix/SK_WD_SSD

Remplacez /media/ostechnix/SK_WD_SSD par un nom qui a du sens pour votre disque.

Étape 4 : Monter le disque temporairement

Pour tester le disque, vous pouvez le monter temporairement. Utilisez la commande mount :

sudo mount /dev/sda1 /media/ostechnix/SK_WD_SSD

Remplacez /dev/sda1 par le nom correct de votre disque. Maintenant, votre disque devrait être accessible à /media/ostechnix/SK_WD_SSD.

Étape 5 : Monter le lecteur de façon permanente en utilisant fstab

Pour vous assurer que votre disque se monte automatiquement à chaque démarrage de votre ordinateur, vous devez modifier le fichier /etc/fstab. Ce fichier indique à Linux quels disques monter et où.

Voici un exemple d'entrée /etc/fstab pour un SSD NVMe externe avec un système de fichiers exFAT :

LABEL=SK_WD_SSD /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=0 0 2

Veuillez noter que j'ai étiqueté mon disque externe comme "SK_WD_SSD" lorsque je l'ai formaté avec le système de fichiers exFAT. Dans votre cas, cela pourrait être différent.

Cette entrée fonctionne, mais améliorons-la en suivant les meilleures pratiques :

1. Utilisez l'UUID au lieu de l'étiquette:

Les UUID sont plus fiables car ils ne changent pas. Trouvez l'UUID de votre disque avec :

sudo blkid

Exemple de sortie :

/dev/nvme0n1p3: UUID="1ff239fc-674c-4749-9c73-fe5d0668071a" TYPE="swap" PARTUUID="95db6d7b-903b-4f8c-8583-bd00070aa45a"
/dev/nvme0n1p1: UUID="CF87-3143" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="9dc59fb7-f900-484d-b4c5-c9090b901727"
/dev/nvme0n1p2: UUID="99406049-9ff5-47d1-a1ce-d5e27cd859c0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="f2d515b2-a3c4-4c8c-a609-91d5b755b001"
/dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="VTOYEFI" LABEL="VTOYEFI" UUID="5A89-BA75" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6251cb36-02"
/dev/sda1: LABEL="SK_WD_SSD" UUID="2A81-C276" BLOCK_SIZE="512" TYPE="exfat" PTTYPE="dos" PARTUUID="6251cb36-01"

Dans cet exemple, nous allons monter le /dev/sda1 qui a pour UUID "2A81-C276".

2. Définir un umask sécurisé :

Utilisez umask=022 pour donner à le propriétaire un accès complet et aux autres un accès en lecture seule.

3. Prévenir les erreurs de démarrage:

Ajoutez l'option nofail pour éviter les erreurs de démarrage si le disque est déconnecté.

Voici l'entrée finale et améliorée /etc/fstab :

UUID=2A81-C276 /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail 0 2

Cette entrée /etc/fstab :

  1. Monte le lecteur avec l'UUID 2A81-C276 sur /media/ostechnix/SK_WD_SSD.
  2. Utilise le système de fichiers exfat.
  3. Applique des options de montage pour la sécurité (errors=remount-ro), les performances (noatime, nodiratime) et l'accès des utilisateurs (users, umask=022).
  4. Prévient les erreurs de démarrage si le lecteur est déconnecté (nofail).
  5. Désactive les sauvegardes (0) et planifie les vérifications du système de fichiers après le système de fichiers racine (2).

En résumé, cette ligne est utilisée pour monter de façon permanente un lecteur sous Linux.

Voici la répartition détaillée de l'entrée fstab ci-dessus :

1. UUID=2A81-C276

Il spécifie le lecteur à monter en utilisant son UUID (Identifiant Unique Universel).

Les UUID sont uniques et ne changent pas, contrairement aux noms de périphériques (par exemple, /dev/sda1, /dev/sdb1), qui peuvent varier en fonction de l'ordre de connexion des disques.

Vous pouvez exécuter sudo blkid pour lister tous les disques et leurs UUID.

2. /media/ostechnix/SK_WD_SSD

Il spécifie le point de montage, qui est le répertoire où le disque sera accessible. C’est ici que vous accéderez à vos fichiers après que le disque aura été monté.

Vous pouvez changer cela pour n'importe quel répertoire que vous préférez (par exemple, /mnt/mydrive).

3. exfat

Il spécifie le type de système de fichiers du disque. Linux doit savoir comment lire et écrire sur le disque. Les systèmes de fichiers courants incluent ext4, ntfs, vfat et exfat.

Remplacez exfat par le type de système de fichiers correct pour votre disque.

4. errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail

Ce sont des options de montage qui contrôlent la manière dont le disque est monté. Cela fournit un ensemble standard d'options pour la plupart des cas d'utilisation.

Décomposons-les :

errors=remount-ro :

Si des erreurs sont détectées, le disque est remonté en lecture seule pour éviter la corruption des données. Il protège vos données en cas d'erreurs du système de fichiers.

valeurs par défaut :

Cela active un ensemble d'options de montage par défaut, y compris :

  • rw : Accès en lecture et écriture.
  • suid : Permet aux bits SUID et SGID de prendre effet.
  • dev : Permet l'interprétation des fichiers de périphérique sur le système de fichiers.
  • exec : Permet l'exécution de fichiers binaires.
  • auto : Monte automatiquement le lecteur au démarrage.
  • nouser : Seul root peut monter le lecteur (remplacé par users dans ce cas).
  • async : Les opérations sur le système de fichiers sont effectuées de manière asynchrone.

utilisateurs

Il permet aux utilisateurs non-root de monter et démonter le disque. Utile pour les disques externes qui doivent être montés par des utilisateurs réguliers.

noatime et nodiratime

Cela empêchera le système de mettre à jour les temps d'accès sur les fichiers et les répertoires. Cela améliore les performances et réduit l'usure des SSD en minimisant les opérations d'écriture.

umask=022

Il définit les autorisations de fichier pour le lecteur et contrôle qui peut accéder et modifier les fichiers sur le lecteur.

Ici umask=022 signifie :

  • Propriétaire : Lire, écrire et exécuter (rwx).
  • Groupe et autres : Lire et exécuter (r-x)

pas d'échec

Il empêche le système de générer des erreurs ou de ne pas démarrer si le disque n'est pas connecté. Il est essentiel pour les disques externes qui ne sont pas toujours branchés.

5. 0

Il contrôle si le lecteur est sauvegardé par l'utilitaire dump. La plupart des utilisateurs n'utilisent pas dump, donc 0 est généralement approprié.

  • 0 : Désactive les sauvegardes (recommandé pour la plupart des utilisateurs).
  • 1 : Active les sauvegardes.

6. 2

Il spécifie l'ordre dans lequel le système de fichiers est vérifié par fsck lors du démarrage.

  • 0 : Pas de vérification.
  • 1 : Vérifiez d'abord (utilisé pour le système de fichiers racine).
  • 2 : Vérifiez après le système de fichiers racine.

Cela garantit l'intégrité du système de fichiers pour les lecteurs non-root.

Étape 6 : Ajouter une entrée à Fstab

Pour ajouter l'entrée ci-dessus dans Fstab, ouvrez le fichier /etc/fstab dans un éditeur de texte :

sudo nano /etc/fstab

Ajoutez la ligne à la fin du fichier.

Voici les entrées fstab de mon système à titre de référence :

# /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).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=99406049-9ff5-47d1-a1ce-d5e27cd859c0 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=CF87-3143  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/nvme0n1p3 during installation
UUID=1ff239fc-674c-4749-9c73-fe5d0668071a none            swap    sw              0       0
# Fstab Entry to Permanently Mount External Drive
UUID=2A81-C276 /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail 0 2

Entrée Fstab pour monter en permanence un disque externe

Appuyez sur CTRL+O suivi de CTRL+X pour enregistrer le fichier et quitter l'éditeur.

Étape 7 : Tester la configuration

Avant de redémarrer, testez votre configuration pour vous assurer qu'il n'y a pas d'erreurs :

sudo mount -a

S'il n'y a pas d'erreurs, votre lecteur est prêt à être utilisé !

Vous pouvez vérifier cela en utilisant la commande df :

df -h

Cette commande vous montrera la liste des lecteurs montés ainsi que leurs points de montage sur votre système :

Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.1G  2.3M  3.1G   1% /run
/dev/nvme0n1p2  456G  264G  170G  61% /
tmpfs            16G  104M   16G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
efivarfs        192K  109K   79K  59% /sys/firmware/efi/efivars
/dev/nvme0n1p1  511M  9.3M  502M   2% /boot/efi
/dev/sda1       932G  799G  133G  86% /media/ostechnix/SK_WD_SSD
/dev/fuse       128M   16K  128M   1% /etc/pve
tmpfs           3.1G  2.6M  3.1G   1% /run/user/1000

Comme vous pouvez le voir dans la sortie ci-dessus, le /dev/sda1 est monté sur /media/ostechnix/SK_WD_SSD.

Étape 8 : Activer le TRIM périodique

Si vous utilisez un SSD, activez le TRIM périodique pour maintenir les performances.

Pour ce faire, exécutez :

sudo fstrim -v /media/ostechnix/SK_WD_SSD

Vous pouvez également configurer un cron job pour exécuter ceci automatiquement. Par exemple, pour exécuter TRIM chaque semaine, ajoutez ceci à votre crontab :

0 2 * * 0 sudo fstrim -v /media/ostechnix/SK_WD_SSD

Étape 9 : Détacher le lecteur (Optionnel)

Lorsque vous avez terminé d'utiliser le disque, démontez-le en toute sécurité :

sudo umount /media/ostechnix/SK_WD_SSD

Vous pouvez également le faire depuis votre gestionnaire de fichiers GUI (Cliquez droit et choisissez Détacher ou Retirer en toute sécurité).

Choisir la méthode TRIM correcte

Il existe généralement deux méthodes de TRIM. Ce sont TRIM continu et TRIM périodique.

Choisir entre TRIM continu et TRIM périodique dépend de votre cas d'utilisation spécifique, de la charge de travail sur votre SSD et de votre préférence entre performance et longévité.

Qu'est-ce que le TRIM continu ?

TRIM continu (activé par l'option de montage discard dans /etc/fstab) envoie des commandes TRIM au SSD en temps réel lorsque des fichiers sont supprimés. Cela permet à l'espace libre du SSD d'être immédiatement disponible pour de nouvelles écritures.

Avantages :

  • Récupération immédiate de l'espace : Le SSD sait immédiatement quels blocs sont libres, ce qui peut améliorer les performances d'écriture au fil du temps.
  • Performance constante : Aide à maintenir une performance constante en empêchant le SSD de devoir gérer des données obsolètes.

Inconvénients :

  • Usure accrue : Les opérations TRIM fréquentes peuvent augmenter l'usure du SSD, bien que les SSD modernes soient conçus pour y faire face.
  • Latence potentielle : Les opérations TRIM en temps réel peuvent introduire une légère latence lors de la suppression de fichiers, ce qui peut être perceptible dans des charges de travail à haute performance.

Quand utiliser le TRIM continu ?

  • Si vous supprimez fréquemment de grandes quantités de données et souhaitez maintenir des performances optimales.
  • Si votre charge de travail implique de nombreuses petites écritures et suppressions aléatoires.

Comment activer le TRIM continu

Ajoutez l'option discard à votre entrée /etc/fstab :

UUID=your-uuid-here /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail,discard 0 2

Qu'est-ce que le TRIM périodique ?

Le TRIM périodique (activé en exécutant fstrim manuellement ou via une tâche planifiée) envoie des commandes TRIM au SSD à intervalles réguliers (par exemple, quotidiennement ou hebdomadairement).

Avantages :

  • Usure réduite : Moins d'opérations TRIM signifient moins d'usure sur le SSD, ce qui peut prolonger sa durée de vie.
  • Aucune surcharge de latence : Les opérations TRIM sont regroupées et exécutées à un moment opportun, évitant ainsi une latence potentielle lors des suppressions de fichiers.

Inconvénients :

  • Récupération d'espace retardée : L'espace libre n'est pas immédiatement disponible pour de nouvelles écritures, ce qui pourrait réduire temporairement les performances.
  • Configuration manuelle ou planifiée : Nécessite la configuration d’un travail cron ou d’un timer systemd pour exécuter fstrim périodiquement.

Quand utiliser le TRIM périodique ?

  • Si vous voulez minimiser l'usure du SSD et n'avez pas besoin de récupération d'espace immédiate.
  • Si votre charge de travail implique principalement de grandes écritures et suppressions séquentielles.

Comment activer le TRIM périodique

Installez util-linux (si ce n'est pas déjà fait) :

sudo apt install util-linux

Exécuter fstrim manuellement :

sudo fstrim -v /media/ostechnix/SK_WD_SSD

Configurer un travail Cron (par exemple, hebdomadaire) :

Ouvrez l'éditeur de crontab :

crontab -e

Ajoutez cette ligne pour exécuter fstrim tous les dimanches à 2h du matin :

0 2 * * 0 sudo fstrim -v /media/ostechnix/SK_WD_SSD

Alternativement, utilisez le minuterie systemd (si votre système utilise systemd) :

Créez un service et un minuteur systemd pour exécuter fstrim périodiquement.

Pour activer le TRIM périodique à l'échelle du système, exécutez :

sudo systemctl enable --now fstrim.timer

Cela s'exécute TRIM chaque semaine sur les SSD pris en charge.

Si vous voulez exécuter TRIM manuellement à tout moment, vous pouvez faire :

sudo fstrim -av

Cela réduit tous les systèmes de fichiers montés qui le prennent en charge.

Quelle méthode devriez-vous choisir ?

  • Pour la plupart des utilisateurs : il est généralement recommandé d'effectuer un TRIM périodique. Cela offre un bon équilibre entre performance et durée de vie du SSD.
  • Pour les charges de travail haute performance : Si vous avez besoin d'une performance constante et que vous supprimez fréquemment des fichiers, le TRIM continu pourrait être meilleur.

Ma recommandation

Si vous allez utiliser un SSD NVMe externe pour des sauvegardes quotidiennes, le TRIM périodique est probablement le meilleur choix. Les sauvegardes impliquent généralement des écritures volumineuses et séquentielles, et vous n'avez pas besoin d'une récupération immédiate de l'espace. Exécuter fstrim une fois par semaine devrait suffire à maintenir les performances et à prolonger la durée de vie du SSD.

Conseils Bonus

1. Vérifier l'état du disque

Utilisez smartctl pour surveiller l’état de santé de votre disque :

sudo apt install smartmontools
sudo smartctl -a /dev/sdb1 ## This trims all mounted filesystems that support it.

2. Utiliser une interface graphique (Optionnel)

Si vous préférez une interface graphique, la plupart des environnements de bureau Linux (comme GNOME ou KDE) ont des gestionnaires de fichiers qui peuvent monter des disques en un seul clic.

Questions fréquemment posées

Q : Que faire si mon disque n’apparaît pas dans lsblk ?

A : Assurez-vous que le disque est correctement connecté. S'il n'est toujours pas détecté, vérifiez les journaux de votre système avec dmesg pour les erreurs.

Q : Quelle est la différence entre /mnt et /media ?

A : /mnt est généralement utilisé pour les montages temporaires, tandis que /media est destiné aux lecteurs amovibles. Vous pouvez utiliser l'un ou l'autre, mais restez cohérent en choisissant un seul.

Conclusion

Monter un disque dur externe de manière permanente sous Linux est un processus simple une fois que vous connaissez les étapes. En suivant ce guide, vous pouvez rendre votre disque accessible et vous assurer qu'il se monte automatiquement à chaque démarrage de votre système.

Lecture suggérée:

  • Comment trouver les types de systèmes de fichiers sous Linux
  • Comment Trouver les Détails du Disque Dur sous Linux
  • Comment recueillir des informations complètes sur le disque sous Linux

Image en vedette par Hans de Pixabay.