如何从存储库仅安装/更新 Fedora 中的特定软件包?

如何从存储库仅安装/更新 Fedora 中的特定软件包?

最近我添加了一个非官方的第三方回购协议到我的 Fedora 23 安装。

基本上我对此存储库提供的软件包感兴趣,simplescreenrecorder因为它在官方 fedora 存储库或 RPMFusion 中不可用。

我想以这样的方式设置第 3 方存储库,即仅simplescreenrecorder安装/更新该软件包及其依赖项,而不是其他任何内容。

我尝试将 includepkgs=simplescreenrecorder* 和 添加includ=simplescreenrecorder*/etc/yum.repos.d/FZUG.repo文件中,但dnf似乎忽略了它们。

我该怎么做才能使这项工作成功?

答案1

假设您已按照您提供的链接中的步骤添加了新的存储库,那么您可以将它们默认设置为“禁用”:

dnf config-manager --set-disabled fzug-free
dnf config-manager --set-disabled fzug-nonfree

现在,当您进行任何安装/更新时,dnf 将不会安装这些存储库中的任何内容。为了安装simplescreenrecorder,只需执行以下操作:

dnf install --enablerepo=fzug-* simplescreenrecorder

这将仅安装必需的内容simplescreenrecorder,并保持 fzug 存储库对任何其他dnf命令禁用。除非您启用它们或--enablerepo=fzug-*再次使用该参数,否则不会安装“fzug”软件包。如果稍后您想要更新simplescreenrecorder到较新的版本及其依赖项(如果需要),则显式升级它:

dnf upgrade --enablerepo=fzug-* simplescreenrecorder

答案2

include=simplescreenrecorder*

/etc/yum.repos.d/FZUG.repo(来自官方文档)应该给你你想要的。但是,如果您没有启用源,则需要将其附加到适当的启用存储库,因此附加到 和[fzug-free][fzug-nonfree]

您还应该运行dnf update --refresh以确保重新加载缓存。

编辑:根据文档,这应该可以工作,但它不适用于当前的 DNF 1.1.5,因为错误#1055910include/ options的整个行为exclude很奇怪。我正在考虑一些解决方法,但到目前为止没有成功。留下这篇信息丰富的帖子,也许有人会有更聪明的想法。

相关内容