Использование Portsnap (Обновление портов FreeBSD)

Вырезки  из handbook: + UPD от 11/01/2011

Portsnap — система для защищенного распространения дерева портов FreeBSD. Примерно раз в час генерируется »снэпшот» дерева портов, который затем архивируется и подписывается электронной подписью. Полученные файлы затем распространяются при помощи HTTP.

Первый запуск Portsnap

При первом запуске утилите portsnap(8) потребуется загрузить упакованный снэпшот полного дерева портов в каталог /var/db/portsnap/ (/usr/local/portsnap/, если Portsnap был установлен из Коллекции портов). На начало 2006 года размер снэпшота составляет около 41 МБ.

После загрузки снэпшота из него может быть развернуто основное дерево портов. Это необходимо, даже есть каталог /usr/ports/заполнен каким-либо другим способом, например при помощи CVSup, поскольку позволяет установить точку отсчета, от которой portsnap будет определять необходимый объем изменений.

Замечание: В конфигурации установки по умолчанию каталог /usr/ports не создан. Если вы используете FreeBSD 6.0-RELEASE, создайте его самостоятельно перед первым запуском утилиты portsnap. В более поздних версиях FreeBSD или в версии из портов Portsnap автоматически создаст его при первом вызове.

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

После того как первоначальный снэпшот дерева портов будет развернут в каталог /usr/ports/, обновление дерева портов будет состоять из двух шагов: загрузки (fetch) обновлений к упакованному снэпшоту и последующего обновления (update) основного дерева. Оба шага могут быть выполнены одним запуском portsnap:

Замечание: Некоторые из старых версий portsnap не поддерживают такой синтаксис; в этом случае, используйте две последовательные команды:

Запуск portsnap из cron

Для того, чтобы избежать проблем с »безумными толпами» клиентов, одновременно приходящими на сервера Portsnap, команда portsnap fetch не запустится как задание cron(8). Для работы из cron предназначена специальная команда portsnap cron, которая перед загрузкой обновлений ожидает случайное время до 3600 секунд.

Кроме того, настоятельно не рекомендуется запускать из cron команду portsnap update, поскольку при пересечении с процессом сборки или установки какого-либо порта неизбежно возникнет конфликт. С другой стороны, безопасно обновить индексный файл INDEX, запустив portsnap -I update (разумеется, команду portsnap update без ключа -I для обновления оставшейся части дерева портов придется запустить вручную).

Для ежедневного обновления упакованного снэпшота и индексного файла при помощи portsnap и последующего отчета почтой об устаревших установленных пакетах добавьте в ваш файл /etc/crontab строку

Замечание: Если системные часы не установлены в локальное время, пожалуйста, замените 3 на случайное число между 0 и 23, чтобы не создавать пиковых нагрузок на серверы portsnap.

Замечание: Старые версии утилиты portsnap не поддерживали несколько команд при одном запуске (например, cron update). Если команда, указанная выше, не сработает, попробуйте заменить portsnap -I cron update на portsnap cron && portsnap -I update

UPD от 11/01/2011

Не все , оказывается))

После настройки всего выше сказанного мне на почту стали падать уведомления о необходимости обновления портов, но порты сами не обновлялись, непорядок, решил исправить и в этом мне поможет portupgrade.

Установил пакет итз портов (/usr/ports/ports-mgmt/portupgrade), подтянулось ещё пару зависимостей.

Перечитал команды: rehash

Обновил все необходимые порты: portupgrade -a

VN:F [1.9.22_1171]
Рейтинг: 0.0/5 (0 голос (-ов) всего)

Комментарии закрыты