4. Konfiguration: Installation & Setup

Laden Sie die freebsd-update-server Software durch die Installation von devel/subversion , und starten Sie:

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

Passen Sie scripts/build.conf an Ihre Bedürfnisse an. Diese Datei wird bei jedem Bau mit einbezogen.

Hier ist die Standardeinstellung für build.conf, welche Sie für Ihre Umgebung anpassen sollten.


# 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

Parameter, die zu berücksichtigen sind:

1

Dies ist der Ort, von dem die ISO Abbilder (über die fetchiso() in scripts/build.subr) heruntergeladen werden. Der Ort ist nicht auf FTP URIs beschränkt. Jedes URI-Schema, welches von fetch(1) unterstützt wird, sollte hier gut funktionieren.

Anpassungen am fetchiso() Code können Sie vornehmen, indem Sie das Standardskript build.subr in den Release- und Architektur-spezifischen Bereich in scripts/RELEASE/ARCHITECTURE/build.subr kopieren und dort lokale Änderungen vornehmen.

2

Der Name des Build-Hosts. Auf aktualisierten Systemen können Sie diese Information wie folgt ausgeben:

% uname -v

3

Der SSH Schlüssel für das Hochladen der Dateien auf den Update Server. Ein Schlüsselpaar kann durch die Eingabe von ssh-keygen -t dsa erstellt werden. Dieser Parameter ist jedoch optional; Standard Password Authentifizierung wird als Fallback-Methode benutzt wenn SSHKEY nicht definiert ist.

Die ssh-keygen(1) Manualpage enthält detaillierte Informationen zu SSH und die entsprechenden Schritte zur Erstellung und Verwendung von Schlüsseln.

4

Benutzerkonto zum Hochladen von Dateien auf den Update-Server.

5

Verzeichnis auf dem Update-Server, in welches die Dateien hochgeladen werden.

Die Standard build.conf, die mit den freebsd-update-server Quellen ausgeliefert wird ist geeignet um i386 Releases von FreeBSD zu bauen. Als Beispiel für den Aufbau eines Update-Servers für andere Architekturen beschreiben die folgenden Schritte die Konfiguration für amd64:

  1. Erstellen Sie eine Bau-Umgebung für amd64:

    % mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64
  2. Installieren Sie eine build.conf in das neu erstellte Verzeichnis. Die Konfigurationsoptionen für FreeBSD 7.2-RELEASE auf amd64 sollten ähnlich wie die folgenden sein:

    # 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

    Der sha256(1) Fingerabdruck für die gewünschte Version wird innerhalb der jeweiligen Release-Ankündigung veröffentlicht.

    2

    Um die "End of Life" Nummer für die build.confzu generieren, beziehen Sie sich bitte auf "Estimated EOL" auf der FreeBSD Security Webseite. Der Wert für EOL kann aus dem Datum, das auf der Webseite veröffentlicht ist, abgeleitet werden. Benutzen Sie dafür das Werkzeug date(1). Dazu ein Beispiel:

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

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.