What Linux distribution is the Amazon Linux AMI based on?

Solution 1:

Instead of guessing which version of RHEL a particular distro is based off, just run:

rpm -E %{rhel}

For Amazon Linux 2, this will give you 7.

Solution 2:

There's a discussion thread available over on the AWS forums that indicates the officially supported Amazon Linux AMI is not based upon any Linux distribution. Rather, the Amazon Linux AMI is independently maintained image by Amazon.


Solution 3:

Seems like it's based on 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 says of "ID_LIKE":

It should list identifiers of operating systems that are closely related to the local operating system in regards to packaging and programming interfaces, for example listing one or more OS identifiers the local OS is a derivative from.

listing one or more OS identifiers the local OS is a derivative from

If you were to look at RHEL/CentOS7 the same file would read:

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

And yet, Amazon Linux still features yum and no dnf in sight; weird. Speculation leads me to support the theory that Amazon has a supported upstream agreement with RH.

That it's based on RHEL 5/6 seems extremely unlikely.

  1. Nobody should be using RHEL5x, because
  2. There are too many drivers and security updates introduced over the last 10 years.

That would be both lazy and stupid; 2 things I wouldn't normally ascribe to Amazon's engineers. One way to determine that would be to isolate something that is only present in the latest version of RHEL7, a driver, kernel security patch, etc. and run the same test on Amazon Linux; it's either present or it's not.

While far less irresponsible, there's no valid reason to even use RHEL6x either.


Solution 4:

A bit late, but you can run:

cat /proc/version

and will tell you:

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 in this case.


Solution 5:

Based on file structure where instead of /usr/local/bin/composer I have to use /usr/bin/composer it is CentOS 7