Amazon Linux 2022へEPEL・Fedora 36レポジトリを追加する

aws_logo

早速タイトル詐欺を暴露しますが、EPELレポジトリは導入しません。

その代わり『提供するパッケージがEPELとほとんど同じ』であるFedoraレポジトリをAmazon Linux 2022(AL2022)に導入する手順を説明します。

AL2022のGA(Generally Available、一般公開)にともない提供するパッケージ構成が変わりうるので、ここで説明する手順はGAまでの参考程度にどうぞ。

Fedoraレポジトリ導入の背景

Fedoraとの関係
https://docs.aws.amazon.com/linux/al2022/ug/relationship-to-fedora.html

The Generally Available (GA) version of Amazon Linux 2022 isn’t directly comparable to any specific Fedora release. The Amazon Linux 2022 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.

まず上記AWS公式ドキュメントによれば、AL2022はFedora 34〜36がベースになっているとのこと。
RHEL/CentOSベースだったAmazon Linux 2とは毛色が異なるようです。

RHEL/CentOSとFedoraはRed Hatが後援であることから近い間柄ではありますが、EPELレポジトリはFedoraに導入できません。惜しい。

とはいえ、FedoraとEPELの両者で提供しているパッケージはかなり似通っていますから、AL2022へのFedora 36レポジトリ導入を試したところ、うまくいきました。
これによりAL2022が最初から提供するパッケージ以外の、多少ニッチなパッケージまで導入できるようになります。

レポジトリ導入手順

AL2022のDockerイメージからコンテナを起動、Fedoraレポジトリを導入し、パッケージ検索するまでを試してみましょう。

# お試し用のAL2022コンテナを起動する
$ docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2022 bash

# レポジトリ導入
$ cat <<'TXT' > /etc/yum.repos.d/fedora.repo 
# See also: docker run --rm -it fedora:36 cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora 36 - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/36/Everything/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-36&arch=$basearch
enabled=1
countme=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=https://getfedora.org/static/fedora.gpg
skip_if_unavailable=False
TXT

# AL2022に含まれないニッチなパッケージを確認する
$ dnf repoquery --nvr 'gimp'


余談。FedoraにおけるEPELの代替としてRPM Fusionがありますが、その導入については別記事で扱う予定。

https://rpmfusion.org/