Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Expériences d’overflow et autres partitions (pour mémoire)

Up: Home Previous: Éditeurs Next: Expressions régulières

Installer dans des partitions trop petites peut conduire à de sérieux problèmes. Les expériences ci-dessous remontent à mes débuts avec des disques nettement plus petits que ceux qu’on trouve aujourd’hui. Il faut de la place pour /usr parce qu’on installera de plus en plus d’applications de plus en plus lourdes. Certaines s’intalleront peut-être en /opt. Les /var et /tmp sont par essence très variables. Il faudrait une place généreuse pour chacune si on leur fait des partitions séparées. La partition racine se remplit aussi des nombreuses versions de noyaux Linux reçues dans des mises à jour. Les mises à jour des applications remplacent les anciennes versions, mais les noyaux de Linux s’accumulent si on ne pense pas à les effacer (garder les deux dernières ?) ce qui constitue une menaces pour la partition racine /. Je me demande s’il ne vaut pas mieux après tout se limiter, en dehors du swap, à deux grandes partitions : /home pour les raisons que j’ai déjà dites, et la racine / pour tout le reste. Consulter des discussions récentes à ce sujet.

J’ai d’abord installé Ubuntu (lors de sa sortie en 2004) dans une partition de 2 Go, plus une partition de ½ Go de swap. Cela s’installe sans problème (j’ai oublié de noter l’espace utilisé) mais ça risque de se remplir vite ! J’ai très vite déplacé /home vers une autre partition. Je ne croyais pas avoir installé des masses de choses mais deux mois après, à l’occasion d’une mise à jour, je me suis retrouvé avec 0 octets de libre ! Il n’était plus possible de démarrer l’interface graphique Gnome. J’ai donc dû, en catastrophe, à partir de la console, déplacer le contenu de /usr vers une autre partition et éditer fstab (j’ai dû apprendre vi en catastrophe — aujourd’hui, j’utiliserais plutôt nano) pour monter cette partition en /usr. Je n’ai pas fait de faute et j’ai retrouvé mon système en redémarrant. Il vaudrait donc mieux avoir préparé des partitions avant l’installation et installer directement dans cet éventail de partitions. Quelqu’un qui n’y connaît rien ne peut installer que sur l’ensemble du disque. Pour celui qui sait ce qu’est une partition ou qui a le courage d’apprendre, il est beaucoup moins risqué d’installer d’emblée sur plusieurs partitions en indiquant des points de montage /, /home et /usr que de déplacer après coup leur contenu et d’éditer le fichier fstab avec le risque de faire une erreur qui rendrait le système difficilement accessible.

Un âne ne bute pas deux fois sur la même pierre. Moi oui, ce qui prouve que je ne suis pas un âne (je m’en doutais un peu à vrai dire). La page que j’ai déjà citée dit explicitement « Consider putting /var […] on a separate filesystem. This protects your root filesystem from overflowing in the case of a runaway log. An overflowed root filesystem is a Bad Thing. » Je ne l’avais pas fait. J’avais déjà pourtant eu la blague avec /usr. Je suis maintenant tout à fait convaincu que si le système de fichiers racine est bouché, c’est vraiment « a Bad Thing » (avec les majuscules). Plus aucune grosse application, plus aucune application graphique ne démarre parce qu’elle doivent toutes écrire quelque chose quelque part et qu’il n’y a pratiquement plus un octet de libre. Je voulais alors passer de Ubuntu 4.10 à la nouvelle version 5.04 le jour de sa sortie le 8 avril 2005. J’ai changé mes dépots de Warty à Hoary dans Synaptic (ce qui n’est d’ailleurs par une bonne manière de changer de version) et j’ai lancé la mise à jour complète du système. Il y avait 850 fichiers à charger. Ils sont stockés dans /var/cache pour être installés ensuite. Après 300 fichiers, il n’y avait plus de place (« impossible to write to the output file » ou quelque chose de ce genre — il a fallu un certain temps pour que je devine où était le problème). Le système était engorgé. Pratiquement plus rien ne fonctionnait sous Gnome. Même scénario que ci-dessus. Je suis repassé (Ctrl-Alt-F1) à la première console texte. (J’ai dû faire de sérieux efforts de mémoire et de lecture de notes pour me rappeler des commandes de base de Linux.) J’ai monté la partition /dev/hda8 (simplement mount /dev/hda8 parce qu’elle était inscrite dans /etc/fstab). J’ai regardé ce qu’il y avait dedans (ls /mnt/hda8). C’étaient de vieux fichiers utilisateur dont je n’avais plus besoin (ils avaient déjà été recopiés quelque part dans /home). J’ai démonté (umount /dev/hda8). J’ai fait le grand nettoyage en reformatant la partition (mkfs -t ext3 /dev/hda8). Je l’ai remontée. J’y ai recopié le contenu de /var (cp -r /var/* /mnt/hda8). J’ai vérifié que c’était réussi (ls /mnt/hda8). J’ai effacé le contenu de /var (rm -rf /var/*). J’ai édité /etc/fstab pour que /dev/hda8 soit monté en /var au lieu de /mnt/hda8. J’ai redémarré (shutdown -r now). Tout remarchait. (Linux, c’est quand même très fort ! Et moi, je fais des erreurs mais je suis quand même assez malin pour m’en dépétrer.) J’ai pu continuer ma mise à jour.

Up: Home Previous: Éditeurs Next: Expressions régulières