O CVSup é um software para distribuir e atualizar árvores de fontes a partir de um repositório CVS central para um servidor remoto. Os fontes do FreeBSD são mantidos num repositório CVS em um computador central de desenvolvimento na Califórnia. Com o CVSup, usuários do FreeBSD podem facilmente manter suas próprias árvores de fontes atualizadas.
CVSup usa o chamado modelo pull ( puxe, puxar ) de atualização. Neste modelo cada cliente solicita atualizações ao servidor quando as deseja. O servidor central aguarda por solicitações dos clientes. Todas as atualizações são sempre iniciadas pelo cliente. O servidor central nunca envia atualizações não solicitadas. Os usuários devem executar o cliente CVSup manualmente para obter a atualização desejada ou podem preparar um comando cron para executá-lo regularmente de uma forma automática.
O termo CVSup, refere-se a todo o software. Seus principais componentes são o cliente cvsup, que roda na máquina do usuário e o servidor cvsupd, que roda em cada um dos sítios onde existe um repositório CVS.
Ao ler as documentações do FreeBSD ou listas de ``email'' você pode encontrar referências ao sup. Sup foi o predecessor do CVSup, tinha a mesma finalidade. CVSup é usado do mesmo modo que o sup e de fato, usa arquivos de configuração compatíveis com os do sup. O Sup não é mais usado no projeto FreeBSD porque o CVSup é mais rápido e mais flexível.
O modo mais fácil de instalar o CVSup é usando o pacote net/cvsup pré compilado do FreeBSD que faz parte da packages collection. Se você preferir compilar o CVSup a partir de seus fontes, você também pode usar o net/cvsup encontrado no ``ports'', mas lembre-se que o CVSup depende do sistema Modula-3 e levará muito tempo e gastará um bocado de espaço em disco baixá-lo e compilá-lo.
Nota: Se você está pretendendo usar o CVSup numa máquina que não tem o XFree86™ instalado, como um servidor, por exemplo, certifique-se de usar o ``port'' que não inclua a CVSup GUI, net/cvsup-without-gui.
Se você ainda não conhece o CVSup e tudo o que você deseja é um pacote que o instalá-lo facilmente, prepare o arquivo de configuração e inicie a transferência através de um tipo de interface ``apontar e clicar'', pegue então o pacote net/cvsupit. Use o pkg_add(1) e ele guiará você pelo processo de configuração através de uma interface orientada a menus .
A operação do CVSup é controlada por um arquivo de configuração chamado supfile. Existem alguns exemplos de supfiles no diretório /usr/share/examples/cvsup/.
A informação contida no supfile responde as seguintes questões a respeito do CVSup:
Nas seções seguintes construiremos um supfile típico respondendo a cada uma dessas questões. Primeiro descreveremos a estrutura geral de um supfile.
Um supfile é um arquivo texto. Comentários começam com # e vão até o fim da linha. Linhas em branco e linhas somente com comentários são ignoradas .
Cada linha descreve um conjunto de arquivos que o usuário quer receber. Uma linha começa com um nome de ``collection'', um grupo lógico de arquivos definidos pelo servidor. O nome do collection diz ao servidor que arquivos você deseja. Depois do nome do collection vêm zero ou mais campos separados por espaço. Estes campos respondem as questões listadas acima. Existem dois tipos de campos: indicadores e valores. Um indicador consiste de uma palavra-chave isolada, como, delete ou compress. Um valor também consiste de uma palavra-chave, mas seguida pelo literal = e uma segunda palavra. Por exemplo, release=cvs, é um campo valor.
Um supfile tipicamente especifica mais de um collection para ser recebida. Uma maneira de estruturar um supfile é especificar de uma forma explícita todos os campos relevantes para cada collection. Entretanto, isso tende a fazer com que as linhas do supfile fiquem muito longas e é inconveniente porque muitos campos são os mesmos para todos os collections no supfile. CVSup possui um mecanismo default para evitar esse problema. Linhas começando com o nome de collection especial *default podem ser usadas para atribuir indicadores e valores que serão usados como default para todos os collections subsequentes no arquivo supfile. Um valor default pode ser sobreposto num determinado collection especificando-se um valor diferente na linha deste collection. Os defaults podem ser mudados ou expandidos no meio do arquivo supfile colocando-se linhas *default adicionais.
Dito isto, vamos começar a preparar um supfile para receber e atualizar a árvore de diretórios dos fontes do FreeBSD-CURRENT.
Quais arquivos você quer receber ?
Os arquivos disponíveis através do CVSup são organizados em grupos chamados ``collections''. Os collections disponíveis estão descritos na seção seguinte. No nosso exemplo desejamos receber toda a árvore de diretórios com os fontes do FreeBSD. Existe um grande collection chamado src-all que nos dará tudo isto. Como primeiro passo na preparação de nosso supfile, vamos simplesmente listar os collections, um por linha ( nesse caso, somente uma linha):
src-all
Quais versões desses arquivos você quer ?
Com o CVSup, você pode receber praticamente qualquer versão dos fontes que já tenha existido. Isso é possível porque o servidor cvsupd trabalha diretamente com o repositório CVS que contém todas as versões. Você especifica qual delas você quer usando os campos de valores tag= e date=.
AtençãoSeja muito cuidadoso para especificar os campos tag= corretamente. Alguns tags são válidos somente para alguns collections. Se você especificar uma tag incorreta, o CVSup removerá arquivos que você provavelmente não queria remover. Especialmente, use tag=. somente para os ports-* collections .
O campo tag= aponta para uma etiqueta no repositório. Existem duas espécies de etiquetas, revision tags e branch tags. Uma revision tag (etiqueta de revisão) refere-se a uma revisão específica. Isso significa que ela será a mesma dia após dia. Por outro lado, uma branch tag (etiqueta de ramo de desenvolvimento) refere-se sempre a última versão numa dada linha de desenvolvimento e pode ser alterada de hoje para amanhã.
Seção A.6 contém branch tags que podem interessá-lo. Ao especificar uma etiqueta num arquivo de configuração CVSup, ela deve ser precedido de tag= (RELENG_4 será tag=RELENG_4). Lembre-se que o tag=. somente é relevante para o ports collection.
AtençãoTome cuidado para digitar o nome da etiqueta exatamente como é mostrada. O CVSup não pode distinguir entre um tag válido ou não. Se você informa ao CVSup um tag errado, ele trabalhará como se você tivesse informado um tag válido que aponta para nenhum arquivo. Neste caso, os fontes que você já possui serão removidos.
Quando você especifica um branch tag, você normalmente receberá a última versão dos arquivos naquela linha de desenvolvimento. Se você quer alguma versão mais antiga, você pode especificar date= como o campo de valor. O cvsup(1) ( manual page ) explica como fazer isso.
No nosso exemplo, queremos receber o FreeBSD-CURRENT. Então adicionaremos a linha seguinte ao supfile:
*default tag=.
Existe um caso especial, onde o campo tag= nem o campodate= não possuem valor especificado. Nesse caso, você receberá os atuais arquivos RCS do repositório CVS, e não uma versão em particular. Desenvolvedores geralmente preferem esta forma de operação. Mantendo uma cópia do repositório inteiro em sua máquina eles tem a facilidade de pesquisar o histórico das revisões, bem como, examinar versões anteriores dos arquivos. Entretanto, esta facilidade implica numa grande ocupação de espaço em disco.
Usamos o campo de valor host= para dizer ao cvsup de onde obter as atualizações. Qualquer um dos repositórios cvsup listados em Repositórios CVSup pode ser usado. Você deve escolher um mais próximo de você. Em nosso exemplo usaremos o repositório fictício cvsup666.FreeBSD.org:
*default host=cvsup666.FreeBSD.org
Você precisará mudar o servidor para um que realmente exista, antes de executar o CVSup. Numa execução em particular do cvsup, você pode sobrepôr o repositório escolhido com a opção -h hostname na linha de comando .
Onde você quer colocá-los em sua máquina ?
O campo de valor prefix= diz ao cvsup onde colocar os arquivos recebidos. Neste exemplo, vamos colocar os arquivos fontes recebidos diretamente em nossa árvore de fontes /usr/src. O subdiretório em src é implícito conforme o collections que você escolheu para receber:
*default prefix=/usr
Onde você quer colocar os arquivos de status ?
O cliente CVSup mantém certos arquivos de status chamados ``base de diretórios''. Esses arquivos auxiliam o CVSup a trabalhar mais eficientemente, mantendo o registro das atualizações que você já recebeu. Usaremos o local usual, /usr/local/etc/cvsup, para a ``base de diretórios'':
*default base=/usr/local/etc/cvsup
Esta escolha é a default quando nenhuma outra é especificada no supfile, assim a linha acima não será necessária.
Se sua ``base de diretórios'' ainda não existe, agora é uma boa hora para criá-la. O cliente cvsup não executará se a ``base de diretórios'' não existir.
Outras instruções que podem ser dadas no supfile :
Existem ainda uma ou mais linhas de texto padronizado que precisam estar presentes no supfile:
*default release=cvs delete use-rel-suffix compress
release=cvs indica que o servidor deve dar a informação equivalente a do repositório CVS principal do FreeBSD. Praticamente sempre é este o caso, mas existem outras possibilidades fora do escopo dessa documentação .
delete dá ao CVSup permissão para apagar arquivos. Você deve sempre especificar isso, assim o CVSup pode manter sua árvore de fontes totalmente atualizada. CVSup é criterioso para remover somente arquivos pelos quais ele é responsável.
use-rel-suffix é ... um enigma. Se você realmente quer conhece-lo veja o cvsup(1) ( manual page ). Se não, coloque ele lá e não esquente a cabeça.
compress habilita o estilo de compressão ``gzip''. Se você tem um link do tipo ``T1'', ou outro mais rápido, você certamente não usará compressão. Caso não tenha, isso o ajudará substancialmente.
Juntando tudo:
Aí está todo o supfile do nosso exemplo:
*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
Como mencionado acima, o CVSup usa o método pull. Basicamente, isto quer dizer que você conecta o servidor CVSup e ele diz, ``Isto é o que você pode baixar daqui ...'' e seu módulo cliente responde ``OK, eu pegarei isto, isto e isto''. Na configuração default, o módulo cliente do CVSup pedirá todos os arquivos associados com o collection que você escolheu no arquivo de configuração. Entretanto, nem sempre isso é o que você deseja, especialmente se você está atualizando as árvores doc, ports, ou www -- a maioria das pessoas não conseguem ler quatro ou cinco idiomas e portanto não precisam baixar os arquivos de todas elas. Se você está atualizando o ports collection, você pode resolver isso especificando cada collection individualmente (e.g., ports-astrology, ports-biology, etc ao invés de simplesmente dizer ports-all). Porém, como as árvores doc e www não tem collections específicas por língua, você pode usar uma das boas características do CVSup: o arquivo refuse.
O arquivo refuse basicamente diz ao CVSup que ele não deve copiar todos os arquivos de um collection; em outras palavras, ele diz ao módulo cliente do CVSup para recusar determinados arquivos do servidor. O arquivo refuse pode ser encontrado ( ou se você ainda não tem um, pode ser colocado ) em base/sup/. base é definido em seu supfile; por default, base é /usr/local/etc/cvsup, o que significa que por default o arquivo refuse é /usr/local/etc/cvsup/sup/refuse.
O arquivo refuse tem um formato muito simples; ele somente contém os nomes dos arquivos e diretórios que você não quer copiar. Por exemplo, se você não fala qualquer outra língua que não Inglês e um pouquinho de Alemão e você não sente necessidade de usar aplicações em Alemão ( ou em qualquer outra linguagem, exceto Inglês ), você pode preparar o seguinte arquivo 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_*
e assim também para outras linguagens ( você pode encontrar e pesquisar a lista completa no Repositório CVS do FreeBSD ).
Com esta prática facilidade os usuários que possuem conexões lentas ou que pagam por minuto suas conexões à Internet, estão aptos a poupar tempo não copiando arquivos que nunca usarão. Para mais informações sobre os arquivos refuse e outras facilidades do CVSup, por favor consulte o manual page.
Agora você está pronto para tentar sua primeira atualização. A linha de comando para fazer isto é muito simples:
# cvsup supfile
Onde supfile é naturalmente o nome do arquivo supfile que você acabou de criar. Se você está usando o ambiente X11, o cvsup mostrará uma janela com alguns botões para as ações mais usuais. Acione o botão go e observe sua execução.
Considerando que no nosso exemplo você estará atualizando sua árvore de diretórios fontes em /usr/src, você precisará executar o programa como root assim o cvsup terá as permissões necessárias para atualizar seus arquivos. Tendo acabado de criar seu arquivo de configuração e nunca usado este programa antes, é compreensível que você fique preocupado. Existe um modo simples de rodar um teste sem tocar em seus arquivos. Crie um diretório vazio em algum lugar conveniente e informe o nome dele como um argumento extra na linha de comando:
# mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest
O diretório que você especificar será usado como diretório de destino de todos os arquivos copiados. O CVSup examinará seus arquivos atuais na árvore /usr/src, mas não modificará nada lá. Qualquer arquivo atualizado será colocado em /var/tmp/dest/usr/src. O CVSup também deixará intocado os arquivos que compõem o base directory quando executado desta maneira. As novas versões destes arquivos também serão gravadas no diretório especificado. Caso você tenha acesso para leitura na árvore /usr/src, você não precisa executar este teste como root.
Se você não está usando o ambiente gráfico X11, ou não gosta de GUIs, você ainda deve adicionar um par de opções a linha de comando quando for executar o cvsup:
# cvsup -g -L 2 supfile
O -g diz ao CVSup para não usar uma GUI. Isso é automático quando você não está rodando o X11, caso contrário precisa especificá-lo.
O -L 2 diz ao CVSup para imprimir os detalhes de todas as atualizações que estiverem sendo feitas. Existem três níveis de detalhamento, de -L 0 à -L 2. O default é 0, que significa ``silêncio'' total, exceto para mensagens de erro.
Existem muitas outras opções disponíveis. Para uma breve lista delas digite cvsup -H. Para descrições mais detalhadas veja o manual page.
Quando você estiver satisfeito com o modo como as atualizações estão sendo feitas, você pode preparar execuções automáticas regulares do CVSup usando o cron(8). Naturalmente, você não deve deixar o CVSup usar uma GUI quando executado a partir do cron(8).
Os Collections disponíveis ao CVSup são organizados hierarquicamente. Existem alguns poucos grandes collections e eles são divididos em sub-collections menores. Receber um grande collection é equivalente a receber cada uma de suas sub-collections. A relação hierárquica entre os collections está representada pelo uso da indentação na lista abaixo.
Os collections mais usados são src-all e ports-all. Os outros collections são usados somente por um pequeno grupo de pessoas para propósitos específicos. Alguns sítios de CVS podem não disponibilizar todos eles.
O principal repositório CVS do FreeBSD, incluindo o código para criptografia.
Arquivos relacionados a distribuição e duplicação do FreeBSD.
Fontes do ``FreeBSD Handbook'' e outras documentações. Não inclui os arquivos referentes ao sítio Web do FreeBSD.
Todos os Ports Collection do FreeBSD.
Importante: Se você não quer atualizar todo o ports-all ( a árvore inteira do ports ), pode usar uma das sub-collections listadas abaixo, mas, ao fazer isso sempre atualize o sub-collection ports-base ! Sempre que alguma coisa muda na infraestrutura do ports que é representada pelo ports-base, é praticamente certo que logo esta mudança será usada nos demais ports collections. Assim, se você somente atualizar os demais ports e eles usarem alguma coisa da nova infraestrutura, há uma grande probabilidade de que o processo vá falhar com alguma mensagem de erro misteriosa. A primeira coisa a fazer nesse caso é garantir que o sub-collection ports-base está atualizado.
Ferramentas de tratamento de arquivos.
Astronomia.
Suporte à Áudio.
Representa a infraestrutura do ports em diversos arquivos localizados nos subdiretórios Mk/ e Tools/ do /usr/ports.
Nota: Veja o aviso importante acima: você deve sempre atualizar esse subcollection, ao fazer uma atualização em qualquer parte dos Ports Collections do FreeBSD.
Ferramentas de avaliação de performance.
Biologia.
Ferramentas CAD.
Suporte à língua Chinesa.
Softwares de comunicação.
Conversores de caracteres.
Bancos de Dados.
Coisas que eram usadas na mesa de trabalho antes dos computadores serem inventados.
Utilitários para desenvolvimento.
Softwares relacionados a DNS.
Editores.
Emuladores para outros sistemas operacionais.
Aplicativos monetários, financeiros e outras aplicações relacionadas a isto.
Módulos cliente FTP e utilitários para servidores.
Jogos.
Suporte a língua Alemã.
Utilitários para gráficos.
Suporte a língua Húngara.
Utilitários para IRC.
Suporte a língua Japonesa.
Utilitários Java™.
Suporte a língua Coreana.
Linguagens de Programação.
Softwares de email.
Softwares para computação numérica.
Aplicações MBone.
Utilitários Genéricos.
Software multimídia.
Softwares de Rede.
USENET news software.
Suporte para a série Palm™.
Suporte a língua Polonesa.
Suporte a língua Portuguesa.
Impressão.
Suporte a língua Russa.
Segurança.
Shells para linhas de comando.
Utilitários de sistema.
Processadores de texto ( não inclui desktop publishing ).
Suporte a língua Vietnamita.
Programas relacionados a World Wide Web.
Suporte ao sistema X window.
Relógios para sistema X window.
Gerenciadores de arquivos para sistema X window.
Fontes e utilitários para gerenciamento de fontes para sistema X window.
Ferramentas para o sistema X window.
Servidores X window.
Gerenciadores de janelas para o sistema X window.
Os principais fontes do FreeBSD incluindo códigos para criptografia.
Miscelânea de arquivos na raiz do /usr/src.
Utilitários que podem ser necessários quando no modo monousuário (/usr/src/bin).
Utilitários e bibliotecas que não fazem parte do projeto FreeBSD, usados praticamente sem modificações (/usr/src/contrib).
Utilitários e bibliotecas de criptografia que não fazem parte do projeto FreeBSD, usadas praticamente sem modificações (/usr/src/crypto).
Kerberos e DES (/usr/src/eBones). Não mais usados nos novos releases do FreeBSD.
Arquivos de configuração do sistema (/usr/src/etc).
Jogos (/usr/src/games).
Utilitários cobertos pela GPL - GNU Public License (/usr/src/gnu).
Arquivos Header (/usr/src/include).
Pacote de segurança Kerberos5 (/usr/src/kerberos5).
Pacote de segurança KerberosIV (/usr/src/kerberosIV).
Bibliotecas (/usr/src/lib).
Programas do sistema normalmente executados por outros programas (/usr/src/libexec).
Arquivos necessários para produzir um release FreeBSD (/usr/src/release).
Utilitários de sistema para o modo monousuário (/usr/src/sbin).
Comandos e bibliotecas para criptografia (/usr/src/secure).
Arquivos que podem ser compartilhados por múltiplos sistemas (/usr/src/share).
O kernel (/usr/src/sys).
Código de criptografia do kernel (/usr/src/sys/crypto).
Diversas ferramentas para manutenção do FreeBSD (/usr/src/tools).
Utilitários para o usuário (/usr/src/usr.bin).
Utilitários do sistema (/usr/src/usr.sbin).
Fontes do sítio WWW do FreeBSD.
Arquivos de configuração dos próprios servidores CVSup. Usados pelos sítios de espelhamento do repositório central CVSup.
A base de dados GNATS para controle de bugs.
Histórico da lista de emails do projeto FreeBSD.
Arquivos pré-processados do sítio WWW do FreeBSD ( não os arquivos fontes ). Usados pelos sítios de espelhamento WWW.
Para o FAQ do CVSup e outras informações sobre ele, veja A página principal do CVSup.
Muitas discussões relacionadas com o CVSup estão em lista de discussões técnicas FreeBSD (hackers). Novas versões do sistemas são anunciadas ali, bem como, em lista de discussão dos anúncios FreeBSD.
Perguntas e relatos de bugs devem ser endereçados
ao autor do programa em <cvsup-bugs@polstra.com>
.
Servidores CVSup para FreeBSD estão rodando nos seguintes sítios:
Servidores Centrais, Servidores Espelhos Primários, Africa do Sul, Alemanha, Argentina, Australia, Austria, Brasil, Canada, China, Corea, Costa Rica, Dinamarca, Espanha, Estonia, Filipinas, Finlandia, França, Grecia, Holanda, Hungria, Indonesia, Irlanda, Islandia, Italia, Japão, Kuwait, Kyrgyzstan, Letonia, Lituania, Noruega, Nova Zelandia, Polonia, Portugal, Reino Unido, Republica Eslovaca, Republica Tcheca, Rumenia, Russia, San Marino, Singapura, Slovenia, Suecia, Suiça, Tailandia, Taiwan, Turquia, USA, Ucrania.
(Atualizado em: 2004/10/26 16:33: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.za.FreeBSD.org
cvsup2.za.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.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
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.cr.FreeBSD.org
cvsup.dk.FreeBSD.org
cvsup2.dk.FreeBSD.org
cvsup.es.FreeBSD.org
cvsup2.es.FreeBSD.org
cvsup3.es.FreeBSD.org
cvsup.ee.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.gr.FreeBSD.org
cvsup2.gr.FreeBSD.org
cvsup.nl.FreeBSD.org
cvsup2.nl.FreeBSD.org
cvsup3.nl.FreeBSD.org
cvsup5.nl.FreeBSD.org
cvsup.hu.FreeBSD.org
cvsup.id.FreeBSD.org
cvsup.ie.FreeBSD.org
cvsup.is.FreeBSD.org
cvsup.it.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
cvsup1.kw.FreeBSD.org
cvsup.kg.FreeBSD.org
cvsup.lv.FreeBSD.org
cvsup.lt.FreeBSD.org
cvsup2.lt.FreeBSD.org
cvsup3.lt.FreeBSD.org
cvsup.no.FreeBSD.org
cvsup.nz.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.uk.FreeBSD.org
cvsup2.uk.FreeBSD.org
cvsup3.uk.FreeBSD.org
cvsup4.uk.FreeBSD.org
cvsup.sk.FreeBSD.org
cvsup2.sk.FreeBSD.org
cvsup.cz.FreeBSD.org
cvsup.ro.FreeBSD.org
cvsup1.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.si.FreeBSD.org
cvsup2.si.FreeBSD.org
cvsup.se.FreeBSD.org
cvsup3.se.FreeBSD.org
cvsup.ch.FreeBSD.org
cvsup.th.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
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
cvsup2.ua.FreeBSD.org
cvsup3.ua.FreeBSD.org
cvsup4.ua.FreeBSD.org
cvsup5.ua.FreeBSD.org
cvsup6.ua.FreeBSD.org
cvsup7.ua.FreeBSD.org
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.