Cómo obtener la versión y distribución de Linux por comando. Obtenemos la información del sistema operativo Linux: versión, distribución, kernel, etc. Explicamos el proceso para varias distribuciones: Debian, Ubuntu, CentOS, Red Hat, EndeavourOS, Arch Linux, etc.
- Comando uname -a.
- Comando lsb_release -a.
- Fichero /etc/issue.
- Fichero /etc/lsb-release.
- Fichero /etc/os-release.
- Fichero /proc/version.
- Comando cat /etc/[A-Za-z][_-][rv]e[lr].
Comando uname -a
Por desgracia, no hay un comando común para todas las distribuciones que obtenga los datos básicos del sistema operativo: versión, distribución, kernel, etc. Si bien, existe el comando común «uname», no en todas las distribuciones obtiene la información deseada.
Por ejemplo, estos son los datos devueltos, según la distribución, para el comando:
1 |
uname -a |
En Linux Debian, devuelve:
1 |
Linux srvfacturacion 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux |
Mientras que en Linux CentOS devuelve:
1 |
Linux srvfacturacion 3.10.0-1160.42.2.el7.x86_64 #1 SMP Tue Sep 7 14:49:57 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
En Linux Red Hat devuelve:
1 |
Linux srvfacturacion 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux |
En Linux Ubuntu devuelve:
1 |
Linux srvfacturacion 5.4.0-156-generic #173-Ubuntu SMP Tue Jul 11 07:25:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
En Linux EndeavourOS y Arch Linux devuelve:
1 |
Linux srvfacturacion 6.5.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 23 Sep 2023 22:55:13 +0000 x86_64 GNU/Linux |
Comando lsb_release -a
Otra forma de obtener información del sistema operativo Linux y la distribución, es mediante el comando «lsb_release», concretamente con el comando
1 |
lsb_release -a |
Que, para el caso de equipo con Linux Debian, devolverá:
1 2 3 4 5 |
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye |
Para Linux CentOS, el comando lsb_release no viene instalado.
Para Linux Red Hat, devuelve:
1 2 3 4 5 |
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 6.4 (Santiago) Release: 6.4 Codename: Santiago |
Para Linux Ubuntu, devuelve:
1 2 3 4 5 |
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: 20.04 Codename: focal |
Para Linux EndeavourOS y Arch Linux, devuelve:
1 2 3 4 5 |
LSB Version: n/a Distributor ID: EndeavourOS Description: EndeavourOS Linux Release: rolling Codename: rolling |
Fichero /etc/issue
También podemos obtener información de la distribución de Linux mostrando el contenido del fichero /etc/issue, con el comando:
1 |
cat /etc/issue |
Que, para el caso de equipo con Linux Debian, devolverá:
1 |
Debian GNU/Linux 11 \n \l |
Para Linux CentOS, devolverá:
1 2 |
\S Kernel \r on an \m |
Para Linux Red Hat, devuelve:
1 2 |
Red Hat Enterprise Linux Server release 6.4 (Santiago) Kernel \r on an \m |
Para Linux Ubuntu, devuelve:
1 |
Ubuntu 20.04.5 LTS \n \l |
Para Linux EndeavourOS y Arch Linux, devuelve:
1 |
EndeavourOS Linux \r (\l) |
Fichero /etc/lsb-release
También podemos obtener información de la distribución de Linux mostrando el contenido del fichero /etc/lsb-release, con el comando:
1 |
cat /etc/lsb-release |
Que, para el caso de equipo con Linux Debian, , no existe el fichero /etc/lsb-release.
Para Linux CentOS, no existe el fichero /etc/lsb-release, pero sí existe el fichero /etc/centos-release, que su contenido será:
1 |
CentOS Linux release 7.9.2009 (Core) |
Para Linux Red Hat, devuelve:
1 |
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch |
Para Linux Red Hat también existe el fichero /etc/redhat-release, que devolverá:
1 |
Red Hat Enterprise Linux Server release 6.4 (Santiago) |
Para Linux Ubuntu, devuelve:
1 2 3 4 |
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS" |
Para Linux EndeavourOS y Arch Linux, devuelve:
1 2 3 4 |
DISTRIB_ID="EndeavourOS" DISTRIB_RELEASE="rolling" DISTRIB_DESCRIPTION="EndeavourOS Linux" DISTRIB_CODENAME="rolling" |
Fichero /etc/os-release
Otro fichero interesante, que está en casi todas las distribuciones de Linux, es /etc/os-release. Con el siguiente comando mostraremos su contenido:
1 |
cat /etc/os-release |
Que, para el caso de equipo con Linux Debian, devolverá:
1 2 3 4 5 6 7 8 9 |
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" |
Para Linux CentOS, devolverá:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" |
Para Linux Red Hat, no existe el fichero /etc/os-release.
Para Linux Ubuntu, devuelve:
1 2 3 4 5 6 7 8 9 10 11 12 |
NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal |
Para Linux EndeavourOS y Arch Linux, devuelve:
1 2 3 4 5 6 7 8 9 10 11 12 |
NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/arch-based-related-questions/bug-reports" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros" |
Fichero /proc/version
El fichero cat /proc/version quizá sea uno de los más interesantes para obtener, al menos, la distribución de Linux, ya que ha funcionado en Debian, Arch, Red Hat y todas sus distribuciones derivadas, que son muchas: Manjaro, Ubuntu, EndeavourOS, CentOS, Suse, Fedora, Mint, etc.
Para mostrar su contenido ejecutaremos el comando:
1 |
cat /proc/version |
Que, para el caso de equipo con Linux Debian, devolverá:
1 |
Linux version 5.10.0-15-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.120-1 (2022-06-09) |
Para Linux CentOS, devolverá:
1 |
Linux version 3.10.0-1160.42.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Sep 7 14:49:57 UTC 2021 |
Para Linux Red Hat, devuelve:
1 |
Linux version 2.6.32-358.el6.x86_64 (mockbuild@x86-022.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:47:41 EST 2013 |
Para Linux Ubuntu, devuelve:
1 |
Linux version 5.4.0-156-generic (buildd@lcy02-amd64-078) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #173-Ubuntu SMP Tue Jul 11 07:25:22 UTC 2023 |
Para Linux EndeavourOS y Arch Linux, devuelve:
1 |
Linux version 6.5.5-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Sat, 23 Sep 2023 22:55:13 +0000 |
Comando cat /etc/[A-Za-z]*[_-][rv]e[lr]*
El siguiente comando también funcionará en todas las distribuciones de Linux, dado que buscará en /cat/etc el fichero con el nombre xxx-xxexx:
1 |
cat /etc/[A-Za-z]*[_-][rv]e[lr]* |
Devolverá los mismos valores que el comando cat /etc/os-release.