デルタアップデートとは、プログラム全体をダウンロードするのではなく、ソフトウェアのコードのうち新しい部分、または以前の状態から変更された部分のみをダウンロードするだけで済むソフトウェアアップデートです。デルタアップデートを使用すると、時間と計算帯域幅を大幅に節約できます。「デルタ」という名前は、数学で変化を表すギリシャ文字のデルタ、Δ、またはδに由来しています。[1]
用途
リナックス
_in_Fedora_Linux_34.png/500px-Delta_RPM_(deltarpm)_in_Fedora_Linux_34.png)
Fedora Linux は、2009 年 6 月からyum presto プラグインを使用して、デフォルトでバイナリ デルタ更新をサポートしています。これはRPM パッケージ マネージャーの deltarpm システム (2004) に基づいており、これは bsdiff に基づいています。[2]この機能は、 RedHat Enterprise Linuxとその派生であるCentOSを含む Fedora 派生のオペレーティング システムに継承されています。Fedora 40 以降、デルタ更新は廃止されました。[3] openSUSE も、zypper マネージャーで delta-rpm を使用しています。これは現在も使用されており、今日のopenSUSE Leapディストリビューションの標準ソリューションです。より原始的なシステムである SUSE patchrpm は、変更されたファイルを置き換えることで機能しました。[4]
Debianのdpkg(APTパッケージ管理システム)にも同様のシステムがあります(2006年)。ホームページ上では明らかに停止しているにもかかわらず、パッケージリポジトリとソースコードは引き続き積極的にメンテナンスされています。[5]はデフォルトではインストールされておらず、ミラーもあまり設定されていません。開発チームのメンバーは、2018年に、現在ミラーリングされているメインリポジトリに直接統合する別の形式であるpatch debsを提案しました。これは、整合性チェックを強化することを目的としています。[6]debdelta debdelta
Debianの後継であるUbuntuの開発者たちは、何度もシステムのデルタアップデートを実装しようと試みてきました。2006年に彼らはデルタアップデートを作成しようとしましたが、選択肢が多すぎるため、その取り組みは中止されました。[7] 2011年に彼らは単にを設定しようとしましたdebdeltaが、同じ年の5月に再びその取り組みは中止されました。[8]
Arch Linuxパッケージ マネージャーpacman は、 VCDIFF (xdelta)を使用したデルタ更新形式をサポートしていました。文字列エスケープの欠如による任意のコマンド実行の脆弱性 ( CVE - 2019-18183)のため、廃止されました。[要出典]
ウィンドウズ
Windows UpdateはWindows XP以降、高速インストールファイルと呼ばれるデルタ更新をサポートしています。更新プログラムの再配布に関しては、Windows Server Update ServicesはWindows Server 2003以降、デルタ更新をサポートしています。[9]
フリーBSD
FreeBSDは2005年11月からportsnap [10]を使用したデルタアップデートをサポートしています。[11] FreeBSDはソースコードアップデートに重点を置くという伝統的なスタンスのため、現在デルタバイナリアップデートの方法は存在しません。
グーグル
Google はデルタ アップデートを「スマート アップデート」と呼んでいます。これは、Android 2.3以降で動作するGoogle のAndroidオペレーティング システム デバイスに実装されています。Google のエンジニアは、スマート アップデートは平均してフル アップデートの 3 分の 1 程度の大きさになると見積もっています。[引用が必要]
GoogleのオープンソースプロジェクトChromiumでは、脆弱性の窓を狭めるために頻繁なアップデートが必要です。[12] Chromiumでは、逆アセンブリベースの差分アルゴリズム「courgette」を使用して、2つのバイナリ実行ファイルの差分サイズを縮小し、1回のバージョンアップデートで差分パッチを6.7% (bsdiff) から0.76% (bsdiff + courgette) に削減しました。[13]この技術により、Chromeは10日以内に100%のユーザーにアップデートをプッシュすることができました。
AndroidのPlayストアでのアプリAPKのアップデートでは、2003年に導入された新しい効率的なデルタアップデートアルゴリズムであるbsdiffが2016年から使用されています。[14]
アップルiOS
AppleのiOSは、オペレーティングシステムのデルタアップデート[要出典]とアプリケーションアップデートが可能で、帯域幅の使用量を削減します。[15]
無線によるソフトウェアアップデート
無線(OTA)によるソフトウェアアップデートは、Apple iOS、Google Android、Microsoft Windows Phone 8、BlackBerry 10など、多くのモバイルデバイスで広く使用されています。[引用が必要]
参照
参考文献
- ^ Mullin, Sean (2017-04-25). 「数学におけるデルタとは何か?」. Sciencing . Leaf Group Media . 2022-09-06取得。
デルタ...数学では「変化」または「変化」を意味します。
- ^ 「Fedora の機能/Presto」。
- ^ 「Changes/Drop Delta RPMs - Fedora Project Wiki」。fedoraproject.org 。 2024年6月2日閲覧。
- ^ “6.3. RPM とパッチ”. www.pks.mpg.de . 2020-03-24時点のオリジナルよりアーカイブ。2020-03-24に取得。
- ^ 「Debian プロジェクトの debdelta」。(ソース コードについては、パッケージの debian「開発者情報」を参照してください。リポジトリについては、http://debdeltas.debian.net/debian-deltas/pool/ を参照してください。)
- ^ 「Teams/Dpkg/Spec/DeltaDebs」。Debian Wiki。
- ^ 「SmallerUpdates」。Ubuntu Wiki 。 2020年1月13日閲覧。
- ^ 「UbuntuDebdeltaSupport」.
- ^ 「展開に使用する帯域幅オプションを決定する」。2014 年 4 月 9 日。
- ^ 「セキュアなFreeBSDポートツリーの更新」。
- ^ 「FreeBSD 6.0-RELEASE アナウンス」。
- ^ 「小さい方が速い(そして安全でもある)」。
- ^ 「ソフトウェアアップデート:ズッキーニ」。
- ^ Google Play の新しいデルタアルゴリズムにより Android アプリのアップデートのサイズが縮小
- ^ 「テクニカル Q&A QA1779: iOS アプリのアップデートのダウンロード サイズの削減」。developer.apple.com。2015年 7 月 7 日閲覧。
