FreeBSD 上可安裝的軟體清單不斷在增加, 有幾種方式可以來找你想安裝的軟體:
FreeBSD 網站有維護一份可搜尋的最新應用程式清單,在 https://www.FreeBSD.org/ports/。 可以依應用程式名稱或軟體分類來搜尋 Port。
由 Dan Langille 維護的 FreshPorts.org,提供完整的搜尋工具並且可追蹤在 Port 套件集中的應用程式變更。註冊的使用者可以建立自訂的監視清單會自動寄發電子郵件通知 Port 的更新資訊。
若找不到指定的應用程式,可以先到網站 SourceForge.net 或 GitHub.com 搜尋,後然再回到 FreeBSD 網站 檢查該應用程式是否已被移植。
#
pkg search subversion
git-subversion-1.9.2
java-subversion-1.8.8_2
p5-subversion-1.8.8_2
py27-hgsubversion-1.6
py27-subversion-1.8.8_2
ruby-subversion-1.8.8_2
subversion-1.8.8_2
subversion-book-4515
subversion-static-1.8.8_2
subversion16-1.6.23_4
subversion17-1.7.16_2
套件名稱包含版本編號,且若 Port 使用 Python 為基礎,也會包含用來編譯該套件的 Python 版本。有些 Port 會有多個版本可使用,如 Subversion ,因編譯選項不同,有多個版本可用,這個例子中即指靜態連結版本的 Subversion。在指定要安裝的套件時,最好使用 Port 來源來指定該應用程式,Port 來源是指應用程式在 Port 樹中的路徑。再輸入一次 pkg search
並加上 -o
來列出每個套件來源:
#
pkg search -o subversion
devel/git-subversion
java/java-subversion
devel/p5-subversion
devel/py-hgsubversion
devel/py-subversion
devel/ruby-subversion
devel/subversion16
devel/subversion17
devel/subversion
devel/subversion-book
devel/subversion-static
pkg search
支援使用 Shell 萬手字元 (globs)、正規表示法、描述或檔案庫中的其他其他內容。在安裝 ports-mgmt/pkg 或 ports-mgmt/pkg-devel 之後,可參考 pkg-search(8) 以取得更多詳細資訊。
若 Port 套件集已安裝,有數個方法可以查詢 Port 樹中的本地版本。要找到 Port 所在的分類,可輸入 whereis
,其中 file
file
是要安裝的程式:
#
whereis lsof
lsof: /usr/ports/sysutils/lsof
或者,也可使用 echo(1):
#
echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsof
請注意,這也會顯示已下載至 /usr/ports/distfiles
目錄中任何已符合條件的檔案。
另一個方法是使用 Port 套件集內建的搜尋機制來找軟體。要使用搜尋的功能需先 cd 到 /usr/ports
然後執行 make search name=program-name
,其中 program-name
代表軟體的名稱。舉例搜尋 lsof
:
#
cd /usr/ports
#
make search name=lsof
Port: lsof-4.88.d,8
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: ler@lerctr.org
Index: sysutils
B-deps:
R-deps:
內建的搜尋機制會使用索引檔內的資訊。若出現訊息指出需要 INDEX
檔,可執行 make fetchindex
來下載最新的索引檔。當 INDEX
檔存在時,make search
方可執行請求的搜尋動作。
“Path:” 此行代表 Port 的所在位置。
若不要接受這麼多資訊,可使用 quicksearch
功能:
#
cd /usr/ports
#
make quicksearch name=lsof
Port: lsof-4.88.d,8
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
若要進行更有深度的搜尋,使用 make search key=
或 string
make quicksearch key=
其中 string
string
是要搜尋的文字。該文字可以是一部份的註解、描述或相依套件,當不清楚程式的名稱時可以找到與特定主題相關的 Port。
當使用 search
或 quicksearch
時,搜尋的字串不分大小寫。 搜尋 “LSOF” 會與搜尋 “lsof” 產生相同的結果。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。