4. Configuração: Instalação & Configuração

Faça o download do software freebsd-update-server instalando devel/subversion e security/ca_root_nss, e execute:

% svn co https://svn.freebsd.org/base/user/cperciva/freebsd-update-build freebsd-update-server

Atualize o scripts/build.conf apropriadamente. Ele é criado durante todas as operações de construção.

Aqui está o build.conf padrão, que deve 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/releases1

# Host platform
export HOSTPLATFORM=`uname -m`

# Host name to use inside jails
export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net2

# Location of SSH key
export SSHKEY=/root/.ssh/id_dsa3

# SSH account into which files are uploaded
MASTERACCT=builder@wadham.daemonology.net4

# Directory into which files are uploaded
MASTERDIR=update-master.freebsd.org5

Parâmetros para consideração seriam:

1

Este é o local onde as imagens ISO são baixadas (pela sub-rotina fetchiso() do 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 fetch() deve funcionar bem.

Personalizações para o código de fetchiso() podem ser instaladas copiando o script padrão build.subr para a área específica do release e da arquitetura em scripts/RELEASE/ARCHITECTURE/build.subr e aplicando alterações locais.

2

O nome do host em construção. Esta informação será exibida em sistemas atualizados ao executar:

% uname -v

3

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 ssh-keygen(1) contém informações mais detalhadas sobre o SSH e as etapas apropriadas para criar e usar um.

4

Conta para fazer upload de arquivos para o servidor de atualização.

5

Diretório no servidor de atualização para o qual os arquivos são enviados.

O arquivo padrão 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:

  1. Crie um ambiente de compilação para o amd64:

    % mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64
  2. Instale um 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:

    # SHA256 hash of RELEASE disc1.iso image.
    export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef51
    
    # 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=12752892002

    1

    A chave sha256(1) usada para fazer o hash para a release desejada é publicada no respectivo anúncio de release.

    2

    Para gerar o número "End of Life" para o build.conf, consulte o "EOL estimado" publicado no Site de Segurança do FreeBSD. O valor de EOL pode ser derivado da data listada no site, usando o utilitário date(1), por exemplo:

    % date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.