Le Système de fichiers Linux


Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque dur,  disquette, etc ...). Chaque OS a développé sa propre organisation. Par exemple, Windows a utilisé le système FAT, FAT32 puis NTFS. On peut faire cohabiter plusieurs systèmes dans des partitions séparées d'un même disque.

Linux propose par défaut le système ext3, mais il est capable de gérer une multitude de systèmes de fichiers différents (jfs, raiserfs, ntfs, etc..). Les sytèmes de fichiers supportés sont listés dans /proc/filesystems. L'utilisateur peut donc utiliser des systèmes de fichiers issus de différents OS comme Windows sous Linux.

Linux utilise un système de montage. Ce processus est le moyen de faire correspondre la partie de l'arborescence de l'OS aux partitions physiques du disque. Vous pouvez donc faire correspondre tout système extérieur (disquette, CDrom, répertoire réseau, etc..) à un répertoire créé pour cela dans l'arborescence de votre Linux à l'endroit qui sera pour vous le plus pratique.
Vous pouvez à n'importe quel moment, déplacer ce point de montage, en fait un répertoire "d'accrochage", pour accéder à ses fichiers.

Vous trouverez ici l'arborescence par défaut et les commandes pour se déplacer dans cette arborescence : ici

Les partitions sous linux

La notation des partitions et disques peut-être déroutante au début lorsque l'on vient du monde windows mais elle n'en reste pas moins assez simple.
La lettre a b c d représente l'ordre des disque dur sur la nappe (IDE ou SCSI). Le disque dur 1 sera donc noté : hda, le disque dur 2 sera noté hdb etc.
Chaque disque dur comporte une ou plusieurs partitions, il convient donc de les noter. Elles seront notés par numéros suivant l'ordre des partitions. La première partition principale prendra le numéro 1, la seconde partition prendra le numéro 2 etc...

Ce qui nous donne : NOTE : ici nous avons pris comme exemple, un disque dur IDE qui est noté : hdX
Un disque dur SCSI/SATA sera noté lui : sdX soit donc /dev/sda1 /dev/sda2 selon les partitions. Supposons que sous Windows il n'y a qu'un disque dur qui ne contient qu'une partition (c'est souvent le cas), le lecteur de CD est alors "D:" sous Windows. Sous linux, on aura : /dev/hdc

La commande mount

L'opération de montage et de démontage se fait à partir de la commande mount et umount. La syntaxe est la suivante :
mount -t <type > -o options /dev/phériphériques /mnt/rep-montage
exemple: mount -t ext3 /dev/hda5 /home/download
En règle général, vous n'êtes pas obligé de spécifier le fs "-t ext3" mount se débrouille comme un grand.
la commande mount tout seul, renvoie tous les points de montage. Ce sont en fait, les valeurs contenues dans le fichier : /etc/mtab

Pour démonter une partition :
umount /mnt/rep-montage ou umount /dev/phériphériques

exemple : umount /home/download ou umount /dev/hda5

Monter une partition Windows

Dans le cas où vous avez linux qui cohabite avec windows. Il se peut que vous désirez monter une de votre partition windows sous votre linux afin de pouvoir accéder à ces fichiers.

Avant d'essayer de monter une partition, comme il a été évoqué plus haut, il faut s'assurer que votre système supporte le système FAT ou NTFS sinon mount sera incapble de reconnaitre ce type de filesystem.
Dans le cas où vous n'avez jamais recompiler votre noyau. Un simple :

modprobe vfat
(si vous désirez monter une partition FAT)
ou
modprobe ntfs (si vous désirez monter une partition NTFS)

Nous avons tout simplement charger une partie d'une noyau, ici le support FAT et NTFS, afin que votre système puisse monter des partitions FAT / NTFS. Pour plus d'informations, reportez-vous ici

Ensuite, utilisez la syntaxe habituelle de mount, ce qui peut donner :
mount -t vfat /dev/hda2 /home/download
Ici on monte la partition FAT sur /home/download

mount -t vfat -o uid=5001,gid=5000,umask=022 /dev/hda1 /home/download
ici on monte la partition Windows occupant la 1ère partition /dev/hda1 dans le rép. /mnt/download, avec les options : l'utilisateur d'uid 5001, et le groupe de gid 500, seront propriétaires de tous les fichiers, la création d'un fichier s'effectuera avec le umask 022, c'est-à-dire les permissions 755 (rwxr-xr-x).

NOTE : Attention, l'écriture sur les partitions NTFS n'est encore qu'au stade expérimentale, ce qui peut vous donner quelques mauvaises suprises. Préférez donc l'utilisation de partition FAT pour le partage de fichiers sur une même machine entre linux & windows.

Monter une partition NFS

voir le tutorial : ici

Création d'une partition supplémentaire

Il se peut que lors de l'installation de votre linux, vous n'ailliez pas allouer tout l'espace de votre disque dur. Or maintenant vous désirez créer une nouvelle partition à partir de cet espace libre. Il existe plusieurs utilitaire pour gérer ses partitions sous linux : fdisk, cfdisk (en console graphique), plus certainement des outils graphiques fournis avec votre distribution. Voici comme créer une partition avec fdisk.

Avant toute chose, vous devez repérer comment sont agencées vos partitions sur le disque dur, ceci se fait à partir de la commande : fdisk -l

Disque /dev/hda: 30.0 Go, 30005821440 octets
255 têtes, 63 secteurs/piste, 3648 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Nous voyons ici que nous avons un seul disque dur : /dev/hda d'une taille de 30 giga.
Nous avons un disque dur composés de 3648 cylindres chacun ayant une taille de 8225280 octets (16065*512) soit environ 8mo ce qui nous donne les 30 Go.

Les partitions sont reparties sur les blocs qui équivaut aux nombres de cylindres.
La partition /dev/hda1 démarre au bloc 1 et se termine au bloc 973. Pour connaître sa taille, il suffit de multiplier le nombre de bloc par leurs tailles. Ce qui nous donne : 973*8225280 = 8003197440 environ 9Go.
De même la partition /dev/hda3 a comme taille : (3560-974)*8225280 = 21270574080 soit environ 21Go.

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1         973     7815591   83  Linux
/dev/hda2            3561        3648      706860    5  Extended
/dev/hda3             974        3560    20780077+  83  Linux
/dev/hda5            3561        3648      706828+  82  Linux swap / Solaris

Obtenir la taille des partitions à partir des blocs n'est pas primordiales puisque vous pouvez connaître la taille des partitions avec la commande df.
Le plus important à comprendre est que les blocs entre partition doivent se suivrent. Lorsque vous allez créer une partition, fdisk vous demandera de quel bloc à quel bloc vous désirez créer la partition, fort heuresement, il vous propose par défaut le bloc suivant libre, et vous n'êtes même pas obligé de lui donner le bloc de fin, en effet, vous pouvez lui spécifier la taille de votre partition.

Pour lancer fdisk : fdisk /dev/phériphérique - par exemple si vous désirez créer une partition sur le disque dur /dev/hda, saisir : fdisk /dev/hda

Le nombre de cylindres pour ce disque est initialisé à 3648.
Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024,
et cela pourrait causer des problèmes en fonction pour certaines configurations:
1) logiciels qui sont exécutés à l'amorçage (i.e., vieilles versions de LILO)
2) logiciels d'amorçage et de partitionnement pour d'autres SE
   (i.e., DOS FDISK, OS/2 FDISK)

Commande (m pour l'aide):

Les commandes se font à partir de touches raccourcies, pour avoir la liste de ces commandes, tapez "m" :

mkfs -j /dev/périphérique ou mkfs.ext3 /dev/périphérique
exemple : mkfs.ext3 /dev/hda5

Vous pouvez alors monter votre partition nouvellement créée.

Automatiser le montage des partitions au démarrage

Vous en avez marre de remonter à chaque démarrage votre partition Windows ? et bien vous avez raison !
Pour automatiser le montage des partitions au démarrage de votre linux, il vous faut éditer le fichier /etc/fstab
Pas de panique fstab reprend les options de mount, vous ne devriez donc pas être perdu.

La structure est la suivante :
/dev/phériphérique    /mnt/rep-montage    <type>    options      param_dump        param_verif_fichiers
Exemple de fichiers fstab :
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda1       /               ext3    defaults,errors=remount-ro 0       1
/dev/hda3       /home           ext3    defaults        0       2
/dev/hda5       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

192.168.1.2:/home/ftpsite /gateway/ftp nfs defaults 0 0
192.168.1.2:/var/www      /gateway/site nfs defaults 0 0

Vérifier l'état de votre filesystem

Vous avez la possibilité de vérifier l'état de votre filesystem avec l'utilitaire fsck. Cependant, je vous conseille de démonter la partition avec d'utiliser fsck sur cette dernière.
Pour démonter la partition, vous devez fermer tous les programmes suceptibles d'utiliser des fichiers de cette partition, sinon vous obtiendrez l'erreur "périphérique occupé" pour voir les fichiers ouverts, utiliser le programme: lsof
Dans le cas de la partition / vous pouvez démarrer sur un CD Live pour y faire les vérifications sur la partition à partir du système Live CD.

syntaxe :
fsck /dev/phériphérique
exemple : fsck /dev/hda5
Si vous désirez vérifier les blocs défectueux, utilisez l'option -c et -p pour réparation automatique.

Retour à la page d'accueil
flux rss malekal.com - Sitemap - Geekeden - OxygenePC.com - Les partenaires du site McAfee you Suck