个人打patch示范

/root/下先创建几个递归目录用来存在打patch所需的文件:
[root@bogon ~]#mkdir -p yan/hai/qing
向文件中输入数据:
[root@bogon ~]# echo 11111 >> yan/hai/qing/one.txt 【假设这是原来的数据】
[root@bogon ~]# echo 1111122222 >> yan/hai/qing/two.txt 【假设这个是CVE升级后的数据】
diff -Nurp查看下两个文件的不同:
[root@bogon ~]# diff -Nurp yan/hai/qing/one.txt yan/hai/qing/two.txt

diff -Nurp在当前目录下/roo下面打patch
[root@bogon ~]# diff -Nurp yan/hai/qing/one.txt yan/hai/qing/two.txt > CVE-03-10.patch

删除(CVE升级后的数据)two.txt默认真是环境:
[root@bogon ~]# rm -rf yan/hai/qing/two.txt

使patch生效:
[root@bogon ~]# cat CVE-03-10.patch
— yan/hai/qing/one.txt 2020-03-10 10:30:52.649330270 -0400
+++ yan/hai/qing/two.txt 2020-03-10 10:31:08.694201383 -0400
@@ -1 +1 @@
-11111
+1111122222
[root@bogon ~]# patch -p0 < CVE-03-10.patch
patching file yan/hai/qing/one.txt #patch打成功了
[root@bogon ~]# cat yan/hai/qing/one.txt
1111122222 #说明patch已经打进去了
【注意】— yan/hai/qing/one.txt
P0:表示从当前目录下,寻找yan目录,在yan目录下寻找hai目录,以此类推找到one.txt文件
P1:表示忽略当前目录下的yan目录,跳过yan,从hai下面找qing目录,再找one.txt文件


在这里以实例说明:
— old/modules/pcitable Mon Sep 27 11:03:56 1999
+++ new/modules/pcitable Tue Dec 19 20:05:41 2000
如果使用参数-p0,那就表示从当前目录找一个叫做old的文件夹,在它下面寻找modules下的pcitable文件来执行patch操作。
如果使用参数-p1, 那就表示忽略第一层目录(即不管old),从当前目录寻找modules的文件夹,在它下面找pcitable。这样的前提是当前目 录必须为modules所在的目录。而diff补丁文件则可以在任意位置,只要指明了diff补丁文件的路径就可以了。当然,可以用相对路径,也可以用绝 对路径。不过我一般习惯用相对路径。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值