您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux的补丁知识

添加时间:2010-11-16  添加: admin 

补丁的工作方式

    “补丁(patch)”是描述某个文件两个不同版本之间区别的文件。程序 diff 会逐行比较原始文件与新文件,并以特定格式向标准输出打印这些区别。程序 patch 可以读取 diff 的输出,并将那些改变应用于原始文件的另一个拷贝。(注意,“补丁”一词既涉及 diff 命令的输出,也涉及应用那个补丁的命令。)例如:


$ cat old/file.txt
This
is
a
simple
file.
$ cat new/file.txt
This
is
a
slightly more complex
file.
$ diff -uNr old new
diff -uNr old/file.txt new/file.txt
--- old/file.txt Tue May 28 23:00:21 2002
+++ new/file.txt Tue May 28 23:01:01 2002
@@ -1,5 +1,5 @@
This
is
a
-simple
+slightly more complex
file.

 

    可见,两个文件只有一行的区别。在命令行中列出的来自第 一个文件的那一行显示时在最前有一个“-”,接下来是来自第二个文件的那一行,在命令行中显示时最前而有一个“+”。直观上,是从旧文件中“减去 (subtracting)”那一行,并“添加”来自新文件的那一行。记住,旧文件总是先出现,然后是较新的文件。

现在,让我们来应用刚刚创建的补丁。补丁会将较旧版本的文件更新为较新版本的文件,所以我们应该对文件的较旧的版本应用补丁。


$ diff -uNr old new > patchfile
$ cd old
$ patch -p1 < ../patchfile
patching file file.txt
$ cat file.txt
This
is
a
slightly more complex
file.

 

    使用 patch 命令应用了 diff 命令的输出后,“旧”文件现在与“新”文件相同。

应用补丁

     接下来我们将学习如何应用补丁。需要应用某个补丁的一个常见的原因是为了获得一个特定的内核版本,它不能从 ftp.kernel.org 作为一个大的 tarball 下载得到 —— 或者是为了获得一个增量的补丁,这样当大部分内核文件仍然相同时就不必去下载整个新内核。

内核补丁的命名和创建标准不是特别简单。假定出于某种原因您需要得到内核 2.6.9-rc4,而当前已经拥有版本 2.6.7 的完整的内核源代码。为了从 2.6.7 升级到 2.6.9-rc4 需要下载下列补丁:

2.6.72.6.8

2.6.82.6.9-rc4

    每一个 prepatch(两个主版本之间的补丁,称作 patch-2.6.x-rcN,通常可以在 ftp 站点上名为 testing 的目录中找到)都是针对前一个主版本的变化而创建的。常见的错误是下载了内核版本 2.6.9,然后却尝试应用 2.6.9-rc4 prepatch。如果想要得到内核版本 2.6.9-rc4,应该下载内核 2.6.8,然后应用 2.6.9-rc4 prepatch。这是因为 2.6.9-rc42.6.9 的前身,不能颠倒。注意:命名的惯例和内核 prepatches 的位置会经常发生变化。可能不得不去阅读 linux-内核邮件列表来得知最新补丁的保存位置及它们的名称。

官方内核补丁的实现都支持您只需进行如下操作:

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站