dnf (yum) で DVD / ISO からパッケージ追加

セキュリティなどの関係でインターネットに接続できないLinux (RHEL / CentOS 8系) で、dnf (yum) でDVD または ISO からパッケージを追加する手順です。

なお、手順は MIRACLE LINUX 8.4 で確認しています。

手順

1. DVD または ISO ファイルのマウント

以下の記事の手順で、DVD または ISO ファイルをマウントします。

>> Linux (RHEL / CentOS 8系) でCD/DVDをマウント

>> Linux (RHEL / CentOS 8系) で ISO ファイルをマウント

2. リポジトリファイルの作成

(1) ISO 内の media.repo を /etc/yum.repos.d にコピーします。

RHEL8 の場合は、ISO から media.repo をコピーする必要がありますが、MIRACLE LINUX 8 の場合は、デフォルトで /etc/yum.repos.d/media.repo が存在するので、ISO からコピーせずに直接 media.repo を編集しても構いません。

cp /media/dvdiso/media.repo /etc/yum.repos.d/media.repo
chmod 644 /etc/yum.repos.d/media.repo

(2) /etc/yum.repos.d/media.repo を編集します。

vi /etc/yum.repos.d/media.repo

media.repo を、下記の内容で保存します。

[InstallMedia-BaseOS]
name=InstallMedia-BaseOS
mediaid=None
meatadata_expire=1
gpgcheck=1
cost=500
baseurl=file:///media/dvdiso/BaseOS
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[InstallMedia-Appstream]
name=InstallMedia-AppStream
mediaid=None
meatadata_expire=1
gpgcheck=1
cost=500
baseurl=file:///media/dvdiso/AppStream
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY

(3) /etc/yum.repos.d/miraclelinux.repo を編集します。

vi /etc/yum.repos.d/miraclelinux.repo

miraclelinux.repo を、以下の内容で保存します。

“enabled=1” → “enabled=0” (2箇所)

[8-latest-BaseOS]
name=8-latest-BaseOS
mirrorlist=https://repo.dist.miraclelinux.net/miraclelinux/mirrorlist/$releaseserver/$basearch/baseos
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[8-latest-Appstream]
name=8-latest-AppStream
mirrorlist=https://repo.dist.miraclelinux.net/miraclelinux/mirrorlist/$releaseserver/$basearch/appstream
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY

(4) リポジトリの設定を確認します。

dnf repolist

下記のように出力されれば、正しく設定できています。

repo id                        repo name
InstallMedia-AppStream         InstallMedia-AppStream
InstallMedia-BaseOS            InstallMedia-BaseOS

3. キャッシュクリア

キャッシュをクリアします。

dnf clean all

以上で、dnf (yum) でDVD または ISO からパッケージを追加する設定は完了です。