4.2.软件安装的概述

FreeBSD port 是一组文件的,旨在自动化从源代码编译应用程序。组成 port 的文件包含了自动下载、提取、打补丁、编译和安装应用程序所需的所有必要信息。

如果软件还没有在 FreeBSD 上适配和测试过,可能需要编辑源代码才能正确安装和运行。

然而,已经有超过 36000 个第三方应用程序被移植到了 FreeBSD。在可行的情况下,这些应用程序会作为预编译软件包提供下载。

可以使用 FreeBSD 软件包管理命令来操作软件包。

软件包和 ports 都可解析依赖关系。如果使用软件包和 port来安装应用程序并且尚未安装依赖库,则将先自动安装该依赖库。

FreeBSD 软件包包含了应用程序所有命令的预编译文件,以及所有配置文件和文档。可以使用 pkg(8) 命令来操作软件包,例如 pkg install。

虽然这两种技术很相似,但软件包和 ports 各有优势。请选择符合你安装特定应用程序要求的技术。

软件包优势

  • 通常,压缩的软件包比包含应用程序源代码的压缩包更小。

  • 软件包不需要花时间编译。对于大型应用程序(如 Firefox、KDE Plasma 或 GNOME),这对于低性能设备非常重要。

  • 软件包不需要理解在 FreeBSD 上编译软件所涉及的过程。

Port 好处

  • 软件包通常使用保守参数进行编译,因为它们必须在尽可能多的系统上运行。通过从 port 编译,可以修改编译参数。

  • 一些应用程序具有与安装的功能相关的编译时选项。例如,NGINX® 可以配置各种不同的内置选项。有些情况下,对于同一应用程序可能存在多个软件包,用于指定特定设置。例如,NGINX® 被分为软件包 nginx 和软件包 nginx-lite,具体取决于是否安装了 Xorg。如果某个应用程序有超过一两个不同的编译时选项,则创建多个软件包马上会变成不可能。

  • 一些软件的许可协议禁止二进制分发。这些软件必须以源代码形式分发,最终用户必须编译它们。

  • 有些人不信任二进制软件包,或者更喜欢阅读源代码以寻找潜在问题。

  • 需要源代码才能应用自定义补丁。

要跟踪更新的 ports,请订阅 FreeBSD ports邮件列表和 FreeBSD ports错误报告邮件列表。

本章的其余部分将介绍如何使用软件包和ports在 FreeBSD 上安装和管理第三方软件。

最后更新于

FreeBSD 中文社区