Vous envisagez de moderniser votre système de fichiers Linux, mais appréhendez la complexité de la procédure? Voici une méthode pour transformer vos systèmes ext2 ou ext3 en ext4, sans les inconvénients d’une réinstallation complète.
Les systèmes de fichiers Linux : Un Aperçu
Si l’on devait être courtois, on qualifierait le système de fichiers ext3 de vénérable. Lancé en 2001, il a marqué son époque. Quant au système ext2, il date de 1993, ce qui, dans le monde de l’informatique, le place dans la catégorie des antiquités. Comparé à ext3, ext2 relève même de la découverte archéologique.
Aujourd’hui, le système de fichiers de référence dans l’univers Linux est ext4, introduit en 2008. Il surpasse ses prédécesseurs en termes de vitesse, de gestion de la fragmentation, de capacité à gérer de grands volumes et de fichiers volumineux. De plus, il offre une plus grande précision dans l’horodatage des fichiers. Et avons-nous précisé qu’il est plus rapide? Nettement plus rapide.
Convaincu ? Passons à l’action
Réfléchissons un instant. En réalité, la mise à niveau de votre système de fichiers n’est probablement pas votre premier besoin.
Il serait plus judicieux de mettre à niveau l’ensemble de votre système Linux. Cela implique une sauvegarde des données, un effacement du système, l’installation d’une distribution moderne, puis la restauration de vos données. Un bon nettoyage s’impose, afin de profiter d’une distribution Linux récente avec des logiciels à jour, ainsi que d’un système de fichiers propre et performant.
Si votre matériel ne permet pas l’installation d’une distribution moderne, même parmi les plus légères comme Lubuntu, LinuxLite ou CrunchBang ++, et que vous êtes contraint de conserver votre système actuel, certaines précautions restent à prendre.
La mise à jour vers ext4 exige un noyau Linux en version 2.6.28 ou supérieure. Si votre noyau est plus ancien, sa mise à niveau sera la première étape.
Attention : Ne tentez surtout pas la conversion sans un noyau compatible. Votre ordinateur deviendrait inutilisable. Vérifiez attentivement votre version du noyau avant de procéder.
Assurez-vous d’avoir un disque d’installation de votre version actuelle de Linux à portée de main. La mise à niveau du système de fichiers n’est pas sans risque.
Les sauvegardes représentent votre filet de sécurité. Avant de commencer, réalisez plusieurs sauvegardes de vos données sur différents supports. Vérifiez également la disponibilité de votre ancien disque d’installation Linux. En cas de problème, vous pourrez réinstaller votre ancien système et restaurer vos données.
Il vous faudra également un CD/DVD Live récent d’une distribution Linux moderne pour effectuer la mise à niveau. Assurez-vous d’en disposer.
Pour la petite histoire, cet article a été testé en utilisant une installation d’Ubuntu Jaunty Jackalope, sortie en avril 2009, qui utilisait le système de fichiers ext3.
Toujours motivé?
Comme disait John Wayne, le courage, c’est d’avoir peur et de continuer malgré tout. J’admire votre ténacité.
Commençons par vérifier la version du noyau à l’aide de la commande `uname`. Celle-ci fournit des informations sur le système.
Dans votre ancien système Linux, ouvrez une fenêtre de terminal et entrez la commande suivante : `uname`, un espace, `-r`, puis validez avec la touche Entrée.
uname -r
La version du noyau de notre machine de test est la 2.6.28-11, ce qui satisfait notre exigence.
Soyez rigoureux : si votre noyau est plus ancien, arrêtez-vous ici. L’approximation n’est pas permise. Vous devez atteindre ou dépasser cette version du noyau.
Maintenant, identifions les disques avec la commande `blkid`, qui identifie les périphériques de stockage de type bloc.
blkid
Notre système dispose d’un seul disque dur (sda) contenant une partition (sda1) montée sur `/dev/sda1`. Cette partition utilise un système de fichiers ext3, qui est celui que nous allons transformer.
Il existe également une partition de type `swap`, mais nous ne la traiterons pas ici.
Redémarrage avec le CD Live
Insérez votre CD Live et redémarrez l’ordinateur. Il est possible que vous deviez appuyer sur une touche au démarrage pour lancer le CD. Cette touche sera affichée durant les premières étapes du démarrage. Soyez réactif, car cette fenêtre d’opportunité est courte. Si vous la manquez, redémarrez et réessayez.
Une fois démarré dans l’environnement Live CD, veillez à ne pas lancer par erreur une installation. Prenez le temps de lire les options proposées. Choisissez celle qui est similaire à «Essayer DistributionName».
Devenir Root
Ouvrez une fenêtre de terminal et saisissez la commande suivante, qui vous confère les privilèges root. Cela vous évitera de saisir `sudo` avant chaque commande.
sudo bash
Vous constaterez que l’invite de commande a changé. Vous êtes root, alors soyez prudent.
Identification des Systèmes de Fichiers
Nous devons réidentifier les systèmes de fichiers pour voir comment ils sont détectés dans cette instance de Linux.
fdisk -l
Vous devriez obtenir une sortie semblable à celle-ci:
Le système de fichiers que nous avons identifié précédemment comme `sda1` a été trouvé et reconnu par le Live CD Linux. C’est notre première victoire.
La seconde est la conversion du système de fichiers.
Conversion du Système de Fichiers
Voici les deux commandes nécessaires : l’une pour convertir ext2 en ext4 et l’autre pour convertir ext3 en ext4. Choisissez la bonne!
Pour convertir d’ext2 à ext4, utilisez ceci:
tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1
Pour convertir d’ext3 à ext4, utilisez ceci:
tune2fs -O extents,uninit_bg,dir_index /dev/sda1
Il est possible que peu de choses semblent se passer. Vous revenez à l’invite de commande. Si un message s’affiche, il s’agira probablement d’une erreur. Donc, l’absence de message est une bonne nouvelle.
Vérification du Système de Fichiers
Même si aucune erreur n’a été signalée, nous allons vérifier le système de fichiers de manière approfondie. Nous utiliserons la commande `e2fsck`, un outil pour vérifier l’intégrité des systèmes de fichiers. Il peut également tenter de réparer les problèmes détectés. `e2fsck` fonctionne avec les systèmes de fichiers ext2, ext3 et ext4.
L’option `-p` (preen) demande à `e2fsck` de tenter de corriger les erreurs, et l’option `-f` (force) l’oblige à vérifier le système de fichiers même s’il apparaît sain.
e2fsck -pf /dev/sda1
Aucune erreur n’a été détectée. Nous pouvons tenter de monter le système de fichiers.
Montage du Système de Fichiers
Nous devons ajuster la table du système de fichiers (fstab) et le chargeur de démarrage grub pour qu’ils fonctionnent avec le système de fichiers converti. Pour cela, nous devons monter le système de fichiers. Nous allons le monter sur `/mnt`. Nous avons identifié le système de fichiers comme `sda1` précédemment, donc notre commande est :
mount -t ext4 /dev/sda1 /mnt
Le système de fichiers étant monté, nous devrions pouvoir le lister. Vérifions cela. La racine du système de fichiers se trouve à présent dans le point de montage, c’est à dire `/mnt`.
ls /mnt
C’est encourageant, le résultat semble conforme à nos attentes.
Modification de fstab
Nous devons modifier le fichier `fstab` et remplacer toutes les références à `ext3` (ou `ext2`, si c’est votre système de fichiers d’origine) par `ext4`.
Le CD Live utilisé pour cet exemple contient l’éditeur `nano`, simple d’utilisation. Si `nano` n’est pas disponible sur votre CD Live, un autre éditeur devrait avoir été fourni par la distribution Linux.
nano /mnt/etc/fstab
La fenêtre de l’éditeur `nano` apparaît. Vous devez rechercher les occurrences de la chaîne «ext3» ou «ext2» et les remplacer par «ext4». Dans cet exemple, une seule occurrence de «ext3» a été trouvée et mise en évidence.
La chaîne «ext3» a été remplacée par «ext4».
Enregistrez le fichier et quittez l’éditeur. Dans `nano`, `Ctrl+O` permet d’enregistrer et `Ctrl+X` de quitter.
Mise à Niveau de Grub
Comme nous avons monté le système de fichiers `sda1` sur `/mnt`, les chemins d’accès aux répertoires du système de fichiers ont été déplacés d’un niveau par rapport à leur emplacement habituel. C’est pourquoi nous avons utilisé le chemin `/mnt/etc/fstab` au lieu de l’habituel `/etc/fstab` dans la commande nano.
Puisque grub s’attend à trouver des éléments à des emplacements précis, nous devons faire en sorte que le système de fichiers apparaisse monté de manière habituelle. Nous devons faire pointer la racine du système de fichiers vers `/` et non vers `/mnt`. La commande `chroot` permet d’exécuter un shell de commande et de définir le point racine que nous souhaitons utiliser.
La commande que nous allons utiliser est la suivante:
chroot /mnt
Vous remarquerez que l’invite de commande a changé.
Nous pouvons maintenant exécuter la commande `update-grub`, qui permet à grub de lire le fichier `fstab` et de se reconfigurer.
update-grub
Une fois que grub s’est reconfiguré, nous devons installer une nouvelle instance de grub sur le disque dur. Notez qu’il s’agit du disque dur `sda`, et non de la partition `sda1`. N’incluez pas le «1», saisissez uniquement «sda».
grub-install /dev/sda
Redémarrer votre Système Linux
Redémarrez votre système et retirez le CD Live. Une fois votre système redémarré, ouvrez une fenêtre de terminal et saisissez la commande suivante:
blkid
Comme vous pouvez le voir, le système de fichiers est maintenant de type `ext4`.
Le redémarrage de la machine sur laquelle cet article a été testé a pris un temps anormalement long (plus de dix minutes). Nous avons même pensé que quelque chose s’était mal passé et que le système ne démarrerait plus.
Peut-être était-ce dû au fait qu’il s’agissait d’une machine virtuelle, ou bien qu’une partie de la conversion du système de fichiers avait lieu lors de ce premier démarrage. Quoi qu’il en soit, la patience a fini par payer. Si votre machine se comporte de la même manière, soyez patient. Tout n’est peut-être pas perdu.
Les redémarrages suivants ont été aussi rapides que d’habitude.
Mettre à Niveau l’Ensemble de Votre Système Linux
Voilà, nous avons réussi. Cependant, vous utilisez toujours une version obsolète de Linux avec un système de fichiers moderne.
Si la modernisation du système de fichiers est importante pour vous, et que votre matériel le supporte, la meilleure solution serait de migrer vers une distribution Linux actuelle. Vous bénéficierez de tous les avantages en termes de sécurité et de logiciels qui l’accompagnent.
Toutefois, si vous n’avez pas d’autre alternative, ces étapes vous permettront de mettre à niveau votre système de fichiers.