你的软件是通过编译开源软件安装好的,如果开源软件出了新版本,你如何更新你安装了的软件到新版本?
最简单的做法是下载新的版本,重新configure, make再install; 但它的缺点有:
1. 下载新版本的所有文件比较耗时
2. 重新configure意味着原有的配置会丢失,所以要预先整理出来,再configure一次;这样做很容易出错
另一种做法就是使用patch法。所谓patch,指的是版本更新中,具体改变了的代码内容(具体到行);把这个内容存为patch文件,再将这个文件以某个命令“打”到你原来的源码文件中,把它变成新的文件。也就是说,只更新需要更新的代码,同时,保留原来的config;等patch打好了,再进行编译和安装。
这里隐含了一个前提,即你上次安装软件时使用的源码在configure之后不会删掉。
总结一下步骤:
1. 安装1.0版的开源软件
a. 下载1.0版: xxx.1.0.tar.gz
b. 解压它到一个正式的目录中,一般是 /usr/local/src/xxx
c. configure
d. make
e. make install
2. 开源软件商放出1.01版,并提供了patch文件 xxx.patch.1.01
3. 升级到 1.01
a. 下载patch文件
b. 进入到 /usr/local/src/xxx, 打上补丁 xxx.patch.1.01
c. make
d. make install
更漂亮的叙述可见《鸟哥的私房菜》:
http://linux-vbird.bluedata.org/linux_base/0520source_code_and_tarball.htm