pt_BR.ISO8859-1/articles/freebsd-update-server: converted to .po

* content synchronized with en_US document (rev 51862)
* article.xml converted to .po
* .po file was translated to pt_BR
* pt_BR.po and article.xml file has been set to UTF-8 encoding
* information about volunteers who translated and/or revised the document was added to the header of the .po file

Approved by: gabor (mentor, implicit)
Obtained from: The FreeBSD Brazilian Portuguese Documentation Project
This commit is contained in:
Edson Brandi 2018-09-12 02:22:29 +00:00
parent 3302449014
commit 3f3c94845a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=52249
2 changed files with 1750 additions and 330 deletions
pt_BR.ISO8859-1/articles/freebsd-update-server

View file

@ -1,142 +1,89 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ <!ENTITY fbus.ap "<application xmlns='http://docbook.org/ns/docbook'>FreeBSD
<!ENTITY fbus.ap "<application xmlns='http://docbook.org/ns/docbook'>Servidor de Atualização do FreeBSD</application>"> Update Server</application>">
]> ]>
<!-- <article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" version="5.0" xml:lang="pt_BR">
The FreeBSD Documentation Project <info>
The FreeBSD Brazilian Portuguese Documentation Project <title>Construa seu próprio servidor de atualização do FreeBSD</title>
Original revision: r41162 <author><personname> <firstname>Jason</firstname> <surname>Helfman</surname> </personname> <affiliation> <address>Jason Helfman <email>jgh@FreeBSD.org</email></address> </affiliation></author>
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="pt_br">
<info><title>Construa Seu Próprio Servidor de Atualização do &os;</title>
<author><personname><firstname>Jason</firstname><surname>Helfman</surname></personname><affiliation> <copyright><year>2009</year> <year>2010</year> <year>2011</year> <year>2013</year> <holder role="mailto:jgh@FreeBSD.org">Jason Helfman</holder></copyright>
<address>&a.jgh;</address>
</affiliation></author>
<copyright>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2013</year>
<holder role="mailto:jgh@FreeBSD.org">Jason Helfman</holder>
</copyright>
<legalnotice xml:id="trademarks" role="trademarks"> <legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd; <para>FreeBSD is a registered trademark of the FreeBSD Foundation.</para>
&tm-attrib.general; <para>Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote></quote> or the <quote>®</quote> symbol.</para>
&tm-attrib.intel; <para>Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.</para>
&tm-attrib.amd; <para>AMD, AMD Athlon, AMD Opteron, AMD Phenom, AMD Sempron, AMD Turion, Athlon, Élan, Opteron, and PCnet are trademarks of Advanced Micro Devices, Inc.</para>
</legalnotice> </legalnotice>
<pubdate>$FreeBSD$</pubdate> <pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo> <releaseinfo>$FreeBSD$</releaseinfo>
<abstract> <abstract>
<para>Este artigo descreve como construir um &fbus.ap; para uso <para>Este artigo descreve a construção de um <application>servidor de atualizações do FreeBSD</application> interno. O <link xlink:href="https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link> foi escrito por Colin Percival <email>cperciva@FreeBSD.org</email>, Oficial de Segurança Emérito do FreeBSD. Para usuários que acham conveniente atualizar seus sistemas em um servidor de atualização oficial, construir seu próprio <application>FreeBSD Update Server</application> pode ajudar a estender sua funcionalidade suportando versões do FreeBSD ajustadas manualmente ou fornecendo um espelho local que permitirá atualizações mais rápidas para várias máquinas.</para>
interno na sua organização. O software <link xlink:href="http://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link> </abstract>
foi escrito pelo &a.cperciva;, Chefe de Segurança emérito do
&os;. Para usuários que acreditam que é conveniente atualizar
seus sistemas a partir de um servidor oficial de atualização,
construir o seu próprio &fbus.ap; pode ajudá-lo a estender suas
funcionalidades, seja por adicionar suporte a versões
customizadas do &os; ou por viabilizar a criação de um servidor
local o qual permitirá atualizações mais rápidas caso você
possua muitos servidores para atualizar.</para>
</abstract>
</info> </info>
<sect1 xml:id="acknowledgments"> <sect1 xml:id="acknowledgments">
<title>Agradecimentos</title> <title>Agradecimentos</title>
<para>Este artigo posteriormente impresso na <link xlink:href="http://bsdmag.org/magazine/1021-bsd-as-a-desktop">BSD
Magazine</link>.</para> <para>Este artigo foi publicado posteriormente no <link xlink:href="http://bsdmag.org/magazine/1021-bsd-as-a-desktop">BSD Magazine</link>.</para>
</sect1> </sect1>
<sect1 xml:id="introduction"> <sect1 xml:id="introduction">
<title>Introdução</title> <title>Introdução</title>
<para>Usuários experientes ou administradores são frequentemente <para>Usuários experientes ou administradores são muitas vezes responsáveis por várias máquinas ou ambientes. Eles entendem as difíceis demandas e desafios da manutenção de tal infraestrutura. A execução de um <application>Servidor de Atualização do FreeBSD</application> facilita a implantação de patches de segurança e software em máquinas de teste selecionadas antes de implementá-las nas maquinas em produção. Isso também significa que vários sistemas podem ser atualizados a partir da rede local, em vez de uma conexão de Internet potencialmente mais lenta. Este artigo descreve os passos envolvidos na criação de um <application>Servidor de Atualização do FreeBSD </application> interno.</para>
responsáveis por diversas máquinas ou ambientes. Eles entendem
as dificuldades e os desafios de manter tal estrutura. A
utilização de um &fbus.ap; torna mais fácil a tarefa de
implantar patches de segurança e de softwares nas máquinas
selecionadas para testá-los antes proceder com o seu deploy no
ambiente de produção. Isto também significa que seus servidores
poderão ser atualizados a partir da rede local em vez de
utilizarem sua conexão de internet, o que torna o processo muito
mais rápido. Este artigo descreve as etapas envolvidas na
criação de um &fbus.ap; para uso interno.</para>
</sect1> </sect1>
<sect1 xml:id="prerequisites"> <sect1 xml:id="prerequisites">
<title>Pré-Requisitos</title> <title>Pré-requisitos</title>
<para>Para construir o seu &fbus.ap; alguns requisitos devem ser <para>Para construir um <application>Servidor de Atualização do FreeBSD</application> interno, alguns requisitos devem ser atendidos.</para>
cumpridos.</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Estar executando o &os;.</para> <para>Um sistema FreeBSD em execução.</para>
<note> <note>
<para>No mínimo, as atualizações precisam ser compiladas em <para>No mínimo, as atualizações requerem a criação de uma versão do FreeBSD maior ou igual a versão do release alvo para a distribuição.</para>
uma versão do &os; maior ou igual a versão alvo a ser
distribuída.</para>
</note> </note>
</listitem> </listitem>
<listitem> <listitem>
<para>Ter acesso a uma conta de usuário com no mínimo <para>Uma conta de usuário com pelo menos 4 GB de espaço disponível. Isso permitirá a criação de atualizações para 7.1 e 7.2, mas os requisitos de espaço exatos podem mudar de versão para versão.</para>
4&nbsp;GB de espaço livre. Isto permite a criação de
atualizações para as versões 7.1 e 7.2, mas o espaço exato
requerido pode mudar de versão para versão.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Ter acesso a uma conta &man.ssh.1; em uma máquina <para>Uma conta com acesso ao <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry> em uma máquina remota para carregar atualizações distribuídas.</para>
remota para enviar as atualizações a serem
distribuídas.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Possuir um servidor web, como <link xlink:href="&url.books.handbook;/network-apache.html">Apache</link>, <para>Um servidor web, como o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/network-apache.html">Apache</link>, com mais da metade do espaço necessário para a construção. Por exemplo, as compilações de teste para 7.1 e 7.2 consomem uma quantidade total de 4 GB e o espaço do servidor da web necessário para distribuir essas atualizações é de 2.6 GB.</para>
com mais da metade do espaço necessário para a compialação.
Por exemplo, compilações testes para 7.1 e 7.2 consomem um
espaço total de 4&nbsp;GB, e usam 2.6&nbsp;GB para
distribuir essas atualizações.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Ter conhecimento básico de shell script com o Bourne <para>Conhecimento básico de shell script com o Bourne shell, <citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
shell, &man.sh.1;</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
<sect1 xml:id="Configuration"> <sect1 xml:id="Configuration">
<title>Instalação &amp; Configuração</title> <title>Configuração: Instalação &amp; Configuração</title>
<para>Para efetuar o download do software <link xlink:href="http://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link> <para>Faça o download do software <link xlink:href="https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link> instalando <package>devel/subversion</package> e <package>security/ca_root_nss</package>, e execute:</para>
instale o <package>devel/subversion</package> e
execute:</para>
<screen>&prompt.user; <userinput>svn co http://svn.freebsd.org/base/user/cperciva/freebsd-update-build freebsd-update-server</userinput></screen> <screen><prompt>%</prompt> <userinput>svn co https://svn.freebsd.org/base/user/cperciva/freebsd-update-build freebsd-update-server</userinput></screen>
<para>Atualize o <filename>scripts/build.conf</filename> de forma
adequada. Ele é usado durante as operações de
compilação.</para>
<para>Aqui está o <filename>build.conf</filename> padrão, que <para>Atualize o <filename>scripts/build.conf</filename> apropriadamente. Ele é criado durante todas as operações de construção.</para>
deverá ser modificado para se adequar ao seu ambiente.</para>
<para>Aqui está o <filename>build.conf</filename> padrão, que deve ser modificado para se adequar ao seu ambiente.</para>
<informalexample> <informalexample>
<programlisting> <programlisting># Main configuration file for FreeBSD Update builds. The
# Main configuration file for FreeBSD Update builds. The
# release-specific configuration data is lower down in # release-specific configuration data is lower down in
# the scripts tree. # the scripts tree.
@ -159,83 +106,52 @@ MASTERACCT=builder@wadham.daemonology.net<co xml:id="mstacct-id"/>
MASTERDIR=update-master.freebsd.org<co xml:id="mstdir-id"/></programlisting> MASTERDIR=update-master.freebsd.org<co xml:id="mstdir-id"/></programlisting>
</informalexample> </informalexample>
<para>Parâmentros que devem ser considerados:</para> <para>Parâmetros para consideração seriam:</para>
<calloutlist> <calloutlist>
<callout arearefs="ftp-id"> <callout arearefs="ftp-id">
<para>Este é o local de onde serão feitos os downloads das <para>Este é o local onde as imagens ISO são baixadas (pela sub-rotina <function>fetchiso()</function> do <filename>scripts/build.subr</filename>). A localização configurada não está limitada a URIs de FTP. Qualquer esquema de URI suportado pelo utilitário padrão <citerefentry><refentrytitle>fetch</refentrytitle><manvolnum/></citerefentry> deve funcionar bem.</para>
imagens ISO (pela sub-rotina <function>fetchiso()</function>
do <filename>scripts/build.subr</filename>). O local a ser
configurado não é limitado a URIs de FTP. Qualquer URI
suportada pela ferramenta &man.fetch.1; pode ser
usada.</para>
<para>Customizações do código da <para>Personalizações para o código de <function>fetchiso()</function> podem ser instaladas copiando o script padrão <filename>build.subr</filename> para a área específica do release e da arquitetura em <filename>scripts/RELEASE/ARCHITECTURE/build.subr</filename> e aplicando alterações locais.</para>
<function>fetchiso()</function> podem ser feitas copiando
o script padrão <filename>build.subr</filename> para o
local da sua versão e arquitetura específica
<filename>scripts/RELEASE/ARCHITECTURE/build.subr</filename> e
alterando o arquivo.</para>
</callout> </callout>
<callout arearefs="buildhost-id"> <callout arearefs="buildhost-id">
<para>O nome do computador que fará a compilação. Esta <para>O nome do host em construção. Esta informação será exibida em sistemas atualizados ao executar:</para>
informação será exibida durante a atualização dos
sistemas:</para>
<screen>&prompt.user; <userinput>uname -v</userinput></screen> <screen><prompt>%</prompt> <userinput>uname -v</userinput></screen>
</callout> </callout>
<callout arearefs="sshkey-id"> <callout arearefs="sshkey-id">
<para>A chave <application>SSH</application> para enviar os <para>A chave <application>SSH</application> para fazer upload de arquivos para o servidor de atualizações. Um par de chaves pode ser criado digitando <command>ssh-keygen -t dsa</command>. Este parâmetro é opcional; a autenticação de senha padrão será usada como um método de autenticação secundário quando a <literal>SSHKEY</literal> não estiver definida.</para>
arquivos para o servidor de atualização. O par de chaves
pode ser criado digitando <command>ssh-keygen -t
dsa</command>. Este parâmetro é opcional; a autenticação
por senha será usada como método de autenticação quando a
variável <literal>SSHKEY</literal> não estiver
definida.</para>
<para>A página do manual &man.ssh-keygen.1; tem informações <para>A página de manual do <citerefentry><refentrytitle>ssh-keygen</refentrytitle> <manvolnum>1</manvolnum></citerefentry> contém informações mais detalhadas sobre o <application>SSH</application> e as etapas apropriadas para criar e usar um.</para>
mais detalhadas sobre o <application>SSH</application> e os
passos apropriados para criar e usar chaves.</para>
</callout> </callout>
<callout arearefs="mstacct-id"> <callout arearefs="mstacct-id">
<para>Conta para enviar os arquivos para o servidor de <para>Conta para fazer upload de arquivos para o servidor de atualização.</para>
atualização.</para>
</callout> </callout>
<callout arearefs="mstdir-id"> <callout arearefs="mstdir-id">
<para>Diretório do servidor de atualização para o qual os <para>Diretório no servidor de atualização para o qual os arquivos são enviados.</para>
arquivos serão enviados.</para>
</callout> </callout>
</calloutlist> </calloutlist>
<para>O arquivo <filename>build.conf</filename> padrão, distribuído <para>O arquivo padrão <filename>build.conf</filename> fornecido com o código-fonte do <application>freebsd-update-server</application> é adequado para a criação de versões i386 do FreeBSD. Como um exemplo de criação de um servidor de atualização para outras arquiteturas, as etapas a seguir descrevem as alterações necessárias na configuração para o amd64:</para>
com o fonte do <application>freebsd-update-server</application>,
está preparado para compilar a versão &arch.i386; do &os;.
A titulo de exemplo sobre como compilar um servidor de
atualização para outras arquiteturas, as seguintes modificações
são necessárias para a arquitetura &arch.amd64;:</para>
<procedure> <procedure>
<step> <step>
<para>Crie um ambiente de compilação para o <para>Crie um ambiente de compilação para o amd64:</para>
&arch.amd64;:</para>
<informalexample> <informalexample>
<screen>&prompt.user; <userinput>mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64</userinput></screen> <screen><prompt>%</prompt> <userinput>mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64</userinput></screen>
</informalexample> </informalexample>
</step> </step>
<step> <step>
<para>Copie o arquivo <filename>build.conf</filename> para o <para>Instale um <filename>build.conf</filename> no diretório de criação recém-criado. As opções de configuração de compilação para o FreeBSD 7.2-RELEASE com arquitetura amd64 devem ser semelhantes a:</para>
diretório recém criado. As configurações de compilação para
o &os; 7.2-RELEASE na arquitetura &arch.amd64; devem ser
similares a:</para>
<informalexample> <informalexample>
<programlisting># SHA256 hash of RELEASE disc1.iso image. <programlisting># SHA256 hash of RELEASE disc1.iso image.
export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5<co xml:id="sha256-id"/> export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5<co xml:id="sha256-id"/>
# Components of the world, source, and kernels # Components of the world, source, and kernels
@ -251,19 +167,13 @@ export EOL=1275289200<co xml:id="eol-id"/></programlisting>
<calloutlist> <calloutlist>
<callout arearefs="sha256-id"> <callout arearefs="sha256-id">
<para>A chave hash &man.sha256.1; da versão desejada, <para>A chave <citerefentry><refentrytitle>sha256</refentrytitle><manvolnum>1</manvolnum></citerefentry> usada para fazer o hash para a release desejada é publicada no respectivo <link xlink:href="@@URL_RELPREFIX@@/releases/">anúncio de release</link>.</para>
ela é publicada no <link xlink:href="&url.base;/releases/">anúncio da versão</link>.</para>
</callout> </callout>
<callout arearefs="eol-id"> <callout arearefs="eol-id">
<para>Para gerar o número "End of Life" (Fim da Vida) para <para>Para gerar o número "End of Life" para o <filename>build.conf</filename>, consulte o "EOL estimado" publicado no <link xlink:href="@@URL_RELPREFIX@@/security/security.html">Site de Segurança do FreeBSD</link>. O valor de <literal>EOL</literal> pode ser derivado da data listada no site, usando o utilitário <citerefentry><refentrytitle>date</refentrytitle><manvolnum>1</manvolnum></citerefentry>, por exemplo:</para>
o <filename>build.conf</filename>, consulte a informação
sobre o "Estimated EOL" publicada no <link xlink:href="&url.base;/security/security.html">Site de <screen><prompt>%</prompt> <userinput>date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'</userinput></screen>
Segurança do &os;</link>. O valor do
<literal>EOL</literal> pode ser derivado a partir da
data listada no site, usando a ferramenta &man.date.1;,
por exemplo:</para>
<screen>&prompt.user; <userinput>date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'</userinput></screen>
</callout> </callout>
</calloutlist> </calloutlist>
</step> </step>
@ -271,16 +181,11 @@ export EOL=1275289200<co xml:id="eol-id"/></programlisting>
</sect1> </sect1>
<sect1 xml:id="build"> <sect1 xml:id="build">
<title>Preparando a atualização</title> <title>Compilando o Código de Atualização</title>
<para>O primeiro passo é executar o <para>O primeiro passo é executar o <filename>scripts/make.sh</filename>. Isso criará alguns binários, criará diretórios e irá gerar uma chave de assinatura RSA usada para aprovar as compilações. Nesta etapa, uma senha terá que ser fornecida para a criação final da chave de assinatura.</para>
<filename>scripts/make.sh</filename>. Isto irá compilar alguns
binários, criar diretórios, e gerar uma chave de assinatura
RSA usada para aprovar as compilações. Neste passo, uma senha
deverá ser fornecida para terminar a criação da chave de
assinatura.</para>
<screen>&prompt.root; <userinput>sh scripts/make.sh</userinput> <screen><prompt>#</prompt> <userinput>sh scripts/make.sh</userinput>
cc -O2 -fno-strict-aliasing -pipe findstamps.c -o findstamps cc -O2 -fno-strict-aliasing -pipe findstamps.c -o findstamps
findstamps.c: In function 'usage': findstamps.c: In function 'usage':
findstamps.c:45: warning: incompatible implicit declaration of built-in function 'exit' findstamps.c:45: warning: incompatible implicit declaration of built-in function 'exit'
@ -301,24 +206,19 @@ enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:</screen> Verifying - enter aes-256-cbc encryption password:</screen>
<note> <note>
<para>Anote a impressão digital (fingerprint) da chave gerada. <para>Mantenha um backup do fingerprint gerado. Este valor é necessário para o arquivo <filename>/etc/freebsd-update.conf</filename> para as atualizações binárias.</para>
Ela é necessária no
<filename>/etc/freebsd-update.conf</filename> para as
atualizações de binários.</para>
</note> </note>
<para>Neste ponto, nós estamos prontos para a etapa de <para>Neste ponto, estamos prontos para montar uma construção.</para>
compilação.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server</userinput>
&prompt.root; <userinput>sh scripts/init.sh amd64 7.2-RELEASE</userinput></screen> <prompt>#</prompt> <userinput>sh scripts/init.sh <replaceable>amd64 7.2-RELEASE</replaceable></userinput></screen>
</informalexample> </informalexample>
<para>A seguir está um exemplo de uma execução <para>O que se segue é uma amostra de uma execução da compilação<emphasis>inicial</emphasis>.</para>
<emphasis>inicial</emphasis>.</para>
<screen>&prompt.root; <userinput>sh scripts/init.sh amd64 7.2-RELEASE</userinput> <screen><prompt>#</prompt> <userinput>sh scripts/init.sh amd64 7.2-RELEASE</userinput>
Mon Aug 24 16:04:36 PDT 2009 Starting fetch for FreeBSD/amd64 7.2-RELEASE Mon Aug 24 16:04:36 PDT 2009 Starting fetch for FreeBSD/amd64 7.2-RELEASE
/usr/local/freebsd-update-server/work/7.2-RELE100% of 588 MB 359 kBps 00m00s /usr/local/freebsd-update-server/work/7.2-RELE100% of 588 MB 359 kBps 00m00s
Mon Aug 24 16:32:38 PDT 2009 Verifying disc1 hash for FreeBSD/amd64 7.2-RELEASE Mon Aug 24 16:32:38 PDT 2009 Verifying disc1 hash for FreeBSD/amd64 7.2-RELEASE
@ -357,22 +257,10 @@ world|base|/usr/lib/libalias_dummy.a
world|base|/usr/lib/libalias_ftp.a world|base|/usr/lib/libalias_ftp.a
...</screen> ...</screen>
<para>Em seguida, a compilação da base do sistema será feita <para>Então a compilação do world é executada novamente, com patches para world. Uma explicação mais detalhada pode ser encontrada em <filename>scripts/build.subr</filename>.</para>
novamente, com os patches. Uma explicação mais detalhada pode
ser encontrada em <filename>scripts/build.subr</filename>.</para>
<warning> <warning>
<para>Durante a segunda compilação, o serviço de network time <para>Durante este segundo ciclo de compilação, o daemon do protocolo de tempo de rede, <citerefentry><refentrytitle>ntpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, é desativado. Segundo o Colin Percival <email>cperciva@FreeBSD.org</email>, Oficial de segurança emérito do FreeBSD, "a compilação do código do <link xlink:href="https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link> precisa identificar os timestamps que são armazenados nos arquivos para que possam ser ignorados ao comparar builds para determinar quais arquivos precisam ser atualizados. Essa busca de timestamp trabalha com duas construções com 400 dias de diferença e compara os resultados."</para>
protocol, &man.ntpd.8; será desligado. De acordo com
&a.cperciva;, Chefe de Segurança emérito do &os;, "o <link xlink:href="http://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/">freebsd-update-server</link>
compila códigos necessários para identificar os
<literal>timestamps</literal>, os quais são armazenadas em
arquivos, de modo que estes últimos podem ser ignorados quando
estivermos comparando compilações diferentes para determinar
quais arquivos precisam ser atualizados. Esta procura por
<literal>timestamp</literal> funciona realizando duas
compilações separadas por 400 dias e comparando os
resultados."</para>
</warning> </warning>
<screen>Mon Aug 24 17:54:07 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE <screen>Mon Aug 24 17:54:07 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE
@ -409,7 +297,7 @@ world|base|/usr/lib/libalias_dummy.a
world|base|/usr/lib/libalias_ftp.a world|base|/usr/lib/libalias_ftp.a
...</screen> ...</screen>
<para>Finalmente, a compilação termina.</para> <para>Finalmente, a construção é concluída.</para>
<screen>Values of build stamps, excluding library archive headers: <screen>Values of build stamps, excluding library archive headers:
v1.2 (Aug 25 2009 00:40:36) v1.2 (Aug 25 2009 00:40:36)
@ -444,162 +332,127 @@ they look sensible, then run
# sh -e approve.sh amd64 7.2-RELEASE # sh -e approve.sh amd64 7.2-RELEASE
to sign the release.</screen> to sign the release.</screen>
<para>Se tudo estiver correto, aprove a compilação. Maiores <para>Aprove a compilação se tudo estiver correto. Mais informações sobre como determinar isso podem ser encontradas no arquivo fonte distribuído chamado <filename>USAGE</filename>. Execute <filename>scripts/approve.sh</filename>, conforme indicado. Isso assinará a release e moverá os componentes para uma área de preparação adequada para o upload.</para>
informações sobre como determinar se o processo finalizou com
sucesso podem ser encontradas no arquivo chamado
<filename>USAGE</filename>, distribuído com o código fonte.
Execute o <filename>scripts/approve.sh</filename>. Isto irá
assinar a versão, e mover os seus componentes para uma área de
preparo adequada para a transferência para o servidor de
distribuição.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server</userinput>
&prompt.root; <userinput>sh scripts/mountkey.sh</userinput></screen> <prompt>#</prompt> <userinput>sh scripts/mountkey.sh</userinput></screen>
</informalexample> </informalexample>
<screen>&prompt.root; <userinput>sh -e scripts/approve.sh amd64 7.2-RELEASE</userinput> <screen><prompt>#</prompt> <userinput>sh -e scripts/approve.sh amd64 7.2-RELEASE</userinput>
Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.2-RELEASE Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.2-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.2-RELEASE Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.2-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.2-RELEASE Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.2-RELEASE
Wed Aug 26 12:50:07 PDT 2009 Updating databases for FreeBSD/amd64 7.2-RELEASE Wed Aug 26 12:50:07 PDT 2009 Updating databases for FreeBSD/amd64 7.2-RELEASE
Wed Aug 26 12:50:07 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.2-RELEASE</screen> Wed Aug 26 12:50:07 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.2-RELEASE</screen>
<para>Depois que o processo de aprovação tiver sido finalizado, <para>Após o processo de aprovação ser concluído, o procedimento de upload pode ser iniciado.</para>
o processo de transferência pode ser iniciado.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server</userinput>
&prompt.root; <userinput>sh scripts/upload.sh amd64 7.2-RELEASE</userinput></screen> <prompt>#</prompt> <userinput>sh scripts/upload.sh <replaceable>amd64 7.2-RELEASE</replaceable></userinput></screen>
</informalexample> </informalexample>
<note> <note>
<para>No caso do código de atualização precisar ser transferido <para>No caso de o código de atualização precisar ser reenviado, isso pode ser feito mudando para o diretório de distribuições públicas para o release alvo e atualizando os atributos do arquivo <emphasis>carregado</emphasis>.</para>
novamente para o servidor de distribuição, isto poderá ser
feito entrando-se no diretório público de distribuição da
versão desejada e atualizando os atributos do arquivo
<emphasis>uploaded</emphasis>.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server/pub/7.2-RELEASE/amd64</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server/pub/<replaceable>7.2-RELEASE/amd64</replaceable></userinput>
&prompt.root; <userinput>touch -t 200801010101.01 uploaded</userinput></screen> <prompt>#</prompt> <userinput>touch -t <replaceable>200801010101.01</replaceable> uploaded</userinput></screen>
</informalexample> </informalexample>
</note> </note>
<para>Os arquivos transferidos precisam ficar na raiz do servidor <!-- If freebsd-update works with other http servers too, we should
web para que as atualizações sejam distribuídas. A exata avoid making the instructions Apache-specific here. -->
configuração dependerá do servidor web utilizado. Para o
servidor web <application>Apache</application>, por favor,
consulte a seção <link xlink:href="&url.books.handbook;/network-apache.html">Configuração do
servidor Apache</link> do Handbook.</para>
<para>Atualize o <literal>KeyPrint</literal> e o <!-- there are specific web instructions in the uploaded code that pertain to Apache. I believe it is worded fine here, now, and if others choose to use another web server, that is their choice to figure out -->
<literal>ServerName</literal> no arquivo <para>Os arquivos enviados precisarão estar no diretório de documentos raiz do servidor web para que as atualizações sejam distribuídas. A configuração exata irá variar dependendo do servidor web usado. Para o servidor web <application>Apache</application>, consulte a sessão <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/network-apache.html">Configuração de servidores Apache</link> no Handbook.</para>
<filename>/etc/freebsd-update.conf</filename>, e efetue as
atualizações de acordo com os procedimentos descritos na seção <!-- This note seems either out of place. I find it hard to read and it
<link xlink:href="&url.books.handbook;/updating-freebsdupdate.html">Atualização is a bit difficult to understand why it is related to the rest of
do &os;</link> do Handbook.</para> this section. It looks like something that would fit nicely in an
introductory section about the way a freebsd-update server works. -->
<!-- Agreed, it does not suite very well here. But it is now included
above. I think it can be removed now. gabor -->
<!-- Taken out until we decide what to do with it -->
<!-- Agreed. However, I believe the placement of this works fine as it is.
<note>
<para>Updates for the current release of the &os; system you are
updating, and what you want to upgrade <emphasis>to</emphasis> need
to be built in order for &os; Update Server to work properly. This
is necessary for merging of files between releases. For example, if
you are updating a system from &os; 7.1 to &os; 7.2, you will need
to have update code built for &os; 7.1-RELEASE and
&os; 7.2-RELEASE.</para>
</note> -->
<!-- What is a 'KeyPrint'? -->
<para>Atualize o <literal>KeyPrint</literal> e <literal>ServerName</literal> do cliente no arquivo <filename>/etc/freebsd-update.conf</filename>, e execute as atualizações conforme instruído na <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html">Seção de Atualização do FreeBSD</link> no Handbook.</para>
<!-- Sorry folks, but I disagree here. I believe it is worded fine. If anything, drop everything after "perform" and change "updates" to "FreeBSD Updates" and link that to the handbook -->
<important> <important>
<para>Para o &fbus.ap; funcionar corretamente, é preciso que <para>Para que o <application>Servidor de Atualização do FreeBSD</application> funcione corretamente, atualizações para ambas releases <emphasis>atual</emphasis> e a release <emphasis>que se deseja atualizar</emphasis> precisam ser compilados. Isso é necessário para determinar as diferenças de arquivos entre as releases. Por exemplo, ao atualizar um sistema FreeBSD de 7.1-RELEASE para 7.2-RELEASE, as atualizações precisarão ser construídas e carregadas em seu servidor de distribuição para ambas as versões.</para>
estejam compiladas a versão <emphasis>atual</emphasis> e
a versão <emphasis>alvo</emphasis> para a qual você deseja
se atualizar. Isto é necessário para que o sistema determine
quais são os arquivos que diferem entre as versões. Por
exemplo, para atualizar o &os; da versão 7.1-RELEASE
para a versão 7.2-RELEASE, será necessário que você compile e
transfira os arquivos de ambas as versões para o seu servidor
de atualização.</para>
</important> </important>
<para>Para referência, segue um exemplo de log completo da <para>Para referência, toda a execução do <link xlink:href="init.txt"><filename>init.sh</filename></link> é anexada.</para>
execução do
<link xlink:href="init.txt"><filename>init.sh</filename></link>
.</para>
</sect1> </sect1>
<sect1 xml:id="patch"> <sect1 xml:id="patch">
<title>Compilando um patch</title> <title>Compilando um Patch</title>
<para>Toda vez que um <link xlink:href="&url.base;/security/advisories.html">aviso de segurança</link> <para>Toda vez que é anunciado um <link xlink:href="@@URL_RELPREFIX@@/security/advisories.html">aviso de segurança</link> ou uma <link xlink:href="@@URL_RELPREFIX@@/security/notices.html">notificação de segurança</link>, um patch de atualização pode ser construído.</para>
ou uma <link xlink:href="&url.base;/security/notices.html">nota de
segurança</link> é anunciada, uma atualização pode ser
compilada.</para>
<para>Para este exemplo, a versão 7.1-RELEASE será usada.</para> <para>Para este exemplo, o 7.1-RELEASE será usado.</para>
<para>Algumas suposições são feitas para a compilação de uma <para>Algumas suposições são feitas para uma versão diferente:</para>
versão diferente:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Crie a estrutura correta de diretório para a compilação <para>Configure a estrutura de diretórios correta para a compilação inicial.</para>
inicial.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Faça a compilação inicial da 7.1-RELEASE</para> <para>Execute uma compilação inicial para o 7.1-RELEASE.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>Crie o diretório do patch para a respectiva versão em <para>Crie o diretório de correção do respectivo release no diretório <filename>/usr/local/freebsd-update-server/patches/</filename>.</para>
<filename>/usr/local/freebsd-update-server/patches/</filename>.</para>
<informalexample> <informalexample>
<screen>&prompt.user; <userinput>mkdir -p /usr/local/freebsd-update-server/patches/7.1-RELEASE/</userinput> <screen><prompt>%</prompt> <userinput>mkdir -p /usr/local/freebsd-update-server/patches/7.1-RELEASE/</userinput>
&prompt.user; <userinput>cd /usr/local/freebsd-update-server/patches/7.1-RELEASE</userinput></screen> <prompt>%</prompt> <userinput>cd /usr/local/freebsd-update-server/patches/7.1-RELEASE</userinput></screen>
</informalexample> </informalexample>
<para>Como exemplo, pegue o patch para o &man.named.8;. Leia o <para>Como exemplo, pegue o patch para <citerefentry><refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Leia o comunicado, e pegue o arquivo necessário de <link xlink:href="@@URL_RELPREFIX@@/security/advisories.html"> Avisos de Segurança do FreeBSD </link>. Mais informações sobre a interpretação do comunicado podem ser encontradas no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/security-advisories.html">Handbook do FreeBSD</link>.</para>
aviso, obtenha o arquivo necessário do <link xlink:href="&url.base;/security/advisories.html">Aviso de Segurança
do &os;</link>. Mais informações sobre como interpretar os
avisos, podem ser encontradas no <link xlink:href="&url.books.handbook;/security-advisories.html">Handbook do
&os;</link>.</para>
<para>Na <link xlink:href="http://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc">nota de segurança</link>, <para>No <link xlink:href="https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc">resumo de segurança</link>, este comunicado é chamado <literal>SA-09:12.bind</literal>. Depois de baixar o arquivo, é necessário renomear o arquivo para um nível de correção apropriado. Sugere-se manter isso consistente com os níveis oficiais de correção do FreeBSD, mas seu nome pode ser escolhido livremente. Para esta compilação, vamos seguir a prática atualmente estabelecida do FreeBSD e chamar isso de <literal>p7</literal>. Renomeie o arquivo:</para>
este aviso é chamado de <literal>SA-09:12.bind</literal>.
Depois de fazer o download do arquivo, é necessário renomeá-lo
para o nível correto do patch. É recomendado manter
consistência com os níveis oficiais de patch do &os;, mas o nome
pode ser escolhido livremente. Para esta compilação, vamos
seguir a prática atual do &os; e chamá-lo de
<literal>p7</literal>. Renomeie o arquivo:</para>
<informalexample> <informalexample>
<screen>&prompt.user; <userinput>cd /usr/local/freebsd-update-server/patches/7.1-RELEASE/; mv bind.patch 7-SA-09:12.bind </userinput></screen> <screen><prompt>%</prompt> <userinput>cd /usr/local/freebsd-update-server/patches/7.1-RELEASE/; mv bind.patch 7-SA-09:12.bind </userinput></screen>
</informalexample> </informalexample>
<note> <note>
<para>Ao executar uma compilação de nível de patch, é <para>Ao executar uma compilação em nível de patch, supõe-se que os patches anteriores estejam no lugar. Quando uma compilação de patch é executada, ela executará todas os patches contidos no diretório de patch.</para>
assumido que os patches anteriores estarão no mesmo lugar.
Quando uma compilação de patch é executada, ela vai aplicar
todos os patches contidos no diretório do patch.</para>
<para>Podem ser adicionados patches personalizados na <para>Pode haver patches personalizados adicionados a qualquer compilação. Use o número zero ou qualquer outro número.</para>
Compilação. Use o número zero, ou qualquer outro
número.</para>
</note> </note>
<warning> <warning>
<para>É da responsabilidade do administrador do &fbus.ap; <para>Cabe ao administrador do <application>Servidor de Atualização do FreeBSD</application> tomar as medidas apropriadas para verificar a autenticidade de cada patch.</para>
tomar as devidas ações para verificar a autenticidade de cada
patch.</para>
</warning> </warning>
<para>Neste ponto, um <emphasis>diff</emphasis> está pronto para <para>Neste ponto, um <emphasis>diff</emphasis> está pronto para ser construído. O software verifica primeiro para ver se um <filename>scripts/init.sh</filename> foi executado na respectiva versão antes de executar a construção do diff.</para>
ser construído. O software primeiro irá verificar se o
<filename>scripts/init.sh</filename> foi executado na respectiva
versão antes de executar a construção do diff.</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server</userinput>
&prompt.root; <userinput>sh scripts/diff.sh amd64 7.1-RELEASE 7</userinput></screen> <prompt>#</prompt> <userinput>sh scripts/diff.sh <replaceable>amd64 7.1-RELEASE 7</replaceable></userinput></screen>
</informalexample> </informalexample>
<para>O que segue abaixo é um exemplo do log da execução de uma <para>O que se segue é um exemplo de uma execução de uma compilação <emphasis>diferencial</emphasis>.</para>
compilação <emphasis>diferencial</emphasis>.</para>
<screen>&prompt.root; <userinput>sh -e scripts/diff.sh amd64 7.1-RELEASE 7</userinput> <screen><prompt>#</prompt> <userinput>sh -e scripts/diff.sh amd64 7.1-RELEASE 7</userinput>
Wed Aug 26 10:09:59 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7 Wed Aug 26 10:09:59 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7
Wed Aug 26 17:10:25 UTC 2009 Building world for FreeBSD/amd64 7.1-RELEASE-p7 Wed Aug 26 17:10:25 UTC 2009 Building world for FreeBSD/amd64 7.1-RELEASE-p7
Wed Aug 26 18:05:11 UTC 2009 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7 Wed Aug 26 18:05:11 UTC 2009 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7
@ -671,8 +524,7 @@ Wed Aug 26 17:55:02 UTC 2009
Wed Aug 26 17:20:39 UTC 2009 Wed Aug 26 17:20:39 UTC 2009
...</screen> ...</screen>
<para>As atualizações são exibidas, e uma aprovação é <para>As atualizações são impressas e a aprovação é solicitada.</para>
requisitada.</para>
<screen>New updates: <screen>New updates:
kernel|generic|/GENERIC/kernel.symbols|f|0|0|0555|0|7c8dc176763f96ced0a57fc04e7c1b8d793f27e006dd13e0b499e1474ac47e10| kernel|generic|/GENERIC/kernel.symbols|f|0|0|0555|0|7c8dc176763f96ced0a57fc04e7c1b8d793f27e006dd13e0b499e1474ac47e10|
@ -691,10 +543,9 @@ files to confirm that they look sensible, then run
# sh -e approve.sh amd64 7.1-RELEASE # sh -e approve.sh amd64 7.1-RELEASE
to sign the build.</screen> to sign the build.</screen>
<para>Siga o mesmo processo descrito anteriormente para aprovar a <para>Siga o mesmo processo descrito anteriormente para aprovar uma compilação:</para>
compilação:</para>
<screen>&prompt.root; <userinput>sh -e scripts/approve.sh amd64 7.1-RELEASE</userinput> <screen><prompt>#</prompt> <userinput>sh -e scripts/approve.sh amd64 7.1-RELEASE</userinput>
Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.1-RELEASE Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.1-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.1-RELEASE Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.1-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.1-RELEASE Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.1-RELEASE
@ -707,85 +558,71 @@ ready to be uploaded. Remember to run
to unmount the decrypted key once you have finished signing all to unmount the decrypted key once you have finished signing all
the new builds.</screen> the new builds.</screen>
<para>Depois de aprovar a compilação, faça a transferência do <para>Depois de aprovar a compilação, faça o upload do software:</para>
software para o servidor de distribuição:</para>
<informalexample> <informalexample>
<screen>&prompt.root; <userinput>cd /usr/local/freebsd-update-server</userinput> <screen><prompt>#</prompt> <userinput>cd /usr/local/freebsd-update-server</userinput>
&prompt.root; <userinput>sh scripts/upload.sh amd64 7.1-RELEASE</userinput></screen> <prompt>#</prompt> <userinput>sh scripts/upload.sh <replaceable>amd64 7.1-RELEASE</replaceable></userinput></screen>
</informalexample> </informalexample>
<para>Para referência, segue o log de uma execução completa do <para>Para referência, toda a execução do <link xlink:href="diff.txt"><filename>diff.sh</filename></link> é anexada.</para>
<link xlink:href="diff.txt"><filename>diff.sh</filename></link>.</para>
</sect1> </sect1>
<sect1 xml:id="tips"> <sect1 xml:id="tips">
<title>Dicas</title> <title>Dicas</title>
<!-- These are nice tips, but there are only a few of them and they need a
bit of rewording to make sense. I'd like to see something that
explains at least the following for every tip:
* Why is this tip necessary? What is the original problem it tries
to solve?
* How to install the changes of the tip, preferably in a <procedure>
element, with clearly separated steps.
* How to check that the changes of the tip had a measurable and
noticeable effect.
We can do this in a followup commit. It doesn't have to be completed
*before* we commit this to CVS. -->
<!-- thank you, i just learned these in the process, and thought I would share. They are "tips" and not necessary, so I do see your point, and I would suggest maybe even renaming the section to something more appropriate. Nothing really comes to mind now, though. -->
<!-- this tip will allow you to maintain a custom release and custom kernel, and update it like any other binary update -->
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Se uma versão personalizada tiver sido compilada usando <para>Se uma versão personalizada for criada usando o procedimento <command>make release</command> <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/releng/release-build.html">nativo</link>, o <application>freebsd-update-server</application> funcionará a partir do seu release. Como exemplo, uma versão sem ports ou documentação pode ser construída limpando funcionalidades de limpeza pertinentes às sub-rotinas de documentação <function>findextradocs()</function>, <function>addextradocs()</function> e alterando o local de download em <function>fetchiso()</function>, respectivamente, em <filename>scripts/build.subr</filename>. Como último passo, altere o hash <citerefentry><refentrytitle>sha256</refentrytitle><manvolnum>1</manvolnum></citerefentry> no arquivo <filename>build.conf</filename> sob sua respectiva versão e arquitetura e você estará pronto para criar sua versão personalizada.</para>
o <link xlink:href="&url.articles.releng;/release-build.html">procedimento</link>
nativo do <command>make release</command>, o código do
<application>freebsd-update-server</application> irá
funcionar a partir da sua versão. Por exemplo, uma versão
sem o ports ou sem a documentação pode ser compilada
limpando-se as funcionalidades pertencentes às sub-rotinas
de documentação <function>findextradocs()</function>,
<function>addextradocs()</function> e alterando o local de
download na <function>fetchiso()</function>,
respectivamente, no <filename>scripts/build.subr</filename>.
Em um último passo, mude o hash &man.sha256.1; em
<filename>build.conf</filename> na sua respectiva versão e
arquitetura e então você está pronto para compilar sua
versão personalizada.</para>
<screen># Compare ${WORKDIR}/release and ${WORKDIR}/$1, identify which parts <programlisting># Compare ${WORKDIR}/release and ${WORKDIR}/$1, identify which parts
# of the world|doc subcomponent are missing from the latter, and # of the world|doc subcomponent are missing from the latter, and
# build a tarball out of them. # build a tarball out of them.
findextradocs () { findextradocs () {
} }
# Add extra docs to ${WORKDIR}/$1 # Add extra docs to ${WORKDIR}/$1
addextradocs () { addextradocs () {
} }</programlisting>
</screen>
</listitem> </listitem>
<listitem> <listitem>
<para>Adicionando a opção <option>-j <para>Adicionando flags <option>-j <replaceable>NUMERO</replaceable> </option> para os alvos <buildtarget>buildworld</buildtarget> e <buildtarget>obj</buildtarget> no script <filename>scripts/build.subr</filename> pode acelerar o processamento, dependendo do hardware usado, no entanto, não é necessário. O uso dessas flags em outros alvos não é recomendado, pois pode tornar a construção não confiável.</para>
<replaceable>NÚMERO</replaceable></option> nas etapas
<buildtarget>buildworld</buildtarget> e
<buildtarget>obj</buildtarget> no script
<filename>scripts/build.subr</filename> pode acelerar o
processo dependendo do hardware usado, entretanto isto não é
necessário. Usar esta opção em outras etapas não é
recomendado, pois pode fazer a compilação ficar
instável.</para>
<screen>#Build the world <programlisting> # Build the world
log "Building world" log "Building world"
cd /usr/src &amp;&amp; cd /usr/src &amp;&amp;
make -j 2 ${COMPATFLAGS} buildworld 2&gt;&amp;1 make -j 2 ${COMPATFLAGS} buildworld 2&gt;&amp;1
# Distribute the world # Distribute the world
log "Distributing world" log "Distributing world"
cd /usr/src/release &amp;&amp; cd /usr/src/release &amp;&amp;
make -j 2 obj &amp;&amp; make -j 2 obj &amp;&amp;
make ${COMPATFLAGS} release.1 release.2 2&gt;&amp;1</screen> make ${COMPATFLAGS} release.1 release.2 2&gt;&amp;1</programlisting>
</listitem> </listitem>
<listitem> <listitem>
<para>Crie uma entrada SRV apropriada no <link xlink:href="&url.books.handbook;/network-dns.html">DNS</link> <para>Crie um registro <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/network-dns.html">DNS</link> apropriado para o servidor de atualizações e coloque outros por trás dele com variáveis de pesos diferentes. O uso desse recurso fornecerá espelhos de atualização, no entanto, essa dica não é necessária, a menos que você deseje fornecer um serviço redundante.</para>
para o servidor de atualização, e coloque outros servidores
com pesos variados. Usar este recurso irá permitir que você
distribua a carga do processo de atualização entre vários
servidores, entretanto esta dica não será necessária a menos
que você deseje prover um serviço redundante.</para>
<screen> <programlisting>_http._tcp.update.myserver.com. IN SRV 0 2 80 host1.myserver.com.
_http._tcp.update.myserver.com. IN SRV 0 2 80 host1.myserver.com. IN SRV 0 1 80 host2.myserver.com.
SRV 0 1 80 host2.myserver.com. IN SRV 0 0 80 host3.myserver.com.</programlisting>
SRV 0 0 80 host3.myserver.com.</screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>

File diff suppressed because it is too large Load diff