Passage de Debian stable à testing

Le but de ce guide est de rendre le passage de -stabe a -testing aussi simple et sûr que possible. Je vous encourage vivement à consulter les pages de man associées aux commandes et fichiers évoqués dans ce tutorial.

Dégagement de responsabilité

Les informations données dans ce document le sont à titre purement indicatif. Ni Gandi, ni l'auteur de ce document ne sauraient être tenus responsable d'un quelconque préjudice moral, patrimonial ou financier résultant de l'exécution d'une ou plusieurs des commandes décrites ci-dessous.

Sauvegarde des données

Premier réflexe d'une upgrade : la sauvegarde. Sauvegardez toutes vos données soit sur un site distant soit sur un disque gandi. Si vous avez choisi la solution disque gandi, une fois que vous avez tout sauvegardé, déconnectez-le via l'interface d'administration gandi.

création d'un runlevel dédié

Commençons par éteindre tout les services inutiles. Les deux seuls services indispensables pour effectuer l'upgrade sont d'une part sshd, d'autre part inetd (pour le contrôle gandi).

Le mieux est de créer un runlevel init avec le strict minimum de services. Pour cela, allez dans /etc/rc4.d/, et renommez les symlinks des services inutiles, en inversant l'ordre d'exécution. Par exemple, si j'ai S20lighttpd puis S21fam, alors je vais les renommer respectivement K80lighttpd et K79fam. Pas la peine de faire du zèle, l'extinction des serveurs internet et des sgbd devrait suffire. Surtout n'éteignez ni inetd ni ssh

Upgrade

Une fois le nouveau runlevel configuré, changez de runlevel avec telinit. Dans notre cas, le runlevel d'upgrade est le 4, donc il nous faut invoquer telinit 4.

Ensuite, éditez le fichier /etc/apt/sources.list. Par défaut, il contient 3 entrepôts, http://mirrors.gandi.net/debian [1], http://security.debian.org/debian-security [2] et http://mirrors.gandi.net/gandi/debian [3]. Dans [1] et [2] il faut changer etch en lenny ou testing. Ne touchez pas à [3], c'est lui qui contrôle l'installation des paquets spécifiques au déploiement gandi.

Une fois ceci fait, apt-get update mettra la liste des paquets à jour, et apt-get dist-upgrade mettra le système à jour. A de nombreuses reprises apt-get vous demandera si vous souhaitez mettre à jour des fichiers de configuration. Dans la majeure partie des cas, l'attitude à adopter est de conserver le fichier existant déjà.

Il est possible de rencontrer des conflits de dépendances lors de la mise a jour de la libc. Pour contourner ces problèmes, j'ai fait dans un premier temps apt-get upgrade libc6-xen, puis apt-get upgrade. Notez bien que l'upgrade ne remplace pas les versions automatiquement pour certains paquets, ainsi gcc-4.3 n'est pas une version supérieure de gcc-4.1 et apt-get voudra l'installer. Il vous sera toutefois possible de désinstaller gcc-4.1 une fois la mise à jour faite.

Retour à la normale

Après vous être assuré que l'upgrade s'est correctement déroulée, vous pouvez revenir au runlevel de base avec telinit 2.

Dernière modification: le 25/04/2008 à 10:42 par Vincent G.