fstab (Français) - ArchWiki

# fstab (Français)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Related articles

- Persistent block device naming (Français)
- File systems
- tmpfs (Français)
- Swap (Français)

Le fichier fstab(5) peut être utilisé pour définir comment les partitions de disque, les autres périphériques de blocs ou les systèmes de fichiers distants doivent être montés dans le système de fichiers.

Chaque système de fichiers est décrit dans une ligne séparée. Ces définitions seront converties en unités de montage Systemd dynamiquement lors du démarrage, et lorsque la configuration du gestionnaire de système est rechargée. La configuration par défaut va automatiquement installer et monter les systèmes de fichiers fsck et mount avant de démarrer les services qui nécessitent qu'ils soient montés.

Par exemple, Systemd s'assure automatiquement que les montages système de fichiers distants comme NFS ou Samba ne sont lancés qu'après la configuration du réseau. Par conséquent, les montages de systèmes de fichiers locaux et distants spécifiés dans `/etc/fstab` doivent fonctionner immédiatement. Voir systemd.mount(5) pour plus de détails.

La commande mount utilisera fstab, si un seul répertoire ou périphérique est donné, pour saisir la valeur de l'autre paramètre. Dans ce cas, les options de montage répertoriées dans fstab seront également utilisées.

## Utilisation

Un simple fichier `/etc/fstab`, utilisant des descripteurs de noms du noyau:

    /etc/fstab

    # <device>             <dir>         <type>       <options>                 <dump>       <fsck>
    /dev/sda1               /             ext4          defaults,noatime         0            1
    /dev/sda2               none          swap          defaults                 0            0
    /dev/sda3               /home         ext4          defaults,noatime         0            2

- `<device>` Décrit le périphérique spécial bloc ou le système de fichiers distant à monter; Voir #Identification des systèmes de fichiers.
- `<dir>` Décrit le répertoire de montage
- `<type>` le type de système de fichier
- `<option>` les options de montage associées; Voir mount(8) § FILESYSTEM-INDEPENDENT_MOUNT_OPTIONS et ext4(5) § MOUNT_OPTIONS.
- `<dump>` Est vérifié par l'utilitaire dump(8). Ce champs est d'ordinaire à `0`, ce qui désactive la vérification.
- `<fsck>` Règle l'ordre des contrôles du système de fichiers au démarrage; Voir fsck(8). Pour la partition racine celui-ci devrait avoir une valeur de 1. Pour les autres partitions cela devrait être `2`, ou `0` pour désactiver la vérification.

Astuce:

- Le type `auto` permet à la commande `mount` de deviner quel type de système de fichiers est utilisé. Ceci est utile pour les supports optiques (CD/DVD/Blu-ray).
- Si la partition racine est de type btrfs ou XFS, l'option fsck devrait être réglée sur `0`. Voir fsck.btrfs(8) et fsck.xfs(8).

Tous les périphériques spécifiés dans `/etc/fstab` seront automatiquement montés lors du démarrage et lorsque le drapeau `-a` est utilisé avec le mount(8), à moins que l'option `noauto` soit spécifiée. Les périphériques répertoriés et non présents entraîneront une erreur à moins que l'option `nofail` soit utilisée.

Voir fstab(5) § DESCRIPTION pour plus de détails.

## Identification des systèmes de fichiers

Il existe différentes façons d'identifier les systèmes de fichiers qui seront montés dans `/etc/fstab`: le descripteur de nom du noyau, étiquette ou UUID, étiquettes GPT et UUID pour les disques GPT. UUID doit être privilégié par rapport aux descripteurs de noms et aux étiquettes du noyau. Voir Nommer un bloc de périphériques persistants pour plus d'explications. Il est recommandé de lire cet article avant de continuer.

Dans cette section, nous décrirons comment monter des systèmes de fichiers en utilisant toutes les méthodes de montage disponibles via des exemples. La sortie des commandes `lsblk -f` et `blkid` utilisées dans les exemples suivants sont disponible dans l'article Nommer un bloc de périphériques persistants. Pour utiliser les descripteurs de noms du noyau, utilisez `/dev/sdxy` dans la première colonne.

### Descripteurs de noms du noyau

Exécutez `lsblk -f` pour lister les partitions et préfixer les valeurs dans la colonne NAME avec `/dev/`.

    /etc/fstab

    # <device>      <dir> <type> <options>                                                                                            <dump> <fsck>
    /dev/sda1       /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0      2
    /dev/sda2       /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
    /dev/sda3       /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
    /dev/sda4       none  swap   defaults                                                                                             0      0

### Étiquettes

Éxécutez `lsblk -f` pour lister les partitions et préfixer les valeurs dans la colonne LABEL avec `LABEL=` :

    /etc/fstab

    # <device>      <dir> <type> <options>                                                                                            <dump> <fsck>
    LABEL=EFI       /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0      2
    LABEL=SYSTEM    /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
    LABEL=DATA      /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
    LABEL=SWAP      none  swap   defaults                                                                                             0      0

Note: Si l'un de vos champs contient des espaces, voir #Chemin d'accès aux fichiers (les espaces).

### UUIDs

Éxécutez `lsblk -f` pour lister les partitions et préfixer les valeurs dans la colonne UUID avec `UUID=`:

    /etc/fstab

    # <device>                                <dir> <type> <options>                                                                                            <dump> <fsck>
    UUID=CBB6-24F2                            /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0      2
    UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   rw,relatime,discard,data=ordered              0      1
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   rw,relatime,discard,data=ordered              0      2
    UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults                                      0      0

### Étiquette GPT

Exécutez `blkid` pour lister les partitions et utilisez les valeurs PARTLABEL sans les guillemets:

    /etc/fstab

    # <device>                           <dir> <type> <options>                                                                                            <dump> <fsck>
    PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0      2
    PARTLABEL=GNU/LINUX                  /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
    PARTLABEL=HOME                       /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
    PARTLABEL=SWAP                       none  swap   defaults                                                                                             0      0

Astuce: si vous souhaitez retourner juste l'UUID d'une partition spécifique: `lsblk -no UUID /dev/sda2`

### UUIDs GPT

Exécutez `blkid` pour lister les partitions et utilisez les valeurs PARTUUID sans les guillemets:

    /etc/fstab

    # <device>                                    <dir> <type> <options>                                                                                            <dump> <fsck>
    PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0      2
    PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
    PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
    PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults                                                                                             0      0

## Trucs et astuces

### Automount avec systemd

Si vous avez une partition `/home` volumineuse, il peut-être préférable de permettre aux services qui ne dépendent pas de `/home` de démarrer pendant que `/home` est vérifié par fsck. Cela peut être obtenu en ajoutant les options suivantes à l'entrée `/etc/fstab` de votre partition `/home`:

    noauto,x-systemd.automount

Cela exécutera fsck et mount de `/home` lors du premier accès tandis que le noyau mettra en mémoire tampon tous les accès à la partition `/home` jusqu'à ce qu'elle soit prête.

Note: Cela rendra votre système de fichiers `/home` de type `autofs`, qui est ignoré par mlocate par défaut. La vitesse de montage automatique de la partition `/home` ne doit pas dépasser une seconde ou deux, selon votre système, donc cette astuce peut ne pas en valoir la peine.

Il en va de même pour les montages de systèmes de fichiers distants. Si vous voulez qu'ils ne soient montés que sur l'accès, Vous devrez utiliser les paramètres `noauto,x-systemd.automount`. En outre, vous pouvez utiliser l'option `x-systemd.device-timeout=#` pour spécifier un délai d'attente au cas où la ressource réseau ne serait pas disponible.

Note: Si vous avez l'intention d'utiliser l'indicateur `exec` avec automount, vous devez supprimer l'indicateur de l'utilisateur pour qu'il fonctionne correctement, tel que relevé dans un rapport de bogue Fedora

Si vous avez chiffré des systèmes de fichiers avec des fichiers clés, vous pouvez également ajouter le paramètre `noauto` aux entrées correspondantes dans `/etc/crypttab`. Systemd n'ouvrira pas le périphérique chiffré lors du démarrage, mais attendra qu'il soit effectivement accessible et l'ouvrira automatiquement avec le fichier clé spécifié avant de le monter. Cela pourrait faire gagner quelques secondes lors du démarrage si vous utilisez un périphérique RAID crypté par exemple, car Systemd n' a pas à attendre que le périphérique soit disponible. . Par exemple:

    /etc/crypttab

    data /dev/md0 /root/key noauto

Vous pouvez également spécifier un délai d'attente pour un montage avec l'indicateur `x-systemd.idle-timeout`. Par exemple:

    noauto,x-systemd.automount,x-systemd.idle-timeout=1min

Cela permettra à Systemd de démonter le support après 1 minute de repos.

### Appareils externes

Les périphériques externes qui doivent être montés lorsqu'ils sont présents mais ignorés s'ils sont absents peuvent nécessiter l'option `nofail`. Cela empêche les erreurs signalées lors du démarrage. Par exemple:

    /etc/fstab

    /dev/sdg1        /media/backup    jfs    defaults,nofail,x-systemd.device-timeout=1    0  2

L'option `nofail` se combine mieux avec l'option `x-systemd.device-timeout`. Cela s'explique par le fait que le délai d'expiration par défaut du périphérique est de 90 secondes, de sorte qu'un périphérique externe déconnecté avec seulement `nofail` fera prendre à votre démarrage 90 secondes de plus, à moins que vous ne reconfiguriez le délai d'expiration comme indiqué. Assurez-vous de ne pas régler le délai d'attente sur 0, car cela se traduit par un délai d'attente infini.

### Chemin d'accès aux fichiers (les espaces)

Depuis que les espaces sont utilisés dans `fstab` pour délimiter les champs, si un champ (PARTLABEL, LABEL ou le point de montage) contient des espaces, ils doivent être remplacés par des caractères d'échappement suivis par un code octal à 3 chiffres, soit `\040`:

    /etc/fstab

    UUID=47FA-4071     /home/username/Camera\040Pictures   vfat  defaults,noatime       0  0
    /dev/sda7          /media/100\040GB\040(Storage)       ext4  defaults,noatime,user  0  2

### Options atime

Les options ci-dessous peuvent affecter les performances du lecteur.

- L'option `strictatime` met à jour le temps d'accès des fichiers chaque fois qu'ils sont consultés. C'est plus utile lorsque Linux est utilisé pour les serveurs; il n' a pas beaucoup de valeur pour l'utilisation du bureau. L'inconvénient de l'option `strictatime` est que même la lecture d'un fichier dans le cache de la page (lecture à partir de la mémoire au lieu du lecteur) entraînera toujours une écriture!

- L'option `noatime` désactive complètement les temps d'accès aux fichiers d'écriture sur le lecteur chaque fois que vous lisez un fichier. Cela fonctionne bien pour presque toutes les applications, sauf pour celles qui ont besoin de savoir si un fichier a été lu depuis sa dernière modification. Les informations de temps d'écriture d'un fichier continueront à être mises à jour chaque fois que le fichier est écrit avec cette option activée.

- L'option `nodiratime` désactive l'écriture des temps d'accès aux fichiers uniquement pour les répertoires alors que d'autres fichiers ont encore des temps d'accès écrits.

Note: `noatime` implique `nodiratime`. Vous n'avez pas besoin de préciser les deux.

- `relatime` met à jour le temps d'accès uniquement si le temps d'accès précédent était antérieur à l'heure de modification ou de changement en cours. En outre, depuis Linux 2.6.30, le temps d'accès est toujours mis à jour si le temps d'accès précédent remontait à plus de 24 heures. Cette option est utilisée lorsque aucune valeur de l'option `atime` n'est spécifiée, ou que celle ci est `default` (ce qui signifie utiliser l'option par défaut du noyau, qui est `relatime`; voir mount(8) et wikipedia: Stat (appel système)).

Lorsque vous utilisez Mutt (en) ou d'autres applications qui ont besoin de savoir si un fichier a été lu depuis la dernière fois qu'il a été modifié, l'option `noatime` ne doit pas être utilisée; utiliser l'option `relatime` est acceptable et fournit quand même une amélioration de performance.

Depuis le noyau 4.0 il y a une autre option connexe:

- `lazytime` réduit les écritures sur le disque en maintenant les changements aux horodatages des inodes (temps d'accès, de modification et de création) uniquement en mémoire. Les horodatages sur le disque ne sont mis à jour que lorsque (1) l'inode du fichier a besoin d'être mis à jour pour certains changements non liés aux horodatages du fichier, (2) une synchronisation sur disque se produit, (3) une inode non supprimée est expulsée de la mémoire ou (4) si plus de 24 heures se sont écoulées depuis la dernière fois que la copie en mémoire a été écrite sur le disque.

Attention: En cas de panne du système, les temps d'accès et de modification sur le disque dur peuvent être dépassés jusqu'à 24 heures.
Note: L'option `lazytime` fonctionne en combinaison avec les options précitées `* atime`, et non comme une alternative. C'est l'option `relatime` par défaut, mais peut même être `strictatime` avec le même coût ou moins des écritures de disque que l'option simple.

### Remontage de la partition racine

Si, pour une raison quelconque, la partition racine a été incorrectement montée en lecture seule, remontez la partition racine avec un accès en lecture-écriture avec la commande suivante:

    mount -o remount,rw /

## Voir également

- Liste complète des périphériques, y compris le périphérique de bloc.
- Système de fichiers hiérarchie standard.
- Cache 30x plus rapide et vitesse du site avec TMPFS
- Ajout de partage Samba dans /etc/fstab

Categories:

- File systems (Français)
- Boot process (Français)