![在 Centos 操作系统中升级 Berkeley DB rpm](https://linux22.com/image/47067/%E5%9C%A8%20Centos%20%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%8D%87%E7%BA%A7%20Berkeley%20DB%20rpm.png)
我有一个需要 Berkeley DB 4.5 或更高版本的软件。
但在我的 CentOS 5.11 x86_64 服务器中,我有:
- 软件包 db4-4.3.29-10.el5_5.2.x86_64 已安装并且是最新版本
- 软件包 db4-4.3.29-10.el5_5.2.i386 已安装并且是最新版本
如何将这些 rpm 升级到更新版本?我尝试使用 Centos 6.6 rpm 进行升级,方法如下:
rpm -Uvh ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
但我收到此错误:
Retrieving ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
warning: /var/tmp/rpm-xfer.IKWqHE: Header V3 RSA/SHA1 signature: NOKEY, key ID c105b9de
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by db4-4.7.25-18.el6_4.i686
rpmlib(PayloadIsXz) <= 5.2-1 is needed by db4-4.7.25-18.el6_4.i686
db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.i386
db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.x86_64
libdb-4.3.so is needed by (installed) subversion-1.6.11-12.el5_10.i386
libdb-4.3.so is needed by (installed) pam_ccreds-3-5.i386
libdb-4.3.so is needed by (installed) apr-util-1.2.7-11.el5_5.2.i386
libdb-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
libdb_cxx-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
我也尝试从源代码编译db-4.5.20.tar.gz
。我编译它没有问题,但是我的软件仍然看到 rpm 包 db4-4.3.29 中预安装的 Berkley DB。
有什么帮助吗?
答案1
这里有点不明显的答案是与现有版本并行安装 Berekeley DB 的另一个版本。然后在构建时使用-I/usr/include/db-X.Y
和标志针对新安装的标头/库进行构建-ldb-X.Y
。
在构建时避免“系统”标头(即#include "db.h"
)和库(即-ldb
)的最简单方法是(暂时)卸载软件包,db4-devel
以确保您的构建在构建期间使用-I/usr/include/db-X.Y
和标志。之后-ldb-X.Y
重新安装。db4-devel