Index: head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde$ - basiert auf: r43795 + basiert auf: r43796 --> &os; aktualisieren @@ -1608,7 +1608,7 @@ Anweisungen in synchronisiert. - Die Welt enthält den &os;-Kernel, die + Das Basissystem enthält den &os;-Kernel, die zentralen Binärdateien, Bibliotheken und Entwicklerdateien sowie einen integrierten Compiler. Die Reihenfolge, in der diese Komponenten gebaut werden, ist wichtig. @@ -1637,13 +1637,14 @@ Schritte notwendig, um eine Aktualisierung der Konfiguration durchzuführen. Der Aktualisierungsprozess ersetzt zum Großteil Dateien oder fügt neue hinzu, bestehende Dateien - werden nicht gelöscht. In wenigen Ausnahmefällen kann dies - Probleme verursachen. Aus diesem Grund wird der - Aktualisierungsprozess manchmal bestimmte Dateien zum - manuellen Löschen vorschlagen. - - Diese Bedenken haben zu der folgenden und empfohlenen - Reihenfolge geführt. + werden nicht gelöscht. Da dieser Prozess Probleme verursachen + kann, werden in /usr/src/UPDATING + gegebenenfalls Dateien aufgelistet, die manuell entfernt + werden müssen. + + Diese Bedenken haben zu einer empfohlenen + Reihenfolge bei der Aktualisierung geführt, die im folgenden + Prozess beschrieben wird. Zusammenfassung des Aktualisierungsprozesses @@ -1654,178 +1655,148 @@ beschrieben. - make buildworld + Wenn der Bauprozess bereits einmal auf diesem + System durchgeführt wurde, existiert vielleicht noch eine + Kopie davon in /usr/obj. Um den + neuen Bauprozess zu beschleunigen und Ärger aufgrund von + Abhängigkeiten zu vermeiden, kann dieses Verzeichnis + entfernt werden: - Dieser Schritt übersetzt zuerst den neuen Compiler und - ein paar damit zusammenhängende Werkzeuge und verwendet dann - den neuen Compiler, um den Rest des Basissystems zu erstellen. - Das Ergebnis landet dann in /usr/obj. - + &prompt.root; chflags -R noschg /usr/obj/* +&prompt.root; rm -rf /usr/obj + - - make buildkernel + + Übersetzen Sie zuerst den neuen Compiler und + ein paar damit zusammenhängende Werkzeuge. Verwenden Sie + dann den neuen Compiler, um den Rest des Basissystems zu + erstellen. Das Ergebnis wird in + /usr/obj abgelegt. - Dieser Ansatz nutzt den neuen - Compiler, der in /usr/obj abgelegt - ist, um vor falschen Compiler-Kernel-Kombinationen zu - schützen. + &prompt.root; cd /usr/src +&prompt.root; make buildworld - make installkernel + Benutzen Sie den neuen Compiler aus + /usr/obj, um sich vor falschen + Compiler-Kernel-Kombinationen abzusichern. - Platziert den neuen Kernel und Kernelmodule auf der Platte, - was es erlaubt, mit dem frisch aktualisierten Kernel zu - starten. + &prompt.root; make buildkernel - Starten Sie das System in den Single-User-Modus. + Installieren Sie den neuen Kernel und die Kernelmodule, + damit Sie den frisch aktualisierten Kernel starten + können. - Der Single-User-Modus minimiert Probleme mit der - Aktualisierung von Programmen, die bereits gestartet sind. Ebenso - minimiert es Probleme, die mit der Verwendung des alten - Basissystems und des neuen Kernels zu tun haben - könnten. + &prompt.root; make installkernel - mergemaster -p + Starten Sie das System in den Single-User-Modus, damit + Probleme mit der Aktualisierung von Programmen, die bereits + gestartet sind, minimiert werden. Ebenso minimiert dieser + Modus Probleme, die mit der Verwendung des alten + Basissystems und des neuen Kernels zu tun haben. + + &prompt.root; shutdown now + + Führen Sie folgende Befehle im Single-User-Modus aus, + wenn das System mit einem + UFS-Dateisystem formatiert ist: - Dieser Schritt aktualisiert ein paar initiale - Konfigurationsdateien als Vorbereitung für das neue - Basissystem. Beispielsweise fügt es neue Benutzergruppen - zum System oder neue Benutzernamen in die Passwortdatenbank hinzu. - Dies wird oftmals benötigt, wenn neue Gruppen oder bestimmte - Systembenutzerkonten seit der letzten Aktualisierung hinzu gekommen - sind, so dass der installworld-Schritt - in der Lage ist, auf dem neu installierten System die Benutzer - oder Systemgruppennamen ohne Probleme zu verwenden. - + &prompt.root; mount -u / +&prompt.root; mount -a -t ufs +&prompt.root; swapon -a - - make installworld + Wenn das System mit ZFS formatiert + ist, führen Sie stattdessen folgende Befehle aus. In + diesem Beispiel ist der Name des Pools + zroot: - Kopiert das Basissystem aus - /usr/obj. Der neue Kernel und das - neue Basissystem sind jetzt auf der Platte - installiert. + &prompt.root; zfs set readonly=off zroot +&prompt.root; zfs mount -a - mergemaster + Optional: Wenn eine andere Tastaturbelegung als + US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1; + angepasst werden: - Aktualisiert die verbleibenden Konfigurationsdateien, - da nun das neue Basissystem auf der Platte ist. - + &prompt.root; kbdmap + - make delete-old + Führen Sie folgenden Befehl aus, wenn die + CMOS-Uhr auf die lokale Zeit + eingestellt ist (dies ist der Fall, wenn die Ausgabe von + &man.date.1; nicht die richtige Zeit anzeigt): - Dieses Target entfernt veraltete Dateien. Dies - ist wichtig, da alte Dateien manchmal Probleme bereiten, - falls sie nicht entfernt werden. Zum Beispiel gibt es - Probleme mit einigen Ports, wenn die Datei - utmp.h> noch präsent ist, während die - neue Datei utmpx.h installiert - wird. + &prompt.root; adjkerntz -i - - Starten Sie das System neu. - - Ein kompletter Systemneustart ist notwendig, um den neuen - Kernel und das neue Basissystem mit den neuen - Konfigurationsdateien zu laden. - - - - make delete-old-libs - - Entfernt alle veralteten Bibliotheken um Konflikte mit - den neuen Bibliotheken zu vermeiden. Stellen Sie sicher, - dass alle Port neu gebaut wurden, bevor die alten - Bibliotheken entfernt werden. - - - - Beachten Sie, dass wenn Sie von einem Release des gleichen - &os;-Zweigs auf ein aktuelleres Release des gleichen Zweigs, z.B. - von 9.0 auf 9.1, aktualisieren, dann ist diese Vorgehensweise nicht - unbedingt notwendig, da Sie nur sehr unwahrscheinlich in - ungünstige Kombinationen zwischen Compiler, Kernel, Basissystem - und den Konfigurationsdateien geraten werden. Die ältere - Vorgehensweise von make - world, gefolgt von der Erstellung - und Installation des neuen Kernels funktioniert möglicherweise - gut genug, um kleinere Aktualisierungen vorzunehmen. - - Wenn Sie allerdings zwischen Hauptversionen aktualisieren wollen - und befolgen diese Schritte nicht, sollten Sie sich auf Probleme - gefasst machen. - - Diese Prozedur hat sich mit der Zeit weiterentwickelt, da die - Entwickler es für unmöglich erachtet haben, bestimmte - Arten von Kombinationsproblemen vollständig auszuschliessen. - Hoffentlich wird die aktuelle Aktualisierungsprozedur für lange - Zeit stabil bleiben. - - Als Zusammenfassung ist hier nochmal die aktuell vorgeschlagene - Vorgehensweise für die Aktualisierung von &os; aus den Quellen - aufgelistet: + + Bei der Aktualisierung des Basissystems werden + bestimmte Verzeichnisse, wie /etc, + /var und /usr + ausgelassen. Im nächsten Schritt werden ein paar initiale + Konfigurationsdateien zur Vorbereitung für das neue + Basissystem aktualisiert. Der folgende Befehl + aktualisiert lediglich Dateien, die für das Gelingen von + installworld unerlässlich sind. + Beispielsweise können neue Gruppen, Systembenutzerkonten, + oder neue Startskripten erstellt werden, die seit der + letzten Aktualisierung hinzugefügt wurden. Dieser Schritt + ist notwendig, damit + installworld in der Lage ist, + die neuen Konten, Gruppen und Skripten zu verwenden. + Weitere Informationen zu diesem Befehl finden Sie in + : - &prompt.root; cd /usr/src -&prompt.root; make buildworld -&prompt.root; make buildkernel -&prompt.root; make installkernel -&prompt.root; shutdown -r now + &prompt.root; mergemaster -p + - - Es gibt einige, sehr seltene Situationen, in denen Sie - mergemaster -p zusätzlich - ausführen müssen, bevor Sie das System mit - buildworld bauen. Diese Situationen - werden in UPDATING beschrieben. Solche - Situationen treten aber in der Regel nur dann auf, wenn das - &os;-System um eine oder mehrere Hauptversionen aktualisiert - wird. - + + Installieren Sie das neue Basissystem aus + /usr/obj: - Nachdem installkernel erfolgreich - abgeschlossen wurde, starten Sie das System durch die Eingabe - von boot -s am Loaderprompt im - Single-User-Modus. + &prompt.root; cd /usr/src +&prompt.root; make installworld + - Wenn Sie UFS benutzen, geben Sie folgende Befehle - ein: + + Aktualisieren Sie die verbleibenden + Konfigurationsdateien: - &prompt.root; mount -u / -&prompt.root; mount -a -t ufs + &prompt.root; mergemaster -iF + - Wenn Sie ZFS benutzen (angenommen der Name des zpools ist - zroot), geben Sie folgendes ein: + + Löschen Sie veraltete Dateien. Dieser Schritt + ist wichtig, da alte Dateien manchmal Probleme bereiten, + falls sie nicht entfernt werden: - &prompt.root; zfs set readonly=off zroot -&prompt.root; zfs mount -a + &prompt.root; make delete-old + - Geben Sie anschließend folgende Kommandos ein: + + Nun wird ein Neustart benötigt, um den neuen Kernel + und das neue Basissystem zu laden: - &prompt.root; adjkerntz -i -&prompt.root; mergemaster -p -&prompt.root; cd /usr/src -&prompt.root; make installworld -&prompt.root; mergemaster -&prompt.root; make delete-old -&prompt.root; reboot -&prompt.root; make delete-old-libs + &prompt.root; reboot + - - Lesen Sie bitte weiter + + Stellen Sie sicher, dass alle Ports neu gebaut wurden, + bevor die alten Bibliotheken entfernt werden. Verwenden Sie + dazu die Anweisungen aus . + Entfernen Sie anschließend alle veralteten Bibliotheken um + Konflikte mit den neuen Bibliotheken zu vermeiden. - Die folgenden Abschnitte beschreiben detailliert - die einzelnen Schritte, insbesondere wenn eine angepasste - Kernelkonfiguration verwendet wird. - + &prompt.root; make delete-old-libs + + @@ -1836,6 +1807,10 @@ make.conf + Die folgenden Abschnitte beschreiben detailliert die + einzelnen Schritte, insbesondere wenn eine angepasste + Kernelkonfiguration verwendet wird. + Die verfügbaren &man.make.1;-Optionen werden in &man.make.conf.5; und /usr/share/examples/etc/make.conf