Avec un serveur dédié chez un hébergeur, aucun accès physique n’est possible au serveur. Il est donc essentiel de pouvoir rebooter en toute sécurité pour pouvoir accéder ensuite à la machine en ssh.
A l’inverse, il est toujours possible chez soi de booter sur un cd puis de monter les partitions manuellement.
La mise à jour du kernel est donc une opération délicate : en cas d’échec, il n’existe à ma connaissance que deux options, accéder à la machine avec une KVM sur IP (option payante généralement) ou réinstaller la distribution.
La commande grub-set-default permet de booter sur un nouveau kernel UNE FOIS seulement, histoire de vérifier que le boot se passe bien.
grub est un gestionnaire d’amorçage qui s’installe sur le premier secteur absolu du disque dur (MBR = Master Boot Record).

A l’allumage de l’ordinateur, le BIOS lit les informations du MBR , permettant à grub de charger le noyau du système d’exploitation.
Mon menu grub se présentait comme cela (/boot/grub/menu.lst)
default 0
timeout 3
title Ubuntu 8.04.3 LTS, kernel 2.6.25.4dedibox-r9-smp-x64
root (hd0,0)
kernel /vmlinuz-2.6.25.4dedibox-r9-smp-x64 root=/dev/md1 ro quiet splash
quiet
title Ubuntu 8.04.3 LTS, kernel 2.6.25.4dedibox-r9-smp-x64 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.25.4dedibox-r9-smp-x64 root=/dev/md1 ro single
title Ubuntu 8.04.3 LTS, memtest86+
root (hd0,0)
kernel /memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
Les deux premières lignes (défault 0 et timeout 3) indique que le kernel qui sera utilisé, faute d’intervention manuelle d’un opérateur pendant les 3 premières secondes, sera le premier de la liste ! En effet, la numérotation commence par zéro, ce qui peut être trompeur.
Le nouveau kernel sera chargé par une commande classique
sudo apt-get install linux-image-2.6.24-24-server , ce qui lance la création de l’image système minimale initrd mais ne met pas à jour menu.lst
La commande update-grub met à jour le menu de grub: le nouveau kernel apparait dans la liste
title Ubuntu 8.04.3 LTS, kernel 2.6.25.4dedibox-r9-smp-x64
root (hd0,0)
kernel /vmlinuz-2.6.25.4dedibox-r9-smp-x64 root=/dev/md1 ro quiet splash
quiet
title Ubuntu 8.04.3 LTS, kernel 2.6.25.4dedibox-r9-smp-x64 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.25.4dedibox-r9-smp-x64 root=/dev/md1 ro single
title Ubuntu 8.04.3 LTS, kernel 2.6.24-24-server
root (hd0,0)
kernel /vmlinuz-2.6.24-24-server root=/dev/md1 ro quiet splash
initrd /initrd.img-2.6.24-24-server
quiet
../..
L’astuce consiste à modifier default 0 par default saved. Ainsi le kernel utilisé sera celui qui aura été sauvegardé.
Ensuite la commande en console grub-set-default 2 permet de demander à grub de booter la prochaine fois sur le nouveau kernel n°3.
Attention, il faut également intercaler une commande save default 0 dans le menu de grub, après appel du nouveau kernel, pour qu’un nouveau boot permette de revenir au kernel initial.
title Ubuntu 8.04.3 LTS, kernel 2.6.24-24-server
root (hd0,0)
kernel /vmlinuz-2.6.24-24-server root=/dev/md1 ro quiet splash
savedefault 0
initrd /initrd.img-2.6.24-24-server
quiet
Si le test du nouveau kernel est concluant, il suffira de fixer save default à 2 .













