В прошлой статье я описал обновление базовой системы, в данной предлагаю рассмотреть, как обновлять установленные порты (пакеты).
1. Обновление дерева портов
Перед выполнением действий по установке или обновлением портов необходимо обновить дерево портов, если уж быть полностью честным, его нужно держать в актуальном состоянии.
Если вы делаете это впервые после установки или после длительного перерыва
portsnap fetch extract
Иначе
portsnap fetch update
Во втором варианте задача будет выполнена значительно быстрее, эту же команду можно добавить в cron
2. Portupgrade
Выполнять обновления можно 2 способами:
Вручную, переустанавливая каждый пакет
Воспользоваться утилитой portupgrade или portmaster. Я предпочитаю portupgrade
Устанавливаем portupgrade
cd /usr/ports/ports-mgmt/portupgrade
make install clean
3. Обновление портов
Для просмотра списка установленных пакетов, для которых имеются обновления, нужно выполнить команду
pkg version | grep '<'
Вы можете запустить обновление всех пакетов, для которых имеются обновления, выполнив команду
portupgrade –a
Но при большом количестве доступных обновлений это может занять много времени, также могут возникнуть конфликты, в результате которых процесс завершится неудачей.
Для обновления какого-то конкретного порта необходимо дать команду portupgrade <имя_порта> Например, для обновления proftpd
portupgrade proftpd
Допускается давать перечень портов для обновления. Например
portupgrade proftpd php56
При работе данной утилиты будут обновлены также все зависимые порты, если в этом будет необходимость или они установятся, если они отсутствуют.
Стоит также помнить, что не существует ни одной утилиты или готового универсального решения для обновления портов между версиями (мажорными или минорными), все утилиты обновляют в пределах сборки. На практике это означает, что для обновления Apache с 2.2 на 2.4 это необходимо делать вручную, удалив старую версию, установив новую и соответственно, изменив конфигурационные файлы.
Комментариев нет:
Отправить комментарий