

# Deprecated in AL2023, removed in AL2027
<a name="deprecated-al2023"></a>

**AL2027 Preview**  
AL2027 is currently available for preview. It is intended for evaluation and testing only and is not recommended for production workloads.

When you migrate to AL2027, some functionality available in AL2023 is no longer present. Review these changes to update your workloads before migrating. Most of these removals were announced in [Deprecated in AL2023](https://docs.amazonaws.cn/linux/al2023/ug/deprecated-al2023.html). For the complete package-level list, see [Comparing packages](https://docs.amazonaws.cn/linux/al2027/release-notes/compare-packages.html) in the AL2027 Release Notes.

**Topics**
+ [DNF version 4 and its Python API](#deprecated-dnf4)
+ [32-bit x86 (i686) packages](#deprecated-32bit)
+ [`pcre` version 1](#deprecated-pcre)
+ [Berkeley DB (`libdb`)](#deprecated-bdb)
+ [System V init scripts](#deprecated-sysv-init)
+ [Control groups version 1 (cgroup v1)](#deprecated-cgroupv1)
+ [`ksh`](#deprecated-ksh)
+ [`opensmtpd`](#deprecated-opensmtpd)
+ [Packages that reached end of support in AL2023](#deprecated-eol-al2023-packages)
+ [`ftp` client](#deprecated-ftp)

## DNF version 4 and its Python API
<a name="deprecated-dnf4"></a>

AL2027 replaces DNF (version 4) with DNF5. The `dnf` and `yum` commands run DNF5, and compatibility aliases keep common DNF (version 4) command spellings working. The DNF (version 4) Python API (`python3-dnf`) is not available; port Python scripts to the `python3-libdnf5` bindings. The `yum-utils` and `dnf-utils` package names remain installable and resolve to the `dnf5-plugins` package, which provides the replacement commands. For more information, see [Package management tool](package-management.md).

## 32-bit x86 (i686) packages
<a name="deprecated-32bit"></a>

AL2023 deprecated 32-bit x86 (i686) runtime support. The AL2027 repositories do not contain i686 packages. Rebuild remaining 32-bit workloads as 64-bit (x86\_64), or run them on AL2023 for the remainder of its support period.

## `pcre` version 1
<a name="deprecated-pcre"></a>

The legacy `pcre` package, deprecated in AL2023, is removed in AL2027. Migrate code to `pcre2`, which is included.

## Berkeley DB (`libdb`)
<a name="deprecated-bdb"></a>

The Berkeley DB library (`libdb`), deprecated in AL2023, is removed in AL2027. This includes the read-only support for Berkeley DB format RPM databases that the AL2023 package manager retained; AL2027 uses the SQLite RPM database format. Migrate applications that store data in Berkeley DB to another database library, such as GDBM or SQLite.

## System V init scripts
<a name="deprecated-sysv-init"></a>

AL2027 ships `systemd` 260, which removes support for System V service (`init`) scripts, following the upstream `systemd` deprecation announced in v254. AL2023 retained backwards compatibility and documented the deprecation; AL2027 completes the removal. Convert remaining `init` scripts to `systemd` unit files.

## Control groups version 1 (cgroup v1)
<a name="deprecated-cgroupv1"></a>

cgroup v1 was deprecated in AL2 and AL2023 ran cgroup v2 by default. The `systemd` project removed cgroup v1 support in v258, so AL2027 (with `systemd` 260) supports cgroup v2 only. Move any remaining tooling that mounts or reads the legacy cgroup v1 hierarchy to the cgroup v2 interfaces. For more information, see [Limiting process resource usage in AL2027 using cgroups](resource-limiting-raw-cgroups.md). We recommend using `systemd` to control resource usage instead of manipulating `cgroups` directly; for more information, see [Limiting process resource usage in AL2027 using systemd](resource-limiting-systemd.md).

## `ksh`
<a name="deprecated-ksh"></a>

The `ksh` shell is removed in AL2027. Port shell scripts to `bash`, which is included by default, or install `zsh` from the repositories.

## `opensmtpd`
<a name="deprecated-opensmtpd"></a>

The `opensmtpd` mail server is removed in AL2027. Use `postfix` or `sendmail`, both available in the repositories.

## Packages that reached end of support in AL2023
<a name="deprecated-eol-al2023-packages"></a>

Packages whose support ended during the AL2023 lifetime are not carried into AL2027. This includes `dotnet6.0`, `mariadb105`, and `php8.1`. Move to the current versions of these runtimes shipped in AL2027. For the package list, see [Getting started with programming runtimes on AL2027](language-runtimes.md) and the [AL2027 Release Notes](https://docs.amazonaws.cn/linux/al2027/release-notes/compare-packages.html).

## `ftp` client
<a name="deprecated-ftp"></a>

The legacy `ftp` package from AL2 was removed in AL2023 and remains unavailable in AL2027. The package was not actively maintained upstream, and the FTP protocol transmits data, including credentials, in plaintext. The `wget` package, listed as an alternative in the AL2023 documentation, is also not available in the AL2027 repositories during the preview.

Use one of the following alternatives. For file transfers, `lftp` supports FTP, FTPS, HTTP, HTTPS, and SFTP. Install it with **sudo dnf install lftp**. For downloads, `curl` is installed by default, and the `curl-minimal` and `curl-full` split from AL2023 does not exist in AL2027. Where you control both endpoints, we recommend `sftp` from the `openssh-clients` package, because transfers and credentials are encrypted.

Some applications declare a dependency on the `ftp` package in their package metadata even though they no longer use it. Such applications might work correctly on AL2027 despite the absence of `/usr/bin/ftp`. Review your application's actual requirements, and remove stale `ftp` dependencies from packages you maintain.