Guide pratique des systèmes de fichiers

Version française du Filesystems HOWTO

Ludovic Danigo

Adaptation française

Jerôme Fenal

Relecture de la version française

0.7.5.fr.1.0

22 août 2000

Résumé

Ce petit guide concerne les systèmes de fichiers et leur accès. Ce n'est pas un document spécifique à Linux ou Unix comme pour pourriez vous y attendre. Vous trouverez aussi dans ce document beaucoup d'informations intéressantes à propos des systèmes (de fichiers) non-Unix, mais Unix reste mon principal intérêt :-)


Table des matières

Copyright
Introduction
Listes de diffusion sur les systèmes de fichiers
Collection de systèmes de fichiers à metalab.unc.edu
Crédits
Carte d'accessibilité aux systèmes de fichiers
Introduction à l'allocation contigue de systèmes de fichiers
Introduction à l'allocation par liste chaînée de systèmes de fichiers
Introduction aux systèmes de fichiers basés sur FAT
Introduction aux systèmes de fichiers à noeuds (i-noeud)
Introduction aux systèmes de fichiers "extent"
Introduction aux systèmes de fichiers qui utilisent les arbres équilibrés (B-arbres)
Introduction aux systèmes de fichiers journalisés
Autres fonctionnalités des systèmes de fichiers
Volumes
Partitions PC
Autres partitions
Intitulés de disque Unix
Volumes Windows NT
MD - Pilote de périphériques multiples pour Linux
LVM - Logical Volume Manager (HP-UX LVM?)
VxVM - Gestionnaire de volume Veritas
IBM OS/2 LVM
StackVM
Novell NetWare volumes
DOS FAT 12/16/32, VFAT
VFAT: Nom de fichiers longs
UMSDOS: noms de fichiers longs et attributs Linux sur un système de fichiers FAT
Attributs OS/2 étendus pour le système de fichiers FAT
Star LFN
Accéder à une partition VFAT depuis OS/2 (VFAT-OS2)
Accéder à une partition VFAT depuis DOS (pilote LFNDOS)
Accéder à une partition VFAT depuis DOS (pilote LFNDOS libre)
Accéder à une partition VFAT depuis DOS (les outils LFN d'Odi)
Accéder une partition FAT32 depuis OS/2 (FAT32.IFS)
Accéder une partition FAT32 depuis Windows NT 4.0
Accéder une partition FAT32 depuis Windows NT 4.0
Accéder des disques compressés avec Stac/Dblspace/Drvspace depuis Linux (DMSDOS)
Accéder des disques compressés avec Dblspace/Drvspace depuis Linux (thsfs)
Fsresize - Retailleur FAT16/32
FIPS - Retailleur FAT16
Système de fichiers à hautes performances (High Performance FileSystem, HPFS)
Accéder une partition HPFS depuis DOS (iHPFS)
Accéder une partition HPFS depuis DOS (hpfsdos)
Accéder une partition HPFS depuis DOS (hpfsa)
Accéder une partition HPFS depuis DOS (amos)
Accéder une partition HPFS depuis Linux
Accéder une partition HPFS depuis FreeBSD
Accéder une partition HPFS depuis Windows NT 3.5
Accéder une partition HPFS depuis Windows NT 4
Système de fichiers de nouvelle technologie (New Technology FileSystem, NTFS)
Accéder une partition NTFS depuis DOS (NTFSDOS.EXE)
Accéder une partition NTFS depuis DOS (ntpwd)
Accéder une partition NTFS depuis OS/2
Accéder une partition NTFS depuis Linux
Accéder une partition NTFS depuis FreeBSD et NetBSD
Accéder une partition NTFS depuis BeOS
Accéder une partition NTFS depuis BeOS (autre)
Réparer NTFS en utilisant les outils NTFSDOS
Réparer NTFS en utilisant NTRecover
Les systèmes de fichiers étendus (Ext, Ext2, Ext3)
Le système de fichiers étendu (ExtFS)
Le deuxième système de fichiers (Ext2FS)
Le troisième système de fichiers (Ext3FS)
La compression transparente pour Ext2FS - E2compr -
Accéder à Ext2FS depuis DOS (outils Ext2FS)
Accéder àExt2 depuis DOS, Windows 9x/NT et autres Unix (LTools)
Accéder Ext2 depuis OS/2
Accéder Ext2 depuis Windows 95/98 (FSDEXT2)
Accéder Ext2 depuis Windows 95 (Explore2fs)
Accéder Ext2 depuis Windows NT (ext2fsnt)
Accéder à Ext2 depuis BeOS
Accéder à Ext2 depuis MacOS (MountX)
Accéder à Ext2 depuis MiNT
Le défragmenteur pour Ext2FS
Le retailleur pour Ext2FS
Ext2end
Réparer/analyser/créer Ext2 avec E2fsprogs
L'éditeur de système de fichier ext2 : Ext2ed
L'éditeur de système de fichiers Linux : lde
Les utilitaires de restauration pour Ext2FS
Le système de fichiers hiérarchique du Macintosh - HFS
Accéder à HFS depuis Linux
Accéder à HFS depuis OS/2 (HFS/2)
Accéder à HFS depuis Windows 95/98/NT (HFV Explorer)
Accéder à HFS depuis DOS (MAC-ETTE)
Les utilitaires HFS
Une librairie portable du système de fichiers Macintosh : MacFs
Le système de fichiers pour CD-ROM : ISO 9660 - CD-ROM filesystem
Les extensions RockRidge
Les extensions Joliet
Les CD-ROM hybrides
Index de Novell Netware sur ISO9660
Accéder à Joliet depuis Linux
Accéder à Joliet depuis BeOS
Accéder à Joliet depuis OS/2
Accéder un CD audio comme un système de fichiers depuis Linux
Accéder un CD audio comme un système de fichiers depuis BeOS
Accéder à toutes les pistes depuis Linux (CDfs)
Créer des CD-ROM hybrides (mkhybrid)
Les autres systèmes de fichiers
Le système de fichiers de disque Acorn : ADFS
Le système de fichiers rapide d'Amiga : AFFS
Le système de fichiers BeOS : BeFS
Le système de fichiers de démarrage d'UnixWare : BFS
Le système de fichiers pour Commodore 1581/1541 : CBMFS
Le système de fichiers CrosStor
Le système de fichiers de bureau : DTFS (DeskTop File System)
Le système de fichier amélioré (Linux) : EFS
Le système de fichiers à extents (IRIX) : EFS
Le système de fichiers rapide BSD : FFS
Le système de fichiers parallélisé générique : GPFS
Le système de fichiers hautes performances d'HP-UX : HFS
Le système de fichiers à haut débit : HTFS
Le système de fichiers journalisé (HP-UX, AIX, OS/2 5, Linux) : JFS
Le format logique d'inter-échange (HP-UX) : LIF
Le système de fichiers à structure journalisée pour Linux : LFS
Le système de fichiers Macintosh : MFS
Le système de fichiers Minix
Le système de fichiers Novell NetWare : NWFS
Les services de stockage Novell : NSS
Le système de fichiers à struture sur disque : ODS
Le système de fichiers QNX
Le système de fichiers ReiserFS
Le système de fichiers pour CD-ROM de Sony : RFS
Le système de fichiers pour Rom : RomFS
Le système de fichiers sécurisé : SFS
Le système de fichiers Spiralog (OpenVMS)
Le système de fichiers System V et ses dérivés
Le système de fichiers pour CD-ROM de Philips : CD-Text
Le format de Disque Universel (système de fichiers des DVD-ROM) : UDF
UFS
V7 Filesystem
Le système de fichiers Veritas (HP-UX, SCO UnixWare, Solaris) : VxFS
Le système de fichiers étendu (IRIX) : XFS
Xia FS
Partitions « brutes »
Sauvegarder des partitions directes avec DBsnapshot
Appendice
Les systèmes de fichiers réseaux
Les systèmes de fichiers chiffrés
Outils de test de performance disque
Ecrire votre propre pilote de système de fichiers
Documents Connexes

The Filesystems HOWTO, Copyright (c) 1999 Martin Hinner .

Ce document est un document libre; vous pouvez le redistribuer et/ou le modifier sous les termes de la Licence Publique Générale (GPL) telle que publiée par la Free Software Foundation ; aussi bien la version 2 de celle-ci que (à votre convenance) n'importe quelle version ultérieure.

Ce guide pratique est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de mercatabilité ou adaptation à un sujet particulier. Référez-vous à la Licence Publique Générale de GNU (GPL) pour plus de détails.

Vous devriez avoir reçu une copie de la Licence Publique Générale (GPL) avec ce document ou GNU CC ; sinon, écrivez à :

Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Le Filesystems HOWTO décrit les systèmes de fichiers et leur utilisation à partir de différents systèmes d'exploitation. Bien que ce document ait été composé avec le meilleur de mes connaissances, il est possible et même probable qu'il contienne des erreurs. Merci de me faire savoir si vous trouvez des erreurs ou des informations dépassées. J'essaierai autant que possible de conserver ce document à jour et exempt d'erreurs. Toutes les contributions sont aussi les bienvenues, donc si vous voulez écrire quelque chose au sujet des systèmes de fichiers, merci de me contacter par e-mail.

Avant de lire ce guide pratique, il est recommendé de lire le Disk-HOWTO (vous pouvez l'obtenir à http://sunsite.unc.edu/LDP/HOWTO/) de Stein Gjoen .

Ce guide pratique peut être obtenu à http://penguin.cz/~mhi/fs/ ou à http://metalab.unc.edu/filesystems/howto/.

Si vous êtes un utilisateur japonais, vous pourriez être intéressé par la traduction de ce guide pratique en japonais par : FUJIWARA Teruyoshi . Elle est disponible à http://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO.html. Et le source SGML peut être téléchargé ici : ftp://ftp.linet.gr.jp/pub/JF/sgml/Filesystems-HOWTO.sgml.gz.

Le "Filesystems access HOWTO" original fut écrit par Georgatos Photis (voyez sa page Web à http://students.ceid.upatras.gr/~gef/). Ce guide pratique contient beaucoup d'informations provenant de son site. Merci Gef.

FUJIWARA Teruyoshi a traduit ce guide pratique en Japonais.

D'autres personnes qui ont contribué ou m'ont aidé (directement ou indirectement) avec ce guide pratique sont, par ordre alphabétique :

Tous mes remerciements aux personnes citées. Si j'ai oublié quelqu'un, merci de me le faire savoir.

Les systèmes de fichiers mettent à jour leur information structurelle (appelée metadata) grâce à des écritures synchrones. Chaque mise à jour de metadata peut nécessiter beaucoup d'écritures séparées, et si le système plante lors de la séquence d'écriture, les métadata peuvent être dans un état incohérent.

Au redémarrage suivant, l'utilitaire de contrôle du système de fichiers (appelé fsck) devra parcourir la structure des metadata, les examiner et les réparer. Cette opération prend un temps considérable sur les systèmes de fichiers de grande taille. Et le disque peut ne pas contenir suffisamment d'information pour corriger la structure. Il en résulte des fichiers mal placés ou effacés.

Un système de fichiers journalisé utilise une aire séparée appelée log ou journal. Avant que les modifications aux métadata ne soient réellement appliquées, elles sont enregistrées dans cette aire séparée. L'opération est ensuite appliquée. Si le système plante pendant l'opération, il y a assez d'information dans le journal pour « rejouer » l'enregistrement du journal et finir l'opération.

Cette approche ne requiert pas l'examen du système de fichiers en entier, apportant un contrôle très rapide des gros systèmes de fichiers, en général quelques secondes pour un systèmes de fichiers de plusieurs gigaoctets. De plus, comme toutes les informations pour l'opération courante sont sauvegardées, comme toutes les opérations courantes sont sauvegardées, aucun effacement ou récupération dans « lost-and-found » n'est nécessaire. Le désavantage des systèmes de fichiers journalisés est qu'ils sont plus lents que les autres systèmes de fichiers.

Quelques systèmes de fichiers journalisés : BeFS, HTFS, JFS, NSS, Spiralog filesystem, VxFS et XFS.

GNU parted est un programme pour créer, détruire, retailler, copier et déplacer les partitions et les systèmes de fichiers qui s'y trouvent.

Parmi ses utilisations, on peut faire de la place pour de nouveaux systèmes d'exploitation, réorganiser l'espace disque, copier les données d'un disque à un autre, et faire des images de disques, pour répliquer des installations sur un grand nombre d'autres ordinateurs.


C'est un utilitaire qui manipule Ext2FS, FAT, NTFS, UFS, les tables de contenu de disque BSD (mais pas encore les vieilles partitions de swap Linux) ; il réécrira la table de partition, si vous lui en donnez la permission.

gpart est un utilitaire qui manipule Ext2FS, FAT, Linux swap, HPFS, NTFS, les tables de contenu de disque FreeBSD et Solaris/x86, Minix, ReiserFS ; il propose un contenu pour la table de partition principale et est bien documenté.

Ce pilote du noyau Linux vous permet de monter et d'accéder à des volumes multiples linéaires ou entrelacés.

Si Windows NT Workstation ou Server est paramétré avec des partitions à tolérance de panne (entrelacées avec parité et agrégées en volumes), et que ces partitions ne sont plus accessibles, et apparaissent dans l'Administrateur de Disques comme étant de type Inconnu, vous pouvez éventuellement les rendre accessibles grâce à l'utilitaire FTEDIT.

Ces pilotes vous laissent combiner plusieurs partitions de disque dur en un périphérique bloc logique. Cela peut être utilisé pour simplement juxtaposer deux partitions pour en faire une unique ou pour combiner plusieurs disques durs redondants en un périphérique RAID 1/4/5 de manière à fournir une protection contre les pannes de disque dur. Cela s'appelle le « RAID logiciel « puisque la conbinaison des partitions est faite par le noyau.

VFAT-OS2 est un paquetage qui autorise OS/2 à accéder aux partitions Windows 95 formatée en VFAT de manière transparente, comme si elles étaient des lettres de disque OS/2 standards. La visée ultime de ce paquetage est d'être capable utiliser le système de fichiers VFAT comme un remplacement de FAT. Il peut aussi accéder aux partitions NTFS en mode lecture seule.

LFNDOS fournit l'API Windows 95 Nom de Fichiers Longs (Long Filename, LFN) pour les programmes DOS. Il utilise le même format pour sauvegarder les noms sur le disque que Windows 95, vous pouvez donc voir et utiliser les noms de fichiers longs sous les deux systèmes de manière interchangeable. Il fonctionne comme un programme résidant en mémoire, et par conséquent nécessite environ 60 ko de mémoire conventionnelle.

Sous Windows 95, un programme DOS peut utiliser les noms de fichiers longs en appellant un jeu de fonction d'interruption, lesquelles sont fournies par Windows. Par exemple, COMMAND.COM permet les noms de fichiers longs quand il est lancé comme une ligne de commande DOS depuis Windows, mais pas si vous redémarrez en mode MS-DOS. D'autres programmes comme EDIT.COM et tous les programmes DJGPP utilisent les noms de fichiers longs s'ils sont disponibles.

Ces outils fournissent des facilités de gestion sous DOS avec les noms de fichiers longs créés par Windows 95/98 sur les systèmes de fichiers FAT32, FAT16 et FAT12. Taper LDIR affiche le contenu du répertoire avec les noms de fichiers longs. Copier un fichier avec LCOPY préserve les noms de fichiers longs. Vous pouvez même créer des répertoires (LMD) avec des noms de fichiers longs ou renommer des fichiers (LREN) avec des noms longs.

FAT32.IFS pour OS/2 vous autorise à accéder aux partitions FAT32 depuis OS/2. Vous ne pouvez pas créer de partitions FAT32, vous avez toujours besoin de Windows 95 OSR2 pour cela. De plus, le CHKDSK d'OS/2 peut ne pas corriger toutes les erreurs possibles qui peuvent arriver, vous devrez utiliser le Scandisk de Windows 95 pour corriger certaines erreurs.

Pilote du système de fichiers FAT32 pour NT 4.0 et NT 3.51.

C'est un pilote système de fichiers FAT32 pour Windows NT(R) 4.0. Une fois ce pliote installé, tous les disques FAT32 présents sur votre système seront entièrement accessibles comme des volumes Windows NT natifs. La version gratuite fournit seulement des capacités de lecture. La version lecture/écriture est à acheter.

DMSDOS lit et écrit sur les systèmes de fichiers DOS compréssés (CVF-FAT). Les configurations suivantes sont supportées :
  • DoubleSpace / DriveSpace (MS-DOS 6.x)

  • DoubleSpace / DriveSpace (Windows 95)

  • DriveSpace 3 (Windows 95 avec le pack Plus!)

  • Stacker 3

  • Stacker 4

Il fonctionne avec la FAT32, le NLS, les pages de codes (testé avec les patches FAT32 version 0.2.8 sous Linux 2.0.33 et avec la FAT32 en standard dans les noyaux 2.1.xx, 2.0.34 et 2.035). Dmsdos fonctionne aussi bien avec les noms de fichiers long avec VFAT ou UMSDOS (ou les deux en même temps). Il a été retravaillé pour être prêt pour le SMP et devrait maintenant complètement compiler avec la libc6.

Retaille les systèmes de fichiers FAT16/FAT32. Ne nécessite aucun autre programme (tel un défragmenteur). Il possède des options --backup et --restore, donc s'il y a une chute de tension, (ou un bug), vous pouvez toujours revenir en arrière. Les fichiers de sauvegarde sont généralement inférieurs à 1 mega-octet.

L'auteur n'effectuera probablement plus de nouvelle version de fsresize, car il travaille sur parted - un clone de Partition Magic. Il sera capable de retailler, copier, créer et vérifier les systèmes de fichiers/partitions.

De bons liens sur HPFS :

iHPFS permet aux utilisateurs d'OS/2 d'utiliser leurs partitions HPFS quand il démarre en session DOS. Une lettre de lecteur est assignée à la partition HPFS, et peut être accédée comme n'importe quel lecteur DOS. iHPFS est restreint à un accès en lecture seule.

Ce programme n'est plus maintenu car l'auteur n'utilise plus OS/2. Si vous souhaitez maintenir ce programme, faites-lui savoir.

Ce pilote fait partie du noyau Linux (2.1.x+). Il peut lire et écrire sur une partition HPFS. Les droits d'accès et les propriétaires peuvent être enregistrés dans les attributs étendus. Quelques bogues du pilote HPFS en lecture seule originel sont corrigés. Il supporte HPFS386 sur Warp Server Advanced.

Si vous voulez le support HPFS, activez l'option OS/2 HPFS filesystem support dans le sous-menu Filesystems. Recompilez ensuite votre noyau en utilisant make dep bzImage, redémarrez et essayez de monter votre partition HPFS (i.e. mount /dev/hda2 /mnt -t hpfs).

Ce pilote permet de monter un volume HPFS dans l'espace de nommage Unix. Seul l'accès en mode lecture seule est supporté pour le moment.

Ce programme édite la base de registre de Windows NT et autorise le support HPFS. Pinball.sys est le nom du pilote pour le système de fichiers HPFS pour Windows NT. Il peut être trouvé sur le CD-ROM de NT 3.5x. Microsoft ne supporte plus l'HPFS. Installer ce programme annulera votre garantie et éventuellement l'accord de license.

Références :

NTFSDOS.EXE est un système de fichiers réseaux pour DOS/Windows qui est capable de reconnaître et de monter les disques NTFS pour un accès transparent. Il fait en sorte que les disques NTFS ne soient pas distinguables des disques FAT standard, fournissant ainsi la possibilité de naviguer, voir et exécuter les programmes sur ces disques depuis le DOS ou depuis Windows, y compris depuis Le gestionnaire de fichier de Windows 3.1 et l'explorateur de Windows.

NTPwd contient les outils en lignes de commandes pour accéder aux partitions NTFS, c'est un portage DOS du pilote utilisé par linux. Il contient aussi un petit utilitaire pour changer les mots de passes NT.

L'archive ntfs_003.zip ne contient que des outils en ligne de commande pour accéder aux partitions NTFS depuis OS/2. Une véritable extension IFS pour accéder à NTFS est incluse dans VFAT-OS2 v0.05.

Fonctionne à la fois comme un pilote noyau et un ensemble d'utilitaire en ligne de commande.

Ce pilote vous autorise à monter les volumes NTFS sous FreeBSD et NetBSD. Nous supportons aussi une capacité d'écriture limitée : nous pouvons écrire dans des fichiers non compressés sans trou, mais vous ne pouvez pas encore changer la taille du fichier. Le support en écriture a été développé dans le but d'utiliser un volume NTFS comme fichier d'échange (swap).

Ceci est la version ALPHA d'un pilote NTFS pour BeOS. Ce n'est pas la chose la plus policée du monde, mais chaque nouvelle version que l'auteur délivre est plus stable que la précédente. Il vient juste de mettre en œuvre la lecture des fichiers compressés, soyez donc précautionneux avec ceci. Enfin, il fonctionne aussi avec les volumes NTFS 5, et parvient à supprimer quelques bugs.

L'auteur travaille maintenant pour Be Inc, vous ne verrez plus beaucoup de mise à jour de son support pour les systèmes de fichiers NTFS et Ext2FS sur son site web. Les pilotes seront introduits dans les prochaines versions de BeOS.

Un ajout à NTFSDOS qui autorise à renommer les fichiers existants, ou à écraser un fichier avec de nouvelles données. Fonctionnalité très limitée.

Utilise un disquette de démarrage et une connexion série à un deuxième système NT afin de fournir un accès complet aux disques NTFS sur un système NT mort. Idéal pour récupération de données ou le remplacement de pilotes.

Le système de fichiers étendus (ExtFS), le second système de fichiers étendus (Ext2FS) et le troisième système de fichiers étendus (Ext3FS) furent conçus et développés pour Linux par Rémy Card, Laboratoire MASI--Institut Blaise Pascal, , Theodore Ts'o, Massachussets Institute of Technology, et Stephen Tweedie, University of Edinburgh,

Le deuxième système de fichiers est probablement le système de fichiers le plus largement répandu dans la communauté Linux. Il fournit une sémantique Unix standard et des fonctionnalités avancées. Qui plus est, grâce aux optimisations incluses dans le code du noyau, il est robuste et offre d'excellentes performances.

Puisque Ext2FS fut conçu de manière évolutive, il prévoit l'ajout de nouvelles capacités. Certaines personnes sont en train de développer des extensions au système actuel : listes de contrôle d'accès se conformant à la sémantique Posix, undelete, et compression de fichier à la volée.

Ext2FS fut d'abord développé et intégré au noyau Linux et est maintenant activement porté sur d'autres systèmes d'exploitation. Un serveur Ext2FS tournant sur le système GNU Hurd a été développé. Des gens sont aussi en train de travailler sur un portage de Ext2FS pour le serveur LITES, tournant sur le micro-noyau Mach et sur le système d'exploitation VSTa. Dernier point, mais non des moindres, Ext2FS est une partie importante du système d'exploitation Masix, actuellement en cours de développement par l'un des auteurs.

En plus des fonctionnalités Unix standard, Ext2FS supporte certaines extensions qui ne sont généralement pas présentes dans les systèmes de fichiers Unix.

Les attributs de fichiers autorisent les utilisateurs à modifier le comportement du noyau quand il agit sur un ensemble de fichiers. On peut ainsi modifier les attributs d'un fichier ou d'un répertoire. Dans ce dernier cas, les nouveaux fichiers créés dans ce répertoire héritent de ces attributs.

La sémantique BSD ou Système V Version 4 peut être sélectionnée au montage. Une option de mount autorise les administrateurs à choisir la sémantique de la création de fichier. Sur un système de fichiers monté avec la sémantique BSD, les fichiers sont créés avec le même identifiant de groupe (gid) que leur répertoire courant. La sémantique des Systèmes V est un peu plus complexe : si un répertoire a le « bit setgid » positionné, les nouveaux fichiers héritent de l'identifiant de groupe du répertoire et les sous-répertoires de l'identifiant de groupe et du « bit setgid » ; dans les autres cas, fichiers et sous-répertoires sont créés avec le premier identifiant de groupe du processus appelant.

Les mises à jour synchronisées du type BSD peuvent être utilisées avec Ext2FS. Une option de montage permet à l'administrateur d'imposer l'écriture synchrone des metadata (i-noeuds, bloc de champs de bits, blocs indirect et bloc répertoires) le disque quand elles sont modifiées. Cela peut être utile pour maintenir une cohérence stricte des metadata mais cela conduit à de faibles performances. En réalité, cette fonctionnalité n'est pas, normalement utilisée car en plus de la perte de performance associée à l'utilisation de mise à jour synchrone des metadatas, elle peut causer des corruptions dans les données des utilisateurs qui ne seront pas signalé par le contrôleur de système de fichiers (fsck).

Ext2FS permet à l'administrateur de choisir la taille des blocs logiques lors de la création du système de fichier. La taille des blocs peut généralement être de 1024, 2048 ou 4096 octets. L'utilisation de blocs de grande taille peut accélérer les E/S car imposant moins de requêtes d'E/S, et par là même moins de déplacement des têtes de disque sont nécessaires pour accéder à un fichier. D'un autre côté de gros blocs font perdre plus d'espace disque : en moyenne, le dernier bloc alloué à un fichier est seulement à moitié utilisé. Plus les blocs seront gros, plus l'espace sera gaspillé dans le dernier bloc de chaque fichier. De plus, la plupart des avantages des blocs de grande taille sont obtenus par les techniques de pré-allocation du système de fichiers Ext2.

Ext2FS implémente des liens symboliques rapides. Un lien symbolique rapide n'utilise aucun bloc de donnée sur le système de fichiers. Le nom de la cible n'est pas enregistré dans un bloc de donnée mais dans l'i-noeud lui-même. Cette politique peut économiser de l'espace disque (il n'est pas nécessaire d'allouer des blocs de données) et améliore la performance des opérations sur les liens (il n'y a pas besoin de lire un bloc de données quand on accède à un tel lien). Bien sûr, l'espace disque disponible dans l'i-noeud est limité donc tous les liens ne peuvent pas être implémentés comme des liens symboliques rapides. La taille maximale du nom de la cible pour un lien symbolique rapide est de 60 caractères. Nous prévoyons d'étendre ce modèle aux petits fichiers dans un proche avenir.

Ext2FS garde la trace de l'état du système de fichiers. Un champ spécial dans le superbloc est utilisé par le code du noyau pour indiquer l'état du système de fichiers. Quand un système de fichiers est monté en mode lecture/écriture, son état est considéré comme non propre (« Not Clean »). Quand il est démonté ou remonté en mode lecture seule, son état redevient propre (« Clean »). Au démarrage, le vérificateur du système de fichiers utilise cette information pour décider si le système de fichiers doit être vérifié. Le code du noyau peut aussi enregistrer des erreurs dans ce champ. Quand une incohérence est détectée par le code du noyau, le système de fichiers est marqué comme contenant des erreurs (« Erroneous »). Le vérificateur de système de fichiers teste cela pour forcer la vérification du système de fichiers sans se préoccuper de son état apparemment propre.

Toujours éviter la vérification du système de fichiers peut parfois être dangereux. Ext2FS fournit donc deux manières de forcer la vérification à intervalles réguliers. Un compteur de montage est maintenu dans le « superbloc ». Chaque fois que le système de fichiers est monté en mode lecture/écriture, ce compteur est incrémenté. Quand il atteint la valeur maximale (elle aussi enregistrée dans le « superbloc »), le vérificateur de système de fichiers force la vérification même si le système de fichiers est dans un état propre. Les champs date de la dernière vérification et intervalle maximal de vérification sont aussi maintenu dans le « superbloc ». Ces deux champs autorisent l'administrateur à requérir des vérifications périodiques. Quand l'intervalle maximal de vérification est atteint, le vérificateur ignore l'état du système de fichier et force sa vérification.

Un attribut autorise un utilisateur à demander une suppression sécurisée des fichiers. Quand un tel fichier est effacé, des données aléatoires sont écrites dans le bloc disque précédemment alloué à ce fichier. Cela empêche des personnes malintentionnées d'avoir accès au contenu précédent du fichier en utilisant un éditeur de disque.

Pour finir, de nouveaux types de fichiers inspirés par le système de fichiers 4.4BSD ont récemment été ajoutés à Ext2FS. Les fichiers immuables peuvent seulement être lus : personne ne peut y écrire ou les effacer. Cela peut être utilisé pour protéger des fichiers de configurations sensibles. Les fichiers « ajout-seul » (« Append-only ») peuvent être ouverts en mode écriture mais les données sont toujours ajoutées à la fin du fichier. Comme les fichiers immuables, ils ne peuvent pas être effacés ou renommés. Cela est surtout utile pour les fichiers de journalisation (« log ») qui ne peuvent que grandir.

La structure physique du système de fichiers Ext2 fut très fortement influencée par l'agencement du système de fichiers BSD. Un système de fichiers est composé de groupes de blocs. Les groupes de blocs sont analogues aux groupes de cylindres du FFS BSD. Néanmoins, les groupes de blocs ne sont pas attachés à l'agencement physique des blocs sur le disque, puisque les disques modernes sont optimisés pour les accès séquentiels et pour cacher leur géométrie physique au système d'exploitation.

Secteur d'amorceGroupe de blocs 1Groupe de blocs 2...Groupe de blocs n

Chaque groupe de blocs contient une copie redondante des informations de contrôles cruciales du système de fichiers (les super blocs et les descripteurs de système de fichiers). Il contient aussi une partie du système de fichiers (une bitmap pour les gestion des blocs, une bitmap pour les i-noeuds, une partie de la table des i-noeuds, et des blocs de données). La structure d'un groupe de blocs est représentée par ce schéma :

Super blocDescripteur du SFBitmap des blocsBitmap des i-noeudsTable des i-noeudsBlocs de données

Utiliser un groupe de bloc est un gros avantage en terme de fiabilité, comme les structures sont copiées dans chaque groupe de blocs, il est plus facile de récupérer un système de fichiers dont le super bloc a été corrompu. Cette structure aide aussi à obtenir de bonnes performances. En réduisant la distance entre la table des i-noeuds et les blocs de données, il est possible de réduire le chemin parcouru par les têtes de lecture des disques durs pendant les E/S sur les fichiers.

Sous Ext2FS, les répertoires sont gérés comme une liste chaînée dont la longueur des entrées est variable. Chaque entrée contient le numéro d'i-noeud, la taille de l'entrée, le nom et la longueur du fichier. En utilisant une longueur d'entrée variable, il est possible d'utiliser des noms de fichiers longs sans perdre de l'espace disque dans les répertoires.

Sous Linux, le code du noyau relatif à Ext2FS contient beaucoup d'optimisations, ce qui tend à améliorer la vitesse des E/S pendant la lecture et l'écriture de fichiers.

Ext2FS tire parti de la gestion des tampons antémémoires en effectuant des lectures anticipées : quand un bloc doit être lu, le code noyau requiert l'E/S sur plusieurs blocs contigus. De cette manière, il essaie de s'assurer que le bloc suivant à lire est déjà chargé dans le tampon d'antémémoire. Les pré-lectures sont normalement effectuées pendant les lectures séquentielles sur un fichier et Ext2FS l'étend aux lectures de répertoires, soit les lectures explicites (appel readdir(2)) ou les implicites (voir le fichier namei.c.)

Les allocations sont aussi optimisées dans Ext2FS. Les groupes de blocs sont utilisés pour rassembler les i-noeuds et les données reliées : le code noyau essaie toujours d'allouer des blocs de données pour un fichier dans le même groupe que son i-noeud. Ceci a pour but de réduire le déplacement des têtes de lecture quand le noyau lit un i-noeud et ses blocs de données.

Lors de l'écriture de données dans un fichier, Ext2FS pré-alloue jusqu'à 8 blocs adjacents pendant l'allocation d'un nouveau bloc. L'efficacité de la pré-allocation est d'environ 75%, même sur les systèmes de fichiers pleins. Cette pré-allocation permet d'atteindre de bonnes performances en écriture avec une forte charge. Elle permet aussi que des blocs contigus soient alloués aux fichiers, accélérant ainsi les prochaines lectures séquentielles.

Ces deux optimisations de l'allocation ont pour effet de permettre un bon positionnement des :

Implémente la commande chattr +c pour le système de fichiers Ext2FS. Le logiciel consiste en un patch pour le noyau Linux et diverses versions de plusieurs logiciels (principalement e2fsprogs ie. e2fsck et compagnie). Bien qu'un certain nombre de personnes l'aient utilisé pendant des années, CE LOGICIEL EST TOUJOURS EN COURS DE DEVELOPPEMENT ET N'EST PAS PRÊT POUR LES UTILISATEURS FINAUX.

Une collection de programmes DOS qui vous permettent de lire un système de fichiers Linux Ext2FS depuis DOS.

Les LTOOLS sont à DOS / Windows 3.x / Windows 9x / Windows NT ou les UNIX autres que Linux, ce que les MTOOLS sont à Linux. Vous pouvez accéder (lire, écrire, modifier) vos fichiers Linux quand vous utilisez un des autres systèmes d'exploitation. Le noyau des LTOOLS est un ensemble de programmes en ligne de commande. Un programme JAVA servant d'interface graphique autonome est aussi disponible. Alternativement, vous pouvez utiliser votre navigateur web standard comme interface graphique. Les LTOOLS ne vous fournissent pas que l'accès à vos fichiers Linux sur votre machine mais aussi un accès distant aux fichiers sur d'autres machines.

EXT2-OS2 est un paquetage qui autorise OS/2 à accéder de manière transparente aux partitions Ext2FS formatées pour Linux comme si elles étaient des lettres de lecteur OS/2 standard. Le but ultime de ce paquetage est d'être capable d'utiliser le système de fichier Ext2FS en remplacement de FAT ou HPFS. Pour le moment, la seule fonctionnalité manquante pour y parvenir est le support des attributs étendus d'OS/2.

Application non-système (i.e. pas un pilote) qui peut lire et écrire sur le second système de fichiers étendu, Ext2FS. Support des disques durs et des media amovibles, y compris le Zip et la disquette. Utilise une interface utilisateur semblable à l'explorateur Windows pour vous montrer les fichiers et leurs détails. Supporte le Drag & Drop, les menus contextuels, etc... Ecrit au départ pour Windows NT, mais supporte partiellement Windows 95. Les disques durs de grande taille[3] peuvent poser des problèmes.

Ce pilote permet à BeOS de monter le système de fichiers Linux Ext2FS. L'auteur considère que le version actuellement diffusée est plutôt stable. les gens l'utilisent depuis un moment, sans rapporter de bogues.

L'auteur travaille maintenant pour Be Inc., vous ne verrez donc plus son support pour les systèmes de fichiers Ext2FS et NTFS mis à jour sur son site web. Les pilotes seront intégrés dans les prochaines diffusions de BeOS.

Pilote MacOS qui permet de monter le système de fichier Ext2FS (Linux et MkLinux) sur un Macintosh.

Ceci est un pilote pour le système de fichier Ext2FS complètement fonctionnel pour FreeMiNT. Il peut lire et écrire la version actuelle de Ext2FS telle qu'implémentée sous Linux par exemple. La taille de la partition n'est pas limité et la taille des secteurs logiques peut être de 1024, 2048 ou 4096 octets. La seule restriction est que la taille physique des secteurs soit inférieure ou égale à la taille logique des secteurs. La taille des blocs peut être configurée si vous initialisez la partition avec mke2fs.

Défragmente votre système de fichier Ext2FS. Nécessite la mise à jour de la librairie glibc.

Modifie la taille de systèmes de fichiers Ext2FS.

Pour utiliser avec LVM. Constitué de deux utilitaires, ext2endable qui réorganise un système de fichier Ext2FS vide pour lui permettre d'être étendu, et de ext2end qui étend un système de fichiers Ext2FS non monté. Si ext2endable n'a pas été utilisé lors de la création du système de fichiers, ext2end sera seulement capable de l'étendre au prochain multiple de 256 Mo.

Le paquetage ext2fsprogs contient les utilitaires essentiels du système de fichers Ext2FS qui consiste en e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, et la plupart des autres utilitaires clef du système de fichiers Ext2FS.

ext2ed est un éditeur de disque pour le second système de fichiers étendu. Il vous montrera la structure du système de fichiers Ext2FS de manière agréable et intuitive, vous laissant facilement « voyager » entre elles et faire les modifications nécessaires.

Il vous permet de voir certains systèmes de fichiers supportés par Linux, L'édition des blocs hexadécimaux et des i-noeuds est maintenant supportée et vous pouvez l'utiliser pour récupérer un fichier effacé sur une autre partition avec un petit peu de travail. Supporte Ext2FS, minix, et xiafs. Inclus LaTeX Introduction to the Minix fs. Vous devez patcher les sources pour compiler sur les noyaux 2.2.x et 2.3.x car il manque les fichiers d'entête pour Xia dans le noyau.

Ceci est un patch pour le noyau 2.0.30 qui ajoute des capacités de restauration en utilisant l'attribut undeletable fournis par l'Ext2FS. Ce patch inclut les pages de manuel, le daemon de restauration et les utilitaires. Vérifiez notre page web pour les dernières et meilleurs versions.

Tous les systèmes de stockage du Macintosh, hormis les disquettes, sont partitionnés en un ou plusieurs volumes. Les volumes contiennent quatre types d'éléments : les fichiers, les répertoires, les files (threads) de répertoires et les files (threads) de fichiers. Chaque élément est décrit par une entrée dans un catalogue qui est similaire à un i-noeud Unix. Les enregistrements de catalogue sont organisés sur le disque en catalogue d'arbres équilibrés . Les répertoires sont dérivés de la recherche dans le catalogue. Seul un fichier peut occuper de la place en dehors de son catalogue d'enregistrement.

Un « fichier » Macintosh contient deux composants, ou branches. La branche ressource est un fichier indexé contenant des segments de code, des éléments de menu, des boîtes de dialogue, etc. La branche de données possède la sémantique « flux d'octet » du contenu d'un fichier Unix. Chaque branche est composée d'un ou plusieurs « extent[4] » ou un ensemble de blocs contigu. Un descripteur d'extent code un bloc de départ d'extent et une longueur comprise dans une quantité multiple de 32 bits. Le premier enregistrement d'extent (un descripteur de trois extents) de chaque branche fait partie de l'enregistrement catalogue. Tous les enregistrements d'extent suivants sont conservés dans les extents dépassant de l'arbre équilibré.

En plus des extents de fichier et d'arbre équilibré, un volume contient deux blocs d'amorce, un bloc d'information sur le volume, et un champ de bit libre. Il y a une quantité remarquable de redondances dans les structures de données sur disque. Cela améliore la récupération après un incident. Bien que ne faisant pas strictement partie du système de fichiers, il peut être noté que plusieurs champs d'enregistrement du catalogue sont exclusivement réservés pour le Finder, un programme qui prend en charge les accès utilisateur au système de fichiers et maintient automatiquement les associations entre applications et fichiers de données. Du coup, HFS doit aussi maintenir ces informations pour le Finder.

Chaque fichier et répertoire d'un volume HFS possède un numéro d'identification, semblable à un numéro d'i-noeud pour le système de fichier Unix. Néanmoins un fichier ou répertoire est désigné par l'identifiant de son père et son propre nom, qui est de 32 caractères y compris des caractères nuls. Cette combinaison est la clef de recherche du catalogue en arbre équilibré du volume. Ce catalogue diffère de la structure d'un arbre balancé classique en cela que tous les noeuds, à chaque niveau, sont chaînés ensemble pour former une liste doublement chaînée dont tous les enregistrements sont dans les noeuds feuilles. Ces variations permettent l'accès à de nombreux éléments dans le même répertoire en parcourant les feuilles grâce à la liste chaînée. A proprement parler, les arbres équilibrés de HFS sont une variante des arbres B+ bien que la documentation technique d'Apple les appelle arbres-B*.

Chaque répertoire, y compris la racine, contient sa file de répertoire qui possède le nom de fichier vide. L'enregistrement file de répertoire contient le même nom que le répertoire et l'identifiant de son père. De la même manière, la file de fichier contient le nom du fichier et l'identifiant du répertoire où il se trouve. Alors que chaque répertoire doit contenir une file de répertoire, les files de fichier sont peu communes. En fait, les deux sont des exemples de la redondance de HFS - pour les arbres non endommagés, les files ne sont pas vraiment nécessaires. Les enregistrements de fichiers et de répertoires contiennent 32 octets d'information utilisés par le Finder. Les trois premiers descripteurs d'extents pour le catalogue des arbres balancés sont conservés dans le bloc d'information sur les volumes. Si le catalogue dépasse ces trois extents, les descripteurs d'extents restants sont enregistrés dans les extents de dépassement de capacité.

Les systèmes de fichiers HFS et HFS+ (aussi appelé Séquoia) sont très bien documentés. La meilleure source d'information technique sur HFS peut être trouvée dans la série de livres Inside Macintosh. Voyez http://developer.apple.com/techpubs/mac/Files/Files-99.html. Le système de fichiers HFS+ est décrit dans le document Technote 1150, disponible en ligne à http://developer.apple.com/technotes/tn/tn1150.html. Beaucoup d'autres informations sont disponibles dans d'autres notes techniques. Ces liens ont été rassemblés par Paul H. Hargrove :

HFS/2 laisse l'utilisateur d'OS/2 lire et écrire de manière transparente des fichiers sur des disquettes formatées avec le système de fichiers hiérarchique, le système de fichiers utilisé par les Macintosh. Avec HFS/2, les disquettes Macintosh peuvent être utilisées comme si elles étaient des disquettes normales.

Ce programme n'est plus maintenu, car l'auteur n'utilise plus OS/2. Si vous êtes intéressé par la maintenance de ce programme, faites-lui savoir.

Un navigateur de volume HFS pour Windows NT et Windows 9x basé sur hfsutils™. Support du Launch Pad pour tous les émulateurs Macintosh majeurs tournant sous Windows™.

Mac-ette™ est un utilitaire PC qui peut lire, écrire, formater et dupliquer des disquettes Macintosh HFS au format 1.44 Mo sur un PC équipé d'un lecteur de disquette 3,5 pouces haute densité.

Le paquetage hfsutils™ contient un ensemble d'utilitaires en ligne de commande tels que hformat, hmount, hdir, hcopy, etc. Ils permettent l'accès en lecture / écriture des fichiers et répertoires sur les volumes HFS.

Ceci est une librairie du système de fichiers Macintosh qui est portable sur une variété de systèmes et de plates-formes. Il fournit une interface de programmation suffisante aussi bien pour la création d'une API au niveau utilisateur que pour un pilote de système de fichiers pour les systèmes d'exploitation qui le supportent. Les auteurs ont développé et testé une telle API au niveau utilisateur et des programmes utilitaires basé dessus, de même qu'un système de fichier virtuel expérimental pour Unix. Ils ont aussi décrit le système de fichiers hiérarchique du Macintosh et sa mise en oeuvre, et noté que la conception n'est pas très bien adaptée à la ré-entrance et que ses structures de données complexes peuvent conduire à des implémentations lentes dans des environnements multitâches. Les mesures de performances montrent que notre implémentation est plus rapide que l'implémentation Macintosh native pour la création, l'effacement, la lecture et l'écriture de fichiers avec des requêtes de petite taille, mais plus lente que le système de fichier rapide de Berkeley (FFS). Néanmoins, l'implémentation native du Macintosh peut effectuer des opérations de lecture et d'écriture de plus grande taille plus vite que notre implémentation ou FFS.

Liens utiles 

C'est pilote ISO9660 mis à jour pour supporter les extentions Joliet d'ISO9660.

L'archive Jcdfs.zip contient le pilote CDFS.IFS pour OS/2 avec le support pour Joliet niveau 3.

Ce système de fichiers supplémentaire vous permet (si votre lecteur CD le supporte) de traiter un CD audio classique comme si c'était un lot de fichier WAV. Vous pouvez copier les fichiers, les encoder en mp3, les jouer lentement, rapidement, et même à l'envers.

CDfs est un système de fichiers pour Linux qui permet de voir toutes les pistes et images d'amorce d'un cédérom en tant que fichiers normaux. Ces fichiers peuvent ensuite être montés (par exemple, les images ISO et images de boot), copiées, jouées (pour les pistes audio), etc... Le but premier du développement de ce système de fichiers était de connaître les informations des sessions ISO précédentes du cédérom. Ce pilote vous permet aussi d'accéder aux données de disques multi-sessions en erreur (par exemples, les disques avec plusieurs sessions uniques au lieu d'une session mutiple).

Fabrique un volume CD hybride partageant ISO9660 / HFS / JOLIET.

BeFS est un système de fichiers journalisé utilisé sous BeOS. Pour plus d'information sur BeFS voyez le livre Practical File System Design with the Be File System ou le code source du pilote BeFS pour Linux.

Implémentation BeFS pour Linux :

Ce pilote supporte les plateformes Linux x86 et PowerPC. De plus, il ne supporte que la lecture des disques durs et des disquettes.

Le système de fichiers BFS d'UnixWare est conçu dans un but spécifique. Il a été conçu pour charger et démarrer le noyau UnixWare. BFS fut conçu comme un système de fichiers contigu. BFS ne supporte qu'un seul répertoire (racine) et vous pouvez seulement créer des fichiers classiques ; aucun sous-répertoire ou fichier spécial tel que périphérique ou « socket » ne peuvent être créés.

Pour plus d'information sur BFS voyez http://uw7doc.sco.com/FS_admin/_The_bfs_File_System_Type.html.

Vous pouvez accéder au système de fichiers BFS depuis Linux :
Le support pour BFS est inclut dans le noyau Linux depuis la version 2.3.25. Si vous utilisez une version antérieure du noyau, vérifiez si la page d'accueil de BFS ne contient pas un patch qui ajoute le support du système de fichiers BFS pour votre noyau. La page d'accueil contient aussi des corrections / améliorations qui ne sont pas encore incluses dans le noyau officiel.

Il y a aussi ma vieille implémentation, qui est maintenant obsolète. Mon plan est de porter ce code sous FreeBSD :

C'est le support en lecture seule du système de fichiers de démarrage UnixWare pour Linux. Vous pouvez l'utiliser pour monter en lecture seule votre partition /stand d'UnixWare ou vos disquettes. Je ne prévois pas une version en lecture / écriture, mais si vous voulez le faire, écrivez-moi. Vous pouvez aussi être intéressé par l'écriture du support de VxFS pour Linux.

Ce système de fichiers fut utilisé sur les Commodore 1581/1541. Il y a un pilote en lecture seule pour Linux :

Le pilote lecture seule pour le système de fichiers des Commodore 1581 & 1541, installé comme un module, permet le montage des disques Commodore 1581 dans un lecteur de disquette standard 3,5 pouces et les disques images 1541 copiés sur n'importe quelle disquette. La conversion PETSCII vers ASCII peut être effectuée automatiquement. Les partitions sur les disques 1581 sont accédés comme des sous-répertoires.

Le projet de système de fichiers amélioré a pour but de créer un nouveau système de fichiers pour Linux et éventuellement d'autres systèmes d'exploitation qui permettra à l'administrateur de définir un système de fichiers montable sur un ensemble de périphériques blocs (que se soient des disques durs ou des partitions). Le but est de permettre à un système de fichiers d'ajouter ou enlever une partition (si les partitions restantes ont assez de place pour contenir toutes les données) d'un ensemble de partitions pendant que le système fonctionne. Les deux principaux buts sont de permettre à un certain nombre de systèmes de fichiers montables de partager le même ensemble d'espace d'enregistrement (ie. avoir les répertoires personnels des utilisateurs sur le même espace disque que les news, mais ayant des quotas séparés), et de permettre l'ajout de disques durs facilement pour apporter plus d'espace.

Les autres fonctionnalités que les auteurs veulent implémenter sont la journalisation, le support du maximum de systèmes d'exploitation (bien que tout le travail soit initialement effectué sous Linux), et les quotas intégrés au système de fichiers de façon à ce que nous ne perdions plus de temps en lançant un programe débile de vérification des quotas au démarrage. La journalisation (des quotas) évitera la vérification des quotas de la même manière qu'il évite fsck ! Ils veulent être capables de démarrer un système avec 10 Go de news réparties sur quatre disques durs avec les quotas après une coupure de courant avec moins de 20 second pour monter un système de fichiers !

La page d'accueil du système de fichiers amélioré est à http://www.coker.com.au/~russell/enh/. Contacter Russell Coker pour plus d'information.

Le système de fichiers à extents (EFS) est le système de fichiers avancé de Silicon Graphics, très largement utilisé sur les versions d'IRIX antérieures à la 6.0. A partir de la 6.0, XFS fut fourni avec IRIX et les utilisateurs encouragés à faire migrer vers le système de fichiers XFS. Le support IRIX pour EFS sera en lecture seule pour les versions supérieures à 6.5, néanmoins EFS est toujours très utilisé pour les CD de distribution de logiciel SGI.

Il y a deux modules pour que les noyaux Linux accèdent au système de fichiers EFS.

Le module EFS est une implémentation du système de fichiers étendu pour les noyaux Linux 2.2. Une implémentation (efsmod-0.6.tar.gz) EFS fut originellement écrite pour les noyaux 1.x par Christian Vogelgsang. Dans cette implémentation, le code a subit une réécriture complète et est aussi « endian-clean[5] ». Pour utiliser le module EFS, vous aurez besoin d'au moins un noyau 2.2. Pour monter les CD Irix, vos CD-ROM devront être capable d'utiliser des blocs de 512 octets. Cette version de EFS contient le support des partitions de disques durs, et aussi un patch noyau qui vous permet d'installer le code EFS dans votre propre code source du noyau. La prise en compte des fichiers de grande taille a aussi été considérablement améliorée.

L'efsmod originel est aussi disponible à :

Efs-mod 0.6 est le module EFS lecture seule originel pour Linux. La version 0.6 est finie mais le projet est gelé due à un manque de temps et d'information pour implémenter la partie écriture.

Une librairie C pour lire EFS et FFS depuis WinNT x86, SunOS et IRIX. Facile à utiliser (une interface ressemblant à Posix) et à lier avec du code existant. Sur le même serveur FTP, on trouvera aussi winefssh.exe et winufssh.exe, des binaires WinNT simples pour lire de façon interactive les systèmes de fichiers UFS et EFS. Un paquetage ni très léché, ni très documenté, mais quelqu'un peut le trouver utile.

Liens utiles :

JFS est le système de fichiers journalisé d'IBM, utilisé actuellement sur les serveurs d'entreprise d'IBM, et conçu pour répondre à des charges de traitement importantes.

L'implémentation du système de fichiers à structure journalisée pour Linux est appelé d(t)fs :

d(t)fs est un projet pour écrire un système de fichiers journalisé pour Linux. Actuellement, le système de fichiers est à peu près achevé et utilisable, mais un outil de maintenance n'a pour l'instant pas encore été écrit.

Il y aura aussi une liste de diffusion pout dtfs qui sera annoncé sur la page d'accueil. Pour plus d'information voyer : http://www.xss.co.at/mailman/listinfo.cgi/dtfs

L'auteur de l'implémentation de RomFS pour Linux est Janos Farkas . Pour plus d'information voyez le fichier /usr/src/linux/Documentation/filesystems/romfs.txt.

Spiralog est un système de fichiers 64 bits à hautes performances pour OpenVMS. Il combine la technologie de jounalisation et la technologie plus traditionnelle des arbres équilibrés (ou B-arbres) pour fournir une abstraction générale. Pour accroître la stabilité et garantir la reprise sur incident, on utilise un mécanisme d'adressage par arbres équilibrés avec écriture anticipée (write-ahead).

Liens concernant Spiralog chez Digital :

Note : les gens confondent souvent BSD Fast Filesystem et UFS. FFS et UFS sont des systèmes de fichiers différents. Tous les Unix modernes utilisent le système de fichiers FFS, et non UFS. UFS fut seulement présent dans les toutes premières versions de BSD. Vous pouvez en télécharger le source à http://minnie.cs.adfa.edu.au/TUHS/

Liens utiles :

Voir aussi : BSD FFS

C'est un système de fichiers commercial développé par Veritas Inc. Vous pouvez le trouver sous HP-UX, SCO UnixWare, Solaris et probablement sous d'autres systèmes[8]. Il a des fonctionnalités très intéressantes : allocation basée sur l'utilisation d'extents, journalisation, listes de contrôle d'accès (ACL), support des fichiers de grande taille jusqu'à 2 tera-octets, sauvegarde en ligne (snapshot filesystem), quotas façon BSD et beaucoup plus.

Trois versions[9] de VxFS sont disponibles :

  • Version 1 : C'est la version originelle de VxFS, peu répandue.

  • Version 2 : Support de l'allocation par ensemble de fichiers et d'allocation dynamique des inodes.

  • Version 4 : Dernière version, support des fichiers de grande taille et des quotas.

Notez que les versions HP-UX, Solaris et UnixWare utilisent des structures légèrement différentes, vous ne pourrez donc peut-être pas lire VxFS quand vous le connectez à d'autres systèmes.

Liens concernant VxFS :

Voir aussi "VxVM (Veritas Volume Manager) et systèmes de fichiers journlisés.

Des utilitaires Unix en ligne de commande pour accéder à VxFS version 2 et 4 sont disponible sous la GNU GPL :

VxTools est un ensemble d'outils en ligne de commande qui vous authorise l'accès à votre système de fichiers VxFS depuis Linux (et éventuellement depuis d'autres Unix). La version actuelle lit VxFS version 2 et 4.

Je (mhi) prévoit aussi un pilote VxFS pour le noyau Linux.

Pour autant que je sache, Rodney Ramdas travaille sur un pilote VxFS pour FreeBSD. Je ne connais pas le statut actuel de son projet, donc si vous voulez plus d'informations contactez le directement.

XFS(tm) est la prochaine génération de système de fichiers pour les systèmes Silicon Graphics™, des stations de travail aux super-calculateurs. XFS fournit des capacités de fichiers 64 bits complètes qui s'adaptent facilement à la prise en charge des fichiers extrêmement grands et des systèmes de fichiers qui vont jusqu'à 1 tera-octet. Le système de fichiers XFS intègre un gestionnaire de volume, un débit d'E/S garanti et une technologie de journalisation pour une reprise sur incident rapide et sûre. Le système de fichiers peut être sauvegardé alors qu'il est en cours d'utilisation, réduisant de manière significative la charge d'administration.

XFS a été conçu pour de très grandes performances : un débit soutenu de plus de 300 Mo par seconde a pu être constaté sur des systèmes CHALLENGE. Le système de fichiers XFS s'adapte pour atteindre les performances de l'architecture multi-processeur des systèmes CHALLENGE. Traditionnellement les fichiers, répertoires et systèmes de fichiers voient une dégradation des performances quand ils grossissent en taille. Avec le système de fichiers XFS, il n'y a pas de pénalité de performance. Par exemple, les répertoires XFS ont été testés avec jusqu'à 32 millions de fichiers dans un seul répertoire.

XFS est un système de fichiers journalisé. Il enregistre les changements appliqués aux i-noeuds, répertoires et bitmaps sur le disque avant que les entrées originales ne soient misent à jour. Si le système plante avant que les mises à jours n'aient été effectuées, elles peuvent être recréées en utilisant le journal et mises à jour comme prévu.

XFS utilise un gestionnaire d'espace pour allouer de l'espace disque pour le système de fichier et contrôler les i-noeuds. Il utilise un gestionnaire d'espace de nom pour contrôler l'allocation des répertoires. Ces gestionnaires utilisent l'indexation par arbres équilibrés (B-arbres) pour enregistrer les informations de localisation des fichiers, abaissant de manière significative le temps d'accès nécessaire pour récupérer les informations des fichiers.

Les i-noeuds sont créés quand il est nécessaire et ne sont pas restreints à une aire particulière sur la partition du disque. XFS essaie de positionner les i-noeuds à côté des fichiers et répertoires qu'ils référencent. Les très petits fichiers, tels que les liens symboliques et certains répertoires, sont enregistrés comme partie intégrante de l'i-noeud, pour améliorer les performances et économiser de l'espace disque. Les répertoires larges utilisent l'indexation par arbres équilibrés à l'intérieur du répertoire pour accélérer les recherches, ajouts et suppressions de fichiers.

Liens utiles sur XFS :

Le portage Linux de XFS couvert par la GNU General Public Licence est disponible à SGI Inc. :

Ce guide pratique ne concerne pas les systèmes de fichiers réseaux, mais je me dois de les mentionner.

Voici une brève liste de ceux que je connais :

Coda est un système de fichiers distribué, avec des fonctionnalités avancées telle que le fonctionnement en mode déconnecté, et la réplication de serveurs.

Intermezzo est un système de fichiers distribué pour Linux. Il es inspiré de Coda, mais utilise les disques comme tampons persistants. Intermezzo supporte les opérations en mode déconnecté, mais n'incorpore pas encore de système d'identification.

CFS met les services de chiffrement dans le système de fichiers Unix™. Il supporte l'enregistrement sécurisé au niveau système au travers d'une interface système de fichier Unix standard pour crypter les fichiers. Les utilisateurs associent une clé cryptographique avec le répertoire qu'ils veulent protéger. Les fichiers dans ce répertoire (tout comme les composantes de chemin d'accès) sont chiffrés et déchiffrés de façon transparente avec la clé spécifiée sans autre intervention de l'utilisateur. Le fichier en clair n'est jamais enregistré sur le disque ou envoyé sur un serveur de fichier distant. CFS emploie une nouvelle combinaison de flux DES et des modes « codebook cipher » pour fournir une haute sécurité avec de bonnes performances sur une station de travail moderne. CFS peut utiliser n'importe quel système de fichiers disponible pour son enregistrement sous-jacent sans modification, y comprit les serveur de fichiers distants tel que NFS. Les fonctions d'administration système, telles que les sauvegardes, fonctionnent de façon normale et sans besoin de connaître la clé.

La principale différence entre TCFS et CFS est la transparence obtenue par les utilisateurs en utilisant TCFS. En fait, CFS fonctionne dans l'espace utilisateur tandis que TCFS fonctionne dans l'espace noyau d'où des performances et une sécurité accrue. Les fonctions du module dynamique de chiffrement autorisent l'utilisateur à spécifier le moteur de chiffrement de son choix devant être utilisé par TCFS. Actullement disponible sous Linux seulement, TCFS sera bientôt aussi disponible pour NetBSD, et supportera aussi dans un futur proche d'autres systèmes de fichier que NFS.

fspatch est un patch du noyau qui introduit le support du système de fichiers stéganographique (connut précédemment comme vs3fs, un système de fichiers de type expérimental qui non seulement chiffre toutes les informations sur le disque, mais aussi essaie de cacher cette information de telle manière qu'il ne peut être prouvé que l'information existe sur le disque. Cela vous permet de garder des informations sensibles sur un disque, sans être susceptible d'être forcé de révéler cette information. Même sous des circonstances extrêmes, des documents factices peuvent être enregistrés sur les autres parties du disque, pour lesquels un mot de passe est nécessaire pour être révélé. Il ne devrait pas être possible de déterminer si d'autres informations résident sur le disque.

IOzone est un banc de performance pour les opérations de système de fichier. Il génère et mesure une grande variété d'opérations. IOzone a été porté sur bon nombre de machines et tourne sur de nombreux systèmes d'exploitation.

La page du kit IFS de Microsoft (http://www.microsoft.com/ddk/IFSkit/) sera le meilleur moyen de se mettre au développement système de fichiers sous NT (même avec son coût d'environ 1000 dollars US).

Pour plus d'informations sur l'écriture de pilotes pour systèmes de fichiers pour Windows NT, consultez http://www.ing.umu.se/~bosse/ par <>.



[1] NdRelecteur : Bon, OK, j'ai transformé en DocBook, mais tant pis pour les tables...

[2] NdR : cf. Article Journaled File Systems du numéro 55 de la Linux Gazette

[3] NdRT : i.e. de taille supérieure à 8 Go

[4] NdT : unité d'allocation d'espace disque de taille variable - merci à Jérôme Fenal

[5] NdT : concrètement cela fonctionne sur toutes les architectures, Intel, Alpha, Sparc, etc...)

[6] Note du relecteur traduction : Solaris n'est pas un BSD, SunOS 4 était un BSD

[7] Note du relecteur traduction : il existe toujours, mais est de plus en plus remplacé par une version spécifique de VxFS (VxFS version 3).

[8] NdRT : aussi sur les systèmes NonStop UX de Tandem, et d'autres

[9] Note du relecteur traduction : la version 3 est celle intégrée et spécifique à HP-UX