Garder un kernel à jour sous Debian (+ Ansible)

1/52/53/54/55/5 (2 votes, moyenne: 3,00 sur 5)
Loading...
G

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

Aujourd’hui on va voir comment garder un kernel très récent sous Debian en utilisant les backports. On verra aussi l’automatisation du processus avec Ansible.

 

Piocher dans les backports de sa distribution permet d’obtenir des versions logicielles bien plus récentes, mais non maintenues par l’équipe de sécurité Debian.

Le kernel présent par défaut dans Debian Jessie est vieux (3.16) alors que celui présent dans les backports de Jessie est bien plus récent (4.6).

 

Attention, cette manipulation ne marche que sur des serveurs physiques ou des machines virtuelles. Ça ne marchera pas avec de la virtualisation par conteneur (LXC, OpenVZ …).

 

Installation standard :

Dans un premier temps, assurez-vous de la présence des backports de Jessie dans votre fichier /etc/apt/sources.list :

deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
deb-src http://httpredir.debian.org/debian jessie-backports main contrib non-free

 

Si vous suivez mes articles vous devriez déjà avoir cette entrée, sinon ajoutez-la et lancez la commande suivante :

apt-get update

 

Pour finir, installez la dernière version du kernel avec la commande suivante :

apt-get install -t jessie-backports linux-image-amd64

 

Redémarrez le serveur avec la commande suivante :

reboot

 

Une fois le serveur redémarrer, lancez la commande uname -a et vous devriez voir votre nouveau kernel :

Linux serveur 4.6.0-0.bpo.1-amd64 #1 SMP Debian 4.6.1-1~bpo8+1 (2016-06-14) x86_64 GNU/Linux

 

Installation avec Ansible :

Si vous avez suivi mon dernier article sur Ansible, vous avez déjà le bon fichier sources.list sur tous vos serveurs Debian. Si ce n’est pas le cas lisez-le 🙂

On va se créer un playbook pour installer / mettre à jour le kernel sur tous nos serveurs et le redémarrer automatiquement si nécessaire.

cd /etc/ansible/playbooks/
nano kernel-backports.yml

 

Remplissez-le avec ceci :

- hosts: backport-kernel
  become: yes
  become_method: sudo
  tasks:
   - name: updates servers
     apt: update_cache=yes cache_valid_time=3600

   - name: install kernel
     apt: name=linux-image-amd64 state=latest default_release=jessie-backports

   - name: Check if a reboot is required
     register: file
     stat: path=/var/run/reboot-required get_md5=no

   - name: Reboot the server
     command: /sbin/reboot
     when: file.stat.exists == true

 

  • Version simple

On lance un apt-get update et on installe / mets à jour le paquet linux-image-amd64 depuis la source jessie-backports.

Ensuite on vérifie la présence du fichier /var/run/reboot/required qui indique qu’un redémarrage est en attente sur le serveur.

Si ce fichier existe alors, on redémarre le serveur.

 

  • Version compliquée

Simplifie-toi la vie 😀

 

Configurer les hôtes qui recevront le kernel dans votre fichier /etc/ansible/hosts et lancez le playbook avec la commande suivante :

ansible-playbook kernel-backports.yml

 

Et voilà, c’est aussi simple que ça 🙂

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments