You are on page 1of 21

Systèmes Répartis UNIX

Gestion des Systèmes


de Fichiers

ESAT
Systèmes Répartis UNIX Gestion des systèmes de fichiers

Les principes qui président à la gestion des systèmes de fichiers forment l'une
des caractéristiques fondamentales du système UNIX.

Néanmoins, l'usage montre que ces principes de gestion rendent les systèmes
de fichiers relativement fragiles. Il est du ressort de l'administrateur de
vérifier la cohérence des systèmes de fichiers de son système..... la négligence
à ce niveau entraîne rapidement une perte globale de performances, et il
devient de plus en plus difficile de maintenir le système. A un certain niveau
de détérioration, c'est l'intégrité des données elle-même qui est en jeu.

En dehors de cette mission de contrôle, l'administrateur devra mettre au point


une politique de sauvegarde des données.

Il doit être en outre en mesure de modifier les différents montages de systèmes


de fichiers qui constituent son système UNIX.

Au niveau d'un réseau, il devra de plus mettre au point une


politique de partage des fichiers.

Dans ce chapitre les sujets suivants seront traités :

• Structure d'un système


• Création d'un système de fichiers ;
• Vérification et réparation d'un système de fichiers ;
• Montage et démontage de système de fichiers ;

jj/10/OO ESAT 2
Systèmes Répartis UNIX Gestion des systèmes de fichiers

1. Rappel sur la structure des disques

1.1. Le disque
Un disque possède plusieurs plateaux ayant chacun deux faces, une face est
constituée de pistes elles-mêmes divisées en secteur, eux-mêmes composés d'octets.
Le secteur (512 octets) est l'unité appréhendable c'est à dire qu'il est possible de
manipuler des secteurs, mais non des fragments de secteurs.

1.2. Le bloc
Un bloc c'est l'unité d'allocation élémentaire. Par rapport à la notion de secteur,
qui peut-être qualifié de physique, UNIX définit une unité que l'on dit logique, du fait
de son indépendance vis-à-vis des caractéristiques du disque. Pour le système, le bloc
est donc l'unité d'allocation et de traitement pour les entrées-sorties. Pour des raisons
d'efficacité, il convient que la taille du bloc soit un multiple de la taille d'un secteur
(éventuellement égal à 1) : plus ce nombre est grand plus l'accès à l'information peut-
être rapide, la contrepartie en est une possibilité de perte de place pour les petits
fichiers.

1.3. Le formatage
Le formatage du disque va consister à écrire sur les surfaces les
renseignements nécessaires à son utilisation, en particulier la numérotation des
secteurs et l'écriture des entêtes (headers) permettant de les identifier.

1.4. La partition
Une partition est simplement une partie du disque, sans que sa structuration ou
sa capacité à gérer des données entre en ligne de compte.

1.5. Le système de fichier


Un système de fichiers est une partition possédant une structure apte à
supporter des fichiers UNIX, qui va évoluer au cours du temps.

jj/10/OO ESAT 3
Systèmes Répartis UNIX Gestion des systèmes de fichiers

2. Types de systèmes de fichiers :

Même si les principes d'organisation des fichiers restent à peu près constants sur tous
les systèmes, il existe plusieurs types de systèmes de fichiers. Chaque système
reconnaît un certain nombre d'entre-eux.

Dans le fichier / proc / filesystems se trouve la liste des systèmes de fichiers supportés
par le noyau actuellement en exécution. (Si vous avez besoin d'utiliser un système
listé ci-dessous et non supporté, vous pouvez insérer le module correspondant dans
votre noyau ou bien le recompiler avec l'option correspondante).

2.1. Description des types de SDF connus par LINUX.

minix est le système de fichiers utilise par l'OS Minix, le premier a avoir fonctionne
sous Linux. Il a de nombreuses limitations (64 Mo max. par partition, etc...)

Néanmoins il reste très appréciable pour les disquettes et les disques RAM.

ext est une extension assez élaborée du système de fichiers minix. Il a été
complètement remplacé par sa seconde version (ext2) et sera probablement
supprimé des noyaux futurs.

ext2 est un système de fichiers de haute performance, utilisé par Linux pour les
disques fixes tout autant que pour les supports amovibles. Le second système de
fichiers étendu a été conçu comme une extension du système (ext). ext2 offre les
meilleures performances de tous les systèmes supportés par Linux (en termes de
vitesse et de consommation CPU).

msdos utilisant la FAT (File Allocation Table ) est le système de fichiers utilisé
sous DOS, Windows, et quelques ordinateurs OS/2. Les noms de fichiers sous
msdos sont limités à 8 caractères suivis éventuellement d'un point et de 3 caractères
d'extension.

umsdos est un système de fichier DOS étendu utilisé par Linux. Il ajoute la
possibilité d'utiliser des noms de fichier longs, les UID/GID, les autorisations
POSIX, les fichiers spéciaux (périphériques, tubes, etc...) sur le système de fichier
DOS, sans sacrifier la compatibilité avec celui-ci.

ntfs est un système de fichiers DOS étendu utilisé par Windows95 et Windows NT. .
Utilisant la vfat (virtual FAT) ajoute la possibilité d'utiliser des noms de fichiers longs
sur le système de fichiers MSDOS.

jj/10/OO ESAT 4
Systèmes Répartis UNIX Gestion des systèmes de fichiers

proc est un pseudo-système de fichiers qui permet une interface avec les structures de
données du noyau plus simple que la lecture et l'interprétation de/ dev / kmem. En
particulier, ses fichiers ne prennent aucun espace disque

iso9660 est un système de fichiers pour CD-ROM, conforme au standard ISO 9660.

hpfs est le système "High Performance File System" utilisé par OS/2. Ce système de
fichiers est uniquement en lecture seule sous Linux à cause du manque de
documentation disponible.

sysv est une implémentation du système de fichiers SystemV/Coherent pour


Linux. Il implémente tous les protocoles Xenix FS, SystemV/386 FS, et
Coherent FS.

nfs est le système de fichiers en réseau utilisé pour accéder à des disques situés sur
des ordinateurs distants.

smb est un système de fichiers en réseau supportant le protocole SMB, utilisé par
Windows for Workgroups, Windows NT, et Lan Manager. Pour utiliser le système
smb, il vous faut un programme spécial de montage. (package ksmbfs)

ncpfs est un système de fichiers réseau supportant le protocole NCP, utilisé par
Novell NetWare.

afs (Acer Fast Filesystem) est un système qui améliorant les accès disques et supportant
les liens symboliques

ffs (Fast File System ) propre à BSD

ufs (Unix File System utilisé par SVr4. Reprend la plupart des ;concepts des versions
BSD. Il est assez différent des autres types.

unix système par défaut

xenix

SCO supporte les standards s51k, xenix et dos., afs est le standard par défaut.

SPIX utilise le type FFS mais peut créer des systèmes de type SystemV.

jj/10/OO ESAT 5
Systèmes Répartis UNIX Gestion des systèmes de fichiers

2.2. Partitionnement d'un Disque Physique

Un disque physique peut être découpé en un certain nombre de partitions ou disques


logiques. Sur chacune d'elles on peut construire un système de fichiers qui est vu par
Unix comme un volume physique indépendant, sans pour autant être raccordé au
système de fichiers principal.
En partitionnant un disque, le noyau traite à un niveau logique avec le système
de fichiers plutôt qu'avec les disques. Il considère chaque système de fichiers comme
un périphérique logique identifié par un numéro de périphérique logique (le mineur).

Boostrap
Superbloc
Table des inodes
Partition 1
Bloc de données

Zone de swap Partition 2

Inutilisé
Superbloc
Table des inodes
Partition 3
Zone de données

Chaque partition d'un disque est référencée dans le répertoire / dev.

Le partitionnement se fait grâce à la commande fdisk

 La commande / sbin / fdisk


Manipulation des tables de partitionnement pour Linux. fdisk est un menu pour
manipuler les tables de partitions d'un disque dur. Les devices utilisés sont en général
/ dev / hda - / dev / hdb - / dev / sda - / dev / sdb

Syntaxe : fdisk [ -l ] [ -v ] [ -s partition] [ device ]

jj/10/OO ESAT 6
Systèmes Répartis UNIX Gestion des systèmes de fichiers

3. Le super-bloc

Le bloc suivant le bloc de boot (bloc n°1), est connu sous le nom de super-
bloc. Il est présent sur chaque partition et contient les éléments nécessaires à
l'exploitation de celle-ci. Il est initialisé lors de la création du système de fichiers par
la commande mkfs.

3.1. Structure du super bloc

Filesystem volume name <none>


Last mounted on <not available>
Filesystem UUID 10b59154-cd4f-11d1-91a0-83da51f4378e
Filesystem magic number 0xEF53
Filesystem revision # 0 (original)
Filesystem features (none)
Filesystem state not clean
Errors behavior Continue
Filesystem OS type Linux
Inode count 126480
Block count 503968
Reserved block count 25198
Free blocks 74074
Free inodes 97110
First block 1
Block size 1024
Fragment size 1024
Blocks per group 8192
Fragments per group 8192
Inodes per group 2040
Inode blocks per group 255
Last mount time Wed Apr 29 11:33:22 1998
Last mount time Wed Apr 29 11:33:22 1998
Last write time Wed Apr 29 10:07:42 1998
Mount count 17
Maximum mount count 20
Last checked Wed Apr 22 16:01:58 1998
Check interval 15552000 (6 months)
Next check after Mon Oct 19 16:01:58 1998
Reserved blocks uid 0 (user root)
Reserved blocks gid 0 (group root)

jj/10/OO ESAT 7
Systèmes Répartis UNIX Gestion des systèmes de fichiers

3.2. Commandes de gestion du super bloc

 La commande / sbin / dumpe2fs


Affiche le contenu du super-bloc

Syntaxe : dumpe2fs [ -b ] [ -V ] device]

-V Affiche le numéro de version de dumpe2fs et quitte celui-ci.

 La commande / sbin / tune2fs


Modifie le contenu du super-bloc

Syntaxe : tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -i


interval-between-checks ] [ -m reserved-blocks-percentage ] [ -r reserved-blocks-
count ] [ -s sparse-super-flag ] [ -u user ] [ -g group ] [ -C mount-count ] [ -L
volume-name ] [ -M last-mounted-directory ] [ -U UUID ]device

Ne jamais utiliser tune2fs sur un FS monté pour changer les paramètres

jj/10/OO ESAT 8
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4. Les inodes

4.1. Généralités

L'inode (i-noeud) est le descripteur d'un fichier et c'est l'élément clé d'un système de fichiers.
Les inodes sont regroupées dans une table, la i-tab ou table des inodes. Le numéro d'inode
associé à chaque fichier sert d'index pour accéder au descripteur dans la table des inodes.
La table des inodes est stockée sur disque mais il existe une copie en mémoire centrale. Cette
copie est mise à jour dès qu'il y a une modification du contenu ou des attributs d'un fichier.
Périodiquement le système la sauvegarde sur disque (commande sync).

4.2. Le Contenu d'un Inode

Un inode est une zone de 64 octets. La première entrée de la table est inutilisée. Cette table
commence toujours au bloc numéro 2 d'un système de fichiers Unix.

Chaque inode contient les informations suivantes :

-mode et type du fichier 2 octets


-nombre de liens sur le fichier 2 "
-n° d'identification du propriétaire du fichier 2 "
-n° de groupe du propriétaire du fichier 2 "
-taille du fichier en octets 4 "
-adresse des blocs constituant le fichier 40 "
-date du dernier accès au fichier 4 "
-date de la dernière modification du fichier 4 "
-date de création 4 "

Remarque : Les dates sont exprimées en secondes a compté du 01/01/1970.


Pour voir le contenu d'une inode on utilisera la commande debugfs

 La commande / sbin / debugfs


La commande debugfs est un debugger de file system. Il peut-être utilisé pour examiner ou
changer les paramètres d'un File System de type ext2.

Syntaxe : debugfs [ -w ] [ -f cmd_file ] [ -R request ] [ device ]

Le device est le fichier spécial correspondant au device contenant le fs ext2 (/dev/hdxx)

jj/10/OO ESAT 9
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.2.1. Description d'une inode

81 ED 00 0B 00 00 00 03 00 00 00 C0 00 02 92
type et droits Nb de liens UID GID taille du fichier en octets @ bloc n°1

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
@ bloc n°2 @ bloc n°3 @ bloc n°4 @ bloc n°5 @ bloc n°6

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
@ bloc n°7 @ bloc n°8 @ bloc n°9 @ bloc n°10 @ bloc n°11

00 00 00 00 00 00 C8 2F 49 98 F0 2E B9 02 51
@ bloc n°12 @ bloc n°13 date du dernier accès au fichier date de la dernière modification

0B FA 02 51
date de création du fichier

-rwxr-xr-x 11 root sys 192 Sep 11 10:21 lanceur

4.2.2. Décomposition de 2 premiers octets

s s t U G O

1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1

8 1 E D

4.2.3. Tableau de correspondance

F D C P S G T r w x r w x r w x

Type de Droits Droits Droits Droits


fichiers spéciaux Propriétaire Groupe des autres

F :fichier normal S : SUID bit r : lecture


D: répertoire G : SGID bit w : écriture
C: fichier spécial caractère T: STICKY bit x exécution ou passage
DC: fichier spécial bloc
P: fichier pipe

jj/10/OO ESAT 10
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.3. Adresses des Blocs d'un Fichier

Le système de fichiers Unix gère, dans l'inode, une table d'adresses de blocs constituant
le fichier.
Cette table possède 13 éléments de 3 octets chacun dont le principe est le suivant :

1 ko

256 @ 1 ko
1 ko
@ bloc 1@ @ 256 @ 256 @ 1 ko
@ @ @
@ @ @
@ @ @ 1 ko
@
256 @ 1 ko 1 ko

256 @ 1 ko
256 @

256 @ 256 @
256 @
1 ko

La taille maximale théorique d’un fichier sera donc

Blocs de 1° niveau : 1024 * 10 = 10240 ou 10 Ko


Blocs de 2° niveau : 1024 * 256 = 264 144 ou 256 Ko
Blocs de 3° niveau : 1024 * 256 * 256 = 67 108 864 ou 64 Mo
Blocs de 4° niveau : 1024 * 256 * 256 * 256 = 17 179 869 1874 ou 16 Go

Remarque :
Etant donné que le champ taille du fichier dans l’inode est codé sur 32 bits, la taille d’un
fichier est effectivement limitée à 4 Go (2 puissance 32)

jj/10/OO ESAT 11
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.4. CREATION D'UN SYSTEME DE FICHIERS

Normalement, le système de fichier racine est créé lors de l'installation du système UNIX.
Néanmoins on peut être amené à créer de nouveaux systèmes de fichiers, en particulier sur les
disquettes ou des disques supplémentaires. Pour cela il faut réaliser un formatage de haut
niveau.

RAPPEL :

Sous UNIX, l'opération de formatage se déroule en deux phases indépendantes :

• Un formatage physique (dit de bas niveau ) qui consiste à préparer la surface


physique à recevoir un système de fichiers en créant des pistes et des secteurs : ceci est
réalisé grâce à la commande format étudiée dans le chapitre sur la gestion des unités
de disque.

• Un formatage logique (dit de haut niveau ) qui consiste à installer, dans les
premiers secteurs du support magnétique, les tables utilisées par le système pour gérer
le support (création du super-bloc et de la table des inodes ).

 Il n'y a aucune relation entre les deux opérations. De ce fait si la commande format
rencontre des secteurs défectueux, elle les prend en compte mais ne transmet pas
l'information à la commande mkfs chargée de créer le système de fichiers. Le système,
ultérieurement, est donc susceptible d'allouer les secteurs défectueux à un fichier, avec les
conséquences que cela peut entraîner.

C'est pour cela que la commande format vérifie systématiquement l'état du support et
prévient l'utilisateur. D'où la conclusion qu'il ne faut jamais utiliser des disquettes qui
présentent des secteurs défectueux ( et donc qu'il n'est pas rentable d'acheter des disquettes
bon marché.... ).

L'unique moyen de réaliser un formatage de haut niveau et donc de créer un système de


fichiers, est d'utiliser la commande mkfs ( MaKe File-System ).

 Certains utilitaires ( tar et cpio en particulier ), mais aussi certaines applications évoluées
(par exemple ORACLE qui est une base de données ), n'utilisent pas les services du
gestionnaire de fichiers : ils gèrent directement l'espace magnétique.

jj/10/OO ESAT 12
Systèmes Répartis UNIX Gestion des systèmes de fichiers

 La commande / sbin / mkfs :

Réalise un formatage de haut niveau sur le support magnétique préparé par format.

Syntaxe : mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ]

-V mode verbose ;
-t ftype ftype est le type de système de fichiers à installer ;
fichier_special est le nom du fichier spécial définissant le disque / dev;
fs-options options transmises directement à mkfs ;
blocks nombre de blocs physiques ou de secteurs ( suivant le stype choisi ) que
gérera le système de fichiers à créer.

Exemple : mkfs -t ext2 /dev/fd0 2880

mkfs crée un système de fichiers sur une disquette 3,5 pouces de type ext2
Ce système comporte 2880 blocs physiques, soit 1440 blocs logiques de 1 Ko.

 La commande / usr / sbin / mklost+found

Certaines versions de mkfs ne créent pas automatiquement le catalogue lost+found. Or celui-


ci est utilisé lors de la réparation du File System , après un crash, par la commande fsck.
Le rôle de cette commande est de créer ce fichier

Syntaxe : /usr/sbin/mklost+found

jj/10/OO ESAT 13
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.5. LA ZONE DE SWAP

L'espace de swap est un terme général désignant l'espace disque utilisé pour augmenter la
mémoire apparente disponible dans la machine. Attention , l'espace de swap ne peut pallier un
manque réel de mémoire RAM.

Linux supporte deux formes de zones de swap : des partitions dédiées sur le disque dur, ou
bien des fichiers situés n'importe où dans votre arborescence.

La commande free vous affiche les quantités de mémoires libres et utilisées.

Syntaxe : / us r/ sbin /free

Toutes les valeurs sont exprimées en blocs de 1024 octets.

Un certain nombre de distributions nécessitent que vous prépariez et activiez une partition de
swap avant d'installer le système, car si vous avez trop peu de mémoire RAM, la procédure
d'installation pourrait en manquer et échouer.
mkswap permet de créer cette zone .

 La commande / sbin / mkswap


permet de créer une zone de swap soit sur un espace disque réservé , soit sur un fichier

Syntaxe : mkswap [ -c ] device [size-in-blocks]

L'option –c demande à mkswap de tester les secteurs défectueux.


Après avoir formaté la ou les zones de swap, il faut les activer afin que le système puisse les
utiliser.
swapon permet la mise en service de la zone de swap

 Les commandes / sbin / swapon - / sbin / swapoff


permet d'activer ou de désactiver une zone de swap

Syntaxe : /sbin/swapon [-h -V]


/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile
/sbin/swapon [-s]
/sbin/swapoff [-h -V]
/sbin/swapoff -a
/sbin/swapoff specialfile ...]

Dans le cas d'un fichier, vous devez le créer et écrire des octets dedans, jusqu'à obtenir la
taille désirée. Le plus simple est de faire appel à la commande dd.

Exemple : dd if=/dev/zero of=/swap bs=1024 count=8192


sync
mkswap –c /swap 8192
swapon /swap

jj/10/OO ESAT 14
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.6. REPARATION DU SYSTEME DE FICHIERS

Le système de fichiers est relativement fragile. Des erreurs dans l'allocation ou la


désallocation des blocs, dans la gestion des numéros d'inodes, etc. finissent par se produire.

 Les erreurs se produisent en particulier lorsque les tampons mémoires ne sont pas vidés
correctement ( arrêt intempestif de la machine ) ce qui provoque des incohérences entre
les données contenues dans le super-bloc sur disque et celui chargé en mémoire.

Les erreurs s'accumulent et bientôt certains signes indiquent que le système agit de manière
incohérente. Il est temps de réparer avant qu'il ne soit trop tard.

UNIX met à la disposition de l'administrateur quelques outils permettant de diagnostiquer et


de réparer les incohérences du système de fichiers. Cependant il faut savoir que la plupart de
ces outils sont à manipuler avec précautions les actions qu'ils réalisent étant irréversibles.

 Il faut être sensible au fait que, si ces utilitaires réussissent à réparer le système de fichiers,
et donc à sauvegarder l'essentiel, leur action réparatrice se traduit presque tout le temps par
des pertes de données

 La commande / sbin / fsck

Cet utilitaire est le plus connu des outils de test et réparation des systèmes de fichiers.

Syntaxe : / sbin / fsck [ --AVRTNP ] [ -s ] [ -t fstype ] [ fs-options ] system_name

fsck permet de vérifier la cohérence du système de fichier. S'il rencontre des erreurs, il
propose des solutions pour réparer.

Il agit en 6 passes distinctes:

1) Validation des inodes et recherche des blocs de données dupliqués ;


2) Validation des répertoires ;
3) Reconnexion des répertoires non référencés ;
4) Reconnexion des fichiers non référencés, validation du nombre de liens des fichiers
;
5) Validation de la liste des blocs libres.
6) Reconstruction de la liste des blocs libres.

jj/10/OO ESAT 15
Systèmes Répartis UNIX Gestion des systèmes de fichiers

 Bien avoir à l'esprit que la plupart des réparations proposées par fsck entraînent des
pertes de données.

 Avant toute utilisation de fsck sur un système de fichiers, il est préférable de


démonter tous les systèmes annexes.

 Avant toute utilisation de fsck sur un système de fichiers il faut démonter tous les
systèmes qui y sont montés.

 Le système de fichiers risque d'être modifié : les fichiers ou répertoires perdus qui
ont été repérés par fsck sont placés dans le répertoire / lost + found situé dans la
racine du système à analyser. Il faut que le répertoire / lost+ found ait été créé au
préalable et qu'il contienne des entrées de fichiers vides [ c.a.d. que des fichiers ont
été créés dans ce répertoire puis ont été effacés ].

 Conseils d'emploi :
Pour utiliser correctement fsck il faut être en mesure de répondre correctement aux
messages d'erreurs qu'il est susceptible d'afficher pendant son exécution : selon la
réponse donnée on peut effacer des fichiers qu'il sera ensuite impossible de retrouver.

Une bonne solution consiste à ce munir d'un crayon et d'un papier et d'effectuer une
première passe sans réaliser de correction :
• noter alors tous les fichiers considérés comme défectueux ( ils sont
signalés par leur numéro d'inode la plupart du temps );
• sortir de fsck, et retrouver ces fichiers ;
• recopier, lorsque cela est possible, tous les fichiers qui contiennent des
données importantes ;
• relancer fsck et effectuer les réparations.

 On peut profiter de l'examen des fichiers pour essayer de déterminer quelles


commandes ou quels utilitaires ont pu causer ces incohérences.

 Si fsck a réparé quelque chose dans le système de fichiers, il demande de rebooter


le système. Il ne faut pas réaliser la commande sync dans ce cas là. En effet fsck a
corrigé le super-bloc sur le disque et non sa copie en mémoire. Si l'on appelle sync,
cette copie sera réécrite sur le disque et le super-bloc devient incohérent par rapport
aux modifications apportées. Dans ces conditions il est préférable d'utiliser une
commande comme halt ou reboot.

jj/10/OO ESAT 16
Systèmes Répartis UNIX Gestion des systèmes de fichiers

4.7. MONTAGE DE SYSTEMES DE FICHIERS

4.7.1. Création de volumes :

4.7.1.1. Généralités

Pour des raisons d'efficacité et de sécurité, il est déconseillé de ne créer qu'un


seul système de fichiers [ D'autant que sur certains gros systèmes une telle
organisation serait impossible ].

Pour éviter qu'un système de fichiers ne soit trop important :

• UNIX autorise la division d'une partition d'un disque dur : chaque


partition sert alors de support à un système de fichiers à part entière.
• UNIX sait gérer les systèmes de fichiers qui sont créés sur des unités
mobiles.
• UNIX peut gérer des configurations comportant plusieurs disques durs,
chacun servant de support à un ou plusieurs système de fichiers.

 Pour globaliser la gestion de ces ensembles de système de fichiers, UNIX


utilise la notion de volume : un volume est le support d'un système de
fichiers à part entière, quelle que soit son implantation physique réelle.

 Il peut y avoir de nombreux volumes, mais un seul système de fichiers est


actif : c'est le système racine ( root filesystem ). Il sert de racine ' / ' à
l'arborescence reconnue par le système.

 Les autres systèmes de fichiers ne sont reconnus par le système que s'ils
sont "montés" sur le système racine ( = rattachés à l'arborescence racine ) :
la notion de montage de volumes fait quelle que soit la configuration en
cours, le système a la vision d'une arborescence unique qu'il gère comme
telle.

4.7.1.2. Politique de création de volumes

Quelques règles sont à respecter concernant la création des volumes :

 Règles physiques :

• Chaque disque peut être divisé en plusieurs parties, chacune


représentant un volume ;

 La partition swap, créée lors de l'installation, est gérée directement par le


système et n'est pas à considérer comme un volume ( il n'y a pas de système
de fichiers dans cette partition ).

jj/10/OO ESAT 17
Systèmes Répartis UNIX Gestion des systèmes de fichiers

 Règles logiques :

• Il est conseillé de créer une partition contenant le système proprement


dit. Elle supportera le système racine ;
• Une ou plusieurs partitions supplémentaires seront créées pour contenir
les répertoires des utilisateurs et, éventuellement, des applications
importantes particulières ( bases de données );

4.7.2. Opérations de montage et de démontage :

De fait l'administrateur devra souvent monter et démonter des volumes annexes de


manière à ce qu'ils puissent être pris en compte par le système.

Certains de ces montages sont réalisés automatiquement lors de l'initialisation du


système : il s'agit du montage des diverses partitions du (ou des) disque(s). D'autres ne
sont effectués qu'à la demande (disquettes).

Le système fournit en standard plusieurs outils pour assurer la gestion des volumes
montés.

Les opérations de montage et de démontage peuvent être réalisées, lorsque le besoin


s'en fait sentir, par les commandes mount et umount.

En général les montages autorisés concernent le système de fichiers contenant les


répertoires utilisateurs et les systèmes de fichiers montés via les lecteurs de
disquettes.

 Commande / bin / mount :


La commande mount réalise le montage d'un système de fichiers, présent sur un
volume caractérisé par un fichier spécial, sur un répertoire présent dans l'arborescence
du système de fichiers racine.

Syntaxe mount [-hV]


mount -a [-fnrvw] [-t type]
mount [-fnrvw] [-o options [,...]] periph | rep
mount [-fnrvw] [-t type] [-o options] periph rep
-r Le système de fichiers est monté en lecture seule
- f sftype Indique le type du système de fichiers ( voir : création
de système de fichiers )
fic_special Nom du fichier spécial sous lequel est référencé le
volume à monter.
répertoire Chemin du répertoire où le volume est monté.

 Le répertoire récepteur devrait être vide. S'il contient des fichiers, ceux-ci sont
masqués ( mais non détruits ), pendant la durée du montage : on ne peut plus y
accéder.

jj/10/OO ESAT 18
Systèmes Répartis UNIX Gestion des systèmes de fichiers

Le nom du répertoire récepteur devient celui de la racine du système monté.

 mount met à jour le fichier / etc / mtab qui contient la liste des volumes montés
(et éventuellement leur provenance dans le cas de fichiers distribués sur un
réseau ).

 Invoqué sans paramètres, mount affiche le contenu de / etc / mtab : nom de chaque
volume monté, répertoire sur lequel il est monté, montage éventuel en lecture seule.

• La commande mount -a [-t type] (généralement exécutée dans un script de


démarrage) monte tous les systèmes de fichiers indiqués dans / etc / fstab (ou
uniquement ceux du type indiqué), à l'exception de ceux dont la ligne contient le
mot-clé noauto.

• Lorsque l'on monte un système de fichiers mentionné dans la fstab, il suffit


d'indiquer le point de montage ou le périphérique.

• Normalement, seul le Super-Utilisateur peut monter des systèmes de


fichiers. Néanmoins, si la ligne de la fstab contient l'option user, n'importe quel
utilisateur peut monter le système de fichiers correspondant.

Ainsi, avec une ligne :

/dev/cdrom /cd iso9660 ro,user,noauto,unhide

dans la fstab, n'importe quel utilisateur peut monter le système iso9660 se trouvant
sur son CDROM en utilisant la commande

mount / dev / cdrom

 Commande / bin / umount :


umount réalise le démontage d'un système de fichiers. La structure du système de
fichiers est remise à jour ainsi que le fichier / etc / mtab.

Syntaxe : umount fic_special

 Il faut toujours invoquer umount avant d'extraire une disquette du lecteur. Si cela
n'est pas fait, il y aura des incohérences dans les tables du système de fichiers de la
disquette.

jj/10/OO ESAT 19
Systèmes Répartis UNIX Gestion des systèmes de fichiers

 Format du fichier / etc / mtab :


Chaque ligne de ce fichier contient l'identification des systèmes de fichiers montés par
la commande mount.

Chaque entrée est constituée des champs suivants:


• chemin du point de montage
• nom du fichier spécial du système à monter
• permissions de lecture / écriture sur le système de fichiers
• date du montage.

 Ce fichier est remis à zéro à chaque démarrage ( il ne contient alors que l'entrée :
/dev / root ) pour assurer la cohérence des informations.

Le fichier / etc / mtab est verrouillé en écriture : il ne peut être modifié que par les
utilitaires de montage / démontage.

Dans certains autres systèmes ce fichier s'appelle / etc / mnttab.

5. Commandes diverses

 La commande / bin / df
Affiche l'espace disque

Syntaxe : df [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes] [--type=fstype] [--
exclude-type=fstype] [--kilobytes] [--portability] [--print-type] [--help]
[--version] [file- name...]

 La commande / usr / bin / du


du affiche la quantité d'espace disque utilisée par chacun des arguments, et pour
chacun des sous-répertoires des répertoires indiqués en argument. L'espace est mesuré
en blocs d'un Ko par défaut.

Syntaxe : du [-abcklsxDLS] [--all] [--total] [--count-links] [--sum-marize] [--


bytes] [--kilobytes] [--one-file-system] [--separate-dirs] [--dereference]
[ --dereference-args ] [--help] [--version] [fichiers...]

 La commande / usr / bin / strings


Affiche les valeurs ascii imprimables d'un fichier binaire

Syntaxe : strings [-a|-|--all] [-f|--print-file-name] [-o] [--help] [-v|--version] [-n


min-len|-min-len|--bytes=min-len] [-t {o,x,d}[--target=bfdname] |--
radix={o,x,d}] file

jj/10/OO ESAT 20
Systèmes Répartis UNIX Gestion des systèmes de fichiers

 La commande / usr / bin / mtools


mtools est une commande présentant une collection de commandes permettant de
manipuler des fichiers DOS. On trouve entre autres :

mattrib, mbadblocks, mcd, mcopy, mdel, mdeltree, mdir, mformat


minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove
mren, mtoolstest, mtype, mwrite, mzip

Les lettres des lecteurs attribués dans le monde DOS sont reconnues par ces utilitaires
(a: premier floppy , b: deuxième floppy) ainsi que d'autres lettres comme j: pour
atteindre un disque JAZZ , z: un disque ZIP etc.…

 La commande / usr / sbin / fuser


Identifie les processus qui utilisent un fichier ou un système de fichiers.

Syntaxe : fuser [-a|-s] [-signal] [-kmuv] fichier ... [-] [-signal]


[-kmuv] fichier ...
fuser -l
fuser -V

jj/10/OO ESAT 21

You might also like