Fstab

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Montage des systèmes de fichiers au démarrage
Fichier /etc/fstab
Commandes liées mount -a, findmnt, blkid
Voir aussi Systemctl (systemd génère des unités .mount à partir de ce fichier)

/etc/fstab (« file systems table ») décrit les systèmes de fichiers à monter automatiquement au démarrage : disques locaux, partitions, swap, et montages réseau (NFS, CIFS...). Le fichier est lu par le noyau/systemd très tôt au boot, et peut aussi être rejoué à chaud avec mount -a sans avoir besoin de redémarrer.

Format du fichier

Chaque ligne décrit un montage en six champs séparés par des espaces ou tabulations :

<périphérique>   <point de montage>   <type>   <options>   <dump>   <pass>
  • Périphérique : chemin du device (/dev/sdaX), un UUID=..., un LABEL=..., ou une source réseau (serveur:/export) — préférer UUID/LABEL aux noms /dev/sdX, qui peuvent changer d'ordre entre deux boots.
  • Point de montage : répertoire où sera monté le système de fichiers (swap pour une partition d'échange).
  • Type : type de système de fichiers (ext3, ext4, xfs, nfs, tmpfs, swap, auto pour laisser le noyau détecter).
  • Options : liste séparée par des virgules, voir section suivante.
  • Dump : utilisé par l'utilitaire dump historique (0 = ignoré, 1 = sauvegardé) — en pratique presque toujours à 0 aujourd'hui.
  • Pass : ordre de vérification par fsck au boot (0 = jamais vérifié, 1 = racine en premier, 2 = les autres systèmes de fichiers locaux ensuite) — mettre 0 pour le swap et les montages réseau, qui ne se vérifient pas avec fsck.

Options de montage courantes

  • auto / noauto : monté automatiquement au boot ou seulement à la demande (mount /point).
  • user / nouser : autorise (ou non) un utilisateur non-root à monter/démonter ce système de fichiers.
  • exec / noexec : autorise (ou interdit) l'exécution de binaires présents sur la partition.
  • ro / rw : montage en lecture seule ou lecture/écriture.
  • sync / async : écriture immédiate sur le disque à chaque opération, ou différée (async est le comportement par défaut, plus performant).
  • suid / nosuid : autorise (ou ignore) les bits setuid/setgid sur les binaires de la partition.
  • dev / nodev : interprète (ou non) les fichiers spéciaux de périphériques présents sur la partition.
  • defaults : raccourci pour rw, suid, dev, exec, auto, nouser, async — le point de départ le plus courant, à combiner avec d'autres options si besoin.
  • nofail : ne bloque pas le boot si ce montage échoue (indispensable pour un montage réseau ou un disque amovible qui peut être absent).
  • _netdev : indique que le périphérique nécessite le réseau (attend que l'interface soit up avant de tenter le montage) — à utiliser sur les montages NFS/CIFS/iSCSI, en général combiné avec nofail.

Identifier un périphérique (UUID/LABEL)

Pour éviter de dépendre d'un nom /dev/sdX instable, on référence le périphérique par son UUID ou son label :

blkid                     # liste tous les périphériques avec leur UUID/LABEL/type
blkid /dev/sda1           # UUID/LABEL d'un périphérique précis
lsblk -f                  # vue arborescente équivalente, avec les points de montage actuels

Exemple de fichier

/dev/vg_root/lv_root    /                       ext4    defaults          1 1
/dev/vg_root/lv_home    /home                   ext4    defaults          1 2
/dev/vg_root/lv_log     /var/log                ext4    defaults          1 2
/dev/vg_root/lv_tmp     /tmp                    ext4    defaults          1 2
UUID=xxxxxxxx-xxxx       /boot                   ext4    defaults          1 2
/dev/vg_root/lv_swap    swap                    swap    defaults          0 0
tmpfs                   /dev/shm                tmpfs   defaults          0 0
devpts                  /dev/pts                devpts  gid=5,mode=620    0 0
sysfs                   /sys                    sysfs   defaults          0 0
proc                    /proc                   proc    defaults          0 0

# partage NFS
serveur:/export         /mnt/export             nfs     rw,bg,hard,nointr,_netdev,nofail,vers=3,timeo=600,rsize=32768,wsize=32768 0 0

# bind mount (rendre un répertoire visible ailleurs dans l'arborescence)
/data/partage           /var/www/partage        none    bind              0 0

Le bloc bg,hard,nointr,vers=3,timeo=600,rsize=32768,wsize=32768 est un jeu d'options NFSv3 classique : montage en arrière-plan si le serveur ne répond pas tout de suite (bg), retente indéfiniment plutôt que de remonter une erreur à l'application (hard), non interruptible par un signal (nointr), et des tailles de buffer de lecture/écriture confortables pour de meilleures performances.

Appliquer / vérifier sans redémarrer

mount -a                     # monte toutes les entrées non encore montées de /etc/fstab
mount -av                    # idem, en verbeux — utile pour repérer une ligne fautive
mount /point                 # monte une seule entrée déjà déclarée dans fstab
umount /point                # démonte
mount -o remount,rw /point   # remonte un système de fichiers déjà monté avec d'autres options (ex: passer de ro à rw)
findmnt                      # liste tous les montages actifs, sous forme d'arbre
findmnt /point                # vérifie qu'un point précis est bien monté, et avec quelles options
findmnt --verify              # valide la syntaxe de /etc/fstab sans monter quoi que ce soit

⚠️ Toujours tester une nouvelle ligne fstab avec mount -av ou findmnt --verify avant de redémarrer : une entrée invalide sans nofail sur un système de fichiers indispensable (typiquement / ou /var) peut bloquer le boot et forcer une intervention en mode de secours.

Voir aussi

  • Systemctl — systemd traduit chaque ligne de /etc/fstab en unité .mount générée à la volée (visible avec systemctl list-units --type=mount)