Amazon Linux AMI 基于什么 Linux 发行版?

Tre*_*van 83 linux amazon-ec2 amazon-web-services

Amazon Web Services (AWS) 提供了官方支持的 Amazon Machine Image (AMI),但它没有指明它基于哪个 Linux 发行版。

官方 Amazon Linux AMI 是否基于另一个 Linux 发行版,如果是,是哪个发行版?

Dan*_*nin 49

无需猜测特定发行版基于哪个 RHEL 版本,只需运行:

rpm -E %{rhel}
Run Code Online (Sandbox Code Playgroud)

对于 Amazon Linux 2,这将为您提供7.

  • 这应该是公认的答案。其他任何内容都会过时,这就是您实际确定需要使用的 RPM 存储库的方法 (5认同)
  • 7 是什么意思?数字是否对应 Linux 发行版? (3认同)

Tre*_*van 28

AWS 论坛上有一个讨论主题,表明官方支持的 Amazon Linux AMI 不基于任何 Linux 发行版。相反,Amazon Linux AMI 是由 Amazon 独立维护的映像。

  • @ceejayoz 在 2016 年,这个目标早已不复存在。Amazon Linux 已经有一段时间不与 RHEL 兼容了。事实上,我们在这里至少有数百个问题来自那些试图在 Amazon Linux 上使用 RHEL/CentOS 软件包的人,正是出于这个原因,他们无法正常工作。 (19认同)
  • IIRC 最初是对 RHEL/CentOS 的修改。它已经发生了足够的变化,您现在可以将其称为单独的发行版,但它保留了很多传统 - `yum` 等。 https://www.google.com/search?q=amazon+linux+centos You'请注意,您链接的 AWS 论坛帖子指出“Amazon Linux AMI 基于 RHEL 5.x 和 RHEL6 的一部分。”但那是在 2010 年。最近他们陈述了“最新 Amazon Linux AMI 的目标之一” (2013.09) 尽可能与 RHEL 6` 兼容。 (11认同)

tod*_*dsm 18

似乎它基于 RHEL:

$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2017.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2017.09"
PRETTY_NAME="Amazon Linux AMI 2017.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2017.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Run Code Online (Sandbox Code Playgroud)

freedesktop说“ID_LIKE”:

它应该列出在封装和编程接口方面与本地操作系统密切相关的操作系统标识符,例如列出本地操作系统衍生自的一个或多个操作系统标识符。

列出本地操作系统衍生的一个或多个操作系统标识符

如果您查看 RHEL/CentOS7,相同的文件将显示为:

$ cat /etc/os-release
...
ID_LIKE="fedora"
...
Run Code Online (Sandbox Code Playgroud)

然而,Amazon Linux 仍然具有功能,yum而且dnf看不到;奇怪的。推测使我支持亚马逊与 RH有受支持的上游协议的理论。

它基于 RHEL 5/6 似乎极不可能。

  1. 没有人应该使用 RHEL5x,因为
  2. 在过去 10 年中引入了太多的驱动程序和安全更新。

那既懒惰又愚蠢;我通常不会将两件事归咎于亚马逊的工程师。确定这一点的一种方法是隔离仅在最新版本的 RHEL7、驱动程序、内核安全补丁等中存在的内容,并在 Amazon Linux 上运行相同的测试;它要么存在,要么不存在。

虽然不那么不负责任,但也没有正当理由使用 RHEL6x。

  • 对我的图像的检查表明它默认使用 upstart 作为 init,因此这将表明 RHEL6 作为基础(因为 RHEL7 使用 systemd)。 (2认同)

xma*_*mar 11

有点晚了,但你可以运行:

cat /proc/version

并且会告诉你:

Linux version 4.14.173-137.229.amzn2.x86_64 (mockbuild@ip-10-0-1-143) (gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)) #1 SMP Wed Apr 1 18:06:08 UTC 2020

在这种情况下是 RedHat 7。


小智 6

基于文件结构,而不是 /usr/local/bin/composer 我必须使用 /usr/bin/composer 它是 CentOS 7

  • AMI 绝对是 CentOS 6.x,而 Amazon Linux 2 是 CentOS 7.x。 (10认同)