debian

Qu'est-ce que GNU/Linux 3.2.0 a de spécial ?

Je regarde la sortie de :

% file -b /lib/x86_64-linux-gnu/*.so | grep ", for"  | colrm 1 130 | sort -u
=5018237bbf012b4094027fd0b96fc22a24496ea4, for GNU/Linux 3.2.0, not stripped
9f21d, for GNU/Linux 3.2.0, stripped
bee51, for GNU/Linux 3.2.0, stripped
, for GNU/Linux 3.2.0, stripped
sha1]=2e5abcee94f3bcbed7bba094f341070a2585a2ba, for GNU/Linux 3.2.0, stripped

Quelle est la particularité de GNU/Linux 3.2.0 ? C'est sur un système Debian/bullseye (amd64).


En d'autres termes : quelle API / fonctionnalité a été introduite dans GNU/Linux 3.2.0 (modèle de thread, fonctions de sécurité...) qui est si importante ? Le réglage explicite de la version requise empêchera l'utilisateur d'utiliser certaines valeurs LD_ASSUME_KERNEL , donc je suppose qu'il y a une bonne raison de rejeter les anciennes valeurs telles que LD_ASSUME_KERNEL=2.4.19 (par exemple).





Dans le passé,la bibliothèque C de GNU voyait sa version minimale du noyau périodiquement augmentée,ce qui permettait généralement un certain nombre de simplifications.La bibliothèque C contient beaucoup de code pour gérer les variations entre les versions du noyau,par exemple les nouveaux appels système utilisés préférentiellement lorsque cela est possible.Augmenter la version minimale du noyau signifie que le code gérant les anciennes variations peut être abandonné.

3.2.0 n'est significatif que dans la mesure où il s'agit de la dernière version du noyau pour laquelle la bibliothèque GNU C est passée par ce processus. Il a été initié par Joseph Myers en janvier 2016 , lorsque la version 2.6.32 (la précédente version minimale du noyau) a atteint sa fin de vie. 3.2 était le plus ancien noyau pris en charge à l'époque.

Le bump lui-même a été implémenté dans deux commits, d'abord pour toutes les architectures non x86 en février 2016 , puis pour les architectures x86 en mai 2017 . (Le retard était lié à des problèmes de support OpenVZ.) Il y avait de nombreux autres correctifs de suivi pour supprimer le code inutile ou simplifier le code, par exemple cette simplification de recvmmsg .

Cela ne signifie pas que la bibliothèque GNU C ne prend pas en charge les fonctionnalités ajoutées au noyau Linux depuis la version 3.2.0 ; c'est le cas, de diverses manières. Certaines fonctionnalités sont prises en charge en tant qu'améliorations ( par exemple clone3 ), d'autres sont simplement mises à disposition ( par exemple close_range ), d'autres sont mises à disposition avec des replis de compatibilité ( c'est-à- dire que le travail effectué par le nouvel appel système est effectué par la bibliothèque si l'appel système n'est pas disponible).

Vous pouvez également construire la bibliothèque C avec une exigence pour une version de noyau donnée, avec l' option de configuration --enable-kernel .



Installation automatique des dépendances de compilation non satisfaites,détectées par dpkg-checkbuilddeps.
Liste des paquets Debian avec une priorité essentielle
Impossible de copier dans le presse-papiers depuis Vim