Amazon Web Services (AWS) offers an officially supported Amazon Machine Image (AMI), but it doesn't indicate which Linux distribution it's based upon.

Is the official Amazon Linux AMI based on another Linux distribution, and if so, which one?

  • 5
    Amazon Linux is relatively poorly documented. Because it's somewhat based on Centos sometimes that information works, but there's a lot less information than for say Ubuntu. My prod servers run on AL but I'd use Ubuntu LTS next time. – Tim Aug 22 '16 at 20:02

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.

| improve this answer | |
  • 9
    IIRC it started off as a RHEL/CentOS modification. It has changed enough that you can probably call it a separate distro now, but it retains a lot of their legacy - yum etc. google.com/search?q=amazon+linux+centos You'll note that your linked AWS forum thread states The Amazon Linux AMI is based on RHEL 5.x and parts of RHEL6. but that was back in 2010. More recently they state one of the goals of the most current Amazon Linux AMI (2013.09) is to be as compatible as possible with RHEL 6. – ceejayoz Aug 22 '16 at 19:59
  • 16
    @ceejayoz In 2016, that goal is long gone. Amazon Linux hasn't been compatible with RHEL anything in quite a while. Indeed, here we have at least hundreds of questions from people trying to use packages for RHEL/CentOS on Amazon Linux and them not working, for precisely this reason. – Michael Hampton Aug 22 '16 at 20:03
  • @MichaelHampton 2013 marks about the end of my Amazon Linux experience, so I defer to you there. :-) – ceejayoz Aug 22 '16 at 20:24
  • 1
    The discussion referenced is many years old, and even there the most recent comment (2013) states: " one of the goals of the most current Amazon Linux AMI (2013.09) is to be as compatible as possible with RHEL 6. If there are places in which you find that we are not, please let us know so that we can investigate further." – jeffmcneill Jan 1 '17 at 10:41
  • best Guess is using uname -a returns kernel "amzn1" - centos6, "amzn2" - centos7 ; Notice 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 – wwright Apr 29 '19 at 15:14

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.

| improve this answer | |
  • 1
    this should be the accepted answer. anything else is going to be out of date and this is how you can actually determine the RPM repos you need to use – steveinatorx Mar 31 at 15:59

Seems like it's based on RHEL:

$ cat /etc/os-release
NAME="Amazon Linux AMI"
ID_LIKE="rhel fedora"
PRETTY_NAME="Amazon Linux AMI 2017.09"

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

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.

| improve this answer | |
  • 2
    A check on my image suggests it uses upstart as init by default, so that would indicate RHEL6 as the basis (as RHEL7 uses systemd). – Jules May 12 '18 at 10:48
  • I didn't check for or notice upstart anywhere. You might be right. I skipped RHEL6 entirely while at another company that only supported suse. – todd_dsm May 15 '18 at 1:23

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

| improve this answer | |
  • 9
    AMI is definitely CentOS 6.x, whereas Amazon Linux 2 is CentOS 7.x. – jeffmcneill Nov 22 '18 at 8:23

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.