Обновление порта FreeBSD
Иногда необходимо обновить только один порт во FreeBSD или всего лишь несколько, а не все дерево портов. Как это всегда бывает в UNIX-like системах, процедуру обновления порта FreeBSD можно сделать разными способами.
Например, с помощью утилиты portsnap, которая скачивает сжатый снапшот портов и разархивирует его в дерево портов. Допустим, нам нужно обновит только порт сервера DNS BIND9 /usr/ports/dns/bind98:
portsnap fetch
portsnap extract dns/bind98
portsnap update
Далее все как обычно для FreeBSD, в каталоге порта команды:
make install clean
Также при таком методе может потребоваться обновить еще и зависимые порты.
Но удобнее всего обновлять определенные порты во FreeBSD с помощью утилиты portupgrade. Если она не стоит, ставим из портов:
cd /usr/ports/ports-mgmt/portupgrade
make
make install
make clean
rehash
Команда rehash необходима для обновления переменных окружения командной строки, чтобы новая утилита была сразу доступной.
Проверить, какие порты требуют обновления:
pkg_version -v | grep need
Обновим порт FreeBSD portupgrade с помощью самого себя.
Запустим команду с ключами -nr, чтобы проверить, как будет выглядить обновление порта и пакетов, от него зависящих:
portupgrade -nr portupgrade
Если все нас устраивает, запускаем без ключа -n:
portupgrade -r portupgrade
Хочется также упомянуть утилиту portdowngrade, которая позволяет откатиться на предудущую версию порта, если что-то пойдет не так.
<< Алиас команды Групповая смена прав на файлы и каталоги >>