centos6-7通用查看系统版本的方法

来源:互联网 发布:淘宝上的药店有资质吗 编辑:程序博客网 时间:2024/05/17 03:07

    因为最近要写一个centos的初始化脚本,但是centos6和centos7版本有很多命令都不相同,所以为了让脚本在两个版本之间都可以使用,就需要对centos系统版本进行判断。

    通过查找各种资料,我发现基本有下面几种查看系统版本的方法:

方法一:可以用lsb_release -a来查看系统版本

[root@centos6 ~]# lsb_release -aLSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID:    CentOSDescription:    CentOS release 6.9 (Final)Release:    6.9Codename:    Final

         但是,centos7.3里没有lsb_release命令,所以这种方法无法满足我的需要。

方法二:可以查看/etc/os-release文件来查看系统版本

[root@centos7 app]# cat /etc/os-release NAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https://www.centos.org/"BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"

    但是,centos6里没有这个文件,所以这个方法也不适用

方法三:可以查看/etc/redhat-release(/etc/centos-release)文件来查看系统版本

[root@centos6 ~]# cat /etc/redhat-release CentOS release 6.9 (Final)[root@centos7 app]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 

    可以看到,这个方法在两个版本中都可以使用,但是在两个版本中的显示结果不同,不好统一取版本值,所以这个方法也不能满足我的需求。

方法四:可以使用rpm -q centos-release来查看系统版本

[root@centos6 ~]# rpm -q centos-releasecentos-release-6-9.el6.12.3.x86_64[root@centos7 app]# rpm -q centos-releasecentos-release-7-3.1611.el7.centos.x86_64

    如上,这个命令在两个版本中显示结果格式一致,所以我们可以使用cut很轻松的取系统版本的值。

 

[root@centos6 ~]#  rpm -q centos-release|cut -d- -f36[root@centos7 ~]# rpm -q centos-release|cut -d- -f37

 

        然后就可以在脚本中进行判断系统版本了。