Portmaster – обновление программ
Например, установить файловый менеджер mc.
# portmaster /usr/ports/misc/mc
Сначала утилита сделает make config для каждого порта, от которого зависит mc. Затем отвечаем на несколько вопросов по установке, а дальше все идет в автоматическом режиме. Portmaster скачивает пакеты (в несколько потоков) и устанавливает их. На все вопросы по настройке портов мы уже ответили.
Если у вас в distfiles лежат старые версии пакетов, portmaster будет интересоваться что с ними делать — сохранить на всякий случай или стереть?
Есть ключи
«-D» — не удалять пакеты и
«-d» — удалять все старые пакеты.
Почистить старые пакеты можно командой:
# portmaster --clean-distfiles-all
Для УДАЛЕНИЯ ПО используйте portmaster с ключом «-e», например
# portmaster -e mc
Программа проанализирует дерево зависимостей и спросит, что делать с портами, которые стали ненужными.
Обновление портов. Для начала выясним, какие порты можно обновить
portmaster -L > portmaster.out && less portmaster.out
Программа делит порты на 4 группы, в соответствии с тем, зависит ли порт от других портов
и зависят ли установленные порты от него. Кстати, корневые (root) порты и лиственные (leaf) можно смело удалять, если они кажутся не нужными. Другой вопрос, что они могут быть нужны для сборки или установки новых портов, тогда portmaster’у в скором времени придется тянуть их снова.
Определив, какие порты следует обновить, даем команду
# portmaster -d port1 port2
О ключе -d смотри выше. Следом идет список портов, которые нужно обновить (или установить, если они еще не установлены).
Обновление ВСЕХ портов, которым это необходимо
# portmaster -vda
Check for updates and choose / update any options
# portmaster -an --no-confirm
Обновить все порты БЕЗ ВОПРОСОВ подтверждения
# portmaster -aydbg --no-confirm
…Or update only specific ports without any confirmation questions
# portmaster -ydbg --no-confirm portdir/port portdir2/port2
Explanations of options from the portmaster man page
-y answer yes to all user prompts for the features below
-d always clean distfiles
-b create and keep a backup package of an installed port
-g create a package of the new port
–no-confirm do not ask the user to confirm the list of ports to be installed and/or updated before proceeding
ЗАМЕНИТЬ существующий порт другим портом (обычно перейти на НОВУЮ версию)
# portmaster -o <new port dir in /usr/ports> <installed port>
https://forums.freebsd.org/threads/guide-a-closer-look-at-portmaster.61826/