这个答案https://unix.stackexchange.com/a/617937/542871提到可以在以下位置检查 rpm 融合文件的代码:https://pkgs.rpmfusion.org/cgit/但我在那里没有找到我感兴趣的文件。还有其他方法吗?
答案1
您可以浏览https://rpmfusion.org/,例如打开:Fedora -> 39 -> Updates -> Free -> Source -> qmplay2 然后你会看到:
qmplay2-23.10.22-1.fc39.src [1.5 MiB] Changelog by Martin Gansser (2023-10-23):
- Update to 23.10.22
这src.rpm
是源代码。但是,您可以使用 rpm2cpio 或 Midnight Commander 来提取/检查它!
它是不是这是您可以信任 RPMFusion 的保证,而我几年前就不再这样做了。问题是您无法控制/洞察他们的构建场,因此二进制包可能包含在构建过程中添加的恶意软件。
其次,当您安装他们的存储库文件时,您可以使用以下命令下载源:dnf download --source package_name
,例如dnf download --source cgit
。
答案2
首先,您需要找出源包的名称是什么,该名称可以与已安装的包名称不同(通常是因为一个源包提供了多个包)。对于xorg-x11-drv-nvidia-cuda
它的xorg-x11-drv-nvidia
.您可以使用 获取此信息dnf repoquery --source xorg-x11-drv-nvidia-cuda
。
然后你就可以找到这个包了分布式git,但是源文件不在那里,只有 SPEC 文件(可能包含用于下载源文件的 URL,但它可以只是文件名)和补丁和其他小文件 - 源文件通常太大而无法包含在 GIT 中存储库。如果您想获取完整的源文件,最简单的方法是从以下位置下载 SRPM(包含 SPEC 和所有源代码的存档):浩二(选择您要检查的确切版本并下载.src.rpm
文件源代码部分)并提取它(SRPM 只是一个包含 SPEC 文件和所有源的存档)。
如果您想更多地使用打包,您可以使用安装rpmfusion-packager
并克隆整个 dist git rfpkg clone xorg-x11-drv-nvidia
,然后使用rfpkg sources
.您可以阅读 RPMFusion 的更多包装这里。