インターネットにすべてのノードが未接続な環境でソフトウェアをRPM(パッケージ)ではなくyumコマンドでインストールする方法について記載します。
前提をRedHatはアクティベーション(RedHat社にライセンス登録)されていることなります。
インストールしてアクティベーション済のRed Hat Enterprise Linux 8を使用したサンプルになります。例によりESXiで動作している仮想マシンを使用しています。
- rootユーザになります
- isoファイル(DVD)をアップロード(コピー)するディレクトリを作成します。
サンプルですので下記の例に従わなくても問題はありません。環境に合わせて適宜コマンドの内容を変更してください。
サンプルとしてrhel-8.6-x86_64-dvd.isoを使用しました
mkdir -p /root/media - isoファイルを/root/mediaにコピーします
方法はcopyコマンドやWinSCP、FTP(SFTP)等、アップロードできれば問題ありません - レポジトリにするディレクトリを作成します
mkdir -p /root/repo - /root/repoをマウントします
mount -o loop,ro -t iso9660 /root/media/rhel-8.6-x86_64-dvd.iso /root/repo - /root/repoをレポジトリとして設定します
viコマンドを使用しています。
vi /etc/yum.repos.d/rhel-86.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コマンドでレポジトリがローカルで登録されているか確認します
dnf repolist
サブスクリプション管理リポジトリーを更新しています。
このシステムは、エンタイトルメントーバーに登録されていますが、更新は受信していません。subscription-manager でサブスクリプションを割り当てることができます。repo id repo の名前
ISO-Appstrem RHEL - AppStream
ISO-Base RHEL - Base - yumコマンドでレポジトリを確認します
yum update
サブスクリプション管理リポジトリーを更新しています。
このシステムは、エンタイトルメントーバーに登録されていますが、更新は受信していません。subscription-manager でサブスクリプションを割り当てることができます。メタデータの期限切れの最終確認: 0:05:38 時間前の 2023年05月15日 09時52分04秒 に実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました! - PostgreSQLがインストール可能か確認してみます
dnf module list postgresql
サブスクリプション管理リポジトリーを更新しています。
このシステムは、エンタイトルメントーバーに登録されていますが、更新は受信していません。subscription-manager でサブスクリプションを割り当てることができます
メタデータの期限切れの最終確認: 0:11:29 時間前の 2023年05月15日 09時52分04秒 に実施しました。
RHEL - AppStream
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 13 client, server [d] PostgreSQL server and client module
postgresql 13 client, server [d] PostgreSQL server and client module
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled - PostgreSQL12をインストールしてみます
dnf -y module install postgresql:12
サブスクリプション管理リポジトリーを更新しています。
このシステムは、エンタイトルメントーバーに登録されていますが、更新は受信していません。subscription-manager でサブ スクリプションを割り当てることができます。
メタデータの期限切れの最終確認: 0:18:58 時間前の 2023年05月15日 09時52分04秒 に実施しました。
依存関係が解決しました。
パッケージ Arch バージョン リポジトリー サイズ
group/moduleパッケージをインストール:
postgresql-server x86_64 12.9-3.module+el8.6.0+13484+00387d81 ISO-Appstrem 5.6 M
依存関係のインストール:
libpq x86_64 13.5-1.el8 ISO-Appstrem 198 k
postgresql x86_64 12.9-3.module+el8.6.0+13484+00387d81 ISO-Appstrem 1.5 M
モジュールプロファイルのインストール中:
postgresql/server
モジュールストリームの有効化中:
postgresql 12
トランザクションの概要
インストール 3 パッケージ
合計サイズ: 7.3 M
インストール後のサイズ: 28 M
パッケージのダウンロード:
RHEL - AppStream 4.8 MB/s | 5.0 kB 00:00
GPG 鍵 0xFD431D51 をインポート中:
Userid : "Red Hat, Inc. (release key 2) security@redhat.com"
PostgreSQLをインストールします
dnf -y module install postgresql:12
サブスクリプション管理リポジトリーを更新しています。
このシステムは、エンタイトルメントーバーに登録されていますが、更新は受信していません。subscription-manager でサブ スクリプションを割り当てることができます。
メタデータの期限切れの最終確認: 0:18:58 時間前の 2023年05月15日 09時52分04秒 に実施しました。
依存関係が解決しました。
パッケージ Arch バージョン リポジトリー サイズ
group/moduleパッケージをインストール:
postgresql-server x86_64 12.9-3.module+el8.6.0+13484+00387d81 ISO-Appstrem 5.6 M
依存関係のインストール:
libpq x86_64 13.5-1.el8 ISO-Appstrem 198 k
postgresql x86_64 12.9-3.module+el8.6.0+13484+00387d81 ISO-Appstrem 1.5 M
モジュールプロファイルのインストール中:
postgresql/server
モジュールストリームの有効化中:
postgresql 12
トランザクションの概要
インストール 3 パッケージ
合計サイズ: 7.3 M
インストール後のサイズ: 28 M
パッケージのダウンロード:
RHEL - AppStream 4.8 MB/s | 5.0 kB 00:00
GPG 鍵 ******** をインポート中:Userid : "Red Hat, Inc. (release key 2) security@redhat.com"
Fingerprint:*********************************
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
鍵のインポートに成功しました
GPG 鍵 ******* をインポート中:
Userid : "Red Hat, Inc. (auxiliary key) security@redhat.com"
Fingerprint: ********************************************
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : libpq-13.5-1.el8.x86_64 1/3
インストール中 : postgresql-12.9-3.module+el8.6.0+13484+00387d81.x86_64 2/3
scriptletの実行中: postgresql-server-12.9-3.module+el8.6.0+13484+00387d81.x86_64 3/3
インストール中 : postgresql-server-12.9-3.module+el8.6.0+13484+00387d81.x86_64 3/3
scriptletの実行中: postgresql-server-12.9-3.module+el8.6.0+13484+00387d81.x86_64 3/3
検証 : libpq-13.5-1.el8.x86_64 1/3
検証 : postgresql-12.9-3.module+el8.6.0+13484+00387d81.x86_64 2/3
検証 : postgresql-server-12.9-3.module+el8.6.0+13484+00387d81.x86_64 3/3
インストール済みの製品が更新されています。
インストール済み:
libpq-13.5-1.el8.x86_64
postgresql-12.9-3.module+el8.6.0+13484+00387d81.x86_64
postgresql-server-12.9-3.module+el8.6.0+13484+00387d81.x86_64
インストールができました。
ご参考まで。