![如何从存储库仅安装/更新 Fedora 中的特定软件包?](https://linux22.com/image/80256/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%AD%98%E5%82%A8%E5%BA%93%E4%BB%85%E5%AE%89%E8%A3%85%2F%E6%9B%B4%E6%96%B0%20Fedora%20%E4%B8%AD%E7%9A%84%E7%89%B9%E5%AE%9A%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9F.png)
最近我添加了一个非官方的第三方回购协议到我的 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,因为错误#1055910。include
/ options的整个行为exclude
很奇怪。我正在考虑一些解决方法,但到目前为止没有成功。留下这篇信息丰富的帖子,也许有人会有更聪明的想法。