¿Cómo saber qué distribución de Linux estoy usando?


53

¿Cómo saber qué distribución de Linux estoy usando?

uname -a da

Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp #1 SMP Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU/Linux

¿Cómo puedo saber que esto es Ubuntu / Debian / Fedora o Redhat?

Lo uso /etc/init.d/serviced restartpara reiniciar servicios, parece que no es la familia Redhat

[itf][~]$ cat /etc/issue
cat: /etc/issue: No such file or directory
[itf][~]$ cat /etc/issue.net
cat: /etc/issue.net: No such file or directory
[itf][~]$ lsb_release -a
-sh: lsb_release: command not found
[itf][~]$ cat /etc/*-release
cat: /etc/*-release: No such file or directory
[itf][~]$ cat /etc/*-version
cat: /etc/*-version: No such file or directory
[itf][~]$ cat /etc/*release
cat: /etc/*release: No such file or directory
[itf][~]$ cat /etc/*_release
cat: /etc/*_release: No such file or directory
[itf][~]$ cat /etc/*version
cat: /etc/*version: No such file or directory
[itf][~]$

Si desea que se elimine cierta información personal / confidencial, creo que puede marcar su pregunta para la atención del moderador. Porque todavía podemos leerlo ahora ...
Tamara Wijsman

@Tom Wijsman solo no quiere mostrar ese texto en la página de preguntas, sé que estará allí en la historia :-)
Mithun Sreedharan

Respuestas:


31
  • En Debian: /etc/debian_version

  • En Ubuntu: lsb_release -a or /etc/debian_version

  • En Redhat: cat /etc/redhat-release

  • En Fedora: cat /etc/fedora-release


2
Los probó todos, vea su código fuente.
guerda

2
+1, "lsb_release -a" funcionó para mí en Red Hat.
Aaron

3
lsb_release -atrabajó en Debian (squeeze) también.
acme

1
lsb_release -atrabaja en Gentoo también
Sergei

lsb_release -aFunciona también en Ubuntu y Mint.
wranvaud


15

Puede probar este artículo de Novell .

Si usted es el propietario del sistema, entonces sabe qué Linux está instalado y en ejecución. Este artículo lo ayudará a comprender cómo determinar qué distribución de Linux está instalada. Puede incorporar esto en su aplicación para detectar la distribución de Linux.


Ya probé $ cat / etc / * release cat: / etc / * release: No existe tal archivo o directorio Ejecutar el script mensionado da un resultado similar al comando uname -a Linux 2.6.9-42.0.3.EL.wh1smp (2.6 .9-42.0.3.EL.wh1smp i686) $ uname -a Linux qsquare.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP vie 14 de agosto 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux
Mithun Sreedharan

66
cat /etc/*releaseparece funcionar para algunas de las distribuciones principales. Verifiqué con Ubuntu, Mint, Red Hat y Gentoo.
nobar

Debian no reconoce esto
Milad Naseri

La solución Novell funciona, por fin en mi RedHat 5.3. Lo he integrado en mi libre shell shell: github.com/Offirmo/offirmo-shell-lib
Offirmo

@nobar: También funciona con distribuciones SUSE: /etc/SuSE-release pastebin.com/dL5gVLQe
bwDraco

3

Pruebe uno de estos:

ls -ld /etc/\*release\*  /etc/\*version\*

gcc --version

1
¿Puedo preguntarle por qué se niega a usar el marcado para el código? Sangre el código por cuatro espacios, eso hace que sea mucho más fácil de leer y distinguir. Gracias.
slhck

3

Todos los sistemas compatibles con tendrán /etc/os-releaseinformación sobre distribución, etc.

NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"


1

Hmm, tal vez sea otra distribución: el sufijo .EL parece ser utilizado por centos, pero es un derivado de redhat. También me pregunto cuál es su sistema de gestión de paquetes. Puede ser útil verificar qué repositorios usa, ya que generalmente son suministrados por el proveedor y específicos de la distribución




0

Según la versión del kernel, diría que es WBEL 4 . Se sabe que se retrasaron un poco con sus actualizaciones, por lo que probablemente sería mejor migrar a CentOS a su conveniencia.


0

Simplemente colocando el resultado en una var y en minúsculas

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`

0

Una actualización aquí, ahora es posible de usar lsb_release -ds, por lo que puede usarla linuxDistro=$(lsb_release -ds)sin un análisis adicional.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.