¿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][~]$
Mithun Sreedharan
fuente
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

Oruga
fuente
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
19

¡Mantenlo simple!

cat /etc/*release
Travis van der Font
fuente
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.

Marcin Gil
fuente
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
ZaB
fuente
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/"
Yogesh
fuente
2

Pruebe http://legroom.net/2010/05/05/generic-method-determine-linux-or-unix-distribution-name .

Una combinación de técnicas que combina la consulta de las utilidades LSB, los archivos de información de distribución de distribución y la información del núcleo de uname. Tomará el nombre de distribución más específico que pueda encontrar, recurriendo a Linux genérico si es necesario. También identificará variantes de UNIX, como Solaris o AIX.

Tamara Wijsman
fuente
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

Journeyman Geek
fuente
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.

Ignacio Vazquez-Abrams
fuente
0

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

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`
SergioAraujo
fuente
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.

3manuek
fuente