Les distributions récentes (Mandrake 8.1, RedHat 7.2, Suse 7.3) supportent ext3 "out of the box". Si ce n'est pas le cas de votre distribution, il faut s'assurer que le noyau supporte ext3, et que e2fsprogs et mount soient à jour.
Le noyau. Ext3 est officiellement inclus dans le noyau depuis 2.4.15. Auparavant, il existait dans la série -ac d'Alan Cox depuis un certain temps, et aussi sous la forme de patchs pour les noyaux officiels. Vous pouvez d'abord vérifier la présence du support d'ext3 avec les commandes
grep ext3 /proc/filesystems
find /lib/modules/`uname -r` -name 'ext3.o*'
(attention au sens des quotes `). Si vous voyez "ext3" ou "ext3.o", alors votre noyau supporte ext3. Sinon, il va falloir le patcher et recompiler. Vous pouvez obtenir les patchs pour les noyaux 2.4 récents ici, et pour les 2.2 là. La procédure de recompilation est standard à partir des sources officielles:
cd /usr/src/linux/
gzip -dc /chemin/de/ext3-2.4-*-*.patch.gz | patch -p1
Pour les noyaux 2.2, il faut d'abord décompresser ext3-0.0.*.tar.gz, ensuite patcher successivement linux-2.2.x.kdb.diff et linux-2.2.x.ext3.diff avec
patch -p1 < /chemin/de/linux-2.2.x.yyy.diff
Ensuite, make menuconfig ou make xconfig. Dans la section "File systems", activer le support d'ext3 ("Ext3 journalling file system support" pour 2.4 et "Enable Second extended fs development code" pour 2.2). Il est plus simple de le compiler en dur (au lieu d'être en module), surtout si vous prévoyez de mettre la partition / en ext3. Ensuite,
make dep clean bzImage
make modules
su -c 'make modules_install'
copier le nouveau noyau
cp arch/ARCH/boot/bzImage /boot/vmlinuz-ext3
où ARCH est i386, alpha, ... suivant la famille du processeur, ajouter une entrée dans /etc/lilo.conf pour le nouveau noyau,
image = /boot/vmlinuz-ext3
label = ext3fs
root = /dev/hda1 (mettez votre partition / ici)
read-only
et relancer /sbin/lilo. Si ext3 est en module, ne pas oublier mkinitrd. Pour plus de détail sur la compilation du noyau et la configuration de lilo.conf, consulter Kernel-Howto, Lilo-Howto, et taper man lilo.conf. Rebooter et c'est prêt.
e2fsprogs. C'est le package qui contient mke2fs, fsck, tune2fs etc. Tous ces outils sont destinés aux systèmes de fichiers ext2 et ext3 sans distinction. Il est recommandé d'installer la version 1.25 ou supérieure (entre autres pour que fsck reconnaisse le flag auto dans /etc/fstab). En tout état de cause, il faut au minimum la version 1.19 pour qu'il reconnaisse le format ext3. Vérifiez votre version en tapant fsck
[liu]:~/$ fsck
fsck 1.25 (20-Sep-2001)
No devices specified to be checked!
Pour installer la version requise, visitez le site de votre distribution, ou récupérez les sources et compilez-les vous-même. Dans le répertoire des sources (détarées et décompressés), vous tapez
mkdir build && cd build
../configure
make
make check
su -c 'make install'
Par défaut, les programmes sont installés dans /sbin. Il faut qu'ils soient dans le même répertoire que vos binaires d'origine. Attention, installer soi-même des programmes dans /sbin, /bin risque de mettre en péril la gestion des packages de votre système. Il est préférable de mettre à jour avec les packages fournis par votre distribution. Si vous ne pouvez pas le faire, une sauvegarde des programmes d'origine est vivement recommandée.
mount. Il est recommandé d'installer la version 2.11f ou supérieure. Ceci afin que mount reconnaisse automatiquement les partitions ext3. Vérifiez votre version avec mount -V
[liu]:~/$ mount -V
mount: mount-2.11h
Le programme mount se trouve dans le package util-linux. Ce package contient des programmes vitaux du système, et la configuration de ses options n'est pas d'un abord facile pour un débutant. Mais en ce qui nous concerne ici, on peut se contenter dans le répertoire des sources d'un
make lib mount
cd mount/
su -c 'make install'
Ainsi on n'installe que mount et quelques autres programmes du répertoire mount/. Il est important de taper cd mount/ sous peine de casser votre système en installant d'autres programmes. Si vous avez des doutes, ne touchez à rien. Après tout, ce n'est pas bien gênant de devoir taper mount -t ext3 /dev/toto /titi au lieu de mount /dev/toto /titi. Mais alors vous ne pouvez pas utiliser "auto" comme type de système de fichiers dans /etc/fstab. Voir plus bas