[ précedent ] [ Résumé ] [ Copyright ] [ Table des matières ] [ suivant ]

Guide d'introduction à Debian GNU-Linux
Chapitre 12 Les systèmes de fichiers


Un système Debian utilise un système de fichiers pour stocker et gérer vos données. Ce chapitre est une introduction au système de fichiers, décrivant comment ajouter et retirer des systèmes de fichiers et comment sauvegarder votre système.


12.1 Concepts

C'est probablement une bonne idée de faire un peu de théorie avant de discuter de l'utilisation des disques. En particulier, vous devez comprendre le concept de système de fichiers. Cela peut être un peu déroutant à cause des significations diverses d'un système de fichiers.

Le système de fichiers concerne l'arborescence entière des répertoires qui débute par le répertoire racine « / » comme décrit dans les chapitres précédents.

Un système de fichiers signifie généralement n'importe quelle organisation de fichiers et répertoires sur un périphérique physique particulier. « Organisation » signifie la structure hiérarchique des répertoires et toute les informations sur les fichiers que l'on veut garder: leur taille, leurs permissions, etc... Ainsi, vous pourriez avoir un système de fichiers sur votre disque dur et un autre sur chacune de vos disquettes.

On utilise aussi le terme « système de fichiers » pour désigner le type particulier de système de fichiers. Par exemple, MS-DOS et Windows 3.1 organisent les fichiers d'une certaine façon: les noms de fichiers ne peuvent dépasser huit caractères par exemple et il n'existe aucune information de permission sur les fichiers. Linux appelle ça le système de fichier msdos. Linux a aussi son propre système de fichiers appelé ext2 (version 2 du système de fichiers ext). Vous utiliserez la plupart du temps le système de fichiers ext2 à moins d'accéder à des fichiers issus d'autres systèmes d'exploitation, ou bien d'avoir des besoins particuliers.

Tout périphérique physique que vous désirez utiliser pour garder des fichiers doit avoir au moins un système de fichiers. Cela signifie un système de fichiers au second sens du terme, c'est-à-dire une hiérarchie de fichiers et de répertoires avec l'information qui va avec. On parle là du troisième sens. Si vous avez plus d'un système de fichiers sur un périphérique unique, chaque système de fichiers peut avoir un type différent. Par exemple, vous pouvez avoir en même temps une partition DOS et une partition Linux sur votre disque dur.


12.2 mount et /etc/fstab

Cette partie décrit comment monter une disquette ou un lecteur ZIP, parle du répertoire /dev et discute comment l'arbre des répertoires peut se distribuer sur de nombreux périphériques physiques ou des partitions.


12.2.1 Monter un système de fichiers

Dans un système GNU-Linux, il n'y a pas forcément de correspondance entre les répertoires et les périphériques physiques comme cela existe sous Windows pour lequel chaque périphérique a son propre arbre de répertoires commençant par une lettre (comme C:\).

Au lieu de ça, chaque périphérique physique, un disque dur ou bien une disquette, peut contenir un ou plusieurs systèmes de fichiers. Pour rendre un système de fichiers accessible, on lui donne un répertoire particulier dans l'autre système de fichiers. Pour éviter des problèmes de circularité le système de fichiers racine (qui contient le répertoire racine « / ») n'est contenu dans aucun autre système de fichiers. Vous y avez accès automatiquement après avoir lancé Debian.

Un répertoire dans un système de fichiers qui contient un autre système de fichiers est appelé point de montage. Un point de montage est un répertoire dans un premier système de fichier (sur un périphérique, comme votre disque dur par exemple), qui « contient » un second système de fichiers, lequel peut être placé ailleurs, sur un lecteur de disquette par exemple. Pour accéder à un système de fichiers, vous devez le monter sur un point de montage.

Ainsi, par exemple, vous pouvez monter un cédérom au point de montage /cdrom. Cela signifie que si vous allez jeter un coup d'oeil dans le répertoire cdrom, vous y verrez le contenu du cédérom. Le répertoire /cdrom lui-même est en fait sur votre disque dur. Pour des tas de raisons pratiques, le contenu du cédérom devient une partie du système de fichiers racine et lorsque vous tapez des commandes ou bien que vous utilisez des programmes, l'emplacement réel des fichiers n'importe pas. Vous auriez pu avoir créé un répertoire appelé /cdrom et mis quelques fichiers à l'intérieur et tout ce serait passé de la même façon. Lorsque vous avez monté un système de fichiers, il n'est plus nécessaire de prêter la moindre attention à son emplacement physique.

Toutefois, avant de monter un système de fichiers ou d'en créer un nouveau sur un disque qui n'en contient pas, il est nécessaire de se référer aux périphériques eux-mêmes. Chaque périphérique a son nom et ces noms se trouvent dans le répertoire /dev. Si vous tapez ls /dev maintenant, vous apercevrez une longue liste de l'ensemble des périphériques possibles (dont la liste est fournie chapitre 4). Une liste plus détaillée peut être trouvée sur votre système dans le fichier /usr/src/linux/Documentation/devices.txt.

Vouloir monter un système de fichiers, c'est dire à Linux d'associer un système de fichiers sur tel périphérique avec tel point de montage particulier. Dans la procédure, il faudra aussi indiquer quel type de système de fichiers on veut.


12.2.2 Exemple: monter un cédérom

Comme exemple élémentaire, nous allons monter un cédérom comme celui que vous avez utilisé pour installer Debian. Vous avez besoin d'être root pour faire cela donc faîtes attention: chaque fois que vous êtes root, vous avez le pouvoir de manipuler tout le système et pas simplement vos seuls fichiers. Ces commandes supposent d'autre part que vous avez un cédérom dans le lecteur: vous devez donc le mettre maintenant. Ensuite, commencez avec la commande suivante:

     su

Si vous ne l'avez pas déjà fait, vous devez soit vous loguer en tant que root soit obtenir les privilèges du super-utilisateur via la commande su. Si vous utilisez su, ajoutez le mot de passe de root quand on vous le demande.

     ls /cdrom

Utilisez cette commande pour voir ce que contient le répertoire /cdrom avant de commencer. Si vous n'avez pas de répertoire /cdrom, il vous faudra le créer en utilisant mkdir /cdrom.

     mount

Taper simplement mount sans argument donne la liste des systèmes de fichiers actuellement montés.

     mount -t iso9660 CD-device /cdrom

Avec cette commande, vous devez mettre le nom de votre cédérom à la place de CD-device. Si vous n'êtes pas sûr, mettez /dev/cdrom car la procédure d'installation devrait avoir créé ce lien symbolique sur le système. Si cela échoue, essayez les différents périphériques IDE: /dev/hdc, etc... Vous devez voir un message du type[48]:

     mount: block device /dev/hdc is write protected, mounting read-only

L'option -t spécifie le type de système de fichiers, dans ce cas iso9660. L'argument suivant est le nom du périphérique à monter et le dernier argument est le point de montage. Il y a de nombreux autres arguments possibles pour mount; allez voir la page de manuel pour plus de détails.

Une fois le cédérom monté, vous remarquerez que le plateau du cédérom ne s'ouvre pas:: vous devez le démonter avant de pouvoir le démonter.

     ls /cdrom

confirme maintenant que /cdrom contient bien ce qu'il y a dans votre cédérom.

     mount

Affiche à nouveau la liste des systèmes de fichiers ; remarquez que votre lecteur est maintenant monté.

     umount /cdrom

Ceci démonte le cédérom. Il est maintenant à nouveau possible de sortir le cédérom de son lecteur. Attention, la commande est umount sans n même s'il s'agit de démonter[49] le système de fichiers.

     exit

N'oubliez pas de vous déloguer du compte root. Déloguez-vous immédiatement, juste pour être sûr.


12.2.3 /etc/fstab: automatiser la procédure de montage.

Le fichier /etc/fstab (qui veut dire file system table, table des systèmes de fichiers) contient les descriptions des fichiers que vous montez souvent. Ces systèmes de fichiers peuvent être montés avec des commandes réduites, comme mount /cdrom. Vous pouvez aussi faire qu'ils soient montés automatiquement au démarrage.

Jetons un coup d'oeil à ce fichier en tapant more /etc/fstab. Il devrait y avoir deux ou plusieurs entrées configurées automatiquement lors de la procédure d'installation. Cela devrait probablement ressembler à quelque chose comme cela:

     # /etc/fstab: static file system information
     #
     # < file system > < mount point > < type > < options >
     # < dump >  < pass >/dev/hda1 / ext2 defaults 0 1
     /dev/hda3 none swap sw 0 0
     proc /proc proc defaults 0 0 
     /dev/hda5 /tmp ext2 defaults 0 2
     /dev/hda6 /home ext2 defaults 0 2
     /dev/hda7 /usr ext2 defaults 0 2
     /dev/hdc /cdrom iso9660 ro, noauto 0 0
     /dev/fd0 /floppy auto noauto,sync 0 0

La première colonne affiche les périphériques présents sur le système. La seconde colonne est le point de montage, la colonne suivante étant le type de système de fichiers. Remarquez que la partition de swap (/dev/hda3 dans l'exemple) n'a pas de point de montage et donc il y a un none dans la colonne correspondante.

Les trois dernières colonnes méritent une explication plus approfondie.

La cinquième colonne est utilisée par l'utilitaire dump pour décider quand sauvegarder le système de fichiers. Dans la plupart des cas, vous pouvez mettre 0 ici.

La sixième colonne est utilisée par fsck pour décider dans quel ordre vérifier les systèmes de fichiers au démarrage. Le système de fichiers racine ou principal doit avoir le 1 dans son champ, les systèmes de fichiers n'ayant besoin d'aucune vérification (comme la partition de swap) doivent avoir un 0 et tous les autres doivent avoir un 2. Il est vrai que la partition de swap ne possède pas vraiment un système de fichiers, au sens où elle ne contient pas des fichiers et des répertoires mais elle est utilisée par le noyau Linux comme mémoire secondaire. Quoiqu'il en soit, pour des raisons historiques, la partition de swap est toujours contenu dans le fichier incluant les systèmes de fichiers.

La quatrième colonne contient une ou plusieurs options à utiliser lors du montage du système de fichiers. Vous pouvez vérifier la page de manuel de mount pour un résumé. Allez voir aussi le chapitre 7.1.


12.2.4 Supports extractibles (disquettes, lecteur Zip, etc.)

Ajoutez les lignes suivantes dans votre fichier /etc/fstab:

     /dev/sda1 /mnt/zip ext2 noauto,user 0 0
     /dev/sda4 /mnt/dos msdos no,user 0 0

À partir de maintenant, vous êtes capable de monter une cartouche Zip formatée en DOS avec la commande mount /mnt/dos et vous pouvez monter une cartouche Zip formatée pour Linux avec la commande mount /mnt/zip.

Si vous avez des disques durs SCSI sur votre système, vous devez changer sda en sdb ou sdc dans l'exemple ci-dessus.


12.3 Les outils de sauvegarde

Les sauvegardes sont quelque chose de fondamental dans tous les systèmes d'exploitation. Debian GNU-Linux fournit différents utilitaires que vous pourrez utiliser à votre convenance. De plus, bien que la plupart de ces utilitaires aient été créés originellement pour des sauvegardes sur bandes, vous pourrez les utiliser pour plein d'autres choses. Par exemple, tar est utilisé pour distribuer des programmes sur Internet. Voici une liste des utilitaires que vous pourrez trouver sur le système:


12.3.1 tar

Parce que tar est vraiment très utilisé, et pas seulement pour des tâches de sauvegardes, nous allons en parler un peu ici. Pour plus de détails, lisez la page de manuel de tar, les instructions pour lire une page de manuel sont dans la partie 7.1.

tar est un archiveur. Cela veut dire que tar est capable de rassembler plusieurs fichiers et les combiner en un seul grand fichier pour les écrire sur un périphérique de sauvegarde comme une bande. Une fois que vous avez ce grand fichier, vous voulez souvent le comprimer: l'option -z est alors très bien. Ainsi, tar est une façon pratique de distribuer des programmes et des données sur Internet et vous vous rendrez compte qu'il est beaucoup utilisé à cette fin.

Voici une ligne de commande tar simple:

     tar -zcvf monfichier.tar.gz /usr/local/bin

Regardons un peu comment se décompose la commande tar:

Vous trouverez de nombreux fichiers tar.gz (ou plus simplement .tgz) sur Internet. Vous pouvez les désarchiver avec la commande suivante:

     tar -zxvf nomdufichier.tar.gz


[ précedent ] [ Résumé ] [ Copyright ] [ Table des matières ] [ suivant ]
Guide d'introduction à Debian GNU-Linux
Traduction du document du 2 octobre 2000
John Goerzen et Ossama Othman
Traduction française de Patrice Karatchentzeff p.karatchentzeff@free.fr