所谓的补丁文件就是新文件和旧文件的差异文件。
使用两台主机模拟软件的开发与安装:
Va主机:相当于客户端安装程序
Vb主机:开发程序
source1相当于文件的第一个版本
source2相当于文件的第二个版本
版本1:(在Vb上开发)
版本2:(在Vb上开发)
与版本1相比多了两个文件hello.txt,oo.txt
将版本1通过scp发送给Va主机
在Vb上创建补丁文件(差异文件)
diff [选项] 旧版本 新版本
diff -uNra source2/ source1/ > diff.pacth #补丁文件一般用.patch结尾
# -u表示输出信息到屏幕
# -N无文件视为空文件:版本1中没有oo.txt这个文件,版本2中有,假装版本1中有oo.txt这个文件,把这个文件视为空,便于生成差异文件。
# -r表示地柜比较
# -a表示所有文件视为文本文件(二进制文件也视为文本)
# 创建补丁文件(差异文件)通常使用这个四个选项
将补丁文件发送给Va主机:
在Va主机上打补丁:
yum -y install patch
patch -pX < 补丁文件 # X是数字,代表删除补丁文件中目录前缀个数
# 或者是当前执行路径和补丁文件中目录重合的个数,从/ 开始计算
# 虚拟机上没有patch这个源,在阿里云上执行了,目录是一样的/var/ftp/pro
patch命令是在/var/ftp/pro下执行的
diff.patch文件中的路径是 source1/
相同的目录个数为0
因此是 patch -p0
source1中的目录和Va上的source2的目录相同,文件也相同,表示打补丁成功
写总结的第六十五天!!!