Bonjour à tous,
J’ai rencontré ces derniers temps quelques soucis avec une installation de Debian Sid qui date de 6 ans (mise à jour, évidemment). Bizarrement, je n’ai pas rencontré ces problèmes sur une installation récente (6 mois), avec pourtant les même fichiers de configuration et les même versions de paquets. Un petit extrait de ces problèmes :
[ul][li]openvpn ne configure pas les routes par défaut ni le fichier resolv.conf ;[/li]
[li]l’installation des drivers propriétaires de nvidia casse glx (voir ce thread) ;[/li]
[li]KMail n’arrive plus à récupérer les mails d’une boîte chez Yahoo ;[/li]
[li]Spotify crash régulièrement (à la première interaction avec le client après trois heures de lecture) ;[/li]
[li]des menus manquent dans la configuration de KDE (la configuration des raccourcis clavier, par exemple) ;[/li]
[li]le rétro-éclairage du clavier ne s’allume plus automatiquement au démarrage de Debian.[/li][/ul]
J’ai tenté de réparer ces problèmes en créant un nouvel utilisateur (pour remettre à zéro les préférences stockées dans le dossier $HOME), en purgeant puis réinstallant les paquets incriminés (openvpn, systemsettings, voire KDE tout entier puis X tout entier), en comparant les fichiers dans /etc entre les deux installations, mais seuls quelques problèmes (non listés ici) ont été résolus.
Comparer la totalité du système est bien évidemment un boulot trop monstrueux, et j’envisage une autre voie. Si j’en crois Raphael Plasson, une Debian est un système irréversible. Les slink créent de l’entropie, mais j’imagine que les mises à jour et installation/désinstallation de paquets en créent aussi. C’est pour ça que j’envisage la réinstallation. Mon lecteur CD étant mort, et n’ayant pas de clef USB sous la main (ni de Cd, d’ailleurs), je vais tenter la réinstallation in vivo. Mieux encore, je tente le challenge de réinstaller ma Debian sans redémarrer. Le noyau et ses modules étant les mêmes, tout devrait théoriquement passer en ne relançant que les différents services concernés.
Pour le moment, j’envisage un plan d’action de ce type :
[ul][li]Sauvegarde de /home en dehors de mon PC ;[/li]
[li]sauvegarde de la liste des paquets installés ;[/li]
[li]installation d’une Debian toute neuve dans un nouveau répertoire grâce à debootstrap ;[/li]
[li]chroot dans cette installation (ça comprend le montage des répertoires adéquats) ;[/li]
[li]mise à jour des paquets pour mettre la distribution en Sid ;[/li]
[li]rsync de cette installation fraîche vers le système courant (en ommetant /dev, /proc, /sys) ;[/li]
[li]redémarrer les services sur l’ancienne installation devenue neuve (là, c’est tricky ! Une idée serait de lister les processus actifs, de tous les killer sauf init et peut-être quelques autres, puis de relancer les services jusqu’à un retour à la normalité) ;[/li]
[li]supprimer l’installation par bootstrap ;[/li]
[li]puis du post-installation classique avec la création des utilisateurs, la réintallation des paquets intéressants, la re-configuration de tout ça…[/li][/ul]
Pour le moment, je fais des tests sur des machines virtuelles pour voir si cette idée peut fonctionner. J’avoue que je ne sens pas très bien la phase de kill des processus. Autant redémarrer apache ou sshd ne pose pas trop de problème, autant je doute que des processus appelés watchdog ou kworker puissent être impunément tués. Ça me rappelle quand je jouais à la roulette russe avec le gestionnaire des tâches de Windows XP…
Je ne demande pas vraiment d’aide. J’ai plutôt pour but de partager une expérience, mais comme je doute de l’issue, je ne poste pas dans T&A. Si cette opération est un succès, je demanderais aux modérateurs de déplacer ce sujet dans T&A et j’en fais une page du wiki.
N’hésitez pas à contribuer à cette aventure en me prévenant d’un danger que je n’aurais pas vu, en m’offrant des bières ou des pizzas.
Enfin, je sais bien qu’une réinstallation à partit d’une clef USB serait certainement plus simple. Mais j’ai soif d’aventure.
A+
Duna