Обновление дерева портов в FreeBSD c помощью CVSup, Portsnap
Добавлено: 05 мар 2011, 08:51
Порт - это один из очень удобных способов установки программного
обеспечения для FreeBSD. Чтобы установить нужную программу достаточно
войти в директорию с нужным портом и дать всего одну команду make install.
CVSup это пакет программного обеспечения для распространения и обновления исходных текстов с основного репозитория CVS на удаленном сервере. Исходные тексты FreeBSD поддерживаются в репозитории CVS на центральной машине разработки в Калифорнии. С помощью CVSup пользователи FreeBSD легко могут поддерживать собственные исходные тексты в актуальном состоянии.
Для обновления локального дерева портов нам понадобится пакет cvsup.
Установим его
Код: Выделить всё
# cd /usr/ports/net/cvsup/
# make install && clear
Код: Выделить всё
cp /usr/share/examples/cvsup/ports-supfile /etc/supfile
Код: Выделить всё
ee /etc/supfile
Код: Выделить всё
*default host=cvsup2.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
ports-all
#ports-base
#ports-accessibility
#ports-arabic
#ports-archivers
#ports-astro
#ports-audio
#ports-benchmarks
#ports-biology
#ports-cad
#ports-chinese
#ports-comms
#ports-converters
#ports-databases
#ports-deskutils
#ports-devel
#ports-dns
#ports-editors
#ports-emulators
#ports-finance
#ports-french
#ports-ftp
#ports-games
#ports-german
#ports-graphics
#ports-hebrew
#ports-hungarian
#ports-irc
#ports-japanese
#ports-java
#ports-korean
#ports-lang
#ports-mail
#ports-math
#ports-mbone
#ports-misc
#ports-multimedia
#ports-net
#ports-net-im
#ports-net-mgmt
#ports-net-p2p
#ports-news
#ports-palm
#ports-polish
#ports-ports-mgmt
#ports-portuguese
#ports-print
#ports-russian
#ports-science
#ports-security
#ports-shells
#ports-sysutils
#ports-textproc
#ports-ukrainian
#ports-vietnamese
#ports-www
#ports-x11
#ports-x11-clocks
#ports-x11-drivers
#ports-x11-fm
#ports-x11-fonts
#ports-x11-servers
#ports-x11-themes
#ports-x11-toolkits
#ports-x11-wm
Код: Выделить всё
cvsup -g -L 2 /etc/supfile
саздаем скрипт в cvsup_up.sh в /usr/local/sbin/ и поместим в него команду обновления портов
Код: Выделить всё
/usr/local/bin/cvsup -g -L 2 /etc/supfile
Код: Выделить всё
35 23 * * 6 root /usr/local/sbin/cvsup_up.sh
Описание опции:
host=cvsup.FreeBSD.org - указывает, откуда мы хотим получать обновления. Этот путь можно изменить при и запуске программы cvsup, запуская ее с ключом -h hostname.
base=/usr - указывает, где будут размещаться файлы статуса (для поддержки истории обновлений). В указанном случае будет использоваться каталог /usr/sup.
prefix=/usr - указывает, где будут размещаться полученные файлы.
release=cvs - означает, что сервер должен получать информацию из главного репозитария FreeBSD CVS.
tag=. - версия исходных текстов. "Точка" означает current (текущую) версию. Для обновления портов используйте только "точку".
delete - дает возможность CVSup удалять файлы, чтобы поддерживать дерево портов в актуальном состоянии.
compress - включает использование gzip сжатия при передаче данных.
Слово default перед параметром означает, что он используется по умолчанию для всех далее перечисленных коллекций, которые мы хотим обновить.
Далее идет перечень коллекций, которые будут участвовать в обновлении:
ports-all - для обновления всей коллекции портов.
Чтобы обновить только определенные ветви коллекции портов, следует закомментировать строку ports-all и раскомментировать требуемые, например: ports-base, ports-net и т.д. (ports-base раскомментировать обязательно, чтобы всегда обновлялась структура самого дерева портов).
Где:
-g - указывает не использовать GUI (графическую оболочку).
-L - уровень вывода сообщений:
0 - не выводить никаких сообщений, кроме об ошибках;
2 - выводить информацию о каждом производимом обновлении.
(для получения информации о всех ключах используйте ключ -H)
Основные CVSup-серверы FreeBSD:
cvsup.FreeBSD.org
cvsup2.FreeBSD.org
cvsup3.FreeBSD.org
Основные CVSup-серверы в России:
cvsup.ru.FreeBSD.org
cvsup2.ru.FreeBSD.org
У мну все получилось
Лицензия: GPL
Литература:
http://www.unixdoc.ru
http://www.ofnet.ru
http://www.freebsd.org