Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153213661
D7277.id18643.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
14 KB
Referenced Files
None
Subscribers
None
D7277.id18643.diff
View Options
Index: cutting-edge/chapter.xml
===================================================================
--- cutting-edge/chapter.xml
+++ cutting-edge/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde$
- basiert auf: r43795
+ basiert auf: r43796
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="updating-upgrading">
<info><title>&os; aktualisieren</title>
@@ -1608,7 +1608,7 @@
Anweisungen in <xref linkend="synching"/>
synchronisiert.</para>
- <para>Die <quote>Welt</quote> enth舁t den &os;-Kernel, die
+ <para>Das Basissystem enth舁t den &os;-Kernel, die
zentralen Bin舐dateien, Bibliotheken und Entwicklerdateien
sowie einen integrierten Compiler. Die Reihenfolge, in der
diese Komponenten gebaut werden, ist wichtig.</para>
@@ -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.</para>
+ werden nicht gelöscht. Da dieser Prozess Probleme verursachen
+ kann, werden in <filename>/usr/src/UPDATING</filename>
+ gegebenenfalls Dateien aufgelistet, die manuell entfernt
+ werden müssen.</para>
- <para>Diese Bedenken haben zu der folgenden und empfohlenen
- Reihenfolge geführt.</para>
+ <para>Diese Bedenken haben zu einer empfohlenen
+ Reihenfolge bei der Aktualisierung geführt, die im folgenden
+ Prozess beschrieben wird.</para>
<procedure>
<title>Zusammenfassung des Aktualisierungsprozesses</title>
@@ -1654,178 +1655,148 @@
beschrieben.</para>
<step>
- <para><command>make buildworld</command></para>
+ <para>Wenn der Bauprozess bereits einmal auf diesem
+ System durchgeführt wurde, existiert vielleicht noch eine
+ Kopie davon in <filename>/usr/obj</filename>. Um den
+ neuen Bauprozess zu beschleunigen und Ärger aufgrund von
+ Abhängigkeiten zu vermeiden, kann dieses Verzeichnis
+ entfernt werden:</para>
- <para>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 <filename>/usr/obj</filename>.</para>
- </step>
+ <screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/*</userinput>
+&prompt.root; <userinput>rm -rf /usr/obj</userinput></screen>
+ </step>
- <step>
- <para><command>make buildkernel</command></para>
+ <step>
+ <para>Ü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
+ <filename>/usr/obj</filename> abgelegt.</para>
- <para>Dieser Ansatz nutzt den <emphasis>neuen</emphasis>
- Compiler, der in <filename>/usr/obj</filename> abgelegt
- ist, um vor falschen Compiler-Kernel-Kombinationen zu
- schützen.</para>
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make buildworld</userinput></screen>
</step>
<step>
- <para><command>make installkernel</command></para>
+ <para>Benutzen Sie den neuen Compiler aus
+ <filename>/usr/obj</filename>, um sich vor falschen
+ Compiler-Kernel-Kombinationen abzusichern.</para>
- <para>Platziert den neuen Kernel und Kernelmodule auf der Platte,
- was es erlaubt, mit dem frisch aktualisierten Kernel zu
- starten.</para>
+ <screen>&prompt.root; <userinput>make buildkernel</userinput></screen>
</step>
<step>
- <para>Starten Sie das System in den Single-User-Modus.</para>
+ <para>Installieren Sie den neuen Kernel und die Kernelmodule,
+ damit Sie den frisch aktualisierten Kernel starten
+ können.</para>
- <para>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.</para>
+ <screen>&prompt.root; <userinput>make installkernel</userinput></screen>
</step>
<step>
- <para><command>mergemaster -p</command></para>
+ <para>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.</para>
- <para>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 <buildtarget>installworld</buildtarget>-Schritt
- in der Lage ist, auf dem neu installierten System die Benutzer
- oder Systemgruppennamen ohne Probleme zu verwenden.</para>
- </step>
+ <screen>&prompt.root; <userinput>shutdown now</userinput></screen>
- <step>
- <para><command>make installworld</command></para>
+ <para>Führen Sie folgende Befehle im Single-User-Modus aus,
+ wenn das System mit einem
+ <acronym>UFS</acronym>-Dateisystem formatiert ist:</para>
- <para>Kopiert das Basissystem aus
- <filename>/usr/obj</filename>. Der neue Kernel und das
- neue Basissystem sind jetzt auf der Platte
- installiert.</para>
+ <screen>&prompt.root; <userinput>mount -u /</userinput>
+&prompt.root; <userinput>mount -a -t ufs</userinput>
+&prompt.root; <userinput>swapon -a</userinput></screen>
+
+ <para>Wenn das System mit <acronym>ZFS</acronym> formatiert
+ ist, führen Sie stattdessen folgende Befehle aus. In
+ diesem Beispiel ist der Name des Pools
+ <literal>zroot</literal>:</para>
+
+ <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
+&prompt.root; <userinput>zfs mount -a</userinput></screen>
</step>
<step>
- <para><command>mergemaster</command></para>
+ <para>Optional: Wenn eine andere Tastaturbelegung als
+ US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1;
+ angepasst werden:</para>
- <para>Aktualisiert die verbleibenden Konfigurationsdateien,
- da nun das neue Basissystem auf der Platte ist.</para>
- </step>
+ <screen>&prompt.root; <userinput>kbdmap</userinput></screen>
+ </step>
<step>
- <para><command>make delete-old</command></para>
+ <para>Führen Sie folgenden Befehl aus, wenn die
+ <acronym>CMOS</acronym>-Uhr auf die lokale Zeit
+ eingestellt ist (dies ist der Fall, wenn die Ausgabe von
+ &man.date.1; nicht die richtige Zeit anzeigt):</para>
- <para>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
- <filename>utmp.h></filename> noch präsent ist, während die
- neue Datei <filename>utmpx.h</filename> installiert
- wird.</para>
+ <screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
</step>
- <step>
- <para>Starten Sie das System neu.</para>
+ <step>
+ <para>Bei der Aktualisierung des Basissystems werden
+ bestimmte Verzeichnisse, wie <filename>/etc</filename>,
+ <filename>/var</filename> und <filename>/usr</filename>
+ 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
+ <buildtarget>installworld</buildtarget> 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
+ <buildtarget>installworld</buildtarget> in der Lage ist,
+ die neuen Konten, Gruppen und Skripten zu verwenden.
+ Weitere Informationen zu diesem Befehl finden Sie in
+ <xref linkend="mergemaster"/>:</para>
- <para>Ein kompletter Systemneustart ist notwendig, um den neuen
- Kernel und das neue Basissystem mit den neuen
- Konfigurationsdateien zu laden.</para>
- </step>
+ <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen>
+ </step>
- <step>
- <para><command>make delete-old-libs</command></para>
+ <step>
+ <para>Installieren Sie das neue Basissystem aus
+ <filename>/usr/obj</filename>:</para>
- <para>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.</para>
- </step>
- </procedure>
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make installworld</userinput></screen>
+ </step>
- <para>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 <command>make
- world</command>, gefolgt von der Erstellung
- und Installation des neuen Kernels funktioniert möglicherweise
- gut genug, um kleinere Aktualisierungen vorzunehmen.</para>
+ <step>
+ <para>Aktualisieren Sie die verbleibenden
+ Konfigurationsdateien:</para>
- <para>Wenn Sie allerdings zwischen Hauptversionen aktualisieren wollen
- und befolgen diese Schritte nicht, sollten Sie sich auf Probleme
- gefasst machen.</para>
+ <screen>&prompt.root; <userinput>mergemaster -iF</userinput></screen>
+ </step>
- <para>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.</para>
+ <step>
+ <para>Löschen Sie veraltete Dateien. Dieser Schritt
+ ist wichtig, da alte Dateien manchmal Probleme bereiten,
+ falls sie nicht entfernt werden:</para>
- <para>Als Zusammenfassung ist hier nochmal die aktuell vorgeschlagene
- Vorgehensweise für die Aktualisierung von &os; aus den Quellen
- aufgelistet:</para>
+ <screen>&prompt.root; <userinput>make delete-old</userinput></screen>
+ </step>
- <screen>&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make buildworld</userinput>
-&prompt.root; <userinput>make buildkernel</userinput>
-&prompt.root; <userinput>make installkernel</userinput>
-&prompt.root; <userinput>shutdown -r now</userinput></screen>
+ <step>
+ <para>Nun wird ein Neustart benötigt, um den neuen Kernel
+ und das neue Basissystem zu laden:</para>
- <note>
- <para>Es gibt einige, sehr seltene Situationen, in denen Sie
- <command>mergemaster -p</command> zusätzlich
- ausführen müssen, bevor Sie das System mit
- <buildtarget>buildworld</buildtarget> bauen. Diese Situationen
- werden in <filename>UPDATING</filename> beschrieben. Solche
- Situationen treten aber in der Regel nur dann auf, wenn das
- &os;-System um eine oder mehrere Hauptversionen aktualisiert
- wird.</para>
- </note>
+ <screen>&prompt.root; <userinput>reboot</userinput></screen>
+ </step>
- <para>Nachdem <buildtarget>installkernel</buildtarget> erfolgreich
- abgeschlossen wurde, starten Sie das System durch die Eingabe
- von <command>boot -s</command> am Loaderprompt im
- Single-User-Modus.</para>
+ <step>
+ <para>Stellen Sie sicher, dass alle Ports neu gebaut wurden,
+ bevor die alten Bibliotheken entfernt werden. Verwenden Sie
+ dazu die Anweisungen aus <xref linkend="ports-upgrading"/>.
+ Entfernen Sie anschließend alle veralteten Bibliotheken um
+ Konflikte mit den neuen Bibliotheken zu vermeiden.</para>
- <para>Wenn Sie UFS benutzen, geben Sie folgende Befehle
- ein:</para>
-
- <screen>&prompt.root; <userinput>mount -u /</userinput>
-&prompt.root; <userinput>mount -a -t ufs</userinput></screen>
-
- <para>Wenn Sie ZFS benutzen (angenommen der Name des zpools ist
- zroot), geben Sie folgendes ein:</para>
-
- <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
-&prompt.root; <userinput>zfs mount -a</userinput></screen>
-
- <para>Geben Sie anschließend folgende Kommandos ein:</para>
-
- <screen>&prompt.root; <userinput>adjkerntz -i</userinput>
-&prompt.root; <userinput>mergemaster -p</userinput>
-&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make installworld</userinput>
-&prompt.root; <userinput>mergemaster</userinput>
-&prompt.root; <userinput>make delete-old</userinput>
-&prompt.root; <userinput>reboot</userinput>
-&prompt.root; <userinput>make delete-old-libs</userinput></screen>
-
- <warning>
- <title>Lesen Sie bitte weiter</title>
-
- <para>Die folgenden Abschnitte beschreiben detailliert
- die einzelnen Schritte, insbesondere wenn eine angepasste
- Kernelkonfiguration verwendet wird.</para>
- </warning>
+ <screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
+ </step>
+ </procedure>
</sect2>
<sect2 xml:id="src-updating">
@@ -1836,6 +1807,10 @@
<primary><filename>make.conf</filename></primary>
</indexterm>
+ <para>Die folgenden Abschnitte beschreiben detailliert die
+ einzelnen Schritte, insbesondere wenn eine angepasste
+ Kernelkonfiguration verwendet wird.</para>
+
<para>Die verfügbaren &man.make.1;-Optionen werden in
&man.make.conf.5; und
<filename>/usr/share/examples/etc/make.conf</filename>
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Apr 20, 8:38 PM (14 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31863281
Default Alt Text
D7277.id18643.diff (14 KB)
Attached To
Mode
D7277: Update de/books/handbook/cutting-edge/chapter.xml to r43796
Attached
Detach File
Event Timeline
Log In to Comment