RHELおよびCentOSサーバーで作業しているときに、特定のまたは一連のRPMパッケージをインストールせずにコマンドラインからダウンロードしたいシナリオがいくつかあります。 wgetコマンドを使用してパッケージをダウンロードすることはできますが、wgetは依存関係とともにパッケージをダウンロードしません。
RHEL8またはCentOS8では、DNF(またはyum)はコマンドラインパッケージ管理ユーティリティです。 DNFまたはyumを使用して、rpmパッケージをインストール、更新、および削除できます。これとは別に、パッケージをインストールせずに依存関係とともにダウンロードするためにも使用できます。
このガイドでは、RHEL8またはCentOS8システムにインストールせずにrpmパッケージをダウンロードする方法について説明します。
特定のRPMパッケージをダウンロード
RHEL8またはCentOS8のdnfまたはyumコマンドには、rpmパッケージをダウンロードできるダウンロードフラグがあります。
構文:
$ sudo dnf download
「nfs-utils」パッケージをダウンロードするとします。実行
$ sudo dnf download nfs-utils
上記のコマンドは、現在の作業ディレクトリにあるnfs-utilsパッケージをダウンロードします。依存関係はダウンロードされません。ダウンロードしたパッケージを確認し、実行します
$ ls nfs-utils-2.3.3-26.el8.x86_64.rpm $
依存関係とともにRPMをダウンロード
dnfまたはyumコマンドで「–downloadonly」フラグを使用すると、rpmパッケージとその依存関係をダウンロードできます。 「–downloaddir」フラグを使用して、特定のフォルダにrpmをダウンロードするようにdnfコマンドに指示することもできます。
構文:
$ sudo dnf install
パッケージディレクトリに依存関係とともにansiblerpmをダウンロードしたいとします。
$ mkdir packages $ sudo dnf install ansible --downloadonly --downloaddir ~/packages/
上記のコマンドが正常に実行されたら、ansiblerpmパッケージがダウンロードされているかどうかを確認します。 lsコマンドを実行します
$ ls -l packages/
これで、これらのパッケージのtarファイルを作成し、ansibleをインストールしたいリモートシステムに転送できますが、そのシステムにはインターネットとリポジトリの接続がありません。
グループパッケージのダウンロード
「開発ツール」グループに含まれるすべてのパッケージをダウンロードし、コマンドの下で実行するとします。
$ sudo dnf group install "Development Tools" --downloadonly --downloaddir ~/dev-tools/ -y
パッケージがダウンロードされているかどうかを確認し、lsコマンドを実行します
$ ls -l ~/dev-tools/
上記の出力は、すべての開発パッケージが〜/dev-toolsフォルダーにダウンロードされていることを示しています。
注:dnfまたはyumコマンドコマンドを使用してパッケージをダウンロードし、–downloadidrフラグを渡さない場合、パッケージは「/ var / cache / dnf / baseos-xxxx / packages /」、「/ var /cache/」にダウンロードされます。 dnf / appstream-xxxx /packages'および'/var / cache / dnf / epel-xxxx /packages/'。
これがこのガイドのすべてです。有益であることがわかりました。以下のコメントセクションに質問やフィードバックを投稿してください。