RedHat ローカルレポジトリの作成

インターネットにすべてのノードが未接続な環境でソフトウェアを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

インストールができました。
ご参考まで。

関連記事

TOP