Dans ce guide, nous apprendrons ce qu'est fstab sous Linux, et à quoi sert fstab
fichier, la structure de /etc/fstab
fichier et enfin comment déboguer les problèmes de fstab. À la fin, nous discuterons également d'une brève introduction à mtab fichier, son utilisation et en quoi mtab diffère de fstab.
Qu'est-ce que fstab ?
En tant qu'administrateur de serveur ou utilisateur de bureau Linux ou toute personne novice sur Linux, comprendre /etc/fstab
fichier sous Linux et comment déboguer les problèmes de fstab sont très importants.
Fstab est un f ile s onglet du système fichier utilisé par le noyau lors du démarrage pour monter le système de fichiers. Pour faire simple, vous créerez une ou plusieurs partitions sur votre disque dur et vous ferez une entrée pour chaque partition dans fstab qui sera lue par le noyau lors du démarrage et le système de fichiers sera automatiquement monté.
Par défaut, toutes les partitions que vous créez lors de l'installation du système d'exploitation seront automatiquement ajoutées au fichier fstab. Plongeons-nous et voyons comment fstab est structuré et comment utiliser fstab.
REMARQUE : Avant de modifier le fichier fstab, il est recommandé d'effectuer une sauvegarde du fichier. Si quelque chose ne va pas, vous pouvez rétablir la copie de sauvegarde.
Structure du fichier /etc/fstab
Fstab est situé dans le /etc/
répertoire et appartenant à l'utilisateur root. Vous devez donc modifier le fichier en utilisant sudo
privilège ou en tant que root
utilisateur.
Affichez le fichier fstab en exécutant la commande suivante pour comprendre sa structure.
$ cat /etc/fstab
$ cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format
Le fichier Fstab se compose de six colonnes (sections).
- Système de fichiers - Bloquer le périphérique qui est partitionné et créer un système de fichiers sur celui-ci.
- Point de montage - Où le système de fichiers est monté dans votre système.
- Tapez - Type de système de fichiers (Ext4, Ext3, swap, Xfs, etc.)
- Options - Ceci décide des paramètres de montage à prendre en compte lors du montage du système de fichiers
- Vider - C'est à des fins de sauvegarde utilisées par le
dump
utilitaire. Le mettre à zéro signifie désactiver la sauvegarde et un signifie activer la sauvegarde sur un appareil/support donné. - Passer - Vérification du système de fichiers au démarrage par le
fsck
utilitaire. Zéro désactivera la vérification du système de fichiers et pour le système de fichiers racine, il doit être défini sur 1 et pour les autres partitions, il doit être défini sur 2.
Chaque système de fichiers est décrit sur une ligne distincte. Les champs de chaque ligne sont séparés par des tabulations ou des espaces.
Voyons ces six paramètres en détail.
1. Système de fichiers
Dans la première colonne de fstab, vous devez indiquer la partition que vous allez monter. Soit vous pouvez utiliser un nom de périphérique de bloc comme /dev/sda*
ou utilisez l'UUID.
Lorsque vous créez un système de fichiers sur n'importe quel lecteur partitionné à l'aide de mkfs
commande, un UUID sera créé pour cette partition particulière.
Disons que vous avez créé une nouvelle partition et qu'il s'agit de sdb1
. Dans ce cas, votre fstab sera le suivant.
/dev/sdb1 /home ext4 defaults 0 0
Pour obtenir l'ID de bloc pour n'importe quel système de fichiers, exécutez la commande suivante.
$ blkid # Print info about all fs. $ blkid /dev/sdb1 # Print info about given fs alone.
Maintenant, en utilisant cet identifiant de bloc, vous pouvez monter le système de fichiers comme indiqué dans l'image ci-dessous.
2. Point de montage
Dans la deuxième colonne, vous devez spécifier le répertoire du point de montage. Le point de montage fait référence au répertoire du système de fichiers où votre lecteur partitionné sera monté.
Comme vous le voyez dans l'image ci-dessous, chaque partition est montée dans un répertoire différent. Par exemple, la partition /dev/sdb1
est dédié au répertoire personnel et monté sous /home
.
Supposons que vous ayez créé une nouvelle partition avec une taille de 100 Go et avec EXT4 comme type de partition. L'entrée fstab sera la suivante. Ici /mnt/data1
est le point de montage.
UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0
Ou
/dev/sdb2 /mnt/data1/ ext4 defaults 0 0
3. Type de système de fichiers
Ici, vous mentionnerez le type de système de fichiers (EXT2, EXT3, EXT4, XFS, VFAT, SWAP, etc.). Si vous souhaitez connaître le type de système de fichiers pour un périphérique bloc, utilisez blkid
ou lsblk
commande.
$ lsblk -f /dev/sdb1 NAME FSTYPE LABEL UUID MOUNTPOINT sdb1 ext4 365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
$ blkid /dev/sdb1 /dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"
4. Options de montage
Il s'agit d'une colonne importante dans laquelle vous passerez les options de montage pour le système de fichiers. De nombreuses options de montage peuvent être utilisées. Pour une utilisation normale, l'utilisation de l'option par défaut suffit. L'option par défaut pointe vers la combinaison de sept (rw
, suid
, dev
, exec
, auto
, nouser
, et async
) options.
Voyons ce que fait l'option par défaut.
rw
- Cela indique au système de fichiers d'être monté en mode lecture-écriture. Lorsqu'une erreur se produit, vous pouvez faire en sorte que le système de fichiers soit monté en mode lecture seule en utilisant l'optionerrors=remount-ro
.suid
- Toute opération liée àsuid
etsgid
sera autorisé via cette option.dev
- Il interprétera les périphériques de caractères et de blocs sur le système de fichiers. Si vous ne souhaitez pas interpréter les caractères et bloquer les périphériques, vous pouvez utiliser explicitement l'option nodev.exec
- Depuis le système de fichiers, vous pouvez exécuter les binaires en définissant l'option exec. En face de cela, vous pouvez utiliser lenoexec
option pour ne pas exécuter les binaires du système de fichiers.auto
- Cette option est responsable du montage automatique du système de fichiers pendant le démarrage ou chaque fois que vous exécutez la commande mount -a depuis le terminal. En face de cela, il y anoauto
option qui permettra uniquement de monter le système de fichiers individuellement.nouser
- Seul un superutilisateur peut monter le système de fichiers. Vous pouvez également utiliser les options "user" et "users" qui peuvent configurer l'utilisateur ordinaire pour monter et démonter le système de fichiers.async
- Toutes les opérations IO doivent être effectuées de manière asynchrone. Si vous utilisez l'option "synchroniser", l'opération IO sera effectuée de manière synchrone.
Selon les besoins, vous devrez peut-être utiliser différentes options. Si vous avez un serveur de production existant dans votre environnement, je vous suggère de jeter un œil au fichier fstab qui vous donnera une bonne idée des options de montage utilisées.
5. Vider
Cette colonne est spécifique à des fins de sauvegarde. Lorsqu'il est défini sur 1, l'utilitaire de vidage effectue des sauvegardes. Il s'agit d'une fonctionnalité désormais obsolète car elle a été conçue à l'origine pour effectuer des sauvegardes sur bandes pour les systèmes de fichiers plus anciens.
Il est recommandé de le mettre à zéro .
6. Passe
Au démarrage, le fsck
L'utilitaire effectuera une vérification du système de fichiers en fonction de la valeur que nous fournissons dans la sixième colonne. Si vous définissez la valeur sur zéro ou laissez-le vide , la vérification du système de fichiers sera désactivée.
Le système de fichiers racine doit toujours être spécifié à la valeur 1 . Pour les autres systèmes de fichiers, vous pouvez définir la valeur sur 2 . Depuis que j'utilise VM pour la démonstration, j'ai mis toutes les valeurs à zéro.
Résoudre les problèmes de démarrage liés au fichier Fstab
Si vous avez fait une erreur dans le fichier fstab et que lorsque vous redémarrez la machine, elle passera en mode d'urgence . En mode d'urgence, il n'y aura pas d'interface réseau, vous devrez donc déboguer directement dans la console.
Vous devez taper le root
mot de passe pour entrer dans le mode d'urgence. Exécutez la commande suivante et faites défiler lentement pour voir les messages d'erreur. Dans mon cas, j'ai intentionnellement supprimé le séparateur (/) dans /dev/sdb1
.
En mode d'urgence, si le système de fichiers est monté en mode lecture seule, vous devez monter en rw
mode et modifiez le fstab
fichier pour résoudre le problème. Pour remonter le système de fichiers en rw
mode exécutez la commande suivante.
$ mount -o rw,remount /
Modifiez maintenant le fstab pour corriger l'erreur et redémarrez la machine. Votre machine devrait maintenant pouvoir démarrer correctement.
$ reboot
Pour éviter les problèmes lors du démarrage, vous pouvez exécuter le mount
commande après avoir ajouté le fstab
entrées.
Jetez un oeil à l'image ci-dessous où j'ai ajouté une nouvelle entrée pour /dev/sdb2
. Je n'ai pas spécifié le type de système de fichiers, il me renverra donc une erreur lorsque j'exécuterai le mount
commande.
$ mount -a mount: /mnt: unknown filesystem type 'defaults'.
Qu'est-ce qu'un fichier Mtab ?
Lorsque vous exécutez la commande mount sans transmettre d'arguments, elle imprime la liste des systèmes de fichiers montés.
$ mount
Il existe également un fichier appelé mtab dans le /etc/
annuaire. Quand vous regardez /etc/mtab
, ce sera exactement la même chose que la sortie du mount
commande.
Voyons ce que la page de manuel a à dire sur le fichier mtab.
Le /etc/mtab
le fichier est lié symboliquement aux montages dans le proc
système de fichiers. Si vous exécutez le mount
ou umount
commande le résultat sera mis à jour dans les montages.
$ ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts
Pour résumer la différence entre fstab et mtab, fstab est utilisé pour monter le système de fichiers au démarrage et mtab est utilisé pour afficher la liste des systèmes de fichiers montés.
Si /etc/mtab
fichier est corrompu ou supprimé par accident, vous pouvez le régénérer à l'aide de la commande suivante.
$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'
Conclusion
Dans cet article, nous avons expliqué ce qu'est fstab et mtab et comment il est important que le système stocke et lise les informations de partition pendant le démarrage. Nous avons également discuté de ce qui se passe lorsqu'une erreur est commise dans le fichier fstab.