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

是基于另一个Linux发行版的官方Amazon Linux AMI,如果是这样,哪一个呢?

评论

Amazon Linux的文档相对较少。因为有时候它是基于Centos的,所以信息有用,但是信息比Ubuntu少得多。我的产品服务器在AL上运行,但是下次我将使用Ubuntu LTS。

#1 楼

无需运行特定发行版的RHEL版本,只需运行:

rpm -E %{rhel}


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

评论


这应该是公认的答案。其他任何东西都将过时,这就是您如何实际确定需要使用的RPM回购的方式

–steveinatorx
20 Mar 31 '15:59



这是一个简单正确的答案。谢谢!

– Tuananhcwrs
20/12/19在10:23

#2 楼

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

评论


IIRC是作为RHEL / CentOS修改开始的。它已经发生了足够的变化,您现在可以将其称为一个单独的发行版,但是它保留了许多旧版本-yum等。google.com/search?q=amazon+linux+centos您会注意到,链接的AWS论坛线程声明Amazon Linux AMI基于RHEL 5.x和RHEL6的某些部分。但这要追溯到2010年。最近,他们指出最新的Amazon Linux AMI(2013.09)的目标之一是尽可能与RHEL 6兼容。

–ceejayoz
16年8月22日在19:59



@ceejayoz在2016年,这个目标早已消失。 Amazon Linux在很长一段时间内都没有与RHEL兼容。确实,在这里,我们至少有数百个问题,有人试图在Amazon Linux上为RHEL / CentOS使用软件包,而正是由于这个原因,它们无法正常工作。

–迈克尔·汉普顿
16年8月22日在20:03



@MichaelHampton 2013标志着我的Amazon Linux体验即将结束,因此我在此向您致意。 :-)

–ceejayoz
16年8月22日在20:24

所涉及的讨论已有多年历史,甚至在最近的评论(2013年)中都指出:“最新的Amazon Linux AMI(2013.09)的目标之一是与RHEL 6尽可能兼容。如果您发现我们不是,请告诉我们,以便我们进行进一步调查。”

– jeffmcneill
17年1月1日在10:41

最好的猜测是使用uname -a返回内核“ amzn1”-centos6,“ amzn2”-centos7;注意4.14.97-74.72.amzn1.x86_64#1 SMP Tue Feb 5 20:59:30 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

–赖特
19年4月29日在15:14



#3 楼

好像它基于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/"


freedesktop说“ ID_LIKE”:


它应该列出操作系统的标识符在打包和编程接口方面与本地操作系统密切相关的功能,例如列出本地OS派生的一个或多个OS标识符。


列出一个或多个OS标识符,本地OS是从
衍生的。
如果您要查看RHEL / CentOS7,则同一文件将显示为:

$ cat /etc/os-release
...
ID_LIKE="fedora"
...


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

基于RHEL 5/6的亚马逊似乎极不可能。


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

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

虽然不负责任得多,但也没有充分的理由甚至使用RHEL6x。

评论


检查我的映像后,默认情况下它会使用upstart作为init,因此将以RHEL6为基础(因为RHEL7使用systemd)。

–法律
18年5月12日在10:48

我没有检查或注意到任何地方的暴发户。你可能是对的。在另一家仅支持suse的公司中,我完全跳过了RHEL6。

–todd_dsm
18年5月15日在1:23

#4 楼

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

评论


AMI绝对是CentOS 6.x,而Amazon Linux 2是CentOS7.x。

– jeffmcneill
18年11月22日在8:23

#5 楼

有点晚了,但是您可以运行:

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在这种情况下。

评论


好一个!迟到更好...

– Eran Ben-Natan
20年9月9日在8:08

或只是一致-a

–阿米特·奈杜(Amit Naidu)
20-10-6在21:29

好答案。最好的。该命令明确指出了Red Hat 7.3.1-6。那正是我一直在寻找的东西。谢谢!

– Binita Bharati
20 Dec 17'7:26

#6 楼

荒谬地说,Amazon Linux 2不是基于任何流行的Linux发行版,而是其自己的实体。有人应该如何安装其他未经Amazon Linux认证的Linux软件包?因此,我安装了Amazon Linux 2。它似乎基于RHEL7。cat /etc/os-release的输出:
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

cat /proc/version的输出:
Linux version 4.14.203-156.332.amzn2.x86_64 (mockbuild@ip-10-0-1-132) (gcc version 7.3.1 20180712 (Red Hat 7.3.1-10) (GCC)) #1 SMP Fri Oct 30 19:19:33 UTC 2020


评论


这就是为什么最好将其他发行版用于通用计算。 Ubuntu,Centos等

– Tim
20 Dec 17'7:52

它是在很早以前从CentOS 7派生的,但是不再兼容。

–迈克尔·汉普顿
20 Dec 17'8:03