Es bastante común, cuando uno se pelea con servidores de todo tipo y condición, que tengas que averiguar la distribución que corre en una determinada máquina de la que no sabía nada.
Trasteando con alsaconf
, me ha llamado la atención un fragmento del código encargado, precisamente, de saber a qué distribución se enfrenta.
# Check for GNU/Linux distributions
if [ -f /etc/SuSE-release ]; then
distribution="suse"
suse_version=$(grep 'VERSION = ' /etc/SuSE-release | sed -e s/'VERSION = '//)
elif [ -f /etc/UnitedLinux-release ]; then
distribution="suse"
elif [ -f /etc/gentoo-release ]; then
distribution="gentoo"
elif [ -f /etc/debian_version ]; then
distribution="debian"
elif [ -f /etc/mandrake-release ]; then
distribution="mandrake"
elif test -f /etc/redhat-release && grep -q "Red Hat" /etc/redhat-release; then
distribution="redhat"
elif test -f /etc/fedora-release && grep -q "Fedora" /etc/fedora-release; then
distribution="fedora"
else
distribution="unknown"
fi
Básicamente, debe haber un fichero bajo /etc
que nos facilite dicha información. El cuadro resumen, según el código de alsaconf
, sería éste:
- /etc/SuSE-release o /etc/UnitedLinux-release — distribución SuSE.
- /etc/gentoo-release — distribución Gentoo.
- /etc/debian_version — distribución Debian GNU/Linux.
- /etc/mandrake-release — distribución Mandrake.
- /etc/redhat-release — distribución Red Hat.
- /etc/fedora-release — distribución Fedora.
- /etc/ubuntu-release o /etc/debian-version con el contenido
squeeze/sid
— distribución Ubuntu (gracias Anónimo).
Tengo que comentar que la lista original no dice nada de Ubuntu, nuestra segunda distribución favorita, así que la última entrada la he añadido tras una pequeña búsqueda en el oráculo que todo lo sabe.
13 ideas sobre “[truco] averiguando a qué distribución te enfrentas”
Hola! Sumamnte util la información, solo un apunte, uso Ubuntu 10.04 LTS y en vez de tener /etc/ubuntu-release tengo /etc/debian_version con contenido «squeeze/sid»
Saludos!
¡Muchas gracias Anónimo! Y qué velocidad :D.
Pero si tienes una Debian squeeze ¿Cómo distingues entre una Ubuntu y entre una Debian? Ya se que son casi iguales, pero ya es por curiosidad y por dejar fetén la entrada del blog.
¿Qué contiene el archivo /etc/issue.net en Ubuntu?
Otra forma que creo que es más rápida, y que encontré en este enlace: http://www.alcancelibre.org/article.php/saber-version-linux-en-pc
En la terminal escribir:
$ lsb_release -a
En Ubuntu 10.04 LTS responde lo siguiente:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
En el enlace ponen los ejemplos de otras distribuciones.
Está bien, de todas formas n1mh o Dabo ya sabian lo de lsb_release -a pues en el blog del autor Dabo (www.daboblog.com) si te fijas en la cabecera de arriba de su web donde esta su foto, el logo de Debian y Backtrack pone:
$ echo «Made with a MacBook» | lsb_release -a > Debian GNU/Linux unstable
Por lo demás gracias por compartir Diego 🙂
Me vendrá muy bien la info para algún server Diego 😉
Dreamdev, sobre lo que preguntas acerca de Debian y Ubuntu, prueba con;
dabo@debian:~$ uname -a
Linux debian 2.6.32-5-amd64 #1 SMP Fri Sep 17 21:50:19 UTC 2010 x86_64 GNU/Linux
A ver si ves la misma salida en tu terminal hablando de la info que da el Kernel en Ubuntu.
Efectivamente «otra forma» (bienvenido/a) OvErCloCK que es muy observador y eso no es de ahora ;D ha visto que lo tengo arriba en mi blog y creo que es la mejor forma dreamdev para que no te lie entre Ubuntu / Debian lo de cat /etc/debian_version
Saludos 😉
A veces el ordenador no tiene instalado lsb ni nada posterior a 1994. No todos son ubuntus ni suses último modelo :).
Saludos
Voy a ejercer de profano de la terminal… En GNOME tenemos gnome-system-monitor, que al ejecutarlo si entramos en su primera pestaña nos dice el muchos datos, entre ellos la distribución que estamos corriendo.
Saludos.
Gracias por el tip Joss -;)
Dabo, he arrancado un Live CD con Ubuntu y el uname nos da:
Linux 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux
Gracias Dreamdev por probar, se me olvidó a mi en el PPC, ahí tenemos como decía otra forma de diferenciarlo -;)
Aquí debajo vemos las diferencias Debian Ubuntu;
Linux debian 2.6.32-5-amd64 #1 SMP Fri Sep 17 21:50:19 UTC 2010 x86_64 GNU/Linux
Linux 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux
cuando escribí la entrada buscaba una forma rápida y clara de saber qué distro estás usando, pensando sobre todo en esos servidores olvidados, perdidos en los CPDs en los que nadie ha iniciado sesión durante meses. ¡Ahora ya no lo tengo tan claro! En vez de consultar un fichero bajo /etc voy a tener que arrancar el modo gráfico. Una ruina… 😀
En fin, que muchas gracias a todos por la inestimable ayuda. Así es fácil aprender.
saludos,
n1mh