4.2.软件安装的概述

在 UNIX® 系统上安装第三方软件的典型步骤包括:

  1. 找到并下载该软件,它可能以源代码格式或二进制文件的形式分发。

  2. 将软件从其发行格式中解压。他通常是一个用 compress(1)open in new windowgzip(1)open in new windowbzip2(1)open in new windowxz(1)open in new window 等程序压缩的压缩文件。

  3. 找到 INSTALLREADMEdoc/ 子目录中的一些文件,并阅读如何安装该软件。

  4. 如果软件是以源码格式发布的,则编译它。这可能涉及编辑 Makefile 或运行 configure 脚本。

  5. 测试并安装该软件。

FreeBSD port 是一组文件的集合,旨在自动完成从源代码编译应用程序的过程。组成 port 的文件包含了自动下载、 解压缩、 打补丁、 编译和安装应用程序的所有必要信息。

如果该软件尚未在 FreeBSD 上进行移植和测试,则可能需要对源代码进行编辑,以使其能够正常安装和运行。

然而,已经有超过 36000open in new window 个第三方应用程序被移植到了 FreeBSD。在可行的情况下,这些应用程序会以预编译 软件包 的形式提供给大家下载。

软件包可以通过 FreeBSD 的软件包管理命令来操作。

软件包和 ports 都能解析依赖关系。如果使用软件包或 port 安装一个应用程序,而所依赖的库还没有安装,那么就会先自动安装这个库。

一个 FreeBSD 软件包包含了一个应用程序的所有命令的预编译副本,以及任何配置文件和文档。一个包可以用 pkg(8)open in new window 命令来操作,比如 pkg install

虽然这两种技术是相似的,但软件包和 ports 都有自己的长处。应选择符合你安装特定应用程序的要求的技术。

软件包的好处

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

  • 软件包不需要花时间编译。对于大型的应用程序,如 Mozilla、KDE 或 GNOME,这在运行较慢的系统中可能很重要。

  • 软件包不需要了解在 FreeBSD 上编译软件的过程。

port 的好处

  • 软件包通常是用保守的选项编译的,因为它们必须在尽可能多的系统上运行。通过从 port 编译,人们可以改变编译选项。

  • 一些应用程序有与安装哪些功能有关的编译时选项。例如,Apache 可以被配置成各种不同的内置选项。

    在某些情况下,同一个应用程序会存在多个软件包来指定某些设置。例如,Ghostscript 可以被拆分为一个 ghostscript 包和一个 ghostscript-nox11 包,这取决于是否安装了 Xorg。如果一个应用程序有超过一个或两个不同的编译时选项,创建多个软件包很快就变得非常困难。

  • 一些软件的许可证禁止二进制发布。这种软件必须以源代码的形式发布,而源代码必须由终端用户编译。

  • 有些人不信任二进制分发,或者喜欢通读源代码,以寻找潜在的问题。

  • 为了应用定制的补丁,需要源代码。

要跟踪 ports 的更新,可以订阅 FreeBSD ports 邮件列表open in new windowFreeBSD ports bugs 邮件列表open in new window

警告

在安装任何应用程序之前,请检查 https://vuxml.freebsd.org/open in new window 以了解与该应用程序有关的安全问题,或键入 pkg audit -F 来检查所有已安装的应用程序是否存在已知的漏洞。

本章的章节将解释如何使用软件包和 ports 来安装和管理 FreeBSD 上的第三方软件。

Loading...