linux下通过代码补丁升级开源软件

你的软件是通过编译开源软件安装好的,如果开源软件出了新版本,你如何更新你安装了的软件到新版本?

最简单的做法是下载新的版本,重新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

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.