FreeBSD Ports

FreeBSD Ports collection 是FreeBSD操作系统中的软件包管理系统。它使安装软件包体验变得简单、一致。到2018年4月为止，共有超过31,679个ports可用。它也是NetBSDpkgsrc系统的基础组件。

以源码安装

ports collection由整理在文件夹树中的Makefile组成，这样就可以用make命令来构建、安装和卸载软件了。在安装应用程序时，当用户在该软件的ports文件夹中输入诸如make install或是make install clean之类的初始命令后，就几乎不需要用户干预了。大多数情况下，从互联网下载软件、在必要时打补丁以及configure、编译、安装、在软件包数据库中注册等工作都是自动完成的。新安装的ports所依赖的应用或库也会一并安装好。
通常人们认为大部分ports的默认设置适用于多数用户。不过，有时用户可以修改这些选项（称作knobs）。在安装软件前输入make config命令，随后在调出的文本模式界面中修改设置即可。
过去每个port（或是软件包）通过指定一名负责维护port的通用性并解决常见问题的port维护者来维护。现在很多port由特别小组或是子项目来维护，有自己的邮件列表（例如：kde@FreeBSD.org、java@FreeBSD.org等）；其余port的维护事务则分配到统一的小组ports@FreeBSD.org中。一般来说，任何提交他们喜爱的软件到ports库中的人都可以成为一名port维护者。通过维护已经无人维护的包来成为维护者也是可行的道路。

软件包

预编译的ports称作软件包（英语：packages）。软件包可以从对应的port中以make package命令构建，也可以从FreeBSD项目提供的仓库中下载。用户把软件包名称传给pkg install命令即可安装。这样系统会下载符合本地FreeBSD版本的软件包并安装应用程序及其依赖。软件包默认从FreeBSD主软件源（pkg.freebsd.org）中下载。
所有FreeBSD为其支持的体系结构和系统版本提供的软件包都由称作尖顶帽的构建农场（编译服务器集群）构建。ports在农场中构建为软件包后其编译日志和错误信息都能在数据库中查到，每周的编译日志也可以在邮件列表存档中查到。