RHEL 8でISOファイルをローカルリポジトリとして使用する!

RHEL 8でOSのISOファイルをローカルリポジトリとして使用します。インターネットに接続できない環境で、必要になったパッケージをインストールするのに使用する想定です。

ISOのファイルをディスク上に配置する!

永続的なリポジトリとして使用する想定なので、RHEL 8のISOイメージをディスク上に配置します。本稿では、以下に配置します。

  • /root/media/rhel-8.4-x86_64-dvd.iso

ISOメディア配置用のディレクトリを作成し、ISOファイルを配置します。

# mkdir -p /root/media

ISOのメディアをマウントする!

ISOのメディアをマウントするためのディレクトリを作成します。

# mkdir -p /root/repo

ISOのメディアをマウントします。

# mount -o loop,ro -t iso9660 /root/media/rhel-8.4-x86_64-dvd.iso /root/repo

ローカルリポジトリの定義を作成する!

ローカルリポジトリの定義を作成します。

# vi /etc/yum.repos.d/rhel-84.repo
[ISO-Base]
name=RHEL - Base                    
baseurl=file:///root/repo/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ISO-Appstrem]
name=RHEL - AppStream
baseurl=file:///root/repo/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

リポジトリとして認識していることを確認します。

# dnf repolist
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Bad id for repo: /code, byte = / 0
repo id                                                   repo name
ISO-Appstrem                                              RHEL - AppStream
ISO-Base                                                  RHEL - Base

yumコマンドとdnfコマンドを実行してみる!

yumコマンドとdnfコマンドを実行して、問題なく実行できることを確認します。

# yum update
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Bad id for repo: /code, byte = / 0
RHEL - Base                                                                             192 MB/s | 2.3 MB     00:00    
RHEL - AppStream                                                                        243 MB/s | 6.8 MB     00:00    
Dependencies resolved.
Nothing to do.
Complete!
# dnf update
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Bad id for repo: /code, byte = / 0
Last metadata expiration check: 0:00:24 ago on Tue 05 Apr 2022 08:02:47 PM EDT.
Dependencies resolved.
Nothing to do.
Complete!

ISOのメディアを再起動後もマウントするように設定する!

ISOのメディアを再起動後もマウントするように設定します。

# vi /etc/fstab
...
/root/media/rhel-8.4-x86_64-dvd.iso  /root/repo iso9660 ro,loop         0 0

おわりに

CentOS 8 StreamのISOイメージを使用して、ローカルのリポジトリを作成しました。