linux打多个补丁命令 linux 系统补丁

【转载】如何为Linux生成和打上patch

在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份. diff命令必须在整个Linux源码的根目录的上一级目录中执行. 1. 为单个文件生成补丁 diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c 这条命令会产生类似如下的输出, 你将它重定向到一个文件中, 这个文件就是patch. @@ -1050,11 +1050,11 @@ svc_process(struct svc_rqst *rqstp)参数详解:-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息. -p 显示代码所在的c函数的信息. 2. 为多个文件生成补丁 diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ 这条命令对比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/两个目录的源码差异. 不像只需要单个文件, 如果修改多个文件, 那么就需要拷贝整个Linux源码树. 参数详解:-r 递归地对比一个目录和它的所有子目录(即整个目录树).

海东网站建设公司创新互联建站,海东网站设计制作,有大型网站制作公司丰富经验。已为海东1000多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的海东做网站的公司定做!

linux 如何制作补丁

diff 命令

diff -Nur file.old file.new xxx.patch

打补丁 patch -R -P[num] xxx.patch

git diff 命令 现在都在用版本管理,git 是很不错的工具

git format-patch HEAD 上一次提交的补丁

git format-patch commit1..commit2 提交点1 到 提交点2 之间所有的补丁

建议你学习git 版本管理

linuxos7.6打补丁

linux系统打补丁常用的方式很多,如果是联网的情况下,直接使用yum update命令即可。如果没有联网或者有特殊的情况也可以使用diff 和patch命令来打补丁。

方法:

1、生成补丁

补丁⽂件是使用diff命令⽣成的,⽣成补丁⽂件的命令使⽤格式如下:

diff -uNr oldfile newfile patch_file.patch

diff命令,它的功能就是逐⾏⽐较两个⽂件的不同,然后输出⽐较的结果输出到补丁文件。

参数解析:

-u:选项以统⼀格式创建补丁⽂件,这种格式⽐缺省格式更紧凑些

-N:选项确保补丁⽂件将正确地处理已经创建和删除⽂件的情况

-r:递归选项,设置了这个选项,会将两个不同版本源代码⽬录中的所有对应⽂件全部都进⾏⼀次⽐较,包括⼦⽬录⽂件

oldfile:源⽂件(⽬录),未进⾏修改的

newfile:以oldfile为基础,根据需求对⾥⾯的⽂件内容修改之后结果

patch_file.patch补丁文件⼀般以.patch为后缀。

注解:

补丁命令的功能就是逐个⽐较源⽂件(夹)和⽬标⽂件(夹)的所有⽂件,将差异信息记录到patch_file.patch中。下面对补丁文件内容进行讲解:

补丁头部分:

1、--- test1.txt 表示源文件(被修改的文件)

2、+++ test2.txt 表示目的文件

块部分(@@ @@ 表示一个块的开始):

3、@@ -1,3 表示源文件从第1行开始,一共有3行有差异

4、@@ 1,3 表示目的文件从第1行开始,一共有3行有差异

正文:

5、-zzzzzxxccv 表示被修改的文件要删除这一行

6、+bbbbbbbbgd表示被修改的文件要增加这一行

2、打补丁

打补丁是通过patch命令完成的。⼀般情况下,打补丁命令使⽤格式如下(这⾥只介绍了对源⽂件(夹)进⾏打补丁操作):

patch -pN xxx.patch

参数解析:

-pN:选项打补丁时要忽略掉第N层⽬录。

举个例子: 如果补丁文件包含路径名称 /curds/whey/src/blurfl/blurfl.c,那么:

-p 0 使用完整路径名

-p 1 除去前导斜杠,留下 curds/whey/src/blurfl/blurfl.c。

-p 4 除去前导斜杠和前三个目录,留下 blurfl/blurfl.c。

下面给大家举个例子:

1、在/tmp目录下创建test1.txt ,并查看文件内容

2、同样在/tmp目录下创建test2.txt,并查看文件内容

3、制作补丁,并检查补丁内容

4、打补丁

5、检查test1.txt打补丁是否成功,内容是否被修改

此时可以看到test1.txt 和test2.txt的内容已经一致,说明打补丁成功。

linux 怎么打补丁

;     linux打补丁总共有四个步骤,具体操作如下:

1、首先登录VMware上安装的一台centos主机,网络处于联网状态,命令一般为cat/etc/redhat-release。

2、然后在终端上输入yumupdate,按下回车,就会开始进行版本包的下载和依赖分析。

3、一般会提示是否确认下载,输入“y”确认,即可开始下载,并且能够看到下载的百分比。

4、如果出现complete则说明软件和补丁已经更新完成了。

以上就是的分享了,希望能够帮助到大家。

本文章基于ThinkpadE15品牌、centos7系统撰写的。


网站标题:linux打多个补丁命令 linux 系统补丁
分享链接:http://hbruida.cn/article/doshdoi.html