Le système de fichier sous Linux
La curiosité n’est pas un vilain défaut mais une qualité fondamentale.
Le système de partition
Comme tout système d'exploitation, Linux utilise son propre système de partitions. Il peut fonctionner sur une seulle partition même s'il est recommandé de créer ce que l'on appelle une partition swap. Cette partition swap est considérée par Linux comme une extension de la mémoire vive. En général, on choisir une taille de swap égale à deux fois la taille de la mémoire vive. La partition de type ext3 sera utilisée comme partition racine du système . Linux contrairement à Windows, n'utilise pas du tout de lettre pour désigner une partition.
Sous Windows, on peut avoir c : et d : comme partitions.
c : désignera la première partition.
d : désignera la seconde.
Sous Linux, on aura par exemple hda1 et hda2.
hda1 : désignant la première partition.
hda2 : la seconde du premier disque dur.
hdb désignera donc le second disque dur ide. hdb2 la seconde partition du second disque dur. Le premier lecteur de disquette sera nommé fd0 et le second fd1, etc .... Mais ce n'est pas parce que Linux a besoin absolument de partition ext2 ou ext3 pour fonctionner qu'il ne reconnaît pas d'autres types de partitions. Avec Linux vous pourrez accéder par exemple à toutes vos partitions MS-DOS, FAT32, NTFS et bien d'autres ...
L'arborescence des dossiers
Toutes les distributions de Linux n'ont pas exactement la mee arborescence, mais on retrouvera toujours certains dossiers indispensables. Il faut savoir que sous Linux, la base du système de fichier s'appelle la racine et se représente par un "/". La racine est le point de montage principal pour tout système Linux. c'est à partir de ce point que tous les autres fichiers vont venir se "monter". Voici donc l'arborescence des dossiers de base que l'on trouve sur la plupart des distributions :
Dossier | Description | ||
---|---|---|---|
/ | Racine du système. C'est à partir de cette racine que sont montés tous les autres dossiers. | ||
/bin | Dossier contenant les divers exécutables système mis à disposition des utilisateurs normaux. N'importe quel utilisateur (par défaut) pourra donc exécuter tout ce qui sera contenu dans ce dossier. | ||
/boot | On trouvera dans ce dossier les éléments indispensables au démarrage de Linux, comme le noyau par exemple. | ||
/cdrom | Dossier utilisé comme point de montage pour le lecteur de cdrom. | ||
/dev | Dossier contenant des fichiers de périphériques (point d'accès aux divers périphériques du système). Pour accéder au lecteur de disquette par exemple, le noyau utilisera /dev/fd0. | ||
/etc | C'est ici que sont stockés les fichiers de configuration du système. | ||
/floppy | Dossier utilisé comme point de montage pour le lecteur de disquette. | ||
/home | Dossier contenant les dossiers personnels de chaque utilisateur. | ||
/lib | Dossier des librairies communes utilisées par le système. | ||
/mnt | Dossier utilisé pour monter les différents périphériques interne, partition ou point de montage réseau. | ||
/media | Dossier utilisé pour monter les différents périphériques externe, disquettes, cdroms, stick usb, appareils photos, etc ... | ||
/proc | Ici se trouvent les informations sur le fonctionnement de votre système. En réalité c'est un système de fichiers virtuel. On peut par exemple avoir des informations sur les périphériques pci via /proc/pci. | ||
/root | Dossier personnel du root (administrateur / superutilisateur). | ||
/sbin | Dossier contenant les différents exécutables réservés au superutilisateur. | ||
/tmp | C'est ce dossier que le système utilisera pour stocker les fichiers temporaires. | ||
/usr | Dossier contenant les programmes non système, librairies et autres fichiers accessibles à tous les utilisateurs. | ||
/X11R6 | Dossier contenant les exécutables, librairies, manpages du système d'affichage X Window. | ||
/bin | On trouvera dans ce dossier tous les exécutables utilisateurs. | ||
/include | Dossier contenant les fichiers d'en-tête utilisateurs, nécessaire à la recompilation d'un programme utilisateur. | ||
/lib | Dossier contenant les librairies utilisées par les programmes utilisateurs. | ||
/local | Ici on trouvera les différents programmes, librairies, fichiers de configuration, etc ... installés par les utilisateurs. | ||
/man | Dossier où sont stockés les manpages. Les manpages sont en fait des fichiers d'aide permettant d'avoir la description complète d'une commande, librairies ou fichier de configuration. | ||
/sbin | Dossier contenant les exécutables non-système, destinés prncipalement à être utilisés par le superutilisateur. | ||
/share | Dossier contenant divers programmes partagés par les utilisateurs. | ||
/src | Ici seront stockés par le root les fichiers sources à compiler. | ||
/var | Dossier contenant les fichiers qui ont tendance à changer de taille. | ||
/log | Contient divers fichiers log. Les fichiers log permettent de garder une trace de ce qui s'est passé sur le système. On y trouve, entre autres, auth.log (log des utilisateurs s'étant loggués sur le système), syslog (log du système). | ||
/spool | Dossier spool a pour but de stocker temporairement les fichiers en attente comme les courriels à envoyer ou les fichiers à imprimer. | ||
Contient les courriels des utilisateurs. | |||
/cron | Contient les fichiers cron des utilisateurs. |
Montage et démontage d'un système de fichier
Si l'on désire accéder à une partition autre que la partition racine du système, il va falloir la monter. C'est exactement la même chose pour le lecteur de cdrom, lecteur de disquette, etc ... . Le terme "monter" signifie que l'on associe un périphérique, partition à un dossier du système. Pour monter et démonter, on utilisera "mount" et "umount" comme dans l'exemple ci-dessous pour la partition hda4.
mount /dev/hda4 /mnt
On monte la partition hda4 dans le dossier "/mnt". S'il vous indique qu'il ne reconnaît pas le format de votre support, vérifiez que votre noyau le prend bien en charge. Pour spécifier le format, utilisez l'option "-t" suivie du type, comme ceci pour une partition FAT32 :
mount /dev/hda4 /mnt -t vfat
Pour démonter une partition rien de plus simple :
umount /dev/hda4
Il est possible de demander à Linux de charger automatiquement une partition au démarrage grâce au fichier /etc/fstab dont voici le contenu pour ma machine :
more /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hda5 / ext3 defaults,errors=remount-ro 0 1
/dev/hda6 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,users,noauto 0 0
/dev/cdrom0 /media/cdrom0 auto rw,users,noauto 0 0
/dev/hda1 /mnt/win vfat rw,users,noauto 0 0
Pour exemple ici, la partition hda5 de format "ext3" a comme point de montage "/".
hda6 est la partition de swap (c'est la seule partition qui n'a pas de point de montage).
fd0 le lecteur de disquette que l'on monte dans le dossier /media/floppy0.
cdrom le lecteur de cdrom que l'on monte dans le dossier /media/cdrom0.
hda1 la partition FAT32 que l'on monte dans le dossier "/mnt/win".
Les formats de partition supportés par Linux
0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot
1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Hidden W95 FAT3 75 PC/IX
Comme vous pouvez le constater Linux à la possibilité de monter ces différents systèmes de fichier.