毎度。一馬力です。
今回は, yum-utilsに含まれるyumdownloaderの紹介。
通常yumコマンドはパッケージのインストールに利用しますが
yumdownloaderはパッケージのみダウンロードしたい!という時に利用します。
個人的には特にsrcパッケージのダウンロードでお世話になっているコマンド。
インストール方法含め紹介します
目次
yum-utilsのインストール
# 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
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)