Обновление портов FreeBSD
Категория: / DEV Блог
/ Сервер (FreeBSD)
Ставим cvsup (утилита обновления портов)
Создаем в домашней папке директорию cvsup
Там создаем следующие файлы
ports-supfile
Заметьте, tag=. обозначает текущий релиз/ветку вашей FreeBSD.
Примеры supfile файлов лежат в /usr/share/examples/cvsup.
Для определения самого быстрого cvsup-сервера можно воспользоваться портом
/usr/ports/sysutils/fastest_cvsup (pkg_add -r fastest_cvsup).
Запускаем fastest_cvsup -c ru. Программа протестирует на скорость ответа все сервера русской зоны.
Выберите самый быстрый и впишите его в параметр default host.
cvsup.sh
-L 2 обозначает уровень отчетности скрипта. Установите в 0, если не хотите видеть
список обновляемых портов (генерит лишний трафик для вывода списка).
Обновить коллекцию портов теперь можно скриптом cvsup.sh,
который можно повесить на крон (periodic/daily например).
Установка портов
Устанавливать порты можно утилитой portinstall (она является алиасом команды portupgrade -N)
Чтобы не собирать порты, можно воспользоваться ключем -P, при котором приоритет отдается пакетам (packages),
если не оказывается нужного, будет собран порт из исходников.
Пакеты - это бинарные (скомпилированые) порты, готовые к употреблению на вашей системе.
Пакетами можно управлять с помощью команд, начинающихся на pkg_*
Другое
# cd /usr/ports/net/cvsup-without-gui
# make install clean
Создаем в домашней папке директорию cvsup
Там создаем следующие файлы
ports-supfile
*default host=cvsup4.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
ports-all
Заметьте, tag=. обозначает текущий релиз/ветку вашей FreeBSD.
Примеры supfile файлов лежат в /usr/share/examples/cvsup.
Для определения самого быстрого cvsup-сервера можно воспользоваться портом
/usr/ports/sysutils/fastest_cvsup (pkg_add -r fastest_cvsup).
Запускаем fastest_cvsup -c ru. Программа протестирует на скорость ответа все сервера русской зоны.
Выберите самый быстрый и впишите его в параметр default host.
cvsup.sh
#!/bin/sh
cvsup -g -L 2 /root/cvsup/ports-supfile
# update index - стятен индекс портов из сети, вместо того чтобы собирать его локально
portsdb -Fu
-L 2 обозначает уровень отчетности скрипта. Установите в 0, если не хотите видеть
список обновляемых портов (генерит лишний трафик для вывода списка).
Обновить коллекцию портов теперь можно скриптом cvsup.sh,
который можно повесить на крон (periodic/daily например).
Установка портов
cd /usr/ports
make search name="port_you_want"
cd port_path
make clean
make
make install
#make config - сконфигурировать порт, если он имеет опции
# в случае если порт апгрейдится, делаем так
make clean
make deinstall
make
make reinstall
Устанавливать порты можно утилитой portinstall (она является алиасом команды portupgrade -N)
Чтобы не собирать порты, можно воспользоваться ключем -P, при котором приоритет отдается пакетам (packages),
если не оказывается нужного, будет собран порт из исходников.
Пакеты - это бинарные (скомпилированые) порты, готовые к употреблению на вашей системе.
Пакетами можно управлять с помощью команд, начинающихся на pkg_*
pkg_info # показать информацию о пакетах
pkg_info | grep <пакет> #выберет только интересующую информацию
pkg_add -vrf <пакет> #добавить пакет с удаленного репозитория и покажет полный лог действий
pkg_delete <пакет> # удалить пакет
Другое
#Удобная утилита отображет дерево зависимостей для порта
pkg_tree -tv <port>
#Починить зависимости пакетов
pkgdb -fu
или простым пингом
>ping cvsup1.ru.FreeBSD.org
Обмен пакетами с pobrecita.freebsd.ru [194.87.13.42] по 32 байт:
Ответ от 194.87.13.42: число байт=32 время=7мс TTL=121
Ответ от 194.87.13.42: число байт=32 время=7мс TTL=121
Ответ от 194.87.13.42: число байт=32 время=7мс TTL=121
Ответ от 194.87.13.42: число байт=32 время=6мс TTL=121
>ping cvsup4.ru.FreeBSD.org
Обмен пакетами с cvsup.mtu.ru [212.188.8.36] по 32 байт:
Ответ от 212.188.8.36: число байт=32 время=32мс TTL=53
Ответ от 212.188.8.36: число байт=32 время=30мс TTL=53
Ответ от 212.188.8.36: число байт=32 время=30мс TTL=53
здесь 7 мс однозначно быстрее 30.
можно воспользоваться встроенной утилитой для обновления портов csup.