此命令用于為特定軟件包打補丁,他使用diff命令對源文件進行操作。
基本命令語法:
patch [-R] {-p(n)} [--dry-run] < patch_file_name
p:為path的縮寫。
n:指將patch文件中的path第n條’/’及其左邊部分取消。
-R:卸載patch包。
--dry-run:嘗試patch軟件,并不真正修改軟件。
使用實例:
/home/sense/patch-2.6.19.1
=============================================================
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index d12fb97..c8f96cf 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -333,7 +333,7 @@ acpi_parse_ioapic(acpi_table_entry_heade
/*
* Parse Interrupt Source Override for the ACPI SCI
*/
-static void acpi_sci_ioapic_setup(u32 bus_irq, u32 gsi, u16 polarity, u16 trigger)
+static void acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
=============================================================
此patch文件的path=a/arch/i386/kernel/acpi
[sense@ssn src]$ pwd
/usr/src
[sense@ssn src]$ tree
.
`-- a
`-- arch
`-- i386
`-- kernel
`-- acpi
和a/同目錄時:
[sense@ssn src]$ pwd
/usr/src
[sense@ssn src]$ patch -p0 < /home/sense/patch-2.6.19.1 安裝補丁
[sense@ssn src]$ patch -p0 -R < /home/sense/patch-2.6.19.1 卸載補丁
和a/arch/同目錄時:
[sense@ssn src]$ pwd
/usr/src/a/
[sense@ssn src]$ patch -p1 < /home/sense/patch-2.6.19.1 安裝補丁
[sense@ssn src]$ patch -p1 -R < /home/sense/patch-2.6.19.1 卸載補丁
和a/arch/i386/同目錄時:
[sense@ssn src]$ pwd
/usr/src/a/arch/
[sense@ssn src]$ patch -p2 < /home/sense/patch-2.6.19.1 安裝補丁
[sense@ssn src]$ patch -p2 -R < /home/sense/patch-2.6.19.1 卸載補丁