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系统打补丁相关推荐

  1. 有针对linux系统的补丁吗,Linux用户的注意了 有两个补丁需要你打一下

    原标题:Linux用户的注意了 有两个补丁需要你打一下 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. SMB协议则能够为局域网内的不同设备之间提供文 ...

  2. linux系统漏洞补丁包,RedHat 5.X、6.X Bash漏洞RPM补丁包下载

    RedHat 5.X.6.X Bash漏洞RPM补丁包下载及教程. 首先查看服务器的BASH版本号: bash -version 如果BASH版本是4.X的64位系统的话,安装bash-4.1.2-1 ...

  3. linux如何检查系统补丁,找出linux系统没有的补丁

    找出linux系统没有的补丁 发布时间:2007-11-21 12:48:36来源:红联作者:Fedoraai 同学先用了一个perl程序,把ftp.kernl.org上的补丁目录读取在一个文件lis ...

  4. Linux系统守护进程详解

    文中有不对或者有不清楚的地方,请大家告诉我,谢谢!   Linux系统守护进程详解 不要关闭下面这几个服务: acpid, haldaemon, messagebus, klogd, network, ...

  5. 【转】流言终结者:Windows系统与Linux系统之间的8个流言

    如果你在业务中使用Linux会让你感到紧张,很有可能你已经被Linux的竞争对手引入到一个或者多个的骗局当中.毕竟每增多一个Linux用户就意味着竞争对手将少一个客户.今天就盘点了八项Linux传言, ...

  6. linux中yum进程占cpu百分之九十,在Deepin Linux系统中kworker进程占用CPU达到100%的解决...

    如果你在Deepin Linux.Debian.Ubuntu系统中遇到kworker进程占用CPU达到100%,可以用以下解决方法解决问题,本文主要内容为问题起因.microcode介绍.解决方法及总 ...

  7. linux系统之centos/ubuntu选择

    [说明] 作为linux系统学习新手,在刚开始接触linux系统时对于系统自身不了解往往对于centos/ubuntu的选择犯难了,本篇短文主要说明一下centos/ubuntu的区别和大家在选择时提 ...

  8. 打造LINUX系统安全(早期学习笔记)

    1.LILO安全设置 vi /etc/lilo.conf.anaconda      //修改LILO文件=============================================== ...

  9. 装linux系统时键盘用不了怎么办_图吧垃圾佬的LINUX体验

    图吧垃圾佬的LINUX体验并不舒服 最近呢因为要搞树莓派(并没有,其实是还是之前无意中发现MAC对EPSON打印机的驱动效果可以在打印多页纸的时候不掉速所以会想要在台式机上用别的系统试试看驱动打印机) ...

最新文章

  1. Ubuntu 忘记root登录密码的解决办法
  2. 在Windows下安装配置OpenCV-Python-PyCharm开发环境
  3. thinkphp3.0部分总结
  4. java 唯一id生成算法_分布式全局唯一ID生成方案之snowflake算法
  5. 不要和Java“结婚”
  6. [Python学习] 专题二.条件语句和循环语句的基础知识
  7. 创建QT项目只有一个pro文件
  8. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解
  9. C链表(顺序表、静态链表区别)
  10. [OpenGL ES 02]OpenGL ES渲染管线与着色器
  11. 百度进军游戏;腾讯起诉抄袭者;苹果急撤 watchOS 5.1 更新 | 极客头条
  12. mockito 静态方法_Mockito模拟静态方法– PowerMock
  13. C语言课程设计:学生管理系统
  14. 中播放*.mid格式及其它格式的音乐
  15. Java面试知识点汇总
  16. JGG | 江南大学翟齐啸组解析肠道益生菌体外免疫刺激活性的种属依赖性
  17. 海思HI35xx平台软件开发快速入门之H264解码实例
  18. token验证的方法
  19. 台式计算机网线插哪里,电脑主机网线插哪里?
  20. 人工智能课程实训方案

热门文章

  1. Codeforces——791A Bear and Big Brother
  2. tf.nn.conv2d()函数详解(strides与padding的关系)
  3. NightWatch启动chrome时,弹出设置页面:Microsoft Windows恶意删除工具...
  4. 【ZHYP005】子涵优品开发日志
  5. Ansys-静力学分析-薄壁圆筒学习心得
  6. http上传文件 pda java_通过HTTP协议上传文件
  7. ahri8.php,文件上传处理 - [ php中文手册 ] - 在线原生手册 - php中文网
  8. win10不让桌面上显示宽带连接服务器,win10系统宽带连接放在桌面的操作方法
  9. 倭黑猩猩优化器(Bonobo Optimizer, BO)
  10. 安装oracle11g数据库