Le projet Debian est actuellement en train de mettre en place la prochaine version du système Debian. Cette version utilisera la nouvelle libc6, une remplaçante pour l'ancienne libc5, qui inclut de nombreuses améliorations et resynchronise la bibliothèque C de Linux avec le projet GNU. Nous procédons de manière à vous permettre de continuer à utiliser vos anciens logiciels en fournissant des environnements de développement et d'exploitation pour les deux bibliothèques. Cependant tous les paquets de la nouvelle version seront liés avec la nouvelle bibliothèque C. Cela rend un peu plus difficile l'installation dans un système en fonctionnement des paquets provenant de la branche "unstable" de l'arbre de développement. Il y a une faible chance dans le processus de rendre votre système incapable de démarrer; ce guide a pour but de vous aider à éviter de tels problèmes.
La dernière version (source SGML) de ce Mini-HOWTO devrait être disponible aux adresses suivantes:
Ce Mini-HOWTO est couvert par le copyright des HOWTOs du LDP et peut être redistribué sous les mêmes termes. Comme toujours, ce document est fourni SANS AUCUNE GARANTIE. Ces commentaires sont basés sur mes expériences et expérimentations personnelles. Bien que cela ait fonctionné pour moi à partir d'un système v1.3.1 fraîchement installé, votre expérience peut différer. Envoyez SVP tout commentaire ou correction à storm@gate.net (original), ou à pcaillaud@infini.fr (traduction)
La liste minimale des paquets à installer pour pouvoir faire tourner des paquets de la branche instable se trouve ci-dessous. Installez ces paquets un par un exactement dans l'ordre indiqué. Quand des versions sont mentionnées, il s'agit de versions minimales suggérées: toute version supérieure devrait aussi être acceptable.
Bien que vous puissiez installer de nombreux paquets libc6 avec seulement ldso et libc6, vous voudrez probablement mettre à jour quelques autres paquets en même temps. Puisque bash-2.01 règle des problèmes liés à Netscape et à des applications FIXME "helper", c'est l'un des paquets nécessitant probablement le plus une mise à jour. Cependant, c'est aussi l'un des rares paquets à pouvoir rendre votre système inutilisable en étant mal mis à jour. Installez les paquets ci-dessous un par un en suivant exactement l'ordre indiqué. IMPORTANT: Si vous utilisez dselect pour faire la mise à jour initiale de ces paquets, il y a une grande chance de perturber bash et de rendre votre système hors d'usage.
Ces paquets ne sont pas absolument essentiels pour le fonctionnement des paquets de "unstable", mais ils sont néanmoins très utiles. Le nouveau dpkg-dev peut être nécessaire pour dépaquetter les archives sources de "unstable", et le nouveau dpkg-ftp est requis si vous souhaitez utiliser la méthode FTP de dselect pour mettre à jour votre système avec la distribution "unstable".
Comme Perl est utilisé dans de nombreux scripts d'installation de paquets, des problèmes avec les mises à jour de bibliothèques rendant temporairement Perl inutilisable peuvent perturber l'installation d'autres paquets. Par sécurité, installez à la main la nouvelle libgdbm1 et ensuite les nouveaux paquets libgdbmg1 avant de mettre à jour Perl.
Si vous souhaitez faire du développement avec la libc6, vous devriez d'abord purger tous les paquets '-dev' de votre système; en effet, le nouveau système va utiliser le suffixe '-dev' pour le développement avec la libc6 et '-altdev' pour le développement avec la libc5. Vous devrez sans doute installer le dernier paquet libc5 et altgcc si vous voulez continuer le développement libc5 en même temps. Quelques bibliothèques n'ont pas été recompilées pour la nouvelle libc6, aussi vérifiez que toutes vos bibliothèques vitales sont disponibles avant de mettre à jour. Lier des bibliothèques basées sur la libc5 avec des programmes basés sur la libc6 donnera des résultats imprévisibles.
A cause d'un changement dans le code de gestion vthunk dans libc6 et libg++, vous devrez au moins mettre à jour vers libg++272_2.7.2.8-0.1 pendant la mise à jour de libc6.
Le programme e2fsck dans e2fsprogs_1.10-4 contient une bogue qui lui fait détruire des données sur les partitions de taille supérieure à 2Go. La version dans e2fsprogs_1.10-7 a corrigé cette bogue. IMPORTANT: Si vous lancez l'ancien e2fsck (basé sur libc6) sur une partition de 2Go ou plus, VOUS PERDREZ DES DONNEES.
Notez aussi que les deux paquets man-db et libc6-dev incluent en ce moment /usr/bin/gencat. On a rapporté que la version de gencat dans libc6-dev causait des problèmes de "segfault" avec man-db, aussi vous devrez sans doute réinstaller man-db après lib6-dev si vous observez ces problèmes.
La gestion de NIS/YP a légèrement changé avec la libc6. Si vous utilisez NIS, vous aurez probablement besoin de changer /etc/nsswitch.conf; l'option /compat préservera l'ancien (libc5) comportement. Vous devriez aussi changer la ligne networks de files dns vers files. Cela empêchera les programmes de configuration du réseau d'essayer de résoudre les "hostnames".
La structure de répertoire du site FTP a été légèrement modifiée en plaçant les sections "contrib" et "non-free" dans l'archive à côté de la section "main", pour éviter que "contrib" et "non-free" soient désynchronisées par rapport aux parties précédentes des archives. Vous devez avoir dpkg-ftp_1.4.9 ou supérieur pour mettre à jour votre machine en utilisant dpkg-ftp. Si vous mettez à jour votre machine par FTP, la bonne information à donner à dpkg-ftp est:
Debian 1.3.1r4 incluait une mise à jour de la libc5 qui créait un conflit avec la libc6. Le conflit fut ajouté à cause de problèmes avec les "locales" et le format des fichiers utmp/wtmp. Une version plus ancienne de la libc5 qui ne crée pas de conflit, ainsi que les bibliothèques de développement, se trouve à < url="ftp://ftp.gate.net/pub/users/storm/">.
Mini-HOWTO Debian libc5 vers libc6
Scott K. Ellis, storm@gate.netpcaillaud@infini.fr