一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

CentOSでパッケージのみダウンロードしたい(yumdownloader)

毎度。一馬力です。

今回は, yum-utilsに含まれるyumdownloaderの紹介。

通常yumコマンドはパッケージのインストールに利用しますが
yumdownloaderはパッケージのみダウンロードしたい!という時に利用します。

個人的には特にsrcパッケージのダウンロードでお世話になっているコマンド。
インストール方法含め紹介します

f:id:htbariki:20170401170235p:plain

目次


yum-utilsのインストール

yum-utilsをyumコマンドでインストールします。

# yum install yum-utils

(参考)CentOS7でyum-utilsをインストールした時のログ

[root@CentOS7 src]# yum install yum-utils
読み込んだプラグイン:fastestmirror
base                                                                                                                           | 3.6 kB  00:00:00
extras                                                                                                                         | 3.4 kB  00:00:00
updates                                                                                                                        | 3.4 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ yum-utils.noarch 0:1.1.31-40.el7 を インストール
--> 依存性の処理をしています: yum >= 3.4.3-143 のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> 依存性の処理をしています: python-kitchen のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> 依存性の処理をしています: libxml2-python のパッケージ: yum-utils-1.1.31-40.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ libxml2-python.x86_64 0:2.9.1-6.el7_2.3 を インストール
--> 依存性の処理をしています: libxml2 = 2.9.1-6.el7_2.3 のパッケージ: libxml2-python-2.9.1-6.el7_2.3.x86_64
---> パッケージ python-kitchen.noarch 0:1.1.1-5.el7 を インストール
--> 依存性の処理をしています: python-chardet のパッケージ: python-kitchen-1.1.1-5.el7.noarch
---> パッケージ yum.noarch 0:3.4.3-132.el7.centos.0.1 を 更新
---> パッケージ yum.noarch 0:3.4.3-150.el7.centos を アップデート
--> 依存性の処理をしています: python-urlgrabber >= 3.10-8 のパッケージ: yum-3.4.3-150.el7.centos.noarch
--> トランザクションの確認を実行しています。
---> パッケージ libxml2.x86_64 0:2.9.1-5.el7_1.2 を 更新
---> パッケージ libxml2.x86_64 0:2.9.1-6.el7_2.3 を アップデート
---> パッケージ python-chardet.noarch 0:2.2.1-1.el7_1 を インストール
---> パッケージ python-urlgrabber.noarch 0:3.10-7.el7 を 更新
---> パッケージ python-urlgrabber.noarch 0:3.10-8.el7 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================================================================================
 Package                                  アーキテクチャー              バージョン                                  リポジトリー                 容量
======================================================================================================================================================
インストール中:
 yum-utils                                noarch                        1.1.31-40.el7                               base                        116 k
依存性関連でのインストールをします:
 libxml2-python                           x86_64                        2.9.1-6.el7_2.3                             base                        247 k
 python-chardet                           noarch                        2.2.1-1.el7_1                               base                        227 k
 python-kitchen                           noarch                        1.1.1-5.el7                                 base                        267 k
依存性関連での更新をします:
 libxml2                                  x86_64                        2.9.1-6.el7_2.3                             base                        668 k
 python-urlgrabber                        noarch                        3.10-8.el7                                  base                        108 k
 yum                                      noarch                        3.4.3-150.el7.centos                        base                        1.2 M

トランザクションの要約
======================================================================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)
更新                       ( 3 個の依存関係のパッケージ)

総ダウンロード容量: 2.8 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告: /var/cache/yum/x86_64/7/base/packages/libxml2-2.9.1-6.el7_2.3.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY  --:--:-- ETA
libxml2-2.9.1-6.el7_2.3.x86_64.rpm の公開鍵がインストールされていません
(1/7): libxml2-2.9.1-6.el7_2.3.x86_64.rpm                                                                                      | 668 kB  00:00:00
(2/7): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm                                                                               | 247 kB  00:00:00
(3/7): python-chardet-2.2.1-1.el7_1.noarch.rpm                                                                                 | 227 kB  00:00:00
(4/7): python-kitchen-1.1.1-5.el7.noarch.rpm                                                                                   | 267 kB  00:00:00
(5/7): python-urlgrabber-3.10-8.el7.noarch.rpm                                                                                 | 108 kB  00:00:00
(6/7): yum-utils-1.1.31-40.el7.noarch.rpm                                                                                      | 116 kB  00:00:00
(7/7): yum-3.4.3-150.el7.centos.noarch.rpm                                                                                     | 1.2 MB  00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                  2.1 MB/s | 2.8 MB  00:00:01
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : python-urlgrabber-3.10-8.el7.noarch                                                                                  1/10
  更新します              : yum-3.4.3-150.el7.centos.noarch                                                                                      2/10
  インストール中          : python-chardet-2.2.1-1.el7_1.noarch                                                                                  3/10
  インストール中          : python-kitchen-1.1.1-5.el7.noarch                                                                                    4/10
  更新します              : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                       5/10
  インストール中          : libxml2-python-2.9.1-6.el7_2.3.x86_64                                                                                6/10
  インストール中          : yum-utils-1.1.31-40.el7.noarch                                                                                       7/10
  整理中                  : yum-3.4.3-132.el7.centos.0.1.noarch                                                                                  8/10
  整理中                  : python-urlgrabber-3.10-7.el7.noarch                                                                                  9/10
  整理中                  : libxml2-2.9.1-5.el7_1.2.x86_64                                                                                      10/10
  検証中                  : yum-utils-1.1.31-40.el7.noarch                                                                                       1/10
  検証中                  : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                       2/10
  検証中                  : libxml2-python-2.9.1-6.el7_2.3.x86_64                                                                                3/10
  検証中                  : python-chardet-2.2.1-1.el7_1.noarch                                                                                  4/10
  検証中                  : yum-3.4.3-150.el7.centos.noarch                                                                                      5/10
  検証中                  : python-kitchen-1.1.1-5.el7.noarch                                                                                    6/10
  検証中                  : python-urlgrabber-3.10-8.el7.noarch                                                                                  7/10
  検証中                  : libxml2-2.9.1-5.el7_1.2.x86_64                                                                                       8/10
  検証中                  : yum-3.4.3-132.el7.centos.0.1.noarch                                                                                  9/10
  検証中                  : python-urlgrabber-3.10-7.el7.noarch                                                                                 10/10

インストール:
  yum-utils.noarch 0:1.1.31-40.el7

依存性関連をインストールしました:
  libxml2-python.x86_64 0:2.9.1-6.el7_2.3            python-chardet.noarch 0:2.2.1-1.el7_1            python-kitchen.noarch 0:1.1.1-5.el7

依存性を更新しました:
  libxml2.x86_64 0:2.9.1-6.el7_2.3               python-urlgrabber.noarch 0:3.10-8.el7               yum.noarch 0:3.4.3-150.el7.centos

完了しました!

[root@CentOS7 src]#

 yumdownloaderでカーネルソースパッケージをダウンロードする

yumdownloaderが含まれるyum-utilsのインストールが完了したら
準備完了です。

早速,カーネルソースパッケージをダウンロードしてみます。
コマンドは

# yumdownloader --source kernel

コマンド実行時のカレントディレクトリにパッケージが保存されます。

(参考)yumdownloader --source kernelの実行ログ

[root@CentOS7 src]# yumdownloader --source kernel
読み込んだプラグイン:fastestmirror
Enabling updates-source repository
Enabling base-source repository
Enabling extras-source repository
base-source                                                                                                                    | 2.9 kB  00:00:00
extras-source                                                                                                                  | 2.9 kB  00:00:00
updates-source                                                                                                                 | 2.9 kB  00:00:00
(1/3): extras-source/7/primary_db                                                                                              |  52 kB  00:00:01
(2/3): updates-source/7/primary_db                                                                                             |  65 kB  00:00:01
(3/3): base-source/7/primary_db                                                                                                | 967 kB  00:00:03
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
kernel-3.10.0-514.6.1.el7.src.rpm                                                                                              |  85 MB  00:00:59
[root@CentOS7 src]# ll
合計 86880
-rw-r--r--. 1 root root 88959056  1月 19 21:48 kernel-3.10.0-514.6.1.el7.src.rpm

まとめ

  • yumはパッケージのインストールに,yumdownloaderはパッケージのダウンロードに利用する  * yumdownloaderはyum-utilsに含まれる
  • yumdownloaderはsrcパッケージの入手時に重宝する

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)
macOS Sierra
   システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
VirtualBox
 VirtualBox バージョン 5.1.14 r112924 (Qt5.6.2)
 Oracle_VM_VirtualBox_Extension_Pack-5.1.14r112924

ゲストOS

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)