【问题标题】:Find if AWS instance is running Amazon Linux 1 or 2?查找 AWS 实例是否正在运行 Amazon Linux 1 或 2?
【发布时间】:2019-05-18 07:47:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-linux amazon-linux-2


    【解决方案1】:

    您可以使用/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

    【讨论】:

    • ID_LIKE="centos rhel fedora" 是什么意思,这三个发行版都支持吗
    • 各种环境变量的格式好像变了一点,但是这些文件确实存在。
    【解决方案2】:
    $ cat /etc/system-release
    

    $ cat /etc/issue
    

    $ uname -a
    

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

    【讨论】:

      【解决方案3】:

      好吧,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
      

      【讨论】:

      • 只要知道 AMI ID 可能不会告诉您任何信息。如果实例是根据自定义 AMI 创建的,那么它甚至可能不再存在。
      【解决方案4】:

      这是一个单线。

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

      打印出来:

      Amazon Linux 2
      

      【讨论】:

        【解决方案5】:

        您可以使用以下命令:

        rpm -E %{rhel} 
        

        适用于操作系统:Amazon Linux 2

        The answer is : 7

        【讨论】:

        • 逻辑上没有星号:)
        猜你喜欢
        • 2014-09-14
        • 1970-01-01
        • 1970-01-01
        • 2012-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多