加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

带你初步了解RPM包

发布时间:2019-11-05 21:38:20 所属栏目:Windows 来源:Ankur Sinha
导读:也许,Fedora 社区追求其促进自由和开源的软件及内容的使命的著名的方式就是开发 Fedora 软件发行版了。因此,我们将很大一部分的社区资源用于此任务也就不足为奇了。这篇文章总结了这些软件是如何打包的,以及使之成为可能的基础工具,如 rpm 之类。 RPM

理论上,你可以下载 python3-elephant 所需的所有软件包,并告诉 rpm 它们都在哪里,但这并不方便。如果 python3-neopython3-quantities 还有其它的运行时要求怎么办?很快,这种“依赖链”就会变得相当复杂。

存储库

幸运的是,有了 dnf 和它的朋友们,可以帮助解决此问题。与 rpm 不同,dnf 能感知到存储库。存储库是程序包的集合,带有告诉 dnf 这些存储库包含什么内容的元数据。所有 Fedora 系统都带有默认启用的默认 Fedora 存储库:

  1. $ sudo dnf repolist
  2. repo id              repo name                             status
  3. fedora               Fedora 30 - x86_64                    56,582
  4. fedora-modular       Fedora Modular 30 - x86_64               135
  5. updates              Fedora 30 - x86_64 - Updates           8,573
  6. updates-modular      Fedora Modular 30 - x86_64 - Updates     138
  7. updates-testing      Fedora 30 - x86_64 - Test Updates      8,458

在 Fedora 快速文档中有这些存储库以及如何管理它们的更多信息。

dnf 可用于查询存储库以获取有关它们包含的软件包信息。它还可以在这些存储库中搜索软件,或从中安装/卸载/升级软件包:

  1. $ sudo dnf search elephant
  2. Last metadata expiration check: 0:05:21 ago on Sun 23 Jun 2019 14:33:38 BST.
  3. ============================================================================== Name & Summary Matched: elephant ==============================================================================
  4. python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
  5. python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
  6.  
  7. $ sudo dnf list *elephant*
  8. Last metadata expiration check: 0:05:26 ago on Sun 23 Jun 2019 14:33:38 BST.
  9. Available Packages
  10. python3-elephant.noarch 0.6.2-3.fc30 updates-testing
  11. python3-elephant.noarch 0.6.2-3.fc30 updates

安装依赖项

现在使用 dnf 安装软件包时,它将解决所有必需的依赖项,然后调用 rpm 执行该事务操作:

  1. $ sudo dnf install python3-elephant
  2. Last metadata expiration check: 0:06:17 ago on Sun 23 Jun 2019 14:33:38 BST.
  3. Dependencies resolved.
  4. ==============================================================================================================================================================================================
  5. Package Architecture Version Repository Size
  6. ==============================================================================================================================================================================================
  7. Installing:
  8. python3-elephant noarch 0.6.2-3.fc30 updates-testing 456 k
  9. Installing dependencies:
  10. python3-neo noarch 0.8.0-0.1.20190215git49b6041.fc30 fedora 753 k
  11. python3-quantities noarch 0.12.2-4.fc30 fedora 163 k
  12. Installing weak dependencies:
  13. python3-igor noarch 0.3-5.20150408git2c2a79d.fc30 fedora 63 k
  14.  
  15. Transaction Summary
  16. ==============================================================================================================================================================================================
  17. Install 4 Packages
  18.  
  19. Total download size: 1.4 M
  20. Installed size: 7.0 M
  21. Is this ok [y/N]: y
  22. Downloading Packages:
  23. (1/4): python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch.rpm 222 kB/s | 63 kB 00:00
  24. (2/4): python3-elephant-0.6.2-3.fc30.noarch.rpm 681 kB/s | 456 kB 00:00
  25. (3/4): python3-quantities-0.12.2-4.fc30.noarch.rpm 421 kB/s | 163 kB 00:00
  26. (4/4): python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch.rpm 840 kB/s | 753 kB 00:00
  27. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  28. Total 884 kB/s | 1.4 MB 00:01
  29. Running transaction check
  30. Transaction check succeeded.
  31. Running transaction test
  32. Transaction test succeeded.
  33. Running transaction
  34. Preparing : 1/1
  35. Installing : python3-quantities-0.12.2-4.fc30.noarch 1/4
  36. Installing : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch 2/4
  37. Installing : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch 3/4
  38. Installing : python3-elephant-0.6.2-3.fc30.noarch 4/4
  39. Running scriptlet: python3-elephant-0.6.2-3.fc30.noarch 4/4
  40. Verifying : python3-elephant-0.6.2-3.fc30.noarch 1/4
  41. Verifying : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch 2/4
  42. Verifying : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch 3/4
  43. Verifying : python3-quantities-0.12.2-4.fc30.noarch 4/4
  44.  
  45. Installed:
  46. python3-elephant-0.6.2-3.fc30.noarch python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch python3-quantities-0.12.2-4.fc30.noarch
  47.  
  48. Complete!

请注意,dnf 甚至还安装了python3-igor,而它不是 python3-elephant 的直接依赖项。

DnfDragora:DNF 的一个图形界面

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读