Systèmes de fichiers LINUX


Sous LINUX, TOUT EST FICHIER, organisé suivant une UNIQUE ARBORESCENCE
(dont la racine est nommée / et dont l'administrateur est root)

Systèmes de fichiers

Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque, disquette, cd ...). Chaque OS propriétaire a développé sa propre organisation.
On peut faire cohabiter plusieurs systèmes dans des partitions d'un même disque.

Linux possède son système appelé ext2 mais peut en gérer d'autres. La liste en est donnée dans /proc/filesystems
L'utilisateur peut donc accéder sous Linux à d'autres systèmes de fichiers, comme DOS, Vfat,..provenant d'un périphérique ou importé par le réseau.

Comme pour l'utilisateur tout est fichier, tous les systèmes de fichiers quels que soient leur emplacement physique doivent être intégrés dans l'UNIQUE arborescence logique du système Linux.
Cette arborescence peut donc être construite (et évoluer) à partir de diverses partitions qui peuvent être situées sur plusieurs disques. Cela réalise une intégration et une abstraction plus poussée que dans le monde Windows où les partitions et lecteurs auquels sont affectées les lettres A: C: D: ... demeurent des entités séparées. Naturellement la partition sur laquelle est situé le répertoire racine joue un rôle particulier.

Le processus de montage, avec sa commande mount, décrite plus loin, est le moyen de faire correspondre parties de l'arborescence et partitions physiques de disque. Il permet de plus d'affecter tout système extérieur (disquette, cdrom, dk zip, rép. réseau ...) à un répertoire créé pour cela dans l'arborescence.
Il suffira ensuite de se déplacer à ce répertoire, appelé point de montage, en fait un répertoire "d'accrochage", pour accéder à ses fichiers (bien sûr, conformément aux permissions que possède l'utilisateur )

Les différentes catégories de fichiers

Arborescence du système Linux

La racine est le sommet de la hiérarchie des répertoires. Il s'agit d'une arborescence logique, indépendante de l'implantation physique des divers sous-répertoires, qui peut s'étendre sur plusieurs partitions incluses sur un ou plusieurs disques, et même sur des disques réseaux.
Sa structure est standard, avec des extensions imposées par les distributions.
Toute modification est de la compétence exclusive de l'administrateur, à l'exception des répertoires personnels situés dans /home.
Il est recommandé de respecter cette architecture standard.

Liste des répertoires principaux et leur rôle :

/ le répertoire racine

  TP
  • La commande file L'installer si nécessaire. Faire le lien entre la commande file et le 1er caractère affiché  sur chaque ligne par ls -l cd /etc file *
  • Droit sur le système Un utilisateur stage peut-il créer des rép. un peu partout ? La commande est mkdir nom-rep Essayer par exemple dans /etc ou dans /usr
  • Complément

    Les inodes

    Chaque système de fichiers tient à jour une table des descripteurs des fichiers qu'utilise le système d'exploitation pour accéder aux fichiers.
    Cette table se compose pour chaque fichier, d'une entrée appelée inode, repérée par un index appelé le numéro d'inode
    La liste des systèmes de fichiers gérés par Linux est visible sur /proc/filesystems
    Il existe un outil de vérification et de réparation des systèmes : fsck, qui s'effectue sur un système ou sous-systèmes, un rép. obligatoirement démonté. Par exemple, pour vérifier le rép. des users : fsck /home

    Les liens symboliques

    Les liens sont utiles pour faire apparaître un même fichier dans plusieurs répertoires, ou sous des noms différents. Ils évitent les duplications et assurent la cohérence des mises à jour
    Syntaxe : ln -s fichier lien

    Exemple : ln -s /var/www/index.html /home/stage/accueil.html crée un fichier lien symbolique nommé accueil.html dans le répertoire /home/stage/
    Celui-ci pointe sur la page d'accueil du serveur web, index.html (ainsi, une requête sur accueil.html, ouvrira index.html)
    La suppression du fichier source entraînera un changement de comportement du fichier lien qui sera considéré comme "cassé" ("broken").

      TP
    Comment savoir que le fichier vmlinuz situé à la racine est un lien symbolique ?
    Quelle est sa signification ?
    
    Créer un lien symbolique
    Créer le fichier-lien symbolique  nommé logs à la racine du système
    et qui conduit directement au rép. /var/log