このエントリーをはてなブックマークに追加


yumコマンドを使ってrpmパッケージのダウンロードだけする・yum install --downloadonly

CentOSでパッケージ化されたソフトウェアをインストールするのには、yumコマンドを利用します。
yumコマンドは指定したパッケージのrpmファイルや、そのrpmが必要としているために同時にインストールされる依存パッケージまで、
すべてネットワーク経由でダウンロードし、自動的にインストールしてくれます。

yumを使ってあるパッケージの動作に必要なrpmファイルを全て入手したい、という場合があります。
yumにパッケージの依存性をすべて解析させ、必要だと判ったrpmファイルを(インターネットに接続できない)別のマシンに持っていて、
そこでインストールする場合などです。

しかし、yumはダウンロードしたパッケージのrpmファイルをインストール後は削除してしまいます。
また、yumを実行したマシンには実際にはインストールしたくないという場合もあります。


関連資料

yum-plugin-downloadonlyプラグインのインストール

yumのプラグインであるyum-plugin-downloadonlyを使えば、
実際にパッケージのインストールは行わずにrpmファイルをダウンロードだけすることができます。

まず、以下のように、yum-plugin-downloadonlyをインストールします。

# yum install yum-plugin-downloadonly

yum-plugin-downloadonlyプラグインの使い方

yum-plugin-downloadonlyプラグインのインストール後、以下のようにyum installに、--downloadonlyオプションを追加します。
同時に追加している--downloaddir=オプションは、ダウンロードしたrpmファイルをどこのディレクトリに置くかを指定します。

yum-plugin-downloadonlyプラグインの実行例

以下に--downloadonly --downloaddirの2つのオプションを使用してyum-plugin-downloadonlyプラグインを使ってみた出力です。
ダウンロードするパッケージはhttpdを指定しています。
同時に関連パッケージもダウンロードされます。

[root@centos6 ~]# yum install --downloadonly --downloaddir=/tmp/rpms httpd
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-28.el6.centos will be installed
--> Processing Dependency: httpd-tools = 2.2.15-28.el6.centos for package: httpd-2.2.15-28.el6.centos.x86_64
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-28.el6.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-28.el6.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-28.el6.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-28.el6.centos.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
---> Package httpd-tools.x86_64 0:2.2.15-28.el6.centos will be installed
---> Package mailcap.noarch 0:2.1.31-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================
 Package                       Arch                   Version                                Repository               Size
===========================================================================================================================
Installing:
 httpd                         x86_64                 2.2.15-28.el6.centos                   updates                 821 k
Installing for dependencies:
 apr                           x86_64                 1.3.9-5.el6_2                          base                    123 k
 apr-util                      x86_64                 1.3.9-3.el6_0.1                        base                     87 k
 apr-util-ldap                 x86_64                 1.3.9-3.el6_0.1                        base                     15 k
 httpd-tools                   x86_64                 2.2.15-28.el6.centos                   updates                  73 k
 mailcap                       noarch                 2.1.31-2.el6                           base                     27 k

Transaction Summary
===========================================================================================================================
Install       6 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): apr-1.3.9-5.el6_2.x86_64.rpm                                                                 | 123 kB     00:00
(2/6): apr-util-1.3.9-3.el6_0.1.x86_64.rpm                                                          |  87 kB     00:00
(3/6): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                                                     |  15 kB     00:00
(4/6): httpd-2.2.15-28.el6.centos.x86_64.rpm                                                        | 821 kB     00:03
(5/6): httpd-tools-2.2.15-28.el6.centos.x86_64.rpm                                                  |  73 kB     00:00
(6/6): mailcap-2.1.31-2.el6.noarch.rpm                                                              |  27 kB     00:00
---------------------------------------------------------------------------------------------------------------------------
Total                                                                                       18 kB/s | 1.1 MB     01:03


exiting because --downloadonly specified
[root@centos6 ~]#

ダウンロード指定したrpmパッケージを確認してみる

--donwloaddirで指定した/tmp/rpmsの下にダウンロードされています。

[root@centos6 ~]# ls /tmp/rpms
apr-1.3.9-5.el6_2.x86_64.rpm         apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm  httpd-tools-2.2.15-28.el6.centos.x86_64.rpm
apr-util-1.3.9-3.el6_0.1.x86_64.rpm  httpd-2.2.15-28.el6.centos.x86_64.rpm     mailcap-2.1.31-2.el6.noarch.rpm
[root@centos6 ~]#

--donwloaddirを指定しない場合、/var/cache/yumの下のダウンロードされますが、yumコマンドの都合で複数のディレクトリにファイルが置かれるので、必ず--downloaddirは使用すべきです。

[root@centos6 ~]# find  /var/cache/yum -name \*.rpm
/var/cache/yum/x86_64/6/updates/packages/httpd-2.2.15-28.el6.centos.x86_64.rpm
/var/cache/yum/x86_64/6/updates/packages/httpd-tools-2.2.15-28.el6.centos.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/apr-util-1.3.9-3.el6_0.1.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/mailcap-2.1.31-2.el6.noarch.rpm
/var/cache/yum/x86_64/6/base/packages/apr-1.3.9-5.el6_2.x86_64.rpm
[root@centos6 ~]#

注意
なお、既にインストールしてしまったパッケージをyum install --downloadonlyすることはできません。
以下はインストール済みのパッケージを指定して実行したときの出力です。
既にインストール済みと出力されダウンロードされていない事が確認できます。

[root@centos6 ~]# yum install --downloadonly bash
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Package bash-4.1.2-14.el6.x86_64 already installed and latest version
Nothing to do
[root@centos6 ~]#

以上、yumを使ってrpmパッケージのダウンロードだけする方法についてでした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:30:19