Temos alguns novos hardwares em nosso escritório que executam seu próprio sistema operacional Linux personalizado.
Como faço para descobrir em qual distro ele se baseia?
Responder1
Uma pergunta muito próxima a esta foi postada no Unix.StackexchangeAQUI
Giles
tem um bem completo | resposta legal para as maneiras 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
#unome -a Linux system1.doofus.local 2.6.32-71.el6.x86_64 #1 SMP Sex, 20 de maio 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 algumas verificações e isso não era muito confiável, exceto no SUSE.
# zcat /proc/config.gz | grep -i kernel CONFIG_SUSE_KERNEL=y # CONFIG_KERNEL_DESKTOP não está definido CONFIG_LOCK_KERNEL=y
Liberar arquivos em /etc
(de Unix.com)
- Novell SuSE---> /etc/SuSE-release
- Red Hat--->/etc/redhat-release, /etc/redhat_version
- Fedora-->/etc/fedora-release
- Slackware--->/etc/slackware-release, /etc/slackware-version
- Debian antigo --->/etc/debian_release, /etc/debian_version
- Novo Debian --->/etc/os-release
- Mandrake--->/etc/mandrake-release
- Cachorro 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 qual gerenciador de pacotes você possui é uma boa pista.
rpm
yum
apt-get
zypper
+muitos mais
Embora isso não seja infalível, pois o fornecedor pode usar o que quiser. Na verdade, isso apenas lhe dá um ponto de partida.
# dmesg | menos Linux versão 2.6.32.12-0.7-default (geeko@buildhost) (gcc versão 4.3.4 [gcc-4_3-branch revisão 152973] (SUSE Linux)) #1 SMP 2010-05-20 11:14:20 +0200
praticamente as mesmas informações que cat /proc/version
&uname
Responder2
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"
Responder3
Como primeiro palpite, tente lsb_release -a
. Por exemplo, em um sistema Arch Linux, ele fornece
Versão LSB: n/a
ID do Distribuidor: archlinux
Descrição:
Versão do Arch Linux: Rolling
Codename: n/a
No entanto, isso pode falhar, então você terá que fuçar /etc
(provavelmente está dentro de um arquivo cujo nome termina com -release
). Também cat /etc/issue
pode ajudar.