4.1、操作系统打补丁:

1、centos更新说明:

centos 官方没有发布关于centos操作系统的补丁。

centos 操作系统更新可以参考如下建议。

2、更新操作系统软件包,操作系统版本、内核版本:

yum update

等价于

yum upgrade

3、根据需求更新软件包:

# 检查可更新的软件包

yum check-update

# 根据可更新软件包列表,安装自己需要的软件包

yum install <package_name>

4、只更新软件包,不更系统版本和系统内核:

yum --exclude=kernel* --exclude=centos-release* update

4.2、使用patch命令给软件包打补丁,适用于名称相同文件的操作:

1、创建实验环境:

[root@controlnode ~]# mkdir -p /tools/ && cd /tools/

[root@controlnode tools]# mkdir demo/ && cd demo/

[root@controlnode demo]# mkdir -p old/a/b/

[root@controlnode demo]# mkdir -p new/a/b/

[root@controlnode demo]# vim old/a/b/foo.txt

old_line_1

old_line_2

[root@controlnode demo]# vim new/a/b/foo.txt

new_line_1

new_line_2

2、制作补丁:old目录和new目录数据保持一致,把对old目录需要做的操作记录下来:

[root@controlnode demo]# diff -Naur old/ new/ > foo.patch

3、查看补丁文件:

[root@controlnode demo]# cat foo.patch

diff -Naur old/a/b/foo.txt new/a/b/foo.txt

--- old/a/b/foo.txt 2020-08-11 23:03:27.006968726 +0800

+++ new/a/b/foo.txt 2020-08-11 23:03:50.258730620 +0800

@@ -1,2 +1,2 @@

-old_line_1

-old_line_2

+new_line_1

+new_line_2

4、应用补丁:

[root@controlnode demo]# patch -p0 < foo.patch

patching file old/a/b/foo.txt

[root@controlnode demo]# cat old/a/b/foo.txt

new_line_1

new_line_2

等价于

[root@controlnode old]# pwd

/tools/demo/old

[root@controlnode old]# patch -p1 < ../foo.patch

等价于

[root@controlnode a]# pwd

/tools/demo/old/a

[root@controlnode a]# patch -p2 < ../../foo.patch

5、patch 补充:

(1)参数说明:

-pn:p为path的缩写,n指将patch文件里的path第n条'/'及其左边部分取消

-R:卸载patch包

--dry-run:尝试patch软件,并不真正改动软件

(2)如果打过补丁再次使用patch命令,系统会问你是否想还原回去:

1)patch -p0 < foo.patch

patching file old/a/b/foo.txt

Reversed (or previously applied) patch detected! Assume -R? [n] y

2)查看一下目标文件,你会发现内容已经还原成旧的了

# cat old/a/b/foo.txt

old_line_1

old_line_2

3)如果你想严格指定是应用补丁可以使用下面命令(就是增加N参数)

# patch -Np0 < foo.patch

4)如果你想严格指定是还原补丁可以使用下面命令(就是增加R参数)

# patch -Rp0 < foo.patch

最新文章

  1. AngularJs之七
  2. js通过注册表找到本地软件安装路径并且执行
  3. flush和reflush
  4. Expected MultipartHttpServletRequest: is a MultipartResolver configured?
  5. C++基本数据类型解惑
  6. 【HTML XHTML CSS基础教程(第6版)】笔记之CSS笔记(7~25章)
  7. poj 2528 线段树 离散化的小技巧
  8. select random item with weight 根据权重随机选出
  9. 【测试环境】java|jdk|ant
  10. UVA 400 Unix ls by sixleaves
  11. Delphi XE2 升级项目编译ralease版本,无法添加UAC解决方法
  12. (转)Unity3D移动平台动态读取外部文件全解析
  13. HDU 3584 Cube(三位树状数组)
  14. UWP ListView下模板宽度问题
  15. dynamic programming 学习
  16. ●Joyoi Normal
  17. jQuery之CSS选择器的处理机制
  18. 【391】栈与队列,Python实现
  19. 【拾遗】理解Javascript中的Arguments
  20. [Windows Azure] Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5.

热门文章

  1. dpkg -S {file} #ubuntu 14.04 rpm -qf {file} #centos 7
  2. STM32SD卡 (U盘)IAP升级
  3. Qt 搜索框
  4. 圆盘时钟效果 原生JS
  5. kotlin知识点
  6. 企业微信三种token
  7. docker私有仓库搭建及使用
  8. 十一、.net core(.NET 6)搭建ElasticSearch(ES)系列之ElasticSearch、head-master、Kibana环境搭建
  9. Guava-retry,java重试组件
  10. Jmeter(五十) - 从入门到精通高级篇 - jmeter 之模拟弱网进行测试(详解教程)