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][~]$
Mithun Sreedharan
fonte
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

Lagarta
fonte
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
19

Mantenha simples!

cat /etc/*release
Travis van der Font
fonte
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.

Marcin Gil
fonte
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
ZaB
fonte
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/"
Yogesh
fonte
2

Tente http://legroom.net/2010/05/05/generic-method-determine-linux-or-unix-distribution-name .

Uma combinação de técnicas que combina a consulta dos utilitários LSB, os arquivos de informações sobre a distribuição da distribuição e as informações do kernel da uname. O nome da distribuição mais específico será encontrado, retornando ao Linux genérico, se necessário. Também identificará variantes do UNIX, como Solaris ou AIX.

Tamara Wijsman
fonte
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.

Journeyman Geek
fonte
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.

Ignacio Vazquez-Abrams
fonte
0

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

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`
SergioAraujo
fonte
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.

3manuek
fonte