El kernel se detecta universalmente con uname
:
$ uname -or
2.6.18-128.el5 GNU/Linux
Realmente no hay una forma de distribución cruzada para determinar en qué distribución y versión se encuentra. Ha habido intentos de hacer esto consistente, pero finalmente varía, desafortunadamente. Las herramientas LSB proporcionan esta información, pero, irónicamente, no están instaladas de forma predeterminada en todas partes. Ejemplo en un sistema Ubuntu 9.04 con lsb-release
paquete instalado:
$ lsb_release -irc
Distributor ID: Ubuntu
Release: 9.04
Codename: jaunty
De lo contrario, el método ampliamente disponible más cercano es verificar /etc/something-release
archivos Estos existen en la mayoría de las plataformas comunes y en sus derivados (es decir, Red Hat y CentOS).
Estos son algunos ejemplos.
Ubuntu tiene /etc/lsb-release
:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"
Pero Debian tiene /etc/debian_version
:
$ cat /etc/debian_version
5.0.2
Fedora, Red Hat y CentOS tienen:
Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)
Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)
newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
Gentoo:
$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1
No tengo un sistema SUSE disponible en este momento, pero creo que es /etc/SuSE-release
.
Slackware tiene /etc/slackware-release
y/o /etc/slackware-version
.
Mandriva tiene /etc/mandriva-release
.
Entonces, para la mayoría de las distribuciones populares,
$ cat /etc/*{release,version}
funcionará con mayor frecuencia. Es posible que las instalaciones de "servidor" simplificadas y básicas no tengan instalado el paquete de "versión" para la distribución.
Además, dos programas de terceros que puede usar para obtener automáticamente esta información son Ohai y Facter.
Tenga en cuenta que muchas distribuciones tienen este tipo de información en /etc/issue
o /etc/motd
, pero algunas políticas de seguridad y mejores prácticas indican que estos archivos deben contener banners de notificación de acceso.
Relacionado:¿Cómo saber la versión del paquete de software instalado en el nodo?, marioneta.
También puedes probar:
$ cat /etc/issue
Por lo general (aunque no siempre) le dirá qué distribución está utilizando. /etc/issue
es el archivo utilizado para la pantalla de inicio de sesión.
Núcleo:uname -a