Руководство FreeBSD
Пред. | Приложение A. Получение FreeBSD | След.

# A.5. Использование CVSup

## A.5.1. Введение

CVSup это пакет программного обеспечения для распространения и обновления исходных текстов с основного репозитория CVS на удаленном сервере. Исходные тексты FreeBSD поддерживаются в репозитории CVS на центральной машине разработки в Калифорнии. С помощью CVSup пользователи FreeBSD легко могут поддерживать собственные исходные тексты в актуальном состоянии.

CVSup использует так называемую опрашивающую (pull) модель обновления. Работая по этой модели, каждый клиент запрашивает обновления с сервера, если и когда они нужны. Сервер пассивно ожидает запросы на обновление от своих клиентов. Таким образом, все обновления инициируются клиентами. Сервер никогда не высылает не запрошенные обновления. Пользователь для получения обновлений должен либо запустить CVSup клиента вручную, либо добавить задание в `cron` для настройки периодических обновлений в автоматическом режиме.

Термин CVSup, написанный с заглавными буквами, означает весь пакет программного обеспечения. Его основные компоненты это клиент `cvsup`, запускаемый на каждом пользовательском компьютере, и сервер `cvsupd`, работающий на каждом зеркале FreeBSD.

При чтении документации FreeBSD и списков рассылки вы могли встретить указания на sup. Sup был предшественником CVSup, и выполнял похожие функции. CVSup в основном используется тем же способом, что и sup, и, фактически, использует файлы настройки, обратно совместимые с файлами `sup`. Sup более не используется проектом FreeBSD, поскольку CVSup и быстрее и более гибок.

## A.5.2. Установка

Простейший способ установки CVSup это использование прекомпилированного пакета `net/cvsup` из коллекции пакетов FreeBSD. Если вы предпочтете собрать CVSup из исходных текстов, можете использовать вместо этого порт `net/cvsup`. Но имейте ввиду: порт `net/cvsup` зависит от системы Modula-3, которой потребуется существенный объем времени и пространства на диске для загрузки и установки.

> Замечание: Если вы собираетесь использовать CVSup на компьютере, где нет установленного XFree86™ или Xorg, например на сервере, используйте порт, не включающий CVSup GUI, `net/cvsup-without-gui`.

## A.5.3. Настройка CVSup

Работа 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.6 содержит теги ветвей, которые могут быть интересны пользователям. Тег, указанный в файле настройки 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

### A.5.3.1. Файл `refuse`

Как упомянуто выше, 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/da_*
    doc/de_*
    doc/el_*
    doc/es_*
    doc/fr_*
    doc/it_*
    doc/ja_*
    doc/nl_*
    doc/no_*
    doc/pl_*
    doc/pt_*
    doc/sr_*
    doc/zh_*

и так далее для других языков (полный список находится на странице FreeBSD CVS репозитория).

С этой очень полезной возможностью пользователи с низкоскоростным подключением или с поминутной платой за подключение смогут сохранить время, поскольку им более не потребуется загружать файлы, которые они никогда не будут использовать. За более подробной информацией о файлах `refuse` и замечательных возможностях CVSup, обратитесь к его справочной странице.

## A.5.4. Запуск CVSup

Теперь вы готовы к тестированию обновления. Командная строка для этого очень проста:

    # cvsup supfile

где `supfile` это конечно имя `supfile`, который только что был создан. При запуске под X11, `cvsup` отобразит GUI интерфейс с несколькими полезными кнопками. Нажмите кнопку go и смотрите за его работой.

Поскольку в этом примере обновляется существующее дерево `/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).

## A.5.5. Коллекции файлов CVSup

Коллекции файлов, доступные через CVSup, организованы иерархически. Существует несколько больших коллекций, и они разделены на несколько меньших под-коллекций. Получение большой коллекции эквивалентно получению каждой из ее подколлекции. Иерархические отношения между коллекциями отражаются путем использования отступов в списке ниже.

Наиболее используемые коллекции это src-all, и ports-all. Другие коллекции используются небольшими группами людей для специальных целей и некоторые сайты зеркал могут не содержать их все.

cvs-all release=cvs

  Главный FreeBSD CVS репозиторий, включающий криптографический код.

  distrib release=cvs

    Файлы, относящиеся к распространению и зеркалированию FreeBSD.

  doc-all release=cvs

    Исходные тексты Руководства FreeBSD и другой документации. Они не включают файлы веб-сайта FreeBSD.

  ports-all release=cvs

    Коллекция портов FreeBSD.

    > Важно: Если вы не хотите обновлять всю коллекцию ports-all (все дерево портов), а только одну из подколлекций, перечисленных ниже, убедитесь, что вы каждый раз обновляете подколлекцию ports-base! При любых изменениях в инфраструктуре сборки портов подколлекции ports-base, они могут быть использованы ''настоящими'' портами довольно скоро. Таким образом, если вы обновляете только ''настоящие'' порты и они используют некоторые новые возможности, есть большой шанс того, что их сборка прервется с непонятным сообщением об ошибке. Самое первое, что вы должны сделать, это убедиться, что подколлекция ports-base обновлена.

    ports-archivers release=cvs

      Архиваторы.

    ports-astro release=cvs

      Порты для астрономии.

    ports-audio release=cvs

      Поддержка звука.

    ports-base release=cvs

      Инфраструктура сборки портов - различные файлы, расположенные в подкаталогах `Mk/` и `Tools/` каталога `/usr/ports`.

      > Замечание: Пожалуйста, прочтите важное предупреждение выше: вы должны всегда обновлять эту подколлекцию, при каждом обновлении любой части коллекции портов FreeBSD!

    ports-benchmarks release=cvs

      Измерение производительности.

    ports-biology release=cvs

      Программы для биологии.

    ports-cad release=cvs

      Инструменты САПР.

    ports-chinese release=cvs

      Поддержка китайского языка.

    ports-comms release=cvs

      Коммуникационные программы.

    ports-converters release=cvs

      Преобразование кодировок.

    ports-databases release=cvs

      Базы данных.

    ports-deskutils release=cvs

      Вещи, использовавшиеся на рабочем столе до изобретения компьютеров.

    ports-devel release=cvs

      Утилиты разработки.

    ports-dns release=cvs

      Программы, имеющие отношение к DNS.

    ports-editors release=cvs

      Редакторы.

    ports-emulators release=cvs

      Эмуляторы других операционных систем.

    ports-finance release=cvs

      Финансовые, расчетные и связанные с ними приложения.

    ports-ftp release=cvs

      Клиентские и серверные утилиты FTP.

    ports-games release=cvs

      Игры.

    ports-german release=cvs

      Поддержка немецкого языка.

    ports-graphics release=cvs

      Графические утилиты.

    ports-hungarian release=cvs

      Поддержка венгерского языка.

    ports-irc release=cvs

      IRC утилиты.

    ports-japanese release=cvs

      Поддержка японского языка.

    ports-java release=cvs

      Java™ утилиты.

    ports-korean release=cvs

      Поддержка корейского языка.

    ports-lang release=cvs

      Языки программирования.

    ports-mail release=cvs

      Почтовое программное обеспечение.

    ports-math release=cvs

      Математические программы.

    ports-mbone release=cvs

      Приложения MBone.

    ports-misc release=cvs

      Различные утилиты.

    ports-multimedia release=cvs

      Мультимедийное программное обеспечение.

    ports-net release=cvs

      Сетевое программное обеспечение.

    ports-news release=cvs

      Программное обеспечение новостей USENET.

    ports-palm release=cvs

      Программная поддержка для Palm™.

    ports-polish release=cvs

      Поддержка польского языка.

    ports-portuguese release=cvs

      Поддержка португальского языка.

    ports-print release=cvs

      Программы печати.

    ports-russian release=cvs

      Поддержка русского языка.

    ports-security release=cvs

      Утилиты безопасности.

    ports-shells release=cvs

      Оболочки командной строки.

    ports-sysutils release=cvs

      Системные утилиты.

    ports-textproc release=cvs

      Утилиты обработки текста (не включают настольные утилиты публикации).

    ports-vietnamese release=cvs

      Поддержка вьетнамского языка.

    ports-www release=cvs

      Программы, относящиеся к World Wide Web.

    ports-x11 release=cvs

      Порты с поддержкой X window system.

    ports-x11-clocks release=cvs

      Часы X11.

    ports-x11-fm release=cvs

      Файловые менеджеры X11.

    ports-x11-fonts release=cvs

      Шрифты и шрифтовые утилиты X11.

    ports-x11-toolkits release=cvs

      Пакеты разработки приложений для X11.

    ports-x11-servers

      Серверы X11.

    ports-x11-wm

      Оконные менеджеры X11.

  src-all release=cvs

    Основные исходные тексты FreeBSD, включая криптографический код.

    src-base release=cvs

      Различные файлы непосредственно из `/usr/src`.

    src-bin release=cvs

      Утилиты, которые могут потребоваться в однопользовательском режиме (`/usr/src/bin`).

    src-contrib release=cvs

      Утилиты и библиотеки, заимствованные проектом FreeBSD, используются почти без модификаций (`/usr/src/contrib`).

    src-crypto release=cvs

      Криптографические утилиты и библиотеки, заимствованные проектом FreeBSD, используются почти без модификаций (`/usr/src/crypto`).

    src-eBones release=cvs

      Kerberos и DES (`/usr/src/eBones`). Не используются в текущих релизах FreeBSD.

    src-etc release=cvs

      Файлы настройки системы (`/usr/src/etc`).

    src-games release=cvs

      Игры (`/usr/src/games`).

    src-gnu release=cvs

      Утилиты, попадающие под GNU Public License (`/usr/src/gnu`).

    src-include release=cvs

      Файлы заголовков (`/usr/src/include`).

    src-kerberos5 release=cvs

      Пакет безопасности Kerberos5 (`/usr/src/kerberos5`).

    src-kerberosIV release=cvs

      Пакет безопасности KerberosIV (`/usr/src/kerberosIV`).

    src-lib release=cvs

      Библиотеки (`/usr/src/lib`).

    src-libexec release=cvs

      Системные программы, обычно выполняемые другими программами (`/usr/src/libexec`).

    src-release release=cvs

      Файлы, необходимые для производства релизов FreeBSD (`/usr/src/release`).

    src-sbin release=cvs

      Системные утилиты для однопользовательского режима (`/usr/src/sbin`).

    src-secure release=cvs

      Криптографические библиотеки и команды (`/usr/src/secure`).

    src-share release=cvs

      Файлы, которые могут быть использованы несколькими системами (`/usr/src/share`).

    src-sys release=cvs

      Ядро (`/usr/src/sys`).

    src-sys-crypto release=cvs

      Криптографический код ядра (`/usr/src/sys/crypto`).

    src-tools release=cvs

      Различные инструменты для поддержки FreeBSD (`/usr/src/tools`).

    src-usrbin release=cvs

      Пользовательские утилиты (`/usr/src/usr.bin`).

    src-usrsbin release=cvs

      Системные утилиты (`/usr/src/usr.sbin`).

  www release=cvs

    Исходные тексты www сайта FreeBSD.

distrib release=self

  Собственные файлы настройки сервера CVSup. Используются зеркалами CVSup.

gnats release=current

  База данных отслеживания ошибок GNATS.

mail-archive release=current

  Архив списков рассылки FreeBSD.

www release=current

  Файлы предобработки WWW сайта FreeBSD (не исходные файлы). Используются зеркалами WWW.

## A.5.6. Дальнейшая информация

CVSup FAQ и другая информация о CVSup находится на Домашней странице CVSup.

Большая часть связанных с FreeBSD обсуждений CVSup проводилась в списке рассылки freebsd-hackers. Новые версии программного обеспечения анонсируются здесь и в списке рассылки freebsd-announce.

Вопросы и сообщения об ошибках адресуйте автору программы `<cvsup-bugs@polstra.com>`.

## A.5.7. Зеркала CVSup

CVSup серверы для FreeBSD работают на следующих сайтах:

Центральные серверы, Основные зеркала, Costa Rica, Indonesia, Kyrgyzstan, Thailand, Австралия, Австрия, Аргентина, Бразилия, Великобритания, Венгрия, Германия, Греция, Дания, Ирландия, Исландия, Испания, Италия, Канада, Китай, Корея, Кувейт, Латвия, Литва, Нидерланды, Новая Зеландия, Норвегия, Польша, Португалия, Россия, Румыния, Сан Марино, Сингапур, Словацкая Республика, Словения, США, Тайвань, Турция, Украина, Филиппины, Финляндия, Франция, Чехия, Швейцария, Швеция, Эстония, Южная Африка, Япония.

(as of 2005/03/04 15:32:08 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

Costa Rica

  - cvsup1.cr.FreeBSD.org

Indonesia

  - cvsup.id.FreeBSD.org

Kyrgyzstan

  - cvsup.kg.FreeBSD.org

Thailand

  - cvsup.th.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.ar.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

  - cvsup3.dk.FreeBSD.org

Ирландия

  - cvsup.ie.FreeBSD.org

Исландия

  - cvsup.is.FreeBSD.org

Испания

  - cvsup.es.FreeBSD.org

  - cvsup2.es.FreeBSD.org

  - cvsup3.es.FreeBSD.org

Италия

  - cvsup.it.FreeBSD.org

Канада

  - cvsup.ca.FreeBSD.org

Китай

  - cvsup.cn.FreeBSD.org

  - cvsup2.cn.FreeBSD.org

  - cvsup3.cn.FreeBSD.org

  - cvsup4.cn.FreeBSD.org

  - cvsup5.cn.FreeBSD.org

Корея

  - cvsup.kr.FreeBSD.org

  - cvsup2.kr.FreeBSD.org

  - cvsup3.kr.FreeBSD.org

Кувейт

  - cvsup1.kw.FreeBSD.org

Латвия

  - cvsup.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

  - cvsup5.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

Румыния

  - cvsup.ro.FreeBSD.org

  - cvsup1.ro.FreeBSD.org

  - cvsup2.ro.FreeBSD.org

  - cvsup3.ro.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

США

  - 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

Турция

  - 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

Филиппины

  - cvsup1.ph.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.cz.FreeBSD.org

Швейцария

  - cvsup.ch.FreeBSD.org

Швеция

  - cvsup.se.FreeBSD.org

  - cvsup3.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 | Уровень выше | Теги CVS

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.