• centos6/7通用查看系统版本


    查看centos6/7系统版本

      要写一个centos系统的初始化脚本,但是centos6和centos7版本有很多命令都不相同,所以为了让脚本在两个版本之间都可以使用,就需要对centos系统版本进行判断。
      通过查找各种资料,我发现基本有下面几种查看系统版本的方法:

    方法一:

    lsb_release -a

    [root@centos6 ~]# lsb_release -a
    LSB 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-noarch
    Distributor ID:    CentOS
    Description:    CentOS release 6.9 (Final)
    Release:    6.9
    Codename:    Final
    

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

    方法二:

    cat /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里没有这个文件,所以这个方法也不适用。

    方法三:

    cat /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) 
    

      可以看到,这个方法在两个版本中都可以使用,可以使用sed命令取版本的值

    [root@centos6 ~]# cat /etc/redhat-release|sed -r 's/.* ([0-9]+)..*/1/'
    6
    [root@centos7 ~]# cat /etc/redhat-release|sed -r 's/.* ([0-9]+)..*/1/'
    7
    

    方法四:

    rpm -q centos-release

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

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

    [root@centos6 ~]#  rpm -q centos-release|cut -d- -f3
    6
    [root@centos7 ~]# rpm -q centos-release|cut -d- -f3
    7
    

      然后就可以在脚本中使用这个值判断系统版本了。

  • 相关阅读:
    网络流24题
    Songwriter CF1252-E(贪心)
    Card Collector AtCoder
    Game on a Tree Gym
    图书管理系统五
    bfs+状态压缩dp
    最短路径(邻接矩阵)
    求小于等于k长度的最大区间和
    链表实现队列C语言写法
    图书管理系统四
  • 原文地址:https://www.cnblogs.com/flylinux/p/7498327.html
Copyright © 2020-2023  润新知