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.
Topics
- Added, upgraded, and removed packages
- Support for each release
- Naming and versioning changes
- Optimizations
- Sourced from multiple upstreams
- Networking system service
- Package manager
- Using cloud-init
- Graphical desktop support
- Compiler Triplet
- 32bit x86 (i686) Packages
- lsb_release and the system-lsb-core package
- Extra Packages for Enterprise Linux (EPEL)
- Python 2.7 has been replaced with Python 3
- Security updates
- Deterministic upgrades for stability
- gp3 as default Amazon EBS volume type
- Unified Control Group hierarchy (cgroup v2)
- systemd timers replace cron
- Improved toolchain: gcc, binutils, and glibc
- systemd journal replaces rsyslog
- Minimized package dependencies
- Amazon Corretto as the default JVM
- AWS CLI v2
- UEFI Preferred and Secure Boot
- SSH server default configuration changes
- AL2023 kernel changes from AL2
- AMI and Container Image changes
- Comparing packages installed on Amazon Linux 2 and Amazon Linux 2023 AMIs
- Comparing packages installed on Amazon Linux 2 and Amazon Linux 2023 Minimal AMIs
- Comparing packages installed on Amazon Linux 2 and Amazon Linux 2023 base container images
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
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
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.