Объявление: В ближайшее врема, возможность комментировать записи в блогах с учетной записью социальной сети ВКонтакте, будет удалена! В силу неприятия данной социально сети владельцем блога. Комментарии постараюсь сохранить.

Слава Україні! Ла-ла-ла-ла!...

Блог Морозов

Заметки, идеи, мысли...

FreeBSD Tips

Автор: MadHead
MadHead
DevOps, Системный администратор, работающий как с Windows, так и UNIX системами.
Пользователей в сайте сейчас нет
Создано: Четверг, 19 Январь 2012 в FreeBSD

В данная заметка является памяткой по обновлению дерева портов, а также отдельных портов.

Обновление портов

Для обновление дерева портов используется portsnap

При первом запуске нужно скачать и извлечь полную базу портов:
portsnap fetch extract

При последующих - скачивать и обновлять дерево портов:
portsnap fetch update

Для обновление непосредственно портов используется portupgrade

Для рекурсивного обновления всех портов:
portupgrade -arR

Для рекурсивного обновления отдельного пакета:
portupgrade -rR {pkgname}

Также иногда полезно исключить некоторые пакеты из обновления, делается это с помощью ключа -x (для исключения нескольких пакетов опцию можно использовать многократно)
portupgrade -arR -x php5
Обновит все кроме php5

Для того, чтоб предварительно сконфигурировать все пакеты, а потом уже запустить сборку (полезно, когда надо запустить в фоне сборку и не ждать сюрпризов в виде несконфигурированного пакета) нужно использовать ключ -c
portupgrade -crR {pkgname}

Также можно установить новый порт со всеми зависимостями:
portupgrade -N {pkgname}

Также бывает ситуация, когда нужно сделать откат до более ранней версии порта, за это отвечает пакет portdowngrade о синтаксисе постараюсь написать чуть позже...

Для просмотра версий установленных портов, а рядом доступных (из репозитория):
pkg_version -v

Для того, чтоб вывести только требующие обновления порты:
pkg_version -v | grep needs
Тогоже эфекта только быстрее можно добится следующей коммандой:
portversion -v | grep needs

Удалить ненужные рабочие файлы, а также очистить папку distfiles (удалить все файлы, на которые нет ссылки в дереве портов и нет установленного пакета):
portsclean -C -DD

0 голоса(ов)

Не достаточно прав для добавления комментариев (только зарегистрированные пользователи)

Tekstkontent