Como saber qual distribuição Linux estou usando?


53

Como saber qual distribuição Linux estou usando?

uname -a

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

Como posso saber se este é o Ubuntu / Debian / Fedora ou Redhat?

Que uso /etc/init.d/serviced restartpara reiniciar serviços, parece que não é da família 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][~]$

Se você deseja que certas informações pessoais / confidenciais sejam removidas, acho que você pode sinalizar sua pergunta para obter atenção do moderador. Porque nós ainda pode lê-lo agora ...
Tamara Wijsman

@ Tom Wijsman só quero não exibir esse texto em página de perguntas, eu sei que vai estar lá na história :-)
Mithun Sreedharan

Respostas:


31
  • No Debian: /etc/debian_version

  • No Ubuntu: lsb_release -a or /etc/debian_version

  • Em Redhat: cat /etc/redhat-release

  • No Fedora: cat /etc/fedora-release


2
Ele tentou todos eles, veja seu código fonte.
Guerda

2
+1, "lsb_release -a" funcionou para mim no Red Hat.
Aaron

3
lsb_release -atambém trabalhou no Debian (squeeze).
Acme

11
lsb_release -atrabalha em Gentoo bem
Sergei

lsb_release -afunciona também no Ubuntu e Mint.
Wranvaud 06/04


15

Você pode tentar este artigo da Novell .

Se você é o proprietário do sistema, saberá qual Linux está instalado e em execução. Este artigo ajudará você a entender como determinar qual distribuição Linux está instalada. Você pode incorporar isso ao seu aplicativo para detectar a distribuição Linux.


Eu já tentei $ cat / etc / * release cat: / etc / * release: Não existe esse arquivo ou diretório A execução do script mensionado resulta em simalr para uname -a command 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 sexta-feira 14 de agosto 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux
Mithun Sreedharan

6
cat /etc/*releaseparece funcionar para algumas das principais distribuições. Eu verifiquei com o Ubuntu, Mint, Red Hat e Gentoo.
Nobar

O Debian não reconhece isso
Milad Naseri

A solução Novell funciona, finalmente no meu RedHat 5.3. Eu o integrei
Offirmo

@nobar: Ele também funciona com as distribuições do SUSE: /etc/SuSE-release pastebin.com/dL5gVLQe
bwDraco

3

Experimente um destes:

ls -ld /etc/\*release\*  /etc/\*version\*

gcc --version

11
Posso perguntar por que você está se recusando a usar a marcação para código? Recue o código em quatro espaços, para facilitar a leitura e a distinção. Obrigado.
slhck

3

Todos os sistemas compatíveis com terão o /etc/os-releaseque deve fornecer informações relacionadas à distribuição, 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/"


1

Hmm, talvez seja outra distro - o sufixo .EL parece ser usado pelos centos, mas isso é um dervativo redhat. Também estou me perguntando qual é o seu sistema de gerenciamento de pacotes? Pode ajudar a verificar quais repositórios você usa, já que geralmente são fornecidos pelo fornecedor e distribuir informações específicas da distribuição.




0

Com base na versão do kernel, eu diria que é o WBEL 4 . Eles são conhecidos por terem um pouco de atraso com suas atualizações, portanto, provavelmente seria melhor migrar para o CentOS conforme sua conveniência.


0

Apenas colocando o resultado em um var e em minúsculas

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`

0

Uma atualização aqui, agora é possível usar lsb_release -ds, para que você possa usá-lo como linuxDistro=$(lsb_release -ds)sem análise extra.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.