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ı?
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:
Ç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? , kukla .
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.
\S[newline]Kernel \r on an \m
Çekirdek: uname -a
cat /etc/os-release
Ubuntu, Fedora ve OpenSUSE için en az.
OS X için en az 10.9'a kadar çalışmaz (Mavericks). kullanım sw_vers yerine.
OpenSUSE vardı kedi / etc / SuSE-yayın 13.1'e kadar ancak Os-Release lehine kaldırılmıştır.
Redhat 6.1'de kedi / etc / redhat yayın
lsb_release -a && uname -r
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ı .