差分アップデート

提供: ArchWiki
移動先: 案内検索

差分アップデートを使うことでシステムをアップデートするときのダウンロード時間と容量を節約できます。ダウンロードされるパッケージは新しいパッケージとの「差分」であり、ダウンロードが完了すると古いパッケージにパッチとして適用されて新しいパッケージにアップデートされます。

インストール

xdelta3 パッケージをインストールしてください。

設定

/etc/pacman.d/mirrorlist を編集して適切なリポジトリを追加してください:

/etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Generated on 2011-03-24
##

## Delta Archlinux.fr
Server = http://delta.archlinux.fr/$repo/os/$arch
.....

それから /etc/pacman.conf を編集して UseDelta オプションをアンコメントしてください:

/etc/pacman.conf
.....
# Misc options (all disabled by default)
#UseSyslog
ShowSize
UseDelta
TotalDownload
.....

比較

UseDelta オプションを有効にする前にシステムのフルアップデートを確認してください:

# pacman -Syu

...
Total Download Size:   416,89 MB
Total Installed Size:   1933,56 MB

Proceed with installation? [Y/n]

n と入力してアップデートを中止します。上記の場合はダウンロードされるパッケージの容量は 416,89 MB となっています。

その後差分アップデートを有効にして、再度アップデートを確認してください:

# pacman -Syu
...
Total Download Size:   343,15 MB
Total Installed Size:   1933,56 MB

Proceed with installation? [Y/n]

上記の出力から 416,89 MB から 343,15 MB にダウンロード容量が減っていることが確認できます。

欠点

システムをアップデートするときに標準で差分アップデートを使用する OpenSuSEGentoo と違って Arch Linux では差分アップデートは完全にはサポートされていません。利用可能な差分リポジトリはごく僅かです。リポジトリ内に差分アップデートパッケージが大量にあればアップデートはさらに効率的になります。例えば、各パッケージのひとつ前のバージョンとの差分だけしか保持しないリポジトリの場合:

kdeartwork-kscreensaver-4.6.2-1_to_4.6.3-1-x86_64.delta	2011-May-06 22:35:41	301.8K	 application/octet-stream 
kdeartwork-kscreensaver-4.6.3-1-x86_64.pkg.tar.xz	2011-May-06 08:57:57	589.2K	 application/octet-stream