Установка patch в Linux

Дабы наложить патч, надо перейти в каталог, где находится старый файл/каталог, и осуществить команду

patch < файл_патча

При использовании патчей к каталогам (в общем случае, некий список информации об объектах, составленный с целью облегчения поиска этих объектов по какому-то признаку: Список или опись собрания книг в библиотеках, картин и других) обычно делают так: патч формируется, как описано выше (тогда в заголовках патчей к отдельным файлам путь к ним будет затеиваться с имени нового каталога), а прикладывается он внутри изменяемого каталога. Тогда команда станет выглядеть так:

patch -p1 < файл_патча

Здесь -p1 означает, что из заголовков патча надо прибрать начальный каталог. Поясню всё это на примере. У нас имеется дерево исходников ядра 2.6.0. Это каталог linux-2.6.0, в каком содержатся каталоги drivers, arch и т.д. И у нас есть патч до версии 2.6.1, в котором держатся такие заголовки:

Читайте также:  Подключение flv модуля в nginx

--- a/drivers/acpi/Kconfig Thu Jan 8 23:00:24 2004

+++ b/drivers/acpi/Kconfig Thu Jan 8 23:00:24 2004

Видим, что при творении патча старый и новый каталоги назывались a и b соответственно. У нас же каталог называется по-другому, и patch ничто сделать не сможет. Поэтому заходим в каталог linux-2.6.0 и выполняем указанную реке команду. Теперь заголовки будут интерпретироваться как

--- drivers/acpi/Kconfig Thu Jan 8 23:00:24 2004

+++ drivers/acpi/Kconfig Thu Jan 8 23:00:24 2004