如何将 RPM Fusion 和 livna 存储库添加到 Fedora?

max*_*zig 4 yum fedora multimedia dnf

RPM Fusion和 Livna 是Fedora常见的第三方软件包存储库。如果您想安装不属于主要 Fedora 存储库的媒体播放器、编解码器和/或 DVD 播放库,则需要它们,因为诸如分发许可或类似问题。

因此我的问题是如何在 Fedora (>= 17) 中启用它们?

2018 年更新:在过去的几年里,Livna存储库的原因是它托管了 libdvdcss 包。几年前,所有以前的其他 Livna 软件包都迁移到了 rpmfusion。自2018年,rpmfusion创建的自由污点rpmfusion库 包括libdvdcss程序。他们还提供了一个升级包,可以自动删除任何 livna 发布包。

因此,现在对 Livna 没有任何用处。作为一项警示措施,不应再信任它,以防 Livna 域过期然后被某些域抓取者获取。

max*_*zig 6

对于 RPM Fusion(免费存储库):

获取发行版 rpm:

$ curl -O https://download1.rpmfusion.org/free/fedora/\
rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Run Code Online (Sandbox Code Playgroud)

通过以下方式检查存档的完整性:

$ rpm --checksig rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Run Code Online (Sandbox Code Playgroud)

哪个应该失败:

[..] MISSING KEYS: GPG#KEY_ID [..]
Run Code Online (Sandbox Code Playgroud)

将密钥添加到您的 gpg 密钥环以进行检查:

$ gpg --keyserver pgp.mit.edu --recv-keys KEY_ID 
Run Code Online (Sandbox Code Playgroud)

如果密钥在密钥服务器上不可用,您必须从rpmfusion 密钥页面下载它:

$ curl -o RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora) \
    'https://rpmfusion.org/\
keys?action=AttachFile&do=get&target=\
RPM-GPG-KEY-rpmfusion-free-fedora-'$(rpm -E %fedora)
Run Code Online (Sandbox Code Playgroud)

通过网络搜索将指纹与RPM Fusion 密钥站点上发布的信息进行比较,并可能检查信任网络:

$ gpg --fingerprint KEY_ID
Run Code Online (Sandbox Code Playgroud)

如果成功,请告知密钥rpm

$ gpg --export -a KEY_ID \
    > RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora)
# rpm --import RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora)
Run Code Online (Sandbox Code Playgroud)

检查包的完整性是否真实:

$ rpm --checksig rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Run Code Online (Sandbox Code Playgroud)

如果没问题安装:

# dnf install rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Run Code Online (Sandbox Code Playgroud)

这将在 .config 下创建配置文件/etc/yum.repos.d/和密钥文件/etc/pki/rpm-gpg

请注意,这#意味着您必须以 root 身份执行这些命令。

在此之后,启用其他 rpmfusion 存储库(如nonfreefree tainted)只需一个安装命令即可。例如:

# dnf install rpmfusion-free-release-tainted
Run Code Online (Sandbox Code Playgroud)

这是安全的,因为此发布包由先前验证的打包 gpg 密钥签名。

指纹

在撰写本文时,rpmfusion Fedora 29 GPG 密钥具有以下指纹:

BD12 7385 C312 090F F2F3 5FA1 1191 A7C4 42F1 9ED0
Run Code Online (Sandbox Code Playgroud)