Versions et versions stables du noyau Mises à jour

Le modèle de version stable du noyau Linux a débuté en 2005, lorsqu'il a été déterminé que le modèle de développement du noyau existant (une nouvelle version tous les 2-3 mois) ne répondait pas aux besoins de la plupart des utilisateurs. Les utilisateurs voulaient que des corrections de bugs soient apportées au cours de ces 2-3 mois, et les distributions Linux avaient du mal à maintenir les noyaux à jour sans retour de la communauté du noyau. En général, les tentatives visant à maintenir la sécurité des noyaux individuels et à appliquer les dernières corrections de bogues représentaient un effort important et déroutant de la part de nombreuses personnes différentes.

Les versions stables du noyau sont basées directement sur les versions de Linus Torvalds et sont publiées environ chaque semaine, en fonction de divers facteurs externes (période de l'année, correctifs disponibles, charge de travail du responsable, etc.). La numérotation des versions stables commence par le numéro de la version du noyau, et un numéro supplémentaire est ajouté à la fin de celui-ci. Par exemple, le noyau 4.4 est publié par Linus, puis les versions stables du noyau basées sur ce noyau sont numérotées 4.4.1, 4.4.2, 4.4.3, etc. Cette séquence est généralement raccourcie par le numéro 4.4.y lorsqu'on fait référence à une arborescence de versions stables du noyau. Chaque arborescence de versions stables du noyau est gérée par un seul développeur de noyau, qui est responsable de la sélection des correctifs nécessaires pour la version et de la gestion du processus de révision/publication.

Les noyaux stables sont maintenus pendant toute la durée du cycle de développement en cours. Une fois que Linus a publié un nouveau noyau, l'arborescence des versions stables du noyau précédent est arrêtée et les utilisateurs doivent passer au noyau le plus récent.

Noyaux stables à long terme

Après un an de ce nouveau processus de publication stable, il a été déterminé que de nombreux utilisateurs différents de Linux souhaitaient qu'un noyau soit pris en charge pendant plus de quelques mois. En réponse, la version du noyau LTS (Long Term Supported) a été créée, le premier noyau LTS (2.6.16) étant publié en 2006. Depuis lors, un nouveau noyau LTS a été sélectionné une fois par an et la communauté du noyau maintient ce noyau pendant un certain temps. minimum 2 ans.

Au moment d'écrire ces lignes, les noyaux LTS sont les versions 4.4.y, 4.9.y, 4.14.y, 4.19.y, 5.4.y et 5.10.y. Un nouveau noyau est publié chaque semaine. En raison des besoins de certains utilisateurs et distributions, quelques noyaux plus anciens supplémentaires sont maintenus par les développeurs du noyau selon un cycle de publication plus lent. Des informations sur tous les noyaux stables à long terme, qui en est responsable et combien de temps ils seront maintenus, peuvent être trouvées sur la page des versions de kernel.org .

Les versions du noyau LTS publient en moyenne 6 à 8 correctifs acceptés par jour, tandis que les versions stables normales du noyau contiennent 10 à 15 correctifs par jour. Le nombre de correctifs fluctue par version en fonction de l'heure actuelle de la version du noyau de développement correspondante et d'autres variables externes. Plus un noyau LTS est ancien, moins les correctifs lui sont applicables, car de nombreuses corrections de bugs récentes ne sont pas pertinentes pour les noyaux plus anciens. Cependant, plus un noyau est ancien, plus il est difficile de rétroporter les modifications nécessaires, en raison des modifications apportées à la base de code. Ainsi, même si le nombre global de correctifs appliqués est inférieur, l'effort nécessaire à la maintenance d'un noyau LTS est supérieur à celui du noyau stable normal.

Règles de patch du noyau stables

Les règles sur ce qui peut être ajouté à une version stable du noyau sont restées presque identiques depuis son introduction et sont résumées ci-dessous :

  • Doit être évidemment correct et testé.
  • Ne doit pas dépasser 100 lignes.
  • Je ne dois réparer qu'une seule chose.
  • Doit corriger quelque chose qui a été signalé comme étant un problème.
  • Peut être un nouvel identifiant de périphérique ou une bizarrerie pour le matériel, mais ne pas ajouter de nouvelles fonctionnalités majeures.
  • Doit déjà être fusionné dans l'arbre de Linus Torvalds.

La dernière règle, "Doit déjà être fusionnée dans l'arborescence de Linus Torvalds", empêche la communauté du noyau de perdre des correctifs. La communauté ne souhaite jamais qu'un correctif soit intégré à une version stable du noyau qui ne figure pas déjà dans l'arborescence de Linus Torvalds, de sorte que toute personne effectuant une mise à niveau ne verra jamais de régression. Cela évite de nombreux problèmes que peuvent avoir d'autres projets qui maintiennent une branche stable et de développement.

Mises à jour du noyau

La communauté du noyau Linux a promis à ses utilisateurs qu'aucune mise à niveau ne briserait jamais ce qui fonctionnait actuellement dans une version précédente. Cette promesse est toujours d’actualité aujourd’hui. Des régressions se produisent, mais ce sont les bogues les plus prioritaires et sont soit rapidement corrigés, soit le changement à l'origine de la régression est rapidement annulé de l'arborescence du noyau Linux.

Cette promesse est vraie à la fois pour les mises à jour stables incrémentielles du noyau, ainsi que pour les mises à jour majeures plus importantes qui ont lieu tous les trois mois. Cependant, la communauté du noyau ne peut faire cette promesse que pour le code fusionné dans l'arborescence du noyau Linux. Tout code fusionné dans le noyau d'un périphérique qui ne figure pas dans les versions de kernel.org est inconnu et les interactions avec celui-ci ne peuvent jamais être planifiées, ni même envisagées.

Les appareils basés sur Linux qui disposent de grands ensembles de correctifs peuvent rencontrer des problèmes majeurs lors de la mise à jour vers des noyaux plus récents, en raison du grand nombre de modifications entre chaque version (10 à 14 000 modifications par version). Les ensembles de correctifs SoC sont particulièrement connus pour avoir des problèmes de mise à jour vers des noyaux plus récents en raison de leur grande taille et de la modification importante du code du noyau spécifique à l'architecture, et parfois du noyau. En conséquence, la plupart des fournisseurs de SoC commencent à standardiser l'utilisation des versions LTS pour leurs appareils, permettant à ces appareils de recevoir des mises à jour de bogues et de sécurité directement de la communauté du noyau Linux.

Sécurité

Lors des versions du noyau, la communauté du noyau Linux ne déclare presque jamais de modifications spécifiques comme correctifs de sécurité . Cela est dû au problème fondamental de la difficulté de déterminer si un correctif de bug est un correctif de sécurité ou non au moment de sa création. De plus, de nombreuses corrections de bogues ne sont déterminées comme étant liées à la sécurité qu'après un certain temps, c'est pourquoi la communauté du noyau recommande fortement de toujours prendre en compte toutes les corrections de bogues publiées.

Lorsque des problèmes de sécurité sont signalés à la communauté du noyau, ils sont corrigés dès que possible et diffusés publiquement vers l'arborescence de développement et les versions stables. Comme décrit ci-dessus, les modifications ne sont presque jamais décrites comme un « correctif de sécurité », mais ressemblent plutôt à n'importe quel autre correctif de bug pour le noyau. Ceci est fait pour permettre aux parties concernées de mettre à jour leurs systèmes avant que le signaleur du problème ne l'annonce.

Pour plus de détails sur la manière de signaler les bogues de sécurité à la communauté du noyau afin de les résoudre et de les corriger le plus rapidement possible, reportez-vous à Bogues de sécurité dans le guide de l'utilisateur et de l'administrateur du noyau Linux sur www.kernel.org .

Étant donné que les bogues de sécurité ne sont pas annoncés au public par l'équipe du noyau, les numéros CVE pour les problèmes liés au noyau Linux sont généralement publiés des semaines, des mois et parfois des années après la fusion du correctif dans les branches stable et de développement.

Garder un système sécurisé

Lors du déploiement d'un appareil utilisant Linux, il est fortement recommandé que toutes les mises à jour du noyau LTS soient prises par le fabricant et transmises à leurs utilisateurs après que des tests appropriés aient montré que la mise à jour fonctionne bien. Cela présente plusieurs avantages :

  • Les versions ont été révisées par les développeurs du noyau dans leur ensemble, et non par parties individuelles.
  • Il est difficile, voire impossible, de déterminer quels correctifs résolvent les problèmes de « sécurité » et lesquels ne le font pas. Presque toutes les versions LTS contiennent au moins un correctif de sécurité connu, et beaucoup d'entre elles sont encore « inconnues ».
  • Si les tests révèlent un problème, la communauté des développeurs du noyau réagira rapidement pour résoudre le problème.
  • Les tentatives visant à filtrer uniquement les modifications que vous exécutez entraîneront une arborescence du noyau impossible à fusionner correctement avec les futures versions en amont.