Diese Seite beschreibt wie man ein OpenBSD-System aktualisiert.


Einführung

OpenBSD lässt sich -- genau so wie NetBSD und FreeBSD -- komplett per Quellcode updaten. Das können die obligatorischen Sicherheits-Updates aus -stable sein, aber auch ein kompletter Release-Wechsel.

Diese Prozedur ist deutlich schwieriger als ein Update über Binärdateien. Allerdings ist es auch eine gute Methode mehr über das System zu lernen. Außerdem sollte man nach der Installation einer neuen Version sowieso die Sicherheitspatches installieren, und so kann man beides verbinden.

Was wird benötigt?

Ließ am besten Kapitel 5 des FAQs "Das System aus dem Quelltext erzeugen". Du musst Dich entscheiden welchem Strang Du folgen willst (OpenBSD stable, current, release). Wir gehen davon aus, das Du current folgen willst. Suche Dir einen AnonCVS-Server aus.

Du wirst dann also:

  1. Zur nächstliegenden Binary aktualisieren oder diese installieren
  2. Den passenden Quelltext runterladen
  3. Einen Kernel erzeugen
  4. Das Userland erzeugen

Es geht los

Source-Tree beziehen

Um ein Checkout für einen -current-CVS-src-Tree durchzuführen, kannst du Folgendes nutzen:

    # export CVSROOT=anoncvs@anoncvs.example.org:/cvs
    # cd /usr
    # cvs -d$CVSROOT checkout -rOPENBSD_4_2 -P src ports
    # cd /usr/src
    # cvs -d$CVSROOT checkout -rOPENBSD_4_2 -P xenocara

Dies holt die Trees: src (Quellen), ports (Ports) und xenocara (falls Du X nutzt). Zu diesem Zeitpunkt solltest du einen einsetzbaren Source-Tree haben.

Neuen Kernel bauen

Kernel werden basierend auf den Kernel-Konfigurationsdateien erzeugt, welche sich in dem /usr/src/sys/arch/<deine Plattform>/conf-Verzeichnis befinden.

    # cd /usr/src/sys/arch/i386/conf
    # config GENERIC
    # cd ../compile/GENERIC
    # make clean && make depend && make
    [... jede Menge Ausgabe ...]
    # make install

Userland erzeugen

Leere dein /usr/obj-Verzeichnis und erstelle die symbolischen Links neu:

    # rm -rf /usr/obj/*
    # cd /usr/src
    # make obj

Stelle sicher, dass alle passenden Verzeichnisse erstellt werden.

    # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs

Erzeuge das System:

    # cd /usr/src
    # make build

Nacharbeiten


KategorieNonLinux

OpenBSD/UpdatePerQuellcode (zuletzt geändert am 2007-12-26 15:48:40 durch 222-195-103-86)