patch – это команда для добавления файлов исправлений в исходный код или текстовые файлы. Он принимает ввод в виде файла исправления и применяет различия к исходным файлам. Мы используем инструмент «diff», чтобы увидеть разницу.
«diff» сокращенно обозначается «differences» и используется для сравнения содержимого двух файлов и перечисления изменений в стандартном выводе.
Набор исходных кодов составляет часть программного обеспечения. Разработчики создают исходный код, который со временем развивается. Получать новый файл для каждого обновления нереально или требует много времени. Поэтому самый безопасный метод – распространять только улучшения. В старый файл вносятся изменения, а затем создается новый или исправленный файл для новой версии программного обеспечения.
В этой статье показано, как использовать команду «diff» для создания файла исправления, а затем применить его с помощью команды «patch».
Синтаксис команды « patch » следующий:
$ patch [options] [originalfile [patchfile]] $ patch -pnum <patchfile>
Во-первых, для создания файла исправления требуются две разные версии исходного кода. Созданный мной файл исходного кода называется «myfile.c»: s
#include <stdio.h> int main() { printf("Hello andreyex\n"); }
Теперь скопируйте содержимое myfile.c в new_myfile.c, используя:
$ cp myfile.c new_myfile.c
Внесите некоторые изменения во вновь созданный файл:
#include <stdio.h> void main(){ printf(" Hello Andrey"); printf("Welcome to andreyex"); }
Давайте создадим файл patch с именем myfile.patch:
$ diff -u myfile.c new_myfile.c < myfile.patch
Вы можете распечатать файл patch, выполнив команду ниже:
$ cat myfile.patch
Чтобы применить patch, используйте:
$ patch < myfile.patch
Убедитесь, что файл исправления находится в каталоге, в котором размещен файл исходного кода.
Используйте параметр «-b» для создания резервной копии файла исправления:
$ patch -b < myfile.patch
Если вам нужно несколько резервных копий одного файла резервной копии, используйте параметр «-V». Он устанавливает номер версии каждого файла резервной копии. Выполните команду, указанную ниже:
$ patch -b -V numbered < myfile.patch
Если вы хотите проверить или понаблюдать за результатом установки исправлений, используйте опцию «–dry-run». Он не вносит никаких изменений в исходный файл:
$ patch --dry-run < myfile.patch
Параметр «-R» используется для отмены или отмены уже примененного patch.
$ patch < file.patch $ ls –l myfile.c $ patch –R < myfile.patch $ ls –l myfile.c
В операционной системе Linux «patch» – это команда, которая позволяет нам применять файлы исправлений к исходным кодам или файлам конфигурации. Файл patch используется для обновления программного обеспечения. Разница между исходным и новым файлами содержится в файлах исправлений, а команда «diff» используется для получения разницы или исправления. Мы обсудили использование команд «diff» и «patch» с рядом параметров, таких как создание резервных копий, запуск всухую и реверсирование примененного исправления.