Pregunta ¿Cómo averiguo qué versión de Linux estoy ejecutando?


¿Hay alguna manera de determinar qué versión (distribución y versión del kernel, supongo) de Linux está ejecutando (desde la línea de comandos), que funciona en cualquier sistema Linux?


192


origen




Respuestas:


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 estás. Ha habido intentos de hacer que esto sea coherente, pero finalmente varía, desafortunadamente. Las herramientas LSB proporcionan esta información, pero irónicamente no están instaladas por defecto en todas partes. Ejemplo en un sistema Ubuntu 9.04 con el lsb-release paquete instalado:

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

De lo contrario, el método más cercano ampliamente disponible es verificar /etc/alguna cosa-release archivos. Existen en la mayoría de las plataformas comunes y en sus derivados (es decir, Red Hat y CentOS).

Aquí hay unos 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.

Para la mayoría de las distribuciones populares,

$ cat /etc/*{release,version}

lo más a menudo funcionará. Desmontado y barebones instalaciones de "servidor" pueden no tener el paquete de 'liberación' para la distribución instalada.

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 Indique que estos archivos deben contener pancartas de notificación de acceso.

Relacionado: ¿Cómo encontrar la versión del paquete de software instalado en el nodo?, .


253



Jajaja, aquí estaba pensando sugerir: busca por - Ivo Flipse♦
Slackware tiene / etc / slackware-versión - Ken Keenan
Gracias Ken, tampoco tengo un sistema slackware. - jtimberman
IOW: ls / etc / * {versión, versión} y examina lo que sea que vuelva ... - freiheit
La mayoría también tiene / etc / problema - Drew Stephens


También puedes probar:

$ cat / etc / issue

Por lo general (no siempre, sin embargo) le dirá qué distribución está utilizando. / etc / issue es el archivo utilizado para la pantalla de inicio de sesión.


38



Este es el único que me encasilló en un servidor compartido de Media Temple. ¡¡Gracias!! - TryTryAgain
Ja, en RedHat, eso es solo \S[newline]Kernel \r on an \m - ruffin


Núcleo: uname -a


19



+1. Para sistemas similares, como MinGW, la "-a" es necesaria para obtener la información de la versión, por ejemplo, "MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys". - Peter Mortensen


lsb_release -a, cuando esté disponible, es útil.


13





cat /etc/os-release

como mínimo para Ubuntu, Fedora y OpenSUSE.

No funciona para OS X al menos hasta 10.9 (Mavericks). Utilizar sw_vers en lugar.

OpenSUSE tenía cat / etc / SuSE-release hasta 13.1 pero está en desuso en favor de os-release.

Redhat 6.1 tiene cat / etc / redhat-release


13



DOC: freedesktop.org/software/systemd/man/os-release.html - pevik


cat /proc/version me encontró Red Hat en un VPS compartido.


9





Núcleo: uname -r

Distro: lsb_release -a

Estos se ejecutarán en la mayoría de los sistemas Linux


4





Un trazador de líneas

lsb_release -a && uname -r

3



Esto podría ser más apropiado como un comentario sobre la respuesta de Albert Z. - fixer1234
poderosa respuesta para concluir todas las respuestas! Debo votar por el esfuerzo :) - user_balaz