我将从显而易见的开始。过去,rpm
在 Ubuntu 上绝对不是一回事。当您在此页面顶部搜索“ rpm ”时,这一点很明显。我们最接近的是alien
将 .rpm 包转换为 .deb 格式的包。
在最近的一次经历之后,我认为现在情况并非如此。事实上,我确信它不是。
对于上下文,我还要补充一点,这rpm
是一个非常类似于apt
/的包管理系统dpkg
。但是,由于它们每个都有自己的包格式用作输入,因此两者不可互换。dpkg
需要 .deb 包,而rpm
需要 .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.
我只是不明白为什么要维护整个应用程序生态系统,但信息警告我们不要使用它。
是的,RPM 在 Ubuntu 上是“一件事”,但它并不是新事物,而且您对它的了解太多了。
包存在于 Ubuntu 中的原因
rpm
是它们存在于 Debian 中,并且 Ubuntu 会自动从 Debian 中导入包。在rpm
这种情况下,在 Debian 打包之上应用了一些 Ubuntu 打包更改,但它们是次要的(调试信息处理,以及debugedit
发货地点)。由于这种自动导入,RPM 包自 Ubuntu 首次发布以来就已存在:您将在WartyPackages
中找到相应的包条目。Ubuntu 中没有 RPM 打包团队;它仅作为Debian 中 RPM 打包团队的自动创建反映而存在。
此外,
rpm
它本身在 Debian 和 Ubuntu中被中和,因此它不会被意外地用于安装 RPMs。在 Debian 和 Ubuntu 中使用 RPM 存档非常有用,并且可以作为alien
; 不作为分发包管理工具。