« Fstab » : différence entre les versions
(Page créée avec « Category:linux Le ''fstab'' sous UNIX/Linux est un fichier contenant la table des systèmes de fichiers à monter au démarrage. Il est lu par le système de gestion... ») |
(Ajout d'un lien, d'options et leur source pour la partie NFS + Ajout d'un lien pour Samba.) |
||
Ligne 3 : | Ligne 3 : | ||
Le ''fstab'' sous UNIX/Linux est un fichier contenant la table des systèmes de fichiers à monter au démarrage. Il est lu par le système de gestion de services au démarrage de la machine (sur la plupart des Linux, c'est [[Systemd]] qui ce charge de cette tâche). | Le ''fstab'' sous UNIX/Linux est un fichier contenant la table des systèmes de fichiers à monter au démarrage. Il est lu par le système de gestion de services au démarrage de la machine (sur la plupart des Linux, c'est [[Systemd]] qui ce charge de cette tâche). | ||
{{astuce|Afin de tester le fonctionnement d'un montage automatique sans redémarrer (ce qui, en cas de non fonctionnement, causerai un temps d'attente | {{astuce|Afin de tester le fonctionnement d'un montage automatique sans redémarrer (ce qui, en cas de non fonctionnement, causerai un temps d'attente de malade - merci Systemd... - et obligerai le système à passer en mode "maintenance"), il est possible d'utiliser la commande <source lang="bash" inline>mount <le premier champ de la ligne fstab à monter></source> pour un montage ciblé ou <source lang="bash" inline>mount -a</source> pour monter l'ensemble des lignes spécifiés dans le ''fstab''.}} | ||
=Structure= | =Structure= | ||
Ligne 55 : | Ligne 55 : | ||
==Samba== | ==Samba== | ||
Un montage [[Samba]] se monte de la sorte via le ''fstab'': | |||
//192.168.170.178/partage/ /media/partage cifs rw,user,iocharset=utf8,username=toto,password=SonMotDePasse,uid=1000,gid=1000,file_mode=0755,dir_mode=0755 | //192.168.170.178/partage/ /media/partage cifs rw,user,iocharset=utf8,username=toto,password=SonMotDePasse,uid=1000,gid=1000,file_mode=0755,dir_mode=0755 | ||
==NFS== | ==NFS== | ||
Pour un partage [[nfs|NFS]], on utilisera cette syntaxe: | |||
192.168.1.10:/home/toto /media/toto nfs rw 0 0 | 192.168.1.10:/home/toto /media/toto nfs rw 0 0 | ||
On peut y adjoindre les options suivantes: | |||
* '''Hard/soft''': | |||
** Lorsque l'option ''hard'' est utilisée et que le serveur NFS crash ou devient injoignable, les requêtes NFS seront retentées indéfiniment. Vous pouvez la coupler à l'option ''intr'' (décrite plus bas) pour permettre la gestion des coupures. Quand le serveur redevient en ligne, le processus peut reprendre depuis l'endroit où il s'est arrêté. | |||
** Si c'est l'option ''soft'' qui est utilisée, le processus reportera une erreur lorsque le serveur NFS est injoignable après une période d'attente (définie par l'option ''timeo''). Dans certains cas, elle peut causer des corruptions et des pertes de données. Donc il est plutôt recommandé d'utiliser le premier couple décrit plus haut. | |||
* '''timeo=n''': Cette option définie le temps en secondes où le client NFS va attendre une réponse avant de ré-envoyer une requête au serveur. | |||
* '''intr''': Autorise les requêtes NFS à être interrompus si le serveur tombe ou devient injoignable. Il est mieux d'utiliser cette option couplée à ''hard'' plutôt que d'utiliser ''soft'' afin d'éviter les corruptions. | |||
* '''rsize=num et wsize=num''': Ces paramètres définissent le nombre maximum d'octets à chaque requête de lecture/écriture que le client NFS peut émettre et recevoir lorsque il communique avec le serveur. les valeurs ''rsize/wsize'' doivent obligatoirement êtres des entiers positifs multiples de 1024. Une valeur ''rsize'' plus petite que 1024 est remplacée par 4096 tandis qu'une valeur ''wsize'' plus large que 1048576 est remplacée par cette dernière. Si une valeur comprise entre 4096 et 1048576 mais non multiple de 1024 est définie, elle sera arrondie à la valeur correcte la plus proche. | |||
* '''retrans=n''': Nombre de fois où un client NFS réessaie avant d'aller plus loin dans les actions de restauration (aucune idée de ce que ça veut dire). Si ''retrans'' n'est pas spécifié, le client essayera tout les 3 temps (l'unité de mesure n'est pas précisée...). Le client NFS générera un message "le serveur ne répond pas" avant de réessayer (je ne vais pas aller plus loin dans la traduction. C'est du charabia cette option...) | |||
* '''tcp''': Montage via le protocole ''tcp'' | |||
* '''udp''': Montage via le protocole ''udp'' | |||
===Source de la section=== | |||
* https://linoxide.com/file-system/example-linux-nfs-mount-entry-in-fstab-etcfstab/ | |||
=Accents dans le fstab= | =Accents dans le fstab= |
Version du 4 janvier 2019 à 00:00
Le fstab sous UNIX/Linux est un fichier contenant la table des systèmes de fichiers à monter au démarrage. Il est lu par le système de gestion de services au démarrage de la machine (sur la plupart des Linux, c'est Systemd qui ce charge de cette tâche).
ASTUCE
Afin de tester le fonctionnement d'un montage automatique sans redémarrer (ce qui, en cas de non fonctionnement, causerai un temps d'attente de malade - merci Systemd... - et obligerai le système à passer en mode "maintenance"), il est possible d'utiliser la commandemount <le premier champ de la ligne fstab à monter>
pour un montage ciblé ou mount -a
pour monter l'ensemble des lignes spécifiés dans le fstab.Structure
Ce fichier se compose de six champs séparés par des espaces/tabulations:
# <partition> <point de montage> <type> <options> <déversement> <poids fsck>
Explications:
- <partition>: chemin du périphérique de type bloc (peut être indiqué via son chemin ou son UUID)
- <point de montage>: lieu de montage de la partition
- <type>: nom du système de fichiers de la partition
- <options>: options de montage
- <déversement>: Aucune idée de l'utilité (laisser à zéro)
- <poids fsck>: défini l'ordre du test fsck de la partition (plus c'est faible et plus c'est prioritaire)
Chaque ligne du fichier représente un point de montage différents.
Options de montages
Les options indiquées dans le fichier fstab sont les mêmes que celles de la commande mount.
Les options communes à tous les types de systèmes de fichiers sont:
ro / rw | Montage en lecture seulement/lecture-écriture |
suid / nosuid | Autorise ou interdit les opérations sur les bits suid et sgid |
dev / nodev | Interprète/n'interprète pas les périphériques caractères ou les périphériques blocs spéciaux sur le système de fichiers |
exec / noexec | Autorise ou interdit l’exécution de fichiers binaires sur ce système de fichiers |
auto / noauto | Le système de fichiers est (c’est l’option par défaut) / n'est pas monté automatiquement |
user / nouser | Permet à tout utilisateur / seulement à root (C’est le paramétrage par défaut) de monter le système de fichiers correspondant |
sync / async | Selon cette valeur, toutes les entrées/sorties se feront en mode synchrone ou asynchrone |
defaults | Utilise le paramétrage par défaut (c’est équivalent à rw, suid, dev, exec, auto, nouser, async) |
Exemples de montage
Systèmes de fichiers locaux
# Montage avec le chemin de la partition
/dev/mapper/vHD-vPart1 / btrfs defaults 0 0
# Montage avec l'UUID de la partition
UUID=b856b332-77cf-4103-ae4b-7672d3393844 /boot ext2 defaults
Samba
Un montage Samba se monte de la sorte via le fstab:
//192.168.170.178/partage/ /media/partage cifs rw,user,iocharset=utf8,username=toto,password=SonMotDePasse,uid=1000,gid=1000,file_mode=0755,dir_mode=0755
NFS
Pour un partage NFS, on utilisera cette syntaxe:
192.168.1.10:/home/toto /media/toto nfs rw 0 0
On peut y adjoindre les options suivantes:
- Hard/soft:
- Lorsque l'option hard est utilisée et que le serveur NFS crash ou devient injoignable, les requêtes NFS seront retentées indéfiniment. Vous pouvez la coupler à l'option intr (décrite plus bas) pour permettre la gestion des coupures. Quand le serveur redevient en ligne, le processus peut reprendre depuis l'endroit où il s'est arrêté.
- Si c'est l'option soft qui est utilisée, le processus reportera une erreur lorsque le serveur NFS est injoignable après une période d'attente (définie par l'option timeo). Dans certains cas, elle peut causer des corruptions et des pertes de données. Donc il est plutôt recommandé d'utiliser le premier couple décrit plus haut.
- timeo=n: Cette option définie le temps en secondes où le client NFS va attendre une réponse avant de ré-envoyer une requête au serveur.
- intr: Autorise les requêtes NFS à être interrompus si le serveur tombe ou devient injoignable. Il est mieux d'utiliser cette option couplée à hard plutôt que d'utiliser soft afin d'éviter les corruptions.
- rsize=num et wsize=num: Ces paramètres définissent le nombre maximum d'octets à chaque requête de lecture/écriture que le client NFS peut émettre et recevoir lorsque il communique avec le serveur. les valeurs rsize/wsize doivent obligatoirement êtres des entiers positifs multiples de 1024. Une valeur rsize plus petite que 1024 est remplacée par 4096 tandis qu'une valeur wsize plus large que 1048576 est remplacée par cette dernière. Si une valeur comprise entre 4096 et 1048576 mais non multiple de 1024 est définie, elle sera arrondie à la valeur correcte la plus proche.
- retrans=n: Nombre de fois où un client NFS réessaie avant d'aller plus loin dans les actions de restauration (aucune idée de ce que ça veut dire). Si retrans n'est pas spécifié, le client essayera tout les 3 temps (l'unité de mesure n'est pas précisée...). Le client NFS générera un message "le serveur ne répond pas" avant de réessayer (je ne vais pas aller plus loin dans la traduction. C'est du charabia cette option...)
- tcp: Montage via le protocole tcp
- udp: Montage via le protocole udp
Source de la section
Accents dans le fstab
Pour des partage avec accent, il faut les noter sous forme octale. Une valeur octale doit toujours être égale à 3 caractères, si il y a un 0 à 040 (pour l'espace) c'est par ce que le code 40 (qui correspond à l'espace) ne respecte pas cette règle (on ajoute donc un 0).
Dans le cas où l'on veux mettre un caractère accentué é (qui a comme code octal 0303 0251) il faut respecter la règle des 3 caractères en supprimant le 0 devant chaque octet et en les collant avec un échappement sur chacun d'eux comme ceci:
/home/toto/Film/ /home/titi/Vid\303\251os/ none bind 0 0
Ces éléments sont décrits dans ce post et provenant de cette source, le script perl unum.pl (disponible dans nos fichiers) permet de trouver le code octal d'un caractère donné.