Câu hỏi Làm cách nào để biết tôi đang chạy phiên bản Linux nào?


Có cách nào để xác định phiên bản nào (phiên bản phân phối & hạt nhân, tôi giả sử) của Linux đang chạy (từ dòng lệnh), hoạt động trên bất kỳ hệ thống Linux nào không?


192
2017-07-22 19:20


gốc




Các câu trả lời:


Hạt nhân được phát hiện phổ biến với uname:

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

Có thực sự không phải là một cách phân phối chéo để xác định phân phối và phiên bản bạn đang sử dụng. Đã có những nỗ lực để làm cho điều này phù hợp, nhưng cuối cùng nó thay đổi, thật không may. Công cụ LSB cung cấp thông tin này, nhưng trớ trêu thay không được cài đặt theo mặc định ở mọi nơi. Ví dụ về một hệ thống 9,04 Ubuntu với lsb-release gói cài đặt:

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

Nếu không, phương pháp có sẵn rộng rãi nhất đang kiểm tra /etc/một cái gì đó-release các tập tin. Chúng tồn tại trên hầu hết các nền tảng phổ biến và trên các dẫn xuất của chúng (ví dụ: Red Hat và CentOS).

Dưới đây là một số ví dụ.

Ubuntu có /etc/lsb-release:

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

Nhưng Debian có /etc/debian_version:

$ cat /etc/debian_version
5.0.2

Fedora, Red Hat và CentOS có:

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

Hiện tại tôi không có hệ thống SUSE, nhưng tôi tin rằng /etc/SuSE-release.

Slackware có /etc/slackware-release và / hoặc /etc/slackware-version.

Mandriva có /etc/mandriva-release.

Đối với hầu hết các bản phân phối phổ biến,

$ cat /etc/*{release,version}

sẽ thường xuyên hoạt động. Các cài đặt "máy chủ" bị khóa xuống và có thể không có gói 'phát hành' cho bản phân phối được cài đặt.

Ngoài ra, hai chương trình của bên thứ ba mà bạn có thể sử dụng để tự động lấy thông tin này là Ohai và Facter.

Lưu ý rằng nhiều bản phân phối có loại thông tin này trong /etc/issue hoặc là /etc/motd, nhưng một số chính sách bảo mật và thực hành tốt nhất cho biết rằng các tệp này phải chứa biểu ngữ thông báo truy cập.

Liên quan: Làm thế nào để tìm ra phiên bản của gói phần mềm được cài đặt trên nút?, .


253
2017-07-22 19:34



Lol ở đây tôi đã suy nghĩ để đề nghị: tìm kiếm về! - Ivo Flipse♦
Slackware có phiên bản / etc / slackware - Ken Keenan
Cảm ơn Ken, tôi cũng không có hệ thống slackware. - jtimberman
IOW: ls / etc / * {release, version} và kiểm tra mọi thứ trở lại ... - freiheit
Hầu hết cũng có / etc / issue - Drew Stephens


Bạn cũng có thể thử:

$ cat / etc / issue

Nó thường (không phải luôn luôn, mặc dù) sẽ cho bạn biết những gì phân phối bạn đang sử dụng. / etc / issue là tệp được sử dụng cho màn hình đăng nhập.


38
2017-07-22 19:58



Đây là người duy nhất đóng đinh cho tôi trên một máy chủ Media Temple được chia sẻ. Cảm ơn!! - TryTryAgain
Ha, trên RedHat, đó chỉ là \S[newline]Kernel \r on an \m - ruffin


Kernel: uname -a


19
2017-07-22 19:21



+1. Đối với các hệ thống tương tự, như MinGW, "-a" là bắt buộc để lấy thông tin phiên bản, ví dụ: "MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys". - Peter Mortensen


lsb_release -a, khi có sẵn, rất hữu ích.


13
2017-07-22 23:48





cat /etc/os-release

ở mức tối thiểu cho Ubuntu, Fedora và OpenSUSE.

Không hoạt động cho OS X ít nhất cho đến 10,9 (Mavericks). Sử dụng sw_vers thay thế.

OpenSUSE đã có cat / etc / SuSE-release cho đến 13.1 nhưng không được chấp thuận vì ưu tiên phát hành.

Redhat 6.1 có cat / etc / redhat-release


13
2018-04-02 22:56



DOC: freedesktop.org/software/systemd/man/os-release.html - pevik


cat /proc/version tìm thấy tôi Red Hat trên một VPS chia sẻ.


9
2018-06-26 06:59





Kernel: uname -r

Distro: lsb_release -a

Chúng sẽ chạy trên hầu hết các hệ thống Linux


4
2018-06-18 17:06





Lót

lsb_release -a && uname -r

3
2018-01-29 14:51



Điều này có thể thích hợp hơn khi nhận xét về câu trả lời của Albert Z. - fixer1234
câu trả lời mạnh mẽ để kết luận tất cả các câu trả lời! Tôi phải upvote cho các nỗ lực :) - user_balaz