Articulo de referencia

Actualización Delta

Una actualización delta es una actualización de software que requiere que el usuario descargue solo las partes del código que son nuevas o que han cambiado con respecto a su est...

Una actualización delta es una actualización de software que requiere que el usuario descargue solo las partes del código que son nuevas o que han cambiado con respecto a su estado anterior, en lugar de tener que descargar el programa completo . El uso de actualizaciones delta puede ahorrar una cantidad significativa de tiempo y ancho de banda de procesamiento . El nombre "delta" deriva del uso en matemáticas de la letra griega delta, Δ o δ, para denotar cambio. [ 1 ]

Otro nombre para la tecnología subyacente es compresión delta binaria . En cualquier caso, la combinación de la versión anterior y el delta descargado se utiliza para reconstruir la nueva versión. Para obtener información sobre la tecnología utilizada para generar las diferencias, consulte la sección de comparación de datos .

Usos

Linux

Actualización Delta en Fedora Linux

Fedora Linux ha admitido actualizaciones delta binarias por defecto usando el complemento yum presto desde junio de 2009. Esto se basa en el sistema deltarpm del gestor de paquetes RPM (2004), que a su vez se basaba en bsdiff. [ 2 ] Esta funcionalidad ha sido heredada por sistemas operativos derivados de Fedora, incluyendo RedHat Enterprise Linux y su variante, CentOS . A partir de Fedora 40, las actualizaciones delta se descontinuaron. [ 3 ] openSUSE también usa delta-rpm con su gestor zypper. Esto todavía está en uso y es la solución estándar para la distribución openSUSE Leap en la actualidad. Un sistema más primitivo, el SUSE patchrpm , funcionaba reemplazando los archivos modificados. [ 4 ]

Un sistema similar para el gestor de paquetes dpkg - APT de Debian es debdelta(2006); a pesar de una aparente interrupción en la página principal, su repositorio de paquetes, así como el código fuente, se mantienen activamente. [ 5 ]debdelta no se instala por defecto y no se han configurado muchos espejos para él. Un miembro del equipo de desarrollo propuso otro formato que se integra directamente en los repositorios principales actualmente replicados, llamado patch debs en 2018. Se pretende que tenga más comprobaciones de integridad. [ 6 ]

Descendiente de Debian, los desarrolladores de Ubuntu han intentado muchas veces implementar actualizaciones delta para su sistema. Durante 2006 intentaron crear una, pero se encontraron con demasiadas opciones y abandonaron el esfuerzo. [ 7 ] En 2011 intentaron simplemente configurar debdelta, pero una vez más abandonaron el esfuerzo en mayo del mismo año. [ 8 ]

El gestor de paquetes de Arch Linux, pacman, solía admitir una forma de actualización incremental mediante VCDIFF (xdelta). Fue descartado debido a una vulnerabilidad de ejecución de comandos arbitrarios ( CVE - 2019-18183 ) causada por la falta de escape de cadenas.

Windows

Windows Update ha admitido actualizaciones delta desde Windows XP , que se denominan archivos de instalación rápida. En cuanto a la redistribución de actualizaciones, Windows Server Update Services ha admitido actualizaciones delta desde Windows Server 2003. [ 9 ]

FreeBSD

FreeBSD ha admitido actualizaciones delta usando portsnap [ 10 ] desde noviembre de 2005. [ 11 ] Dada la postura tradicional de FreeBSD de centrarse en las actualizaciones del código fuente , actualmente no existe ningún método de actualizaciones binarias delta.

Google

Google denomina a las actualizaciones incrementales "actualizaciones inteligentes". Esta función se ha implementado en los dispositivos con sistema operativo Android de Google que ejecutan Android 2.3 o superior. Los ingenieros de Google han estimado que las actualizaciones inteligentes tendrían, en promedio, solo un tercio del tamaño de una actualización completa.

Las actualizaciones de APK de aplicaciones en la Play Store de Android utilizan bsdiff desde 2016, un algoritmo de actualización delta eficiente introducido en 2003. [ 12 ]

El proyecto de código abierto de Google, Chromium, requiere actualizaciones frecuentes para reducir el período de vulnerabilidad. [ 13 ] Utiliza un algoritmo de comparación basado en desensamblaje llamado "courgette" para reducir el tamaño de la diferencia entre dos archivos ejecutables binarios, lo que reduce el parche de diferencia del 6,7 % (bsdiff) al 0,76 % (bsdiff + courgette) para una actualización de versión. [ 14 ] Esta tecnología ayudó a Chrome a implementar sus actualizaciones para el 100 % de los usuarios en menos de 10 días.

Apple iOS

iOS de Apple también es capaz de realizar actualizaciones delta para el sistema operativo y las aplicaciones, con el fin de reducir el uso de ancho de banda. [ 15 ]

Véase también

Referencias

  1. Mullin, Sean (25 de abril de 2017). "¿Qué es Delta en matemáticas?" . Sciencing . Leaf Group Media . Consultado el 6 de septiembre de 2022. Delta... significa 'cambio' o 'el cambio en' en matemáticas.
  2. "Fedora Features/Presto" .
  3. "Cambios/Eliminación de Delta RPM - Wiki del Proyecto Fedora" . fedoraproject.org . Consultado el 2 de junio de 2024 .
  4. "6.3. RPM y parches" . www.pks.mpg.de. Archivado del original el 24 de marzo de 2020. Consultado el 24 de marzo de 2020 .
  5. "debdelta en el Proyecto Debian" .(Para el código fuente, consulte la "información para desarrolladores" de Debian para el paquete; para el repositorio, consulte http://debdeltas.debian.net/debian-deltas/pool/ .)
  6. "Teams/Dpkg/Spec/DeltaDebs" . Wiki de Debian .
  7. "SmallerUpdates" . Wiki de Ubuntu . Consultado el 13 de enero de 2020 .
  8. "UbuntuDebdeltaSupport" .
  9. "Determinar las opciones de ancho de banda a utilizar para su implementación" . 9 de abril de 2014.
  10. "Actualización segura del árbol de puertos de FreeBSD" .
  11. "Anuncio de lanzamiento de FreeBSD 6.0" .
  12. El nuevo algoritmo delta de Google Play reduce el tamaño de las actualizaciones de las aplicaciones de Android.
  13. "Lo más pequeño es más rápido (y también más seguro)" .
  14. "Actualizaciones de software: Calabacín" .
  15. "Preguntas y respuestas técnicas QA1779: Reducción del tamaño de descarga para las actualizaciones de aplicaciones iOS" . developer.apple.com . Consultado el 7 de julio de 2015 .
  • Libro blanco sobre la implementación de la tecnología BDC por parte de Microsoft.
  • Courgette, un algoritmo de compresión diseñado por Google para reducir el tamaño de las actualizaciones de Google Chrome.