Comparing AL2 and AL2023 - Amazon Linux 2023

Comparing AL2 and AL2023

The following topics describe key differences between AL2 and AL2023.

For more information on functionality deprecated in AL1, AL2, and AL2023, see Deprecated Functionality in AL2023.

Added, upgraded, and removed packages

AL2023 contains thousands of software packages available for use. For a full list of all packages added, upgraded, or removed in AL2023 when compared to prior Amazon Linux versions, see Package changes in AL2023.

To request a package to be added or changed in AL2023, file an issue in the amazon-linux-2023 repo on GitHub.

Support for each release

For AL2023, we offer five years of support.

For more information, see Release cadence.

Naming and versioning changes

AL2023 supports the same mechanisms that AL2 supports for platform identification. AL2023 also introduces new files for platform identification.

For more information, see Naming and versioning.

Optimizations

AL2023 optimizes boot time to reduce the time from instance launch to running the customer workload. These optimizations span the Amazon EC2 instance kernel configuration, cloud-init configurations, and features that are built into packages in the OS such askmod and systemd.

For more information about optimizations, see Performance and operational optimizations.

Sourced from multiple upstreams

AL2023 is RPM-based and includes components sourced from multiple versions of Fedora and other distributions, such as CentOS 9 Stream. The Amazon Linux kernel is sourced from the long-term support (LTS) releases directly from kernel.org, chosen independently from other distributions.

For more information, see Relationship to Fedora.

Networking system service

The systemd-networkd system service manages the network interfaces in AL2023. This is a change from AL2, which uses ISC dhclient or dhclient.

For more information, see Networking service.

Package manager

The default software package management tool on AL2023 is DNF. DNF is the successor to YUM, the package management tool in AL2.

For more information, see Package management tool.

Using cloud-init

In AL2023, cloud-init manages the package repository. By default, in earlier versions of Amazon Linux, cloud-init installed security updates. This isn't the default for AL2023. The new deterministic upgrading features for updating releasever at launch describe the AL2023 way to enable package updates at launch. For more information, see Manage package and operating system updates in AL2023 and Deterministic upgrades for stability.

With AL2023, you can use cloud-init with SELinux. For more information, see Use cloud-init to enable enforcing mode.

Cloud-init loads configuration content with cloud-init from remote locations using HTTP(S). In earlier versions, Amazon Linux doesn't alert you when remote resources are unavailable. In AL2023, unavailable remote resources creates a fatal error and fails the cloud-init execution. This change in behavior from AL2, provides a safer "fail closed" default behavior.

For more information, see Customized cloud-init and the cloud-init Documentation.

Graphical desktop support

AL2023 is cloud-centered and optimized for Amazon EC2 usage and currently does not include a graphical or desktop environment. To provide feedback on GitHub, see https://github.com/ .

Compiler Triplet

AL2023 sets the compiler triplet for GCC and LLVM to indicate that amazon is the vendor.

Thus, the AL2 aarch64-redhat-linux-gcc becomes aarch64-amazon-linux-gcc on AL2023.

This should be completely transparent for most users, and might only affect those who are building compilers on AL2023.

32bit x86 (i686) Packages

As part of the 2014.09 release of AL1 it was announced that it would be the last release to produce 32-bit AMIs. Thus, from the 2015.03 release of AL1, Amazon Linux no longer supported running the system in 32-bit mode. AL2 offered limited runtime support for 32bit binaries on x86-64 hosts, and did not provide development packages to enable the building of new 32-bit binaries. AL2023 no longer includes any 32bit userspace packages. We recommend that you complete your transition to 64-bit code.

If you need to run 32-bit binaries on AL2023, it is possible to use the 32-bit user-space from AL2 inside an AL2 container running on top of AL2023.

lsb_release and the system-lsb-core package

Historically, some software invoked the lsb_release command (provided in AL2 by the system-lsb-core package) to get information about the Linux distribution that it was being run on. The Linux Standards Base (LSB) introduced this command and Linux distributions adopted it. Linux distributions have evolved to use the simpler standard of holding this information in /etc/os-release and other related files.

The os-release standard comes out of systemd. For more information, see systemd os-release documentation.

AL2023 doesn't ship with the lsb_release command, and doesn't include the system-lsb-core package. Software should complete the transition to the os-release standard to maintain compatibility with Amazon Linux and other major Linux distributions.