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

Материал из wiki.lissyara.su
Перейти к: навигация, поиск

Существует несколько способов обновить дерево портов. Здесь описаны csup и portsnap. Если знаете ещё — добавляйте.

csup

csup идёт в базовом комплекте FreeBSD в качестве замены устаревшего cvsup. При правильном использовании будет скачиваться только разница. Возможные российские серверы для обновления:

  • cvsup.ru.FreeBSD.org
  • cvsup2.ru.FreeBSD.org
  • cvsup3.ru.FreeBSD.org
  • cvsup4.ru.FreeBSD.org
  • cvsup5.ru.FreeBSD.org
  • cvsup6.ru.FreeBSD.org
  • cvsup7.ru.FreeBSD.org (ресурс с mirror.yandex.ru).

Надо заметить, что по каким-то причинам (видимо, работа планировщика на большом числе клиентов) около 0:00 скорость всех серверов становиться очень медленной. если будете ставить в планировщик - ставьте на другое время, не стоит уподобляться толпе.

Быстрый способ

Так как в файле, лежащем в examples, не указан только сервер, с которого нужно производить обновление, то можно указать его непосредственно при запуске csup:

  • Получаем права суперпользователя root.
  • Запускаем обновление
csup -h cvsup7.ru.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
  • Всё!

Правильный способ

  • Получаем права суперпользователя root.
  • Создаём папку, в которой будут лежать конфигурационные файлы:
mkdir -p /usr/local/etc/csup
  • Копируем исходный файл конфигурации:
cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/csup/ports-supfile
  • Редактируем файл любимым редактором (ee, vim, nano, vi, mcedit):
ee /usr/local/etc/csup/ports-supfile
  • Вписываем default host.
  • Выходим с сохранением: из ee, нажав Esc и Enter; из vi/vim — :wq; из mcedit — F10.
  • Запускаем обновление портов:
csup /usr/local/etc/csup/ports-supfile

fetchindex

Для нормальной работы нам нужен файл /usr/ports/INDEX, который используется при make pretty-print-* и make search. Для его получения есть два варианта:

  1. Собрать индексный файл самому:
    cd /usr/ports && make index
  2. Скачать уже собранный индексный файл:
    cd /usr/ports && make fetchindex

portsnap

portsnap не умеет модифицировать существующее дерево портов — оно должно быть обязательно создано этой утилитой. Таким образом, если пользуетесь portsnap, то нельзя пользоваться другими способами (csup/cvsup) — после них portsnap будет работать некорректно.

первый раз

  • Выкачиваем снапшот портов ~51m
portsnap fetch
  • Развертываем его в /usr/ports
portsnap extract

(можно проделать одной командой portsnap fetch extract - чтобы не следить "скачался или нет")

следующие разы

  • Выкачиваем патчи - очень мало трафика
portsnap fetch
  • Применяем патчи к дереву /usr/ports
portsnap update

Изменения в /etc/make.conf

Команда make update, запущенная из каталога /usr/ports, будет обновлять дерево портов разными способами в зависимости от опций, прописанных в /etc/make.conf.

  • CVS_UPDATE (bool) — установите для использования CVS для обновления портов командой make update.
  • SUP_UPDATE
  • SUP — путь к команде csup или cvsup для make update.
  • SUPFLAGS
  • SUPHOST
  • SUPFILE
  • PORTSSUPFILE
  • DOCSUPFILE — по умолчанию, /usr/share/examples/cvsup/doc-supfile.
  • USA_RESIDENT
  • MASTER_SITE_OVERRIDE
  • NO_DOCUPDATE
  • NO_PORTSUPDATE

См. также

Ссылки

Handbook

www.lissyara.su

opennet.ru