首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级Fedora 25到32 "rpmlib(PayloadIsZstd) <= 5.4.18-1是需要.错误

升级Fedora 25到32 "rpmlib(PayloadIsZstd) <= 5.4.18-1是需要.错误
EN

Unix & Linux用户
提问于 2020-08-08 22:51:11
回答 1查看 3.5K关注 0票数 1

在运行sudo dnf system-upgrade download --refresh --releasever=32 --allowerasing之后,我得到了以下巨大的错误列表:

代码语言:javascript
复制
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by python3-audit-3.0-0.19.20191104git1c2f876.fc32.x86_64
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by kexi-3.1.0-7.fc32.x86_64
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by kexi-libs-3.1.0-7.fc32.x86_64
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by alternatives-1.11-6.fc32.x86_64
...

在阅读了https://serverfault.com/questions/280099/how-do-i-install-an-rpm-that-complains-about-rpmlibfiledigests-4-6-0-1之后,我想这是因为Fedora-25和Fedora-32之间的一些RPM版本引入了一个"PayloadIsZstd“特性。

我怎么才能解决这个问题?

我尝试备份rpm和rpm-libs文件和强制-安装Fedora 32 rpm (有可能现有二进制文件会兼容吗?):

代码语言:javascript
复制
# Probably a really stupid idea. Don't do this, it's super hard to undo.
$ sudo rpm -ivhU ~/Downloads/rpm-libs-4.15.1-3.fc32.1.x86_64.rpm ~/Downloads/rpm-4.15.1-3.fc32.1.x86_64.rpm --replacepkgs --nodeps --force --nomd5
...
error: unpacking of archive failed: cpio: Bad magic

现在我想我应该尝试中间版本,例如Fedora 30 rpm有PayloadIsZstd。

有更好的办法吗?

更新

最后,我首先升级到Fedora 30,然后升级到32来解决rpm特性依赖,这解决了上面的问题。还有一些依赖性问题。第一次安装失败(重新引导回FC25),我猜是因为我仍然将包从--releasever=32排队,并且在选择--releasever=30之前没有先删除这些包。简单地重复dnf system-upgrade + dnf system-upgrade reboot是第二次工作。

EN

回答 1

Unix & Linux用户

发布于 2020-08-09 09:15:16

根据https://fedoraproject.org/wiki/Changes/Switch_RPM_至_zstd_压缩,Zstd压缩是在Fedora 31中引入的,所以在升级之前,也许您可以先尝试从Fedora 31安装rpm-libs。这不一定有效,因为rpm-libs可能依赖于其他尚未安装的库,例如glibc。总之,我看不出有什么简单的办法给你。从零开始重新安装可能是一个更好的主意。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/603562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档