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...




