【前言】
pkg_tree - Get a 'graphical' tree-overview of installed packages,簡單說你使用 ports 安裝套件時,有些套件跟其它套件是有相依關系的,例如安裝 Nagios 時 也會需要安裝 perl 所以當你安裝 Nagios 時系統會檢查是否有安裝 perl 了若沒有就會順便幫你安裝,那我們要如何了解每個套件跟其它套件的相依性呢?pkg_tree 可清鬆幫你解決這個難題。
【作業環境】
FreeBSD 6.2-STABLE
pkg_tree-1.1_1
【安裝及設定】
Step1.安裝 pkg_tree 套件
#cd /usr/ports/ports-mgmt/pkg_tree //切換至安裝路徑
#make install clean //安裝並清除安裝過程中不必要的檔案
Step2.開始使用 pkg_tree
列出所有套件的相依附屬關系樹狀結構
#pkg_tree
列出指定套件的相依附屬關系樹狀結構
#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
列出指定套件內各相依附屬關系樹狀結構
#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
【參考】
[FreeBSD Hypertext Man Pages PKG_TREE(7)]