科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道如何给类unix操作系统打补丁

如何给类unix操作系统打补丁

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果你现在还不懂得如何给类unix操作系统打补丁,那没有关系,我们就一起来试试,因为在刚开始写这篇文章的时候,我也不会给自己的程序打补丁。

作者:51CTO.COM 2007年10月18日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  本质上制作补丁程序只有两个步骤,如下描述:

  a) 在计算机A上产生一个补丁文件(计算机A就是那台既有新内核的源代码又有老内核的源代码的计算机)。并且将这个补丁文件复制到一张软盘上。

  b) 在计算机B上读取保存有补丁文件的软盘,并利用补丁文件将计算机B上的旧内核升级为新的内核。

  下面我们进行详细的说明。其中第1到第4步描述了怎样制作一个补丁文件,并把它复制到软盘上。第5到第6步描述了怎么样使用补丁文件将旧的操作系统内核升级到新的版本。

  *****************************************************************************

  第1步:清理两个内核的源代码文件(没有*.o的文件或者.*文件)

  *****************************************************************************

  我们假定这两个内核的源代码路径分别是:

  /usr/src/linux-2.4.5kh2和/usr/src/linux-2.4.5kh3

  运行如下命令:

  cd /usr/src/linux-2.4.5kh2

  make distclean

  cd /usr/src/linux-2.4.5kh3

  make distclean

  *****************************************************************************

  第2步:在两个内核源代码版本之间产生一个“context diffs”文件(这个文件指明了两个不同版本源代码之间的所有不同)。

  *****************************************************************************

  运行如下命令(首先是旧的内核,然后是新的内核):

  cd /usr/src

  diff -ruN linux-2.4.5kh2 linux-2.4.5kh3 >patch-2.4.5kh3

  *****************************************************************************

  第3步:检查补丁文件。

  *****************************************************************************

  运行如下命令查看补丁文件以确定它没有包含任何的垃圾:

  less patch-2.4.5kh3

  这里所说的垃圾就是非ASCI码的乱码,或控制字符。如果发现补丁文件中存在着不是文本的内容,那就是有垃圾了。这是我们需要重新操作第1至第3步

  *****************************************************************************

  第4步:将补丁文件复制到一张软盘上。

  *****************************************************************************

  mount /flp

  cp /usr/src/patch-2.4.5kh3 /flp

  umount /flp

  由于我们的补丁文件一般都很小,所以我们不需要压缩它。现在我们拿着这张带有补丁程序的软盘转移到计算机B前面去。

  *****************************************************************************

  第5步:从软盘中读取补丁文件。

  *****************************************************************************

  cd /usr/src

  mount /flp

  cp /flp/patch-2.4.5kh3 patch-2.4.5kh3

  umount /flp

  *****************************************************************************

  第6步:使用这个补丁文件将旧内核的源代码升级到新内核的版本。

  *****************************************************************************

  a) 执行奇妙的patch命令:

  patch -p0

  patch命令作用在输入的补丁文件patch-2.4.5kh3上,并将对应的老版本的内核源代码中所有的文件和子目录升级到对应的新版本(当然这里的老版本一定要和我们在计算机A上运行diff命令时的那个老版本是一样的)。在我们的例子中,旧的内核源代码版本是Linux-2.4.5kh2。这里参数–p0用来保证文件名不被改变(既不被修改,也不被删除)。

  b) 重新命名内核源代码:

  mv linux-2.4.5kh2 linux-2.4.5kh3

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章