Depende de la distribución.
Uso de Debian y familiares
lsb_release -a
cat /etc/lsb-release
cualquiera de los dos debería estar bien. Pero, a pesar de estar relacionado con LSB (Linux Standard Base), no todas las distros lo tienen. Si no obtiene respuesta de los comandos anteriores, debe intentar
ls /etc/*release
y luego mire dentro del archivo que haya encontrado. Debe tener cuidado con esto:mientras que RedHat tiene /etc/redhat-release, otros, como Arch Linux, tienen un vacío /etc/arch-release, y el que contiene la información que está buscando es /etc/os-release .
Entonces, YMMV.
Puede que no sea infalible, pero /proc/version
al menos debería darte un estadio de béisbol:
Derivado de 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
Centos:
# 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