Como identifico qual distro Linux está sendo executada? [duplicado]

60

Temos algum novo hardware em nosso escritório que executa seu próprio sistema operacional Linux personalizado.

Como faço para descobrir em qual distribuição ele se baseia?

    
por mrTomahawk 28.03.2012 / 01:48

3 respostas

90

Uma pergunta muito próxima a esta foi publicada no Unix.Stackexchange AQUI Giles tem um bem completo | resposta legal para as formas que ele descreve.

# cat /proc/version

Linux version 2.6.32-71.el6.x86_64 ([email protected]) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Fri May 20 03:51:51 BST 2011  
# uname -a

Linux system1.doofus.local 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue

CentOS Linux release 6.0 (Final)
Kernel \r on an \m

cat /proc/config.gz cat /usr/src/linux/config.gz cat /boot/config*

Embora eu tenha feito alguma verificação e isso não fosse muito confiável, exceto no SUSE.

# zcat /proc/config.gz | grep -i kernel
CONFIG_SUSE_KERNEL=y
# CONFIG_KERNEL_DESKTOP is not set
CONFIG_LOCK_KERNEL=y

Libere os arquivos em /etc ( do Unix.com )

  • Novell SuSE --- > / etc / SuSE-release
  • Red Hat --- > / etc / redhat-release, / etc / redhat_version
  • Fedora - > / etc / fedora-release
  • Slackware --- > / etc / slackware-release, / etc / versão do slackware
  • Old Debian --- > / etc / debian_release, / etc / debian_version
  • Novo Debian --- > / etc / os-release
  • Mandrake --- > / etc / mandrake-release
  • Cão amarelo - > / etc / yellowdog-release
  • Sun JDS --- > / etc / sun-release
  • Solaris / Sparc --- > / etc / release
  • Gentoo --- > / etc / gentoo-release

Há também um script bash no link Unix.com que alguém escreveu para automatizar a verificação.

Descobrir o gerenciador de pacotes que você tem é uma boa dica.

rpm yum apt-get zypper + muitos mais

Embora isso não seja infalível, o fornecedor pode usar qualquer coisa que quiser. Isso realmente te dá um lugar para começar.

# dmesg | less

Linux version 2.6.32.12-0.7-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +0200

praticamente as mesmas informações que cat /proc/version & uname

    
por 28.03.2012 / 04:24
22

Você vai querer usar:

$ cat /etc/*-release

Você receberá uma resposta semelhante a esta:

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"
    
por 28.03.2012 / 08:32
18

Como primeiro palpite, tente lsb_release -a . Por exemplo. em um sistema Arch Linux, ele fornece

LSB Version: n/a
Distributor ID: archlinux
Description: Arch Linux
Release: rolling
Codename: n/a

No entanto, isso pode falhar, então você terá que procurar /etc (o mais provável é dentro de um arquivo cujo nome termina com -release ). Também cat /etc/issue pode ajudar.

    
por 28.03.2012 / 01:54

Tags