2つのCentOSシステムと1つの6.3ボックス(ㅏ)および他のCentOS 6.1。 (第二)
6.3ボックスにはインターネットが接続されていますが、6.1ボックスにはインターネットは接続されていません。
Box Aにある製品のすべての依存関係をダウンロードし、これらのn個のBox Bをコピーして製品をインストールしたいと思います。
私は前に試しました
yum --downloadonly --downloaddir=*~/downloadrepo* -y install *product*`
cd *~/downloadrepo*
createrepo .
その後、私のリポジトリを除くすべてのリポジトリを無効にし(--disablerepoを使用)、同じシステム(ボックスA)に製品をインストールしました。エラーはありません。
yum install *product*
このストアをBox Bにコピーして同じコマンドを使用してインストールしようとすると、インストールが開始されますが、次のようなエラーがたくさん発生します。
エラー:依存関係がありません:パッケージphp-ldap-5.1.6-27.el5_5.3.x86_64にはlibldap-2.3.so.0()(64ビット)が必要です(すでにインストールされています)。
私が必要なことを達成する方法はありますか?
修正する
@rkosegiが提案したオプションを使い始めたとき(--releasever=バージョン)、同じバージョンのCentOS 6.1(氏)
Box Cで上記のコマンドを試してBox Bにコピーしました。それでも失敗します。その理由は、両方のボックスが6.1ですが、同じではないからです(名前なし -r別の文字列を返します)。
Yumはすでにインストールされている依存関係をダウンロードしません。したがって、私のリポジトリにはOpenJDKを含むいくつかの依存関係が含まれていません。だからBox Bにインストールしようとすると失敗します。
本当に残念です!
ところで'というコマンドを見つけました。戻る'ここ。
cd ~/downloadrepo
repotrack -p . -a x86_64 product
createrepo .
私はyumよりはるかに多くのファイルを取得しており、それがうまくいくことを願っています。
一度インストールして更新します。
修正する
コマンドの戻りは機能しません。 "repotrack"を使用して作成されたリポジトリからインストールしようとすると、次のエラーが発生します。
Error: Package: perl-CGI-3.51-127.el6.x86_64 (repo-local)
Requires: perl = 4:5.10.1-127.el6
Installed: 4:perl-5.10.1-119.el6_1.1.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
perl = 4:5.10.1-119.el6_1.1
Error: Package: audit-libs-python-2.2-2.el6.x86_64 (repo-local)
Requires: audit-libs = 2.2-2.el6
Installed: audit-libs-2.1.3-3.el6.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
audit-libs = 2.1.3-3.el6
フォルダから両方のファイルを削除し、「createrepo」を使用してリポジトリを再構築してみました。別のエラーセットが発生します。
今私の選択が何であるかよくわかりません...
答え1
これを頻繁に実行する必要がある場合は、設定に時間がかかることがあります。宇宙遊泳。自動的にリポジトリを作成し、適切なパッケージ(または必要に応じてすべてのパッケージ)でいっぱいにします。他のすべてのことは言うまでもありません...
答え2
yum --downloadonly --downloaddir=~/downloadrepo -y install product
ターゲットマシン(6.1)と同じバージョンのリポジトリからダウンロードするようにyumに指示する必要があります。
また、ダウンロード(6.3)を実行するシステムが、ターゲットシステム(6.1)に欠落しているいくつかの依存関係がインストールされていないことを確認する必要があります。
答え3
「きれいな」機械が入手できない場合は、yum provides
欠けている部品を使用するか手動で検索する必要があります。
リポジトリの既存のrpmを確認し、その依存関係を照会する必要があります
rpm -qp --requires RPM
。リポジトリにまだない新しいコンテンツがこのリストに表示された場合は、そのコンテンツを追加する必要があります。