CentOSリポジトリからダウンロードされたすべてのRPMパッケージを含むサーバーがあるので、インターネットにアクセスできない別のサーバーからそのサーバーにアクセスして、最新のパッケージを取得できます。
問題は、依存関係の問題により、すべてのパッケージをダウンロードできないことです。以下は私が試したコマンドです。
$ repotrack -p . -a x86_64 *.rpm
上記のコマンドは、194 RPMパッケージをダウンロードします。 * rpmで試しても、同じ結果になります。
$ yum install --downloadonly --installroot=/etc/yum.downloads/packets-installroot --downloaddir=/etc/yum.downloads *.rpm
上記のコマンドは、179 RPMパッケージをダウンロードします。 * rpmで試したところ、パケット数が減少しました。
$ yumdownloader --resolve --destdir=/etc/yum.downloads/ *.rpm
上記のコマンドは、48個のパッケージのみをダウンロードします。
$ yum install --downloadonly --downloaddir=/etc/yum.downloads/ *rpm
上記のコマンドは、48個のパッケージのみをダウンロードします。
これらのコマンドはすべてのRPMパッケージと依存関係をダウンロードする必要がありますが、ダウンロードはしません。私は特定の1つのパッケージでコマンドも試しており、それらはその依存関係をダウンロードしますが、すべてのパッケージをダウンロードしようとするたびに、私は推測に失敗します。
更新:
以下のコマンドを試してみました
$ repoquery --qf=%{name} -g --list --grouppkgs=all [groups] | xargs repotrack -a x86_64 -p .
4640個のパッケージをダウンロードしましたが、まだ問題があります。 -gコマンドは、パッケージの代わりにグループを照会します。そのため、グループを持たないパッケージがあり、それらもダウンロードする必要があります。
-a
パラメータは、マニュアルでは-a
"すべてクエリ"。しかし、それでも本当の構文を見つけることができませんでした。誰か知っていますか?
私は解決策を見つけました。
repoquery -a | xargs repotrack -a x86_64 -p .
wget -A rpm -r -l 5 http://mirror.centos.org/centos/7/os/x86_64/Packages/ -P .