乖蜀黍很囧 发表于 2015-02-06 10:03

FastDFS FastDHT RPM包安装续---优化(Berkeley db新认知)

本帖最后由 乖蜀黍很囧 于 2015-02-06 10:19 编辑

昨天把自己新打的RPM包在论坛里面分享了下(网址是:http://bbs.chinaunix.net/thread-4168943-1-1.html,里面有配置文件介绍,这里就不重复了),后来又琢磨了会,发现有挺多地方没弄明白,所以在这里再和大家闲扯扯

昨天的RPM包默认安装路径都让我改到了/opt下面了,可能有些人看着不是很习惯,这次采用了默认路径安装了具体如下:
libfastcommon:/usr
fastdfs:/usr
fastdht:/usr/local
细心的朋友肯定会问:咦,bdb的安装怎么不见了,这里不再需要了:em39: ;这是为什么呢?待我慢慢道来!
相信大家都知道,最新版的FastDFS是要依赖libfastcommon的,FastDHT依赖libfastcommon和dbd的,这里我用的是CentOS 6.6 64位操作系统,这个系统自带的dbd版本是db4-4.7.25,大家可以用命令查看:rpm -qa |grep db
之前我一直有疑问,既然系统默认有bdb了,为什么每次我编译安装的时候总是说少bdb呢,昨天折腾了下发现问题所在:
编译fastdht的时候是需要bdb的头文件的,问了下同事,同事告诉我,rpm包中的这种格式: **-devel.rpm ,就是头文件,之前我编译的时候都是自己傻乎乎的安装从官网下载下来的bdb源码包(版本是6.1.19)。
知道这些后,我就重新写了一下fastdht.spec文件,修改了里面的参数:
Requires: libfastcommon
Requires: db4
Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id
BuildRequires: db4-devel
看到了吧,加粗的意思是说在编译的时候需要解决依赖关系db4-devel,这样就可以了,我在我操作系统里面安装了这个包(yum -y install db4-devel),就可以顺利通过编译后生成rpm包了。
我们用生成的rpm包在一个纯粹的系统上安装,安装顺序是这样的:
libfastcommon-1.13-2.x86_64.rpm
fastdfs-5.0.5-1.el6.x86_64.rpm
FastDHT-2.0.1-1.x86_64.rpm
就可以了,不再需要安装bdb了(确切地说是用了系统自带的bdb),因为rpm包安装过程是不需要编译的,所以纯粹的系统上也就不需要安装db4-devel了,但是如果大家要是源码安装fastdht,则还是需要db4-devel,不过既然知道问题所在了,就不再需要为了解决依赖关系再去编译dbd,我们直接yum下就解决了问题(yum -y install db4-devel),简洁明了。

重点来了,下面是我打包的RPM文件
下载地址:pan.baidu.com/s/1ntBl6PF

PS:昨天有人说想看一下spec文件,这里我也共享一下,大家看看就好,不喜勿喷!

tangtang1251 发表于 2016-04-07 15:14

楼主棒棒的,我以前安装fastDFS没有安装过fastDHT,这俩软件可以协作啊?

skymelai 发表于 2016-04-09 13:47

怎么感觉 fastDFS已经停止了,论坛都不活跃了。
页: [1]
查看完整版本: FastDFS FastDHT RPM包安装续---优化(Berkeley db新认知)