Дельта-обновление

Обновление, требующее от пользователя только загрузки измененного кода

Обновление дельта — это обновление программного обеспечения , которое требует от пользователя загрузки только тех частей программного кода , которые являются новыми или были изменены по сравнению с их предыдущим состоянием, в отличие от необходимости загрузки всей программы . Использование обновлений дельта может сэкономить значительное количество времени и пропускной способности вычислений . Название «дельта» происходит от использования в математической науке греческой буквы дельта, Δ или δ для обозначения изменения. [1]

Использует

Линукс

Обновление Delta в Fedora Linux

Fedora Linux поддерживает бинарные дельта-обновления по умолчанию с помощью плагина yum presto с июня 2009 года. Это основано на системе deltarpm менеджера пакетов RPM (2004), которая в свою очередь была основана на bsdiff. [2] Эта функциональность была унаследована операционными системами, производными от Fedora, включая RedHat Enterprise Linux и его вариант CentOS . Начиная с Fedora 40, дельта-обновления были прекращены. [3] openSUSE также использует дельта-rpm с его менеджером zypper. Это все еще используется и является стандартным решением для дистрибутива openSUSE Leap сегодня. Более примитивная система, SUSE patchrpm , работала путем замены измененных файлов. [4]

Аналогичная система для dpkg - системы управления пакетами APT Debian ( 2006 debdelta); несмотря на очевидную остановку на домашней странице, ее репозиторий пакетов, а также исходный код продолжают активно поддерживаться. [5] debdelta не устанавливается по умолчанию, и для него создано не так много зеркал. Член команды разработчиков предложил еще один формат, который напрямую интегрируется в текущие зеркалируемые основные репозитории, называемые patch debs в 2018 году. Он предназначен для большего количества проверок целостности. [6]

Разработчики Ubuntu , потомка Debian, много раз пытались реализовать дельта-обновления для своей системы. В 2006 году они пытались создать его, но столкнулись со слишком большим количеством вариантов и отказались от усилий. [7] В 2011 году они попытались просто настроить debdelta, но снова отказались от усилий в мае того же года. [8]

Менеджер пакетов Arch Linux pacman поддерживал форму дельта-обновления с использованием VCDIFF (xdelta). Он был отменен из-за уязвимости произвольного выполнения команд ( CVE - 2019-18183) из-за отсутствия экранирования строк. [ необходима цитата ]

Окна

Windows Update поддерживает дельта-обновления с Windows XP , которые называются файлами экспресс-установки. При распространении обновлений Windows Server Update Services поддерживает дельта-обновления с Windows Server 2003. [9]

FreeBSD

FreeBSD поддерживает дельта-обновления с использованием portsnap [10] с ноября 2005 года. [11] Учитывая традиционную позицию FreeBSD, сосредоточенную на обновлениях исходного кода , в настоящее время не существует метода дельта-обновлений двоичных файлов.

Google

Google называет дельта-обновления «умными обновлениями». Это было реализовано в устройствах операционной системы Android от Google, работающих на Android 2.3 или выше. Инженеры Google подсчитали, что умные обновления будут составлять в среднем всего около одной трети размера полного обновления. [ необходима цитата ]

Проект Google с открытым исходным кодом Chromium требует частых обновлений для сужения окна уязвимости. [12] Он использует алгоритм сравнения на основе дизассемблирования , называемый «courgette», для уменьшения размера различий двух исполняемых двоичных файлов, что уменьшает патч различий с 6,7% (bsdiff) до 0,76% (bsdiff + courgette) для одного обновления версии. [13] Технология помогла Chrome распространить свои обновления на 100% пользователей менее чем за 10 дней.

Обновления APK-файлов приложений в Play Store для Android с 2016 года используют bsdiff — новый эффективный алгоритм дельта-обновления, представленный в 2003 году. [14]

Apple iOS

iOS от Apple также поддерживает дельта-обновления для операционной системы [ необходима ссылка ] и обновления приложений для снижения использования полосы пропускания. [15]

Обновления программного обеспечения по беспроводной сети

Обновления программного обеспечения по беспроводной сети (OTA) широко используются на многих мобильных устройствах: Apple iOS , Google Android , Microsoft Windows Phone 8 и BlackBerry 10. [ требуется ссылка ]

Смотрите также

Ссылки

  1. ^ Маллин, Шон (2017-04-25). "Что такое дельта в математике?". Наука . Leaf Group Media . Получено 2022-09-06 . delta... означает 'изменение' или 'изменение в' в математике
  2. ^ "Возможности Fedora/Presto".
  3. ^ "Изменения/удаление дельта-RPM-пакетов - Fedora Project Wiki". fedoraproject.org . Получено 2024-06-02 .
  4. ^ "6.3. RPM и патчи". www.pks.mpg.de . Архивировано из оригинала 2020-03-24 . Получено 2020-03-24 .
  5. ^ "debdelta в проекте Debian".(исходный код см. в разделе «Информация для разработчиков» Debian для пакета; репозиторий см. на странице http://debdeltas.debian.net/debian-deltas/pool/.)
  6. ^ "Teams/Dpkg/Spec/DeltaDebs". Debian Wiki .
  7. ^ "SmallerUpdates". Ubuntu Wiki . Получено 13 января 2020 г.
  8. ^ "UbuntuDebdeltaSupport".
  9. ^ «Определите параметры пропускной способности для вашего развертывания». 9 апреля 2014 г.
  10. ^ «Обновление дерева безопасных портов FreeBSD».
  11. ^ "Объявление о выпуске FreeBSD 6.0".
  12. ^ «Чем меньше, тем быстрее (и безопаснее)».
  13. ^ «Обновления программного обеспечения: Кабачок».
  14. ^ Новый дельта-алгоритм Google Play уменьшает размер обновлений приложений Android
  15. ^ «Технические вопросы и ответы QA1779: Уменьшение размера загружаемых обновлений приложений iOS». developer.apple.com . Получено 2015-07-07 .
Взято с "https://en.wikipedia.org/w/index.php?title=Delta_update&oldid=1245478542"