Je dobré vědět, co máme na počítači vůbec nainstalováno. V případě *buntu linuxu a podobných dochází při záplatování k upgrade linuxového jádra. V případě, že bychom chtěli kompilovat či instalovat nějaký specifický software, by nám jiná verze jádra, než očekáváme mohla přidělat problémy.
Kernel je jádro Linuxu a Unixu (i Windows, ale tam je drobátko jiné:-)). Pokud používáme v podstatě jakoukoliv linuxovou distribuci, je dobré, když ji záplatujeme a updatujeme.
Tak se nám stane, že po půl roce běhu máme uvnitř úplně jiný kernel, než jsme si původně instalovali.
Jak tedy zjistíme verzi kernelu, která nám aktuálně běží na nějaké linuxové distribuci popř. Unixu?
Použijeme na to příkaz uname
, který nám zjistí např. následující informace:
- verze Kernelu a jeho jméno
- zobrazí jméno počítače
- zobrazí typ procesoru
- zobrazí jméno operačního systému
- atd
Tento příkaz funguje ve všech linuxových distribucích a vlastně i ve všech hlavních UNIXech, jako je *BSD, Solaris, HP-UX, AIX, atd.
Příkaz:
$ uname -r
zobrazí např. toto
2.6.35-28-generic
kde:
- 2 – verze kernelu
- 6 – hlavní (major) revize kernelu
- 35 – vedlejší (minor) revize kernelu
- 28 – přímé opravy/ opravy bugů a kritických chyb
- generic – specifické označení distribuce. Např. RedHat obsahuje řetězec EL5 pro indikaci RHEL 5 kernelu.
Jiná verze příkazu (s více parametry)
$ uname -rmsn
zobrazí např. toto
Linux msiux002 2.6.35-28-generic x86_64
Všechny možné parametry příkazu uname zjistíme příkazem
$ man uname
Další možností je si vypsat parametry z balíčkovacího nástroje.
Tímto příkazem (debian/*buntu)
$ dpkg --list | grep linux-image
získáme seznam všech instalovaných jader (kernelů) v Debina/*buntu distribucích.
Výstupem bude např toto
ii linux-image-2.6.35-22-generic 2.6.35-22.35 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-2.6.35-25-generic 2.6.35-25.44 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-2.6.35-27-generic 2.6.35-27.48 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-2.6.35-28-generic 2.6.35-28.50 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-generic 2.6.35.28.36 Generic Linux kernel image
Tímto příkazem (RHEL/CentOS/Suse/Fedora)
$ rpm -q kernel
získáme, v linuxových distribucích s balíčkovacím systémem RPM, např. toto
kernel-2.6.35-22.e14 kernel-2.6.35-22.1.4.e14
A nakonec se podíváme na soubor /proc/version
Některým z těchto příkazů
$ more /proc/version nebo $ cat /proc/version
získáme např. takovýto výstup
Linux version 2.6.35-28-generic (buildd@allspice) (gcc version 4.4.5 (Ubuntu/linaro 4.4.4-14 ubuntu5) ) #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC 2011
Toto jsou způsoby, jak zjistíme aktuální verzi kernelu linuxové distribuce či Unixu, který používáme. Každý způsob nabízí podobný výsledek, jen informace jsou různě obsáhlá a závisí na tom, pro jaký účel je potřebujeme.
Michal Šika