pkg_tree - Визуальное дерево пакетов и их зависимостей во FreeBSD

Posted Втр, 04/06/2010 - 15:30 by Raven2000

Эта небольшая утилита помогает мне разобраться на серверах с установленными не мною портами и отсеять зерна от плевел и надеюсь вам она тоже понравится.

# cd /usr/ports/

# make search key=pkg_tree

Port: pkg_tree-1.1_1

Path: /usr/ports/ports-mgmt/pkg_tree

Info: Get a 'graphical' tree-overview of installed packages

Maint: edwin@mavetju.org

B-deps: perl-5.10.1

R-deps: perl-5.10.1

WWW: _http://www.mavetju.org/

# cd /usr/ports/ports-mgmt/pkg_tree ; make install clean

Чтобы показать зависимости всех пакетов, запустите без аргументов (для удобства чтения используйте контейнер с more):

# pkg_tree |more

ImageMagick-nox11-6.5.8.10_1

|\__ expat-2.0.1_1

|\__ gsfonts-8.11_5

|\__ python26-2.6.4

|\__ perl-5.8.9_3

|\__ png-1.2.42

|\__ libfpx-1.2.0.12_1

|\__ lcms-1.18a_1,1

|\__ jpeg-7

|\__ jbigkit-1.6

|\__ tiff-3.9.2

|\__ pkg-config-0.23_1

|\__ freetype2-2.3.11

|\__ fontconfig-2.8.0,1

|\__ pcre-8.00

|\__ libltdl-2.2.6b

|\__ libiconv-1.13.1_1

|\__ libxml2-2.7.6_1

|\__ gettext-0.17_1

|\__ libgpg-error-1.7

|\__ libgcrypt-1.4.4

--More--(byte 421)

Чтобы отобразить зависимости одного пакета, запустите его с нужным аргументом:

# pkg_tree zabbix-server-1.8.2_1,2

zabbix-server-1.8.2_1,2

|\__ libssh2-1.2.4,2

|\__ ca_root_nss-3.12.4

|\__ openldap-client-2.4.21

|\__ fping-2.4b2_1

|\__ perl-5.8.9_3

|\__ net-snmp-5.4.2.1_6

|\__ curl-7.19.7_1

|\__ pkg-config-0.23_1

|\__ mysql-client-5.0.89

|\__ libiconv-1.13.1_1

|\__ gettext-0.17_1

|\__ libgpg-error-1.7

|\__ libgcrypt-1.4.4

|\__ gnutls-2.8.3

\__ iksemel-1.4_1

Чтобы отобразить зависимости зависимостей, используйте параметр -v:

# pkg_tree -v zabbix-server-1.8.2_1,2

zabbix-server-1.8.2_1,2

|\__ libssh2-1.2.4,2

|\__ ca_root_nss-3.12.4

|\__ openldap-client-2.4.21

|\__ fping-2.4b2_1

|\__ perl-5.8.9_3

|\__ net-snmp-5.4.2.1_6

| \__ perl-5.8.9_3

|\__ curl-7.19.7_1

| \__ ca_root_nss-3.12.4

|\__ pkg-config-0.23_1

|\__ mysql-client-5.0.89

|\__ libiconv-1.13.1_1

|\__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ libgcrypt-1.4.4

| |\__ libiconv-1.13.1_1

| |\__ gettext-0.17_1

| | \__ libiconv-1.13.1_1

| \__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ gnutls-2.8.3

| |\__ pkg-config-0.23_1

| |\__ libiconv-1.13.1_1

| |\__ gettext-0.17_1

| | \__ libiconv-1.13.1_1

| |\__ libgpg-error-1.7

| | |\__ libiconv-1.13.1_1

| | \__ gettext-0.17_1

| | \__ libiconv-1.13.1_1

| \__ libgcrypt-1.4.4

| |\__ libiconv-1.13.1_1

| |\__ gettext-0.17_1

| | \__ libiconv-1.13.1_1

| \__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

\__ iksemel-1.4_1

|\__ pkg-config-0.23_1

|\__ libiconv-1.13.1_1

|\__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ libgcrypt-1.4.4

| |\__ libiconv-1.13.1_1

| |\__ gettext-0.17_1

| | \__ libiconv-1.13.1_1

| \__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

\__ gnutls-2.8.3

|\__ pkg-config-0.23_1

|\__ libiconv-1.13.1_1

|\__ gettext-0.17_1

| \__ libiconv-1.13.1_1

|\__ libgpg-error-1.7

| |\__ libiconv-1.13.1_1

| \__ gettext-0.17_1

| \__ libiconv-1.13.1_1

\__ libgcrypt-1.4.4

|\__ libiconv-1.13.1_1

|\__ gettext-0.17_1

| \__ libiconv-1.13.1_1

\__ libgpg-error-1.7

|\__ libiconv-1.13.1_1

\__ gettext-0.17_1

\__ libiconv-1.13.1_1

-v - зависимости зависимостей.

-t - чтобы показывать только верхнего уровня пакетов.

-b - чтобы показать только нижний уровень пакеты.

-t -q - даст список верхнего уровня пакетов без их зависимостей, установка только этих пакетов должны установить всех установленных пакетов.

Надеюсь вам это поможет немного разобраться в помоечке установленных портов. =)

http://www.ignix.ru/public/pkgtree

Обновлено: 12.03.2015