Il peut parfois s’avéré utile de MàJ le kernel de son serveur. Par exemple pour pouvoir utiliser Docker, mais pas que. Pour connaître votre version faites un uname -r
.
3 exemples :
┬─[[email protected]:~]─[13:29:52] ╰─>$ uname -r 4.3.3-2-ARCH ┬─[[email protected]:~]─[13:30:23] ╰─>$ uname -r 3.16.0-38-generic ┬─[[email protected]:~]─[13:31:17] ╰─>$ uname -r 3.2.0-4-amd64
A la main
Voici la manipulation pour installer une autre version (OVH) du noyau sur Debian. Commencez par aller la choisir ici. Le mieux, pour une machine de prod, étant de rester sur un kernel stable (et en plus il faut rebooter pour activer le nouveau noyau). Pour une seedbox ou serveur de jeu ou que sais-je vous pouvez jouer avec une unstable, après avoir fait un backup de vos données par sécurité.
Pour connaître la liste des kernels Linux et leurs différences vous pouvez vous rendre sur ces 2 sites : kernel.org & kernelnewbies.org.
Si je vous parle ici de noyau « OVH » c’est parce que comme la plupart des loueurs de serveurs ils apportent des modifications aux noyaux de leurs distributions, les rendant pleinement compatibles avec leur matériel. Ce qui évite ainsi tout risque de plantage et permet en outre d’avoir un support prompt et complet en cas de pépin. Vous n’allez pas chez Apple avec votre iPhone jailbreaké, pareil ici. Quoique le SAV (pro/payant) est à même d’aider pour tout type de config.
Le principe est très simple :
- On place le nouveau kernel dans le dossier /boot,
- On met à jour grub (servant à démarrer la machine) qui par défaut prend le kernel le plus récent présent dans /boot,
- On reboot.
Connectez-vous à votre machine et placez-vous dans le dossier /boot puis téléchargez la version du noyau qui vous intéresse. Dans cet exemple je prends la 4.2.7 grs en IPv6 tant qu’à faire.
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/4.2.7/System.map-4.2.7-xxxx-grs-ipv6-64 wget ftp://ftp.ovh.net/made-in-ovh/bzImage/4.2.7/bzImage-4.2.7-xxxx-grs-ipv6-64
Mettez à jour grub et rebootez
update-grub reboot
Et au retour vous verrez votre nouveau kernel avec uname -r
.
De manière automatique
Szepeviktor nous simplifie le boulot avec un script à lancer en cron :)
#!/bin/bash # # Automatic update for made-in-ovh OVH kernels. # # VERSION :0.2 # DATE :2015-02-10 # AUTHOR :Viktor Szépe <[email protected]> # LICENSE :The MIT License (MIT) # URL :https://github.com/szepeviktor/debian-server-tools # BASH-VERSION :4.2+ # DOCUMENTATION :http://help.ovh.co.uk/KernelInstall # RSS-FEED :http://www.ftp2rss.com/rss?v=1&ftp=ftp%3A%2F%2Fftp.ovh.net%2Fmade-in-ovh%2FbzImage&port=21&files=20 # DEPENDS :apt-get install lftp heirloom-mailx OVH_KERNELS="ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-production/" # grsecurity + IPv6 + amd64 VPS CURRENT="$(ls /boot/*-xxxx-grs-ipv6-64-vps)" lftp -e "lcd /boot/; mirror -i '.*-xxxx-grs-ipv6-64-vps$'; bye" "$OVH_KERNELS" NEW="$(ls /boot/*-xxxx-grs-ipv6-64-vps)" if ! [ "$CURRENT" == "$NEW" ]; then echo -e "update-grub && reboot\nnewest two:\n$(ls -1tr /boot/bzImage-*|tail -n2)" \ | mailx -s "[$(hostname -s)] new kernel from OVH" root fi
Copiez-le dans votre /home, par exemple sous le nom OVHkernelautoupdate.sh. Rendez-le exécutable (chmod +x OVHkernelautoupdate.sh
) et configurez ensuite votre cron pour qu’il le lance tous les X mois. Ou à la fréquence que vous voulez.
# Ouvrir cron crontab -e # Puis ajoutez ceci à la fin pour une exécution tous les jours à minuit 0 0 1 * * /home/$USER/OVHkernelautoupdate.sh
Ici ce sera le 1er de chaque mois.
Attention cependant, même si OVH teste les kernels qu’il met à dispo pour ses distri il n’est vraiment pas du tout recommandé de faire ça sur un serveur de prod.
bonjour,
le tuto ne fonctionne plus, les liens chez OVH semblent avoir changé
Salut, en effet ce script et les liens datent un peu trop ;)
Il faut suivre leur Wiki : https://docs.ovh.com/fr/dedicated/mettre-a-jour-kernel-serveur-dedie/