歡迎光臨
每天分享高質量文章

檢視 Linux 發行版名稱和版本號的 8 種方法 | Linux 中國

如果你加入了一家新公司,要為開發團隊安裝所需的軟體並重啟服務,這個時候首先要弄清楚它們執行在什麼發行版以及哪個版本的系統上,你才能正確完成後續的工作。
— Magesh Maruthamuthu


致謝
編譯自 | https://www.2daygeek.com/check-find-linux-distribution-name-and-version/ 
 作者 | Magesh Maruthamuthu
 譯者 | Hank Chow (HankChow) ? ? 共計翻譯:4 篇 貢獻時間:118 天

如果你加入了一家新公司,要為開發團隊安裝所需的軟體並重啟服務,這個時候首先要弄清楚它們執行在什麼發行版以及哪個版本的系統上,你才能正確完成後續的工作。作為系統管理員,充分瞭解系統資訊是首要的任務。

檢視 Linux 發行版名稱和版本號有很多種方法。你可能會問,為什麼要去瞭解這些基本資訊呢?

因為對於諸如 RHEL、Debian、openSUSE、Arch Linux 這幾種主流發行版來說,它們各自擁有不同的包管理器來管理系統上的軟體包,如果不知道所使用的是哪一個發行版的系統,在軟體包安裝的時候就會無從下手,而且由於大多數發行版都是用 systemd 命令而不是 SysVinit 指令碼,在重啟服務的時候也難以執行正確的命令。

下麵來看看可以使用那些基本命令來檢視 Linux 發行版名稱和版本號。

方法總覽

◈ lsb_release 命令
◈ /etc/*-release 檔案
◈ uname 命令
◈ /proc/version 檔案
◈ dmesg 命令
◈ YUM 或 DNF 命令
◈ RPM 命令
◈ APT-GET 命令

方法 1: lsb_release 命令

LSB(Linux 標準庫Linux Standard Base)能夠列印發行版的具體資訊,包括發行版名稱、版本號、代號等。

  1. # lsb_release -a

  2. No LSB modules are available.

  3. Distributor ID: Ubuntu

  4. Description: Ubuntu 16.04.3 LTS

  5. Release: 16.04

  6. Codename: xenial

方法 2: /etc/*-release 檔案

release 檔案通常被視為作業系統的標識。在 /etc 目錄下放置了很多記錄著發行版各種資訊的檔案,每個發行版都各自有一套這樣記錄著相關資訊的檔案。下麵是一組在 Ubuntu/Debian 系統上顯示出來的檔案內容。

  1. # cat /etc/issue

  2. Ubuntu 16.04.3 LTS \n \l

  3. # cat /etc/issue.net

  4. Ubuntu 16.04.3 LTS

  5. # cat /etc/lsb-release

  6. DISTRIB_ID=Ubuntu

  7. DISTRIB_RELEASE=16.04

  8. DISTRIB_CODENAME=xenial

  9. DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

  10. # cat /etc/os-release

  11. NAME="Ubuntu"

  12. VERSION="16.04.3 LTS (Xenial Xerus)"

  13. ID=ubuntu

  14. ID_LIKE=debian

  15. PRETTY_NAME="Ubuntu 16.04.3 LTS"

  16. VERSION_ID="16.04"

  17. HOME_URL="http://www.ubuntu.com/"

  18. SUPPORT_URL="http://help.ubuntu.com/"

  19. BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

  20. VERSION_CODENAME=xenial

  21. UBUNTU_CODENAME=xenial

  22. # cat /etc/debian_version

  23. 9.3

下麵這一組是在 RHEL/CentOS/Fedora 系統上顯示出來的檔案內容。其中 /etc/redhat-release 和 /etc/system-release 檔案是指向 /etc/[發行版名稱]-release檔案的一個連線。

  1. # cat /etc/centos-release

  2. CentOS release 6.9 (Final)

  3. # cat /etc/fedora-release

  4. Fedora release 27 (Twenty Seven)

  5. # cat /etc/os-release

  6. NAME=Fedora

  7. VERSION="27 (Twenty Seven)"

  8. ID=fedora

  9. VERSION_ID=27

  10. PRETTY_NAME="Fedora 27 (Twenty Seven)"

  11. ANSI_COLOR="0;34"

  12. CPE_NAME="cpe:/o:fedoraproject:fedora:27"

  13. HOME_URL="https://fedoraproject.org/"

  14. SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"

  15. BUG_REPORT_URL="https://bugzilla.redhat.com/"

  16. REDHAT_BUGZILLA_PRODUCT="Fedora"

  17. REDHAT_BUGZILLA_PRODUCT_VERSION=27

  18. REDHAT_SUPPORT_PRODUCT="Fedora"

  19. REDHAT_SUPPORT_PRODUCT_VERSION=27

  20. PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"

  21. # cat /etc/redhat-release

  22. Fedora release 27 (Twenty Seven)

  23. # cat /etc/system-release

  24. Fedora release 27 (Twenty Seven)

方法 3: uname 命令

uname(unix name 的意思) 是一個列印系統資訊的工具,包括核心名稱、版本號、系統詳細資訊以及所執行的作業系統等等。

◈ 建議閱讀: 6種檢視系統 Linux 內核的方法[1]
  1. # uname -a

  2. Linux 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

以上執行結果說明使用的作業系統版本是 Fedora 26。

方法 4: /proc/version 檔案

這個檔案記錄了 Linux 內核的版本、用於編譯內核的 gcc 的版本、核心編譯的時間,以及核心編譯者的使用者名稱。

  1. # cat /proc/version

  2. 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

方法 5: dmesg 命令

dmesg(展示資訊display message 或驅動程式資訊driver message)是大多數類 Unix 作業系統上的一個命令,用於列印內核的訊息緩衝區的資訊。

  1. # dmesg | grep "Linux"

  2. [ 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

  3. [ 0.001000] SELinux: Initializing.

  4. [ 0.001000] SELinux: Starting in permissive mode

  5. [ 0.470288] SELinux: Registering netfilter hooks

  6. [ 0.616351] Linux agpgart interface v0.103

  7. [ 0.630063] usb usb1: Manufacturer: Linux 4.12.14-300.fc26.x86_64 ehci_hcd

  8. [ 0.688949] usb usb2: Manufacturer: Linux 4.12.14-300.fc26.x86_64 ohci_hcd

  9. [ 2.564554] SELinux: Disabled at runtime.

  10. [ 2.564584] SELinux: Unregistering netfilter hooks

方法 6: Yum/Dnf 命令

Yum(Yellowdog 更新器修改版Yellowdog Updater Modified)是 Linux 作業系統上的一個包管理工具,而 yum 命令被用於一些基於 RedHat 的 Linux 發行版上安裝、更新、查詢、刪除軟體包。

◈ 建議閱讀: 在 RHEL/CentOS 系統上使用 yum 命令管理軟體包[2]
  1. # yum info nano

  2. Loaded plugins: fastestmirror, ovl

  3. Loading mirror speeds from cached hostfile

  4. * base: centos.zswap.net

  5. * extras: mirror2.evolution-host.com

  6. * updates: centos.zswap.net

  7. Available Packages

  8. Name : nano

  9. Arch : x86_64

  10. Version : 2.3.1

  11. Release : 10.el7

  12. Size : 440 k

  13. Repo : base/7/x86_64

  14. Summary : A small text editor

  15. URL : http://www.nano-editor.org

  16. License : GPLv3+

  17. Description : GNU nano is a small and friendly text editor.

下麵的 yum repolist 命令執行後顯示了 yum 的基礎源倉庫、額外源倉庫、更新源倉庫都來自 CentOS 7 倉庫。

  1. # yum repolist

  2. Loaded plugins: fastestmirror, ovl

  3. Loading mirror speeds from cached hostfile

  4. * base: centos.zswap.net

  5. * extras: mirror2.evolution-host.com

  6. * updates: centos.zswap.net

  7. repo id repo name status

  8. base/7/x86_64 CentOS-7 - Base 9591

  9. extras/7/x86_64 CentOS-7 - Extras 388

  10. updates/7/x86_64 CentOS-7 - Updates 1929

  11. repolist: 11908

使用 dnf 命令也同樣可以檢視發行版名稱和版本號。

◈ 建議閱讀: 在 Fedora 系統上使用 DNF(YUM 的一個分支)命令管理軟體包[3]
  1. # dnf info nano

  2. Last metadata expiration check: 0:01:25 ago on Thu Feb 15 01:59:31 2018.

  3. Installed Packages

  4. Name : nano

  5. Version : 2.8.7

  6. Release : 1.fc27

  7. Arch : x86_64

  8. Size : 2.1 M

  9. Source : nano-2.8.7-1.fc27.src.rpm

  10. Repo : @System

  11. From repo : fedora

  12. Summary : A small text editor

  13. URL : https://www.nano-editor.org

  14. License : GPLv3+

  15. Description : GNU nano is a small and friendly text editor.

方法 7: RPM 命令

RPM(紅帽包管理器RedHat Package Manager)是在 CentOS、Oracle Linux、Fedora 這些基於 RedHat 的作業系統上的一個強大的命令列包管理工具,同樣也可以幫助我們檢視系統的版本資訊。

◈ 建議閱讀: 在基於 RHEL 的系統上使用 RPM 命令管理軟體包[4]
  1. # rpm -q nano

  2. nano-2.8.7-1.fc27.x86_64

方法 8: APT-GET 命令

Apt-Get(高階打包工具Advanced Packaging Tool)是一個強大的命令列工具,可以自動下載安裝新軟體包、更新已有的軟體包、更新軟體包串列索引,甚至更新整個 Debian 系統。

◈ 建議閱讀: 在基於 Debian 的系統上使用 Apt-Get 和 Apt-Cache 命令管理軟體包[5]
  1. # apt-cache policy nano

  2. nano:

  3. Installed: 2.5.3-2ubuntu2

  4. Candidate: 2.5.3-2ubuntu2

  5. Version table:

  6. * 2.5.3-2ubuntu2 500

  7. 500 http://nova.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages

  8. 100 /var/lib/dpkg/status

  9. 2.5.3-2 500

  10. 500 http://nova.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages


via: https://www.2daygeek.com/check-find-linux-distribution-name-and-version/

作者:Magesh Maruthamuthu[7] 譯者:HankChow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖