Обновление дельта — это обновление программного обеспечения , которое требует от пользователя загрузки только тех частей программного кода , которые являются новыми или были изменены по сравнению с их предыдущим состоянием, в отличие от необходимости загрузки всей программы . Использование обновлений дельта может сэкономить значительное количество времени и пропускной способности вычислений . Название «дельта» происходит от использования в математической науке греческой буквы дельта, Δ или δ для обозначения изменения. [1]
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 поддерживает дельта-обновления с использованием portsnap [10] с ноября 2005 года. [11] Учитывая традиционную позицию FreeBSD, сосредоточенную на обновлениях исходного кода , в настоящее время не существует метода дельта-обновлений двоичных файлов.
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]
iOS от Apple также поддерживает дельта-обновления для операционной системы [ необходима ссылка ] и обновления приложений для снижения использования полосы пропускания. [15]
Обновления программного обеспечения по беспроводной сети (OTA) широко используются на многих мобильных устройствах: Apple iOS , Google Android , Microsoft Windows Phone 8 и BlackBerry 10. [ требуется ссылка ]
delta... означает 'изменение' или 'изменение в' в математике