私たちのサーバーはオフラインで実行されており、Oracle-jdk、elasticsearch、nginxなどの多くのyumパッケージをインストールする必要があります。
Rpmの依存関係をダウンロードしてサーバーにオフラインでインストールできるようにする方法はありますか?
Rsync接続を受け入れるパブリックCentOSミラーへのrsync
を使用して、インターネットに接続されたマシン上のローカルCentOSミラーを維持します。その後、これらのディレクトリをUSBスティックにコピーして、インストールソースとして使用できます。それらはすでにリポジトリとして機能するために必要なメタデータを持っているので、インストーラをそれらに向けるだけで済みます。
$ du -sh /srv/www/mirrors/centos/7.1.1503/{os,updates}/x86_64
7.1G /srv/www/mirrors/centos/7.1.1503/os/x86_64
2.1G /srv/www/mirrors/centos/7.1.1503/updates/x86_64
サードパーティパッケージの場合、reposync
コマンドラインツールを使用して自分でミラーリングすることもできます。このコマンドラインツールは、yumリポジトリのコンテンツをローカルファイルシステムにダウンロードし、createrepo
はyumを作成しますディレクトリ内のRPMセットのリポジトリ。
リポジトリはネットワーク上にある必要はありません。それらは、ハードドライブ、DVD-ROM、USBスティックなどのローカルファイルシステムに配置できます。
あなたのコメントに応じて:
すべてのRPMパッケージと依存関係をインターネットに接続された別のCentos 7.1マシンにダウンロードし、それらすべてのRPMファイルを(たとえばペンドライブを使用して)サーバーに移動してそこにインストールするようなものを望みます。
オンラインCentOSサーバーで オプションを設定するkeepcache=0
をkeepcache=1
に yum.conf
することで、かなり簡単なことのように思えます。まず、オフラインサーバーにインストールするすべてのパッケージをそこにインストールし、次に、収集したRPMパッケージをさまざまな/var/cache/yum/*/*/*packages/
ディレクトリからコピーします。
yum install -y xxx yyy --downloadonly
その後、すべてのrpmが/var/cache/yum
にダウンロードされます。