你好,游客 登录 注册 搜索
背景:
阅读新闻

为linux内核打补丁的方法

[日期:2006-10-09] 来源:  作者: [字体: ]
下面展示了你可以怎样一步就可以从2.6.12.2到达2.6.12.3
interdiff -z ../patch-2.6.12.2.bz2 ../patch-2.6.12.3.gz | patch -p1
尽管interdiff可以节省一到两步,但是我还是建议你通常情况下应该做这些附加的步骤,
这是由于在某些情况下interdiff会把事情弄糟。
另外的一个替代品是“ketchup”,是一个使用python写的脚本,这个脚本可以自动下载和
打上一些补丁(http://www.selenic.com/ketchup/).
另外一些比较好的工具是diffstat,可以显示patch所作的所有改变的总结;lsdiff,可以显示
在一个patch文件中受影响的文件的简短列表,以及(可选)每一个补丁的行号码;grepdiff,可
以显示在补丁包含给定的正则表达式的时候显示一个被补丁文件修改的文件的列表。
我可以从哪儿下载这些补丁?
-----------------------
file:///D|/applying-patches.txt(第 4/9 页)2006-8-15 18:22:12
file:///D|/applying-patches.txt
补丁文件可以从http://kernel.org/来获得
最近的补丁文件可以从首页的链接中得到,但是他们也有自己的特定的主页。
2.6.x.y(-稳定)以及2.6.x补丁位于:
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
-rc补丁位于:
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/
-git补丁位于:
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/
-mm内核补丁位于:
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/
ftp.kernel.org中,你可以使用ftp.cc.kernel.org,这里cc是一个国家的代码。这样你就可以从一个
在地理上离你比较近的位置的镜像站点下载,从而使你获得较快的下载速度,全局上更少的带宽以及
对于kernel.org主服务器的更小的压力---这是比较好的事情,所以你还是在可能的时候使用这些镜像
站点。
2.6.x内核
---------
这是Linus发布的基础稳定版本.发布的最高版本是最新的。
如果发现了冲突或者严重的瑕疵,那么在这个基础上,一个-stable的修正补丁就会被发布
出来(参见下面)。一旦一个新的2.6.x的基础内核发布出来,就可以得到一个测试版本的补丁
,这个补丁基于先前的2.6.x版本内核和这个新的内核。
为了应用一个从2.6.11到2.6.12的补丁,你最好按照下面来做(注意这些补丁不能应用于2.6.x.y的内核,
而是应用在2.6.x的基础内核---如果你需要从2.6.x.y到2.6.x+1,那么你首先需要卸载掉2.6.x.y的补丁)
下面是一些例子:
#从2.6.11到2.6.12
$ cd ~/linux-2.6.11 # 切换到内核源代码目录
$ patch -p1 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/incr/.
这些补丁不是增量式的,意味着例如对于2.6.12.3补丁不能应用于2.6.12.2的内核源代码
上去,但是可以应用在2.6.12内核代码上。
因此,为了为了把2.6.12.3的补丁应用到你使用的2.6.12.2的内核源代码上,你不得不卸载掉
2.5.12.2补丁(因此你可以得到一个基础的2.6.12的内核源代码),并且应用新的2.6.12.3补丁。
下面是一个小例子:
$ cd ~/linux-2.6.12.2 # 切换到内核源代码目录
$ patch -p1 -R linux
相关资讯      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款