通常要在 UNIX® 系統上安裝第三方軟體時,有幾個步驟要作:
找到並且下載軟體,該軟體有可能以原始碼或 Binary 格式發佈。
解壓縮軟體。 發佈的格式通常會使用 tarball 並以 compress(1), gzip(1) 或 bzip2(1) 壓縮。
找到位於 INSTALL
, README
或者 doc/
子目錄底下的檔案閱讀如何安裝該軟體。
若軟體是以原始碼的格式發佈則需要編譯該軟體。 這可能會需要修改 Makefile
或執行 configure
Script。
測試並安裝該軟體。
如果軟體套件未被特意移植到 FreeBSD 或測試是否可運作。 那可能需要修改一下該軟體的原始碼才能正常使用。 在搛寫此篇文章時候, 已經有超過 24,000 個第三方應用程式已經被移植到 FreeBSD。
FreeBSD Binary 套件中包含了應用程式預先編譯好的指令、設定檔及文件。 套件可以使用 pkg 指令來管理,如 pkg install
。
FreeBSD Port 套件則包含了已設計好從原始碼編譯成應用程式的自動化程序。 Port 套件中的檔案包含自動下載、解壓縮、修補、編譯及安裝應用程式流程中所有需要的資訊。
Port 系統可以透過 FreeBSD 套件管理指令來產生套件。
不論是 Binary 套件或者 Port 套件都有相依的功能,若以 Binary 或 Port 套件安裝應用程式,且該應用程式有相依的程式庫尚未被安裝,則會自動先安裝該程式庫。
雖然兩種技術非常相似,但 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 問題郵遞論壇。
在安裝任何應用程式之前,請先查看 http://vuxml.freebsd.org/ 是否有與該應用程式相關的安全性問題或輸入 pkg audit -F
來檢查所有已安裝的應用程式是否有已知的漏洞。
本章接下來的部份將說明如何在 FreeBSD 使用 Binary 套件及 Port 套件安裝與管理第三方軟體。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。