Parche , o parche ( ing. patch /pætʃ/-patch ) : información diseñada para realizar automáticamente ciertos cambios en los archivos de la computadora . La aplicación de un parche a veces se denomina "parcheo".
Un parche o actualización ( eng. update ) se refiere, en particular, a contener dicha información, una herramienta de software automatizada suministrada por separado que se utiliza para solucionar problemas en el software o cambiar su funcionalidad.
La solución se puede aplicar a un programa ya instalado o a sus códigos fuente . Esto incluye corregir errores, cambiar la apariencia, mejorar la ergonomía o el rendimiento de los programas y cualquier otro cambio que el desarrollador desee realizar.
El tamaño de los parches puede variar desde unos pocos kilobytes hasta cientos de megabytes . En particular, los parches pueden ser muy grandes al cambiar o reemplazar datos que no son de programas, como archivos con gráficos y sonido (que a menudo se encuentran en los juegos de computadora ). Sin embargo, el gran tamaño también puede deberse a la gran cantidad de cambios que se realizan. Al mismo tiempo, las palabras "parche", "parche" generalmente se usan para referirse a pequeñas correcciones, mientras que los parches grandes que cambian o actualizan seriamente el programa a menudo se denominan " paquete de servicio " o " actualizaciones de software " .
En los días en que se usaban tarjetas perforadas o cintas de papel para cargar programas en las computadoras, los desarrolladores de software distribuían parches en forma de tarjetas perforadas con un conjunto diferente de perforaciones del conjunto original de perforaciones o indicaban en la cinta perforada los lugares a cambiar. . Los usuarios reemplazaban las tarjetas perforadas correspondientes en la pila o cortaban la parte marcada de la cinta y pegaban una nueva pieza del programa en su lugar. Al mismo tiempo, apareció el nombre "parche" ( ing. parche , literalmente - "parche").
Más tarde, se utilizaron cintas magnéticas para distribuir parches . Cuando se inventaron los disquetes , los parches comenzaron a enviarse en disquetes en sobres por correo . Hoy, en la era de la ubicuidad de Internet , los programas informáticos y sus usuarios descargan parches de los sitios web de los desarrolladores .
Brevemente, las tareas realizadas por los parches se pueden describir de la siguiente manera:
Para actualizar automáticamente al usuario, los parches se suelen utilizar en grandes proyectos donde la cantidad de datos transferidos es importante.
En el desarrollo de software y similares, los parches de código fuente se utilizan independientemente del tamaño del proyecto, generalmente a través de sistemas de control de versiones . Los parches creados que solucionan problemas particulares o agregan alguna funcionalidad, como compatibilidad con otros idiomas, generalmente se envían a los autores o se publican en la web.
Por ejemplo, al desarrollar el kernel del sistema operativo Linux , Linus Torvalds , su autor, recibió miles de cartas con parches para su versión de muchos programadores.
El servidor web Apache evolucionó a partir de un conjunto de parches escritos previamente por varios webmasters para agregar funcionalidad a NCSA HTTPd . Según la leyenda, de aquí proviene el nombre, lo que significa que es esencialmente una colección de parches: "un servidor con parches".
En los programas para crear música, un parche es un conjunto de parámetros programables para el sonido de un determinado sonido almacenado en la memoria de un sintetizador musical. Un módulo de software que contiene varios efectos de sonido y ajustes preestablecidos adicionales .
Sucede que la actualización en sí provoca nuevos errores en el trabajo. Por lo tanto, los usuarios experimentados prefieren esperar un tiempo hasta que aparezcan los primeros comentarios sobre los resultados del uso de la nueva versión del software , y solo entonces decidir si instalar este parche. Este momento es especialmente crítico para los administradores de sistemas y cuando se instalan grandes actualizaciones del sistema operativo.
En el caso de la actualización de los sistemas operativos y el software del servidor, los parches juegan un papel importante en el mantenimiento de la seguridad y en el parcheo de los agujeros de seguridad . Para facilitar la instalación de dichas actualizaciones, los sistemas operativos suelen admitir mecanismos de actualización automáticos o semiautomáticos. Al mismo tiempo, los usuarios precavidos (en particular, los administradores de sistemas ) suelen desactivar la instalación automática de parches hasta que estén convencidos del funcionamiento estable de las versiones corregidas utilizando los ejemplos de otras personas [1] . En el caso de parches grandes o muy importantes, los desarrolladores suelen realizar pruebas previas (pruebas beta ) primero.
Forzar actualizaciónA veces, los desarrolladores de software obligan a los usuarios a actualizar. Esto se puede expresar en la restricción de acceso a los servicios del desarrollador utilizando un programa no actualizado (por ejemplo, la imposibilidad de instalar parches y actualizaciones posteriores), o en la falla total o parcial del programa en sí.
Las razones pueden ser:
En muchos dispositivos , el software se encuentra en la memoria del propio dispositivo en forma de un llamado. firmware , que incluye tanto el sistema operativo que controla el funcionamiento del dispositivo, como el conjunto real de programas que aseguran el desempeño de algunas de sus funciones. Por lo tanto, si el desarrollador brinda la posibilidad de reemplazar su firmware ( flasheo ), la aplicación de un parche al software del dispositivo generalmente representa un reemplazo completo de todo el firmware con una versión más nueva. Por lo general, dicho parche consta de un archivo que contiene el código del programa actualizado en forma binaria y un programa especial que lo escribe en la memoria del dispositivo en lugar de la versión anterior. Un ejemplo de este tipo de parche es actualizar el BIOS de la placa base de una computadora o un teléfono móvil moderno conectado a una computadora.
Dado que, de hecho, no se reescribe una parte de los programas o funciones, sino todo el sistema operativo del dispositivo, cualquier error inesperado o interferencia en el proceso de flasheo (por ejemplo, apagar la alimentación) puede impedir que se escriba correctamente. hasta el final, lo que a su vez conduce con mayor frecuencia a la inoperancia completa del dispositivo.
Los sistemas de control de versiones se utilizan para crear, utilizar y mantener parches .
A menudo, los actualizadores modernos pueden administrar parches. La automatización de todo el proceso simplifica la tarea del usuario final: solo necesita ejecutar el programa y decidirá si instalar parches y en qué orden. También sucede que el programa descarga actualizaciones de Internet sin la intervención del usuario. Este método se utiliza a menudo como soporte de software de servidor y sistemas operativos. En una situación en la que el administrador tiene que monitorear varias computadoras, este enfoque ayuda a mantener la confiabilidad del sistema como un todo. Por lo general, así es como se instalan las actualizaciones de seguridad.
Para garantizar que todos los cambios realizados por el parche se produzcan automáticamente sin la intervención del usuario, existen utilidades especiales que crean parches autoinstalables. Registran información sobre qué archivos se deben reemplazar o qué programas se inician después de desempaquetar, si se debe cambiar el contenido de los archivos. La mayoría de las veces, el parche obtenido de esta manera es un archivo autoextraíble que contiene todos los archivos actualizados.
Consulte el artículo Archivo autoextraíble para obtener más información .