學習誌
首頁 FreeBSD 系統管理 管理應用軟體

下一頁 上一頁 最近更新:2008年09月26日20時03分39秒
Valid XHTML 1.1! Valid CSS!

接下來要來介紹portupgrade相關的程式如何使用。下達以下指令。

root@myhost [/usr/ports/ports-mgmt/portupgrade] > portversion
portversion: Command not found.

如果有以上情形發生,是一個正常的現象。這是為了加速搜尋可執行的程式的速度,而使用記憶體來記憶可執行的程式在硬碟中存放的位置,建立一個索引。每次執行程式的時候就不用搜尋硬碟。每次剛安裝完軟體,硬碟中的可執行的程式就增加了一些,但是在記憶體中的索引卻不一定會同步更新。就會產生Command not found這種「指令找不到」的情形。

解決的方式有二種:一是下達rehash指令,更新在記憶體中的索引;二是重新登入系統。

root@myhost [/usr/ports/ports-mgmt/portupgrade] > rehash

現在讓我們來看看portversion正常執行時會出現的結果。

[Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... - 6 packages found (
-0 +6) ...... done]
[Updating the portsdb <format:bdb_btree> in /usr/ports ... - 17226 port entries 
found .........1000.........2000.........3000.........4000.........5000.........
6000.........7000.........8000.........9000.........10000.........11000.........
12000.........13000.........14000.........15000.........16000.........17000.. ..
... done]
db41                        =
perl                        =
portupgrade                 =
ruby                        =
ruby18-bdb                  =
sudo                        <

[Rebuilding the pkgdb ...][Update the portsdb ...]在執行portversion時不一定會出現,由於我們是第一次執行portversion,因此才需要建立和更新portversion所需要的資料庫。重點在於那幾行有=的資訊。我們可以看到已經安裝的軟體或套件被列出來,而右方則是一個=。等號是表示目前所安裝的軟體或套件和系統上的ports的版本一致,不需要做更新。