FreeBSD 5.3-RELEASE Migrationsleitfaden

The FreeBSD Release Engineering Team

$FreeBSD$

FreeBSD ist ein eingetragenes Warenzeichen von Wind River Systems, Inc. Dies soll sich bald ändern.

Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime und TrueType sind eingetragene Warenzeichen von Apple Computer, Inc., in den Vereinigten Staaten und anderen Ländern.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390 und ThinPad sind Warenzeichen der International Business Machines Corporation in den Vereinigten Staaten, anderen Ländern oder beiden.

IEEE, POSIX und 802 sind eingetragene Warenzeichen vom Institute of Electrical and Electronics Engineers, Inc. in den Vereinigten Staaten.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium und Xeon sind Warenzeichen oder eingetragene Warenzeichen der Intel Corporation oder ihrer Gesellschaften in den Vereinigten Staaten und in anderen Ländern.

Microsoft, FrontPage, MS-DOS, Outlook, Windows, Windows Media und Windows NT sind entweder eingetragene Warenzeichen oder Warenzeichen der Microsoft Corporation in den Vereinigten Staaten und/oder in anderen Ländern.

Sparc, Sparc64, SPARCEngine und UltraSPARC sind Warenzeichen von SPARC International, Inc in den Vereinigten Staaten und in anderen Ländern. Produkte, die das Warenzeichen SPARC tragen, basieren auf einer von Sun Microsystems, Inc. entwickelten Architektur.

Viele Produktbezeichnungen von Herstellern und Verkäufern sind Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt ist, werden die in diesem Dokument vorkommenden Bezeichnungen mit dem Symbol ``™'' oder dem Symbol ``®'' gekennzeichnet.

Dieser Leitfaden beschreibt die wesentlichen Unterschiede zwischen FreeBSD 4.X und FreeBSD 5.3-RELEASE aus Sicht eines Benutzers oder Administrators, der ein existierendes System aktualisiert. Der Leitfaden beschreibt kurz die vor und während einer Veröffentlichung ablaufenden Prozesse. Danach beschreibt er die neuen Funktionen in FreeBSD 5.X sowie Änderungen, die relevant für Benutzer sind, die bisher mit 4.X Releases gearbeitet haben. Weiterhin beschreibt der Leitfaden wie existierende Systeme mit Hilfe der Quellen oder mit Hilfe von Binärcode migriert werden. Dieses Dokument erschien vor FreeBSD 5.X unter dem Titel ``Hinweise für die ersten Anwender von FreeBSD 5.3-RELEASE''.


1. Einführung

Mit FreeBSD 5.3-RELEASE startet eine neue Serie von ``FreeBSD-STABLE'' Releases. Diese Release und künftige Releases der 5.X-Serie sind wie die vorhergehenden 4.X-Releases für den produktiven Einsatz gedacht.

Dieser Artikel wendet sich an Benutzer, die von 4.X-Release auf 5.3-RELEASE migrieren. Zuerst wird beschrieben, wie eine neue FreeBSD-Version veröffentlicht wird. Anschließend werden einige der neuen Funktionen in FreeBSD 5.X beschrieben. Der wahrscheinlich wichtigste Abschnitt beschreibt die wesentlichen Änderungen, für Benutzer sichtbare Änderungen oder Änderungen an externen Schnittstellen. Zuletzt gibt der Artikel Hinweise, wie bestehende FreeBSD 4.X-Systeme mit Binärcode oder mit den Quellen auf FreeBSD 5.3-RELEASE migriert werden.


2. Veröffentlichung neuer FreeBSD-Versionen

Das Prinzip der FreeBSD-Entwicklung ist die Verwendung mehrerer Entwicklungszweige innerhalb eines ``CVS Repository''. Der Hauptzweig wird ``CURRENT'' genannt und innerhalb des Repository mit dem symbolischen Namen HEAD referenziert. Neue Funktionen werden zunächst in diesen Zweig eingebracht. Auch wenn neue Funktionen zuerst nur in CURRENT zur Verfügung stehen, bereitet dieser Zweig von Zeit zu Zeit Kummer, während die Neuerungen getestet und ihre Fehler entfernt werden.

Wenn eine neue FreeBSD-Version veröffentlicht wird, basiert diese in der Regel auf einem der ``STABLE'' (stabil) genannten Entwicklungszweige. Neuerungen werden in diese Entwicklungszweige übernommen, nachdem sie in CURRENT getestet wurden. In den letzten zwei Jahren gab es nur einen aktiven STABLE-Entwicklungszweig: ``4-STABLE''; dieser Zweig war die Grundlage für alle 4.X Versionen. Dieser Zweig wird innerhalb des CVS Repository durch den symbolischen Namen RELENG_4 gekennzeichnet.

Die letzten beiden STABLE-Entwicklungszweige (3-STABLE und 4-STABLE) wurden sehr früh im Entwicklungsablauf (verzweigt wurde bei 3.1 und 4.0) erzeugt. Rückblickend müssen wir feststellen, daß dadurch in beiden Fällen nicht genug Zeit war, um CURRENT zu stabilisieren, bevor der neue Entwicklungszweig eingerichtet wurde. Dies führte zu unnötiger Mehrarbeit, da Fehlerkorrekturen von einem Zweig in den anderen Zweig übertragen werden mußten; außerdem kam es zu einigen Änderungen in der Architektur, die nicht in den jeweils anderen Zweig übernommen werden konnten.

Die 5.X-Releases wurden anders gehandhabt. FreeBSD 5.0, 5.1 und 5.2 wurden auf dem CURRENT-Zweig erzeugt. Das erste dieser Releases wurde nach einer Entwicklungszeit von über zwei Jahren herausgegeben (das letzte Release aus HEAD war FreeBSD 4.0 im März 2000).

Der ``5-STABLE-Zweig'' wurde im Gegensatz zu anderen ``STABLE-Zweigen'' erst ein Jahr nach dem ersten 5.X-Release im CVS mit dem Tag RELENG_5 erzeugt (während der Erstellung des 5.3 Releases). Diese Verzögerung gab den Entwicklern Zeit, Änderungen an der Architektur vorzunehmen, die Änderungen zu stabilisieren, Schnittstellen fertigzustellen und damit einen guten Ausgangspunkt für weitere 5.X-Releases zu schaffen.

Abgesehen von allgemeinen Verbesserungen und Fehlerbehebungen liegt die Priorität bei der Entwicklung des 5-STABLE-Zweiges in der Beibehaltung der Application Binary Interface (ABI) und der Kompatibilität der Application Program Interface (API). Änderungen, die die Rückwärtskompatibilität gefährden, sind mit Ausnahme von Fehlerbehebungen für kritische Fehler nicht erlaubt.

Das nächste CURRENT-Release aus dem CVS HEAD wird 6.0-RELEASE sein. Zum Zeitpunkt von 5.3-Release steht noch nicht fest, wann 6.0 veröffentlicht wird, es wird mit dem Jahr 2006 gerechnet.

Die Entwicklung des 4-STABLE-Zweiges wird begrenzt weitergeführt und es wird noch mindestens ein Release (4.11) nach 5.3-RELEASE geben. Für besonders konservative Anwender ist es sinnvoll, 4.X-Releases noch einige Zeit weiter zu benutzen. Releases aus dem 4-STABLE-Zweig werden weiterhin vom Security Officer Team unterstützt. Die Wartungsenden finden Sie auf der Seite Sicherheit des FreeBSD-Webauftritts.

Weitere Informationen über den Ablauf bei der Veröffentlichung einer neuen FreeBSD Version finden Sie auf den Release Engineering Web pages und im Artikel FreeBSD Release Engineering.


3. Neuerungen

Die Glanzpunkte von FreeBSD 5.X sind die vielen Neuerungen. Diese Neuerungen und die neue Funktionalität basieren zum größten Teil auf massiven Änderungen der Systemarchitektur, die nicht in den Entwicklungszweig 4-STABLE eingepflegt wurden. Viele in sich abgeschlossene Änderungen wie neue oder aktualisierte Gerätetreiber oder neue Benutzerprogramme wurden dagegen schon nach 4-STABLE übernommen. Die folgende Liste enthält eine kurze Übersicht über die wichtigsten Neuerungen:

Eine ausführlichere Übersicht über die Neuerungen finden Sie in den ``Release Notes'' für die verschiedenen FreeBSD 5.X Versionen.


4. Beachtenswerte Änderungen

Einige der Unterschiede zwischen FreeBSD 4.X und FreeBSD 5.X müssen besonders herausgestellt werden, das sie Änderungen der Architektur sind oder nicht rückwärtskompatibel sind. Auch wenn diese Änderungen keinen Datenverlust verursachen, können sie doch zu Verwirrung führen. Einige beachtenswerte Änderungen sind in der folgenden Liste zusammengefaßt:

Weitere Informationen enthalten die Release-Notes der verschiedenen FreeBSD 5.X Releases und die Datei src/UPDATING im FreeBSD-Quellbaum. Beachtenswerte Änderungen der Ports-Collection werden in den Dateien ports/UPDATING und ports/CHANGES im Ports-Baum beschrieben.


5. Hinweise für die Aktualisierung von FreeBSD 4.X

Dieses Kapitel enthält Hinweise für Anwender, die ihr bestehendes FreeBSD 4.X System auf FreeBSD 5.X aktualisieren wollen. Wie bei jeder Aktualisierung ist es auf jeden Fall notwendig, vorher die Release Notes und die Errata der neuen Version zu lesen; bei Aktualisierung über den Quellcode ist src/UPDATING Pflichtlektüre.


5.1. Aktualisierung ohne Quellcode

Der einfachste Ansatz ist immer noch ``Sicherheitskopien erstellen, Platte formatieren, neues System installieren, Benutzerdaten wieder einspielen''. Dadurch werden alle Probleme mit veralteten und nicht kompatiblen Programmen und Konfigurationsdateien umgangen. Die neuen Dateisysteme können maximalen Nutzen aus den diversen Neuerungen (speziell UFS2) ziehen.

Zum gegenwärtigen Zeitpunkt ist die ``Upgrade''-Option in sysinstall(8) zur Migration auf eine neue Hauptversion unzureichend getestet. Wir raten daher dringend von der Verwendung dieser Funktion ab.

Einige Änderungen betreffen vielleicht Benutzer der FreeBSD  4.X Startmedien. Die Installationsdisketten sind (auf Plattformen, wie i386, die Disketten unterstützen) anders aufgebaut. Unter 4.X Releases enthielten die Startdisketten einen Mini-Kernel, der gerade ausreichte, um das System zu installieren. Mit dieser Aufteilung konnte der Kernel auf einer einzigen Diskette gespeichert werden, doch fehlten unter Umständen Treiber für bestimmte Hardware-Konfigurationen. Ab FreeBSD 5.3-RELEASE enthalten die Startdisketten einen GENERIC-Kernel, der über mehrere Disketten verteilt ist und mehr Treiber und mehr Funktionen enthält. Der Boot-Loader fordert das Einlegen weiterer Disketten an. Benutzer, die Installationsdisketten herunterladen (vielleicht um eine Netzwerkinstallation durchzuführen), sollten beachten, daß es jetzt drei Installationsdisketten gibt: boot.flp, kern1.flp und kern2.flp.

Bei einer Installation von CD-ROM auf einem i386™-System wird jetzt ein neues Startprogramm mit dem Namen ``no-emulation boot loader'' genutzt. Dadurch ist es unter anderem möglich, auf der CD den Standardkernel (GENERIC) statt des auf den Disketten verwendeten Mini-Kernels zu nutzen. Jedes System, das von den Installations-CDs für Microsoft Windows NT® 4.0 booten kann, sollte auch mit den FreeBSD 5.X CD-ROMs zurechtkommen.


5.2. Aktualisierung mit Quellcode

Anmerkung: Viele Benutzer und Entwickler bevorzugen eine einfachere Art der Installation. Sichern Sie alle Daten und Konfigurationsdateien und installieren Sie das System mit Binärdateien (beispielsweise von einer CD-ROM). Spielen Sie anschließend die gesicherten Daten zurück. Verglichen mit einer Installation über den Quellcode, müssen Sie sich bei diesem Verfahren nicht um alte Dateien und Programme kümmern und Sie können neue Funktionen, wie das UFS2-Dateisystem benutzen.

Benutzer, die nicht mit der Bauprozedur (buildworld/installworld) vertraut sind, sollten nicht mit dem Quellcode aktualisieren und stattdessen nach einer Datensicherung mit Binärdateien installieren.

Eine Aktualisierung mit Quellcode baut und installiert Binärdateien aus lokal auf der Maschine liegenden Quellcode. Die Aktualisierung beruht auf der buildworld/installworld Prozedur, die von erfahrenen Benutzern verwendet wird, um Änderungen in einem Entwicklungszweig (wie FreeBSD-STABLE oder FreeBSD-CURRENT) zu verfolgen. Allgemein ist diese Prozedur aufwendiger als die Installation mit Binärdateien, sie kann aber nützlich sein, wenn die Systemkonfiguration komplex oder stark angepaßt ist. Eine Aktualisierung mit Quellcode ist auch nützlich für ein entferntes System, auf das der Administrator keinen Zugriff hat und daher auch keine Installationsmedien einlegen kann.

Es ist auf jeden Fall erforderlich, vor der Aktualisierung src/UPDATING zu lesen. Der Abschnitt ``To upgrade in-place from 4.x-stable to current'' enthält eine Schritt-für-Schritt Anleitung, der Sie unbedingt folgen müssen, die Nutzung der üblichen ``Abkürzungen'' ist nicht möglich. Die folgende Liste beschreibt und kommentiert die nötigen Schritte:

  1. Sichern Sie Ihre Daten.

    Die Wichtigkeit dieses Schrittes kann nicht oft genug betont werden. Es ist wichtig, Sicherungen von allen Benutzerdaten und Konfigurationsdateien zu erstellen. Volle Sicherungen (Level 0) mit dump(8) sind dafür geeignet, es gibt allerdings auch andere Möglichkeiten.

  2. Stellen Sie sicher, daß im /-Dateisystem ungefähr 30 MB frei sind.

    FreeBSD 5.X benötigt mehr Platz als FreeBSD 4.X. Wenn das Verzeichnis /tmp im /-Dateisystem liegt (was oft der Fall ist), können Sie Platz schaffen, indem Sie alle Dateien in diesem Verzeichnis löschen.

  3. Wenn nötig, editieren Sie /etc/fstab.

    Dieser Punkt betrifft wahrscheinlich nur ältere FreeBSD/i386 Systeme. Auf Systemen, die Disk-Slices mit MBRs besitzen, unterstützte FreeBSD sogenannte ``compatibility slices''. Der Name dieser Slices war etwa /dev/ad0a (ohne ausdrücklich die Slice zu benennen). Diese Slices werden nicht mehr unterstützt. Slices müssen Namen wie /dev/ad0s1a tragen. Der Name muss das Laufwerk, die Nummer der Slice und den Buchstaben der Partition enthalten.

    Beachten Sie, daß ``compatibility slices'' seit FreeBSD 2.2.6-RELEASE nicht mehr benutzt werden. Ignorieren Sie diesen Punkt wenn Sie FreeBSD/alpha Systeme oder Systeme mit ``dangerously dediated'' Platten benutzen.

  4. Besorgen Sie sich, beispielsweise mit CVS, eine Kopie der Quellen des Basissystems (das Modul src/). Mit CVS benutzen Sie für FreeBSD 5.3-RELEASE das Tag RELENG_5_3_0_RELEASE, für den 5.3-Zweig (in dem Fehlerbehebungen stattfinden) nehmen Sie das Tag RELENG_5_3. Wenn Sie den 5-STABLE-Zweig verfolgen wollen, verwenden Sie das Tag RELENG_5. Falls Sie die Quellen mit CVS auschecken, vergessen Sie nicht die Option -P anzugeben, damit CVS leere Verzeichnisse entfernt.

  5. FreeBSD 5.X benötigt einige neue Einträge in der Paßwort- und Gruppendatei. Erzeugen Sie diese Einträge mit Hilfe des nachstehenden Kommandos:

    # mergemaster -p
    

    Dieser Schritt muß ausgeführt werden, damit neue Dateien dem richtigen Benutzerkonto und der richtigen Gruppe gehören.

    Beachten Sie, daß in FreeBSD 5.X das Werkzeug nologin(8) von /sbin/nologin nach /usr/sbin/nologin verschoben wurde. Die Login-Shell einiger Pseudo-Benutzer ist nologin(8) daher entstehen weitere Unterschiede in /etc/passwd.

  6. Bauen Sie mit dem nachstehenden Kommando die Benutzerwerkzeuge (Userland):

    # cd /usr/src
    # make buildworld
    

    Wenn die Variable CPUTYPE in /etc/make.conf definiert wird, sollte sie mit Operator ?= definiert werden. Damit kann der buildworld-Prozeß, falls es nötig sein sollte, die Variable überschreiben.

    Beachten Sie, daß MAKEOBJDIRPREFIX nicht in /etc/make.conf definiert werden darf.

    Allgemein sollten die meisten der Bauoptionen in /etc/make.conf auskommentiert oder entfernt sein. Besonders gilt das für Optionen, die direkt Bau- oder Basisfunktionen des Systems beeinflussen (wie NO_TOOLCHAIN).

  7. Bauen und installieren Sie einen neuen Kernel:

    # make buildkernel
    

    Das make(1)-Ziel buildkernel muß verwendet werden, damit der neue Kernel mit den im vorigen Schritt (buildworld) erzeugten Benutzerwerkzeugen gebaut wird. Sie können die Bauumgebung nicht manuell mit dem Werkzeug config(8) erzeugen.

    Auch wenn es praktisch ist, in diesem Schritt einen angepaßten Kernel zu erzeugen, sollten Sie das System mit einem GENERIC-Kernel aktualisieren. Diese Vorgehensweise ist weniger fehleranfällig. Wenn Sie das erste Mal einen angepaßten Kernel erstellen, benutzen Sie bitte den GENERIC-Kernel von FreeBSD 5.X als Vorlage, da viele Treiber und Optionen neu sind oder sich geändert haben. Auf jeden Fall sollten Sie die Option COMPAT_FREEBSD4 in die Kernelkonfiguration aufnehmen, da die Option Voraussetzung für eine erfolgreiche Aktualisierung ist.

  8. Erzeugen Sie mit einer Variante des folgenden Kommandos für ISA-Geräte die Datei device.hints. Setzen Sie für MACHINE den Namen der passenden Architektur (beispielsweise i386) ein.

    # cp sys/MACHINE/conf/GENERIC.hints /boot/device.hints
    

    Mit moderner Hardware kann die Datei device.hints leer sein. Auf Systemen mit non-PNP ISA-Karten (hier muß die Datei angepaßt werden), Systemen ohne PNPBIOS oder PNPBIOS-Systemen, die mit Disketten gestartet werden, ist die Datei zwingend erforderlich.

  9. Installieren Sie den neuen Kernel:

    # make installkernel
    

    Unter FreeBSD 4.X wurde der Kernel in /kernel installiert. Unter FreeBSD 5.X wird der Kernel nach /boot/kernel/kernel installiert. Kernelmodule wurden unter FreeBSD 4.X in das Verzeichnis /modules installiert, unter FreeBSD 5.X werden die Module in das Verzeichnis /boot/kernel installiert.

  10. Installieren Sie den FreeBSD 5.X Boot-Loader:

    # cd /usr/src/sys/boot
    # make STRIP="" install
    

    Wir empfehlen diesen Schritt, obwohl er optional ist, auszuführen.

  11. Deaktivieren Sie Module Dritter (wie die für VMware). Dies verhindert Abstürze auf Grund geänderter Kernel-ABIs oder anderen Inkompatibilitäten.

  12. Booten Sie das System in den Einbenutzermodus. Sie müssen das System in diesem Schritt wirklich neu starten, da der neue Kernel laufen muß, um die Benutzerwerkzeuge zu installieren. Da nur die erforderlichen Prozesse laufen, verringert der Einbenutzermodus wirksam das Auftreten unerwarteter Ereignisse.

  13. Hängen Sie die erforderlichen Dateisysteme ein:

    # fsck -p
    # mount -uw /
    # mount -at ufs
    

    Das Kommando fsck(8) ist erforderlich, damit einige Felder im Superblock der Dateisysteme auf FreeBSD 5.X angepaßt werden. Wenn die Systemzeit die lokale Zeit anstelle von UTC verwendet, führen Sie auch noch den nachstehenden Befehl aus:

    # adjkerntz -i
    

    In diesem Schritt kann die folgende Meldung mehrmals auf der Systemkonsole erscheinen:

    WARNING: userland calling deprecated sysctl, please rebuild world
    

    Ignorieren Sie diese Meldung.

  14. Löschen Sie die C++ Header-Dateien:

    # rm -rf /usr/include/g++
    

    Dieser Schritt verhindert, daß bei künftigen Compiler-Läufen alte Header vom GCC 2.95 C++ Compiler angezogen werden.

  15. Installieren Sie die Benutzerwerkzeuge (Userland):

    # cd /usr/src
    # make installworld
    
  16. Auf Systemen, die named(8) verwenden, müssen die named(8)-Konfigurationsdateien in die chroot(8)-Umgebung im Verzeichnis /var/named geschoben werden. Befinden sich im Verzeichnis /var/named schon Dateien, sollten Sie diese jetzt sichern.

    # cd /etc
    # mv named named.bak
    # mkdir -p /var/named/etc/namedb
    # cp -Rp named.bak/* /var/named/etc/namedb
    

    Falls die Konfiguration die erzeugten Dateien für localhost verwendet, generieren Sie die Dateien mit den nachstehenden Kommandos neu:

    # cd /var/named/etc/namedb
    # /bin/sh make-localhost
    # rm -f localhost-v6.rev localhost.rev
    
  17. Aktualisieren Sie die Konfigurationsdateien des Systems:

    # mergemaster -i
    

    Dieser Schritt ist zwingend erforderlich. Der Schritt gewährleistet, daß die Start- und Konfigurationsdateien im Verzeichnis /etc zu dem frisch installierten System passen.

    Nach dem Lauf von mergemaster(8) sollten Sie die Datei /etc/rc.conf untersuchen und möglicherweise anpassen. Die Vorgabewerte einiger Variablen haben sich geändert, insbesondere wurden einige Dienste, die in 4.X aktiviert waren, in 5.X deaktiviert.

  18. Entfernen Sie übrig gebliebene Dateien von BIND 8:

    # rm /usr/bin/dnskeygen /usr/bin/dnsquery
    # rm /usr/libexec/named-xfer
    # rm /usr/sbin/named.restart /usr/sbin/ndc
    
  19. Starten Sie das System neu.

Nachdem Sie das Basissystem migriert haben, müssen Sie noch einige Komponenten, die nicht zum Basissystem gehören, aktualisieren. Perl ist nicht mehr Teil des Basissystems und sollte aus der Ports-Collection (der Port lang/perl5.8) oder als Paket nachinstalliert werden. Danach müssen alle Ports oder Pakete, die von Perl abhängen, neu installiert werden.

Wenn Sie FreeBSD 4.X Programme laufen lassen wollen, benötigen Sie Kompatibilitätsbibliotheken. Diese können Sie mit dem Port oder Paket misc/compat4x installieren.

Wie oben erwähnt, wird Xorg in der Voreinstellung als X-Window-System verwendet. Die Ports und Pakete beachten diese Änderung, um Abhängigkeiten zwischen Software zu bestimmen. Die Migration von XFree86 auf Xorg beschreibt das Handbuchkapitel X11 installieren.


6. Zusammenfassung

Dieser Artikel beschreibt einige der beachtenswerten Funktionen von FreeBSD 5.X und bespricht wichtige Punkte für Benutzer von FreeBSD 4.X, die bestehende Systeme aktualisieren wollen. Der Artikel beschreibt weiterhin zwei Methoden ein System zu aktualisieren. Die erste Methode benutzt Binärdateien von einem Installationsmedium, die zweite Methode übersetzt den Quellcode des Basissystems.

Fußnoten

[1]

Das Ausführen von a.out-Programmen ist weiterhin mit der Kerneloption COMPAT_AOUT möglich. Einige Compiler aus der Ports-Collection (beispielsweise lang/gcc28) können auch noch a.out-Programme erzeugen.


Diese Datei und andere Dokumente zu dieser Version sind bei ftp://ftp.FreeBSD.org/verfuegbar.

Wenn Sie Fragen zu FreeBSD haben, lesen Sie erst die Dokumentation, bevor Sie sich an <de-bsd-questions@de.FreeBSD.org> wenden.

Alle Anwender von FreeBSD 5-STABLE sollten sich in die Mailingliste <stable@FreeBSD.org> eintragen.

Wenn Sie Fragen zu dieser Dokumentation haben, wenden Sie sich an <de-bsd-translators@de.FreeBSD.org>.