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, которой потребуется существенный объем времени и пространства на диске для загрузки и установки.
Замечание: Если вы собираетесь использовать CVSup на компьютере, где нет установленного XFree86™ или Xorg, например на сервере, используйте порт, не включающий CVSup GUI, net/cvsup-without-gui.
Работа CVSup контролируется файлом настройки, называемым supfile. В каталоге /usr/share/examples/cvsup/ находится несколько примеров supfile.
Информация в supfile отвечает на следующие вопросы CVSup:
В следующих разделах мы составим типичный supfile последовательным ответом на каждый из этих вопросов. Сначала опишем общую структуру supfile.
supfile это текстовый файл. Комментарии, начинающиеся с #, продолжаются до конца строки. Пустые строки и строки, содержащие только комментарии, игнорируются.
Каждая из оставшихся строк описывает набор файлов, получаемых пользователем. Строка начинается с имени ''коллекции'', логического объединения файлов, определяемых сервером. Имя коллекции говорит серверу о том, какие файлы вам нужны. После имени коллекции следуют одно или больше полей, разделенных пробелом. Эти поля отвечают на вопросы, заданные выше. Есть два типа полей: флаги и значения. Поле флага состоит из одного ключевого слова, например delete или compress. Поле значения также начинается с ключевого слова, но за ним без пробела следует = и второе слово. Например, release=cvs это поле значения.
supfile обычно задает получение более одной коллекции. Одним из способов построения supfile является указание всех соответствующих полей для каждой коллекции явно. Однако, это приводит к появлению слишком длинных строк в supfile и это неудобно, поскольку большинство полей одинаковы для всех коллекций supfile. CVSup предоставляет механизм задания значений по умолчанию для устранения этих проблем. Строки, начинающиеся со специального имени псевдо-коллекции *default, могут быть использованы для установки флагов и значений, которые послужат значениями по умолчанию для всех последующих коллекций supfile. Значение по умолчанию может быть перезаписано для каждой отдельной коллекции путем указания другого значения в ее собственных параметрах. Значения по умолчанию также могут быть изменены или расширены в любом месте supfile дополнительными строками *default.
Получив эту информацию, мы начнем строить supfile для получения и обновления главного дерева исходных текстов FreeBSD-CURRENT.
Какие файлы вы хотите получить?
Файлы, доступные через CVSup, организованы в именованные группы, называемые ''коллекциями''. Доступные коллекции описаны в следующем разделе. В этом примере мы получим все дерево исходных текстов системы FreeBSD. Существует одиночная большая коллекция src-all, которая позволит нам сделать это. В качестве первого шага по созданию supfile, добавим список коллекций, по одной на строку (в нашем случае, только одну строку):
src-all
С CVSup вы в принципе можете получить любую версию
исходных текстов, которая когда-либо существовала. Это возможно, поскольку cvsupd сервер работает непосредственно с репозиторием CVS,
который содержит все версии. Вы указываете ту, которая вам нужна, с помощью полей
tag= и date=
.
Внимание: Будьте очень осторожны при задании любых полей tag=. Некоторые теги существуют только в определенных коллекциях файлов. Если вы укажете некорректный тег или ошибетесь в его написании, CVSup удалит файлы, которые вы возможно не хотели удалять. В частности, используйте только tag=. для коллекций ports-*.
Поля tag= означают символьные имена в репозитории. Существует два вида тегов, теги ревизий и теги ветвей. Теги ревизий означают определенную ревизию. Они не меняются со временем. Теги ветвей, с другой стороны, означают последнюю ревизию заданной линии разработки в любой момент времени. Поскольку тег ветви не относится к определенной ревизии, он может означать завтра что-то иное чем сегодня.
Разд. A.7 содержит теги ветвей, которые могут быть интересны пользователям. Тег, указанный в файле настройки CVSup, должен предваряться строкой tag= (RELENG_4 превратится в tag=RELENG_4). Помните, что для коллекции портов подходит только tag=..
Внимание: Будьте очень осторожны при наборе имен тегов. CVSup не может отличить правильные и неправильные теги. Если вы неправильно наберете тег, CVSup поведет себя так, как если бы вы указали тег, не содержащий файлов. В этом случае он удалит существующие исходные тексты.
При указании тега ветви вы получите последние версии файлов этой ветви
разработки. Если вы хотите получить какую-то из предыдущих версий, сделайте это
указав дату в поле значения date=
. Страница справочника
cvsup(1)
описывает как сделать это.
В нашем примере мы хотим получить FreeBSD-CURRENT. Мы добавим эту строку в начало supfile:
*default tag=.
Существует важный специальный случай, когда не задаются ни поле tag=, ни поле date=. В этом случае вы получите последние версии RCS файлов непосредственно из CVS репозитория сервера вместо получения определенной версии. Разработчики обычно предпочитают этот способ. Поддерживая копию репозитория в своей системе, они получают возможность просмотра истории ревизий и проверки последних версий файлов. Однако это достигается ценой большего занимаемого дискового пространства.
Мы используем поле host= для сообщения cvsup откуда забирать обновления. Подойдет любое из CVSup зеркал, хотя вы должны попробовать выбрать ближайшее к вам зеркало. В этом примере мы используем не существующий сервер, cvsup99.FreeBSD.org:
*default host=cvsup99.FreeBSD.org
Вам потребуется подставить адрес одного из существующих хостов перед запуском CVSup. При каждом запуске cvsup,
вы можете перезаписать настройку хоста из командной строки, используя параметр
-h hostname
.
Где вы хотите разместить их на своем компьютере?
Поле prefix= указывает cvsup где размещать получаемые файлы. В этом примере, мы поместим файлы непосредственно в главное дерево исходных текстов, /usr/src. Каталог src уже подразумевается в коллекциях, которые мы собираемся получить, поэтому корректное указание таково:
*default prefix=/usr
Где вы хотите разместить файлы статуса cvsup?
Клиент CVSup поддерживает определенные файлы статуса в так называемом ''base'' каталоге. Эти файлы помогают CVSup работать более эффективно путем поддержки истории уже полученных обновлений. Мы будем использовать стандартный каталог base, /var/db:
*default base=/var/db
Если base каталог не существует, теперь подходящий момент для его создания. Клиент cvsup не запустится, если base каталог не существует.
Различные настройки 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=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all
Как упомянуто выше, CVSup использует метод опроса. В основном это означает, что вы подключаетесь к CVSup серверу, и он говорит ''Вот то, что вы можете загрузить с меня...'', и клиент отвечает ''OK, я возьму это, это и это.'' С настройкой по умолчанию CVSup клиент заберет каждый файл, связанный с коллекцией и тегом, выбранным в файле настройки. Однако, это не всегда то, что вам нужно, особенно если вы синхронизируете деревья doc, ports, или www — большинство людей не могут читать на пяти или четырех языках, и следовательно им не требуются локализованные файлы. Если вы обновляете коллекцию портов, это можно обойти путем индивидуального указания каждой коллекции (например, ports-astrology, ports-biology и т.д. вместо коллекции ports-all). Однако, поскольку для деревьев doc и www нет специфичных для языка коллекций, используйте одну из замечательных возможностей CVSup: файл refuse.
Файл refuse говорит CVSup, что он не должен забирать каждый файл из коллекции; другими словами, он говорит клиенту отказаться (refuse) от получения с сервера определенных файлов. Файл refuse можно найти (или, если у вас его еще нет, должен быть помещен) в base/sup/. base определен в файле supfile; наше стандартное расположение base это /var/db, что означает, что по умолчанию файл refuse это /var/db/sup/refuse.
Формат файла refuse очень прост; он содержит имена файлов или каталогов, которые вы не хотите загружать. Например, если вы не можете разговаривать ни на каком языке кроме английского и русского, и вы не будете читать документацию на этих языках, поместите следующие строки в файл refuse:
doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/sr_* doc/tr_* doc/zh_*
и так далее для других языков (полный список находится на странице FreeBSD CVS репозитория).
С этой очень полезной возможностью пользователи с низкоскоростным подключением или с поминутной платой за подключение смогут сохранить время, поскольку им более не потребуется загружать файлы, которые они никогда не будут использовать. За более подробной информацией о файлах refuse и замечательных возможностях CVSup, обратитесь к его справочной странице.
Теперь вы готовы к тестированию обновления. Командная строка для этого очень проста:
# cvsup supfile
где supfile это конечно имя supfile, который только что был создан. При запуске под X11, cvsup отобразит GUI интерфейс с несколькими полезными кнопками. Нажмите кнопку
и смотрите за его работой.Поскольку в этом примере обновляется существующее дерево /usr/src вам потребуется, запуск программы из под root, чтобы у cvsup были права, необходимые для обновления файлов. Если файл настройки только что создан, и эта программа раньше никогда не использовалась, это может действовать вам на нервы. Есть простой способ для пробного запуска без затрагивания ваших драгоценных файлов. Просто создайте где-нибудь пустой каталог и поместите его в качестве дополнительного аргумента командной строки:
# mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest
Указанный каталог будет использоваться в качестве места назначения всех обновлений. CVSup будет работать с файлами из /usr/src, но не станет изменять или удалять их. Вместо этого все обновления файлов будут помещены в /var/tmp/dest/usr/src. При запуске таким способом CVSup оставит также неприкосновенным каталог base. Новые версии этих файлов будут записаны в указанный каталог. Если у вас есть права на чтение каталога /usr/src, вам даже не потребуется работать под root для выполнения пробного обновления.
Если вы не работаете с X11 или просто не любите GUI, добавьте набор параметров командной строки при запуске cvsup:
# cvsup -g -L 2 supfile
Параметр -g
указывает CVSup не использовать GUI. Он действует автоматически, если
вы не работаете под X11, но иначе вам потребуется его указать.
Параметр -L 2
указывает CVSup выводить информацию о каждом производимом обновлении.
Есть три уровня протоколирования, от -L 0
до -L 2
. Уровень по умолчанию 0, что означает полное отсутствие
сообщений, за исключением сообщений об ошибках.
Доступно множество других параметров. Для получения их краткого списка, наберите cvsup -H. За более подробным описанием обратитесь к странице справочника.
После проверки работоспособности обновлений вы можете организовать регулярные запуски CVSup с помощью cron(8). Очевидно, вы не должны позволять CVSup использовать GUI при запуске из cron(8).
Коллекции файлов, доступные через CVSup, организованы иерархически. Существует несколько больших коллекций, и они разделены на несколько меньших под-коллекций. Получение большой коллекции эквивалентно получению каждой из ее подколлекции. Иерархические отношения между коллекциями отражаются путем использования отступов в списке ниже.
Наиболее используемые коллекции это src-all, и ports-all. Другие коллекции используются небольшими группами людей для специальных целей и некоторые сайты зеркал могут не содержать их все.
Главный FreeBSD CVS репозиторий, включающий криптографический код.
Файлы, относящиеся к распространению и зеркалированию FreeBSD.
Исходные тексты Руководства FreeBSD и другой документации. Они не включают файлы веб-сайта FreeBSD.
Коллекция портов FreeBSD.
Важно: Если вы не хотите обновлять всю коллекцию ports-all (все дерево портов), а только одну из подколлекций, перечисленных ниже, убедитесь, что вы каждый раз обновляете подколлекцию ports-base! При любых изменениях в инфраструктуре сборки портов подколлекции ports-base, они могут быть использованы ''настоящими'' портами довольно скоро. Таким образом, если вы обновляете только ''настоящие'' порты и они используют некоторые новые возможности, есть большой шанс того, что их сборка прервется с непонятным сообщением об ошибке. Самое первое, что вы должны сделать, это убедиться, что подколлекция ports-base обновлена.
Важно: Если вы намерены построить собственный вариант файла ports/INDEX, вы должны обновить коллекцию ports-all (полное дерево портов). Построение файла ports/INDEX с частью дерева не поддерживается, хотя и возможно. См. также FAQ.
ПО для поддержки пользователей с нарушениями зрения, слуха и т.п.
Поддержка арабского языка.
Архиваторы.
Порты для астрономии.
Поддержка звука.
Инфраструктура сборки портов - различные файлы, расположенные в подкаталогах Mk/ и Tools/ каталога /usr/ports.
Замечание: Пожалуйста, прочтите важное предупреждение выше: вы должны всегда обновлять эту подколлекцию, при каждом обновлении любой части коллекции портов FreeBSD!
Измерение производительности.
Программы для биологии.
Инструменты САПР.
Поддержка китайского языка.
Коммуникационные программы.
Преобразование кодировок.
Базы данных.
Вещи, использовавшиеся на рабочем столе до изобретения компьютеров.
Утилиты разработки.
Программы, имеющие отношение к DNS.
Редакторы.
Эмуляторы других операционных систем.
Финансовые, расчетные и связанные с ними приложения.
Клиентские и серверные утилиты FTP.
Игры.
Поддержка немецкого языка.
Графические утилиты.
Поддержка иврита.
Поддержка венгерского языка.
IRC утилиты.
Поддержка японского языка.
Java™ утилиты.
Поддержка корейского языка.
Языки программирования.
Почтовое программное обеспечение.
Математические программы.
Приложения MBone.
Различные утилиты.
Мультимедийное программное обеспечение.
Сетевое программное обеспечение.
Программы обмена быстрыми сообщениями.
ПО для сетевого управления.
Сети клиентского обмена (peer-to-peer).
Программное обеспечение новостей USENET.
Программная поддержка для Palm™.
Поддержка польского языка.
Поддержка португальского языка.
Программы печати.
Поддержка русского языка.
Научное программное обеспечение.
Утилиты безопасности.
Оболочки командной строки.
Системные утилиты.
Утилиты обработки текста (не включают настольные утилиты публикации).
Поддержка украинского языка.
Поддержка вьетнамского языка.
Программы, относящиеся к World Wide Web.
Порты с поддержкой X window system.
Часы X11.
Файловые менеджеры X11.
Шрифты и шрифтовые утилиты X11.
Пакеты разработки приложений для X11.
Серверы X11.
Темы X11.
Оконные менеджеры X11.
Исходные тексты дополнительных проектов FreeBSD.
Основные исходные тексты FreeBSD, включая криптографический код.
Различные файлы непосредственно из /usr/src.
Утилиты, которые могут потребоваться в однопользовательском режиме (/usr/src/bin).
Утилиты и библиотеки, заимствованные проектом FreeBSD, используются почти без модификаций (/usr/src/contrib).
Криптографические утилиты и библиотеки, заимствованные проектом FreeBSD, используются почти без модификаций (/usr/src/crypto).
Kerberos и DES (/usr/src/eBones). Не используются в текущих релизах FreeBSD.
Файлы настройки системы (/usr/src/etc).
Игры (/usr/src/games).
Утилиты, попадающие под GNU Public License (/usr/src/gnu).
Файлы заголовков (/usr/src/include).
Пакет безопасности Kerberos5 (/usr/src/kerberos5).
Пакет безопасности KerberosIV (/usr/src/kerberosIV).
Библиотеки (/usr/src/lib).
Системные программы, обычно выполняемые другими программами (/usr/src/libexec).
Файлы, необходимые для производства релизов FreeBSD (/usr/src/release).
Системные утилиты для однопользовательского режима (/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).
Исходные тексты www сайта FreeBSD.
Собственные файлы настройки сервера CVSup. Используются зеркалами CVSup.
База данных отслеживания ошибок GNATS.
Архив списков рассылки FreeBSD.
Файлы предобработки WWW сайта FreeBSD (не исходные файлы). Используются зеркалами WWW.
CVSup FAQ и другая информация о CVSup находится на Домашней странице CVSup.
Большая часть связанных с FreeBSD обсуждений CVSup проводилась в списке рассылки freebsd-hackers. Новые версии программного обеспечения анонсируются здесь и в списке рассылки freebsd-announce.
Вопросы и сообщения об ошибках адресуйте автору программы <cvsup-bugs@polstra.com>
.
CVSup серверы для FreeBSD работают на следующих сайтах:
Центральные серверы, Основные зеркала, Armenia, Австралия, Австрия, Бразилия, Великобритания, Венгрия, Германия, Греция, Дания, Израиль, Ирландия, Исландия, Испания, Италия, Канада, Китай, Корея, Коста Рика, Кувейт, Кыргызстан, Латвия, Литва, Нидерланды, Новая Зеландия, Норвегия, Польша, Португалия, Россия, Румыния, Сан Марино, Словацкая Республика, Словения, США, Тайвань, Тайланд, Турция, Украина, Филиппины, Финляндия, Франция, Чехия, Швейцария, Швеция, Эстония, Южная Африка, Япония.
(as of 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
cvsup1.am.FreeBSD.org
cvsup.au.FreeBSD.org
cvsup.at.FreeBSD.org
cvsup.br.FreeBSD.org
cvsup2.br.FreeBSD.org
cvsup3.br.FreeBSD.org
cvsup4.br.FreeBSD.org
cvsup5.br.FreeBSD.org
cvsup.uk.FreeBSD.org
cvsup2.uk.FreeBSD.org
cvsup3.uk.FreeBSD.org
cvsup4.uk.FreeBSD.org
cvsup.hu.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
cvsup8.de.FreeBSD.org
cvsup.gr.FreeBSD.org
cvsup2.gr.FreeBSD.org
cvsup.dk.FreeBSD.org
cvsup2.dk.FreeBSD.org
cvsup.il.FreeBSD.org
cvsup.ie.FreeBSD.org
cvsup2.ie.FreeBSD.org
cvsup.is.FreeBSD.org
cvsup.es.FreeBSD.org
cvsup2.es.FreeBSD.org
cvsup3.es.FreeBSD.org
cvsup.it.FreeBSD.org
cvsup1.ca.FreeBSD.org
cvsup.cn.FreeBSD.org
cvsup2.cn.FreeBSD.org
cvsup.kr.FreeBSD.org
cvsup2.kr.FreeBSD.org
cvsup3.kr.FreeBSD.org
cvsup1.cr.FreeBSD.org
cvsup1.kw.FreeBSD.org
cvsup.kg.FreeBSD.org
cvsup.lv.FreeBSD.org
cvsup2.lv.FreeBSD.org
cvsup.lt.FreeBSD.org
cvsup2.lt.FreeBSD.org
cvsup3.lt.FreeBSD.org
cvsup.nl.FreeBSD.org
cvsup2.nl.FreeBSD.org
cvsup3.nl.FreeBSD.org
cvsup.nz.FreeBSD.org
cvsup.no.FreeBSD.org
cvsup.pl.FreeBSD.org
cvsup2.pl.FreeBSD.org
cvsup3.pl.FreeBSD.org
cvsup.pt.FreeBSD.org
cvsup2.pt.FreeBSD.org
cvsup3.pt.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
cvsup7.ru.FreeBSD.org
cvsup.ro.FreeBSD.org
cvsup1.ro.FreeBSD.org
cvsup2.ro.FreeBSD.org
cvsup3.ro.FreeBSD.org
cvsup.sm.FreeBSD.org
cvsup.sk.FreeBSD.org
cvsup.si.FreeBSD.org
cvsup2.si.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
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
cvsup14.tw.FreeBSD.org
cvsup.th.FreeBSD.org
cvsup.tr.FreeBSD.org
cvsup2.tr.FreeBSD.org
cvsup3.ua.FreeBSD.org
cvsup5.ua.FreeBSD.org
cvsup6.ua.FreeBSD.org
cvsup1.ph.FreeBSD.org
cvsup.fi.FreeBSD.org
cvsup2.fi.FreeBSD.org
cvsup.fr.FreeBSD.org
cvsup1.fr.FreeBSD.org
cvsup2.fr.FreeBSD.org
cvsup3.fr.FreeBSD.org
cvsup4.fr.FreeBSD.org
cvsup5.fr.FreeBSD.org
cvsup8.fr.FreeBSD.org
cvsup.cz.FreeBSD.org
cvsup.ch.FreeBSD.org
cvsup.se.FreeBSD.org
cvsup2.se.FreeBSD.org
cvsup.ee.FreeBSD.org
cvsup.za.FreeBSD.org
cvsup2.za.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
Пред. | Начало | След. |
Использование CTM | Уровень выше | Использование Portsnap |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.