1

我正在关注这个网站在 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: 

请看上面的屏幕截图

在此处输入图像描述

4

1 回答 1

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...

于 2012-10-21T09:10:29.337 回答