A delta update is a software update that requires the user to download only those parts of the software's code that are new, or have been changed from their previous state, in contrast to having to download the entire program. The use of delta updates can save significant amounts of time and computing bandwidth. The name "delta" derives from the mathematical science use of the Greek letter delta, Δ or δ to denote change. [1]
Fedora Linux has supported binary delta updates by default using the yum presto plugin since June 2009. This is based on RPM Package Manager's deltarpm system (2004), which was in turn based on bsdiff. [2] This functionality has been inherited by Fedora-derived operating systems, including RedHat Enterprise Linux and its variant, CentOS. From Fedora 40 onward, delta updates had been discontinued. [3] openSUSE also uses delta-rpm's with its zypper manager. This is still in use, and the standard solution for the openSUSE Leap distribution today. A more primitive system, the SUSE patchrpm, worked by replacing changed files. [4]
A similar system for the dpkg-APT package manager system of Debian is debdelta
(2006); despite an apparent halt on the homepage, its package repository as well as the source code remains actively maintained. [5] debdelta
is not installed by default and not many mirrors have been set up for it. A member of the developer team has proposed yet another format that integrates directly into the currently mirrored main repositories called patch debs in 2018. It is intended to have more integrity checks. [6]
A descendant of Debian, Ubuntu developers have tried many times to implement delta updates for their system. During 2006 they tried to create one, but were confronted with too many options and dropped the efforts. [7] In 2011 they tried to just set up debdelta
, but once again dropped the efforts in May of the same year. [8]
The Arch Linux package manager pacman used to support a form of delta updating using VCDIFF (xdelta). It was scrapped due to an arbitrary command execution vulnerability (CVE - 2019-18183) due to a lack of string escaping.[ citation needed ]
Windows Update has supported delta updates since Windows XP which are called express installation files. On redistributing updates, Windows Server Update Services has supported delta updates since Windows Server 2003. [9]
FreeBSD has supported delta updates using portsnap [10] since November 2005. [11] Given FreeBSD's traditional stance of focusing on source code updates, no method of delta binary updates currently exists.
Google refers to delta updates as "smart updates." This has been implemented in Google's Android operating system devices that run on Android 2.3 or above. Google engineers have estimated that smart updates would be only about one third the size of a full update on average.[ citation needed ]
Google's open source project Chromium requires frequent updates to narrow the window of vulnerability. [12] It uses a disassembly-based diffing algorithm called "courgette" to reduce diff size of two binary executable files, which reduces the diff patch from 6.7% (bsdiff) to 0.76% (bsdiff + courgette) for one version update. [13] The technology helped Chrome to push its updates to 100% of users in less than 10 days.
App APK updates in Android's Play Store use bsdiff since 2016, a new efficient delta update algorithm introduced in 2003. [14]
Apple's iOS is also capable of delta updates for operating system[ citation needed ] and application updates to reduce bandwidth usage. [15]
Over-the-air (OTA) software updates have been used widely across many mobile devices; Apple iOS, Google Android, Microsoft Windows Phone 8, and BlackBerry 10.[ citation needed ]
Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software and optionally non-free firmware or software developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996. The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions that have different purposes, like Proxmox for servers, Ubuntu or Linux Mint for desktops, Kali for penetration testing, and Pardus and Astra for government use.
Irssi is an Internet Relay Chat (IRC) client program for Linux, FreeBSD, macOS and Microsoft Windows. It was originally written by Timo Sirainen, and released under the terms of the GNU GPL-2.0-or-later in January 1999.
A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. They are often obtained from the website of each distribution, which are available for a wide variety of systems ranging from embedded devices and personal computers to servers and powerful supercomputers.
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from precompiled files or by compiling source code.
dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives. dpkg
is used to install, remove, and provide information about .deb packages.
The Yellowdog Updater Modified (YUM) is a free and open-source command-line package-management utility for computers running the Linux operating system using the RPM Package Manager. Though YUM has a command-line interface, several other tools provide graphical user interfaces to YUM functionality.
Delta encoding is a way of storing or transmitting data in the form of differences (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compression, particularly where archival histories of changes are required.
deb is the format, as well as filename extension of the software package format for the Debian Linux distribution and its derivatives.
phpLDAPadmin is a web app for administering Lightweight Directory Access Protocol (LDAP) servers. It's written in the PHP programming language, and is licensed under the GNU General Public License. The application is available in 14 languages and supports UTF-8 encoded directory strings.
Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, including how quickly security upgrades are available; ease of package management; and number of packages available.
CPython is the reference implementation of the Python programming language. Written in C and Python, CPython is the default and most widely used implementation of the Python language.
BioLinux is a term used in a variety of projects involved in making access to bioinformatics software on a Linux platform easier using one or more of the following methods:
The Ångström distribution is a defunct Linux distribution for a variety of embedded devices. The distribution is the result of work by developers from the OpenZaurus, OpenEmbedded, and OpenSIMpad projects. The graphical user interfaces (GUIs) available are OPIE and GPE among other options.
RPM Package Manager (RPM) is a free and open-source package management system. The name RPM refers to the .rpm
file format and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.
KVIrc is a graphical IRC client for Linux, Unix, Mac OS and Windows. The name is an acronym of K Visual IRC in which the K stands for a dependency to KDE, which became optional from version 2.0.0. The software is based on the Qt framework and its code is released under a modified GNU General Public License.
Zim is a graphical text editor designed to maintain a collection of locally stored wiki-pages, a personal wiki. It works as a personal knowledge base and note-taking software application that operates on text files using markdown. Each wiki-page can contain things like text with simple formatting, links to other pages, attachments, and images. Additional plugins, such as an equation editor and spell-checker, are also available. The wiki-pages are stored in a folder structure in plain text files with wiki formatting. Zim can be used with the Getting Things Done method.
git-annex is a distributed file synchronization system written in Haskell. It aims to solve the problem of sharing and synchronizing collections of large files independent from a commercial service or even a central server.
delta...means 'change' or 'the change in' in mathematics