为Centos系统打补丁
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
为Centos系统打补丁的更多相关文章
- CentOS系统-常用组件安装
1,安装系统后,补装包组yum groupinstall "Compatibility libraries" "Base" "Development ...
- centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides "*/vim" 第十节课
centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides "*/vim" 第十节课 你不能保证可逆化操 ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
- Net分布式系统之二:CentOS系统搭建Nginx负载均衡
一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- CentOS系统操作mysql的常用命令
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...
- Linux(centos)系统各个目录的作用详解
Linux(centos)系统各个目录的作用详解 文件系统的类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码 ...
- 烂泥:【解决】Ubuntu下使用SSH连接centos系统很慢
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天在Ubuntu下使用SSH连接centos系统,发现连接很慢.建议一个连接大约需要30s.很是坑爹,如下: 后来查询相关资料,发现这个是Ubunt ...
- win10系统更新补丁时进度条一直卡在0%不动的解决方案
为了能够让win10系统更加安全稳定,很多用户都会时不时为自己的电脑安装补丁.不过,部分用户在为win10系统更新补丁时,却会遇到进度条一直卡在0%不动的问题.这该怎么办呢?下面,小编就告诉大家解决该 ...
随机推荐
- 使用gulp搭建项目
项目源码地址 前期准备工作 首先确保本机安装了 node gulp中文文档 安装 gulp 命令行工具 npm install --global gulp-cli 在项目目录下创建 package.j ...
- sed -i 's/Search_String/Replacement_String/g' Input_File sed详细手册
本文列出的十五个例子可以帮助你掌握 sed 命令.如果要使用 sed 命令删除文件中的行,去下面的文章.注意:由于这是一篇演示文章,我们使用不带 -i 选项的 sed 命令,该选项会在 Linux 终 ...
- 从CentOS7默认安装的/home中转移空间到根目录/ - LVM操作简明教程
一.基础概念 Cent0S 7默认启用LVM2(Logical Volume Manager),把机器的一块硬盘分为两个区sda1和sda2,其中分区sda1作为系统盘/boot挂载,少量空间:sda ...
- LNMP/LAMP
LNMP/LAMP 环境: 名称 Linux Nginx MySQL PHP Apache 版本 Centos7 nginx-1.14.1 mysql-5.6.25 php-5.6.36 Apache ...
- 用JILINK 下载HEX文件
https://wenku.baidu.com/view/f51300f55f0e7cd1842536e1.html
- 遇到问题 DS1302读取数据有问题
读出的数据 错误的原因 是因为 DS1302的初始化函数中 移植的时候 没有改要使能的端口号 但是我的板子用另一个(如下的工程单独下载进板子后可以运行)还是可以用的 原因是 而我那个 读数据全为 ...
- Navigation DialogFragment展示dialog
如果按照一般fragment的写法: 在nav_config中 <fragment android:id="@+id/fragment_crime_detail" andro ...
- WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。
在WPF中,经常使用Grid容器,来布局我们想要显示的对象. 这就不可避免的要和布局在其中的控件的VerticalAlignment特性,HorizonAlignment特性,以及Magin特性打交道 ...
- 对狂神说的MybatisPlus的学习总结
1.什么是MybatisPlus? 需要的基础:spring,spring mvc,mybatis 作用:可以节省大量的工作时间,所有的CRUD代码都可以自动完成,简化Mybatis MyBatis- ...
- 批量执行异步任务CompletionService
批量执行异步任务CompletionService 核心思想,就是将异步结果放入到阻塞队列中,然后再消费队列,实现异步任务批量执行 接口方法说明 Future<V> submit(Call ...