37

在 AWS 中,我需要根据本文将 amazon linux 实例添加到域。但是我怎么知道实例使用的是哪个 Amazon Linux 版本。我无权访问 AWS 控制台。但我确实可以访问实际实例。我应该使用什么 linux 命令。

我使用uname -srm返回的命令Linux 4.4.0-1057-aws x86_64

不确定这是 Amazon Linux 1 还是 Amazon Linux 2

4

5 回答 5

64

您可以使用/etc/os-release文件获取有关 Amazon Linux 版本的信息,机器正在运行。

  1. 如果是亚马逊 1

    [ec2-user@ip-x-x-x- ~]$ cat /etc/os-release
    NAME="Amazon Linux AMI"
    VERSION="2018.03"
    ID="amzn"
    ID_LIKE="rhel fedora"
    VERSION_ID="2018.03"
    PRETTY_NAME="Amazon Linux AMI 2018.03"
    ANSI_COLOR="0;33"
    CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
    HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
    
  2. 如果是亚马逊 2

    [ec2-user@x-x-x-x ~]$ cat /etc/system-release
    Amazon Linux release 2.0 (2017.12) LTS Release Candidate
    [ec2-user@fresh-amazon-host ~]$ cat /etc/os-release
    NAME="Amazon Linux"
    VERSION="2.0 (2017.12)"
    ID="amzn"
    ID_LIKE="centos rhel fedora"
    VERSION_ID="2.0"
    PRETTY_NAME="Amazon Linux 2.0 (2017.12) LTS Release Candidate"
    ANSI_COLOR="0;33"
    CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2.0"
    HOME_URL="https://amazonlinux.com/"
    

正如您可以清楚地看到两个不同的版本,称为 Amazon Linux 和 Amazon Linux 2.0

于 2019-06-13T08:09:34.900 回答
12
$ cat /etc/system-release

或者

$ cat /etc/issue

或者

$ uname -a

并前往https://aws.amazon.com/amazon-linux-ami/

于 2019-01-04T08:19:45.830 回答
3

您可以使用以下命令:

rpm -E %{rhel} 

对于操作系统:亚马逊 Linux 2

The answer is : 7

于 2020-07-27T13:37:22.397 回答
2

这是一个单线。

awk -F '[="]*' '/^PRETTY_NAME/ { print $2 }' < /etc/os-release 

它打印出来:

Amazon Linux 2
于 2021-06-01T20:22:25.607 回答
2

好吧,https ://aws.amazon.com/about-aws/whats-new/2017/12/introducing-amazon-linux-2 中的公告声明它使用 4.9 内核。你的比较老,所以我会说它是 Linux 1。

尽管如此,来自终端的以下调用应该会为您提供 AMI ID,您可以对其进行搜索(请参阅https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata 上的文档。 html ):

curl http://169.254.169.254/latest/meta-data/ami-id
于 2018-12-17T22:31:45.033 回答