Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:fstab [14/11/2012 14:59] 127.0.0.1 édition externe |
doc:systeme:fstab [22/09/2013 09:01] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | VOIR : [[manuel:config:fstab]] | + | ====== /etc/fstab ====== |
+ | |||
+ | (//testé// - **smolski** 2013-09-20) Le retour sur le forum est ici : \\ [[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 !// | ||
+ | |||
+ | * Objet : /etc/fstab | ||
+ | * Niveau requis : DÉBUTANT | ||
+ | * Tags : {{tag>à-compléter}} | ||
+ | * Commentaires : //Configuration du fichier /etc/fstab. // | ||
+ | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | * [[manuel:partition | Les systèmes de fichier en détail]]. | ||
+ | * Le manuel du [[manuel:partitionnement|PARTITIONNEMENT]] | ||
+ | * La commande [[:doc:systeme:blkid]] pour lister facilement les disques avec aussi leurs UUID. | ||
+ | |||
+ | === Nota === | ||
+ | |||
+ | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ! | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | ~~NOCACHE~~ | ||
+ | |||
+ | Le fichier ''/etc/fstab'' (**F**ile **S**ystem **TAB**le) permet à la commande [[:doc:systeme:mount | mount]] de //mounter// [[manuel:partition#systeme_de_fichier | les systèmes de fichier]] utilisés par votre système debian au cours de son [[manuel:gnu_linux#demarrage | initialisation]]. | ||
+ | |||
+ | La première partition à être montée est la [[manuel:structure_repertoires-racine | racine]] ''/'' 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. | ||
+ | |||
+ | Le fichier ''/etc/fstab'' contient la liste de toutes les partitions sur les disques **à monter automatiquement** au démarrage. \\ | ||
+ | Il note pour chaque partition comment elle sera utilisée et intégrée à l’arborescence du système de fichiers global (c'est-à-dire leurs points de montage respectifs). \\ | ||
+ | Il indique donc à votre système (en fait à [[:doc:systeme:mount]]) : | ||
+ | * quelles sont les partitions à monter automatiquement (par exemple à l'aide de leur numéro d'identification : **UUID**) | ||
+ | * quelles sont les partitions que les users (utilisateurs) peuvent monter eux-mêmes. | ||
+ | |||
+ | === À voir absolument === | ||
+ | |||
+ | [[https://wiki.debian.org/fr/FileSystem | Système de Fichiers]]\\ | ||
+ | [[http://www.pathname.com/fhs | File Hierachy Standard]] | ||
+ | |||
+ | ==== Les attributs du fichier ''/etc/fstab'' ==== | ||
+ | |||
+ | Utilisons la [[:doc:systeme:ls | commande ls]] ainsi : | ||
+ | <code user> | ||
+ | ls -l /etc/fstab</code> | ||
+ | |||
+ | <file bash>-rw-r--r-- 1 root root 1482 sept. 10 19:22 /etc/fstab</file> | ||
+ | |||
+ | Ce résultat indique que le fichier ''/etc/fstab'' appartient à **root** et au groupe **root**. \\ | ||
+ | Les [[manuel:protection_droits | attributs]] du fichier montrent ici qu'il peut être lu par tous, mais qu'il faudra avoir les privilèges du [[manuel:superutilisateur]] pour pouvoir y apporter une modification. | ||
+ | |||
+ | ==== Contenu du fichier ''/etc/fstab'' ==== | ||
+ | |||
+ | Exemple de fichier **fstab**. \\ | ||
+ | Bien sûr, les données //nominales// ne sont là qu'à titre d'illustration : | ||
+ | |||
+ | <file 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). | ||
+ | # | ||
+ | # <file system> <mount point> <type> <options> <dump> <pass> | ||
+ | |||
+ | # / was on /dev/sda12 during installation | ||
+ | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 / ext4 errors=remount-ro 0 1 | ||
+ | |||
+ | # /home was on /dev/sda16 during installation | ||
+ | UUID=3df408e9-e65e-4659-9881-84ae6d077c43 /home ext4 defaults 0 2 | ||
+ | |||
+ | # /tmp was on /dev/sda15 during installation | ||
+ | UUID=016896b2-3179-47b6-99ba-e0dd63cad4d6 /tmp ext4 defaults 0 2 | ||
+ | |||
+ | # /usr was on /dev/sda13 during installation | ||
+ | UUID=9e2ba03c-bada-4db8-a761-fe3093b92860 /usr ext4 defaults 0 2 | ||
+ | |||
+ | # /var was on /dev/sda14 during installation | ||
+ | UUID=b9bf96f4-694a-453f-aad6-d84efbb1f299 /var ext4 defaults 0 2 | ||
+ | |||
+ | # /mnt/500-17-virt-img /dev/sda17 (pour les machines virtuelles) | ||
+ | UUID=74349cee-dd8c-4ce5-ab45-a8e7b25cdda0 /mnt/500-17-virt-img ext4 rw,user 0 0 | ||
+ | |||
+ | # /mnt/1500-1 /dev/sdb1 disque 1.5To partition 1 de 1.2 To (données) | ||
+ | UUID=e5df58e4-0e83-439a-8403-3559ef74e4d6 /mnt/1500-1 ext4 rw,user 0 0 | ||
+ | |||
+ | # swap /dev/sda5 | ||
+ | UUID=a3e02ccd-54ed-4172-9830-23fea1ffe5ec swap swap sw 0 0 | ||
+ | |||
+ | # /mnt/windows /dev/sda2 | ||
+ | UUID=BA00BF6300BF24F3 /mnt/windows ntfs rw,nodev,noexec,user,uid=1000,gid=100,umask=7 0 0 | ||
+ | </file> | ||
+ | |||
+ | <note tip>Les lignes dont le premier caractère est un dièse ''#'' sont ignorées par la commande [[:doc:systeme:mount]]. \\ | ||
+ | On dit alors que ces lignes sont **commentées**.</note> | ||
+ | |||
+ | <note important>Une partition rédigée dans le **fstab** et non commentée((sans # devant)), si elle est inactive (absente ou déconnectée...) provoquera un message d'alerte à chaque démarrage du PC et une invitation à y remédier en mode [[manuel:recovery|RECOVERY]] !</note> | ||
+ | |||
+ | ==== 6 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. | ||
+ | |||
+ | ^ Nom du champ ^ description ^ | ||
+ | | file system | Partition à monter représentée pas son **UUID** (voir la commande [[:doc:systeme:blkid | blkid]]). | | ||
+ | | mount point | Répertoire existant dans le système de fichier qui servira de [[http://fr.wikipedia.org/wiki/Point_de_montage | point de montage]] à la partition.| | ||
+ | | type | Type de format du système de fichier à monter. | | ||
+ | | options | Option ou liste d'options de montage. | | ||
+ | | dump | Indicateur pour l'utilitaire de sauvegarde ''dump''. | | ||
+ | | pass | Indicateur pour la vérification par la commande [[http://wiki.debian-facile.org/commande:fsck | fsck]] avant montage.| | ||
+ | |||
+ | ==== Les options ==== | ||
+ | |||
+ | La liste ci-dessous est loin d'être exhaustive, pour connaître toutes les options possibles faire un : | ||
+ | <file user>man mount</file> | ||
+ | |||
+ | Dans le tableau les options **en gras** sont celles activées par : **defaults**. \\ | ||
+ | Beaucoup d'options spécifiques à un type de système de fichiers n'y sont pas présentées. | ||
+ | |||
+ | ^ 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 |**Monté 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 montage dé-montage** / Tous les utilisateurs aussi. | | ||
+ | | **async** / sync |**Accès en mode asynchrone** / synchrone. | | ||
+ | | owner |Seul le propriétaire sera autorisé à monter 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 du fichier ''/etc/fstab''. | | ||
+ | |||
+ | ==== 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**> | ||
+ | |||
+ | //FIXME (Note pour les contributeurs au wiki) : Lexique "fichier périphérique"// \\ | ||
+ | |||
+ | Liens important : | ||
+ | * [[manuel:partition | Les partitions en détail]] | ||
+ | |||
+ | === <file system> === | ||
+ | |||
+ | La première colonne doit contenir l'UUID ou le nom du fichier contenant le système de fichier. \\ | ||
+ | Habituellement, cela sera un fichier **périphérique**, c'est-à-dire un fichier de [[manuel:dev | /dev/]]. | ||
+ | |||
+ | * Par exemple : ''/dev/sda1'' correspond à la première partition du premier disque Serial ATA ou USB ou SCSI. | ||
+ | |||
+ | === <mount point> === | ||
+ | |||
+ | La deuxième colonne indique le à **mount** à quel endroit le système de fichiers du périphérique doit apparaître dans l'arborescence du système de fichiers, c'est-à-dire le chemin qui permet d'accéder au système de fichiers de ce périphérique. Par exemple : ''/mnt/mon_disque_dur_externe/''. | ||
+ | |||
+ | === <type> === | ||
+ | |||
+ | La troisième colonne indique le type de système de fichiers contenu sur la partition. | ||
+ | |||
+ | === <options> === | ||
+ | |||
+ | La quatrième colonne donne les options à utiliser pour le mondage. \\ | ||
+ | Par exemple elle indique si le système de fichiers correspondant doit être monté au boot. | ||
+ | |||
+ | === <dump> === | ||
+ | |||
+ | //FIXME (Note pour les contributeurs au wiki) : Page wiki sur l'utilitaire dump.// | ||
+ | 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. | ||
+ | |||
+ | === <pass> === | ||
+ | |||
+ | 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 testé par **fsck** (le **SWAP** et les partitions windows par exemple). | ||
+ | |||
+ | <note>**<pass>** est utilisé pour l'ordre de vérification au démarrage, //laissez-y également les valeurs par défaut.//</note> | ||
+ | |||
+ | Par la suite, si vous ajoutez manuellement des partitions, les valeurs de **<pass>** doivent rester : | ||
+ | * à 1 pour la racine, | ||
+ | * à 2 pour les autres partitions UNIX, | ||
+ | * à 0 pour le swap et les partitions windows. | ||
+ | |||
+ | |||
+ | <note important>Certains systèmes de fichiers tels que **proc**, **sysfs**, **tmpfs** ou **swap** sont un peu particuliers, il est fortement recommandé de ne pas y toucher sans savoir ce que l'on fait.</note> | ||
+ | |||
+ | === <option> Listes des options === | ||
+ | |||
+ | La liste ci-dessous n'est pas exhaustive,\\ | ||
+ | pour connaître toutes les options possibles faire un : | ||
+ | <file user>man mount</file> | ||
+ | |||
+ | 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. | | ||
+ | |||
+ | ===== SWAP ===== | ||
+ | |||
+ | Voir : | ||
+ | [[manuel:partition?&#le_swap | Raison et partitionnement de SWAP !]] | ||
+ | |||
+ | |||
+ | ===== Ajouter une partition ===== | ||
+ | |||
+ | Pour ajouter dans le fstab une partition par son UUID, vous devez l'identifier. | ||
+ | |||
+ | - Dans un [[manuel:terminal]] utilisez la [[:doc:systeme:ls | commande ls]] ainsi :<code user>ls -lh /dev/disk/by-uuid</code> | ||
+ | - Créez un répertoire de montage(([[:doc:systeme:mkdir]])) par exemple dans ''/mnt''. | ||
+ | - Ajoutez avec nano la ligne qui concerne le disque comme dans cet exemple en l'adaptant pour votre cas :<code fstab># /mnt/repertoire_nom was on /dev/sdxX during installation \\ | ||
+ | UUID=votre_UUID /mnt/repertoire_nom format defaults 0 0</code> | ||
+ | - Et pour monter le système de fichier dans le répertoire dédié, utilisez la [[:doc:systeme:mount | commande mount]] :<code root>mount -a -o remount</code> | ||
+ | |||
+ | ===== Quelques exemples pratiques de lignes dans fstab ===== | ||
+ | |||
+ | //FIXME (Note pour les contributeurs au wiki) : Laïus sur les périphériques amovibles, pmount et le groupe plugdev (pourquoi a priori on ne veut pas mettre les périphériques amovibles dans le fstab, pourquoi parfois c'est bien quand même, sécurité, etc.).// | ||
+ | |||
+ | Dans cet exemple, ''/dev/mondisque'' correspond au périphérique concerné et ''/media/mondossier'' au dossier où vous désirez monter votre périphérique. | ||
+ | <code fstab> | ||
+ | # Pour un lecteur CD / DVD: | ||
+ | /dev/mondisque /media/cdrom0 udf,iso9660 user,noauto 0 0 | ||
+ | |||
+ | # Pour un disque en ext3 ou ext4 (remplacer ext3 par ext4 dans la ligne): | ||
+ | /dev/mondisque /media/mondossier ext3 errors=remount-ro 0 1 | ||
+ | |||
+ | # Pour un disque en ntfs (système de fichier de Windows): | ||
+ | /dev/mondisque /media/mondossier auto defaults,uid=1000 0 0 | ||
+ | |||
+ | # Pour un espace d'échange swap: | ||
+ | /dev/mondisque none swap sw 0 0 | ||
+ | |||
+ | # Pour monter le dossier /tmp en mémoire vive (non recommandé si mémoire vive inférieur à 1,5go): | ||
+ | tmpfs /tmp tmpfs defaults 0 0 | ||
+ | </code> | ||
+ | * | ||
+ | |||
+ | ==== bind ==== | ||
+ | |||
+ | On indique le montage bind[[doc:systeme:mount de la façon suivante : | ||
+ | |||
+ | <code>/media/disque/répertoire /home/user/répertoire-lié none bind 0 0</code> | ||
+ | |||
+ | |||
+ | |||
+ | Il faut redémarrer pour valider les modifications ou utiliser la commande : | ||
+ | <file root>mount -a -o remount</file> | ||
+ | |||
+ | //Ficelles pour un Montage de Partitions ô p'tits z'oignons...// | ||
+ | |||
+ | Détail d'un //vieux// fichier fstab perso : | ||
+ | |||
+ | <code user>cat /etc/fstab</code> | ||
+ | <file fstab> | ||
+ | /dev/hda6 / ext3 acl,user_xattr 1 1 | ||
+ | /dev/hda7 /home ext3 acl,user_xattr 1 2 | ||
+ | /dev/hda1 /windows/C vfat users,gid=users,umask=0002,utf8=true 0 0 | ||
+ | /dev/hda5 swap swap defaults 0 0 | ||
+ | proc /proc proc defaults 0 0 | ||
+ | sysfs /sys sysfs noauto 0 0 | ||
+ | debugfs /sys/kernel/debug debugfs noauto 0 0 | ||
+ | usbfs /proc/bus/usb usbfs noauto 0 0 | ||
+ | devpts /dev/pts devpts mode=0620,gid=5 0 0 | ||
+ | </file> | ||
+ | |||
+ | Les dossiers que j'utilise ne sont peut-être pas pareils que les votres, il vous faut les adapter à votre matériel. | ||
+ | |||
+ | FIN du TUTO ! :-) |