パッケージ名とバージョンを指定して、特定のパッケージの.rpmファイルをダウンロードする必要があります。たとえば、「libX11-1.5.99.902」です。一致する.rpmを検索してダウンロードする方法をオンラインで探していましたが、これまで何も見つかりませんでした。理想的には、複数のファイルが一致する場合(たとえば、複数のスキーマ)、各バリアントをダウンロードします。しかし、これは必須ではありません。
使ってみました。Yumダウンローダしかし、ここには名前だけが必要で、バージョン情報は必要ありません。この記事では、rpm Pythonモジュールを使用する方法について説明します。ダウンロード可能なパッケージのリストではなく、現在インストールされているパッケージのみを返すことに気付くまで、私は有望だった。だからようやく使ってみました。dnf Python API.スクリプト例もあります(!)。しかし、結果は私が望むようではありません。たとえば、libX11-1.5.99.902の.rpmが必要であり、そのスクリプト例は私がインストールしたlibX11-1.6.7の他のアーキテクチャバリアントを返すので、これは100%不明です。 Web お問い合わせかどうか。
端末ベースのアプローチを試しましたが、同様のものはyum --showduplicates search all libX11
以前のバージョンを表示しません。私の場合は、libX11の以前のマイナーバージョンをダウンロードしたいと思います。
言い換えれば、「libX11-1.5.99」、「libX11-1.5.99.902」などの文字列を取得して、その文字列をディスク上のRPMリストに照会してダウンロードする必要があります(すべてのアーキテクチャ/バリアントのRPM)。そのバージョンが最適です。 )。
どうすればいいですか?
答え1
実際にyumdownloader
希望の方法で正確に作業を行います。
[root@299571442fbc /]# yumdownloader libX11-1.6.7
Loaded plugins: fastestmirror, ovl, versionlock
Loading mirror speeds from cached hostfile
* base: mirror.reconn.ru
* centos-sclo-rh: mirror.reconn.ru
* centos-sclo-sclo: mirror.reconn.ru
* extras: mirror.sale-dedic.com
* updates: mirror.sale-dedic.com
(1/2): libX11-1.6.7-4.el7_9.i686.rpm | 611 kB 00:00:00
(2/2): libX11-1.6.7-4.el7_9.x86_64.rpm | 607 kB 00:00:00
実際には、利用可能な最新バージョンがダウンロードされます。libX11-1.5.99
バージョンを取得できない理由は、そのバージョンがどのリポジトリにも存在しないためです。