选择 FreeBSD 而不是 Linux 的技术性原因1

Ports
  FreeBSD Ports 是一个惊人的工程壮举。NetBSD 的 pkgsrc (package source) 和 OpenBSD 的 ports collection 都源于 FreeBSD ports 系统。
通常当您在 Unix 操作系统上安装软件时,您需要找到并下载软件。然后解压软件,通常是压缩的 tar 包。然后在 INSTALL 、README 等其他文本文档中找到文档, 并阅读关于如何安装软件的说明。如果软件是以源码格式发布的,你需要编译它,这通常涉及到编辑一个 Makefile 或运行一个 configure 脚本。如果编译成功,你就需要测试和安装软件。如果软件有依赖性, 则需要先下载并安装这些依赖性。
  FreeBSD ports Collection 使用 Makefile 来自动完成编译、 安装和卸载软件的过程, 并使用 make 命令。组成 port 的文件包含了所有必要的信息, 以便自动下载、 解压缩、 打补丁、 编译和安装应用程序, 而在 ports 目录下发出诸如 make install 或 make install clean 这样的开始命令之后, 用户只需要很少的干预 (如果有的话)。如果 port 需要依赖其它应用程序或库, 则会事先自动安装。
大多数 port 都配置了一组默认的选项, 这些选项被认为是适合大多数用户的。然而, 这也是 ports 系统的一大优点, 这些配置选项可以在安装前使用 make config 命令进行修改。该命令会弹出一个基于文本的界面, 允许用户选择所需的选项。
  在写这篇文章的时候,集合中有超过 38487 个ports 可用。
  在大多数情况下,ports 应用程序都是以预编译包的形式提供下载的, 并设置了默认的选项。这些软件包可以通过 FreeBSD pkg - Binary Package Management 应用程序来安装。预先编译的 port 被称为 "package"。
  FreeBSD 项目有一个软件包联编场, 其中联编了所有支持的架构和主要版本的软件包。数据库中提供了所有软件包的联编日志和已知错误, 而每周的联编日志也可以通过邮件列表存档获得。

滚动发行软件包
  在软件包方面,您有两个不同的分支可以选择。一个叫 "quarterly",另一个叫 "latest"。
  Quarterly 是在每年 1 月、4 月、7 月和 10 月的季度开始时, 从修订系统中的 HEAD 分支中切割出来的 Ports 分支的名称, 也是由这些分支产生的二进制软件包集的名称。
  Quarterly 分支为用户提供了更加可预测和稳定的 ports 和包的安装和升级体验。这基本上是通过只允许非功能更新来实现的。季度分支的目标是接收安全修复, 但也可能有版本更新, 或提交的回溯, 错误修复和 ports 合规性或框架变化。
如果您选择了 "latest"的分支,FreeBSD 就会成为第三方软件包的滚动发行版, 而且和 Arch Linux 很像, 它也会得到最新的软件。

Poudriere
  Poudriere 是一个用于创建和测试 FreeBSD 软件包的工具。它利用 FreeBSD jail 系统来建立独立的编译环境。这些 jail 可以用来为不同版本的 FreeBSD 编译软件包。一旦这些软件包被编译完成,它们的布局就会与官方镜像相同。这些软件包可以被 FreeBSD pkg 二进制软件包管理工具所使用。
Poudriere 是一个用于测试和构建软件包的神奇工具,通过 Poudriere,您可以轻松地构建和设置自己的二进制软件包库,其中的软件包将完全按照您的规格和需求构建。
  Poudriere 可以处理整个 ports 树的批量联编,ports 树的特定子集, 或包括其依赖关系在内的单个 port 。它能够自动地联编软件包, 生成联编日志文件, 提供一个经过签名的 pkg 仓库, 使得它能够在提交一个补丁到 FreeBSD bug 跟踪器之前测试 port 联编过程, 使得它能够使用不同的选项来测试不同的联编过程。Poudriere 在一个干净的 Jail 环境中进行联编, 在这个环境中, 它能够使用 zfs 的特定功能。这意味着没有对主机环境的污染,没有剩余的文件,没有意外的删除,没有对现有配置文件的修改。
  Poudriere 的设置和使用非常简单,因为它没有任何依赖,并且可以在任何支持的 FreeBSD 版本上运行。

posted @ 2021-03-07 15:03  FreeBSD中文社区  阅读(295)  评论(0)    收藏  举报