FreeBSD ports 和 pkgsrc 有什么区别?

FreeBSD ports 和 pkgsrc 有什么区别?

据我了解,pkgsrc 可以在大多数 Unices 上运行,包括 macOS、Linux 和 Cygwin。 FreeBSD ports 和 pkgsrc 有什么区别?是因为pkgsrc想要包容所有的Unice吗?

答案1

软件包源,NetBSD 软件包集合,其目标就像 NetBSD 项目本身一样,是可移植的:

与 NetBSD 一样,pkgsrc 的设计考虑了可移植性,并且由高度可移植的代码组成。这可以在移植到新平台时实现最快的开发速度。这种可移植性还确保了 pkgsrc在所有平台上保持一致

(参考:pkgsrc 文档)。

换句话说,pkgsrc 不仅为 NetBSD,而且为一系列 Unix 操作系统提供了构建软件的可能性。 FreeBSD 端口和软件包以及 OpenBSD 的等效项旨在仅为特定操作系统提供第三方软件。所以目标有点不同。

与往常一样,FreeBSD 项目致力于支持尽可能多的 FreeBSD 用户(因此拥有最大的第 3 方软件集合),而 OpenBSD 则由开发人员为开发人员驱动(“你说你想要这个,但我不这样做”看到你的补丁”)。

三个BSD的移植系统由于密切相关而有很多共同点,但如今由于发展的分歧,它们肯定是不同的。不是互相替代。工具不同,端口/包的结构不同,甚至某些术语也不同(NetBSD“端口”与 FreeBSD“端口”不同)。

我来自 OpenBSD,因此熟悉该系统的端口系统(使用make等在端口子目录中构建东西),我已经在我没有 root 访问权限的各种 Linux 系统以及我的个人 macOS 机器上成功使用了 pkgsrc。

pkgsrc 的优势在于它为用户提供了跨异构 Unix 平台拥有同质工作环境的可能性。

然而,我认为在 OpenBSD 上运行它没有任何意义,尽管这绝对是可能的,因为 OpenBSD ports Collection 拥有我需要的所有软件。 FreeBSD 用户对于在 FreeBSD 上运行 pkgsrc 可能会有同样的感觉。

相关内容