RPM中出现cpio: MD5 sum mismatch

转载请注明原文出处:http://blog.csdn.net/roddick621


有时候,在安装RPM包的时候,会出现cpio: MD5 sum mismatch这个问题。


这个时候可以分两种情况:


1.这个安装包是别人提供的:

这个情况下,你没有办法重新生成一个安装包。如果有新的RPM包提供给你,你可以尝试新的安装包。

如果新的RPM包还是有这个问题,则可以加--nomd5去跳过验证该包中文件的MD5值。


2.如果安装包是自己提供的:

则你看看你的系统是否存在有prelink这个工具。出现md5值不匹配,很多情况下那些文件都是系统自带的,而不是自己编译出来的。

那么你可以把这个库复制一份出来,用prelink -u LibraryName 去掉prelink。然后重新打一个新的包就可以解决问题了。



当你在使用`rpm2cpio`命令时遇到`rpm2cpio: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory`的错误,这意味着你在运行该命令的过程依赖的liblzma.so.5库文件找不到。liblzma.so.5是一个LZMA压缩库,通常用于支持某些压缩格式,如`.xz`文件。 这个错误通常是由于以下原因: 1. **缺失的库文件**:你的系统可能没有安装包含liblzma.so.5的软件包,例如xz-utils或p7zip。你需要确认并安装相应的压缩工具包。 2. **库路径未设置**:动态链接库的查找路径(LD_LIBRARY_PATH)可能没有正确配置,导致系统无法找到所需的库文件。 3. **软件包版本不匹配**:如果你的系统上已经安装了其他版本的lzma库,但rpm2cpio需要的是特定版本,这也会引发错误。 解决这个问题的步骤可以是: - **检查并安装包**:尝试运行`sudo apt-get install xz-utils`(如果是Debian/Ubuntu系统)或`yum install p7zip`(如果是RHEL/CentOS系统),看是否能解决。 - **更新或修复库**:如果已经安装,尝试更新库到最新版本,或者执行`ldconfig`以重新配置搜索路径。 - **设置库路径**:确保环境变量LD_LIBRARY_PATH包含了liblzma.so.5所在的目录,可以通过编辑`~/.bashrc`或其他启动文件添加路径。 - **确认包状态**:如果已经安装并且库路径正确,你可以尝试使用`ldd`命令检查rpm2cpio是否正确链接到了liblzma.so.5。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值