差分アップデート

提供: ArchWiki
2020年2月12日 (水) 19:02時点におけるHiromi-mi (トーク | 投稿記録)による版 (差分アップデート機能はPacman から削除された旨を追記)
ナビゲーションに移動 検索に移動


この記事またはセクションは情報が古くなっています。
理由: 脆弱性 CVE-2019-18183 などの理由で、差分アップデート機能は削除されました。[1] (Discuss)

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

インストール

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 にダウンロード容量が減っていることが確認できます。

欠点

システムをアップデートするときに標準で差分アップデートを使用する OpenSuSEGentoo と違って Arch Linux では差分アップデートは完全にはサポートされていません。そのため、差分をサポートしているミラーはごく一部です。

システムが最新状態から程遠い場合、最新バージョンにアップデートする差分が存在しないことがあります。ミラーが古いバージョンから新しいバージョンへの差分を多く提供していれば、差分を利用してダウンロードサイズが少なくなりますが、現在差分に対応しているミラーは一つ前から三つ前までのバージョンからの差分しか提供していません。アップデートをあまり行わないシステムでは差分アップデートを利用するメリットは限られます。