miércoles, 14 de enero de 2009

¿Cómo saber la distribución de GNU/Linux que se está usando?

Hace unos meses unos estudiantes me preguntaron cómo saber desde la consola, la distribución de linux en la que se está (es decir, cómo puede un programa, escrito en c, por ejemplo, saber en qué distribución está corriendo).

Supuse que debía haber una manera de saberlo, pero no la conocía, así que les dije que me imaginaba que podría ser una variable de entorno o algo así... ahora sé que no hay tal variable y en su lugar, se averigua ese dato y otros con el comando lsb_release.

El comando tiene varias opciones, y debo suponer que está relacionado con el LSB (Linux Standard Base). Las opciones específicas pueden consultarse, como es usual en los comanos unix, con la opcción --help.

Con la siguiente instrucción se obtiene información, primero, de los módulos lsb del sistema, y después, despliega el nombre de la distribución, el nombre completo, la versión y el nombre clave.

$ lsb_release -a

Al ejecutarlo en ubuntu 8.04 (conocido como Hardy Heron), aparece lo siguiente:
Distributor ID: Ubuntu
Description: Ubuntu 8.04.1
Release: 8.04
Codename: hardy

en openSuSE 10.3:
Distributor ID: SUSE LINUX
Description: openSUSE 10.3 (i586)
Release: 10.3
Codename: n/a

en Fedora 8:
Distributor ID: Fedora
Description: Fedora release 8 (Werewolf)
Release: 8
Codename: Werewolf

y en Knoppix 5.3:
Distributor ID: Debian
Description: Debian GNU/Linux lenny/sid
Release: lenny/sid
Codename: n/a

... no lo he probado en otras distribuciones, pero supongo que funciona en muchas... debido al LSB.

1 comentario:

  1. Otra forma de saberlo es a través de un archivo que se encuentra en /etc/ y cuyo nombre varía dependiendo de la distro, por ejemplo:

    gerardo@gmelendez:~$ cat /etc/slackware-version
    Slackware 12.1.0

    server:~ # cat /etc/SuSE-release
    openSUSE 10.2 (i586)
    VERSION = 10.2

    [gmelendez@redhat ~]$ cat /etc/redhat-release
    Red Hat Enterprise Linux ES release 4 (Nahant)

    ResponderEliminar

Si necesitas ayuda, por favor, intenta encontrarla antes de pedirla. El mundo del internet es bastante grande, probablemente alguien ya resolvió tu problema.