Meine kleine Homepage

Meine kleine Homepage

Hauptmenü
FreeBSD Webserver
FreeBSD
Solaris
Programmierung
3D Grafiken
Povray
Bilderserien

UNIX - FreeBSD - Upgrade von 5.3 auf 7.2

Wolfgang Hurst, Tuesday 08 September 2009 - 13:34:05

FreeBSD Upgrade 5.4 auf 7.2 in 6 Stunden per SSH


Diese Seite beschreibt in kurzen Worten das Upgrade einer 3 Jahre alten Maschine mit FreeBSD 5.4 auf ein aktuelles FreeBSD 7.2

Jedoch kann es bei einem solchen Update ungeheuer knallen, von daher sollte man Sicherstellen das die Maschine zur Zeit nicht wirklich benutzt wird

Wichtige Vorraussetzungen


Alle Schritte sind via SSH durchgeführt worden. Es ist kein Zugriff auf die Hardware vor Ort nötig

Bevor man anfängt sollte man den Benutzer mit dem man online geht und den root Benutzer auf dessen Loginshell überprüfen und ggf. zurück setzen. Alles was unter /usr/local liegt könnte nach dem Upgrade erst einmal nicht mehr laufen. Das wäre dann schlecht für Benutzer die die bash z.b. verwenden. Man muss jedoch nur die Personen ändern die das Update machen

Aus der /etc/make.conf sollten alle Kernel Einstellungen und Compilersettings auskommentiert werden. Das kann und wird Probleme Verursachen. Die Optimierungen können später wenn das 7'er drauf ist noch nach gezogen werden

Upgrade des aktuellen Systems


Als erstes Updated man den Source Tree der aktiv laufenden Version. Das ist nötig damit man auf den letzten Stand der aktuellen Version ist

cd /usr/src
make update
make buildkernel
make installkernel
make buildworld
make installworld
mergemaster -p
mergemaster
sync
reboot

Upgrade auf 6.x-STABLE


Man editiert die Datei /usr/share/examples/cvsup/stable-supfile und trägt dort die 6 ein und holt sich das System ganz frisch ... bitte nicht updaten, das geht schief ... sondern frisch holen

cd /usr
rm -rf /usr/src /usr/obj
cvsup -h host /usr/share/examples/cvsup/stable-supfile
danach muss man zuerst das config Programm für den Kernel erneuern

cd /usr/src/usr.sbin/config
make clean
make
make install
danach macht man das Update wie oben und rebootet wieder ...

cd /usr/src
make buildkernel
make installkernel
make buildworld
mergemaster -p
make installworld
rm -rf /etc/rc.d /etc/defaults /etc/periodic
mergemaster -i
sync
reboot

Upgrade auf 7.2-STABLE


So nun haben wir das 6.x drauf ... das gleiche macht man nun mit der 7'er ...

Man editiert wieder die Datei /usr/share/examples/cvsup/stable-supfile und trägt dort die 7 ein und holt sich wieder ein frisches System

cd /usr
rm -rf /usr/src /usr/obj
cvsup -h host /usr/share/examples/cvsup/stable-supfile
Nun nur noch einmal alles durch den Kompiler jagen

cd /usr/src
mergemaster -p
make buildworld
make installworld
make buildkernel
make installkernel
rm -rf /etc/rc.d /etc/defaults /etc/periodic
mergemaster -i
sync
reboot

Ports nachziehen


Wenn nun das System wieder hochkommt muss man sich an die Ports machen. Um das ganze zu beschleunigen sollte man alle Ports runterwerfen die keine speziellen System Konfigurationen verwenden. Dazu zählen zum Beispiel bash, wget, screen, lynx, mc und so weiter. Die kann man wenn man will als Binary Package drauf ziehen um Zeit zu sparen.

Das Portupgraden ist auf jeden Fall sehr fummelig, da teilweise die Packete umbenannt worden sind, oder einfach nicht mehr existieren. Jedes einzelne Packet muss entsprechend einzelnd begutachtet werden.

Ein portupgrade -f hilft da nicht unbedingt ...

Als ersters holt man sich die neusten Ports und ersetzt portupgrade ganz brutal

cd /usr
rm -rf /usr/ports
cvsup -h host /usr/share/examples/cvsup/ports-supfile
pkg_delete -f portupgrade\*
cd /usr/ports/ports-mgmt/portupgrade
make install
pkgdb -F
Danach macht man mit den Paketen weiter

Berühmte Letzten Worte


Habe heute zwei Maschinen auf diese Weise geupdated ... eine steht in München die andere in Düsseldorf ... ich selbst sitze in Frankfurt ... und alles hat geklappt ...

Vorher :

# uptime
1:53PM up 1214 days, 9:50, 1 user, load averages: 0.06, 0.42, 0.71
# uname -a
FreeBSD XXX 5.4-STABLE FreeBSD 5.4-STABLE #1: Wed May 25
01:26:44 CEST 2005 root@XXX:/usr/obj/usr/src/sys/SMP
i386
Zwischendurch :

# uname -a
FreeBSD XXX 5.5-STABLE FreeBSD 5.5-STABLE #2: Tue Sep 8
13:03:39 CEST 2009 root@XXX:/usr/obj/usr/src/sys/SMP
i386
# uname -a
FreeBSD XXX 6.4-STABLE FreeBSD 6.4-STABLE #0: Tue Sep 8
14:51:44 CEST 2009 root@XXX:/usr/obj/usr/src/sys/GENERIC
i386
Nachher :

# uname -a
FreeBSD XXX 7.2-STABLE FreeBSD 7.2-STABLE #0: Tue Sep 8 20:06:07 CEST 2009 root@XXX:/usr/obj/usr/src/sys/GENERIC i386

Submit comment

Username:
Comment: