centos7からamazon linux2へ移行後、iusをインストールしようとすると生じたエラー
背景
centos7環境では、新しいバージョンのgitをインストールするため、事前にiusをインストールしていた。
RHEL and derivatives typically ship older versions of git. You can download a tarball and build from source, or use a 3rd-party repository such as the IUS Community Project to obtain a more recent version of git.
Gitの公式サイトより引用。
以下のコマンドにより、iusをインストール。
yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
下記URLを参考。
これにより、最新のgitをインストールできていた。
sudo yum install git224 --enablerepo=ius
現象
amazonlinux2へ移行すると、iusをインストールするコマンドでエラーが生じた。
実行結果を見ると、ius-release-2-1.el7.ius.noarch というパッケージに対し、epel-release = 7 が必要というエラー。iusのドキュメントを読むと、epel7はEOLとなっている。
centos7のEOLに伴い、epel7もEOLを迎えたよう。
解決策
Amazonlinux2には、Amazon Linux 2 Extrasというメカニズムがあり、
こちらを利用するとepelをインストールでき、iusのエラーが発生せず、gitのインストールが可能となった。下記URLを参考とした。
sudo amazon-linux-extras install -y epel
sudo yum install epel-release
この時はやりたかったことは実現できたので、そのまま先に進めた。
iusやepelとはなんぞや?状態だったので関係性を含めて調べ、簡単にメモしておく。
調査メモ
iusとは
CentOS7の標準リポジトリをより新しいバージョンに置き換えるためのリポジトリ。
CentOS7には標準でgit1.8がインストールされている。新しいバージョンをインストールするためにiusを利用する。
IUS(Inline with Upstream Stable)は、RHEL および CentOS 向けの厳選ソフトウェアの新しいバージョンを提供する yum リポジトリです。
IUSのドキュメントより引用。
epelとは
Extra Packages for Enterprise Linux の略で、日本語にすると「エンタープライズLinux用の拡張パッケージ」です。
Red Hat Enterprise Linux (RHEL) や CentOS などのRHEL互換のLinuxディストリビューションに、標準では提供されていない追加のパッケージを提供します。
fedoraという他のLinuxディストリビューションをベースとして、RHEL環境で利用できるようにパッケージングしたもの。
geminiから引用。
iusをインストールするためにepelが必要?
iusとepelは、どちらもRHEL/CentOSで追加のパッケージを提供するサードパーティのリポジトリ。
iusは特定のソフトウェアの最新バージョンに特化していることが多い。epelは開発ツールやデータベースなど、さまざまなソフトウェアが含まれている。
geminiによると、IUSはepelに依存しているとのこと。
IUSの依存関係: IUSは、EPELで提供されるパッケージに依存しているためです。IUSで提供されるソフトウェアのインストールや管理には、EPELで提供されるツールやライブラリが必要となります。
リポジトリの構成: IUSのリポジトリは、EPELが事前に設定されていることを前提としています。EPELがなければ、IUSのリポジトリが正常に機能しません。
geminiから引用。
Discussion