Table des matières

Fstab

fstab : Explications sur le fichier et sa structure Outils

Introduction

Le fichier fstab (situé dans /etc/fstab) est le fichier de configuration qui contient les informations sur le montage des systèmes de fichiers..

fstab veut d'ailleurs dire File System Table !

Il liste, tous les disques et partitions disponibles, et indique où les monter dans l'arborescence du systèle Minux, avec quelles options.

A quoi ressemble le fichier

Le fichier fstab ressemble à ceci sur mon serveur :

Copier vers le presse-papierCode BASH :

# / was on /dev/sda1 during installation
UUID=fd0587f2-d0d0-404c-b4c3-aa358b8dacd6 / ext4 noatime 0 1
# /home was on /dev/sda4 during installation
UUID=377d38df-2140-4440-80fd-904271438ad1 /home ext4 noatime 0 0
# /var was on /dev/sda3 during installation
UUID=46a177d7-9856-4137-95a1-432e61085bde /var ext4 noatime 0 0
# swap was on /dev/sda2 during installation
UUID=1bd06a09-070e-447d-a3bf-553670128bf8 none swap sw 0 0

Explications

Le fichier est composé d'une ligne par système de fichier et de 6 champs, séparés par un espace ou une tabulation :

Copier vers le presse-papierCode BASH :

<filesystem>   <mnt>   <type>  <options>       <dump>  <pass>

Je vais reprendre la ligne de mon exemple pour décrire à quoi sert chaque option :

Copier vers le presse-papierCode BASH :

UUID=fd0587f2-d0d0-404c-b4c3-aa358b8dacd6  /  ext4  noatime  0 1

Première colonne

La première colonne indique le nom du périphérique ou les autres moyens de localiser la partition ou la source de données.

Ici, elle est repérée grâce à son UUID (chose commune de nos jours)

Pour info : UUID = Universal Unique Identifier. Il est possible d'obtenir ces UUID avec la commande lsblk -f, en root :

Copier vers le presse-papierCode BASH :

NAME        FSTYPE     LABEL     UUID                                 MOUNTPOINT
sda
|-sda1     ext4       CSS-14.16 fd0587f2-d0d0-404c-b4c3-aa358b8dacd6 /
|-sda2     swap                 1bd06a09-070e-447d-a3bf-553670128bf8 [SWAP]
|-sda3     ext4                 46a177d7-9856-4137-95a1-432e61085bde /var
`-sda4     ext4                 377d38df-2140-4440-80fd-904271438ad1 /home

Mais il est possible de renseigner la partition concernée de plusieurs façons :

  /dev/sda1(Par le nom du périphérique)
  /dev/mapper/datavg-volumelv(Par le nom du périphérique exemple LVM)
  UUID=ffffffff-ffff-ffff-ffff-ffffffffffff (Par le UUID)
  LABEL=root (Par son LABEL)

Deuxième colonne

La deuxième colonne indique le point de montage dans l’arborescence du système de fichiers global.

Dans mon exemple, /.

Les valeurs peuvent prendre n'importe quel dossier le l'arborescence.

Pour une partition qui n'a pas de point de montage (exemple une partition swap), on utilisera la valeur none.

Troisième colonne

La troisième colonne indique le type de système de fichiers ou l’algorithme utilisé pour l’interpréter.

Dans mon exemple, c'est ext4.

Parmi ces valeurs, on peut rencontrer : ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, btrfs, vfat, ntfs, swap

Quatrième colonne

La quatrième colonne définit des options particulières pour les systèmes de fichier. Certaines options sont pour le système de fichiers lui même. Les options indiquées dans le fichier fstab sont les mêmes que celles de la commande mount. Les options les plus répandues sont :

  defaults - paramètres de montage par défaut (équivalent à rw,suid,dev,exec,auto,nouser,async).
  auto - le système de fichiers sera monté automatiquement au démarrage, ou quand la commande 'mount -a' sera joué.
  noauto - le système de fichiers est monté que quand on lui demande de le faire.
  discard - Active la fonctionnalité TRIM sur un disque SSD à la volée (déconseillé)
  nofail - si la partition n'est pas disponible au démarrage, elle n'est pas montée et ne bloque pas le démarrage
  rw - monte le système de fichiers en lecture et en écriture.
  ro - monte le système de fichiers en lecture seulement.
  relatime - mettre à jour la date d'accès sur l'inode par rapport au modification ou au changement de date.
  noatime - ne pas mettre à jour la date d'accès sur l'inode pour le système de fichier
  user - permet à n'importe quel utilisateur de monter le système de fichiers (cela implique noexec,nosuid,nodev).
  nouser - autorise seulement le compte root à monter le fichier système (par défaut).
  sync - Les entrées/sorties (I/O) devraient être faites de manière synchrone.
  async - Les entrées/sorties (I/O) devraient être faites de manière asynchrone.
  suid - autorise les opérations sur les bits suid et sgid. Le plus souvent cela permet d'autoriser un utilisateur sur un ordinateur à exécuter un binaire avec une élévation temporaire des privilèges dans le but d'effectuer une tache spécifique.
  nosuid - bloque les opérations sur les bits suid et sgid.
  exec - autorise l'exécution de binaire qui sont sur cette partition (par défaut).
  noexec - n'autorise pas l'exécution de binaires sur le système de fichier.
  acl- autorise la gestion des acl sur cette partition.

Il est possible de spécifier plusieurs options et de les séparer par une virgule.

Dans mon exemple, si je veux en plus de noatime spécifier acl :

Copier vers le presse-papierCode BASH :

UUID=fd0587f2-d0d0-404c-b4c3-aa358b8dacd6     /     ext4     noatime,acl     0 1

Cinquième colonne

Cette colonne a toujours été mystérieuse pour moi. D'après quelques documentations sur Internet j'en suis arrivé à l'utilisation suivante :

Cette valeur est utilisée par l'utilitaire dump pour décider quand faire des sauvegardes. Quand il est installé, dump vérifie le chiffre inscrit et décide si le système de fichiers doit être sauvegardé. Les valeurs possibles sont 0 et 1. Si 0, dump va ignorer le système de fichier, si 1, dump fera une sauvegarde. La plupart des utilisateurs n'auront pas dump d'installé, ils pourront donc inscrire 0 dans le champ <dump>.

Sixième colonne

Cette colonne indique la priorité de vérification du système de fichiers par l'utilitaire fsck.

fsck lit le chiffre et détermine dans quel ordre les systèmes de fichiers vont être vérifiés. Le champ peut prendre les valeurs 0,1 et 2. Le système de fichiers root devra avoir la priorité la plus haute : 1, tout les autres systèmes que vous voulez vérifier devront avoir un 2. Les systèmes de fichiers avec un 0 ne seront pas vérifiés par l'utilitaire fsck.

Bonus : Montage d'un partage samba

Pour monter un partage réseau de type samba, s'assurer que les outils soient installés (paquet cifs-utils).

On pourra monter un partage via cette ligne dans le fstab :

Copier vers le presse-papierCode BASH :

//192.168.21.200/tmp              /media/WIN  cifs  rw,user=adrien,password=supermotdepasse,domain=LINUXTRICKS,_netdev  0 0
Ici, on spécifie le le serveur et le partage samba comme source de données.
Le type de système de fichiers est cifs.
On passera les identifiants et mot de passe dans les options.
On indiquera en option _netdev pour indiquer au système d'attendre la disponibilité du réseau pour monter la ressource. (ou on peut utiliser noauto pour monter manuellement le partage après le démarrage).
Attention, on doit être sûr que le serveur répond en face, sous peine d'avoir le démarrage bloqué (suivant les systèmes) !