Was ist der Unterschied zwischen Kernel / Distribution und Version?

14

Ich benutze den folgenden Befehl, um den Namen, die Version und die Version eines Kernels zu sehen.

-bash-4.1$ uname -s 
Linux
-bash-4.1$ uname -r
2.6.32-279.el6.x86_64
-bash-4.1$ uname -v
#1 SMP Wed Jun 13 18:24:36 EDT 2012

Was ist der Unterschied und die Beziehung zwischen Kernel-Release und -Version? Vielen Dank!

Ähnliche Frage für eine Linux-Distribution (zB Ubuntu, Mint, ...)? Was ist der Unterschied und die Beziehung zwischen der Veröffentlichung und der Version einer Linux-Distribution?

StackExchange für alle
quelle

Antworten:

11

uname -r

Die erste ist die Versionszeichenfolge, die beim Kompilieren des Kernels verwendet wurde. Das ist die Rolle von -r.

$ uname -r
3.13.7-100.fc19.x86_64

Diese Zeichenfolge kann etwas verwirrend sein, aber der Basisteil (alles vor dem ersten Gedankenstrich) ist Teil der aktuellen Linux-Kernelversion, die Sie verwenden. Der Rest bezieht sich auf ausgewählte Verpackungsoptionen.

Was meine ich damit?

  1. Nun, im obigen Szenario wäre 3.13.7 die aktuelle Version des Kernels.
  2. Die -100 gibt an, dass der Fedora-Packager verschiedene Patch-Sets darauf angewendet hat, und sie verfolgen diese zusätzlichen Patch-Sets, indem sie eine Zahl anhängen, um sie zu verfolgen. Außerdem gibt sie an, dass es sich bei diesem Kernel um einen Basis-Kernel von 3.13.7 handelt + alles was dazu gehört -100 .
  3. Der Kernel wurde für die Version 19 von Fedora ( fc19 ) gepackt .
  4. Es wurde für die * x86_64 * (64-Bit) -Architektur gepackt .

uname -v

Denn -ves zeigt Ihnen, wann der Kernel kompiliert / erstellt wurde.

$ uname -v
#1 SMP Mon Mar 24 21:53:16 UTC 2014

Auf meinem Fedora 19-System können Sie sich davon überzeugen, dass dies tatsächlich der Fall ist, wenn Sie sich ansehen, wann das Kernelpaket tatsächlich über RPM erstellt wurde.

$ rpm -qi kernel-$(uname -r) | grep -E "Build Date"
Build Date  : Mon 24 Mar 2014 06:31:17 PM EDT

Die Build-Daten weichen geringfügig voneinander ab, da das uname -vbeim Kompilieren in den Kernel "eingebrannt" wurde. Das Erstellungsdatum in der RPM stammt aus dem Zeitpunkt, zu dem die Kompilierungszeit des Kernels während der Paketkonstruktion in die RPM eingebrannt wurde.

slm
quelle
2

Release folgen Kernel-Version mit Paket / Release-spezifischen Informationen hinzugefügt. Wenn wir uns an Ihrem Beispiel orientieren 2.6.32-279.el6.x86_64, bedeutet dies:

  • 2.6.32 Linux-Kernel, dies ist die Basisversion und zeigt die Version des Linux-Kernels in den meisten Distributionen und Paketen an.
  • 279 ist diese paketspezifische Release-Version. el6schlägt sein Enterprise Linux (RHEL / CentOS) vor. Was in diesen Distributionen passiert, ist, dass sie dieselbe Kernelversion verwenden, nur wichtige Patches zurückportieren und jedes Mal die Paketnummer aktualisieren, damit Ihr Paketmanager sie aktualisieren kann. Dieses Versions-Tag ist vertriebsspezifisch und kann zwischen verschiedenen Distributionen und Paketmanagern variieren. Es wird zur Kompilierungszeit ausgewählt.

Die Version zeigt, dass der Kernel kompiliert wurde.

phoops
quelle