RHEL 5:无法应用补丁

时间:2012-10-21 08:55:15

标签: linux rhel

我正在关注此WebSite,以便在Memcached1.4.5上安装repcache

http://forums.famillecollet.com/viewtopic.php?id=252

最初我下载了这个repcached-2.3-1.4.5.patch.gz

我正在使用RHEL5

然后我跑

gunzip repcached-2.3-1.4.5.patch.gz

它生成了一个名为repcached-2.3-1.4.5.patch

的文件

然后执行

patch -p1 -i repcached-2.3-1.4.5.patch

开始制作

patching file ChangeLog.repcached
can't find file to patch at input line 66
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -urN memcached-1.4.5/Makefile.am memcached-1.4.5-repcached-2.3/Makefile.am
|--- memcached-1.4.5/Makefile.am        Sat Apr  3 11:07:16 2010
|+++ memcached-1.4.5-repcached-2.3/Makefile.am  Thu Feb 11 19:51:30 2010
--------------------------
File to patch: 

请参阅上面的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:1)

如果我看到了这一点,你正试图用源代码补丁修补二进制rpm包。这显然无法奏效。

您可以尝试使用源rpm而不是二进制rpm来执行此操作。源rpm是用于生成可安装的二进制rpm包的“源包”。它通常称为somesoftware-xxx.src.rpm。如果您安装了这样的源rpm包,则会在/usr/src/packages/...下解压缩内容,其中有一个SOURCE文件夹,您可以在其中找到memcached源存档。您必须解压缩该存档,应用修补程序,存档已缓存的源并替换SOURCE下的存档。或者(更优雅)您将补丁添加到控制构建过程的spec file,以从已安装的源rpm包生成二进制rpm包。您会在spec file下找到SPECS,可能称为memcached.spec或其他内容。通常已经包含了一些补丁,所以你有一个起点。

如果您使用上述方法之一修补了源rpm包,则可以使用rpmbuild命令构建自己的二进制rpm包,如下所示:rpmbuild -bb SPECS/memcached.spec ...