Порты FreeBSD

Просмотр зависимостей пакетов

# pkg_info -rx apr

Depends on - этот пакет зависит от указанного, Dependency - другие пакеты, зависящие от этого.

# pkg_info -Rx apr

Required by - список пакетов, который зависят от этого пакета напрямую, либо через какой-то другой пакет.

Удаление пакета

# pkg_delete -x lzma

Удаление лишних пакетов

Для удаления ненужных пакетов можно воспользоваться утилитой pkg_cutleaves. Её можно установить из портов:

# /usr/ports/ports-mgmt/pkg_cutleaves
# make install

Утилита спрашивает, нужен ли вам пакет, от которого ничего не зависит и либо оставляет его либо удаляет. Если в результате удаления пакета появились новые пакеты, от которых ничего не зависит, утилита повторит цикл.

После работы утилиты останутся только лишь те пакеты, которые были отмечены как нужные и те пакеты, от которых зависят нужные.

Обновление Perl

После обновления Perl нужно переместить установленные модули Perl в каталог, соответствующий новой версии Perl. Для этого можно воспользоваться утилитой perl-after-upgrade, имеющейся в базовой системе FreeBSD:

# perl-after-upgrade -f

Иногда, впрочем, приходится делать так:

# portupgrade -f p5-*

Обновление pkg-config

Пакет pkg-config был переименован и вместо него следует использовать порт devel/pkgconf. С этим могут быть связаны проблемы при обновлении, которые решаются следующей командой:

# portupgrade -o devel/pkgconf pkg-config

Поддержка LZMA

В случае ошибки при сборке порта:

=> SHA256 Checksum OK for curl-7.24.0.tar.lzma.
===>   curl-7.24.0_3 depends on file: /usr/local/bin/perl5.12.4 - found
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
*** Error code 1

Нужно установить порт libarchive и использовать его вместо tar из базовой системы:

# cd /usr/ports/archivers/libarchive
# make install

# ln -sf /usr/local/bin/bsdtar /usr/bin/tar