Delta uppdatering
En deltauppdatering är en mjukvaruuppdatering som endast kräver att användaren laddar ner de delar av programvarans kod som är nya, eller har ändrats från sitt tidigare tillstånd, till skillnad från att behöva ladda ner hela programmet . Användningen av deltauppdateringar kan spara betydande mängder tid och beräkningsbandbredd . Namnet delta kommer från den matematiska vetenskapens användning av den grekiska bokstaven delta, Δ eller δ för att beteckna förändring .
Genom att använda en deltauppdatering kan ett program uppdateras snabbare och mer effektivt. Till exempel: Ett simuleringsspel för bilracing har en storlek på 300 megabyte; den är uppdaterad för att inkludera en ny racerbana, och koden som infogar den nya racerbanan i spelet har en storlek på två megabyte; spelet kan använda en deltauppdatering, vilket skulle kräva nedladdning av endast två megabyte av ny kod, istället för en total nedladdning på 302 megabyte.
Används
Linux
Fedora Linux har stödt binära deltauppdateringar som standard med hjälp av plugin-programmet yum presto sedan juni 2009. Detta är baserat på RPM Package Managers deltarpm-system (2004), som i sin tur var baserat på bsdiff. Denna funktionalitet har ärvts av Fedora-härledda operativsystem, inklusive RedHat Enterprise Linux och dess variant, CentOS . OpenSUSE använder också deltarpms med sin zypper-hanterare. Ett mer primitivt system, SUSE patchrpm , fungerade genom att ersätta ändrade filer.
Ett liknande system för pakethanteraren dpkg - APT i Debian är debdelta (2006); trots ett uppenbart stopp på hemsidan förblir dess paketförråd samt källkoden aktivt underhållna. Debdelta är inte installerat som standard och inte många speglar har ställts in för det. En medlem av utvecklarteamet har föreslagit ännu ett format som integreras direkt i de för närvarande speglade huvudarkiven som kallas patch debs under 2018. Det är tänkt att ha fler integritetskontroller.
En ättling till Debian, Ubuntu- utvecklare har försökt många gånger att implementera deltauppdateringar för deras system. Under 2006 försökte de skapa en, men konfronterades med för många alternativ och lade ner ansträngningarna. 2011 försökte man bara sätta upp debdelta, men lade återigen ner ansträngningarna i maj samma år.
Arch Linux- pakethanteraren pacman använde för att stödja en form av deltauppdatering med VCDIFF (xdelta). Den skrotades på grund av en sårbarhet för godtycklig kommandoexekvering ( CVE - 2019-18183 ) på grund av bristen på att strängen släpptes. [ citat behövs ]
Windows
Windows Update har stödt deltauppdateringar sedan Windows XP som kallas expressinstallationsfiler. Vid omfördelning av uppdateringar har Windows Server Update Services stödt deltauppdateringar sedan Windows Server 2003.
FreeBSD
FreeBSD har stött deltauppdateringar med hjälp av portsnap sedan november 2005. Givet FreeBSDs traditionella hållning att fokusera på källkodsuppdateringar, finns det för närvarande ingen metod för binära deltauppdateringar.
Google hänvisar till deltauppdateringar som "smarta uppdateringar". Detta har implementerats i Googles Android- operativsystemenheter som körs på Android 2.3 eller senare. Googles ingenjörer har uppskattat att smarta uppdateringar bara skulle vara ungefär en tredjedel av storleken på en fullständig uppdatering i genomsnitt. [ citat behövs ]
Googles öppen källkodsprojekt Chromium kräver frekventa uppdateringar för att begränsa sårbarhetsfönstret. Den använder en demonteringsbaserad differentieringsalgoritm som kallas "courgette" för att minska diff-storleken för två binära körbara filer, vilket minskar diff-patchen från 6,7% (bsdiff) till 0,76% (bsdiff + zucchini) för en versionsuppdatering. Tekniken hjälpte Chrome att skicka sina uppdateringar till 100 % av användarna på mindre än 10 dagar.
App-APK-uppdateringar i Androids Play Store använder bsdiff sedan 2016, en ny effektiv deltauppdateringsalgoritm som introducerades 2003.
Apple iOS
Apples iOS är också kapabel till deltauppdateringar för operativsystem [ citat behövs ] och programuppdateringar för att minska bandbreddsanvändningen.
Över-the-air mjukvaruuppdateringar
OTA-programuppdateringar (Over-the-air) har använts i stor utsträckning på många mobila enheter; Apple iOS , Google Android , Microsoft Windows Phone 8 och BlackBerry 10 . [ citat behövs ]