O que é CTM
O CTM é o método ideal para quem não possui uma conexão rápida a Internet ou mesmo que só possua acesso a ela através de e-mail, pois através do CTM todas as mudanças realizadas no código fonte do FreeBSD podem ser enviadas automaticamente a você por e-mail, ou voce pode buscá-las por FTP. A distribuição das atualizações é feita através de pequenos arquivos chamados "deltas" e você irá receber em média até 3 deltas por dia para os ramos em que o desenvolvimento é mais ativo. Esses deltas geralmente tem o menor tamanho possivel, tipicamente 5 Kb, de vez em quando (~ 1 em 10) entre 10-50 Kb, e raramente por volta de 100 Kb.
O que é necessário para usar CTM?
Você vai precisar de duas coisas, o programa
ctm (parte integrante do FreeBSD desde a versão 2.0) e dos deltas
iniciais para alimentá-lo, gerando a sua árvore CTM do current
ou stable.
Para buscar seus "deltas" por e-mail, voce deve
enviar um e-mail para majordomo@FreeBSD.ORG
e se inscrever na lista desejada, as listas disponiveis são:
Usando o CTM pela primeira vez.
Antes de começar a utilizar os deltas CTM,
você vai precisar de um lugar para eles. Eu sugiro que voce crie
um
diretório vazio para isso, tal como /usr/CTM,
para colocar a sua arvore CTM.
Agora voce precisa utilizar um Delta inicial "Empty"
para iniciar a sua árvore CTM. Hoje 26/01/99
para o ramo current este arquivo é o src-cur.3700xEmpty.gz
(42 Mb), que pode ser obtido por FTP em:
ftp://ftp.freebsd.org/pub/FreeBSD/CTM/src-cur/src-cur.3700xEmpty.gz.
Uma vez que você escolheu um "Delta Empty"
para iniciar a sua arvore, você necessitará também
de todos os deltas com numeração superior a ele, que pode
ser obtidos no mesmo diretório do arquivo anterior.
Coloque estes arquivos no diretorio /usr/CTM/deltas
e crie tambem o diretorio /usr/CTM/src e /usr/CTM/tmp.
Para inicializar a sua arvore execute o comando:
# cd /usr/CTM/src
# ctm -v -v ../deltas/src-cur.*
Mantendo a sua árvore
Depois de inicializar a sua árvore, e se inscrever
na lista desejada, voce vai receber os deltas por e-mail, para apliacá-los
a sua árvore CTM, voce deverá utilizar o programa ctm_rmail.
Caso voce tenha criado um usuario especial só
para cuidar da árvore CTM voce deve logar na conta deste usuário
e
executar o comando:
$ ctm_rmail -p /usr/CTM/tmp -d /usr/CTM/deltas -b /usr/CTM/src $MAIL
O comando acima irá aplicar os deltas a sua
arvore e deletar o e-mail.
O ideal é automatizar o processo, para isso
você pode criar uma entrada no /etc/alias
como a mostrada abaixo:
receiver-ctm: "|ctm_rmail -p /usr/CTM/tmp -d /usr/CTM/deltas -l /CTM/assembly.log"
owner-receiver-CTM: root@localhost
A primeira linha vai decodificar e juntar automaticamente os deltas que forem enviadas para receiver-ctm, mas não ira aplica-las a sua árvore, e gravará um log das operações no arquivo assembly.log. A segunda linha vai enviar para o e-mail do root qualquer erro que aconteça na operação. Para aplicar os deltas coletados a sua árvore voce deverá executar o comando:
$ ctm_rmail -D -d /usr/CTM/deltas -b /usr/CTM/src -l /usr/CTM/apply.log
Caso deseje que todo o processo seja automático a primeira linha do alias deve ser:
receiver-ctm: "|ctm_rmail -D -p /usr/CTM/tmp -d /usr/CTM/deltas -b /usr/CTM/src -l /ctm/ctm.log"
PS. Não esqueca de rodar o newaliases, após editar o /etc/alias.
Atualizando seu sistema
Agora que você ja tem o seu codigo fonte sincronizado
com o repositorio central, para atualizar seu sistema
basta um make world periódico
( uma vez por semana ou a cada 15 dias) para manter o seu sistema atualizado.
Para maiores informações
sobre como executar um make world Clique aqui.