Hangi Linux sürümünü çalıştırdığımı nasıl öğrenebilirim?


199

Herhangi bir Linux sisteminde hangi Linux sürümünün (dağıtım ve çekirdek sürümünün, sanırım) çalıştığını belirlemenin bir yolu var mı?

Yanıtlar:


262

Çekirdek evrensel olarak tespit edilir uname:

$ uname -or
2.6.18-128.el5 GNU/Linux

Hangi dağıtım ve sürümde olduğunuzu belirlemek için bir dağıtım yolu bulunmuyor. Bunu tutarlı hale getirmek için girişimlerde bulunuldu, ama nihayetinde, ne yazık ki, çeşitlilik gösteriyor. LSB araçları bu bilgiyi sağlar, ancak varsayılan olarak her yere varsayılan olarak kurulmaz. Bir Ubuntu 9.04 sistemi örneği lsb-release paket yüklendi:

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

Aksi takdirde, en yaygın olarak kullanılan yöntem kontrol edilir. /etc/ something- serbest bırakmak Dosyalar. Bunlar ortak platformların çoğunda ve türevlerinde (yani Red Hat ve CentOS) bulunur.

İşte bazı örnekler.

Ubuntu var /etc/lsb-release:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

Ancak Debian’ın /etc/debian_version:

$ cat /etc/debian_version
5.0.2

Fedora, Red Hat ve CentOS şunları içerir:

Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

Gentoo:

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

Şu anda kullanılabilir bir SUSE sistemim yok, ama olduğuna inanıyorum. /etc/SuSE-release.

Slackware var /etc/slackware-release ve / veya /etc/slackware-version.

Mandriva var /etc/mandriva-release.

Popüler dağıtımların çoğu için o zaman,

$ cat /etc/*{release,version}

en sık işe yarayacak. Söküldü ve barebones "server" kurulumları, kurulu dağıtım için 'sürüm' paketine sahip olmayabilir.

Ek olarak, bu bilgileri otomatik olarak almak için kullanabileceğiniz iki 3. parti program Ohai ve facter .

Birçok dağıtımın bu tür bilgilere sahip olduğunu unutmayın. /etc/issue veya /etc/motd, ancak bazı güvenlik politikaları ve en iyi uygulamalar bu dosyaların erişim bildirimi afişleri içermesi gerektiğini belirtir.

İlgili: Düğüme yüklenen yazılım paketinin sürümünü nasıl bulabilirim? , .


3
Lol burada önermek düşünüyordum: Hakkında arayın!
Ivo Flipse

2
Slackware / etc / slackware sürümüne sahiptir
Ken Keenan

Teşekkürler Ken, benim de slackware sistemim yok.
jtimberman

4
IOW: ls / etc / * {release, version} ve geri dönüş ne olursa olsun inceleyin ...
freiheit

1
En çok / etc / issue da var
Drew Stephens

39

Ayrıca deneyebilirsiniz:

$ cat /etc/issue

Genellikle (her zaman olmasa da) hangi dağıtımı kullandığınızı size söyleyecektir. /etc/issue Giriş ekranı için kullanılan dosyadır.


2
Bu, benim için paylaşılan bir Media Temple sunucusunda bulunan tek kişi. Teşekkürler!!
TryTryAgain

2
Ha, RedHat'ta, bu sadece \S[newline]Kernel \r on an \m
ruffin

19

Çekirdek: uname -a


+1. Benzer sistemler için MinGW'nin sürüm bilgilerini almak için "-a" gereklidir, örneğin, "MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys".
Peter Mortensen


14

lsb_release -a, mümkün olduğunda faydalıdır.


10

cat /proc/version Beni paylaşılan bir VPS'de Red Hat buldu.


6

Çekirdek: uname -r

Distro: lsb_release -a

Bunlar çoğu Linux sisteminde çalışacak


4

Tek astar

lsb_release -a && uname -r

1
Bu, Albert Z'nin cevabı üzerine yapılan bir yorum olarak daha uygun olabilir.
fixer1234

1
Tüm cevapları bitirmek için güçlü bir cevap! Çaba için karşılık vermeliyim :)
user_balaz

1

Bu sorun da çözülebilir kullanma Python ile platform modül :

kullanma platform() fonksiyon:

python -c 'import platform; print platform.platform()'
# Linux-4.9.0-8-amd64-x86_64-with-debian-9.6

Yukarıdaki komut Mümkün olduğunca faydalı bilgiler içeren temel platformu tanımlayan tek bir dize döndürür.

Veya kullanarak uname() fonksiyon:

python -c 'import platform; print platform.uname()'
# ('Linux', 'debian', '4.9.0-8-amd64', '#1 SMP Debian 4.9.130-2 (2018-10-27)', 'x86_64', '')

Yukarıdaki komut bir verir namedtuple() altı nitelik içeren: system, node, release, version, machine, ve processor.

Veya kullanarak dist() fonksiyon:

python -c 'import platform; print platform.dist()'
# ('debian', '9.6', '')

Son komut Linux işletim sistemi dağıtım adının adını belirlemeye çalışır. , ama bu Python 3.5'ten beri kullanımdan kaldırıldı ve olacak Python 3.8’de kaldırıldı .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.