En général, j'utilise la version testing sauf lorsque l'on est proche d'un saut "majeur". J'étais donc avec la version lenny [1] depuis quelques années. Cette version est passée de l'état testing à stable. Aujourd'hui c'est le bon moment d'utiliser squeeze [2]

Le décideur pressé lira qu'un saut de version avec debian se résume à trois commandes et une mise à jour de fichier. En très bref, c'est

  • apt-get update ; apt-get upgrade, histoire que le système soit bien à jour avant de faire le saut
  • Dans le fichier /etc/apt/sources.list il faut remplacer les occurences de lenny [3] par squeeze [4]
  • apt-get update afin de télécharger la liste des paquets de la nouvelle version
  • Une série de apt-get dist-upgrade This may take a while, try something else to do
    • Une série signifie qu'il faudra relancer la commande jusqu'à ce qu'il n'y aie plus d'erreurs

J'utilise apt-get plutôt que aptitude sans raison particulière si ce n'est que apt-get étant de plus bas niveau il a tendance à prendre moins de décision pour moi. Dans ce cas précis, j'ai utilisé un peu les deux.

Dans la pratique certains problèmes risquent de survenir, je vous raconte les miens.

First, il existe une nouvelle version de dbus qui n'est pas compatible avec les noyaux <2.6.25, il faudra donc mettre à jour vers un noyau 2.6.30 ...qui n'est pas compatible avec votre version de dbus. Oops ! Le chat se mord la queue.

Solution: Autoriser/forcer l'installation de dbus puisque l'on met à jour le noyau avant tout reboot. Ça stresse un peu mais ça passe :-)

Deuxièmement, Grub passe à la version 2. Debian vous propose de conserver Grub 1 qui lancera Grub 2 et si tout va bien faire l'update ensuite. Pas de soucis de ce côté.

Ensuite tout se passe pour le mieux, on a rebooté sur le nouveau noyau, on est en console et on fait ses apt-get dist-upgrade. Plus d'erreur, c'est fini, je peux lancer X (perso c'est un startx car j'utilise Fluxbox) ... et damned ! pas de X. C'est vrai j'ai une carte nvidia j'avais oublié.

Je vous passe les détails pour trouver la solution [5] mais il faut réinstaller les drivers nvidia.

  • nvidia-installer --update télécharge les drivers sur le site de nvidia et tente de les compiler ... mais non, tout n'est pas là il faut lire les erreurs ^^
  • Télécharger les drivers chez nvidia histoire de ne pas les retélécharger chaque fois que l'on lance la commande précédente

wget ftp://download.nvidia.com/XFree86/Linux-x86/195.30/NVIDIA-Linux-x86-195.30-pkg1.run

  • Ensuite installer les sources du noyau apt-get install linux-source-2.6.30
  • Décompresser les sources (dans /usr/src) et créer le lien symbolique linux vers linux-source-2.6.30
  • Compiler le noyau
    • make oldconfig configure le noyau sur base de votre config actuelle [6]
    • make This may take a while, try something else to do
  • Relancer l'installer nvidia (plutôt via bash NVIDIA-Linux-x86-190.53-pkg1.run pour éviter le retéléchargement)

Maintenant ça roule (chez moi en tout cas) mais je boote sur le noyau 2.6.30, le 2.6.32 ne m'ayant pas permis d'installer les drivers nvidia.

Note aux étudiants

On constate qu'une mise à jour n'est jamais immédiate et que l'on ne peut pas se contenter d'un clic ou d'une seule commande ... on ne s'étonne donc pas que l'on conseille de faire un backup avant et que parfois ça se passe mal.

Notes

[1] Oui ils choisissent les petits noms dans les personnages de Toy Story

[2] J'avais envie d'avoir la possbilité d'utiliser les contacts Google dans Evolution, ce qui n'est possible qu'avec la version 2.28 et lenny ne proposait que la version 2.22 (et rien dans les backports)

[3] Certains y trouveront stable et ils peuvent y écrire testing ou squeeze. C'est mieux squeeze car ça évitera de faire un saut de version sans le savoir lorsque les développeurs Debian décideront ce saut

[4] Sous vi un $s/lenny/squeeze/g fait bien le boulot

[5] Je m'en suis sorti avec une seule machine, donc pas de recherche sur le net ;-)

[6] Je ne suis pas tout à fait sur que c'est la config actuelle mais ç an'a pas d'importance car on n'utilisera pas ce nouveau noyau, on crée simplement l'arborescence utilse à la compilation des drivers nvidia