首先我要说的是显而易见的事情。过去,rpm
Ubuntu 上绝对没有这种东西。当你搜索“转速“位于本页顶部。我们最接近的就是这样的软件包,alien
它会将 .rpm 软件包转换为 .deb 格式。
经历了最近的一次经历后,我相信现在情况已经不再如此了。事实上,我确信情况并非如此。
为了便于理解,我还要补充一点,这是一个与/rpm
非常相似的包管理系统。然而,由于它们各自都有自己的包格式作为输入,因此两者不能互换。接受 .deb 包,而接受 .rpm 包。apt
dpkg
dpkg
rpm
今天使用 安装包时apt install
,我注意到安装依赖项中有一个名为 的包rpm-common
。好奇心驱使我运行,apt search rpm
结果让我大吃一惊。瞧,目前有大量的 rpm 包正在维护中。
仅凭这一点并不令人惊讶。让我措手不及的是,他们中的大多数人都来自 Ubuntu。事实证明,其中有一个团队被称为“rpm 开发团队”。他们(在 Focal 上)负责监管的软件包包括但不限于:
rpm
-- rpm 包管理器本身rpm-common
- 共同文件rpm2cpio
-- 转换为 CPIOrpmlint
-- 包裹检查器rpm-i18n
-- rpm 的本地化手册页
为了进一步研究这一点,我运行了apt info rpm
,结果显示它是由 Debian 的“RPM 打包团队”移植并最初维护的,随后传递给 Ubuntu,现在由 Ubuntu 开发人员维护,并且上面的大多数软件包都列为其依赖项。
所以我想我的问题是双重的。
这是什么时候发生的?
更重要的是,为什么会发生这种情况?是否有任何变化,例如最近添加了 Snaps?
注意:apt info rpm
确实说过以下内容:
On Debian and derived systems it is recommended to use "alien" to
convert RPM packages into .deb format instead of bypassing the
Debian package management system by installing them directly with rpm.
我只是不明白为什么要维护整个应用生态系统,但信息却警告我们不要使用它。
答案1
是的,RPM 是 Ubuntu 上的“一个东西”,但它并不是新鲜事物,而且你对它的解读太过分了。
软件包存在于 Ubuntu 中的原因rpm
在于它们存在于 Debian 中,而 Ubuntu 会自动从 Debian 导入软件包。在rpm
的情况下,Ubuntu 软件包在 Debian 软件包的基础上进行了一些更改,但这些更改并不大(调试信息处理,以及在哪里debugedit
发货位置)。由于这种自动导入,RPM 软件包自 Ubuntu 首次发布以来就一直存在于 Ubuntu 中:您可以在 中找到相应的软件包条目疣状Packages
。
Ubuntu 中没有 RPM 打包团队;它仅作为Debian 中自动创建的 RPM 打包团队镜像。
此外,rpm
Debian 和 Ubuntu 中被中和,这样它就不会被意外用来安装 RPM. 它在 Debian 和 Ubuntu 中用于处理 RPM 档案,并作为 的助手alien
;而不是作为分发包管理工具。