FreeBSD 使用手冊
前一頁 | 章 4. 軟體套件管理篇：Packages 及 Ports 機制 | 下一頁

# 4.3. 尋找想裝的軟體

在安裝任何軟體之前，你必須先了解你想要什麼的軟體， 以及該軟體叫做什麼名稱。

FreeBSD 上可裝的軟體清單不斷在增加中， 不過，我們很慶幸有幾種方式可以來找你想裝的軟體：

- FreeBSD 網站上有更新頻繁的軟體清單，在 http://www.FreeBSD.org/ports/ 。 各 ports 皆依其性質而分門別類，既可以透過軟體名稱來搜尋 (如果知道名字的話)， 也可以在分類中列出所有可用的軟體。

- 由 Dan Langille 所維護 FreshPorts 網站，網址在 http://www.FreshPorts.org/。 FreshPorts 會不斷追蹤 port tree 中的各種變化， 也可以針對某些 port 以列入 “追蹤名單(watch)” 內， 當有任何軟體升級時，就會發 email 提醒。

- 如果不知道想裝的軟體名稱，那麼可透過像是 FreshMeat (http://www.freshmeat.net/) 這類的網站來找， 如果找到了，可以回 FreeBSD 網站去看一下這個應用程式是否已經被 port 進去了。

- 若知道該 port 的正確名稱，但不知道放在哪個分類目錄，可以用 whereis(1) 指令來找出來。 只要打 `whereis `file`` 即可，而 `file` 的地方請改為想裝的軟體名稱。 若找到該軟體，就會告訴你，就像下面這樣：

      # whereis lsof
      lsof: /usr/ports/sysutils/lsof

  如此一來，就會知道 `lsof` (系統工具程式) 是放在 `/usr/ports/sysutils/lsof` 目錄。

- 此外，也可以用 echo(1) 輕鬆找出該 port 是位於 porte tree 的何處。 舉例來說：

      # echo /usr/ports/*/*lsof*
      /usr/ports/sysutils/lsof

  請注意，這也會顯示 `/usr/ports/distfiles` 目錄內有符合檔名的檔案。

- 還有另一招，就是用 Ports Collection 本身內建的搜尋機制。 要用的時候，請先切換到 `/usr/ports` 目錄。 然後，打 `make search name=`程式名稱`` ，其中 `程式名稱` 請改為想找的軟體名稱。 舉例來說，若要找的是 `lsof` 的話，那麼就是：

      # cd /usr/ports
      # make search name=lsof
      Port:   lsof-4.56.4
      Path:   /usr/ports/sysutils/lsof
      Info:   Lists information about open files (similar to fstat(1))
      Maint:  obrien@FreeBSD.org
      Index:  sysutils
      B-deps:
      R-deps:

  這些搜尋結果中，要注意的是 “Path:” 這行， 因為這行會告訴你可以在哪邊找到該 port。 而搜尋結果的其他部分，因為與 port 安裝較無關係，所以這裡就不講了。

  若要更徹底的搜尋，那麼可以改用 `make search key=`string``，其中 `string` 請改為想搜尋的關鍵字。 如此一來會找 port 名稱、軟體簡介(comments)、軟體敘述檔(descriptions) 以及軟體相依關係(dependencies)裡面是否有符合關鍵字， 此外，不清楚軟體名稱的話，也可以拿來找有符合關鍵字主題的 port。

  剛講的這兩種方式，搜尋字眼都是 case-insensitive(不必區分大小寫)。 比如，搜尋 “LSOF” 與 “lsof” 兩者結果都會是一樣的。

前一頁 | 內容 | 下一頁
安裝軟體的各種方式介紹 | 上一層 | 使用 Packages 管理機制

本文及其他文件，可由此下載：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。