[3.4 -> 3.5] |
[3.5 -> 3.6] |
[3.6 -> 3.7] |
[3.7 -> 3.8] |
[3.8 -> 3.9] |
[3.9 -> 4.0] |
[4.0 -> 4.1] |
[4.1 -> 4.2] |
[4.3 -> 4.4] |
[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 völligen Neuinstallation vermutlich besser dran.
Inhaltsverzeichnis:
Dies kann aber ein kleines Problem hervorrufen, wenn du xbase42.tgz installiert hast, um libexpat auf deinem 4.2-System nutzen zu können. Da du xbase42.tgz installiert hast, solltest du es entweder entfernen oder upgraden. Wenn libexpat der einzige Grund war, warum du xbase42.tgz installiert hast, ist es vermutlich die beste Lösung, die alten Dateien zu löschen. Details über die Entfernung von xbase42.tgz werden bereitgestellt.
Beachte ebenfalls, dass die Übersetzung von Portierungen noch immer nur mit einer vollständigen Installation unterstützt wird; darunter fallen auch alle X-Dateisets.
Dies ist in der upgrade43.patch-Datei enthalten; es kann aber passieren, dass die Änderung nicht auf stark angepasste httpd.conf-Dateien vorgenommen werden kann. Du solltest sicherstellen, dass diese Zeilen in dein System übernommen wurden, da ansonsten zukünftige Paketinstallationen nach der Installation nicht richtig funktionieren könnten.# # Include extra module configuration files # Include /var/www/conf/modules/*.conf
# mv /usr/src/xenocara /usr
Den Installationskernel kannst du recht einfach booten, indem du die 4.3-Version von bsd.rd im Wurzelverzeichnis deines Bootlaufwerks ablegst und dem Bootloader mitteilst, dass er mit der neuen bsd.rd-Datei booten soll. Auf amd64 und i386 machst du das, indem du »boot bsd.rd« am ersten boot>-Prompt angibst.
Manchmal muss man ein Upgrade einer Maschine durchführen, wenn man nicht auf einfache Weise den normalen Upgradeprozess durchführen kann. Der häufigste Grund hierfür ist, dass sich die Maschine an einem anderen Ort befindet und man daher keinen Zugriff auf die Systemkonsole hat. Man kann dies normalerweise durchführen, indem man vorsichtig diesen Prozess befolgt:
export RELEASEPATH=/usr/rel # wo du die Dateien ablegst
cd ${RELEASEPATH}
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ünstiger Zeit eintreten.
cd /
tar -C / -xzphf ${RELEASEPATH}/base43.tgz ./etc/firmware
tar -C / -xzphf ${RELEASEPATH}/base43.tgz ./sbin/ifconfig
export RELEASEPATH=/usr/rel
cd ${RELEASEPATH}
tar -C / -xzphf base43.tgz
tar -C / -xzphf comp43.tgz
tar -C / -xzphf game43.tgz
tar -C / -xzphf man43.tgz
tar -C / -xzphf misc43.tgz
tar -C / -xzphf xbase43.tgz
tar -C / -xzphf xfont43.tgz
tar -C / -xzphf xserv43.tgz
tar -C / -xzphf xshare43.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 etc43.tgz und xetc43.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 an dieser Stelle unbesorgt ignoriert werden,
du könntest aber auch sendmail(8) während dem Upgradeprozess beenden.
Zu diesem Zeitpunkt arbeitet sendmail noch nicht richtig und muss
(als Teil des Reboots) neugestartet werden, bevor man erwarten kann,
dass er E-Mails richtig verarbeitet.
Du musst ebenfalls vipw(8) verwenden, um die Passwortdateien sowie mit deinem bevorzugtem Editor die Datei /etc/group zu ändern: Ändere in beiden _hoststated in _relayd und die Beschreibung in vipw(8) von »HostState Daemon« in »Relay Daemon«. Belasse den Rest der Zeile so wie er ist.useradd -u90 -g=uid -c"OSPF6 Daemon" -d/var/empty -s/sbin/nologin _ospf6d useradd -u91 -g=uid -c"SNMP Daemon" -d/var/empty -s/sbin/nologin _snmpd
Du solltest die etc43.tgz-Dateien in ein temporäres Verzeichnis entpacken:
tar -C /tmp -xzphf ${RELEASEPATH}/etc43.tgz
Dateien, die ordnungsgemäß von etc43.tgz »so wie sie sind«
kopiert werden können:
Bedenke, dass es möglich IST, all diese Dateien lokal zu modifizieren. Solltest du sie also modifiziert haben, musst du sie manuell anpassen. Achte besonders auf mail/*, wenn du eine angepasste Sendmail(8)-Konfiguration verwendest. Hier sind Copy&Paste-Zeilen, um diese Dateien zu kopieren, angenommen, dass du etc43.tgz in dem zuvor empfohlenen Verzeichnis abgelegt hast:etc/mail/README etc/moduli etc/mtree/4.4BSD.dist etc/mtree/BSD.local.dist etc/mtree/special etc/netstart etc/ospf6d.conf etc/rc etc/rc.conf etc/relayd.conf etc/security etc/snmpd.conf var/named/etc/root.hint
cd /tmp/etc cp moduli netstart ospf6d.conf rc rc.conf relayd.conf security snmpd.conf /etc cp mtree/* /etc/mtree/ cp mail/README /etc/mail cp ../var/named/etc/root.hint /var/named/etc
Diese Dateien werden sehr wahrscheinlich lokale Änderungen haben, sollten aber dennoch für 4.3 aktualisiert werden. Wenn du diese Dateien nicht geändert hast, kopiere einfach die neue Version, ansonsten musst du die Änderungen in deine Dateien übernehmen:
Die Änderungen dieser Dateien befinden sich in dieser Korrekturroutine. Du kannst versuchen, sie zu verwenden, indem du das Folgende als root ausführst:etc/changelist etc/chio.conf etc/ftpusers etc/mail/aliases etc/ssh/sshd_config etc/sudoers etc/sysctl.conf var/named/etc/named-dual.conf var/named/etc/named-simple.conf var/named/etc/named.conf var/www/conf/httpd.conf var/www/conf/mime.types var/www/htdocs/manual/mod/core.html var/www/htdocs/manual/server-wide.html
Hiermit wird geprüft, wie gut die Korrektur 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 Schnappschuss von 4.2 aus upgradest, diese Korrektur 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.cd / patch -C -p0 < upgrade43.patch
/etc/ttys sind nun zwar einheitlicher zwischen den Plattformen, macht aber eine Aktualisierung dieser Datei etwas kniffliger. Es wird empfohlen, dass du diese neue Datei einfach übernimmst und manuell alle Änderungen in die neue integrierst:
mv /etc/ttys /etc/ttys.orig cp /tmp/etc/ttys /etc
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):
/etc/pf.conf
Es gibt noch ein paar weitere Dateien, die du löschen kannst, da sie nicht länger in 4.3 verwendet werden:
Verwende schlussendlich newaliases(8), um die Alias-Datenbank zu aktualisieren, mtree(8), um alle neuen Verzeichnisse zu erstellen und ändere den Besitzer und Zugriffsrechte für /etc/chio.conf:rm /etc/hoststated.conf /var/named/standard/root.hint
newaliases mtree -qdef /etc/mtree/4.4BSD.dist -p / -u chown root:operator /etc/chio.conf chmod 644 /etc/chio.conf
Wenn du den Anweisungen gefolgt bist, wie man einen Upgradeprozess ohne Installationskernel durchführt, hast du diesen Schritt bereits absolviert. Wenn du jedoch den Installationskernel und unter 4.2 einen angepassten Kernel verwendet hast, wirst du das gleiche vermutlich auch unter 4.3 machen wollen. Dabei kann es sich um so einfache Dinge wie eine Änderung eines bestimmtes Devices mittels config(8) handeln, doch könnte es genauso gut bedeuten, dass du den Kernel neuerzeugen musst, da sich eine von dir benötigte Option nicht im GENERIC-Kernel befindet. Lies bitte FAQ 5 - Das System aus dem Quelltext erzeugen, bevor du in Erwägung ziehst, deinen Kernel neu zu erzeugen.
Mit den Paketwerkzeugen kann man direkt mittels pkg_add -u aktualisieren. Um zum Beispiel alle deine Pakete zu aktualisieren, stelle sicher, dass PKG_PATH auf das Verzeichnis deiner CD oder eines FTP-Spiegelservers zeigt, in dem sich die 4.3-Pakete befinden. Verwende dann Folgendes:
Dabei gibt -u den Updatemodus an und -i den interaktiven Modus, sodass pkg_add dich um Rat bittet, sollten Probleme auftreten. Lies die pkg_add(1)-Handbuchseite und das Kapitel Verwaltung der Pakete der FAQ für weitere Informationen.# pkg_add -ui -F update -F updatedepends
Wenn du es entfernen möchtest, kannst du folgende Befehle verwenden:
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm -r /usr/X11R6 /etc/X11 /etc/fonts
Wenn du xbase43.tgz installieren möchtest, musst du die alten libexpat-Dateien entfernen:
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm /usr/X11R6/lib/libexpat* # rm /usr/X11R6/include/expat*
[3.4 -> 3.5] |
[3.5 -> 3.6] |
[3.6 -> 3.7] |
[3.7 -> 3.8] |
[3.8 -> 3.9] |
[3.9 -> 4.0] |
[4.0 -> 4.1] |
[4.1 -> 4.2] |
[4.3 -> 4.4] |
[FAQ-Index]