Como posso descobrir qual distro estou executando? [duplicado]

6

Fui designado para fazer um trabalho em um servidor, mas não tenho certeza do que está ocorrendo. /proc/version me diz:

Linux version 2.6.18-194.26.1.el5.028stab079.2 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Fri Dec 17 19:25:15 MSK 2010

então isso me faz pensar no Red Hat Enterprise Linux 5 mas então eu tento instalar algum pacote e descobrir que o aptitude e o apt-get estão instalados ao invés do yum. Eu achava que aptitude e apt-get pertenciam ao mundo debian. Então agora eu me pergunto, qual distro está rodando neste servidor?

    
por fuumind 10.02.2014 / 16:06

5 respostas

7

As distribuições Linux mantêm um arquivo de lançamento no diretório / etc. Infelizmente, não é o mesmo para todas as distros, então o mais simples é executar

 ls -d /etc/* | grep release 

No meu sistema Arch Linux, por exemplo, isso produz a seguinte saída:

 # ls -d /etc/* | grep release
 /etc/arch-release
 /etc/os-release

o arquivo arch-releade está vazio, mas o os-release tem as informações relevantes. No Kubuntu, insted,

 # ls -d /etc/* | grep release
 /etc/lsb-release
 /etc/os-release

abd here lsb-release tem a informação relevante. Outra possibilidade é correr

 ls -d /etc/* | grep version

que carregaria informações equivalentes se um arquivo release estiver faltando.

EDITAR:

acabou de perceber que a mesma informação pode ser obtida de forma mais concisa com

  cat /etc/*{release,version}
    
por 10.02.2014 / 16:26
3

Você pode usar lsb_release -a para imprimir informações específicas da distribuição . Usando esse comando, você não precisa descobrir os arquivos apropriados contendo as informações.

Aqui está um exemplo de um sistema Debian Jessie :

$ lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Debian
Description:    Debian GNU/Linux testing (jessie)
Release:        testing
Codename:       jessie

E aqui um dos sistemas Redhat :

$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseClient
Description:    Red Hat Enterprise Linux Client release 5.3 (Tikanga)
Release:        5.3
Codename:       Tikanga
    
por 10.02.2014 / 16:59
1

Além do lançamento de / etc / * já mencionado por outras respostas também o / etc / issue pode ser um bom ponteiro também, então tente cat /etc/issue

Quanto ao apt: esse é o gerenciador de pacotes padrão da Debian e você o encontrará freqüentemente em distribuições baseadas em Debian / Debian, mas não há problema em usá-lo / instalá-lo em uma distro diferente (ex. RHEL).

Da mesma forma, não há problema em usar também o RPM no Debian ou no Ubuntu, se quiser. É claro que usar gerenciadores de pacotes diferentes ao mesmo tempo pode facilmente causar confusão.

    
por 10.02.2014 / 16:38
0

Você procurou em / etc por um arquivo de lançamento? A maioria das distros tem os-release ou similar com detalhes sobre a distro que você está usando. Se você estiver em um sistema RHEL, como o kernel sugere, pode ser chamado de liberação de redhat. F Core tende a usar o lançamento do sistema, ou fez a última vez que eu verifiquei.

Não sei por que o apt está lá.

    
por 10.02.2014 / 16:14
0

Tente isso. Ele mostrará a versão da distro

cat /etc/*release
    
por 10.02.2014 / 16:24