方法:
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的内容已经一致,说明打补丁成功。
在 CentOS/RHEL7 系统上配置自动安全更新在 CentOS/RHEL 7/6 系统上,你需要安装下面的安装包:# yum update -y yum install yum-cron -y安装完成以后,打开/etc/yum/yum-cron.conf,然后找到下面这些行内容,你必须确保它们的值和下面展示的一样update_messages = yesdownload_updates = yesapply_updates = yes第一行表明自动更新命令行应该像这样:# yum --security upgrade而其它的行保证了能够通知并自动下载、安装安全升级。为了使来自 root@localhost 的通知能够通过邮件发送给同一账户(再次说明,你可以选择其他账户,如果你想这样的话),下面这些行也是必须的。 《Linux就该这么学》 一起学习linuxemit_via = emailemail_from = root@localhostemail_to = root在 CentOS/RHEL 6 上启用自动安全更新默认情况下, cron 任务被配置成了立即下载并安装所有更新,但是我们可以通过在 /etc/sysconfig/yum-cron 配置文件中把下面两个参数改为yes,从而改变这种行为。# 不要安装,只做检查(有效值: yes|no)CHECK_ONLY=yes# 不要安装,只做检查和下载(有效值: yes|no)# 要求 CHECK_ONLY=yes(先要检查后才可以知道要下载什么)DOWNLOAD_ONLY=yes为了启用关于安装包更新的邮件通知,你需要把MAILTO 参数设置为一个有效的邮件地址。# 默认情况下 MAILTO 是没有设置的,crond 会将输出发送邮件给自己# (执行 cron 的用户,这里是 root)# 例子: MAILTO=rootMAILTO=admin@tecmint.com最后,打开并启用yum-cron 服务:------------- On CentOS/RHEL 7 -------------systemctl start yum-cronsystemctl enable yum-cron------------- On CentOS/RHEL 6 -------------# service yum-cron start# chkconfig --level 35 yum-cron on恭喜你,你已经成功的在 CentOS/RHEL 7/6 系统上设置了自动升级。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)