Cómo aplicar un fichero parche sobre código fuente en LINUX / UNIX

A menudo me he encontrado con que, para corregir un bug de un programa o simplemente añadir una funcionalidad nueva, basta con aplicar un parche (patch) al código fuente. En Linux / UNIX disponemos de un comando llamado patch que aplica un fichero diff o patch a un fichero de código fuente. El comando patch utiliza un fichero patch que incluye una serie de diferencias, generadas por un programa diff, y aplica estas diferencias a uno o más ficheros originales, produciendo versiones parcheadas. El siguiente uso es el más común:
$ patch -p1 < {/ruta/al/fichero/patch}
Para aplicar un parche, se puede correr el siguiente comando en una consola:
$ patch < /ruta/al/fichero
Los parches se pueden deshacer, o revertir, con la opción -R:
$ patch -R < /ruta/al/fichero
Estos son tres casos básicos de utilización del comando patch. Para más información:
% man patch

Enlace

Publicaciones Similares

  • Extracción del texto de un pdf creado a partir de una imagen

    Escenario Una manera de preparar los exámenes es practicando con aquellos de años anteriores. Para los que estudiamos en la UNED, el centro de Calatayud cuenta con un extenso repositorio de PDFs de exámenes de previas convocatorias. Problema Los PDFs suelen ser de aquellos generados a partir de imágenes y no de texto lo que…

  • Tablas con nombre reservado en entidades en Spring Boot

    Escenario Tenemos una aplicación corriendo sobre Spring Boot que usa Hibernate como ORM. Una de las tablas se llama Group, se utiliza para almacenar los distintos grupos a los que puede pertenecer un usuario. Problema La entidad de java que representa la tabla de grupos tiene esta pinta:

    Sabía que group es una palabra…

  • Sonata Admin: el calendario no se cierra

    Escenario Incluir un filtro de rango de fechas en SonataAdmin que use un calendario para seleccionar la fecha es más o menos fácil. Primero añadimos el siguiente bloque en el admin de nuestra entidad:

    Y la siguiente clave bajo form_themesen el fichero config/packages/twig.yaml:

    Problema El calendario no se cierra automáticamente cuando se selecciona…

  • Renovación de la llave gpg

    Escenario En mi trabajo usamos gpg para cifrar los documentos con información sensible. Problema Resulta que, en su día, di de alta la clave con una esperanza de vida de dos años. Y dos años pasan muy rápido. Solución Estos son los comandos que hay que ejecutar para extender la fecha de caducidad. Para listar…

  • Partición adicional en disco con tabla MBR

    Escenario Tengo un disco de 4TB que usa una tabla de particiones MBR. Hay una partición de 2TB ya creada y necesito crear otra en el espacio disponible. Problema Según parted para crear la nueva partición por el siguiente problema: Error: starting sector number, 4294967296 exceeds the msdos-partition-table-imposed maximum of 4294967295 [plain]marcos@technoage:~$ sudo parted /dev/sdb…

  • Chart.js: cómo cambiar el idioma (locale) dinámicamente

    Escenario Por un lado una aplicación que permite al usuario personalizar el idioma del sitio. Por otro, una gráfica de tipo línea temporal generada con la biblioteca Chart.js, integrada en un módulo de React con react-chartjs-2. Problema Según un comentario de un usuario de Stackoverflow, basta con un require('moment/min/moment-with-locales'); y establecer el valor de la…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *