Como descubro qual versão do Linux estou executando?

196

Existe uma maneira de determinar qual versão (distribuição e versão do kernel, suponho) do Linux está sendo executada (a partir da linha de comando), que funciona em qualquer sistema Linux?

    
por Daryl Spitzer 22.07.2009 / 21:20

8 respostas

257

O kernel é detectado universalmente com uname :

$ uname -or
2.6.18-128.el5 GNU/Linux

Não existe realmente uma forma de distribuição cruzada para determinar em qual distribuição e versão você está. Houve tentativas de tornar isso consistente, mas no final varia, infelizmente. As ferramentas LSB fornecem essas informações, mas ironicamente não são instaladas por padrão em todos os lugares. Exemplo em um sistema Ubuntu 9.04 com o pacote lsb-release instalado:

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

Caso contrário, o método mais próximo disponível é a verificação de /etc/something-release arquivos. Eles existem na maioria das plataformas comuns e em seus derivados (ou seja, Red Hat e CentOS).

Aqui estão alguns exemplos.

O Ubuntu tem /etc/lsb-release :

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

Mas o Debian tem /etc/debian_version :

$ cat /etc/debian_version
5.0.2

Fedora, Red Hat e CentOS têm:

Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

Gentoo:

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

Eu não tenho um sistema SUSE disponível no momento, mas acredito que seja /etc/SuSE-release .

O Slackware tem /etc/slackware-release e / ou /etc/slackware-version .

O Mandriva tem /etc/mandriva-release .

Para a maioria das distribuições populares,

$ cat /etc/*{release,version}

na maioria das vezes funciona. Desmontado e as instalações do "servidor" barebones podem não ter o pacote 'release' para a distribuição instalada.

Além disso, dois programas de terceiros que você pode usar para obter essas informações automaticamente são Ohai e Facter .

Observe que muitas distribuições têm esse tipo de informação em /etc/issue ou /etc/motd , mas algumas políticas de segurança e melhores práticas indicam que esses arquivos deve conter banners de notificação de acesso.

Relacionado: Como descobrir a versão do pacote de software instalado no nó? , puppet .

    
por 22.07.2009 / 21:34
38

Você também pode tentar:

$ cat / etc / issue

Geralmente (embora nem sempre) informará qual distribuição você está usando. / etc / issue é o arquivo usado na tela de login.

    
por 22.07.2009 / 21:58
19

Kernel: uname -a

    
por 22.07.2009 / 21:21
13

lsb_release -a , quando disponível, é útil.

    
por 23.07.2009 / 01:48
13
cat /etc/os-release

no mínimo para o Ubuntu, Fedora e OpenSUSE.

Não funciona para o OS X pelo menos até 10.9 (Mavericks). Use sw_vers em seu lugar.

O OpenSUSE tinha cat / etc / SuSE-release até 13.1, mas está obsoleto em favor do os-release.

Redhat 6.1 tem cat / etc / redhat-release

    
por 03.04.2014 / 00:56
9

cat /proc/version me encontrou na Red Hat em um VPS compartilhado.

    
por 26.06.2014 / 08:59
4

Kernel: uname -r

Distro: lsb_release -a

Estes serão executados na maioria dos sistemas Linux

    
por 18.06.2015 / 19:06
3

One-liner

lsb_release -a && uname -r
    
por 29.01.2018 / 15:51