Please upgrade to Amazon Linux AMI 2014.03 from earlier versions!

While older versions of the AMI and its packages will continue to be available for launch in Amazon EC2 even as new Amazon Linux AMI versions are released, we encourage users to migrate to the latest version of the AMI and to keep their systems updated. In some cases, customers seeking support for an older version of the Amazon Linux AMI through AWS Support may be asked to move to newer versions as part of the support process.

To upgrade to Amazon Linux AMI 2014.03 from 2011.09 or later, run sudo yum update. When the upgrade is complete, reboot your instance.

Remember that the Amazon Linux AMI repository structure is configured to deliver a continuous flow of updates that allow you to roll from one version of the Amazon Linux AMI to the next. Please consult our lock-on-launch FAQ for a discussion of how you can lock an instance (either a new launch or already running) to a particular version of the Amazon Linux AMI repositories.

Having spent the past year tracking the 3.4 kernel series, for this release we have moved the kernel to the 3.10 series, which is a long-term stable release kernel.

A new addition to the AMI is Docker 0.9, along with LXC 0.9 and Golang 1.2. You can run Docker containers on the 2014.03 Amazon Linux AMI. Please note that in order to function properly, Docker requires the 3.10 kernel that is part of this release to be running on your system.

Ruby 2.0 is now the default Ruby interpreter. Core rubygems have been updated to work with Ruby 1.8 and Ruby 2.0.
We realize that many of our users depend on Ruby 1.8 and we have made it as easy as possible to stay on Ruby 1.8 for this release. To continue to use Ruby 1.8 on the 2014.03 Amazon Linux AMI:

The ruby packages (which were providing you with Ruby 1.8) will be automatically moved to ruby18.

If you are upgrading a running instance, your Ruby environment will not be migrated to Ruby 2.0, but if you install new packages from the 2014.03 repositories, Ruby 2.0 will potentially be installed.

To ensure that your environment will continue to use Ruby 1.8, run sudo alternatives --set ruby /usr/bin/ruby1.8 or run sudo alternatives --config ruby to set the default interactively.

Ruby 1.9 remains structurally unchanged from our previous release, but we strongly encourage users to migrate to Ruby 2.0.

Java 7 (java-1.7.0-openjdk) is now the default, though Java 6 (java-1.6.0-openjdk) remains in the repositories.

Cloud-Init has been updated to the 0.7 series, adding a number of useful features. One example is dracut-modules-growroot, which automatically resizes your root filesystem on boot.

Glibc has been updated from 2.12 to 2.17, bringing in numerous bug fixes and optimizations.

The default version of GCC is now 4.8 -- this is provided by the gcc package. gcc44, gcc46, and gcc47 are still available in the repositories.

Perl has been updated from 5.10 to 5.16, bringing in many fixes and enhancements. We also added perlbrew and a number of other Perl packages.

We add new packages based on customer requests and update existing packages frequently. Here are some highlights for this release from both of those categories.

  • 389-ds-base-1.3.2.16
  • chrony-1.29 (new)
  • cjkuni-fonts (new)
  • curl-7.35.0
  • docker-0.9.0 (new)
  • geos-3.4.2 (new)
  • gnupg-1.4.16
  • golang-1.2 (new)
  • GraphicsMagick-1.3.18 (new)
  • graphviz-2.30.1
  • httpd-2.2.26
  • httpd24-2.4.9
  • java-1.6.0-openjdk-1.6.0.0-66
  • java-1.7.0-openjdk-1.7.0.51-2
  • libnl3-3.2.21 (new)
  • lxc-0.9.0 (new)
  • mod_perl-2.0.7
  • mysql51-5.1.73
  • mysql55-5.5.36
  • perlbrew-0.66 (new)
  • php-5.3.28
  • php54-5.4.26
  • php55-5.5.10
  • pngcrush-1.7.69
  • postgresql8-8.4.20
  • postgresql9-9.2.7
  • psmisc-22.20
  • ruby18-1.8.7.374
  • ruby19-1.9.3.545
  • ruby20-2.0.0.451 (new)
  • subversion-1.8.8
  • tomcat6-6.0.37
  • tomcat7-7.0.47
  • varnish-3.0.5
  • vim-7.4.027
  • wqy-zenhei-fonts (new)
  • aws-cli-1.3.4
  • python-boto-2.27.0
  • aws-amitools-ec2-1.5.2
  • aws-apitools-as-1.0.61.4
  • aws-apitools-cfn-1.0.12
  • aws-apitools-ec2-1.6.12.2
  • aws-apitools-elb-1.0.34.0
  • aws-apitools-iam-1.5.0
  • aws-apitools-mon-1.0.20.0
  • aws-apitools-rds-1.15.001
  • aws-cfn-bootstrap-1.3
  • aws-scripts-ses-2012.07.09
  • php-amazon-sdk-1.6.2
  • php-amazon-sdk2-2.5.4
  • rubygem-aws-sdk-1.37

There are six different flavors of the Amazon Linux AMI 2014.03. This compatibility table shows which 2014.03 AMI flavors launch on each EC2 instance type.

The Amazon Linux AMI FAQs is updated with both general and technical topics.

We use the Amazon EC2 Discussion Forum for bug reports, feature requests, and package requests. These forums are monitored by AWS Developer Support as well as the Amazon Linux AMI engineering team.

The 2014.09 release will mark 3 years since our Amazon Linux AMI GA announcement, and we are going to start deprecating or removing some of the older packages that we have been supporting as part of our rolling release model.
Regarding the packages themselves:

  • We are considering removing Perl from the packages that are installed by default on the AMI, but it will remain in the repositories.
  • We are considering switching from MySQL to MariaDB.

The following are candidates for deprecation, meaning that they will still be part of the overall package collection, but will no longer be the default version of that package (which is what they are currently):

  • PHP 5.3 -- moving to PHP 5.5 as the default.
  • Python 2.6 -- moving to Python 2.7 as the default.

The following are candidates for removal, meaning that they will be dropped from the AMI and the repositories entirely:

  • Python 2.4
  • GCC 4.4
  • GCC 4.6
  • GCC 4.7
  • PHP 5.4
  • Ruby 1.9
  • PostgreSQL 8
  • MySQL 5.1
  • Java 6 -- which will also include modifying packages (like tomcat7) to be built against Java 7.

Please let us know if you have feedback or concerns about any of these plans.