From owner-svn-doc-all@FreeBSD.ORG Tue Sep 25 09:11:59 2012 Return-Path: Delivered-To: svn-doc-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E6B81065676; Tue, 25 Sep 2012 09:11:59 +0000 (UTC) (envelope-from ebrandi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 273088FC21; Tue, 25 Sep 2012 09:11:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8P9BxZx001072; Tue, 25 Sep 2012 09:11:59 GMT (envelope-from ebrandi@svn.freebsd.org) Received: (from ebrandi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8P9Bw7W001066; Tue, 25 Sep 2012 09:11:58 GMT (envelope-from ebrandi@svn.freebsd.org) Message-Id: <201209250911.q8P9Bw7W001066@svn.freebsd.org> From: Edson Brandi Date: Tue, 25 Sep 2012 09:11:58 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r39615 - in head/pt_BR.ISO8859-1: articles articles/freebsd-update-server share/sgml X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2012 09:11:59 -0000 Author: ebrandi Date: Tue Sep 25 09:11:58 2012 New Revision: 39615 URL: http://svn.freebsd.org/changeset/doc/39615 Log: - Add new Brazilian Portuguese translation of the freebsd-update-server article Submitted by: Marcelo Rossi Obtained from: The FreeBSD Brazilian Portuguese Documentation Project (http://doc.fug.com.br) Approved by: gabor (mentor) Added: head/pt_BR.ISO8859-1/articles/freebsd-update-server/ head/pt_BR.ISO8859-1/articles/freebsd-update-server/Makefile (contents, props changed) head/pt_BR.ISO8859-1/articles/freebsd-update-server/article.sgml (contents, props changed) head/pt_BR.ISO8859-1/articles/freebsd-update-server/diff.txt (contents, props changed) head/pt_BR.ISO8859-1/articles/freebsd-update-server/init.txt (contents, props changed) Modified: head/pt_BR.ISO8859-1/articles/Makefile head/pt_BR.ISO8859-1/share/sgml/mailing-lists.ent Modified: head/pt_BR.ISO8859-1/articles/Makefile ============================================================================== --- head/pt_BR.ISO8859-1/articles/Makefile Mon Sep 24 11:18:39 2012 (r39614) +++ head/pt_BR.ISO8859-1/articles/Makefile Tue Sep 25 09:11:58 2012 (r39615) @@ -14,6 +14,7 @@ SUBDIR+= contributing SUBDIR+= contributing-ports SUBDIR+= explaining-bsd SUBDIR+= freebsd-questions +SUBDIR+= freebsd-update-server SUBDIR+= hubs SUBDIR+= linux-users SUBDIR+= new-users Added: head/pt_BR.ISO8859-1/articles/freebsd-update-server/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/freebsd-update-server/Makefile Tue Sep 25 09:11:58 2012 (r39615) @@ -0,0 +1,38 @@ +# +# The FreeBSD Documentation Project +# The FreeBSD Brazilian Portuguese Documentation Project +# +# $FreeBSD$ +# +# Original revision: r38826 +# +# Article: FreeBSD Update Server + +DOC?= article + +FORMATS?= html html-split + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +WITH_ARTICLE_TOC?=YES + +EXTRAS= init.txt +EXTRAS+= diff.txt + +SRCS= article.sgml +SRCS+= ${EXTRAS} + +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png +IMAGES_LIB+= callouts/5.png + +afterinstall: +.for entry in ${EXTRAS} + ${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR} +.endfor + +DOC_PREFIX?= ${.CURDIR}/../../.. +.include "${DOC_PREFIX}/share/mk/doc.project.mk" Added: head/pt_BR.ISO8859-1/articles/freebsd-update-server/article.sgml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/freebsd-update-server/article.sgml Tue Sep 25 09:11:58 2012 (r39615) @@ -0,0 +1,827 @@ + + +%entities; +Servidor de Atualização do FreeBSD"> +]> + + + + +
+ + Construa Seu Próprio Servidor de Atualização do &os; + + + Jason + Helfman + +
&a.jgh;
+
+
+ + + 2009 + 2010 + 2011 + Jason Helfman + + + + &tm-attrib.freebsd; + &tm-attrib.general; + &tm-attrib.intel; + &tm-attrib.amd; + + + $FreeBSD$ + + $FreeBSD$ +
+ + + Este artigo descreve como construir um &fbus.ap; para uso + interno na sua organização. O software freebsd-update-server + foi escrito pelo &a.cperciva;, atualmente Chefe de Segurança 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. + + + + Agradecimentos + Este artigo foi originalmente publicado na Experts + Exchange, e posteriormente impresso na BSD + Magazine. + + + + Introdução + + Usuários experientes ou administradores são frequentemente + 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. + + + + Pré-Requisitos + + Para construir o seu &fbus.ap; alguns requisitos devem ser + cumpridos. + + + + Estar executando o &os;. + + + No mínimo, as atualizações precisam ser compiladas em + uma versão do &os; maior ou igual a versão alvo a ser + distribuída. + + + + + Ter acesso a uma conta de usuário com no mínimo + 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. + + + + Ter acesso a uma conta &man.ssh.1; em uma máquina + remota para enviar as atualizações a serem + distribuídas. + + + + Possuir um servidor web, como Apache, + 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. + + + + Ter conhecimento básico de shell script com o Bourne + shell, &man.sh.1; + + + + + + Instalação & Configuração + + Faça o download do software freebsd-update-server + como um arquivo tar, + ou use &man.csup.1; e o acervo + projects-all. + + Atualize o scripts/build.conf de forma + adequada. Ele é usado durante as operações de + compilação. + + Aqui está o build.conf padrão, que + deverá ser modificado para se adequar ao seu ambiente. + + + + +# Main configuration file for FreeBSD Update builds. The +# release-specific configuration data is lower down in +# the scripts tree. + +# Location from which to fetch releases +export FTP=ftp://ftp2.freebsd.org/pub/FreeBSD/releases + +# Host platform +export HOSTPLATFORM=`uname -m` + +# Host name to use inside jails +export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net + +# Location of SSH key +export SSHKEY=/root/.ssh/id_dsa + +# SSH account into which files are uploaded +MASTERACCT=builder@wadham.daemonology.net + +# Directory into which files are uploaded +MASTERDIR=update-master.freebsd.org + + + Parâmentros que devem ser considerados: + + + + Este é o local de onde serão feitos os downloads das + imagens ISO (pela sub-rotina fetchiso() + do scripts/build.subr). O local a ser + configurado não é limitado a URIs de FTP. Qualquer URI + suportada pela ferramenta &man.fetch.1; pode ser + usada. + + Customizações do código da + fetchiso() podem ser feitas copiando + o script padrão build.subr para o + local da sua versão e arquitetura específica + scripts/RELEASE/ARCHITECTURE/build.subr e + alterando o arquivo. + + + + O nome do computador que fará a compilação. Esta + informação será exibida durante a atualização dos + sistemas: + + &prompt.user; uname -v + + + + A chave SSH para enviar os + arquivos para o servidor de atualização. O par de chaves + pode ser criado digitando ssh-keygen -t + dsa. Este parâmetro é opcional; a autenticação + por senha será usada como método de autenticação quando a + variável SSHKEY não estiver + definida. + + A página do manual &man.ssh-keygen.1; tem informações + mais detalhadas sobre o SSH e os + passos apropriados para criar e usar chaves. + + + + Conta para enviar os arquivos para o servidor de + atualização. + + + + Diretório do servidor de atualização para o qual os + arquivos serão enviados. + + + + O arquivo build.conf padrão, distribuído + com o fonte do freebsd-update-server, + 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;: + + + + Crie um ambiente de compilação para o + &arch.amd64;: + + + &prompt.user; mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64 + + + + + Copie o arquivo build.conf para o + 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: + + + # SHA256 hash of RELEASE disc1.iso image. +export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs lib32" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin cddl" +export KERNELPARTS="generic" + +# EOL date +export EOL=1275289200 + + + + + A chave hash &man.sha256.1; da versão desejada, + ela é publicada no anúncio da versão. + + + + Para gerar o número "End of Life" (Fim da Vida) para + o build.conf, consulte a informação + sobre o "Estimated EOL" publicada no Site de + Segurança do &os;. O valor do + EOL pode ser derivado a partir da + data listada no site, usando a ferramenta &man.date.1;, + por exemplo: + &prompt.user; date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s' + + + + + + + + Preparando a atualização + + O primeiro passo é executar o + scripts/make.sh. 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. + + &prompt.root; sh scripts/make.sh +cc -O2 -fno-strict-aliasing -pipe findstamps.c -o findstamps +findstamps.c: In function 'usage': +findstamps.c:45: warning: incompatible implicit declaration of built-in function 'exit' +cc -O2 -fno-strict-aliasing -pipe unstamp.c -o unstamp +install findstamps ../bin +install unstamp ../bin +rm -f findstamps unstamp +Generating RSA private key, 4096 bit long modulus +................................................................................++ +...................++ +e is 65537 (0x10001) + +Public key fingerprint: +27ef53e48dc869eea6c3136091cc6ab8589f967559824779e855d58a2294de9e + +Encrypting signing key for root +enter aes-256-cbc encryption password: +Verifying - enter aes-256-cbc encryption password: + + + Anote a impressão digital (fingerprint) da chave gerada. + Ela é necessária no + /etc/freebsd-update.conf para as + atualizações de binários. + + + Neste ponto, nós estamos prontos para a etapa de + compilação. + + + &prompt.root; cd /usr/local/freebsd-update-server +&prompt.root; sh scripts/init.sh amd64 7.2-RELEASE + + + A seguir está um exemplo de uma execução + inicial. + + &prompt.root; sh scripts/init.sh 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 +Mon Aug 24 16:32:38 PDT 2009 Verifying disc1 hash for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 16:32:44 PDT 2009 Extracting components for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 16:34:05 PDT 2009 Constructing world+src image for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 16:35:57 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 23:36:24 UTC 2009 Building world for FreeBSD/amd64 7.2-RELEASE +Tue Aug 25 00:31:29 UTC 2009 Distributing world for FreeBSD/amd64 7.2-RELEASE +Tue Aug 25 00:32:36 UTC 2009 Building and distributing kernels for FreeBSD/amd64 7.2-RELEASE +Tue Aug 25 00:44:44 UTC 2009 Constructing world components for FreeBSD/amd64 7.2-RELEASE +Tue Aug 25 00:44:56 UTC 2009 Distributing source for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 17:46:18 PDT 2009 Moving components into staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 17:46:33 PDT 2009 Identifying extra documentation for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 17:47:13 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 17:47:18 PDT 2009 Indexing release for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 17:50:44 PDT 2009 Indexing world0 for FreeBSD/amd64 7.2-RELEASE + +Files built but not released: +Files released but not built: +Files which differ by more than contents: +Files which differ between release and build: +kernel|generic|/GENERIC/hptrr.ko +kernel|generic|/GENERIC/kernel +src|sys|/sys/conf/newvers.sh +world|base|/boot/loader +world|base|/boot/pxeboot +world|base|/etc/mail/freebsd.cf +world|base|/etc/mail/freebsd.submit.cf +world|base|/etc/mail/sendmail.cf +world|base|/etc/mail/submit.cf +world|base|/lib/libcrypto.so.5 +world|base|/usr/bin/ntpq +world|base|/usr/lib/libalias.a +world|base|/usr/lib/libalias_cuseeme.a +world|base|/usr/lib/libalias_dummy.a +world|base|/usr/lib/libalias_ftp.a +... + + Em seguida, a compilação da base do sistema será feita + novamente, com os patches. Uma explicação mais detalhada pode + ser encontrada em scripts/build.subr. + + + Durante a segunda compilação, o serviço de network time + protocol, &man.ntpd.8; será desligado. De acordo com + &a.cperciva;, atualmente Chefe de Segurança do &os;, "o freebsd-update-server + compila códigos necessários para identificar os + timestamps, 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 + timestamp funciona realizando duas + compilações separadas por 400 dias e comparando os + resultados." + + + 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 +Wed Sep 29 01:49:42 UTC 2010 Distributing world for FreeBSD/amd64 7.2-RELEASE +Wed Sep 29 01:50:50 UTC 2010 Building and distributing kernels for FreeBSD/amd64 7.2-RELEASE +Wed Sep 29 02:02:56 UTC 2010 Constructing world components for FreeBSD/amd64 7.2-RELEASE +Wed Sep 29 02:03:08 UTC 2010 Distributing source for FreeBSD/amd64 7.2-RELEASE +Tue Sep 28 19:04:31 PDT 2010 Moving components into staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:04:46 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:04:51 PDT 2009 Indexing world1 for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:08:04 PDT 2009 Locating build stamps for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:10:19 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:10:19 PDT 2009 Preparing to copy files into staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 19:10:20 PDT 2009 Copying data files into staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 12:16:57 PDT 2009 Copying metadata files into staging area for FreeBSD/amd64 7.2-RELEASE +Mon Aug 24 12:16:59 PDT 2009 Constructing metadata index and tag for FreeBSD/amd64 7.2-RELEASE + +Files found which include build stamps: +kernel|generic|/GENERIC/hptrr.ko +kernel|generic|/GENERIC/kernel +world|base|/boot/loader +world|base|/boot/pxeboot +world|base|/etc/mail/freebsd.cf +world|base|/etc/mail/freebsd.submit.cf +world|base|/etc/mail/sendmail.cf +world|base|/etc/mail/submit.cf +world|base|/lib/libcrypto.so.5 +world|base|/usr/bin/ntpq +world|base|/usr/include/osreldate.h +world|base|/usr/lib/libalias.a +world|base|/usr/lib/libalias_cuseeme.a +world|base|/usr/lib/libalias_dummy.a +world|base|/usr/lib/libalias_ftp.a +... + + Finalmente, a compilação termina. + + Values of build stamps, excluding library archive headers: +v1.2 (Aug 25 2009 00:40:36) +v1.2 (Aug 25 2009 00:38:22) +@(#)FreeBSD 7.2-RELEASE #0: Tue Aug 25 00:38:29 UTC 2009 +FreeBSD 7.2-RELEASE #0: Tue Aug 25 00:38:29 UTC 2009 + root@server.myhost.com:/usr/obj/usr/src/sys/GENERIC +7.2-RELEASE +Mon Aug 24 23:55:25 UTC 2009 +Mon Aug 24 23:55:25 UTC 2009 +##### built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009 +##### built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009 +##### built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009 +##### built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009 +Mon Aug 24 23:46:47 UTC 2009 +ntpq 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1) + * Copyright (c) 1992-2009 The FreeBSD Project. +Mon Aug 24 23:46:47 UTC 2009 +Mon Aug 24 23:55:40 UTC 2009 +Aug 25 2009 +ntpd 4.2.4p5-a Mon Aug 24 23:55:52 UTC 2009 (1) +ntpdate 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1) +ntpdc 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1) +Tue Aug 25 00:21:21 UTC 2009 +Tue Aug 25 00:21:21 UTC 2009 +Tue Aug 25 00:21:21 UTC 2009 +Mon Aug 24 23:46:47 UTC 2009 + +FreeBSD/amd64 7.2-RELEASE initialization build complete. Please +review the list of build stamps printed above to confirm that +they look sensible, then run +# sh -e approve.sh amd64 7.2-RELEASE +to sign the release. + + Se tudo estiver correto, aprove a compilação. Maiores + informações sobre como determinar se o processo finalizou com + sucesso podem ser encontradas no arquivo chamado + USAGE, distribuído com o código fonte. + Execute o scripts/approve.sh. 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. + + + &prompt.root; cd /usr/local/freebsd-update-server +&prompt.root; sh scripts/mountkey.sh + + + &prompt.root; 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 +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: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 + + Depois que o processo de aprovação tiver sido finalizado, + o processo de transferência pode ser iniciado. + + + &prompt.root; cd /usr/local/freebsd-update-server +&prompt.root; sh scripts/upload.sh amd64 7.2-RELEASE + + + + No caso do código de atualização precisar ser transferido + 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 + uploaded. + + + &prompt.root; cd /usr/local/freebsd-update-server/pub/7.2-RELEASE/amd64 +&prompt.root; touch -t 200801010101.01 uploaded + + + + Os arquivos transferidos precisam ficar na raiz do servidor + web para que as atualizações sejam distribuídas. A exata + configuração dependerá do servidor web utilizado. Para o + servidor web Apache, por favor, + consulte a seção Configuração do + servidor Apache do Handbook. + + Atualize o KeyPrint e o + ServerName no arquivo + /etc/freebsd-update.conf, e efetue as + atualizações de acordo com os procedimentos descritos na seção + Atualização + do &os; do Handbook. + + + Para o &fbus.ap; funcionar corretamente, é preciso que + estejam compiladas a versão atual e + a versão alvo 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 referência, segue um exemplo de log completo da + execução do + init.sh + . + + + + Compilando um patch + + Toda vez que um aviso de segurança + ou uma nota de + segurança é anunciada, uma atualização pode ser + compilada. + + Para este exemplo, a versão 7.1-RELEASE será usada. + + Algumas suposições são feitas para a compilação de uma + versão diferente: + + + + Crie a estrutura correta de diretório para a compilação + inicial. + + + + Faça a compilação inicial da 7.1-RELEASE + + + + Crie o diretório do patch para a respectiva versão em + /usr/local/freebsd-update-server/patches/. + + + &prompt.user; mkdir -p /usr/local/freebsd-update-server/patches/7.1-RELEASE/ +&prompt.user; cd /usr/local/freebsd-update-server/patches/7.1-RELEASE + + + Como exemplo, pegue o patch para o &man.named.8;. Leia o + aviso, obtenha o arquivo necessário do Aviso de Segurança + do &os;. Mais informações sobre como interpretar os + avisos, podem ser encontradas no Handbook do + &os;. + + Na nota de segurança, + este aviso é chamado de SA-09:12.bind. + 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 + p7. Renomeie o arquivo: + + + &prompt.user; cd /usr/local/freebsd-update-server/patches/7.1-RELEASE/; mv bind.patch 7-SA-09:12.bind + + + + Ao executar uma compilação de nível de patch, é + 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. + + Podem ser adicionados patches personalizados na + Compilação. Use o número zero, ou qualquer outro + número. + + + + É da responsabilidade do administrador do &fbus.ap; + tomar as devidas ações para verificar a autenticidade de cada + patch. + + + Neste ponto, um diff está pronto para + ser construído. O software primeiro irá verificar se o + scripts/init.sh foi executado na respectiva + versão antes de executar a construção do diff. + + + &prompt.root; cd /usr/local/freebsd-update-server +&prompt.root; sh scripts/diff.sh amd64 7.1-RELEASE 7 + + + O que segue abaixo é um exemplo do log da execução de uma + compilação diferencial. + + &prompt.root; 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 +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:06:16 UTC 2009 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 18:17:50 UTC 2009 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 18:18:02 UTC 2009 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:23 PDT 2009 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:37 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:42 PDT 2009 Indexing world0 for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:23:02 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 18:23:29 UTC 2010 Building world for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:18:15 UTC 2010 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:19:18 UTC 2010 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:30:52 UTC 2010 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:31:03 UTC 2010 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 12:32:25 PDT 2010 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:32:39 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:32:43 PDT 2009 Indexing world1 for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:35:54 PDT 2009 Locating build stamps for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:36:58 PDT 2009 Reverting changes due to build stamps for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:14 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:14 PDT 2009 Preparing to copy files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:15 PDT 2009 Copying data files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:43:23 PDT 2009 Copying metadata files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:43:25 PDT 2009 Constructing metadata index and tag for FreeBSD/amd64 7.1-RELEASE-p7 +... +Files found which include build stamps: +kernel|generic|/GENERIC/hptrr.ko +kernel|generic|/GENERIC/kernel +world|base|/boot/loader +world|base|/boot/pxeboot +world|base|/etc/mail/freebsd.cf +world|base|/etc/mail/freebsd.submit.cf +world|base|/etc/mail/sendmail.cf +world|base|/etc/mail/submit.cf +world|base|/lib/libcrypto.so.5 +world|base|/usr/bin/ntpq +world|base|/usr/include/osreldate.h +world|base|/usr/lib/libalias.a +world|base|/usr/lib/libalias_cuseeme.a +world|base|/usr/lib/libalias_dummy.a +world|base|/usr/lib/libalias_ftp.a +... +Values of build stamps, excluding library archive headers: +v1.2 (Aug 26 2009 18:13:46) +v1.2 (Aug 26 2009 18:11:44) +@(#)FreeBSD 7.1-RELEASE-p7 #0: Wed Aug 26 18:11:50 UTC 2009 +FreeBSD 7.1-RELEASE-p7 #0: Wed Aug 26 18:11:50 UTC 2009 + root@server.myhost.com:/usr/obj/usr/src/sys/GENERIC +7.1-RELEASE-p7 +Wed Aug 26 17:29:15 UTC 2009 +Wed Aug 26 17:29:15 UTC 2009 +##### built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009 +##### built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009 +##### built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009 +##### built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009 +Wed Aug 26 17:20:39 UTC 2009 +ntpq 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1) + * Copyright (c) 1992-2009 The FreeBSD Project. +Wed Aug 26 17:20:39 UTC 2009 +Wed Aug 26 17:29:30 UTC 2009 +Aug 26 2009 +ntpd 4.2.4p5-a Wed Aug 26 17:29:41 UTC 2009 (1) +ntpdate 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1) +ntpdc 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1) +Wed Aug 26 17:55:02 UTC 2009 +Wed Aug 26 17:55:02 UTC 2009 +Wed Aug 26 17:55:02 UTC 2009 +Wed Aug 26 17:20:39 UTC 2009 +... + + As atualizações são exibidas, e uma aprovação é + requisitada. + + New updates: +kernel|generic|/GENERIC/kernel.symbols|f|0|0|0555|0|7c8dc176763f96ced0a57fc04e7c1b8d793f27e006dd13e0b499e1474ac47e10| +kernel|generic|/GENERIC/kernel|f|0|0|0555|0|33197e8cf15bbbac263d17f39c153c9d489348c2c534f7ca1120a1183dec67b1| +kernel|generic|/|d|0|0|0755|0|| +src|base|/|d|0|0|0755|0|| +src|bin|/|d|0|0|0755|0|| +src|cddl|/|d|0|0|0755|0|| +src|contrib|/contrib/bind9/bin/named/update.c|f|0|10000|0644|0|4d434abf0983df9bc47435670d307fa882ef4b348ed8ca90928d250f42ea0757| +src|contrib|/contrib/bind9/lib/dns/openssldsa_link.c|f|0|10000|0644|0|c6805c39f3da2a06dd3f163f26c314a4692d4cd9a2d929c0acc88d736324f550| +src|contrib|/contrib/bind9/lib/dns/opensslrsa_link.c|f|0|10000|0644|0|fa0f7417ee9da42cc8d0fd96ad24e7a34125e05b5ae075bd6e3238f1c022a712| +... +FreeBSD/amd64 7.1-RELEASE update build complete. Please review +the list of build stamps printed above and the list of updated +files to confirm that they look sensible, then run +# sh -e approve.sh amd64 7.1-RELEASE +to sign the build. + + Siga o mesmo processo descrito anteriormente para aprovar a + compilação: + + &prompt.root; 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 +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:07 PDT 2009 Updating databases for FreeBSD/amd64 7.1-RELEASE +Wed Aug 26 12:50:07 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.1-RELEASE + +The FreeBSD/amd64 7.1-RELEASE update build has been signed and is +ready to be uploaded. Remember to run +# sh -e umountkey.sh +to unmount the decrypted key once you have finished signing all +the new builds. + + Depois de aprovar a compilação, faça a transferência do + software para o servidor de distribuição: + + + &prompt.root; cd /usr/local/freebsd-update-server +&prompt.root; sh scripts/upload.sh amd64 7.1-RELEASE + + + Para referência, segue o log de uma execução completa do + diff.sh. + + + + Dicas + + + + Se uma versão personalizada tiver sido compilada usando + o procedimento + nativo do make release, o código do + freebsd-update-server 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 findextradocs(), + addextradocs() e alterando o local de + download na fetchiso(), + respectivamente, no scripts/build.subr. + Em um último passo, mude o hash &man.sha256.1; em + build.conf na sua respectiva versão e + arquitetura e então você está pronto para compilar sua + versão personalizada. + + # Compare ${WORKDIR}/release and ${WORKDIR}/$1, identify which parts +# of the world|doc subcomponent are missing from the latter, and +# build a tarball out of them. +findextradocs () { +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { +} + + + + Adicionando a opção nas etapas + buildworld e + obj no script + scripts/build.subr 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. + + #Build the world +log "Building world" +cd /usr/src && +make -j 2 ${COMPATFLAGS} buildworld 2>&1 + +# Distribute the world +log "Distributing world" +cd /usr/src/release && +make -j 2 obj && + make ${COMPATFLAGS} release.1 release.2 2>&1 + + + + + Crie uma regra de firewall + para bloquear os pacotes RST saintes. Devido a um problema + observado em uma discussão + na &a.stable; em Abril de 2009, podem ocorrer alguns + problema de timeouts e falhas ao atualizar o sistema + + + + Crie uma entrada SRV apropriada no DNS + 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. + + + _http._tcp.update.myserver.com. IN SRV 0 2 80 host1.myserver.com. + SRV 0 1 80 host2.myserver.com. + SRV 0 0 80 host3.myserver.com. + + + +
Added: head/pt_BR.ISO8859-1/articles/freebsd-update-server/diff.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/freebsd-update-server/diff.txt Tue Sep 25 09:11:58 2012 (r39615) @@ -0,0 +1,724 @@ +# $FreeBSD$ +# 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 +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:06:16 UTC 2009 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 18:17:50 UTC 2009 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 18:18:02 UTC 2009 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:23 PDT 2009 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:37 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:19:42 PDT 2009 Indexing world0 for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 11:23:02 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 18:23:29 UTC 2010 Building world for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:18:15 UTC 2010 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:19:18 UTC 2010 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:30:52 UTC 2010 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 19:31:03 UTC 2010 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7 +Thu Sep 30 12:32:25 PDT 2010 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:32:39 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:32:43 PDT 2009 Indexing world1 for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:35:54 PDT 2009 Locating build stamps for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:36:58 PDT 2009 Reverting changes due to build stamps for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:14 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:14 PDT 2009 Preparing to copy files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:37:15 PDT 2009 Copying data files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:43:23 PDT 2009 Copying metadata files into staging area for FreeBSD/amd64 7.1-RELEASE-p7 +Wed Aug 26 12:43:25 PDT 2009 Constructing metadata index and tag for FreeBSD/amd64 7.1-RELEASE-p7 + +Files found which include build stamps: +kernel|generic|/GENERIC/hptrr.ko +kernel|generic|/GENERIC/kernel +world|base|/boot/loader +world|base|/boot/pxeboot +world|base|/etc/mail/freebsd.cf +world|base|/etc/mail/freebsd.submit.cf +world|base|/etc/mail/sendmail.cf +world|base|/etc/mail/submit.cf +world|base|/lib/libcrypto.so.5 +world|base|/usr/bin/ntpq +world|base|/usr/include/osreldate.h +world|base|/usr/lib/libalias.a +world|base|/usr/lib/libalias_cuseeme.a +world|base|/usr/lib/libalias_dummy.a +world|base|/usr/lib/libalias_ftp.a +world|base|/usr/lib/libalias_irc.a +world|base|/usr/lib/libalias_nbt.a +world|base|/usr/lib/libalias_pptp.a +world|base|/usr/lib/libalias_skinny.a +world|base|/usr/lib/libalias_smedia.a +world|base|/usr/lib/libarchive.a +world|base|/usr/lib/libasn1.a +world|base|/usr/lib/libavl.a +world|base|/usr/lib/libbegemot.a +world|base|/usr/lib/libbluetooth.a +world|base|/usr/lib/libbsdxml.a +world|base|/usr/lib/libbsm.a +world|base|/usr/lib/libbsnmp.a +world|base|/usr/lib/libbz2.a +world|base|/usr/lib/libc.a +world|base|/usr/lib/libc_pic.a +world|base|/usr/lib/libcalendar.a +world|base|/usr/lib/libcam.a +world|base|/usr/lib/libcom_err.a +world|base|/usr/lib/libcompat.a +world|base|/usr/lib/libcrypt.a +world|base|/usr/lib/libcrypto.a +world|base|/usr/lib/libctf.a +world|base|/usr/lib/libdevinfo.a +world|base|/usr/lib/libdevstat.a +world|base|/usr/lib/libdialog.a +world|base|/usr/lib/libdisk.a +world|base|/usr/lib/libdtrace.a +world|base|/usr/lib/libdwarf.a +world|base|/usr/lib/libedit.a +world|base|/usr/lib/libelf.a +world|base|/usr/lib/libfetch.a +world|base|/usr/lib/libfl.a +world|base|/usr/lib/libform.a +world|base|/usr/lib/libformw.a +world|base|/usr/lib/libftpio.a +world|base|/usr/lib/libgcc.a +world|base|/usr/lib/libgcc_eh.a +world|base|/usr/lib/libgcov.a +world|base|/usr/lib/libgeom.a +world|base|/usr/lib/libgnuregex.a +world|base|/usr/lib/libgomp.a +world|base|/usr/lib/libgpib.a +world|base|/usr/lib/libgssapi.a +world|base|/usr/lib/libgssapi_krb5.a +world|base|/usr/lib/libhdb.a +world|base|/usr/lib/libhistory.a +world|base|/usr/lib/libipsec.a +world|base|/usr/lib/libipx.a +world|base|/usr/lib/libkadm5clnt.a +world|base|/usr/lib/libkadm5srv.a +world|base|/usr/lib/libkafs5.a +world|base|/usr/lib/libkiconv.a +world|base|/usr/lib/libkrb5.a +world|base|/usr/lib/libkvm.a +world|base|/usr/lib/libl.a +world|base|/usr/lib/libln.a +world|base|/usr/lib/liblwres.a +world|base|/usr/lib/libm.a +world|base|/usr/lib/libmagic.a +world|base|/usr/lib/libmd.a +world|base|/usr/lib/libmemstat.a +world|base|/usr/lib/libmenu.a +world|base|/usr/lib/libmenuw.a +world|base|/usr/lib/libmilter.a +world|base|/usr/lib/libmp.a +world|base|/usr/lib/libncp.a +world|base|/usr/lib/libncurses.a +world|base|/usr/lib/libncursesw.a +world|base|/usr/lib/libnetgraph.a +world|base|/usr/lib/libngatm.a +world|base|/usr/lib/libnvpair.a *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***