GNU/Linux >> Linux の 問題 >  >> Cent OS

依存関係のある RPM パッケージのダウンロード [ yumdownloader 対 yum-downloadonly 対 repoquery]

パッケージをインストールせずにダウンロードする必要がある場合があります。ダウンロードする RPM パッケージの依存関係が複数ある場合、これは困難で時間がかかる可能性があります。時間と複雑さを軽減するために、次のプログラムを使用して、インストールせずに rpm パッケージをダウンロードできます。

  • yum-downloadonly プラグインにより、「yum」はパッケージをインストールせずにダウンロードできます
  • yumdownloader (yum-utils パッケージの一部)
  • リポトラックまたはリポクエリ (yum-utils パッケージの一部)

上記のコマンドに加えて、基本的な「yum deplist」コマンドを使用して、RPM パッケージの依存リストを見つけることもできます。たとえば、「nano」rpm の依存パッケージを見つけるには、次のコマンドを使用します。

# yum deplist nano
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.sfo12.us.leaseweb.net
 * epel: mirror.pnl.gov
 * extras: mirrors.xmission.com
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.pac-12.org
package: nano.x86_64 2.3.1-10.el7
  dependency: /bin/sh
   provider: bash.x86_64 4.2.46-29.el7_4
  dependency: /sbin/install-info
   provider: info.x86_64 5.1-4.el7
  dependency: libc.so.6(GLIBC_2.14)(64bit)
   provider: glibc.x86_64 2.17-196.el7_4.2
  dependency: libncursesw.so.5()(64bit)
   provider: ncurses-libs.x86_64 5.9-14.20130511.el7_4
  dependency: libtinfo.so.5()(64bit)
   provider: ncurses-libs.x86_64 5.9-14.20130511.el7_4
  dependency: rtld(GNU_HASH)
   provider: glibc.x86_64 2.17-196.el7_4.2
   provider: glibc.i686 2.17-196.el7_4.2

1. yumdownloader

パッケージをインストールせずにダウンロードするために最も一般的に使用されるプログラムは、「yumdownloader」です。 yumdownloader ユーティリティは、インストール済みパッケージをダウンロードする場合に特に役立ちます。 yum-utils パッケージは yumdownloader ユーティリティを提供します。 「yum-utils」をインストールするには:

# yum install yum-utils

RPM とその依存関係をダウンロードするための「yumdownloader」ユーティリティの構文は次のとおりです。

# yumdownloader [options] package1 [package2] [package..]

たとえば、RPM「firefox」とそのすべての依存関係をダウンロードするには、beow コマンドを使用します。

# yumdownloader --destdir=/var/tmp/ --resolve firefox

ここで、
–destdir RPM パッケージを保存するディレクトリです (指定しない場合、デフォルトで現在のディレクトリになります)。
–resolve – 依存関係を解決し、必要なパッケージをダウンロードします

yumdownloader プログラムは、適切なワイルドカードを使用してパッケージをダウンロードするための非常に強力なツールです。例:

# yumdownloader [a]*                (will download all available packages whose name starts with "a")
# yumdownloader [a-c]*              (will download all available packages whose name starts with "a", "b" and "c")
# yumdownloader glibc*              (will download all available packages whose name starts with "glibc")
注意 :メイン パッケージとその依存関係をダウンロードするために使用できるコマンドがありますが、すべてのパッケージのダウンロードに失敗することがあります。その場合、不足しているパッケージを 1 つずつダウンロードする必要があります。

注意

:
– デフォルトでは、パッケージは現在の作業に直接保存されます。 –destdir を使用します 別の場所を指定するオプション。
–resolve を必ず追加してください 依存関係をダウンロードする必要がある場合。

2.リポクエリ / レポトラック

パッケージとその依存関係をダウンロードするために頻繁に使用される「yumdownloader –resolve」コマンドは、必ずしもすべての依存関係を正常に認識しません。 「repoquery」を使用して依存関係を見つけてから、「yumdownloader」を使用してそれらをダウンロードすることをお勧めします。

たとえば、repoquery コマンドを使用して、Firefox RPM のすべての依存関係を検索し、コマンド出力と「yumdownloader」を使用して依存関係をダウンロードできます。

# repoquery -R --resolve --recursive firefox | xargs -r yumdownloader

「repotrack」ユーティリティを使用して、RPM とそのすべての依存関係をダウンロードすることもできます。例:

# repotrack firefox

3. yum の yum-downloadonly プラグイン

yum-downloadonly 」プラグインにより、「yum」はパッケージをインストールせずにダウンロードできます。 「downloadonly」プラグインを含むパッケージをインストールします:

(CentOS/RHEL 5)
# yum install yum-downloadonly

(CentOS/RHEL 6,7)
# yum install yum-plugin-downloadonly

次のように、「–downloadonly」オプションを指定して yum コマンドを実行します。

# yum install --downloadonly --downloaddir=[directory] [package]

yum-downloadonly プラグインに関する注意事項

– プラグインを使用する前に、/etc/yum/pluginconf.d/downloadonly.conf を確認してください このプラグインが「enabled=1」であることを確認する 」
– これは「yum install/yum update」に適用され、「yum groupinstall」には適用されません。 「yum groupinfo」を使用して、特定のグループ内のパッケージを識別します。
– パッケージ名のみを指定すると、利用可能な最新のパッケージがダウンロードされます (sshd など)。それ以外の場合は、完全なパッケージ名とバージョン (httpd-2.2.3-22.el5 など) を指定できます。
– 必要に応じて、同じコマンドで複数のパッケージをダウンロードできます。
–キャッシュを再利用する前にレポデータの有効期限が切れた場合は、レポデータを再ダウンロードする必要があります。デフォルトでは、有効期限が切れるまで 2 時間かかります。

「repoquery」コマンドを使用してパッケージの依存関係を一覧表示する方法
「yum downloadonly」を使用してパッケージをインストールせずにダウンロードする方法
YUM を使用したオフライン インストール用にリポジトリから特定のバージョンのパッケージとその依存関係をダウンロードする


Cent OS
  1. rpmパッケージをビルドする方法

  2. すでにインストールされている場合でも、Yumdownloaderですべての依存関係をダウンロードしますか?

  3. DEBまたはRPMLinuxアプリをダウンロードするための便利なWebサイト

  1. YumまたはRPMを使用してCentOSにインストールされているパッケージを一覧表示する方法

  2. UbuntuにRPMパッケージをインストールする方法

  3. RPM を使用した Linux ソフトウェア管理の初心者向けガイド

  1. RHEL 8 / CentOS8Linuxシステムにパッケージをインストールする方法

  2. rpmパッケージマネージャーを使用してパッケージ情報を照会する方法

  3. UbuntuにRPMパッケージをインストールする