Mise à jour du noyau

De Asso Val Libre
Révision de 18 février 2021 à 12:47 par Admin (discussion | contributions) (Complément)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

J'en profite pour écrire ce qu'en fait j'ai capté assez récemment sur les mises à jour noyaux (m'étais jamais vraiment posé la question avant ;-)

En simplifiant un peu

  • le noyau version 1.2.3 est fourni par un paquet dénommé noyau-1.2.3
  • le noyau version 1.2.4 .................... noyau-1.2.4 (!!)
  • IMPORTANT : ce ne sont que des noms de paquets, ce ne sont pas des _versions_, pour le système, noyau-1.2.4 n'est pas la version suivante de noyau-1.2.3 (c'est seulement dans notre tête ;-)
  • Le déclenchement de la mise à jour d'un paquet ne se base donc pas sur son nom, mais sur la version du paquet. Pour un même nom de paquet, le système sait (uniquement) gérer des versions successives du-dit paquet. Un paquet dénommé noyau-1.2.4 n'est pas la mise à jour d'un paquet dénommé noyau-1.2.3
  • donc pas moyen de mettre à jour (monter la version du noyau) du noyau-1.2.3 vers noyau-1.2.4 !! En l'état, il n'est pas possible de faire des mises à jour "spontanée"/automatique du noyau. Le système ne peut "pousser" de lui-même l'installation de la version 1.2.4 du noyau contenu dans un paquet dénommé noyau-1.2.4

Il faut nécessairement passer par une mise à jour d'un paquet intermédiaire. Pour mettre à jour le noyau, on utilise donc un paquet "générique" dénommé linux-image-generic dont chaque version successive va servir à exprimer une dépendance vers un noyau de nom donné (et donc, de version donnée).

apt-cache policy linux-image-generic  (les versions successives du paquet linux-image-generic)
linux-image-generic:
    5.8.0.43.48 500
    5.8.0.25.30 500
    5.4.0.26.32 990
    4.15.0.20.23 500

C'est la mise à jour automatique des _versions_ du paquet linux-image-generic qui génère la mise à jour des versions du noyau. Cela dispense également d'avoir à connaître les noms et numéros de noyaux...

Conclusions

  • Il faut bien percevoir la double dimension des "versions". D'une part la version d'un logiciel contenu _dans_ un paquet portant un nom généralement explicite (mais rappel : «nom n'est pas version»). D'autre part les versions successives d'un paquet deb,
  • C'est l'installation (habituellement standard) du paquet linux-image-generic qui permet au système de mettre à jour automatiquement le noyau en procédant à la mise à jour de la version paquet de linux-image-generic.
  • Pour stopper ces mises à jour automatiques, il faut simplement retirer ce (type de) paquet 'generic'.
  • Attention, ceci est une simplification il y en fait d'autres paquets analogues concernés (linux-header-generic, linux-module-generic, etc)
  • Ce même principe est utilisé pour d'autres mises à jour centrales (e.g. gcc [aka gcc-generic], virtualbox, ...).
L'habitude d'utiliser des noms -generic semble n'être associée qu'au cas des noyaux.

Complément

Pour mémoriser (et verrouiller) l'utilisation de noyau actuel, modifier /etc/default/grub, ajouter :

 GRUB_DEFAULT=saved

Mettre à jour la configuration grub (update-grub). Même en cas de mise à jour ultérieure de version de noyau, c'est le noyau utilisé qui restera actif. Il faudra choisir (et donc valider) manuellement pour changer.