freebsd system update...

...oder das bauen der neuen welt

Diese kleine Anleitung soll erklären wie man ein FreeBSD System auf eine neue Version aktualisiert. Das genaue vorgehen wird auch im FreeBSD Handbuch und /usr/src/UPDATING beschrieben. Ein ebenfalls sehr umfangreiches Tutorial gibt es im BSDForen Wiki.

1. BACKUP

Bevor man sich auf das updaten des Systems stürzt sollte man auf jeden fall ein vollständiges Backup des Systems machen, denn geht etwas schief kann das ganze System unbrauchbar sein!!!

2. GET THE SOURCE

Damit es dann losgehen kann sind jetzt ersteinmal die System Quellen zu aktualisieren. Dazu dient das auch beim updaten des Portstrees verwendete cvsup um dieses nachträglich zu installieren einfach:

# pkg_add -r cvsup-without-gui

Ist cvsup dann installiert ist noch ein supfile für die Systemquellen anzulegen, wohin man diesen legt ist dabei prinzipiell egal:

# cp /usr/share/examples/cvsup/standard-supfile /etc/source-supfile

Im neu erzeugten file ist es noch notwendig die URL des zu verwendenden cvsup Servers einzugeben. Dazu einfach die passende Zeile mit den host Eintrag abändern:

*default host=de.FreeBSD.org

Damit auch die richtigen Quellen auf der Platte landen muss als letztes noch der release tag angepasst werden (hier für FreeBSD 5.4)

*default release=cvs tag=RELENG_5_4

Dannach kann es dann auch schon losgehen:

# cvsup /etc/source-supfile

Trick bei langsamer Leitung

Leider hat cvsup bei einer langsamen Leitung einen kleinen Nachteil, es dauert fast schon ewig bis alle Daten auf der Platte gelandet sind. Wenn man also die Möglichkeit hat an ein ISO der gewünschten Version zu kommen, bietet es sich an die Quellen von dieser zu installieren und dann nur noch die letzten Änderungen per cvsup zu holen.

# su
# mount /cdrom
# cd /cdrom/5.4-RELEASE/src/
# ./install.sh all

3. BUILD FROM SCRATCH

3.1. Bauen der Welt

Jetzt kann es ans kompilieren gehen, der folgende Vorgang erzeugt die Binarys für alle Userland Programme und dauert je nach System etwas länger. Auf meinem Pentium-M hat er glatt eine Stunde gerechnet.

# su
# cd /usr/src
# make buildworld

3.2. Bauen und Installieren des Kernels

Wesentlich zügiger geht da das kompilieren des Kernels selbst, mit etwa 15 Minuten ist man gut bedient. Zur Verwendung des normalen GENERIC Kernels gibt man ein:

# su
# make buildkernel
# make installkernel

Zur Verwendung einer individuellen Konfiguration muss man noch den namen der Kernelkonfiguration mitgeben:

# su
# make buildkernel KERNCONF=YOUR_KERNEL_HERE
# make installkernel KERNCONF=YOUR_KERNEL_HERE

3.3. Installieren der Welt

Zum installieren der Welt ist es nun notwendig jegliche Interferenzen durch laufende Ports und andere Benutzer auszuschalten und im Single User Modus zu starten. Nach dem Neustart ist bereits der neue Kernel gestartet und man sollte jetzt nocheinmal kurz die Platten durchprüfen und dann die Welt erneuern.

# /sbin/fsck -p
# /sbin/mount -u /
# /sbin/mount -a -t ufs
# /sbin/swapon -a

Bevor es ans richtige Installieren geht sind noch zwei kleine Vorbereitende Schritte notwendig:

# /etc/rc.d/preseedrandom
# /usr/sbin/mergemaster -p

Dann die frisch gebackenen Systemdateien auf die Platte bringen

# cd /usr/src
# make installworld

Und die Konfigurationsdateien abgleichen, hierbei ist äußerste Vorsicht angebracht man sollte schon genau wissen was man in den Startskripten und Konfigurationsdateien gemacht hat, bevor man diese leichtfertig durch neue überschreibt oder merged

# /usr/sbin/mergemaster

Jetzt sind wir eigentlich fertig und können die Maschine mit dem runderneuerten System wieder hochfahren

# /sbin/reboot

4. Sicher ist Sicher

Bevor man aber das neue System in Betrieb nimmt empfielt sich noch ein erneuter Check der Festplatten und das entfernen der eben kompilierten Binarys

# /sbin/fsck
# /sbin/mount -u /
# /sbin/mount -a -t ufs
# cd /usr/src
# make clean

Nun sind wir soweit und können das neue System bewundern.

# /sbin/reboot

Alles in allem hat das Update von 5.3 auf 5.4 bei mir unter Verwendung der ISO CD Sourcen und einer ISDN Leitung etwa zwei Stunden gedauert...

Meine Stimme gegen Nazis! Nazis raus aus dem Internet Stoppt die Vorratsdatenspeicherung! Jetzt klicken und handeln! rsp-blogs.de
Soweit nicht anders angegeben, stehen die Bilder/Texte unter der Creative Commons Attribution Non-Commercial Share Alike Lizenz. Logos gehoeren dem jeweiligen Eigentümer.