Порты 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