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.
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.
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.
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.
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.
/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.
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.
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:
Taper
est un programme basé sur des menus, très convivial et qui
peut sauvegarder sur de nombreux supports. Sa limitation est qu'il n'est pas
capable de faire des sauvegardes supérieures à 4 Go.
dump
a été créé spécialement pour les bandes: sa force principale
réside dans son interface pour la restauration de fichiers, les sauvegardes de
systèmes de fichiers de bas niveau et la sauvegarde incrémentale. Sa
limitation réside dans le fait qu'il n'est pas capable de sauvegarder via NFS
ou d'autres systèmes de fichiers différents de ext2
et quelques
petits défauts de conception.
GNU tar
(raccourci de Tape ARchiver, archiveur
d'enregistrements) est une implémentation de ce qui est probablement la façon
la plus utilisée de sauvegarder quelque chose sous Linux aujourd'hui. Cela
fournit un bon outil multi-usage et peut s'accomoder de l'ensemble des supports
utilisés. De plus, de nombreux systèmes sont capables de lire un fichier
tar
ce qui le rend très portable. Les défauts de tar
sont qu'il contient un pauvre outil de sauvegarde incrémentale en comparaison
de dump
et aucun écran de sélection de restauration automatique.
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
:
tar
Nom de la commande
-
Options de la commande tar
z
demande à tar
d'utiliser gzip
pour comprimer
automatiquement . Si vous utilisez cette option, il est bon d'ajouter
l'extension .gz
à votre fichier tar
.
c
demande à tar
de créer une nouvelle archive
v
active le mode verbeux: tar
vous explique ce qu'il fait pendant
qu'il crée l'archive.
f
ceci indique que la chaîne suivante de la ligne de commande est le nom du
fichier à créer ou le périphérique à utiliser. Si j'utilisais
/dev/st0
ici, par exemple, cela enverrait l'écriture de la
sauvegarde sur le lecteur de bandes.
monfichier.tar.gz
C'est le nom du fichier à créer.
/usr/local/bin
C'est le nom du fichier ou du répertoire à placer dans l'archive. Il est aussi possible de spécifier différents emplacements ici.
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
p.karatchentzeff@free.fr