前言
pkg_tree,簡單說當使用 Ports Tree System 安裝套件時,有些套件跟其它套件是有 相依 關系的,例如安裝 Nagios 套件時 也會相依 (需要) 安裝 Perl 套件,所以當您安裝 Nagios 時系統會檢查是否有安裝 Perl 若沒有此時系統就會順便幫您安裝;那我們要如何了解每個套件跟其它套件之間的相依性呢? pkg_tree 可清鬆幫你解決這個難題。實作環境
- FreeBSD 6.2-STABLE
- pkg_tree-1.1_1
安裝及設定
步驟1.安裝 pkg_tree 套件
切換至 Ports Tree 路徑安裝 pkg_tree 套件。 # make install clean //安裝並清除暫存檔案
步驟2.開始使用 pkg_tree
列出 所有 套件的相依附屬關系樹狀結構。# pkg_tree
列出 指定 套件的相依附屬關系樹狀結構,如下指令為顯示安裝 Nagios 時其相依的附屬套件。
# pkg_tree nagios //顯示 nagios 套件附屬樹狀結構
nagios-2.9
|\__ png-1.2.14
|\__ pkg-config-0.21
|\__ perl-5.8.8
|\__ libiconv-1.9.2_2
|\__ gettext-0.16.1_1
|\__ jpeg-6b_4
|\__ nagios-plugins-1.4.6,1
|\__ freetype2-2.2.1_1
\__ gd-2.0.34,1
nagios-plugins-1.4.6,1
|\__ perl-5.8.8
|\__ libiconv-1.9.2_2
\__ gettext-0.16.1_1
列出 指定 套件內 各 相依附屬關系樹狀結構,如下指令為顯示安裝 Nagios 時其相依的附屬套件中相依於附屬套件的套件。
# pkg_tree -v nagios //顯示 nagios 套件附屬樹狀結構
nagios-2.9
|\__ png-1.2.14
|\__ pkg-config-0.21
|\__ perl-5.8.8
|\__ libiconv-1.9.2_2
|\__ gettext-0.16.1_1
| \__ libiconv-1.9.2_2 //再顯示相依套件內又相依的套件
|\__ jpeg-6b_4
|\__ nagios-plugins-1.4.6,1
| |\__ perl-5.8.8
| |\__ libiconv-1.9.2_2
| \__ gettext-0.16.1_1
| \__ libiconv-1.9.2_2
|\__ freetype2-2.2.1_1
| \__ pkg-config-0.21
\__ gd-2.0.34,1
|\__ png-1.2.14
|\__ pkg-config-0.21
|\__ jpeg-6b_4
\__ freetype2-2.2.1_1
\__ pkg-config-0.21
nagios-plugins-1.4.6,1
|\__ perl-5.8.8
|\__ libiconv-1.9.2_2
\__ gettext-0.16.1_1
\__ libiconv-1.9.2_2
列出 指定 套件內 最頂端 相依附屬關系樹狀結構。
# pkg_tree -t nagios //顯示 nagios 套件附屬樹狀結構 (nagios-plugins 不顯示)
nagios-2.9
|\__ png-1.2.14
|\__ pkg-config-0.21
|\__ perl-5.8.8
|\__ libiconv-1.9.2_2
|\__ gettext-0.16.1_1
|\__ jpeg-6b_4
|\__ nagios-plugins-1.4.6,1
|\__ freetype2-2.2.1_1
\__ gd-2.0.34,1
不 列出 指定 套件相依附屬關系樹狀結構,僅列出版本
# pkg_tree -q nagios //可配合 -t 參數使用
nagios-2.9
nagios-plugins-1.4.6,1