Connaître la version *exacte* du noyau sur Ubuntu (Trusty)
Le
Francois Lafont

Bonjour à tous,
Sur une Debian Jessie, j'ai ceci :
~# uname -r
3.16.0-4-amd64
~# uname -v
#1 SMP Debian 3.16.7-ckt4-3 (2015-02-03)
La première commande m'indique que j'utilise le noyau
dont la release s'appelle "3.16.0-4-amd64". Et la deuxième
commande me permet de savoir que le noyau utilisé est
la version 3.16.7 (éventuellement patchée ici ou là par
Debian). Du coup, je constate que le nom de la release ne
reflète pas nécessairement la version exacte du noyau utilisé
puisque, si je m'en tiens au nom de la release, on pourrait
croire que j'utilise la version 3.16.0 alors qu'il s'agit
en fait de la version 3.16.7.
Jusqu'ici, est-ce correct ?
Maintenant prenons une Ubuntu Trusty sur laquelle j'ai
simplement fait ceci (pour utiliser la version 3.16 du
noyau) :
apt-get install linux-image-3.16.0-30-generic && reboot
Si je reprends les commandes uname précédentes, j'ai
désormais (après le reboot) :
~# uname -r
3.16.0-30-generic
~# uname -v
#40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015
La deuxième commande ne semble pas m'apporter d'information
pertinente. Si je me fie simplement à la première commande
j'utilise le noyau version 3.16.0. Seulement on a vu juste
au dessus que ce n'était pas forcément exact. Alors du coup,
comment connaître la version exacte du noyau utilisé sous
cette Ubuntu Trusty ? (par « exacte », je veux dire qu'il
m'importe de connaître le x dans « version 3.16.x »).
Merci d'avance pour votre aide.
--
François Lafont
Sur une Debian Jessie, j'ai ceci :
~# uname -r
3.16.0-4-amd64
~# uname -v
#1 SMP Debian 3.16.7-ckt4-3 (2015-02-03)
La première commande m'indique que j'utilise le noyau
dont la release s'appelle "3.16.0-4-amd64". Et la deuxième
commande me permet de savoir que le noyau utilisé est
la version 3.16.7 (éventuellement patchée ici ou là par
Debian). Du coup, je constate que le nom de la release ne
reflète pas nécessairement la version exacte du noyau utilisé
puisque, si je m'en tiens au nom de la release, on pourrait
croire que j'utilise la version 3.16.0 alors qu'il s'agit
en fait de la version 3.16.7.
Jusqu'ici, est-ce correct ?
Maintenant prenons une Ubuntu Trusty sur laquelle j'ai
simplement fait ceci (pour utiliser la version 3.16 du
noyau) :
apt-get install linux-image-3.16.0-30-generic && reboot
Si je reprends les commandes uname précédentes, j'ai
désormais (après le reboot) :
~# uname -r
3.16.0-30-generic
~# uname -v
#40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015
La deuxième commande ne semble pas m'apporter d'information
pertinente. Si je me fie simplement à la première commande
j'utilise le noyau version 3.16.0. Seulement on a vu juste
au dessus que ce n'était pas forcément exact. Alors du coup,
comment connaître la version exacte du noyau utilisé sous
cette Ubuntu Trusty ? (par « exacte », je veux dire qu'il
m'importe de connaître le x dans « version 3.16.x »).
Merci d'avance pour votre aide.
--
François Lafont
Pourquoi ?
La notion que tu demandes n'est au fond pas pertinente, donc pour y donner
une réponse utile il faut savoir exactement pourquoi tu en as besoin.
Francois Lafont wrote:
Sur Ubuntu spécifiquement, je ne sais pas.
Sur Debian, uname me donne bien l'information, que je retrouve :
- avec la commande dmesg | head
- dans le fichier config dans /boot
Il se pourrait aussi que l'information soit visible dans /proc/config-je-ne-
sais-plus-quoi si le noyau a été compilé avec l'option adhoc (ce qui n'est
pas le cas pour Debian.
Cordialement
Dominique
Ah, je pensais que les packageurs prenaient une version
particulière du noyau Linux, mettons la 3.16.5, et qu'ils
en faisaient un package Debian modulo des patches que les
packageurs ont décidé d'ajouter. Et du coup, je pensais
qu'on pouvait dire que ce package correspondait au noyau
3.16.5 (modulo des patches Debian). Un peu comme pour n'importe
quelle application packagée qui se base sur une version
upstream. Ce n'est pas comme ça que ça se passe ?
Ok. Et bien j'essaye actuellement un logiciel de stockage
distribué qui s'appelle ceph. Et sur leur site, ici par
exemple :
http://ceph.com/docs/master/start/os-recommendations/#ceph-dependencies
on peut lire que, pour le noyau, une version supérieure ou
égale à la version 3.16.3 conviendrait (il est indiqué
qu'avec les versions 3.16.[0-2] il y a une petite régression).
Du coup, je me demandais simplement si, après un :
apt-get install linux-image-3.16.0-30-generic && reboot
ma Ubuntu Trusty utilisait bien une version >= 3.16.3.
Voilà. :)
--
François Lafont
Avec ces 2 méthodes je ne récupère rien de plus que
la chaîne "3.16.0-30-generic".
Effectivement car je n'ai pas de fichier /proc/conf* sur ma
Trusty.
--
François Lafont
Francois Lafont wrote:
...
J'ai l'impression qu'il ne reste plus qu'à télécharger le paquet source pour
espérer y trouver l'information recherchée.
Ou poser la question sur un forum ubuntu spécifique.
Désolé.
Dominique
Mais oui, tu as raison. Après un :
apt-get source linux-image-3.16.0-30-generic
Je peux voir un fichier linux-lts-utopic_3.16.0.orig.tar.gz
mais si ensuite je fais :
cd linux-lts-utopic-3.16.0
make kernelversion
J'ai comme résultat « 3.16.7-ckt3 » ce qui correspond
soit-dit-en-passant à ce que m'affiche la commande
« uname -v » sur Debian Jessie (dommage que sur Ubuntu
ça ne fasse pas de même).
Du coup, la logique voudrait que le package
"linux-image-3.16.0-30-generic" sur Ubuntu Trusty se base
sur la version 3.16.7 sur noyau linux.
Merci de ton aide.
--
François Lafont
Et si les patches en question c'est la moitié de ceux qui viennent entre le
3.16.5 et le 3.16.7, on peut dire que ça en fait un 3.16.6 ?
Un numéro de version précis, ça n'a de sens que dans le cadre d'une
progression concertée. Quand il y a des développements indépendants, ça ne
veut plus rien dire.
Ce sont des boulets de ne pas indiquer précisément quels commits du noyau
sont concernés.
Francois Lafont wrote:
Ma conviction profonde est qu'Ubuntu n'est pas destinée au développement.
Tous ceux de mes collègues qui l'utilisent à cette fin s'arrachent
régulièrement les cheveux.
Quand ils n'en ont plus, ils viennent arracher les miens :-)
Cordialement
Dominique.
Et un bête :
$ ls /boot/vm*
qui me donne :
/boot/vmlinuz-3.13.0-24-generic /boot/vmlinuz-3.13.0-37-generic
(3.13.0.24 et 3.13.0.37 installées, donc)
Le uname devant les départager pour voir celle qui est installée...
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Ok, tu as raison. Ma question de départ était imprécise. Ma question
aurait dû donc être : « sur Trusty, le package linux-image-3.16.0-30-generic
se base sur quelle version upstream du noyau Linux ? »
Et du coup, je constate que sur Debian Jessie il m'a été facile de
connaître la version upstream du noyau (uname -v) mais sur Trusty
il a fallu que je télécharge les sources.
Ok, je suis d'accord. J'avais mal posé ma question. Désolé.
Sans doute, je ne suis pas assez qualifié pour juger. Perso, je trouve que
la doc est globalement pourrie de A à Z. Mais lorsque j'ai émis une petite
critique sur IRC sur un point en particulier (une étape manquante dans
l'installation qui me semblait importante ou je ne sais plus quoi), on m'a
rétorqué, assez justement je pense, « toute contribution sur la documentation
sera grandement appréciée ». ;)
--
François Lafont