LoginSignup
0
0

More than 1 year has passed since last update.

依存含む RPM パッケージを yum でローカルにダウンロードしたい

Posted at

実現したいこと

あるパッケージをインストールする際に必要となる RPM パッケージをすべて手元にダウンロードしたい。

インターネットへの接続が行えない閉鎖環境に RPM ファイルを持ち込んでローカルインストールしたいというようなケースで、このような需要が発生する。

実現方法

yum --downloadonly オプションを利用することで実現できる。

以下コマンドを実行すると、 mariadb と、 mariadb が依存する mariadb-libs の RPM パッケージがダウンロードできていることがわかる。

$ sudo yum --downloadonly install mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
...
Background downloading packages, then exiting:
No Presto metadata available for base
(1/2): mariadb-libs-5.5.68-1.el7.x86_64.rpm                                                        | 760 kB  00:00:01
(2/2): mariadb-5.5.68-1.el7.x86_64.rpm                                                             | 8.8 MB  00:00:02
--------------------------------------------------------------------------------------------------------------------------
Total                                                                                     3.3 MB/s | 9.5 MB  00:00:02
exiting because "Download Only" specified

パスは以下のように確認できる。

$ sudo find / -name mariadb-5.5.68-1.el7.x86_64.rpm 2>/dev/null
/var/cache/yum/x86_64/7/base/packages/mariadb-5.5.68-1.el7.x86_64.rpm
$ sudo find / -name mariadb-libs-5.5.68-1.el7.x86_64.rpm 2>/dev/null
/var/cache/yum/x86_64/7/base/packages/mariadb-libs-5.5.68-1.el7.x86_64.rpm

注意事項

なお、閉鎖環境に依存パッケージの一覧を持ち込んでローカル適用したいという場合、パッケージ取得のために可能な限り、本番環境と同様の環境を作成する必要があることに注意。

例えば、すでにインストール済みのパッケージはローカルインストールでパッケージがダウンロードされない。
これは依存パッケージについても同様である。

例えば先ほどの例において、すでに mariadb-libs をインストール済みの環境で同様のコマンドを実行すると、 mariadb-libs パッケージはインストールされない。

$ sudo yum install /var/cache/yum/x86_64/7/base/packages/mariadb-libs-5.5.68-1.el7.x86_64.rpm
Loaded plugins: fastestmirror
Examining /var/cache/yum/x86_64/7/base/packages/mariadb-libs-5.5.68-1.el7.x86_64.rpm: 1:mariadb-libs-5.5.68-1.el7.x86_64
...
Complete!
$ sudo rm -rf /var/cache/yum/*
$ sudo yum --downloadonly install mysql
Loaded plugins: fastestmirror
Determining fastest mirrors
...
Dependencies Resolved

==========================================================================================================================
 Package                     Arch                       Version                            Repository                Size
==========================================================================================================================
Installing:
 mariadb                     x86_64                     1:5.5.68-1.el7                     base                     8.8 M

Transaction Summary
==========================================================================================================================
Install  1 Package

Total download size: 8.8 M
Installed size: 49 M
Background downloading packages, then exiting:
mariadb-5.5.68-1.el7.x86_64.rpm                                                                    | 8.8 MB  00:00:10
exiting because "Download Only" specified

先ほどと異なり、mariadb-libs のパッケージが存在しないことが確認できる。

$ sudo find / -name mariadb-libs-5.5.68-1.el7.x86_64.rpm 2>/dev/null
$
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0