GNU/Linux >> Linux の 問題 >  >> Linux

ローカルのRedHatリポジトリを作成する方法

ローカルのRedHatEnterpriseLinuxリポジトリが必要になる理由はたくさんあります。インターネットからアップデートをダウンロードすると時間と帯域幅が消費される可能性があるため、帯域幅は主要な要因です。もう1つの理由は、サーバーがインターネットに接続されていないため、ローカルソースから更新を取得する必要があることです。ライセンスにお金をかけたくないが、それでも更新する必要がある開発環境があるかもしれません。理由が何であれ、このチュートリアルでは、ローカルリポジトリを設定するプロセスについて説明します。

注:リポジトリとして機能するサーバーは、リポジトリとしてのみ機能する必要があります。

リポジトリに必要なパッケージをインストールします
yum install yum-utils createrepo httpd
リポジトリのディレクトリを作成します
mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc
役立つコマンド

サーバー上のリポジトリを有効と無効の両方で一覧表示します。

yum repolist all

サブスクリプションで利用可能なリポジトリを一覧表示します

subscription-manager repos --list

システムでリポジトリを有効にする

subscription-manager repos --enable=rhel-6-server-optional-rpms

システムのリポジトリを無効にする

subscription-manager repos --disble=rhel-6-server-optional-rpms

サーバー、dts、およびrhsc(ソフトウェアコレクション)リポジトリをリポジトリで有効にする必要があります

同期リポジトリ

これらのリポジトリがすべて有効になったら、次のコマンドを実行して、それぞれのdownload_pathを変更し、そのリポジトリのdownload_pathと一致させます。

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

注:サーバーリポジトリは最も時間がかかります。一晩中のように。他のものはもっと短くする必要があります。

Createrepoコマンド

パッケージがダウンロードされたら、必要なのは各リポジトリの以下のcreaterepoコマンドだけです

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

注:-g comps.xmlは、サーバーリポジトリにのみ必要です。

クライアントサーバーのセットアップ

これでローカルリポジトリができましたが、これらのリポジトリを更新に使用するRedHatサーバーにいくつかの変更を加える必要があります。

まず、/ etc / yum.repos.d内のリポジトリファイル内で、他のすべてのリポジトリの有効フラグが0(ゼロ)に設定されていることを確認します。後で必要になる可能性があるため、現時点ではリポジトリを削除しません。有効フラグを変更するだけで十分です。

次に、リポジトリを使用してすべてのサーバーの/etc/yum.repos.dディレクトリに追加される.repoファイルを作成する必要があります。そのファイルは次のファイルのようになります。

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1
リポジトリを更新するためのスクリプトとcronジョブを作成する

update-repository.shという名前のスクリプトを作成し、次の内容で/ usr / local/binに配置します。

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

毎月ローテーションするように設定したログにドロップしたことに注意してください。

/etc/cron.dにファイルを作成し、次の内容でupdate-repositoryという名前を付けます。

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh
最終的な考え

ローカルリポジトリの設定を実現するにはさまざまな方法がありますが、私は確かにこのリポジトリの車輪を発明しませんでした。セットアップの詳細と洞察については、以下のソースを参照してください。

ソース
  • https://access.redhat.com/solutions/23016
  • http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
  • https://www.howtoforge.com/creating_a_local_yum_repository_centos

Linux
  1. Linuxでリポジトリをミラーリングする方法

  2. Red Hat Enterprise Linuxを無料で入手するにはどうすればよいですか?

  3. MySQL Enterprise パッケージのローカル Yum リポジトリを作成する方法

  1. 現在のRedHatサブスクリプションなしでRHEL7でEPELリポジトリを有効にする方法

  2. DVDを使用してCentOS7/RHEL7でローカルYUMリポジトリを作成する方法

  3. Red Hat / CentOS :インターフェイスの作成方法 / NIC ボンディング

  1. RHEL8でRedHatサブスクリプションを有効にする方法

  2. DVDを使用してRHEL8にローカルYUMリポジトリを作成する方法

  3. Red Hat EnterpriseLinux8でFTPベースのYUM/DNFリポジトリを作成します