转载自:https://linux.cn/article-9586-1.html

如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。作为系统管理员,充分了解系统信息是首要的任务。

查看 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. # 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 命令管理软件包
 
  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 的一个分支)命令管理软件包
 
  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 命令管理软件包
 
  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 命令管理软件包
 
  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 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

【转载】查看 Linux 发行版名称和版本号的 8 种方法相关推荐

  1. 【转】查看 Linux 发行版名称和版本号的 8 种方法

    如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作.作为系统管理员,充分了解系统信息是首要的任务. 查 ...

  2. 查看 Linux 发行版名称和版本号的 8 种方法

    如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作.作为系统管理员,充分了解系统信息是首要的任务. 查 ...

  3. 查看 Linux 发行版名称 和 版本号 的多种方法

    如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作.作为系统管理员,充分了解系统信息是首要的任务. 查 ...

  4. 查看Linux发行版名称及版本号

    查看Linux发行版名称及版本号 对于linx发行版及版本号的查看有如下几种方法,当一种方法失效的时候可以试试其他几种: cat /etc/os-release [vagrant@k8s-master ...

  5. 技巧1——怎样查看linux发行版本名称和版本号?

    假如我们加入了一家新公司,需要为开发团队安装所需要的软件并且重启服务 首先要弄清楚它们运行在什么发行版本上以及在哪个版本的系统上,才能正确的完成后续的工作 作为一名系统管理员,充分了解系统信息是首要的 ...

  6. linux发行版本号列举,查看Linux发行版的名称及其版本号

    查看Linux发行版的名称及其版本号 一.查看Linux内核版本命令 1.cat /proc/version [root@localhost ~]# cat /proc/version Linux v ...

  7. jq获取id的名称_查找 Linux 发行版名称、版本和内核详细信息 | Linux 中国

    我这里给出了一些命令行方法来查找 Linux 系统信息.可能有很多,但这些方法适用于大多数 Linux 发行版.-- Sk 本指南介绍了如何查找 Linux 发行版名称.版本和内核详细信息.如果你的 ...

  8. python获取Linux发行版名称

    我必须从Python脚本中获取Linux发行版名称.dist平台模块中有一个方法: import platform platform.dist() 但在我的Arch Linux下它返回: >&g ...

  9. Linux发行版上安装Netbeans IDE的各种方法

    在本文中,您将学习在Ubuntu和其他Linux发行版上安装Netbeans IDE的各种方法. NetBeans是一个开源的集成开发环境,具有良好的跨平台支持.该工具已被Java和C/C ++开发社 ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——指针
  2. iphonex重量_精仿苹果iPhone X手机配置介绍
  3. Iterator(迭代器)的一般用法
  4. 全面探讨PL/SQL的复合数据类型
  5. python中用break结束死循环
  6. 关于Adapter对数据库的查询、删除操作
  7. maven 打包数据库加密_漫画:工作这么多年,你居然不知道 Maven中 Optional 和 Exclusions 的区别?...
  8. java poi读取word中附件_java用poi实现对word读取和修改操作
  9. ncl 多个单一时间文件合并成一个nc文件_iOS逆向--MachoO文件
  10. 2013-8-9练习[多种方法制作一个计时器]
  11. c 子类对象 访问父类对象受保护成员_面向对象三大特征: 继承
  12. 2021-09-08 集成学 习 思想概述
  13. ubuntu下各种软件下载
  14. **Unity环境光遮蔽(Ambient Occlusion)Shader实现逻辑**
  15. 你对Java集合了解多少?
  16. Excel VBA 小程序 - 文本型数字转为数值型数字
  17. Pandas做数据空缺值填充
  18. Windows:nginx: [error] CreateFile() “/logs/nginx.pid“ failed (2: The system)
  19. 关于空字符(NUL)在三种不同语言中的匹配
  20. pn532未发现nfc设备_NFC手机手环脱机模拟加密门禁卡,你get了吗?

热门文章

  1. 《图解设计模式》-各章节的划分/学习设计模式之前
  2. 润华物业冲刺港股:年营收6亿 上市前景不容乐观
  3. html 禁止选择与复制出现蓝色选中状态,禁止图片拖拽,隐藏鼠标,全屏状态下有效
  4. 对scipy.cluster.vq中whiten()函数总结
  5. 有趣的自定义View — 玫瑰·三阶贝塞尔曲线
  6. 阿里云RPA(机器人流程自动化)干货系列之三:阿里云RPA介绍
  7. (C)有两个红球,三个黄球,四个白球,任意取四个球,其中必须有一个红球,编程输出所以可能的方案。
  8. JavaSE笔记详细整理
  9. FFmpeg三件套之FFprobe使用介绍
  10. 科研人必备,Zotero神器安装使用全过程!