Qual è la differenza tra il rilascio e la versione del kernel / distribuzione?


14

Uso il seguente comando per vedere il nome, la versione e la versione di un kernel.

-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

Qual è la differenza e la relazione tra la versione e la versione del kernel? Grazie!

Domanda simile per una distribuzione Linux (es. Ubuntu, Mint, ...)? Vale a dire qual è la differenza e la relazione tra il rilascio e la versione di una distribuzione Linux?

Risposte:


11

uname -r

La prima è la stringa di versione utilizzata durante la compilazione del kernel. Questo è il ruolo di -r.

$ uname -r
3.13.7-100.fc19.x86_64

Questa stringa può creare un po 'di confusione, ma la parte di base (tutto prima del primo trattino) fa parte della versione del kernel Linux attuale che stai utilizzando. Il resto è legato alle opzioni di imballaggio selezionate.

Cosa intendo con questo?

  1. Bene, nello scenario sopra, 3.13.7 sarebbe la versione attuale del kernel.
  2. Il -100 ti dice che vari pack di patch sono stati applicati dal packager Fedora e stanno monitorando questi set di patch aggiuntivi aggiungendo un numero per tenerne traccia e denotando anche che questo kernel è un kernel di base di 3.13.7 + tutto ciò che fa parte di questo -100 .
  3. Il kernel è stato impacchettato per la versione 19 di Fedora ( fc19 ).
  4. È stato impacchettato per l' architettura * x86_64 * (64-bit).

uname -v

Perché -vti mostra quando il kernel è stato compilato / compilato.

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

Sul mio sistema Fedora 19 puoi convincerti che questo è vero osservando quando il pacchetto del kernel è stato effettivamente compilato tramite RPM.

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

Le date di compilazione differiscono leggermente poiché uname -vè ciò che è stato "masterizzato" nel kernel quando è stato compilato. La data di compilazione nell'RPM è da quando all'RPM è stato inserito il tempo di compilazione del kernel durante la costruzione del pacchetto.


2

La versione segue la versione del kernel con l'aggiunta di informazioni specifiche sul pacchetto / versione. Se seguiamo il tuo esempio 2.6.32-279.el6.x86_64, ciò significa:

  • 2.6.32 Kernel Linux, questa è la versione base e ti dice la versione del kernel Linux nella maggior parte delle distribuzioni e pacchetti.
  • 279 è questa versione di rilascio specifica del pacchetto. el6suggerisce Enterprise Linux (RHEL / CentOS). Quello che succede in queste distribuzioni è che usano la stessa versione del kernel solo per eseguire il backport di patch importanti e aumentare il numero del pacchetto ogni volta in modo che il gestore pacchetti possa aggiornarlo. Questo tag di versione è specifico per la distribuzione e può variare tra diverse distribuzioni e gestori di pacchetti. È scelto in fase di compilazione.

La versione mostra che il kernel è stato compilato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.