Système de fichiers Linux

Cet objectif couvre la plupart des points vue dans la partie LPI 101. La Configuration de montage automatique est une nouvelle fonction où une attention particulière doit être portée à la syntaxe.

État : {a_reli}

Retour au document principal

Pré-requis

1. Fonctionnement du système de fichier Linux

Quand on ajoute un nouveau système de fichier au système de fichier racine existant, le fichier clé invoqué est /etc/fstab lequel assigne un point de montage, un ordre de montage et des options global par périphérique.

options /etc/fstab/

roou rw

Lecture seule ou lecture écriture

noauto

Ne répond pas a mount -a. Utilisé pour les périphériques externe CDROMs...

noexec

Le mode exécutable ne sera pas démarrer sur le périphérique

nosuid

Ignore le bit SUID dans le système de fichier

nodev

fichiers spéciaux de périphériques tels que les périphériques bloc ou caractère sont ignorées

noatime

Ne pas mettre a jour le temps (gain de performance)

owner

Le dispositif peut être monté que par son propriétaire

user

Implique noexec,nosuid et nodev. Un simple utilisateur est ajouté a mtab afin que les autres utilisateurs ne puissent le démonter

users

Identique a user mais le périphérique peut être démonté par n'importe quel autre utilisateur

Mount permet également de garder la trace des opérations de montage par la mise à jour /etc/mtab. Le contenu de ce fichier est similaire à une autre table tenue par le noyau dans /proc/mounts.

Système de fichiers locaux et réguliers

Quand le système démarre tous les systèmes de fichiers locaux sont montés via le script rc.sysinit. La commande mount va monter tout ce qu'il y a dans /etc/fstab qui n'a pas encore été monté, qui n'est pas chiffré ou en réseau :

mount -a -t nonfs,smbfs,ncpfs -o no_netdev,noloop,noencrypted

Quand le système s'éteint, tous les systèmes de fichiers dont démontés par le script halt par un scanne du fichier /proc/mounts avec l'aide de quelques commande awk.

Partitions de Swap et fichiers de Swap

A chaque démarrage, les partitions de Swap sont activé dans /etc/rc.d/rc.sysinit

swapon -a 

A l'identique quand le système s'éteint, le swap est éteint dans le script (rc-script) halt:

SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps` [ -n "$SWAPS" ] && runcmd "Turning off swap: " swapoff $SWAPS

1.

dd if=/dev/zero of=/tmp/SWAPFILE bs=1k count=10240

2.

mkswap /tmp/SWAPFILE

3.

swapon /tmp/SWAPFILE

4.

cat /proc/swaps
Filename       Type     Size     Used  Priority
/dev/hda6     partition 522072   39744   -1
/tmp/SWAPFILE  file     10232      0     -2

1.Faire une nouvelle partition (dans l'exemple /dev/hda16) de type swap (82) et de taille 16 Mb. Redémarrer.

2.Faire un système de fichier swap sur le disque:

mkswap /dev/hda16

3.Ajouter la ligne dans /etc/fstab

/dev/hda16 swap swap pri=-1 0 0

4.Rendre la partition de swap utilisable avec swapon -a

Informations

Si 2 partitions de swap sont défini, le Noyau va automatiquement y accéder en mode "Rayé", a condition qu'ils aient été montés avec la même priorité par l'option pri= dans /etc/fstab.

2. Maintenance d'un système de fichier Linux

Cette section couvre la liste des commandes pour la maintenance d'un système de fichier.

fsck - vérifie et répare un système de fichier Linux

      Principal options:

      -b   Utiliser un super-bloc alternatif 

      -c   Vérifie les blocs défectueux 

      -f   Force la vérification même quand elle est marquée propre 

      -p   Réparation automatique 

      -y   Répond oui a toute les questions

sync - Videur de tampon

Mises à jour des modification de super-blocs, inodes et exécute les écritures différées. Le systeme d'exploitation garde les données en RAM afin d'accélérer les opérations. Cela peut entraîner une perte de données en cas d'accident si la synchronisation n'est pas exécutée. Sync appelle simplement le système a synchroniser. Une autre possibilité est d'exécuter une combinaison de touche ALT+sysreq+s.

Badblocks - Cherche les blocs défectueux sur un disque

Il est recommandé de ne PAS utiliser badblock directement mais d'utiliser l'option -c avec fsck ou mkfs.

      Principal options:

      -b   Taille de bloc

      -c   Nombre de bloc testé a la fois

      -i   fichier avec une liste des blocs défectueux connus, ces blocs seront ignorés

      -o   Fichier de sortie, passé a '''mkfs'''

mke2fs - créer un système de fichier ext2/3

      Principal options:

      -b     Taille de bloc

      -i     Nombre de bites par inode 

      -N     Nombre d'inode 

      -m     Nombre de bloc réservé pour l'utilisateur root

      -c     Vérifie les blocs défectueux

      -l     Lit les blocs défectueux a partir d'un fichier 

      -L     Défini le LABEL du volume

      -j/-J  Créer un journal (ext3)
 
      -T     Optimise le type de système de fichier, les valeurs sont : 

                   news         1 inode par bloc de 4kb
                   largefile    1 inode par 1Mb
                   largefile4   1 inode par 4Mb 

dumpe2fs - Afficher des informations sur le système de fichiers

dumpe2fs affiche les informations sur les super blocs et groupes de blocs pour le système de fichier présent sur le disque.

debugfs - debugger de système de fichier ext2

debugfs est utilisé pour tester et réparer un système de fichier ext2.

      Principal options:

      -b   Taille de bloc

      -w   Ouvre le système de fichier en écriture

tune2fs - Ajuster les paramètres d'un système de fichier

      Principal options:

      -l        Lit le super bloc

      -L        Défini le Label du volume

      -m        Change le nombre de blocs réservé au super-utilisateur 

      -j ou -J  Créer un journal 

3. Configuration du montage automatique

Le montage peut être automatisé en utilisant un mécanisme appellé automount ou autofs.

Le programme /usr/sbin/autmount est appelé par le script rc-script /etc/init.d/autofs.

service autofs start

Ce script lit le fichier de configuration /etc/auto.master aussi appelé une carte. Le fichier carte définit les points de montage monitoré par un deamon individuel automount.

Simple /etc/auto.master

/extra /etc/auto.extra
/home /etc/auto.home

                          /extra                /home

                            /\                   /\   
                            |                     | 
||---------||               |                     |          ||---------||
||automount||---------------                       ----------||automount||                          
||---------||                                                ||---------||

Quand autofs est démarré il va invoqué une instance de /usr/sbin/automount pour toute les points de montage défini dans la map (carte) maitre /etc/auto.master.

Quand le fichier map (carte) /etc/auto.master est changé il est nécessaire de redemarrer autofs. Pour exemple si les points de montage ont été supprimés, leur daemon automount associé est terminé. De même, de nouveaux deamon sont démarrés pour la définition de nouveaux points de montages.

De multiple système de fichier peuvent être monté sur un seul point de montage.Ces systèmes de fichiers ainsi que les options de montage nécessaire (type de système de fichiers, lecture-écriture, etc) sont définis dans un fichier séparé.

Simple /etc/auto.master

cdrom -fstype=iso9660,ro,user,exec,nodev,nosuid :/dev/cdrom
nfs -fstype=nfs,soft,intr,rsize=8192,wsize=8 192 192.168.3.100:/usr/local

     /extra
       |
       |_____cdrom
       |
       |_____nfs

Le CD-ROM sera automatiquement accessible dans /extra/cdrom et le partage nfs est monté dès que le repertoire /extra/nfs est accessible.

Informations

Dans l'exemple précèdent:

Le répertoire /extra/cdrom et /extra/nfs ne doivent pas être crées.

De nouvelles entrées dans /etc/auto.extra sont immédiatement mit a disposition: ajout de la ligne new -fstype=ext3:/dev/hda2 dans le fichier va automatiquement créer /extra/new.

Par defaut un peripherique monté reste monté pour 5 minutes: si vous décommentez la ligne cdrom dans le fichier /etc/auto.extra peu de temps après que le CD-ROM a été consulté, le dispositif sera toujours disponible pour environ 5 minutes dans /etc/cdrom.