RHEL / CentOS 8のRPMとすべての依存関係をダウンロードしてください。

RHEL / CentOS 8のRPMとすべての依存関係をダウンロードしてください。

ネットワーク接続のないサーバーにランダムRPMパッケージのリスト(通常約5〜10個のパッケージ)をインストールする必要があるシナリオがあります。一部のパッケージはEPELで提供されており、頻繁に同期する必要があるため、すべてのリポジトリを同期したくない場合があります。

以下を実行してRHEL / CentOS 7の問題を解決しました。

$ yum -y install epel-release createrepo
$ repotrack $PACKAGE_NAME
$ createrepo --database .

/etc/yum.repos.dその後、USBドライブを使用してこのフォルダをサーバーに移動し、そこにストレージファイルを作成しますyum --disablerepo="*" --enablerepo="my-custom-repo" install $PACKAGE_NAME

dnf installこれをRHEL / CentOS 8に移動し、パッケージの半分で動作している間に隔離サーバーで残りの半分を実行すると、次のエラーが発生します。

モジュール型パッケージ「podman-1.6.4-2.module_el8.1.0+272+3e64ee36.x86_64」には、利用可能なモジュール型メタデータがないため、システムにインストールできません。

私はこれが新しいモジュラーシステムのためだと思い、私のリポジトリに必要なすべての情報はありません。両方のマニュアルをrepotrack読んでみましたが、createrepoどちらもモジュールについて言及していないようです。インターネットで検索すると、すでに持っている7のソリューションのみが提供されましたが、8、特にモジュールに属するパッケージについては何も見つかりませんでした。

それでは、モジュールであるRHEL / CentOS 8パッケージとすべての依存関係をディスクに抽出して別のサーバーに移動し、そこにインストールするにはどうすればよいですか?

ありがとうございます!

答え1

見てmodulemdツールプロジェクト。あなたは見つけることができますEPELのプリコンパイル済みバイナリ

複数のモジュラーrpmがあるとします./my-custom-repo/Packages

python36-3.6.8-2のようなモジュラーrpm名。モジュール_el8.1.0+245+c39af44f.x86_64.rpm

ランニング:

cd my-custom-repo
# create traditional rpm repo
createrepo_c .
# generate modules meta info
repo2module  -s stable -d . modules.yaml
# adjust modules meta info to traditional rpm repo
modifyrepo_c --mdtype=modules modules.yaml repodata/

これがすべて完了したら、repodataディレクトリにxxxx-modules.yaml.gzなどのファイル名を見つけることができます。

これでリポジトリが機能します。

答え2

yumはまだRHEL 8で動作します。また、DNFとyumのダウンロード専用オプションもあります。

--downloadonly rpmトランザクション(インストール/アップグレード/削除)を実行せずに確認済みのパッケージセットをダウンロードします。

ヤムのインストールhttpd --downloadonly

ファイルをダウンロードして目的の場所にコピーして実行します。

dnf localinstall packagename

関連情報