RHEL8でローカルHTTPYum / DNFリポジトリを作成する方法


ソフトウェアリポジトリまたは「リポジトリ」は、Redhat Linuxディストリビューション用のRPMソフトウェアパッケージを保持および保守するための中心的な場所であり、ユーザーはそこからLinuxサーバーにパッケージをダウンロードしてインストールできます。

リポジトリは通常、インターネット上の複数のユーザーがアクセスできるパブリックネットワークに保存されます。ただし、サーバー上に独自のローカルリポジトリを作成し、シングルユーザーとしてアクセスしたり、HTTP Webサーバーを使用してローカルLAN(ローカルエリアネットワーク)上の他のマシンへのアクセスを許可したりできます。

ローカルリポジトリを作成する利点は、ソフトウェアパッケージやアップデートをインストールするためにインターネット接続を必要としないことです。

YUM(Yellowdog Updater Modified)またはDNF(Dandified YUM)は、RPM(RedHat Package Manager)ベースのLinuxシステムで広く使用されているソフトウェアパッケージ管理ユーティリティであり、Red Hat/CentOSLinuxでのソフトウェアのインストールを容易にします。

この記事では、インストールDVDまたはISOファイルを使用してRHEL8にローカルYUM/DNFリポジトリをセットアップする方法について説明します。また、NginxHTTPサーバーを使用してクライアントRHEL8マシンでソフトウェアパッケージを検索してインストールする方法についても説明します。

Local Repository Server: RHEL 8 [192.168.0.106]
Local Client Machine: RHEL 8 [192.168.0.200]

ステップ1:NginxWebサーバーをインストールする

1.まず、次のようにDNFパッケージマネージャーを使用してNginxHTTPサーバーをインストールします。

# dnf install nginx

2. Nginxをインストールしたら、次のコマンドを使用して、サービスを開始し、起動時にサービスを自動開始できるようにして、ステータスを確認できます。

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3.次に、ファイアウォールでNginxポート80と443を開く必要があります。

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

4.これで、Webブラウザで次のURLにアクセスして、Nginxサーバーが稼働していることを確認できます。デフォルトのNginxWebページが表示されます。

http://SERVER_DOMAIN_NAME_OR_IP

ステップ2:RHEL8インストールDVD / ISOファイルのマウント

5.Nginxドキュメントルートディレクトリ/var/www/html/の下にローカルリポジトリマウントポイントを作成し、ダウンロードしたRHEL 8 DVDISOイメージを/mnt ディレクトリの下にマウントします。

# mkdir /var/www/html/local_repo
# mount -o loop rhel-8.0-x86_64-dvd.iso /mnt  [Mount Download ISO File]
# mount /dev/cdrom /mnt                       [Mount DVD ISO File from DVD ROM]

6.次に、ISOファイルを/var/www/html/local_repo ディレクトリの下にローカルにコピーし、lsコマンドを使用して内容を確認します。

# cd /mnt
# tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
# ls -l /var/www/html/local_repo/

ステップ3:ローカルリポジトリを設定する

7.次に、ローカルリポジトリを構成します。 /etc/yum.repos.d/ディレクトリにローカルリポジトリ設定ファイルを作成し、図のようにファイルに適切な権限を設定する必要があります。

# touch /etc/yum.repos.d/local-rhel8.repo
# chmod  u+rw,g+r,o+r  /etc/yum.repos.d/local-rhel8.

8.次に、お気に入りのコマンドラインテキストエディタを使用して編集するファイルを開きます。

# vim /etc/yum.repos.d/local.repo

9.次のコンテンツをコピーしてファイルに貼り付けます。

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LocalRepo_AppStream]
name=LocalRepo_AppStream
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

変更を保存してファイルを終了します。

10.次に、次のコマンドを実行して、ローカルリポジトリを作成、構成、および管理するために必要なパッケージをインストールする必要があります。

# yum install createrepo  yum-utils
# createrepo /var/www/html/local_repo/

ステップ4:ローカルリポジトリをテストする

11.このステップでは、次のコマンドを使用して、リポジトリ用に保持されている一時ファイルのクリーンアップを実行する必要があります。

# yum clean all
OR
# dnf clean all

12.次に、作成されたリポジトリが有効なリポジトリのリストに表示されることを確認します。

# dnf repolist
OR
# dnf repolist  -v  #shows more detailed information 

13.次に、ローカルリポジトリからパッケージをインストールしてみます。たとえば、次のようにGitコマンドラインツールをインストールします。

# dnf install git

上記のコマンドの出力を見ると、スクリーンショットに示すように、gitパッケージがLocalRepo_AppStreamリポジトリからインストールされています。これは、ローカルリポジトリが有効になっていて正常に機能していることを示しています。

ステップ5:クライアントマシンでローカルYumリポジトリをセットアップする

14. RHEL 8クライアントマシンで、ローカルリポジトリをYUM構成に追加します。

# vi /etc/yum.repos.d/local-rhel8.repo 

以下の構成をコピーしてファイルに貼り付けます。 baseurl をサーバーのIPアドレスまたはドメインに置き換えてください。

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

[LocalRepo_AppStream]
name=LocalRepo_AppStream
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

ファイルを保存して、ローカルYUMミラーの使用を開始します。

15.次に、次のコマンドを実行して、クライアントマシンで使用可能なYUMリポジトリのリストにローカルリポジトリを表示します。

# dnf repolist

それで全部です!この記事では、インストールDVDまたはISOファイルを使用して、RHEL8でローカルYUM/DNFリポジトリを作成する方法を示しました。ご質問やご意見がございましたら、以下のフィードバックフォームからお問い合わせください。