CVSup е пакет за разпространение и обновяване на код от главното CVS хранилище, намиращо се на отдалечен сървър. FreeBSD кодовете се подържат в CVS депо на сървър в Калифорния. С CVSup, FreeBSD потребителите могат лесно да подържат собствените си хранилища в синхрон с главното.
CVSup използва така наречения pull (дърпащ) модел за обновление. При този модел, всеки клиент пита сървъра за обновленията и дали те са желани. Сървърът очаква пасивно за заявките от клиентите.По този начин всички обновления са поисквани от клиента. Потребителите трябва да стартират CVSup клиента ръчно или да дефинират задачка в cron, за да върви автоматично на определен период.
Терминът CVSup, с главните букви се отнася до целия пакет. Главните му компоненти са клиент cvsup вървящ на потребителската машина и сървърът cvsupdкойто върви на всеки от огледалните сайтове на FreeBSD.
От документацията на FreeBSD и пощевските списъци можете да видите препратки към sup. Supбеше предшественика на CVSup, и имаше подобна цел. CVSup се използва по същия начин като sup и в същност използва конфигурационни файлове обратно съвместмими с тези на sup. Sup не се ползва вече във FreeBSD, защотото CVSup е по-бърз и по-гъвкав.
Най-лесният начин за инсталиране на CVSup е да използвате прекомпилирани net/cvsup пакети от FreeBSD колекцията с пакети. Ако предпочитате да компилирате CVSup от код, може да използвате net/cvsup порта вместо това. Имайте в предвид че net/cvsup зависи от Modula-3 системата, която отнеча значително дисково пространство и време за компилиране.
Note: Ако ще ползвате CVSup на машина без XFree86™, като например сървър, бъдете сигурни че портът не включва CVSup GUI (графичен интерфейс), net/cvsup-without-gui.
Действията на CVSup се контролира от файл, наречен supfile. Има няколко примерни supfile в директорията /usr/share/examples/cvsup/.
Информацията в supfile отговаря на следните CVSup:
В следващите секции, ще създадем типичен supfile като отговорим на всеки от въпросите. Първо, ще опишем цялата структура на supfile.
supfile е текстов файл. Коментарите започват с # и важат до края на реда.Редове които са празни и тези с коментари се игнорират.
Всеки оставащ ред описва набор от файлове, който потребителят желае да получи.Редът започва с името на ``collection(набора)'', логическа група от файлове определена от сървъра. Името на колекцията указва файловете които желаете. След имета на набора идват нула или повече полета, отделени от бели пространства. Тези полета отговарят на въпросите зададени по-горе. Има два типа полета: маркиращи (flag) и стойностни (value). Маркиращите съдържат ключова дума, например delete или compress. Стойностните полета започват също с ключова дума, но след нея веднага има = и втора дума. Например release=cvs е стойностно поле.
Supfile обикновено указва повече от една колекция за теглене. Един от начините за структириране на supfile е да посочите всички съответни параметри за всяка колекция. Това обаче, води до прекалени дълги редове в supfile и е неудобно, защото повечето полета са еднакви за всички колекции в supfile-а. CVSup осигурява механизъм по подразбиране за избягване на тези проблеми. Редовете започващи със специалното име *default могат да се използват за указване на флагове и стойности, които ще се използват за последващите колекции в supfile-а. Стойност по подразбиране може да се анулира за отделен набор, като се посочи различна стойност в самия набор. Настройките по подразбиране може да бъдат променяни или поправяни в средата на файла, като се дава допълнителни *default редове.
Въоръжени с това знание, ние сега продължим със създаването на supfile за получаване и обновяване на главното дърво на FreeBSD-CURRENT.
Файловете налични през CVSup са организирани в групи наречени``колекции (collections)''. Колекциите които са налични, са описани в следващата секция. В този пример, ние ще искаме да свалим цялото дърво на FreeBSD. Има една голяма колекция src-all, която ще ни даде всичко. Стъпки в създаването на supfile: изброяваме колекциите, една на ред (в този случай само един ред):
src-all
С CVSup, можете да получите която и да било версия на кода, писана някога. Това е възможно, защото cvsupd сървъра работи дирректно от CVS хранилището, съдържащо всички версии. Вие определяте една от тях, ползвайки tag= и date= параметри.
Warning Бъдете особено внимателни когато определятеtag=. Някои атрибути са валидни за само за определени колекции. Ако дадете неправилна стойност, CVSup ще изтрие файлове, които не бихте искали да бъдат изтрити. В частност, ползвайте само tag=. за ports-* колекциите.
Полето tag=сочи към символичен маркер (таг) в хранилището. Има два типа маркери: корективен (revision) и основен (браншови/branch). Корективните маркери се отнасят до конкретна поправка. Неговото значение не се изменя ежедневно. Основният маркер, от друга страна, се отнася до последната поправка на дадена развойна линия, по всяко време. Понеже основният маркер не се отнася до конкретна поправка, може да има разлики от днешното до утрешното му значение.
Section A.6 съдържат основните маркери, от които потребителите могат да се заинтересуват. Когато указвате маркер в CVSup конфигурационния файл, може да бъде предшестван отtag= (RELENG_4 ще стане tag=RELENG_4). Имайте в предвид, че само tag=. важи за порт колекцията.
WarningБъдете много внимателни и пишете маркера както е показано. CVSup не може да прави разлика между валидни и грешни маркери. Ако напишете грешно, CVSup ще се държи като че ли сте определили валиден маркер, който се сочи към несъществуващи файлове и ще изтрие наличния Ви сорс код в този случай.
Когат указвате основен маркер, Вие получавате последните версии на файловете от тази развойна линия. Ако желаете да получите някоя минала версия, можете да направите това като укажете дата в date= полето. Страницата cvsup(1) обяснява как да направите това.
В нашия пример, ние желаум да получим FreeBSD-CURRENT. Добавяме този ред в началото на нашия supfile:
*default tag=.
Има един специален случай в който не сте указали нито tag= поле, нито date=. В този случай получавате последните RCS файлове директно от сървъра, вместо конкретна версия.Разработчиците като цяло предпочитат този режим на работа. Подържайки копие на кода на собствените си машини, имат възможността да преглеждат поправките и миналите версии на файловете. Тази придобивка се постига за сметка на голямо дисково пространство, обаче.
Използваме host= да укажем на cvsup от къде да вземе обновленията си. Който и да било от CVSup мирърите ще свърши работа. Въпреки това е добре да изберете този, който е най-близо до Вас.В нашия пример ще ползваме измислен FreeBSD сайт cvsup666.FreeBSD.org:
*default host=cvsup666.FreeBSD.org
Ще трябва да смените хоста с този който ползвате в действителност преди да стартирате CVSup. При всяко пускане на cvsup, можете да прескочите настройката на хоста в команден ред с -h име на хоста .
Къде искате да ги поставите на Вашия компютър?
Полетоprefix= указва на cvsup къде да сложи файловете, които получава. В този пример, ще сложим кода директно в главното ни дърво /usr/src. Директорията src е вече скрита в колекциите, които сме избрали да получим, така че това е правилната подредба:
*default prefix=/usr
Къде cvsup трябва да складира файловете си за статуса си?
Клиентската част на CVSup подържа определени файлове в директория, наречена ``(базова) base''. Те спомагат на CVSup да работи по-ефективно, като подържат записи на обновленията които са получени. Ще ползваме стандартната базова директория /usr/local/etc/cvsup:
*default base=/usr/local/etc/cvsup
Тази настройка се ползва по подразбиране, ако не е указана в supfile-а, така че в действителност този ред не ни трябва.
Ако базовата Ви директория не съществува, сега е добър момент да я създадете. СVSup клиента ще откаже да върви ако въпросната директория не съществува.
Разни настройки в supfile:
Има още един ред от жизненоважни настройки, които трябва да присъстват в supfile:
*default release=cvs delete use-rel-suffix compress
release=cvs обозначава, че сървъра трябва да получи информацията си от главното дърво на FreeBSD CVS хранилището. Това почти винаги е така, макар че има и случаи, които са извън обхвата на настоящата дискусия.
delete дава разрешение на CVSup да трие файлове. Трябва винаги да указвате това, така че CVSup да може да подържа кода ви обновен.CVSup внимава с триенето и маха само онези неща, за които е отговорен.Всякакви допълнителни файлове, които имате ще бъдат оставени настрана.
use-rel-suffix е ... потайно. Ако искате да знаете какво наистина прави, вижте cvsup(1). Иначе просто го укажете и не се притеснявайте за него.
compress дава възможност за ползването на gzip-подобна компресия по време на комуникацията между клиента и сървъра. Ако вашата връзка е равна или по-голяма от T1, вероятно няма нужда да ползвате компресия.В противен случай помага значително.
Да сглобим всичко заедно:
Ето един пълен supfile за нашия пример:
*default tag=. *default host=cvsup666.FreeBSD.org *default prefix=/usr *default base=/usr/local/etc/cvsup *default release=cvs delete use-rel-suffix compress src-all
Както споменахме по-горе, CVSup ползва pull (дърпащ) метод. Това означава, че се връзвате към CVSup сървър и той казва: ``Ето какво можеш да изтеглиш от менe...'', а Вашиат клиент казва ``OK, ще взема това, това и това.'' В конфигурацията по подразбиране, CVSup клиента ще вземе всеки файл свързан с колекцията и маркера указан във файла. Това обаче не е желаният ефект, особено ако синхронизирате doc, ports или www дърветата -- повечето хора не могат да четат четири или пет езика, затова не им трябва да свалят файлове специфични за даден език. Ако CVSup-вате портове, може да се оправите като укажете всеки набор по отделно (например ports-astrology, ports-biology и т.н. вместо ports-all). Понеже, doc и www дърветата имат специфични езикови набори, трябва да ползвате една от многото хитроумни характеристики на CVSup: refuse файла.
refuse файла указва на CVSup, че не трябва да взима нито един файл от даден набор; с други думи, указва на клиента да откаже определени файлове от сървъра. Файлътrefuse може да бъде открит (или ако нямате още такъв, трябва да го поставите) в базовата /sup/ директория. Базовата директория е определена във Вашия supfile; по подразбиране това е /usr/local/etc/cvsup, което означава че по подразбиране refuse файла е/usr/local/etc/cvsup/sup/refuse.
Файлътrefuse има много прост формат; съдържа имената на файловете или директориите, които не желаете да свалите. Например, ако не можете да говорите други езици освен английски и немски, и не смятате да ползвате немски приложения(или приложения на други езици, освен английски), можете да поставите следното във Вашия refuse файл:
ports/chinese ports/french ports/german ports/hebrew ports/hungarian ports/japanese ports/korean ports/polish ports/portuguese ports/russian ports/ukrainian ports/vietnamese doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/zh_*
и така нататък с другите езици (можете да намерите пълен списък като разгледате FreeBSD CVS хранилището).
Въоръжени с тази полезна опция, онези потребители, които са на бавни връзки или плащат за минута своя Интернет достъп, ще имат възможност да спестят ценно време, понеже няма да имат повече нужда да точат файлове, които няма да ползват. За повече информация по refuse файловете и други хитри характеристики на CVSup, моля вижте нейната страница от наръчника.
Готови сте за обновление. Командния ред за това е прост:
# cvsup supfile
където supfile разбира се е името на supfile, който току-що сте създали. Ако го изпълните под X11, cvsup ще покаже графичен прозорец с няколко бутона за изпълнение на обичайните неща. Натиснете go бутона и гледайте как върви.
Понеже обновявате Вашето истинско /usr/src дърво, ще трябва да стартирате програмата като root, така че командатаcvsup да има права да обнови файловете Ви. Ако току-що сте създали файла и никога преди това не сте ползвали програмата, това може да Ви изнерви.Има лесен начин да направите пробно пускане, без да променяте ценните си файлове. Просто създайте празна директория където Ви е удобно и я укажете в командния ред :
# mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest
Директорията, която укажете, ще се ползва за всички обновления на файловете. CVSup ще прегледа обичайните файлове в /usr/src, но няма да ги промени или изтрие. Всички промени ще бъдат поместени в /var/tmp/dest/usr/src. CVSup също ще остави файловете за статуквото си в базовата директория непроменени, когато се стартира по този начин. Новите версии на тези файлове ще бъдат написани в указаната директория. Докато можете да четете от /usr/src, не Ви трябва да бъдете root, за да извършвате тези тестови пускове.
В случай, че не сте под X11 или не обичате графични среди, можете да добавите няколок опции към командния ред когато стартирате cvsup:
# cvsup -g -L 2 supfile
Опцията -g указва на CVSup да не ползва графичния си интерфейс. Това е автоматично, ако не сте под X11, но иначе трябва да се укаже.
Опцията-L 2 указва на CVSup да извади детайлите на своите действия.Има три нива на детайли: от -L 0 до -L 2. По подразбиране е 0, което е за пълно мълчание, освен за грешките по време на опериране.
Има още много други параметри налични. За кратко описание, напишете cvsup -H. За повече подробности, вижте страницата от наръчника.
Веднъж доволни от начина по който обновленията работят, можете да установите регулярни стартирания на CVSup използвайки cron(8). Очевидно, не трябва да позволявате CVSup да ползва графичен интерфейс, когато го стартирате от cron(8).
Файловите набори налични през CVSup са йерархично организирани. Има няколко големи набора, разделени на по-малки. Получаването на голямата колекция е равносилно на получаването на по-малките. Йерархичните връзки между колекциите са отразени чрез употребата на отстъпи в списъка по-долу.
Най-често ползвани са src-all и ports-all. Другите набори се ползват от малки групи хора за специализирани цели и някои миръри може да не ги съдържат.
Главното FreeBSD CVS хранилище,включително криптографския код.
Файлове свързани с разпространението и поддържането на мирърите на FreeBSD.
Кодът за FreeBSD Handbook и другата документация.Това не включва файловете за FreeBSD уеб сайта.
FreeBSD Port колекцията.
Important: Ако не желаете да обновявате целия ports-all (цялото), но използвате една от по-малките колекции изброени по-долу, проверете дали винаги обновявате ports-base колекцията! Когато нещо се промени в инфраструктурата на портовете, представено от ports-base, със сигурност тези промени ще се използват от ``истинските'' портове много скоро. По-този начин, ако обновявате само ``истинските'' портове и те ползват някои от новите възможности, има голяма вероятност тяхното компилиране да се провали с някакво мистериозно съобщение за грешка. Първото нещо което трябва да направите в този случай е да обновите ports-base подколекцията.
Инструменти за архивиране.
Портове за астрономия.
подръжка на звук.
Инфраструктурата за компилиране - разни файлове, разположени в Mk/ и Tools/ поддиректориите на /usr/ports.
Note: Моля вижте предупреждението по-горе : трябва винаги да обновявате този набор, когато обновявате която и да било част на FreeBSD порт колекцията!
Програми за тестване на производителност (Benchmarks).
Биология.
Инструменти за графичен дизайн.
Програми с подръжка на китайски.
Софтуер за комуникация.
Преобразуватели на различни кодови таблици.
Бази данни.
Неща които бяха на декстопите, преди да изобретят компютрите.
Инструменти за разработка.
Софтуер свързан с DNS.
Редактори.
Емулатори на други операционни системи.
Финансови и монетарни приложения.
FTP клиенти и сървъри.
Игри.
Програми с подръжка на немски.
Графични програми.
Програми с подръжка на унгарски.
Internet Relay Chat инструменти.
Програми с подръжка на японски.
Java™ програми.
Програми с подръжка на корейски.
Езици за програмиране.
Софтуер за поща.
Софтуер за изчисления.
MBone програми.
Разни.
Мултимедиен софтуер.
Мрежов софтуер.
USENET софтуер.
Софтуерна подръжка на продуктите от Palm™ серията.
Програми с подръжка на полски.
Програми с подръжка на португалски.
Програми за печат.
Програми с руско меню.
Инструменти за сигурност.
Командни интерпретатори.
Системни програми.
Текстообработващи програми (не включва ``desktop publishing'').
Програми с виетнамски локал.
Софтуер свързан с World Wide Web.
Портове за подръжка на X window system.
X11 часовници.
X11 файлови мениджъри.
X11 шрифтове и програмки.
X11 графични инструменти (toolkits).
X11 сървъри.
X11 графични мениджъри.
Основните кодове на FreeBSD, включително криптографския код.
Разни файлове на върха на /usr/src.
Потребителски програми, които могат да са нужни в администраторски режим (/usr/src/bin).
Инструменти и библиотеки, явяващи се външни за FreeBSD проекта; използвани директно, без много промени по тях (/usr/src/contrib).
Криптографски инструменти и библиотеки, явяващи се външни за FreeBSD проекта; използвани директно, без особени промени (/usr/src/crypto).
Kerberos and DES (/usr/src/eBones). Не се ползват в текущите (current) версии на FreeBSD.
Конфигурационните файлова на системата (/usr/src/etc).
Игри (/usr/src/games).
Програми разпространявани под GNU Public License (/usr/src/gnu).
Хедър файлове (/usr/src/include).
Kerberos5 security package (/usr/src/kerberos5).
KerberosIV (/usr/src/kerberosIV).
Библиотеки (/usr/src/lib).
Системни програми, изпълнявани обикновено от други програми (/usr/src/libexec).
Файлове нужни за извеждането на нова версия на FreeBSD (/usr/src/release).
System utilities for single-user mode (/usr/src/sbin).
Криптографски библиотеки и команди (/usr/src/secure).
Файлове, които могат да бъдат споделени от много системи (/usr/src/share).
Ядрото (/usr/src/sys).
Криптографския код в ядрото (/usr/src/sys/crypto).
Разни инструменти за подръжката на FreeBSD (/usr/src/tools).
Потребителски програми (/usr/src/usr.bin).
Системни програми (/usr/src/usr.sbin).
Изходния код на FreeBSD WWW сайта.
Конфигурационните файлове на самия CVSup сървър. Използвани от CVSup мирър сайтовете.
GNATS базата за следене на грешки.
Архива на пощенските списъци на FreeBSD.
Обработените файлове на FreeBSD WWW сайта (не изходния код). Използван от WWW мирър сайтовете.
За често задаваните въпроси по CVSup и друга информация по нея, вижте домашната страница на CVSup.
По-голямата част от дискусиите за CVSup във FrееBSD става в FreeBSD technical discussions mailing list. Новите версии на софтуера се обявяват там, както и в FreeBSD announcements mailing list.
Въпроси и доклади за грешки (bug reports) трябва да бъдат адресирани към автора
на програмата на адрес:<cvsup-bugs@polstra.com>.
CVSup FreeBSD сървъри са пуснати на следните адреси:
Central Servers, Primary Mirror Sites, Argentina, Australia, Austria, Brazil, Canada, China, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Japan, Korea, Kuwait, Latvia, Netherlands, New Zealand, Norway, Philippines, Poland, Portugal, Romania, Russia, San Marino, Singapore, Slovak Republic, Slovenia, South Africa, Spain, Sweden, Switzerland, Taiwan, Thailand, Turkey, Ukraine, United Kingdom, USA.
(as of 2004/01/28 05:25:28 UTC)
cvsup.FreeBSD.org
cvsup1.FreeBSD.org
cvsup2.FreeBSD.org
cvsup3.FreeBSD.org
cvsup4.FreeBSD.org
cvsup5.FreeBSD.org
cvsup6.FreeBSD.org
cvsup7.FreeBSD.org
cvsup8.FreeBSD.org
cvsup9.FreeBSD.org
cvsup10.FreeBSD.org
cvsup11.FreeBSD.org
cvsup12.FreeBSD.org
cvsup13.FreeBSD.org
cvsup14.FreeBSD.org
cvsup15.FreeBSD.org
cvsup16.FreeBSD.org
cvsup18.FreeBSD.org
cvsup.ar.FreeBSD.org
cvsup.au.FreeBSD.org
cvsup2.au.FreeBSD.org
cvsup3.au.FreeBSD.org
cvsup4.au.FreeBSD.org
cvsup5.au.FreeBSD.org
cvsup6.au.FreeBSD.org
cvsup7.au.FreeBSD.org
cvsup.at.FreeBSD.org
cvsup2.at.FreeBSD.org
cvsup.br.FreeBSD.org
cvsup2.br.FreeBSD.org
cvsup3.br.FreeBSD.org
cvsup4.br.FreeBSD.org
cvsup5.br.FreeBSD.org
cvsup.ca.FreeBSD.org
cvsup.cn.FreeBSD.org
cvsup.cz.FreeBSD.org
cvsup.dk.FreeBSD.org
cvsup.ee.FreeBSD.org
cvsup.fi.FreeBSD.org
cvsup2.fi.FreeBSD.org
cvsup.fr.FreeBSD.org
cvsup2.fr.FreeBSD.org
cvsup3.fr.FreeBSD.org
cvsup4.fr.FreeBSD.org
cvsup5.fr.FreeBSD.org
cvsup8.fr.FreeBSD.org
cvsup.de.FreeBSD.org
cvsup2.de.FreeBSD.org
cvsup3.de.FreeBSD.org
cvsup4.de.FreeBSD.org
cvsup5.de.FreeBSD.org
cvsup6.de.FreeBSD.org
cvsup7.de.FreeBSD.org
cvsup.gr.FreeBSD.org
cvsup2.gr.FreeBSD.org
cvsup.hu.FreeBSD.org
cvsup.is.FreeBSD.org
cvsup.ie.FreeBSD.org
cvsup.jp.FreeBSD.org
cvsup2.jp.FreeBSD.org
cvsup3.jp.FreeBSD.org
cvsup4.jp.FreeBSD.org
cvsup5.jp.FreeBSD.org
cvsup6.jp.FreeBSD.org
cvsup.kr.FreeBSD.org
cvsup2.kr.FreeBSD.org
cvsup3.kr.FreeBSD.org
cvsup1.kw.FreeBSD.org
cvsup.lv.FreeBSD.org
cvsup.nl.FreeBSD.org
cvsup2.nl.FreeBSD.org
cvsup3.nl.FreeBSD.org
cvsup4.nl.FreeBSD.org
cvsup5.nl.FreeBSD.org
cvsup.nz.FreeBSD.org
cvsup.no.FreeBSD.org
cvsup1.ph.FreeBSD.org
cvsup.pl.FreeBSD.org
cvsup2.pl.FreeBSD.org
cvsup3.pl.FreeBSD.org
cvsup.pt.FreeBSD.org
cvsup2.pt.FreeBSD.org
cvsup.ro.FreeBSD.org
cvsup2.ro.FreeBSD.org
cvsup3.ro.FreeBSD.org
cvsup.ru.FreeBSD.org
cvsup2.ru.FreeBSD.org
cvsup3.ru.FreeBSD.org
cvsup4.ru.FreeBSD.org
cvsup5.ru.FreeBSD.org
cvsup6.ru.FreeBSD.org
cvsup.sm.FreeBSD.org
cvsup.sg.FreeBSD.org
cvsup.sk.FreeBSD.org
cvsup2.sk.FreeBSD.org
cvsup.si.FreeBSD.org
cvsup2.si.FreeBSD.org
cvsup.za.FreeBSD.org
cvsup2.za.FreeBSD.org
cvsup.es.FreeBSD.org
cvsup2.es.FreeBSD.org
cvsup3.es.FreeBSD.org
cvsup.se.FreeBSD.org
cvsup3.se.FreeBSD.org
cvsup.ch.FreeBSD.org
cvsup.tw.FreeBSD.org
cvsup3.tw.FreeBSD.org
cvsup4.tw.FreeBSD.org
cvsup5.tw.FreeBSD.org
cvsup6.tw.FreeBSD.org
cvsup7.tw.FreeBSD.org
cvsup8.tw.FreeBSD.org
cvsup9.tw.FreeBSD.org
cvsup10.tw.FreeBSD.org
cvsup11.tw.FreeBSD.org
cvsup12.tw.FreeBSD.org
cvsup13.tw.FreeBSD.org
cvsup.th.FreeBSD.org
cvsup.tr.FreeBSD.org
cvsup2.ua.FreeBSD.org
cvsup3.ua.FreeBSD.org
cvsup4.ua.FreeBSD.org
cvsup5.ua.FreeBSD.org
cvsup6.ua.FreeBSD.org
cvsup7.ua.FreeBSD.org
cvsup.uk.FreeBSD.org
cvsup2.uk.FreeBSD.org
cvsup3.uk.FreeBSD.org
cvsup4.uk.FreeBSD.org
cvsup1.us.FreeBSD.org
cvsup2.us.FreeBSD.org
cvsup3.us.FreeBSD.org
cvsup4.us.FreeBSD.org
cvsup5.us.FreeBSD.org
cvsup6.us.FreeBSD.org
cvsup7.us.FreeBSD.org
cvsup8.us.FreeBSD.org
cvsup9.us.FreeBSD.org
cvsup10.us.FreeBSD.org
cvsup11.us.FreeBSD.org
cvsup12.us.FreeBSD.org
cvsup13.us.FreeBSD.org
cvsup14.us.FreeBSD.org
cvsup15.us.FreeBSD.org
cvsup16.us.FreeBSD.org
cvsup18.us.FreeBSD.org
Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.