[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [FAQ-Index]
Es wird dringend dazu geraten, diesen Prozess zu lesen und voll und ganz zu verstehen, bevor du ihn durchführst. Wenn du das hier beschriebene auf einer wichtigen oder physikalisch entfernten Maschine machst, solltest du diesen Prozess erst auf einer identischen lokalen Maschinen versuchen, um sicherzustellen, dass alles funktioniert, bevor du dich an die wichtige oder entfernte Maschine wagst.
Upgrading ist ein bequemer Weg, um dein OpenBSD-System auf die aktuellste Version zu bringen. Jedoch sind die Ergebnisse nicht beabsichtigt, genau so zu sein wie eine Installation, bei der alles gelöscht und wieder aufgespielt wird. Insbesondere alte Bibliotheksdateien werden beim Upgradeprozess nicht deinstalliert, da sie von alten Applikationen, die vielleicht später noch aktualisiert werden, noch benötigt werden könnten. Wenn du WIRKLICH all diese alten Dateien loswerden möchtest, wärst du mit einer vollständigen Neuinstallation vermutlich besser dran.
Um schnell alle Packages von deinem System zu deinstallieren:
pkg_delete -q /var/db/pkg/*
Installiere die neuen Versionen dieser Applikationen nach dem Upgrade.
Bedenke, dass mit OpenBSD 3.8 die pkg-Werkzeuge nun direkte
Aktualisierungen unter Verwendung von pkg_add -r
unterstützen. Dies wurde mit den meisten Packages getestet, insbesondere
mit den CD-Packages, die für 3.6 und 3.7 mitgeliefert wurden.
Einige wichtige Punkte sind:
pkg_add -r
macht keine systemweiten Updates -
stattdessen muss das zu aktualisierende Package angegeben werden.
Eine neue Option namens pkg_add -u
kann verwendet werden,
um die genaue Liste der Packages zu ermitteln, die an pkg_add
-r
übergeben werden müssen.
pkg_add -r -F update -F updatedepends -q
Liste_der_neuen_Pkgs
sollte in den meisten Fällen genügen.
Der tx(4)-Treiber ist nun epic(4). Wenn sich in deinem System eine tx(4)-basierte Karte befindet (zum Beispiel vom Typ SMC Etherpower II 10/100), wird sie nun unter OpenBSD 3.8 von einem anderen Treiber als unter 3.7 unterstützt. VOR dem Upgrade solltest du deine /etc/hostname.tx*-Datei(en) mit dem passenden /etc/hostname.epic*-Dateinamen kopieren, da dein Netzwerk sonst nach dem Upgradeprozess nicht funktionieren wird.
Manchmal muss man ein Upgrade einer Maschine durchführen, wenn man nicht auf einfache Weise den normalen Upgradeprozess durchführen kann. Man kann dies normalerweise durchführen, indem man vorsichtig einen Prozess befolgt, der einem source-basierten Upgrade sehr ähnlich ist:
cd /Pfad
rm /obsd ; ln /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd
cp bsd.rd bsd.mp /
Achte auf die zusätzlichen Schritte, um den primären Kernel zu
kopieren: Diese werden durchgeführt, um zu gewährleisten, dass immer
eine funktionsfähige Kopie des Kernels auf der Platte ist, sodass das
System booten kann, falls ein Stromausfall oder ein Systemabsturz zu
sehr ungüstiger Zeit eintreten.
cd /
tar xzpf /path/base38.tgz "*etc/firmware/*"
cd /
tar xzpf /Pfad/base38.tgz
tar xzpf /Pfad/comp38.tgz
tar xzpf /Pfad/game38.tgz
tar xzpf /Pfad/man38.tgz
tar xzpf /Pfad/misc38.tgz
tar xzpf /Pfad/xbase38.tgz
tar xzpf /Pfad/xfont38.tgz
tar xzpf /Pfad/xserv38.tgz
tar xzpf /Pfad/xshare38.tgz
Hinweis: Nicht alle Dateisets müssen für alle Einsatzgebiete
installiert werden, wenn du jedoch ein Dateiset ursprünglich installiert
hast, solltest du es jetzt doch mit einem neuen Dateiset upgraden.
Hinweis: Die Dateien in /etc werden weiter unten getrennt behandelt, sodass etc38.tgz und xetc38.tgz an dieser Stelle NICHT entpackt werden.
cd /dev
./MAKEDEV all
Nov 1 12:47:05 puffy sm-mta[16733]: filesys_update failed: No such file or dire
ctory, fs=., avail=-1, blocksize=380204
Diese Nachrichten können unbesorgt ignoriert werden, du könntest aber
auch sendmail(8) während dem Upgradeprozess beenden.
useradd -u86 -g=uid -c"HostAP Daemon" -d/var/empty -s/sbin/nologin _hostapd
Dieser Schritt wird sowohl den neuen Benutzer als auch die
zugewiesene Gruppen erstellen. Deine Umgebung erlaubt eventuell
Copy&Paste dieser Kommandos.
cd /tmp
tar xzpf /Pfad/etc38.tgz
Dateien, die ordnungsgemäß von etc38.tgz ,so wie sie sind'
kopiert werden können:
hostapd.conf
netstart
pf.os
rc
services
mtree/*
Bedenke, dass es möglich IST, all diese Dateien lokal zu modifizieren.
Solltest du sie also modifiziert haben, musst du sie manuell anpassen.
Hier sind Copy&Paste-Zeilen, um diese Dateien zu kopieren,
angenommen, dass du etc39.tgz in dem zuvor empfohlenen
Verzeichnis abgelegt hast:
cd /tmp/etc
cp hostapd.conf netstart pf.os rc services /etc
cp mtree/* /etc/mtree/
Dateien, die per Hand angepasst werden müssen, sodass alle lokalen Änderungen beibehalten werden (falls sie vom Original abweichen) - ansonsten kannst du sie auch einfach kopieren:
ftpusers
inetd.conf
login.conf
rc.conf
sysctl.conf
syslog.conf
mail/aliases
Die Änderungen dieser Dateien befinden sich in
dieser Patchdatei. Du kannst
versuchen, sie zu verwenden, indem du das Folgende als root ausführst:
cd /
patch -C -p0 <upgrade38.patch
Hiermit wird geprüft, wie gut der Patch sich in DEIN System einbinden
lässt. Um ihn tatsächlich einzubinden, lass die Option -C weg.
Beachte, dass es sehr wahrscheinlich ist, dass wenn du diese Dateien
modifiziert, nicht immer auf dem aktuellsten Stand gehalten hast oder
von einem Snapshot von 3.7 aus upgradest, dieser Patch nicht richtig
angewandt werden kann.
In diesen Fällen musst du die Änderungen manuell vornehmen.
Teste diesen Prozess bitte, bevor du dich darauf verlässt, dass alles
funktioniert, wenn du ihn an einem schwer zu erreichenden System
anwendest.
Beachte, dass die Datei /etc/mail/aliases geändert wurde, so dass du newaliases(8) ausführen musst, damit diese Änderungen wirksam werden.
Die folgenden Dateien haben Änderungen erfahren, die du dir genauer ansehen solltest, da sie sehr wahrscheinlich nicht direkt kopiert oder eingepflegt werden können (d. h. wenn du pf.conf verwendest, dann solltest du dir die empfohlene Änderung der Sicherheitsrichtlinie angucken und für dich selbst entscheiden, ob sie für deine Anwendungen eingesetzt werden kann):
pf.conf
spamd.conf
/root/.profile
Verwende schlussendlich
mtree(8),
um alle neuen Verzeichnisse zu erstellen:
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [FAQ-Index]