Linux中patch补丁命令

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(patch文件指示路径)
[sense@ssn src] pwd/usr/src[sense@ssnsrc] tree
.
-- a
– arch
-- i386
– kernel
`– acpi
和a/同目录时:
[sense@ssn src] pwd/usr/src[sense@ssnsrc] patch -p0 < /home/sense/patch-2.6.19.1 安装补丁
[sense@ssn src] patchp0R</home/sense/patch2.6.19.1a/arch/[sense@ssnsrc] pwd
/usr/src/a/
[sense@ssn src] patchp1</home/sense/patch2.6.19.1[sense@ssnsrc] patch -p1 -R < /home/sense/patch-2.6.19.1 卸载补丁
和a/arch/i386/同目录时:
[sense@ssn src] pwd/usr/src/a/arch/[sense@ssnsrc] patch -p2 < /home/sense/patch-2.6.19.1 安装补丁
[sense@ssn src]$ patch -p2 -R < /home/sense/patch-2.6.19.1 卸载补丁

小结:

-p后的数值与2个路径有关:
1. 当前所在路径;
2. patch文件首的打patch的源文件指示路径。
!!!与patch文件所在路径无关。
找到当前路径下的源码根目录,再与patch文件首打patch的源码目录进行比对,该目录名之前的目录个数就是-p后面的数值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值