設定 - EPELリポジトリとRemiリポジトリ
概要
RHELは、安定性と安全性で知られる広く普及しているLinuxのディストリビューションである。
しかし、Red Hat社が提供する標準のパッケージリポジトリには、必ずしも最新のソフトウェアバージョンや必要な追加ソフトウェアが含まれているとは限らない。
そこで、RemiリポジトリやEPELリポジトリ等のリポジトリは、システムに簡単にインストールできる様々な追加パッケージを提供する。
EPELとは
EPELリポジトリとは?
EPELはExtra Packages for Enterprise Linuxの略で、Fedora Special Interest Groupによって作成・管理されている。
このリポジトリは、RHEL 9を含むEnterprise Linux用の高品質な追加パッケージ一式を提供することで知られている。
EPELの特長は、Fedora対応パッケージに基づいているため、Enterprise Linuxディストリビューションのパッケージと競合したり置き換わったりしないことである。
これほど人気がある主な理由は、バンドルされている一連の機能である。
- EPELを使用すると、無料で多数のパッケージにアクセスできる。
- Fedoraグループによって管理されているため、100%オープンソースで安全である。
- Fedoraと同等の機能をコアに使用しているため、既存のパッケージと競合したり置き換わったりすることはない。
- 高品質でエンタープライズグレードのパッケージのみを入手することができる。
例えば、KDE Plasmaデスクトップ全体をインストールする場合等に使用することもできる。
EPELリポジトリの追加
まず、CodeReady Linux Builderリポジトリを有効にする。
標準でアクセスできるようになっているため、有効にするだけである。
sudo dnf update sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
次に、EPELをインストールする。
Remiリポジトリを追加する場合においても、最初にEPELリポジトリを追加する必要がある。
# RHEL 9 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm または sudo dnf install epel-release epel-next-release
これにより、リポジトリファイルが/etc/yum.repos.d/epel.repoにダウンロードされて有効になる。
EPELをインストールした後、システム内の全てのリポジトリをリストアップして、プロセス全体をクロスチェックする。
インストールされたEPELリポジトリが表示されていることを確認できる場合、EPELリポジトリが正常にインストールされたことを意味する。
sudo dnf repolist
EPELリポジトリに含まれるパッケージの一覧は、以下のコマンドで確認できる。
sudo dnf --disablerepo="*" --enablerepo="epel" list available
また、特定のパッケージを探している場合は、grep
コマンドを使用すれば簡単に検索できる。
例えば、neofetchを探している場合は、以下のコマンドを使う必要がある。
sudo dnf --disablerepo="*" --enablerepo="epel" list available | grep 'neofetch'
neofetchは"neofetch.noarch"という名前で提供されていることが分かる。
しかし、neofetch.noarchの詳細が知りたい場合は、指定されたコマンドを使用することにより、簡単に詳細を抽出することができる。
sudo dnf --enablerepo=epel info neofetch.noarch
パッケージの詳細な説明が表示されるので、探しているパッケージを特定するのに役立つ。
目的のパッケージをインストールするには、以下のコマンドを使用する。
sudo dnf --enablerepo=epel install neofetch.noarch
EPELリポジトリからインストールしたパッケージの一覧は、以下のコマンドで確認できる。
sudo dnf list installed | grep @epel
CRBリポジトリの追加 (RHEL 9の場合)
RHEL 9では、EPELパッケージがCRBリポジトリのパッケージに依存する可能性があるため、CRBリポジトリも有効にすることを推奨する。
RHEL 9で利用可能なCRBリポジトリは、開発者関連のツールやライブラリを提供している。
一般的なEPELパッケージの中には、CRBから利用可能なパッケージに依存するものがある。
したがって、RHELでEPELリポジトリをセットアップしている場合は、CRBも有効にすることが推奨される。
リポジトリの追加 / 削除や有効 / 無効を含むDNFの各種設定オプションを管理するDNF用プラグインconfig-managerを使用することができる。
config-managerプラグインをインストールするには、以下のコマンドを実行する。
sudo dnf install dnf-plugins-core
CRBを有効化する。
sudo subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms sudo /usr/bin/crb enable
CRBが正常に有効化されていることを確認する。
dnf repolist
CRBリポジトリから利用できるパッケージの一覧を見ることができる。
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パッケージは、PowerTools / CRBリポジトリのパッケージを依存パッケージとして必要としている。
まず、PowerTools / CRBリポジトリを有効にする。
# RHEL 8 sudo dnf config-manager --set-enabled powertools sudo dnf install epel-release # RHEL 9 sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm sudo dnf config-manager --set-enabled remi
コマンドラインからリポジトリを素早く有効、および、無効にするため、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
また、以下に示すコマンドを実行する必要があるかもしれない。
sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(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
備考
EPELリポジトリおよびRemiリポジトリにおいて、最初の1度だけ公開鍵を取得する必要がある。
この鍵は、一括アップデートでは取得できないので、個別に何かをインストールするなどして取得する。
例えば、Remiリポジトリの公開鍵は、下記のコマンドでPHPをインストールまたはアップデートすることで取得できる。
また、EPELリポジトリの公開鍵は、PHPをインストールする時に必要な依存性パッケージをインストールすることで取得できる。
sudo dnf --enablerepo=epel,remi install php