美文网首页
如何识别Linux的发行版本

如何识别Linux的发行版本

作者: 量U移动广告归因 | 来源:发表于2021-06-25 21:39 被阅读0次
这个问题看起来好像很简单,其实深究起来还有点复杂

网上有人说可以用 uname -a 进行查看,那我们来看看到底能不能使用这个作为判别依据

//各大发行版的 uname -a 输出
CentOS8.2
Linux localhost.localdomain 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Fedora34
Linux localhost-live 5.11.12-300.fc34.x86_64 #1 SMP Wed Apr 7 16:31:13 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Debian9.6
Linux 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux

OpenSUSE15.3
Linux localhost.localdomain 5.3.18-57-default #1 SMP Wed Apr 28 10:54:41 UTC 2021 (ba3c2e9) x86_64 x86_64 x86_64 GNU/Linux

Ubuntu20.04
Linux ubuntu 5.8.0-59-generic #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

除了 Debian 和 Ubuntu ,其他发行版并没有输出特别明显的标识。由此可见,uname -a 的输出并不足以用来标识各大发行版

那么还有其他的方式来识别吗?有的,那就是 cat /proc/version ,我们来看看这个的输出

CentOS8.2
Linux version 4.18.0-193.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri May 8 10:59:10 UTC 2020

Fedora34
Linux version 5.11.12-300.fc34.x86_64 (mockbuild@bkernel01.iad2.fedoraproject.org) (gcc (GCC) 11.0.1 20210324 (Red Hat 11.0.1-0), GNU ld version 2.35.1-41.fc34) #1 SMP Wed Apr 7 16:31:13 UTC 2021

Debian9.6
Linux version 4.9.0-8-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.130-2 (2018-10-27)

Ubuntu20.04
Linux version 5.8.0-59-generic (buildd@lcy01-amd64-022) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC 2021

OpenSUSE15.3
Linux version 5.3.18-57-default (geeko@buildhost) (gcc version 7.5.0 (SUSE Linux)) #1 SMP Wed Apr 28 10:54:41 UTC 2021 (ba3c2e9)

可以看到,Red Hat系的发行版都会有 Red Hat 的标识,而Debian系的都会有对应的发行版关键词,那么如果 Red Hat系该怎么区分发行版呢?答案就是 cat /etc/redhat-release ,所有Red Hat系的发行版都有这个文件,并且还可以显示版本号

所以整体逻辑就是,先使用 cat /proc/version 查看是Red Hat系还是Debian系。如果是Red Hat系,再使用 cat /etc/redhat-release 查看具体的发行版和版本号
下面是一个可以识别发行版的 shell 脚本

pkg=""
get_release_pkg(){
    if [[ $(cat /proc/version | grep -i "Red Hat") != "" ]]
    then
        pkg="yum"
    elif [[ $(cat /proc/version | grep -i "Ubuntu" ) != "" ]] ||  [[ $(cat /proc/version | grep -i "Debian" ) != "" ]]
    then
        pkg="apt"
    elif [[ $(cat /proc/version | grep -i "SUSE") != "" ]]
    then
        pkg="zypper"
    fi
}
get_release_pkg
echo ${pkg}

相关文章

  • 如何识别Linux的发行版本

    这个问题看起来好像很简单,其实深究起来还有点复杂 网上有人说可以用 uname -a 进行查看,那我们来看看到底能...

  • Linux版本挑选

    Linux存在许多发行版本,如何挑选需要的版本?参考如下: 各个 Linux 发行版的风格和哲学分别是怎样的?

  • 1.初识Linux

    初识Linux Linux分为内核版本和发行版本,内核版本就是它的源码。发行版本包括redhat,centos。 ...

  • 【马哥教育】N43作业-001

    1、按系列罗列Linux的发行版本,并描述不同发行版本之间的联系与区别 Linux主流发行版本: Redhat,应...

  • 选择适合自己的Linux发行版

    Linux教程 选择适合自己的Linux发行版 Linux的版本继承了Unix的版本定制规则,分为内核版本和发行版...

  • 2、Linux发行版本

    很多朋友在学习linux的时候是否为了如何选择linux的版本而发愁,今天我为大家介绍下linux的各大发行版本,...

  • Linux的发行版本及不同版本的联系和区别

    Linux的发行版本及不同版本的联系和区别 1.概述发行版本有:Red Hat Linux、SuSE、centos...

  • linux系统

    linux系统简介 Linux各种发行版本概述(Redhat系 | Debian系) 1. 发行版本 ​ Li...

  • 查看 linux 版本号

    参考:## 如何查看LINUX发行版的名称及其版本号 查看内核版本 cat /proc/version uname...

  • Linux

    Linux:Open Source Linux发行版名称和版本号由发行版的维护者决定 Linux的内核版本: 主版...

网友评论

      本文标题:如何识别Linux的发行版本

      本文链接:https://www.haomeiwen.com/subject/fyvnyltx.html