What's?
Amazon Linux 2023をとりあえず試してみたいと思ったのですが、Docker HubにDockerイメージが公開されていたので、こちらを軽く動かしてみました。
といっても、動かすことが目的というよりは、Amazon Linux 2023についてある程度情報を見ておきたいというのが主要な目的だったりします。
Amazon Linux 2023
Amazon Linux 2023は、2023年3月にGAになったLinuxディストリビューションです。
Amazon Linux 2023を使うには、Amazon EC2でAMIを指定するか、Amazon ECRまたはDocker Hubで公開されているDockerイメージを使うことになります。
Amazon Linux 2023 の開始方法は、他の Linux ディストリビューションと何ら変わりはありません。EC2 run-instances API、AWS コマンドラインインターフェイス (AWS CLI)、または AWS マネジメントコンソール、および当社が提供する 4 つの Amazon Linux 2023 AMI のいずれかを使用できます。
Amazon Linux 2023 は Docker イメージとしても配布されています。Amazon Linux 2023 コンテナイメージは、Amazon Linux 2023 AMI に含まれているのと同じソフトウェアコンポーネントから構築されています。コンテナイメージは、どの環境でも Docker ワークロードのベースイメージとして使用できます。EC2 のアプリケーションのために Amazon Linux を使用している場合は、Amazon Linux コンテナイメージを使用してアプリケーションをコンテナ化できます。
これらのイメージは、Amazon Elastic Container Registry (Amazon ECR) と Docker Hub から入手できます。
Amazon Linux 2023のドキュメントは、こちらです。
気になるところを、少しメモしておきます。
多くの情報は、Amazon Linux 2との違いのページを見るとわかりそうな感じです。
サポート期間
サポート期間は5年のようです。
2年後には、次のバージョンがリリースされるんですね。
ベースOS
ベースのOSは、Fedoraのようです。
AL2023 is RPM-based and includes components sourced from multiple versions of Fedora and other distributions, such as CentOS 9 Stream.
Comparing Amazon Linux 2 and Amazon Linux 2023 / Sourced from multiple upstreams
Fedora 34、35、36のコンポーネントが含まれているそうですが、特定のFedoraのバージョンと直接比較ができないとも書かれています。
The Generally Available (GA) version of AL2023 isn't directly comparable to any specific Fedora release. The AL2023 GA version includes components from Fedora 34, 35, and 36. Some of the components are the same as the components in Fedora and some are modified. Other components more closely resemble the components in CentOS 9 Streams or were developed independently.
カーネル
カーネルは、kernel.orgからLTSを独自に選んでいるようです。
The Amazon Linux kernel is sourced from the long-term support options that are on kernel.org, chosen independently from Fedora.
Amazon Linux 2023のカーネルのバージョンは6.1です。
Fedora 37よりも新しいカーネルです。
参考)Ubuntu Linux
このあたりからしても、確かに直接Fedoraと比較はできなさそうです。
パッケージのバージョン管理
Amazon Linux 2023では、リリースバージョンでパッケージが固定されるようです。
リリースバージョンについては、こちら。
以下のようなバージョン形式になるようです。
- 2023.0.20230301
- 2023.1.20230601
- 2023.2.20230901
異なるリリースバージョンを対象に、パッケージを更新する場合は、こちら。
EPEL
Amazon Linux 2023では、EPELはサポートしていません。
However, AL2023 doesn't support EPEL or EPEL-like repositories.
Comparing Amazon Linux 2 and Amazon Linux 2023 / Extra Packages for Enterprise Linux (EPEL)
Fedoraベースであり、パッケージ管理コマンドもdnf
なのですが、パッケージ管理自体はけっこう独特なようなのでこのあたりは覚えておいた方が良さそうですね。
AWS CLI v2
Amazon Linux 2023には、AWS CLI v2が含まれます。
Comparing Amazon Linux 2 and Amazon Linux 2023 / AWS CLI v2
その他
SELinuxが有効になっていたり、OpenSSLのバージョンが3になっていたり、glibcがバージョンアップしていたりといろいろあるので、とにかくこのページをよく見るのがよいかなと。
Dockerイメージを使ってみる
最後に、Docker Hubで公開されているAmazon Linux 2023のDockerイメージを使ってみます。
環境
環境はこちらです。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
$ uname -srvmpio
Linux 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ docker version
Client: Docker Engine - Community
Version: 24.0.4
API version: 1.43
Go version: go1.20.5
Git commit: 3713ee1
Built: Fri Jul 7 14:50:55 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.4
API version: 1.43 (minimum version 1.12)
Go version: go1.20.5
Git commit: 4ffc614
Built: Fri Jul 7 14:50:55 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Amazon Linux 2023のDockerイメージを実行する
Amazon Linux 2023のDockerイメージを起動。
$ docker container run -it --rm --name amazonlinux amazonlinux:2023.0.20230614.0
bash-5.2#
/etc/os-release
。
# cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
SUPPORT_END="2028-03-01"
リリースバージョンの確認。
# rpm -q system-release
system-release-2023.0.20230614-0.amzn2023.noarch
カーネルはホストのものを見ているので、ここはバージョンが合わないことになります。
# uname -srvmpio
Linux 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
インストールされているパッケージ一覧。
# dnf list --installed
Installed Packages
alternatives.x86_64 1.15-2.amzn2023.0.2 @System
amazon-linux-repo-cdn.noarch 2023.0.20230614-0.amzn2023 @System
audit-libs.x86_64 3.0.6-1.amzn2023.0.2 @System
basesystem.noarch 11-11.amzn2023.0.2 @System
bash.x86_64 5.2.15-1.amzn2023.0.2 @System
bzip2-libs.x86_64 1.0.8-6.amzn2023.0.2 @System
ca-certificates.noarch 2023.2.60-1.0.amzn2023.0.2 @System
coreutils-single.x86_64 8.32-30.amzn2023.0.3 @System
crypto-policies.noarch 20220428-1.gitdfb10ea.amzn2023.0.2 @System
curl-minimal.x86_64 8.0.1-1.amzn2023 @System
dnf.noarch 4.12.0-2.amzn2023.0.4 @System
dnf-data.noarch 4.12.0-2.amzn2023.0.4 @System
elfutils-default-yama-scope.noarch 0.188-3.amzn2023.0.2 @System
elfutils-libelf.x86_64 0.188-3.amzn2023.0.2 @System
elfutils-libs.x86_64 0.188-3.amzn2023.0.2 @System
expat.x86_64 2.5.0-1.amzn2023.0.2 @System
file-libs.x86_64 5.39-7.amzn2023.0.2 @System
filesystem.x86_64 3.14-5.amzn2023.0.3 @System
gawk.x86_64 5.1.0-3.amzn2023.0.2 @System
gdbm-libs.x86_64 1:1.19-2.amzn2023.0.2 @System
glib2.x86_64 2.73.2-680.amzn2023.0.3 @System
glibc.x86_64 2.34-52.amzn2023.0.2 @System
glibc-common.x86_64 2.34-52.amzn2023.0.2 @System
glibc-minimal-langpack.x86_64 2.34-52.amzn2023.0.2 @System
gmp.x86_64 1:6.2.1-2.amzn2023.0.2 @System
gnupg2-minimal.x86_64 2.3.7-1.amzn2023.0.4 @System
gpgme.x86_64 1.15.1-6.amzn2023.0.3 @System
grep.x86_64 3.8-1.amzn2023.0.4 @System
json-c.x86_64 0.14-8.amzn2023.0.2 @System
keyutils-libs.x86_64 1.6.3-1.amzn2023 @System
krb5-libs.x86_64 1.20.1-8.amzn2023.0.2 @System
libacl.x86_64 2.3.1-2.amzn2023.0.2 @System
libarchive.x86_64 3.5.3-2.amzn2023.0.2 @System
libassuan.x86_64 2.5.5-1.amzn2023.0.2 @System
libattr.x86_64 2.5.1-3.amzn2023.0.2 @System
libblkid.x86_64 2.37.4-1.amzn2023.0.3 @System
libcap.x86_64 2.48-2.amzn2023.0.3 @System
libcap-ng.x86_64 0.8.2-4.amzn2023.0.2 @System
libcom_err.x86_64 1.46.5-2.amzn2023.0.2 @System
libcomps.x86_64 0.1.18-1.amzn2023.0.2 @System
libcurl-minimal.x86_64 8.0.1-1.amzn2023 @System
libdnf.x86_64 0.67.0-1.amzn2023.0.5 @System
libffi.x86_64 3.1-28.amzn2023.0.2 @System
libgcc.x86_64 11.3.1-4.amzn2023.0.3 @System
libgcrypt.x86_64 1.10.1-7.amzn2023.0.1 @System
libgomp.x86_64 11.3.1-4.amzn2023.0.3 @System
libgpg-error.x86_64 1.42-1.amzn2023.0.2 @System
libidn2.x86_64 2.3.2-1.amzn2023.0.2 @System
libmodulemd.x86_64 2.13.0-2.amzn2023.0.2 @System
libmount.x86_64 2.37.4-1.amzn2023.0.3 @System
libnghttp2.x86_64 1.51.0-1.amzn2023 @System
librepo.x86_64 1.14.2-1.amzn2023.0.4 @System
libreport-filesystem.noarch 2.15.2-2.amzn2023.0.2 @System
libselinux.x86_64 3.4-5.amzn2023.0.2 @System
libsepol.x86_64 3.4-3.amzn2023.0.3 @System
libsigsegv.x86_64 2.13-2.amzn2023.0.2 @System
libsmartcols.x86_64 2.37.4-1.amzn2023.0.3 @System
libsolv.x86_64 0.7.22-1.amzn2023.0.2 @System
libstdc++.x86_64 11.3.1-4.amzn2023.0.3 @System
libtasn1.x86_64 4.19.0-1.amzn2023.0.1 @System
libunistring.x86_64 0.9.10-10.amzn2023.0.2 @System
libuuid.x86_64 2.37.4-1.amzn2023.0.3 @System
libverto.x86_64 0.3.2-1.amzn2023.0.2 @System
libxcrypt.x86_64 4.4.33-7.amzn2023 @System
libxml2.x86_64 2.10.4-1.amzn2023.0.1 @System
libyaml.x86_64 0.2.5-5.amzn2023.0.2 @System
libzstd.x86_64 1.5.2-1.amzn2023.0.2 @System
lua-libs.x86_64 5.4.4-3.amzn2023.0.2 @System
lz4-libs.x86_64 1.9.4-1.amzn2023.0.2 @System
mpfr.x86_64 4.1.0-7.amzn2023.0.2 @System
ncurses-base.noarch 6.2-4.20200222.amzn2023.0.3 @System
ncurses-libs.x86_64 6.2-4.20200222.amzn2023.0.3 @System
npth.x86_64 1.6-6.amzn2023.0.2 @System
openssl-libs.x86_64 1:3.0.8-1.amzn2023.0.2 @System
p11-kit.x86_64 0.24.1-2.amzn2023.0.2 @System
p11-kit-trust.x86_64 0.24.1-2.amzn2023.0.2 @System
pcre2.x86_64 10.40-1.amzn2023.0.2 @System
pcre2-syntax.noarch 10.40-1.amzn2023.0.2 @System
popt.x86_64 1.18-6.amzn2023.0.2 @System
python3.x86_64 3.9.16-1.amzn2023.0.3 @System
python3-dnf.noarch 4.12.0-2.amzn2023.0.4 @System
python3-gpg.x86_64 1.15.1-6.amzn2023.0.3 @System
python3-hawkey.x86_64 0.67.0-1.amzn2023.0.5 @System
python3-libcomps.x86_64 0.1.18-1.amzn2023.0.2 @System
python3-libdnf.x86_64 0.67.0-1.amzn2023.0.5 @System
python3-libs.x86_64 3.9.16-1.amzn2023.0.3 @System
python3-pip-wheel.noarch 21.3.1-2.amzn2023.0.5 @System
python3-rpm.x86_64 4.16.1.3-12.amzn2023.0.6 @System
python3-setuptools-wheel.noarch 59.6.0-2.amzn2023.0.3 @System
readline.x86_64 8.1-2.amzn2023.0.2 @System
rpm.x86_64 4.16.1.3-12.amzn2023.0.6 @System
rpm-build-libs.x86_64 4.16.1.3-12.amzn2023.0.6 @System
rpm-libs.x86_64 4.16.1.3-12.amzn2023.0.6 @System
rpm-sign-libs.x86_64 4.16.1.3-12.amzn2023.0.6 @System
sed.x86_64 4.8-7.amzn2023.0.2 @System
setup.noarch 2.13.7-3.amzn2023.0.2 @System
sqlite-libs.x86_64 3.40.0-1.amzn2023.0.2 @System
system-release.noarch 2023.0.20230614-0.amzn2023 @System
tzdata.noarch 2023c-1.amzn2023.0.1 @System
xz-libs.x86_64 5.2.5-9.amzn2023.0.2 @System
yum.noarch 4.12.0-2.amzn2023.0.4 @System
zlib.x86_64 1.2.11-33.amzn2023.0.4 @System
OpenSSLは、Dockerイメージにはあらかじめインストールされていないようです。
# openssl version
bash: openssl: command not found
glibcのバージョン。
# ldd --version
ldd (GNU libc) 2.34
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
systemdも使えないので、ちゃんと確認したかったらAmazon EC2でやるべきですね。
結局、ISOはリリースされないのでしょうか?
最後に試しにと、Amazon Correttoをインストール。
# dnf install java-17-amazon-corretto-headless
# java --version
openjdk 17.0.7 2023-04-18 LTS
OpenJDK Runtime Environment Corretto-17.0.7.7.1 (build 17.0.7+7-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.7.7.1 (build 17.0.7+7-LTS, mixed mode, sharing)