差分アップデート
差分アップデートを使うことでシステムをアップデートするときのダウンロード時間と容量を節約できます。ダウンロードされるパッケージは新しいパッケージとの「差分」であり、ダウンロードが完了すると古いパッケージにパッチとして適用されて新しいパッケージにアップデートされます。
インストール
xdelta3 パッケージをインストールしてください。差分ミラーが提供しているバイナリ差分を適用するのにこのユーティリティが必要になります。
設定
公式ミラーは必ずしもパッケージ差分ファイルを提供しているわけではありません。pacman のミラーリストに差分を提供しているミラーを追加してください。ミラーの追加についてはミラー#特定のミラーを有効にするを見てください。ミラー#非公式ミラーに載っているミラーの一部は差分アップデートに対応しています。
それから /etc/pacman.conf
を編集して UseDelta
オプションをアンコメントしてください:
/etc/pacman.conf
..... # Misc options (all disabled by default) #UseSyslog ShowSize UseDelta TotalDownload .....
上記の設定により pacman は差分アップデートに対応しているミラーからパッケージの差分をダウンロードして適用するようになります。pacman のローカルパッケージキャッシュにも差分が適用されます。
比較
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 にダウンロード容量が減っていることが確認できます。
欠点
システムをアップデートするときに標準で差分アップデートを使用する OpenSuSE や Gentoo と違って Arch Linux では差分アップデートは完全にはサポートされていません。そのため、差分をサポートしているミラーはごく一部です。
システムが最新状態から程遠い場合、最新バージョンにアップデートする差分が存在しないことがあります。ミラーが古いバージョンから新しいバージョンへの差分を多く提供していれば、差分を利用してダウンロードサイズが少なくなりますが、現在差分に対応しているミラーは一つ前から三つ前までのバージョンからの差分しか提供していません。アップデートをあまり行わないシステムでは差分アップデートを利用するメリットは限られます。