/ Tutos

Kimsufi Ovh, Debian, Installer un Kernel standard

ERROR: could not open directory /lib/modules/3.10.9-xxxx-grs-ipv6-64: No such file or directory FATAL: could not search modules: No such file or director ../libkmod/libkmod.c:554 kmod_search_moddep ....

Voici l'erreur que vous pouvez rencontrer si votre dédié utilise le kernel d'OVH. Ce problème peut se rencontrer lors de :

  • l’utilisation d’Open VPN
  • l’utilisation d’un script personnel d’ipTable
  • etc …

Je poste cette solution car elle est difficile à trouver sur la toile, et non en français. Pour vérifier qu'elle vous correspond, allez voir dans ./libs si le dossier modules est présent. Si il n’y est pas vous êtes sans doute au bon endroit ;) .

1/ Vérifier que Grub est présent

Il faut vérifier que votre installation utilise Grub (c’est le cas de la plus grande partie des installations OVH)

  • cd ./etc/default/ # ls

Si il est présent, vous pouvez continuer, si ce n’est pas le cas, il faudra ré-adapter ce tutoriel. Une autre solution plus simple pour le vérifier ;) :

  • update-grub -v grub-mkconfig (GRUB) 1.99-27+deb7u2
2/ Installer le bon Kernel

Il faut tout d'abord le sélectionner :

  • apt-get update

  • apt-cache search linux-image

      linux-headers-3.2.0-4-amd64 - Header files for Linux 3.2.0-4-amd64 linux-headers-3.2.0-4-rt-amd64 - Header files for Linux 3.2.0-4-rt-amd64 linux-image-3.2.0-4-amd64 - Linux 3.2 for 64-bit PCs linux-image-3.2.0-4-amd64-dbg - Debugging symbols for Linux 3.2.0-4-amd64 linux-image-3.2.0-4-rt-amd64 - Linux 3.2 for 64-bit PCs, PREEMPT_RT linux-image-3.2.0-4-rt-amd64-dbg - Debugging symbols for Linux 3.2.0-4-rt-amd64 linux-image-2.6-amd64 - Linux for 64-bit PCs (dummy package) linux-image-amd64 - Linux for 64-bit PCs (meta-package) linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
    

Nous pouvons voir, que le kernel à installer pour remplacer celui d’Ovh est le 3.2.0-4-amd64.

Vous pouvez l'installer :) . ( 3.2.0-4-amd64 = [votre version])

  • apt-get install linux-image-[votre version]

Il nous reste cependant à préciser à grub qu’il doit lancer ce kernel et non celui d’ovh au démarrage.

3/ Lancer le bon Kernel

Nous allons reconfigurer Grub pour cela.

  • fgrep menuentry /boot/grub/grub.cfg

      menuentry "Debian GNU/Linux, OVH kernel 3.10.9-xxxx-grs-ipv6-64" { menuentry 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { menuentry 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64 (mode de dépannage)' --class debian --class gnu-linux --class gnu --class os {
    

Cela nous informe que Grub peut lancer les kernel listés ci-dessus.
Résumons cela plus proprement :

  • 0 menuentry « Debian GNU/Linux, OVH kernel 3.10.9-xxxx-grs-ipv6-64
  • 1 menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64
  • 2 menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64 (mode de dépannage)

0, 1, 2 sont les identifiants des kernels (= n° de ligne). La ligne 0 correspond à celui d’ovh. La ligne 1 doit correspondre au nouveau que vous venez d'installer. (à vous d’ajuster). Nous allons donc modifier la configuration de grub pour lui informer qu’il doit lancer le kernel 1 :) .

  • vi /etc/default/grub

Il faut modifier la ligne GRUB_DEFAULT=0, à GRUB_DEFAULT=1.
Puis charger la nouvelle configuration :)

  • update-grub

Vous pouvez rebooter !

  • reboot

Au démarrage, un petit uname-a devrait maintenant vous afficher la bonne version :) .

That's all !

Pierre Brisorgueil

Pierre Brisorgueil

Bi-Diplôme commerce ESSCA, ingénieur ECAM. Passionné par le Management et l'innovation. Actuellement Manager Data Viz chez Société Générale, et auto-entrepreneur yourcreation.fr.

Read More