GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso identificare quale distribuzione Linux è in esecuzione?

Una domanda molto simile a questa è stata postata su Unix.Stackexchange QUIGiles ha un abbastanza completo | bella risposta per i modi che descrive.

# 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*

Anche se ho fatto qualche controllo e questo non era molto affidabile tranne che su SUSE.

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

Rilascia i file in /etc (da 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
  • Vecchia Debian--->/etc/debian_release, /etc/debian_version
  • Nuova Debian--->/etc/os-release
  • Mandrake--->/etc/mandrake-release
  • Yellowdog-->/etc/yellowdog-release
  • Sun JDS--->/etc/sun-release
  • Solaris/Sparc--->/etc/release
  • Gentoo--->/etc/gentoo-release

C'è anche uno script bash nel link Unix.com che qualcuno ha scritto per automatizzare il controllo.

Capire quale gestore di pacchetti hai è un buon indizio.

rpm yum apt-get zypper +molti altri

Anche se questo non è affatto infallibile in quanto il venditore potrebbe usare tutto ciò che desidera. Ti dà davvero solo un punto di partenza.

# dmesg | less

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

più o meno le stesse informazioni di cat /proc/version &uname


Ti consigliamo di utilizzare:

$ cat /etc/*-release

Riceverai una risposta simile a questa:

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

Come prima ipotesi, prova lsb_release -a . Per esempio. su un sistema Arch Linux fornisce

Versione LSB:n/d
ID distributore:archlinux
Descrizione:Arch Linux
Rilascio:rotolamento
Nome in codice:n/a

Tuttavia, questo potrebbe fallire, quindi dovrai curiosare in /etc (molto probabilmente è all'interno di un file il cui nome termina con -release ). Anche cat /etc/issue potrebbe aiutare.


Linux
  1. Come riavviare (o ripristinare) un processo in esecuzione in Linux?

  2. Come faccio a sapere quale versione di Linux sto utilizzando?

  3. Come controllare quale fuso orario in Linux?

  4. Come si identifica la distribuzione Linux in uso?

  5. Come posso identificare quale processo sta creando traffico UDP su Linux?

Come eliminare l'esecuzione del processo Linux su una porta particolare

Come visualizzare le informazioni sulla batteria in Linux

Come trovare la versione di Linux in esecuzione

Come utilizzare il comando which in Linux

Ubuntu vs Arch:quale distribuzione Linux è migliore?

Come posso profilare il codice C++ in esecuzione su Linux?