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 に書くみたい.
ナルホド.