ダウンロードおよびインストールするパッケージとして「httpd」を使用する特定の例を次に示します。このプロセスは、CentOS6とCentOS7の両方でテストされました。
必要なものをインストールし、ダウンロードしたRPMを置く場所を作成します。
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
RPMをダウンロードします。これは、空のルートには何もインストールされていないため、ここで提案されているinstallrootトリックを使用して、すべての依存関係の完全ダウンロードを強制します。Yumはそこにいくつかのメタデータを作成しますが、すべて破棄します。CentOS7のreleasever
場合は「7」になります。
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
はい、それは小さなバージョンでした。フルレポのダウンロードのサイズを見たことがあるはずです!
RPMの新しい山をYUMリポジトリに変換し、不要になったものをクリーンアップするために必要なメタデータを生成します。
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
ダウンロードディレクトリをリポジトリとして構成します。CentOS7の場合、gpgkeyの名前は「6」ではなく「7」になることに注意してください。
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
欠落している依存関係を確認するには:
# repoclosure --repoid=offline-httpd
CentOS7で、(ライブラリのプロバイダー)がディレクトリに明確に存在するときlibssl.so.10(libssl.so.10)(64bit)
から欠落しているようなものを報告する理由を理解していません。それでも、明らかに欠落しているものがあれば、これは上記と同じ方法を使用して戻って追加する良い機会です。httpd-tools
openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
yum install --downloadonly
オフラインの場合、または/var/tmp/httpd
リポジトリディレクトリを他のサーバーにコピーした後、そこにリポジトリを設定します。
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# yum --disablerepo=\* --enablerepo=offline-httpd install httpd
不足している依存関係がないことを願っています!