Guide pratique des systèmes de fichiers

Version française du Filesystems HOWTO

Adaptation française: Ludovic Danigo

Relecture de la version française: Jerôme Fenal

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

1. Copyright
2. Introduction
2.1. Listes de diffusion sur les systèmes de fichiers
2.2. Collection de systèmes de fichiers à metalab.unc.edu
2.3. Crédits
2.4. Carte d'accessibilité aux systèmes de fichiers
2.5. Introduction à l'allocation contigue de systèmes de fichiers
2.6. Introduction à l'allocation par liste chaînée de systèmes de fichiers
2.7. Introduction aux systèmes de fichiers basés sur FAT
2.8. Introduction aux systèmes de fichiers à noeuds (i-noeud)
2.9. Introduction aux systèmes de fichiers "extent"
2.10. Introduction aux systèmes de fichiers qui utilisent les arbres équilibrés (B-arbres)
2.11. Introduction aux systèmes de fichiers journalisés
2.12. Autres fonctionnalités des systèmes de fichiers
3. Volumes
3.1. Partitions PC
3.2. Autres partitions
3.3. Intitulés de disque Unix
3.4. Volumes Windows NT
3.5. MD - Pilote de périphériques multiples pour Linux
3.6. LVM - Logical Volume Manager (HP-UX LVM?)
3.7. VxVM - Gestionnaire de volume Veritas
3.8. IBM OS/2 LVM
3.9. StackVM
3.10. Novell NetWare volumes
4. DOS FAT 12/16/32, VFAT
4.1. VFAT: Nom de fichiers longs
4.2. UMSDOS: noms de fichiers longs et attributs Linux sur un système de fichiers FAT
4.3. Attributs OS/2 étendus pour le système de fichiers FAT
4.4. Star LFN
4.5. Accéder à une partition VFAT depuis OS/2 (VFAT-OS2)
4.6. Accéder à une partition VFAT depuis DOS (pilote LFNDOS)
4.7. Accéder à une partition VFAT depuis DOS (pilote LFNDOS libre)
4.8. Accéder à une partition VFAT depuis DOS (les outils LFN d'Odi)
4.9. Accéder une partition FAT32 depuis OS/2 (FAT32.IFS)
4.10. Accéder une partition FAT32 depuis Windows NT 4.0
4.11. Accéder une partition FAT32 depuis Windows NT 4.0
4.12. Accéder des disques compressés avec Stac/Dblspace/Drvspace depuis Linux (DMSDOS)
4.13. Accéder des disques compressés avec Dblspace/Drvspace depuis Linux (thsfs)
4.14. Fsresize - Retailleur FAT16/32
4.15. FIPS - Retailleur FAT16
5. Système de fichiers à hautes performances (High Performance FileSystem, HPFS)
5.1. Accéder une partition HPFS depuis DOS (iHPFS)
5.2. Accéder une partition HPFS depuis DOS (hpfsdos)
5.3. Accéder une partition HPFS depuis DOS (hpfsa)
5.4. Accéder une partition HPFS depuis DOS (amos)
5.5. Accéder une partition HPFS depuis Linux
5.6. Accéder une partition HPFS depuis FreeBSD
5.7. Accéder une partition HPFS depuis Windows NT 3.5
5.8. Accéder une partition HPFS depuis Windows NT 4
6. Système de fichiers de nouvelle technologie (New Technology FileSystem, NTFS)
6.1. Accéder une partition NTFS depuis DOS (NTFSDOS.EXE)
6.2. Accéder une partition NTFS depuis DOS (ntpwd)
6.3. Accéder une partition NTFS depuis OS/2
6.4. Accéder une partition NTFS depuis Linux
6.5. Accéder une partition NTFS depuis FreeBSD et NetBSD
6.6. Accéder une partition NTFS depuis BeOS
6.7. Accéder une partition NTFS depuis BeOS (autre)
6.8. Réparer NTFS en utilisant les outils NTFSDOS
6.9. Réparer NTFS en utilisant NTRecover
7. Les systèmes de fichiers étendus (Ext, Ext2, Ext3)
7.1. Le système de fichiers étendu (ExtFS)
7.2. Le deuxième système de fichiers (Ext2FS)
7.3. Le troisième système de fichiers (Ext3FS)
7.4. La compression transparente pour Ext2FS - E2compr -
7.5. Accéder à Ext2FS depuis DOS (outils Ext2FS)
7.6. Accéder àExt2 depuis DOS, Windows 9x/NT et autres Unix (LTools)
7.7. Accéder Ext2 depuis OS/2
7.8. Accéder Ext2 depuis Windows 95/98 (FSDEXT2)
7.9. Accéder Ext2 depuis Windows 95 (Explore2fs)
7.10. Accéder Ext2 depuis Windows NT (ext2fsnt)
7.11. Accéder à Ext2 depuis BeOS
7.12. Accéder à Ext2 depuis MacOS (MountX)
7.13. Accéder à Ext2 depuis MiNT
7.14. Le défragmenteur pour Ext2FS
7.15. Le retailleur pour Ext2FS
7.16. Ext2end
7.17. Réparer/analyser/créer Ext2 avec E2fsprogs
7.18. L'éditeur de système de fichier ext2 : Ext2ed
7.19. L'éditeur de système de fichiers Linux : lde
7.20. Les utilitaires de restauration pour Ext2FS
8. Le système de fichiers hiérarchique du Macintosh - HFS
8.1. Accéder à HFS depuis Linux
8.2. Accéder à HFS depuis OS/2 (HFS/2)
8.3. Accéder à HFS depuis Windows 95/98/NT (HFV Explorer)
8.4. Accéder à HFS depuis DOS (MAC-ETTE)
8.5. Les utilitaires HFS
8.6. Une librairie portable du système de fichiers Macintosh : MacFs
9. Le système de fichiers pour CD-ROM : ISO 9660 - CD-ROM filesystem
9.1. Les extensions RockRidge
9.2. Les extensions Joliet
9.3. Les CD-ROM hybrides
9.4. Index de Novell Netware sur ISO9660
9.5. Accéder à Joliet depuis Linux
9.6. Accéder à Joliet depuis BeOS
9.7. Accéder à Joliet depuis OS/2
9.8. Accéder un CD audio comme un système de fichiers depuis Linux
9.9. Accéder un CD audio comme un système de fichiers depuis BeOS
9.10. Accéder à toutes les pistes depuis Linux (CDfs)
9.11. Créer des CD-ROM hybrides (mkhybrid)
10. Les autres systèmes de fichiers
10.1. Le système de fichiers de disque Acorn : ADFS
10.2. Le système de fichiers rapide d'Amiga : AFFS
10.3. Le système de fichiers BeOS : BeFS
10.4. Le système de fichiers de démarrage d'UnixWare : BFS
10.5. Le système de fichiers pour Commodore 1581/1541 : CBMFS
10.6. Le système de fichiers CrosStor
10.7. Le système de fichiers de bureau : DTFS (DeskTop File System)
10.8. Le système de fichier amélioré (Linux) : EFS
10.9. Le système de fichiers à extents (IRIX) : EFS
10.10. Le système de fichiers rapide BSD : FFS
10.11. Le système de fichiers parallélisé générique : GPFS
10.12. Le système de fichiers hautes performances d'HP-UX : HFS
10.13. Le système de fichiers à haut débit : HTFS
10.14. Le système de fichiers journalisé (HP-UX, AIX, OS/2 5, Linux) : JFS
10.15. Le format logique d'inter-échange (HP-UX) : LIF
10.16. Le système de fichiers à structure journalisée pour Linux : LFS
10.17. Le système de fichiers Macintosh : MFS
10.18. Le système de fichiers Minix
10.19. Le système de fichiers Novell NetWare : NWFS
10.20. Les services de stockage Novell : NSS
10.21. Le système de fichiers à struture sur disque : ODS
10.22. Le système de fichiers QNX
10.23. Le système de fichiers ReiserFS
10.24. Le système de fichiers pour CD-ROM de Sony : RFS
10.25. Le système de fichiers pour Rom : RomFS
10.26. Le système de fichiers sécurisé : SFS
10.27. Le système de fichiers Spiralog (OpenVMS)
10.28. Le système de fichiers System V et ses dérivés
10.29. Le système de fichiers pour CD-ROM de Philips : CD-Text
10.30. Le format de Disque Universel (système de fichiers des DVD-ROM) : UDF
10.31. UFS
10.32. V7 Filesystem
10.33. Le système de fichiers Veritas (HP-UX, SCO UnixWare, Solaris) : VxFS
10.34. Le système de fichiers étendu (IRIX) : XFS
10.35. Xia FS
11. Partitions « brutes »
11.1. Sauvegarder des partitions directes avec DBsnapshot
12. Appendice
12.1. Les systèmes de fichiers réseaux
12.2. Les systèmes de fichiers chiffrés
12.3. Outils de test de performance disque
12.4. Ecrire votre propre pilote de système de fichiers
12.5. Documents Connexes

1. Copyright

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.

2. Introduction

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.

2.1. Listes de diffusion sur les systèmes de fichiers

Il se peut que vous vouliez rejoindre la liste de diffusion sur les systèmes de fichiers. Elle se veut être une bonne source d'information, tant pour les utilisateurs que pour les développeurs. Si donc vous avez à utiliser les systèmes de fichiers, rejoignez-nous ;-) Pour souscrire, envoyer un e-mail à et dans le CORPS du message (et non dans le sujet), mettez (sans les guillemets) : "subscribe fs-l".

2.1.1. Liste de diffusion des systèmes de fichiers du noyau Linux

Pour rejoindre la liste de diffusion sur les systèmes de fichiers du noyau Linux , envoyez un e-mail à . Mettez subscribe linux-fsdevel dans le corps du message.

2.1.2. Liste de diffusion systèmes de fichiers de FreeBSD

Pour rejoindre la liste de diffusion systèmes de fichiers de FreeBSD , envoyez un e-mail à . Mettez subscribe freebsd-fs dans le corps du message.

2.2. Collection de systèmes de fichiers à metalab.unc.edu

La collection de systèmes de fichiers est un site WWW/FTP qui fournit des informations utiles à propos des systèmes de fichiers, des programmes et des pilotes les concernant. Elle réside à http://metalab.unc.edu/filesystems/, ou, par FTP seulement, à ftp://metalab.unc.edu/pub/docs/filesystems/.

2.3. Crédits

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.

2.4. Carte d'accessibilité aux systèmes de fichiers

Ceci est une "carte" d'accessibilité des divers systèmes de fichiers, rangée par ordre alphabétique des systèmes d'exploitation. Vous pouvez trouvez cela quelque peu chaotique. C'est parce que les outils sgml de Linux (sgmltools) ne connaissent pas les tables[1].

VOUS VOYEZ QUE CETTE `CARTE' N'EST TOUJOURS PAS COMPLETE. J'ESSAIERAI DE LA FINIR DANS UN FUTUR PROCHE. FreeBSD : BSD FFS | Ext2FS | HPFS | NTFS

Linux : AFFS| BeFS| BFS| Ext2FS| BSD FFS| HPFS| Qnx4 FS| VFAT | Xia

NetBSD : BSD FFS | FAT12/16 | ISO9660

NetWare 2.x : NWFS-286

NetWare 3.x, 4.x : NWFS-386 | ISO9660

NetWare 5.x : NWFS-386 | NSS | ISO9660

OpenBSD : BSD FFS | FAT12/16

OS/2 : Ext2 FS | FAT12/16/32 | HPFS | HPFS | ISO 9660 | JFS | VFAT

QNX 4 : FAT12/16 | ISO 9660 | Qnx4 FS

SCO OpenServer : AFS| DTFS| EAFS| HTFS| ISO 9660 | S51K

SCO UnixWare : BFS| DTFS| ISO 9660 | System V| VxFS

2.5. Introduction à l'allocation contigue de systèmes de fichiers

Quelques systèmes de fichiers contigus : BFS, ISO9660 et ses extensions.

2.6. Introduction à l'allocation par liste chaînée de systèmes de fichiers

A faire[2]

2.7. Introduction aux systèmes de fichiers basés sur FAT

(à faire) Quelques systèmes de fichiers FAT : FAT12/16/32, VFAT et NetWare filestem.

2.8. Introduction aux systèmes de fichiers à noeuds (i-noeud)

(à faire)

2.9. Introduction aux systèmes de fichiers "extent"

(à faire) Quelques systèmes de fichiers "extent" : EFS et VxFS.

2.10. Introduction aux systèmes de fichiers qui utilisent les arbres équilibrés (B-arbres)

(à faire) Quelques systèmes de fichiers qui utilisent les arbres équilibrés : HFS, NSS, Reiser FS et Spiralog.

2.11. Introduction aux systèmes de fichiers journalisés

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.

2.12. Autres fonctionnalités des systèmes de fichiers

2.12.1. Quota

2.12.2. Snapshot

2.12.3. ACLs

3. Volumes

3.1. Partitions PC

3.1.1. GNU parted

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.

Tableau 1. Capacités de GNU-Parted

Système de fichiersdétectioncréationchangement de taillecopievérification
Ext2FS* *[a]*[b]* [c]
fat***[d]*[e]*
linux swap**** 

[a] Le début de la partition doit rester fixe pour Ext2FS

[b] La partition de destination doit être de taille supérieure ou égale à la taille de la partition source

[c] Un contrôle limité est effectué quand le système de fichiers est ouvert. C'est le seul contrôle effectué pour le moment. Toutes les commandes (y compris le changement de taille) échoueront élégamment, laissant le système de fichiers intact, s'il y a une erreur dans le système de fichiers (et la grande majorité des erreurs, en général).

[d] La taille de la nouvelle partition, après changement de taille ou recopie, est restreinte par la taille des clusters. Cela est pire que vous ne le pensez car on ne vous laisse pas choisir la taille de vos clusters (c'est un bug de Windows, et vous voulez de la compatibilité, n'est-ce pas ?) Donc, en pratique, vous pouvez toujours réduire la taille de votre partition (car Parted sait réduire la taille des clusters), mais vous pouvez être limité lors de la croissance. Si utiliser FAT32 ne vous dérange pas plus que ça, vous serez toujours capables d'augmenter la taille de votre partition

[e] idem

3.1.2. Réparation des tables de partitions corrompues

3.1.2.1. Fixdisktable

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.

3.1.2.2. gpart

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é.

3.1.2.3. rescuept

  • Page d'accueil : util-linux ?

  • Téléchargement : ?

  • Auteur : ?

  • Accès : ?

  • Licence : ?

Reconnait les superblocs Ext2FS, les partitions FAT, les partitions de swap, et les tables de partition étendues ; il peut aussi reconnaitre les tables de contenu de disque des partitions BSD et Unixware 7. Il affiche des informations qui peuvent être utilisées avec fdisk ou sfdisk pour reconstruire la table des partitions. Il est dans la partie non installée de la distribution util-linux.

3.1.2.4. findsuper

  • Page d'accueil : e2progs ?

  • Téléchargement : ?

  • Auteur : ?

  • Accès : ?

  • Licence : ?

Petit utilitaire qui trouve les blocs Ext2FS ayant une signature de superblocs, et affiche leur localisation et quelques informations. Il est dans la partie non installée de la distribution e2progs.

3.2. Autres partitions

Parce que je utilise uniquement des machines Intel x86, toutes contributions (ou donation de machine non-x86 ;-) sont plus que bienvenues. Si vous pouvez fournir quelque information utile, n'hésitez pas à m'écrire à .

3.2.1. Partitions ADFS

3.2.2. Partitions Amiga

3.2.3. Partitions ATARI

3.2.4. Partitions Macintosh

3.2.5. Partitions OSF

3.2.6. Partitions Sun

3.2.7. Partitions Ultrix

3.3. Intitulés de disque Unix

(à faire)

3.3.1. disklabel BSD

(à faire)

3.3.2. disklabel UnixWare

La VTOC UnixWare (Table de contenu du volume) divise les partitions du disque en seize partions logiques. Le noyau Linux supporte la VTOC UnixWare, vous devez cocher UnixWare slices support (EXPERIMENTAL) et recompiler votre noyau. Une autre manière de lire les tables de contenu de disque UnixWare est d'utiliser le portage GPL de la commande prtvtoc(1), qui est dans le paquetage vxtools.

3.3.3. Intitulés de disque SCO OpenServer

(à faire)

3.3.4. Intitulés de disque Sun Solaris

(à faire)

3.4. Volumes Windows NT

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

3.4.1. Réparation des disques NTFS à "tolérance de panne" en utilisant FTEdit

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.

3.5. MD - Pilote de périphériques multiples pour Linux

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.

3.6. LVM - Logical Volume Manager (HP-UX LVM?)

Linux implementation is available here:

3.7. VxVM - Gestionnaire de volume Veritas

Pour plus d'information sur gestionnaire de volume Veritas voyez http://www.veritas.com/. Voir aussi : VxFS (système de fichiers journalisés Veritas).

3.8. IBM OS/2 LVM

Le gestionnaire de volume est disponible dans OS/2 WarpServer 5. Il vous autorise à créer des volumes linéaires avec plusieurs partitions & disques. Certaines personnes disent qu'il est compatible avec le gestionnaire de volume d'IBM AIX. Voir aussi : HPFS, JFS.

3.9. StackVM

StackVM est le gestionnaire de volume de CrosStor. En utilisant StackVM, l'administrateur peut combiner plusieurs « tranches » de disque physique en un seul périphérique logique appelé vdisk. Vdisk est la contraction de « virtual disk ». Les disques physiques peuvent être combinés pour former une concaténation, un RAID 0 (stripe), un RAID 1 (miroir), un RAID 4 ou un RAID 5. De plus une unique partition peut être divisée en de multiples vdisk simples. Pour plus d'information voyez la page d'accueil de CrosStor à http://www.crosstor.com/.

3.10. Novell NetWare volumes

Les volumes NetWare sont utilisés pour le système de fichiers NWFS-386.

4. DOS FAT 12/16/32, VFAT

4.1. VFAT: Nom de fichiers longs

Windows 95/98 et Windows NT/2000 gardent les noms de fichier longs sur un système FAT dans un dossier spécial d'enregistrement avec la configuration des attributs Lecture Seule, Fichier caché, Système et Volume, donc si vous accèdez votre volume FAT depuis le DOS vous ne voyez pas ces « fichiers ». Ces enregistrements spéciaux ont cette structure débile :

Tableau 2. structure des enregistrements

octetnuméro de de l'emplacement
string(10)5 premiers caractères du nom
octetoctet d'attribut
octettoujours 0
octetchecksum pour l'alias 8.3
string(12)6 caractères de plus du nom
motdébut du numéro du cluster, 0 pour les emplacements longs
string(4)2 derniers caractères du nom

Des problèmes apparaissent lorsque vous effacez ou modifiez un fichier à nom long du système sans support VFAT, parce que seule l'entrée DOS 8+3 sera effacée ou modifiée. Scandisk pour Windows 95/98 peut réparer ce problème.

4.2. UMSDOS: noms de fichiers longs et attributs Linux sur un système de fichiers FAT

Linux possède ses propres extensions FAT qui vous donnent noms de fichiers longs, permissions et droits, liens et fichiers spéciaux de périphériques sur une partition FAT, appelée UMSDOS. Chaque répertoire contient un fichier nommé "--linux-.---". C'est là que sont enregistrés les noms de fichiers longs et les autres champs nécessaires. Pour plus de détails, voyez le fichier /usr/src/linux/Documentation/filesystems/umsdos.txt. L'auteur du pilote umsdos de Linux est Jacques Gelinas et il est actuellement maintenu par Matija Nalis >.

4.3. Attributs OS/2 étendus pour le système de fichiers FAT

OS/2 Warp version 3, 4 et 5 conservent les noms de fichiers longs et les attributs étendus des volumes FAT dans les fichiers "\ea data. sf" et "\wp root. sf" (ces deux fichiers se trouvent dans le répertoire racine du système de fichiers). Pour autant que je sache, il n'y a pas d'implémentation connue de ces extensions OS/2 pour d'autres systèmes d'exploitation. Si vous pouvez fournir des informations sur la structure EA, n'hésitez pas à me les envoyer à .

4.4. Star LFN

Star LFN est un émulateur qui autorise des programmes, tournant sous DOS 4.0 ou supérieur, à utiliser les fonctions de fichiers longs présents sur les machines utilisant le DOS de Windows 95. Actuellement, il ne peut que lire et écrire les noms de fichiers longs pour un fichier système caché, ce qui signifie que vous ne pouvez ni lire ni écrire de les véritables noms de fichiers longs de Windows 95. Pour plus d'information voyez http://sta.c64.org/starlfn.html.

4.5. Accéder à une partition VFAT depuis OS/2 (VFAT-OS2)

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.

4.6. Accéder à une partition VFAT depuis DOS (pilote LFNDOS)

Certaines personnes disent que Microsoft a livré un pilote appelé LFNDOS qui fournit l'API Microsoft Nom de Fichiers Longs sous DOS. Si vous savez où ce pilote peut être téléchargé, merci de m'envoyer un e-mail.

4.7. Accéder à une partition VFAT depuis DOS (pilote LFNDOS libre)

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.

4.8. Accéder à une partition VFAT depuis DOS (les outils LFN d'Odi)

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.

4.9. Accéder une partition FAT32 depuis OS/2 (FAT32.IFS)

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.

4.10. Accéder une partition FAT32 depuis Windows NT 4.0

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

4.11. Accéder une partition FAT32 depuis Windows NT 4.0

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.

4.12. Accéder des disques compressés avec Stac/Dblspace/Drvspace depuis Linux (DMSDOS)

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.

4.13. Accéder des disques compressés avec Dblspace/Drvspace depuis Linux (thsfs)

4.14. Fsresize - Retailleur FAT16/32

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.

4.15. FIPS - Retailleur FAT16

5. Système de fichiers à hautes performances (High Performance FileSystem, HPFS)

De bons liens sur HPFS :

5.1. Accéder une partition HPFS depuis DOS (iHPFS)

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.

5.2. Accéder une partition HPFS depuis DOS (hpfsdos)

  • Page d'accueil : ?

  • Auteur : Robert Muchsel (this e-mail doesn't work)

  • Accès : lecture seule

  • Licence : Shareware ($23)

5.3. Accéder une partition HPFS depuis DOS (hpfsa)

5.4. Accéder une partition HPFS depuis DOS (amos)

5.5. Accéder une partition HPFS depuis Linux

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).

5.6. Accéder une partition HPFS depuis FreeBSD

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.

5.7. Accéder une partition HPFS depuis Windows NT 3.5

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.

5.8. Accéder une partition HPFS depuis Windows NT 4

Pilote HPFS pour Windows NT 4.0

6. Système de fichiers de nouvelle technologie (New Technology FileSystem, NTFS)

Références :

6.1. Accéder une partition NTFS depuis DOS (NTFSDOS.EXE)

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.

6.2. Accéder une partition NTFS depuis DOS (ntpwd)

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.

6.3. Accéder une partition NTFS depuis OS/2

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.

6.4. Accéder une partition NTFS depuis Linux

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

6.5. Accéder une partition NTFS depuis FreeBSD et NetBSD

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).

6.6. Accéder une partition NTFS depuis BeOS

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.

6.7. Accéder une partition NTFS depuis BeOS (autre)

6.8. Réparer NTFS en utilisant les outils NTFSDOS

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

6.9. Réparer NTFS en utilisant NTRecover

  • Page d'accueil : http://www.sysinternals.com/

  • Auteur : Winternals Software

  • Accès : la version gratuite est en lecture seule, la commerciale en lecture/écriture.

  • Licence : gratuit en version lecture seule, commerciale en version lecture/écriture.

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.

7. Les systèmes de fichiers étendus (Ext, Ext2, Ext3)

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,

7.1. Le système de fichiers étendu (ExtFS)

C'est un ancien système de fichiers utilisé dans les premiers systèmes Linux.

7.2. Le deuxième système de fichiers (Ext2FS)

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.

7.2.1. Motivations

Le second système de fichiers étendu fut conçu et implémenté pour résoudre certains problèmes présents dans le premier système de fichiers étendu. Notre but était de fournir un système de fichiers puissant, qui utilise la sémantique des fichiers Unix et offre des fonctionnalités avancées.

Bien sûr, nous voulions que Ext2FS aie d'excellentes performances. Nous voulions aussi un système de fichiers très robuste dans le but de réduire les risques de perte de données lors d'usage intensif. Finalement, et non des moindres, Ext2FS a dû prévoir de la place pour les extensions, permettant ainsi aux utilisateurs de bénéficier de nouvelles fonctionnalités sans avoir à reformater leur système de fichiers.

7.2.2. Les fonctionnalités standard d'Ext2FS

Ext2FS supporte les types de fichiers standards Unix suivants : fichiers réguliers, répertoires, fichiers périphériques spéciaux et liens symboliques.

Ext2FS est capable de gérer les systèmes de fichiers créés sur de très grandes partitions. Tandis que le code originel du noyau restreint sa taille maximale à 2 Go, les travaux récents dans la couche VFS ont repoussé cette limite à 4 TB. Ainsi, il est maintenant possible d'utiliser de gros disques sans avoir besoin de créer de nombreuses partitions.

Ext2FS gère les noms de fichiers longs. Il utilise des entrées de répertoire de taille variable. La taille maximale d'un nom de fichier est de 255 caractères. Cette limite peut être étendue à 1012 si nécessaire.

Ext2FS réserve certains blocs pour le super utilisateur (root). Normalement, 5% des blocs sont réservés. Cela permet à l'administrateur de rattraper facilement des situations où un processus utilisateur remplit le système de fichiers.

7.2.3. Les fonctionnalités ``avancées'' d'Ext2FS

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.

7.2.4. La structure physique

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.

7.2.5. L'optimisation des performances

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 :

  • fichiers reliés au travers des groupes de blocs

  • blocs reliés au travers du regroupement par 8 bits des blocs d'allocation

7.3. Le troisième système de fichiers (Ext3FS)

Ext3FS supporte les mêmes fonctionnalités qu'Ext2FS, mais inclut en plus la journalisation. Vous pouvez télécharger une pré-version depuis ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/.

7.4. La compression transparente pour Ext2FS - E2compr -

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.

7.5. Accéder à Ext2FS depuis DOS (outils Ext2FS)

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

7.6. Accéder àExt2 depuis DOS, Windows 9x/NT et autres Unix (LTools)

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.

7.7. Accéder Ext2 depuis OS/2

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.

7.8. Accéder Ext2 depuis Windows 95/98 (FSDEXT2)

  • Page d'accueil : htmlurl url="http://www.yipton.demon.co.uk/" name="http://www.yipton.demon.co.uk/">

  • Auteur : Peter van Sebille

  • Freshmeat: Console/Filesystems

  • Accès : lecture seule, support des noms de fichiers longs

7.9. Accéder Ext2 depuis Windows 95 (Explore2fs)

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.

7.10. Accéder Ext2 depuis Windows NT (ext2fsnt)

7.11. Accéder à Ext2 depuis BeOS

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.

7.12. Accéder à Ext2 depuis MacOS (MountX)

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

7.13. Accéder à Ext2 depuis MiNT

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.

7.14. Le défragmenteur pour Ext2FS

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

7.15. Le retailleur pour Ext2FS

Modifie la taille de systèmes de fichiers Ext2FS.

7.16. Ext2end

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.

7.17. Réparer/analyser/créer Ext2 avec E2fsprogs

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.

7.18. L'éditeur de système de fichier ext2 : Ext2ed

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.

7.19. L'éditeur de système de fichiers Linux : lde

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.

7.20. Les utilitaires de restauration pour Ext2FS

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.

8. Le système de fichiers hiérarchique du Macintosh - HFS

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 :

8.1. Accéder à HFS depuis Linux

8.2. Accéder à HFS depuis OS/2 (HFS/2)

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.

8.3. Accéder à HFS depuis Windows 95/98/NT (HFV Explorer)

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™.

8.4. Accéder à HFS depuis DOS (MAC-ETTE)

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é.

8.5. Les utilitaires HFS

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.

8.6. Une librairie portable du système de fichiers Macintosh : MacFs

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.

9. Le système de fichiers pour CD-ROM : ISO 9660 - CD-ROM filesystem

Liens utiles 

9.1. Les extensions RockRidge

Les extensions permettent les noms de fichiers longs et les liens symboliques de type Unix.

Liens utiles 

9.2. Les extensions Joliet

Joliet est une extension Microsoft au système de fichiers ISO9660 qui permet l'utilisation des caractères Unicode dans les noms de fichiers. C'est un bénéfice lors de la prise en compte de l'internationalisation. Comme les extensions Rock Ridge, Joliet permet aussi les noms de fichiers longs.

9.3. Les CD-ROM hybrides

Les cédéroms hybrides contiennent trois systèmes de fichiers sur un disque : ISO9660/RockRidge, Joliet, et HFS. De tels cédéroms sont ainsi lisibles sous DOS, Windows, Unix, et Macintosh. Les trois systèmes de fichiers utilisent les mêmes données, seules les structures spécifiques (meta-données) sont présentes trois fois.

9.4. Index de Novell Netware sur ISO9660

(à faire)

9.5. Accéder à Joliet depuis Linux

9.6. Accéder à Joliet depuis BeOS

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

9.7. Accéder à Joliet depuis OS/2

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

9.8. Accéder un CD audio comme un système de fichiers depuis Linux

9.9. Accéder un CD audio comme un système de fichiers depuis BeOS

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.

9.10. Accéder à toutes les pistes depuis Linux (CDfs)

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).

9.11. Créer des CD-ROM hybrides (mkhybrid)

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

10. Les autres systèmes de fichiers

10.1. Le système de fichiers de disque Acorn : ADFS

Le système de fichiers de disque Acorn est le système de fichiers standard du système d'exploitation RiscOS qui fonctionne sur les systèmes Risc PC à base d'ARM d'Acorn et la gamme de machine Acorn Archimède.

Les noyaux Linux 2.1.x+ supportent ce système de fichiers. L'auteur de l'implémentation Linux est Russell King .

10.2. Le système de fichiers rapide d'Amiga : AFFS

Le système de fichiers rapide (FFS) est le système de fichiers commun utilisé sur les disques durs par les systèmes Amiga™ depuis AmigaOS Version 1.3 (34.20).

Les noyaux Linux 2.1.x+ supportent ce système de fichiers. L'auteur de l'implémentation Linux est Ray Burr .

10.3. Le système de fichiers BeOS : BeFS

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.

10.4. Le système de fichiers de démarrage d'UnixWare : BFS

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 :

  • Page d'accueil : http://www.ocston.org/~tigran/patches/bfs/

  • Téléchargement : Dans le noyau Linux, patch disponible sur la page d'accueil.

  • Auteur : Tigran A. Aivazian

  • Licence : GPL

  • Accès : lecture / écriture (la partie écriture est limitée, pas de compression pour le moment.)

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.

10.5. Le système de fichiers pour Commodore 1581/1541 : CBMFS

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.

10.6. Le système de fichiers CrosStor

C'est le nouveau nom pour le système de fichiers de haut débit (High throughput filesystem - HTFS). Pour plus d'informations voyez la page d'accueil de CrosStor : http://www.crosstor.com.

10.7. Le système de fichiers de bureau : DTFS (DeskTop File System)

Les buts lors de la conception du système de fichiers de bureau furent influencés par ce qu'était l'environnement pour les premiers micro-ordinateurs. DTFS compresse les données enregistrées dans les fichiers pour réduire les besoins en espace disque (les répertoires restent non compressés). La compression est effectuée page par page à la volée. DTFS supporte le LZW et la non compression, mais vous pouvez ajouter votre propre algorithme. Une partie de l'espace est économisée en n'allouant pas d'avance les i-noeuds. L'allocation de chaque bloc de disque en tant qu'i-noeud est chose aisée. Chaque i-noeud est enregistré comme un arbre B+. Pour plus d'information, voyez le papier USENIX sur DTFS (vous pouvez le télécharger depuis ftp://ftp.crosstor.com/pub/DTFS/papers/).

Un pilote commercial en lecture et écriture est disponible auprès de CrosStor pour UnixWare et SUN Solaris :

10.8. Le système de fichier amélioré (Linux) : EFS

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.

10.9. Le système de fichiers à extents (IRIX) : EFS

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.

10.9.1. Les librairies EFS et UFS, libfs

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 :

10.10. Le système de fichiers rapide BSD : FFS

C'est le système de fichiers natif pour la plupart des Unix BSD (FreeBSD, NetBSD, OpenBSD, Sun Solaris[6], ...)

Voir aussi : SFS, secure filesystem, UFS.

10.11. Le système de fichiers parallélisé générique : GPFS

GPFS est un système de fichiers dans le style Unix™ conçu pour le serveur RS/6000 SP™. Il autorise les applications à partager les données de fichiers répartis sur plusieurs noeuds. Le GPFS supporte les systèmes de fichiers de très grande taille, et répartit les données (en tronçon) sur plusieurs disques pour améliorer les performances. Le GPFS est basé sur un modèle de partage de disque permettant de réduire la charge sur les disques non-attachés au noeud sur lequel s'exécute l'application, et utilise un protocole de verrous distribués pour garantir la totale cohérence des données qui peuvent être accédées de quelque noeud que ce soit. Il offre la plupart des interfaces standard d'accès aux systèmes de fichiers d'AIX™, autorisant ainsi la plupart des applications à s'exécuter sans recompilation ou modification. Ces capacités sont disponibles non seulement en permettant une grande vitesse d'accès à la même donnée depuis tous les noeuds du système SP, mais en fournissant aussi une totale cohérence pour les opérations concurrentes depuis divers noeuds du cluster SP. En cas de panne de composant, le GPFS essaie de poursuivre les opérations sur plusieurs noeuds en admettant que des ressources suffisantes existent pour permettre de continuer.

10.12. Le système de fichiers hautes performances d'HP-UX : HFS

C'est le deuxième HFS qui apparaît dans ce guide pratique. Il est utilisé dans de vieilles versions de HP-UX[7].

10.13. Le système de fichiers à haut débit : HTFS

Liens utiles :

Un pilote commercial en mode lecture / écriture est disponible auprès de CrosStor :

10.14. Le système de fichiers journalisé (HP-UX, AIX, OS/2 5, Linux) : JFS

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.

10.15. Le format logique d'inter-échange (HP-UX) : LIF

Ce système de fichiers est utilisé dans les vieilles versions de HP-UX. Il peut aussi être trouvé dans les ROM et les secteurs de démarrage.

10.16. Le système de fichiers à structure journalisée pour Linux : LFS

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

10.17. Le système de fichiers Macintosh : MFS

MFS est le système de fichiers originel du Macintosh. Il fut remplacé par HFS / HFS+. Si vous pouvez fournir plus d'information, écrivez-moi à s'il vous plaît.

10.18. Le système de fichiers Minix

C'est le système de fichiers natif de Minix. Il fut aussi utilisé par les premières versions de Linux.

10.19. Le système de fichiers Novell NetWare : NWFS

NWFS est natif dans le SE Novell NetWare. C'est un système de fichiers basé sur une FAT modifiée. Deux variantes de ce système de fichiers existent. La version 16 bits, NWFS 286, est utilisée par NetWare 2.x. NetWare 3.x, 4.x et 5 utilisent la version 32 bits, NWFS 386.

10.19.1. Le système de fichiers NetWare / 286

(à faire)

10.19.2. Le système de fichiers NetWare / 386

(à faire)

10.19.3. Accéder à NWFS-386 depuis Linux

Ce pilote vous autorise à monter un système de fichiers NWFS-386 sous Linux.

10.20. Les services de stockage Novell : NSS

C'est un nouveau système de fichiers 64 bits journalisé utilisant l'algorithme des arbres équilibrés (B-arbres). Il est utilisé dans Novell NetWare 5.

10.21. Le système de fichiers à struture sur disque : ODS

ODS (On Disk Structure) est le système de fichiers natif d'OpenVMS et de VMS.

10.22. Le système de fichiers QNX

Ce système de fichiers est utilisé dans QNX. Deux versions majeures du système de fichiers existent. La version 2 est utilisée par QNX 2 et la version 4 par QNX 4. QNX 4 ne supporte pas la version 2 et vice versa.

Le système de fichiers QNX4 est maintenant accessible depuis Linux 2.1.x+. Activer l'option de compilation du noyau QNX filesystem support.

  • Téléchargement : dans le noyau ;)

  • Auteur : Frank Denis (maintainer), Richard Frowijn

  • Licence : GPL

  • Accès : lecture (excepté pour les fichiers "multi-extents"), écriture (expérimentale)

10.23. Le système de fichiers ReiserFS

ReiserFS est un système de fichier utilisant une variante des algorithmes classiques des arbres équilibrés. Les résultats obtenus, quand ils sont comparés au système de fichier Ext2FS, basé sur l'allocation de bloc conventionnelle, sous le même système d'exploitation et employant le même code de « buffering », suggère que ces algorithmes sont plus efficaces en terme de performance temporelle pour les gros fichiers et les petits fichiers éloignés de la taille du bloc, devenant moins efficace en performances temporelles mais plus en terme d'économie d'espace disque quand on se rapproche de la taille du noeud ; devenant notablement plus performant en terme d'espace et de temps quand la taille descend très en dessous de la taille du bloc (4k), atteignant un ordre de grandeur très important pour les fichiers d'une taille de 100 octets. L'amélioration de performance spatiale et temporelle en ce qui concerne les petits fichiers suggère que nous pourrions maintenant revisiter un postulat commun dans la conception des systèmes d'exploitation qui dit que l'on doit aggréger les objets de petite taille en utilisant des couches supérieures à celle du système de fichiers.

Liens utiles :

10.24. Le système de fichiers pour CD-ROM de Sony : RFS

Le système de fichiers Sony pour l'écriture par paquet incrémentale.

10.25. Le système de fichiers pour Rom : RomFS

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.

10.26. Le système de fichiers sécurisé : SFS

Le système de fichiers SFS est une variation du système de fichiers FFS. Les blocs de boot, les super-blocs, les blocs d'archivage et les blocs libres du système de fichiers SFS sont, au niveau administratif, identiques à ceux de FFS. Néanmoins, les i-noeuds diffèrent de ceux de FFS. Chaque inode de numéro impair est réservé pour les informations de sécurité. Les informations contiennent les listes de control d'accès (ACL). Je ne suis pas sûr que SFS possède d'autre capacité.

Liens sur SFS :

10.27. Le système de fichiers Spiralog (OpenVMS)

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 :

10.28. Le système de fichiers System V et ses dérivés

La page d'accueil du projet System V Linux est à http://www.knm.org.pl/prezes/sysv.html. Le mainteneur de ce projet est .

10.28.1. Le système de fichiers rapide d'Acer : AFS

Le système de fichiers rapide d'Acer est utilisé sur SCO Open Server. Il est semblable au système de fichiers SVR4, mais utilise des champs de bits au lieu de listes chainées de blocs libres.

10.28.2. Le système de fichiers rapide étendu d'Acer : EAFS

Le système de fichiers AFS peut être étendu pour prendre en compte les noms de fichiers jusque 255 caractères, mais les entrées de répertoire ont toujours des noms de 14 caractères. Ce système de fichiers est utilisé sur SCO Open Server.

10.28.3. Les systèmes de fichiers cohérents

10.28.4. S5

Ce système de fichiers est utilisé dans UnixWare. Il est probablement compatible System V, mais je ne l'ai pas encore vérifié. Pour plus d'information voyez http://uw7doc.sco.com/FS_admin/_The_s5_File_System_Type.html.

10.28.5. S51K - SystemV 1K

10.28.6. Le système de fichiers Version 7

Ce système de fichiers est utilisé sur Unix Version 7 sur machines PDP-11.

10.28.7. Le système de fichiers Xenix

10.29. Le système de fichiers pour CD-ROM de Philips : CD-Text

Le standard de Philips pour l'encodage des disques et des pistes de données sur les CD audio.

10.30. Le format de Disque Universel (système de fichiers des DVD-ROM) : UDF

Il y a un pilote Linux pour le système de fichiers UDF :

10.31. UFS

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

10.32. V7 Filesystem

Le système de fichier V7 a été utilisé dans la septième édition du système en temps partagé Unix (Seventh Edition of UNIX Time Sharing system, aux environs de 1980). Pour plus d'informations, voir le source de V7, disponible à l'archive Unix : http://minnie.cs.adfa.edu.au/TUHS/

10.33. Le système de fichiers Veritas (HP-UX, SCO UnixWare, Solaris) : VxFS

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.

10.33.1. VxTools

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.

10.34. Le système de fichiers étendu (IRIX) : XFS

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. :

10.35. Xia FS

Ce système de fichiers fut développé pour remplacer le vieux système de fichiers Minix pour Linux. L'auteur de ce système de fichiers est Franx Xia .

11. Partitions « brutes »

11.1. Sauvegarder des partitions directes avec DBsnapshot

(à faire : www.crosstor.com)

12. Appendice

12.1. Les systèmes de fichiers réseaux

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 :

12.1.1. Le système de fichiers Andrew : AFS

12.1.2. CODA

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.

12.1.3. Le système de fichiers réseaux (Unix) : NFS

12.1.4. Le protocole central de NetWare (Novell NetWare) : NCP

12.1.5. Blocs de message serveur (Windows 3.x/9x/NT) : SMB

Ce protocole est utilisé dans le monde Windows.

12.1.6. Intermezzo

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.

12.2. Les systèmes de fichiers chiffrés

12.2.1. Le système de fichiers chiffré : CFS

  • Page d'accueil : ?

  • Téléchargement : ?

  • Auteur : Matt Blaze .

  • Licence : ?

  • Accès : lecture/écriture, utilisant DES/3DES.

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é.

12.2.2. Le système de fichiers chiffré transparent : TCFS

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.

12.2.3. Système de fichiers Sécurisé : SFS

(A faire : http://www.cs.auckland.ac.nz/~pgut001/sfs/index.html)

12.2.4. Le système de fichiers stéganographique pour Linux : VS3FS

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.

12.3. Outils de test de performance disque

12.3.1. IOzone

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.

12.4. Ecrire votre propre pilote de système de fichiers

12.4.1. DOS

Je n'est pas encore vu de bonne page sur l'écriture d'un pilote pour système de fichier DOS sur le net (Network redirectors). La meilleure source est la liste d'interruption de Ralf Brown et le code source de iHPFS.

12.4.2. OS/2

12.4.3. Windows NT

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 <>.

12.5. Documents Connexes



[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