通常要在 UNIX® 系統上安裝第三方軟體時,有幾個步驟要作:
找到並且下載軟體,該軟體有可能以原始碼或 Binary 格式發佈。
自發佈的格式解壓縮軟體。 發佈的格式通常為 tarball 並以程式壓縮,如 compress(1), gzip(1), bzip2(1) 或 xz(1)。
找到位於 INSTALL
, README
或者 doc/
子目錄底下的檔案閱讀如何安裝該軟體。
若軟體是以原始碼的格式發佈則需要編譯該軟體。 這可能會需要修改 Makefile
或執行 configure
Script。
測試並安裝該軟體。
FreeBSD Port 是指設計用來自動化從原始碼編譯應用程式整個程序的一系列檔案,組成 Port 的檔案包含了自動下載、解壓縮、修補、編譯與安裝應用程式的必要資訊。
若軟體尚未被 FreeBSD 採用並測試,可能會需要經過一些修正才能正常安裝並執行。
雖然如此,目前已有超過 24,000 個第三方應用程式已經被移植到 FreeBSD。當可行時,這些應用程式也會做成預先編譯好的 套件 (Package) 供下載。
這些 Binary 套件可使用 FreeBSD 套件管理指令來管理。
不論是 Binary 套件或者 Port 都有相依性,若用 Binary 套件或 Port 來安裝應用程式,且該應用程式若有相依的程式庫尚未被安裝,則會自動先安裝該程式庫。
FreeBSD Binary 套件中含有一個應用程式中所有預先編譯好的指令、設定檔以及文件,Binary 套件可以使用 pkg(8) 指令來管理,如 pkg install
。
雖然兩種技術非常相似,但 Binary 套件及 Port 有各自的優點。 要視您要安裝的應用程式需求來選擇。
應用程式壓縮 Binary 套件的 tarball 會比壓縮原始碼的 tarball 還要小。
安裝 Binary 套件不需要編譯的時間,對於較慢的電腦要安裝大型的應用程式如 Mozilla, KDE 或 GNOME 這點顯的相當重要。
Binary 套件不需要了解在 FreeBSD 上編譯軟體的流程。
由於 Binary 套件必須盡可能在大多數系統上執行,通常會採用較通用的編譯選項來編譯,由 Port 來編輯可更改編譯選項。
部份應用程式編譯期選項會與要安裝的功能有關,舉例來說 Apache 便有大量不同的內建選項可以設定。
在某些情況,同樣的應用程式會存在多個不同的 Binary 套件,如 Ghostscript 有 ghostscript
及 ghostscript-nox11
兩種 Binary 套件,用來區別是否有安裝 Xorg。 若應用程式有一個以上的編譯期選項便無法用這個方式來區別 Binary 套件。
部份軟體的授權條款中禁止以 Binary 格式發佈。 這種軟體必須以原始碼發佈並由終端使用者編譯。
部份人並不相信 Binary 發佈版本,寧願閱讀原始碼來查看是否潛藏的問題。
原始碼可套用自訂的修補。
要持續追蹤 Port 的更新可以訂閱 FreeBSD Port 郵遞論壇 與 FreeBSD Port 問題郵遞論壇。
在安裝任何應用程式之前,請先查看 https://vuxml.freebsd.org/ 是否有與該應用程式相關的安全性問題或輸入 pkg audit -F
來檢查所有已安裝的應用程式是否有已知的漏洞。
本章接下來的部份將說明如何在 FreeBSD 使用 Binary 套件及 Port 套件安裝與管理第三方軟體。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。