"yum install $PACKAGE"を使用できるネットワーク接続を持つサーバーがあります。必要なすべてのRPMファイルを$ DIRECTORYにダウンロードできる
ように、いくつかのyumコマンドが必要です。 $ DIRECTORYには、ネットワーク接続なしで他の多くのサーバーにこれらのRPMをインストールする手順を説明するyum cache-rpms $PACKAGE $DIRECTORY
ファイル()も含まれています。ネットワークを使用する代わりに。Install.sh
Install.sh
yum install $PACKAGE
$DIRECTORY
可能ですか?
私はyumとRPMを使用できる一般的なソリューションを探しています。特に CENTOS 6.7 サーバーセットにあります。
ベストアンサー1
以下は、ダウンロードおよびインストールパッケージとして「httpd」を使用した具体的な例です。この手順は CentOS6 および CentOS7 でテストされました。
必要なものをインストールしてダウンロードしたRPMのためのスペースを作ります。
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
RPMをダウンロードしてください。これは以下を使用します。ここにルートスキルをインストールすることをお勧めします空のルートディレクトリには何もインストールされていないため、すべての依存関係を強制的に完全にダウンロードします。 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
libssl.so.10(libssl.so.10)(64bit)
CentOS7では、このレポートに(ライブラリプロバイダ)ディレクトリに明示的に存在する情報が欠落している理由を特定できませんでした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
依存が消えないように!