Jaka jest różnica w wydaniu i wersji jądra / dystrybucji?

14

Używam następującego polecenia, aby zobaczyć nazwę, wydanie i wersję jądra.

-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

Jaka jest różnica i relacja między wydaniem jądra a wersją? Dzięki!

Podobne pytanie dotyczące dystrybucji Linuksa (np. Ubuntu, Mint, ...)? To znaczy, jaka jest różnica i związek między wydaniem a wersją dystrybucji Linuksa?

Tim
źródło

Odpowiedzi:

11

uname -r

Pierwszy to ciąg wersji, który został użyty podczas kompilacji jądra. To jest rola -r.

$ uname -r
3.13.7-100.fc19.x86_64

Ten ciąg może być nieco mylący, ale część podstawowa (wszystko przed pierwszym myślnikiem) jest częścią faktycznej wersji jądra Linuksa, której używasz. Reszta dotyczy wybranych opcji pakowania.

Co mam przez to na myśli?

  1. W powyższym scenariuszu wersja 3.13.7 byłaby faktyczną wersją jądra.
  2. -100 informuje, że różne zestawy połączeniowe zostały zastosowane do niej przez pakującego Fedora, a oni śledzenia tych dodatkowych zestawów połączeniowych przez dodanie numeru śledzić nich i też oznaczać, że jądro jest jądro baza 3.13.7 + wszystko, co jest częścią tego -100 .
  3. Jądro zostało spakowane dla wersji 19 Fedory ( fc19 ).
  4. Został spakowany dla architektury * x86_64 * (64-bitowej).

uname -v

Bo -vpokazuje, kiedy jądro zostało skompilowane / zbudowane.

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

W moim systemie Fedora 19 możesz przekonać się, że jest to prawdą, patrząc na to, kiedy pakiet jądra został faktycznie zbudowany za pomocą RPM.

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

Daty kompilacji różnią się nieznacznie, ponieważ uname -vto, co zostało „wypalone” w jądrze podczas kompilacji. Data kompilacji w RPM pochodzi od momentu, gdy RPM wypaliło w nim czas kompilacji jądra, podczas budowy pakietu.

slm
źródło
2

Wydanie Follow wersja jądra z dodanymi informacjami dotyczącymi pakietu / wydania. Jeśli pójdziemy za twoim przykładem 2.6.32-279.el6.x86_64, oznacza to:

  • 2.6.32 Jądro Linux, jest to wersja podstawowa i informuje o wersji jądra Linux w większości dystrybucji i pakietów.
  • 279 to wersja specyficzna dla tego pakietu. el6sugeruje Enterprise Linux (RHEL / CentOS). To, co dzieje się w tych dystrybucjach, polega na tym, że używają tej samej wersji jądra, po prostu backportują ważne łaty i po prostu zwiększają numer pakietu za każdym razem, aby menedżer pakietów mógł go zaktualizować. Ten tag wersji jest specyficzny dla dystrybucji i może się różnić w zależności od dystrybucji i menedżerów pakietów. Jest wybierany podczas kompilacji.

Wersja pokazuje, że jądro zostało skompilowane.

phoops
źródło