Mise Ă jour delta
Une mise à jour delta est une mise à jour qui nécessite uniquement que l'utilisateur télécharge le code qui a changé, pas le programme entier. Cela permet de gagner un temps considérable et d'utiliser moins de bande passante.
Le nom est tiré du fait que la lettre grecque delta, Δ ou δ, est utilisée pour désigner le changement dans les sciences mathématiques.
Exemple
Toute application prête à être mise à jour peut être mise à jour plus rapidement et plus efficacement grâce à ce nouveau système. Si, par exemple, un jeu de 300 mégaoctets est mis à jour avec un nouveau mode qui ajoute deux mégaoctets à la taille de l'application, seuls deux mégaoctets seront téléchargés au lieu de 302 mégaoctets.
Usages
Linux
Fedora Linux prend en charge les mises à jour delta binaires par défaut en utilisant le plugin yum presto depuis juin 2009. Ceci est basé sur le système deltarpm de RPM Package Manager (2004), lui-même basé sur bsdiff[1]. Cette fonctionnalité a été héritée par les systèmes d'exploitation dérivés de Fedora, y compris RedHat Enterprise Linux et sa variante, CentOS . OpenSUSE utilise également deltarpms avec son gestionnaire zypper. Un système plus primitif, le patchrpm SUSE, fonctionnait en remplaçant les fichiers modifiés[2].
Un système similaire pour le système de gestion de paquets dpkg - APT de Debian est debdelta (2006); malgré un arrêt apparent sur la page d'accueil, son référentiel de paquets ainsi que le code source restent activement maintenus[3]. Debdelta n'est pas installé par défaut et peu de miroirs ont été configurés pour cela. Un membre de l'équipe de développement a proposé un autre format qui s'intègre directement dans les référentiels principaux actuellement mis en miroir, appelé patch debs en 2018. Il est prévu d'avoir plus de contrôles d'intégrité[4].
Descendants de Debian, les développeurs Ubuntu ont essayé à maintes reprises d'implémenter des mises à jour delta pour leur système. Vers 2006, ils ont essayé d'en créer un, mais ont été confrontés à trop d'options et ont abandonné leurs efforts[5]. En 2011, ils ont simplement essayé de mettre en place debdelta, mais ont abandonné leurs efforts en mai de cette année[6].
Le gestionnaire de paquets Arch Linux pacman utilisé pour prendre en charge une forme de mise à jour delta utilisant VCDiff (xdelta). Il a été mis au rebut en raison d'une vulnérabilité d'exécution de commande arbitraire.
Windows
Windows Update prend en charge les mises à jour delta depuis Windows XP, appelées fichiers d'installation express. Lors de la redistribution des mises à jour, Windows Server Update Services prend en charge les mises à jour delta depuis Windows Server 2003[7].
FreeBSD
FreeBSD prend en charge les mises à jour delta en utilisant portsnap [8] depuis novembre 2005[9]. Étant donné la position traditionnelle de FreeBSD consistant à se concentrer sur les mises à jour du code source, aucune méthode de mise à jour binaire delta n'existe actuellement.
Google
Google qualifie les mises à jour delta de «mises à jour intelligentes». Cela a été mis en œuvre dans les appareils du système d'exploitation Android de Google qui fonctionnent sous Android 2.3 ou supérieur. Les ingénieurs de Google ont estimé que les mises à jour intelligentes ne représenteraient qu'en moyenne un tiers de la taille d'une mise à jour complète.
Le projet open source de Google Chromium nécessite des mises à jour fréquentes pour réduire les vulnérabilités[10]. Il utilise un algorithme de différence basé sur le désassemblage appelé "courgette" pour réduire la taille de diff de deux fichiers exécutables binaires, ce qui réduit le patch de différence de 6,7% (bsdiff) à 0,76% (bsdiff + courgette) pour une mise à jour de version[11]. La technologie a aidé Chrome à proposer ses mises à jour à 100% des utilisateurs en moins de 10 jours.
Les mises Ă jour de l'APK de l'application dans le Play Store d'Android utilisent bsdiff depuis 2016, un nouvel algorithme de mise Ă jour delta efficace introduit en 2003[12].
Mises Ă jour over-the-air (OTA)
Les mises à jour logicielles over-the-air (OTA) ont été largement utilisées sur de nombreux appareils mobiles; Apple iOS, Google Android, Microsoft Windows Phone 8 et BlackBerry 10 .
Notes et références
- « Fedora Features/Presto »
- « 6.3. RPM and Patches », www.pks.mpg.de
- « debdelta at the Debian Project » (for source code, see debian "developer information" for package; for repository, see http://debdeltas.debian.net/debian-deltas/pool/.)
- « Teams/Dpkg/Spec/DeltaDebs », Debian Wiki
- « SmallerUpdates », Ubuntu Wiki (consulté le )
- « UbuntuDebdeltaSupport »
- « Determine Bandwidth Options to Use for Your Deployment »
- « Secure FreeBSD ports tree updating »
- « FreeBSD 6.0-RELEASE Announcement »
- « Smaller is faster (and safer too), »
- « Software Updates: Courgette »
- Google Play’s new delta algorithm reduces size of Android app updates
- « Technical Q&A QA1779: Reducing Download Size for iOS App Updates », developer.apple.com (consulté le )