Yumdownloaderは、さまざまなアーキテクチャ用のパッケージもダウンロードします。

Yumdownloaderは、さまざまなアーキテクチャ用のパッケージもダウンロードします。

x86_64システムで - コマンドを実行すると、yumdownloader <pkg_name>i686とx86_64アーチパッケージの両方がダウンロードされ、i686システムではi686パッケージのみがダウンロードされます。この問題をどのように解決しますか? Archlistオプションを提供する以外に他の解決策はありますか?

答え1

i686パッケージを自動的に除外します。

yumdownloader -x '*i686'

答え2

1つの可能性:/etc/yum.confあなたは変えることができますマルチストレージ戦略デフォルトで一致させるには、「すべて」から「最適」に移動しますx86_64

後でスキーマを指定することもできます。パッケージ名。たとえばyumdownloader guile.x86_64

しかし、これは現在起こっていることであり、それを「修正」する方法を示しています。アーキテクチャを使用または提供しない場合、--archlist「guile」、「guile」などのパッケージは、各パッケージに必要なすべての依存関係が提供されている場合は、「guile.x86_64」と「guile.i686」の2つのパッケージと一致します。

したがって、ここで悪いフィードバックループは、パッケージの2つのバージョンをより多くインストールするほど(パッケージを提供していない場合や--archlistダウンロード時にアーチを表示する場合など)、そうする可能性が高くなります。未来インストールまたはダウンロードは複数のパッケージと一致します。これは両方の依存関係を満たす可能性が高いからです。

したがって、この問題を解決するもう1つの面倒な方法は、パッケージの依存関係を照会することです。i686バージョンが存在する場合削除するそれら。これを行うには、より多くのパッケージを削除し、そのパッケージのバージョンがあることをi686確認する必要があります。x86_64場合によっては、パッケージが存在しないか、他のパッケージがない場合があります。

たとえば、スクリプトを入力して自動化された方法でこのシステムを構築する場合Pythonx86_64または、puppetやChefなどの構成管理システムからロードするパッケージを一覧表示するときに、パッケージ名の後に(代わりにguile.x86_68guilearchを追加して、各パッケージが32ビットと32ビットの両方にインストールされるリスクを減らすこともできます。ビットオペレーティングシステムに問題があります。または64ビットモード。

最後に、32ビット形式でのみ存在するいくつかのパッケージがあることを指摘したいと思います。

関連情報