設定 - EPELリポジトリとRemiリポジトリ
概要
RHELは、安定性と安全性で知られる広く普及しているLinuxのディストリビューションである。
しかし、Red Hat社が提供する標準のパッケージリポジトリには、必ずしも最新のソフトウェアバージョンや必要な追加ソフトウェアが含まれているとは限らない。
RemiリポジトリやEPELリポジトリ等のリポジトリは、システムに簡単にインストールできる様々な追加パッケージを提供する。
※注意
EPELリポジトリおよびRemiリポジトリにおいて、最初の1度だけ公開鍵を取得する必要がある。
この鍵は一括アップデートでは取得できないため、個別に何かをインストールする等を行い取得する。
例えば、Remiリポジトリの公開鍵は、なんらかのパッケージをインストールまたはアップデートすることで取得できる。
また、EPELリポジトリの公開鍵は、なんらかのパッケージをインストールする時に必要な依存性パッケージをインストールすることで取得できる。
sudo dnf --enablerepo=epel,remi install php
EPELリポジトリ
EPELリポジトリとは
EPEL (Extra Packages for Enterprise Linux) リポジトリは、Fedora Special Interest Groupにより作成・管理されている。
このリポジトリは、RHEL 9および10を含むEnterprise Linux用の高品質な追加パッケージ一式を提供することで知られている。
EPELの特長は、Fedora対応パッケージに基づいているため、Enterprise Linuxディストリビューションの既存のパッケージと競合したり置き換わることはない。
EPELリポジトリが人気がある理由として、バンドルされている一連の機能である。
- EPELリポジトリを使用すると、無料で多数のパッケージにアクセスできる。
- Fedoraグループによって管理されているため、全てオープンソースで安全である。
- 高品質でエンタープライズグレードのパッケージのみを入手することができる。
例えば、KDE Plasmaデスクトップ全体をインストールする場合等に使用することもできる。
EPELリポジトリの追加
まず、CodeReady Linux Builderリポジトリを有効にする。
標準でアクセスできるようになっているため、有効にするだけである。
sudo dnf update # RHEL 9の場合 sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms # RHEL 10の場合 sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms
次に、EPELリポジトリを追加する。
※注意
Remiリポジトリを追加する場合、最初にEPELリポジトリを追加する必要がある。
# RHEL 9 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm # RHEL 10 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
または、以下に示すコマンドでも追加することはできる。
# RHEL 9 sudo dnf install epel-release epel-next-release # RHEL 10 sudo dnf install epel-release
これにより、リポジトリファイルが/etc/yum.repos.d/epel.repoに追加されて有効になる。
EPELリポジトリをインストールした後、システム内の全てのリポジトリをリストアップして、プロセス全体をクロスチェックする。
インストールされたEPELリポジトリが表示されていることを確認できる場合、EPELリポジトリが正常に追加されたことを意味する。
sudo dnf repolist
EPELリポジトリに含まれるパッケージの一覧は、以下のコマンドで確認できる。
sudo dnf --disablerepo="*" --enablerepo="epel" list available
また、特定のパッケージを探している場合は、grepコマンド を使用すれば検索できる。
例えば、fastfetchを探している場合は、以下のコマンドを使う必要がある。
sudo dnf --disablerepo="*" --enablerepo="epel" list available | grep 'fastfetch'
fastfetchは"fastfetch.noarch"という名前で提供されていることが分かる。
しかし、fastfetch.noarchの詳細が知りたい場合は、指定されたコマンドを使用することにより、詳細を抽出することができる。
sudo dnf --enablerepo=epel info fastfetch.noarch
パッケージの詳細な説明が表示されるので、探しているパッケージを特定するのに役立つ。
目的のパッケージをインストールするには、以下のコマンドを使用する。
sudo dnf --enablerepo=epel install fastfetch.noarch
EPELリポジトリからインストールしたパッケージの一覧は、以下に示すコマンドで確認できる。
sudo dnf list installed | grep @epel
CRBリポジトリの追加
RHEL 9および10では、EPELパッケージがCRBリポジトリのパッケージに依存する可能性があるため、CRBリポジトリも有効にすることを推奨する。
RHEL 9および10で利用可能なCRBリポジトリは、開発者関連のツールやライブラリを提供している。
一般的なEPELパッケージの中には、CRBリポジトリから利用可能なパッケージに依存するものがある。
したがって、RHELでEPELリポジトリをセットアップしている場合は、CRBリポジトリも有効にすることが推奨される。
リポジトリの追加・削除や有効・無効を含むDNFの各種設定オプションを管理するDNF用プラグインconfig-managerを使用することができる。
config-managerプラグインをインストールするには、以下に示すコマンドを実行する。
sudo dnf install dnf-plugins-core
CRBリポジトリを有効化する。
# RHEL 9 sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms sudo /usr/bin/crb enable # RHEL 10 sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms sudo /usr/bin/crb enable
CRBリポジトリが正常に有効化されていることを確認する。
sudo dnf repolist
CRBリポジトリから利用できるパッケージの一覧を見ることができる。
sudo dnf repo-pkgs crb list
EPELリポジトリの追加と機能を確認できる。
sudo dnf repolist epel
EPELリポジトリで利用可能なパッケージを一覧表示するには、以下のコマンドを実行する。
sudo dnf --disablerepo="*" --enablerepo="epel" list available
さらにフィルタリングして、必要なパッケージがEPELリポジトリで利用可能かどうかを確認するには、以下のコマンドを実行する。
sudo dnf --disablerepo="*" --enablerepo="epel" list available | grep <パッケージ名> 例: sudo dnf --disablerepo="*" --enablerepo="epel" list available | grep chromium
EPELリポジトリからパッケージをインストールするには、以下に示すコマンドを実行する。
sudo dnf --enablerepo="epel" install <パッケージ名>
※注意
一部の依存関係は、標準リポジトリからインストールされる場合がある。
Remiリポジトリの追加
多くのEPELパッケージは、CodeReady Builder (CRB) リポジトリのパッケージを依存パッケージとして必要としている。
まず、CRBリポジトリを有効にする。
# RHEL 9 sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms sudo /usr/bin/crb enable # RHEL 10 sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms sudo /usr/bin/crb enable
次に、EPELリポジトリを追加する。
# RHEL 9 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm # RHEL 10 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
Remiリポジトリを追加する。
# RHEL 9 sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm # RHEL 10 sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
コマンドラインからリポジトリを素早く有効 / 無効にするため、yum-config-managerをインストールする。
sudo dnf install dnf-utils
Remiリポジトリの設定ファイルのインストールが完了した後、Remiリポジトリを有効にする必要がある。
sudo yum-config-manager --enable remi
EPELリポジトリとRemiリポジトリが有効になっているかどうかを確認する。
sudo dnf repolist
Remiリポジトリをインストールした後、インストール可能なパッケージを一覧表示する。
sudo dnf --disablerepo="*" --enablerepo="remi" list available
代わりに、Remi-Safeリポジトリで、利用可能なパッケージの一覧を確認することもできる。
sudo dnf --disablerepo="*" --enablerepo="remi-safe" list available
また、Remiリポジトリを使用する場合は、dnf コマンドのパラメータで指定する。
sudo dnf --enablerepo=remi install <パッケージ名>
EPELリポジトリとRemiリポジトリの両方を使用する場合
EPELとRemiの両方を使う場合、カンマでつなげて両方をパラメータに指定する。
sudo dnf --enablerepo=epel,remi install <パッケージ名>
RPM Fusionリポジトリ
RPM Fusionリポジトリとは
RPM Fusionリポジトリは非公式のリポジトリである。
以下に示すような属性を持つパッケージは、RPM Fusionのようなリポジトリで提供されている可能性がある。
- 関連パッケージの機能が連邦法や州法に準拠していない可能性がある。
- 関連パッケージがクローズドソースである可能性がある。
- 関連パッケージがプロプライエタリ (個人所有) である。
- そのパッケージが法的に担保されている。
例えば、RHELや他のEnterprise Linuxディストリビューションが出荷していないパッケージ (ソフトウェアコーデック等) を提供している。
RPM Fusionリポジトリはコミュニティによって管理されており、フリーと非フリーの2つのリポジトリがある。
- ライセンスガイドライン付きのオープンソースパッケージは、無料のRPM Fusionリポジトリからアクセスできる。
- 商用パッケージのみで利用可能な再配布可能パッケージは、不自由なRPM Fusionリポジトリからアクセスする。
RPM Fusionリポジトリのインストール
RHELベースのLinuxディストリビューションにおいて、RPM Fusionリポジトリをインストールして有効にするには、
まず、Enterprise Linux向けの追加パッケージを提供するEPELリポジトリを有効にする必要がある。
次に、フリーおよび非フリーのRPM Fusionリポジトリをインストールして有効にする。
sudo dnf install --nogpgcheck \
https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
また、以下に示すコマンドを実行する必要があるかもしれない。
# RHEL 9 sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms # RHEL 10 sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms
RPM Fusionリポジトリの検証
システム上のリポジトリを確認する。
sudo dnf update sudo dnf repolist
RPM Fusionのフリーと非フリーのパッケージリストを表示する。
# フリー sudo dnf repository-packages rpmfusion-free-updates list # 非フリー sudo dnf repository-packages rpmfusion-nonfree-updates list
RPM Fusionリポジトリからパッケージをインストール
sudo dnf install <パッケージ名>
RPM Fusionリポジトリからパッケージをアンインストール
sudo dnf remove <パッケージ名>
RPM Fusionリポジトリの有効化 / 無効化
# 有効化する場合 sudo yum-config-manager --enable rpmfusion-free-updates sudo yum-config-manager --enable rpmfusion-nonfree-updates # 無効化する場合 sudo yum-config-manager --disable rpmfusion-free-updates sudo yum-config-manager --disable rpmfusion-nonfree-updates