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:
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
|
@ -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 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 GB, e usam 2.6 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 & Configuração</title>
|
<title>Configuração: Instalação & 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 &&
|
cd /usr/src &&
|
||||||
make -j 2 ${COMPATFLAGS} buildworld 2>&1
|
make -j 2 ${COMPATFLAGS} buildworld 2>&1
|
||||||
|
|
||||||
# Distribute the world
|
# Distribute the world
|
||||||
log "Distributing world"
|
log "Distributing world"
|
||||||
cd /usr/src/release &&
|
cd /usr/src/release &&
|
||||||
make -j 2 obj &&
|
make -j 2 obj &&
|
||||||
make ${COMPATFLAGS} release.1 release.2 2>&1</screen>
|
make ${COMPATFLAGS} release.1 release.2 2>&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>
|
||||||
|
|
1583
pt_BR.ISO8859-1/articles/freebsd-update-server/pt_BR.po
Normal file
1583
pt_BR.ISO8859-1/articles/freebsd-update-server/pt_BR.po
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue