【问题标题】:Does yum use the rpm executable to handle rpm packages or does it implement its own rpm parsing and handlingyum 是使用 rpm 可执行文件来处理 rpm 包还是实现自己的 rpm 解析和处理
【发布时间】:2018-08-22 22:37:14
【问题描述】:

yum 如何在内部工作? 在实际操作 rpm 文件时,yum 是否会使用 rpm 可执行文件,或者它是否实现了自己的 rpm 处理代码? (或者它是否使用静态或共享 rpm 库来处理 rpm 文件)

【问题讨论】:

  • 你可以随时查看源代码。

标签: rpm yum


【解决方案1】:

似乎 yum 是一个基于 rpm-python 的 python 实现。您可以通过查看 rpm 要求来推断此类事情:

rpm -q yum --requires

给予:

...
rpm-python
...

这导致了我。还在寻找/usr/bin/yum 文件:

file /usr/bin/yum

给予

/usr/bin/yum: Python script, ASCII text executable

【讨论】:

  • 此信息很有帮助。您提到的同一命令还在 rpm-python 上方列出了 rpm。我尝试重命名 rpm 可执行文件并安装一个包,以查看 yum 是否真的依赖 rpm 可执行文件本身,而它没有。
【解决方案2】:

在获得 yum 和 rpm 的源代码后,我发现了以下内容:

yum 是在 python 中实现的,使用 rpm-python 包进行 rpm 访问。 rpm 和 yum 最终都利用 librpm.so 共享库在底层进行 RPM 包管理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2012-01-26
    • 2012-03-20
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多