CVSup - программа, позволяющая поддерживать исходные тексты вашей системы в актуальном состоянии. Для чего следует поддерживать тексты в актуальном состоянии? Доводов можно привести много... Как и в любом другом программном обеспечении в операционных системах и приложениях к ним существуют ошибки. Наиболее распространённая ошибка это переполнение того или иного буфера. Одна из самых известных ошибок - это "Millenium bug" или "Проблема 2000-го года" (сокращенно Y2K). Программное обеспечение постоянно изменяется (по крайней мере, иногда). Именно для этого и был определен специальный механизм "наката" существующих исходных текстов до актуального (стабильного) состояния.
Как это устроено во FreeBSD? Я пользуюсь пакетом cvsupit.tgz , текущая версия которого 16.1 Как и у всякого клиент-серверного пакета, у данного пакета есть серверная: cvsupd и клиентская: cvsup части. Клиентская часть просматривает содержимое вашего диска, передает эти данные на сервер, который в последствии решает что нужно делать. Если исходный код в данном исходном тексте на вашей машине по каким-то причинам не совпадает с исходным текстом на сервере - сервер передает клиенту необходимые изменения (и только изменения) и клиент их исправляет. Этот процесс чем-то похож на обычный миррор, но только похож: обычно если программа-миррор видит несоответствие данных на сервере и клиенте, то она переписывает новые данные поверх старых. В данном случае траффик по сети идет более сильный, нежеле при работе cvsup .
Утащим последнюю версию cvsupit.tgz с ближайшего хоста (например, с ftp://ftp.chg.ru/pub/FreeBSD/CVSup/cvsupit.tgz )
Установим эту программу:
# pkg_add cvsupit.tgz
Альтернативный путь (установка CVSup из дерева портов): # cd /usr/ports/net/cvsup && make install
Сразу же после установки программа запустит себя, для того чтобы мы указали что именно и откуда мы хотим "накатить". Как я уже говорил в разделе ports , "порты" я накатываю непосредственно перед инсталляцией того или иного программного обеспечения, а исходные тексты приблизительно раз в неделю (если в списках рассылки нет никаких объявлений о серьезных ошибках).
Несколько конфигурационных файлов для cvsupit.tgz :
# Внимание!
# ключ tag может принимать следующие значения:
# RELENG_3 - для FreeBSD-3.X-STABLE
# . - для FreeBSD-4.0-CURRENT
# Будьте внимательны! Прочтите /usr/share/examples/cvsup/README
#
*default host=cvsup.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=RELENG_3
*default delete use-rel-suffix compress
src-base
src-bin
src-contrib
src-etc
src-games
src-gnu
src-include
src-kerberosIV
src-lib
src-libexec
src-release
src-sbin
src-secure
src-share
src-sys
src-tools
src-usrbin
src-usrsbin
*default tag=.
ports-all для update исходных текстов системы (full sources OS - des-sources) # Внимание!
# ключ tag может принимать следующие значения:
# RELENG_3 - для FreeBSD-3.0-STABLE
# . - для FreeBSD-4.0-CURRENT
# Будьте внимательны! Прочтите /usr/share/examples/cvsup/README
#
*default host=cvsup.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix compress
src-base
src-bin
src-contrib
src-etc
src-games
src-gnu
src-include
src-kerberosIV
src-lib
src-libexec
src-release
src-sbin
src-secure
src-share
src-sys
src-tools
src-usrbin
src-usrsbin
*default host=cvsup.freebsd.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix
ports-archivers
ports-astro
ports-audio
ports-benchmarks
ports-biology
ports-cad
ports-comms
ports-converters
ports-databases
ports-deskutils
ports-devel
ports-editors
ports-emulators
ports-games
ports-graphics
ports-lang
ports-mail
ports-math
ports-mbone
ports-misc
ports-net
ports-news
ports-perl5
ports-print
ports-russian
ports-security
ports-shells
ports-sysutils
ports-textproc
ports-www
ports-x11
ports-x11-clocks
ports-x11-fm
ports-x11-fonts
ports-x11-toolkits
ports-x11-wm
Применение:
положите эти конфигурационные файлы в каталог
/etc.
Для запуска нужного вам update запустите
cvsup с указанием нужного файла конфигурации.
Например, для запуска update всей системы (sources OS + sources ports) выполним:
# cvsup -g -L 2 /etc/cvsupfile
В X-Window CVSup можно запустить так:
# cvsup -L 2 /etc/cvsupfile
Основные CVSup-серверы FreeBSD:
cvsup.FreeBSD.org
cvsup2.FreeBSD.org
cvsup3.FreeBSD.org
Основные CVSup-серверы в России: cvsup.ru.FreeBSD.org
cvsup2.ru.FreeBSD.org
Рекомендуется чтение: $ man 1 cvsup
Домашняя страница CVSup:http://www.polstra.com/projects/freeware/CVSup/