aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/pt-br/articles/freebsd-update-server/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/pt-br/articles/freebsd-update-server/_index.adoc')
-rw-r--r--documentation/content/pt-br/articles/freebsd-update-server/_index.adoc204
1 files changed, 109 insertions, 95 deletions
diff --git a/documentation/content/pt-br/articles/freebsd-update-server/_index.adoc b/documentation/content/pt-br/articles/freebsd-update-server/_index.adoc
index c55d28bbcf..b6e8a19bd1 100644
--- a/documentation/content/pt-br/articles/freebsd-update-server/_index.adoc
+++ b/documentation/content/pt-br/articles/freebsd-update-server/_index.adoc
@@ -1,10 +1,12 @@
---
-title: Construa seu próprio servidor de atualização do FreeBSD
authors:
- - author: Jason Helfman
+ -
+ author: 'Jason Helfman'
email: jgh@FreeBSD.org
-copyright: 2009-2011, 2013 Jason Helfman
-releaseinfo: "$FreeBSD$"
+copyright: '2009-2011, 2013 Jason Helfman'
+description: 'Construir seu próprio servidor freebsd-update permite que um administrador de sistema realize atualizações rápidas para vários computadores a partir de um espelho local'
+tags: ["FreeBSD", "Update", "Server", "internal"]
+title: 'Construa seu próprio servidor de atualização do FreeBSD'
trademarks: ["freebsd", "amd", "intel", "general"]
---
@@ -17,20 +19,32 @@ trademarks: ["freebsd", "amd", "intel", "general"]
:sectnumlevels: 6
:source-highlighter: rouge
:experimental:
-:toc-title: Índice
-:part-signifier: Parte
-:chapter-signifier: Capítulo
-:appendix-caption: Apêndice
-:table-caption: Tabela
-:figure-caption: Figura
-:example-caption: Exemplo
-
-include::shared/pt-br/urls.adoc[]
+:images-path: articles/freebsd-update-server/
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+:imagesdir: ../../../images/{images-path}
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+include::../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
[.abstract-title]
Resumo
-Este artigo descreve a construção de um servidor de atualizações do FreeBSD interno. O https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] foi escrito por Colin Percival mailto:cperciva@FreeBSD.org[cperciva@FreeBSD.org], 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 FreeBSD Update Server 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.
+Este artigo descreve a construção de um Servidor Interno de Atualização do FreeBSD. O https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] é escrito por `{cperciva}`, Oficial de Segurança Emérito do FreeBSD. Para usuários que acham conveniente atualizar seus sistemas em relação a um servidor de atualização oficial, a construção de seu próprio Servidor de Atualização do FreeBSD pode ajudar a estender sua funcionalidade ao suportar versões do FreeBSD ajustadas manualmente ou fornecer um espelho local que permitirá atualizações mais rápidas para vários computadores.
'''
@@ -39,17 +53,17 @@ toc::[]
[[acknowledgments]]
== Agradecimentos
-Este artigo foi publicado posteriormente no http://bsdmag.org/magazine/1021-bsd-as-a-desktop[BSD Magazine].
+Este artigo foi posteriormente impresso na revista https://people.freebsd.org/~jgh/files/fus/BSD_03_2010_EN.pdf[BSD Magazine].
[[introduction]]
== Introdução
-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 Servidor de Atualização do FreeBSD 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 Servidor de Atualização do FreeBSD interno.
+Usuários ou administradores experientes frequentemente são responsáveis por várias máquinas ou ambientes. Eles entendem as exigências e desafios difíceis de manter essa infraestrutura. Executar um Servidor de Atualização do FreeBSD torna mais fácil implantar patches de segurança e atualizações de software para máquinas de teste selecionadas antes de implementá-los nos servidores de produção. Também significa que vários sistemas podem ser atualizados a partir da rede local em vez de uma conexão com a Internet potencialmente mais lenta. Este artigo descreve os passos envolvidos na criação de um Servidor Interno de Atualização do FreeBSD.
[[prerequisites]]
== Pré-requisitos
-Para construir um Servidor de Atualização do FreeBSD interno, alguns requisitos devem ser atendidos.
+Para construir um Servidor Interno de Atualização do FreeBSD, alguns requisitos devem ser atendidos.
* Um sistema FreeBSD em execução.
+
@@ -58,79 +72,78 @@ Para construir um Servidor de Atualização do FreeBSD interno, alguns requisito
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.
====
* 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.
-* Uma conta com acesso ao man:ssh[1] em uma máquina remota para carregar atualizações distribuídas.
-* Um servidor web, como o link:{handbook}#network-apache[Apache], 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.
-* Conhecimento básico de shell script com o Bourne shell, man:sh[1].
+* Uma conta man:ssh[1] em uma máquina remota para fazer o upload das atualizações que serão distribuídas.
+* Um servidor web, como o extref:{handbook}[Apache, network-apache], com mais da metade do espaço necessário para a compilaçã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 necessário no servidor web para distribuir essas atualizações é de 2,6 GB.
+* Conhecimento básico de script shell com o shell Bourne, man:sh[1].
[[Configuration]]
-== Configuração: Instalação & Configuração
+== Configuração: Instalação e Setup
-Faça o download do software https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] instalando package:devel/subversion[] e package:security/ca_root_nss[], e execute:
+Faça o download do software https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] instalando os pacotes package:devel/git[] e package:security/ca_root_nss[], e execute:
-[source,shell]
+[source, shell]
....
-% svn co https://svn.freebsd.org/base/user/cperciva/freebsd-update-build freebsd-update-server
+% git clone https://github.com/freebsd/freebsd-update-build.git freebsd-update-server
....
-Atualize o [.filename]#scripts/build.conf# apropriadamente. Ele é criado durante todas as operações de construção.
+Atualize o arquivo [.filename]#scripts/build.conf# adequadamente. Ele será usado durante todas as operações de compilação.
-Aqui está o [.filename]#build.conf# padrão, que deve ser modificado para se adequar ao seu ambiente.
+Aqui está o [.filename]#build.conf# padrão, que deve ser modificado para atender ao seu ambiente.
[.programlisting]
....
-# Main configuration file for FreeBSD Update builds. The
-# release-specific configuration data is lower down in
-# the scripts tree.
+# Arquivo de configuração principal para compilações do FreeBSD Update.
+# Os dados de configuração específicos do lançamento estão mais abaixo
+# na árvore de scripts.
-# Location from which to fetch releases
+# Local de onde buscar os releases
export FTP=ftp://ftp2.freebsd.org/pub/FreeBSD/releases <.>
-# Host platform
+# Plataforma do host
export HOSTPLATFORM=`uname -m`
-# Host name to use inside jails
+# Nome do host a ser usado dentro das jails
export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net <.>
-# Location of SSH key
+# Localização da chave privada SSH
export SSHKEY=/root/.ssh/id_dsa <.>
-# SSH account into which files are uploaded
+# Conta SSH para a qual os arquivos são enviados
MASTERACCT=builder@wadham.daemonology.net <.>
-# Directory into which files are uploaded
+# Diretório para o qual os arquivos são enviados
MASTERDIR=update-master.freebsd.org <.>
....
-Parâmetros para consideração seriam:
+Os parâmetros a serem considerados seriam:
-<.> Este é o local onde as imagens ISO são baixadas (pela sub-rotina `fetchiso()` do [.filename]#scripts/build.subr#). A localização configurada não está limitada a URIs de FTP. Qualquer esquema de URI suportado pelo utilitário padrão man:fetch[] deve funcionar bem.
-Personalizações para o código de `fetchiso()` podem ser instaladas copiando o script padrão [.filename]#build.subr# para a área específica do release e da arquitetura em [.filename]#scripts/RELEASE/ARCHITECTURE/build.subr# e aplicando alterações locais.
+<.> Este é o local de onde as imagens ISO são baixadas (pela sub-rotina `fetchiso()` do arquivo [.filename]#scripts/build.subr#). A localização configurada não se limita a URIs FTP. Qualquer esquema de URI suportado pelo utilitário padrão man:fetch[1] deve funcionar bem. Personalizações para o código `fetchiso()` podem ser instaladas copiando o arquivo padrão [.filename]#build.subr# para a área específica de release e arquitetura em [.filename]#scripts/RELEASE/ARCHITECTURE/build.subr# e aplicando alterações locais.
-<.> O nome do host em construção. Esta informação será exibida em sistemas atualizados ao executar:
+<.> O nome do host de compilação. Essa informação será exibida em sistemas atualizados ao emitir o comando:
+
-[source,shell]
+[source, shell]
....
% uname -v
....
+
-<.> A chave SSH para fazer upload de arquivos para o servidor de atualizações. Um par de chaves pode ser criado digitando `ssh-keygen -t dsa`. Este parâmetro é opcional; a autenticação de senha padrão será usada como um método de autenticação secundário quando a `SSHKEY` não estiver definida.
-A página de manual do man:ssh-keygen[1] contém informações mais detalhadas sobre o SSH e as etapas apropriadas para criar e usar um.
+<.> A chave SSH para enviar arquivos para o servidor de atualização. Um par de chaves pode ser criado digitando `ssh-keygen -t dsa`. Este parâmetro é opcional; a autenticação padrão por senha será usada como método de autenticação de fallback quando o `SSHKEY` não estiver definido. A página do manual man:ssh-keygen[1] contém informações mais detalhadas sobre o SSH e os passos apropriados para criar e usar uma chave.
-<.> Conta para fazer upload de arquivos para o servidor de atualização.
+<.> Conta para enviar os arquivos para o servidor de atualização.
-<.> Diretório no servidor de atualização para o qual os arquivos são enviados.
+<.> Diretório no servidor de atualização onde os arquivos são enviados.
-O arquivo padrão [.filename]#build.conf# fornecido com o código-fonte do freebsd-update-server é 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:
+O [.filename]#build.conf# padrão fornecido com o código fonte do freebsd-update-server é adequado para compilar releases do FreeBSD para a arquitetura i386. Como exemplo de compilação de um servidor de atualização para outras arquiteturas, os seguintes passos resumem as alterações de configuração necessárias para a arquitetura amd64:
[.procedure]
+====
. Crie um ambiente de compilação para o amd64:
+
-[source,shell]
+[source, shell]
....
% mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64
....
-. Instale um [.filename]#build.conf# 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:
+. Instale um arquivo [.filename]#build.conf# no diretório de compilação recém-criado. As opções de configuração de compilação para o FreeBSD 7.2-RELEASE em amd64 devem ser semelhantes a:
+
[.programlisting]
....
@@ -147,20 +160,21 @@ export KERNELPARTS="generic"
export EOL=1275289200 <.>
....
+
-<.> A chave man:sha256[1] usada para fazer o hash para a release desejada é publicada no respectivo https://www.FreeBSD.org/releases/[anúncio de release].
-<.> Para gerar o número "End of Life" para o [.filename]#build.conf#, consulte o "EOL estimado" publicado no https://www.FreeBSD.org/security/[Site de Segurança do FreeBSD]. O valor de `EOL` pode ser derivado da data listada no site, usando o utilitário man:date[1], por exemplo:
+<.> A chave hash man:sha256[1] para o release desejado está publicada dentro do respectivo link:https://www.FreeBSD.org/releases/[anúncio de release].
+<.> Para gerar o número "End of Life" para o arquivo [.filename]#build.conf#, consulte o "Estimated EOL" publicado no link:https://www.FreeBSD.org/security/security/[Site de Segurança do FreeBSD]. O valor de `EOL` pode ser derivado da data listada no site da web, usando o utilitário man:date[1], por exemplo:
+
-[source,shell]
+[source, shell]
....
% date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'
....
+====
[[build]]
== Compilando o Código de Atualização
-O primeiro passo é executar o [.filename]#scripts/make.sh#. 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.
+O primeiro passo é executar o [.filename]#scripts/make.sh#. Isso irá compilar alguns binários, criar diretórios e gerar uma chave de assinatura RSA usada para aprovar as compilações. Nesta etapa, uma frase secreta terá que ser fornecida para a criação final da chave de assinatura.
-[source,shell]
+[source, shell]
....
# sh scripts/make.sh
cc -O2 -fno-strict-aliasing -pipe findstamps.c -o findstamps
@@ -185,20 +199,20 @@ Verifying - enter aes-256-cbc encryption password:
[NOTE]
====
-Mantenha um backup do fingerprint gerado. Este valor é necessário para o arquivo [.filename]#/etc/freebsd-update.conf# para as atualizações binárias.
+Anote a impressão digital da chave gerada. Este valor será necessário no [.filename]#/etc/freebsd-update.conf# para as atualizações binárias.
====
-Neste ponto, estamos prontos para montar uma construção.
+Neste ponto, estamos prontos para preparar uma compilação.
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server
# sh scripts/init.sh amd64 7.2-RELEASE
....
-O que se segue é uma amostra de uma execução da compilação __inicial__.
+A seguir, segue um exemplo da execução de uma compilação _inicial_.
-[source,shell]
+[source, shell]
....
# sh scripts/init.sh amd64 7.2-RELEASE
Mon Aug 24 16:04:36 PDT 2009 Starting fetch for FreeBSD/amd64 7.2-RELEASE
@@ -240,14 +254,14 @@ world|base|/usr/lib/libalias_ftp.a
...
....
-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#.
+Em seguida, a compilação do target "world" é realizada novamente, com patches de "world". Uma explicação mais detalhada pode ser encontrada em [.filename]#scripts/build.subr#.
[WARNING]
====
-Durante este segundo ciclo de compilação, o daemon do protocolo de tempo de rede, man:ntpd[8], é desativado. Segundo o Colin Percival mailto:cperciva@FreeBSD.org[cperciva@FreeBSD.org], Oficial de segurança emérito do FreeBSD, "a compilação do código do https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] 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."
+Durante esse segundo ciclo de compilação, o daemon do protocolo de tempo de rede, man:ntpd[8], é desativado. Conforme o `{cperciva}`, Oficial de Segurança Emérito do FreeBSD, "o código de compilação do https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] precisa identificar carimbos de data/hora que são armazenados em arquivos para que eles possam ser ignorados ao comparar compilações e determinar quais arquivos precisam ser atualizados. Esse processo de localização de carimbos de data/hora funciona fazendo duas compilações com 400 dias de intervalo e comparando os resultados."
====
-[source,shell]
+[source, shell]
....
Mon Aug 24 17:54:07 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE
Wed Sep 29 00:54:34 UTC 2010 Building world for FreeBSD/amd64 7.2-RELEASE
@@ -284,9 +298,9 @@ world|base|/usr/lib/libalias_ftp.a
...
....
-Finalmente, a construção é concluída.
+Por fim, a compilação é concluída.
-[source,shell]
+[source, shell]
....
Values of build stamps, excluding library archive headers:
v1.2 (Aug 25 2009 00:40:36)
@@ -322,15 +336,15 @@ they look sensible, then run
to sign the release.
....
-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#. Execute [.filename]#scripts/approve.sh#, conforme indicado. Isso assinará a release e moverá os componentes para uma área de preparação adequada para o upload.
+Aprove a compilação se tudo estiver correto. Mais informações sobre como determinar isso podem ser encontradas no arquivo de origem da distribuição chamado [.filename]#USAGE#. Execute [.filename]#scripts/approve.sh#, conforme indicado. Isso irá assinar a versão e mover os componentes para uma área de preparação adequada para o upload.
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server
# sh scripts/mountkey.sh
....
-[source,shell]
+[source, shell]
....
# sh -e scripts/approve.sh amd64 7.2-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.2-RELEASE
@@ -340,9 +354,9 @@ 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
....
-Após o processo de aprovação ser concluído, o procedimento de upload pode ser iniciado.
+Após a conclusão do processo de aprovação, o procedimento de upload pode ser iniciado.
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server
# sh scripts/upload.sh amd64 7.2-RELEASE
@@ -350,9 +364,9 @@ Após o processo de aprovação ser concluído, o procedimento de upload pode se
[NOTE]
====
-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 __carregado__.
+Caso o código de atualização precise ser reenviado, isso pode ser feito alterando para o diretório de distribuições públicas do release de destino e atualizando os atributos do arquivo já _enviado_.
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server/pub/7.2-RELEASE/amd64
# touch -t 200801010101.01 uploaded
@@ -360,70 +374,70 @@ No caso de o código de atualização precisar ser reenviado, isso pode ser feit
====
-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 Apache, consulte a sessão link:{handbook}#network-apache[Configuração de servidores Apache] no Handbook.
+Os arquivos enviados precisarão estar no diretório raiz de documentos do servidor web para que as atualizações possam ser distribuídas. A configuração exata variará dependendo do servidor web utilizado. Para o servidor web Apache, consulte a seção extref:{handbook}[Configuração de servidores Apache, network-apache] no Handbook.
-Atualize o `KeyPrint` e `ServerName` do cliente no arquivo [.filename]#/etc/freebsd-update.conf#, e execute as atualizações conforme instruído na link:{handbook}#updating-upgrading-freebsdupdate[Seção de Atualização do FreeBSD] no Handbook.
+Atualize o `KeyPrint` e o `ServerName` do cliente em [.filename]#/etc/freebsd-update.conf#, e execute as atualizações conforme instruído na seção extref:{handbook}[Atualização do FreeBSD, updating-upgrading-freebsdupdate] do Handbook.
[IMPORTANT]
====
-Para que o Servidor de Atualização do FreeBSD funcione corretamente, atualizações para ambas releases _atual_ e a release _que se deseja atualizar_ 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 que o Servidor de Atualização do FreeBSD funcione corretamente, as atualizações tanto para o release _atual_ quanto para o release _para o qual se deseja atualizar_ precisam ser compiladas. Isso é necessário para determinar as diferenças nos arquivos entre os releases. Por exemplo, ao atualizar um sistema FreeBSD da versão 7.1-RELEASE para a versão 7.2-RELEASE, as atualizações precisarão ser compiladas e enviadas para o seu servidor de distribuição para ambas as versões.
====
-Para referência, toda a execução do link:../../../source/articles/freebsd-update-server/init.txt[init.sh] é anexada.
+Para referência, toda a execução do link:../../source/articles/freebsd-update-server/init.txt[init.sh] está anexada.
[[patch]]
== Compilando um Patch
-Toda vez que é anunciado um https://www.FreeBSD.org/security/advisories/[aviso de segurança] ou uma https://www.FreeBSD.org/security/notices/[notificação de segurança], um patch de atualização pode ser construído.
+Toda vez que uma link:https://www.FreeBSD.org/security/advisories/[recomendação de segurança] ou um link:https://www.FreeBSD.org/security/notices/[aviso de segurança] é anunciado, uma atualização de patch pode ser compilada.
Para este exemplo, o 7.1-RELEASE será usado.
-Algumas suposições são feitas para uma versão diferente:
+Algumas suposições são feitas para compilar uma release diferente:
* Configure a estrutura de diretórios correta para a compilação inicial.
* Execute uma compilação inicial para o 7.1-RELEASE.
-Crie o diretório de correção do respectivo release no diretório [.filename]#/usr/local/freebsd-update-server/patches/#.
+Crie o diretório de patches do respectivo release em [.filename]#/usr/local/freebsd-update-server/patches/#.
-[source,shell]
+[source, shell]
....
% mkdir -p /usr/local/freebsd-update-server/patches/7.1-RELEASE/
% cd /usr/local/freebsd-update-server/patches/7.1-RELEASE
....
-Como exemplo, pegue o patch para man:named[8]. Leia o comunicado, e pegue o arquivo necessário de https://www.FreeBSD.org/security/advisories/[Avisos de Segurança do FreeBSD]. Mais informações sobre a interpretação do comunicado podem ser encontradas no link:{handbook}#security-advisories[Handbook do FreeBSD].
+Como exemplo, considere o patch para o man:named[8]. Leia o aviso e pegue o arquivo necessário em link:https://www.FreeBSD.org/security/advisories/[Avisos de Segurança do FreeBSD]. Mais informações sobre a interpretação do aviso podem ser encontradas no extref:{handbook}[Handbook do FreeBSD, security-advisories].
-No https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc[resumo de segurança], este comunicado é chamado `SA-09:12.bind`. 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 `p7`. Renomeie o arquivo:
+No https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc[informe de segurança], este aviso é chamado de `SA-09:12.bind`. Após o download do arquivo, é necessário renomeá-lo para um nível de patch apropriado. É sugerido manter isso consistente com os níveis de patch oficiais do FreeBSD, mas seu nome pode ser escolhido livremente . Para esta compilação, vamos seguir a prática atualmente estabelecida do FreeBSD e chamá-la de `p7`. Renomeie o arquivo:
-[source,shell]
+[source, shell]
....
-
% cd /usr/local/freebsd-update-server/patches/7.1-RELEASE/; mv bind.patch 7-SA-09:12.bind
....
[NOTE]
====
-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.
+Ao executar uma compilação de nível de patch, presume-se que os patches anteriores estão em vigor. Quando uma compilação de patch é executada, ela executará todos os patches contidos no diretório de patch.
-Pode haver patches personalizados adicionados a qualquer compilação. Use o número zero ou qualquer outro número.
+Podem ser adicionados patches personalizados a qualquer compilação. Use o número zero ou qualquer outro número.
====
[WARNING]
====
+
Cabe ao administrador do Servidor de Atualização do FreeBSD tomar as medidas apropriadas para verificar a autenticidade de cada patch.
====
-Neste ponto, um _diff_ está pronto para ser construído. O software verifica primeiro para ver se um [.filename]#scripts/init.sh# foi executado na respectiva versão antes de executar a construção do diff.
+Neste ponto, um _diff_ está pronto para ser compilado. O software verifica primeiro se um [.filename]#scripts/init.sh# foi executado no respectivo release antes de executar a compilação do _diff_.
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server
# sh scripts/diff.sh amd64 7.1-RELEASE 7
....
-O que se segue é um exemplo de uma execução de uma compilação __diferencial__.
+A seguir, segue um exemplo de execução de compilação _diferencial_.
-[source,shell]
+[source, shell]
....
# sh -e scripts/diff.sh amd64 7.1-RELEASE 7
Wed Aug 26 10:09:59 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7
@@ -500,7 +514,7 @@ Wed Aug 26 17:20:39 UTC 2009
As atualizações são impressas e a aprovação é solicitada.
-[source,shell]
+[source, shell]
....
New updates:
kernel|generic|/GENERIC/kernel.symbols|f|0|0|0555|0|7c8dc176763f96ced0a57fc04e7c1b8d793f27e006dd13e0b499e1474ac47e10|
@@ -520,9 +534,9 @@ files to confirm that they look sensible, then run
to sign the build.
....
-Siga o mesmo processo descrito anteriormente para aprovar uma compilação:
+Siga o mesmo processo mencionado anteriormente para aprovar uma compilação:
-[source,shell]
+[source, shell]
....
# sh -e scripts/approve.sh amd64 7.1-RELEASE
Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.1-RELEASE
@@ -540,18 +554,18 @@ the new builds.
Depois de aprovar a compilação, faça o upload do software:
-[source,shell]
+[source, shell]
....
# cd /usr/local/freebsd-update-server
# sh scripts/upload.sh amd64 7.1-RELEASE
....
-Para referência, toda a execução do link:../../../source/articles/freebsd-update-server/diff.txt[diff.sh] é anexada.
+Para referência, toda a execução do link:../../source/articles/freebsd-update-server/diff.txt[diff.sh] está anexada.
[[tips]]
== Dicas
-* Se uma versão personalizada for criada usando o procedimento `make release` link:{releng}#release-build[nativo], o `freebsd-update-server` 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 `findextradocs()`, `addextradocs()` e alterando o local de download em `fetchiso()`, respectivamente, em [.filename]#scripts/build.subr#. Como último passo, altere o hash man:sha256[1] no arquivo [.filename]#build.conf# sob sua respectiva versão e arquitetura e você estará pronto para criar sua versão personalizada.
+* Se um release personalizado for compilado usando o extref:{releng}[procedimento, release-build] nativo `make release`, o código do freebsd-update-server funcionará a partir do seu release. Como exemplo, um release sem ports ou documentação pode ser criado limpando a funcionalidade referente às sub-rotinas de documentação `findextradocs ()`, `addextradocs ()` e alterando o local de download em `fetchiso ()`, respectivamente, em [.filename]#scripts/build.subr#. Como último passo, altere a chave man:sha256[1] em [.filename]#build.conf# no seu respectivo release e arquitetura e você estará pronto para compilar o seu release personalizado.
+
[.programlisting]
....
@@ -565,7 +579,7 @@ addextradocs () {
}
....
-* Adicionando flags `-j _NUMERO_` para os alvos `buildworld` e `obj` no script [.filename]#scripts/build.subr# 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.
+* Adicionar flags `-j _NUMERO_` para os alvos `buildworld` e `obj` no script [.filename]#scripts/build.subr# pode acelerar o processamento, dependendo do hardware utilizado, no entanto, não é necessário. Usar esses flags em outros alvos não é recomendado, pois pode fazer com que a compilação se torne pouco confiável.
+
[.programlisting]
....
@@ -580,7 +594,7 @@ addextradocs () {
make ${COMPATFLAGS} release.1 release.2 2>&1
....
-* Crie um registro link:{handbook}#network-dns[DNS] 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.
+* Crie um registro extref:{handbook}[DNS, network-dns] SRV apropriado para o servidor de atualização e coloque outros atrás dele com pesos variáveis. O uso dessa facilidade fornecerá espelhos de atualização, no entanto, essa dica não é necessária, a menos que você deseje fornecer um serviço redundante.
+
[.programlisting]
....