Delta RPMs disabled … ってなに?

Server
Photo by hyt.

CentOS7 で yum update すると,何故だか途中に,

Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/6): libssh2-1.4.3-12.el7_6.2.x86_64.rpm                 | 135 kB   00:00     
(2/6): python-2.7.5-77.el7_6.x86_64.rpm                    |  94 kB   00:00     
(3/6): glibc-2.17-260.el7_6.4.x86_64.rpm                   | 3.7 MB   00:00     
(4/6): tzdata-2019a-1.el7.noarch.rpm                       | 494 kB   00:00     
(5/6): python-libs-2.7.5-77.el7_6.x86_64.rpm               | 5.6 MB   00:00     
(6/6): glibc-common-2.17-260.el7_6.4.x86_64.rpm            |  12 MB   00:01     
--------------------------------------------------------------------------------
合計                                                15 MB/s |  22 MB  00:01     

なる警告が出ているのに気がつきました.Delta RPMs って何だろうって思ったんですが,調べてみると,

RPM のパッケージの差分のみを取得できるようにして,ダウンロード量を削減するための仕組み

みたいですね.

RHEL7: How to get started with delta rpms. - CertDepot
Here you will find some RHEL 7 instructions to get started with delta rpms.

の解説がとても分かりやすいです.元々は SUSE で導入されて,2013年に CentOS7 にも導入されたそう.と言うことは,気が付いていなかっただけで今までずっとこの警告出てたんですね.

インストールは,

$ sudo yum install -y deltarpm
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ deltarpm.x86_64 0:3.6-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package            アーキテクチャー バージョン            リポジトリー    容量
================================================================================
インストール中:
 deltarpm           x86_64           3.6-3.el7             base            82 k

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 82 k
インストール容量: 209 k
Downloading packages:
deltarpm-3.6-3.el7.x86_64.rpm                              |  82 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : deltarpm-3.6-3.el7.x86_64                       1/1 
  検証中                  : deltarpm-3.6-3.el7.x86_64                       1/1 

インストール:
  deltarpm.x86_64 0:3.6-3.el7                                                   

完了しました!

とするだけ.ほぼ最小構成の CentOS7 ですが,依存関係で他のパッケージが特に入ることもなくとても良い感じ.

実行してみると,残念.今の所アップグレートされたパッケージが無いみたいで,どの程度の効果があるのかは分かりません.

$ sudo yum update;sudo yum upgrade
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
No packages marked for update
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
No packages marked for update

しかし,上の解説サイトを見てみると,78%とか削減される場合もあるみたいですし,回線の帯域は共有資源なので,まぁ,入れといた方が良いのかなと思います.

使えるパラメーターは以下の2つ.

  • deltarpm=N
    N=2 が標準.N>0 で同時再構築数を指定.N=0 で無効,N<0 で CPU のコア数*(-N)同時構築./etc/yum.conf に記す.
  • deltarpm_percentage
    リポジトリごとに許す元パッケージのサイズとDelta RPM サイズの比率.標準は75%.つまり75%以上なら Delta RPM ではなく,元のパッケージを取得する.該当するリポジトリの定義ファイルに記す.0 だともちろん当該リポジトリでは Delta RPM で取得されない(ローカルミラーなんかで使える).

なお,yum の後継 dnf でも使えるようで,この場合は,/etc/dnf/dnf.conf に書くみたい.

ナルホド.

Server
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました