ウェブサイト検索

RHEL 8 でローカル HTTP Yum/DNF リポジトリを作成する方法


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

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

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

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

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

弊社のテスト環境

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

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

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

dnf install nginx

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

systemctl start nginx
systemctl enable nginx
systemctl status nginx

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

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

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

http://SERVER_DOMAIN_NAME_OR_IP

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

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

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 ファイルを使用して、RHEL 8 でローカルのYUM/DNF リポジトリを作成する方法を説明しました。ご質問やご意見がございましたら、下記のフィードバック フォームからお気軽にご連絡ください。