AWS服务器查看Linux OS系统版本信息的方法

前一段时间在AWS服务器上使用Azure服务出了点问题,就好奇公司给的AWS服务器的操作系统到底是什么,查了不少资料终于找到了比较可靠的方法,特作记录。


一、查找Linux OS对应的操作系统名称的方法

虽然常规查找Linux操作系统版本的方法针对AWS自有操作系统都没用,但还是记一下吧

1、如果是Ubuntu,输入cat /etc/lsb-release。有找到的话会出现以下讯息:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

注意:如果不是Ubuntu,则会出现以下讯息(因为不是Ubuntu系统,所以不存在lsb-release命名的系统文件)

$ cat /etc/lsb-release
cat: /etc/lsb-release: No such file or directory

2、Debian虽然跟Ubuntu同体系,但是存放版本号文件名还是和Ubuntu不一样:

$  cat /etc/debian_version
8.0

3、Fedora, Red Hat and CentOS 的查看方法:

Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

二、确认Kernel版本

如果以上方法都不行,说明可能是其他版本的Linux版本,那么可以使用uname -or取得kernel的版本:
在这里插入图片描述
可以看到Linux的版本号,通过https://repology.org/project/linux/packages查找版本号,可以看出它是Amazon Linux 2系统:

在这里插入图片描述
从AWS官网可以看出这个版本继承的是Linux kernel 5.10,如果你要使用的SDK或者其他服务有系统要求的话就要注意是不是版本不匹配了

在这里插入图片描述

到这一步其实就可以确认AWS的Linux的OS版本了,那么怎么才能在命令行里打印出这些信息呢?
继续往下看。


三、针对AWS自有Linux OS的操作系统名称的方法

AWS服务器预置的操作系统选项很多,最麻烦的是AWS自有的Linux操作系统,如果使用上述方法是找不到系统信息的,因为不存在上述的所有系统信息文件,但是使用ls /etc/*release可以看到在/etc路径下还是有系统文件的:
在这里插入图片描述
那么直接使用cat /etc/os-release把它们打印出来就可以了:
在这里插入图片描述
可以看出这台服务器使用的是AWS自带的操作系统版本,可以拿着这个去找运维重装系统了(不是)。

当然也可以用以下命令打印出来,下面这个更具有广泛性,适合可能不太清楚linux操作系统的人一键式生成操作系统信息。

cat /etc/*{release,version}

在这里插入图片描述


四、误区——在查找版本时候可能会出现的错误理解

误区一:使用命令rpm -E %{rhel},这个应该是针对Redhat系统的命令语句,在AWS Linux 2系统下打印出来的结果是:
在这里插入图片描述
这里的7代表的是Redhat 7版本。

误区二:使用命令cat /proc/version,在AWS Linux 2系统下打印出来的结果是:

在这里插入图片描述

误区二是误导了运维给我错误的版本信息的元凶,一般来说的确会觉得都写了RedHat 7.3那就应该是RedHat系统了,但是其实不是的。

针对AWS服务器系统的具体讨论可以见:https://serverfault.com/questions/798427/what-linux-distribution-is-the-amazon-linux-ami-based-on

这里把大佬们的讨论结果总结一下:

1、Amazon Linux的相关文档非常少,而且很杂乱,虽然说是基于Centos,但是使用过程中可能更接近于Ubuntu。有人说下次自己一定使用Ubuntu LTS再也不用AWS的自带系统了。

2、时间截止2013年,针对AWS Linux AMI 1是基于RHEL 5.x 也包含部分 RHEL6,但是也仅仅是为了兼容RHEL。但是截止到2016年,AWS的自有Linux OS就不基于任何Linux发行版本,该系统版本是被Amazon独立进行维护的。针对AWS自有系统无法使用package的讨论从这个时间点开始就经久不衰了(笑)。

3、针对误区二,RedHat 7.3.1的说明仅仅是表达gcc版本中的一个字符串而已,虽然可能是兼容的,但是如果真要查操作系统版本,还是用上面提到的方法,不要把cat /proc/version当真了,毕竟Linux的版本真的很多。


五、参考资料:

针对AWS服务器的讨论:https://serverfault.com/questions/798427/what-linux-distribution-is-the-amazon-linux-ami-based-on

操作系统查看命令:https://lukahuang.com/linux-how-to-check-os/

Kernel对应的操作系统版本信息查看:https://repology.org/project/linux/packages

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值