Remplacer le noyau d'un Kimsufi sous Debian
Un nouveau cœur pour sa machine
Ce serveur est hébergé sur un Kimsufi d'OVH. Ces machines viennent avec un noyau personnalisé d'OVH en théorie compilé pour le matériel et embarquant GRSecurity. Problème, la mise à jour est pour le moins fastidieuse, étant donné qu'il faut aller récupérer la version souhaitée sur un FTP OVH (voir ce billet de blog si cela vous intéresse). Afin de profiter d'un noyau récent, mis à jour de manière normale via apt
et donc bénéficiant des dernières mises à jour de sécurité, voyons comment enlever le noyau OVH pour installer le noyau standard. Attention, ce genre de manipulations réclament une sauvegarde à jour du système si jamais l'opération échoue et les compétences nécessaires pour le retour arrière en cas d'échec ! Il y a plein de billets expliquant comment faire sur le Web, celui-ci me permet de documenter proprement l'opération pour moi-même.
Vérifier que l'on a tout
Le seul pré-requis au changement de noyau est la présence de GRUB sur la machine. Normalement, il vient par défaut sur les Kimsufi, néanmoins vérifions :
# apt-cache policy grub2-common grub2-common: Installé : 2.02-2 Candidat : 2.02-2 Table de version : *** 2.02-2 500 500 http://ftp.fr.debian.org/debian testing/main amd64 Packages 100 /var/lib/dpkg/status
Afin d'être sûr, on vérifie que grub.cfg est bien présent et contient les bonnes infos :
# grep menuentry /boot/grub/grub.cfg ... menuentry "Debian GNU/Linux, OVH kernel 4.7.9-xxxx-grs-ipv6-64" { ...
Le numéro de version doit correspondre à ce que donne uname
:
# uname -a Linux SHAFT-KS 4.7.9-xxxx-grs-ipv6-64 #1 SMP Fri Oct 21 11:59:57 CEST 2016 x86_64 GNU/Linux
C'est bien ça. Passons à la suite.
Un mv et ça repart
Seulement 2 commandes sont à taper afin de changer le noyau. Tout d'abord, il faut déplacer le script OVH de configuration de GRUB :
# mv /etc/grub.d/06_OVHkernel /root
Puis installer le noyau en tant que tel. On ne se casse pas la tête et on choisi le méta-paquet :
# apt-get install linux-image-amd64
Durant l'opération, j'ai un un message d'avertissement de ce type :
W: initramfs-tools configuration sets RESUME=UUID=l-uuid-de-sda1 W: but no matching swap device is available.
A priori, le problème ce corrige en donnant le bon UUID de la partition de swap dans le fichier /etc/initramfs-tools/conf.d/resume
. Pour cela, on récupère l'UUID de la partition de swap via blkid
et on le remplace dans le fichier en question. On relance le script initramfs-tools
en indiquant la bonne version de noyau :
# /etc/kernel/postinst.d/initramfs-tools 4.14.0-2-amd64 update-initramfs: Generating /boot/initrd.img-4.14.0-2-amd64
Le système ne hurle pas, ça doit être bon. On verra à l'usage. Si cela pose des problèmes, ce billet sera mis à jour.
Dans le doute, reboote
Pas de doute possible ici, il ne reste plus qu'à rebooter la machine. Pendant ce temps, logguez vous sur votre espace OVH et tenez vous prêt à faire un netboot sur le système de récupération au cas où 🙂 Une fois la machine rebootée, on vérifie que nous sommes sur la bonne version du noyau :
# uname -a Linux SHAFT-KS 4.14.0-2-amd64 #1 SMP Debian 4.14.7-1 (2017-12-22) x86_64 GNU/Linux
C'est bon. Reste à nettoyer /boot
du vieux noyau OVH :
# ls /boot bzImage-4.7.9-xxxx-grs-ipv6-64 grub System.map-4.14.0-2-amd64 vmlinuz-4.14.0-2-amd64 config-4.14.0-2-amd64 initrd.img-4.14.0-2-amd64 System.map-4.7.9-xxxx-grs-ipv6-64 # rm bzImage-4.7.9-xxxx-grs-ipv6-64 System.map-4.7.9-xxxx-grs-ipv6-64
Enfin, on met à jour GRUB
# update-grub2 Création du fichier de configuration GRUB... Image Linux trouvée : /boot/vmlinuz-4.14.0-2-amd64 Image mémoire initiale trouvée : /boot/initrd.img-4.14.0-2-amd64 fait
J'ai choisi de faire ce nettoyage après le reboot pour avoir moins d'opérations à faire en cas de soucis. 🙂
Voilà, noyau changé et à jour, ménage fait, la machine va désormais attendre paisiblement son prochain reboot (normalement à la prochaine mise à jour de dbus
, du noyau ou de systemd
). N’oubliez pas de faire le ménage après un passage sur un nouveau noyau pour faire le ménage sur la machine.