Esta seção descreve o procedimento para publicar snapshots e releases de desenvolvimento do FreeBSD nos espelhos do Projeto.
A preparação dos snapshots e das versões do FreeBSD é um processo de duas partes:
Criando a estrutura de diretórios para corresponder a hierarquia em ftp-master
Se EVERYTHINGISFINE
for definido nos arquivos de configuração de compilação, main.conf
no caso dos scripts de compilação mencionados acima, isto acontece automaticamente no chroot(8) após a compilação ser concluída, criando a estrutura de diretório em ${DESTDIR}/R/ftp-stage
com um estrutura de caminho que corresponde ao que é esperado em ftp-master
. Isto é equivalente a executar o seguinte diretamente no chroot(8):
#
make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage
Depois que cada arquitetura é compilada, o thermite.sh
irá fazer um rsync do ${DESTDIR}/R/ftp-stage
da compilação chroot(8) para o diretório /snap/ftp/snapshots
ou /snap/ftp/releases
no host de compilação, respectivamente.
Copiando os arquivos para um diretório temporário em ftp-master
antes de mover os arquivos para pub/
para iniciar a propagação para os servidores espelhos do Projeto
Uma vez que todas as compilações terminarem, /snap/ftp/snapshots
, ou /snap/ftp/releases
para uma versão, é pesquisado pelo ftp-master
usando rsync para /archive/tmp/snapshots
ou /archive/tmp/releases
, respectivamente.
No ftp-master
na infraestrutura do Projeto FreeBSD, esta etapa requer acesso ao nível de root
, já que esta etapa deve ser executada como o usuário archive
.
Uma vez que as imagens são colocadas em /archive/tmp/
, elas estão prontas para serem publicadas colocando-as em /archive/pub/FreeBSD
. Para reduzir o tempo de propagação, o pax(1) é usado para criar links físicos a partir de /archive/tmp
para /archive/pub/FreeBSD
.
Para que isto seja efetivo, tanto o /archive/tmp
quanto o /archive/pub
devem residir no mesmo sistema de arquivos lógico.
Há uma ressalva, no entanto, em que o rsync deve ser usado após o pax(1) para corrigir os links simbólicos no pub/FreeBSD/
que o pax(1) irá substituir por um hard link, aumentando o tempo de propagação.snapshots
/ISO-IMAGES
Assim como nas etapas de preparação, isto requer acesso em nível de root
, já que essa etapa deve ser executada como o usuário archive
.
Como o usuário archive
:
%
cd /archive/tmp/
snapshots
%
pax -r -w -l . /archive/pub/FreeBSD/
snapshots
%
/usr/local/bin/rsync -avH /archive/tmp/
snapshots
/* /archive/pub/FreeBSD/snapshots
/
Substitua os snapshots
por releases
conforme apropriado.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.