Portupgrade — легкое обновление портов
FreeBSD 9
1. Обновления системы и дерева портов
обновляем систему, используя утилиту для бинарного обновления системы — freebsd-update:
freebsd-update fetch && freebsd-update install
скачиваем и обновляем коллекцию портов
portsnap fetch Если вы запускаете Portsnap впервые, извлекаем снэпшот в /usr/ports: portsnap extract По завершении первого запуска Portsnap, как было показано выше, /usr/ports может быть обновлен при помощи:
# portsnap fetch && portsnap update
ОБНОВЛЕНИЕ УСТАНОВЛЕННЫХ ПАКЕТОВ ПРИ ПОМОЩИ PKGNG
Не секрет, что желательно иметь в системе последние версии программного обеспечения. Но когда начинаешь задумываться о том, что иногда нужно чтобы обновить порт пересобрать кучу других приложений и библиотек, зависящих от обновляемого порта становится тоскливо, особенно если это нужно сделать на множестве компьютеров.
Но есть и готовое решение, помогающиее решить эту проблему. Оно носит гордое название portupgrade.
#whereis portupgrade portupgrade: /usr/ports/ports-mgmt/portupgrade #cd /usr/ports/ports-mgmt/portupgrade #make install clean
При установке вылезет окошко с запросом выбора базы. Лучше выбрать BDB4.
Далее идет установка, тянет она кстати немало, порядка 10 Mb.
Но вот установка завершилась. Смотрим что утилита умеет, а умеет она многое.
Вот основное:
— a все установленные порты
— F Получить все исходные тексты устанавливаемого пакета, но не устанавливать/обновить.
— r Обновить все порты, от которых зависит устанавливаемый порт.
— R Обновить все порты, которые зависят от устанавливаемого порта.
— v Выводить всю информацию.
— c Выполнить «make config-confitional» перед обновлением каждого порта.
— f Принудительно обновляет порт, если он был переустановлен на другую версию или выполнен downgrade порта.
Лично я обновляю через команду
#portupgrade -rcvf имя_порта
Ну, а узнать список обновляемых портов можно командой
#pkg_version -v | grep "need" png-1.4.1_1 < need updating (port has 1.4.3)
Далее просто
portupgrade -rcvf png-1.4.1_1
И еще, если утилита просит выполнить pkgdb -F — выполните обязательно, она исправляет нарушенные зависимости.
Однако стоит иметь ввиду, что portupgrade — это целый набор утилит:
- portupgrade – одноименная утилита, средство автоматического обновления установленных программ
- portinstall – утилита установки новых программ, присутствующих в системе портов FreeBSD
- portversion – утилита показывающая установленный софт и наличие обновлений для него.
- portsclean – утилита очистки мусора остающигося после сборки портов
- portsdb – утилита создающая базу программ, присутствующих в портах FreeBSD
- ports_glob – предназначена для поиска по базе портов
- portcvsweb – браузер для CVSWeb
- pkgdu – утилита, предназначенная для подсчета дискового пространства занятого уcтановленными программами
- pkgdb – еще одна утилита для управления базой портов
- pkg_which – предназначен для поиска по базе портов
- pkg_sort – утилита сортирует порты в соответствии c зависимостями
- pkg_fetch – утилита для скачки собранных(бинарных) пакетов
- pkg_deinstall – средство для массового удаления установленного софта
Надеюсь, теперь вы не будете испытывать проблем с обновлением приложений.