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: r40809 + basiert auf: r40998 --> &os; aktualisieren @@ -27,7 +27,6 @@ - Übersicht @@ -39,11 +38,10 @@ Release-Versionen werden oft mit Sicherheitsaktualisierungen und anderen kritischen Fehlerbereinigungen versorgt. Unabhängig von der eingesetzten Version bringt &os; alle nötigen Werkzeuge mit, - um ihr System aktuell zu halten und es innerhalb verschiedener - Versionen zu aktualisieren. Dieses Kapitel hilft Ihnen bei der - Entscheidung, ob Sie mit dem Entwicklungssystem Schritt halten oder - ein Release verwenden wollen. Die zugrundeliegenden Werkzeuge um - Ihr System aktuell zu halten werden ebenfalls vorgestellt. + um das System aktuell zu halten und es innerhalb verschiedener + Versionen zu aktualisieren. Dieses Kapitel beschreibt, wie man + einem Entwicklungssystem folgen kann, sowie die + grundlegenden Werkzeuge um &os; zu aktualisieren. Nachdem Sie dieses Kapitel gelesen haben, werden Sie @@ -54,11 +52,10 @@ - wissen, wie Sie Ihr System mit - freebsd-update, - Subversion, - CTM - aktualisieren. + wissen, wie das System mit + freebsd-update, + Subversion oder + CTM aktualisiert wird. @@ -67,11 +64,11 @@ - wissen, wie Sie ihre Dokumentation mit + wissen, wie die installierte Dokumentation mit Subversion oder Dokumentations-Ports - aktuell halten können. + aktualisiert wird. @@ -80,8 +77,8 @@ - Wissen, wie Sie das komplette Basissystem mit make - buildworld neu bauen und installieren. + wissen, wie das komplette Basissystem neu gebaut und + installiert wird. @@ -89,27 +86,28 @@ - Ihr Netzwerk richtig konfiguriert haben - () und + das Netzwerk richtig konfiguriert haben + (). - wissen, wie Sie Software Dritter installieren + wissen, wie Software Dritter installiert wird (). - Im gesamten Kapitel wird der Befehl svn - verwendet, um die &os; Quellen zu beziehen und zu - aktualisieren. Um es zu verwenden, müssen Sie den Port oder - das Paket devel/subversion - installieren. + In diesem Kapitel wird svn verwendet, + um die &os; Quellen zu beziehen und zu aktualisieren. Um es + zu verwenden, muss zuerst der Port oder das Paket + devel/subversion installiert werden. - &os;-Update + + &os;-Update + TomRhodesGeschrieben von @@ -122,7 +120,6 @@ BenedictReuschlingÜbersetzt von - Updating and Upgrading @@ -153,8 +150,9 @@ werden. Vor der Aktualisierung auf eine neue Release-Version sollten die aktuellen Ankündigungen zu dem Release gelesen werden, da diese wichtige - Informationen zu der gewünschten Version enthalten. Diese - Ankündigungen finden Sie unter dem folgenden Link: http://www.FreeBSD.org/releases/. + Informationen zu der gewünschten Version enthalten. Release + Ankündigungen finden Sie unter http://www.FreeBSD.org/releases/. Wenn eine crontab existiert, welche die @@ -168,7 +166,7 @@ Standard-Konfigurationsdatei unter /etc/freebsd-update.conf vornehmen, um bessere Kontrolle über den - gesamten Prozess zu besitzen. Die Optionen sind sehr gut dokumentiert, + gesamten Prozess zu besitzen. Die Optionen sind gut dokumentiert, jedoch benötigen die folgenden ein paar zusätzliche Erklärungen: @@ -176,11 +174,11 @@ Components src world kernel Dieser Parameter kontrolliert, welche Teile von &os; auf dem - aktuellen Stand gehalten werden sollen. Die Voreinstellung ist es, den - Quellcode zu aktualisieren, das gesamte Basissystem sowie den Kernel. - Die Komponenten sind die gleichen wie während der Installation, - also würde beispielsweise das hinzufügen von - world/games an dieser Stelle es erlauben, + aktuellen Stand gehalten werden sollen. In der Voreinstellung + wird der Quellcode, das gesamte Basissystem sowie der Kernel + aktualisiert. Die Komponenten sind die gleichen wie während + der Installation. Das hinzufügen von + world/games erlaubt es, Aktualisierungen für Spiele anzuwenden. Die Verwendung von src/bin erlaubt es, den Quellcode in src/bin aktuell zu @@ -207,8 +205,8 @@ # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile - Aktualisieren Sie Konfigurationsdateien in den angegebenen - Verzeichnissen nur, wenn diese nicht geändert wurden. Jegliche + Aktualisiert nur unmodifizierte Konfigurationsdateien in + den angegebenen Verzeichnissen. Jede Änderung, die der Benutzer daran vorgenommen hat, wird die automatische Aktualisierung dieser Dateien ungültig machen. Es gibt eine weitere Option KeepModifiedMetadata, @@ -222,22 +220,22 @@ Eine Liste von Verzeichnissen mit Konfigurationsdateien, in denen freebsd-update Zusammenführungen versuchen soll. Dieser Verschmelzungsprozess von Dateien ist eine Serie von - &man.diff.1;-Korrekturen, ähnlich wie &man.mergemaster.8; mit - weniger Optionen. Die Änderungen werden entweder akzeptiert, - öffnen einen Editor oder freebsd-update bricht - ab. Wenn Sie im Zweifel sind, sichern Sie das /etc Verzeichnis und akzeptieren einfach - die Änderungen. Lesen Sie , um - Informationen über das mergemaster-Kommando - zu erhalten. + &man.diff.1;-Korrekturen, ähnlich wie &man.mergemaster.8;, aber + mit weniger Optionen. Die Änderungen werden entweder akzeptiert, + oder öffnen einen Editor, oder freebsd-update bricht + ab. Im Zweifelsfall sichern Sie /etc und + akzeptieren einfach die Änderungen. Lesen Sie , um Informationen über + mergemaster zu erhalten. # Directory in which to store downloaded updates and temporary # files used by &os; Update. # WorkDir /var/db/freebsd-update - In diesem Verzeichnis werden alle Korrekturen und temporären - Dateien abgelegt. Für Fälle in denen der Anwender eine - Versionsaktualisierung vornimmt, sollte diesem Verzeichnis mindestens - ein Gigabyte Festplattenspeicher zur Verfügung stehen. + In diesem Verzeichnis werden alle Korrekturen und + temporären Dateien abgelegt. Im Falle einer + Versionsaktualisierung sollte diesem Verzeichnis mindestens + ein Gigabyte Festplattenspeicher zur Verfügung stehen. # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components @@ -245,7 +243,7 @@ # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no - Wenn dies auf yes gesetzt ist, wird + Wenn diese Option auf yes gesetzt ist, wird freebsd-update annehmen, dass die Components-Liste vollständig ist und nicht versuchen, Änderungen ausserhalb dieser Liste zu tätigen. @@ -257,35 +255,36 @@ Sicherheitsaktualisierungen - Sicherheitsaktualisierungen sind auf einer entfernten Maschine - abgelegt und können durch das folgende Kommando heruntergeladen - und installiert werden: + Sicherheitsaktualisierungen für &os; können wie folgt + heruntergeladen und installiert werden: &prompt.root; freebsd-update fetch &prompt.root; freebsd-update install - Wenn irgendeine Änderung auf den Kernel angewendet wurde - benötigt das System einen Neustart. Wenn alles gut verlaufen ist, - sollte das System aktualisiert sein und - freebsd-update kann als nächtlicher - &man.cron.8;-Job ablaufen. Ein Eintrag in der Datei - /etc/crontab ist für diese Aufgabe - ausreichend: + Wenn während Aktualisierung Korrekturen am Kernel + angewendet werden, muss das System neu gestartet werden, damit + der korrigierte Kernel gebootet wird. Andernfalls sollte das + System aktualisiert sein und freebsd-update + kann als nächtlicher &man.cron.8;-Job laufen, indem folgender + Eintrag in /etc/crontab hinzugefügt + wird: @daily root freebsd-update cron - Dieser Eintrag besagt, dass einmal am Tag - freebsd-update ausgeführt wird. Auf diese - Weise kann freebsd-update nur durch die Verwendung - des -Arguments prüfen, ob Aktualisierungen - vorliegen. Wenn Korrekturen existieren, werden diese automatisch auf - die lokale Festplatte heruntergeladen, aber nicht eingespielt. Der - root-Benutzer bekommt eine Nachricht, damit dieser - die Korrekturen manuell installiert. - - Sollte irgendetwas schief gelaufen sein, kann - freebsd-update den letzten Satz von Änderungen - mit dem folgenden Befehl zurückrollen: + Dieser Eintrag besagt, dass + freebsd-update einmal am Tag ausgeführt + wird. Wenn es über ausgeführt wird, + prüft freebsd-update lediglich, ob + Aktualisierungen vorliegen. Wenn Korrekturen existieren, + werden diese automatisch auf die lokale Festplatte + heruntergeladen, aber nicht eingespielt. Der root-Benutzer bekommt eine + Nachricht, damit die Korrekturen überprüft und manuell + installiert werden können. + + Wenn etwas schief geht, kann + freebsd-update den letzten Satz von + Änderungen mit folgendem Befehl rückgängig machen: &prompt.root; freebsd-update rollback @@ -296,14 +295,15 @@ Das freebsd-update-Werkzeug kann nur den GENERIC-Kernel automatisch aktualisieren. Wenn - ein selbstkonfigurierter Kernel verwendet wird, muss dieser neu + ein angepasster Kernel verwendet wird, muss dieser neu erstellt und installiert werden, nachdem freebsd-update den Rest der Aktualisierungen durchgeführt hat. Allerdings wird - freebsd-update den - GENERIC-Kernel in /boot/GENERIC erkennen und aktualisieren - (falls dieser existiert), sogar dann, wenn dies nicht der - aktuell verwendete Kernel des Systems ist. + freebsd-update den + GENERIC-Kernel in + /boot/GENERIC erkennen und aktualisieren, + selbst wenn dies nicht der aktuell verwendete Kernel des + Systems ist. Es ist eine gute Idee, immer eine Kopie des @@ -317,23 +317,23 @@ /etc/freebsd-update.conf nicht geändert wurde, wird freebsd-update die aktualisierten Quellcodedateien des Kernels zusammen mit dem Rest der Neuerungen - installieren. Die erneute Übersetzung und Installation ihres - neuen, selbstkonfigurierten Kernels kann dann auf die übliche + installieren. Die erneute Übersetzung und Installation eines + neuen, angepassten Kernels kann dann auf die übliche Art und Weise durchgeführt werden. Die Aktualisierungen, die über freebsd-update verteilt werden, betreffen nicht - immer den Kernel. Es ist nicht notwendig, den selbstkonfigurierten + immer den Kernel. Es ist nicht notwendig, den angepassten Kernel neu zu erstellen, wenn die Kernelquellen nicht durch die Ausführung von freebsd-update install geändert wurden. Allerdings wird - freebsd-update auf alle Fälle die Datei + freebsd-update immer /usr/src/sys/conf/newvers.sh aktualisieren. - Der aktuelle Patch-Level (angegeben durch die - -p-Nummer, die von dem Kommando uname - -r ausgegeben wird) wird aus dieser Datei ausgelesen. - Die Neuinstallation des selbstkonfigurierten Kernels, selbst wenn + Der aktuelle Patch-Level, der mit der + -p-Nummer bei uname -r + ausgegeben wird, wird aus dieser Datei ausgelesen. + Die Neuinstallation des angepassten Kernels, selbst wenn sich daran nichts geändert hat, erlaubt es &man.uname.1;, den aktuellen Patch-Level des Systems korrekt wiederzugeben. Dies ist besonders hilfreich, wenn mehrere Systeme gewartet werden, da es @@ -345,16 +345,25 @@ Aktualisierungen an Haupt- und Unterversionen - Dieser Prozess entfernt alte Objekt-Dateien und Bibliotheken, was - dazu führt, dass die meisten Anwendungen von Drittherstellern - nicht mehr funktionieren. Nach der Aktualisierung auf eine - neue Hauptversion wird empfohlen, dass alle installierten - Ports entweder entfernt und neu installiert oder zu einem späteren - Zeitpunkt mittels ports-mgmt/portupgrade aktualisiert werden. - Um alle installierten Anwendungen neu zu bauen, geben Sie - folgendes ein: + Aktualisierungen einer Unterversion zur nächsten in + &os; ist beispielsweise die Aktualisierung von &os; 9.0 + auf &os; 9.1. In der Regel funktionieren die + installierten Anwendungen weiterhin problemlos nach der + Aktualisierung einer Unterversion. + + Eine Aktualisierung der Hauptversion ist besipielsweise + die Aktualisierung von &os; 8.X auf &os; 9.X. + Dieser Prozess entfernt alte Objekt-Dateien und Bibliotheken, + was dazu führt, dass die meisten Anwendungen von + Drittherstellern nicht mehr funktionieren. Nach der + Aktualisierung auf eine neue Hauptversion wird empfohlen, dass + alle installierten Ports entweder entfernt und neu + installiert werden, oder mit einem Werkzeug wie + ports-mgmt/portmaster aktualisiert werden. + Um die Neuerstellung aller installierten Anwendungen zu + erwzingen, benutzen Sie folgenden Befehl: - &prompt.root; portupgrade -af + &prompt.root; portmaster -f Dies sorgt dafür, dass alles korrekt neu installiert wird. Beachten Sie, dass das Setzen der @@ -377,7 +386,7 @@ Eine Kopie des GENERIC-Kernel wird benötigt und sollte in /boot/GENERIC abgelegt sein. Wenn - der GENERIC-Kernel nicht bereits im + der GENERIC-Kernel nicht im System vorhanden ist, kann er über eine der folgenden Methoden bezogen werden: @@ -387,25 +396,23 @@ wurde, ist der Kernel in /boot/kernel.old in Wirklichkeit der GENERIC-Kernel. Benennen Sie - einfach dieses Verzeichnis in + dieses Verzeichnis in /boot/GENERIC um. - Angenommen, direkter Zugriff auf die Maschine ist - möglich, so kannn eine Kopie des + Angenommen, ein direkter Zugriff auf die + Maschine ist möglich, so kann eine Kopie des GENERIC-Kernels von den - CD-ROM-Medien installiert werden. Legen Sie die - Installations-CD ein und geben Sie folgende Befehle - ein: + Installationsmedien installiert werden. Benutzen + Sie dazu folgende Befehle: &prompt.root; mount /cdrom &prompt.root; cd /cdrom/X.Y-RELEASE/kernels &prompt.root; ./install.sh GENERIC Ersetzen Sie X.Y-RELEASE - mit der richtigen Version der Veröffentlichung, die - Sie verwenden. Der + durch die aktuelle Version des verwendeten Releases. Der GENERIC-Kernel wird standardmäßig in /boot/GENERIC installiert. @@ -452,12 +459,11 @@ - Angenommen, direkter Zugriff auf die Maschine ist - möglich, so kannn eine Kopie des + Angenommen, ein direkter Zugriff auf die Maschine + ist möglich, so kann eine Kopie des GENERIC-Kernels von den - CD-ROM-Medien installiert werden. Legen Sie die - Installations-CD ein und geben Sie folgende Befehle - ein: + Installationsmedien installiert werden. Benutzen Sie + dazu folgende Befehle: &prompt.root; mount /cdrom &prompt.root; cd /cdrom/usr/freebsd-dist @@ -496,9 +502,9 @@ durchgeführt werden, wenn man freebsd-update eine Release-Version als Ziel übergibt. Beispielsweise wird das folgende Kommando - das System auf &os; 8.1 aktualisieren: + das System auf &os; 9.1 aktualisieren: - &prompt.root; freebsd-update -r 8.1-RELEASE upgrade + &prompt.root; freebsd-update -r 9.1-RELEASE upgrade Nachdem das Kommando empfangen wurde, überprüft freebsd-update die Konfigurationsdatei @@ -508,7 +514,7 @@ erkannt wurden. Zum Beispiel: Looking up update.FreeBSD.org mirrors... 1 mirrors found. -Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done. +Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. @@ -537,7 +543,7 @@ WARNING: This system is running a " MYKERNEL" kernel, which is not a -kernel configuration distributed as part of FreeBSD 8.0-RELEASE. +kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" @@ -547,11 +553,11 @@ Zwischenschritt im Aktualisierungsprozess verwendet. Nachdem alle Korrekturen auf das lokale System - heruntergeladen wurden, werden diese nun eingespielt. + heruntergeladen wurden, werden diese eingespielt. Dieser Prozess kann eine gewisse Zeit in Anspruch nehmen, abhängig von der Geschwindigkeit und Auslastung der Maschine. Konfigurationsdateien werden ebenfalls - zusammengefügt — dieser Teil der Prozedur + zusammengefügt. Dieser Teil der Prozedur verlangt einige Benutzereingaben, da eine Datei möglicherweise von Hand zusammengefasst werden muss oder ein Editor erscheint auf dem Bildschirm zum manuellen @@ -566,44 +572,42 @@ Das System ist zu diesem Zeitpunkt noch nicht - verändert worden. Alle Korrekturen und Vereinigungen sind - in einem anderen Verzeichnis vorgenommen worden. Wenn + verändert worden, da alle Korrekturen und Vereinigungen + in einem anderen Verzeichnis vorgenommen wurden. Wenn alle Korrekturen erfolgreich eingespielt, alle Konfigurationsdateien zusammengefügt wurden und es den Anschein hat, dass der Prozess problemlos verlaufen wird, - müssen die Änderungen vom Anwender noch angewendet - werden. - + müssen die Änderungen vom Anwender noch angewendet und auf + die Platte geschrieben werden: - Sobald dieser Prozess abgeschlossen ist, können die - Aktualisierungen über das folgende Kommando auf die Platte - geschrieben werden: - - &prompt.root; freebsd-update install + &prompt.root; freebsd-update install + - Der Kernel und die Module werden zuerst aktualisiert. Zu diesem - Zeitpunkt muss die Maschine neu gestartet werden. Wenn das System - einen angepassten Kernel verwendet, benutzen Sie das - &man.nextboot.8;-Kommando, um den Kernel für den nächsten + Der Kernel und die Module werden zuerst aktualisiert. + Zu diesem Zeitpunkt muss die Maschine neu gestartet werden. + Wenn das System einen angepassten Kernel verwendet, benutzen + Sie &man.nextboot.8;, um den Kernel für den nächsten Neustart auf /boot/GENERIC zu - setzen (welcher aktualisiert wurde): + setzen: &prompt.root; nextboot -k GENERIC - Bevor mit dem GENERIC-Kernel das System neu - gestartet wird, vergewissern Sie sich, dass alle notwendigen Treiber - für ihr System enthalten sind, um korrekt zu starten (und - schließen Sie ihn ans Netzwerk an, falls auf die Maschine, die - aktualisiert wird, von der Ferne aus zugegriffen wird). Achten Sie - besonders darauf, dass wenn der vorherige angepasste Kernel - Funktionalität beinhaltet, die von Kernelmodulen zur - Verfügung gestellt wurde, dass diese temporär in den - GENERIC-Kernel über die Datei - /boot/loader.conf übernommen werden. - Sie sollten ebenfalls nicht benötigte Dienste, eingehängte - Platten, verbundene Netzlaufwerke, usw. deaktivieren, bis der - Aktualisierungsprozess abgeschlossen ist. + Bevor das System mit dem + GENERIC-Kernel neu gestartet wird, + vergewissern Sie sich, dass für den Neustart alle + benötigten Treiber enthalten sind. Falls auf die + Maschine aus der Ferne zugegriffen wird, stellen Sie + sicher, dass das System ordnungsgemäß an das Netzwerk + angeschlossen ist. Achten Sie besonders darauf, dass wenn + der angepasste Kernel Funktionalität beinhaltet, die + normalerweise von Kernelmodulen zur Verfügung gestellt + werden, dass diese temporär über + /boot/loader.conf in den + GENERIC-Kernel übernommen werden. + Zudem wird empfohlen, nicht benötigte Dienste, eingehängte + Platten und verbundene Netzlaufwerke zu deaktivieren, bis + der Aktualisierungsprozess abgeschlossen ist. Die Maschine sollte nun mit dem aktualisierten Kernel neu @@ -611,19 +615,20 @@ &prompt.root; shutdown -r now - Sobald das System wieder hochgefahren wurde, muss - freebsd-update erneut gestartet werden. Der Zustand - des Prozesses wurde zuvor gesichert und deshalb wird - freebsd-update nicht von vorne beginnen, jedoch alle - alten Shared-Libraries und Objektdateien löschen. Um zu diesem - Zustand zu gelangen, setzen Sie das folgende Kommando ab: + Sobald das System wieder online ist, muss + freebsd-update erneut gestartet werden. + Der Zustand des Prozesses wurde zuvor gesichert und deshalb + wird freebsd-update nicht von vorne + beginnen, jedoch alle alten gemeinsam genutzten + Bibliotheken und Objektdateien löschen. &prompt.root; freebsd-update install Abhängig davon, ob irgendwelche Bibliotheksversionen - erhöht wurden, kann es sein, dass nur zwei Installationsphasen - anstatt drei durchlaufen werden. + erhöht wurden, kann es sein, dass nur zwei + Installationsphasen anstatt drei durchlaufen + werden. @@ -631,30 +636,22 @@ Neubau der Ports nach einer Aktualisierung auf eine Hauptversion - - Nach der Aktualisierung auf eine Hauptversion, muss jegliche Drittanbieter-Software neu erstellt und installiert werden. Dies ist notwendig, da die installierte Software möglicherweise Abhängigkeiten zu Bibliotheken enthält, die während der Aktualisierung - entfernt wurden. Der - ports-mgmt/portupgrade-Befehl kann - verwendet werden, um diesen Vorgang zu automatisieren. Die - folgenden Kommandos können verwendet werden, um diesen - Prozess zu starten: - - &prompt.root; portupgrade -f ruby -&prompt.root; rm /var/db/pkg/pkgdb.db -&prompt.root; portupgrade -f ruby18-bdb -&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db -&prompt.root; portupgrade -af + entfernt wurden. Dieser Prozess kann mit einem Werkzeug wie + ports-mgmt/portmaster automatisiert + werden: + + &prompt.root; portmaster -f Sobald dies abgeschlossen ist, beenden Sie den Aktualisierungsprozess mit einem letzten Aufruf von - freebsd-update. Geben Sie den folgenden Befehl ein, - um alle losen Enden des Aktualisierungsprozesses miteinander zu - verknüpfen: + freebsd-update. Geben Sie den folgenden + Befehl ein, um alle losen Enden des Aktualisierungsprozesses + miteinander zu verknüpfen: &prompt.root; freebsd-update install @@ -671,43 +668,43 @@ Vergleich des Systemzustands - Das freebsd-update-Werkzeug kann verwendet - werden, um den Zustand der installierten &os;-Version gegenüber - einer bekannten und funktionierenden Kopie zu vergleichen. Diese - Option vergleicht die aktuelle Version von Systemwerkzeugen, - Bibliotheken und Konfigurationsdateien. Um diesen Vergleich zu - starten, geben Sie den folgenden Befehl ein: + freebsd-update kann verwendet werden, + um den Zustand der installierten &os;-Version gegenüber + einer bekannten und funktionierenden Kopie zu vergleichen. + Diese Option vergleicht die aktuelle Version von + Systemwerkzeugen, Bibliotheken und Konfigurationsdateien. Um + diesen Vergleich zu starten, geben Sie den folgenden Befehl + ein: &prompt.root; freebsd-update IDS >> outfile.ids - Obwohl der Befehlsname IDS lautet, sollte er - in keiner Weise als Ersatz für ein Intrusion Detection System - wie security/snort angesehen - werden. Da freebsd-update seine Daten auf Platte - ablegt, ist die Möglichkeit von Verfälschungen - offensichtlich. Obwohl diese Möglichkeit durch die Verwendung - von kern.securelevel oder die Ablage von - freebsd-update auf einem Nur-Lese Dateisystem, - wenn es gerade nicht gebraucht wird, eingedämmt werden kann, - besteht eine bessere Lösung darin, das System gegen ein - gesichertes Medium, wie eine DVD oder einen - externen, separat aufbewahrten - USB-Plattenspeicher, zu vergleichen. + Obwohl der Befehlsname IDS lautet, + ist dies kein Ersatz für ein echtes Intrusion Detection + System wie security/snort. Da + freebsd-update seine Daten auf Platte + ablegt, ist die Möglichkeit von Verfälschungen + offensichtlich. Obwohl diese Möglichkeit durch die + Verwendung von kern.securelevel oder die + Ablage von Daten auf einem Nur-Lese Dateisystem eingedämmt + werden kann, besteht eine bessere Lösung darin, das System + gegen ein gesichertes Medium, wie eine + DVD oder einen externen, separat + aufbewahrten USB-Plattenspeicher, zu + vergleichen. - Das System wird jetzt untersucht und eine Liste von Dateien - ausgegeben, zusammen mit deren &man.sha256.1;-Hashwerten, sowohl der - von der Release-Version bekannte Wert als auch der des aktuell - installierten Systems. Das ist der Grund dafür, warum die Ausgabe - an die Datei outfile.ids geschickt wurde. Es - scrollt zu schnell vorbei, um diese mit den Augen zu vergleichen und - bald wird auch der Konsolenpuffer damit überfüllt. - - Diese Zeilen sind dazu noch extrem lang, aber das Ausgabeformat - kann sehr einfach verarbeitet werden. Um beispielsweise eine Liste von - allen Dateien zu erhalten, die sich vom aktuellen Release - unterscheiden, geben Sie das folgende Kommando ein: + Das System wird nun überprüft, und eine lange Liste + von Dateien zusammen mit den &man.sha256.1;-Hashwerten, sowohl + der von der Release-Version bekannte Wert als auch der des + aktuell installierten Systems, in + outfile.ids geschrieben. + + Die Zeilen in der Ausgabe sind extrem lang, aber das + Ausgabeformat kann einfach verarbeitet werden. Um + beispielsweise eine Liste von allen Dateien zu erhalten, die + sich vom aktuellen Release unterscheiden, geben Sie das + folgende Kommando ein: &prompt.root; cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd @@ -715,16 +712,16 @@ /etc/passwd /etc/pf.conf - Diese Ausgabe wurde abgeschnitten, es existieren noch viel mehr - Dateien dazu. Manche dieser Dateien besitzen ganz - selbstverständliche Veränderungen, - /etc/passwd wurde beispielsweise geändert, - um Benutzer zum System hinzuzufügen. In manchen Fällen kann - es anderen Dateien wie Kernelmodule geben, welche sich geändert - haben, weil freebsd-update diese aktualisiert hat. - Um bestimmte Dateien oder Verzeichnisse auszuschliessen, hängen - Sie diese an die IDSIgnorePaths-Option in - /etc/freebsd-update.conf an. + Diese Beispielausgabe wurde abgeschnitten, da noch viele + weitere Dateien vorhanden sind. Einige Dateien wurden auf + natürliche Art verändert. /etc/passwd + wurde beispielsweise geändert, um Benutzer zum System + hinzuzufügen. Andere Dateien, wie Kernelmodule, unterscheiden + sich, weil freebsd-update diese + aktualisiert hat. Um bestimmte Dateien oder Verzeichnisse + auszuschließen, fügen Sie diese an die + IDSIgnorePaths-Option in + /etc/freebsd-update.conf an. Diese Vorgehensweise kann als Teil einer ausgeklügelten Aktualisierungsmethode benutzt werden, unabhängig von der zuvor @@ -744,7 +741,6 @@ BenedictReuschlingÜbersetzt von - Updating and Upgrading @@ -752,15 +748,14 @@ Updating and Upgrading - Das Basissystem von &os; enthält auch ein Programm zum - Aktualisieren der Ports-Sammlung: das &man.portsnap.8; Werkzeug. Wenn - es ausgeführt wird, verbindet es sich mit einem entfernten Rechner, - überprüft den Sicherungsschlüssel und lädt eine neue - Kopie der Ports-Sammlung herunter. Der Schlüssel wird dazu - verwendet, um die Integrität aller heruntergeladenen Dateien zu - prüfen und um sicherzustellen, dass diese unterwegs nicht - verändert wurden. Um die aktuellsten Dateien der Ports-Sammlung - herunter zu laden, geben Sie das folgende Kommando ein: + Das Basissystem von &os; enthält &man.portsnap.8; zum + Aktualisieren der Ports-Sammlung. Dieses Programm verbindet + sich mit einem entfernten Rechner, überprüft den + Sicherungsschlüssel und lädt eine neue Kopie der Ports-Sammlung + herunter. Der Schlüssel wird verwendet, um die Integrität aller + heruntergeladenen Dateien zu prüfen. Um die aktuellsten Dateien + der Ports-Sammlung herunter zu laden, geben Sie das folgende + Kommando ein: &prompt.root; portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. @@ -774,19 +769,19 @@ Applying patches... done. Fetching 133 new ports or files... done. - Dieses Beispiel zeigt, dass &man.portsnap.8; mehrere Korrekturen - für die aktuellen Ports-Daten gefunden und verifiziert hat. Es - zeigt auch, dass das Programm zuvor schon einmal gestartet wurde. - Wäre es das erste Mal, würde nur die Ports-Sammlung - heruntergeladen werden. - - Wenn &man.portsnap.8; erfolgreich die - fetch-Operation abgeschlossen hat, befinden sich die - Ports-Sammlung und die dazugehörigen Korrekturen auf dem lokalen - System, welches die Überprüfung bestanden hat. Wenn Sie - portsnap das erste Mal ausgeführt haben, - müssen Sie den Befehl portsnap extract - verwenden, um die Ports-Sammlung zu installieren: + Dieses Beispiel zeigt, dass &man.portsnap.8; mehrere + Korrekturen für die aktuellen Ports-Daten gefunden und + verifiziert hat. Es zeigt auch, dass das Programm zuvor schon + einmal gestartet wurde. Wäre es das erste Mal, würde nur die + Ports-Sammlung heruntergeladen werden. + + Wenn &man.portsnap.8; die fetch-Operation + erfolgreich abgeschlossen hat, befinden sich die Ports-Sammlung + und die dazugehörigen Korrekturen, welche die Überprüfung + bestanden haben, auf dem lokalen System. Wenn + portsnap das erste Mal ausgeführt wird, + muss portsnap extract aufgerufen werden, + um die Ports-Sammlung zu installieren: &prompt.root; portsnap extract /usr/ports/.cvsignore @@ -802,8 +797,9 @@ /usr/ports/Mk/bsd.cmake.mk ... - Um Ihre bereits installierte Ports-Sammlung zu aktualisieren, - verwenden Sie hingegen den Parameter update: + Um eine bereits installierte Ports-Sammlung zu + aktualisieren, verwenden Sie + portsnap update: &prompt.root; portsnap update @@ -813,14 +809,13 @@ Die Operationen fetch und extract oder update können - auch nacheinander ausgeführt werden, wie im folgenden Beispiel - gezeigt: + auch nacheinander ausgeführt werden: &prompt.root; portsnap fetch update Dieser Befehl lädt die aktuelle Version der Ports-Sammlung - herunter und aktualisiert anschließend Ihre lokale Version - im Verzeichnis /usr/ports. + herunter und aktualisiert anschließend die lokale Version unter + /usr/ports. @@ -829,7 +824,6 @@ BenedictReuschlingÜbersetzt von - Updating and Upgrading @@ -838,68 +832,71 @@ Updating and Upgrading - Neben dem Basissystem und der Ports-Sammlung ist die Dokumentation - ein wichtiger Bestandteil des &os; Betriebssystems. Obwohl eine aktuelle - Version der &os; Dokumentation jederzeit auf der &os; Webseite verfügbar - ist, verfügen manche Benutzer nur über eine langsame oder - überhaupt keine Netzwerkverbindung. Glücklicherweise gibt es - mehrere Möglichkeiten, die Dokumentation, welche mit jeder Version - ausgeliefert wird, zu aktualisieren, indem eine lokale Kopie der - aktuellen &os;-Dokumentationssammlung verwendet wird. + Dokumentation ein wichtiger Bestandteil des &os; + Betriebssystems. Obwohl eine aktuelle Version der &os; + Dokumentation jederzeit auf der &os; Webseite + verfügbar ist, verfügen manche Benutzer nur über eine langsame + oder überhaupt keine Netzwerkverbindung. Es gibt mehrere + Möglichkeiten, die lokale Kopie der Dokumentation durch die + aktuelle &os;-Dokumentationssammlung zu aktualisieren. Verwenden von <application>Subversion</application> um die Dokumentation zu aktualisieren Die Dokumentationsquellen von &os; können mittels - Subversion aktualisiert werden. - Dieser Abschnitt beschreibt: + svn aktualisiert werden. Dieser + Abschnitt beschreibt: - Wie die Dokumentations-Werkzeugsammlung installiert wird, - welche die Werkzeuge enthält, die nötig sind, um die - &os; Dokumentation aus den Quellen neu zu erstellen. + Die Installation der Dokumentations-Werkzeugsammlung, + welche die Werkzeuge enthält, die nötig sind, um die &os; + Dokumentation aus den Quellen neu zu erstellen. - Wie man eine Kopie der Dokumentationsquellen nach /usr/doc herunterlädt, unter - Verwendung von Subversion. + Das Herunterladen einer Kopie der + Dokumentationsquellen nach /usr/doc, + unter Verwendung von + svn. - Wie man die &os; Dokumentation aus den Quellen baut und unter - /usr/share/doc - installiert. + Den Bau der &os; Dokumentation aus den Quellen und + die Installation unter + /usr/share/doc. - Manche der Optionen zum Erstellen, die vom System zum Bauen der - Dokumentation unterstützt werden, z.B. die Optionen welche nur - ein paar der unterschiedlichen Sprachübersetzungen der - Dokumentation erstellen oder die Optionen, die ein bestimmtes - Ausgabeformat auswählen. + Manche der Optionen zum Erstellen, die vom System zum + Bauen der Dokumentation unterstützt werden, z.B. die + Optionen welche nur ein paar der unterschiedlichen + Sprachübersetzungen der Dokumentation erstellen oder die + Optionen, die ein bestimmtes Ausgabeformat + auswählen. - <application>Subversion</application> und die Werkzeugsammlung der Dokumentation - installieren + <application>svn</application> und die Werkzeugsammlung + der Dokumentation installieren - Die &os; Dokumentation aus dem Quellen zu erstellen benötigt - eine ziemlich grosse Anzahl an Werkzeugen. Diese Werkzeuge sind nicht - Teil des &os; Basissystems, da sie eine grosse Menge an Plattenplatz - verbrauchen und nicht von allen &os;-Anwendern benötigt werden. - Sie sind nur für diejenigen Benutzer notwendig, die aktiv an neuer - Dokumentation fü &os; schreiben oder häufig ihre - Dokumentation aus den Quellen bauen lassen. - - Alle benötigten Werkzeuge sind als Teil der Ports-Sammlung - verfügbar. Der Port textproc/docproj dient als Masterport, der - vom &os; Documentation Project entwickelt wurde, um die initiale - Installation und zukünftige Aktualisierungen dieser Werkzeuge zu - vereinfachen. + Die Erstellung der &os; Dokumentation aus den Quellen + benötigt eine große Anzahl an Werkzeugen, die nicht Teil des + &os; Basissystems sind, da sie eine große Menge + Plattenplatz verbrauchen und nicht von allen &os;-Anwendern + benötigt werden. Sie sind daher nur für diejenigen Benutzer + sinnvoll, die aktiv neue Dokumentation für &os; schreiben + oder häufig die Dokumentation aus den Quellen + aktualisieren. + + Alle benötigten Werkzeuge, einschließlich + svn sind im Meta-Port + textproc/docproj vorhanden, der + vom &os; Documentation Project entwickelt wurde. Wenn Sie die Dokumentation nicht als &postscript; oder PDF @@ -913,20 +910,16 @@ auszulassen, wenn die Ausgabe von PDF nicht unbedingt gebraucht wird. - - Subversion wird über den Port - textproc/docproj mit installiert. Die Dokumentationsquellen aktualisieren - Das Programm Subversion kann - eine saubere - Kopie der Dokumentationsquellen über das HTTPS-Protokoll - holen: + In diesem Beispiel wird svn + verwendet, um eine saubere Kopie der Dokumentationsquellen + über das HTTPS-Protokoll zu holen: - &prompt.root; svn checkout svn://svn.freebsd.org/doc/head/doc/head /usr/doc + &prompt.root; svn checkout https://svn.freebsd.org/doc/head/doc/head /usr/doc Benutzen Sie dazu einen der Spiegel aus Subversion Mirror Sites. @@ -938,38 +931,38 @@ Zukünftige Aktualisierungen der Dokumentationsquellen können wie folgt durchgeführt werden: - &prompt.root; svn update /usr/doc + &prompt.root; svn update /usr/doc - Nachdem die Quellen einmal ausgecheckt wurden, besteht ein anderer - Weg, die Dokumentation zu aktualisieren, durch das - Makefile im Verzeichnis - /usr/doc: + Nachdem die Quellen einmal ausgecheckt wurden, wird durch + /usr/doc/Makefile ein alternativer Weg + unterstützt, die Dokumentation zu aktualisieren. Geben Sie + dazu die folgenden Befehle ein: &prompt.root; cd /usr/doc &prompt.root; make update - Einstellbare Optionen der Dokumentationsquellen - Das System zum aktualisieren und erstellen der &os;-Dokumentation - unterstützt ein paar Optionen, welche den Prozess der - Aktualisierung von Teilen der Dokumentation oder einer bestimmten - Übersetzung erleichtert. Diese Optionen lassen sich entweder - systemweit in der Datei /etc/make.conf setzen, - oder als Kommandozeilenoptionen, die dem &man.make.1;-Werkzeug - übergeben werden. + Das System zum aktualisieren und erstellen der + &os;-Dokumentationssammlung unterstützt ein paar Optionen, + welche den Prozess der Aktualisierung von Teilen der + Dokumentation oder einer bestimmten Übersetzung erleichtert. + Diese Optionen können entweder systemweit in + /etc/make.conf gesetzt, oder als + Kommandozeilenoptionen an &man.make.1; übergeben + werden. - Die folgenden Optionen sind ein paar davon: + Zu den Optionen gehören: DOC_LANG - Eine Liste von Sprachen und Kodierungen, die gebaut und - installiert werden sollen, z.B. + Eine Liste von Sprachen und Kodierungen, die gebaut + und installiert werden sollen, z.B. en_US.ISO8859-1, um nur die englische Dokumentation zu erhalten. @@ -997,25 +990,30 @@ - Für weitere make-Variablen, die als systemweite Optionen - in &os; unterstützt werden, lesen Sie &man.make.conf.5;. - - Für weitere make-Variablen, die vom System zum Erstellen der - &os;-Dokumentation unterstützt werden, lesen Sie die Fibel für neue - Mitarbeiter des &os;-Dokumentationsprojekts. + Für weitere make-Variablen, die als + systemweite Optionen in &os; unterstützt werden, lesen Sie + &man.make.conf.5;. + + Für weitere make-Variablen, die vom + System zum Erstellen der &os;-Dokumentation unterstützt + werden, lesen Sie die Fibel für + neue Mitarbeiter + des &os;-Dokumentationsprojekts. - Die &os;-Dokumentation aus den Quellen installieren + Die &os;-Dokumentation aus den Quellen + installieren - Wenn ein aktueller Schnappschuss der Dokumentationsquellen nach - /usr/doc heruntergeladen wurde, - ist alles bereit für eine Aktualisierung der bestehenden - Dokumentation. - - Eine komplette Aktualisierung aller Sprachoptionen, definiert durch - die DOC_LANG Makefile-Option, kann durch folgende - Eingabe erreicht werden: + Sobald ein aktueller Schnappschuss der + Dokumentationsquellen nach /usr/doc + heruntergeladen wurde, ist alles bereit für eine + Aktualisierung der bestehenden Dokumentation. + + Eine komplette Aktualisierung aller Sprachen, definiert in + DOC_LANG, kann durch folgende Eingabe + erreicht werden: &prompt.root; cd /usr/doc &prompt.root; make install clean @@ -1023,21 +1021,22 @@ Wenn nur eine Aktualisierung einer bestimmten Sprache gewünscht wird, kann &man.make.1; in einem sprachspezifischen Unterverzeichnis von /usr/doc - aufgerufen werden, z.B.: + aufgerufen werden: &prompt.root; cd /usr/doc/en_US.ISO8859-1 &prompt.root; make update install clean - Die zu installierenden Ausgabeformate können durch das Setzen - der make-Variablen FORMATS angegeben werden, - z.B.: + Die zu installierenden Ausgabeformate können durch das + Setzen von FORMATS angegeben werden: &prompt.root; cd /usr/doc &prompt.root; make FORMATS='html html-split' install clean Informationen zum Bearbeiten und Einreichen von Korrekturen finden Sie in der Fibel für neue Mitarbeiter des &os;-Dokumentationsprojekts. + xlink:href="&url.doc.langbase;/books/fdp-primer">Fibel für + neue Mitarbeiter des + &os;-Dokumentationsprojekts. @@ -1047,8 +1046,6 @@ - - Updating and Upgrading @@ -1056,40 +1053,42 @@ Updating and Upgrading - Im vorherigen Abschnitt wurde eine Methode gezeigt, wie die - &os;-Dokumentation aus den Quellen gebaut werden kann. Allerdings sind - quellbasierte Aktualisierungen möglicherweise nicht für alle - &os;-Systeme geeignet oder praktikabel. Das Erstellen der - Dokumentationsquellen benötigt eine grosse Anzahl an Werkzeugen, - Programmen und Hilfsmitteln, die documentation - toolchain, ein gewisser Grad an Vertrautheit mit - Subversion und ausgecheckte Quellen von einem - Repository, sowie ein paar manuelle Schritte, um diese ausgecheckten - Quellen zu bauen. In diesem Abschnitt wird eine alternative Art und - Weise vorgestellt, wie man die installierte Kopie der - &os;-Dokumentation aktualisieren kann. Diese Methode verwendet die - Ports-Sammlung und erlaubt es: + Im vorherigen Abschnitt wurde eine Methode gezeigt, wie + die &os;-Dokumentation aus den Quellen gebaut werden kann. + Allerdings sind quellbasierte Aktualisierungen möglicherweise + nicht für alle &os;-Systeme geeignet oder praktikabel. Das + Erstellen der Dokumentationsquellen benötigt eine große Anzahl + an Werkzeugen, Programmen und Hilfsmitteln, die + documentation toolchain, einen gewissen + Grad an Vertrautheit mit svn, + ausgecheckte Quellen von einem Repository, sowie ein paar + manuelle Schritte, um diese ausgecheckten Quellen zu bauen. + Dieser Abschnitt beschreibt eine alternative Methode, in der + die Ports-Sammlung verwendet wird und die es + ermöglicht: - vorgefertigte Schnappschüsse der Dokumentation herunter zu - laden und zu installieren, ohne vorher irgendetwas lokal zu - erstellen (dadurch ist es nicht mehr notwendig, den kompletten - Werkzeugkasten der Dokumentation zu installieren). + vorgefertigte Schnappschüsse der Dokumentation + herunterzuladen und zu installieren, ohne vorher die + Werkzeugsammlung der Dokumentation installieren zu + müssen. - die Dokumentationsquellen herunterzuladen und durch das - Ports-System erstellen zu lassen (was die Schritte zum Auschecken - und Erstellen etwas erleichtert). + die Dokumentationsquellen herunterzuladen und durch + das Ports-System erstellen zu lassen, was die Schritte zum + Auschecken und Erstellen etwas erleichtert. - Diese beiden Methoden der Aktualisierung der &os;-Dokumentation - werden durch eine Menge von Dokumentations-Ports - unterstützt, die von &a.doceng; monatlich aktualisiert wird. - Diese sind in der Ports-Sammlung unter der virtuellen Kategorie, docs genannt, - gelistet. + Diese beiden Methoden der Aktualisierung der + &os;-Dokumentation werden durch eine Menge von + Dokumentations-Ports unterstützt, die von + &a.doceng; monatlich aktualisiert wird. Diese sind in der + &os; Ports-Sammlung unter der Kategorie docs gelistet + (http://www.freshports.org/docs/). Erstellen und Installieren von Dokumentations-Ports @@ -1104,67 +1103,61 @@ Als zusätzliche Eigenschaft zeichnen sie eine - Abhängigkeit zum - Dokumentations-Werkzeugsatz auf, wenn die - Dokumentations-Ports lokal erstellt werden, weshalb dieser auch - automatisch mitinstalliert wird. + Abhängigkeit zur + Dokumentations-Werkzeugsammlung auf, + wenn die Dokumentations-Ports lokal erstellt werden, + weshalb diese auch automatisch mitinstalliert wird. Die Dokumentations-Ports sind wie folgt organisiert: - Es existiert ein Master-Port, misc/freebsd-doc-en, in dem alle - Dateien zu den Dokumentations-Ports abgelegt sind. Es dient als - Basis für alle Dokumentations-Ports. Als Voreinstellung - wird nur die englische Dokumentation gebaut. + Der Master-Port, + misc/freebsd-doc-en, der alle + englischen Dokumentations-Ports installiert. - Es gibt einen Alles-in-Einem-Port, misc/freebsd-doc-all, welcher die + Der Alles-in-Einem-Port, + misc/freebsd-doc-all, welcher die komplette Dokumentation in allen verfügbaren Sprachen erstellt und installiert. - Schliesslich gibt es noch einen sogenannten slave - port für jede Übersetzung, z.B.: misc/freebsd-doc-hu für - Dokumentation in ungarischer Sprache. All diese benötigen - den Master-Port und installieren die übersetzte - Dokumentation in der entsprechenden Sprache. + Es gibt noch einen Slave-Port für + jede Übersetzung, beispielsweise + misc/freebsd-doc-hu für Dokumentation + in ungarischer Sprache. - Um einen Dokumentations-Port aus den Quellen zu installieren, - geben Sie das folgende Kommando (als root) - ein: + Um die englische Dokumentation zu bauen im getrennten + HTML-Format in + /usr/local/share/doc/freebsd zu + installieren, installieren Sie den folgenden Port: &prompt.root; cd /usr/ports/misc/freebsd-doc-en &prompt.root; make install clean - Auf diese Weise wird die englische Dokumentation gebaut und als - getrenntes HTML-Format im Verzeichnis /usr/local/share/doc/freebsd installiert - (genau wie unter http://www.FreeBSD.org zu - finden). - Gebräuchliche Schalter und Optionen - Es gibt viele Optionen, um das Standarderhalten der - Dokumentations-Ports zu verändern. Im Folgenden sind nur ein - paar davon aufgeführt: + Es gibt viele Optionen, die das Standardverhalten der + Dokumentations-Ports verändern. Dazu gehören: WITH_HTML - Erlaubt das Erstellen im HTML-Format: eine einzige - HTML-Datei pro Dokument. Die formatierte Dokumentation wird - als Datei mit dem Namen article.html - gespeichert, oder, je nachdem, als - book.html, zuzuüglich der - Bilder. + Erstellt das HTML-Format mit einer einzigen + HTML-Datei pro Dokument. Die formatierte + Dokumentation wird als Datei mit dem Namen + article.html, oder + gegebenenfalls book.html, + zuzüglich der Bilder gespeichert. @@ -1172,12 +1165,10 @@ WITH_PDF - Erlaubt das Erstellen von &adobe; Portable Document - Format, für die Verwendung mit &adobe; &acrobat.reader;, - Ghostscript oder anderen - PDF-Betrachtern. Die formatierte Dokumentation wird als Datei - mit dem Namen article.pdf oder, soweit - angemessen, als book.pdf + Erstellt das &adobe; Portable Document Format + (PDF). Die formatierte Dokumentation wird als Datei + mit dem Namen article.pdf, oder + gegebenenfalls als book.pdf gespeichert. @@ -1186,25 +1177,26 @@ DOCBASE - Wohin die Dokumentation installiert werden soll. Der - Standardpfad ist /usr/local/share/doc/freebsd. + Legt den Pfad fest, wohin die Dokumentation + installiert werden soll. Die Voreinstellung ist + /usr/local/share/doc/freebsd. - Beachten Sie, dass sich der Standardpfad von dem - Verzeichnis unterscheidet, das von der - Subversion-Methode verwendet wird. - Das liegt daran, dass ein Port installiert wird und diese - üblicherweise im Verzeichnis /usr/local abgelegt werden. - Durch setzen der PREFIX-Variablen kann - dieses Verhalten geändert werden. + Der Standardpfad zum Verzeichnis unterscheidet + sich von dem Verzeichnis, das von + svn verwendet wird. + Das liegt daran, dass Ports üblicherweise in + /usr/local installiert + werden. Dies kann durch die Verwendung von + PREFIX überschrieben + werden. - Es folgt ein kurzes Beispiel, wie die Variablen verwendet - werden, um die oben erwähnte ungarische Dokumentation als - Portable Document Format zu installieren: + Dieses Beispiel verwendet Variablen, um die ungarische + Dokumentation als PDF zu installieren: &prompt.root; cd /usr/ports/misc/freebsd-doc-hu &prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean @@ -1242,26 +1234,26 @@ &prompt.root; pkg_add -r hu-freebsd-doc - Pakete haben das folgende Namensformat, welches sich von dem + Pakete verwenden ein Format, welches sich von dem Namen des dazugehörigen Ports unterscheidet: - lang-freebsd-doc. - lang entspricht hier der Kurzform des - Sprachcodes, z.B. hu für Ungarisch, oder - zh_cn für vereinfachtes Chinesisch. + lang-freebsd-doc. + lang entspricht hier der + Kurzform des Sprachcodes, z.B. hu für + Ungarisch, oder zh_cn für vereinfachtes + Chinesisch. Dokumentations-Ports aktualisieren - Um einen zuvor installierten Dokumentations-Port zu aktualisieren, - kann jedes Werkzeug, das auch zum Aktualisieren von Ports verwendet - wird, eingesetzt werden. Beispielsweise aktualisiert das folgende - Kommando die installierte ungarische Dokumentation mittels des - Programms ports-mgmt/portupgrade indem nur Pakete - verwendet werden sollen: + Dokumentations-Ports können wie jeder andere Port + aktualisiert werden. Beispielsweise aktualisiert das + folgende Kommando die installierte ungarische Dokumentation + mittels ports-mgmt/portmaster unter + Verwendung von Paketen: - &prompt.root; portupgrade -PP hu-freebsd-doc + &prompt.root; portmaster -PP hu-freebsd-doc @@ -1346,44 +1338,43 @@ -CURRENT -STABLE - FreeBSD besitzt zwei Entwicklungszweige: &os.current; und + &os; besitzt zwei Entwicklungszweige: &os.current; und &os.stable;. Dieser Abschnitt beschreibt beide Zweige und - erläutert, wie Sie Ihr System auf dem aktuellen Stand - eines Zweiges halten. Zuerst wird &os.current; vorgestellt, dann + erläutert, wie Sie ein System auf dem aktuellen Stand eines + Zweiges halten. Zuerst wird &os.current; vorgestellt, dann &os.stable;. &os.current; - Beachten Sie im Folgenden, dass &os.current; die Spitze - der Entwicklung von &os; ist. Benutzer von &os.current; sollten - über sehr gute technische Fähigkeiten verfügen und - in der Lage sein, schwierige Probleme alleine zu lösen. Wenn - &os; neu für Sie ist, überlegen Sie sich genau, ob Sie - &os.current; benutzen wollen. + &os.current; ist die Spitze der Entwicklung von &os;. + Benutzer von &os.current; sollten über sehr gute technische + Fähigkeiten verfügen und in der Lage sein, schwierige Probleme + alleine zu lösen. Wenn &os; neu für Sie ist, verwenden Sie + besser &os.stable;. Was ist &os.current;? Snapshot &os.current; besteht aus den neuesten Quellen des - FreeBSD-Systems. Es enthält Sachen, an denen gerade + &os;-Systems. Es enthält Sachen, an denen gerade gearbeitet wird, experimentelle Änderungen und Übergangsmechanismen, die im nächsten offiziellen Release der Software enthalten sein können oder nicht. Obwohl &os.current; täglich von vielen Entwicklern gebaut wird, gibt es Zeiträume, in denen sich das System nicht bauen lässt. Diese Probleme werden so schnell wie - möglich gelöst, aber ob Sie mit &os.current; + möglich behoben, aber ob Sie mit &os.current; Schiffbruch erleiden oder die gewünschten Verbesserungen - erhalten, kann von dem Zeitpunkt abhängen, an dem Sie sich - den Quelltext besorgt haben! + erhalten, kann von dem Zeitpunkt abhängen, an dem + der Quelltext synchronisiert wurde. Wer braucht &os.current;? - &os.current; wird hauptsächlich für 3 + &os.current; wird hauptsächlich für drei Interessengruppen zur Verfügung gestellt: @@ -1396,18 +1387,17 @@ Tester, die bereit sind, Zeit in das Lösen von Problemen zu investieren und sicherstellen, dass - &os.current; so stabil wie möglich bleibt. Weiterhin - Leute, die Vorschläge zu Änderungen oder der - generellen Entwicklung von &os; machen und Patches - bereitstellen, um diese Vorschläge zu realisieren. + &os.current; so stabil wie möglich bleibt. Diese Tester + machen Vorschläge zu Änderungen oder der + generellen Entwicklung von &os; und stellen Patches + bereit, um diese Vorschläge zu realisieren. Für Leute, die die Entwicklung im Auge behalten - wollen, oder die Quellen zu Referenzzwecken (zum Beispiel - darin lesen, aber nicht verwenden) benutzen wollen. Auch diese - Gruppe macht Vorschläge oder steuert Quellcode - bei. + wollen, oder die Quellen zu Referenzzwecken benutzen + wollen. Auch diese Gruppe macht Vorschläge oder steuert + Quellcode bei. @@ -1417,34 +1407,24 @@ - Der schnellste Weg, neue Sachen vor dem offiziellen - Release auszuprobieren. Bedenken Sie, dass der erste, - der die neuen Sachen ausprobiert, auch der erste ist, der die - neuen Fehler findet. + Der schnellste Weg, neue Funktionen vor dem + offiziellen Release auszuprobieren. Bedenken Sie, dass + neue Funktionen noch nicht im vollen Umfang getestet + wurden und daher höchstwahrscheinlich Fehler + enthalten. Ein schneller Weg, um an Fehlerbehebungen (engl. - bug fixes) zu kommen. Jede - Version von &os.current; führt mit gleicher + bug fixes) zu kommen. + Jede Fehlerbehebung führt mit gleicher Wahrscheinlichkeit neue Fehler ein, mit der sie alte behebt. - In irgendeiner Form offiziell - unterstützt. Wir tun unser Bestes, um Leuten - aus den drei legitimen Benutzergruppen von - &os.current; zu helfen, aber wir haben einfach nicht - die Zeit, technische Unterstützung zu - erbringen. Das kommt nicht daher, dass wir kleinliche, - gemeine Leute sind, die anderen nicht helfen wollen (wenn - wir das wären, würden wir &os; nicht machen), wir - können einfach nicht jeden Tag Hunderte Nachrichten - beantworten und an &os; arbeiten! Vor - die Wahl gestellt, &os; zu verbessern oder jede Menge Fragen - zu experimentellem Code zu beantworten, haben sich die - Entwickler für ersteres entschieden. + In keiner Weise + offiziell unterstützt. @@ -1454,128 +1434,87 @@ - Es ist essentiell, die Mailinglisten - &a.current.name; und &a.svn-src-head.name;-CURRENTbenutzen zu lesen. Wenn Sie - &a.current.name; nicht lesen, verpassen Sie - die Kommentare anderer über den momentanen Zustand des - Systems und rennen demzufolge in viele bekannte Probleme, die - schon gelöst sind. Noch kritischer ist, dass Sie wichtige - Bekanntmachungen verpassen, die erhebliche Auswirkungen - auf die Stabilität Ihres Systems haben können. - - In der &a.svn-src-head.name; Mailingliste sehen Sie zu jeder - Änderung das Commit-Log, das Informationen zu - möglichen Seiteneffekten enthält. - - Um diese Listen zu abonnieren (oder zu lesen) - besuchen Sie bitte die Seite &a.mailman.lists.link;. - Weitere Informationen erhalten Sie, wenn Sie dort - auf die gewünschte Liste klicken. Wenn Sie daran - interessiert sind, die Änderungen am gesamten Quellbaum - mit zu verfolgen, schlagen wir vor, die Liste - &a.svn-src-all.name; zu abonnieren. + Lesen Sie die Mailinglisten &a.current.name; und + &a.svn-src-head.name;. Dies ist + notwendig, um die Kommentare + über den akutellen Status des Systems und wichtige + Mitteilungen zum aktuellen Zustand von &os.current; zu + erfahren. + + Die &a.svn-src-head.name; Mailingliste erfasst die + Commit-Logs für jede Änderung und enthält alle + relevanten Informationen zu möglichen + Seiteneffekten. + + Um diese Listen zu abonnieren, besuchen Sie + &a.mailman.lists.link;, klicken Sie auf die gewünschte + Liste und folgen Sie den Anweisungen. Wenn Sie die + Änderungen am gesamten Quellbaum verfolgen möchten, + abonnieren Sie die &a.svn-src-all.name; Liste. Beschaffen Sie sich die Quellen von einem - &os;-Spiegel. Sie haben - dazu mehrere Möglichkeiten: - - - Benutzen Sie das Programm svn, um den gewünschten - Entwicklungs- oder Release-Zweig auszuchecken. - Dies ist die empfohlene Methode für den Zugang zur - Entwicklung von &os;. Das bevorzugte URL-Präfix für - Subversion zum Auschecken - des -CURRENT Basissystems ist - http://svn.freebsd.org/base/head. - Aufgrund der Größe des Repositories ist es - empfehlenswert, nur die gewünschten Teilbäume - auszuchecken. - + &os;-Spiegel, mit einer + der folgenden Methoden: + - Benutzen Sie das Programm - cvsupcvsup - mit der Datei - standard-supfile - aus dem Verzeichnis - /usr/share/examples/cvsup. - Sie müssen die obige supfile - anpassen und - cvsup-CURRENTmit CVSup synchronisieren - für Ihre Umgebung konfigurieren. - - - cvsup wurde vom Projekt als - veraltet eingestuft. Der Einsatz dieses Programms - wird nicht weiter empfohlen. - - - - Die standard-supfile-Beispieldatei - ist dafür vorgesehen, einen bestimmten - Sicherheitszweig zu verfolgen und nicht &os.current;. Sie - müssen diese Datei bearbeiten und die folgende - Zeile: - - *default release=cvs tag=RELENG_X_Y - - durch diese ersetzen: - - *default release=cvs tag=. - - Lesen Sie den Abschnitt über CVS Tags im Handbuch, um eine - genaue Beschreibung von verwendbaren Tags zu - erhalten. - + Benutzen Sie svn, um + den gewünschten Entwicklungs- oder Release-Zweig + auszuchecken. Dies ist die empfohlene Methode für den + Zugang zur Entwicklung von &os;. Checken Sie den + -CURRENT Quelltext aus dem + head-Zweig von einem der + Subversion Mirror + Sites aus. Aufgrund der Größe des + Repositories ist es empfehlenswert, nur die + gewünschten Teilbäume auszuchecken. - CTM-CURRENTmit CTM synchronisieren - kommt in Frage, wenn Sie - über eine schlechte Internet-Anbindung (hoher Preis - oder nur E-Mail Zugriff) verfügen. Der Umgang mit - CTM ist allerdings recht - mühsam und Sie können beschädigte Dateien - erhalten. Daher wird es selten benutzt, was wiederum - dazu führt, dass es über längere Zeit - nicht funktioniert. Wir empfehlen die Nutzung von - Subversion für jedes - System mit Internet-Anbindung. + Benutzen Sie CTM, + wenn Sie über eine schlechte Internet-Anbindung + verfügen. CTM ist eine + Option, aber es ist nicht so zuverlässig wie + Subversion. Aus diesem + Grund ist Subversion die + empfohlene Methode für jedes System mit + Internet-Anbindung. Wenn Sie die Quellen einsetzen und nicht nur darin - lesen wollen, besorgen Sie sich bitte die - kompletten Quellen von &os.current; und - nicht nur ausgesuchte Teile. Der Grund hierfür ist, + lesen wollen, besorgen Sie sich die + kompletten Quellen von &os.current; + und nicht nur ausgesuchte Teile. Der Grund hierfür ist, dass die verschiedenen Teile der Quellen voneinander abhängen. Es ist ziemlich sicher, dass Sie in - Schwierigkeiten geraten, wenn Sie versuchen, nur einen Teil - der Quellen zu übersetzen. + Schwierigkeiten geraten, wenn Sie versuchen, nur einen + Teil der Quellen zu übersetzen. - Sehen Sie sich das Makefile in - /usr/src genau an, bevor Sie - &os.current; übersetzen-CURRENTübersetzen. Wenn Sie - &os; das erste Mal aktualisieren, sollten Sie sowohl - einen Kernel als auch das - System neu installieren. - Lesen Sie bitte die Mailingliste &a.current; - und /usr/src/UPDATING, um über - Änderungen im Installationsverfahren, die manchmal - vor der Einführung eines neuen Releases notwendig sind, + Lesen Sie /usr/src/Makefile + sehr aufmerksam, bevor Sie + -CURRENTübersetzen + &os.current; übersetzen. + Wenn Sie &os; das erste Mal aktualisieren, sollten Sie + sowohl einen Kernel als auch + das System neu installieren. Lesen Sie die + Mailingliste &a.current; und + /usr/src/UPDATING, um über + Änderungen im Installationsverfahren, die manchmal vor + der Einführung eines neuen Releases notwendig sind, informiert zu sein. - Seien Sie aktiv! Wenn Sie &os.current; laufen lassen, - wollen wir wissen, was Sie darüber denken, besonders - wenn Sie Verbesserungsvorschläge oder Fehlerbehebungen - haben. Verbesserungsvorschläge, die Code enthalten, - werden übrigens begeistert entgegengenommen. + Seien Sie aktiv! Benutzer von &os.current; werden + aufgefordert ihre Verbesserungsvorschläge oder + Fehlerbehebungen einzureichen. Verbesserungsvorschläge, + die Code enthalten, werden übrigens begeistert + entgegengenommen! @@ -1586,6 +1525,7 @@ Was ist &os.stable;? + -STABLE &os.stable; ist der Entwicklungszweig, auf dem Releases @@ -1602,55 +1542,55 @@ Wer braucht &os.stable;? - Wenn Sie den FreeBSD-Entwicklungsprozess, besonders im - Hinblick auf das nächste Release, verfolgen oder - dazu beitragen wollen, sollten Sie erwägen, &os.stable; zu - benutzen. + Wer daran interessiert ist den &os;-Entwicklungsprozess + zu verfolgen oder dazu beizutragen, insbesondere im Hinblick + auf das nächste Hauptversion, der sollte es in Erwägung + ziehen, &os.stable; zu benutzen. Auch wenn sicherheitsrelevante Fehlerbehebungen in den &os.stable; Zweig einfließen, müssen Sie deswegen - noch lange nicht &os.stable; verfolgen. Jeder der FreeBSD - Sicherheitshinweise beschreibt für jedes betroffene Release, - Das stimmt nicht ganz. Obwohl wir alte FreeBSD - Releases für einige Jahre unterstützen, können - wir sie nicht ewig unterstützen. Eine vollständige - Beschreibung der Sicherheitspolitik für alte FreeBSD - Releases entnehmen Sie bitte http://www.FreeBSD.org/security/. - - wie sie einen sicherheitsrelevanten Fehler beheben. - Wenn Sie den Entwicklungszweig aus Sicherheitsgründen - verfolgen wollen, bedenken Sie, dass Sie neben - Fehlerbehebungen auch eine Vielzahl unerwünschter - Änderungen erhalten werden. - + noch lange nicht &os.stable; verfolgen. Jeder &os; + Sicherheitshinweis beschreibt für jedes betroffene Release, + wie der sicherheitsrelevante Fehler behoben wird. + + Eine vollständige Beschreibung der + Sicherheitspolitik für alte &os; Releases entnehmen Sie + http://www.FreeBSD.org/security/. + + Obwohl wir versuchen sicherzustellen, dass der - &os.stable; Zweig sich jederzeit übersetzen lässt - und läuft, können wir dafür keine Garantie - übernehmen. Auch wenn Neuentwicklungen in &os.current; - stattfinden, ist es jedoch so, dass mehr Leute - &os.stable; benutzen als &os.current; und es daher unvermeidlich - ist, dass Fehler und Grenzfälle erst in &os.stable; - auffallen. + &os.stable; Zweig sich jederzeit übersetzen lässt und + lauffähig ist, können wir dafür keine Garantie übernehmen. + Auch wenn Neuentwicklungen in &os.current; stattfinden, ist + es jedoch so, dass mehr Leute &os.stable; anstelle von + &os.current; benutzen und es daher unvermeidlich ist, dass + Fehler und Grenzfälle erst in &os.stable; auffallen. Aus diesen Gründen empfehlen wir Ihnen - nicht, blindlings &os.stable; zu benutzen. - Es ist wichtig, dass Sie &os.stable; zuerst sorgfältig - in einer Testumgebung austesten, bevor Sie Ihre Produktion - auf &os.stable; migrieren. - - Wenn Sie dies nicht leisten können, empfehlen wir Ihnen, - das aktuelle FreeBSD-Release zu verwenden. Benutzen Sie dann den - binären Update-Mechanismus, um auf neue Releases - zu migrieren. + nicht blindlings &os.stable; zu + benutzen. Es ist besonders wichtig, dass &os.stable; zuerst + sorgfältig in einer Testumgebung getestet wird, bevor die + Produktion auf &os.stable; migriert. + + Benutzer, die keine Ressourcen haben, um diese Tests + durchzuführen wird empfohlen, das aktuelle &os;-Release zu + verwenden und den binären Update-Mechanismus zu nutzen, um + auf neue Releases zu migrieren. Benutzen von &os.stable; + + -STABLE + benutzen + + Lesen Sie Mailingliste &a.stable.name;, damit Sie über - Abhängigkeiten beim Bau von &os.stable;-STABLEbenutzen und Sachen, die + Abhängigkeiten beim Bau von &os.stable; und Sachen, die besondere Aufmerksamkeit erfordern, informiert sind. Umstrittene Fehlerbehebungen oder Änderungen werden von den Entwicklern auf dieser Liste bekannt gegeben. Dies @@ -1661,17 +1601,16 @@ SVN-Liste für den jeweiligen Branch, den Sie verfolgen. Wenn Sie beispielsweise den Zweig 9-STABLE verfolgen, lesen Sie die &a.svn-src-stable-9.name;. - Dort sehen Sie zu jeder Änderung das Commit-Log, das - Informationen zu möglichen Seiteneffekten + Diese Liste enthält zu jeder Änderung das Commit-Log, + das Informationen zu möglichen Seiteneffekten enthält. - Um diese Listen oder andere Listen zu abonnieren - besuchen Sie bitte die Seite &a.mailman.lists.link;. - Weitere Informationen erhalten Sie, wenn Sie dort - auf die gewünschte Liste klicken. Wenn Sie daran - interessiert sind, Änderungen am gesamten Quellbaum zu - verfolgen, dann empfehlen wir, dass Sie &a.svn-src-all.name; - abonnieren. + Um diese Listen zu abonnieren, besuchen Sie die + Seite &a.mailman.lists.link;. Klicken Sie auf die + gewünschte Liste und folgenden Sie den Anweisungen. + Wenn Sie daran interessiert sind, Änderungen am gesamten + Quellbaum zu verfolgen, abonnieren Sie + &a.svn-src-all.name;. @@ -1681,84 +1620,65 @@ aktuelle Informationen überprüfen. Alternativ können Sie auch das neueste &os.stable;-Release von den Spiegeln beziehen - und Ihr System nach den folgenden Anweisungen + und das System nach den folgenden Anweisungen aktualisieren. - Wenn Sie schon ein älteres Release von &os; - und das System mit dem Quellcode aktualisieren wollen, - benutzen Sie einen der &os;-Spiegel. Sie haben - dazu drei Möglichkeiten: + Es stehen mehrere Methoden zur Verfügung, um ein + System mit einem älteren Release von einem der + &os;-Spiegel zu + aktualisieren. - Benutzen Sie das Programm - svn-STABLEmit Subversion synchronisieren, - um den gewünschten Entwicklungs- oder Release-Zweig - auszuchecken. Dies ist die empfohlene Methode für den - Zugang zur Entwicklung von &os;. Die Zweige umfassen - head, für den aktuellen - Entwicklungszweig, sowie weitere Zweige die auf der - Release Engineering Seite - beschrieben sind, wie beispielsweise - stable/9 oder - releng/9.0. Das bevorzugte - URL-Präfix für Subversion - zum Auschecken des Basissystems ist - http://svn.freebsd.org/base/. - Aufgrund der Größe des Repositories ist es - empfehlenswert, nur die gewünschten Teilbäume - auszuchecken. + Benutzen Sie svn, um + den gewünschten Entwicklungs- oder Release-Zweig + auszuchecken. Dies ist die empfohlene Methode für + den Zugang zur Entwicklung von &os;. Die Zweige + umfassen head, für den aktuellen + Entwicklungszweig, sowie weitere Zweige die auf der + Release Engineering Seite + beschrieben sind, wie beispielsweise + stable/9 oder + releng/9.0. Das bevorzugte + URL-Präfix für Subversion + zum Auschecken des Basissystems ist + http://svn.freebsd.org/base/. + Aufgrund der Größe des Repositories ist es + empfehlenswert, nur die gewünschten Teilbäume + auszuchecken. - Benutzen Sie das Programm - cvsupcvsup - mit der Datei - stable-supfile-STABLEmit CVSup synchronisiereny - aus dem Verzeichnis - /usr/share/examples/cvsup. - Sie müssen das oben erwähnte - supfile anpassen und - cvsup - konfigurieren. - - - cvsup wurde vom Projekt als - veraltet eingestuft. Der Einsatz dieses Programms - wird nicht weiter empfohlen. - - - - - Benutzen Sie - CTM-STABLEmit CTM synchronisieren. - Wenn Sie über keine schnelle und billige - Internet-Anbindung verfügen, sollten Sie diese - Methode in Betracht ziehen. + + -STABLE + mit CTM synchronisieren + + + Wenn Sie über keine schnelle Internet-Anbindung + verfügen, sollten Sie die Nutzung von + CTM in Betracht + ziehen. - Benutzen Sie cvsup oder - ftp, wenn Sie schnellen Zugriff auf die - Quellen brauchen und die Bandbreite keine Rolle spielt, - andernfalls benutzen Sie - CTM. + Benutzen Sie Subversion, + wenn Sie schnellen Zugriff auf die Quellen brauchen und + die Bandbreite keine Rolle spielt, andernfalls benutzen + Sie CTM. - Bevor Sie &os.stable; übersetzen-STABLEübersetzen, sollten Sie sich - das Makefile in - /usr/src genau anschauen. Wenn Sie - &os; das erste Mal aktualisieren, sollten Sie sowohl + Lesen Sie /usr/src/Makefile + sehr aufmerksam, bevor Sie &os.stable; übersetzen. Wenn + Sie &os; das erste Mal aktualisieren, sollten Sie sowohl einen Kernel als auch das System neu installieren. - Lesen Sie bitte die Mailingliste &a.stable; - und /usr/src/UPDATING, um über - Änderungen im Installationsverfahren, die manchmal - vor der Einführung eines neuen Releases notwendig sind, + Lesen Sie die Mailingliste &a.stable; und + /usr/src/UPDATING, um über + Änderungen im Installationsverfahren, die manchmal vor + der Einführung eines neuen Releases notwendig sind, informiert zu sein. @@ -1771,89 +1691,71 @@ Sie können eine Internet-Verbindung (oder E-Mail) dazu nutzen, Teile von &os;, wie die Quellen zu einzelnen Projekten, oder - das Gesamtsystem, aktuell zu halten. Dazu bieten wir die Dienste - Subversion, - AnonymousCVS, - CVSup und - CTM an. + das Gesamtsystem, aktuell zu halten. Die primären Dienste dafür + sind Subversion und + CTM. Obwohl es möglich ist, nur Teile des Quellbaums zu aktualisieren, ist die einzige unterstütze Migrationsprozedur, - den kompletten Quellbaum zu aktualisieren und alles, das - heißt das Userland (z.B. alle Programme in - /bin und /sbin) und die - Kernelquellen, neu zu übersetzen. Wenn Sie nur einen Teil der - Quellen, zum Beispiel nur den Kernel oder nur die Programme aus dem - Userland, aktualisieren, werden Sie oft Probleme haben, die von + den kompletten Quellbaum zu aktualisieren und alles neu zu + übersetzen. Dazu zählen alle Userland-Programme in + /bin und /sbin, + sowie die Kernelquellen. Wird hingegen nur ein Teil der + Quellen, zum Beispiel nur der Kernel oder nur die Programme + aus dem Userland aktualisiert, treten Probleme auf, die von Übersetzungsfehlern über Kernel-Panics bis hin zu - Beschädigungen Ihrer Daten reichen können. + Beschädigung von Daten reichen können. - CVS - anonymous + Subversion - Subversion, - Anonymous CVS und - CVSup benutzen die + Subversion benutzt die Pull-Methode Von engl. to pull = ziehen. Der Client holt sich bei dieser Methode die Dateien ab. - , um die Quellen zu aktualisieren. Im Fall von - Subversion ruft der Benutzer (oder - ein cron-Skript) das Programm + , um die Quellen zu aktualisieren. Der Benutzer, + oder ein cron-Skript, ruft das Programm svn auf, das die Quellen aktualisiert. Subversion ist die empfohlene - Methode, um die lokalen Quellen zu aktualisieren. - cvsup und cvs arbeiten - nach ähnlichen Prinzipien, gelten aber im Vergleich zu - Subversion als veraltet. Mit beiden Methoden erhalten Sie - aktuelle Updates zu einem genau von Ihnen bestimmten Zeitpunkt. - Sie können die Prozedur auf bestimmte Dateien oder Verzeichnisse - einschränken, so dass Sie nur die Updates bekommen, die - für Sie von Interesse sind. Die Updates werden zur Laufzeit, - abhängig von den Sachen, die Sie schon haben und den Sachen, die - Sie haben wollen, auf dem Server generiert. Falls es keinen - überzeugenden Grund gibt, sollte - Subversion den Vorzug vor anderen - Synchronisierungsmechanismen erhalten, da die Unterstützung für - die älteren Mechanismen in Zukunft eingestellt wird. + Methode, um die lokalen Quellen zu aktualisieren. Mit beiden + Methoden erhalten Sie aktuelle Updates zu einem genau von Ihnen + bestimmten Zeitpunkt. Es ist einfach, die Prozedur auf + bestimmte Dateien oder Verzeichnisse einschränken. Die Updates + werden zur Laufzeit generiert. CTM - Im Gegensatz dazu vergleicht CTM Ihre - Quellen nicht mit denen auf einem Server. Stattdessen läuft auf + CTM vergleicht die Quellen nicht + mit denen auf einem Server. Stattdessen läuft auf dem Server ein Skript, das Änderungen an Dateien gegenüber seinem vorigen Lauf bemerkt, die Änderungen komprimiert, mit einer Sequenznummer versieht und für das Verschicken per E-Mail - kodiert (es werden nur druckbare ASCII-Zeichen verwendet). Wenn Sie - diese CTM-Deltas erhalten haben, können Sie sie - mit &man.ctm.rmail.1; benutzen, welches die Deltas dekodiert, - verifiziert und dann die Änderungen an Ihren Quellen vornimmt. - Dieses Verfahren ist viel effizienter als - CVSup und erzeugt auch weniger Last auf - unseren Servern, da es die + kodiert. Dabei werden nur druckbare ASCII-Zeichen verwendet. + Wenn Sie diese CTM-Deltas erhalten haben, können + Sie sie mit &man.ctm.rmail.1; benutzen, welches die Deltas + dekodiert, verifiziert und dann die Änderungen an den Quellen + vornimmt. Dieses Verfahren ist viel effizienter als + Subversion und erzeugt auch weniger + Last auf den Servern, da es die Push-Methode Von engl. to push = - schieben. Der Server schickt dem Client die - Dateien. + schieben. Der Server schickt dem + Client die Dateien. verwendet. - Es gibt natürlich noch weitere Unterschiede, die Sie - beachten sollten. Wenn Sie unabsichtlich Teile Ihres Archivs - löschen, wird das von CVSup - wie Anonymous CVS erkannt - und repariert. Wenn sich fehlerhafte Dateien in Ihrem Quellbaum - befinden, löschen Sie diese einfach und synchronisieren erneut. - CTM leistet das nicht, - wenn Sie Teile des Quellbaums gelöscht haben und keine Sicherung - besitzen, müssen Sie von neuem, das heißt vom letzten + Es gibt noch weitere Unterschiede. Wenn ein Benutzer + unabsichtlich Teile des Archivs löschen, wird das von + Subversion erkannt und repariert. + CTM leistet das nicht. Wenn ein + Benutzer Teile des Quellbaums gelöscht hat und keine Sicherung + besitzt, muss er von neuem, das heißt vom letzten Basis-Delta, starten und die Änderungen wieder mit CTM nachziehen. @@ -1865,26 +1767,25 @@ Bau des Basissystems - Wenn Sie Ihren lokalen Quellbaum mit einer bestimmten FreeBSD - Version (&os.stable;, &os.current;, usw.) synchronisiert haben, - können Sie diesen benutzen, um das System neu zu + Sobald der lokalen Quellbaum mit einer bestimmten &os; + Version, z.B. &os.stable; oder &os.current; synchronisiert + wurde, kann dieser dazu benutzt werden das System neu zu bauen. Erstellen Sie eine Sicherungskopie! - Es kann nicht oft genug betont werden, wie wichtig es ist, Ihr - System zu sichern, bevor Sie die nachfolgenden - Schritte ausführen. Obwohl der Neubau des Systems eine - einfache Aufgabe ist, wenn Sie sich an die folgende Anleitung - halten, kann es dennoch vorkommen, dass Sie einen Fehler machen, - oder dass Ihr System nicht mehr bootet, weil andere Entwickler - Fehler in den Quellbaum eingeführt haben. + Es kann nicht oft genug betont werden, wie wichtig es ist, + das System zu sichern, bevor die + nachfolgenden Schritte ausgeführt werden. Obwohl der Neubau + des Systems eine einfache Aufgabe ist, kann dennoch vorkommen, + dass Fehler im Quellbaum dazu führen, dass das System nicht + mehr bootet. Stellen Sie sicher, dass Sie eine Sicherung erstellt haben - und über eine Fixit-Floppy oder eine startfähige CD - verfügen. Wahrscheinlich werden Sie die Startmedien - nicht benötigen, aber gehen Sie auf Nummer sicher! + und über ein startfähiges Installationsmedium verfügen. + Wahrscheinlich werden die Medien nicht benötigt, aber + gehen Sie auf Nummer sicher! @@ -1896,82 +1797,80 @@ &os; beitragen, sind Menschen und ab und zu machen sie Fehler. - Manchmal sind diese Fehler harmlos und lassen Ihr System eine - Warnung ausgeben. Die Fehler können allerdings auch - katastrophal sein und dazu führen, dass Sie Ihr System - nicht mehr booten können, Dateisysteme beschädigt - werden oder Schlimmeres passiert. - - Wenn solche Probleme auftauchen, wird ein - heads up an die passende Mailingliste geschickt, welches - das Problem erklärt und die betroffenen Systeme benennt. Eine + Manchmal sind diese Fehler harmlos und lassen das System + eine Warnung ausgeben. Die Fehler können allerdings auch + katastrophal sein und dazu führen, dass das System nicht mehr + booten kann, oder Dateisysteme beschädigt werden. + + Wenn Probleme auftauchen, wird ein heads up + an die passende Mailingliste geschickt, welches das Problem + erklärt und die betroffenen Systeme benennt. Eine all clear Meldung wird versendet, wenn das Problem gelöst ist. - Wenn Sie &os.stable; oder &os.current; benutzen und nicht die - Mailinglisten &a.stable; beziehungsweise &a.current; lesen, bringen - Sie sich nur unnötig in Schwierigkeiten. + Benutzer, die &os.stable; oder &os.current; benutzen und + nicht die Mailinglisten &a.stable; beziehungsweise &a.current; + lesen, bringen sich nur unnötig in Schwierigkeiten. - Finger weg von <command>make world</command> + Verwenden Sie nicht <command>make world</command> - Ältere Dokumentationen empfehlen, das Kommando + Einige ältere Dokumentationen empfehlen make world für den Neubau. - Das Kommando überspringt wichtige Schritte. Setzen - Sie es nur ein, wenn Sie wissen was Sie tun. In fast - allen Fällen ist make world - falsch, benutzen Sie stattdessen die nachstehende - Anleitung. + Das Kommando überspringt jedoch wichtige Schritte und sollte + nur von Experten verwendet werden. In fast allen Fällen ist + make world falsch. Benutzen Sie + stattdessen die nachstehende Anleitung. Richtig aktualisieren - Um Ihr System zu aktualisieren, sollten Sie zuerst - /usr/src/UPDATING lesen, und - eventuelle, für Ihre Quellcodeversion nötigen - Aufgaben erledigen, bevor Sie das System bauen. Danach - aktualisieren Sie Ihr System mit den folgenden - Schritten. - - Bei den hier dargestellten Aktualisierungsschritten wird davon - ausgegangen, dass Sie momentan eine alte &os;-Version verwenden, die - aus einem alten Compiler, Kernel, sowie einem alten Basissystem und - veralteten Konfigurationsdateien besteht. Mit - Basissystem sind hier die zentralen Binärdateien, - Bibliotheken und Entwicklerdateien gemeint. Der Compiler ist Teil - des Basissystems, beinhaltet aber ein paar - Besonderheiten. - - Es wird ausserdem davon ausgegangen, dass Sie bereits die Quellen - für ein neues System bezogen haben. Falls die Quellen in dem - vorliegenden System zu alt sind, lesen Sie , - um detaillierte Hilfe über die Aktualisierung der Quellen zu - erhalten. + Bevor das System aktualisiert wird, lesen Sie + /usr/src/UPDATING, um die für + die Quellcodeversion nötigen Aufgaben zu erledigen, bevor + das System neu gebaut wird. Danach kann das System mit den + folgenden Schritten aktualisiert werden. + + Bei den hier dargestellten Aktualisierungsschritten wird + davon ausgegangen, dass momentan eine alte &os;-Version + verwendet wird, die aus einem alten Compiler, Kernel, sowie + einem alten Basissystem und veralteten Konfigurationsdateien + besteht. Mit Basissystem sind hier die + zentralen Binärdateien, Bibliotheken und Entwicklerdateien + gemeint. Der Compiler ist Teil des + Basissystems, beinhaltet aber ein paar + Besonderheiten. + + Es wird außerdem davon ausgegangen, dass bereits die + Quellen für ein neues System bezogen wurden. Falls die + Quellen nicht auf dem aktuellen Stand sind, lesen Sie + , um detaillierte Hilfe über die + Aktualisierung der Quellen zu erhalten. - Die Aktualisierung des Systems aus den Quellen ist ein wenig - ausgetüftelter als es zunächst den Anschein hat. Die + Die Aktualisierung des Systems aus den Quellen ist ein + wenig ausgetüftelter als es zunächst den Anschein hat. Die Entwickler von &os; haben es über die Jahre für Nötig befunden, den vorgeschlagenen Ablauf ziemlich stark zu verändern, da neue Arten von unvermeidlichen Abhängigkeiten - mit der Zeit ans Licht kamen. Der übrige Teil dieses Abschnitts - beschreibt die Überlegungen hinter der aktuell empfohlenen - Aktualisierungsreihenfolge. + mit der Zeit ans Licht kamen. Der übrige Teil dieses + Abschnitts beschreibt die Überlegungen hinter der aktuell + empfohlenen Aktualisierungsreihenfolge. Jede erfolgreiche Aktualisierung muss sich mit den folgenden Sachverhalten auseinandersetzen: - Der alte Compiler ist möglicherweise nicht in der Lage, - den neuen Kernel zu übersetzen (alte Compiler besitzen - manchmal Fehler). Deshalb sollte der neue Kernel mit dem neuen - Compiler übersetzt werden. Ganz besonders muss darauf - geachtet werden, dass der neue Compiler vor dem neuen Kernel - gebaut wird. Das bedeutet nicht unbedingt, dass der neue - Compiler auch installiert werden muss, bevor - der neue Kernel gebaut wird. + Der alte Compiler ist aufgrund von Fehlern + möglicherweise nicht in der Lage, den neuen Kernel zu + übersetzen. Deshalb sollte der neue Kernel mit dem neuen + Compiler übersetzt werden, was bedeutet, dass der neue + Compiler vor dem neuen Kernel gebaut werden muss. Das + bedeutet nicht unbedingt, dass der neue Compiler auch + installiert werden muss, bevor + der neue Kernel gebaut wird. @@ -1986,17 +1885,15 @@ buildkernel, installkernel und installworld, die in den folgenden - Abschnitten beschrieben wird. Dies ist keine vollständige Liste - all der Gründe, warum Sie den aktuell empfohlenen Prozess der - Aktualisierung bevorzugen sollten. Ein paar der weniger - naheliegenden Gründe sind im folgenden aufgezählt: + Abschnitten beschrieben wird. Weitere Gründe für diese + Vorgehensweise sind hier aufgeführt: Das alte Basissystem wird möglicherweise nicht korrekt - mit dem neuen Kernel funktionieren, weshalb Sie das neue + mit dem neuen Kernel funktionieren, weshalb das neue Basissystem sofort nach der Installation des neuen Kernels - installieren müssen. + installiert werden muss. @@ -2039,11 +1936,10 @@ make buildkernel - Statt dem alten Ansatz, &man.config.8; und - &man.make.1; zu verwenden, nutzt dieser den - neuen Compiler, der in /usr/obj abgelegt ist. - Das schützt Sie vor falschen - Compiler-Kernel-Kombinationen. + Dieser Ansatz nutzt den neuen + Compiler, der in /usr/obj abgelegt + ist, um vor falschen Compiler-Kernel-Kombinationen zu + schützen. @@ -2083,16 +1979,17 @@ make installworld - Kopiert das Basissystem aus /usr/obj. Sie haben jetzt den - neuen Kernel und das neue Basissystem auf der Festplatte. + Kopiert das Basissystem aus + /usr/obj. Der neue Kernel und das + neue Basissystem sind jetzt auf der Platte + installiert. mergemaster - Sie können nun die verbleibenden Konfigurationsdateien - aktualisieren, da Sie nun das neue Basissystem auf der Platte - haben. + Aktualisiert die verbleibenden Konfigurationsdateien, + da nun das neue Basissystem auf der Platte ist. @@ -2106,7 +2003,7 @@ Beachten Sie, dass wenn Sie von einem Release des gleichen &os;-Zweigs auf ein aktuelleres Release des gleichen Zweigs, z.B. - von 7.0 auf 7.1, aktualisieren, dann ist diese Vorgehensweise nicht + 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 @@ -2119,13 +2016,13 @@ und befolgen diese Schritte nicht, sollten Sie sich auf Probleme gefasst machen. - Es ist auch wichtig zu wissen, dass viele Aktualisierungen, z.B. - von 4.X auf 5.0, viele spezielle und - zusätzliche Schritte benötigt, wie beispielsweise das - umbennen oder löschen von speziellen Dateien vor installworld. - Lesen Sie die Datei /usr/src/UPDATING - gründlich, besonders am Ende, wo die aktuell vorgeschlagene - Aktualisierungssequenz explizit aufgelistet ist. + Es ist auch wichtig zu wissen, dass viele Aktualisierungen + spezielle und zusätzliche Schritte benötigen, wie + beispielsweise das umbenennen oder löschen von bestimmten + Dateien vor installworld. Lesen Sie + /usr/src/UPDATING gründlich, besonders am + Ende, wo die aktuell vorgeschlagene Aktualisierungssequenz + explizit aufgelistet ist. Diese Prozedur hat sich mit der Zeit weiterentwickelt, da die Entwickler es für unmöglich erachtet haben, bestimmte @@ -2149,15 +2046,15 @@ 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 Sie - Ihr &os;-System um eine oder mehrere Hauptversionen - aktualisieren. + Situationen treten aber in der Regel nur dann auf, wenn das + &os;-System um eine oder mehrere Hauptversionen aktualisiert + wird. Nachdem installkernel erfolgreich - abgeschlossen wurde, starten Sie das System im Single-User-Modus - (etwa durch die Eingabe von boot -s am - Loaderprompt). Danach führen Sie die folgenden Anweisungen + abgeschlossen wurde, starten Sie das System durch die Eingabe + von boot -s am Loaderprompt im + Single-User-Modus. Danach führen Sie die folgenden Kommandos aus: &prompt.root; mount -u / @@ -2172,25 +2069,22 @@ Lesen Sie bitte weiter - Die obige Vorschrift ist nur eine - Gedächtnisstütze. Um die einzelnen - Schritte zu verstehen, lesen Sie bitte die - folgenden Abschnitte, insbesondere wenn Sie - einen angepassten Kernel erstellen. + Die folgenden Abschnitte beschreiben detailliert + die einzelnen Schritte, insbesondere wenn eine angepasste + Kernelkonfiguration verwendet wird. Lesen Sie <filename>/usr/src/UPDATING</filename> - Bevor Sie etwas anderes tun, lesen Sie bitte - /usr/src/UPDATING (oder die entsprechende - Datei, wenn Sie den Quellcode woanders installiert haben). Die - Datei enthält wichtige Informationen zu Problemen, auf die Sie - stoßen könnten oder gibt die Reihenfolge vor, in der Sie - bestimmte Kommandos laufen lassen müssen. Die Anweisungen in - UPDATING sind aktueller als die in diesem - Handbuch. Im Zweifelsfall folgen Sie bitte den Anweisungen aus + Lesen Sie vor der Aktualisierung + /usr/src/UPDATING. Die Datei enthält + wichtige Informationen zu potentiellen Problemen, und gibt die + Reihenfolge vor, in der bestimmte Kommandos gestartet werden + müssen. Die Anweisungen in UPDATING sind + aktueller als die in diesem Handbuch. Im Zweifelsfall folgen + Sie bitte den Anweisungen aus UPDATING. @@ -2208,7 +2102,8 @@ make.conf - &man.make.1;-Optionen werden in &man.make.conf.5; und + Die verfügbaren &man.make.1;-Optionen werden in + &man.make.conf.5; und /usr/share/examples/etc/make.conf dargestellt. Diese Einstellungen können in /etc/make.conf hinzugefügt werden, um das @@ -2245,48 +2140,43 @@ - Aktualisieren Sie die Dateien in <filename>/etc</filename> + Aktualisieren Sie die Dateien in + <filename>/etc</filename> - Das Verzeichnis /etc enthält den - Großteil der Konfigurationsdateien des Systems und Skripten, - die beim Start des Systems ausgeführt werden. Einige dieser - Skripten ändern sich bei einer Migration auf eine neue - FreeBSD-Version. + /etc enthält den Großteil der + Konfigurationsdateien des Systems und Skripten, die beim Start + des Systems ausgeführt werden. Einige dieser Skripten ändern + sich bei einer Migration auf eine neue &os;-Version. - Einige der Konfigurationsdateien, besonders - /etc/group, werden für den Normalbetrieb + Einige der Konfigurationsdateien, wie beispielsweise + /etc/group, werden für den Normalbetrieb des Systems gebraucht. - Es gab Fälle, in denen das Kommando - make installworld auf bestimmte - Accounts oder Gruppen angewiesen war, die aber während - der Aktualisierung fehlten. Demzufolge kam es zu Problemen - bei der Aktualisierung. In einigen Fällen prüft - make buildworld ob die Accounts oder - Gruppen vorhanden sind. - - Ein Beispiel dafür trat beim Anlegen des Benutzers - smmsp auf. Die Installationsprozedur - schlug an der Stelle fehl, an der &man.mtree.8; - versuchte, /var/spool/clientmqueue - anzulegen. - - Um dieses Problem zu umgehen,rufen Sie &man.mergemaster.8; - prä-buildworld-Modus auf, der mit aktiviert - wird. In diesem Modus werden nur Dateien verglichen, die für - den Erfolg von buildworld oder - installworld essentiell sind. + Es gab Fälle, in denen die Installationsroutine von + make installworld auf bestimmte + Accounts oder Gruppen angewiesen war. Bei einer + Aktualisierung ist es jedoch wahrscheinlich, dass diese + Accounts oder Gruppen noch nicht existieren. In einigen + Fällen prüft make buildworld ob die + Accounts oder Gruppen vorhanden sind. + + Um dieses Problem zu umgehen, rufen Sie + &man.mergemaster.8; im prä-buildworld-Modus auf, der mit + aktiviert wird. In diesem Modus werden + nur Dateien verglichen, die für den Erfolg von + buildworld oder + installworld essentiell + sind. - Wenn Sie besonders paranoid sind, sollten Sie Ihr System nach - Dateien absuchen, die der Gruppe, die Sie umbenennen oder - löschen, gehören: - - &prompt.root; find / -group GID -print - - Das obige Kommando zeigt alle Dateien an, die der Gruppe - GID (dies kann entweder ein - Gruppenname oder eine numerische ID sein) gehören. + Um im System nach Dateien zu suchen die der Gruppe + gehören, die umbenannt oder gelöscht werden soll: + + &prompt.root; find / -group GID -print + + Dieses Kommando zeigt alle Dateien an, die der Gruppe + GID gehören. Dies kann entweder + ein Gruppenname oder eine numerische ID sein. @@ -2294,31 +2184,33 @@ Wechseln Sie in den Single-User-Modus Single-User-Modus - Sie können das System im Single-User-Modus - übersetzen. Abgesehen davon, dass dies etwas schneller - ist, werden bei der Installation des Systems viele wichtige Dateien, - wie die Standard-Systemprogramme, die Bibliotheken und - Include-Dateien, verändert. Sie bringen sich in - Schwierigkeiten, wenn Sie diese Dateien auf einem laufenden System - verändern, besonders dann, wenn zu dieser Zeit Benutzer auf - dem System aktiv sind. + Sie können das System im Single-User-Modus übersetzen. + Bei der Installation des Systems werden viele wichtige + Dateien, wie die Standard-Systemprogramme, die Bibliotheken + und Include-Dateien, verändert. Sie bringen sich in + Schwierigkeiten, wenn Sie diese Dateien auf einem laufenden + System verändern, besonders dann, wenn zu dieser Zeit Benutzer + auf dem System aktiv sind. Mehrbenutzermodus - Eine andere Methode übersetzt das System im - Mehrbenutzermodus und wechselt für die Installation in den - Single-User-Modus. Wenn Sie diese Methode benutzen wollen, warten - Sie mit den folgenden Schritten, bis der Bau des Systems fertig - ist und Sie mit installkernel oder - installworld installieren wollen. + Bei dieser Methode übersetzen Sie das System im + Mehrbenutzermodus und wechseln anschließend für die + Installation in den Single-User-Modus. Wenn Sie diese Methode + benutzen wollen, warten Sie mit den folgenden Schritten, bis + der Bau des Systems abgeschlossen ist. Wechseln Sie dann in + den Single-User-Modus, um + installkernel oder + installworld auszuführen. - Als Superuser können Sie mit dem folgenden Kommando ein - laufendes System in den Single-User-Modus bringen: + Mit dem folgenden Kommando kann ein laufendes System in + den Single-User-Modus gebracht werden: &prompt.root; shutdown now Alternativ können Sie das System mit der Option single user in den Single-User-Modus booten. - Danach geben Sie die folgenden Befehle ein: + Geben Sie dann die folgenden Befehle am Single-User-Modus + Shell-Prompt ein: &prompt.root; fsck -p &prompt.root; mount -u / @@ -2332,17 +2224,16 @@ Swap-Bereich. - Zeigt Ihre CMOS-Uhr die lokale Zeit und nicht GMT an, dies - erkennen Sie daran, dass &man.date.1; die - falsche Zeit und eine falsche Zeitzone anzeigt, setzen Sie das + Zeigt die CMOS-Uhr die lokale Zeit und nicht GMT an + (dies erkennen Sie daran, dass &man.date.1; die falsche + Zeit und eine falsche Zeitzone anzeigt), setzen Sie das folgende Kommando ab: -&prompt.root; adjkerntz -i - Dies stellt sicher, dass Ihre Zeitzone richtig - eingestellt ist. Ohne dieses Kommando werden Sie - vielleicht später Probleme bekommen. - + &prompt.root; adjkerntz -i + Dies stellt sicher, dass die Zeitzone richtig + eingestellt ist. + @@ -2353,15 +2244,13 @@ dort spiegeln die Struktur unter /usr/src. - Sie können den make buildworld Prozess - beschleunigen, indem Sie dieses Verzeichnis entfernen. Dies - erspart Ihnen zudem einigen Ärger aufgrund von - Abhängigkeiten. - - Einige Dateien unter /usr/obj sind - vielleicht durch die -Option - (siehe &man.chflags.1;) schreibgeschützt, die vor dem - Löschen entfernt werden muss. + Um den make buildworld Prozess zu + beschleunigen und Ärger aufgrund von Abhängigkeiten zu + vermeiden, können Sie dieses Verzeichnis entfernen. + + Einige Dateien unter /usr/obj haben + vielleicht die -Option gesetzt, die + zuvor mit &man.chflags.1; entfernt werden muss: &prompt.root; cd /usr/obj &prompt.root; chflags -R noschg * @@ -2374,11 +2263,10 @@ Sichern der Ausgaben - Für den Fall, dass etwas schief geht, sollten Sie - die Ausgaben von &man.make.1; in einer Datei sichern, damit Sie - eine Kopie der Fehlermeldung besitzen. Das mag Ihnen nicht - helfen, den Fehler zu finden, kann aber anderen helfen, wenn Sie - Ihr Problem in einer der &os;-Mailinglisten schildern. + Es ist ratsam, die Ausgaben von &man.make.1; in einer + Datei zu sichern. Wenn etwas schief geht, kann eine Kopie + der Fehlermeldung zu einer der &os;-Mailinglisten gesendet + werden. Dazu können Sie einfach das Kommando &man.script.1; benutzen, dem Sie beim Aufruf als Parameter den Dateinamen @@ -2394,11 +2282,12 @@ &prompt.root; exit Script done, … - Sichern Sie die Ausgaben nicht in /tmp, - da dieses Verzeichnis beim nächsten Boot aufgeräumt - werden kann. Ein geeigneteres Verzeichnis ist - /var/tmp, wie im vorigen Beispiel gezeigt, - oder das Heimatverzeichnis von root. + Sichern Sie die Ausgaben nicht in + /tmp, da dieses Verzeichnis beim + nächsten Reboot aufgeräumt werden kann. Ein geeigneteres + Verzeichnis ist /var/tmp, oder das + Heimatverzeichnis von root. @@ -2412,20 +2301,21 @@ make - Zum Neubau der Welt benutzen Sie &man.make.1;. Dieses - Kommando liest ein Makefile, das Anweisungen - enthält, wie die Programme, aus denen &os; besteht, zu bauen - sind und in welcher Reihenfolge diese zu bauen sind. + Benutzen Sie &man.make.1;, um das Basissystem neu zu + bauen. Dieses Kommando liest Anweisungen aus einem + Makefile, wechles beschreibt, wie die + Programme, aus denen &os; besteht, zu bauen sind und in + welcher Reihenfolge diese zu bauen sind. Ein typischer Aufruf von make sieht wie folgt aus: - &prompt.root; make -x -DVARIABLE target + &prompt.root; make -x -DVARIABLE target In diesem Beispiel ist - eine Option, die - Sie an &man.make.1; weitergeben wollen. Eine Liste gültiger - Optionen finden Sie in der &man.make.1; Manualpage. + eine Option, + die an &man.make.1; weitergegeben wird. Eine Liste gültiger + Optionen finden Sie in &man.make.1;. Das Verhalten eines Makefiles wird von Variablen bestimmt. Mit @@ -2437,7 +2327,7 @@ Um zu verhindern, dass die profiled Bibliotheken gebaut werden, rufen Sie make wie folgt auf: - &prompt.root; make -DNO_PROFILE target + &prompt.root; make -DNO_PROFILE target Dieser Aufruf entspricht dem folgenden Eintrag in /etc/make.conf: @@ -2449,63 +2339,64 @@ target wählen Sie eins dieser Ziele aus. - Einige Ziele im Makefile sind nicht - für den Endanwender gedacht, sondern unterteilen den - Bauprozess in eine Reihe von Einzelschritten. - - Im Regelfall müssen Sie &man.make.1; keine Parameter - mitgeben, so dass Ihre Kommandozeile wie folgt aussehen - wird: + Einige Ziele im Makefile werden + verwendet, um den Bauprozess in eine Reihe von + Einzelschritten zu unterteilen. + + Im Regelfall müssen &man.make.1; keine Parameter + mitgegeben werden, so dass die Kommandozeile wie folgt + aussehen wird: - &prompt.root; make target + &prompt.root; make target target steht dabei für die verschiedenen Ziele. Das erste Ziel sollte immer buildworld sein. - Mit buildworld wird ein kompletter - Baum unterhalb von /usr/obj gebaut, der mit - installworld, einem weiteren Ziel, auf + Mit buildworld wird ein + kompletter Baum unterhalb von /usr/obj + gebaut, der mit installworld auf dem System installiert werden kann. - Über separate Optionen zu verfügen, ist aus - mehreren Gründen nützlich. Erstens - können Sie das System auf einem laufenden System bauen, da die - Bauprozedur abgekapselt vom Rest des Systems ist. Das System - lässt sich im Mehrbenutzermodus ohne negative - Seiteneffekte bauen. Die Installation mit - installworld sollte aber immer noch im - Single-User-Modus erfolgen. - - Zweitens können Sie NFS benutzen, um mehrere Maschinen - in Ihrem Netzwerk zu aktualisieren. Wenn Sie die Maschinen - A, B und C - aktualisieren wollen, lassen sie make - buildworld und make installworld auf - A laufen. Auf den Maschinen B - und C können Sie die - Verzeichnisse /usr/src und - /usr/obj von A einhängen - und brauchen dort nur noch make installworld - auszuführen, um die Bauresultate zu installieren. + Über separate Optionen zu verfügen, ist aus mehreren + Gründen nützlich. Erstens können Sie das System gefahrlos + auf einem laufenden System bauen, da die Bauprozedur vom + Rest des Systems isoliert ist. Das System lässt sich im + Mehrbenutzermodus ohne negative Seiteneffekte bauen. Die + Installation mit installworld + sollte aber immer noch im Single-User-Modus erfolgen. + + Zweitens kann NFS benutzt werden, um mehrere Maschinen + in einem Netzwerk zu aktualisieren. Um die Maschinen + A, B und + C zu aktualisieren, lassen Sie + make buildworld und + make installworld auf + A laufen. Auf den Maschinen + B und C + können Sie die Verzeichnisse /usr/src + und /usr/obj von + A einhängen und brauchen dort nur + noch make installworld auszuführen, um + die Bauresultate zu installieren. Obwohl das Ziel world noch - existiert, sollten Sie es wirklich nicht mehr benutzen. + existiert, sollte es wirklich nicht mehr benutzt + werden. - Um das System zu bauen, setzen Sie das folgende Kommando - ab: + Benutzen Sie stattdessen: &prompt.root; make buildworld Mit können Sie - make anweisen, mehrere Prozesse zu starten. - Besonders effektiv ist das auf Mehrprozessor-Systemen. Da aber - der Übersetzungsprozess hauptsächlich von IO statt - der CPU bestimmt wird, ist diese Option auch auf - Einprozessor-Systemen nützlich. + make anweisen, mehrere Prozesse zu + starten. Besonders effektiv ist das auf + Mehrprozessor-Systemen. Da aber der Übersetzungsprozess + hauptsächlich von I/O statt der CPU bestimmt wird, ist diese + Option auch auf Einprozessor-Systemen nützlich. Auf einem typischen Einprozessor-System können Sie den - folgenden Befehl absetzen: + folgenden Befehl eingeben: &prompt.root; make -j4 buildworld @@ -2514,9 +2405,9 @@ dass dieser Aufruf typischerweise den besten Geschwindigkeitsgewinn bringt. - Wenn Sie ein Mehrprozessor-System besitzen und SMP in Ihrem - Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und 10 - aus. + Wenn Sie ein Mehrprozessor-System besitzen und SMP im + Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und + 10 aus. @@ -2540,92 +2431,93 @@ Übersetzen - Um das Beste aus Ihrem System zu holen, sollten Sie einen neuen - Kernel kompilieren. Praktisch gesehen ist das sogar notwendig, da - sich einige Datenstrukturen geändert haben und Programme wie - &man.ps.1; oder &man.top.1; nur mit einem Kernel zusammen arbeiten, - der auch zu dem entsprechenden Quellcode passt. + Kompilieren Sie einen neuen Kernel, um den vollen Nutzen + aus dem System zu ziehen. Praktisch gesehen ist das sogar + notwendig, da sich einige Datenstrukturen geändert haben und + Programme wie &man.ps.1; und &man.top.1; nur mit einem Kernel + zusammen arbeiten, der auch zu dem entsprechenden Quellcode + passt. Am einfachsten und sichersten bauen Sie dazu den - GENERIC Kernel. Obwohl der - GENERIC Kernel vielleicht nicht alle - Ihre Geräte unterstützt, sollte er alles enthalten, - um das System in den Single-User-Modus zu booten. Dies ist auch - ein guter Test, um zu sehen, dass das System - ordnungsgemäß funktioniert. Nachdem Sie mit - GENERIC gebootet und sichergestellt haben, - dass Ihr System funktioniert, können Sie einen neuen - Kernel mit Ihrer Konfigurationsdatei bauen. + GENERIC Kernel. Obwohl der + GENERIC Kernel vielleicht nicht alle + Geräte unterstützt, sollte er alles enthalten, um das System + in den Single-User-Modus zu booten. Dies ist auch ein guter + Test, um zu sehen, dass das System ordnungsgemäß funktioniert. + Nachdem das System mit GENERIC gebootet + wurde und sichergestellt ist, dass das System funktioniert, + kann ein neuer Kernel basierend auf einer angepassten + Konfigurationsdatei erstellt werden. - In aktuellen &os;-Versionen müssen Sie das + In &os; müssen Sie das Basissystem neu bauen, bevor Sie einen neuen Kernel erstellen. - Wenn Sie einen angepassten Kernel erstellen wollen und - bereits über eine Konfigurationsdatei verfügen, - geben Sie diese, wie im folgenden Beispiel gezeigt, auf der - Kommandozeile an: + Verwenden Sie + KERNCONF=MYKERNEL, + um einen Kernel mit einer vorhandenen, angepassten + Konfigurationsdatei zu erstellen: &prompt.root; cd /usr/src -&prompt.root; make buildkernel KERNCONF=MYKERNEL -&prompt.root; make installkernel KERNCONF=MYKERNEL +&prompt.root; make buildkernel KERNCONF=MYKERNEL +&prompt.root; make installkernel KERNCONF=MYKERNEL Wenn kern.securelevel einen Wert größer als 1 besitzt - und der Kernel mit noschg - oder ähnlichen Optionen geschützt ist, müssen Sie - installkernel im Einbenutzermodus - ausführen. Wenn das nicht der Fall ist, sollten die beiden - Kommandos problemlos im Mehrbenutzermodus laufen. Weitere + und der Kernel mit + noschg oder ähnlichen Optionen geschützt + ist, müssen Sie installkernel im + Single-User-Modus ausführen. Andernfalls laufen diese beiden + Kommandos problemlos im Mehrbenutzermodus. Weitere Informationen über kern.securelevel finden - Sie in &man.init.8; und &man.chflags.1; erläutert Optionen, die - Sie auf Dateien setzen können. + Sie in &man.init.8;. Optionen, die auf Dateien gesetzt werden + können, werden in &man.chflags.1; detailliert + erläutert. Booten Sie in den Single-User-Modus Single-User-Modus - Um zu prüfen, ob der neue Kernel funktioniert, sollten Sie - in den Single-User-Modus booten. Folgen Sie dazu der Anleitung aus + Booten Sie in den Single-User-Modus, um zu prüfen ob der + neue Kernel funktioniert. Folgen Sie dazu den Anweisungen aus . Installation des Systems - Nun können Sie das neue System mit - installworld installieren. - Rufen Sie dazu das folgende Kommando auf: + Nun kann das neue System mit + installworld installiert + werden: &prompt.root; cd /usr/src &prompt.root; make installworld - Wenn Sie mit dem make buildworld Kommando - Variablen verwendet haben, müssen Sie dieselben Variablen - auch bei dem make installworld Kommando - angeben. Auf die anderen Optionen trifft das nur bedingt zu: - darf mit installworld - nicht benutzt werden. + Wenn mit make buildworld Variablen + verwendet werden, müssen dieselben Variablen auch bei + make installworld angegeben werden. Auf + die anderen Optionen trifft das nur bedingt zu: + darf mit + installworld nicht benutzt + werden. - Sie haben zum Bauen die folgende Kommandozeile + Haben Sie zum Bauen die folgende Kommandozeile verwendet: &prompt.root; make -DNO_PROFILE buildworld - Bei der Installation setzen Sie dann das folgende Kommando - ab: + dann installieren Sie das Ergebnis mit: &prompt.root; make -DNO_PROFILE installworld - Würden Sie die Variable bei der Installation weglassen, - so würde das System versuchen, die profiled - Bibliotheken, die aber gar nicht gebaut wurden, zu - installieren. + Andernfalls würde das System bei der Installation + versuchen, die profiled Bibliotheken, die + aber gar nicht gebaut wurden, zu installieren. @@ -2634,16 +2526,14 @@ ausgelassenen Dateien Neue oder geänderte Konfigurationsdateien aus einigen - Verzeichnissen, besonders /etc, - /var und /usr werden bei - der Installationsprozedur nicht berücksichtigt. - - Sie können diese Dateien mit &man.mergemaster.8; - aktualisieren. Alternativ können Sie das auch manuell - durchführen, obwohl wir diesen Weg nicht empfehlen. Egal - welchen Weg Sie beschreiten, sichern Sie vorher den Inhalt von - /etc für den Fall, dass etwas schief - geht. + Verzeichnissen, besonders /etc, + /var und /usr werden + bei der Installationsprozedur nicht berücksichtigt. + + Diese Dateien können einfach mit &man.mergemaster.8; + aktualisiert werden. Sichern Sie + /etc für den Fall, dass während der + Aktualisierung etwas schief geht. <command>mergemaster</command> @@ -2654,24 +2544,25 @@ mergemaster - Das Bourne-Shell Skript &man.mergemaster.8; hilft Ihnen dabei, - die Unterschiede zwischen den Konfigurationsdateien in - /etc und denen im Quellbaum unter - /usr/src/etc zu finden. - mergemaster ist der empfohlene Weg, Ihre - Systemkonfiguration mit dem Quellbaum abzugleichen. + &man.mergemaster.8; ist ein Bourne-Shell Skript, das + dabei behilflich ist die Unterschiede zwischen den + Konfigurationsdateien in /etc und denen + im Quellbaum unter /usr/src/etc zu + finden. mergemaster ist der empfohlene + Weg, die Systemkonfiguration mit dem Quellbaum + abzugleichen. - Rufen Sie mergemaster einfach auf und - schauen Sie zu. Ausgehend von / wird + Um zu beginnen, rufen Sie mergemaster + auf. Ausgehend von / wird mergemaster einen virtuellen Root-Baum aufbauen und darin die neuen Konfigurationsdateien ablegen. - Diese Dateien werden dann mit den auf Ihrem System installierten - verglichen. Unterschiede zwischen den Dateien werden im - &man.diff.1;-Format dargestellt. Neue oder geänderte Zeilen - werden mit gekennzeichnet. Zeilen die - gelöscht oder ersetzt werden, sind mit einem - gekennzeichnet. Das Anzeigeformat wird in - &man.diff.1; genauer erklärt. + Diese Dateien werden dann mit den auf dem System + installierten Dateien verglichen. Unterschiede zwischen den + Dateien werden im &man.diff.1;-Format dargestellt. Neue + oder geänderte Zeilen werden mit + gekennzeichnet. Zeilen die gelöscht oder ersetzt werden, + sind mit gekennzeichnet. Das + Anzeigeformat wird in &man.diff.1; genauer erklärt. &man.mergemaster.8; zeigt Ihnen jede geänderte Datei an und Sie haben die Wahl, die neue Datei (in @@ -2679,18 +2570,13 @@ genannt) zu löschen, sie unverändert zu installieren, den Inhalt der neuen Datei mit dem Inhalt der alten Datei abzugleichen, oder die &man.diff.1; Ausgabe noch einmal zu - sehen. Sie können die aktuelle Datei auch - überspringen, sie wird dann noch einmal angezeigt, nachdem - alle anderen Dateien abgearbeitet wurden. Sie erhalten Hilfe, - wenn Sie bei der Eingabeaufforderung von - mergemaster ein ? - eingeben. + sehen. Wenn Sie die temporäre Datei löschen, geht - mergemaster davon aus, dass Sie Ihre - aktuelle Datei behalten möchten. Wählen Sie die Option - bitte nur dann, wenn Sie keinen Grund sehen, die aktuelle Datei - zu ändern. + mergemaster davon aus, dass Sie die + aktuelle Datei unverändert behalten möchten. Wählen Sie die + Option nur dann, wenn Sie keinen Grund sehen, die aktuelle + Datei zu ändern. Wenn Sie die temporäre Datei installieren, wird Ihre aktuelle Datei mit der neuen Datei überschrieben. Sie @@ -2698,26 +2584,25 @@ Weise aktualisieren. Wenn Sie sich entschließen den Inhalt beider Dateien - abzugleichen, wird ein Texteditor aufgerufen, indem Sie beide - Dateien nebeneinander betrachten können. Mit der Taste - l übernehmen Sie die aktuelle Zeile der - links dargestellten Datei, mit der Taste r - übernehmen Sie die Zeile der rechts dargestellten Datei. - Das Ergebnis ist eine Datei, die aus Teilen der beiden - ursprünglichen Dateien besteht und installiert werden kann. - Dieses Verfahren wird gewöhnlich bei veränderten - Dateien genutzt. + abzugleichen, wird ein Texteditor aufgerufen, in dem Sie + beide Dateien nebeneinander betrachten können. Mit der + Taste l übernehmen Sie die aktuelle Zeile + der links dargestellten Datei, mit der Taste + r übernehmen Sie die Zeile der rechts + dargestellten Datei. Das Ergebnis ist eine Datei, die aus + Teilen der beiden ursprünglichen Dateien besteht und + installiert werden kann. Dieses Verfahren wird gewöhnlich + bei veränderten Dateien genutzt. Haben Sie sich entschieden die Differenzen noch einmal - anzuzeigen, zeigt Ihnen &man.mergemaster.8; dieselbe Ausgabe, die - Sie gesehen haben, bevor die Eingabeaufforderung ausgegeben - wurde. - - Wenn &man.mergemaster.8; alle Systemdateien abgearbeitet hat, - werden weitere Optionen abgefragt. Sie werden unter - Umständen gefragt, ob Sie die Passwort-Datei neu bauen - lassen wollen. Am Ende haben Sie die Möglichkeit, den Rest - der temporären Dateien zu löschen. + anzuzeigen, zeigt &man.mergemaster.8; dieselbe Ausgabe, die + bereits vor der Eingabeaufforderung ausgegeben wurde. + + Wenn &man.mergemaster.8; alle Systemdateien abgearbeitet + hat, werden weitere Optionen abgefragt. Sie werden unter + Umständen gefragt, ob die Passwort-Datei neu gebaut werden + soll. Am Ende haben Sie die Möglichkeit, die restlichen + temporären Dateien zu löschen. @@ -2746,9 +2631,8 @@ Sichern Sie die Inhalte von <filename>/etc</filename> - Obwohl bei dieser Prozedur keine Dateien in - /etc automatisch verändert werden, - sollten Sie dessen Inhalt an einen sicheren Ort + Es wird empfohlen, zuerst das bestehende + /etc an einen sicheren Ort zu kopieren: &prompt.root; cp -Rp /etc /etc.old @@ -2758,11 +2642,11 @@ Dateien, wie Zugriffszeiten und Eigentümer. - Sie müssen die neuen Dateien in einem temporären - Verzeichnis installieren. /var/tmp/root ist - eine gute Wahl für das temporäre Verzeichnis, in dem - auch noch einige Unterverzeichnisse angelegt werden - müssen. + Als nächstes müssen Sie ein temporäres Verzeichnis für + die Installation der neuen Dateien in + /etc erstellen. + /var/tmp/root ist eine gute + Wahl: &prompt.root; mkdir /var/tmp/root &prompt.root; cd /usr/src/etc @@ -2777,51 +2661,48 @@ &prompt.root; cd /var/tmp/root &prompt.root; find -d . -type d | xargs rmdir 2>/dev/null - Im obigen Beispiel wurde die Fehlerausgabe nach - /dev/null umgeleitet, um die Warnungen - über nicht leere Verzeichnisse zu unterdrücken. + Dadurch werden alle leeren Verzeichnisse entfernt. Um + die Warnungen über nicht leere Verzeichnisse zu + unterdrücken, wurde die Standardfehlerausgabe nach + /dev/null umgeleitet. /var/tmp/root enthält nun alle - Dateien, die unterhalb von / installiert - werden müssen. Sie müssen nun jede dieser Dateien mit - den schon existierenden Dateien vergleichen. + Dateien, die unterhalb von / + installiert werden sollten. Sie müssen nun jede dieser + Dateien mit den schon existierenden Dateien des Systems + vergleichen. Einige der installierten Dateien unter /var/tmp/root beginnen mit einem - .. - Als dieses Kapitel verfasst wurde, waren das nur die - Startdateien für die Shells in - /var/tmp/root/ und - /var/tmp/root/root/. Abhängig davon, - wann Sie dieses Handbuch lesen, können mehr Dateien dieser - Art existieren. Verwenden Sie ls -a um + .. Verwenden Sie ls -a um sicherzustellen, dass Sie alle derartigen Dateien finden. - Benutzen Sie &man.diff.1; um Unterschiede zwischen zwei - Dateien festzustellen: + Benutzen Sie &man.diff.1;, um zwei Dateien zu + vergleichen: &prompt.root; diff /etc/shells /var/tmp/root/etc/shells - Das obige Kommando zeigt Ihnen die Unterschiede zwischen der - installierten Version von /etc/shells und - der neuen Version in /var/tmp/root/etc/shells. - Entscheiden Sie anhand der Unterschiede, ob - Sie beide Dateien abgleichen oder die neue Version über die - alte kopieren wollen. + Dieses Kommando zeigt die Unterschiede zwischen der + installierten Version von /etc/shells + und der neuen Version in + /var/tmp/root/etc/shells. Entscheiden + Sie anhand der Unterschiede, ob Sie beide Dateien + abgleichen, oder die alte Version durch die neue Version + ersetzen wollen. - Versehen Sie das temporäre Verzeichnis mit einem + <title>Versehen Sie das temporäre Verzeichnis + <filename>/var/tmp/root</filename> mit einem Zeitstempel - Wenn Sie das System oft neu bauen, müssen Sie - /etc genauso oft aktualisieren. Dies kann - mit der Zeit sehr lästig werden. - - Sie können das Verfahren beschleunigen, wenn Sie sich - eine Kopie der Dateien behalten, die Sie zuletzt nach - /etc installiert haben. Das folgende - Verfahren zeigt Ihnen, wie das geht. + Wenn das System oft neu gebaut wird, muss auch + /etc genauso oft aktualisiert werden. + Dies kann mit der Zeit ein bisschen mühsam werden. + + Um diesen Prozess zu beschleunigen, behalten Sie + eine Kopie der Dateien, die zuletzt nach + /etc installiert wurden. @@ -2829,55 +2710,53 @@ bauen. Wenn Sie /etc und die anderen Verzeichnisse aktualisieren wollen, geben Sie dem temporären Verzeichnis einen Namen, der das aktuelle - Datum enthält. Wenn Sie dies zum Beispiel am - 14. Februar 1998 durchführten, hätten Sie die - folgenden Kommandos abgesetzt: + Datum enthält. - &prompt.root; mkdir /var/tmp/root-19980214 + &prompt.root; mkdir /var/tmp/root-20130214 &prompt.root; cd /usr/src/etc -&prompt.root; make DESTDIR=/var/tmp/root-19980214 \ +&prompt.root; make DESTDIR=/var/tmp/root-20130214 \ distrib-dirs distribution Gleichen Sie die Änderungen entsprechend der - Anleitung von oben ab. - - Wenn Sie fertig sind, entfernen Sie das Verzeichnis - /var/tmp/root-19980214 + Anleitung von oben ab. Wenn Sie fertig sind, + entfernen Sie das Verzeichnis + /var/tmp/root-20130214 nicht. - Wenn Sie nun neue Quellen heruntergeladen und gebaut - haben, folgen Sie bitte Schritt 1. Wenn Sie zwischen den - Updates eine Woche gewartet haben, haben Sie nun ein - Verzeichnis mit dem Namen - /var/tmp/root-19980221. + Nachdem die neuen Quellen heruntergeladen und + gebaut haben, folgen Sie Schritt 1. Erstellen Sie + ein neues Verzeichnis mit einem aktuellen Datum. + Dieses Beispiel verwendet + /var/tmp/root-20130221. - Sie können nun die Unterschiede, die sich in einer - Woche ergeben haben, sehen, indem Sie &man.diff.1; rekursiv - anwenden: + Vergleichen Sie die Unterschiede, die sich in + einer Woche ergeben haben, indem Sie &man.diff.1; + rekursiv anwenden: &prompt.root; cd /var/tmp -&prompt.root; diff -r root-19980214 root-19980221 +&prompt.root; diff -r root-20130214 root-20130221 - Üblicherweise sind die Differenzen, die Sie jetzt - sehen, kleiner als die Differenzen zwischen - /var/tmp/root-19980221/etc und + Üblicherweise sind diese Differenzen kleiner, als + die Differenzen zwischen + /var/tmp/root-20130221/etc und /etc. Da die angezeigten Differenzen kleiner sind, ist es jetzt einfacher den Abgleich der - Dateien durchzuführen. + Dateien in /etc + durchzuführen. - Sie können nun das älteste der beiden - /var/tmp/root-* Verzeichnisse - entfernen: + Wenn Sie fertig sind, können Sie das ältere der + beiden /var/tmp/root-* + Verzeichnisse entfernen: - &prompt.root; rm -rf /var/tmp/root-19980214 + &prompt.root; rm -rf /var/tmp/root-20130214 @@ -2887,8 +2766,8 @@ - Mit &man.date.1; können Sie den Verzeichnisnamen - automatisch erzeugen: + Benutzen Sie &man.date.1;, um die Verzeichnisnamen + automatisch zu erzeugen: &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"` @@ -2898,26 +2777,22 @@ Das System neu starten - Sie sind nun am Ende der Prozedur angelangt. Nachdem Sie sich - davon überzeugt haben, dass Ihr System funktioniert, - starten Sie Ihr System mit &man.shutdown.8; neu: + Nachdem Sie sich davon überzeugt haben, dass alle Dateien + an der richtigen Stelle sind, starten Sie das System mit + &man.shutdown.8; neu: &prompt.root; shutdown -r now - - - - Ende - Herzlichen Glückwunsch! Sie haben gerade erfolgreich Ihr + Herzlichen Glückwunsch! Sie haben gerade erfolgreich ein &os; System aktualisiert. - Es ist übrigens leicht einen Teil des Systems - wiederherzustellen, für den Fall, dass Ihnen ein kleiner - Fehler unterlaufen ist. Wenn Sie beispielsweise während des - Updates oder Abgleichs /etc/magic aus Versehen - gelöscht haben, wird &man.file.1; nicht mehr funktionieren. - In diesem Fall können Sie das Problem mit dem folgenden - Kommando beheben: + Es ist leicht einen Teil des Systems wiederherzustellen, + für den Fall, dass Ihnen ein kleiner Fehler unterlaufen ist. + Wenn beispielsweise während des Updates oder Abgleichs + /etc/magic aus Versehen gelöscht wurde, + wird &man.file.1; nicht mehr funktionieren. In diesem Fall + kann das Problem mit dem folgenden Kommando behoben + werden: &prompt.root; cd /usr/src/usr.bin/file &prompt.root; make all install @@ -2937,7 +2812,7 @@ Darauf gibt es keine einfache Antwort. Was zu tun ist, hängt von den Änderungen ab. Es lohnt wahrscheinlich nicht, alles neu zu bauen, wenn sich bei einem - CVSup-Lauf nur die folgenden + svn-Lauf nur die folgenden Dateien geändert haben: src/games/cribbage/instr.c @@ -2951,8 +2826,8 @@ install ausführen. Wenn sich allerdings etwas Wichtiges, wie src/lib/libc/stdlib, geändert hat, sollten Sie die Welt oder - mindestens die statisch gelinkten Teile des Systems (sowie - Ihre statisch gelinkten Ergänzungen) neu bauen. + mindestens die statisch gelinkten Teile des Systems + neu bauen. Letztendlich ist das Ihre Entscheidung. Sie sind vielleicht damit zufrieden, das System alle zwei Wochen neu @@ -2961,7 +2836,7 @@ Abhängigkeiten zu erkennen, bauen Sie vielleicht auch nur die geänderten Sachen neu. - Das hängt natürlich auch noch davon ab, wie oft + Das hängt auch noch davon ab, wie oft Sie ein Update durchführen wollen und ob Sie &os.stable; oder &os.current; benutzen. @@ -2977,26 +2852,26 @@ Signal 11 - Normalerweise zeigen diese Meldungen Hardwarefehler an. - Ein Neubau der Welt ist ein guter Belastungstest für - Ihre Hardware und zeigt oft Probleme mit dem Speicher auf. - Dies äußert sich darin, dass der Compiler - mit dem Erhalt von seltsamen Signalen abbricht. - - Es liegt garantiert ein Hardwarefehler vor, wenn ein - neuer Übersetzungslauf an einer anderen Stelle - abbricht. - - In diesem Fall können Sie nur einzelne Komponenten - Ihres Systems tauschen, um zu bestimmen, welche Komponente den - Fehler verursacht. + Normalerweise zeigen diese Meldungen Hardwarefehler + an. Ein Neubau der Welt ist ein guter Belastungstest + für die Hardware und zeigt oft Probleme mit dem Speicher + auf. Dies äußert sich darin, dass der Compiler mit + seltsamen Signalen abbricht. + + Es liegt garantiert ein Hardwarefehler vor, wenn + make neu gestartet wird und an einer + anderen Stelle abbricht. + + In diesem Fall können nur einzelne Komponenten des + Systems getauscht werden, um zu bestimmen, welche + Komponente den Fehler verursacht. - Kann ich /usr/obj löschen, wenn - ich fertig bin? + Kann /usr/obj entfernt werden, + wenn ich fertig bin? @@ -3004,23 +2879,25 @@ In /usr/obj werden alle Dateien abgelegt, die während der Übersetzungsphase erstellt - wurden. Dieses Verzeichnis wird in einem der ersten Schritte - der Bauprozedur entfernt. Es macht daher - wenig Sinn, dieses Verzeichnis zu behalten und Sie setzen - eine Menge Plattenplatz, momentan ungefähr 2 GB, - frei, wenn Sie es löschen. - - Wenn Sie allerdings genau wissen, was Sie tun, können - Sie diesen Schritt bei make buildworld - auslassen. Nachfolgende Bauprozeduren werden dadurch erheblich - schneller, da die meisten Quelldateien nicht mehr neu - übersetzt werden. Dafür können aber subtile - Abhängigkeitsprobleme entstehen, die dazu führen, - dass der Bau auf merkwürdige Weise abbrechen kann. - Dies führt häufig zu unnötigen Diskussionen auf - den &os; Mailinglisten, wenn sich jemand über einen - kaputten Bau beschwert, aber nicht sieht, dass er - Probleme hat, weil er eine Abkürzung genommen hat. + wurden. Dieses Verzeichnis wird in einem der ersten + Schritte von make buildworld + entfernt. Es macht daher wenig Sinn, dieses Verzeichnis + zu behalten. Zudem wird ungefähr 2 GB + Plattenspeicher freigegeben, wenn dieses Verzeichnis + gelöscht wird. + + Erfahrene Benutzer können + make buildworld anweisen, diesen + Schritt zu überspringen. Nachfolgende Bauprozeduren + werden dadurch erheblich schneller, da die meisten + Quelldateien nicht mehr neu übersetzt werden müssen. + Dafür können aber subtile Abhängigkeitsprobleme + entstehen, die dazu führen, dass der Bau auf + merkwürdige Weise abbrechen kann. Dies führt häufig zu + unnötigen Diskussionen auf den &os; Mailinglisten, wenn + sich jemand über einen kaputten Bau beschwert, aber + nicht sieht, dass er Probleme hat, weil er eine + Abkürzung genommen hat. @@ -3034,19 +2911,19 @@ Das hängt davon ab, wieweit der Bauprozess fortgeschritten ist. - Üblicherweise werden - essentielle Werkzeuge, wie &man.gcc.1; und &man.make.1;, - und die Systembibliotheken während des Bauprozesses - neu erstellt (dies ist aber keine allgemein gültige - Regel). Die neu erstellen Werkzeuge und Bibliotheken werden - dann benutzt, um sich selbst noch einmal zu bauen, und wieder - installiert. Anschließend wird das Gesamtsystem mit - den neu erstellten Systemdateien gebaut. - - Wenn Sie sich im letzten Schritt befinden und Sie wissen, - dass Sie dort sind, weil Sie durch die Ausgaben, die Sie - ja sichern, der Bauprozedur gesehen haben, können Sie - mit ziemlicher Sicherheit den Bau weiterführen: + Üblicherweise werden durch + make buildworld essentielle + Werkzeuge, wie &man.gcc.1; und &man.make.1;, + und die Systembibliotheken neu erstellt. Die neu + erstellten Werkzeuge und Bibliotheken werden dann + benutzt, um sich selbst noch einmal zu bauen, und wieder + installiert. Anschließend wird das Gesamtsystem, + einschließlich der normalen Benutzerprogramme wie + &man.ls.1; und &man.grep.1;, mit den neu erstellten + Systemdateien gebaut. + + Während der letzten Phase können Sie relativ + gefahrlos folgende Kommandos ausführen: … Fehler beheben … &prompt.root; cd /usr/src @@ -3057,16 +2934,17 @@ Dateien löscht. Das Sie sich im letzten Schritt der Bauprozedur - befinden, erkennen Sie daran, dass Sie in der Ausgabe die - folgenden Zeilen finden: + befinden, erkennen Sie daran, dass Sie in der Ausgabe + von make buildworld die folgenden + Zeilen finden: -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- - Wenn Sie diese Meldung nicht finden, oder sich nicht sicher - sind, dann ist es besser, noch einmal ganz von Vorne - anzufangen. + Wenn diese Meldung nicht angezeigt wird, oder Sie + sich nicht sicher sind, dann ist es besser, noch einmal + ganz von Vorne anzufangen. @@ -3089,72 +2967,71 @@ - Noch besser ist es, diese Dateisysteme auf mehrere - Festplatten mit &man.ccd.4; zu verteilen. + Alternativ können diese Dateisysteme mit + &man.ccd.4; auf mehrere Festplatten verteilt + werden. - Bauen Sie die profiled-Bibliotheken, - die Sie wahrscheinlich sowieso nicht brauchen, nicht. - /etc/make.conf sollte dazu - NO_PROFILE=true enthalten. + Deaktivieren Sie den Bau der + profiled-Bibliotheken, indem Sie + NO_PROFILE=true in + /etc/make.conf + aufnehmen. - Benutzen Sie - , um - mehrere Prozesse parallel laufen zu lassen. + Benutzen Sie make zusammen + mit , + um mehrere Prozesse parallel laufen zu lassen. Normalerweise beschleunigt dies den Bauprozess - unabhängig davon, ob Sie ein Einprozessor- oder - Mehrprozessorsystem einsetzen. + auf Einprozessor- und Mehrprozessorsystemen. - Sie können das Dateisystem - /usr/src mit der Option - einhängen. Dies - verhindert, dass die Zugriffszeiten der Dateien - aktualisiert werden (eine Information, die Sie vielleicht - gar nicht brauchen). + Das Dateisystem /usr/src + kann mit der Option + eingehangen werden. Dies verhindert, dass die + Zugriffszeiten der Dateien aktualisiert + werden. &prompt.root; mount -u -o noatime /usr/src Das Beispiel geht davon aus, dass sich /usr/src auf einem separaten - Dateisystem befindet. Wenn das nicht der Fall ist, - weil das Verzeichnis beispielsweise Teil des + Dateisystem befindet. Wenn es Teil des /usr Dateisystems ist, - müssen Sie anstelle von - /usr/src den Mountpoint des - Dateisystems angeben. + muss dieses Dateisystem als Mountpoint angegeben + werden. Das Dateisystem, in dem sich - /usr/obj befindet, kann mit der - Option eingehangen werden. Dies - bewirkt, dass Schreibzugriffe auf die Platte - asynchron stattfinden, das heißt ein Schreibzugriff - ist sofort beendet, die Daten werden allerdings erst einige - Sekunden später geschrieben. Dadurch können + /usr/obj befindet, kann mit + eingehangen werden, so dass + Schreibzugriffe auf die Platte asynchron + stattfinden. Das heißt ein Schreibzugriff ist + sofort beendet, die Daten werden allerdings erst + einige Sekunden später geschrieben. Dadurch können Schreibzugriffe zusammengefasst werden, was einen erheblichen Geschwindigkeitszuwachs mit sich bringen kann. - Beachten Sie, dass dies Ihr Dateisystem + Beachten Sie, dass dies das Dateisystem anfälliger für Fehler macht. Im Fall eines Stromausfalls besteht eine erhöhte Wahrscheinlichkeit, dass das Dateisystem beim Start der Maschine zerstört ist. - Wenn sich /usr/obj auf einem - extra Dateisystem befindet, ist das kein Problem. Wenn - sich allerdings auf diesem Dateisystem noch andere - wertvolle Daten befinden, stellen Sie sicher, dass - Sie aktuelle Sicherungen besitzen. + Wenn /usr/obj das einzige + Verzeichnis auf auf diesem Dateisystem ist, stellt + das kein Problem dar. Wenn sich allerdings auf + diesem Dateisystem noch andere wertvolle Daten + befinden, stellen Sie sicher, dass Sie über + aktuelle Sicherungen verfügen. &prompt.root; mount -u -o async /usr/obj @@ -3177,8 +3054,7 @@ Stellen Sie sicher, dass sich in Ihrer Umgebung - keine Reste eines vorherigen Baus befinden. Das geht ganz - einfach: + keine Reste eines vorherigen Baus befinden: &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr @@ -3189,9 +3065,8 @@ Ja, make cleandir muss wirklich zweimal aufgerufen werden. - Nachdem Sie aufgeräumt haben, starten Sie den - Bauprozess wieder mit make - buildworld. + Danach starten Sie den Bauprozess wieder mit + make buildworld. Wenn Sie immer noch Probleme haben, schicken Sie die Fehlermeldungen und die Ausgabe von uname @@ -3219,41 +3094,42 @@ Aufgrund der ständigen Weiterentwicklung von &os; kann es - dazu kommen, dass Dateien (und deren Inhalte) obsolet werden, weil + dazu kommen, dass Dateien und deren Inhalte obsolet werden, weil deren Funktionalität entweder in anderen Dateien implementiert wurde, sich die Versionsnummer der Bibliothek geändert hat oder deren Funktion nicht mehr benötigt wird. Dies kann - sowohl Dateien und Verzeichnis, aber auch Bibliotheken betreffen. - Diese veralteten Dateien sollten daher entfernt werden, bevor Sie - Ihr System aktualisieren. Der Vorteil für den Benutzer ist - darin zu sehen, dass dessen System (sowie dessen Backup) von - nicht mehr benötigten Dateien gereinigt wird. Falls die - obsolete Bibliothek Sicherheits- oder Stabilitätsprobleme - aufweist, sollte das System ebenfalls aktualisiert werden, um - Ihr System sicher zu halten und/oder durch die fehlerhafte - Bibliothek verursachte Systemabstürze zu vermeiden. Veraltete - Dateien, Verzeichnisse und Bibliotheken sind in der Datei - /usr/src/ObsoleteFiles.inc aufgelistet. Die - folgenden Anweisungen sollen Ihnen dabei helfen, diese Dateien + sowohl Dateien und Verzeichnisse, aber auch Bibliotheken + betreffen. Diese veralteten Dateien sollten daher entfernt + werden, wenn das System aktualisiert wird. Der Vorteil besteht + darin, dass das System von nicht mehr benötigten Dateien + befreit wird. Falls die obsolete Bibliothek Sicherheits- oder + Stabilitätsprobleme aufweist, sollte das System ebenfalls + aktualisiert werden, um das System sicher zu halten und/oder + durch die fehlerhafte Bibliothek verursachte Systemabstürze zu + vermeiden. Veraltete Dateien, Verzeichnisse und Bibliotheken + sind in der Datei + /usr/src/ObsoleteFiles.inc aufgelistet. + Verwenden Sie die folgenden Anweisungen, um diese Dateien während der Systemaktualisierung zu entfernen. - Im Folgenden wird angenommen, dass Sie den Anweisungen von - folgen. Nachdem Sie + Folgen Sie den Anweisungen von + . Nachdem Sie make installworld sowie mergemaster erfolgreich ausgeführt - haben, sollten Sie Ihr System auf veraltete Dateien und - Bibliotheken hin überprüfen: + haben, überprüfen Sie das System auf veraltete Dateien und + Bibliotheken: &prompt.root; cd /usr/src &prompt.root; make check-old Werden dabei veraltete Dateien gefunden, können diese - im nächsten Schritt entfernt werden: + mit dem folgenden Kommando entfernt werden: &prompt.root; make delete-old - Weitere interessante Targets finden sich in der Datei + Weitere interessante + targets finden Sie in /usr/src/Makefile. @@ -3261,14 +3137,13 @@ löschen wollen. Es ist aber auch möglich, alle Dateien automatisch löschen zu lassen. Dies erreichen Sie, indem Sie die Umgebungsvariable - BATCH_DELETE_OLD_FILES entsprechend - setzen: + BATCH_DELETE_OLD_FILES setzen: &prompt.root; make -DBATCH_DELETE_OLD_FILES delete-old - Alternativ können Sie auch den folgenden Befehl - einsetzen (und jeweils die Antwort yes - an die einzelnen Abfragen weiterreichen): + Alternativ können Sie auch yes + einsetzen und somit die Antwort yes + an die einzelnen Abfragen weiterreichen: &prompt.root; yes | make delete-old @@ -3307,11 +3182,10 @@ Danach deinstallieren Sie den Port und bauen ihn neu, um ihn danach erneut zu installieren. Dieser Vorgang kann durch den - Einsatz der Werkzeuge ports-mgmt/portmaster oder ports-mgmt/portupgrade automatisiert - werden. Nachdem Sie alle Ports erfolgreich neu gebaut haben - (und Sie daher keine veralteten Bibliotheken mehr verwenden) - können Sie die veralteten Bibliotheken endgültig - entfernen: + Einsatz von ports-mgmt/portmaster automatisiert + werden. Nachdem alle Ports neu gebaut wurden und keine alten + alten Bibliotheken mehr verwenden werden, können Sie die alten + Bibliotheken endgültig entfernen: &prompt.root; make delete-old-libs @@ -3324,8 +3198,8 @@ - Wenn Sie mehrere Maschinen besitzen, die Sie alle auf dem - gleichen Stand halten wollen, ist es eine Verschwendung von + Wenn Sie mehrere Maschinen alle auf dem gleichen Stand + halten wollen, ist es eine Verschwendung von Ressourcen, die Quellen auf jeder Maschine vorzuhalten und zu übersetzen. Die Lösung dazu ist, eine Maschine den Großteil der Arbeit durchführen zu lassen und den anderen @@ -3373,25 +3247,25 @@ werden. Geben Sie dabei den Kernel des Bau-Masters zuerst an. Für jeden zu bauenden Kernel muss auf dem Bau-Master die entsprechende Konfigurationsdatei unter - /usr/src/sys/arch/conf + /usr/src/sys/arch/conf abgelegt werden. Installation des Basissystems - Nach diesen Vorbereitungen können Sie mit dem Bau - beginnen. Bauen Sie auf dem Bau-Master, wie in beschrieben, den Kernel und die Welt, - installieren Sie aber nichts. Wechseln Sie auf die Testmaschine - und installieren Sie den gerade gebauten Kernel. Wenn diese - Maschine /usr/src und - /usr/obj über NFS bekommt, müssen - Sie das Netzwerk im Single-User-Modus aktivieren und die beiden + Bauen Sie auf dem Bau-Master, wie in beschrieben, den Kernel und die + Welt, installieren Sie aber nichts. Wechseln Sie auf die + Testmaschine und installieren Sie den gerade gebauten Kernel. + Wenn diese Maschine /usr/src und + /usr/obj über NFS bekommt, müssen Sie das + Netzwerk im Single-User-Modus aktivieren und die beiden Dateisysteme einhängen. Am einfachsten ist dies, wenn Sie - auf der Testmaschine ausgehend vom Mehrbenutzermodus mit - shutdown now in den Single-User-Modus wechseln. - Sie können dann mit der normalen Prozedur den neuen Kernel - und das System installieren und anschließend + auf der Testmaschine vom Mehrbenutzermodus mit + shutdown now in den Single-User-Modus + wechseln. Sie können dann mit der normalen Prozedur den neuen + Kernel und das System installieren und anschließend mergemaster laufen lassen. Wenn Sie damit fertig sind, können Sie die Maschine wieder in den Mehrbenutzermodus booten.