Поиск по сайту:
Лучше скажи мало, но хорошо (К. Прутков).

Как запустить команду patch в Linux

11.05.2021
Как запустить команду patch в Linux

patch – это команда для добавления файлов исправлений в исходный код или текстовые файлы. Он принимает ввод в виде файла исправления и применяет различия к исходным файлам. Мы используем инструмент «diff», чтобы увидеть разницу.

«diff» сокращенно обозначается «differences» и используется для сравнения содержимого двух файлов и перечисления изменений в стандартном выводе.

Набор исходных кодов составляет часть программного обеспечения. Разработчики создают исходный код, который со временем развивается. Получать новый файл для каждого обновления нереально или требует много времени. Поэтому самый безопасный метод – распространять только улучшения. В старый файл вносятся изменения, а затем создается новый или исправленный файл для новой версии программного обеспечения.

В этой статье показано, как использовать команду «diff» для создания файла исправления, а затем применить его с помощью команды «patch».

 

Синтаксис:

Синтаксис команды « patch » следующий:

$ patch [options] [originalfile [patchfile]]

$ patch -pnum <patchfile>

Создание файла патча с помощью «diff»:

Файл исходного кода 1:

Во-первых, для создания файла исправления требуются две разные версии исходного кода. Созданный мной файл исходного кода называется «myfile.c»: s

#include <stdio.h>

int main() {

printf("Hello andreyex\n");

}

Файл исходного кода 2:

Теперь скопируйте содержимое 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

Убедитесь, что файл исправления находится в каталоге, в котором размещен файл исходного кода.

Читать  Linux на Марсе: как операционная система поддержит первый полет Ingenuity на Марс

 

Сделайте резервную копию перед установкой patch:

Используйте параметр «-b» для создания резервной копии файла исправления:

$ patch -b < myfile.patch

 

Установка версии файла резервной копии

Если вам нужно несколько резервных копий одного файла резервной копии, используйте параметр «-V». Он устанавливает номер версии каждого файла резервной копии. Выполните команду, указанную ниже:

$ patch -b -V numbered < myfile.patch

 

Проверить файлы исправлений

Если вы хотите проверить или понаблюдать за результатом установки исправлений, используйте опцию «–dry-run». Он не вносит никаких изменений в исходный файл:

$ patch --dry-run < myfile.patch

 

Отменить/отменить patch

Параметр «-R» используется для отмены или отмены уже примененного patch.

$ patch < file.patch

$ ls –l myfile.c

$ patch –R < myfile.patch

$ ls –l myfile.c

 

Заключение:

В операционной системе Linux «patch» – это команда, которая позволяет нам применять файлы исправлений к исходным кодам или файлам конфигурации. Файл patch используется для обновления программного обеспечения. Разница между исходным и новым файлами содержится в файлах исправлений, а команда «diff» используется для получения разницы или исправления. Мы обсудили использование команд «diff» и «patch» с рядом параметров, таких как создание резервных копий, запуск всухую и реверсирование примененного исправления.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 3,67 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Мыши Razer известны своими широкими возможностями и привлекательным внешним видом,…

Спасибо!

Теперь редакторы в курсе.