我可以强制dnf安装旧版本的软件包吗?


31

我想安装的旧版本package <x>,并且在使用dnf时仅显示的当前版本package <x>

有什么方法可以使用安装旧版本dnf

Answers:


46

您可以按照手册页中的描述使用特定的名称版本进行安装:

dnf install tito-0.5.6-1.fc22

安装具有特定版本的软件包。如果已安装该软件包,它将自动尝试降级或升级到特定版本。

要查看已启用的存储库中软件包的所有版本,请使用:

dnf --showduplicates list <package>

16

是。dnf downgrade package-name[-version]如果已经安装了新版本的软件包,则可以使用来安装旧版本的软件包。但是旧版本仍然需要在镜像上可用。

如果无法从镜像中获得该软件包,则始终可以从koji手动下载该软件包,然后使用dnf进行降级,例如dnf downgrade path/to/downloaded.file.rpm。但是使用这种技术,您可能需要自己解决依赖性。


还请记住,手动安装软件包的缺点是,如果有更新,则不会对该软件包进行任何更新(例如,安全修复)。
Thorian93

这不是手动安装软件包,而是手动下载它们。无论何时运行,dnf update您都将获得包括安全修补程序在内的更新。
雅库耶

你确定吗?我真的很好奇,因为我一直认为直接安装.rpm会让我负责安装它的更新版本。除非.rpm本身安装自己的存储库。您可以为您的陈述提供参考吗?
Thorian93

1
如果您安装了系统中未打包的软件包(从其他位置),或者安装了比系统提供的版本新的版本,则可以通过这种方式工作。这个特殊的用例从koji(官方构建系统)安装了一个较旧的RPM,这意味着它很可能包含在Fedora和较旧的版本中,因此以后的任何更新都会对其进行更新。
雅库耶

好的,我想我明白您的意思,谢谢您的解释!
Thorian93
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.