Dipende dalla distribuzione.
Debian e parenti usano
lsb_release -a
cat /etc/lsb-release
uno dei due dovrebbe andare bene. Ma, nonostante questo sia correlato a LSB (Linux Standard Base), non tutte le distribuzioni lo hanno. Se non ricevi risposta dai comandi precedenti, dovresti provare
ls /etc/*release
e poi guarda all'interno del file che hai trovato. Devi stare attento a questo:mentre RedHat ha /etc/redhat-release, altri, come Arch Linux, hanno un vuoto /etc/arch-release e quello che contiene le informazioni che stai cercando è /etc/os-release .
Quindi, YMMV.
Potrebbe non essere infallibile, ma /proc/version
dovrebbe almeno darti un campo da baseball:
Derivato di Redhat:
# cat /proc/version
Linux version 2.6.18-92cp ([email protected]) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Wed Apr 8 17:12:19 IDT 2015
Ubuntu:
$ cat /proc/version
Linux version 3.13.0-24-generic ([email protected]) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014
Debian:
$ cat /proc/version
Linux version 3.2.0-4-amd64 ([email protected]) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1
Cento:
# cat /proc/version
Linux version 2.6.18-400.el5xen ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 4 13:29:23 EST 2014