查看Linux發(fā)行版名稱和版本號的8種方法
如果你加入了一家新公司,要為開發(fā)團隊安裝所需的軟件并重啟服務,這個時候首先要弄清楚它們運行在什么發(fā)行版以及哪個版本的系統(tǒng)上,你才能正確完成后續(xù)的工作。作為系統(tǒng)管理員,充分了解系統(tǒng)信息是首要的任務。
查看 Linux 發(fā)行版名稱和版本號有很多種方法。你可能會問,為什么要去了解這些基本信息呢?
因為對于諸如 RHEL、Debian、openSUSE、Arch Linux 這幾種主流發(fā)行版來說,它們各自擁有不同的包管理器來管理系統(tǒng)上的軟件包,如果不知道所使用的是哪一個發(fā)行版的系統(tǒng),在軟件包安裝的時候就會無從下手,而且由于大多數(shù)發(fā)行版都是用 systemd 命令而不是 SysVinit 腳本,在重啟服務的時候也難以執(zhí)行正確的命令。
下面來看看可以使用那些基本命令來查看 Linux 發(fā)行版名稱和版本號。
方法總覽
lsb_release命令/etc/*-release文件uname命令/proc/version文件dmesg命令- YUM 或 DNF 命令
 - RPM 命令
 - APT-GET 命令
 
方法 1: lsb_release 命令
LSB(Linux 標準庫)能夠打印發(fā)行版的具體信息,包括發(fā)行版名稱、版本號、代號等。
# lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 16.04.3 LTSRelease: 16.04Codename: xenial
方法 2: /etc/*-release 文件
release 文件通常被視為操作系統(tǒng)的標識。在 /etc 目錄下放置了很多記錄著發(fā)行版各種信息的文件,每個發(fā)行版都各自有一套這樣記錄著相關信息的文件。下面是一組在 Ubuntu/Debian 系統(tǒng)上顯示出來的文件內容。
# cat /etc/issueUbuntu 16.04.3 LTS \n \l# cat /etc/issue.netUbuntu 16.04.3 LTS# cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"# cat /etc/os-releaseNAME="Ubuntu"VERSION="16.04.3 LTS (Xenial Xerus)"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 16.04.3 LTS"VERSION_ID="16.04"HOME_URL="http://www.ubuntu.com/"SUPPORT_URL="http://help.ubuntu.com/"BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"VERSION_CODENAME=xenialUBUNTU_CODENAME=xenial# cat /etc/debian_version9.3
下面這一組是在 RHEL/CentOS/Fedora 系統(tǒng)上顯示出來的文件內容。其中 /etc/redhat-release 和 /etc/system-release 文件是指向 /etc/[發(fā)行版名稱]-release 文件的一個連接。
# cat /etc/centos-releaseCentOS release 6.9 (Final)# cat /etc/fedora-releaseFedora release 27 (Twenty Seven)# cat /etc/os-releaseNAME=FedoraVERSION="27 (Twenty Seven)"ID=fedoraVERSION_ID=27PRETTY_NAME="Fedora 27 (Twenty Seven)"ANSI_COLOR="0;34"CPE_NAME="cpe:/o:fedoraproject:fedora:27"HOME_URL="https://fedoraproject.org/"SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"BUG_REPORT_URL="https://bugzilla.redhat.com/"REDHAT_BUGZILLA_PRODUCT="Fedora"REDHAT_BUGZILLA_PRODUCT_VERSION=27REDHAT_SUPPORT_PRODUCT="Fedora"REDHAT_SUPPORT_PRODUCT_VERSION=27PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"# cat /etc/redhat-releaseFedora release 27 (Twenty Seven)# cat /etc/system-releaseFedora release 27 (Twenty Seven)
方法 3: uname 命令
uname(unix name 的意思) 是一個打印系統(tǒng)信息的工具,包括內核名稱、版本號、系統(tǒng)詳細信息以及所運行的操作系統(tǒng)等等。
- 建議閱讀: 6種查看系統(tǒng) Linux 內核的方法
 
# uname -aLinux localhost.localdomain 4.12.14-300.fc26.x86_64 #1 SMP Wed Sep 20 16:28:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
以上運行結果說明使用的操作系統(tǒng)版本是 Fedora 26。
方法 4: /proc/version 文件
這個文件記錄了 Linux 內核的版本、用于編譯內核的 gcc 的版本、內核編譯的時間,以及內核編譯者的用戶名。
# cat /proc/versionLinux version 4.12.14-300.fc26.x86_64 ([email protected]) (gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC) ) #1 SMP Wed Sep 20 16:28:07 UTC 2017
方法 5: dmesg 命令
dmesg(展示信息 或驅動程序信息)是大多數(shù)類 Unix 操作系統(tǒng)上的一個命令,用于打印內核的消息緩沖區(qū)的信息。
# dmesg | grep "Linux"[ 0.000000] Linux version 4.12.14-300.fc26.x86_64 ([email protected]) (gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC) ) #1 SMP Wed Sep 20 16:28:07 UTC 2017[ 0.001000] SELinux: Initializing.[ 0.001000] SELinux: Starting in permissive mode[ 0.470288] SELinux: Registering netfilter hooks[ 0.616351] Linux agpgart interface v0.103[ 0.630063] usb usb1: Manufacturer: Linux 4.12.14-300.fc26.x86_64 ehci_hcd[ 0.688949] usb usb2: Manufacturer: Linux 4.12.14-300.fc26.x86_64 ohci_hcd[ 2.564554] SELinux: Disabled at runtime.[ 2.564584] SELinux: Unregistering netfilter hooks
方法 6: Yum/Dnf 命令
Yum(Yellowdog 更新器修改版)是 Linux 操作系統(tǒng)上的一個包管理工具,而 yum 命令被用于一些基于 RedHat 的 Linux 發(fā)行版上安裝、更新、查找、刪除軟件包。
# yum info nanoLoaded plugins: fastestmirror, ovlLoading mirror speeds from cached hostfile* base: centos.zswap.net* extras: mirror2.evolution-host.com* updates: centos.zswap.netAvailable PackagesName : nanoArch : x86_64Version : 2.3.1Release : 10.el7Size : 440 kRepo : base/7/x86_64Summary : A small text editorURL : http://www.nano-editor.orgLicense : GPLv3+Description : GNU nano is a small and friendly text editor.
下面的 yum repolist 命令執(zhí)行后顯示了 yum 的基礎源倉庫、額外源倉庫、更新源倉庫都來自 CentOS 7 倉庫。
# yum repolistLoaded plugins: fastestmirror, ovlLoading mirror speeds from cached hostfile* base: centos.zswap.net* extras: mirror2.evolution-host.com* updates: centos.zswap.netrepo id repo name statusbase/7/x86_64 CentOS-7 - Base 9591extras/7/x86_64 CentOS-7 - Extras 388updates/7/x86_64 CentOS-7 - Updates 1929repolist: 11908
使用 dnf 命令也同樣可以查看發(fā)行版名稱和版本號。
# dnf info nanoLast metadata expiration check: 0:01:25 ago on Thu Feb 15 01:59:31 2018.Installed PackagesName : nanoVersion : 2.8.7Release : 1.fc27Arch : x86_64Size : 2.1 MSource : nano-2.8.7-1.fc27.src.rpmRepo : @SystemFrom repo : fedoraSummary : A small text editorURL : https://www.nano-editor.orgLicense : GPLv3+Description : GNU nano is a small and friendly text editor.
方法 7: RPM 命令
RPM(紅帽包管理器)是在 CentOS、Oracle Linux、Fedora 這些基于 RedHat 的操作系統(tǒng)上的一個強大的命令行包管理工具,同樣也可以幫助我們查看系統(tǒng)的版本信息。
# rpm -q nanonano-2.8.7-1.fc27.x86_64
方法 8: APT-GET 命令
Apt-Get(高級打包工具)是一個強大的命令行工具,可以自動下載安裝新軟件包、更新已有的軟件包、更新軟件包列表索引,甚至更新整個 Debian 系統(tǒng)。
# apt-cache policy nanonano:Installed: 2.5.3-2ubuntu2Candidate: 2.5.3-2ubuntu2Version table:* 2.5.3-2ubuntu2 500500 http://nova.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages100 /var/lib/dpkg/status2.5.3-2 500500 http://nova.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
















 
 
 




 
 
 
 