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 ポート 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 サーバーが稼働していることを確認できます。デフォルトの 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 リポジトリを作成する方法を説明しました。ご質問やご意見がございましたら、下記のフィードバック フォームからお気軽にご連絡ください。