stringtranslate.com

Parche (informática)

Un parche es un conjunto de cambios en un programa informático o sus datos de respaldo diseñados para actualizarlo o repararlo. [1] Esto incluye correcciones de errores o correcciones de errores para eliminar vulnerabilidades de seguridad [1] y corregir errores (errores). [2] [ se necesita una mejor fuente ] Los parches a menudo se escriben para mejorar la funcionalidad, usabilidad o rendimiento de un programa. La mayoría de los parches los proporcionan los proveedores de software para las actualizaciones del sistema operativo y de las aplicaciones.

Los parches pueden instalarse bajo control programado o por un programador humano utilizando una herramienta de edición o un depurador . Pueden aplicarse a archivos de programa en un dispositivo de almacenamiento o en la memoria de una computadora. Los parches pueden ser permanentes (hasta que se vuelvan a colocar) o temporales. De manera similar, los parches pueden prepararse a mano o crearse mediante una herramienta automática de búsqueda de diferencias que compara dos archivos similares y determina qué cambios son necesarios para transformar uno en otro.

La mayoría de los parches deben aplicarse exactamente a la versión del archivo que pretenden modificar, aunque si el cambio es pequeño y similar en varias versiones, es posible que este requisito no se aplique. Muchas herramientas de parcheo automatizadas pueden admitir parches para múltiples versiones de archivos detectando la versión del archivo existente y aplicando un parche apropiado. A medida que se lanzan más y más versiones, el tamaño acumulado de dichos parches puede llegar a ser mayor que el archivo actualizado, momento en el que se puede reducir el número de versiones anteriores compatibles o, en su lugar, se puede proporcionar una copia completa del archivo actualizado.

Los parches hacen posible la modificación de programas objeto compilados y en lenguaje de máquina cuando el código fuente no está disponible. Esto exige una comprensión profunda del funcionamiento interno del código objeto por parte de la persona que crea el parche, lo cual es difícil sin un estudio detallado del código fuente. Alguien que no esté familiarizado con el programa que se está parcheando puede instalar un parche utilizando una utilidad de parche creada por otra persona. Incluso cuando el código fuente está disponible, los parches hacen posible la instalación de pequeños cambios en el programa objeto sin la necesidad de recompilarlo o reensamblarlo. Para cambios menores en el software, suele ser más fácil y económico distribuir parches a los usuarios en lugar de redistribuir un programa recién compilado o reensamblado.

Aunque están destinados a solucionar problemas, los parches mal diseñados a veces pueden introducir nuevos problemas (ver regresiones de software ). En algunos casos especiales, las actualizaciones pueden interrumpir deliberadamente la funcionalidad o desactivar un dispositivo, por ejemplo, eliminando componentes para los que el proveedor de actualizaciones ya no tiene licencia.

La gestión de parches es parte de la gestión del ciclo de vida y es el proceso de utilizar una estrategia y un plan sobre qué parches se deben aplicar a qué sistemas en un momento específico.

Tipos

parches binarios

Los parches para software propietario normalmente se distribuyen como archivos ejecutables en lugar de código fuente . Cuando se ejecutan, estos archivos cargan un programa en la memoria que gestiona la instalación del código de parche en los programas de destino en el disco.

Los parches para otro software normalmente se distribuyen como archivos de datos que contienen el código del parche. Estos son leídos por un programa de utilidad de parche que realiza la instalación. Esta utilidad modifica el archivo ejecutable del programa de destino (el código de máquina del programa ) generalmente sobrescribiendo sus bytes con bytes que representan el nuevo código de parche. Si el nuevo código cabe en el espacio (número de bytes) ocupado por el código anterior, se puede implementar sobrescribiéndolo directamente sobre el código anterior. Esto se llama parche en línea. Si el código nuevo es más grande que el código antiguo, la utilidad de parche agregará registros de carga que contienen el código nuevo al archivo objeto del programa de destino que se está parcheando. Cuando se ejecuta el programa parcheado, la ejecución se dirige al nuevo código con instrucciones de rama (saltos o llamadas) parcheadas sobre el lugar del código antiguo donde se necesita el nuevo código. En las primeras microcomputadoras de 8 bits, por ejemplo el Radio Shack TRS-80 , el sistema operativo incluye una utilidad PATCH/CMD que acepta datos de parche de un archivo de texto y aplica las correcciones a los archivos binarios ejecutables del programa de destino.

El código del parche debe tener lugar(s) en la memoria para poder ejecutarse en tiempo de ejecución. Los parches en línea no suponen ninguna dificultad, pero cuando se necesita espacio de memoria adicional el programador debe improvisar. Naturalmente, si el programador del parche es quien primero creó el código a parchear, esto es más fácil. Los programadores expertos planifican de antemano esta necesidad reservando memoria para una expansión posterior, que no se utiliza al producir su iteración final. Otros programadores que no participaron en la implementación original y que buscan incorporar cambios más adelante deben encontrar o hacer espacio para los bytes adicionales necesarios. La circunstancia más afortunada posible para esto es cuando la rutina a parchear es un módulo distinto. En este caso el programador de parches simplemente necesita ajustar los punteros o indicadores de longitud que señalan a otros componentes del sistema el espacio ocupado por el módulo; entonces es libre de llenar este espacio de memoria con su código de parche expandido. Si la rutina a parchear no existe como un módulo de memoria distinto, el programador debe encontrar formas de reducir la rutina para dejar suficiente espacio para el código de parche expandido. Las tácticas típicas incluyen acortar el código encontrando secuencias de instrucciones más eficientes (o rediseñándolo con algoritmos más eficientes), compactando cadenas de mensajes y otras áreas de datos, externalizando funciones del programa al almacenamiento masivo (como superposiciones de disco) o eliminando características del programa consideradas menos importantes. importante que los cambios que se instalarán con el parche.

Se pueden aplicar pequeños parches de código de máquina en memoria manualmente con la utilidad de depuración del sistema, como los depuradores DDT de CP/M o DEBUG de MS-DOS . Los programadores que trabajaban en BASIC interpretado a menudo usaban el comando POKE para alterar la funcionalidad de una rutina de servicio del sistema o el propio intérprete.

Parches de código fuente

Los parches también pueden circular en forma de modificaciones del código fuente. En este caso, los parches suelen consistir en diferencias textuales entre dos archivos de código fuente, llamadas " diffs ". Este tipo de parches comúnmente surgen de proyectos de software de código abierto . En estos casos, los desarrolladores esperan que los usuarios compilen ellos mismos los archivos nuevos o modificados.

Grandes parches

Debido a que la palabra "parche" tiene la connotación de una corrección pequeña, las correcciones grandes pueden utilizar una nomenclatura diferente. Los parches voluminosos o que cambian significativamente un programa pueden circular como " paquetes de servicio " o como "actualizaciones de software". Microsoft Windows NT y sus sucesores (incluidos Windows 2000 , Windows XP , Windows Vista y Windows 7 ) utilizan la terminología de "paquete de servicio". [3] Históricamente, IBM utilizaba los términos "FixPaks" y "Disquete de servicio correctivo" para referirse a estas actualizaciones. [4]

Historia

Una cinta de programa para la Harvard Mark I de 1944 , una de las primeras computadoras digitales. Tenga en cuenta los parches físicos utilizados para corregir los agujeros perforados cubriéndolos.

Históricamente, los proveedores de software distribuían parches en cinta de papel o en tarjetas perforadas , esperando que el destinatario cortara la parte indicada de la cinta (o platina) original y parcheara (de ahí el nombre) el segmento de reemplazo. Las distribuciones de parches posteriores utilizaron cinta magnética. Luego, tras la invención de las unidades de disco extraíbles, los parches llegaban del desarrollador del software a través de un disco o, más tarde, de un CD-ROM por correo . Con un acceso a Internet ampliamente disponible , la descarga de parches desde el sitio web del desarrollador o mediante actualizaciones de software automatizadas estuvo a menudo disponible para los usuarios finales. A partir de Mac OS 9 de Apple y Windows ME de Microsoft , los sistemas operativos de PC obtuvieron la capacidad de obtener actualizaciones automáticas de software a través de Internet.

Los programas informáticos a menudo pueden coordinar parches para actualizar un programa de destino. La automatización simplifica la tarea del usuario final: solo necesita ejecutar un programa de actualización, después de lo cual ese programa se asegura de que la actualización del objetivo se realice completa y correctamente. Los paquetes de servicios para Microsoft Windows NT y sus sucesores y para muchos productos de software comerciales adoptan este tipo de estrategias automatizadas.

Algunos programas pueden actualizarse a sí mismos a través de Internet con muy poca o ninguna intervención por parte de los usuarios. El mantenimiento del software del servidor y de los sistemas operativos se realiza a menudo de esta manera. En situaciones en las que los administradores de sistemas controlan varias computadoras, este tipo de automatización ayuda a mantener la coherencia. La aplicación de parches de seguridad suele realizarse de esta forma.

Con la llegada de medios de almacenamiento más grandes y un mayor ancho de banda de Internet, se volvió común reemplazar archivos completos (o incluso todos los archivos de un programa) en lugar de modificar archivos existentes, especialmente para programas más pequeños.

Solicitud

El tamaño de los parches puede variar desde unos pocos bytes hasta cientos de megabytes ; por lo tanto, cambios más significativos implican un tamaño mayor, aunque esto también depende de si el parche incluye archivos completos o solo las partes modificadas de los archivos. En particular, los parches pueden volverse bastante grandes cuando los cambios agregan o reemplazan datos que no son de programa, como archivos de gráficos y sonidos. Este tipo de situaciones ocurren comúnmente al aplicar parches a juegos de computadora . En comparación con la instalación inicial de software, los parches no suelen tardar mucho en aplicarse.

En el caso de los sistemas operativos y el software de servidor , los parches tienen la función especialmente importante de reparar los agujeros de seguridad. Algunos parches críticos implican problemas con los controladores. [5] Los parches pueden requerir la aplicación previa de otros parches, o pueden requerir actualizaciones previas o simultáneas de varios componentes de software independientes. Para facilitar las actualizaciones, los sistemas operativos suelen proporcionar funciones de actualización automáticas o semiautomáticas. Las actualizaciones completamente automáticas no han logrado ganar popularidad en los entornos informáticos corporativos, en parte debido a los fallos antes mencionados, pero también porque los administradores temen que las empresas de software puedan obtener un control ilimitado sobre sus computadoras. [ cita necesaria ] Los sistemas de gestión de paquetes pueden ofrecer varios grados de automatización de parches.

El uso de actualizaciones completamente automáticas se ha vuelto mucho más extendido en el mercado de consumo, debido en gran parte [ cita necesaria ] al hecho de que Microsoft Windows agregó soporte para ellas [ ¿cuándo? ] y el Service Pack 2 de Windows XP (disponible en 2004) los habilitaban de forma predeterminada. Los usuarios cautelosos, especialmente los administradores de sistemas, tienden a posponer la aplicación de parches hasta que puedan verificar la estabilidad de las correcciones. Microsoft (W)SUS lo admite. En el caso de parches grandes o de cambios significativos, los distribuidores suelen limitar la disponibilidad de parches a desarrolladores cualificados a modo de prueba beta .

La aplicación de parches al firmware plantea desafíos especiales, ya que a menudo implica el aprovisionamiento de imágenes de firmware totalmente nuevas, en lugar de aplicar sólo las diferencias con respecto a la versión anterior. El parche suele consistir en una imagen de firmware en forma de datos binarios, junto con un programa especial proporcionado por el proveedor que reemplaza la versión anterior por la nueva; una actualización del BIOS de la placa base es un ejemplo de un parche de firmware común. Cualquier error inesperado o interrupción durante la actualización, como un corte de energía, puede inutilizar la placa base. Es posible que los fabricantes de placas base establezcan medidas de seguridad para evitar daños graves; por ejemplo, el procedimiento de actualización podría crear y conservar una copia de seguridad del firmware para usarla en caso de que se determine que la copia primaria está corrupta (normalmente mediante el uso de una suma de comprobación , como un CRC ).

Juegos de vídeo

Los videojuegos reciben parches para solucionar problemas de compatibilidad después de su lanzamiento inicial como cualquier otro software, pero también se pueden aplicar para cambiar reglas o algoritmos del juego . Estos parches pueden deberse al descubrimiento de vulnerabilidades en la experiencia de juego multijugador que pueden utilizarse para obtener ventajas injustas sobre otros jugadores. A menudo se pueden agregar funciones adicionales y ajustes de juego. Este tipo de parches son comunes en los juegos de disparos en primera persona con capacidad multijugador , y en los MMORPG , que suelen ser muy complejos con grandes cantidades de contenido, casi siempre dependen en gran medida de los parches posteriores al lanzamiento inicial, donde los parches a veces agregan nuevo contenido y habilidades disponibles. a los jugadores. Debido a que el equilibrio y la equidad para todos los jugadores de un MMORPG pueden verse gravemente dañados en un corto período de tiempo por un exploit, los servidores de un MMORPG a veces se cierran con poca antelación para aplicar un parche crítico con una solución.

A veces las empresas lanzan juegos sabiendo que tienen errores. Scorpia , de Computer Gaming World , denunció en 1994 a "compañías, demasiado numerosas para mencionarlas, que lanzan productos de mala calidad sabiendo que pueden arreglárselas con parches y actualizaciones, y que hacen que sus clientes paguen por sus pruebas". [6]

en el desarrollo de software

A veces, los parches se vuelven obligatorios para solucionar problemas con bibliotecas o con partes del código fuente de programas de uso frecuente o en mantenimiento. Esto ocurre comúnmente en proyectos de software a muy gran escala, pero rara vez en desarrollos a pequeña escala.

En los proyectos de código abierto, los autores suelen recibir parches o muchas personas publican parches que solucionan problemas particulares o agregan cierta funcionalidad, como soporte para idiomas locales fuera de la configuración regional del proyecto. En un ejemplo del desarrollo inicial del kernel de Linux (destacado por publicar su código fuente completo), Linus Torvalds , el autor original, recibió cientos de miles de parches de muchos programadores para aplicarlos en su versión original.

El servidor HTTP Apache evolucionó originalmente como una serie de parches que Brian Behlendorf recopiló para mejorar NCSA HTTPd , de ahí el nombre que implica que es una colección de parches ( "un servidor con parches" ). Las preguntas frecuentes en el sitio oficial del proyecto afirman que el nombre 'Apache' fue elegido por respeto a la tribu india nativa americana de Apache . Sin embargo, la explicación de "un servidor irregular" se dio inicialmente en el sitio web del proyecto. [7]

Variantes

Revisión

Una revisión o actualización de Quick Fix Engineering (actualización QFE) es un paquete único y acumulativo que incluye información (a menudo en forma de uno o más archivos) que se utiliza para solucionar un problema en un producto de software (es decir, un error de software). Normalmente, las revisiones se realizan para abordar una situación específica del cliente. Microsoft alguna vez usó este término, pero lo dejó en favor de una nueva terminología: Versión de distribución general (GDR) y Versión de distribución limitada (LDR). Blizzard Entertainment , sin embargo, define una revisión como "un cambio realizado en el juego que se considera lo suficientemente crítico como para no poder posponerse hasta un parche de contenido regular".

Liberación de puntos

Una versión puntual es una versión menor de un proyecto de software, especialmente una destinada a corregir errores o realizar pequeñas limpiezas en lugar de agregar funciones importantes . A menudo, hay demasiados errores que pueden corregirse en una sola versión principal o menor, lo que crea la necesidad de una versión puntual.

Solución temporal del programa

La corrección temporal del programa o la corrección temporal del producto (PTF), según la fecha, es la terminología estándar de IBM para una única corrección de errores, o un grupo de correcciones, distribuidas en un formato listo para ser instalado por los clientes. A veces se hacía referencia a un PTF como “ZAP”. [8] En ocasiones, los clientes explican el acrónimo de manera irónica como una solución temporal permanente o, más prácticamente, probablemente esta solución , porque tienen la opción de hacer que el PTF sea una parte permanente del sistema operativo si el parche soluciona el problema.

Parches de seguridad

Un parche de seguridad es un cambio aplicado a un activo para corregir la debilidad descrita por una vulnerabilidad. Esta acción correctiva evitará una explotación exitosa y eliminará o mitigará la capacidad de una amenaza para explotar una vulnerabilidad específica en un activo. La gestión de parches es parte de la gestión de vulnerabilidades  : la práctica cíclica de identificar, clasificar, remediar y mitigar vulnerabilidades.

Los parches de seguridad son el método principal para corregir vulnerabilidades de seguridad en el software. Actualmente, Microsoft publica sus parches de seguridad una vez al mes, y otros sistemas operativos y proyectos de software cuentan con equipos de seguridad dedicados a lanzar los parches de software más confiables tan pronto como sea posible después de un anuncio de vulnerabilidad. Los parches de seguridad están estrechamente relacionados con la divulgación responsable .

Estos parches de seguridad son fundamentales para garantizar que los procesos comerciales no se vean afectados. En 2017, las empresas se vieron afectadas por un ransomware llamado WannaCry que cifra archivos en determinadas versiones de Microsoft Windows y exige un rescate mediante BitCoin. En respuesta a esto, Microsoft lanzó un parche que detiene la ejecución del ransomware.

Paquete de servicio

Un paquete de servicio o SP o un paquete de características (FP) comprende una colección de actualizaciones, correcciones o mejoras de un programa de software entregado en forma de un único paquete instalable. Las empresas suelen lanzar un paquete de servicios cuando el número de parches individuales para un programa determinado alcanza un cierto límite (arbitrario), o cuando se ha demostrado que el lanzamiento del software está estabilizado con un número limitado de problemas restantes según los comentarios de los usuarios y el seguimiento de errores, como Bugzilla . En aplicaciones de software de gran tamaño, como suites ofimáticas, sistemas operativos, software de bases de datos o administración de redes, no es raro que se emita un paquete de servicio dentro del primer año o dos del lanzamiento de un producto. Instalar un service pack es más fácil y menos propenso a errores que instalar muchos parches individuales, más aún cuando se actualizan varias computadoras a través de una red, donde los service packs son comunes.

Parches no oficiales

Un parche no oficial es un parche para un programa escrito por un tercero en lugar del desarrollador original . Similar a un parche normal, soluciona errores o deficiencias. Un ejemplo son las correcciones de seguridad realizadas por especialistas en seguridad cuando un parche oficial por parte de los propios productores de software tarda demasiado. [9] [10] Otros ejemplos son parches no oficiales creados por la comunidad de juegos de un videojuego que dejó de ser compatible. [11] [12]

Parches de mono

Parchar Monkey significa extender o modificar un programa localmente (afectando sólo a la instancia en ejecución del programa).

Parcheo en caliente

El parcheo en caliente , también conocido como parcheo en vivo o actualización dinámica de software , es la aplicación de parches sin apagar ni reiniciar el sistema o el programa en cuestión. Esto aborda problemas relacionados con la falta de disponibilidad del servicio proporcionado por el sistema o el programa. [13] El método se puede utilizar para actualizar el kernel de Linux sin detener el sistema. [14] [15] Un parche que se puede aplicar de esta manera se llama parche activo o parche vivo . Esto se está convirtiendo en una práctica común en el espacio de las aplicaciones móviles. [16] Empresas como Rollout.io utilizan métodos swizzling para ofrecer parches calientes al ecosistema iOS. [17] Otro método para aplicar parches en caliente a aplicaciones iOS es JSPatch. [18]

Los proveedores de la nube suelen utilizar parches en caliente para evitar el tiempo de inactividad de los clientes al actualizar la infraestructura subyacente. [19]

rebufo

En informática, slipstreaming es el acto de integrar parches (incluidos los service packs ) en los archivos de instalación de su aplicación original, de modo que el resultado permita una instalación directa de la aplicación actualizada. [20] [21]

La naturaleza del slipstreaming implica un desembolso inicial de tiempo y trabajo, pero puede ahorrar mucho tiempo (y, por extensión, dinero) a largo plazo. Esto es especialmente importante para los administradores que tienen la tarea de administrar una gran cantidad de computadoras, donde la práctica típica para instalar un sistema operativo en cada computadora sería usar los medios originales y luego actualizar cada computadora una vez completada la instalación. Esto llevaría mucho más tiempo que comenzar con una fuente más actualizada (integrada) y tener que descargar e instalar las pocas actualizaciones no incluidas en la fuente integrada.

Sin embargo, no todos los parches se pueden aplicar de esta manera y una desventaja es que si se descubre que un determinado parche es responsable de problemas posteriores, dicho parche no se puede eliminar sin utilizar una fuente de instalación original y no integrada.

Sistemas de actualización de software.

Un mensaje de actualización del software Sparkle en macOS

Los sistemas de actualización de software permiten que los usuarios y desarrolladores de software administren las actualizaciones. En la ciberpandemia de Petya de 2017 , se dice que el sistema de actualización del software financiero "MeDoc" se vio comprometido para difundir malware a través de sus actualizaciones. [22] [23] En el Blog Tor, el experto en ciberseguridad Mike Perry afirma que las compilaciones deterministas y distribuidas son probablemente la única forma de defenderse contra el malware que ataca el desarrollo de software y los procesos de compilación para infectar millones de máquinas en un solo documento firmado oficialmente. actualización instantánea. [24] Los administradores de actualizaciones también permiten que las actualizaciones de seguridad se apliquen rápida y ampliamente. Los administradores de actualizaciones de Linux como Synaptic permiten a los usuarios actualizar todo el software instalado en su máquina. Aplicaciones como Synaptic utilizan sumas de verificación criptográficas para verificar los archivos locales/de origen antes de aplicarlos para garantizar la fidelidad contra el malware. [25] [26]

Ver también

Referencias

  1. ^ ab "Microsoft emite el mayor parche de software registrado". Reuters. 2009-10-14. Archivado desde el original el 16 de octubre de 2009 . Consultado el 14 de octubre de 2009 .
  2. ^ "¿Qué es una corrección de errores? - Definición de Techopedia". techopedia.com . Archivado desde el original el 3 de julio de 2018 . Consultado el 29 de julio de 2015 .
  3. ^ "Paquete de servicios y centro de actualización". windows.microsoft.com . Archivado desde el original el 1 de junio de 2015 . Consultado el 1 de junio de 2015 .
  4. ^ "Glosario de términos". www.tavi.co.uk. ​Archivado desde el original el 1 de diciembre de 2016 . Consultado el 23 de noviembre de 2016 .
  5. ^ Liu, Ashok (junio de 2012). Libro de trabajo de reparación de computadoras portátiles de Computercare: Los 300 casos de solución de problemas y reparación de computadoras portátiles clásicas. AuthorHouse (publicado en 2012). pag. 591.ISBN 9781477205402. Consultado el 8 de enero de 2015 . Desinstale el parche del controlador de audio de alta definición KB835221 y KB888111 [...]
  6. ^ Escorpia (abril de 1994). "¿Entonces quieres ser un héroe?". Vista del Escorpión. Mundo de los juegos de computadora . págs. 54–58.
  7. ^ "Proyecto del servidor Apache HTTP". 15 de junio de 1997. Archivado desde el original el 15 de junio de 1997.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  8. ^ "SPZAP (también conocido como Superzap): actualiza dinámicamente programas o datos". Centro de conocimiento de IBM . Archivado desde el original el 24 de mayo de 2020 . Consultado el 23 de febrero de 2020 .
  9. ^ Barwise, Mike (16 de octubre de 2007). "Parche no oficial para el problema de URI de Windows". La Seguridad H. Archivado desde el original el 29 de abril de 2021 . Consultado el 29 de enero de 2012 .
  10. ^ "Se ofrece otro parche no oficial de IE para contrarrestar un defecto crítico". Computadora Semanal . 2006-03-30. Archivado desde el original el 2 de mayo de 2021 . Consultado el 9 de julio de 2013 . Se lanzó otro parche no oficial para contrarrestar una falla crítica en el navegador Internet Explorer de Microsoft.
  11. ^ Wen, Howard (10 de junio de 2004). "Mantener vivos los mitos". linuxdevcenter.com. Archivado desde el original el 6 de abril de 2013 . Consultado el 22 de diciembre de 2012 . [...] los fans de la trilogía Myth han llevado esta idea un paso más allá: tienen acceso oficial al código fuente de los juegos Myth. Organizado bajo el nombre MythDevelopers, este grupo totalmente voluntario de programadores, artistas y otras personas talentosas dedican su tiempo a mejorar y apoyar el desarrollo de la serie de juegos Myth.
  12. ^ Bell, John (1 de octubre de 2009). "Abriendo la fuente del arte". Revisión de la gestión de la innovación tecnológica. Archivado desde el original el 30 de marzo de 2014 . Consultado el 30 de diciembre de 2012 . [...] que no se publicarían más parches para el título. Como era de esperar, la comunidad estaba molesta. En lugar de renunciar al juego, los usuarios decidieron que si Activision no iba a solucionar los errores, lo harían. Querían salvar el juego haciendo que Activision abriera la fuente para que pudiera mantenerse viva más allá del punto en que Activision perdiera interés. Con la ayuda de los miembros del equipo de desarrollo que estaban activos en los foros de fans, finalmente pudieron convencer a Activision de que publicara el código fuente de Call to Power II en octubre de 2003.
  13. ^ "Revista Oracle". Oracle.com. Archivado desde el original el 14 de mayo de 2008 . Consultado el 4 de enero de 2013 .
  14. ^ "Parche en vivo del kernel de Linux". Archivado desde el original el 28 de octubre de 2020 . Consultado el 25 de octubre de 2020 .
  15. ^ "Parches en vivo del kernel de Linux: qué es y quién lo necesita". 6 de marzo de 2020. Archivado desde el original el 28 de octubre de 2020 . Consultado el 25 de octubre de 2020 .
  16. ^ "¿Caliente o no? Los beneficios y riesgos de la aplicación remota de parches en iOS« Blog de investigación de amenazas ". Ojo de fuego . Archivado desde el original el 26 de octubre de 2016 . Consultado el 26 de octubre de 2016 .
  17. ^ Pérez, Sarah (22 de septiembre de 2015). "Rollout.io devuelve a los desarrolladores móviles el control de sus aplicaciones". TechCrunch . Archivado desde el original el 27 de noviembre de 2016 . Consultado el 26 de octubre de 2016 .
  18. ^ "bang590/JSPatch". GitHub . Archivado desde el original el 4 de enero de 2017 . Consultado el 26 de octubre de 2016 .
  19. ^ "Parches en caliente del motor SQL Server en Azure SQL Database". Comunidad tecnológica Microsoft . 2019-09-11. Archivado desde el original el 13 de septiembre de 2019 . Consultado el 15 de septiembre de 2019 .
  20. ^ Karp, David (14 de julio de 2008). "Cree un disco de recuperación de XP SP3". Revista PC . Ziff Davis . Archivado desde el original el 9 de enero de 2018 . Consultado el 7 de septiembre de 2017 .
  21. ^ Thurrott, Paul (7 de mayo de 2008). "Integración de Windows XP con Service Pack 3 (SP3)". Supersitio para Windows . Pentón . Archivado desde el original el 11 de diciembre de 2016 . Consultado el 3 de diciembre de 2016 .
  22. ^ Thomson, Iain. "El virus (tos, tos, Petya) se vuelve loco en FedEx, las acciones se detienen". El registro . Archivado desde el original el 1 de julio de 2017 . Consultado el 29 de junio de 2017 .
  23. ^ "Nuevos vectores de distribución de Petya burbujeando en la superficie". Puesto de amenaza. 28 de junio de 2017. Archivado desde el original el 28 de junio de 2017 . Consultado el 29 de junio de 2017 .
  24. ^ "Construcciones deterministas, primera parte: guerra cibernética y compromiso global | El blog Tor". blog.torproject.org . Archivado desde el original el 23 de junio de 2017 . Consultado el 11 de julio de 2017 .
  25. ^ Proffitt, Brian (2008). Presentamos Ubuntu: escritorio Linux. Aprendizaje Cengage. ISBN 978-1598637656. Consultado el 11 de julio de 2017 .
  26. ^ Revistas, SPH (2007). HWM. Revistas SPH . Consultado el 11 de julio de 2017 .

enlaces externos