「差分アップデート」の版間の差分
(同期) |
(差分アップデート機能はPacman から削除された旨を追記) |
||
5行目: | 5行目: | ||
[[it:Deltup]] |
[[it:Deltup]] |
||
[[ru:Deltup]] |
[[ru:Deltup]] |
||
+ | |||
+ | {{Out of date|脆弱性 [https://security.archlinux.org/CVE-2019-18183 CVE-2019-18183] などの理由で、差分アップデート機能は削除されました。[https://lists.archlinux.org/pipermail/pacman-dev/2019-March/023211.html]}} |
||
差分アップデートを使うことでシステムをアップデートするときのダウンロード時間と容量を節約できます。ダウンロードされるパッケージは新しいパッケージとの「差分」であり、ダウンロードが完了すると古いパッケージにパッチとして適用されて新しいパッケージにアップデートされます。 |
差分アップデートを使うことでシステムをアップデートするときのダウンロード時間と容量を節約できます。ダウンロードされるパッケージは新しいパッケージとの「差分」であり、ダウンロードが完了すると古いパッケージにパッチとして適用されて新しいパッケージにアップデートされます。 |
||
2020年2月12日 (水) 19:02時点における版
差分アップデートを使うことでシステムをアップデートするときのダウンロード時間と容量を節約できます。ダウンロードされるパッケージは新しいパッケージとの「差分」であり、ダウンロードが完了すると古いパッケージにパッチとして適用されて新しいパッケージにアップデートされます。
インストール
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 では差分アップデートは完全にはサポートされていません。そのため、差分をサポートしているミラーはごく一部です。
システムが最新状態から程遠い場合、最新バージョンにアップデートする差分が存在しないことがあります。ミラーが古いバージョンから新しいバージョンへの差分を多く提供していれば、差分を利用してダウンロードサイズが少なくなりますが、現在差分に対応しているミラーは一つ前から三つ前までのバージョンからの差分しか提供していません。アップデートをあまり行わないシステムでは差分アップデートを利用するメリットは限られます。