Come riconoscere la distribuzione e determinare la versione linux installata

[Aggiornamento 2017]

Le distribuzioni Linux utilizzano file diversi per memorizzare le informazioni specifiche relative alla versione installata. Per conoscere il tipo di distruzione e la versione di Linux installate in un computer non esiste pertanto un comando generale che garantisca di ottenere sempre tutte le informazioni che si desiderano.
Può essere conveniente a questo proposito provare da terminale alcuni semplici comandi che consentono abbastanza velocemente di determinare distribuzione e versione.

Forse il primo comando che conviene utilizzare e dmesg che consente di visualizza il buffer del kernel.    dmesg | head -5   consente di visualizzare le prime cinque righe del buffer

# dmesg | head -5
[    0.000000] Linux version 4.9.0-5-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18) ) #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.9.0-5-amd64 root=UUID=ded018e9-b655-4643-bc2c-66062f31b96e ro quiet
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
...

L’output che può essere condensato in

dmesg | grep -i 'linux version' | head -1

consente di capire la distrizione installata e il kernel.

In questo caso trattandosi di una distro Debian si può utilizzare leggere il file /etc/debian_version per conosce la versione.

# cat /etc/debian_version
8.4

Altro approccio di tipo generale per determinare distribuzione e versione linux  è visualizzare i file relativi alla versione presenti nel sistema. In Linux  è in genere  essere presente un file “*release” (fedora-release) e/o  “*version” (Knoppix-version)  con le informazioni sulla versione della distribuzioni.

Questi files  possono essere visualizzati  con un comando tipo:

cat /etc/*release

cat /etc/*version

Centos

# cat /etc/*release
CentOS Linux release 7.4.1708 (Core) 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.4.1708 (Core) 
CentOS Linux release 7.4.1708 (Core)

Debian

# cat /etc/*version
8.2

Questi files con le informazioni su distribuzione e versione  possono essere cercate con un comando tipo

find /etc/*release /etc/*version 

Altri comandi e comandi specifici per determinare la versione e/o distribuzione Linux

DEBIAN :   debian_version   ( debian_release :raro )

cat /etc/debian_version
cat /etc/debian-release

CENTOS REDHAT :  redhat-release

cat /etc/redhat-release

UBUNTU : lsb-release

cat /etc/lsb-release

anche

cat /etc/issue

Nei sistemi Linux oltre al file specifico  release specifico dovrebbe esserci il file lsb-release

cat /etc/lsb-release
lsb-release -a 

Un altro file che può essere ricercato è il file issue o la sua variante issue.net

cat /etc/issue  

In fondo al post l’elenco dei files release, version presenti nelle varie distribuzioni

Determinare versione  32Bit o  64 bit

uname -a

Se a 32bit nelle righe di output si troverà la stringa “i686 GNU/Linux
Se a 64bit nell’output ci sarà “x86 64 GNU/Linux

anche il comando lsb_release  può fornire informazioni a riguardo

lsb_release -a

Altro comando utile per vedere se il processore supporta i 64 o i 32 bit

lscpu 

Determinare la versione linux utilizzando l’interfaccia grafica

Oppure installare hardinfo un utile tools per controllare il sistema
ed eseguire benchmarks

sudo apt-get install hardinfo

selezionare Operating System nel menu di sinistra

In Ubuntu una volta attivata l’interfaccia grafica
la versione può essere determinata:
1) accedendo al menu “About Ubuntu” in “System”
2) lanciando “System Monitor” in “System” “Administration”
tab “System”

Elenco dei files release presenti nelle varie distribuzioni Linux

Annvix: /etc/annvix-release
Arch Linux: /etc/arch-release
Arklinux: /etc/arklinux-release
Aurox Linux: /etc/aurox-release
BlackCat: /etc/blackcat-release
Cobalt: /etc/cobalt-release
Conectiva: /etc/conectiva-release
Debian: /etc/debian_version, /etc/debian_release (rare)
Fedora Core: /etc/fedora-release
Gentoo Linux: /etc/gentoo-release
Immunix: /etc/immunix-release
Knoppix: knoppix_version
Linux-From-Scratch: /etc/lfs-release
Linux-PPC: /etc/linuxppc-release
Mandrake: /etc/mandrake-release
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
MkLinux: /etc/mklinux-release
Novell Linux Desktop: /etc/nld-release
PLD Linux: /etc/pld-release
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
SME Server (Formerly E-Smith): /etc/e-smith-release
Solaris SPARC: /etc/release
Sun JDS: /etc/sun-release
SUSE Linux: /etc/SuSE-release, /etc/novell-release
SUSE Linux ES9: /etc/sles-release
Tiny Sofa: /etc/tinysofa-release
TurboLinux: /etc/turbolinux-release
Ubuntu Linux: /etc/lsb-release
UltraPenguin: /etc/ultrapenguin-release
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
VA-Linux/RH-VALE: /etc/va-release
Yellow Dog: /etc/yellowdog-release
Annunci

Linux determinare il tipo di Cpu presente nel computer

Per determinare il tipo di cpu e le informazioni relative alla stessa linux mette a disposizione alcuni comandi da terminale.

Per una rappresentazione più compatta

$ lscpu

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 2
Core(s) per socket: 3
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 2
Model name: AMD FX(tm)-6300 Six-Core Processor
Stepping: 0
CPU MHz: 1400.000
CPU max MHz: 3500.0000
CPU min MHz: 1400.0000
BogoMIPS: 7046.72
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 8192K
NUMA node0 CPU(s): 0-5

per avere tutti i dettagli relativi processore si può utilizzare

cat  /proc/cpuinfo 

Le ampie informazioni possono essere selezionate utilizzando grep. Pertanto per evidenziare i core presenti si può utilizzare:

$ grep "model name" /proc/cpuinfo
model name : AMD FX(tm)-6300 Six-Core Processor
model name : AMD FX(tm)-6300 Six-Core Processor 
model name : AMD FX(tm)-6300 Six-Core Processor 
model name : AMD FX(tm)-6300 Six-Core Processor 
model name : AMD FX(tm)-6300 Six-Core Processor 
model name : AMD FX(tm)-6300 Six-Core Processor 

Per visualizzare le informazioni relative alla cpu e del hardware in generale si può utilizzare anche un programma ad interfaccia grafica come hardinfo.  hardinfo una GUI GTK+ per visualizzare le informazioni hardware in linux

 

maurizio@debians8vm:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 0
cpu cores : 3
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

processor : 1
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor 
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 3
cpu cores : 3
apicid : 1
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

processor : 2
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor 
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 5
cpu cores : 3
apicid : 2
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

processor : 3
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor 
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 2
cpu cores : 3
apicid : 3
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

processor : 4
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor 
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 4
cpu cores : 3
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

processor : 5
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX(tm)-6300 Six-Core Processor 
stepping : 0
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 1
cpu cores : 3
apicid : 5
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
bogomips : 7046.72
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

maurizio@debians8vm:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 2
Core(s) per socket: 3
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 2
Model name: AMD FX(tm)-6300 Six-Core Processor
Stepping: 0
CPU MHz: 1400.000
CPU max MHz: 3500.0000
CPU min MHz: 1400.0000
BogoMIPS: 7046.72
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 8192K
NUMA node0 CPU(s): 0-5

Risorse:

 

Come determinare se il sistema è a 32 o 64 bit in linux ubuntu debian

[Aggiornamento 2013]

Per determinare se il sistema linux è a 32 o 64 bit  un modo rapido ed efficace è usare il comando uname:

uname -a

Se a 32bit nelle righe di output si troverà la stringa “i686 GNU/Linux
Se a 64bit nell’output ci sarà “x86 64 GNU/Linux

:~$ uname -a
Linux lub12-10-i2c 3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:15:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Altro comando utile per vedere se il processore supporta i 64 o i 32 bit

lscpu 
:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                3
On-line CPU(s) list:   0-2
Thread(s) per core:    1
Core(s) per socket:    3
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            16
Model:                 2
Stepping:              3
CPU MHz:               1150.000
BogoMIPS:              4610.04
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
L3 cache:              2048K
NUMA node0 CPU(s):     0-2

Determinare la versione linux utilizzando l’interfaccia grafica

Hardinfo

Oppure installare hardinfo un utile tools per controllare il sistema ed eseguire benchmarks

sudo apt-get install hardinfo
Hardinfo-operating system

About ubuntu

selezionare Operating System nel menu di sinistra

In Ubuntu una volta attivata  l’interfaccia grafica
la versione può essere determinata:
1) accedendo al menu “About Ubuntu” in “System”
2) lanciando “System Monitor” in “System” “Administration”
tab “System”

Linux Version

[Aggiornamento 201208]

Per determinare la versione di Linux controllare
i seguenti files della directory etc:

DEBIAN :   debian_version   ( debian_release :raro )

cat /etc/debian_version
cat /etc/debian-release

CENTOS REDHAT :  redhat-release

cat /etc/redhat-release

UBUNTU : lsb-release

cat /etc/lsb-release

anche

cat /etc/issue

Distribuzioni Linux in generale

In Linux  dovrebbe essere presente un file “*release” (fedora-release) e/o  “*version” (Knoppix-version)  con le informazioni sulla versione della distribuzioni.Questi files  possono essere cercano con un comando tipo

find /etc/*release /etc/*version  

Nei sistemi Linux oltre al file specifico  release specifico dovrebbe esserci il file lsb-release

cat /etc/lsb-release
lsb-release -a 

Un altro file che può essere ricercato è il file issue o la sua variante issue.net

cat /etc/issue   

In fondo al post l’elenco dei files release, version presenti nelle varie distribuzioni

Determinare versione  32Bit o  64 bit

uname -a

Se a 32bit nelle righe di output si troverà la stringa “i686 GNU/Linux
Se a 64bit nell’output ci sarà “x86 64 GNU/Linux

anche il comando lsb_release  può fornire informazioni a riguardo

lsb_release -a

Altro comando utile per vedere se il processore supporta i 64 o i 32 bit

lscpu 

Determinare la versione linux utilizzando l’interfaccia grafica

Oppure installare hardinfo un utile tools per controllare il sistema
ed eseguire benchmarks

sudo apt-get install hardinfo

selezionare Operating System nel menu di sinistra

In Ubuntu una volta attivata l’interfaccia grafica
la versione può essere determinata:
1) accedendo al menu “About Ubuntu” in “System”
2) lanciando “System Monitor” in “System” “Administration”
tab “System”

Elenco dei files release presenti nelle varie distribuzioni Linux

Annvix: /etc/annvix-release
Arch Linux: /etc/arch-release
Arklinux: /etc/arklinux-release
Aurox Linux: /etc/aurox-release
BlackCat: /etc/blackcat-release
Cobalt: /etc/cobalt-release
Conectiva: /etc/conectiva-release
Debian: /etc/debian_version, /etc/debian_release (rare)
Fedora Core: /etc/fedora-release
Gentoo Linux: /etc/gentoo-release
Immunix: /etc/immunix-release
Knoppix: knoppix_version
Linux-From-Scratch: /etc/lfs-release
Linux-PPC: /etc/linuxppc-release
Mandrake: /etc/mandrake-release
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
MkLinux: /etc/mklinux-release
Novell Linux Desktop: /etc/nld-release
PLD Linux: /etc/pld-release
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
SME Server (Formerly E-Smith): /etc/e-smith-release
Solaris SPARC: /etc/release
Sun JDS: /etc/sun-release
SUSE Linux: /etc/SuSE-release, /etc/novell-release
SUSE Linux ES9: /etc/sles-release
Tiny Sofa: /etc/tinysofa-release
TurboLinux: /etc/turbolinux-release
Ubuntu Linux: /etc/lsb-release
UltraPenguin: /etc/ultrapenguin-release
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
VA-Linux/RH-VALE: /etc/va-release
Yellow Dog: /etc/yellowdog-release