fstab : Explications sur le fichier et sa structure Outils
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.
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
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
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)
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.
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
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
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>.
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.
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) !