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

Аватар пользователя 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 - даст список верхнего уровня пакетов без их зависимостей, установка только этих пакетов должны установить всех установленных пакетов.

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

Ваша оценка: Нет Средняя: 5 (4 голоса)

спасибо

очень полезная утилита. Уверен упростит мне жизнь )

thnx

Супер)
Так же могут быть полезны pstree и ncdu.

Good

Hi. I’m really glad to learn more about the servers and the defined ports associated with it. stop snoring aids I actually wanted to know how it is possible for the top-level package to remain in the list without their dependencies. Please keep updating.

Последние статьи

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer