Обновление дерева портов
Существует несколько способов обновить дерево портов. Здесь описаны 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 /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. Для его получения есть два варианта:
- Собрать индексный файл самому:
cd /usr/ports && make index
- Скачать уже собранный индексный файл:
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 —
См. также
- Обновление портов (т.е. программ, установленных из портов).
- Пересборка «world» (т.е. изменение/обновление всей системы).
Ссылки
Handbook
www.lissyara.su
opennet.ru