====== /etc/fstab ====== * Objet : /etc/fstab * Niveau requis : {{tag>débutant avisé}} * Commentaires : //Configuration du fichier /etc/fstab. // * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * [[:doc:systeme:partition | Les systèmes de fichier en détail]]. * Le manuel du [[:doc:systeme:partitionnement|PARTITIONNEMENT]] * La commande [[:doc:systeme:blkid]] à privilégier pour lister facilement les systèmes de fichiers accessibles((partitions)) avec leurs UUID. * Suivi : {{tag>à-compléter}} * Création par [[user>smolski]] le 20/09/2013 * Mis à jour par [[user>smolski]] le 29/01/2014 * Testé par FIXME * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1211 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) **Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! ===== Définitions ===== ^ Nom ^ Description ^ | Disque |Disque dur **physique**. | | Partition |Zone **physique** délimitée sur un disque dur, qui peut être formatée, ou être un conteneur de partitions logiques. | | Volume |Interface **logique** utilisée par le système d'exploitation pour accéder aux données stockées sur un périphérique à l'aide d'un système de fichiers. | Un volume peut correspondre à un agrégat de partitions (voir LVM, RAID, volumes réseau, etc...). ===== Description ===== Le fichier ''/etc/fstab'' est une liste des systèmes de fichiers qui seront [[:doc:systeme:mount | mountées]] **automatiquement** à l'initialisation du système sauf en cas d'utilisation de l'option //noauto//.\\ Il est possible d’éditer le fichier ''/etc/fstab'' pour ajouter vos propres volumes et partitions et choisir dans quel dossier leur contenu apparaîtra. \\ Si, au cours de l'initialisation du système, un des systèmes de fichiers listés dans le fichier ''/etc/fstab'' n'est **pas** accessible, le processus d'initialisation s'arrêtera pour demander l'intervention du super-utilisateur (root). Dans les faits, ''/etc/fstab'' (**F**ile **S**ystem **Tab**le) permet à la commande [[:doc:systeme:mount | mount]] de //mounter// [[:doc:systeme:partition#systeme_de_fichier | les systèmes de fichiers]] utilisés par votre système debian au cours de son [[:doc:systeme:gnu-linux#demarrage | initialisation]].\\ La première partition à être montée est la [[:atelier:chantier:fhs-accueil | racine]] (notée ''/'') du système de fichiers qui sera utilisée comme cible par [[http://lfs.traduc.org/view/blfs-svn/postlfs/initramfs.html | initramfs]](Système de fichier en RAM) pour un [[:doc:systeme:chroot | chroot]] de son système de fichiers. ===== Contenu du fichier ===== Ce fichier contient en plus une partition ntfs à ajouter au cas d'un dualboot avec un windows dont on veut partager les fichiers. \\ Le fichier ''/etc/fstab'' est modifiable avec un éditeur comme [[:doc:editeurs:nano]] par exemple en utilisant les droits [[:doc:systeme:superutilisateur]] : nano /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # # /dev/sda5 racine du système de fichiers UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 / ext4 errors=remount-ro 0 1 # /dev/sda6 racine des dossiers utilisateurs UUID=3df408e9-e65e-4659-9881-84ae6d077c43 /home ext4 defaults 0 2 # /dev/sda7 partition de données UUID=d773855f-be34-4c1b-a34f-acdfe48f1640 /mnt/Images ext4 defaults 0 2 # /dev/sda8 swap UUID=a3e02ccd-54ed-4172-9830-23fea1ffe5ec swap swap sw 0 0 # /dev/sda2 accès partition windows UUID=BA00BF6300BF24F3 /mnt/windows ntfs rw,nodev,noexec,user,uid=1000,gid=1000,umask=007 0 0 Les lignes dont le premier caractère est un croisillon ''#'' sont ignorées par la commande [[:doc:systeme:mount]]. \\ On dit alors que ces lignes sont **[[doc:systeme:programmation:commenter|commentées]]**. == Ligne windows == * ATTENTION : « **user** » ici signifie que les utilisateurs non-root ont le droit de monter/démonter le périphérique, il ne faut donc pas le modifier ou mettre le //pseudo// de l'utilisateur !!! * Dans cet exemple /mnt/windows est le répertoire où est monté windows. * Nota du **matelot** : Si on veut que ce soit en accès //fête du slip//, tu mets 0 en umask. \\ \\ ===== Six champs par ligne ===== Chaque ligne du fichier ''/etc/fstab'' est composée de six champs qui seront utilisés par la commande **mount** comme paramètres. # UUID=d773855f-be34-4c1b-a34f-acdfe48f1640 /home/user/Images ext4 defaults 0 2 * **file system**:le volume a monter (ici une partition identifié par son UUID) * **mount point**:un point de montage: (le dossier /home/user/Images) * **type**: de quel type de système de fichier il s'agit (ext4) * **options**: qui a les droits de lecture, écriture et exécution sur ce volume (ici defaults ) * **dump**: Indicateur pour l'utilitaire de sauvegarde ''dump'' (0). * **pass**: Indicateur pour la vérification par la commande [[doc:systeme:fsck|fsck]](2) Pour que vous compreniez bien, et que vous puissiez l'adapter à vos besoins, chaque champ est détaillé ci dessous: ===== Les champs ===== Un fichier ''fstab'' est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque système de fichier. \\ Chaque ligne est composée de six colonnes que l'on nomme ''champs''. \\ Ces six champs sont, dans l'ordre: \\ %%<%%**file system**> %%<%%**mount point**> %%<%%**type**> %%<%%**options**> %%<%%**dump**> %%<%%**pass**> ==== ==== Ce champ permet d'indiquer le volume a mounter, pour les partitions on notera deux types de notation: === Nom de la partition dans Debian === Historiquement Debian, et linux en général, nomment dans le dossier /dev les disques avec des lettres: *sda pour le premier disque sata ou scsi *sdb pour le deuxième disque sata ou scsi *hda pour le premier disque ide Et nomment les partitions de chaque disque avec des chiffres: *sda1 pour la première partition du premier disque *sdb3 pour la troisième partition du deuxième disque # /dev/sdb1 /home/user/Images ext4 defaults 0 2 === Identificateur Unique: UUID === Depuis quelques années, il est possible et vivement recommandé d'utiliser l'identifiant unique de partition ''UUID''. Pour l'obtenir, il suffit de taper: ls -l /dev/disk/by-uuid Et on reporte l'UUID obtenue (dans cet exemple) : # UUID=d773855f-be34-4c1b-a34f-acdfe48f1640 /home/user/Images ext4 defaults 0 2 Pour un volume réseau la notation est proche: # 192.168.1.11:/media/Serveur_Images /home/user/Images nfs rw 0 0 Voir aussi [[doc:systeme:uuid_des_partitions|Les UUID des partitions]] ==== ==== La deuxième colonne indique à **mount** le point de mountage qui sera utilisé pour accéder au système de fichiers de la partition. Par exemple : ''/home/user/Images/''. Le point de montage est donc un répertoire qui devra être préalablement créé, comme par exemple, un sous répertoire dans le répertoire ''user'': mkdir /home/user/Images Et lui donner avec [[doc:systeme:chown|la commande chown]] les droits de l'utilisateur (user) courant. chown user:user /home/user/Images ==== ==== La troisième colonne indique le type de système de fichiers utilisé par le volume (ext4, ext3 ou nfs par exemple). Pour plus de détail voir la page [[:doc:systeme:partition | partition]]. ==== ==== La quatrième colonne donne les options à utiliser pour le mountage. La liste ci-dessous n'est pas exhaustive,\\ pour connaître toutes les options possibles faire un : man mount Les options **en gras** sont les **options par défaut**. ^ Option ^ Description ^ | **defaults** |Options par défaut => rw, suid, dev, exec, auto, nouser, async. | | rw / ro |**Lecture et écriture autorisées** / Lecture seule. | | suid / nosuid |**Autorise les opérations sur les bits suid et sgid** / N'autorise pas. | | dev / nodev |**Interprète les noeuds de type caractères ou blocs** / N'interprète pas. | | exec /noexec |**Autorise l’exécution des fichiers binaires** / N'autorise pas. | | auto / noauto |**"mounté" automatiquement au démarrage et lors d'un appel ''mount -a''** / Ne pourra être monté qu'explicitement.| | nouser / user |**Seul "root" sera autorisé à effectuer le mountage dé-mountage** / Tous les utilisateurs aussi. | | async / sync |**Accès en mode asynchrone** / synchrone. | | owner |Seul le propriétaire sera autorisé à "mounter" "démounter". | | noatime |Optimisation SSD (NO Access TIME): ne pas mettre à jour l'attribut "atime" et limiter le nombre d'accès disques.| | discard |Optimisation SSD : Active le mode TRIM : Gestion des effacements/libération par blocs. | | sw |Pour les partitions de type "swap". | | nofail |Ne pas renvoyer les messages d'erreur de "mount". | | comment |Utilisé par les programmes de maintenance de fstab. | ==== ==== La cinquième colonne prend la valeur ''1'' pour les partitions visées par une sauvegarde au moyen de l'utilitaire dump ou ''0'' pour les autres. - est utilisé 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 . ==== ==== La sixième colonne concerne l'ordre de vérification des fichiers par l'outil [[:doc:systeme:fsck|fsck]] au démarrage de l'ordinateur (boot). \\ Elle prend la valeur : * 1 pour la partitions racine (/), * 2 pour les autres partitions UNIX ou * 0 si la partition ne doit pas être vérifiée par **fsck** (le **SWAP** et les partitions windows par exemple). **** est utilisé pour l'ordre de vérification au démarrage, //laissez-y également les valeurs par défaut.// 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, - tous 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érifier par l'utilitaire fsck. Certains systèmes de fichiers tels que **proc**(interface permettant de lire ou changer des informations sur le paramétrage du noyau:processus,etc...), **sysfs**, **tmpfs** ou **swap** sont un peu particuliers, il est fortement recommandé de ne pas y toucher sans savoir ce que l'on fait. =====Monter les volumes===== Afin de tester vos modifications directement sans attendre le prochain redémarrage, vous pouvez demander à [[doc:systeme:mount|mount]] de le faire directement: mount -a === Liens === * Page du wiki.debian.org sur [[https://wiki.debian.org/fr/fstab|Fstab]] * Pages du wiki.debian.org sur les [[https://wiki.debian.org/fr/FileSystem | Système de Fichiers]] *[[http://www.pathname.com/fhs | File Hierachy Standard]]