没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
怎样为 Linux 内核打补丁
在 Linux 内核邮件列表中一个经常被问到的问题就是怎样为 Linux 内核打一个补丁,或者
更具体一点说,存在这么多的主干/分支,一个补丁到底要打在哪个版本的基础内核上。希
望这篇文档能够为你解释明白这一点。除了解释怎样应用以及卸载补丁以外,在这里还提
供了一个不同内核树(以及如何为它们打上特定补丁)的简要介绍。
linux 内核版本号的含义是什么?
------
所有的 Linux 核心包含由点隔开的三个数字。第一个数是核心的版本。我们现在是第三版
(2.),一些人可能使用版本号为 1 的核心,可能还有少数人版本为 0 核心。第二个号码
是核心的主号,主号也是数字(包括 0)表示稳定性。一般上偶数表示稳定的版本;奇数
表示不稳定的版本。最后一个号码是次号它因每一次改动而增加。如果你看到核心版本
2.0.8,你知道它是核心 2.0,稳定的核心,它已经是第九次发表了(我们从零开始记数)。
什么是补丁?
----------------
一个补丁就是一个文本文档,这个文档包含了在两个不同版本的源代码树之间的变化。
补丁是通过 diff 应用程序来创建的。为了正确地打上一个补丁,你需要知道这个补丁是从
哪个基础版本产生出来的以及这个补丁将要把目前的源代码树变化到什么新的版本。这些
信息或者会出现在补丁文件的原数据中,或者可能从文件名中推断出来。
怎样打补丁和卸载补丁
------------------------------
可以使用 patch 程序来打一个补丁。patch 程序读取一个 diff(或者 patch)文件,然后把文件
中描述的变化内容应用到代码树上。
Linux 内核中的补丁是相对于保存内核源代码目录的父目录而生成的。
这就意味着:patch 文件中的文件路径包含了它所基于的内核源文件目录的名字(或者像
是"a/"和"b/"
之类的其它名字)。由于这很可能和你本地机器上的内核源代码目录的名字不匹配(但是对
于查看一个没有标签的补丁所基于的内核版本是非常有用的)。你应该切换到你的内核源代
码目录,并且在打补丁的时候去掉 patch 中文件名字路径的第一个分量(patch 命令的-p1 参
数可以完成这个任务)。为了卸载掉一个以前已经打上的补丁,使用-R 参数来打补丁。
于是,如果你使用如下的命令来打补丁:
patch -p1 < ../patch-x.y.z
那么你可以像下面这样来卸载掉这个补丁:
patch -R -p1 < ../patch-x.y.z
我怎样把一个 patch/diff 文件加到一个 patch 中去?
-----------------------------------------------------------------
这个可以通过很多种不同的方法来办到(像是 Linux 以及其它的类 Unix 操作系统一样)。
在下面所有的例子中,我把这个文件(未压缩)以下面的语法通过标准输入加入到 patch 中:
patch -p1 < path/to/patch-x.y.z 如果你只是想能够照着下面的例子而并不想知道其它的打
补丁的方法的话,那么你就可以不阅读这一节余下的内容了。
也可以通过 patch 的-i 参数来获得文件的名字,就像下面这样:
patch -p1 -i path/to/patch-x.y.z
资源评论
- weixin_436770242021-09-22确实没什么用,不建议下载
- jasonxing39382017-04-05好像没什么用,不过还是谢谢了
戢武王
- 粉丝: 1
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功