          Ha:ufig gestellte Fragen zu FreeBSD 7.X, 8.X und 9.X

Frequently Asked Questions zu FreeBSD 7.X, 8.X und 9.X

  The FreeBSD German Documentation Project

   Deutsche U:bersetzung von Robert S. F. Drehmel, Dirk Gouders, Udo
   Erdelhoff, Johann Kois und Benedict Reuschling

   Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The
   FreeBSD Documentation Project

   Copyright (c) 2000 - 2011 The FreeBSD German Documentation Project

   Dies ist die FAQ fu:r die FreeBSD-Versionen 7.X 8.X und 9.X. Alle
   Eintra:ge sollten fu:r FreeBSD ab Version 7.X relevant sein,
   andernfalls wird darauf explizit hingewiesen. Falls Sie daran
   interessiert sein sollten, an diesem Projekt mitzuarbeiten, senden
   Sie eine Mail an die Mailingliste 'FreeBSD German Documentation
   Project' <de-bsd-translators@de.FreeBSD.org>. Die aktuelle Version
   dieses Dokuments ist sta:ndig auf dem FreeBSD
   World-Wide-Web-Server verfu:gbar. Sie kann aber auch als eine
   einzige grosse HTML-Datei, als Textdatei, als PostScript(R)- oder
   PDF-Datei sowie in verschiedenen anderen Formaten vom FreeBSD
   FTP-Server heruntergeladen werden. Alternativ ko:nnen Sie die FAQ
   auch durchsuchen.

   Redistribution and use in source (SGML DocBook) and 'compiled'
   forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or
   without modification, are permitted provided that the following
   conditions are met:

    1. Redistributions of source code (SGML DocBook) must retain the
       above copyright notice, this list of conditions and the
       following disclaimer as the first lines of this file
       unmodified.

    2. Redistributions in compiled form (transformed to other DTDs,
       converted to PDF, PostScript, RTF and other formats) must
       reproduce the above copyright notice, this list of conditions
       and the following disclaimer in the documentation and/or other
       materials provided with the distribution.

     Wichtig: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD
     DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED
     WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD
     DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT,
     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
     DAMAGE.

   FreeBSD ist ein eingetragenes Warenzeichen der FreeBSD Foundation.

   3Com und HomeConnect sind eingetragene Warenzeichen der 3Com
   Corporation.

   Adobe, Acrobat, Acrobat Reader und PostScript sind entweder
   eingetragene Warenzeichen oder Warenzeichen von Adobe Systems
   Incorporated in den Vereinigten Staaten und/oder in anderen
   La:ndern.

   Sound Blaster ist ein Warenzeichen von Creative Technology Ltd. in
   den Vereinigten Staaten und/oder in anderen La:ndern.

   CVSup ist ein eingetragenes Warenzeichen von John D. Polstra.

   IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390 und
   ThinkPad sind Warenzeichen der International Business Machines
   Corporation in den Vereinigten Staaten, anderen La: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 La:ndern.

   Iomega, Zip und Jaz sind entweder eingetragene Warenzeichen oder
   Warenzeichen der Iomega Corporation in den Vereinigten Staaten
   und/oder in anderen La:ndern.

   Linux ist ein eingetragenes Warenzeichen von Linus Torvalds.

   Microsoft, 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 La:ndern.

   MIPS und R4000 sind eingetragene Warenzeichen von MIPS
   Technologies, Inc. in den Vereinigten Staaten und in anderen
   La:ndern.

   Netscape und Netscape Navigator sind eingetragene Warenzeichen der
   Netscape Communications Corporation in den Vereinigten Staaten und
   in anderen La:ndern.

   Motif, OSF/1 und UNIX sind eingetragene Warenzeichen und IT
   DialTone und The Open Group sind Warenzeichen der The Open Group
   in den Vereinigten Staaten und in anderen La:ndern.

   Oracle ist ein eingetragenes Warenzeichen der Oracle Corporation.

   Silicon Graphics, SGI und OpenGL sind eingetragene Warenzeichen
   von Silicon Graphics, Inc. in den Vereinigten Staaten und/oder in
   anderen La:ndern.

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

   Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer
   Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun
   Enterprise, Sun Fire, SunOS und Ultra sind Warenzeichen oder
   eingetragene Warenzeichen von Sun Microsystems, Inc. in den
   Vereinigten Staaten und in anderen La:ndern.

   U.S. Robotics und Sportster sind eingetragene Warenzeichen der
   U.S. Robotics Corporation.

   Viele Produktbezeichnungen von Herstellern und Verka:ufern sind
   Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt
   ist, werden die in diesem Dokument vorkommenden Bezeichnungen mit
   dem Symbol "(TM)" oder dem Symbol "(R)" gekennzeichnet.

     --------------------------------------------------------------

   Inhaltsverzeichnis

   1. Einleitung

   2. Dokumentation und Support

   3. Installation

   4. Hardware-Kompatibilita:t

                4.1. Allgemeines

                4.2. Hauptspeicher

                4.3. Architekturen und Prozessoren

                4.4. Festplatten, Bandlaufwerke, sowie CD- und
                DVD-Laufwerke

                4.5. Tastaturen und Ma:use

                4.6. Netzkarten und serielle Gera:te

                4.7. Soundkarten

                4.8. Sonstige Hardware

   5. Fehlerbehebung

   6. Kommerzielle Anwendungen

   7. Benutzerprogramme

   8. Kernelkonfiguration

   9. Platten, Dateisysteme und Boot Loader

   10. Systemadministration

   11. Das X Window System und virtuelle Konsolen

   12. Netzwerke

   13. Sicherheit

   14. PPP

   15. Serielle Verbindungen

   16. Verschiedene Fragen

   17. Nicht ganz ernstgemeinte Fragen

   18. Weiterfu:hrende Themen

   19. Danksagung

   Bibliographie

   Tabellenverzeichnis

   3-1. Maximale Dateigro:sse

   12-1. Netzwerkkarten mit DEC-PCI-Chipsatz

   Beispiele

   11-1. Abschnitt "InputDevice" fu:r Rad-Ma:use in der
   Konfigurationsdatei von Xorg

   11-2. ".emacs" Beispiel fu:r seitenweises Bla:ttern mit einer
   Rad-Maus (optional)

     --------------------------------------------------------------

                         Kapitel 1. Einleitung

   Willkommen zur FreeBSD 7.X-8.X- und 9.X FAQ!

   Wie auch bei den Usenet FAQs u:blich, wird mit diesem Dokument
   beabsichtigt, die am ha:ufigsten gestellten Fragen bezu:glich des
   Betriebssystems FreeBSD zu erfassen und sie natu:rlich auch zu
   beantworten. Obwohl FAQs urspru:nglich lediglich dazu dienen
   sollten, die Netzbelastung zu reduzieren und das sta:ndige
   Wiederholen derselben Fragen zu vermeiden, haben sie sich als
   wertvolle Informationsquellen etabliert.

   Wir haben uns die gro:sste Mu:he gegeben, diese FAQ so lehrreich
   wie mo:glich zu gestalten; falls Sie irgendwelche Vorschla:ge
   haben, wie sie verbessert werden kann, senden Sie diese bitte an
   die Mailingliste des 'FreeBSD German Documentation Project'
   <de-bsd-translators@de.FreeBSD.org>.

   1.1. Was ist FreeBSD?

   1.2. Welches Ziel hat das FreeBSD Project?

   1.3. Beinhaltet das FreeBSD-Copyright irgendwelche
   Einschra:nkungen?

   1.4. Kann FreeBSD mein bisher verwendetes Betriebssystem ersetzen?

   1.5. Warum heisst es FreeBSD?

   1.6. Wie unterschieden sich FreeBSD, NetBSD, OpenBSD und andere
   Open-Source BSD-Systeme?

   1.7. Welches ist die aktuelle FreeBSD-Version?

   1.8. Was ist FreeBSD-CURRENT?

   1.9. Was ist das Konzept von FreeBSD-STABLE?

   1.10. Wann werden FreeBSD-Versionen erstellt?

   1.11. Wer ist fu:r FreeBSD verantwortlich?

   1.12. Wie kann ich FreeBSD beziehen?

   1.13. Wie greife ich auf die Datenbank mit Problemberichten zu?

   1.14. Gibt es weitere Informationsquellen?

   1.1. Was ist FreeBSD?

   FreeBSD ist, kurz gesagt, ein UNIX(R) a:hnliches Betriebssystem
   fu:r die Plattformen AMD64 sowie Intel(R) EM64T, i386(TM), IA-64,
   ARM(R), PowerPC(R), PC-98 und UltraSPARC(R), das auf der
   "4.4BSD-Lite"-Release der University of California at Berkeley
   (UCB) basiert; ausserdem flossen einige Erweiterungen aus der
   "4.4BSD-Lite2"-Release mit ein. Es basiert ausserdem indirekt auf
   der von William Jolitz unter dem Namen "386BSD" herausgebrachten
   Portierung der "Net/2"-Release der UCB auf die i386-Plattform -
   allerdings ist nur wenig vom 386BSD-Code u:briggeblieben. Eine
   umfassendere Beschreibung daru:ber, was FreeBSD ist und wie Sie es
   fu:r Ihre Zwecke verwenden ko:nnen, finden Sie auf den
   Internetseiten des FreeBSD Projects.

   Unternehmen, Internet Service Provider, Forscher,
   Computerfachleute, Studenten und Privatnutzer auf der ganzen Welt
   benutzen FreeBSD fu:r die Arbeit, die Ausbildung oder zur
   Freizeitgestaltung.

   Ausfu:hrlichere Informationen zu FreeBSD, finden Sie im FreeBSD
   Handbuch.

   1.2. Welches Ziel hat das FreeBSD Project?

   Die Ziel von FreeBSD ist es, Software zur Nutzung fu:r beliebige
   Zwecke, bedingungslos zur Verfu:gung zu stellen. Viele von uns
   haben erheblich zur Erstellung des Codes (und zum Projekt)
   beigetragen und ha:tten jetzt oder in Zukunft sicherlich nichts
   gegen einen geringen finanziellen Ausgleich einzuwenden, aber wir
   beabsichtigen definitiv nicht, darauf zu bestehen. Wir sind der
   Meinung, dass unsere "Mission" zuerst und vorderst darin besteht,
   allen und jedem Kommenden Code fu:r welchen Zweck auch immer zur
   Verfu:gung zu stellen, damit der Code mo:glichst weit eingesetzt
   wird und den gro:sstmo:glichen Nutzen liefert. Das ist, so glauben
   wir, eines der fundamentalsten Ziele von freier Software und
   eines, das wir enthusiastisch unterstu:tzen.

   Der Code in unserem Quellbaum, der der GNU General Public License
   (GPL) oder der GNU Library General Public License (LGPL)
   unterliegt, ist mit zusa:tzlichen, geringfu:gigen Bedingungen
   verknu:pft, jedoch handelt es sich dabei lediglich um erzwungene
   Bereitstellung statt des sonst u:blichen Gegenteils. Auf Grund der
   zusa:tzlichen Komplexita:t, die durch den kommerziellen Einsatz
   von GPL Software entstehen kann, bemu:hen wir uns jedoch, solche
   Software, wo mo:glich, durch solche, die der etwas lockereren
   FreeBSD Lizenz unterliegt, zu ersetzen.

   1.3. Beinhaltet das FreeBSD-Copyright irgendwelche
   Einschra:nkungen?

   Ja. Diese Einschra:nkungen regeln aber nicht, wie Sie mit dem
   Sourcecode umgehen, sondern betreffen nur den Umgang mit dem
   FreeBSD Project an sich. Wenn Sie sich ernsthaft damit
   auseinandersetzen wollen, lesen Sie einfach die   FreeBSD-Lizenz.
   Wenn Sie einfach nur neugierig sind, sollte diese Zusammenfassung
   ausreichen:

     * Behaupten Sie nicht, Sie ha:tten es geschrieben.

     * Verklagen Sie uns nicht, wenn irgend etwas nicht funktioniert.

   1.4. Kann FreeBSD mein bisher verwendetes Betriebssystem ersetzen?

   In den meisten Fa:llen lautet die Antwort ja. Allerdings ist diese
   Frage nicht ganz so einfach, wie sie scheint.

   Die meisten Anwender benutzen kein Betriebssystem, sondern
   Anwendungen. Die Anwendungen sind es, die das Betriebssystem
   benutzen. FreeBSD ist dazu gedacht, eine stabile und vielfa:ltige
   Umgebung fu:r Anwendungen bereitzustellen. Es unterstu:tzt viele
   unterschiedliche Web-Browser, Bu:roanwendungen, E-Mail-Programme,
   Grafik-Programme, Entwicklungsumgebungen, Netzwerk-Server, und so
   ziemlich alles andere, was Sie sich wu:nschen ko:nnen. Die meisten
   dieser Anwendungen sind in der Ports-Sammlung verfu:gbar.

   Wenn Sie Anwendung benutzen mu:ssen, die es nur fu:r ein
   bestimmtes Betriebssystem gibt, dann kommen Sie an diesem
   Betriebssystem nicht vorbei. Allerdings stehen die Chancen nicht
   schlecht, dass es eine vergleichbare Anwendung fu:r FreeBSD gibt.
   Wenn Sie einen verla:sslichen Server fu:r ihr Bu:ro oder das
   Internet brauchen, oder eine stabilen Arbeitsplatz, oder einfach
   nur die Fa:higkeit, ihre Arbeit ohne dauernde Abstu:rze machen zu
   ko:nnen, dann kann FreeBSD genau das sein. Viele Anwender auf der
   ganzen Welt, vom Anfa:nger bis zum erfahrenen Administrator,
   benutzen an Ihren Arbeitspla:tzen ausschliesslich FreeBSD.

   Wenn Sie von einem anderen UNIX System zu FreeBSD wechseln,
   du:rfte Ihnen vieles bekannt vorkommen. Wenn Ihr Hintergrund ein
   Grafik-orientiertes Betriebssystem wie Windows(R) oder ein
   a:lteres Mac OS(R) ist, werden Sie zusa:tzliche Zeit investieren
   mu:ssen, um den UNIX Stil zu verstehen. Dieser FAQ und das FreeBSD
   Handbuch sind die besten Startpunkte.

   1.5. Warum heisst es FreeBSD?

   * Es darf kostenlos genutzt werden - sogar von kommerziellen
     Benutzern.

   * Der komplette Quellcode fu:r das Betriebssystem ist frei
     verfu:gbar und die Benutzung, Verbreitung und Einbindung in
     andere (kommerzielle und nicht-kommerzielle) Arbeiten sind mit
     den geringstmo:glichen Einschra:nkungen versehen worden.

   * Jedem ist es freigestellt, Code fu:r Verbesserungen oder die
     Behebung von Fehlern einzusenden und ihn zum Quellbaum
     hinzufu:gen zu lassen (dies ist natu:rlich Gegenstand von ein
     oder zwei offensichtlichen Klauseln).

   Es wird darauf hingewiesen, dass das englische Wort "free" hier in
   den Bedeutungen "umsonst" und "Sie ko:nnen tun, was immer Sie
   mo:chten" genutzt wird. Abgesehen von ein oder zwei Dingen, die
   Sie mit dem FreeBSD-Code nicht tun ko:nnen (z.B. vorgeben, ihn
   geschrieben zu haben), ko:nnen Sie damit tatsa:chlich tun, was
   auch immer Sie mo:chten.

   1.6. Wie unterschieden sich FreeBSD, NetBSD, OpenBSD und andere
   Open-Source BSD-Systeme?

   James Howards Artikel, genannt The BSD Family Tree, beschreibt
   sehr gut die Geschichte und die Unterschiede der BSD-Varianten.

   1.7. Welches ist die aktuelle FreeBSD-Version?

   Momentan gibt es zwei Entwicklungszweige, die fu:r die Erstellung
   von Releases verwendet werden. Die 9.X-RELEASEs werden auf dem
   9-STABLE-Zweig erstellt, die 8.X-RELEASEs auf dem 8-STABLE-Zweig.

   Bis zur Vero:ffentlichung von FreeBSD 8.0 galt die 7.X-Serie als
   -STABLE. Seither gibt es fu:r den Zweig 7.X nur mehr eine
   "erweiterte Unterstu:tzung" in der Form von Korrekturen von
   gro:sseren Problemen, wie neu entdeckten Sicherheitsheitslu:cken.
   Aus dem Zweig 7-STABLE werden zwar noch RELEASEs erzeugt, er gilt
   aber als "ausgereift". Aktive Weiterentwicklungen konzentrieren
   sich daher auf den Zweig 9-STABLE und 8-STABLE.

   Version 9.1 ist das aktuelle Release des 9-STABLE-Zweigs und ist
   im Januar 2009 erschienen. Version 8.4 ist das aktuelle Release
   aus dem 8-STABLE-Zweig und ist im November 2008 erschienen.

   Kurz gesagt, -STABLE ist fu:r ISPs und andere Benutzer gedacht,
   die mehr Wert auf Stabilita:t und eine niedrige A:nderungsfrequenz
   als auf die neuesten und mo:glicherweise unstabilen Features im
   aktuellen -CURRENT Snapshot legen. Releases ko:nnen aus jedem
   Zweig entstehen, Sie sollten -CURRENT allerdings nur dann
   benutzen, wenn Sie auf ein erho:htes Fehlverhalten im Vergleich zu
   -STABLE auch vorbereitet sind.

   Releases entstehen nur alle paar Monate. Viele Leute halten ihre
   Systeme aktueller (lesen Sie die Fragen zu FreeBSD-CURRENT und
   FreeBSD-STABLE), aber das erfordert ein erho:htes Engagement, da
   die Sourcen sich sta:ndig vera:ndern.

   Weitere Informationen u:ber FreeBSD-Releases entnehmen Sie der
   Seite Release Engineering des FreeBSD Webauftritts.

   1.8. Was ist FreeBSD-CURRENT?

   FreeBSD-CURRENT ist die Entwicklungsversion des Betriebssystems,
   aus der zu gegebener Zeit FreeBSD-STABLE werden wird. Als solche
   ist sie lediglich fu:r Entwickler, die am System mitarbeiten und
   fu:r unentwegte Bastler von Interesse. Details zum Betrieb von
   -CURRENT finden Sie im   entsprechenden Abschnitt des Handbuchs.

   Falls Sie nicht mit dem Betriebssystem vertraut sind oder nicht in
   der Lage sein sollten, den Unterschied zwischen einen echten und
   einem tempora:ren Problem zu erkennen, sollten Sie FreeBSD-CURRENT
   nicht verwenden. Dieser Zweig entwickelt sich manchmal sehr
   schnell weiter und kann gelegentlich nicht installierbar sein. Von
   Personen, die FreeBSD-CURRENT verwenden, wird erwartet, dass Sie
   dazu in der Lage sind, Probleme zu analysieren und nur dann von
   ihnen berichten, wenn es sich um Fehler und nicht um "kurzzeitige
   Sto:rungen" handelt. Fragen wie "make world produziert
   Fehlermeldungen bezu:glich Gruppen" werden in der FreeBSD-CURRENT
   Mailingliste manchmal nicht beachtet.

   Jeden Monat wird der aktuelle Entwicklungsstand in den Zweigen
   -CURRENT und -STABLE in einer Snapshot Release festgehalten. Die
   Ziele dieser Snapshot Releases sind:

     * Die aktuelle Version der Installationssoftware zu testen.

     * Personen, die -CURRENT oder -STABLE benutzen mo:chten, aber
       nicht u:ber die no:tige Zeit oder Bandbreite verfu:gen, um
       tagesaktuell zu bleiben, soll eine bequeme Mo:glichkeit
       geboten werden, es auf ihr System zu bringen.

     * Die Erhaltung von Referenzpunkten des fraglichen Codes, fu:r
       den Fall, dass wir spa:ter einmal ernsthaften Schaden
       anrichten sollten - obwohl CVS verhindern sollte, dass solche
       Situationen entstehen.

     * Sicherzustellen, dass alle zu testenden, neuen Merkmale und
       Fehlerbehebungen zu mo:glichst vielen potentiellen Testern
       gelangen.

   Von keinem -CURRENT Snapshot kann "Produktionsqualita:t" fu:r
   beliebige Zwecke erwartet werden. Wenn Sie eine stabile und
   ausgetestete Version beno:tigen, sollten Sie eine vollsta:ndige
   Release oder einen -STABLE Snapshot verwenden.

   Snapshot-Releases sind auf der Snapshots-Seite verfu:gbar.

   Offizielle Snapshots werden in der Regel jeden Monat fu:r jeden
   aktiven Zweig erstellt. Es gibt auch ta:glich erstellte Snapshots
   der popula:ren i386 und amd64 Zweige, die auf
   http://snapshots.us.freebsd.org/ bereitliegen.

   1.9. Was ist das Konzept von FreeBSD-STABLE?

   Zur der Zeit, als FreeBSD 2.0.5 herausgegeben wurde, wurde
   entschieden, die Entwicklung von FreeBSD zweizuteilen. Ein Zweig
   wurde -STABLE, der andere -CURRENT genannt. FreeBSD-STABLE ist
   fu:r Anbieter von Internetdiensten und andere kommerzielle
   Unternehmen gedacht, fu:r die plo:tzliche Vera:nderungen und
   experimentelle Features unerwu:nscht sind. In diesem Zweige werden
   nur ausgetestete Fehlerbehebungen und kleine, inkrementelle
   A:nderungen aufgenommen. FreeBSD-CURRENT ist eine ununterbrochene
   Linie seitdem die Version 2.0 herausgegeben worden ist. Sie fu:hrt
   zu 9.1-RELEASE (und daru:ber hinaus). Weitere Informationen zu
   diesen Zweigen finden Sie unter "  FreeBSD Release Engineering:
   Creating the Release Branch", der Status der Zweige und der
   Zeitplan zur anstehenden Vero:ffentlichung kann unter der Seite
   Release Engineering Information gefunden werden.

   Der Zweig 2.2-STABLE wurde mit der Vero:ffentlichung der Version
   2.2.8 eingestellt. Der Zweig 3-STABLE endete mit Version 3.5.1,
   der letzten 3.X-Version, der Zweig 4.X endete mit der Version
   4.11, der letzten 4.X-Version. A:nderungen in diesen Zweigen
   beschra:nken sich im allgemeinen auf die Korrektur von
   sicherheitsrelevanten Fehlern. Der Zweig 5-STABLE wurde mit 5.5,
   der letzten 5.X Version, beendet. 7-STABLE wird noch unterstu:tzt,
   die Unterstu:tzung beschra:nkt sich allerdings auf das Schliessen
   von neu entdeckten Sicherheitslu:cken und die Behebung von anderen
   ernsten Problemen.

   9.1-STABLE ist der Zweig, auf den sich die Entwicklung von -STABLE
   zur Zeit konzentriert. Das neueste Release aus dem
   9.1-STABLE-Zweig ist 9.1-RELEASE und ist im Januar 2007
   erschienen.

   Aus dem 10-CURRENT-Zweig entsteht die na:chste FreeBSD-Generation.
   Weitere Informationen u:ber diesen Zweig finden Sie unter Was ist
   FreeBSD-CURRENT?.

   1.10. Wann werden FreeBSD-Versionen erstellt?

   Im Schnitt gibt das Release Engineering Team <re@FreeBSD.org> alle
   18 Monate eine neue Haupt-Version und etwa alle 8 Monate eine
   Unter-Version frei. Das Erscheinungsdatum einer neuer Version wird
   fru:hzeitig bekanntgegeben, damit die am System arbeitenden
   Personen wissen, bis wann ihre Projekte abgeschlossen und
   ausgetestet sein mu:ssen. Vor jedem Release gibt es eine
   Testperiode um sicherzustellen, dass die neu hinzugefu:gten
   Features nicht die Stabilita:t des Releases beeintra:chtigen.
   Viele Benutzer halten dies fu:r einen grossen Vorteil von FreeBSD,
   obwohl es manchmal frustrierend sein kann, so lange auf die
   Verfu:gbarkeit der aktuellsten Leckerbissen zu warten.

   Weitere Informationen u:ber die Entwicklung von Releases, sowie
   eine U:bersicht u:ber kommende Releases, erhalten Sie auf den
   Release Engineering Seiten der FreeBSD Webseite.

   Fu:r diejenigen, die ein wenig mehr Spannung brauchen (oder
   mo:chten), werden ta:glich Snapshots herausgegeben, wie oben
   beschrieben.

   1.11. Wer ist fu:r FreeBSD verantwortlich?

   Schlu:sseldiskussionen, die das FreeBSD Project betreffen, wie
   z.B. u:ber die generelle Ausrichtung des Projekts und daru:ber,
   wem es erlaubt sein soll, Code zum Quellbaum hinzuzufu:gen, werden
   innerhalb eines Core Teams von 9 Personen gefu:hrt. Es gibt ein
   weitaus gro:sseres Team von u:ber 350 Committern, die dazu
   autorisiert sind, A:nderungen am FreeBSD Quellbaum durchzufu:hren.

   Jedoch werden die meisten nicht-trivialen A:nderungen zuvor in den
   Mailinglisten diskutiert und es bestehen keinerlei
   Einschra:nkungen daru:ber, wer sich an diesen Diskussionen
   beteiligen darf.

   1.12. Wie kann ich FreeBSD beziehen?

   Jede bedeutende Ausgabe von FreeBSD ist per Anonymous-FTP vom
   FreeBSD FTP Server erha:ltlich:

     * Das aktuelle 9-STABLE-Release, 9.1-RELEASE, finden Sie im
       Verzeichnis 9.1-RELEASE.

     * Snapshots-Releases werden monatlich aus dem -CURRENT-Zweig
       sowie aus dem -STABLE-Zweig erzeugt. Sie sollten aber nur von
       Entwicklern und sehr erfahrenen Testern verwendet werden.

     * Das aktuelle Release von 8-STABLE, 8.4-RELEASE finden Sie im
       Verzeichnis 8.4-RELEASE.

     * Das aktuelle Release von 7-STABLE, 7.4-RELEASE finden Sie im
       Verzeichnis 7.4-RELEASE.

   Wo und wie Sie FreeBSD auf CD, DVD, und anderen Medien beziehen
   ko:nnen, erfahren Sie im Handbuch.

   1.13. Wie greife ich auf die Datenbank mit Problemberichten zu?

   Die Datenbank mit Problemberichten (PR, problem report) und
   A:nderungsanfragen von Benutzern kann u:ber die webbasierte  
   PR-Abfrage-Schnittstelle abgefragt werden.

   Mit dem Programm send-pr(1) ko:nnen Sie Problemberichte oder
   A:nderungsantra:ge per E-Mail einsenden. Alternativ ko:nnen Sie
   Problemberichte auch u:ber Ihren Browser und die webbasierte
   PR-Eingabe-Schnittstelle erstellen.

   Bevor Sie einen Fehler melden, sollten Sie sich zuerst den Artikel
   Writing FreeBSD Problem Reports durchlesen, damit Sie wissen, wie
   Sie eine gute Fehlermeldung verfassen.

   1.14. Gibt es weitere Informationsquellen?

   Sie finden eine umfassende Liste unter Documentation auf der
   FreeBSD-Webseite.

     --------------------------------------------------------------

                  Kapitel 2. Dokumentation und Support

   2.1. Gibt es gute Bu:cher u:ber FreeBSD?

   2.2. Ist die Dokumentation auch in anderen Formaten verfu:gbar?
   Zum Beispiel als einfacher Text (ASCII) oder als PostScript?

   2.3. Woher bekomme ich Informationen zu den FreeBSD Mailinglisten?

   2.4. Welche Newsgruppen existieren zu FreeBSD?

   2.5. Gibt es FreeBSD IRC (Internet Relay Chat) Kana:le?

   2.6. Gibt es irgendwelche webbasierten Foren, in denen FreeBSD
   diskutiert wird?

   2.7. Gibt es Firmen, die Training und Support fu:r FreeBSD
   anbieten?

   2.1. Gibt es gute Bu:cher u:ber FreeBSD?

   Im Zuge des FreeBSD Projekts sind diverse gute Dokumente
   entstanden, die unter der folgenden URL abgerufen werden ko:nnen:
   http://www.FreeBSD.org/docs.html. Zusa:tzlich entha:lt die
   Bibliographie am Ende dieser FAQ und diejenige im Handbuch
   Verweise auf weitere empfohlene Bu:cher.

   2.2. Ist die Dokumentation auch in anderen Formaten verfu:gbar?
   Zum Beispiel als einfacher Text (ASCII) oder als PostScript?

   Ja. Werfen Sie einen Blick auf das Verzeichnis /pub/FreeBSD/doc/
   auf dem FreeBSD FTP-Server. Dort finden sie Dokumentation in
   vielen verschiedenen Format.

   Die Dokumentation wurde nach vielen verschiedenen Kriterien
   sortiert. Die Kriterien sind:

     * Der Name des Dokumentes, z.B. FAQ oder Handbuch.

     * Die Sprache und der Zeichensatz, die in dem Dokument verwendet
       werden. Diese entsprechen den Anpassungen, die Sie auf Ihrem
       FreeBSD-System im Verzeichnis /usr/share/locale finden.
       Zurzeit werden die folgenden Sprachen und Zeichensa:tze
       benutzt:

             Name                         Bedeutung                   
       bn_BD.ISO10646-1 Bengalisch oder Bangla (Bangladesh)           
       da_DK.ISO8859-1  Da:nisch (Da:nemark)                          
       de_DE.ISO8859-1  Deutsch (Deutschland)                         
       en_US.ISO8859-1  Englisch (Vereinigte Staaten)                 
       el_GR.ISO8859-7  Griechisch (Griechenland)                     
       es_ES.ISO8859-1  Spanisch (Spanien)                            
       fr_FR.ISO8859-1  Franzo:sisch (Frankreich)                     
       it_IT.ISO8859-15 Italienisch (Italien)                         
       hu_HU.ISO8859-2  Ungarisch (Ungarn)                            
       ja_JP.eucJP      Japanisch (Japan, EUC-kodiert)                
       mn_MN.UTF-8      Mongolisch (Mongolei, UTF-8-kodiert)          
       nl_NL.ISO8859-1  Niederla:ndisch (Holland)                     
       no_NO.ISO8859-1  Norwegisch (Norwegen)                         
       pl_PL.ISO8859-2  Polnisch (Polen)                              
       pt_BR.ISO8859-1  Brasilianisches Portugiesisch (Brasilien)     
       ru_RU.KOI8-R     Russisch (Russland, KOI8-R-kodiert)           
       sr_YU.ISO8859-2  Serbisch (Serbien)                            
       tr_TR.ISO8859-9  Tu:rkisch (Tu:rkei)                           
       zh_CN.GB2312     Vereinfachtes Chinesisch (China,              
                        GB2312-kodiert)                               
       zh_TW.Big5       Chinesisch (Taiwan, Big5-kodiert)             

         Anmerkung: Einige Dokumente sind nicht in allen Sprachen
         verfu:gbar.

     * Das Format des Dokumentes. Die Dokumentation wird in
       verschiedenen Formaten erzeugt, von denen jedes seine eigenen
       Vor- und Nachteile hat. Einige Formate lassen sich gut an
       einem Bildschirm lesen, wa:hrend andere Formate dafu:r gedacht
       sind, ein ansprechendes Druckbild zu erzeugen. Das die
       Dokumentation in verschiedenen Formaten verfu:gbar ist, stellt
       sicher, dass unsere Leser die fu:r sie relevanten Teile
       unabha:ngig vom Ausgabemedium (Bildschirm oder Papier) lesen
       ko:nnen. Derzeit werden die folgenden Formate unterstu:tzt:

         Format                       Erkla:rung                      
       html-split Viele kleine HTML-Dateien, die sich gegenseitig     
                  referenzieren.                                      
       html       Eine grosse HTML-Datei, die das komplette Dokument  
                  entha:lt.                                           
       pdf        Adobe's Portable Document Format                    
       ps         PostScript                                          
       rtf        Microsoft's Rich Text Format                        
       txt        Ganz normaler Text                                  

         Anmerkung: Die Seitennummern werden nicht automatisch
         aktualisiert, wenn Sie das Rich Text Format in Word laden.
         Wenn Sie das Dokument geladen haben, mu:ssen Sie Sie Ctrl+A,
         Ctrl+End, F9 eingeben, um die Seitennummern aktualisieren zu
         lassen.

     * Das zur Komprimierung verwendete Programm. Zur Zeit werden
       drei verschiedene Methoden benutzt.

         1. Wenn die Dokumentation im Format html-split vorliegt,
            werden die Dateien mit tar(1) zusammengefasst. Die so
            entstandene .tar Datei wird dann mit einer der unten
            genannten Methoden komprimiert.

         2. Bei allen anderen Formaten existiert nur eine Datei mit
            dem Namen type.format (z.B. article.pdf, book.html, und
            so weiter).

            Diese Dateien werden mit zwei verschiedenen Programmen
            komprimiert.

            Programm                   Beschreibung                   
                     Das zip-Format. Wenn Sie diese Dateien unter     
            zip      FreeBSD entpacken wollen, mu:ssen sie vorher den 
                     Port archivers/unzip installieren.               
                     Das bzip2-Format. Es wird seltener als das       
                     zip-Format benutzt, erzeugt aber normalerweise   
            bz2      kleinere Archive. Sie mu:ssen den Port           
                     archivers/bzip2 installieren, um diese Dateien   
                     entpacken zu ko:nnen.                            

            Ein Beispiel: Die mit bzip2 gepackte Version des
            Handbuchs im PostScript-Format hat den Namen book.ps.bz2
            und ist im Verzeichnis handbook/ zu finden.

   Nachdem Sie das Format und das Kompressionsverfahren ausgewa:hlt
   haben, mu:ssen Sie die komprimierten Dateien selber herunterladen,
   entpacken und an die richtigen Stellen kopieren.

   Wenn Sie zum Beispiel die mit bzip2(1) gepackte "split
   HTML"Version der englischen FAQ herunterladen und installieren
   wollten, bra:uchten Sie die Datei
   doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2. Um diese
   Datei herunterzuladen und auszupacken, wa:ren die folgenden
   Schritte notwendig.

 # fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
 # gzip -d book.html-split.tar.bz2
 # tar xvf book.html-split.tar

   Danach haben Sie eine Sammlung vieler kleiner .html Datei. Die
   wichtigste Datei hat Namen index.html und entha:lt das
   Inhaltsverzeichnis, eine Einleitung und Verweise auf die anderen
   Teile des Dokumentes. Falls notwendig, ko:nnen Sie die diversen
   Dateien jetzt an ihren endgu:ltigen Bestimmungsort verschieben
   oder kopieren.

   2.3. Woher bekomme ich Informationen zu den FreeBSD Mailinglisten?

   Vollsta:ndige Informationen finden Sie im Handbucheintrag u:ber
   Mailinglisten.

   2.4. Welche Newsgruppen existieren zu FreeBSD?

   Sie finden alle Informationen hierzu im Handbucheintrag zu
   Newsgruppen.

   2.5. Gibt es FreeBSD IRC (Internet Relay Chat) Kana:le?

   Ja, die meisten grossen IRC Netze bieten einen FreeBSD
   Chat-Channel:

     * Channel FreeBSD im EFNet ist ein FreeBSD-Forum, aber gehen Sie
       nicht dorthin, um technische Unterstu:tzung zu suchen, oder,
       um zu versuchen, die Leute dort dazu zu bringen, Ihnen dabei
       zu helfen, das mu:hselige Lesen von Manuals zu ersparen oder
       eigene Nachforschungen zu betreiben. Es ist in erster Linie
       ein Chat-Channel und die Themen dort umfassen Sex, Sport oder
       Kernwaffen ebensogut, wie FreeBSD. Sie wurden gewarnt! Der
       Channel ist auf dem Server irc.efnet.org verfu:gbar.

     * Der Channel #FreeBSDhelp im EFNet hat sich dagegen auf die
       Unterstu:tzung der Benutzer von FreeBSD spezialisiert. In
       diesem Channel sind Fragen deutlich willkommener als im
       Channel #FreeBSD.

     * Der Channel ##FreeBSD auf Freenode bietet allgemeine Hilfe zu
       FreeBSD-Themen. Es sind immer viele Benutzer online. Zwar
       werden auch nicht-FreeBSD-spezifische Themen diskutiert, den
       Hauptteil der Diskussionen dreht sich aber um die Lo:sung der
       Probleme von FreeBSD-Anwendern. Die Teilnehmer dieses Channels
       helfen Ihnen auch bei Fragen zu elementaren Dingen und zeigen
       Ihnen auch, wo Sie die entsprechenden Erkla:rungen im
       FreeBSD-Handbuch oder anderen Ressourcen finden ko:nnen.
       Obwohl die Teilnehmer des Channels u:ber die ganze Welt
       verstreut sind, werden alle Diskussionen auf Englisch
       gefu:hrt. Wollen Sie die Diskussion in Ihrer Sprache fu:hren,
       sollten Sie Ihre Frage trotzdem auf Englisch stellen und
       danach gegebenenfalls einen neuen Channel in der Form
       ##freebsd-Ihre_Sprache ero:ffnen.

     * Der Channel #FreeBSD im DALNET ist in den USA unter
       irc.dal.net und in Europa unter irc.eu.dal.net verfu:gbar.

     * Der Channel #FreeBSD im UNDERNET ist in den USA unter
       us.undernet.org und in Europa unter eu.undernet.org
       verfu:gbar. Es handelt sich hierbei um einen Hilfe-Channel,
       man wird Sie daher auf Dokumente verweisen, die Sie selbst
       lesen mu:ssen.

     * Der Channel #FreeBSD im RUSNET ist ein russischsprachiger
       Channel, der sich der Unterstu:tzung von FreeBSD-Anwendern
       verschrieben hat. Er ist auch ein guter Startpunkt fu:r
       nichttechnische Diskussionen.

     * Der Channel #bsdchat auf Freenode (Sprache: traditionelles
       Chinesisch, UTF-8-kodiert) hat sich der Unterstu:tzung von
       FreeBSD-Anwendern verschrieben. Er ist auch ein guter
       Startpunkt fu:r nichttechnische Diskussionen.

   Alle diese Kana:le unterscheiden sich voneinander und sind nicht
   miteinander verbunden. Ebenso unterscheiden sich Ihre Chat-Stile,
   weshalb es sein kann, dass Sie zuna:chst alle Kana:le ausprobieren
   mu:ssen, um den zu Ihrem Chat-Stil passenden zu finden. Hier gilt,
   was fu:r jeden IRC-Verkehr gilt: falls sie sich leicht angegriffen
   fu:hlen oder nicht mit vielen jungen (und einigen a:lteren)
   Leuten, verbunden mit dem nutzlosen Gezanke umgehen ko:nnen, dann
   ziehen Sie es gar nicht erst in Erwa:gung.

   2.6. Gibt es irgendwelche webbasierten Foren, in denen FreeBSD
   diskutiert wird?

   Die offiziellen FreeBSD Foren befinden sich unter
   http://forums.FreeBSD.org/.

   2.7. Gibt es Firmen, die Training und Support fu:r FreeBSD
   anbieten?

   iXsystems, Inc., die Muttergesellschaft der FreeBSD Mall, bietet
   kommerziellen Software-Support fu:r FreeBSD und PC-BSD sowie
   FreeBSD-spezische Softwareentwicklung und Hilfe bei Optimierung
   Ihrer vorhandenen Installationen.

   Die BSD Certification Group, Inc. bietet Zertifizierungen zur
   Systemadministration fu:r DragonFly BSD, FreeBSD, NetBSD und
   OpenBSD. Wenn Sie daran interessiert sind, besuchen Sie deren
   Webseite.

   Wenn Ihre Firma oder Organisation ebenfalls Training und Support
   anbietet und hier genannt werden mo:chte, wenden Sie sich bitte an
   das FreeBSD Project.

     --------------------------------------------------------------

                        Kapitel 3. Installation

   Nik Clayton

   3.1. Welche Dateien muss ich herunterladen, um FreeBSD zu
   bekommen?

   3.2. Was soll ich tun, wenn das Floppy-Image nicht auf eine
   Diskette passt?

   3.3. Wo befinden sich die Instruktionen zur Installation von
   FreeBSD?

   3.4. Was beno:tige ich zum Betrieb von FreeBSD?

   3.5. Wie kann ich eine angepasste Installationsdiskette erstellen?

   3.6. Kann Windows neben FreeBSD existieren?

   3.7. Windows hat meinen Bootmanager zersto:rt! Wie stelle ich ihn
   wieder her?

   3.8. Mein IBM Thinkpad Modell A, T oder X, ha:ngt sich auf, wenn
   ich FreeBSD zum ersten Mal starte. Was soll ich machen?

   3.9. Kann ich FreeBSD auf einer Festplatte mit bescha:digten
   Blo:cken installieren?

   3.10. Wenn ich von der Installationsdiskette boote, geschehen
   merkwu:rdige Dinge! Was sollte ich tun?

   3.11. Ich habe zur Installation von meinem ATAPI CD-ROM gebootet,
   aber das Installationsprogramm sagt mir, dass es kein CD-ROM
   gefunden hat. Was geht hier ab?

   3.12. Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
   installieren?

   3.13. Welche Geometrie sollte ich fu:r ein Festplattenlaufwerk
   verwenden?

   3.14. Gibt es irgendwelche Einschra:nkungen, wie ich die
   Festplatte aufteilen darf?

   3.15. Vertra:gt sich FreeBSD mit Plattenmanagern?

   3.16. Beim ersten Booten von FreeBSD erscheint "Missing Operating
   System". Was ist passiert?

   3.17. Wieso komme ich nicht weiter als bis zum F?-Prompt des
   Bootmanagers?

   3.18. Muss ich den vollsta:ndigen Quellcode installieren?

   3.19. Muss ich einen Kernel erstellen?

   3.20. Soll ich DES, Blowfish oder MD5 zur Verschlu:sselung der
   Passwo:rter benutzen?

   3.21. Woran kann es liegen, dass ich zwar von der Diskette booten
   kann, aber nicht weiter als bis zur Meldung Probing Devices...
   komme?

   3.22. Wieso wird mit der Fehler "panic: cant mount root" gemeldet,
   wenn ich das System nach der Installation reboote?

   3.23. Gibt es eine Hauptspeicherbegrenzung?

   3.24. Wo liegen die Grenzen fu:r FFS-Dateisysteme?

   3.25. Wieso erhalte ich die Fehlermeldung "archsw.readin.failed"
   beim Start des Systems, nachdem ich einen neuen Kernel erstellt
   habe?

   3.26. Mein System stu:rzt beim Booten ab! Was kann ich tun?

   3.1. Welche Dateien muss ich herunterladen, um FreeBSD zu
   bekommen?

   Sie beno:tigen drei Floppy-Images: floppies/boot.flp,
   floppies/kern1.flp sowie floppies/kern2.flp. Diese Images mu:ssen
   mit Hilfe von Werkzeugen wie fdimage oder dd(1) auf Disketten
   kopiert werden.

   Falls Sie selbst die einzelnen Distributionen herunterladen
   mu:ssen (um z.B. von einem DOS-Dateisystem aus zu installieren),
   empfehlen wir, sich die folgenden Distributionen zu besorgen:

     * base/

     * manpages

     * compat*

     * doc

     * src/ssys.*

   Vollsta:ndige Instruktionen fu:r dieses Vorgehen und ein wenig
   mehr zur Installation generell finden Sie im Handbucheintrag zur
   Installation von FreeBSD.

   3.2. Was soll ich tun, wenn das Floppy-Image nicht auf eine
   Diskette passt?

   Eine 3,5-Zoll (1,44 MB) Diskette kann 1.474.560 Byte an Daten
   fassen und das Boot-Image ist exakt 1.474.560 Byte gross.

   Ha:ufige Fehler bei der Erstellung der Boot-Diskette sind:

     * Bei der Benutzung von FTP das Floppy-Image nicht im
       Bina:r-Modus herunterzuladen.

       Einige FTP-Clients benutzen als Voreinstellung den ASCII-Modus
       und versuchen, alle Zeilenendezeichen an das Zielsystem
       anzupassen. Dadurch wird das Boot-Image in jedem Fall
       unbrauchbar. U:berpru:fen Sie die Gro:sse des
       heruntergeladenen Boot-Images: falls sie nicht exakt mit der
       auf dem Server u:bereinstimmt, hat das Herunterladen nicht
       richtig funktioniert.

       Abhilfe: geben Sie binary an der FTP-Eingabeaufforderung ein,
       nach dem Sie mit dem Server verbunden sind und bevor Sie das
       Image herunterladen.

     * Die Benutzung des DOS-Befehls copy (oder eines entsprechendes
       Werkzeugs der grafischen Benutzeroberfla:che), um das
       Boot-Image auf die Diskette zu u:bertragen.

       Programme wie copy sind hier unbrauchbar, weil das Image zur
       direkten U:bertragung erstellt wurde. Das Image stellt den
       gesamten Disketteninhalt dar, Spur fu:r Spur, und nicht eine
       gewo:hnliche Datei. Sie mu:ssen es "roh" mit speziellen
       Werkzeugen (z.B. fdimage oder rawrite) u:bertragen, wie es in
       der Installationsanleitung zu FreeBSD beschrieben ist.

   3.3. Wo befinden sich die Instruktionen zur Installation von
   FreeBSD?

   Installationsanleitungen finden Sie im Handbucheintrag zur
   Installation von FreeBSD.

   3.4. Was beno:tige ich zum Betrieb von FreeBSD?

   Der Betrieb von FreeBSD und neuer erfordert mindestens einen 486er
   Prozessor mit mindestens 24 MB RAM sowie mindestens 150 MB an
   Festplattenspeicher.

   Alle FreeBSD-Versionen laufen mit einer einfachen MDA-Grafikkarte,
   fu:r Xorg beno:tigen Sie allerdings eine VGA- oder eine bessere
   Videokarte.

   Lesen Sie auch den Abschnitt Hardwarekompatibilita:t.

   3.5. Wie kann ich eine angepasste Installationsdiskette erstellen?

   Zurzeit gibt es keine Mo:glichkeit, nur die angepassten
   Installationsdisketten zu erstellen. Sie mu:ssen sich eine ganz
   neues Release erstellen, das Ihre Installationsdiskette entha:lt.

   Wenn Sie eine modifizierte Ausgabe erstellen wollen, finden Sie
   eine Anleitung im Artikel   FreeBSD Release Engineering.

   3.6. Kann Windows neben FreeBSD existieren?

   Installieren Sie zuerst Windows, dann FreeBSD. Der Bootmanager von
   FreeBSD kann dann entweder Windows oder FreeBSD booten. Falls Sie
   Windows nach FreeBSD installieren, wird es, ohne zu fragen, Ihren
   Bootmanager u:berschreiben. Lesen Sie den na:chsten Abschnitt,
   falls das passieren sollte.

   3.7. Windows hat meinen Bootmanager zersto:rt! Wie stelle ich ihn
   wieder her?

   Es gibt drei Mo:glichkeiten, den FreeBSD-Bootmanager neu zu
   installieren:

     * Unter DOS wechseln Sie in das Verzeichnis tools/ Ihrer
       FreeBSD-Distribution und suchen nach bootinst.exe. Rufen sie
       es so auf:

 ...\TOOLS> bootinst.exe boot.bin

       und der Bootmanager wird neu installiert.

     * Booten Sie FreeBSD wieder mit der Bootdiskette und wa:hlen Sie
       den Menu:eintrag Custom Installation. Wa:hlen Sie Partition.
       Wa:hlen Sie das Laufwerk, auf dem sich der Bootmanager befand
       (wahrscheinlich der erste Eintrag) und wenn Sie in den
       Partitioneditor gelangen, dru:cken Sie als aller erstes
       (nehmen Sie z.B. keine A:nderungen vor) (W)rite. Sie werden
       nach einer Besta:tigung gefragt, wa:hlen Sie [ Yes ] und
       vergessen Sie nicht, in der Bootmanager-Auswahl den FreeBSD
       Boot Manager auszuwa:hlen. Hierdurch wird der Bootmanager
       wieder auf die Festplatte geschrieben. Verlassen Sie nun das
       Installationsmenu: und rebooten wie gewo:hnlich von der
       Festplatte.

     * Booten Sie FreeBSD wieder mit der Bootdiskette (oder der
       CD-ROM) und wa:hlen Sie den Menu:punkt Fixit. Wa:hlen Sie die
       fu:r Sie passende Option, entweder die Fixit-Diskette oder die
       CD-ROM Nummer 2 (die Option "live" Filesystem). Wechseln Sie
       zur Fixit-Shell und geben Sie den folgenden Befehl ein:

 Fixit# fdisk -B -b /boot/boot0 bootdevice

       Als bootdevice mu:ssen Sie das von Ihrem System verwendete
       Gera:t angeben, z.B. ad0 (erste IDE-Platte), ad4 (erste
       IDE-Platte an einem zusa:tzlichen Controller), da0 (erste
       SCSI-Platte), usw.

   3.8. Mein IBM Thinkpad Modell A, T oder X, ha:ngt sich auf, wenn
   ich FreeBSD zum ersten Mal starte. Was soll ich machen?

   Ein Fehler in den ersten BIOS-Versionen dieser Gera:te fu:hrt
   dazu, dass sie die von FreeBSD genutzte Partition fu:r eine
   Suspend-To-Disk-Partition halten. Wenn das BIOS dann versucht,
   diese Partition auszuwerten, ha:ngt sich das System auf.

   Laut IBM [1] wurde der Fehler wurde in den folgenden
   BIOS-Versionen behoben:

             Gera:t                        BIOS Version               
   T20                        IYET49WW oder neuer                     
   T21                        KZET22WW oder neuer                     
   A20p                       IVET62WW oder neuer                     
   A20m                       IWET54WW oder neuer                     
   A21p                       KYET27WW oder neuer                     
   A21m                       KXET24WW oder neuer                     
   A21e                       KUET30WW                                

   Es ist mo:glich, dass neuere Version des IBM BIOS den Fehler
   wieder enthalten.   Dieser Beitrag von Jacques Vidrine
   <nectar@FreeBSD.org> auf der Mailingliste FreeBSD laptop computer
   beschreibt eine Technik, die Ihnen weiterhelfen ko:nnte, wenn Ihr
   IBM Laptop mit FreeBSD nicht bootet und Sie eine neuere oder
   a:ltere BIOS-Version einspielen ko:nnen.

   Wenn Ihr Thinkpad u:ber eine a:ltere BIOS-Version verfu:gt und Sie
   das BIOS nicht aktualisieren ko:nnen, ist eine der mo:glichen
   Lo:sungen, FreeBSD zu installieren, die Partitions-ID zu a:ndern
   und danach neue Bootblocks zu installieren, die mit der
   gea:nderten ID umgehen ko:nnen.

   Zuna:chst mu:ssen Sie die Maschine so weit wiederherstellen, dass
   sie u:ber den Selbst-Test hinauskommt. Dazu ist es erforderlich,
   dass das System beim Start keine Partitions-ID auf seiner
   prima:ren Festplatte findet. Eine Variante ist, die Platte
   auszubauen und voru:bergehend in einem a:lteren Thinkpad (z.B. dem
   Thinkpad 600) oder (mit einem passenden Adapter) in einen normalen
   PC einzubauen. Sobald dies erfolgt ist, ko:nnen Sie die
   FreeBSD-Partition lo:schen und die Festplatte wieder in das
   Thinkpad einbauen. Das Thinkpad sollte jetzt wieder starten
   ko:nnen.

   Danach ko:nnen Sie mit der nachfolgend beschriebenen Anleitung
   eine funktionsfa:hige FreeBSD-Installation erhalten.

    1. Beschaffen Sie sich boot1 und boot2 von
       http://people.FreeBSD.org/~bmah/ThinkPad/. Legen Sie diese
       Dateien so ab, dass Sie wa:hrend der Installation darauf
       zugreifen ko:nnen.

    2. Installieren Sie ganz wie gewohnt FreeBSD auf dem Thinkpad.
       Allerdings du:rfen Sie den "Dangerously Dedicated"-Modus nicht
       benutzen. Nach dem Abschluss der Installation du:rfen Sie die
       Maschine nicht neu starten.

    3. Wechseln Sie zur "Emergency Holographic Shell" (Alt+F4) oder
       starten Sie eine "fixit" Shell.

    4. Benutzen Sie fdisk(8), um die Partitions-ID von FreeBSD von
       165 in 166 zu a:ndern (dieser Wert wird von OpenBSD benutzt).

    5. Kopieren Sie die Dateien boot1 und boot2 auf die lokale
       Festplatte.

    6. Installieren Sie boot1 und boot2 mit disklabel(8) auf die
       FreeBSD-Slice.

 # disklabel -B -b boot1 -s boot2 ad0sn

       Setzen Sie fu:r n die Nummer der Slice ein, auf der sie
       FreeBSD installiert haben.

    7. Starten Sie das System neu. Am Boot-Prompt sollten Sie die
       Auswahl OpenBSD erhalten. Damit wird in Wirklichkeit FreeBSD
       gestartet.

   Was Sie machen mu:ssen, wenn Sie FreeBSD und OpenBSD parallel
   installieren wollen, sollten Sie zu U:bungszwecken einfach einmal
   selbst herausfinden.

   3.9. Kann ich FreeBSD auf einer Festplatte mit bescha:digten
   Blo:cken installieren?

   Prinzipiell ja. Allerdings ist das keine gute Idee.

   Wenn Ihnen bei einer modernen IDE-Platte defekte Sektoren gemeldet
   werden, wird die Platte mit grosser Wahrscheinlichkeit innerhalb
   kurzer Zeit vollsta:ndig ausfallen, da die Meldung ein Zeichen
   dafu:r ist, dass die fu:r die Korrektur reservierten Sektoren
   bereits verbraucht wurden. Wir raten Ihnen, die Platte
   auszutauschen.

   Falls Sie ein SCSI-Laufwerk mit bescha:digten Blo:cken besitzen,
   lesen Sie diese Antwort.

   3.10. Wenn ich von der Installationsdiskette boote, geschehen
   merkwu:rdige Dinge! Was sollte ich tun?

   Falls Sie beobachten, dass ihr Rechner sich bis zum Stillstand
   abmu:ht oder spontan rebootet, wa:hrend Sie versuchen, von der
   Installationsdiskette zu booten, sollten Sie sich drei Fragen
   stellen:

    1. Haben Sie eine brandneue, frisch formatierte, fehlerfreie
       Diskette benutzt (gu:nstigerweise eine brandneue, direkt aus
       dem Karton und nicht eine Diskette aus einem Magazin, das
       schon seit drei Jahren unter Ihrem Bett lag)?

    2. Haben Sie das Floppy-Image im Bina:r- (oder Image) Modus
       heruntergeladen? (Scha:men Sie sich nicht. Sogar die besten
       unter uns haben wenigstens einmal Bina:rdateien versehentlich
       im ASCII-Modus heruntergeladen!)

    3. Falls Sie Windows 95 oder Windows 98 benutzen, haben Sie es
       heruntergefahren und fdimage bzw. rawrite in einfachem, reinem
       DOS neu gestartet? Es scheint, dass diese Betriebssysteme
       Programme sto:ren, die direkt auf Hardware schreiben, wie es
       das Erstellungsprogramm fu:r die Diskette tut; selbst bei der
       Ausfu:hrung des Programms in einem DOS-Fenster in der
       grafischen Benutzeroberfla:che kann dieses Problem auftreten.

   Es wurde auch daru:ber berichtet, dass Netscape(R) Probleme beim
   Herunterladen der Bootdisketten verursacht. Es ist also
   wahrscheinlich besser, einen anderen FTP-Client zu benutzen.

   3.11. Ich habe zur Installation von meinem ATAPI CD-ROM gebootet,
   aber das Installationsprogramm sagt mir, dass es kein CD-ROM
   gefunden hat. Was geht hier ab?

   Dieses Problem wird u:blicherweise durch ein falsch konfiguriertes
   CD-ROM verursacht. Bei vielen PCs ist das CD-ROM der Slave am
   zweiten IDE-Controller, ein Master ist nicht vorhanden. Laut
   Spezifikation ist diese Konfiguration ungu:ltig, aber Windows
   verletzt die Spezifikation und das BIOS ignoriert sie, wenn es von
   einem CD-ROM booten soll. Daher konnten Sie zwar vom CD-ROM
   booten, wa:hrend FreeBSD es nicht fu:r die Installation benutzen
   kann.

   Um dieses Problem zu lo:sen, mu:ssen Sie entweder das CD-ROM als
   Master an den IDE-Controller anschliessen oder dafu:r sorgen, dass
   an dem vom CD-ROM genutzten IDE-Controller das CD-ROM als Slave
   und ein anderes Gera:t als Master angeschlossen ist.

   3.12. Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
   installieren?

   Ja, Sie brauchen dazu nur ein ganz normales Laplink-Kabel. Weitere
   Informationen zum Thema Netzwerke am Druckerport finden sie im
   Kapitel PLIP des Handbuchs.

   3.13. Welche Geometrie sollte ich fu:r ein Festplattenlaufwerk
   verwenden?

   Anmerkung: Unter der "Geometrie" einer Festplatte verstehen wir
   die Anzahl Zylinder, Schreib-/Leseko:pfen und Sektoren/Spur auf
   einer Festplatte. Im folgenden wird dafu:r der U:bersichtlichkeit
   halber der Begriff C/H/S verwendet. Das BIOS des PCs berechnet mit
   diesen Angaben, auf welche Bereiche der Festplatte es fu:r
   Schreib-/Lesezugriffe zugreifen muss).

   Aus einigen Gru:nden scheint dies gerade bei frischgebackenen
   Systemadministratoren fu:r sehr viel Verwirrung zu sorgen.
   Zuna:chst einmal ist die physikalische Geometrie eines
   SCSI-Laufwerks vollkommen irrelevant, da FreeBSD mit Blo:cken
   arbeitet. Tatsa:chlich gibt es "die" physikalische Geometrie
   nicht, da die Sektordichte auf einer Festplatte variiert. Was die
   Hersteller als die "wahre" physikalische Geometrie bezeichnen, ist
   im allgemeinen die Geometrie, die aufgrund ihrer Ergebnisse im
   geringsten ungenutzten Speicher resultiert. Bei IDE-Platten
   arbeitet FreeBSD mit C/H/S-Angaben, aber alle modernen Laufwerke
   wandeln diese intern ebenfalls in Blocknummern um.

   Wichtig ist nur die logische Geometrie. Das BIOS kann die logische
   Geometrie der Festplatte abfragen; die erhaltenen Daten werden
   dann vom BIOS bei Zugriffen auf die Festplatte genutzt. Da FreeBSD
   das BIOS benutzt, wa:hrend es bootet, ist es sehr wichtig, dass
   diese Angaben richtig sind. Insbesondere mu:ssen alle
   Betriebssysteme mit derselben Geometrie arbeiten, falls Sie mehr
   als ein Betriebssystem auf einer Festplatte haben. Andernfalls
   werden Sie ernsthafte Bootprobleme bekommen!

   Bei SCSI-Festplatten ha:ngt die zu verwendende Geometrie davon ab,
   ob der Extended Translation Support auf Ihrem Controller
   eingeschaltet ist (oft auch als "Unterstu:tzung fu:r DOS-Platten
   >1GB" oder a:hnlich bezeichnet). Falls sie ausgeschaltet ist,
   benutzen Sie N Zylinder, 64 Ko:pfe und 32 Sektoren/Spur, wobei N
   die Kapazita:t der Festplatte in MB ist. Zum Beispiel sollten fu:r
   eine 2 GB Festplatte 2048 Zylinder, 64 Ko:pfe und 32 Sektoren/Spur
   angegeben werden.

   Falls sie eingeschaltet ist (was oft der Fall ist, um bestimmte
   Einschra:nkungen von MS-DOS(R) zu umgehen) und die
   Plattenkapazita:t mehr als 1 GB betra:gt, benutzen Sie M Zylinder,
   63 Sektoren/Spur (nicht 64) und 255 Ko:pfe, wobei M der
   Plattenkapazita:t in MB, dividiert durch 7,844238 entspricht (!).
   Also wu:rde unsere 2 GB Beispielplatte 261 Zylinder, 63
   Sektoren/Spur und 255 Ko:pfe haben.

   Falls Sie sich hier nicht sicher sind oder FreeBSD wa:hrend der
   Installation die Geometrie nicht richtig erkennt, hilft es
   normalerweise, eine kleine DOS-Partition auf der Festplatte
   anzulegen. Das BIOS sollte dann in der Lage sein, die richtige
   Geometrie zu erkennen. Sie ko:nnen die Partition jederzeit im
   Partitioneditor entfernen, falls Sie sie nicht behalten mo:chten.
   Allerdings kann Sie ganz nu:tzlich sein, um Netzwerkkarten zu
   programmieren und a:hnliches.

   Alternativ ko:nnen Sie das frei verfu:gbare Programm pfdisk.exe
   verwenden. Sie finden es im Unterverzeichnis tools auf der FreeBSD
   CD-ROM und allen FreeBSD FTP-Servern). Mit diesem Programm ko:nnen
   Sie herausfinden, welche Geometrie die anderen Betriebssysteme auf
   der Festplatte verwenden. Diese Geometrie ko:nnen Sie im
   Partitioneditor eingeben.

   3.14. Gibt es irgendwelche Einschra:nkungen, wie ich die
   Festplatte aufteilen darf?

   Ja. Sie mu:ssen sicherstellen, dass Ihre Rootpartition innerhalb
   der ersten 1024 Zylinder liegt, damit das BIOS den Kernel von Ihr
   booten kann. (Beachten Sie, dass es sich um eine Einschra:nkung
   durch das BIOS des PCs handelt und nicht durch FreeBSD).

   Fu:r ein SCSI-Laufwerk bedeutet dies normalerweise, dass sich die
   Rootpartition in den ersten 1024 MB befindet (oder in den ersten
   4096 MB, falls die Extended Translation eingeschaltet ist - siehe
   die vorherige Frage). Der entsprechende Wert fu:r IDE ist 504 MB.

   3.15. Vertra:gt sich FreeBSD mit Plattenmanagern?

   FreeBSD erkennt den Ontrack Disk Manager und beru:cksichtigt ihn.
   Andere Plattenmanager werden nicht unterstu:tzt.

   Falls Sie die Festplatte nur mit FreeBSD benutzen wollen, brauchen
   Sie keinen Plattenmanager. Wenn Sie Sie die Platte einfach in der
   vom BIOS maximal unterstu:tzten Gro:sse (normalerweise
   504 Megabyte) konfigurieren, sollte FreeBSD erkennen, wie viel
   Platz Sie tatsa:chlich haben. Falls Sie eine alte Festplatte mit
   einem MFM-Controller verwenden, ko:nnte es sein, dass Sie FreeBSD
   explizit angeben mu:ssen, wie viele Zylinder es benutzen soll.

   Falls Sie die Festplatte mit FreeBSD und einem anderen
   Betriebssystem benutzen wollen, sollten Sie auch in der Lage sein,
   ohne einen Plattenmanager auszukommen: stellen sie einfach sicher,
   dass sich die Bootpartition von FreeBSD und der Bereich fu:r das
   andere Betriebssystem in den ersten 1024 Zylindern befinden. Eine
   20 Megabyte Bootpartition sollte vo:llig genu:gen, wenn Sie
   einigermassen sorgfa:ltig arbeiten.

   3.16. Beim ersten Booten von FreeBSD erscheint "Missing Operating
   System". Was ist passiert?

   Dies ist ein klassischer Fall von Konflikten bei den verwendeten
   Plattengeometrien von FreeBSD und DOS oder anderen
   Betriebssystemen. Sie werden FreeBSD neu installieren mu:ssen. Bei
   Beachtung obiger Instruktionen wird in den meisten Fa:llen alles
   funktionieren.

   3.17. Wieso komme ich nicht weiter als bis zum F?-Prompt des
   Bootmanagers?

   Dies ist ein weiteres Symptom fu:r das bereits in der vorherigen
   Frage beschriebene Problem. Ihre Einstellungen zur Geometrie im
   BIOS und in FreeBSD stimmen nicht u:berein! Falls Ihr Controller
   oder BIOS Zylinderumsetzung (oft als ">1GB drive support"
   bezeichnet), probieren Sie eine Umsetzung dieser Einstellung und
   Neuinstallation von FreeBSD.

   3.18. Muss ich den vollsta:ndigen Quellcode installieren?

   Im allgemeinen nicht. Wir empfehlen jedoch dringend die
   Installation des base Source-Kit, das viele der hier erwa:hnten
   Dateien entha:lt und des sys (Kernel) Source-Kit, das den
   Quellcode fu:r den Kernel entha:lt. Ausser dem Programm zur
   Konfiguration des Kernels (config(8)) gibt es im System nichts, zu
   dessen Funktion der Quellcode erforderlich ist. Mit Ausnahme der
   Kernelquellen ist unsere Build-Struktur so aufgebaut, dass Sie den
   Quellcode von u:berall her per NFS read-only mounten und dennoch
   neue Binaries erstellen ko:nnen. (Wegen der Einschra:nkung
   bezu:glich der Kernelquellen empfehlen wir, diese nicht direkt
   nach /usr/src zu mounten, sondern irgendwo anders hin mit
   passenden symbolischen Links, um die Toplevel-Struktur des
   Quellbaumes zu duplizieren.)

   Die Quellen verfu:gbar zu haben und zu wissen, wie man ein System
   mit ihnen erstellt, wird es Ihnen wesentlich einfacher machen, zu
   zuku:nftigen Ausgaben von FreeBSD zu wechseln.

   Um einen Teil der Quellen auszuwa:hlen, verwenden Sie den
   Menu:punkt Custom, wenn Sie sich im Menu: Distributions des
   Systeminstallationstools befinden.

   3.19. Muss ich einen Kernel erstellen?

   Urspru:nglich war die Erstellung eines neuen Kernels bei fast
   jeder Installation von FreeBSD erforderlich, aber neuere Ausgaben
   haben von der Einfu:hrung weitaus benutzerfreundlicherer
   Kernelkonfigurationswerkzeuge profitiert. Die Kernelkonfiguration
   erfolgt in der Regel durch die die deutlich flexibleren "hints",
   die am Loader-Prompt eingegeben werden ko:nnen.

   Es kann dennoch sinnvoll sein, einen neuen Kernel zu erstellen,
   der nur die beno:tigten Treiber entha:lt, um ein wenig
   Hauptspeicher zu sparen, fu:r die meisten Systeme ist dies aber
   nicht mehr la:nger erforderlich.

   3.20. Soll ich DES, Blowfish oder MD5 zur Verschlu:sselung der
   Passwo:rter benutzen?

   FreeBSD benutzt standardma:ssig MD5 zur Verschlu:sselung der
   Passwo:rter. Es wird angenommen, dass diese Methode sicherer ist
   als das traditionell benutzte Verfahren, das auf dem DES
   Algorithmus basierte. Es ist immer noch mo:glich, DES-Passwo:rter
   zu benutzen, wenn Sie die Datei mit den Passwo:rtern mit a:lteren
   System austauschen mu:ssen. FreeBSD erlaubt es Ihnen, auch das
   sichere Blowfish-Verfahren fu:r die Verschlu:sselung der
   Passwo:rter einzusetzen. Das fu:r neue Passwo:rter benutzte
   Verschlu:sselungsverfahren wird u:ber die Einstellung
   passwd_format in /etc/login festgelegt. Die mo:glichen Werte sind
   entweder des, blf (falls sie zur Verfu:gung stehen) oder md5.
   Weitere Informationen u:ber die Einstellungen fu:r den Login
   erhalten Sie in login.conf(5).

   3.21. Woran kann es liegen, dass ich zwar von der Diskette booten
   kann, aber nicht weiter als bis zur Meldung Probing Devices...
   komme?

   Falls Sie ein IDE Zip(R)- oder Jaz(R)-Laufwerk eingebaut haben,
   entfernen Sie es und versuchen Sie es erneut. Solche Laufwerke
   ko:nnten dem Bootvorgang sto:ren. Nach der Installation des
   Systems ko:nnen Sie das Laufwerk wieder einbauen. Dieser Fehler
   wird hoffentlich in einer spa:teren Version behoben werden.

   3.22. Wieso wird mit der Fehler "panic: cant mount root" gemeldet,
   wenn ich das System nach der Installation reboote?

   Dieser Fehler beruht auf Unstimmigkeiten zwischen den
   Festplatteninformationen im Bootblock und denen im Kernel. Der
   Fehler tritt normalerweise auf IDE-Systemen mit zwei Festplatten
   auf, bei denen die Festplatten als Master- oder Single-Device auf
   separaten IDE-Controllern angeschlossen sind und FreeBSD auf der
   Platte am zweiten Controller installiert wurde. Der Bootblock
   vermutet, dass das System auf ad0 (der zweiten BIOS-Platte)
   installiert ist, wa:hrend der Kernel der ersten Platte auf dem
   zweiten Controller die Gera:tekennung ad2 zuteilt. Der Kernel
   versucht nach der Gera:teu:berpru:fung die vom Bootblock
   angenommene Bootdisk ad0 zu mounten, obwohl sie in Wirklichkeit
   ad2 heisst - und scheitert.

   Tun Sie folgendes, um dieses Problem zu beheben:

    1. Rebooten Sie das System und dru:cken Sie Enter, wenn die
       Meldung Booting kernel in 10 seconds; hit [Enter] to interrupt
       erscheint. Dadurch gelangen Sie in den Boot Loader.

       Geben Sie nun set root_disk_unit="disk_number" ein.
       disk_number hat den Wert 0, wenn FreeBSD auf dem Master des
       ersten IDE-Controllers installiert wurde; 1, wenn FreeBSD auf
       dem Slave des ersten IDE-Controllers installiert wurde; 2,
       wenn FreeBSD auf dem Master des zweiten IDE-Controllers
       installiert wurde; und 3, wenn FreeBSD auf dem Slave des
       zweiten IDE-Controllers installiert wurde.

       Nach der Eingabe von boot sollte Ihr System jetzt korrekt
       starten.

       Damit Sie dieses Ritual nicht bei jedem Start des Systems
       durchfu:hren mu:ssen, sollten Sie die Zeile
       root_disk_unit="disk_number" in die Datei
       /boot/loader.conf.local eintragen.

    2. Stellen Sie eine ununterbrochene Folge der Festplatten her,
       indem Sie die FreeBSD-Platte am ersten IDE-Controller
       anschliessen.

   3.23. Gibt es eine Hauptspeicherbegrenzung?

   Hauptspeicherbegrenzung sind von der verwendeten Plattform
   abha:ngig. Bei einer i386-Standardinstallation werden maximal 4 GB
   Hauptspeicher unterstu:tzt, mehr Speicher ist mittels pae(4)
   verfu:gbar. Lesen Sie dazu die Anleitung, um 4 GB oder mehr
   Speicher auf i386 zu verwenden.

   FreeBSD/pc98 unterstu:tzt maximal 4 GB Hauptspeicher, daher kann
   PAE auf diesen Systemen nicht verwendet werden. Sonstige von
   FreeBSD unterstu:tzte Architekturen haben ein sehr viel ho:heres
   theoretisches Speicherlimit (viele Terabytes).

   3.24. Wo liegen die Grenzen fu:r FFS-Dateisysteme?

   Theoretisch liegt das Limit fu:r FFS-Dateisysteme bei 8 Terabyte
   (2 G-Blo:cke) oder 16 TB fu:r die Standard-Blockgro:sse von 8 KB.
   In der Praxis setzt die Software das Limit auf 1 TB herab, aber
   durch Modifikationen sind auch Dateisysteme mit 4 TB mo:glich (und
   existieren auch).

   Die maximale Gro:sse einer einzelnen FFS-Datei liegt bei ungefa:hr
   1 G Blo:cken (4 TB, falls die Blockgro:sse 4 KB betra:gt).

   Tabelle 3-1. Maximale Dateigro:sse

   +-----------------------------------------+
   | Blockgro:sse |   Geht    | Sollte Gehen |
   |--------------+-----------+--------------|
   | 4 KB         | > 4 GB    | 4 TB - 1     |
   |--------------+-----------+--------------|
   | 8 KB         | > 32 GB   | 32 TB - 1    |
   |--------------+-----------+--------------|
   | 16 KB        | > 128 GB  | 32 TB - 1    |
   |--------------+-----------+--------------|
   | 32 KB        | > 512 GB  | 64 TB - 1    |
   |--------------+-----------+--------------|
   | 64 KB        | > 2048 GB | 128 TB - 1   |
   +-----------------------------------------+

   Wenn die im Dateisystem verwendete Blockgro:sse 4 KB betra:gt,
   wird mit dreifacher Indirektion gearbeitet und die Limitierung
   sollte durch die ho:chste Blocknummer erfolgen, die mit dreifacher
   Indirektion dargestellt werden kann (ungefa:hr
   10243 + 10242 + 1024). In Wirklichkeit liegt das Limit aber bei
   der (falschen) Anzahl von 1 G - 1 Blocknummern im Dateisystem. Die
   maximale Anzahl der Blocknummern mu:sste 2 G - 1 sein. Es gibt
   einige Fehler fu:r Blocknummern nahe 2 G - 1, aber solche
   Blocknummern sind bei einer Blockgro:sse von 4 KB unerreichbar.

   Bei Blocknummern von 8 KB und gro:sser sollte das Limit bei
   2 G - 1 Blocknummern liegen, tatsa:chlich liegt es aber bei
   1 G - 1 Blocknummern. Die Verwendung der korrekten Grenze von
   2 G - 1 verursacht Probleme.

   3.25. Wieso erhalte ich die Fehlermeldung "archsw.readin.failed"
   beim Start des Systems, nachdem ich einen neuen Kernel erstellt
   habe?

   Ihr System und Ihr Kernel sind nicht synchron - dies ist nicht
   erlaubt. Sie mu:ssen Ihren Kernel mit make buildworld und make
   buildkernel aktualisieren.

   Sie ko:nnen den zu bootenden Kernel direkt im zweiten Schritt
   angeben, indem Sie eine beliebige Taste dru:cken, wenn das |
   erscheint und bevor der Loader startet.

   3.26. Mein System stu:rzt beim Booten ab! Was kann ich tun?

   Deaktivieren Sie die ACPI-Unterstu:tzung. Dazu dru:cken Sie beim
   Start des Bootloaders die Leertaste. Das System zeigt folgendes
   an:

 OK

   Geben Sie nun

 unset acpi_load

   und danach

 boot

   ein.

     --------------------------------------------------------------

                  Kapitel 4. Hardware-Kompatibilita:t

4.1. Allgemeines

   4.1.1. Ich will mir neue Hardware fu:r mein FreeBSD-System
   zulegen, was soll ich kaufen?

   4.1.1. Ich will mir neue Hardware fu:r mein FreeBSD-System
   zulegen, was soll ich kaufen?

   Diese Frage wird sta:ndig auf den FreeBSD-Mailinglisten
   diskutiert. Da sich die Hardware sta:ndig a:ndert, ist das
   allerdings keine U:berraschung. Trotzdem sollten Sie unbedingt die
   Hardware-Informationen von FreeBSD (9.1 oder 8.4) und die  
   Archive der Mailinglisten durchsehen, bevor Sie nach der
   neuesten/besten Hardware fragen. Normalerweise gab es kurz zuvor
   eine Diskussion u:ber genau die Hardware, die Sie sich zulegen
   wollen.

   Wenn Sie sich einen Laptop zulegen wollen, sollten Sie einen Blick
   in das Archiv der Mailingliste FreeBSD laptop computer werfen.
   Ansonsten empfiehlt sich ein Blick in das Archiv von FreeBSD
   general questions oder auch einer spezialisierte Mailingliste fu:r
   diese Art von Hardware.

     --------------------------------------------------------------

4.2. Hauptspeicher

   4.2.1. Unterstu:tzt FreeBSD mehr als 4 GB Speicher (RAM)? Mehr als
   16 GB? Mehr als 48 GB?

   4.2.2. Warum zeigt FreeBSD weniger als 4 GB Speicher an, wenn es
   auf einer i386 Maschine installiert wird?

   4.2.1. Unterstu:tzt FreeBSD mehr als 4 GB Speicher (RAM)? Mehr als
   16 GB? Mehr als 48 GB?

   Ja. Generell unterstu:tzt FreeBSD als Betriebssystem so viel
   physischen Speicher (RAM), wie die Plattform auf der es la:uft.
   Achten Sie darauf, dass verschiedene Plattformen unterschiedliche
   Speichergrenzen besitzen. So wird z.B. i386 ohne PAE ho:chstens
   4 GB Speicher (normalerweise weniger als das wegen des
   PCI-Addressraums), dagegen wird i386 mit PAE ho:chstens 64 GB
   Speicher bereitstellen. Momentan erha:ltliche AMD64 Plattformen
   ko:nnen bis zu 1 TB physischen Speicher ansprechen.

   4.2.2. Warum zeigt FreeBSD weniger als 4 GB Speicher an, wenn es
   auf einer i386 Maschine installiert wird?

   Der Gesamtadressraum betra:gt auf i386 Maschinen 32-Bit, was
   bedeutet, dass maximal 4 GB Speicher addressiert (verwaltet)
   werden kann. Weiterhin sind viele Adressen in diesem Bereich von
   der Hardware fu:r bestimmte Aufgaben reserviert, um z.B.
   PCI-Gera:te zu benutzen und zu steuern, auf Videospeicher
   zuzugreifen und so weiter. Aus diesem Grund ist die Gesamtmenge an
   Speicher, die vom Betriebssystem fu:r den Kernel und Anwendungen
   verwendet werden kann, auf wesentlich weniger als 4 GB begrenzt.
   Normalerweise sind 3.2 GB bis 3.7 GB das Maximum an verfu:gbarem
   Speicher in dieser Konfiguration.

   Um auf mehr als 3.2 GB bis 3.7 GB des installierten Speichers (was
   bis zu 4 GB, aber aber auch mehr als 4 GB bedeuten kann)
   zuzugreifen, muss eine spezielle Manipulation, genannt PAE,
   benutzt werden. PAE steht fu:r Physical Address Extension und ist
   eine Mo:glichkeit fu:r 32-Bit x86-CPUs mehr als 4 GB Speicher zu
   addressieren. Es organisiert den Speicher, der andererseits wegen
   Addressreservierungen fu:r Hardwaregera:te oberhalb der 4 GB
   Grenze liegt, um und benutzt diesen als zusa:tzlichen physischen
   Speicher (lesen Sie dazu pae(4)). Der Einsatz von PAE ist mit ein
   paar Nachteilen verbunden: diese Speicherzugriffsmethode ist ein
   bisschen langsamer als die normale Methode (ohne PAE) und ladbare
   Module (beschrieben in kld(4)) werden nicht unterstu:tzt. Das
   bedeutet, dass alle Treiber in den Kernel eingebaut sein mu:ssen.

   Die am ha:ufigsten verwendete Vorgehensweise, PAE zu aktivieren
   ist die, einen neuen Kernel mit der speziell dafu:r vorgesehenen
   Kernelkonfigurationsdatei, PAE genannt, zu bauen, die bereits so
   eingestellt ist, dass ein funktionierender Kernel erstellt wird.
   Beachten Sie, dass manche Eintra:ge in dieser
   Kernelkonfigurationsdatei zu konservativ eingestellt sind und dass
   manche Treiber, die nicht fu:r den Einsatz mit PAE vorgesehen
   sind, trotzdem funktionieren. Als Faustregel kann man sagen, dass
   wenn der Treiber auf 64-Bit Architekturen (like AMD64) la:uft, er
   auch mit PAE lauffa:hig ist. Wenn Sie ihre eigene
   Kernelkonfigurationsdatei erstellen mo:chten, ko:nnen Sie PAE
   aktivieren, indem Sie die folgende Zeile zu ihrer Konfiguration
   hinzufu:gen:

 options       PAE

   PAE wird heutzutage nicht sehr ha:ufig angewendet, da die Mehrzahl
   an neuer x86-Hardware auch den Betrieb im 64-Bit Modus erlaubt,
   auch als AMD64 oder Intel 64 bekannt. Es hat viel mehr Adressraum
   und beno:tigt solche Manipulationen nicht. FreeBSD unterstu:tzt
   AMD64 und es wird empfohlen, diese FreeBSD Version anstatt der
   i386 Version einzusetzen, wenn 4 GB oder mehr Speicher gebraucht
   werden.

     --------------------------------------------------------------

4.3. Architekturen und Prozessoren

   4.3.1. Unterstu:tzt FreeBSD neben x86 auch andere Architekturen?

   4.3.2. Unterstu:tzt FreeBSD Symmetric-Multiproccessing (SMP)?

   4.3.1. Unterstu:tzt FreeBSD neben x86 auch andere Architekturen?

   Ja. FreeBSD ist zurzeit fu:r die Intel x86 und AMD64 Architekturen
   verfu:gbar. Intel EM64T, IA-64, ARM, PowerPC und SPARC64(R) werden
   ebenfalls unterstu:tzt. Die Neuzuga:nge auf der Liste der in
   Zukunft unterstu:tzten Plattformen sind MIPS(R) und S/390(R).
   Abonnieren Sie die Mailingliste FreeBSD MIPS porting, wenn Sie
   mehr u:ber den Stand der Entwicklung erfahren wollen. Schliessen
   Sie sich der Mailingliste FreeBSD non-Intel platforms porting an,
   wenn Sie an grundsa:tzlichen Diskussionen u:ber neue Architekturen
   interessiert sind.

   Falls Ihre Maschine eine andere Architektur aufweist und Sie
   unbedingt sofort etwas beno:tigen, schlagen wir vor, dass Sie sich
   einmal NetBSD oder OpenBSD ansehen.

   4.3.2. Unterstu:tzt FreeBSD Symmetric-Multiproccessing (SMP)?

   Symmetric-Multiproccessing (SMP) Systeme werden generell von
   FreeBSD unterstu:tzt, obwohl in manchen Fa:llen durch Fehler im
   BIOS oder Mainboard Probleme auftreten.

   FreeBSD nutzt die Vorteile von HyperThreading (HTT) Unterstu:tzung
   von Intel-Prozessoren, die diese Eigenschaft besitzen. Ein Kernel
   mit der options SMP Zeile wird automatisch die zusa:tzlichen
   logischen Prozessoren erkennen. Der Standard FreeBSD-Scheduler
   behandelt die logischen Prozessoren auf die gleiche Weise wie
   zusa:tzliche physische Prozessoren. Mit anderen Worten, es wird
   nicht der Versuch unternommen, die Entscheidungen des Schedulers
   zu optimieren, da sich die logischen Prozessoren innerhalb der
   gleichen CPU die Ressourcen teilen. Weil diese naive Planung in
   schlechterer Leistung resultieren kann, ist es unter Umsta:nden
   hilfreich, die logischen Prozessoren u:ber die sysctl Variable
   machdep.hlt_logical_cpus zu deaktivieren. Es ist auch mo:glich,
   jede CPU in der Warteschleife mit der sysctl Variable
   machdep.hlt_cpus anzuhalten. Weitere Informationen finden Sie in
   der Manualpage smp(4).

     --------------------------------------------------------------

4.4. Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke

   4.4.1. Welche Arten von Festplatten werden von FreeBSD
   unterstu:tzt?

   4.4.2. Welche SCSI- oder SAS-Controller werden unterstu:tzt?

   4.4.3. Welche Arten von Bandlaufwerken werden unterstu:tzt?

   4.4.4. Unterstu:tzt FreeBSD Bandwechsler?

   4.4.5. Welche CD-ROM-Laufwerke werden von FreeBSD unterstu:tzt?

   4.4.6. Welche CD-Brenner werden von FreeBSD unterstu:tzt?

   4.4.1. Welche Arten von Festplatten werden von FreeBSD
   unterstu:tzt?

   FreeBSD unterstu:tzt EIDE-, SATA-, SCSI- und SAS-Laufwerke (mit
   kompatiblen Controllern - siehe folgenden Abschnitt), sowie alle
   Laufwerke, die die original "Western Digital"-Schnittstelle (MFM,
   RLL, ESDI und natu:rlich IDE) benutzen. Ein paar Controller mit
   proprieta:ren Schnittstellen ko:nnten nicht laufen: halten Sie
   sich an WD1002/3/6/7-Schnittstellen und Clones.

   4.4.2. Welche SCSI- oder SAS-Controller werden unterstu:tzt?

   Sie finden eine vollsta:ndige und aktuelle Liste in den
   Hardware-Informationen zu FreeBSD (9.1 oder 8.4).

   4.4.3. Welche Arten von Bandlaufwerken werden unterstu:tzt?

   FreeBSD unterstu:tzt SCSI-, QIC-36- (mit QIC-02-Schnittstelle) und
   QIC-40/80-Bandlaufwerke (diskettenbasiert). Hierzu geho:ren auch
   8-mm (aka Exabyte) und DAT-Laufwerke. Die QIC-40/80-Laufwerke sind
   bekanntlich sehr langsam.

   Einige der fru:hen 8-mm-Laufwerke sind nicht besonders kompatibel
   zu SCSI-2 und ko:nnten unter FreeBSD nicht einwandfrei
   funktionieren.

   4.4.4. Unterstu:tzt FreeBSD Bandwechsler?

   Das Gera:t ch(4) und das Kommando chio unterstu:tzen Bandwechsler.
   Details zum Betrieb des Wechslers finden Sie in der Hilfeseite
   chio(1).

   Falls Sie nicht AMANDA oder ein anderes Produkt benutzen, das den
   Wechsler bereits kennt, bedenken Sie, dass die Programme nur
   wissen, wie sie ein Band von einem Punkt zu einem anderen bewegen
   mu:ssen. Sie selbst mu:ssen sich also merken, in welchem Einschub
   sich ein Band befindet und zu welchem Einschub das Band, das sich
   gerade im Laufwerk befindet, zuru:ck muss.

   4.4.5. Welche CD-ROM-Laufwerke werden von FreeBSD unterstu:tzt?

   Jedes an einem unterstu:tzten Controller angeschlossene
   SCSI-Laufwerk wird unterstu:tzt.

   4.4.6. Welche CD-Brenner werden von FreeBSD unterstu:tzt?

   FreeBSD unterstu:tzt alle ATAPI-kompatiblen IDE CD-R und CD-RW
   Brenner. Lesen Sie dazu auch burncd(8).

   FreeBSD unterstu:tzt ebenfalls SCSI CD-R und CD-RW Brenner.
   Installieren und benutzen Sie das Paket cdrecord aus der
   Ports-Sammlung. Dazu mu:ssen Sie allerdings das Gera:t pass mit in
   Ihren Kernel aufnehmen.

     --------------------------------------------------------------

4.5. Tastaturen und Ma:use

   4.5.1. Unterstu:tzt FreeBSD meine Tastatur mit USB-Anschluss?

   4.5.2. Ich habe eine unu:bliche Busmaus. Wie muss ich sie
   konfigurieren?

   4.5.3. Wie benutze ich meine PS/2 ("Mouse-Port" oder
   "Tastatur")-Maus?

   4.5.4. Kann man die Maus irgendwie ausserhalb des X Window Systems
   benutzen?

   4.5.5. Wie funktioniert das Kopieren und Einfu:gen von Text mit
   der Maus auf einer Textkonsole?

   4.5.6. Meine Maus hat ein neumodisches Rad und mehr Kno:pfe. Kann
   ich sie in FreeBSD benutzen?

   4.5.7. Wie benutze ich Maus/Trackball/Touchpad auf meinem Laptop?

   4.5.8. Wie kann ich die Delete-Taste in der sh und csh einsetzen?

   4.5.1. Unterstu:tzt FreeBSD meine Tastatur mit USB-Anschluss?

   Ja. FreeBSD unterstu:tzt USB-Tastaturen.

   Wenn Sie die Unterstu:tzung fu:r USB-Tastaturen konfiguriert
   haben, ist die AT-Tastatur als /dev/kbd0 und die USB-Tastatur als
   /dev/kbd1 verfu:gbar. Dies gilt natu:rlich nur, wenn beide
   Tastaturen angeschlossen sind; falls nur die USB-Tastatur
   angeschlossen ist, ist diese als /dev/ukbd0 verfu:gbar.

   Wenn Sie die USB-Tastatur an der Systemkonsole benutzen wollen,
   mu:ssen Sie dies dem System explizit mitteilen. Dazu muss das
   folgende Kommando wa:hrend des Systemstarts ausgefu:hrt werden:

 # kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null

   Wenn Sie nur die USB-Tastatur angeschlossen haben, ist diese als
   /dev/ukbd0 verfu:gbar; daher muss in diesem Fall das folgende
   Kommando benutzt werden:

 # kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null

     Anmerkung: Um diese A:nderung auch noch nach dem Neustarten
     verfu:gbar zu haben, nehmen Sie den Eintrag
     keyboard="/dev/ukbd0" in die Datei /etc/rc.conf auf.

   Sobald Sie diese Schritte durchgefu:hrt haben, sollte die
   USB-Tastatur ohne weitere A:nderungen auch unter X benutzbar sei.

   Benutzen Sie dieses Kommando, wenn Sie wieder zur Standardtastatur
   wechseln wollen:

 # kbdcontrol -k /dev/kbd0 > /dev/null

   Um die gleichzeitige Verwendung der zweiten USB-Tastatur und der
   AT-Tastatur auf der selben Konsole mittels des kbdmux(4) Treibers
   zu ermo:glichen, geben Sie folgendes ein:

 # kbdcontrol -K < /dev/console > /dev/null
 # kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
 # kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
 # kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null

   Lesen Sie die ukbd(4), kbdcontrol(1) und kbdmux(4) Manualpages, um
   weitere Informationen zu erhalten.

     Anmerkung: Zurzeit kann es noch Probleme geben, wenn Sie eine
     USB-Tastatur im laufenden Betrieb einstecken oder abziehen. Um
     Probleme zu vermeiden, sollten Sie die Tastatur anschliessen,
     bevor Sie das System anschalten und die Tastatur nicht abziehen,
     solange das System noch la:uft.

   4.5.2. Ich habe eine unu:bliche Busmaus. Wie muss ich sie
   konfigurieren?

   FreeBSD unterstu:tzt die Busmaus und InPort-Busmaus von
   Herstellern wie Microsoft, Logitech und ATI. Der Gera:tetreiber
   ist im GENERIC-Kernel allerdings nicht eingebunden. Wenn Sie den
   Bus-Gera:tetreiber beno:tigen, mu:ssen Sie daher einen angepassten
   Kernel erstellen. Dazu fu:gen Sie die folgende Zeile in Ihre
   Kernelkonfigurationsdatei ein:

 device mse0 at isa? port 0x23c irq5

   Die Busmaus wird u:blicherweise zusammen mit einer speziellen
   Karte ausgeliefert. Sie ko:nnte es Ihnen ermo:glichen, andere
   Werte fu:r die Port-Adresse und den Interrupt zu setzen. Weitere
   Informationen finden Sie in Handbuch zu Ihrer Maus und in der
   mse(4) Manualpage.

   4.5.3. Wie benutze ich meine PS/2 ("Mouse-Port" oder
   "Tastatur")-Maus?

   PS/2 Ma:use werden von FreeBSD unterstu:tzt. Der notwendige
   Gera:tetreiber, psm, ist bereits im GENERIC-Kernel enthalten.

   Wenn Sie einen angepassten Kernel ohne diesen Treiber benutzen,
   mu:ssen Sie folgende Zeile in Ihre Kernelkonfigurationsdatei
   einfu:gen und den Kernel neu kompilieren:

 device psm0 at atkbdc? irq 12

   Wenn der Kernel das Gera:t psm0 beim Booten korrekt erkennt,
   stellen Sie sicher, dass sich im Verzeichnis /dev ein Eintrag fu:r
   psm0 befindet.

   4.5.4. Kann man die Maus irgendwie ausserhalb des X Window Systems
   benutzen?

   Falls Sie den normalen Konsolentreiber syscons(4) benutzen,
   ko:nnen Sie den Mauszeiger auf Textkonsolen zum Kopieren und
   Einfu:gen von Text verwenden. Starten Sie den Mausda:mon moused(8)
   und schalten Sie den Mauszeiger auf der virtuellen Konsole ein:

 # moused -p /dev/xxxx -t yyyy
 # vidcontrol -m on

   xxxx ist der Gera:tename der Maus und yyyy ist das Protokoll. Der
   Mausda:mon erkennt die Protokolle der meisten Ma:use (mit Ausnahme
   alter serieller Ma:use) automatisch, wenn Sie auto fu:r das
   Protokoll angeben. Falls das Protokoll nicht automatisch erkannt
   wird, finden Sie die unterstu:tzten Protokolle in der moused(8)
   Manualpage.

   Wenn Sie eine PS/2-Maus besitzen und diese beim Systemstart
   aktivieren wollen, tragen Sie die Zeile moused_enable="YES" in die
   Datei /etc/rc.conf ein. Falls Sie den Mausda:mon auf allen
   virtuellen Bildschirmen anstatt nur auf der Konsole benutzen
   wollen, tragen Sie ausserdem allscreens_flags="-m on" in
   /etc/rc.conf ein.

   Wa:hrend der Mausda:mon la:uft, muss der Zugriff auf die Maus
   zwischen dem Mausda:mon und anderen Programmen, wie X Windows,
   koordiniert werden. Die FAQ Warum funktioniert meine meine Maus
   unter X nicht? entha:lt weitere Details.

   4.5.5. Wie funktioniert das Kopieren und Einfu:gen von Text mit
   der Maus auf einer Textkonsole?

   Wenn Sie es geschafft haben, den Mausda:mon zu starten (wie im
   vorherigen Abschnitt gezeigt), halten Sie die linke Maustaste
   gedru:ckt und bewegen Sie die Maus, um einen Textabschnitt zu
   markieren. Dann dru:cken Sie die mittlere Maustaste, um den Text
   an der Cursorposition einzufu:gen.

   Wenn Sie keine 3-Tasten-Maus besitzen, ko:nnen Sie die mittlere
   Maustaste mit einer Tastenkombination emulieren oder die Funktion
   der mittleren Taste auf eine andere Taste legen. Einzelheiten dazu
   entha:lt die Hilfeseite moused(8).

   4.5.6. Meine Maus hat ein neumodisches Rad und mehr Kno:pfe. Kann
   ich sie in FreeBSD benutzen?

   Unglu:cklicherweise lautet die Antwort: "Vielleicht". Solche
   Ma:use mit zusa:tzlichen Extras erfordern in den meisten Fa:llen
   spezielle Treiber. Wenn der Gera:tetreiber fu:r die Maus oder das
   Anwendungsprogramm keine spezielle Unterstu:tzung fu:r die Maus
   bietet, wird sie sich wie eine gewo:hnliche Maus mit zwei oder
   drei Kno:pfen verhalten.

   Ob und wie Sie das Rad unter X benutzen ko:nnen, ko:nnen Sie im
   passenden Abschnitt der FAQ erfahren.

   4.5.7. Wie benutze ich Maus/Trackball/Touchpad auf meinem Laptop?

   Bitte lesen Sie die Antwort zur vorherigen Frage.

   4.5.8. Wie kann ich die Delete-Taste in der sh und csh einsetzen?

   Fu:r die Bourne Shell fu:gen Sie die folgende Zeile in die Datei
   .shrc ein (lesen Sie dazu auch die Manualpages sh(1) sowie
   editrc(5)).

 bind ^? ed-delete-next-char # for console
 bind ^[[3~ ed-delete-next-char # for xterm

   Fu:r die C Shell nehmen Sie hingegen die folgende Zeile in die
   Datei .cshrc auf (lesen Sie dazu auch die Manualpage csh(1)).

 bindkey ^? delete-char # for console
 bindkey ^[[3~ delete-char # for xterm

   Weitere Informationen zu diesem Thema finden sich auch hier.

     --------------------------------------------------------------

4.6. Netzkarten und serielle Gera:te

   4.6.1. Welche Netzwerkkarten unterstu:tzt FreeBSD?

   4.6.2. Gibt es einen FreeBSD-Treiber fu:r die Karten der Serie
   43xx von Broadcom?

   4.6.3. Welche seriellen Multi-Port-Karten werden von FreeBSD
   unterstu:tzt?

   4.6.4. Wie kann ich den boot:-Prompt auf einer seriellen Konsole
   erscheinen lassen?

   4.6.1. Welche Netzwerkkarten unterstu:tzt FreeBSD?

   In den Hardware Informationen zu jedem FreeBSD Release werden die
   unterstu:tzten Karten aufgeza:hlt.

   4.6.2. Gibt es einen FreeBSD-Treiber fu:r die Karten der Serie
   43xx von Broadcom?

   Ja. Zahlreiche Broadcom 43xx-Karten werden von den Treibern bwn(4)
   sowie bwi(4) unterstu:tzt.

   4.6.3. Welche seriellen Multi-Port-Karten werden von FreeBSD
   unterstu:tzt?

   Es existiert eine Liste der unterstu:tzten Karten im Abschnitt
   Serielle Datenu:bertragung des Handbuchs.

   Von einigen NoName-Nachbauten ist ebenfalls bekannt, dass sie
   funktionieren, speziell von den AST-kompatiblen.

   In sio(4) finden Sie weitere Informationen zur Konfiguration
   solcher Karten.

   4.6.4. Wie kann ich den boot:-Prompt auf einer seriellen Konsole
   erscheinen lassen?

   Lesen Sie   diesen Abschnitt des Handbuchs.

     --------------------------------------------------------------

4.7. Soundkarten

   4.7.1. Welche Soundkarten werden von FreeBSD unterstu:tzt?

   4.7.2. Abhilfen fu:r fehlenden Sound bei Verwendung des
   pcm(4)-Treibers?

   4.7.1. Welche Soundkarten werden von FreeBSD unterstu:tzt?

   FreeBSD unterstu:tzt verschiedene Soundkarten. Lesen Sie die  
   FreeBSD Release Informationen sowie snd(4), wenn Sie genauere
   Informationen beno:tigen. MPU-401 und kompatible MIDI-Karten
   werden begrenzt unterstu:tzt. Ebenso unterstu:tzt werden Karten,
   die der Microsoft(R) Sound System-Spezifikation entsprechen.

     Anmerkung: Das gilt nur fu:r Sound! Dieser Treiber unterstu:tzt
     keine CD-ROMs, SCSI oder Joysticks auf diesen Karten, ausser der
     SoundBlaster(R). Die SoundBlaster-SCSI-Schnittstelle und einige
     Nicht-SCSI-CD-ROMs werden unterstu:tzt, Sie ko:nnen von diesen
     Gera:ten aber nicht booten.

   4.7.2. Abhilfen fu:r fehlenden Sound bei Verwendung des
   pcm(4)-Treibers?

   Einige Soundkarten setzen die Lautsta:rke bei jedem Systemstart
   auf 0. In diesem Fall mu:ssen Sie nach jedem Bootvorgang den
   folgenden Befehl ausfu:hren:

 # mixer pcm 100 vol 100 cd 100

     --------------------------------------------------------------

4.8. Sonstige Hardware

   4.8.1. Unterstu:tzt FreeBSD Power-Management auf meinem Laptop?

   4.8.2. Wie kann ich ACPI deaktivieren?

   4.8.3. Wieso ha:ngt sich mein Micron-System beim Booten auf?

   4.8.4. Wenn ich ein System mit einem ASUS K7V Mainboard von der
   Bootdiskette starte, ha:ngt sich das System auf. Wie kann ich
   dieses Problem lo:sen?

   4.8.5. Warum arbeitet meine 3Com(R) PCI-Netzwerkkarte in meinem
   Micron-Computer nicht?

   4.8.1. Unterstu:tzt FreeBSD Power-Management auf meinem Laptop?

   FreeBSD unterstu:tzt APM auf einigen Systemen. Lesen Sie dazu auch
   apm(4).

   FreeBSD unterstu:tzt einen Grossteil der ACPI-Funktionen moderner
   Hardware. Lesen Sie dazu auch acpi(4). Unterstu:tzt Ihr System
   sowohl APM als auch ACPI, ko:nnen Sie beide Systeme testen und
   sich fu:r das System entscheiden, das Ihren Anforderungen am
   besten entspricht.

   4.8.2. Wie kann ich ACPI deaktivieren?

   Fu:gen Sie die Zeile

 hint.acpi.0.disabled="1"

   in die Datei /boot/device.hints ein.

   4.8.3. Wieso ha:ngt sich mein Micron-System beim Booten auf?

   Lesen Sie die vorherige Antwort.

   4.8.4. Wenn ich ein System mit einem ASUS K7V Mainboard von der
   Bootdiskette starte, ha:ngt sich das System auf. Wie kann ich
   dieses Problem lo:sen?

   Schalten Sie im BIOS die Option "boot virus protection" aus.

   4.8.5. Warum arbeitet meine 3Com(R) PCI-Netzwerkkarte in meinem
   Micron-Computer nicht?

   Einige Micron Motherboards besitzen eine nicht-konforme
   PCI-BIOS-Implementierung, die die PCI-Gera:te nicht an den
   angegebenen Adressen konfiguriert. Hierdurch entstehen Probleme,
   wenn FreeBSD bootet.

   Deaktivieren Sie die Option "Plug and Play Operating System" im
   BIOS, um das Problem zu umgehen.

     --------------------------------------------------------------

                       Kapitel 5. Fehlerbehebung

   5.1. Warum zeigt FreeBSD eine falsche Speichergro:sse auf i386
   Hardware an?

   5.2. Was sollte ich tun, wenn auf meiner Festplatte fehlerhafte
   Blo:cke sind?

   5.3. Wieso wird der SCSI-Controller meines HP Netserver nicht
   erkannt?

   5.4. Was bedeuten die sta:ndigen Meldungen ed1: timeout?

   5.5. Warum funktioniert meine 3Com 3C509 plo:tzlich nicht mehr?

   5.6. Mein an der parallel Schnittstelle angeschlossener Drucker
   ist unglaublich langsam. Was kann ich tun?

   5.7. Wieso brechen meine Programme gelegentlich mit "Signal
   11"-Fehlern ab?

   5.8. Mein System stu:rzt mit der Meldung "Fatal trap 12: page
   fault in kernel mode" oder "panic:" ab und gibt eine Menge
   zusa:tzlicher Informationen aus. Was kann ich tun?

   5.9. Wieso wird beim Booten der Bildschirm schwarz und reagiert
   nicht mehr?

   5.10. Wieso verwendet FreeBSD nur 64 MB Hauptspeicher, obwohl in
   meinem Rechner 128 MB sind?

   5.11. Ich habe mehr als 1 GB RAM. Trotzdem stu:rzt mein System mit
   der Meldung "kmem_map too small" ab. Was la:uft hier schief?

   5.12. Ich habe weniger als 1 GB Hauptspeicher. Dennoch stu:rzt
   mein System mit der Meldung "kmem_map too small" ab!

   5.13. Wieso erhalte ich die Meldung "kernel: proc: table is full"?

   5.14. Wieso erhalte ich die Meldung "CMAP busy panic", wenn ich
   mein System mit einem neuen Kernel starte?

   5.15. Was soll mir die Meldung "ahc0: brkadrint, Illegal Host
   Access at seqaddr 0x0" sagen?

   5.16. Wenn ich mein System starte, erhalte ich die Meldung "ahc0:
   illegal cable configuration", obwohl die Verkabelung korrekt ist.
   Woran liegt das?

   5.17. Wieso meldet sendmail "mail loops back to myself"?

   5.18. Wieso funktionieren bildschirmorientierte Anwendungen beim
   Zugriff u:ber ein Netzwerk nicht richtig?

   5.19. Warum wird meine PnP-Karte nicht (oder nur noch als unknown)
   erkannt?

   5.20. Warum erhalte ich die Meldung "nlist failed", wenn ich
   Programme wie top oder systat benutze?

   5.21. Wieso dauert es so lange, bis eine Verbindung (ssh(1) oder
   telnet(1)) aufgebaut wird?

   5.22. Was bedeutet "stray IRQ"?

   5.23. Warum sehe ich in der Ausgabe von dmesg(8) ha:ufig die
   Meldung "file: table is full"?

   5.24. Warum werden sta:ndig Meldungen wie "calcru: negative
   runtime" oder "calcru: runtime went backwards" auf die Konsole
   geschrieben?

   5.25. Warum ist die Uhrzeit auf meinem Computer immer falsch?

   5.26. Warum erkennt mein Laptop PC-Cards nicht?

   5.27. Wieso ha:ngt sich FreeBSD nach dem BIOS-Bildschirm mit der
   Meldung "Read error" auf?

   5.28. Ein anderes Betriebssystem hat meinen Bootmanager zersto:rt.
   Wie kann ich ihn wiederherstellen?

   5.29. Was soll mir die Meldung "swap_pager: indefinite wait
   buffer:" sagen?

   5.30. Was sind "UDMA ICRC" Fehler und wie behebe ich sie?

   5.31. Was ist ein "lock order reversal"?

   5.32. Warum erhalte ich die Meldung "Called ... with the following
   non-sleepable locks held"?

   5.33. Warum bricht buildworld/installworld mit der Meldung "touch:
   not found" ab?

   5.1. Warum zeigt FreeBSD eine falsche Speichergro:sse auf i386
   Hardware an?

   Das liegt sehr wahrscheinlich an den Unterschieden zwischen
   physikalischen und virtuellen Speicheraddressen.

   Bei moderner PC-Hardware ist es u:blich, den Speicherbereich
   zwischen 3,5 und 4 Gigabyte fu:r spezielle Aufgaben (normalerweise
   fu:r PCI) zu reservieren. Dieser Adressbereich wird dabei dazu
   verwendet, um auf PCI-Hardware zuzugreifen. Dadurch kann in diesem
   Speicherbereich kein physikalischer Speicher verwaltet werden.

   Was mit dem in diesen Bereich geho:renden physikalischen Speicher
   passiert, ha:ngt von der von Ihnen eingesetzten Hardware ab.
   Unglu:cklicherweise gibt es noch immer Hardware, die hier gar
   nichts macht. In diesem Fall ist Ihr System nicht in der Lage, auf
   diese 500 Megabyte des RAMs zuzugreifen.

   Ein Grossteil der heute existierenden Hardware ist aber inzwischen
   in der Lage, diesen Speicherbereich in einen ho:heren
   Speicherbereich umzulenken, damit Sie weiterhin darauf zugreifen
   ko:nnen. Allerdings kann es durch dieses Umlenken zu verwirrende
   Meldungen wa:hrend des Systemstarts kommen.

   Unter 32-Bit-Versionen von FreeBSD scheint dieser Speicherbereich
   nicht verfu:gbar zu sein, da er in einen Bereich oberhalb von
   4 Gigabyte u:bertragen wurde, auf den ein 32-Bit-Kernel allerdings
   nicht zugreifen kann. Ist dies bei Ihnen der Fall, mu:ssen Sie die
   PAE-Unterstu:tzung in Ihren Kernel kompilieren. Lesen Sie dazu
   auch die entsprechenden Eintra:ge u:ber Speicherbegrenzungen und
   unterschiedliche Speicherbegrenzungen auf verschiedenen
   Plattformen.

   Verwenden Sie hingegen eine 64-Bit-Version von FreeBSD oder einen
   32-Bit-Kernel mit aktivierter PAE-Unterstu:tzung, ist FreeBSD in
   der Lage, diesen Speicherbereich korrekt zu erkennen und
   umzulenken, damit Sie weiterhin darauf zugreifen ko:nnen.
   Allerdings wird, aufgrund der beschriebenen Umbelegung, in diesem
   Fall beim Systemstart mehr Speicher angezeigt, als tatsa:chlich
   auf Ihrem System vorhanden ist. Dies ist aber normal und wird nach
   dem Ende des Systemstarts automatisch korrigiert.

   5.2. Was sollte ich tun, wenn auf meiner Festplatte fehlerhafte
   Blo:cke sind?

   SCSI-Laufwerke sollten in der Lage sein, diese automatisch zu
   verlagern. Bei einigen Laufwerken ist diese Eigenschaft jedoch aus
   unerfindlichen Gru:nden bei der Auslieferung ausgeschaltet...

   Um sie einzuschalten, mu:ssen Sie den Page-Mode des ersten
   Gera:tes editieren. Unter FreeBSD ko:nnen Sie das (als root) mit
   folgendem Befehl tun

 # camcontrol modepage sd0 -m 1 -e -P 3

   und die Werte fu:r AWRE und ARRE von 0 auf 1 a:ndern:

 AWRE (Auto Write Reallocation Enbld):  1
 ARRE (Auto Read Reallocation Enbld):  1
          

   Moderne IDE-Controller sind in der Lage, fehlerhafte Blo:cke
   automatisch zu verlagern. Diese Funktionen sind bereits ab Werk
   aktiviert.

   Werden dennoch fehlerhafte Blo:cke gemeldet (egal auf welchem
   Laufwerk), sollten Sie u:ber den Kauf einer neuen Platte
   nachdenken. Zwar ko:nnte es Ihnen mit Diagnoseprogrammen des
   Plattenherstellers gelingen, diese fehlerhaften Blo:cke zu
   sperren. Allerdings ko:nnen Sie damit den endgu:ltigen Ausfall der
   Platte bestenfalls hinauszo:gern.

   5.3. Wieso wird der SCSI-Controller meines HP Netserver nicht
   erkannt?

   Hierbei handelt es sich um ein bekanntes Problem. Der auf dem
   Board befindliche EISA-SCSI-Controller auf dem HP Netserver belegt
   die EISA-Slotnummer 11, wodurch sich alle "wirklichen" EISA-Slots
   vor ihm befinden. Leider kollidiert der Adressraum von EISA-Slots
   >=10 mit dem Adressraum, der PCI zugeordnet ist und die
   Autokonfiguration von FreeBSD kann mit dieser Situation derzeit
   nicht besonders gut umgehen.

   Die einfachste Alternative ist, diese Kollision einfach zu
   leugnen. Setzen Sie dazu die Kerneloption EISA_SLOTS auf den Wert
   12. Konfigurieren und kompilieren Sie den Kernel, wie im
   Handbucheintrag zur Kernelkonfiguration beschrieben.

   Dies bringt Ihnen natu:rlich das klassische Huhn-Ei-Problem, wenn
   Sie auf einer solchen Maschine installieren wollen. Um dieses
   Problem zu umgehen, existiert ein spezieller Hack in UserConfig.
   Benutzen Sie nicht die "visuelle" Schnittstelle, sondern die rohe
   Kommandozeilenschnittstelle. Geben Sie einfach den folgenden
   Befehl am Prompt ein und Sie ko:nnen Ihr System ganz normal
   installieren:

 eisa 12
 quit
          

   Sie sollten auf jeden Fall einen angepassten Kernel zu kompilieren
   und installieren.

   Zuku:nftige Versionen werden hoffentlich eine passende Lo:sung
   fu:r dieses Problem beinhalten.

     Anmerkung: Sie ko:nnen keine dangerously dedicated Platte auf
     einem HP Netserver verwenden. Lesen Sie weitere Informationen
     finden Sie in diesem Hinweis.

   5.4. Was bedeuten die sta:ndigen Meldungen ed1: timeout?

   Dies wird meistens durch einen Interruptkonflikt verursacht (z.B.,
   wenn zwei Karten den selben Interrupt benutzen). Booten Sie mit
   der Option -c und a:ndern Sie die Eintra:ge zu ed0/de0/... (d.h.
   Ihrem Board entsprechend).

   Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte benutzen, ko:nnte
   es auch sein, dass es sich Gera:te-Timeouts aufgrund fehlerhafter
   Terminierung handelt. Um dies zu u:berpru:fen, verbinden Sie einen
   Terminator direkt mit der Netzwerkkarte (ohne Kabel) und
   beobachten Sie, ob die Fehlermeldungen verschwinden.

   Einige NE2000 kompatible Karten melden diesen Fehler, wenn keine
   Verbindung am UTP-Eingang existiert oder wenn das Kabel nicht
   eingesteckt ist.

   5.5. Warum funktioniert meine 3Com 3C509 plo:tzlich nicht mehr?

   Diese Karte ist dafu:r beru:chtigt, ihre Konfiguration zu
   vergessen. Sie mu:ssen die Karte mit dem DOS-Programm 3c5x9.exe
   neu konfigurieren.

   5.6. Mein an der parallel Schnittstelle angeschlossener Drucker
   ist unglaublich langsam. Was kann ich tun?

   Falls das einzige Problem ist, dass er schrecklich langsam ist,
   dann sollte Sie versuchen, die   Kommunikationseinstellungen der
   parallelen Schnittstellen zu a:ndern, wie es im Kapitel Drucken
   des Handbuchs beschrieben ist.

   5.7. Wieso brechen meine Programme gelegentlich mit "Signal
   11"-Fehlern ab?

   Das Signal 11 wird generiert, wenn ein Prozess versucht, auf
   Speicher zuzugreifen, obwohl er vom Betriebssystem dazu nicht
   befugt wurde. Wenn Ihnen das scheinbar zufa:llig immer wieder
   passiert, sollten Sie der Sache einmal auf der Grund gehen.

   Das Problem hat in der Regel eine der folgenden Ursachen:

    1. Wenn das Problem nur in einer bestimmten Anwendung auftritt,
       die Sie selbst entwickeln, dann ist es wahrscheinlich ein
       Fehler in Ihren Sourcen.

    2. Wenn das Problem in einem Teil von FreeBSD auftritt, ko:nnte
       es natu:rlich auch ein Fehler sein; aber in den meisten
       Fa:llen werden diese Probleme gefunden und behoben, bevor die
       typischen Leser der FAQ (wir) diese Teile der Sourcen benutzen
       ko:nnen (dafu:r gibt es schliesslich -CURRENT).

   Wenn der Fehler auftritt, wenn Sie ein Programm compilieren aber
   dabei immer wieder an anderer Stelle auftritt, dann ist das ein
   ganz eindeutiger Hinweis, dass das Problem nicht bei FreeBSD
   liegt.

   Nehmen wir zum Beispiel an, dass Sie make buildworld ausfu:hren
   und die Compilierung von ls.c in ls.o abbricht. Wenn Sie nochmal
   make buildworld durchfu:hren und die Compilierung an der gleichen
   Stelle abbricht, handelt es sich um einen Fehler in den Sourcen.
   Aktualisieren Sie Ihre Sourcen und versuchen Sie es noch einmal.
   Wenn der Fehler jedoch an einer anderen Stelle auftritt, liegt das
   Problem mit an Sicherheit grenzender Wahrscheinlichkeit bei Ihrer
   Hardware.

   Was Sie tun sollten:

   Im ersten Fall ko:nnen Sie einen Debugger wie z.B. gdb(1)
   benutzen, um die Stelle im Programm zu finden, an der auf eine
   falsche Adresse zugegriffen wird und danach den Fehler beheben.

   Im zweiten Fall mu:ssen Sie sicherstellen, dass das Problem nicht
   von Ihrer Hardware verursacht wird.

   Typische Ursachen dafu:r sind unter anderem:

    1. Es ko:nnte sein, dass Ihren Festplatten zu warm werden:
       U:berpru:fen Sie, ob die Lu:fter in Ihrem Geha:use noch
       funktionieren, damit Ihre Festplatten (und andere Hardware)
       nicht heisslaufen.

    2. Der Prozessor u:berhitzt, weil Sie Ihn u:bertaktet haben oder
       der CPU-Ku:hler ausgefallen ist. Sie mu:ssen sicherstellen,
       dass Sie Ihre Hardware unter den Bedingungen betreiben, fu:r
       die sie spezifiziert ist, zumindest wa:hrend Sie versuchen,
       das Problem zu lo:sen. Mit anderen Worten: Betreiben Sie Ihre
       CPU mit der normalen Taktfrequenz.

       Wenn Sie u:bertakten, sollten Sie daran denken, dass ein
       langsames System deutlich billiger ist als ein defektes
       System. Die grosse Masse hat nicht sehr ha:ufig Mitgefu:hl mit
       Problemen bei u:bertakteten System, auch wenn Sie es fu:r
       ungefa:hrlich halten.

    3. Unzuverla:ssiger Speicher: Wenn Sie mehr als ein SIMM/DIMM
       installiert haben, sollten Sie sie alle ausbauen und die
       Maschine testweise mit jedem SIMM oder DIMM einzeln betreiben.
       So ko:nnen Sie feststellen, ob die Ursache ein einzelnes
       SIMM/DIMM oder auch eine Kombination von Modulen ist.

    4. Zu optimistische Einstellung des Mainboards: In Ihrem BIOS und
       mit den Jumpern auf dem Mainboard ko:nnen Sie diverse Timings
       a:ndern. In den meisten Fa:llen reichen die Defaults aus, aber
       manchmal kann es durch zu wenig wait states, die Einstellung
       "RAM Speed: Turbo" oder a:hnliches zu merkwu:rdigen Problemen
       kommen. Ein mo:glicher Ansatz ist, die BIOS defaults zu laden,
       allerdings ko:nnte es sinnvoll sein, die aktuellen
       Einstellungen vorher zu notieren.

    5. Schlechte oder fehlerhafte Stromversorgung des Mainboards:
       Wenn Sie unbenutzte Steckkarten, Platten oder CD-ROMs in Ihrem
       System haben, sollten Sie sie testweise ausbauen oder die
       Stromversorgung abziehen. Dadurch ko:nnen Sie pru:fen, ob Ihr
       Netzteil eventuell mit einer geringeren Last besser
       zurechtkommt. Sie ko:nnen auch testweise ein anderes, am
       besten ein leistungsfa:higeres, Netzteil ausprobieren. Wenn
       Sie zurzeit ein 250 W-Netzteil benutzen, sollten Sie testweise
       ein 300 W-Netzteil einbauen.

   Die sollten ebenfalls die SIG11 FAQ (unten aufgefu:hrt) lesen, da
   sie gute Erkla:rungen fu:r alle diese Probleme entha:lt
   (allerdings aus Linux(R)-Sicht). Sie erkla:rt ebenfalls, warum
   sowohl Programme als auch Gera:te zur Speicherpru:fung
   fehlerhaften Speicher teilweise nicht erkennen.

   Wenn alle diese Schritte nicht helfen, ist es mo:glich, dass Sie
   einen Fehler in FreeBSD gefunden haben. Folgen Sie einfach den
   Anweisungen fu:r die Erstellung eines Problem Reports.

   Es existiert eine ausfu:hrliche FAQ hierzu unter der
   SIG11-Problem-FAQ.

   5.8. Mein System stu:rzt mit der Meldung "Fatal trap 12: page
   fault in kernel mode" oder "panic:" ab und gibt eine Menge
   zusa:tzlicher Informationen aus. Was kann ich tun?

   Die Entwickler von FreeBSD interessieren sich fu:r solchen
   Meldungen, allerdings brauchen Sie deutlich mehr Informationen als
   die, die Ihnen angezeigt werden. Kopieren Sie die komplette
   Meldungen und lesen Sie nun den FAQ-Eintrag u:ber kernel panics.
   Erzeugen sie einen Kernel mit den zusa:tzlichen Daten zur
   Fehlersuche, und dann einen backtrace. Das ho:rt sich
   komplizierter an, als es ist. Sie brauchen keine
   Programmier-Erfahrung, Sie mu:ssen einfach nur den Anweisungen
   folgen.

   5.9. Wieso wird beim Booten der Bildschirm schwarz und reagiert
   nicht mehr?

   Dies ist ein bekanntes Problem mit der ATI Mach64 Videokarte. Das
   Problem besteht darin, dass diese Karte die Adresse 2e8 benutzt
   und die vierte serielle Schnittstelle ebenfalls. Aufgrund eines
   Fehlers (einer Besonderheit?) im sio(4)-Treiber wird diese
   Schnittstelle angesprochen, auch wenn Sie gar keine vierte
   serielle Schnittstelle besitzen und sogar, wenn Sie sio3 (die
   vierte Schnittstelle), die normalerweise diese Adresse verwendet,
   deaktivieren.

   Bis der Fehler behoben ist, ko:nnen Sie folgende Abhilfe
   verwenden:

    1. Geben Sie am Bootprompt -c ein. (Dies bringt den Kernel in den
       Konfigurationsmodus).

    2. Deaktivieren Sie sio0, sio1, sio2 und sio3 (alle). Auf diese
       Weise wird der sio(4)-Treiber nicht aktiviert und das Problem
       tritt nicht mehr auf.

    3. Geben Sie exit ein, um den Bootvorgang fortzusetzen.

   Falls sie in der Lage sein wollen Ihre seriellen Schnittstellen zu
   benutzen, mu:ssen Sie einen neuen Kernel mit folgenden
   Modifikationen erstellen: suchen Sie in /usr/src/sys/sio/sio.c
   (oder in /usr/src/sys/pc98/cbus/sio.c fu:r pc98) nach der
   Zeichenkette 0x2e8 und lo:schen Sie sie und das vorhergehende
   Komma (nicht das folgende Komma). Nun folgen Sie der normalen
   Prozedur zur Erstellung eines neuen Kernels.

   5.10. Wieso verwendet FreeBSD nur 64 MB Hauptspeicher, obwohl in
   meinem Rechner 128 MB sind?

   Aufgrund der Art und Weise, wie FreeBSD die Hauptspeichergro:sse
   vom BIOS mitgeteilt bekommt, kann es lediglich 16-Bit Werte in
   kByte-Gro:sse (65535 kByte = 64 MB) erkennen (oder weniger...
   einige BIOSe setzen die Hauptspeichergro:sse auf 16 MB). Falls Sie
   mehr als 64 MB besitzen, wird FreeBSD versuchen, das zu erkennen,
   was aber nicht immer funktioniert.

   Um dieses Problem zu umgehen, mu:ssen Sie die untenstehende
   Kerneloption verwenden. Es gibt einen Weg, vollsta:ndige
   Hauptspeicherinformationen vom BIOS zu erhalten, aber in den
   Bootblo:cken ist nicht genu:gend Platz dafu:r vorhanden. Wenn der
   Platzmangel in den Bootblo:cken eins Tages behoben ist, werden wir
   die erweiterten BIOS-Funktionen dazu nutzen, die vollsta:ndigen
   Hauptspeicherinformationen zu erhalten... aber zurzeit sind wir
   auf die Kerneloption angewiesen.

 options MAXMEM=n

   Hierbei ist n Ihre Hauptspeichergro:sse in Kilobyte. Bei einer
   128 MB-Maschine mu:ssten Sie 131072 benutzen.

   5.11. Ich habe mehr als 1 GB RAM. Trotzdem stu:rzt mein System mit
   der Meldung "kmem_map too small" ab. Was la:uft hier schief?

   Im Normalfall bestimmt FreeBSD einige Kernelparameter, darunter
   die maximale Anzahl der Dateien, die gleichzeitig geo:ffnet sein
   ko:nnen, aus der Gro:sse des im System installierten
   Hauptspeichers. Auf Systemen mit mindestens 1 GB Hauptspeicher
   kann dieser "auto sizing"-Mechanismus diese Werte
   fa:lschlicherweise zu hoch ansetzen: Beim Systemstart fordert der
   Kernel dann verschiedene Tabellen und andere Strukturen an, die
   den Grossteil des verfu:gbaren Kernelspeichers verbrauchen. Dies
   fu:hrt dazu, dass der Kernel wa:hrend des Betriebs keine
   dynamischen Speicheranforderungen mehr ausfu:hren kann und mit
   einer Kernelpanik abstu:rzt.

   Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu setzen Sie
   VM_KMEM_SIZE_MAX in Ihrer Kernelkonfigurationsdatei auf 400 MB
   (options VM_KMEM_SIZE_MAX=419430400). 400 MB sollten fu:r
   Maschinen bis 6 GB Hauptspeicher ausreichend sein.

   5.12. Ich habe weniger als 1 GB Hauptspeicher. Dennoch stu:rzt
   mein System mit der Meldung "kmem_map too small" ab!

   Diese Meldung zeigt an, dass der virtuelle Speicher fu:r
   Netzwerkpuffer (spezieller mbuf-Cluster) aufgebraucht ist. Sie
   ko:nnen die fu:r mbuf verfu:gbare Gro:sse an VM erho:hen, indem
   Sie den Anweisungen des Abschnitts   Netzwerk-Limits des Handbuchs
   folgen.

   5.13. Wieso erhalte ich die Meldung "kernel: proc: table is full"?

   Der FreeBSD-Kernel beschra:nkt die Anzahl der gleichzeitig
   laufenden Prozesse. Die Anzahl errechnet sich aus dem Wert der
   Variablen MAXUSERS in der Konfigurationsdatei des Kernels. Auch
   andere Einstellungen wie die Anzahl der Puffer fu:r
   Netzwerkoperationen (Details dazu finden Sie in diesem Abschnitt).
   werden durch MAXUSERS beeinflusst. Wenn Ihr System stark belastet
   ist, sollten Sie den Wert von MAXUSERS erho:hen. Dadurch werden
   diverse Einstellung des Systems angepasst und die maximale Anzahl
   gleichzeitig laufender Prozesse erho:ht.

   Um den Wert von MAXUSERS anzupassen, folgen Sie den Anweisungen
   des Abschnitts   Datei- und Prozesslimits des Handbuchs. Dieser
   Abschnitt spricht zwar nur von Dateien, fu:r Prozesse gelten aber
   die gleichen Beschra:nkungen.

   Wenn Ihr System nicht besonders stark ausgelastet ist und Sie
   einfach nur mehr gleichzeitig laufende Prozesse erlauben wollen,
   ko:nnen Sie den Wert der Variable kern.maxproc in der Datei
   /boot/loader.conf anpassen. Um die A:nderung zu aktivieren,
   mu:ssen Sie Ihr System neu starten. Wollen Sie Ihr System
   zusa:tzlich optimieren, sollten Sie loader.conf(5) und
   sysctl.conf(5) lesen. Wenn diese Prozesse von einem einzigen
   Benutzer ausgefu:hrt werden, mu:ssen Sie den Wert von
   kern.maxprocperuid ebenfalls erho:hen. Dieser Wert muss immer
   mindestens um eins geringer sein als der Wert von kern.maxproc
   (der Grund fu:r diese Einschra:nkung ist, dass ein Systemprogramm,
   init(8), immer ausgefu:hrt werden muss).

   Damit A:nderungen einer sysctl-Variable dauerhaft erhalten
   bleiben, nehmen Sie diese in /etc/sysctl.conf auf. Weitere
   Informationen zur Optimierung Ihres Systems finden Sie im
   Abschnitt   Einstellungen mit sysctl des Handbuchs.

   5.14. Wieso erhalte ich die Meldung "CMAP busy panic", wenn ich
   mein System mit einem neuen Kernel starte?

   Die Logik, die versucht, veraltete /var/db/kvm_*.db-Dateien zu
   erkennen, versagt manchmal und die Benutzung einer unpassenden
   Datei kann zu Paniksituationen fu:hren.

   Falls das passiert, rebooten Sie in den Single-User-Modus und
   lo:schen Sie die Dateien:

 # rm /var/db/kvm_*.db

   5.15. Was soll mir die Meldung "ahc0: brkadrint, Illegal Host
   Access at seqaddr 0x0" sagen?

   Dies ist ein Konflikt mit einem Ultrastor SCSI Hostadapter.

   Rufen Sie wa:hrend des Bootprozesses das Kernelkonfigurationsmenu:
   auf und deaktivieren Sie uha0, welches das Problem verursacht.

   5.16. Wenn ich mein System starte, erhalte ich die Meldung "ahc0:
   illegal cable configuration", obwohl die Verkabelung korrekt ist.
   Woran liegt das?

   Auf Ihrem Mainboard fehlen ein paar Logikbausteine, die fu:r die
   Unterstu:tzung der automatischen Terminierung notwendig sind.
   Stellen Sie in Ihrem SCSI-BIOS manuell die korrekte Terminierung
   fu:r Ihr System ein, anstatt sich auf die automatische
   Terminierung zu verlassen. Der ahc(4)-Treiber kann nicht erkennen,
   ob die externen Logikbausteine fu:r die Erkennung der Kabel (und
   damit automatische Terminierung) vorhanden sind. Der Treiber muss
   sich darauf verlassen, dass diese vorhanden sind, wenn in der
   Konfiguration "automatische Terminierung" eingestellt ist. Ohne
   die externen Bausteine ist es sehr wahrscheinlich, dass der
   Treiber die Terminierung falsch einstellt, was die
   Zuverla:ssigkeit des SCSI-Busses herabsetzen kann.

   5.17. Wieso meldet sendmail "mail loops back to myself"?

   Sie finden eine detaillierte Antwort auf diese Frage im Handbuch.

   5.18. Wieso funktionieren bildschirmorientierte Anwendungen beim
   Zugriff u:ber ein Netzwerk nicht richtig?

   Die entfernte Maschine scheint den Terminaltyp auf etwas anderes
   als den Typ cons25, der von FreeBSD verlangt wird, zu setzen.

   Es gibt mehrere mo:gliche Abhilfen fu:r dieses Problem:

     * Setzen Sie die Shell-Variable TERM nach dem Einloggen auf der
       entfernten Maschine auf ansi oder sco, sofern die entfernte
       Maschine diese Terminaltypen kennt.

     * Benutzen Sie einen VT100-Emulator wie screen auf der
       FreeBSD-Konsole. screen bietet Ihnen die Mo:glichkeit, mehrere
       gleichzeitige Sitzungen von einem Bildschirm aus laufen zu
       lassen. Es ist ein sehr nettes Programm. Jedes screen-Fenster
       verha:lt sich, wie ein VT100-Terminal, weshalb die Variable
       TERM am entfernten Ende auf vt100 gesetzt werden sollte.

     * Installieren Sie den Eintrag cons25 in der Bildschirmdatenbank
       der entfernten Maschine. Wie das zu geschehen hat, ha:ngt vom
       Betriebssystem der entfernten Maschine ab. Das
       Systemadministrationshandbuch fu:r das entfernte System sollte
       Ihnen hierbei helfen ko:nnen.

     * Starten Sie einen X-Server auf der FreeBSD-Seite und benutzen
       Sie einen X-basierten Terminalemulator wie xterm oder rxvt, um
       sich auf der entfernten Maschine einzuloggen. Die Variable
       TERM auf dem entfernten Host sollte auf xterm oder vt100
       gesetzt werden.

   5.19. Warum wird meine PnP-Karte nicht (oder nur noch als unknown)
   erkannt?

   Die Gru:nde fu:r dieses Verhalten werden in der unten zitierten
   Mail von Peter Wemm <peter@FreeBSD.org> erkla:rt. Diese Mail
   stammt von der Mailingliste FreeBSD general questions und war eine
   Antwort auf eine Frage bezu:glich eines internen Modem, das nach
   dem Update auf FreeBSD 4.X nicht mehr erkannt wurde.

     Anmerkung: Die mit [] gekennzeichneten Kommentare wurden
     eingefu:gt, um an einigen Stellen die Bezu:ge klarzustellen.

     Das PnP-BIOS hat es [das Modem] vorkonfiguriert und es dann im
     Adressraum liegenlassen, daher haben es die alten
     ISA-Erkennungsroutinen [in 3.X] "gefunden".

     In 4.0 sind die ISA-Routinen deutlich PnP-orientierter. Es war
     mo:glich [in 3.X], dass eine ISA-Erkennungsroutine ein
     "zugelaufenes" Gera:t fand; wa:hrend die PnP-Treiber zwar die ID
     erkannten, das Gera:t aber wegen des Ressourcekonfliktes nicht
     benutzen konnten. Daher werden die programmierbaren Karten
     zuna:chst einmal abgeschaltet, um diese doppelte Erkennung
     vermeiden zu ko:nnen. Das bedeutet allerdings auch, dass die
     Treiber die PnP-ID kennen muss, um PnP-Hardware unterstu:tzen zu
     ko:nnen. Wir haben uns vorgenommen, den Benutzern eine
     einfachere Mo:glichkeit zur Manipulation dieser Informationen
     zur Verfu:gung zu stellen.

   Damit Ihr Gera:t wieder funktioniert, mu:ssen Sie seine PnP-ID
   herausfinden und die ID in die Listen eintragen, die zur Erkennung
   von PnP-Gera:ten genutzten werden. Zu diesem Zweck wird das Gera:t
   mit pnpinfo(8) analysiert. Das Beispiel zeigt die Ausgaben von
   pnpinfo(8) fu:r ein internes Modem:

 # pnpinfo
 Checking for Plug-n-Play devices...

 Card assigned CSN #1
 Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
 PnP Version 1.0, Vendor Version 0
 Device Description: Pace 56 Voice Internal Plug & Play Modem

 Logical Device ID: PMC2430 0x3024a341 #0
         Device supports I/O Range Check
 TAG Start DF
     I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
         [16-bit addr]
     IRQ: 4  - only one type (true/edge)

   [weitere TAG Zeilen gestrichen]

 TAG End DF
 End Tag

 Successfully got 31 resources, 1 logical fdevs
 -- card select # 0x0001

 CSN PMC2430 (0x3024a341), Serial Number 0xffffffff

 Logical device #0
 IO:  0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
 IRQ 5 0
 DMA 4 0
 IO range check 0x00 activate 0x01

   Sie beno:tigen die Information aus der Zeile Vendor ID ganz am
   Anfang. Die in Klammern ausgegebene hexadezimale Zahl (0x3024a341
   in diesem Beispiel) ist die PnP ID und die unmittelbar davor
   stehende Zeichenkette (PMC2430) ist eine eindeutige
   Herstellerkennung.

   Benutzen Sie pciconf(8) wenn pnpinfo(8) die Karte nicht anzeigt.
   Der Teil der Ausgabe von pciconf -vl fu:r eine auf dem Motherboard
   integrierte Soundkarte sieht zum Beispiel so aus:

 # pciconf -vl
 chip1@pci0:31:5:        class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
     vendor   = 'Intel Corporation'
     device   = '82801AA 8xx Chipset AC'97 Audio Controller'
     class    = multimedia
     subclass = audio

   Sie beno:tigen die Chip-ID 0x24158086, die hinter chip aufgefu:hrt
   ist.

   Die Vendor ID oder chip-ID mu:ssen in die Datei
   /usr/src/sys/dev/sio/sio_isa.c eingetragen werden.

   Sie sollten zuna:chst ein Backup von sio_isa.c anlegen, falls
   etwas schief gehen sollte. Sie werden auch einen Patch erzeugen
   mu:ssen, um ihn zusammen mit Ihrem PR einzusenden. (Sie wollten
   doch einen PR schreiben, oder etwa nicht?) O:ffnen Sie nun
   sio_isa.c mit einem Editor und suchen Sie nach der Zeile:

 static struct isa_pnp_id sio_ids[] = {

   Bla:ttern Sie dann nach unten, um die passende Stelle fu:r Ihr
   Gera:t zu finden. Unten finden Sie Beispiel fu:r die Eintra:ge,
   diese sind nach der Herstellerkennung sortiert. Diese sollte in
   dem Kommentar auf der rechten Seite aufgenommen werden, dazu kommt
   die Gera:tebeschreibung (Device Description) aus der Ausgabe von
   pnpinfo(8):

 {0x0f804f3f, NULL},     /* OZO800f - Zoom 2812 (56k Modem) */
 {0x39804f3f, NULL},     /* OZO8039 - Zoom 56k flex */
 {0x3024a341, NULL},     /* PMC2430 - Pace 56 Voice Internal Modem */
 {0x1000eb49, NULL},     /* ROK0010 - Rockwell ? */
 {0x5002734a, NULL},     /* RSS0250 - 5614Jx3(G) Internal Modem */
         

   Fu:gen Sie die hexadezimale Gera:tekennung an der richtigen Stelle
   ein, speichern Sie die Datei ab, erzeugen Sie einen neuen Kernel
   und starten Sie Ihr System neu. Ihr Gera:t sollte nun als sio
   Gera:t erkannt werden.

   5.20. Warum erhalte ich die Meldung "nlist failed", wenn ich
   Programme wie top oder systat benutze?

   Das Programm sucht nach einem speziellen Symbol im Kernel, kann es
   aber aus irgendeinem Grunde nicht finden. Dieser Fehler wird von
   einem dieser Probleme verursacht:

     * Ihr Kernel und die sonstigen Programme (das "Userland") sind
       nicht mehr auf dem gleichen Stand. Mit anderen Worten, Sie
       haben zwar einen neuen Kernel erzeugt, aber kein installworld
       (oder umgekehrt); darum weicht die Symboltabelle von dem ab,
       was die Anwendung erwartet. Wenn dies der Fall ist, mu:ssen
       Sie lediglich die noch fehlenden Schritte des Upgrades
       durchfu:hren. Die richtige Vorgehensweise kann
       /usr/src/UPDATING entnommen werden.

     * Um Ihren Kernel zu laden, benutzen Sie nicht /boot/loader,
       sondern laden ihn direkt mit boot2 (siehe boot(8)). Es ist
       zwar nicht immer ein Fehler, /boot/loader zu umgehen;
       allerdings ist er in der Regel besser dazu geeignet, die
       Symbole des Kernels fu:r normale Anwendungen verfu:gbar zu
       machen.

   5.21. Wieso dauert es so lange, bis eine Verbindung (ssh(1) oder
   telnet(1)) aufgebaut wird?

   Das Symptom: Nach dem Aufbau des TCP-Verbindung vergeht einige
   Zeit, bis endlich die Abfrage des Passwortes (bzw. der
   Login-Prompt bei Telnet) erscheint.

   Das Problem: In den meisten Fa:llen versucht der Server in der
   Zwischenzeit, die IP-Adresse des Clients in einen Rechnernamen zu
   u:bersetzen. Viele Server (darunter die Telnet- und SSH-Server von
   FreeBSD) machen das, um den Hostnamen z.B. fu:r spa:tere
   Verwendung durch den Systemadministrator in eine Protokolldatei
   schreiben zu ko:nnen.

   Die Lo:sung: wenn das Problem bei jedem Server auftritt, den Sie
   von Ihrem Computer (dem Client) ansprechen, dann wird das Problem
   vom Client verursacht. Wenn das Problem aber nur auftritt, wenn
   jemand Ihren Rechner (den Server) anspricht, dann liegt die
   Ursache beim Server.

   Wenn das Problem vom Client verursacht wird, mu:sssen Sie die
   Eintra:ge im DNS korrigieren, damit der Server Ihre IP-Adresse
   u:bersetzen kann. Wenn das Problem in Ihrem lokalen Netzwerk
   auftritt, sollten Sie es als Problem des Servers behandeln und
   weiterlesen; wenn es allerdings im Internet auftritt, werden Sie
   sich wahrscheinlich an Ihrem ISP wenden mu:ssen, damit dieser das
   Problem fu:r Sie korrigiert.

   Wenn das Problem vom Server verursacht wird und Sie sich in einem
   lokalen Netzwerk befinden, dann mu:ssen Sie Ihren Server so
   konfigurieren, dass er die lokal genutzten IP-Adressen in
   Rechnernamen u:bersetzen kann. Weitere Informationen erhalten Sie
   in den Onlinehilfen zu hosts(5) und named(8). Wenn dieses Problem
   im Internet auftritt, ko:nnte die Ursache auch darin liegen, dass
   die Namensauflo:sung auf dem Server nicht funktioniert. Versuchen
   Sie, einen anderen Hostnamen wie z.B. www.yahoo.com aufzulo:sen.
   Wenn das nicht funktioniert, liegt das Problem bei Ihrem System.

   Haben Sie FreeBSD gerade erst installiert, kann es auch sein, dass
   die Doma:nen- und Nameserverinformationen noch nicht in
   /etc/resolv.conf vorhanden sind. Dadurch kommt es ha:ufig zu
   Verzo:gerungen beim Einsatz von SSH, weil die Option UseDNS in der
   Voreinstellung auf yes gesetzt ist (in der Datei sshd_config im
   Verzeichnis /etc/ssh). Ist dies bei Ihnen der Fall, mu:ssen Sie
   entweder die fehlenden Informationen in /etc/resolv.conf eintragen
   oder als tempora:re Massnahme UseDNS auf no setzen.

   5.22. Was bedeutet "stray IRQ"?

   Stray IRQs sind ein Zeichen fu:r Probleme bei der Behandlung von
   Hardware-IRQs. Sie werden meistens von Gera:ten verursacht, die
   ihren Interrupt Request zuru:ckziehen, obwohl gerade der interrupt
   request acknowledge-Zyklus la:uft.

   Sie ko:nnen drei Dinge tun:

     * Ertragen Sie die Warnungen. Sie erhalten nur die ersten 5 fu:r
       jeden IRQ, alle anderen werden unterdru:ckt.

     * Eliminieren Sie die Meldungen, indem Sie den Wert von
       MAX_STRAY_LOG von 5 auf 0 in der fu:r ihre Plattform (z.B.
       i386) zusta:ndigen Datei intr_machdep.c a:ndern. Bauen Sie
       anschliessend den Kernel neu, um alle Meldungen zu
       unterdru:cken.

     * Eliminieren Sie die Meldungen, indem Sie Hardware fu:r den
       Parallelport installieren, die IRQ 7 nutzt und vom PPP Treiber
       verwendet wird (das passiert auf den meisten Systemen), und
       installieren Sie eine IDE-Platte oder andere Hardware sowie
       einen dazu passenden Treiber, um IRQ 15 zu nutzen.

   5.23. Warum sehe ich in der Ausgabe von dmesg(8) ha:ufig die
   Meldung "file: table is full"?

   Diese Fehlermeldung besagt, dass Sie die zur Verfu:gung stehenden
   File-Handles des Systems verbraucht haben. Was das genau bedeutet
   und wie Sie dieses Problem lo:sen ko:nnen, steht im Abschnitt  
   kern.maxfiles im Kapitel Anpassung der Kernelkonfiguration des
   Handbuchs.

   5.24. Warum werden sta:ndig Meldungen wie "calcru: negative
   runtime" oder "calcru: runtime went backwards" auf die Konsole
   geschrieben?

   Es existiert ein bekanntes Problem wenn Intel Enhanced SpeedStep
   im BIOS aktiviert wird. Das fu:hrt dazu, dass der Kernel
   "calcru"-Nachrichten wie die folgende ausgibt:

 calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero)
 calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon)
 calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon)
 calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue)
 calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event)
 calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net)
 calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init)
 calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init)
 calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper)

   Der Grund dafu:r besteht darin, dass Intel SpeedStep (EIST) in
   manchen Mainboards inkompatibel ist.

   Abhilfe: Deaktivieren Sie die EIST-Eigenschaft im BIOS. Sie
   ko:nnen trotzdem noch ihre Prozessorfrequenz ACPI-basiert mittels
   powerd(8) drosseln.

   5.25. Warum ist die Uhrzeit auf meinem Computer immer falsch?

   Ihr Computer verfu:gt u:ber mehr als eine Uhr und FreeBSD benutzt
   leider die falsche.

   Starten Sie dmesg(8) und achten Sie auf die Zeilen, in denen das
   Wort Timecounter vorkommt. Die von FreeBSD benutzte Uhr findet
   sich in der Zeile mit dem ho:chsten quality-Wert.

 # dmesg | grep Timecounter
  Timecounter "i8254" frequency 1193182 Hz quality 0
  Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
  Timecounter "TSC" frequency 2998570050 Hz quality 800
  Timecounters tick every 1.000 msec

   Sie ko:nnen das u:berpru:fen, indem Sie den Wert der
   Systemvariablen kern.timecounter.hardware abfragen.

 # sysctl kern.timecounter.hardware
  kern.timecounter.hardware: ACPI-fast

   Es kann sich um einen defekten ACPI Timer handeln. Die einfachste
   Lo:sung besteht darin, den ACPI Timer in /boot/loader.conf zu
   deaktivieren:

 debug.acpi.disabled="timer"

   Es ist aber auch durchaus mo:glich, dass das BIOS die TSC Uhr
   a:ndert, um beispielsweise den CPU-Takt zu wa:hrend des
   Batteriebetrieb zu a:ndern, oder im Stromsparmodus; leider bemerkt
   FreeBSD diese A:nderungen nicht und daher scheint die Uhr falsch
   zu gehen.

   In diesem Beispiel ist die Uhr i8254 ebenfalls verfu:gbar; um sie
   auszuwa:hlen, muss ihr Name in die Systemvariable
   kern.timecounter.hardware geschrieben werden.

 # sysctl -w kern.timecounter.hardware=i8254
  kern.timecounter.hardware: TSC -> i8254

   Die Uhrzeit Ihres Computers sollte nun genauer funktionieren.

   Damit diese A:nderung automatisch beim Start des Systems
   durchgefu:hrt wird, mu:ssen Sie die folgende Zeile in die
   /etc/sysctl.conf eintragen.

 kern.timecounter.hardware=i8254

   5.26. Warum erkennt mein Laptop PC-Cards nicht?

   Dieses Problem tritt ha:ufig auf Laptops mit mehreren
   Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen die
   Hardware in einem inkonsistenten Zustand. Die Karte wird dann von
   pccardd(8) als ""(null)""(null)"" anstelle des tatsa:chlichen
   Modells gefunden.

   Um dies zu beheben, mu:ssen Sie die Hardware zuru:cksetzen, das
   heisst der PC-Card Einschub muss stromlos sein. Gehen Sie dazu
   nicht in den Standby- oder Suspend-Modus und stellen Sie sicher,
   dass der Laptop wirklich ausgeschaltet ist. Warten Sie einen
   Moment und booten dann, Ihre PC-Card sollte jetzt funktionieren.

   Einige Laptops schalten sich nicht wirklich aus. Wenn der obige
   Vorschlag nichts genutzt hat, entfernen Sie bitte die Batterie,
   warten einen Moment und booten erneut.

   5.27. Wieso ha:ngt sich FreeBSD nach dem BIOS-Bildschirm mit der
   Meldung "Read error" auf?

   Der Bootloader von FreeBSD erkennt die Geometrie Ihrer Festplatte
   nicht richtig. Sie mu:ssen die Geometrie manuell festlegen, wenn
   sie mit fdisk(8) FreeBSD-Bereiche erzeugen oder a:ndern.

   Die richtigen Werte fu:r die Geometrie ko:nnen Sie im BIOS des
   Rechners ablesen. Achten Sie auf die Anzahl der Zylinder, Ko:pfe
   und Sektoren fu:r Ihre Festplatte.

   Im fdisk von sysinstall(8) mu:ssen Sie G eingeben, um die
   Geometrie zu definieren.

   Sie erhalten eine Dialogbox, in der Sie die Anzahl der Zylinder,
   Ko:pfe und Sektoren eingeben ko:nnen. Verwenden Sie die Angaben
   des BIOS und setzen Sie Schra:gstriche zwischen die Zahlen. 5000
   Zylinder, 250 Ko:pfe und 60 Sektoren wu:rden also als 5000/250/60
   eingegeben.

   Schliessen Sie die Eingabe mit Enter ab und dru:cken Sie W, um die
   neue Partitionstabelle auf die Festplatte schreiben zu lassen.

   5.28. Ein anderes Betriebssystem hat meinen Bootmanager zersto:rt.
   Wie kann ich ihn wiederherstellen?

   Starten Sie sysinstall(8) und wa:hlen Sie Configure, dann Fdisk.
   Wa:hlen Sie die Platte, auf der sich der Boot Manager befand, mit
   der Leertaste aus. Dru:cken Sie W, um die A:nderungen auf die
   Platten schreiben zu lassen. Nun erscheint eine Abfrage, welcher
   Bootmanager installiert werden soll. Wa:hlen Sie diesen an und er
   wird wieder installiert.

   5.29. Was soll mir die Meldung "swap_pager: indefinite wait
   buffer:" sagen?

   Ein Programm wollte Speicher auf Platte auslagern, und dieser
   Vorgang konnte nicht innerhalb von 20 Sekunden durchgefu:hrt
   werden. Mo:gliche Gru:nde sind defekte Blo:cke auf der Platte,
   falsche oder fehlerhafte Verkabelung sowie Probleme mit anderen
   Komponenten, die am Zugriff auf die Festplatte beteiligt sind.
   Wenn die Festplatte selbst fehlerhaft sind, sollten Sie
   entsprechende Meldungen in /var/log/messages und den Ausgaben von
   dmesg finden. Andernfalls sollten Sie die Kabel und Verbindungen
   u:berpru:fen.

   5.30. Was sind "UDMA ICRC" Fehler und wie behebe ich sie?

   Der ata(4)-Treiber meldet "UDMA ICRC" Fehler wenn eine
   DMA-U:bertragung zu oder von einem Laufwerk fehlgeschlagen ist.
   Der Treiber versucht die U:bertragung mehrmals durchzufu:hren und
   schaltet, wenn die Versuche fehlschlagen, vom DMA-Modus auf den
   langsameren PIO-Modus um.

   Der Fehler kann viele Ursachen haben, ha:ufig ist ein Kabel kaputt
   oder die Gera:te sind falsch verkabelt. Pru:fen Sie, ob die
   ATA-Kabel unbescha:digt sind und fu:r den verwendeten
   Ultra-DMA-Modus tauglich sind. Ebenso mu:ssen Wechselrahmen fu:r
   den verwendeten Modus geeignet sein. Stellen Sie sicher, dass alle
   Kabel fest angeschlossen sind. Es gab auch schon Probleme, wenn
   ein altes Laufwerk zusammen mit einem Ultra-DMA-66 oder einem
   schnelleren Laufwerk auf einem Kanal betrieben wurde. Es kann aber
   auch sein, dass das Laufwerk kaputt ist. Die meisten Hersteller
   stellen Test-Programme fu:r ihre Laufwerke zur Verfu:gung.
   U:berpru:fen Sie damit Ihr Laufwerk und wenn no:tig, sichern Sie
   Ihre Daten und ersetzen das Laufwerk.

   atacontrol(8) zeigt fu:r jedes ATA-Gera:t den verwendeten DMA-
   oder PIO-Modus an. Das Kommando atacontrol mode Kanal zeigt die
   auf einem Kanal verwendeten Modi (die Kana:le werden von 0 an
   nummeriert).

   5.31. Was ist ein "lock order reversal"?

   Eine Antwort auf diese Frage findet sich im FreeBSD-Glossar unter
   LOR.

   5.32. Warum erhalte ich die Meldung "Called ... with the following
   non-sleepable locks held"?

   Diese Meldung erscheint, wenn eine Funktion, die sich im Ruhemodus
   befindet, aufgerufen wird, wa:hrend ein Mutex oder eine andere
   (nicht in den Ruhemodus versetzbare) Sperre aktiv war.

   Der Grund dafu:r ist, dass ein Mutex nicht fu:r la:ngere
   Zeitspannen aktiv sein soll, sondern nur fu:r die Synchronisation
   von Gera:tetreibern mit dem Rest des Kernels wa:hrend eines
   Interrupts. Unter FreeBSD du:rfen Interrupts nicht in den
   Ruhemodus versetzt werden. Daher ist es von entscheidender
   Bedeutung, dass wa:hrend des Bestehens eines Mutex kein
   Kernelsubsystem fu:r einen la:ngeren Zeitraum blockiert ist.

   Um solche Fehler abzufangen, ko:nnen Sicherungen (Assertions) in
   den Kernel eingebaut werden, die danach mit dem
   witness(4)-Subsystem interagieren. Dadurch wird (in Abha:ngigkeit
   von Ihrer Systemkonfiguration) eine Warnung oder eine
   Fehlermeldung ausgegeben, falls der Aufruf einer Funktion wa:hrend
   des Bestehens eines Mutex zu einer Blockierung fu:hren kann.

   Zusammenfassend kann man sagen, dass diese Warnungen in der Regel
   zwar nicht bedrohlich sind. Unter bestimmten Umsta:nden kann es
   aber dennoch zu unerwu:nschten Nebenwirkungen, angefangen von
   einer Erho:hung der Reaktionszeit bis hin zu einem kompletten
   Einfrieren des Systems kommen.

   5.33. Warum bricht buildworld/installworld mit der Meldung "touch:
   not found" ab?

   Dieser Fehler bedeutet nicht, dass touch(1) nicht auf Ihrem System
   vorhanden ist. Vielmehr sind Dateien die Ursache, deren
   Erzeugungsdatum in der Zukunft liegt. Wenn Ihre CMOS-Uhr auf Ihre
   lokale Zeit eingestellt ist, mu:ssen Sie adjkerntz -i verwenden,
   um die Kerneluhr anzupassen, wenn Sie in den Single-User-Modus
   booten.

     --------------------------------------------------------------

                  Kapitel 6. Kommerzielle Anwendungen

     Anmerkung: Dieser Abschnitt ist immer noch sehr du:rftig, aber
     wir hoffen natu:rlich, dass Unternehmen einen Beitrag leisten
     werden! :) Die FreeBSD-Gruppe hat keinerlei finanzielle
     Interessen an einem der hier aufgelisteten Unternehmen, sondern
     listet sie lediglich als o:ffentlichen Service auf (und ist der
     Meinung, dass ein kommerzielles Interesse an FreeBSD sehr
     positiven Einfluss auf ein langfristiges Bestehen von FreeBSD
     haben kann). Wir mo:chten Anbieter kommerzieller Software dazu
     aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der
     Anbieter-Seite finden Sie eine la:ngere Liste.

   6.1. Wo bekomme ich FreeBSD-Versionen der klassischen
   Bu:ro-Anwendungen?

   6.2. Woher kann ich Motif(R) fu:r FreeBSD bekommen?

   6.3. Woher kann ich CDE fu:r FreeBSD bekommen?

   6.4. Gibt es irgendwelche Datenbanksysteme fu:r FreeBSD?

   6.5. Kann ich Oracle(R) unter FreeBSD laufen lassen?

   6.1. Wo bekomme ich FreeBSD-Versionen der klassischen
   Bu:ro-Anwendungen?

   Die als Open Source verfu:gbaren Office-Pakete OpenOffice.org und
   LibreOffice laufen nativ unter FreeBSD. Die um zusa:tzliche
   Funktionen erweiterte kommerzielle OpenOffice.org-Version   Oracle
   Open Office la:uft in der Linux-Version ebenfalls problemlos unter
   FreeBSD.

   In der Ports-Sammlung sind weitere Textbearbeitungsprogramme,
   Tabellenkalkulationen und Zeichenprogramme enthalten.

   6.2. Woher kann ich Motif(R) fu:r FreeBSD bekommen?

   Der Quelltext fu:r Motif 2.2.2 wurde von der "Open Group"
   herausgegeben. Sie ko:nnen entweder das Package
   x11-toolkits/open-motif installieren oder es mit dem
   entsprechenden Port selbst compilieren. Weitere Informationen
   u:ber die Benutzung der Ports erhalten Sie im Kapitel Ports des
   Handbuchs.

     Anmerkung: Die Open Motif Distribution darf nur weitergegeben
     werden, wenn sie auf einem Open Source Betriebssystem benutzt
     wird.

   Weiterhin gibt es auch kommerzielle Motif-Pakete, die zwar nicht
   kostenlos sind, aber dafu:r auch mit "closed source" Software
   benutzt werden du:rfen. Um die gu:nstigste ELF-Motif 2.1.20
   Distribution fu:r FreeBSD (i386) zu bekommen, wenden Sie sich
   bitte an Apps2go.

   Es gibt zwei Distributionen, die "development edition" und die
   "runtime edition" (wesentlich gu:nstiger). Diese Distributionen
   enthalten:

     * OSF/Motif manager, xmbind, panner, wsm.

     * Development-Kit mit uil, mrm, xm, xmcxx, Include- und
       Imake-Dateien.

     * Statische und dynamische ELF-Bibliotheken.

     * Demonstrations-Applets.

   Achten Sie darauf, dass Sie bei der Bestellung angeben, dass Sie
   die FreeBSD-Version von Motif mo:chten (vergessen Sie auch nicht,
   die Architektur anzugeben)! Von Apps2go werden auch Versionen fu:r
   NetBSD und OpenBSD verkauft. Dieses Produkt ist zurzeit nur zum
   Download per FTP verfu:gbar.

   Weitere Informationen

           Apps2go Web-Seite

   oder

           <sales@apps2go.com> oder <support@apps2go.com>

   oder

           Telefon (817) 431 8775 oder +1 817 431-8775

   6.3. Woher kann ich CDE fu:r FreeBSD bekommen?

   Xi Graphics hat einmal CDE fu:r FreeBSD verkauft, tut es aber
   nicht mehr.

   KDE ist ein Open-Source X11-Desktop, der CDE in vielen Punkten
   a:hnelt. Eventuell gefa:llt Ihnen auch das "Look and Feel" von
   xfce. KDE und xfce sind u:ber die Ports-Sammlung von FreeBSD
   verfu:gbar.

   6.4. Gibt es irgendwelche Datenbanksysteme fu:r FreeBSD?

   Ja! Lesen Sie den Abschnitt   kommerzielle Anbieter auf der
   FreeBSD-Web-Seite.

   Schauen Sie auch im Abschnitt Datenbanken der Ports-Sammlung nach.

   6.5. Kann ich Oracle(R) unter FreeBSD laufen lassen?

   Ja. Informationen zur Installation von Linux-Oracle unter FreeBSD
   finden Sie unter http://www.shadowcom.net/freebsd-oracle9i/.

     --------------------------------------------------------------

                      Kapitel 7. Benutzerprogramme

   7.1. Nun, wo sind die ganzen Benutzerprogramme?

   7.2. Wie konfiguriere ich INN (Internet News) fu:r meine Maschine?

   7.3. Unterstu:tzt FreeBSD Java(TM)?

   7.4. Warum kann ich manche Ports auf meiner 7.X, 8.X oder
   9.X-STABLE-Maschine nicht erstellen?

   7.5. Ich habe gerade versucht, INDEX mit make index zu bauen, und
   es hat nicht geklappt. Woran liegt das?

   7.6. Warum ist CVSup nicht im FreeBSD-Basisquellbaum enthalten?

   7.7. Ich habe die Sourcen aktualisiert, wie aktualisiere ich jetzt
   die installierten Ports?

   7.8. Muss ich nach der Aktualisierung einer
   FreeBSD-Hauptversionsnummer jedes Mal alle Ports neu erstellen
   lassen?

   7.9. Muss ich nach der Aktualisierung einer
   FreeBSD-Unterversionsnummer jedes Mal alle Ports neu erstellen
   lassen?

   7.10. Warum ist /bin/sh so spartanisch? Warum benutzt FreeBSD
   nicht die bash oder eine a:hnliche Shell?

   7.11. Wieso dauert es so lange, bis Netscape und Opera starten?

   7.12. Ich habe die Ports-Sammlung mit CVSup aktualisiert. Viele
   Ports lassen sich danach nicht mehr bauen und geben seltsame
   Fehlermeldungen aus. Was ist passiert? Ist die Ports-Sammlung
   kaputt?

   7.13. Wie erzeuge ich Audio-CDs aus MIDI-Dateien?

   7.1. Nun, wo sind die ganzen Benutzerprogramme?

   Werfen Sie bitte einen Blick auf die Ports-Seite, um Informationen
   u:ber die nach FreeBSD portierten Softwarepakete zu erhalten. Die
   Liste entha:lt zurzeit 24,000 Eintra:ge und wa:chst ta:glich.
   Informieren Sie sich daher regelma:ssig auf dieser Seite oder
   abonnieren Sie die Mailingliste FreeBSD announcements, um sich
   u:ber A:nderungen zu informieren.

   Die meisten Ports sollten auf den 7.X, 8.X und 9.X-Systemen
   laufen. Jedes Mal, wenn ein FreeBSD-Release erstellt wird, wird
   auch ein Snapshot des Port-Baumes vom Zeitpunkt des Releases in
   das Verzeichnis ports/ eingefu:gt.

   Wir unterstu:tzen auch das Konzept von "Packages" - im Grunde
   genommen nicht mehr als komprimierte Bina:rdistributionen mit ein
   wenig zusa:tzlicher Intelligenz zur Ermo:glichung angepasster
   Installationen. Ein Package kann leicht installiert und wieder
   deinstalliert werden, ohne, dass man etwas u:ber wissen muss,
   welche Dateien es entha:lt.

   Benutzen Sie das Packages Menu: in sysinstall(8) (unter dem
   Menu:punkt post-configuration) oder fu:hren Sie den Befehl
   pkg_add(1) mit den speziellen Paketdateien aus, die Sie
   installieren mo:chten. Paketdateien ko:nnen fu:r gewo:hnlich an
   der Endung .tgz oder .tbz erkannt werden und diejenigen, die u:ber
   eine CD-ROM-Distribution verfu:gen, haben auf ihrer CD ein
   Verzeichnis packages/All, das solche Dateien entha:lt. Fu:r
   verschiedene FreeBSD-Versionen ko:nnen sie von folgenden Adressen
   auch u:ber das Netz heruntergeladen werden:

   fu:r 7.X-RELEASE/7-STABLE

           ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable

   fu:r 8.X-RELEASE/8-STABLE

           ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable

   fu:r 9.X-RELEASE/9-STABLE

           ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-stable

   oder von Ihrem na:chstgelegenen Mirror.

   Beachten Sie, dass nicht alle Ports als Package verfu:gbar sind,
   da sta:ndig neue hinzugefu:gt werden. Es ist immer eine gute Idee,
   sich regelma:ssig auf der ftp.de.FreeBSD.org Masterseite daru:ber
   zu informieren, welche Packages verfu:gbar sind.

   7.2. Wie konfiguriere ich INN (Internet News) fu:r meine Maschine?

   Ein idealer Startpunkt nach der Installation des Packages oder
   Ports news/inn ist Dave Barr's INN-Seite, wo Sie die INN-FAQ
   finden.

   7.3. Unterstu:tzt FreeBSD Java(TM)?

   Ja. Informieren Sie sich bitte unter
   http://www.de.FreeBSD.org/java/.

   7.4. Warum kann ich manche Ports auf meiner 7.X, 8.X oder
   9.X-STABLE-Maschine nicht erstellen?

   Wenn Sie eine FreeBSD-Version benutzen, die deutlich a:lter als
   das aktuelle -CURRENT oder -STABLE ist, ko:nnte es sein, dass Sie
   vorher Ihre Ports-Sammlung aktualisieren mu:ssen. Lesen Sie dazu
   den Abschnitt   Keeping Up des Porters-Handbuch. Ist Ihre
   Ports-Sammlung aktuell, ko:nnte es sein, dass jemand eine
   A:nderung am Port durchgefu:hrt hat, die fu:r -CURRENT
   funktioniert, den Port fu:r -STABLE aber unbrauchbar gemacht hat.
   Bitte senden Sie einen Fehlerbericht mit dem Befehl send-pr(1).
   Von der Ports-Sammlung wird na:mlich erwartet, dass sie sowohl auf
   -CURRENT als auch auf -STABLE funktioniert.

   7.5. Ich habe gerade versucht, INDEX mit make index zu bauen, und
   es hat nicht geklappt. Woran liegt das?

   Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung aktuell ist.
   Fehler, die einen Bau von INDEX aus einer aktuellen Ports-Sammlung
   verhindern, sind sofort sichtbar und werden daher fast immer
   umgehend behoben.

   Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie vielleicht ein
   anderes Problem. make index hat einen Bug im Umgang mit
   unvollsta:ndigen Kopien der Ports-Sammlung. Es nimmt an, dass Sie
   u:ber eine lokale Kopie aller Ports verfu:gen, von denen jeder
   lokale Port abha:ngt. Wenn Sie also beispielsweise eine Kopie von
   foo/bar auf Ihrem System haben, und foo/bar ist von baz/quux
   abha:ngig, dann muss auch eine Kopie von baz/quux auf Ihrem System
   vorhanden sein, sowie eine Kopie aller Ports, von denen baz/quux
   abha:ngt. Anderenfalls ist make index aufgrund fehlender
   Informationen nicht in der Lage, den Abha:ngigkeitsbaum zu
   erzeugen.

   Dieses Problem tritt vor allem dann auf, wenn FreeBSD-Benutzer
   csup(1) (oder csup(1)) verwenden, um die Ports-Sammlung zu
   aktualisieren und dabei verschiedene Kategorien durch die Datei
   refuse von der Aktualisierung ausschliessen. Theoretisch ist es
   zwar mo:glich, Kategorien auszuschliessen, in der Praxis gibt es
   aber zu viele Ports, die von Ports in anderen Kategorien
   abha:ngen. Wenn Sie also INDEX bauen wollen, mu:ssen Sie u:ber
   eine komplette Kopie der Ports-Sammlung verfu:gen.

   Es gibt seltene Fa:lle, in denen INDEX nicht gebaut werden kann,
   wenn bestimmte WITH_* oder WITHOUT_* Variablen in make.conf
   gesetzt sind. Wenn Sie dieses Problem haben, sollten Sie diese
   make-Variablen deaktivieren und INDEX erneut bauen, bevor Sie das
   Problem an FreeBSD ports melden.

   7.6. Warum ist CVSup nicht im FreeBSD-Basisquellbaum enthalten?

   Das Basissystem von FreeBSD soll "selbstverwaltend" sein. Es soll
   also mo:glich sein, das komplette Betriebssystem mit einer
   beschra:nkten Anzahl von Werkzeugen zu starten. Daher werden die
   zum Bau von FreeBSD no:tigen Werkzeuge mit dem Quelltext
   gekoppelt. Zu diesen Werkzeugen geho:ren ein C-Compiler (gcc(1)),
   make(1), awk(1) und andere.

   Da CVSup in Modula-3 geschrieben wurde, mu:sste ein
   Modula-3-Compiler ins Basissystem aufgenommen und auch gewartet
   werden. Dies wu:rde einen gestiegenen Speicherbedarf fu:r die
   FreeBSD-Quellen sowie einen erho:hten Wartungsaufwand verursachen.
   Daher ist es sowohl fu:r Entwickler als auch Benutzer einfacher,
   CVSup bei Bedarf als Port oder als Paket von einer
   Installations-CD zu installieren.

   Wie dem auch sei, FreeBSD-Benutzer mu:ssen seit
   FreeBSD 6.2-RELEASE nicht mehr ohne einen kompatiblen CVSup-Client
   auskommen. Dank Maxime Henrion <mux@FreeBSD.org> wurde CVSup als
   csup(1) in C neu geschrieben und ist mittlerweile Teil des
   Basissystems. Obwohl zur Zeit noch nicht alle Eigenschaften von
   CVSup implementiert sind, ist es gut genug (und sehr schnell!)
   darin, ihre Quellen zu synchronisieren. Fu:r FreeBSD-Systeme vor
   6.2 kann es als Port oder Paket (siehe net/csup) installiert
   werden.

   7.7. Ich habe die Sourcen aktualisiert, wie aktualisiere ich jetzt
   die installierten Ports?

   FreeBSD entha:lt zwar kein Programm, das die installierten Ports
   aktualisiert, allerdings existieren diverse Programme, die diesen
   Prozess etwas vereinfachen. Weiterhin ko:nnen Sie zusa:tzliche
   Programme installieren, die Sie dabei unterstu:tzen, siehe Ports
   aktualisieren im FreeBSD Handbuch.

   7.8. Muss ich nach der Aktualisierung einer
   FreeBSD-Hauptversionsnummer jedes Mal alle Ports neu erstellen
   lassen?

   Auf jeden Fall! Wa:hrend ein aktuelles System mit Software fu:r
   eine a:ltere Version funktionieren wird, werden Sie mit
   zufa:lligen Abstu:rzen und nicht funktionierenden Ports
   zuru:ckbleiben, sobald Sie anfangen, andere Ports zu installieren
   oder diejenigen, die Sie bereits haben, aktualisieren mo:chten.

   Wenn das System aktualisiert wird, werden verschiedene
   Shared-Libraries, ladbare Module und andere Systembestandteile mit
   neueren Versionen ersetzt. Anwendungen, die gegen die a:lteren
   Versionen gelinkt sind, werden nicht starten oder in anderen
   Fa:llen nicht korrekt funktionieren.

   Fu:r weitere Informationen, lesen Sie den Abschnitt u:ber
   Betriebssystemupgrades im FreeBSD Handbuch.

   7.9. Muss ich nach der Aktualisierung einer
   FreeBSD-Unterversionsnummer jedes Mal alle Ports neu erstellen
   lassen?

   Generell nicht. Die FreeBSD-Entwickler tun ihr mo:glichstes, um
   die Bina:rkompatibilita:t u:ber alle Vero:ffentlichungen mit der
   gleichen Hauptversionsnummer zu garantieren. Ausnahmen werden in
   den Release Notes dokumentiert und die darin enthaltenen Hinweise
   sollten befolgt werden.

   7.10. Warum ist /bin/sh so spartanisch? Warum benutzt FreeBSD
   nicht die bash oder eine a:hnliche Shell?

   Weil der POSIX(R)-Standard definiert, dass es so eine Shell geben
   muss.

   Die ausfu:hrlichere Antwort: Viele Leute mu:ssen Shell-Programme
   schreiben, die auf vielen verschiedenen Systemen nutzbar sein
   mu:ssen. Aus diesem Grund entha:lt der POSIX-Standard eine sehr
   detaillierte Definition der Shell und der Hilfsprogramme. Die
   meisten Programme werden fu:r die Bourne Shell geschrieben;
   ausserdem nutzen mehrere wichtige Schnittstellen (make(1),
   system(3), popen(3) und ihre Entsprechungen in ho:heren
   Programmiersprachen wie Perl und Tcl) die Bourne Shell, um Befehle
   auszufu:hren. Da die Bourne Shell an so vielen Stellen und so
   ha:ufig genutzt wird, muss sie die folgenden Anforderungen
   erfu:llen: Schneller Start, ein klar definiertes Verhalten und ein
   mo:glichst geringer Speicherverbrauch.

   Wir haben bei der vorliegenden Implementierung versucht,
   mo:glichst viele dieser Anforderungen zu erfu:llen. Um /bin/sh
   nicht zu gross werden zu lassen, haben wir viele der
   Annehmlichkeiten der anderen Shells weggelassen. Aus diesem Grund
   gibt es in den Ports die luxurio:seren Shells wie bash, scsh, tcsh
   und zsh. Vergleichen Sie einfach mal den Speicherverbrauch der
   verschiedenen Shells, indem Sie ps -u aufrufen und sich die
   Angaben in den Spalten "VSZ" und "RSS" ansehen.

   7.11. Wieso dauert es so lange, bis Netscape und Opera starten?

   In den meisten Fa:llen liegt es daran, dass Ihre DNS-Einstellungen
   fehlerhaft sind. Sowohl Netscape als auch Opera stellen Anfragen
   an DNS, wenn Sie gestartet werden. Das Fenster des Browsers
   erscheint erst, wenn das Programm eine Antwort erhalten hat oder
   es festgestellt hat, dass Ihr System nicht an ein Netzwerk
   angeschlossen ist.

   7.12. Ich habe die Ports-Sammlung mit CVSup aktualisiert. Viele
   Ports lassen sich danach nicht mehr bauen und geben seltsame
   Fehlermeldungen aus. Was ist passiert? Ist die Ports-Sammlung
   kaputt?

   Sie sollten immer die Teilsammlung ports-base aktualisieren, wenn
   Sie nur Teile der Ports-Sammlung mit Hilfe der
   CVSup-Teilsammlungen aktualisieren. Die Erkla:rung dazu finden Sie
   im Handbuch.

   7.13. Wie erzeuge ich Audio-CDs aus MIDI-Dateien?

   Installieren Sie zuerst den Port audio/timidity++. Danach mu:ssen
   Sie manuell die GUS-Patche von Eric A. Welsh von
   http://alleg.sourceforge.net/digmid.html installieren. Wenn
   TiMidity++ richtig installiert wurde, ko:nnen Sie mit dem
   folgenden Kommando MIDI-Dateien in das WAV-Format konvertieren:

 % timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid

   Die WAV-Dateien ko:nnen dann in andere Formate konvertiert werden
   oder (wie im FreeBSD-Handbuch beschrieben) auf Audio-CDs gebrannt
   werden.

     --------------------------------------------------------------

                     Kapitel 8. Kernelkonfiguration

   8.1. Ich mo:chte meinen Kernel anpassen. Ist das schwierig?

   8.2. Was kann ich machen, wenn meine Kernel-Kompilierungen
   fehlschlagen, weil _hw_float fehlt?

   8.3. Warum ist mein Kernel so gross (u:ber 10 MByte)?

   8.4. Wieso erhalte ich Meldungen u:ber Interrupt-Konflikte, wenn
   ich eine Karte mit mehreren seriellen Schnittstellen einsetzen
   will?

   8.5. Wieso kann ich nicht einmal den Standard-Kernel (GENERIC)
   bauen?

   8.6. Wie kann ich pru:fen, welchen Scheduler das System benutzt?

   8.7. Was bedeutet kern.sched.quantum?

   8.1. Ich mo:chte meinen Kernel anpassen. Ist das schwierig?

   U:berhaupt nicht! Lesen Sie den Abschnitt zur Kernelkonfiguration
   im Handbuch.

     Anmerkung: Der neue kernel wird zusammen mit seinen Modulen im
     Verzeichnis /boot/kernel installiert werden. Der alte Kernel und
     dessen Module wird in das Verzeichnis /boot/kernel.old
     verschoben, damit Sie, wenn Sie einen Fehler beim
     herumexperimentieren mit Ihrer Konfiguration gemacht haben, die
     vorherige Version Ihres Kernels starten ko:nnen.

   8.2. Was kann ich machen, wenn meine Kernel-Kompilierungen
   fehlschlagen, weil _hw_float fehlt?

   Sie haben wahrscheinlich npx0 aus Ihrer Kernelkonfigurationsdatei
   entfernt, weil Sie keinen mathematischen Co-Prozessor besitzen.
   Die Gera:tedatei npx0 ist allerdings VERPFLICHTEND. Ihre Hardware
   unterstu:tzt Gleitkommaoperationen, selbst wenn dafu:r kein
   eigenes Bauteil (wie bei den 386er-Prozessoren) mehr verwendet
   wird. Daher mu:ssen Sie die Gera:tedatei npx0 einbinden. Selbst
   wenn es Ihnen gelingen sollte, einen Kernel ohne
   npx0-Unterstu:tzung zu bauen, werden Sie diesen nicht booten
   ko:nnen.

   8.3. Warum ist mein Kernel so gross (u:ber 10 MByte)?

   Sie haben Ihren Kernel wahrscheinlich im Debug Modus erstellt. Ein
   Debug-Kernel entha:lt viele zusa:tzliche Informationen fu:r die
   Fehlersuche, daher ist er so gross. Bitte beachten Sie, dass die
   Verwendung eines Debug-Kernels die Performance des Systems nicht
   oder nur minimal reduziert; ausserdem ist es fu:r den Fall einer
   system panic sehr praktisch, einen Debug-Kernel zur Hand zu haben.

   Wenn Ihnen allerdings der Plattenplatz ausgeht oder Sie einfach
   rein prinzipiell keinen Debug-Kernel benutzen wollen, mu:ssen die
   beiden folgenden Bedingungen erfu:llt sein:

     * Die Konfigurationsdatei fu:r Ihren Kernel darf die folgende
       Zeile nicht enthalten:

 makeoptions DEBUG=-g

     * Sie du:rfen config(8) nicht mit dem Parameter -g starten.

   Sollten Sie sich nicht an diese Einschra:nkungen halten, wird Ihr
   Kernel im Debug-Modus erstellt. Solange Sie sich an diese
   Einschra:nkungen halten, ko:nnen Sie Ihren Kernel ganz normal
   erstellen und die Gro:sse des Kernels sollte deutlich sinken. Ein
   normaler Kernel ist nur 1.5 MByte bis 2 MByte gross.

   8.4. Wieso erhalte ich Meldungen u:ber Interrupt-Konflikte, wenn
   ich eine Karte mit mehreren seriellen Schnittstellen einsetzen
   will?

   Wenn ich einen Kernel mit Unterstu:tzung fu:r serielle
   Multi-Port-Schnittstellen kompiliere, bekomme ich den Hinweis,
   dass nur der erste Port gepru:ft wird und die restlichen auf Grund
   von Interrupt-Konflikten u:bersprungen werden. Wie kann ich das
   Beheben?

   Das Problem besteht darin, dass in FreeBSD Code integriert ist, um
   den Kernel vor Abstu:rzen aufgrund von Hardware- oder
   Software-Konflikten zu bewahren. Behoben wird es, indem die
   IRQ-Angaben fu:r alle Ports, bis auf einen ausgelassen werden.
   Hier ist ein Beispiel:

 #
 # Multiport high-speed serial line - 16550 UARTS
 #
 device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
 device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
 device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
 device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
          

   8.5. Wieso kann ich nicht einmal den Standard-Kernel (GENERIC)
   bauen?

   Es gibt eine Reihe von mo:glichen Ursachen fu:r dieses Problem:

     * Sie benutzen die neuen Kommandos make buildkernel und make
       installkernel nicht, obwohl die Sourcen auf Ihrem System nicht
       zum laufenden System passen (z.B. benutzen Sie die Sourcen von
       9.1-RELEASE auf einem System mit 8.4-RELEASE). Wenn Sie ein
       Upgrade durchfu:hren wollen, sollten Sie /usr/src/UPDATING
       lesen, beachten Sie insbesondere den Abschnitt "COMMON ITEMS"
       gegen Ende des Dokuments.

     * Sie benutzen zwar make buildkernel und make installkernel,
       aber Sie haben nicht darauf geachtet, dass vorher ein
       komplettes make buildworld durchgelaufen sein muss. Um seine
       Arbeit erledigen zu ko:nnen, beno:tigt make buildkernel
       Dateien, die von make buildworld erzeugt werden.

     * Auch wenn Sie FreeBSD-STABLE verwenden, ist es durchaus
       mo:glich, dass Sie die Sourcen genau zum falschen Zeitpunkt
       aktualisiert haben: Wa:hrend Sie gerade modifiziert wurden
       oder kurzzeitig fehlerhaft waren. Eine absolute und
       vollsta:ndige Garantie, dass Sie die Sourcen compilieren
       ko:nnen, gibt es nur fu:r die Releases, bei FreeBSD-STABLE ist
       das nicht immer so. Wenn Sie es noch nicht versucht haben,
       sollten Sie ihre Source nochmals aktualisieren. Es ist
       denkbar, dass der von Ihnen genutzte Server zurzeit Probleme
       hat, benutzen Sie daher testweise auch einmal einen anderen
       Server.

   8.6. Wie kann ich pru:fen, welchen Scheduler das System benutzt?

   U:berpru:fen Sie dazu, ob auf Ihrem System die sysctl-Variable
   kern.sched.quantum existiert. Ist dies bei Ihnen der Fall, werden
   Sie eine Ausgabe a:hnlich der folgenden sehen:

 % sysctl kern.sched.quantum
 kern.sched.quantum: 99960

   Wenn die sysctl-Variable kern.sched.quantum existiert, dann
   verwenden Sie den 4BSD-Scheduler (sched_4bsd(4)). Existiert sie
   nicht, erzeugt sysctl(8) eine Fehlermeldung (die Sie aber
   ignorieren ko:nnen):

 % sysctl kern.sched.quantum
 sysctl: unknown oid 'kern.sched.quantum'

   Seit FreeBSD 5.3-RELEASE wird der Name des verwendeten Schedulers
   direkt als Wert der sysctl-Variable kern.sched.name ausgegeben:

 % sysctl kern.sched.name
 kern.sched.name: 4BSD

   8.7. Was bedeutet kern.sched.quantum?

   kern.sched.quantum ist die maximale Anzahl Ticks, die ein Prozess
   ununterbrochen laufen kann. Die Variable ist charakteristisch fu:r
   den 4BSD Scheduler, somit kann der verwendete Scheduler u:ber die
   Existenz dieser Variablen bestimmt werden.

     --------------------------------------------------------------

            Kapitel 9. Platten, Dateisysteme und Boot Loader

   9.1. Wie kann ich meine neue Festplatte in mein FreeBSD-System
   einbinden?

   9.2. Wie verschiebe ich mein System auf meine neue, grosse Platte?

   9.3. Gefa:hrdet eine "dangerously dedicated" Festplatte meine
   Gesundheit?

   9.4. Auf welchen Partitionen kann ich problemlos Soft Updates
   einsetzen? Ich habe geho:rt, das der Einsatz von Soft Updates auf
   / Probleme verursachen kann.

   9.5. Was stimmt mit meinem ccd(4) nicht?

   9.6. Warum kann ich den Plattenlabel meines ccd(4) nicht
   editieren?

   9.7. Kann ich andere fremde Dateisysteme unter FreeBSD mounten?

   9.8. Wie mounte ich eine erweiterte DOS-Partition?

   9.9. Gibt es ein verschlu:sselndes Dateisystem fu:r FreeBSD?

   9.10. Wie kann ich den Windows NT(R)-Loader zum Booten von FreeBSD
   verwenden?

   9.11. Wie boote ich FreeBSD und Linux mit LILO?

   9.12. Wie boote ich FreeBSD und Linux mit GRUB?

   9.13. Wie boote ich FreeBSD und Linux mit BootEasy?

   9.14. Wie kann ich das ??? des Boot-Managers durch etwas
   Sinnvolles ersetzen?

   9.15. Ich habe ein Wechsellaufwerk. Wie benutze ich es?

   9.16. Wieso erhalte ich die Meldung "Incorrect super block" beim
   Mounten einer CD-ROM?

   9.17. Wieso erhalte ich die Meldung "Device not configured", wenn
   ich eine CD-ROM mounte?

   9.18. Wieso werden alle Sonderzeichen in den Dateinamen auf meinen
   CDs durch "?" ersetzt, wenn ich die CD unter FreeBSD benutze?

   9.19. Ich habe eine CD mit FreeBSD gebrannt und kann sie nicht mit
   anderen Betriebssystemen lesen. Warum?

   9.20. Wie kann ich ein Image einer Daten-CD erzeugen?

   9.21. Wieso kommt mount nicht meiner Audio-CD zurecht?

   9.22. Wie nutze ich mount fu:r eine Multi-Session CD?

   9.23. Wie lasse ich normale Benutzer Disketten, CD-ROMs und andere
   Wechseldatentra:ger mounten?

   9.24. Wieso geben die Befehle du und df unterschiedliche Werte
   fu:r den freien Plattenplatz aus?

   9.25. Wie kann ich den Swap-Bereich vergro:ssern?

   9.26. Warum ist meine Festplatte unter FreeBSD kleiner, als sie
   laut Hersteller sein soll?

   9.27. Warum kann eine Partition zu mehr als 100% gefu:llt sein?

   9.1. Wie kann ich meine neue Festplatte in mein FreeBSD-System
   einbinden?

   Lesen Sie den Abschnitt Hinzufu:gen von Laufwerken im Handbuch.

   9.2. Wie verschiebe ich mein System auf meine neue, grosse Platte?

   Die beste Methode ist, das Betriebssystem auf der neuen Platte neu
   zu installieren und danach die Daten zu verschieben. Wenn Sie
   -STABLE u:ber eine Release hinaus genutzt haben oder eine Release
   aktualisiert haben, ist das sehr empfehlenswert. Sie ko:nnen auf
   beiden Platten boot0cfg(8) installieren und die beiden Versionen
   so lange parallel betreiben, bis Ihnen die neue Konfiguration
   gefa:llt. Wenn Sie dies tun wollen, ko:nnen Sie im u:berna:chsten
   Absatz erfahren, wie sie Ihre Daten verschieben ko:nnen.

   Falls Sie sich entscheiden, das nicht zu tun, mu:ssen Sie Ihre
   neue Platte partitionieren und labeln. Benutzen Sie dafu:r
   entweder sysinstall(8) oder fdisk(8) und disklabel(8). Weiterhin
   sollten Sie mit boot0cfg(8) auf beiden Platten booteasy
   installieren, damit Sie in der Lage sind, das alte und das neue
   System abwechselnd zu starten, nachdem der Kopiervorgang
   abgeschlossen ist.

   Nachdem Sie die neue Platte eingerichtet haben, ko:nnen Sie Ihre
   Daten verschieben. Dummerweise ko:nnen Sie die Daten nicht einfach
   kopieren. Dinge wie Gera:tedateien (in /dev), erweiterte
   Dateiattribute und symbolische Links fu:hren dazu, dass das in die
   Hose geht. Sie mu:ssen ein Programm benutzen, das damit umgehen
   kann, und das ist dump(8). Es wird oft empfohlen, die Daten im
   Single-User-Modus zu verschieben, aber das ist nicht unbedingt
   notwendig.

   Sie sollten auf gar keinen Fall etwas anderes als dump(8) und
   restore(8) benutzen, um Ihr Root-Filesystem zu verschieben. Es
   ko:nnte auch mit tar(1) funktionieren - oder auch nicht. Sie
   sollten ebenfalls dump(8) und restore(8) benutzen, wenn Sie eine
   komplette Partition auf eine andere, leere Partition verschieben
   wollen. Um die Daten einer Partition mit dump auf eine andere
   Partition zu verschieben, mu:ssen Sie die folgenden Schritte
   ausfu:hren:

    1. Richten Sie in der neuen Partition mit newfs ein Dateisystem
       ein.

    2. Mounten Sie die Partition tempora:r an einer geeigneten
       Stelle.

    3. Wechseln Sie mit cd in dieses Verzeichnis.

    4. Lesen Sie die alte Partition mit dump aus und lenken Sie die
       Ausgabe auf die neue Partition um.

   Wenn Sie zum Beispiel root auf /dev/ad1s1a verschieben wollen und
   diese derzeit auf /mnt gemountet ist, bedeutet das:

 # newfs /dev/ad1s1a
 # mount /dev/ad1s1a /mnt
 # cd /mnt
 # dump 0af - / | restore rf -

   Wenn Sie Ihre Partitionen mit dump(8) umorganisieren wollen, steht
   Ihnen etwas mehr Arbeit bevor. Wenn Sie eine Partition wie /var in
   die u:bergeordnete Partition verschieben wollen, mu:ssen Sie
   zuna:chst eine neue Partition erzeugen, die die beiden alten
   Partitionen aufnehmen kann. Der zweite Schritt ist, wie oben
   beschrieben die u:bergeordnete Partition in die neue Partition zu
   verschieben. Im dritten und letzten Schritt verschieben Sie dann
   die untergeordnete Partition in das leere Verzeichnis, das im
   zweiten Schritt entstanden ist:

 # newfs /dev/ad1s1a
 # mount /dev/ad1s1a /mnt
 # cd /mnt
 # dump 0af - / | restore rf -
 # cd var
 # dump 0af - /var | restore rf -

   Wenn Sie ein Verzeichnis aus einer Partition herauslo:sen wollen,
   also z.B. /var auf eine eigene Partition verlegen wollen, dann
   mu:ssen Sie zuna:chst beide Partitionen anlegen. Danach mu:ssen
   Sie die untergeordnete Partition im passenden Verzeichnis
   unterhalb des tempora:ren mount points mounten und zum Abschluss
   die alte Partition verschieben:

 # newfs /dev/ad1s1a
 # newfs /dev/ad1s1d
 # mount /dev/ad1s1a /mnt
 # mkdir /mnt/var
 # mount /dev/ad1s1d /mnt/var
 # cd /mnt
 # dump 0af - / | restore rf -

   Eventuell sagen Ihnen fu:r Benutzerdaten cpio(1), pax(1) oder
   tar(1) eher zu als dump(8). Allerdings haben alle diese Programme
   den Nachteil, dass sie die erweiterten Dateiattribute nicht
   verstehen, daher sollten Sie bei ihrem Einsatz aufpassen.

   9.3. Gefa:hrdet eine "dangerously dedicated" Festplatte meine
   Gesundheit?

   Die Installationsprozedur bietet Ihnen zwei verschiedene Methoden,
   Ihre Festplatte(n) zu partitionieren. Die Standardmethode macht
   sie kompatibel zu anderen Betriebssystemen auf derselben Maschine,
   indem fdisk(8)-Tabelleneintra:ge (unter FreeBSD "slices" genannt)
   mit einem FreeBSD-Eintrag, in dem eigene Partitionen untergebracht
   werden, benutzt werden. Optional kann ausgewa:hlt werden, ob ein
   Boot-Selektor installiert werden soll, um zwischen den mo:glichen
   Betriebssystemen auf der/den Platte(n) wechseln zu ko:nnen. Bei
   der zweiten Methode wird die gesamte Platte fu:r FreeBSD genutzt
   und nicht versucht, kompatibel zu anderen Betriebssystemen zu
   sein.

   Nun, warum wird es "gefa:hrlich" genannt? Eine Platte in diesem
   Modus entha:lt nichts, was von normalen PC-Hilfsprogrammen als
   gu:ltige fdisk(8)-Tabelle betrachtet werden wu:rde. Abha:ngig von
   der Qualita:t ihres Designs werden sie sich bei Ihnen beschweren,
   sobald sie mit einer solchen Platte in Kontakt kommen, oder noch
   schlimmer, sie ko:nnten den Bootstrap von FreeBSD bescha:digen,
   ohne Sie zu fragen oder darauf hinzuweisen. Hinzu kommt, dass vom
   Layout von "dangerously dedicated" Platten bekannt ist, dass es
   viele BIOSe verwirrt, einschliesslich solcher von AWARD (wie es
   z.B. im HP Netserver oder Micronics-Systemen, sowie vielen anderen
   zu finden ist) und Symbios/NCR (fu:r die bekannte 53C8xx-Reihe von
   SCSI-Controllern). Dies ist keine vollsta:ndige Liste - es gibt
   weitere. Symptome fu:r diese Verwirrung sind "read
   error"-Meldungen, die vom FreeBSD-Bootstrap ausgegeben werden,
   wenn es sich selbst nicht finden kann, sowie Systemabstu:rze beim
   Booten.

   Warum gibt es diesen Modus dann u:berhaupt? Es spart ein paar
   kByte an Plattenplatz und kann echte Probleme verursachen, die zu
   einer Neuinstallation fu:hren. Die Urspru:nge des "Dangerously
   dedicated" Modus liegen in der Absicht, eines der ha:ufigsten
   Probleme, das Erstinstallierer von FreeBSD plagt, zu verhindern -
   die BIOS-Werte fu:r die "Geometrie" einer Festplatte auf der
   Festplatte selbst anzupassen.

   "Geometrie" ist ein veraltetes Konzept, das aber immer noch die
   Grundlage fu:r die Interaktion zwischen dem PC-BIOS und den
   Festplatten ist. Wenn das Installationsprogramm von FreeBSD Slices
   erstellt, muss es sich die Lage dieser Slices auf der Festplatte
   in einer Art merken, die damit u:bereinstimmt, wie das BIOS
   erwartet, sie zu finden. Wenn das falsch geschieht, werden Sie
   nicht in der Lage sein, zu booten.

   Durch den "Dangerously dedicated" Modus wird versucht, dies zu
   umgehen, indem das Problem vereinfacht wird. In einigen Fa:llen
   klappt das zwar, aber er ist eher als allerletzter Ausweg gedacht
   - in 99 von 100 Fa:llen gibt es bessere Mo:glichkeiten, das
   Problem zu lo:sen.

   Wie vermeiden Sie also die Notwendigkeit zum "DD" Modus, wenn Sie
   installieren? Beginnen Sie, indem Sie sich notieren, welche
   Geometrie das BIOS fu:r Ihre Platten benutzt. Sie ko:nnen
   erreichen, dass der Kernel sie beim Booten ausgibt, indem Sie -v
   an der Eingabeaufforderung boot: angeben, oder boot -v im Loader
   verwenden. Kurz bevor das Installationsprogramm startet, wird der
   Kernel eine Liste mit den BIOS-Geometrien ausgeben. Keine Panik -
   warten Sie, bis das Installationsprogramm gestartet wurde und
   benutzen Sie Scrollback, um die Zahlen zu lesen. Typischerweise
   befinden sich die BIOS-Platten in derselben Reihenfolge, wie
   FreeBSD Ihre Platten auflistet - zuerst IDE, dann SCSI.

   Wenn Sie Ihre Festplatte in Slices unterteilen, u:berpru:fen Sie,
   ob die Plattengeometrie, die im FDISK-Menu: angegeben ist, korrekt
   ist (das heisst mit den Einstellungen im BIOS u:bereinstimmen).
   Falls die Werte nicht stimmen, benutzen Sie G, um sie zu
   korrigieren. Diese Schritte sind no:tig, wenn sich absolut nichts
   auf der Festplatte befindet, oder, wenn die Festplatte vorher in
   einem anderen System benutzt worden ist. Beachten Sie, dass dies
   nur fu:r die Festplatte no:tig ist, von der Sie booten wollen. Mit
   weiteren vorhandenen Platten wird FreeBSD sich problemlos
   zurechtfinden.

   Wenn Sie es geschafft haben, dass das BIOS und FreeBSD in der
   Festplattengeometrie u:bereinstimmen, dann sind Ihre Probleme
   ziemlich sicher voru:ber - ohne, dass es no:tig gewesen wa:re, den
   "DD"-Modus zu benutzen. Falls sie jedoch immer noch mit der
   gefu:rchteten "read error"-Meldung begru:sst werden sollten, wenn
   Sie versuchen, zu booten, wird es Zeit, dass Sie Ihre Finger
   kreuzen und es einfach versuchen - es gibt nichts mehr zu
   verlieren.

   Um eine "dangerously dedicated" Festplatte wieder fu:r einen
   normalen PC brauchbar zu machen, gibt es zwei Mo:glichkeiten. Die
   erste ist, ausreichend viele NULL-Bytes in den MBR zu schreiben,
   um irgendwelche nachfolgenden Installation glauben zu machen, dass
   es sich um eine leere Festplatte handelt. Sie ko:nnen das zum
   Beispiel mit diesem Befehl tun:

 # dd if=/dev/zero of=/dev/rda0 count=15

   Alternativ installiert der undokumentierte DOS-Befehl

 C:\> fdisk /mbr

   einen neuen Master-Boot-Record, das heisst der BSD-Bootstrap wird
   zersto:rt.

   9.4. Auf welchen Partitionen kann ich problemlos Soft Updates
   einsetzen? Ich habe geho:rt, das der Einsatz von Soft Updates auf
   / Probleme verursachen kann.

   Die schnelle Antwort: Sie ko:nnen Soft Updates bedenkenlos auf
   alle Partitionen benutzen.

   Die ausfu:hrliche Antwort: Es gab lange Zeit Bedenken, was den
   Einsatz von Soft Updates auf der root-Partition betrifft. Der
   Grund sind zwei Charakteristika der Soft Updates: Zum einen kann
   es bei einem Absturz des System auf einer Partition mit Soft
   Updates zum Datenverlust kommen. Die Partition ist zwar noch
   brauchbar, aber einige Daten ko:nnen verloren gehen. Weiterhin
   kann es durch Soft Updates zu einem zeitweisen Mangel an
   Plattenplatz kommen.

   Bei der Benutzung von Soft Updates kann es bis zu dreissig
   Sekunden dauern, bis der Kernel A:nderungen auf das physikalische
   Speichermedium schreibt. Wenn Sie eine grosse Datei lo:schen, ist
   diese Datei noch auf der Platte vorhanden, bis der Kernel die
   Lo:schoperation tatsa:chlich durchfu:hrt. Das kann zu einem sehr
   einfachen Problem fu:hren: Stellen Sie sich vor, Sie lo:schen eine
   grosse Datei und legen gleich darauf eine andere grosse Datei an.
   Da die erste Datei noch nicht wirklich gelo:scht wurde, ist
   eventuell nicht genug Platz fu:r die zweite grosse Datei. Sie
   erhalten die Fehlermeldung, dass nicht genug freier Platz
   vorhanden ist, obwohl Sie ganz genau wissen, dass Sie gerade eben
   Platz geschaffen haben. Wenn Sie die Operation ein paar Sekunden
   spa:ter wiederholen, funktioniert alles wie von Geisterhand.
   Dieser Effekt hat mehr als einen Benutzer verwirrt und Zweifel an
   seiner geistigen Stabilita:t oder dem FreeBSD-Dateisystem
   aufkommen lassen.

   Wenn der Kernel ein Datenpaket annimmt und das System abstu:rzt,
   bevor er dies Daten auf die Platte geschrieben hat, kann es zum
   Verlust oder zur Zersto:rung von Daten kommen. Dieses Risiko ist
   nur sehr gering und normalerweise tragbar. Wenn Sie allerdings
   einen IDE-Write-Cache verwenden, steigt das Risiko; daher wird
   normalerweise empfohlen, auf den Einsatz dieser Technik zu
   verzichten, wenn Sie Soft Updates benutzen.

   Diese beiden Probleme betreffen alle Partitionen, die Soft Updates
   verwenden. Was bedeutet das fu:r die Root-Partition?

   Die wichtigen Daten auf der Root-Partition a:ndern sich nur sehr
   selten. Dateien wie /boot/kernel/kernel und der Inhalt /etc werden
   nur bei der Wartung des Systems gea:ndert, oder wenn Benutzer ihre
   Passwo:rter a:ndern. Wenn das System in den 30 Sekunden nach einer
   solchen A:nderung abstu:rzt, ist es mo:glich, das Daten verloren
   gehen. Dieses Risiko ist in den meisten Fa:llen unerheblich, aber
   es ist vorhanden. Wenn das zu viel Risiko ist, dann sollten Sie
   Soft Updates nicht auf der Root-Partition einsetzen.

   / war schon immer eine der kleinsten Partitionen. Wenn Sie das
   Verzeichnis /tmp direkt auf / und in Ihrem /tmp viel Betrieb ist,
   kann es gelegentlich zu den oben beschriebenen Platzproblemen
   kommen. Um das Problem zu lo:sen, sollten sie einen symbolischen
   Link von /tmp nach /var/tmp legen.

   9.5. Was stimmt mit meinem ccd(4) nicht?

   Das Symptom hierfu:r ist:

 # ccdconfig -C
 ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format

   Das geschieht fu:r gewo:hnlich, wenn Sie versuchen, die c
   Partitionen, die standardma:ssig vom Typ unbenutzt sind, zu
   verbinden. Der ccd(4)-Treiber verlangt Partitionen vom Typ
   FS_BSDFFS. Editieren Sie den Plattenlabel der Platten, die Sie zu
   verknu:pfen versuchen und a:ndern Sie die Typen der Partitionen in
   4.2BSD.

   9.6. Warum kann ich den Plattenlabel meines ccd(4) nicht
   editieren?

   Das Symptom hierfu:r ist:

 # disklabel ccd0
 (hier wird etwas vernu:nftiges ausgegeben; versuchen wir nun, es zu editieren)
 # disklabel -e ccd0
 (editieren, speichern, beenden)
 disklabel: ioctl DIOCWDINFO: No disk label on disk;
 use "disklabel -r" to install initial label

   Der Grund ist, dass der von ccd(4) zuru:ckgelieferte Plattenlabel
   ein "vorgeta:uschter" ist, der sich nicht wirklich auf der Platte
   befindet. Sie ko:nnen das Problem beheben, indem Sie ihn explizit
   zuru:ckschreiben, wie z.B. hier:

 # disklabel ccd0 > /tmp/disklabel.tmp
 # disklabel -Rr ccd0 /tmp/disklabel.tmp
 # disklabel -e ccd0
 (nun wird es funktionieren)

   9.7. Kann ich andere fremde Dateisysteme unter FreeBSD mounten?

   FreeBSD unterstu:tzt verschiedene fremde Dateisysteme.

   UFS

           UFS-CD-ROMs ko:nnen unter FreeBSD direkt gemountet werden.
           Das Mounten von Partitionen von Digital UNIX und anderen
           Systemen, die UFS unterstu:tzen, ko:nnte schwieriger sein,
           abha:ngig von den Details der Plattenpartitionierung des
           betreffenden Betriebssystems.

   ext2/ext3

           FreeBSD unterstu:tzt ext2fs und ext3fs-Partitionen. Unter
           mount_ext2fs(8) finden Sie weitere Informationen.

   NTFS

           Ein NTFS-Treiber, der nur Lesezugriffe gestattet, ist Teil
           von FreeBSD. Weitere Informationen entnehmen Sie bitte der
           Hilfeseite mount_ntfs(8). Ein Port von ntfs-3g
           unterstu:tzt Schreiboperationen auf NTFS (siehe
           sysutils/fusefs-ntfs).

   FAT

           FreeBSD entha:lt ein FAT-Treiber, der Lese- und
           Schreibzugriffe ermo:glicht. Weitere Informationen
           entnehmen Sie bitte der Hilfeseite mount_msdosfs(8).

   ZFS

           Zum jetzigen Zeitpunkt entha:lt FreeBSD eine Portierung
           von Sun(TM)s ZFS Treiber. Die aktuelle Empfehlung ist, es
           nur auf amd64 Plattformen mit ausreichend Hauptspeicher zu
           verwenden. Mehr Informationen finden Sie in der Manualpage
           zfs(8).

   FreeBSD unterstu:tzt auch verschiedene Netzwerk-Dateisysteme, wie
   NFS (mount_nfs(8)), NetWare (mount_nwfs(8)), sowie die
   SMB-Dateisysteme von Microsoft (mount_smbfs(8)). In Ports die auf
   FUSE (sysutils/fusefs-kmod) basieren, ko:nnen Sie viele weitere
   Dateisysteme finden.

   9.8. Wie mounte ich eine erweiterte DOS-Partition?

   Die erweiterten DOS-Partitionen befinden sich hinter allen
   prima:ren Partitionen. Wenn sich zum Beispiel eine Partition "E"
   als sekunda:re DOS-Partition auf Ihrem zweiten SCSI-Laufwerk
   befindet, wird eine Gera:tedatei fu:r "Slice 5" im Verzeichnis
   /dev erstellt, also mounten Sie diese einfach:

 # mount -t msdosfs /dev/da1s5 /dos/e

   9.9. Gibt es ein verschlu:sselndes Dateisystem fu:r FreeBSD?

   Ja. Sie ko:nnen entweder gbde(8) oder geli(8) einsetzen. Lesen Sie
   dazu auch den Abschnitt Partitionen verschlu:sseln des Handbuchs.

   9.10. Wie kann ich den Windows NT(R)-Loader zum Booten von FreeBSD
   verwenden?

   Das grundsa:tzliche Vorgehen besteht darin, dass Sie den ersten
   Sektor Ihrer eigentlichen FreeBSD-Rootpartition in eine Datei auf
   der DOS/Windows NT-Partition kopieren. Angenommen, sie nennen die
   Datei etwa c:\bootsect.bsd (durch c:\bootsect.dos inspiriert),
   dann ko:nnen Sie die Datei c:\boot.ini etwa wie folgt editieren:

 [boot loader]
 timeout=30
 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
 [operating systems]
 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
 C:\BOOTSECT.BSD="FreeBSD"
 C:\="DOS"
          

   Falls FreeBSD auf derselben Platte, wie die
   Windows NT-Bootpartition installiert ist, kopieren Sie einfach
   /boot/boot1 nach C:\BOOTSECT.BSD. Falls FreeBSD auf einer anderen
   Platte installiert ist, wird /boot/boot1 nicht funktionieren; Sie
   brauchen in diesem Fall /boot/boot0.

   /boot/boot0 muss mit sysinstall(8) installiert werden. Wa:hlen Sie
   dazu den FreeBSD-Bootmanager aus, wenn Sie gefragt werden, ob sie
   einen Bootmanager installieren wollen. Dieser Schritt ist
   notwendig, weil /boot/boot0 eine leere Partitionstabelle entha:lt,
   die von sysinstall(8) mit NULL-Zeichen ausgefu:llt wird, bevor
   /boot/boot0 in den MBR kopiert wird.

     Warnung: Sie du:rfen auf gar keinen Fall einfach /boot/boot0
     statt /boot/boot1 kopieren. Wenn Sie das doch tun sollten, wird
     Ihre Partitionstabelle u:berschrieben und Ihr Rechner wird nicht
     mehr starten!

   Wenn der Bootmanager von FreeBSD gestartet wird, merkt er sich das
   zuletzt gestartet Betriebssystem, indem er dessen Partition als
   aktiv markiert. Danach kopiert er sich selbst (alle 512 Bytes) in
   den MBR. Wenn Sie also einfach /boot/boot0 nach C:\BOOTSECT.BSD
   kopieren, wu:rde der Bootmanager eine leere Partitionstabelle (mit
   einem als aktiv markiertem Eintrag) in den MBR kopieren.

   9.11. Wie boote ich FreeBSD und Linux mit LILO?

   Falls sich FreeBSD und Linux auf derselben Platte befinden, folgen
   Sie einfach den Installationsanweisungen von LILO zum Booten eines
   Nicht-Linux-Betriebssystems. Ganz knapp sind dies:

   Booten Sie Linux und fu:gen Sie die folgenden Zeilen in die Datei
   /etc/lilo.conf ein:

 other=/dev/hda2
 table=/dev/hda
 label=FreeBSD

   (hierbei wird angenommen, dass Ihre FreeBSD-Partition Linux unter
   /dev/hda2 bekannt ist; a:ndern Sie dies entsprechend Ihren
   Einstellungen). Fu:hren Sie nun als root den Befehl lilo aus und
   Sie sind fertig.

   Falls FreeBSD sich auf einer anderen Platte befindet, mu:ssen Sie
   loader=/boot/chain.b zu den LILO-Angaben hinzufu:gen. Zum
   Beispiel:

 other=/dev/dab4
 table=/dev/dab
 loader=/boot/chain.b
 label=FreeBSD

   In einigen Fa:llen ko:nnte es sein, dass Sie beim
   FreeBSD-Bootloader die BIOS-Laufwerksnummer angeben mu:ssen, um
   von der zweiten Platte booten zu ko:nnen. Wenn Ihre
   FreeBSD-SCSI-Platte vom BIOS zum Beispiel als BIOS-Platte 1
   erkannt wird, mu:ssen Sie am Prompt des FreeBSD-Bootloaders
   eingeben:

 Boot: 1:da(0,a)/boot/kernel/kernel

   Sie ko:nnen boot(8) so konfigurieren, dass das beim Booten
   automatisch geschieht.

   Das   Linux+FreeBSD mini-HOWTO ist ein guter Ratgeber bei Fragen
   zur Interaktion von FreeBSD und Linux.

   9.12. Wie boote ich FreeBSD und Linux mit GRUB?

   Es ist sehr einfach, GRUB zum Starten von FreeBSD einzusetzen.
   Dazu mu:ssen Sie lediglich die folgenden Zeilen in die
   Konfigurationsdatei /boot/grub/menu.lst (oder /boot/grub/grub.conf
   bei manchen Systemen wie z.B. Red Hat Linux und dessen
   Abko:mmlinge) aufnehmen.

 title FreeBSD 6.1
         root (hd0,a)
         kernel /boot/loader
          

   Dabei steht hd0,a fu:r die root-Partition Ihrer ersten Festplatte.
   Beno:tigen Sie auch die Slice-Nummer, so verwenden Sie einen
   Eintrag der Form (hd0,2,a). In der Voreinstellung ist die Angabe
   der Slice-Nummer aber nicht no:tig, da GRUB automatisch das erste
   Slice (das die Bezeichnung a hat) nutzt.

   9.13. Wie boote ich FreeBSD und Linux mit BootEasy?

   Installieren Sie LILO am Anfang Ihrer Linux-Bootpartition, anstatt
   im Master Boot Record. Sie ko:nnen LILO dann von BootEasy aus
   booten.

   Wenn Sie Windows und Linux benutzen, wird das ohnehin empfohlen,
   um es einfacher zu machen, Linux wieder zu booten, wenn es no:tig
   werden sollte, dass Sie Windows neu installieren (Windows ist ein
   eifersu:chtiges Betriebssystem, das kein anderes Betriebssystem im
   Master Boot Sektor duldet).

   9.14. Wie kann ich das ??? des Boot-Managers durch etwas
   Sinnvolles ersetzen?

   Solange Sie den Boot-Manager nicht komplett neu schreiben, gar
   nicht. Allerdings gibt es in der Kategorie sysutils der Ports
   diverse Boot-Manager, die diese Funktionalita:t bieten.

   9.15. Ich habe ein Wechsellaufwerk. Wie benutze ich es?

   Ob es sich um ein Wechsellaufwerk handelt, um ein Zip oder ein
   EZ-Laufwerk (oder sogar ein Diskettenlaufwerk, wenn Sie es auf
   diese Weise benutzen mo:chten), oder um eine neue Festplatte -
   wenn es einmal installiert und vom System erkannt ist und Sie Ihre
   Kassette/Diskette/was_auch_immer eingelegt haben, ist das Vorgehen
   bei allen Gera:ten ziemlich a:hnlich.

   (dieser Abschnitt basiert auf Mark Mayo's ZIP-FAQ)

   Wenn es sich um ein ZIP- oder Diskettenlaufwerk handelt, und sich
   bereits ein DOS-Dateisystem darauf befindet, ko:nnen Sie einen
   Befehl wie diesen fu:r eine Diskette benutzen:

 # mount -t msdosfs /dev/fd0c /floppy

   oder diesen:

 # mount -t msdosfs /dev/da2s4 /zip

   fu:r eine ZIP-Disk mit der Herstellerkonfiguration.

   Benutzen Sie bei anderen Platten fdisk(8) oder sysinstall(8), um
   herauszufinden, wie sie konfiguriert sind.

   Die restlichen Beispiele sind fu:r ein ZIP-Laufwerk unter da2, der
   dritten SCSI-Platte.

   Wenn es sich nicht um eine Diskette oder eine Wechselplatte
   handelt, die Sie mit anderen Leuten austauschen wollen, ist es
   wahrscheinlich besser, ein BSD-Dateisystem darauf zu installieren.
   Hierdurch bekommen Sie Unterstu:tzung fu:r lange Dateinamen, eine
   mindestens doppelt so hohe Leistungsausnutzung und wesentlich
   ho:here Stabilita:t. Zuna:chst mu:ssen Sie die
   Partitionen/Dateisysteme auf DOS-Ebene nochmals erstellen. Sie
   ko:nnen entweder fdisk(8) oder sysinstall(8) benutzen, oder, bei
   einem kleinen Laufwerk, dem Sie eine Unterstu:tzung fu:r mehrere
   Betriebssysteme nicht zumuten wollen, entfernen Sie einfach die
   komplette FAT Partitionstabelle (Slices) und benutzen Sie einfach
   die BSD-Partitionierung:

 # dd if=/dev/zero of=/dev/rda2 count=2
 # disklabel -Brw da2 auto

   Sie ko:nnen disklabel(8) oder sysinstall(8) benutzen, um mehrere
   BSD-Partitionen zu erstellen. Dies werden Sie sicherlich bei einer
   fest eingebauten Platte wollen, aber bei einem Wechsellaufwerk wie
   einem ZIP ist das wahrscheinlich irrelevant.

   Zum Schluss erstellen Sie ein neues Dateisystem - dieses befindet
   sich auf unserem ZIP-Laufwerk und belegt die gesamte Platte:

 # newfs /dev/rda2c

   anschliessend mounten Sie es:

 # mount /dev/da2c /zip

   Und sicherlich ist es keine schlechte Idee, eine Zeile a:hnlich
   der folgenden in die Datei /etc/fstab einzufu:gen, damit Sie in
   Zukunft nur mount /zip einzugeben brauchen:

 /dev/da2c /zip ffs rw,noauto 0 0

   9.16. Wieso erhalte ich die Meldung "Incorrect super block" beim
   Mounten einer CD-ROM?

   Sie mu:ssen mount(8) mitteilen, was fu:r ein Gera:t Sie mounten
   wollen. Genauere Informationen dazu finden Sie im Kapitel Optische
   Speichermedien des Handbuch, genauer gesagt im Abschnitt Benutzung
   von Daten-CDs.

   9.17. Wieso erhalte ich die Meldung "Device not configured", wenn
   ich eine CD-ROM mounte?

   Das bedeutet im allgemeinen, dass sich keine CD-ROM im Laufwerk
   befindet, oder, dass das Laufwerk auf dem Bus nicht sichtbar ist.
   Dieses Problem wird im Kapitel Benutzung von Daten-CDs des
   Handbuchs ausfu:hrlich diskutiert.

   9.18. Wieso werden alle Sonderzeichen in den Dateinamen auf meinen
   CDs durch "?" ersetzt, wenn ich die CD unter FreeBSD benutze?

   Wahrscheinlich werden auf der CD-ROM die "Joliet" Erweiterungen
   fu:r die Speicherung von Datei- und Verzeichnisnamen benutzt.
   Werfen Sie einen Blick in das Kapitel Erzeugung von CD-ROMs im
   Handbuch, speziell in den Abschnitt u:ber Benutzung von Daten-CDs.

   [Anmerkung des U:bersetzers: Es geht hier nicht um die deutschen
   Sonderzeichen, da diese schon im normalen ISO8859-1 enthalten
   sind. Die Probleme treten auf, wenn man z.B. russische CDs
   (ISO8859-5) verwendet.]

   9.19. Ich habe eine CD mit FreeBSD gebrannt und kann sie nicht mit
   anderen Betriebssystemen lesen. Warum?

   Sie haben wahrscheinlichste eine Datei direkt auf CD geschrieben,
   statt ein ISO 9660-Dateisystem erzeugt zu haben. Werfen Sie einen
   Blick in das Kapitel Erzeugung von CD-ROMs im Handbuch, speziell
   in den Abschnitt u:ber reine Daten-CDs.

   9.20. Wie kann ich ein Image einer Daten-CD erzeugen?

   Diese Information finden Sie im Abschnitt Kopieren von CD-ROMs des
   Handbuchs. Weitere Informationen u:ber die Arbeit mit CD-ROMs
   finden Sie im Abschnitt Erzeugen von CD-ROMs im Kapitel
   Speichermedien des Handbuchs.

   9.21. Wieso kommt mount nicht meiner Audio-CD zurecht?

   Wenn Sie versuchen sollten, eine Audio-CD zu mounten, erhalten Sie
   die Meldung "cd9660: /dev/acd0c: Invalid argument". Der Grund
   dafu:r ist, dass mount nur fu:r Dateisysteme vorgehen ist. Audio
   CDs habe kein Dateisystem, sondern nur Daten. Wenn Sie eine Audio
   CD auslesen wollen, brauchen Sie ein entsprechendes Programm wie
   z.B. audio/xmcd aus den Ports.

   9.22. Wie nutze ich mount fu:r eine Multi-Session CD?

   Standardma:ssig benutzt mount(8) den letzten (aktuellsten)
   Daten-Track der CD. Wenn Sie eine a:ltere Session benutzen wollen,
   mu:ssen Sie diese mit der Option -s definieren. Weitere
   Informationen finden Sie in der Onlinehilfe zu mount_cd9660(8)

   9.23. Wie lasse ich normale Benutzer Disketten, CD-ROMs und andere
   Wechseldatentra:ger mounten?

   Normale Benutzer ko:nnen dazu berechtigt werden, Gera:te zu
   mounten. Das geht so:

    1. Setzen Sie als root die sysctl-Variable vfs.usermount auf 1:

 # sysctl -w vfs.usermount=1

    2. Ordnen Sie als root den Block-Gera:ten, die den
       Wechsellaufwerken zugeordnet sind, die entsprechenden
       Zugriffsrechte zu.

       Wenn Sie zum Beispiel den Benutzer den Zugriff auf das erste
       Diskettenlaufwerk zu erlauben wollen:

 # chmod 666 /dev/fd0

       Um den Mitgliedern der Gruppe operator den Zugriff auf das
       CD-ROM zu gestatten:

 # chgrp operator /dev/acd0c
 # chmod 640 /dev/acd0c

    3. Sie mu:ssen zusa:tzlich /etc/devfs.conf anpassen, weil diese
       Einstellungen ansonsten beim Systemneustart verloren gehen.

       Damit normale Benutzer beispielsweise das erste
       Diskettenlaufwerk mounten ko:nnen, fu:gen Sie als root
       folgende Zeilen in /etc/devfs.conf ein:

 # Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten.
 own       /dev/fd0        root:operator
 perm      /dev/fd0        0666

       Damit alle Mitglieder der Gruppe operator das CD-ROM-Laufwerk
       mounten ko:nnen, die folgenden Zeilen:

 # Alle Mitglieder der Gruppe operator du:rfen CD-ROMs mounten.
 own       /dev/acd0       root:operator
 perm      /dev/acd0       0660

    4. Fu:gen Sie zum Abschluss die Zeile vfs.usermount=1 in die
       Datei /etc/sysctl.conf ein, damit die Einstellung bei einem
       Neustart des Systems automatisch erhalten bleibt.

   Alle Benutzer ko:nnen nun /dev/fd0 auf ein Verzeichnis, das ihnen
   geho:rt, mounten:

 %  mkdir ~/my-mount-point
 %  mount -t msdosfs /dev/fd0 ~/my-mount-point

   Die zur Gruppe operator geho:renden Benutzer ko:nnen nun
   /dev/acd0c auf ein Verzeichnis, das ihnen geho:rt, mounten:

 %  mkdir ~/my-mount-point
 %  mount -t cd9660 /dev/acd0c ~/my-mount-point

   Das Unmounten des Gera:tes ist simpel:

 % umount ~/my-mount-point

   Die Aktivierung von vfs.usermount hat jedoch negative Auswirkungen
   auf Sicherheitsaspekte. Ein besserer Weg, um auf
   MS-DOS-formatierte Datentra:ger zuzugreifen, ist die Benutzung des
   Packages emulators/mtools.

     Anmerkung: Denken Sie daran, dass Sie die Gera:tenamen in diesen
     Beispielen an Ihre Konfiguration anpassen mu:ssen.

   9.24. Wieso geben die Befehle du und df unterschiedliche Werte
   fu:r den freien Plattenplatz aus?

   Der Grund ist die Funktionsweise von du und df. du geht durch
   einen Dateibaum, ermittelt die Gro:sse jeder einzelnen Datei, und
   gibt die Summe aus. df fragt lediglich das Dateisystem wie viel
   Platz noch frei ist. Das scheint zwar auf den ersten Blick sehr
   a:hnlich zu sein; allerdings wird sich ein leeres Verzeichnis auf
   die Ausgabe von df auswirken, wa:hrend es auf das Ergebnis von du
   keinen Einfluss hat.

   Wenn Sie eine Datei lo:schen, wa:hrend sie von einem Programm
   genutzt wird, wird diese Datei erst gelo:scht, wenn sie vom
   Programm freigegeben wird. Allerdings wird die Datei sofort aus
   dem Verzeichnis entfernt. Sie ko:nnen dieses Verhalten mit einem
   Programm wie more sehr einfach nachvollziehen. Dazu brauchen Sie
   nur eine Datei, die gross genug ist, um die Ausgabe von du und df
   zu beeinflussen. Bei der Gro:sse aktueller Platten muss diese
   Datei schon sehr gross sein! Wenn Sie diese Datei lo:schen,
   wa:hrend Sie sie sich in more anzeigen lassen, hat more kein
   Problem. Der Eintrag fu:r die Datei wird lediglich aus dem
   Verzeichnis entfernt, damit kein anderes Programm mehr darauf
   zugreifen kann. Laut du ist die Datei verschwunden - es hat das
   Verzeichnis untersucht und die Datei nicht gefunden. Laut df ist
   die Datei aber vorhanden, da sie im Dateisystem immer noch Platz
   belegt. Sobald Sie more beenden, werden die Ergebnisse von du und
   df wieder u:bereinstimmen.

   Bitte beachten Sie, dass die Freigabe des Plattenplatzes durch die
   Soft Updates um bis zu 30 Sekunden verzo:gert werden kann.

   Die oben beschriebene Situation tritt sehr ha:ufig auf Web-Servern
   auf. Viele Anwender installieren einen FreeBSD Web-Server und
   vergessen die Rotation der Logfiles, bis irgendwann die Partition
   /var u:berla:uft. Der Administrator lo:scht die Datei, aber das
   System beschwert sich immer noch u:ber fehlenden Plattenplatz. Die
   Datei wird erst freigegeben, wenn der Web-Server beendet und neu
   gestartet wird; dadurch kann das System den Plattenplatz
   freigeben. Um solche und a:hnliche Unfa:lle zu verhindern, sollten
   Sie newsyslog(8) einsetzen.

   9.25. Wie kann ich den Swap-Bereich vergro:ssern?

   Im Kapitel Konfiguration und Tuning des Handbuches gibt es einen
   Abschnitt mit einer Schritt-fu:r-Schritt Anleitung.

   9.26. Warum ist meine Festplatte unter FreeBSD kleiner, als sie
   laut Hersteller sein soll?

   Festplattenhersteller definieren ein Gigabyte als eine Milliarde
   Bytes, fu:r FreeBSD ist ein Gigabyte hingegen 1.073.741.824 Bytes
   gross. Aus diesem Grund wird fu:r eine Platte, die laut
   Herstellerangaben 80 GB gross ist, wa:hrend des Bootvorgangs eine
   Gro:sse von 76.319 MB angezeigt.

   Beachten Sie auch, dass FreeBSD (in der Voreinstellung) 8 % des
   Plattenplatzes fu:r sich reserviert.

   9.27. Warum kann eine Partition zu mehr als 100% gefu:llt sein?

   Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%, ist fu:r
   das Betriebssystem und den Benutzer root reserviert. df(1) rechnet
   diesen Teil bei der Ausgabe der Capacity Spalte nicht ein, so dass
   dort Werte u:ber 100% angezeigt werden ko:nnen. Die Anzahl der
   Blo:cke in der blocks Spalte ist ebenfalls um 8% gro:sser als die
   Summe der benutzten und verfu:gbaren Blo:cke (die Spalten Used und
   Avail).

   Wie viel Platz reserviert wird, ko:nnen Sie mit der -m Option von
   tunefs(8) einstellen.

     --------------------------------------------------------------

                    Kapitel 10. Systemadministration

   10.1. Wo befinden sich die Konfigurationsdateien fu:r den
   Systemstart?

   10.2. Wie kann ich am Einfachsten einen Benutzer hinzufu:gen?

   10.3. Warum erhalte ich Meldungen wie "root: not found", nachdem
   ich meine crontab gea:ndert habe?

   10.4. Wieso meldet mir su(1) "you are not in the correct group to
   su root", wenn ich mit su root werden will?

   10.5. Ich habe einen Fehler in der rc.conf oder einer der anderen
   Dateien fu:r den Systemstart und jetzt kann ich sie nicht a:ndern,
   weil das Dateisystem "read-only" ist. Was kann ich tun?

   10.6. Wieso habe ich habe Probleme, meinen Drucker einzurichten?

   10.7. Wie kann ich die Tastaturbelegung meines Systems
   korrigieren?

   10.8. Wieso erhalte ich beim Start des Systems Meldungen wie
   "unknown: <PNP0303> can't assign resources"?

   10.9. Wieso funktionieren die Benutzer-Quotas nicht richtig?

   10.10. Unterstu:tzt FreeBSD IPC-Grundfunktionen von System V?

   10.11. Welchen Mail-Server kann ich an Stelle von sendmail
   benutzen?

   10.12. Was kann ich machen, wenn ich das Rootpasswort vergessen
   habe?

   10.13. Wie verhindere ich, dass das System mit Ctrl+Alt+Delete
   rebootet werden kann?

   10.14. Wie kann ich Textdateien von DOS Systemen auf UNIX Systemen
   verwenden?

   10.15. Wie beende ich Prozesse namentlich?

   10.16. Warum nervt su(1) mich damit, dass ich nicht in der ACL von
   root bin?

   10.17. Wie deinstalliere ich Kerberos?

   10.18. Wie fu:ge ich Pseudo-Terminals zum System hinzu?

   10.19. Wie lade ich /etc/rc.conf und starte /etc/rc neu, ohne zu
   rebooten?

   10.20. Ich wollte auf das aktuelle -STABLE updaten, und plo:tzlich
   la:uft hier ein -BETAx, -RC oder -PRERELEASE! Was ist passiert?

   10.21. Als ich versucht habe, einen neuen Kernel zu installieren,
   ist das chflags(1) fehlgeschlagen. Was mache ich jetzt?

   10.22. Ich kann die Systemzeit nicht um mehr als eine Sekunde
   verstellen. Was mache ich jetzt?

   10.23. Warum braucht rpc.statd(8) 256 MB Speicher?

   10.24. Warum kann ich das Dateiattribut schg nicht lo:schen?

   10.25. Warum funktioniert die .shosts Authentifizierung von SSH in
   neueren Versionen von FreeBSD nicht mehr?

   10.26. Was ist vnlru?

   10.27. Was bedeuten die Zusta:nde, die top fu:r Speicherseiten
   ausgibt?

   10.28. Wie viel freien Speicher hat mein System?

   10.29. Ich kann /var/empty nicht lo:schen!

   10.1. Wo befinden sich die Konfigurationsdateien fu:r den
   Systemstart?

   /etc/defaults/rc.conf (siehe rc.conf(5)) ist die prima:re
   Konfigurationsdatei. Die Startskripten des Systems, wie /etc/rc
   und /etc/rc.d (siehe rc(8)) inkludieren diese Datei. A:ndern Sie
   diese Datei nicht! Wenn Sie den Wert einer der in
   /etc/defaults/rc.conf gesetzten Variablen a:ndern wollen, fu:gen
   Sie die entsprechende Zeile in die Datei /etc/rc.conf ein und
   a:ndern die Zeile dort.

   Wenn Sie zum Beispiel den mitgelieferten DNS-Server named(8)
   aktivieren wollen, mu:ssen Sie lediglich das folgende Kommando
   eingeben:

 # echo 'named_enable="YES"' >> /etc/rc.conf

   Wenn Sie lokale Server starten wollen, mu:ssen Sie passende
   Shellskripten im Verzeichnis /usr/local/etc/rc.d/ ablegen. Die
   Dateien mu:ssen als ausfu:hrbar markiert sein und die
   Dateiberechtigungen 555 besitzen.

   10.2. Wie kann ich am Einfachsten einen Benutzer hinzufu:gen?

   Benutzen Sie den Befehl adduser(8) und fu:r kompliziertere Fa:lle
   den Befehl pw(8).

   Benutzen Sie den Befehl rmuser(8), um einen Benutzer wieder zu
   lo:schen. Sie ko:nnen, wenn no:tig. auch pw(8) benutzen.

   10.3. Warum erhalte ich Meldungen wie "root: not found", nachdem
   ich meine crontab gea:ndert habe?

   Die u:bliche Ursache dieses Problems ist, dass Sie die crontab des
   Systems (/etc/crontab) gea:ndert und dann mit crontab(1)
   installiert haben:

 # crontab /etc/crontab

   Diese Vorgehensweise ist falsch. Die crontab des Systems hat ein
   anderes Format als die crontabs fu:r die einzelnen Benutzer, die
   mit crontab(1) aktualisiert werden (genauere Informationen u:ber
   die Unterschiede erhalten Sie in crontab(5)).

   Wenn Sie so vorgegangen sind, ist die zweite crontab einfach nur
   eine Kopie von /etc/crontab, allerdings im falschen Format.
   Lo:schen Sie sie mit dem folgenden Befehl:

 # crontab -r

   Wenn Sie /etc/crontab wieder a:ndern mu:ssen, sollten Sie einfach
   gar nichts tun, um cron(8) u:ber die A:nderung zu informieren, er
   erkennt die A:nderung automatisch.

   Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden Monat
   ausfu:hren lassen wollen, ist es wahrscheinlich einfacher, wenn
   Sie entsprechende Shell-Scripte in /usr/local/etc/periodic
   ablegen. Diese werden dann von periodic(8) zusammen mit den
   anderen regelma:ssigen cron Ta:tigkeiten ausgefu:hrt.

   Der eigentliche Grund fu:r den Fehler ist die Tatsache, dass die
   crontab des Systems ein zusa:tzliches Feld entha:lt; dieses Feld
   gibt an, mit welcher Benutzerkennung der Befehl ausgefu:hrt werden
   soll. In der mitgelieferten crontab ist das bei allen Eintra:gen
   die Benutzerkennung root. Wenn diese Datei als die crontab des
   Benutzers username (die nicht mit der crontab des Systems
   identisch ist) verwendet wird, ha:lt cron(8) die Zeichenkette root
   fu:r den Namen des zu startenden Programmes, aber dieses Programm
   gibt es nicht.

   10.4. Wieso meldet mir su(1) "you are not in the correct group to
   su root", wenn ich mit su root werden will?

   Das ist ein Sicherheits-Feature. Wenn Sie mit su zum Account root
   (oder jedem anderen Account mit Super-User-Privilegien) wechseln
   wollen, mu:ssen Sie ein Mitglied der Gruppe wheel sein. Wenn es
   dieses Feature nicht ga:be, ko:nnte jeder, der einen Account auf
   dem System hat und zufa:llig das Passwort fu:r root erfa:hrt, mit
   Super-User-Rechten auf das System zugreifen. Durch dieses Feature
   ist die Lage anders, wenn Sie nicht Mitglied von wheel sind,
   ko:nnen Sie nicht einmal versuchen, dass Passwort einzugeben.

   Um einem Benutzer zu erlauben, mit su root zu werden, mu:ssen Sie
   ihn nur in die Gruppe wheel eintragen.

   10.5. Ich habe einen Fehler in der rc.conf oder einer der anderen
   Dateien fu:r den Systemstart und jetzt kann ich sie nicht a:ndern,
   weil das Dateisystem "read-only" ist. Was kann ich tun?

   Starten Sie das System mittels boot -s an der
   Loader-Eingabeaufforderung neu, um in den Single-User-Modus zu
   gelangen. Wenn Sie aufgefordert werden, den Pfadnamen der Shell
   einzugeben, dru:cken Sie einfach Enter. Geben Sie danach mount
   -urw / ein, um das Root-Dateisystem im Schreib/Lese-Modus zu
   mounten. Sie werden wahrscheinlich auch mount -a -t ufs ausfu:hren
   mu:ssen, um das Dateisystem mit Ihrem Lieblingseditor zu mounten.
   Wenn Ihr Lieblingseditor auf einem Netzwerklaufwerk liegt, mu:ssen
   Sie entweder das Netzwerk von Hand konfigurieren oder einen Editor
   benutzen, der auf einem lokalen Laufwerk vorhanden ist, z.B.
   ed(1).

   Wenn Sie einen bildschirmorientierten Editor wie zum Beispiel
   vi(1) oder emacs(1) benutzen wollen, werden Sie auch den Befehl
   export TERM=cons25 ausfu:hren mu:ssen, damit diese Editoren die
   richtigen Einstellungen aus der Datenbank termcap(5) u:bernehmen.

   Sobald Sie diese Schritte ausgefu:hrt, ko:nnen Sie den Fehler in
   der /etc/rc.conf ganz normal beheben. Die Fehlermeldungen, die
   Ihnen unmittelbar nach den Startmeldungen des Kernels angezeigt
   wurden, sollten Ihnen die Nummer der Zeile mit dem Fehler melden.

   10.6. Wieso habe ich habe Probleme, meinen Drucker einzurichten?

   Lesen sie den Handbucheintrag u:ber Drucker. Es sollte die meisten
   Ihrer Probleme behandeln.

   Einige Drucker beno:tigen einen auf dem Rechner laufenden Treiber,
   um drucken zu ko:nnen. Diese so genannten "WinPrinter" oder
   "GDI-Drucker" werden von FreeBSD nicht unterstu:tzt und an diesem
   Zustand wird sich wohl auch nichts a:ndern. Wenn Ihr Drucker nicht
   unter DOS oder Windows verwendet werden kann, handelt es sich um
   einen "WinPrinter" und wird in der Regel auch nicht unter FreeBSD
   funktionieren. Ihre einzige Chance, einen dieser Drucker benutzen
   ko:nnen, ist der Port ports/print/pnm2ppa.

   10.7. Wie kann ich die Tastaturbelegung meines Systems
   korrigieren?

   Informationen dazu finden Sie im Kapitel la:nderspezifische
   Einstellungen des Handbuchs, insbesondere im Abschnitt
   Konfiguration der Konsole.

   10.8. Wieso erhalte ich beim Start des Systems Meldungen wie
   "unknown: <PNP0303> can't assign resources"?

   Die nachfolgende Erkla:rung stammt aus einer Mail auf der
   Mailingliste FreeBSD-CURRENT.

     Die Gera:te, fu:r die "can't assign resources"-Meldungen         
     ausgegeben werden, sind "Legacy ISA"Gera:te, fu:r die ein      
     nicht PNP-fa:higer Treiber in den Kernel eingebunden wurde.    
     Dabei handelt es sich um Gera:te wie den Tastaturkontroller,   
     den programmierbaren Interrupt-Kontroller und diverse andere   
     Standardkomponenten. Die Ressourcen ko:nnen nicht zugewiesen   
     werden, weil es schon einen Treiber gibt, der diese Ressourcen 
     benutzt.                                                       
             --Garrett Wollman <wollman@FreeBSD.org>, 24 April 2001   

   10.9. Wieso funktionieren die Benutzer-Quotas nicht richtig?

   * Es kann sein, dass Ihr Kernel nicht fu:r den Einsatz von Quotas
     konfiguriert ist. Damit Sie mit Quotas arbeiten ko:nnen, mu:ssen
     Sie folgende Zeile in Ihre Kernelkonfigurationsdatei aufnehmen
     und den Kernel neu bauen:

 options QUOTA

     Weitere Informationen zum Einsatz von Quotas finden Sie im
     entsprechenden Abschnitt des Handbuchs.

   * Benutzen Sie keine Quotas fu:r /.

   * Erstellen Sie die Quotas-Datei in dem Dateisystem, fu:r das die
     Quotas gelten sollen, z.B.:

             File System                      Quota file              
     /usr                         /usr/admin/quotas                   
     /home                        /home/admin/quotas                  
     ...                          ...                                 

   10.10. Unterstu:tzt FreeBSD IPC-Grundfunktionen von System V?

   Ja, FreeBSD unterstu:tzt IPC im Stil von System V einschliesslich
   gemeinsamen Speicher, Nachrichten und Semaphoren bereits mit dem
   GENERIC-Kernel. Wenn Sie einen angepassten Kernel verwenden,
   mu:ssen Sie die folgenden Zeilen in Ihre Kernelkonfigurationsdatei
   einfu:gen:

 options    SYSVSHM
 options    SYSVSHM          # enable shared memory
 options    SYSVSEM          # enable for semaphores
 options    SYSVMSG          # enable for messaging
          

   Danach kompilieren und installieren Sie den neuen Kernel.

   10.11. Welchen Mail-Server kann ich an Stelle von sendmail
   benutzen?

   sendmail ist zwar der Mail-Server, der bei FreeBSD standardma:ssig
   installiert wird, aber Sie ko:nnen Ihn problemlos durch einen
   anderen MTA (z.B. aus den Ports) ersetzen.

   In der Port-Sammlung gibt es bereits viele verschiedene MTAs,
   mail/exim, mail/postfix, mail/qmail, sowie mail/zmailer sind
   einige der beliebteren Alternativen.

   Konkurrenz belebt das Gescha:ft und die Tatsache, dass Sie die
   Qual der Wahl haben, ist ein Vorteil. Daher sollten Sie Fragen wie
   "Ist sendmail besser als qmail?" besser nicht auf den
   Mailinglisten stellen. Wenn Sie dieses Thema interessiert, sollten
   sie zuna:chst die Archive durchsehen. Die Vorteile und Nachteile
   jedes einzelnen der verfu:gbaren MTAs sind schon mehrere Male bis
   zur Erscho:pfung diskutiert worden.

   10.12. Was kann ich machen, wenn ich das Rootpasswort vergessen
   habe?

   Keine Panik! Starten Sie Ihr System neu und geben Sie boot -s an
   der Eingabeaufforderung Boot: ein, um in den Single-User-Modus zu
   gelangen. Bei der Frage danach, welche Shell benutzt werden soll,
   dru:cken Sie einfach Enter. Nun erscheint die Eingabeaufforderung
   #. Geben Sie mount -urw / ein, um Ihr Root-Dateisystem fu:r Lese-
   und Schreibzugriffe zu remounten und dann mount -a, um alle
   Dateisysteme zu remounten. Mit passwd root ko:nnen Sie das
   Rootpasswort a:ndern und mit exit(1) ko:nnen Sie mit dem Booten
   fortfahren.

     Anmerkung: Wenn Sie immer noch dazu aufgefordert werden, das
     root Passwort beim Betreten des Single-User-Modus einzugeben,
     bedeutet das, dass die Konsole als insecure in /etc/ttys
     markiert wurde. In diesem Fall ist es notwendig, von einem
     FreeBSD Installationsmedium zu booten, die Fixit-Shell
     auszuwa:hlen und die oben beschriebenen Befehle einzugeben.

     Anmerkung: Wenn Sie ihre root Partition im Single-User-Modus
     nicht mounten ko:nnen, liegt es mo:glicherweise daran, dass die
     Partionen verschlu:sselt sind und es damit unmo:glich ist, sie
     ohne die dazugeho:rigen Schlu:ssel zu mounten. Ihre Chancen
     ha:ngen von der jeweiligen Implementierung ab. Fu:r weitere
     Informationen lesen Sie den Abschnittt u:ber verschlu:sselte
     Partitionen im FreeBSD Handbuch.

   10.13. Wie verhindere ich, dass das System mit Ctrl+Alt+Delete
   rebootet werden kann?

   Falls Sie syscons(4) (der Standard-Treiber fu:r die Konsole)
   benutzen, fu:gen Sie folgende Zeile in Ihre
   Kernelkonfigurationsdatei ein:

 options SC_DISABLE_REBOOT

   Alternativ ko:nnen Sie auch die folgende sysctl(8)-Variable setzen
   (die aktiviert wird, ohne dass Sie Ihr System dazu neu starten
   oder einen angepassten Kernel erstellen mu:ssen):

 # sysctl hw.syscons.kbd_reboot=0

     Anmerkung: Die beiden oben genannten Methoden schliessen sich
     gegenseitig aus: sysctl(8) existiert nicht, wenn Sie ihren
     Kernel mit der Option SC_DISABLE_REBOOT bauen.

   Falls Sie den pcvt(4) Konsolentreiber verwenden, fu:gen Sie die
   folgende Zeile in die Kernelkonfigurationsdatei hinzu und bauen
   Sie einen neuen Kernel:

 options PCVT_CTRL_ALT_DEL

   10.14. Wie kann ich Textdateien von DOS Systemen auf UNIX Systemen
   verwenden?

   Benutzen Sie diesen Perl-Befehl:

 % perl -i.bak -npe 's/\r\n/\n/g' file(s)

   Wobei file(s) eine oder mehrere zu verarbeitende(n) Datei(en)
   ist/sind. Die A:nderungen erfolgen in der Originaldatei, die zuvor
   mit der Erweiterung .bak gesichert wird.

   Alternativ ko:nnen Sie den Befehl tr(1) benutzen:

 % tr -d '\r' < dos-text-file > unix-file

   dos-text-file ist die Datei, die den Text im DOS-Format entha:lt
   und unix-file wird die konvertierte Ausgabe enthalten. Diese
   Mo:glichkeit ko:nnte etwas schneller sein, als die Benutzung von
   perl.

   Die Verwendung des Ports converters/dosunix aus der Ports-Sammlung
   stellt eine weitere Mo:glichkeit dar, DOS-Textdateien neu zu
   formatieren. Konsultieren Sie die Dokumentation fu:r weitere
   Informationen.

   10.15. Wie beende ich Prozesse namentlich?

   Benutzen Sie pkill(1).

   10.16. Warum nervt su(1) mich damit, dass ich nicht in der ACL von
   root bin?

   Der Fehler stammt vom verteilten Authentifizierungssystem
   Kerberos. Das Problem ist nicht ernsthaft, aber sto:rend. Sie
   ko:nnen entweder su mit der Option -K benutzen, oder Kerberos
   deinstallieren, wie in der na:chsten Frage beschrieben.

   10.17. Wie deinstalliere ich Kerberos?

   Um Kerberos aus dem System zu entfernen, mu:ssen Sie die
   base-Distribution der von Ihnen benutzten RELEASE neu
   installieren. Wenn Sie die CD-ROM besitzen, ko:nnen Sie sie
   mounten (wir nehmen an, unter /cdrom) und folgende Befehle
   ausfu:hren:

 # cd /cdrom/base
 # ./install.sh

   Alternativ ko:nnen Sie mit der Option NO_KERBEROS in der
   /etc/make.conf ein make world durchfu:hren.

   10.18. Wie fu:ge ich Pseudo-Terminals zum System hinzu?

   Wenn Sie viele Benutzer von telnet, ssh, X oder screen haben,
   werden Ihnen eventuell die Pseudo-Terminals ausgehen.
   Standardma:ssig unterstu:tzt FreeBSD 6.2 und vorherige Versionen
   256 Pseudo-Terminals, wa:hrend FreeBSD 6.3 und ho:her 512
   Pseudo-Terminals zur Verfu:gung stellt.

     Tipp: Wenn no:tig, ko:nnen mehr Pseudo-Terminals hinzugefu:gt
     werden. Allerdings muss dafu:r die C-Blibliothek, der Kernel und
     /etc/ttys erweitert werden. Zum Beispiel erho:ht
     http://www.freebsd.org/~jhb/patches/pty_1152.patch die Anzahl an
     Pseudo-Terminals auf 1152. Beachten Sie, dass die Erweiterung
     nur fu:r FreeBSD 6.3 oder ho:her problemlos funktioniert.

   10.19. Wie lade ich /etc/rc.conf und starte /etc/rc neu, ohne zu
   rebooten?

   Gehen Sie in den Single-User-Modus und dann zuru:ck in den
   Multi-User-Modus.

   Geben Sie auf der Konsole folgendes ein:

 # shutdown now
 (Hinweis: ohne -r oder -h)
 # return
 # exit

   10.20. Ich wollte auf das aktuelle -STABLE updaten, und plo:tzlich
   la:uft hier ein -BETAx, -RC oder -PRERELEASE! Was ist passiert?

   Kurze Antwort: Das ist nur ein anderer Name. RC ist die Abku:rzung
   fu:r "Release Candidate". Es bedeutet, dass eine neue Release
   bevorsteht. Und -PRERELEASE bedeutet bei FreeBSD normalerweise,
   dass die Sourcen zur Vorbereitung auf eine Release "eingefroren"
   wurden (in einigen Releases wurde -BETA anstelle von -PRERELEASE
   verwendet).

   Ausfu:hrliche Antwort: Bei FreeBSD gibt es zwei Quellen fu:r
   Releases. Die Major Releases wie 7.0-RELEASE und 8.0-RELEASE
   werden aus dem aktuellen Stand des Hauptzweiges der Entwicklung
   (besser und ku:rzer als -CURRENT bekannt) erzeugt. Minor Releases
   wie 6.3-RELEASE oder 5.2-RELEASE stammen aus dem aktiven -STABLE
   Zweig. Seit 4.3-RELEASE gibt es es nun auch einen eigenen Zweig
   fu:r jede Release, der fu:r die Leute gedacht ist, die ein sehr
   konservativ weiterentwickeltes System beno:tigen (im Normalfall
   also nur Updates aus dem Bereich Sicherheit).

   Bevor in einem Zweig eine Release erfolgt, muss in diesem Zweig
   ein bestimmter Prozess ablaufen. Ein Teil dieses Prozesses ist der
   "code freeze", der Stop der Weiterentwicklung. Sobald dieser
   Schritt erfolgt ist, wird der Name des Zweiges gea:ndert, um
   anzuzeigen, dass demna:chst eine Release erfolgen wird. Wenn der
   Zweig zum Beispiel 6.2-STABLE genannt wurde, wird der Name in
   6.3-PRERELEASE gea:ndert, um dies zu verdeutlichen. Weiterhin ist
   das ein Zeichen, dass jetzt besonders intensiv getestet werden
   sollte. In dieser Phase ko:nnen Fehler im Sourcecode noch
   korrigiert werden. Wenn der Sourcecode so weit "gereift" ist, dass
   eine Release erstellt werden kann, wird der Name in 6.3-RC
   gea:ndert, um genau dies anzuzeigen. In dieser Phase ko:nnen nur
   noch extrem wichtige Korrekturen aufgenommen werden. Sobald die
   Release (in diesem Beispiel 6.3-RELEASE) erfolgt ist, wird der
   Zweig in 6.3-STABLE umbenannt.

   Weitere Informationen u:ber Versionsnummern und die verschiedenen
   Entwicklungszweige entha:lt der Artikel Release Engineering.

   10.21. Als ich versucht habe, einen neuen Kernel zu installieren,
   ist das chflags(1) fehlgeschlagen. Was mache ich jetzt?

   Kurze Antwort: Ihre Sicherheitseinstellung (der securelevel) ist
   wahrscheinlich gro:sser als 0. Sie mu:ssen das System neu starten
   und den Kernel im Single-User-Modus installieren.

   Ausfu:hrliche Antwort: Wenn die Sicherheitseinstellung gro:sser
   als 0 ist, erlaubt Ihnen FreeBSD nicht, die Systemflags zu
   a:ndern. Um den aktuellen Securelevel zu ermitteln, ko:nnen Sie
   das folgende Kommando benutzen:

 # sysctl kern.securelevel

   Sie ko:nnen die Sicherheitseinstellung nicht verringern. Sie
   mu:ssen das System neu starten und den Kernel im Single-User-Modus
   installieren oder die Sicherheitseinstellung in /etc/rc.conf
   a:ndern und dann das System neu starten. Weitere Details zu
   securelevel erhalten Sie in init(8), weitere Informationen zur
   rc.conf erhalten Sie in /etc/defaults/rc.conf und rc.conf(5).

   10.22. Ich kann die Systemzeit nicht um mehr als eine Sekunde
   verstellen. Was mache ich jetzt?

   Kurze Antwort: Ihre Sicherheitseinstellung (der securelevel) ist
   wahrscheinlich gro:sser als 1. Sie mu:ssen das System neu starten
   und die Systemzeit im Single-User-Modus verstellen.

   Ausfu:hrliche Antwort: Wenn die Sicherheitseinstellung gro:sser
   als 1 ist, erlaubt Ihnen FreeBSD nicht, die Systemzeit zu a:ndern.
   Um den aktuellen Securelevel zu ermitteln, ko:nnen Sie das
   folgende Kommando benutzen:

 # sysctl kern.securelevel

   Sie ko:nnen die Sicherheitseinstellung nicht verringern, Sie
   mu:ssen das System neu starten und die Systemzeit im
   Single-User-Modus a:ndern oder die Sicherheitseinstellung in
   /etc/rc.conf a:ndern und dann das System neu starten. Weitere
   Details zu securelevel erhalten Sie in init(8), weitere
   Informationen zur rc.conf erhalten Sie in /etc/defaults/rc.conf
   und rc.conf(5).

   10.23. Warum braucht rpc.statd(8) 256 MB Speicher?

   Nein, das Programm hat keinen Fehler und es verbraucht auch nicht
   256 MB Speicher. rpc.statd projiziert nur einen u:bertrieben
   grossen Speicherbereich in seinen eigenen Adressraum. Von einem
   rein technischen Standpunkt aus ist das nichts verwerfliches,
   allerdings verwirrt es Programme wie top(1) und ps(1).

   rpc.statd(8) projiziert seine Statusdatei (die in /var liegt) in
   seinen Adressraum. Um die Probleme zu vermeiden, die bei einer
   Vergro:sserung dieser Projektion entstehen ko:nnten, wird gleich
   ein mo:glichst grosser Speicherbereich benutzt. Dies kann man sehr
   scho:n im Sourcecode sehen: Die La:ngenangabe beim Aufruf von
   mmap(2) ist 0x10000000, ein sechzehntel des Adressraums bei IA32,
   oder genau 256 MByte.

   10.24. Warum kann ich das Dateiattribut schg nicht lo:schen?

   Sie betreiben Ihr System mit einer erho:hten Sicherheitsstufe.
   Senken Sie die Sicherheitsstufe und versuchen Sie es dann noch
   einmal. Weitere Informationen erhalten Sie im FAQ Eintrag u:ber
   Sicherheitsstufen und in der Online-Hilfe init(8).

   10.25. Warum funktioniert die .shosts Authentifizierung von SSH in
   neueren Versionen von FreeBSD nicht mehr?

   Die .shosts Authentifizierung funktioniert nicht mehr, weil ssh(1)
   in neueren Versionen von FreeBSD nicht mehr SUID-root installiert
   wird. Um dieses Problem zu "lo:sen", gibt es die folgenden
   Mo:glichkeiten:

     * Um das Problem fu:r immer zu lo:sen, mu:ssen Sie in
       /etc/make.conf die Variable ENABLE_SUID_SSH auf true setzen
       und danach ssh(1) neu u:bersetzen (oder make world)
       ausfu:hren.

     * U:bergangsweise ko:nnen Sie auch die Dateirechte von
       /usr/bin/ssh auf 4555 setzen, indem Sie den Befehl chmod 4555
       /usr/bin/ssh als root ausfu:hren. Fu:gen Sie anschliessend
       ENABLE_SUID_SSH =true in die Datei /etc/make.conf ein, damit
       diese A:nderung erhalten bleibt, wenn Sie das na:chste Mal
       make world ausfu:hren.

   10.26. Was ist vnlru?

   vnlru schreibt vnodes auf Platte und gibt sie wieder frei, falls
   das System die Grenzwert kern.maxvnodes erreicht. Dieser Thread
   des Kernel tut meistens gar nichts und wird nur aktiv, wenn Sie
   extrem viel RAM haben und gleichzeitig auf viele zehntausende
   kleine Dateien zugreifen.

   10.27. Was bedeuten die Zusta:nde, die top fu:r Speicherseiten
   ausgibt?

   Speicherseiten werden vom Kernel in verschiedenen Listen
   verwaltet:

     * Active: Seiten, die vor Kurzem benutzt wurden.

     * Inactive: Seiten, die la:nger nicht benutzt wurden.

     * Cache: Meistens Seiten, die vorher im Zustand Inactive waren
       und noch gu:ltige Daten enthalten. Diese Seiten ko:nnen sofort
       in ihrem alten Kontext oder in einem neuen Kontext verwendet
       werden. Wenn eine Seite unvera:ndert (clean) ist, kann ein
       Zustandswechsel direkt von Active nach Cache erfolgen. Ob
       dieser Zustandswechsel mo:glich ist, wird durch die
       Seitenersetzungsstrategie bestimmt, die der Entwickler des
       VM-Systems festgelegt hat.

     * Free: Seiten, die keine Daten enthalten. Diese Seiten ko:nnen
       sofort benutzt werden, wenn Seiten im Zustand Cache nicht
       benutzt werden ko:nnen. Seiten im Zustand Free ko:nnen auch
       wa:hrend eines Interrupts angefordert werden.

     * Wired: Seiten, die fest im Speicher liegen und nicht
       ausgelagert werden ko:nnen. Normalerweise werden solche Seiten
       vom Kernel benutzt, manchmal werden Sie aber auch fu:r
       spezielle Zwecke von Prozessen verwendet.

   Seiten im Zustand Inactive werden oft auf Plattenspeicher
   geschrieben (sozusagen ein sync des VM-Systems). Wenn die CPU
   erkennen kann, das eine Seite unmodifiziert (clean) ist, kann auch
   eine Active-Seite auf den Plattenspeicher ausgeschrieben werden.
   In bestimmten Situationen ist es von Vorteil, wenn ein Block von
   VM-Seiten, unabha:ngig von seinem Zustand, ausgeschrieben werden
   kann. Die Inactive-Liste entha:lt wenig benutzte Seiten, die
   ausgeschrieben werden ko:nnten. Seiten im Zustand Cached sind
   schon ausgeschrieben und stehen Prozessen fu:r die Verwendung im
   alten oder in einem neuen Kontext zur Verfu:gung. Seiten im
   Zustand Cache sind nicht ausreichend geschu:tzt und ko:nnen
   wa:hrend Unterbrechungen nicht benutzt werden.

   Die eben beschriebene Behandlung von Speicherseiten kann durch
   weitere Zusta:nde (wie das das Busy-Flag) vera:ndert werden.

   10.28. Wie viel freien Speicher hat mein System?

   Es gibt verschiedene Arten von "freiem Speicher". Eine Art ist die
   Speichermenge, die sofort, ohne etwas auszulagern, zur Verfu:gung
   steht. Der gesamte VM-Bereich ist eine weitere Art des "freien
   Speichers". Die Betrachtung ist komplex, ha:ngt aber von der
   Gro:sse des Swap-Bereichs und der Gro:sse des Arbeitsspeichers ab.
   Es gibt weitere Definitionen fu:r "freien Speicher", die aber alle
   relativ nutzlos sind. Wichtig ist hingegen, dass wenig Seiten
   ausgelagert werden (paging) und der Swap-Bereich ausreichend gross
   ist.

   10.29. Ich kann /var/empty nicht lo:schen!

   Das Verzeichnis /var/empty wird von sshd(8) beno:tigt, wenn es mit
   "Privilege Separation" la:uft. Das Verzeichnis /var/empty ist
   leer, geho:rt root und ist durch das Dateiattribut schg
   geschu:tzt.

   Wir empfehlen Ihnen, das Verzeichnis zu belassen. Sollten Sie es
   aber trotzdem lo:schen wollen, mu:ssen Sie zuerst das
   schg-Attribut entfernen. Schauen Sie sich dazu die Hilfeseite
   chflags(1) an und beachten Sie die Antwort auf die Frage wie das
   schg-Attribut entfernt wird.

     --------------------------------------------------------------

         Kapitel 11. Das X Window System und virtuelle Konsolen

   11.1. Was ist das X Window System?

   11.2. Ich mo:chte X benutzen, was muss ich tun?

   11.3. Ich habe versucht, X zu starten, aber wenn ich startx
   eingebe, erhalte ich die Fehlermeldung "KDENABIO failed (Operation
   not permitted)". Was soll ich jetzt machen?

   11.4. Warum funktioniert meine Maus unter X nicht?

   11.5. Kann ich meine Rad-Maus auch unter X benutzen?

   11.6. X verbietet Verbindungen von entfernten Systemen!

   11.7. Was ist eine virtuelle Konsole und wie erstelle ich mehr?

   11.8. Wie greife ich von X aus auf virtuelle Konsolen zu?

   11.9. Wie starte ich XDM beim Booten?

   11.10. Wieso erhalte ich die Meldung "Couldn't open console", wenn
   ich xconsole benutze?

   11.11. Fru:her konnte ich Xorg als normaler User starten. Warum
   sagt mir das System jetzt, dass ich root sein muss?

   11.12. Warum funktioniert meine PS/2-Maus nicht richtig?

   11.13. Meine PS/2-Maus von MouseSystems scheint nicht zu
   funktionieren.

   11.14. Wie vertausche ich die Maustasten?

   11.15. Wie installiere ich einen Splash-Screen und wo finde ich
   sie?

   11.16. Kann ich die Windows-Tasten unter X benutzen?

   11.17. Wird 3D Hardware Beschleunigung fu:r OpenGL(R)
   unterstu:tzt?

   11.1. Was ist das X Window System?

   Das X Window System (oder auch nur X11) ist das am ha:ufigsten
   verwendete Window System fu:r UNIX- und UNIX-a:hnliche Systeme, zu
   denen auch FreeBSD geho:rt. Der X  Protokollstandard wird von der
   X.org Foundation definiert und liegt aktuell in Version 11 Release
   7.5.2 vor und wird ha:ufig auch nur als X11 bezeichnet.

   Das X Window System wurde fu:r viele verschiedene Architekturen
   und Betriebssysteme implementiert. Eine serverseitige
   Implementierung wird dabei als X-Server bezeichnet.

   11.2. Ich mo:chte X benutzen, was muss ich tun?

   Wenn Sie X auf einem existierenden System installieren wollen,
   sollten Sie entweder den Meta-Port x11/xorg verwenden, der alle
   beno:tigen Komponenten baut und installiert, oder Sie installieren
   die FreeBSD Xorg-Pakete:

 # pkg_add -r xorg

   Es ist auch mo:glich, Xorg aus sysinstall(8) heraus zu
   installieren, indem Sie Configure, dann Distributions und
   anschliessend The X.Org Distribution aufrufen.

   Lesen Sie nach erfolgreicher Installation von Xorg den Abschnitt
   X11 konfigurieren im FreeBSD Handbuch.

   11.3. Ich habe versucht, X zu starten, aber wenn ich startx
   eingebe, erhalte ich die Fehlermeldung "KDENABIO failed (Operation
   not permitted)". Was soll ich jetzt machen?

   Das System la:uft auf einer erho:hten Sicherheitsstufe
   (securelevel). X kann auf einer erho:hten Sicherheitsstufe nicht
   gestartet werden, weil X dazu Schreibzugriff auf io(4) beno:tigt.
   Lesen Sie dazu auch init(8).

   Die Frage ist also eigentlich, was Sie anders machen sollten. Sie
   haben zwei Mo:glichkeiten: Setzen Sie die Sicherheitsstufe wieder
   zuru:ck auf 0 (die Einstellung erfolgt in der Regel in
   /etc/rc.conf) oder starten Sie xdm(1) wa:hrend des Starts des
   Systems, bevor die Sicherheitsstufe erho:ht wird.

   Der Abschnitt F: 11.9. entha:lt Informationen daru:ber, wie Sie
   xdm(1) beim Start des Systems starten ko:nnen.

   11.4. Warum funktioniert meine Maus unter X nicht?

   Wenn Sie syscons(4) (den Standard-Konsolentreiber) benutzen,
   ko:nnen Sie FreeBSD so konfigurieren, dass auf jedem virtuellen
   Bildschirm ein Mauszeiger unterstu:tzt wird. Um Konflikte mit X zu
   vermeiden, unterstu:tzt syscons(4) ein virtuelles Gera:t mit dem
   Namen /dev/sysmouse. Alle Mausbewegungen und Mausklicks werden in
   das sysmouse(4) Gera:t u:ber moused(8) geschrieben. Falls Sie Ihre
   Maus auf einer oder mehreren virtuellen Konsolen und X benutzen
   wollen, sollten Sie zuna:chst F: 4.5.4. lesen und dann moused(8)
   installieren.

   Die Datei /etc/X11/xorg.conf sollte die folgenden Eintra:ge
   enthalten:

 Section "InputDevice"
    Option          "Protocol" "SysMouse"
    Option          "Device" "/dev/sysmouse"
 .....

   Beginnend mit Xorg 7.4 werden Angaben im Abschnitt InputDevice von
   xorg.conf ignoriert. Stattdessen wird die automatisch detektierten
   Werte zuru:ckgegriffen. Um das alte Verhalten zu reaktivieren,
   fu:gen Sie die folgende Zeile entweder in den Abschnitt
   ServerLayout oder ServerFlags ein:

 Option "AutoAddDevices" "false"

   Einige Leute ziehen es vor, unter X /dev/mouse zu benutzen. Hierzu
   sollte /dev/mouse nach /dev/sysmouse (lesen Sie sysmouse(4))
   gelinkt werden, indem Sie die folgende Zeile in /etc/devfs.conf
   (siehe auch devfs.conf(5)) hinzufu:gen:

 link    sysmouse    mouse

   Die Verknu:pfung kann durch Neustart von devfs(5) u:ber das
   folgende Kommando (als root) erzeugt werden:

 # /etc/rc.d/devfs restart

   11.5. Kann ich meine Rad-Maus auch unter X benutzen?

   Ja.

   Dazu mu:ssen Sie X nur mitteilen, dass Sie eine Maus mit 5 Tasten
   haben. Dazu fu:gen Sie die Zeilen Buttons 5 sowie ZAxisMapping 4 5
   in den Abschnitt "InputDevice" der Datei /etc/X11/xorg.conf ein.
   Das Beispiel zeigt, wie ein solcher Abschnitt aussehen ko:nnte.

   Beispiel 11-1. Abschnitt "InputDevice" fu:r Rad-Ma:use in der
   Konfigurationsdatei von Xorg

 Section "InputDevice"
    Identifier      "Mouse1"
    Driver          "mouse"
    Option          "Protocol" "auto"
    Option          "Device" "/dev/sysmouse"
    Option          "Buttons" "5"
    Option          "ZAxisMapping" "4 5"
 EndSection         

   Beispiel 11-2. ".emacs" Beispiel fu:r seitenweises Bla:ttern mit
   einer Rad-Maus (optional)

 ;; wheel mouse
 (global-set-key [mouse-4] 'scroll-down)
 (global-set-key [mouse-5] 'scroll-up)

   11.6. X verbietet Verbindungen von entfernten Systemen!

   Aus Sicherheitsgru:nden verbietet der X-Server in der
   Voreinstellung Verbindungen von entfernten Systemen.

   Starten Sie den X-Server mit der Option -listen_tcp, wenn Sie
   Verbindungen von entfernten Systemen erlauben wollen:

 %
 startx -listen_tcp
          

   11.7. Was ist eine virtuelle Konsole und wie erstelle ich mehr?

   Mit virtuellen Konsolen ko:nnen Sie mehrere simultane Sitzungen
   auf einer Maschine laufen lassen, ohne so komplizierte Dinge wie
   die Einrichtung eines Netzwerkes oder die Benutzung von X zu
   beno:tigen.

   Wenn das System startet, wird es nach der Anzeige aller
   Bootmeldungen eine Eingabeaufforderung auf dem Bildschirm
   anzeigen. Sie ko:nnen dann auf der ersten virtuellen Konsole Ihren
   Benutzernamen und das Passwort eingeben und anfangen, zu arbeiten
   (oder zu spielen!).

   Gelegentlich mo:chten Sie mo:glicherweise eine weitere Sitzung
   starten wollen, vielleicht, um die Dokumentation zu einem
   Programm, das Sie gerade benutzen, einzusehen, oder, um Ihre Mails
   zu lesen, wa:hrend Sie auf das Ende einer FTP-U:bertragung warten.
   Dru:cken Sie einfach Alt+F2 (halten Sie die Alt-Taste gedru:ckt
   und dru:cken Sie die Taste F2) und Sie gelangen zur
   Anmelde-Aufforderung auf der zweiten "virtuellen Konsole"! Wenn
   Sie zuru:ck zur ersten Sitzung mo:chten, dru:cken Sie Alt+F1.

   Die Standardinstallation von FreeBSD bietet acht aktivierte
   virtuelle Konsolen. Mit Alt+F1, Alt+F2, Alt+F3 und so weiter
   wechseln Sie zwischen diesen virtuellen Konsolen.

   Um mehr von ihnen zu aktivieren, editieren Sie /etc/ttys (siehe
   ttys(5)) und fu:gen Eintra:ge fu:r ttyv8 bis zu ttyvc nach dem
   Kommentar zu "virtuellen Terminals" ein:

 # Edit the existing entry for ttyv8 in /etc/ttys and change
 # "off" to "on".
 ttyv8   "/usr/libexec/getty Pc"         cons25  on secure
 ttyv9   "/usr/libexec/getty Pc"         cons25  on secure
 ttyva   "/usr/libexec/getty Pc"         cons25  on secure
 ttyvb   "/usr/libexec/getty Pc"         cons25  on secure
          

   Benutzen Sie so wenig oder so viele, wie Sie mo:chten. Je mehr
   virtuelle Terminals Sie benutzen, desto mehr Ressourcen werden
   gebraucht; das kann wichtig sein, wenn Sie 8 MB RAM oder weniger
   besitzen. Sie ko:nnen auch secure in insecure a:ndern.

     Wichtig: Wenn Sie einen X-Server benutzen mo:chten, mu:ssen Sie
     mindestens ein virtuelles Terminal unbenutzt (oder
     ausgeschaltet) lassen damit der Server es benutzen kann. Das
     heisst, dass Sie Pech haben, wenn Sie fu:r jede Ihrer 12
     Alt-Funktionstasten eine Anmeldeaufforderung haben mo:chten -
     Sie ko:nnen das nur fu:r elf von ihnen tun, wenn Sie einen
     X-Server auf derselben Maschine laufen lassen mo:chten.

   Der einfachste Weg, eine Konsole zu deaktivieren, ist, sie
   auszuschalten. Wenn Sie zum Beispiel die oben erwa:hnte volle
   Zuordnung aller 12 Terminals ha:tten, mu:ssten Sie die Einstellung
   fu:r das virtuelle Terminal 12 von:

 ttyvb   "/usr/libexec/getty Pc"         cons25  on secure

   in:

 ttyvb   "/usr/libexec/getty Pc"         cons25  off secure

   a:ndern.

   Wenn Ihre Tastatur nur u:ber zehn Funktionstasten verfu:gt,
   bedeutet das:

 ttyv9   "/usr/libexec/getty Pc"         cons25  off secure
 ttyva   "/usr/libexec/getty Pc"         cons25  off secure
 ttyvb   "/usr/libexec/getty Pc"         cons25  off secure
          

   (Sie ko:nnen diese Zeilen auch einfach lo:schen.)

   Die einfachste (und sauberste) Mo:glichkeit, die virtuellen
   Konsolen zu aktivieren, ist, zu rebooten. Wenn Sie jedoch auf
   keinen Fall rebooten mo:chten, ko:nnen Sie auch einfach das X
   Window System herunterfahren und als root

 # kill -HUP 1

   ausfu:hren.

   Es ist unbedingt erforderlich, dass Sie das X Window System
   vollsta:ndig herunterfahren, falls es la:uft. Falls Sie es nicht
   tun, ko:nnte es sein, dass sich ihr System nach der Eingabe des
   kill-Befehls aufha:ngt.

   11.8. Wie greife ich von X aus auf virtuelle Konsolen zu?

   Benutzen Sie Ctrl+Alt+Fn um auf eine virtuelle Konsole
   umzuschalten. Mit Ctrl+Alt+F1 wu:rden Sie zur ersten virtuellen
   Konsole umschalten.

   Sobald Sie auf eine virtuelle Konsole umgeschaltet haben, ko:nnen
   Sie ganz normal Alt+Fn benutzen, um zwischen den einzelnen
   virtuellen Konsolen umzuschalten.

   Um zu Ihrer X-Sitzung zuru:ckzukehren, mu:ssen Sie auf die
   virtuelle Konsole umschalten, auf der X la:uft. Wenn Sie X u:ber
   der Eingabeaufforderung gestartet haben (z.B. mit startx), benutzt
   X die na:chste freie virtuelle Konsole und nicht die Konsole, von
   der es gestartet wurde. Wenn Sie acht aktive virtuelle Konsole
   haben, dann wird X die neunte benutzen und Sie ko:nnen mit Alt+F9
   umschalten.

   11.9. Wie starte ich XDM beim Booten?

   Es gibt zwei Denkansa:tze, wie xdm(1) zu starten ist. Bei dem
   einen wird xdm unter Nutzung des mitgelieferten Beispiels u:ber
   /etc/ttys (ttys(5)) gestartet, wa:hrend beim zweiten Ansatz
   rc.local (rc(8)) oder das Skript X im Verzeichnis
   /usr/local/etc/rc.d verwendet wird. Beide Ansa:tze sind
   gleichwertig und der eine wird in Situationen funktionieren, in
   denen der andere es nicht tut. In beiden Fa:llen ist das Ergebnis
   das gleiche: X liefert eine graphische Anmeldeaufforderung.

   Die ttys(5)-Methode hat den Vorteil, dass dokumentiert ist, auf
   welchem vty X gestartet wird und der Neustart des X-Servers beim
   Abmelden an init(8) u:bergeben wird. Die rc(8)-Methode erleichtert
   den Aufruf von kill xdm, falls Probleme beim Start des X-Servers
   auftreten sollten.

   Beim Laden von rc(8) sollte xdm ohne irgendwelche Argumente (das
   heisst als Daemon) gestartet werden. Das Kommando xdm muss
   gestartet werden nachdem getty(8) la:uft, andernfalls entsteht ein
   Konflikt zwischen getty und xdm und die Konsole bleibt gesperrt.
   Der beste Weg, um dies zu vermeiden, ist, das Skript fu:r etwa
   zehn Sekunden anzuhalten und dann xdm zu starten.

   Wenn Sie xdm durch einen Eintrag in /etc/ttys starten lassen, kann
   es zu einem Konflikt zwischen xdm und getty(8) kommen. Um dieses
   Problem zu vermeiden, sollten Sie die Nummer des vt in die Datei
   /usr/local/lib/X11/xdm/Xservers eintragen:

 :0 local /usr/local/bin/X vt4

   Diese Zeile fu:hrt dazu, dass der X Server /dev/ttyv3 nutzt. Die
   beiden Zahlen weichen voneinander ab: Der X-Server beginnt die
   Za:hlung der vty bei 1, wa:hrend der FreeBSD-Kernel bei 0 beginnt.

   11.10. Wieso erhalte ich die Meldung "Couldn't open console", wenn
   ich xconsole benutze?

   Wenn Sie X mit startx starten, werden die Zugriffsrechte fu:r
   /dev/console leider nicht gea:ndert, was dazu fu:hrt, dass Dinge
   wie xterm -C und xconsole nicht funktionieren.

   Das ha:ngt damit zusammen, wie die Zugriffsrechte fu:r die Konsole
   standardma:ssig gesetzt sind. Auf einem Mehrbenutzersystem mo:chte
   man nicht unbedingt, dass jeder Benutzer einfach auf die
   Systemkonsole schreiben kann. Fu:r Benutzer, die sich auf einer
   Maschine direkt mit einem VTY anmelden, existiert die Datei
   fbtab(5), um derartige Probleme zu lo:sen.

   In Ku:rze: sorgen Sie dafu:r, dass sich in der Datei /etc/fbtab
   eine nicht auskommentierte Zeile der folgenden Art befindet:

 /dev/ttyv0 0600 /dev/console

   Das sorgt dafu:r, dass wer auch immer sich auf /dev/ttyv0
   anmeldet, auch die Konsole besitzt.

   11.11. Fru:her konnte ich Xorg als normaler User starten. Warum
   sagt mir das System jetzt, dass ich root sein muss?

   Alle X-Server mu:ssen mit der ID root laufen, um direkt auf die
   Videohardware zuzugreifen.

   Es gibt zwei Mo:glichkeiten, um X auch als normaler Benutzer
   starten zu ko:nnen. Die erste ist die Verwendung von xdm oder
   eines a:hnlichen Programms; die zweite ist die Benutzer von
   Xwrapper.

   xdm ist ein sta:ndig laufendes Programm, mit dem Logins u:ber eine
   graphische Benutzeroberfla:che sind. Es wird normalerweise beim
   Systemstart initialisiert und fu:r die Authentifizierung der
   Benutzer und den Start ihrer Sitzungen verantwortlich. Es ist also
   die graphische Entsprechung von getty(8) und login(1). Weitere
   Informationen zum Thema xdm finden Sie in der Xorg Dokumentation
   und dem entsprechenden FAQ-Eintrag.

   Xwrapper ist eine "Hu:lle" fu:r den X-Server. Mit diesem kleinen
   Utility ist es mo:glich, manuell den X-Server zu starten und
   weiterhin eine annehmbare Sicherheit zu haben. Das Tools pru:ft,
   ob die per Kommandozeile u:bergebenen Argumente halbwegs sinnvoll
   sind. Wenn dies der Fall ist, startet es den entsprechenden
   X-Server. Wenn Sie (aus welchem Grund auch immer) keine graphische
   Anmeldung wollen, ist Xwrapper die optimale Lo:sung. Wenn Sie die
   vollsta:ndige Ports-Sammlung installiert haben, finden Sie das
   Tool im Verzeichnis x11/wrapper.

   11.12. Warum funktioniert meine PS/2-Maus nicht richtig?

   Ihre Maus und der Maustreiber sind etwas aus der Synchronisation
   geraten.

   In seltenen Fa:llen kann es jedoch sein, dass der Treiber
   fa:lschlicherweise Synchronisationsprobleme meldet und Sie in den
   Kernelmeldungen folgendes sehen:

 psmintr: out of sync (xxxx != yyyy)

   und Ihre Maus nicht richtig zu funktionieren scheint.

   Falls das passiert, deaktivieren Sie den Code zur U:berpru:fung
   der Synchronisation, indem Sie die Treiberangaben fu:r den
   PS/2-Maustreiber auf 0x100 setzen. Rufen Sie UserConfig durch
   Angabe der Option -c am Boot-Prompt auf:

 boot: -c

   Geben sie dann in der Kommandozeile von UserConfig folgendes ein:

 UserConfig> flags psm0 0x100
 UserConfig> quit

   11.13. Meine PS/2-Maus von MouseSystems scheint nicht zu
   funktionieren.

   Es wurde berichtet, dass einige Modelle der PS/2-Ma:use von
   MouseSystems nur funktionieren, wenn sie im "hochauflo:senden"
   Modus betrieben werden. Andernfalls springt der Mauszeiger sehr
   oft in die linke obere Ecke des Bildschirms.

   Das Flag 0x04 des Maustreibers bringt die Maus in den
   hochauflo:senden Modus. Rufen Sie UserConfig durch Angabe der
   Option -c am Boot-Prompt auf:

 boot: -c

   Geben sie dann in der Kommandozeile von UserConfig folgendes ein:

 UserConfig> flags psm0 0x04
 UserConfig> quit

   Lesen Sie den vorigen Abschnitt u:ber eine andere mo:gliche
   Ursache fu:r Probleme mit der Maus.

   11.14. Wie vertausche ich die Maustasten?

   Benutzen Sie den Befehl xmodmap -e "pointer = 3 2 1" in Ihrer
   .xinitrc oder .xsession.

   11.15. Wie installiere ich einen Splash-Screen und wo finde ich
   sie?

   Die detaillierte Antwort auf diese Frage ko:nnen Sie im Abschnitt
   Splash-Screens wa:hrend des Systemstarts des Handbuchs nachlesen.

   11.16. Kann ich die Windows-Tasten unter X benutzen?

   Ja, Sie mu:ssen lediglich mit xmodmap(1) festlegen, welche Aktion
   diese Tasten auslo:sen sollen.

   Unter der Annahme, dass alle "Windows" Tastaturen dem Standard
   entsprechen, lauten die Keycodes fu:r die drei Tasten wie folgt:

     * 115 - Windows-Taste zwischen den Ctrl- und Alt-Tasten auf der
       linken Seite

     * 116 - Windows-Taste rechts von der AltGr-Taste

     * 117 - Menu:-Taste, links von der rechten Strg-Taste

   Nach der folgenden Anweisung erzeugt die linke Windows-Taste ein
   Komma.

 # xmodmap -e "keycode 115 = comma"

   Sie werden Ihren Window Manager wahrscheinlich neu starten
   mu:ssen, damit diese Einstellung wirksam wird.

   Um die neue Belegung der Windows-Tasten automatisch beim Start von
   X zu erhalten, ko:nnten Sie entsprechende xmodmap Anweisungen in
   ihre ~/.xinitrc einfu:gen. Die bevorzugte Variante ist aber, eine
   Datei mit dem Namen ~/.xmodmaprc zu erzeugen, die nur die
   Parameter fu:r den Aufruf von xmodmap entha:lt. Wenn Sie mehrere
   Tasten umdefinieren wollen, muss jede Definition in eine eigene
   Zeile gesetzt werden. Weiterhin mu:ssen Sie in Ihrer ~/.xinitrc
   noch die folgende Zeile einfu:gen:

 xmodmap $HOME/.xmodmaprc

   Sie ko:nnten die drei Tasten zum Beispiel mit den Funktionen F13,
   F14 und F15 belegen. Dadurch ist es sehr einfach, diese Tasten mit
   nu:tzlichen Funktionen eines Programmes oder Desktops zu
   verknu:pfen.

   Falls Sie das auch tun wollen, sollten in Ihrer ~/.xmodmaprc die
   folgenden Anweisungen stehen.

 keycode 115 = F13
 keycode 116 = F14
 keycode 117 = F15
          

   Falls Sie zum Beispiel den x11-wm/fvwm2 Port benutzen, ko:nnen Sie
   ihn so einstellen, dass F13 das Fenster unter dem Mauszeiger
   minimiert bzw. maximiert. F14 holt das Fenster unter dem
   Mauszeiger in den Vordergrund bzw. ganz nach hinten, wenn es
   bereits im Vordergrund ist. F15 o:ffnet das Arbeitsplatz
   (Programme) Menu:, auch wenn der Cursor nicht auf den Hintergrund
   zeigt. Dies ist extrem praktisch, wenn der gesamte Bildschirm von
   Fenster belegt wird; als kleiner Bonus gibt es sogar einen
   Zusammenhang zwischen dem Symbol auf der Taste und der
   durchgefu:hrten Aktion.

   Dieses Verhalten kann man mit den folgenden Eintra:gen in der
   Datei ~/.fvwmrc erhalten:

 Key F13        FTIWS    A        Iconify
 Key F14        FTIWS    A        RaiseLower
 Key F15        A        A        Menu Workplace Nop
          

   11.17. Wird 3D Hardware Beschleunigung fu:r OpenGL(R)
   unterstu:tzt?

   Dies ha:ngt davon ab, welche Version von Xorg und welche
   Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz
   besitzen, benutzen Sie die bina:ren Treiber fu:r FreeBSD, indem
   Sie einen der folgenden Ports installieren:

     * Die aktuelle Version von NVIDIA-Karten wird durch den Port
       x11/nvidia-driver unterstu:tzt.

     * NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch die
       96XX Treiber unterstu:tzt, die im x11/nvidia-driver-96xx Port
       bereitgestellt werden.

     * Sogar a:ltere Karten wie die GeForce und RIVA TNT sind durch
       die 71XX Treiberserie verfu:gbar, die im Port
       x11/nvidia-driver-71xx enthalten ist.

   Tatsa:chlich liefert NVIDIA detaillierte Informationen daru:ber,
   welche Karte von welchem Treiber unterstu:tzt wird. Diese
   Information finden Sie auf der Website von NVIDIA:
   http://www.nvidia.com/object/IO_32667.html.

   Fu:r Matrox G200/400 sehen Sie sich den Port x11-servers/mga_hal
   an.

   Bei ATI Rage 128 und Radeon lesen Sie die Anleitungen ati(4),
   r128(4) und radeon(4).

   Fu: 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen
   x11-servers/driglide Port.

     --------------------------------------------------------------

                         Kapitel 12. Netzwerke

   12.1. Woher kann ich Informationen u:ber "Diskless Booting"
   bekommen?

   12.2. Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
   werden?

   12.3. Kann ich meine Windows-Maschine u:ber FreeBSD ans Internet
   anbinden?

   12.4. Unterstu:tzt FreeBSD SLIP und PPP?

   12.5. Unterstu:tzt FreeBSD NAT oder Masquerading?

   12.6. Wie verbinde ich zwei FreeBSD-Maschinen mit PLIP u:ber die
   parallele Schnittstelle?

   12.7. Wie kann ich Ethernet-Aliase einrichten?

   12.8. Wie bringe ich meine 3C503 dazu, den anderen Anschluss zu
   benutzen?

   12.9. Warum habe ich Probleme mit NFS und FreeBSD?

   12.10. Warum kann ich per NFS nicht von einer Linux-Maschine
   mounten?

   12.11. Warum kann ich per NFS nicht von einer Sun-Maschine
   mounten?

   12.12. Warum meldet mir mountd auf meinem FreeBSD NFS-Server
   sta:ndig "can't change attributes" und "bad exports list"?

   12.13. Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu
   kommunizieren?

   12.14. Wie aktiviere ich die Unterstu:tzung fu:r IP-Multicast?

   12.15. Welche Netzwerkkarten basieren auf dem DEC-PCI-Chipsatz?

   12.16. Warum muss ich fu:r Hosts auf meiner Site den FQDN
   benutzen?

   12.17. Wieso erhalte ich bei allen Netzwerkoperationen die Meldung
   "Permission denied"?

   12.18. Warum kann ich bei ipfw(8) einen Dienst nicht mit "fwd" auf
   eine andere Maschine umlenken?

   12.19. Wie kann ich Service-Requests von einer Maschine auf eine
   andere umleiten?

   12.20. Woher kann ich ein Bandbreiten-Managementtool bekommen?

   12.21. Warum erhalte ich die Meldung "/dev/bpf0: device not
   configured"?

   12.22. Habe ich, analog zum smbmount von Linux, eine Mo:glichkeit,
   auf ein freigegebenes Laufwerk einer Windows-Maschine in meinem
   Netzwerk zuzugreifen?

   12.23. Was bedeutet die Meldung "Limiting icmp/open port/closed
   port response" in meinen Logfiles?

   12.24. Was bedeutet die Meldung "arp: unknown hardware address
   format"?

   12.25. Warum sehe ich sta:ndig Nachrichten wie: "192.168.0.10 is
   on fxp1 but got reply from 00:15:17:67:cf:82 on rl0" und wie
   stelle ich das ab?

   12.1. Woher kann ich Informationen u:ber "Diskless Booting"
   bekommen?

   "Diskless Booting" bedeutet, dass die FreeBSD-Maschine u:ber ein
   Netzwerk gebootet wird und die notwendigen Dateien von einem
   Server anstatt von der Festplatte liest. Vollsta:ndige Details
   finden Sie im Handbucheintrag u:ber den plattenlosen Betrieb.

   12.2. Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
   werden?

   Ja. Genaue Informationen zu diesem Thema finden Sie im Abschnitt  
   Gateways und Routen des Handbuchkapitels   Weiterfu:hrende
   Netzwerkthemen.

   12.3. Kann ich meine Windows-Maschine u:ber FreeBSD ans Internet
   anbinden?

   Personen, die diese Frage stellen, haben typischerweise zwei PCs
   zu Hause: einen mit FreeBSD und einen mit einer Windows-Variante.
   Die Idee ist, die FreeBSD-Maschine an das Internet anzubinden, um
   in der Lage zu sein, von der Windows-Maschine u:ber die
   FreeBSD-Maschine auf das Internet zuzugreifen. Das ist
   tatsa:chlich nur ein Spezialfall der vorherigen Frage.

   Das User-Mode ppp(8) von FreeBSD kennt die Option -nat. Wenn Sie
   ppp(8) mit der Option -nat starten, in /etc/rc.conf die Variable
   gateway_enable auf YES setzen und Ihre Windows-Maschine korrekt
   konfigurieren, sollte das hervorragend funktionieren. Weitere
   Informationen erhalten Sie in der Hilfeseite ppp(8) oder im
   Abschnitt User-PPP des Handbuchs.

   Wenn Sie Kernel-Mode PPP verwenden oder ihre Verbindung zum
   Internet u:ber Ethernet erstellt wurde, mu:ssen Sie natd(8)
   verwenden. Weitere Informationen dazu finden Sie im natd-Abschnitt
   des Handbuchs.

   12.4. Unterstu:tzt FreeBSD SLIP und PPP?

   Ja. Lesen Sie die Manualpages slattach(8), sliplogin(8), pppd(8)
   und ppp(8). ppp(8) und pppd(8) liefern Unterstu:tzung sowohl fu:r
   eingehende, als auch ausgehende Verbindungen. sliplogin(8)
   behandelt ausschliesslich eingehende Verbindungen und slattach(8)
   behandelt ausschliesslich ausgehende Verbindungen.

   Diese Programme werden im Abschnitt PPP und SLIP des Handbuchs
   beschrieben.

   Falls Sie nur durch einen "Shell-Account" Zugang zum Internet
   haben, sehen Sie sich einmal das Package net/slirp an. Es kann
   Ihnen (eingeschra:nkten) Zugang zu Diensten wie ftp und http
   direkt von Ihrer lokalen Maschine aus ermo:glichen.

   12.5. Unterstu:tzt FreeBSD NAT oder Masquerading?

   Ja. Wenn Sie NAT u:ber eine User-PPP-Verbindung einsetzen wollen,
   lesen Sie bitte den User-PPP Abschnitt des Handbuchs. Wollen Sie
   NAT u:ber eine andere Verbindung einsetzen, lesen Sie bitte den
   NATD-Abschnitt des Handbuchs.

   12.6. Wie verbinde ich zwei FreeBSD-Maschinen mit PLIP u:ber die
   parallele Schnittstelle?

   Dieses Thema wird im Handbuch-Kapitel PLIP behandelt.

   12.7. Wie kann ich Ethernet-Aliase einrichten?

   Wenn sich die zweite Adresse im gleichen Subnetz befindet wie eine
   der Adressen, die bereits auf dem Interface konfiguriert sind,
   benutzen Sie netmask 0xffffffff in Ihrer ifconfig(8) Befehlszeile,
   wie z.B.:

 # ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff

   Andernfalls geben sie die Adresse und die Netzmaske so an, wie sie
   es bei einem normalen Interface auch tun wu:rden:

 # ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00

   Sie ko:nnen mehr daru:ber im FreeBSD Handbuch nachlesen.

   12.8. Wie bringe ich meine 3C503 dazu, den anderen Anschluss zu
   benutzen?

   Wenn Sie die anderen Anschlu:sse benutzen mo:chten, mu:ssen Sie
   einen zusa:tzlichen Parameter in der ifconfig(8)-Befehlszeile
   spezifizieren. Der Standard-Anschluss ist link0. Um den
   AUI-Anschluss anstelle des BNC-Anschlusses zu verwenden, benutzen
   Sie link2. Diese Angaben sollten durch Benutzung der Variablen
   ifconfig_* in der Datei /etc/rc.conf spezifiziert werden.

   12.9. Warum habe ich Probleme mit NFS und FreeBSD?

   Gewisse PC-Netzwerkkarten sind (um es gelinde auszudru:cken)
   besser als andere und ko:nnen manchmal Probleme mit
   netzwerkintensiven Anwendungen wie NFS verursachen.

   Weitere Informationen zu diesem Thema finden Sie im
   Handbucheintrag zu NFS.

   12.10. Warum kann ich per NFS nicht von einer Linux-Maschine
   mounten?

   Einige Versionen des NFS-Codes von Linux akzeptieren
   Mount-Requests nur von einem privilegierten Port. Versuchen Sie
   den folgenden Befehl:

 # mount -o -P linuxbox:/blah /mnt

   12.11. Warum kann ich per NFS nicht von einer Sun-Maschine
   mounten?

   Sun Workstations mit SunOS(TM) 4.X akzeptieren Mount-Requests nur
   von einem privilegierten Port. Versuchen Sie dieses Kommando:

 # mount -o -P sunbox:/blah /mnt

   12.12. Warum meldet mir mountd auf meinem FreeBSD NFS-Server
   sta:ndig "can't change attributes" und "bad exports list"?

   Die ha:ufigste Ursache fu:r dieses Problem ist, dass Sie den
   Aufbau der exports(5) nicht oder nicht richtig verstanden haben.
   U:berpru:fen Sie Ihre exports(5) und lesen das Kapitel NFS im
   Handbuch, speziell den Abschnitt   Konfiguration.

   12.13. Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu
   kommunizieren?

   Versuchen Sie, die TCP-Erweiterung in /etc/rc.conf zu
   deaktivieren, indem Sie die folgende Variable auf NO setzen:

 tcp_extensions=NO

   Xylogic's Annex-Maschinen arbeiten hier auch fehlerhaft und Sie
   mu:ssen die obige A:nderung benutzen, um u:ber Sie Verbindungen
   herzustellen.

   12.14. Wie aktiviere ich die Unterstu:tzung fu:r IP-Multicast?

   Multicast-Host-Funktionen werden standardma:ssig von FreeBSD
   unterstu:tzt. Wenn Sie Ihre Maschine als Multicast-Router
   betreiben wollen, mu:ssen Sie Ihren Kernel mit der Option MROUTING
   neu kompilieren und mrouted(8) starten. Wenn Sie die Variable
   mrouted_enable in der Datei /etc/rc.conf auf YES setzen, wird
   mrouted(8) wa:hrend des FreeBSD-Systemstarts automatisch
   gestartet.

     Anmerkung: In aktuellen Versionen von FreeBSD sind die Programme
     mrouted(8), der Multicast Routing Dienst, map-mbone(8) und
     mrinfo(8) nicht mehr im Basissystem enthalten. In der FreeBSD
     Ports-Sammlung sind diese Programme unter net/mrouted
     erha:ltlich.

   MBONE-Tools sind in ihrer eigenen Ports-Kategorie mbone
   verfu:gbar. Schauen Sie dort nach, wenn Sie die Konferenztools vic
   und vat suchen!

   12.15. Welche Netzwerkkarten basieren auf dem DEC-PCI-Chipsatz?

   Hier ist eine von Glen Foster <gfoster@driver.nsta.org>
   zusammengetragene Liste mit einigen aktuellen Erga:nzungen:

   Tabelle 12-1. Netzwerkkarten mit DEC-PCI-Chipsatz

   +----------------------------------------------------------------+
   |    Vendor    |                      Model                      |
   |--------------+-------------------------------------------------|
   | ASUS         | PCI-L101-TB                                     |
   |--------------+-------------------------------------------------|
   | Accton       | ENI1203                                         |
   |--------------+-------------------------------------------------|
   | Cogent       | EM960PCI                                        |
   |--------------+-------------------------------------------------|
   | Compex       | ENET32-PCI                                      |
   |--------------+-------------------------------------------------|
   | D-Link       | DE-530                                          |
   |--------------+-------------------------------------------------|
   | Dayna        | DP1203, DP2100                                  |
   |--------------+-------------------------------------------------|
   | DEC          | DE435, DE450                                    |
   |--------------+-------------------------------------------------|
   | Danpex       | EN-9400P3                                       |
   |--------------+-------------------------------------------------|
   | JCIS         | Condor JC1260                                   |
   |--------------+-------------------------------------------------|
   | Linksys      | EtherPCI                                        |
   |--------------+-------------------------------------------------|
   | Mylex        | LNP101                                          |
   |--------------+-------------------------------------------------|
   | SMC          | EtherPower 10/100 (Modell 9332)                 |
   |--------------+-------------------------------------------------|
   | SMC          | EtherPower (Model 8432)                         |
   |--------------+-------------------------------------------------|
   | TopWare      | TE-3500P                                        |
   |--------------+-------------------------------------------------|
   | Znyx (2.2.X) | ZX312, ZX314, ZX342, ZX345, ZX346, ZX348        |
   |--------------+-------------------------------------------------|
   | Znyx (3.X)   | ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,   |
   |              | ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)   |
   +----------------------------------------------------------------+

   12.16. Warum muss ich fu:r Hosts auf meiner Site den FQDN
   benutzen?

   Lesen Sie die Antwort im FreeBSD Handbook.

   12.17. Wieso erhalte ich bei allen Netzwerkoperationen die Meldung
   "Permission denied"?

   Dieses Problem kann auftreten, wenn Sie einen Kernel mit der
   Option IPFIREWALL erstellt haben. In der Voreinstellung werden
   alle Pakete, die nicht explizit erlaubt wurden, blockiert.

   Falls sie Ihr System unbeabsichtigt als Firewall konfiguriert
   haben, ko:nnen Sie die Netzwerkfunktionalita:t wiederherstellen,
   indem Sie als root folgendes eingeben:

 # ipfw add 65534 allow all from any to any

   Sie ko:nnen in /etc/rc.conf auch firewall_type="open" setzen.

   Weitere Informationen u:ber die Konfiguration einer
   FreeBSD-Firewall finden Sie im Kapitel Firewalls des Handbuchs.

   12.18. Warum kann ich bei ipfw(8) einen Dienst nicht mit "fwd" auf
   eine andere Maschine umlenken?

   Der wahrscheinlichste Grund ist, dass Sie Network Address
   Translation (NAT) brauchen und nicht die einfache Weiterleitung
   von Pakete. Die "fwd" Anweisung macht genau das, was da steht: Sie
   leitet Pakete weiter; die Daten in den Paketen werden aber nicht
   vera:ndert. Ein Beispiel:

 01000 fwd 10.0.0.1 from any to foo 21

   Wenn ein Paket mit dem Ziel foo die Maschine mit dieser Regel
   erreicht, wird das Paket an 10.0.0.1 weitergeleitet; die
   Zieladresse im Paket lautet aber immer noch foo! Die Zieladresse
   wird nicht in 10.0.0.1 gea:ndert. Die meisten Rechner werden
   allerdings Pakete verwerfen, wenn die Zieladresse des Paketes
   nicht mit der Adresse des Rechners u:bereinstimmt. Das ist der
   Grund, warum eine "fwd" Regel oft nicht den Effekt hat, den der
   Benutzer wollte. Dieses Verhalten ist aber kein Fehler, sondern
   erwu:nscht.

   Wenn Sie einen Dienst auf eine andere Maschine umleiten wollen,
   sollten Sie sich den FAQ-Eintrag u:ber die Umleitung von Diensten
   oder die Online-Hilfe zu natd(8) durchlesen. Auch in der Ports
   Sammlung sind diverse Hilfsprogramme fu:r diesen Zweck enthalten.

   12.19. Wie kann ich Service-Requests von einer Maschine auf eine
   andere umleiten?

   Sie ko:nnen FTP-Requests (und andere Dienste) mit dem Port
   sysutils/socket umleiten. Ersetzen sie die Befehlszeile fu:r den
   Dienst einfach so, dass stattdessen socket aufgerufen wird, zum
   Beispiel so:

 ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp

   wobei ftp.example.com und ftp entsprechend der Host und der Port
   sind, wohin umgeleitet werden soll.

   12.20. Woher kann ich ein Bandbreiten-Managementtool bekommen?

   Fu:r FreeBSD gibt es drei Bandbreiten-Managementtools. dummynet(4)
   ist als Teil von ipfw(4) in FreeBSD integriert. ALTQ ist in
   FreeBSD Bestandteil von pf(4). Bei Bandwidth Manager von Emerging
   Technologies handelt es sich hingegen um ein kommerzielles
   Produkt.

   12.21. Warum erhalte ich die Meldung "/dev/bpf0: device not
   configured"?

   Der Berkeley-Paket-Filter (bpf(4)) muss in den Kernel eingebunden
   werden, bevor er von einem Programme aus genutzt werden kann.
   Fu:gen Sie folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
   erstellen Sie einen neuen Kernel:

 device bpf     # Berkeley Packet Filter

   12.22. Habe ich, analog zum smbmount von Linux, eine Mo:glichkeit,
   auf ein freigegebenes Laufwerk einer Windows-Maschine in meinem
   Netzwerk zuzugreifen?

   Benutzen Sie die Kernel-Erweiterungen und Benutzerprogramme aus
   dem Programmpaket SMBFS. Das Paket und weitergehende Informationen
   sind unter mount_smbfs(8) im Basissystem verfu:gbar.

   12.23. Was bedeutet die Meldung "Limiting icmp/open port/closed
   port response" in meinen Logfiles?

   Mit dieser Meldung teilt Ihnen der Kernel mit, dass irgend jemand
   versucht, ihn zur Generierung von zu vielen ICMP oder TCP reset
   (RST) Antworten zu provozieren. ICMP Antworten sind oft das
   Ergebnis von Verbindungsversuchen zu unbenutzten UDP Ports. TCP
   Resets werden generiert, wenn jemand versucht, eine Verbindung zu
   einem ungenutzten TCP Port aufzubauen. Die Meldungen ko:nnen unter
   anderem durch die folgenden Ereignisse ausgelo:st werden:

     * Denial of Service (DoS) Angriffe mit der Brechstange (und
       nicht durch Angriffe mit einzelnen Paketen, die gezielt eine
       Schwachstelle des Systems ausnutzen sollen).

     * Port Scans, bei denen versucht wird, Verbindungen zu einer
       grossen Anzahl von Ports (und nicht nur einigen bekannten
       Ports) herzustellen.

   Die erste Zahl gibt an, wie viele Pakete vom Kernel ohne das Limit
   versendet worden wa:ren; die zweite Zahl gibt das Limit an. Sie
   ko:nnen das Limit mit Hilfe der sysctl-Variable
   net.inet.icmp.icmplim einstellen. Im Beispiel wird das Limit auf
   300 Pakete pro Sekunde gesetzt:

 # sysctl -w net.inet.icmp.icmplim=300

   Wenn Sie zwar die Begrenzung benutzen mo:chten, aber die Meldungen
   nicht in Ihren Logfiles sehen mo:chten, ko:nnen Sie die Meldungen
   mit der sysctl-Variable net.inet.icmp.icmplim_output abschalten:

 # sysctl -w net.inet.icmp.icmplim_output=0

   Falls Sie die Begrenzung ganz abschalten wollen, ko:nnen Sie die
   Sysctl-Variable net.inet.icmp.icmplim auf 0. Wir raten Ihnen aus
   den oben genannten Gru:nden dringend von diesem Schritt ab.

   12.24. Was bedeutet die Meldung "arp: unknown hardware address
   format"?

   Ein Gera:t im lokalen Ethernet verwendet eine MAC-Adresse in einem
   Format, das FreeBSD nicht kennt. Der wahrscheinlichste Grund ist,
   dass jemand Experimente mit einer Ethernet-Karte anstellt. Die
   Meldung tritt sehr ha:ufig in Netzwerken mit Cable Modems auf. Die
   Meldung ist harmlos und sollte die Performance Ihres Systems nicht
   negativ beeinflussen.

   12.25. Warum sehe ich sta:ndig Nachrichten wie: "192.168.0.10 is
   on fxp1 but got reply from 00:15:17:67:cf:82 on rl0" und wie
   stelle ich das ab?

   Weil ein Paket unerwartet von ausserhalb des Netzwerks empfangen
   wurde. Um die Nachrichten abzustellen, a:ndern Sie
   net.link.ether.inet.log_arp_wrong_iface auf 0.

     --------------------------------------------------------------

                         Kapitel 13. Sicherheit

   13.1. Was ist ein Sandkasten (sandbox)?

   13.2. Was sind die Sicherheitsstufen?

   13.3. Wieso wartet BIND (named) auf hohen Ports auf Anfragen?

   13.4. Wieso wartet der sendmail-Dienst neuerdings sowohl auf Port
   587 als auch auf dem Standard-Port 25 auf Anfragen?

   13.5. Woher kommt dieser Benutzer toor mit UID 0? Ist mein System
   gehackt worden?

   13.6. Warum funktioniert suidperl nicht richtig?

   13.1. Was ist ein Sandkasten (sandbox)?

   "Sandkasten" (sandbox) ist ein Ausdruck aus dem Bereich
   Sicherheit. Er hat zwei Bedeutungen:

     * Ein Programm, das innerhalb virtueller Wa:nde ausgefu:hrt
       wird. Wenn ein Angreifer u:ber eine Sicherheitslu:cke in
       diesen Programm einbricht, verhindern diese Wa:nde ein
       tieferes Vordringen in das System.

       Man sagt: Der Prozess kann innerhalb der Wa:nde "spielen", das
       heisst nichts, was der Prozess in Bezug auf die Ausfu:hrung
       von Code tut, kann die Wa:nde durchbrechen. Es ist also keine
       detaillierte Revision des Codes erforderlich, um gewisse
       Aussagen u:ber seine Sicherheit machen zu ko:nnen.

       Die Wa:nde ko:nnten z.B. eine Benutzerkennung sein. Dies ist
       die Definition, die in den Hilfeseiten security(7) und
       named(8) benutzt wird.

       Nehmen Sie zum Beispiel den Dienst ntalk (siehe auch
       inetd(8)). Dieser Dienst ist fru:her mit der Benutzerkennung
       root gelaufen; nun la:uft er mit der Benutzerkennung tty. Der
       Benutzer tty ist ein Sandkasten, der dazu gedacht ist, es
       jemandem, der u:ber ntalk erfolgreich in das System
       eingebrochen ist, schwer zu machen, u:ber diese
       Benutzerkennung hinaus vorzudringen.

     * Ein Prozess, der sich innerhalb einer simulierten Maschine
       befindet. Dies ist etwas fortgeschrittener; grundsa:tzlich
       bedeutet es, dass jemand, der in der Lage ist, in einen
       Prozess einzudringen, annehmen ko:nnte, er ko:nnte weiter in
       die Maschine eindringen, tatsa:chlich aber nur in eine
       Simulation der Maschine einbricht und keine echten Daten
       vera:ndert.

       Der ga:ngigste Weg, dies zu erreichen, ist, in einem
       Unterverzeichnis eine simulierte Umgebung zu erstellen und den
       Prozess in diesem Verzeichnis mit chroot auszufu:hren (fu:r
       diesen Prozess ist / dieses Verzeichnis und nicht das echte /
       des Systems).

       Eine weitere gebra:uchliche Anwendung ist, ein untergeordnetes
       Dateisystem nur mit Leserechten zu mounten, und dann daru:ber
       eine Dateisystemebene zu erstellen, die einem Prozess einen
       scheinbar schreibberechtigten Blick in das Dateisystem gibt.
       Der Prozess mag glauben, dass er in der Lage ist, diese
       Dateien zu vera:ndern, aber nur der Prozess sieht diesen
       Effekt - andere Prozess im System natu:rlich nicht.

       Es wird versucht, diese Art von Sandkasten so transparent zu
       gestalten, dass der Benutzer (oder Hacker) nicht merkt, dass
       er sich in ihm befindet.

   Ein UNIX System implementiert zwei Arten von Sandka:sten - eine
   auf Prozessebene und die andere auf der Ebene der Benutzerkennung.

   Jeder Prozess auf einem UNIX System ist komplett von allen anderen
   Prozessen abgeschirmt. Ein Prozess kann den Adressraum eines
   anderen Prozesses nicht modifizieren. Das ist anders als bei
   Windows, wo ein Prozess leicht den Adressraum eines anderen
   u:berschreiben kann, was zu einem Absturz fu:hrt.

   Ein Prozess geho:rt einer bestimmten Benutzerkennung. Falls die
   Benutzerkennung nicht die von root ist, dient sie dazu, den
   Prozess von Prozessen anderer Benutzer abzuschirmen. Die
   Benutzerkennung wird ausserdem dazu genutzt, Daten auf der
   Festplatte abzuschirmen.

   13.2. Was sind die Sicherheitsstufen?

   Die Sicherheitsstufen sind ein Sicherheitsmechanismus, der im
   Kernel angesiedelt ist. Wenn die Sicherheitsstufe einen positiven
   Wert hat, verhindert der Kernel die Ausfu:hrung bestimmter
   Ta:tigkeiten; nicht einmal der Super-User (also root) darf sie
   durchfu:hren. Zurzeit ko:nnen u:ber die Sicherheitsstufen unter
   anderem die folgenden Ta:tigkeiten geblockt werden:

     * Zuru:cksetzen bestimmter Dateiattribute, wie zum Beispiel schg
       (das "system immutable" Attribut).

     * Schreibender Zugriff auf die Speicherbereiche des Kernels
       mittels /dev/mem und /dev/kmem.

     * Laden von Kernel-Modulen.

     * A:nderungen an den Firewall-Regeln.

   Um die eingestellte Sicherheitsstufe eines aktiven Systems
   abzufragen, reicht das folgende einfache Kommando:

 # sysctl kern.securelevel

   Die Ausgaben wird den Namen der sysctl(8)-Variablen (in diesem
   Fall kern.securelevel) und eine Zahl enthalten. Die Zahl ist der
   aktuelle Wert der Sicherheitsstufe. Wenn die Zahl positiv
   (gro:sser als Null) ist, sind zumindest einige der
   Schutzmassnahmen aktiviert.

   Sie ko:nnen die Sicherheitsstufe eines laufenden Systems nicht
   verringern, da dies den Mechanismus wertlos machen wu:rden. Wenn
   Sie eine Ta:tigkeit ausfu:hren mu:ssen, bei der die
   Sicherheitsstufe nicht-positiv sein muss (z.B. ein installworld
   oder eine A:nderung der Systemzeit), dann mu:ssen Sie die
   entsprechende Einstellung in /etc/rc.conf a:ndern (suchen Sie nach
   den Variablen kern_securelevel und kern_securelevel_enable) und
   das System rebooten.

   Weitere Informationen u:ber die Sicherheitsstufen und genaue
   Informationen, was die Einstellungen bewirken, ko:nnen Sie der
   Online-Hilfe init(8) entnehmen.

     Warnung: Die Sicherheitsstufen sind kein magischer Zauberstab,
     der alle Ihre Problem lo:st; es gibt viele bekannte Probleme.
     Und in der Mehrzahl der Fa:lle vermitteln sie ein falsches
     Gefu:hl der Sicherheit.

     Eines der gro:ssten Probleme ist, dass alle fu:r den Start des
     Systems beno:tigten Dateien geschu:tzt sein mu:ssen, damit die
     Sicherheitsstufe effektiv sein ko:nnen. Wenn es ein Angreifer
     schafft, seine eigenen Programme ausfu:hren zu lassen, bevor die
     Sicherheitsstufe gesetzt wird (was leider erst gegen Ende des
     Startvorgangs erfolgen kann, da viele der notwendigen
     Ta:tigkeiten fu:r den Systemstart nicht mit einer gesetzten
     Sicherheitsstufe mo:glich wa:ren), werden die Schutzmechanismen
     ausgehebelt. Es ist zwar nicht technisch unmo:glich, alle beim
     Systemstart genutzten Dateien zu schu:tzen; allerdings wu:rde in
     einem so geschu:tzten System die Administration zu einem
     Alptraum, da man das System neu starten oder in den
     Single-User-Modus bringen mu:sste, um eine Konfigurationsdatei
     a:ndern zu ko:nnen.

     Dieses und andere Probleme werden ha:ufig auf den Mailinglisten
     diskutiert, speziell auf auf der Mailingliste FreeBSD security.
     Das verfu:gbare Archiv entha:lt ausgiebige Diskussionen. Einige
     Benutzer sind guter Hoffnung, dass das System der
     Sicherheitsstufen bald durch ein besser konfigurierbares System
     ersetzt wird, aber es gibt noch keine definitiven Aussagen.

     Fu:hlen Sie sich gewarnt.

   13.3. Wieso wartet BIND (named) auf hohen Ports auf Anfragen?

   FreeBSD benutzt eine Version von BIND, die einen Port mit einer
   hohen, zufa:lligen Nummer fu:r den Versand von Anfragen nutzt.
   Aktuelle Versionen wa:hlen einen neuen, zufa:lligen UDP-Port fu:r
   jeden Query. Das kann fu:r manche Netzwerkkonfigurationen Probleme
   verursachen, besonders wenn eine Firewall eingehende UDP-Pakete
   auf bestimmten Ports blockiert. Wenn Sie durch eine solche
   Firewall wollen, ko:nnen Sie die avoid-v4-udp-ports und
   avoid-v6-udp-ports Optionen ausprobieren, um ein zufa:lliges
   Auswa:hlen von Portnummern innerhalb eines blockierten Bereiches
   zu verhindern.

     Warnung: Wenn eine Portnummer (wie 53) u:ber die Optionen
     query-source oder query-source-v6 in /etc/namedb/named.conf
     spezifiziert ist, wird zufa:llige Portauswahl nicht verwendet.
     Es wird dringend empfohlen, dass diese Optionen nicht fu:r die
     Spezifikation von festen Portnummern verwendet wird.

   Ach u:brigens, herzlichen Glu:ckwunsch. Es ist eine sehr gute
   Angewohnheit, die Ausgaben von sockstat(1) durchzusehen und auf
   merkwu:rdige Dinge zu achten.

   13.4. Wieso wartet der sendmail-Dienst neuerdings sowohl auf Port
   587 als auch auf dem Standard-Port 25 auf Anfragen?

   Aktuelle sendmail-Versionen unterstu:tzen eine neue Technik zur
   Einlieferung von Mails, die Port 587 nutzt. Diese Technik wird
   zwar noch nicht oft angewendet, erfreut sich aber sta:ndig
   steigender Popularita:t.

   13.5. Woher kommt dieser Benutzer toor mit UID 0? Ist mein System
   gehackt worden?

   Keine Panik. toor ist ein "alternativer" Account fu:r den
   Super-User (wenn man root ru:ckwa:rts schreibt, erha:lt man toor).
   Fru:her wurde er nur erzeugt, wenn die Shell bash(1) installiert
   wurde, heute wird er auf jeden Fall erzeugt. Dieser Account ist
   fu:r die Verwendung mit einer alternativen Shell vorgesehen; damit
   ist es nicht mehr erforderlich, die Shell von root zu a:ndern.
   Dies ist wichtig, wenn eine Shell verwendet wird, die nicht zum
   Lieferumfang von FreeBSD geho:rt, zum Beispiel aus einem Port oder
   einem Package. Diese Shells werden in der Regel in /usr/local/bin
   installiert und dieses Verzeichnis liegt standardma:ssig auf einem
   anderem Filesystem. Wenn die Shell von root in /usr/local/bin
   liegt und /usr (oder das Filesystem, auf dem /usr/local/bin liegt)
   nicht gemountet werden kann, kann sich root nicht mehr einloggen,
   um das Problem zu beheben. Es ist allerdings mo:glich, das System
   zu rebooten und das Problem im Single-User-Modus zu lo:sen, da man
   hier gefragt wird, welche Shell benutzt werden soll.

   Einige Anwender benutzen toor mit einer alternativen Shell fu:r
   die ta:gliche Arbeit und benutzen root (mit der Standard-Shell)
   fu:r den Single-User-Modus und fu:r Notfa:lle. Standardma:ssig
   kann man sich nicht als toor anmelden, da der Account kein
   gu:ltiges Passwort hat; Sie mu:ssen sich also als root anmelden
   und ein Passwort fu:r toor setzen, wenn Sie diesen Account
   benutzen wollen.

   13.6. Warum funktioniert suidperl nicht richtig?

   Aus Sicherheitsgru:nden wird suidperl standardma:ssig nicht
   installiert. Wenn Sie wollen, dass suidperl auch beim Update via
   Sourcecode das SUID-Bit erha:lt, mu:ssen Sie in /etc/make.conf die
   Zeile ENABLE_SUIDPERL=true einfu:gen, bevor Sie perl bauen.

     --------------------------------------------------------------

                            Kapitel 14. PPP

   14.1. Ich bekomme ppp(8) nicht zum Laufen. Was mache ich falsch?

   14.2. Warum ha:ngt sich ppp auf, wenn ich es benutze?

   14.3. Warum wa:hlt ppp(8) im -auto-Modus nicht?

   14.4. Was bedeutet "No route to host"?

   14.5. Wieso werden meine Verbindungen nach ca. drei Minuten
   beendet?

   14.6. Wieso bricht meine Verbindung bei hoher Auslastung ab?

   14.7. Warum brechen meine Verbindungen nach unbestimmter Zeit
   zusammen?

   14.8. Warum ha:ngen meine Verbindung nach einer unbestimmten Zeit?

   14.9. Was kann ich machen, wenn die Gegenstelle nicht antwortet?

   14.10. Was kann ich tun, wenn sich ppp(8) aufha:ngt?

   14.11. Warum passiert nach der Nachricht "Login OK!" nichts?

   14.12. Ich sehe sta:ndig Fehlermeldungen u:ber gleiche "Magic
   Numbers" Was heisst das?

   14.13. Die LCP-Verhandlungen dauern an, bis die Verbindung
   geschlossen wird. Was mache ich falsch?

   14.14. Warum reagiert ppp(8) nicht mehr, wenn ich es mit shell
   verlassen habe?

   14.15. Warum wird ppp(8) niemals beendet, wenn ich es u:ber ein
   Nullmodem-Kabel benutze?

   14.16. Warum wa:hlt ppp(8) im Modus -auto ohne Grund?

   14.17. Was bedeuten diese CCP-Fehler?

   14.18. Warum loggt ppp die Geschwindigkeit meiner Verbindung
   nicht?

   14.19. Warum ignoriert ppp(8) das Zeichen \ in meinem Chat-Skript?

   14.20. Warum gibt es die Datei ppp.core nicht, wenn ppp(8) einen
   "Segmentation fault" erzeugt hat?

   14.21. Warum bekommt das Programm, das eine Anwahl im Modus -auto
   ausgelo:st hat, keine Verbindung?

   14.22. Warum laufen die meisten Spiele mit dem -nat Schalter
   nicht?

   14.23. Hat jemand eine Liste mit nu:tzlichen Portnummern erstellt?

   14.24. Was sind FCS-Fehler?

   14.25. Wieso ha:ngen die Verbindungen meiner Mac OS- und
   Windows 98-Maschinen (und eventuell auch andere Microsoft
   Betriebssysteme), wenn auf meinem Gateway PPPoE la:uft?

   14.26. Nichts von alledem hilft - ich bin verzweifelt! Was soll
   ich machen?

   14.1. Ich bekomme ppp(8) nicht zum Laufen. Was mache ich falsch?

   Sie sollten zuerst ppp(8) (die Manualpage zu ppp) und den
   Abschnitt zu PPP im Handbuch lesen. Aktivieren Sie das Logging mit
   folgendem Befehl:

 set log Phase Chat Connect Carrier lcp ipcp ccp command

   Dieser Befehl kann an der Eingabeaufforderung von ppp(8)
   eingegeben oder in die Konfigurationsdatei /etc/ppp/ppp.conf
   eingetragen werden (der beste Ort hierfu:r ist der Anfang des
   Abschnitts default. Stellen Sie sicher, dass die Datei
   /etc/syslog.conf die folgenden Zeilen entha:lt und die Datei
   /var/log/ppp.log existiert:

 !ppp
 *.*              /var/log/ppp.log
          

   Sie ko:nnen nun u:ber die Logfiles eine Menge daru:ber
   herausfinden, was geschieht. Es macht nichts, wenn die Eintra:ge
   in den Logfiles Ihnen gar nichts sagen. Wenn Sie jemandem um Hilfe
   bitten mu:ssen, ko:nnten sie fu:r ihn von Nutzen sein.

   14.2. Warum ha:ngt sich ppp auf, wenn ich es benutze?

   Das liegt meistens daran, dass Ihr Rechnername nicht aufgelo:st
   werden kann. Um dieses Problem zu lo:sen, mu:ssen Sie
   sicherstellen, dass die Datei /etc/hosts von Ihrem Resolver zuerst
   genutzt wird. Dazu muss in der Datei /etc/host.conf der Eintrag
   hosts an die erste Stelle gesetzt werden. Erstellen Sie dann
   einfach fu:r Ihren lokalen Rechner einen Eintrag in der Datei
   /etc/hosts. Falls Sie kein lokales Netzwerk besitzen, a:ndern Sie
   die localhost-Zeile:

 127.0.0.1    foo.example.com foo localhost

   Andernfalls fu:gen Sie einfach einen weiteren Eintrag fu:r Ihren
   lokalen Rechner hinzu. Weitere Details finden Sie in den
   betreffenden Manualpages.

   Wenn Sie fertig sind sollten Sie ping -c1 `hostname` erfolgreich
   ausfu:hren ko:nnen.

   14.3. Warum wa:hlt ppp(8) im -auto-Modus nicht?

   U:berpru:fen Sie zuna:chst, ob Sie einen Standard-Gateway
   eingestellt haben. Wenn Sie netstat -rn ausfu:hren, sollten Sie
   zwei Eintra:ge a:hnlich den folgenden sehen:

 Destination        Gateway            Flags     Refs     Use     Netif Expire
 default            10.0.0.2           UGSc        0        0      tun0
 10.0.0.2           10.0.0.1           UH          0        0      tun0
          

   Hier wird angenommen, dass Sie die Adressen aus dem Handbuch, der
   Manualpage oder aus der Datei ppp.conf.sample benutzt haben. Falls
   Sie keine Standardroute haben, kann es daran liegen, dass Sie
   vergessen haben, die Zeile HISADDR in der Datei ppp.conf
   hinzuzufu:gen.

   Ein weiterer Grund dafu:r, dass die Zeile fu:r die Standardroute
   fehlt, ko:nnte der sein, dass Sie fa:lschlicherweise eine
   Standardroute in der Datei /etc/rc.conf eingetragen und die
   folgende Zeile in ppp.conf ausgelassen haben:

 delete ALL

   Lesen Sie in diesem Fall den Abschnitt   Abschliessende
   Systemkonfiguration des Handbuchs.

   14.4. Was bedeutet "No route to host"?

   Dieser Fehler beruht fu:r gewo:hnlich auf einem fehlenden
   Abschnitt in Ihrer Datei /etc/ppp/ppp.linkup:

 MYADDR:
   delete ALL
   add 0 0 HISADDR
          

   Er ist nur notwendig, wenn Sie eine dynamische IP-Adresse besitzen
   oder die Adresse Ihres Gateways nicht kennen. Wenn Sie den
   interaktiven Modus benutzen, ko:nnen Sie folgendes eingeben,
   nachdem Sie in den packet mode gelangt sind (den Paket Modus
   erkennen Sie an PPP im Prompt):

 delete ALL
 add 0 0 HISADDR
          

   Weitere Details finden Sie im Abschnitt PPP und Dynamische
   IP-Adressen des Handbuchs.

   14.5. Wieso werden meine Verbindungen nach ca. drei Minuten
   beendet?

   Der Standardtimeout fu:r ppp(8) betra:gt drei Minuten. Er kann
   durch die folgende Zeile eingestellt werden, wobei NNN die
   Inaktivita:t in Sekunden angibt, bevor die Verbindung geschlossen
   wird:

 set timeout NNN

   Falls NNN Null ist, wird die Verbindung niemals aufgrund eines
   Timeouts geschlossen. Es ist mo:glich, diesen Befehl in die Datei
   ppp.conf einzubinden, oder ihn an der Eingabeaufforderung im
   interaktiven Modus einzugeben. Durch eine Verbindung zum
   Server-Socket von ppp u:ber telnet(1) oder pppctl(8) ist es auch
   mo:glich, den Timeout bei aktiver Verbindung anzupassen. Weitere
   Details finden Sie in der Manualpage ppp(8).

   14.6. Wieso bricht meine Verbindung bei hoher Auslastung ab?

   Falls Sie Link-Quality-Reporting (LQR) konfiguriert haben, ist es
   mo:glich, dass zu viele LQR-Pakete zwischen Ihrer Maschine und dem
   verbundenen Rechner verloren gehen. Das ppp(8)-Programm folgert
   daraus, dass die Verbindung nicht in Ordnung ist und schliesst
   sie. Vor FreeBSD Version 2.2.5 war LQR standardma:ssig aktiviert;
   nun ist es standardma:ssig deaktiviert. Es kann durch die folgende
   Zeile deaktiviert werden:

 disable lqr

   14.7. Warum brechen meine Verbindungen nach unbestimmter Zeit
   zusammen?

   Wenn die Qualita:t Ihrer Telefonleitung zu schlecht oder bei Ihrem
   Anschluss die Option (Telekomdeutsch: das Leistungsmerkmal)
   Anklopfen aktiviert ist, kann es manchmal vorkommen, dass Ihr
   Modem auflegt, weil es (fa:lschlicherweise) annimmt, dass es das
   Tra:gersignal verloren hat.

   Bei den meisten Modems gibt es eine Einstellmo:glichkeit, um
   anzugeben, wie tolerant es gegenu:ber voru:bergehenden Verlusten
   des Tra:gersignals sein soll. Bei einem U.S.
   Robotics(R) Sportster(R) wird dies zum Beispiel im Register S10 in
   Zehntelsekunden angegeben. Um Ihr Modem toleranter zu machen,
   ko:nnen Sie zu Ihrem Wa:hlbefehl die folgende
   Sende-Empfangs-Sequenz hinzufu:gen:

 set dial "...... ATS10=10 OK ......"

   Weitere Information sollten Sie dem Handbuch Ihres Modems
   entnehmen ko:nnen.

   14.8. Warum ha:ngen meine Verbindung nach einer unbestimmten Zeit?

   Viele Leute machen Erfahrungen mit ha:ngenden Verbindungen ohne
   erkennbaren Grund. Als erstes muss festgestellt werden, welche
   Seite der Verbindung ha:ngt.

   Wenn Sie ein externes Modem benutzen, ko:nnen Sie einfach
   versuchen, ping(8) zu benutzen, um zu sehen, ob die TD-Anzeige
   aufleuchtet, wenn Sie Daten u:bertragen. Falls sie aufleuchtet
   (und die RD-Anzeige nicht), liegt das Problem am anderen Ende.
   Falls TD nicht aufleuchtet, handelt es sich um ein lokales
   Problem. Bei einem internen Modem mu:ssen Sie den Befehl set
   server in Ihrer Datei ppp.conf benutzen. Stellen Sie u:ber
   pppctl(8) eine Verbindung zu ppp(8) her, wenn die Verbindung
   ha:ngt. Falls Ihre Netzwerkverbindung plo:tzlich wieder
   funktioniert (ppp wurde durch die Aktivita:t auf dem
   Diagnose-Socket wiederbelebt) oder Sie keine Verbindung bekommen
   (vorausgesetzt, der Befehl set socket wurde beim Start erfolgreich
   ausgefu:hrt), handelt es sich um ein lokales Problem. Falls Sie
   eine Verbindung bekommen und die externe Verbindung weiterhin
   ha:ngt, aktivieren Sie lokales asynchrones Logging mit set log
   local async und benutzen Sie ping(8) von einem anderen Fenster
   oder Bildschirm aus, um die externe Verbindung zu benutzen. Das
   asynchrone Logging zeigt Ihnen, welche Daten u:ber die Verbindung
   gesendet und empfangen werden. Falls Daten hinausgehen, aber nicht
   zuru:ckkommen, handelt es sich um ein externes Problem.

   Wenn Sie festgestellt haben, ob es sich um ein lokales oder um ein
   externes Problem handelt, haben Sie zwei Mo:glichkeiten:

     * Wenn es ein externes Problem ist, lesen Sie bitte bei F: 14.9.
       weiter.

     * Handelt es sich um ein lokales Problem, lesen Sie bitte F:
       14.10..

   14.9. Was kann ich machen, wenn die Gegenstelle nicht antwortet?

   Hier ko:nnen Sie wenig tun. Die meisten ISPs werden ablehnen,
   Ihnen zu helfen, wenn Sie kein Betriebssystem von Microsoft
   benutzen. Sie ko:nnen enable lqr in Ihrer Datei ppp.conf angeben,
   wodurch ppp(8) ermo:glicht wird, ein externes Versagen zu erkennen
   und aufzulegen, aber diese Erkennung ist relativ langsam und
   deshalb nicht besonders nu:tzlich. Evtl. sagen Sie Ihrem ISP
   nicht, dass Sie user-PPP benutzen.

   Versuchen Sie zuna:chst, jegliche Datenkompression auszuschalten,
   indem Sie folgendes zu Ihrer Konfiguration hinzufu:gen:

 disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
 deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
          

   Stellen Sie nun wieder eine Verbindung her, um festzustellen, ob
   sich etwas gea:ndert hat. Falls es nun besser la:uft oder falls
   das Problem vollsta:ndig behoben ist, versuchen Sie durch
   schrittweises A:ndern der Einstellungen festzustellen, welche
   Einstellung den Unterschied bewirkt. Hierdurch erhalten Sie
   schlu:ssige Fakten fu:r ein Gespra:ch mit Ihrem ISP (andererseits
   wird hierdurch offensichtlich, dass Sie kein Microsoft-Produkt
   benutzen).

   Aktivieren Sie asynchrones Logging und warten Sie, bis die
   Verbindung wieder ha:ngt, bevor Sie sich an Ihren ISP wenden.
   Hierzu kann einiges an Plattenplatz no:tig sein. Die Daten, die
   als letztes von dem Port gelesen wurden, ko:nnten von Interesse
   sein. Fu:r gewo:hnlich handelt es sich um ASCII-Text, der sogar
   den Fehler beschreiben kann ("Memory fault, Core dumped").

   Falls Ihr ISP hilfsbereit ist, sollte er in der Lage sein, an
   seinem Ende das Logging zu aktivieren und wenn das na:chste Mal
   die Verbindung abbricht, ko:nnte er Ihnen mitteilen, worin das
   Problem auf seiner Seite besteht. Gerne ko:nnen Sie Details auch
   an Brian Somers <brian@FreeBSD.org> schicken, oder Ihren ISP
   bitten, sich direkt an ihn zu wenden.

   14.10. Was kann ich tun, wenn sich ppp(8) aufha:ngt?

   In diesem Fall erstellen Sie am besten ppp(8) mit
   Debugging-Informationen neu und benutzen dann gdb(1), um von dem
   ha:ngenden ppp Prozess eine Aufzeichnung des Stacks zu erstellen.
   Um die ppp Anwendung mit Debugging-Informationen zu u:bersetzen,
   geben Sie folgendes ein:

 # cd /usr/src/usr.sbin/ppp# env DEBUG_FLAGS='-g' make clean
         # env DEBUG_FLAGS='-g' make install

   Anschliessend sollten Sie ppp neu starten und darauf warten, dass
   es wieder ha:ngt. Wenn die Debug-Version von ppp ha:ngt, starten
   Sie gdb fu:r den steckengebliebenen Prozess, indem Sie folgendes
   eingeben:

 # gdb ppp `pgrep ppp`

   An der Eingabeaufforderung von gdb ko:nnen Sie die Befehle bt oder
   where benutzen, um eine Aufzeichnung des Stacks zu erhalten.
   Speichern Sie die Ausgabe der gdb-Sitzung und "trennen" Sie den
   laufenden Prozess u:ber den quit Befehl von gdb.

   Schicken Sie zum Schluss das Log der gdb-Sitzung an Brian Somers
   <brian@FreeBSD.org>.

   14.11. Warum passiert nach der Nachricht "Login OK!" nichts?

   Bei FreeBSD-Versionen vor 2.2.5 wartete ppp(8) darauf, dass der
   Partner das Line Control Protocol (LCP) initiiert. Viele ISPs
   starten nicht mit der Initiierung, sondern erwarten dies vom
   Client. Benutzen Sie die folgende Zeile, um ppp(8) zu veranlassen,
   LCP zu initiieren:

 set openmode active

     Anmerkung: Fu:r gewo:hnlich schadet es nicht, wenn beide Seiten
     versuchen, Verhandlungen einzuleiten. Deshalb ist openmode nun
     standardma:ssig aktiv. Im na:chsten Abschnitt wird allerdings
     erkla:rt, in welchen Fa:llen es doch schadet.

   14.12. Ich sehe sta:ndig Fehlermeldungen u:ber gleiche "Magic
   Numbers" Was heisst das?

   Nach dem Aufbau einer Verbindung kann es sein, dass Sie in der
   Logdatei gelegentlich Meldungen mit dem Hinweis "magic is the
   same" sehen. Manchmal sind diese Meldungen harmlos und manchmal
   bricht die eine oder andere Seite die Verbindung ab. Die meisten
   Implementationen von PPP ko:nnen dieses Problem nicht handhaben
   und Sie werden wiederholte Konfigurationsanforderungen und
   -besta:tigungen in der Logdatei finden, bis ppp(8) schliesslich
   aufgibt und die Verbindung beendet.

   Dies geschieht normalerweise auf Servern mit langsamen
   Festplatten, bei denen ein getty auf dem Port ausgefu:hrt und
   ppp(8) nach dem Einloggen von einem Login-Skript oder einem
   Programm aus gestartet wird. Es wurde auch schon berichtet, dass
   dies bei der Benutzung von slirp regelma:ssig auftritt. Der Grund
   hierfu:r ist, dass das ppp(8) auf der Client-Seite in der Zeit,
   die beno:tigt wird, getty(8) zu beenden und ppp(8) zu starten,
   bereits beginnt, Line Control Protocol (LCP) Pakete zu senden. Da
   ECHO auf dem Serverport weiterhin eingeschaltet ist, werden diese
   Pakete zum ppp(8) auf der Client-Seite "reflektiert".

   Ein Teil der LCP-Verhandlungen ist die Einrichtung einer "Magic
   Number" fu:r jede Seite der Verbindung, damit "Echos" erkannt
   werden ko:nnen. Das Protokoll besagt, dass, wenn der Partner
   versucht, die gleiche "Magic Number" auszuhandeln, ein NAK
   zuru:ckgesendet und eine neue "Magic Number" gewa:hlt werden soll.
   Wa:hrend der Server das ECHO eingeschaltet hat, sendet der Client
   LCP Pakete, sieht die gleiche "Magic Number" im reflektierten
   Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK (was
   bedeutet, dass ppp(8) seine "Magic Number" a:ndern muss).
   Hierdurch wird eine Vielzahl von A:nderungen der "Magic Number"
   hervorgerufen, die sich allesamt im tty-Puffer des Servers
   ansammeln. Sobald ppp(8) auf dem Server startet, wird es mit
   A:nderungen der "Magic Number" u:berflutet und entscheidet, dass
   es sich zur Genu:ge mit den LCP-Verhandlungen bescha:ftigt hat und
   gibt auf. Und wa:hrend sich der Client noch daru:ber freut, dass
   er keine weiteren Reflexionen sieht, wird ihm gemeldet, dass der
   Server auflegt.

   Dies kann verhindert werden, indem dem Partner durch die folgende
   Zeile in der Datei ppp.conf erlaubt wird, mit der Verhandlung zu
   beginnen:

 set openmode passive

   Hierdurch wird ppp(8) mitgeteilt, darauf zu warten, dass der
   Server mit den LCP-Verhandlungen beginnt. Einige Server starten
   jedoch nie mit der Verhandlungen; falls dies der Fall ist, ko:nnen
   Sie folgendes tun:

 set openmode active 3

   Hierdurch bleibt ppp(8) fu:r drei Sekunden passiv und fa:ngt dann
   erst an, LCP-Anforderungen zu senden. Falls der Partner wa:hrend
   dieser Zeit beginnt, Anforderungen zu senden, wird ppp(8) direkt
   antworten und nicht erst, nachdem die drei Sekunden abgelaufen
   sind.

   14.13. Die LCP-Verhandlungen dauern an, bis die Verbindung
   geschlossen wird. Was mache ich falsch?

   Es gibt eine Fehlfunktion in der Implementierung von ppp(8), die
   darin besteht, dass LCP-, CCP- & IPCP-Antworten nicht mit den
   urspru:nglichen Anforderungen assoziiert werden. Fu:r den Fall,
   dass eine Implementation von PPP mehr als sechs Sekunden langsamer
   ist, als die andere Seite, resultiert das darin, dass die andere
   Seite zwei weitere LCP-Konfigurationsanforderungen sendet, was
   fatale Auswirkungen hat.

   Stellen Sie sich vor, wir ha:tten es mit zwei Implementierungen A
   und B zu tun. A beginnt unmittelbar nach der Verbindung,
   LCP-Anforderungen zu senden und B beno:tigt sieben Sekunden, zu
   starten. Wenn B startet, hat A bereits drei LCP-Anforderungen
   gesendet. Wir nehmen an, dass ECHO ausgeschaltet ist; andernfalls
   wu:rden wir Probleme mit der "Magic Number" beobachten, wie
   bereits im vorherigen Abschnitt beschrieben. B sendet eine
   Anforderung und anschliessend eine Besta:tigung der ersten
   Anforderung von A. Dies fu:hrt dazu, dass A in den Zustand OPENED
   u:bergeht und eine Besta:tigung (die erste) zuru:ck an B sendet.
   In der Zwischenzeit sendet B zwei weitere Besta:tigungen als
   Antwort auf die zusa:tzlichen Anforderungen, die von A gesendet
   worden sind, bevor B gestartet ist. B empfa:ngt dann die erste
   Besta:tigung von A und geht in den Zustand OPENED u:ber. A
   empfa:ngt die zweite Besta:tigung von B, geht zuru:ck in den
   Zustand REQ-SENT und sendet eine weitere (vierte) Anforderung
   entsprechend dem RFC. A empfa:ngt dann die dritte Besta:tigung und
   geht in den Zustand OPENED u:ber. In der Zwischenzeit empfa:ngt B
   die vierte Anforderung von A, wechselt in den Zustand ACK-SENT und
   sendet eine weitere (zweite) Anforderung und (vierte) Besta:tigung
   entsprechend dem RFC. A erha:lt die Anforderung, geht in den
   Zustand REQ-SENT u:ber, sendet eine weitere Anforderung, erha:lt
   unverzu:glich die na:chste Besta:tigung und geht in OPENED u:ber.

   Das geht so weiter, bis eine Seite erkennt, dass man zu keinem
   Ergebnis gelangt und aufgibt.

   Am besten verhindert man solche Situationen, indem man eine Seite
   als passiv konfiguriert, also dafu:r sorgt, dass eine Seite darauf
   wartet, dass die andere mit den Verhandlungen beginnt. Das kann
   durch den folgenden Befehl geschehen:

 set openmode passive

   Diese Option sollten Sie mit Vorsicht geniessen. Folgenden Befehl
   sollten Sie benutzen, um die Wartezeit auf den Beginn der
   Verhandlungen des Partners von ppp(8) zu begrenzen:

 set stopped N

   Alternativ kann der folgende Befehl (wobei N die Wartezeit in
   Sekunden vor Beginn der Verhandlungen angibt) benutzt werden:

 set openmode active N

   Weitere Details finden Sie in den Manualpages.

   14.14. Warum reagiert ppp(8) nicht mehr, wenn ich es mit shell
   verlassen habe?

   Wenn Sie den Befehl shell oder ! benutzen, fu:hrt ppp(8) eine
   Shell aus (falls Sie Argumente u:bergeben haben, fu:hrt ppp(8)
   diese Argumente aus). Das Programm ppp wartet auf die Beendigung
   des Befehls, bevor es seine Arbeit fortsetzt. Falls Sie versuchen,
   die PPP-Verbindung wa:hrend der Programmausfu:hrung zu benutzen,
   wird es so aussehen, als wa:re die Verbindung eingefroren. Das
   liegt daran, dass ppp(8) auf die Beendigung des Befehls wartet.

   Falls Sie solche Befehle verwenden mo:chten, benutzen Sie
   stattdessen den Befehl !bg. Hierdurch wird der angegebene Befehl
   im Hintergrund ausgefu:hrt und ppp(8) kann fortfahren, die
   Verbindung zu bedienen.

   14.15. Warum wird ppp(8) niemals beendet, wenn ich es u:ber ein
   Nullmodem-Kabel benutze?

   Es gibt keine Mo:glichkeit fu:r ppp(8), automatisch festzustellen,
   ob eine direkte Verbindung beendet worden ist. Das liegt an den
   Leitungen, die bei einem seriellen Nullmodem-Kabel benutzt werden.
   Wenn Sie diese Art der Verbindung verwenden, sollte LQR immer mit
   der folgenden Zeile aktiviert werden:

 enable lqr

   LQR wird standardma:ssig akzeptiert, wenn es vom Partner
   ausgehandelt wird.

   14.16. Warum wa:hlt ppp(8) im Modus -auto ohne Grund?

   Falls ppp(8) unerwarteterweise wa:hlt, mu:ssen Sie den Grund
   herausfinden und Wa:hlfilter (dfilters) einsetzen, um dies zu
   verhindern.

   Benutzen Sie die folgende Zeile, um den Grund herauszufinden:

 set log +tcp/ip

   Dadurch wird jeglicher Verkehr u:ber die Verbindung geloggt. Wenn
   das na:chste mal unerwartet eine Verbindung hergestellt wird,
   werden Sie den Grund zusammen mit einer hilfreichen Zeitangabe in
   der Logdatei finden.

   Sie ko:nnen nun das Wa:hlen aufgrund dieser Bedingungen
   verhindern. Normalerweise wird diese Art von Problemen durch
   Anfragen an den DNS verursacht. Um zu verhindern, dass
   DNS-Anfragen den Aufbau der Verbindung hervorrufen (das verhindert
   nicht, dass Pakete u:ber eine bestehende Verbindung gesendet
   werden), benutzen Sie die folgenden Zeilen:

 set dfilter 1 deny udp src eq 53
 set dfilter 2 deny udp dst eq 53
 set dfilter 3 permit 0/0 0/0
          

   Dies ist nicht immer brauchbar, weil es effektiv Ihre Fa:higkeit,
   auf Anforderung wa:hlen zu ko:nnen einschra:nkt - die meisten
   Programme mu:ssen eine DNS-Anfrage durchfu:hren, bevor Sie andere,
   das Netzwerk betreffenden Dinge tun ko:nnen.

   Im Fall von DNS sollten Sie versuchen, herauszufinden, welches
   Programm tatsa:chlich versucht, einen Hostnamen aufzulo:sen. Sehr
   oft handelt es sich hier um sendmail(8). Sie sollten
   sicherstellen, dass Sie sendmail in der Konfigurationsdatei sagen,
   dass keine DNS-Anfragen durchfu:hren soll. Weitere Details
   entha:lt der Abschnitt E-Mail u:ber Einwahl-Verbindungen des
   Handbuchs. Sie ko:nnten z.B. die folgende Zeile in Ihre .mc-Datei
   einfu:gen:

 define(`confDELIVERY_MODE', `d')dnl

   Das veranlasst sendmail dazu, alles in eine Warteschlange
   einzureihen, bis die Warteschlange verarbeitet wird (normalerweise
   wird sendmail mit -bd -q30m aufgerufen, was besagt, dass die
   Warteschlange alle 30 Minuten abgearbeitet wird) oder, bis ein
   sendmail -q ausgefu:hrt wird (z.B. aus Ihrer Datei ppp.linkup
   heraus).

   14.17. Was bedeuten diese CCP-Fehler?

   Ich sehe sta:ndig folgende Fehler in meiner Logdatei:

 CCP: CcpSendConfigReq
 CCP: Received Terminate Ack (1) state = Req-Sent (6)
          

   Das liegt daran, dass ppp(8) versucht, die Komprimierung
   Predictor1 auszuhandeln und der Partner u:ber keinerlei
   Komprimierung verhandeln will. Die Meldungen sind harmlos, aber
   wenn Sie sie beseitigen mo:chten, ko:nnen Sie die Komprimierung
   Predictor1 auch lokal ausschalten:

 disable pred1

   14.18. Warum loggt ppp die Geschwindigkeit meiner Verbindung
   nicht?

   Um alle Zeilen Ihrer "Modemkonversation" mitzuloggen, mu:ssen Sie
   folgendes einstellen:

 set log +connect

   Dies veranlasst ppp(8) dazu, alles bis zur letzten angeforderten
   "expect"-Zeile mitzuloggen.

   Falls Sie die Geschwindigkeit Ihrer Verbindung erfahren mo:chten
   und PAP oder CHAP (und deshalb nach dem CONNECT im Wa:hlskript
   nichts mehr zu "chatten" haben - kein set login-Skript), mu:ssen
   Sie sicherstellen, dass Sie ppp(8) anweisen, die gesamte
   CONNECT-Zeile zu "erwarten", etwa so:

 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"

   Hier bekommen wir unser CONNECT, senden nichts, erwarten dann
   einen Line-Feed, der ppp(8) zwingt, die gesamte CONNECT-Antwort zu
   lesen.

   14.19. Warum ignoriert ppp(8) das Zeichen \ in meinem Chat-Skript?

   Das Programm ppp analysiert jede Zeile in Ihrer
   Konfigurationsdatei, damit es Zeichenketten wie z.B. set phone
   "123 456 789" korrekt interpretieren kann (und erkennen, dass es
   sich bei der Nummer tatsa:chlich nur um ein Argument handelt). Um
   das Zeichen " anzugeben, mu:ssen Sie ihm einen Backslash (\)
   voranstellen.

   Wenn der Chat-Interpreter jedes Argument analysiert,
   reinterpretiert er die Argumente, um irgendwelche speziellen
   Escape-Sequenzen wie z.B. \P oder \T (sehen Sie in die Manualpage)
   zu finden. Das Ergebnis dieser Doppelanalyse ist, dass Sie daran
   denken mu:ssen, die richtige Anzahl an Escape-Zeichen zu
   verwenden.

   Falls Sie tatsa:chlich das Zeichen \ z.B. zu Ihrem Modem senden
   mo:chten, brauchen Sie etwas a:hnliches, wie:

 set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"

   Woraus sich folgende Zeichen ergeben:

 ATZ
 OK
 AT\X
 OK
          

   Oder:

 set phone 1234567
 set dial "\"\" ATZ OK ATDT\\T"
          

   Was folgende Zeichen ergibt:

 ATZ
 OK
 ATDT1234567
          

   14.20. Warum gibt es die Datei ppp.core nicht, wenn ppp(8) einen
   "Segmentation fault" erzeugt hat?

   Weder ppp noch andere Programme sollten Core-Dumps erzeugen. Da
   ppp(8) mit der effektiven Benutzerkennung 0 ausgefu:hrt wird, wird
   das Betriebssystem das Coreimage von ppp(8) nicht auf die
   Festplatte schreiben, bevor es ppp(8) beendet hat. Falls ppp(8)
   jedoch tatsa:chlich aufgrund einer Speicherverletzung abbricht und
   Sie die aktuellste Version (siehe Anfang dieses Kapitels)
   benutzen, dann sollten Sie die Systemquellen installieren und
   folgendes tun:

 # cd /usr/src/usr.sbin/ppp
 # echo STRIP= >> /etc/make.conf
 # echo CFLAGS+=-g >> /etc/make.conf
 # make install clean

   Nun ist die installierte Version von ppp(8) mit einem Debugger
   ausfu:hrbar. Sie ko:nnen ppp(8) nun nur noch als root ausfu:hren,
   da alle vorherigen Zugriffsrechte aufgehoben worden sind. Achten
   Sie darauf, in welchem Verzeichnis Sie sich gerade befinden, wenn
   Sie ppp(8) starten.

   Wenn nun wieder eine Speicherverletzung auftreten sollte, wird
   ppp(8) einen Speicherauszug erzeugen, den Sie in der Datei
   ppp.core finden. Sie sollten dann folgendes tun:

 % su
 # gdb /usr/sbin/ppp ppp.core
 (gdb) bt
 .....
 (gdb) f 0
 ....
 (gdb) i args
 ....
 (gdb) l
 .....

   Mit Hilfe all dieser Informationen sollte es mo:glich sein, das
   Problem zu diagnostizieren.

   Falls Sie mit gdb(1) vertraut sind, ko:nnten Sie weitere
   Einzelheiten herausfinden, z.B. wodurch der Fehler tatsa:chlich
   hervorgerufen wurde oder die Adressen und Werte der betreffenden
   Variablen.

   14.21. Warum bekommt das Programm, das eine Anwahl im Modus -auto
   ausgelo:st hat, keine Verbindung?

   Dies war ein bekanntes Problem bei ppp(8)-Konfigurationen, bei
   denen im Modus -auto dynamische, lokale IP-Adressen mit dem
   Partner ausgehandelt werden. Das Problem ist bereits seit einiger
   Zeit behoben - suchen Sie in den Manualpages nach iface.

   Das Problem bestand darin, dass, wenn das erste Programm
   connect(2) aufruft, die IP-Adresse der tun(4)-Schnittstelle dem
   Socketendpunkt zugeordnet wird. Der Kernel erstellt das erste
   ausgehende Paket und schreibt es in das tun(4)-Gera:t. ppp(8)
   liest dann das Paket und baut eine Verbindung auf. Falls die
   Schnittstellenadresse sich nun aufgrund ppp(8)s dynamischer
   Adresszuordnung a:ndert, wird der originale Socketendpunkt
   ungu:ltig. Alle weiteren Pakete, die zum Partner gesendet werden,
   werden fu:r gewo:hnlich verworfen. Selbst wenn sie nicht verworfen
   werden wu:rden, wu:rden alle Antworten nicht an den betreffenden
   Rechner gelangen, weil die IP-Adresse nicht mehr zu diesem Rechner
   geho:rt.

   Theoretisch gibt es mehrere Mo:glichkeiten, dieses Problem
   anzugehen. Am scho:nsten wa:re es, wenn der Partner die gleiche
   IP-Adresse wieder zuordnen wu:rde, wenn mo:glich. Die derzeitige
   Version von ppp(8) tut das, aber die meisten anderen
   Implementierungen nicht.

   Die einfachste Massnahme von unserer Seite wa:re die, niemals die
   IP-Adresse der tun(4)-Schnittstelle zu a:ndern, sondern
   stattdessen alle ausgehenden Pakete so zu a:ndern, dass als
   Absender-IP-Adresse anstelle der IP-Adresse der Schnittstelle die
   ausgehandelte IP-Adresse gesetzt wird. Das ist im wesentlichen
   das, was durch die Option iface-alias in der aktuellsten Version
   von ppp(8) bewirkt wird (mit Unterstu:tzung von libalias(3) und
   ppp(8)'s -nat Schalter) - alle Schnittstellenadressen werden
   beibehalten und auf die letzte ausgehandelte Adresse umgesetzt.

   Eine andere Alternative (und wahrscheinlich die zuverla:ssigste)
   wa:re die, einen Systemaufruf zu implementieren der die
   IP-Adressen aller verbundenen Sockets von einer Adresse in eine
   andere a:ndert. ppp(8) wu:rde diesen Aufruf benutzen, um die
   Sockets aller laufenden Programme zu a:ndern, nachdem eine neue
   IP-Adresse ausgehandelt worden ist. Der gleiche Systemaufruf
   ko:nnte von DHCP-Clients benutzt werden, wenn sie gezwungen
   werden, die bind()-Funktion auf ihren Sockets auszufu:hren.

   Noch eine andere Mo:glichkeit wa:re die, das Aktivieren von
   Schnittstellen ohne IP-Adresse zu erlauben. Ausgehende Paketen
   wu:rde die IP-Adresse 255.255.255.255 gegeben, bis der erste
   ioctl(2) mit SIOCAIFADDR erfolgt. Dies wu:rde in der
   vollsta:ndigen Verbindung des Sockets resultieren. Es wa:re die
   Aufgabe von ppp(8), die Absender-IP-Adresse zu a:ndern, allerdings
   nur dann, wenn sie 255.255.255.255 lautet und nur die IP-Adresse
   und IP-Pru:fsumme mu:ssten gea:ndert werden. Dies wa:re allerdings
   keine besonders elegante Lo:sung, da der Kernel fehlerhafte Pakete
   an eine unzureichend konfigurierte Schnittstelle senden wu:rde, in
   der Annahme, dass andere Mechanismen in der Lage sind, diese Dinge
   ru:ckwirkend zu beheben.

   14.22. Warum laufen die meisten Spiele mit dem -nat Schalter
   nicht?

   Der Grund dafu:r, dass Spiele und andere Programme nicht
   funktionieren, wenn libalias(3) benutzt wird, ist der, dass der
   Rechner ausserhalb des lokalen Netzes versucht, eine Verbindung
   aufzubauen und (unaufgefordert) UDP-Pakete an den Rechner
   innerhalb des lokalen Netzes zu senden. Die Software, die fu:r die
   NAT zusta:ndig ist, weiss nicht, dass sie diese Pakete an den
   internen Rechner weiterleiten soll.

   Um dies zu beheben, stellen Sie zuna:chst sicher, dass die
   Software, mit der Sie Probleme haben, die einzige ist, die gerade
   la:uft. Benutzen Sie dann entweder tcpdump(1) auf der
   tun(4)-Schnittstelle des Gateways oder aktivieren Sie auf dem
   Gateway das Logging von TCP/IP (set log +tcp/ip) unter ppp(8).

   Wenn Sie nun das betreffende Programm starten, sollten Sie sehen,
   wie Pakete den Gateway-Rechner passieren. Wenn von aussen etwas
   zuru:ckkommt, wird es ignoriert (das ist das Problem). Merken Sie
   sich die Portnummer dieser Pakete und beenden Sie das betreffende
   Programm. Wiederholen Sie diesen Schritt einige Male, um
   festzustellen, ob die Portnummern konsistent sind. Falls dem so
   ist, wird die folgende Zeile im entsprechenden Abschnitt von
   /etc/ppp/ppp.conf dafu:r sorgen, dass das Programm funktioniert:

 nat port proto internalmachine:port port

   wobei fu:r proto entweder tcp oder udp zu setzen ist,
   internalmachine den Rechner bezeichnet, an den die Pakete
   geschickt werden sollen und port die betreffende Portnummer.

   Sie ko:nnen das Programm nicht auf einem anderen Rechner benutzen,
   ohne die obige Zeile abzua:ndern und die Benutzung des Programms
   auf zwei internen Rechnern steht ausser Frage - schliesslich sieht
   die Aussenwelt Ihr gesamtes internes Netz so, als wa:re es ein
   einzelner Rechner.

   Falls die Portnummern nicht konsistent sind, gibt es drei weitere
   Optionen:

    1. Ermo:glichen Sie die Unterstu:tzung durch libalias(3).
       Beispiele fu:r "spezielle Fa:lle" finden Sie in
       /usr/src/sys/netinet/libalias/alias_*.c (alias_ftp.c ist ein
       scho:ner Prototyp). Hierzu geho:rt fu:r gewo:hnlich das Lesen
       bestimmter, erkannter, ausgehender Pakete, die Identifizierung
       der Instruktion, die den entfernten Rechner dazu veranlasst,
       auf einem bestimmten (wahlfreien) Port eine Verbindung zuru:ck
       zum lokalen Rechner herzustellen, sowie das Erstellen einer
       "Route" in der Aliastabelle, so dass nachfolgende Pakete
       wissen, wohin sie geho:ren.

       Dieses ist zwar die komplizierteste Lo:sung, aber die beste,
       die auch dafu:r sorgt, dass die Software auf mehreren Rechnern
       funktioniert.

    2. Benutzen Sie einen Proxy. Die Anwendung ko:nnte z.B. socks5
       unterstu:tzen, oder (wie im Fall von cvsup) eine Option
       "passiv" besitzen, die stets verhindert, dass verlangt wird,
       dass der Partner eine Verbindung zuru:ck zur lokalen Maschine
       aufbaut.

    3. Leiten Sie mit nat addr alles zur lokalen Maschine um. Dieses
       Vorgehen a:hnelt dem mit einem Vorschlaghammer.

   14.23. Hat jemand eine Liste mit nu:tzlichen Portnummern erstellt?

   Noch nicht, aber hieraus ko:nnte eine solche entstehen (falls
   Interesse besteht). In jedem Beispiel sollte internal durch die
   IP-Adresse der Maschine ersetzt werden, auf der das Spiel laufen
   soll.

     * Asheron's Call

       nat port udp internal:65000 65000

       Konfigurieren Sie das Spiel manuell auf Port 65000 um. Wenn
       Sie von mehreren Rechner aus spielen wollen, weisen Sie jedem
       eine eindeutige Portnummer zu (also 65001, 65002, u.s.w.) und
       fu:gen Sie fu:r jede Maschine eine eigene nat port Zeile ein.

     * Half Life

       nat port udp internal:27005 27015

     * PCAnywhere 8.0

       nat port udp internal:5632 5632

       nat port tcp internal:5631 5631

     * Quake

       nat port udp internal:6112 6112

     * Quake 2

       nat port udp internal:27901 27910

       nat port udp internal:60021 60021

       nat port udp internal:60040 60040

     * Red Alert

       nat port udp internal:8675 8675

       nat port udp internal:5009 5009

   14.24. Was sind FCS-Fehler?

   FCS steht fu:r Frame Check Sequence. Jedes PPP-Paket besitzt eine
   Checksumme, um sicherzustellen, dass die empfangenen Daten
   dieselben sind, wie die versendeten. Falls die FCS eines
   ankommenden Paketes fehlerhaft ist, wird das Paket verworfen und
   der Za:hler HDLC FCS wird erho:ht. Der HDLC-Fehlerwert kann durch
   den Befehl show hdlc angezeigt werden.

   Falls Ihre Leitung schlecht ist (oder falls Ihr serieller Treiber
   Pakete verwirft), werden sie gelegentliche FCS-Fehler sehen.
   Normalerweise lohnt es sich nicht, sich hieru:ber Gedanken zu
   machen, obwohl das Kompressionsprotokoll hierdurch wesentlich
   langsamer wird. Wenn Sie ein externes Modem besitzen, stellen Sie
   sicher, dass Ihr Kabel ausreichend gegen Interferenzen abgeschirmt
   ist - das ko:nnte das Problem beseitigen.

   Falls Ihre Leitung einfriert, sobald die Verbindung steht, und
   viele FCS-Fehler auftreten, ko:nnte das daran liegen, dass Ihre
   Leitung nicht 8-Bit-rein ist. Stellen Sie sicher, dass Ihr Modem
   keinen Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
   Datenschnittstelle Software-Flow-Control verwenden muss, benutzen
   Sie den Befehl set accmap 0x000a0000, um ppp(8) zu sagen, dass es
   die Zeichen ^Q und ^S maskieren soll.

   Ein weiterer Grund dafu:r, dass zu viele FCS-Fehler auftreten,
   ko:nnte der sein, dass das andere Ende aufgeho:rt hat, ppp zu
   sprechen. Aktivieren Sie async Logging, um festzustellen, ob es
   sich bei den eingehenden Daten tatsa:chlich um einen login- oder
   Shell-Prompt handelt. Wenn Sie am anderen Ende einen Shell-Prompt
   haben, ist es mo:glich, durch den Befehl close lcp ppp(8) zu
   beenden, ohne die Verbindung zu beenden (ein folgender term-Befehl
   wird Sie wieder mit der Shell auf dem entfernten Rechner
   verbinden.

   Falls nichts in Ihrer Logdatei darauf hindeutet, warum die
   Verbindung beendet wurde, sollten Sie den Administrator des
   externen Rechners (Ihren ISP?) fragen, warum die Sitzung beendet
   worden ist.

   14.25. Wieso ha:ngen die Verbindungen meiner Mac OS- und
   Windows 98-Maschinen (und eventuell auch andere Microsoft
   Betriebssysteme), wenn auf meinem Gateway PPPoE la:uft?

   Vielen Dank an Michael Wozniak <mwozniak@netcom.ca> fu:r die
   Erkla:rung und an Dan Flemming <danflemming@mac.com> fu:r die
   Lo:sung fu:r Mac OS.

   Die Ursache des Problems ist ein so genannter "Black Hole Router".
   Mac OS und Windows 98 (und wahrscheinlich auch die anderen
   Betriebssysteme von Microsoft) senden TCP Pakete, bei denen zum
   einen die angeforderte Segmentgro:sse zu gross fu:r einen
   PPPoE-Rahmen ist (die Default-MTU fu:r Ethernet betra:gt 1500
   Byte) und bei denen das "don't fragment" Bit gesetzt ist (das ist
   bei TCP allerdings Standard). Ausserdem sendet der Router beim
   Provider nicht die eigentlich notwendigen "must
   fragment"-Meldungen zu dem Webserver, von dem Sie gerade eine
   Seite laden wollen. Es ist auch mo:glich, dass diese Meldung zwar
   erzeugt, aber danach von einem Firewall vor dem Webserver
   abgefangen wird. Wenn Ihnen dieser Webserver nun ein Paket
   schickt, das nicht in einen PPPoE-Rahmen passt, dann verwirft der
   Router dieses Paket und die Seite wird nicht geladen (einige
   Seiten/Grafiken werden geladen, weil ihre Gro:sse kleiner ist als
   die MSS). Dies scheint leider der Normalfall zu sein.

   Eine der mo:glichen Lo:sungen fu:r dieses Problem ist die
   Erzeugung des folgenden Schlu:ssels in der Registry des
   Windows-Clients mit regedit:

 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU

   Der Schlu:ssels sollte vom Typ String sein und den Wert 1436
   haben, da einige ADSL-Router nicht mit gro:sseren Paketen umgehen
   ko:nnen. Wenn Sie Windows 2000 verwenden, mu:ssen Sie hingegen den
   Schlu:ssel Tcpip\Parameters\Interfaces\ID der Netzwerkkarte\MTU
   benutzen, ausserdem mu:ssen Sie als Typ DWORD verwenden.

   Die Knowledge Base von Microsoft entha:lt weitere Informationen
   daru:ber, wie sie die MTU einer Windows-Maschine a:ndern, damit
   diese mit einem NAT-Router korrekt zusammenarbeitet. Vom
   besonderen Interesse sind die Artikel Q158474 - Windows TCPIP
   Registry Entries und Q120642 - TCPIP & NBT Configuration
   Parameters for Windows NT.

   Bei Windows 2000 ko:nnen Sie alternativ auch, wie im Artikel
   120642 beschrieben, mit regedit das DWORD
   Tcpip\Parameters\Interfaces\ID der
   Netzwerkkarte\EnablePMTUBHDetect auf 1 setzen.

   Mit den Bordmitteln von Mac OS ist es leider nicht mo:glich, die
   TCP/IP-Einstellungen zu vera:ndern. Es gibt jedoch kommerzielle
   Lo:sungen, mit denen man die TCP/IP-Einstellungen bearbeiten kann.
   Wenn Sie als Mac OS-Anwender NAT benutzen, suchen Sie ihre
   MTU-Einstellungen und geben Sie dort 1450 statt 1500 ein.

   ppp(8) kennt seit Version 2.3 den Befehl enable tcpmssfixup, mit
   dem die MSS automatisch korrigiert wird. Wenn Sie einen a:ltere
   Version von ppp(8) benutzen mu:ssen, ko:nnte der Port net/tcpmssd
   fu:r Sie interessant sein.

   14.26. Nichts von alledem hilft - ich bin verzweifelt! Was soll
   ich machen?

   Falls alles andere fehlschla:gt, senden Sie mo:glichst
   umfangreiche Informationen, einschliesslich Ihrer
   Konfigurationsdateien, wie Sie ppp(8) starten, die relevanten
   Teile Ihrer Logdateien und die Ausgabe des Befehls netstat -rn
   (vor und nach Aufbau der Verbindung) an die Mailingliste 'Fragen
   und Antworten zu FreeBSD' <de-bsd-questions@de.FreeBSD.org> oder
   die Newsgroup de.comp.os.unix.bsd. Irgend jemand sollte Ihnen dann
   weiterhelfen.

     --------------------------------------------------------------

                   Kapitel 15. Serielle Verbindungen

   Dieses Kapitel beantwortet ha:ufig gestellte Fragen zu seriellen
   Verbindungen mit FreeBSD. PPP und SLIP werden im Abschnitt
   Netzwerke behandelt.

   15.1. Wie kann ich feststellen, ob FreeBSD meine seriellen
   Schnittstellen gefunden hat?

   15.2. Wie kann ich feststellen, ob FreeBSD meine Modemkarten
   gefunden hat?

   15.3. Wie kann ich auf die seriellen Schnittstellen in FreeBSD
   zugreifen?

   15.4. Wie kann ich die Unterstu:tzung fu:r eine Karte mit mehreren
   seriellen Schnittstellen aktivieren?

   15.5. Kann FreeBSD mehrere Karten mit mehreren seriellen
   Schnittstellen mit den gleichen IRQs verwalten?

   15.6. Kann ich die vorgegebenen seriellen Parameter fu:r eine
   Schnittstelle einstellen?

   15.7. Wie kann ich Einwahl-Logins u:ber mein Modem aktivieren?

   15.8. Wie kann ich ein Hardware-Terminal mit meiner FreeBSD Box
   verbinden?

   15.9. Warum kann ich tip oder cu nicht laufen lassen?

   15.10. Mein Hayes Modem wird nicht unterstu:tzt - was kann ich
   tun?

   15.11. Wie soll ich die AT Befehle eingeben?

   15.12. Wieso funktioniert das @ Zeichen fu:r die pn Fa:higkeit
   nicht?

   15.13. Wie kann ich von der Kommandozeile eine Telefonnummer
   wa:hlen?

   15.14. Muss ich dabei jedes Mal die bps Rate angeben?

   15.15. Wie kann ich mo:glichst komfortabel u:ber einen
   Terminal-Server auf verschiedene Rechner zugreifen?

   15.16. Kann tip mehr als eine Verbindung fu:r jede Seite
   ausprobieren?

   15.17. Warum muss ich zweimal Ctrl+P tippen, um ein Ctrl+P zu
   senden?

   15.18. Warum ist auf einmal alles was ich schreibe in
   GROSSBUCHSTABEN??

   15.19. Wie kann ich Dateien mit tip u:bertragen?

   15.20. Wie kann ich zmodem mit tip laufen lassen?

   15.1. Wie kann ich feststellen, ob FreeBSD meine seriellen
   Schnittstellen gefunden hat?

   Wenn der FreeBSD Kernel bootet, testet er die seriellen
   Schnittstellen, fu:r die er konfiguriert wurde. Sie ko:nnen
   entweder Ihrem System aufmerksam beim Booten zusehen und die
   angezeigten Nachrichten lesen, oder Sie fu:hren den folgenden
   Befehl aus, nachdem Ihr System hochgefahren ist und la:uft:

 % dmesg | grep -E "^sio[0-9]"

   Hier ist ein Beispiel einer Ausgabe nach dem oben genannten
   Befehl:

 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 sio0: type 16550A
 sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
 sio1: type 16550A

   Es zeigt zwei serielle Schnittstellen. Die erste verwendet
   Port-Adresse 0x3f8, IRQ 4 und hat einen 16550A UART Chip. Die
   zweite benutzt ebenfalls einen 16550A UART, jedoch Port-Adresse
   0x2f8 und IRQ 3. Modemkarten werden wie serielle Schnittstellen
   behandelt. Der einzige Unterschied ist, dass an diesen
   Schnittstellen immer ein Modem "angeschlossen" ist.

   Der GENERIC Kernel beinhaltet Unterstu:tzung fu:r zwei serielle
   Schnittstellen, die den im Beispiel genannten Port und IRQ
   verwenden. Wenn diese Einstellungen nicht richtig fu:r Ihr System
   sind, Sie Modemkarten hinzugefu:gt oder mehr serielle
   Schnittstellen haben als Ihre Kernelkonfiguration zula:sst,
   konfigurieren Sie Ihren Kernel einfach neu. In dem Kapitel u:ber
   die Kernelkonfiguration finden Sie mehr Details.

   15.2. Wie kann ich feststellen, ob FreeBSD meine Modemkarten
   gefunden hat?

   Die vorherige Frage sollte darauf eine Antwort geben.

   15.3. Wie kann ich auf die seriellen Schnittstellen in FreeBSD
   zugreifen?

   Die in sio(4) beschriebene serielle Schnittstelle sio2 (COM3 unter
   MS-DOS/Windows), ist /dev/cuad2 fu:r Gera:te mit abgehenden
   Verbindungen und /dev/ttyd2 fu:r Gera:te mit eingehenden
   Verbindungen. Was ist der Unterschied zwischen den beiden
   Gera:teklassen?

   Sie benutzen ttydX fu:r eingehende Verbindungen. Wird /dev/ttydX
   im blockierenden Modus geo:ffnet, wartet ein Prozess darauf, dass
   das entsprechende cuadX Gera:t inaktiv und der Empfangssignalpegel
   [2] aktiv ist. Wird das cuadX Gera:t geo:ffnet, vergewissert es
   sich, dass die serielle Schnittstelle nicht bereits von dem ttydX
   Gera:t in Gebrauch ist. Sollte die Schnittstelle verfu:gbar sein,
   "stiehlt" es sie von dem ttydX Gera:t. Das cuadX Gera:t ku:mmert
   sich nicht um Tra:gersignalerkennung. Mit diesem Schema und einem
   automatisch antwortenden Modem, ko:nnen sich Benutzer von aussen
   einloggen, Sie ko:nnen weiterhin mit demselben Modem wa:hlen und
   das System ku:mmert sich um die Konflikte.

   15.4. Wie kann ich die Unterstu:tzung fu:r eine Karte mit mehreren
   seriellen Schnittstellen aktivieren?

   Die Sektion u:ber die Kernelkonfiguration bietet Informationen
   daru:ber, wie Sie Ihren Kernel konfigurieren. Fu:r eine Karte mit
   mehreren seriellen Schnittstellen, schreiben Sie eine sio(4) Zeile
   fu:r jede serielle Schnittstelle auf der Karte in die Datei
   device.hints(5). Aber achten Sie darauf, den IRQ nur in einem der
   Eintra:ge zu platzieren. Alle seriellen Schnittstellen auf der
   Karte sollten sich einen IRQ teilen. Daher sollten Sie den IRQ nur
   beim letzten Eintrag angeben. Aktivieren Sie auch die folgende
   Option in der Kernelkonfigurationsdatei:

 options COM_MULTIPORT

   Das folgende /boot/device.hints Beispiel ist geeignet fu:r eine
   AST Karte mit 4 seriellen Schnittstellen, die IRQ 12 benutzt:

 hint.sio.4.at="isa"
 hint.sio.4.port="0x2a0"
 hint.sio.4.flags="0x701"
 hint.sio.5.at="isa"
 hint.sio.5.port="0x2a8"
 hint.sio.5.flags="0x701"
 hint.sio.6.at="isa"
 hint.sio.6.port="0x2b0"
 hint.sio.6.flags="0x701"
 hint.sio.7.at="isa"
 hint.sio.7.port="0x2b8"
 hint.sio.7.flags="0x701"
 hint.sio.7.irq="12"

   Die Flags zeigen an, dass die Master-Schnittstelle die
   Minor-Nummer 7 (0x700) hat und dass sich alle Schnittstellen einen
   IRQ teilen (0x001).

   15.5. Kann FreeBSD mehrere Karten mit mehreren seriellen
   Schnittstellen mit den gleichen IRQs verwalten?

   Noch nicht. Sie mu:ssen fu:r jede Karte einen anderen IRQ
   verwenden.

   15.6. Kann ich die vorgegebenen seriellen Parameter fu:r eine
   Schnittstelle einstellen?

   Lesen Sie den Abschnitt Serielle Datenu:bertragung im FreeBSD
   Handbuch.

   15.7. Wie kann ich Einwahl-Logins u:ber mein Modem aktivieren?

   Lesen Sie dazu bitte den Abschnitt u:ber Einwa:hlverbindungen im
   FreeBSD Handbuch.

   15.8. Wie kann ich ein Hardware-Terminal mit meiner FreeBSD Box
   verbinden?

   Diese Information ko:nnen Sie im Abschnitt Terminals im FreeBSD
   Handbuch finden.

   15.9. Warum kann ich tip oder cu nicht laufen lassen?

   Auf Ihrem System ko:nnen die Programme tip(1) und cu(1) auf das
   Verzeichnis /var/spool/lock nur u:ber den Benutzer uucp und die
   Gruppe dialer zugreifen. Sie ko:nnen die Gruppe dialer verwenden,
   um zu kontrollieren wer Zugriff auf Ihr Modem oder entfernte
   Systeme hat. Fu:gen Sie sich einfach selbst zur Gruppe dialer
   hinzu.

   Als Alternative ko:nnen Sie jeden Benutzer auf Ihrem System tip(1)
   und cu(1) verwenden lassen, dazu mu:ssen Sie das folgende
   eingeben:

 # chmod 4511 /usr/bin/cu
 # chmod 4511 /usr/bin/tip

   15.10. Mein Hayes Modem wird nicht unterstu:tzt - was kann ich
   tun?

   Lesen Sie diese Antwort im FreeBSD Handbuch.

   15.11. Wie soll ich die AT Befehle eingeben?

   Im FreeBSD Handbuch finden Sie dazu diese Antwort.

   15.12. Wieso funktioniert das @ Zeichen fu:r die pn Fa:higkeit
   nicht?

   Lesen Sie dazu diese Antwort im FreeBSD Handbuch.

   15.13. Wie kann ich von der Kommandozeile eine Telefonnummer
   wa:hlen?

   Lesen Sie diese Antwort im FreeBSD Handbuch.

   15.14. Muss ich dabei jedes Mal die bps Rate angeben?

   Im FreeBSD Handbuch finden Sie dazu diese Antwort.

   15.15. Wie kann ich mo:glichst komfortabel u:ber einen
   Terminal-Server auf verschiedene Rechner zugreifen?

   Lesen Sie im FreeBSD Handbuch diese Antwort.

   15.16. Kann tip mehr als eine Verbindung fu:r jede Seite
   ausprobieren?

   Lesen Sie diese Antwort im FreeBSD Handbuch.

   15.17. Warum muss ich zweimal Ctrl+P tippen, um ein Ctrl+P zu
   senden?

   Im FreeBSD Handbuch finden Sie dazu diese Antwort.

   15.18. Warum ist auf einmal alles was ich schreibe in
   GROSSBUCHSTABEN??

   Lesen Sie im FreeBSD Handbuch diese Antwort.

   15.19. Wie kann ich Dateien mit tip u:bertragen?

   Lesen Sie diese Antwort im FreeBSD Handbuch.

   15.20. Wie kann ich zmodem mit tip laufen lassen?

   Sie finden dazu diese Antwort im FreeBSD Handbuch.

     --------------------------------------------------------------

                    Kapitel 16. Verschiedene Fragen

   16.1. FreeBSD benutzt viel mehr Swap-Speicher als Linux. Warum?

   16.2. Warum zeigt mir top(1) so wenig freien Speicher an, obwohl
   nur wenige Programme laufen?

   16.3. Warum a:ndert chmod die Zugriffsrechte auf symbolische Links
   nicht?

   16.4. Kann ich DOS-Programme unter FreeBSD ausfu:hren?

   16.5. Was muss ich tun, um die FreeBSD-Dokumentation in meine
   Muttersprache zu u:bersetzen?

   16.6. Warum kommen alle meine Mails, die ich an @FreeBSD.org
   schicke, wieder zuru:ck?

   16.7. Wo kann ich einen freien FreeBSD-Account bekommen?

   16.8. Was ist sup und wie benutze ich es?

   16.9. Wie heisst das niedliche rote Kerlchen?

   16.10. Kann ich Bilder des BSD Daemon verwenden?

   16.11. Woher kann ich Bilder des BSD Daemon bekommen?

   16.12. Ich habe in den Mailinglisten eine Abku:rzung oder einen
   Begriff gesehen, den ich nicht kenne. Wo erhalte ich eine
   Erkla:rung dazu?

   16.13. Warum sollte mich die Farbe des Fahrradschuppens
   interessieren?

   16.1. FreeBSD benutzt viel mehr Swap-Speicher als Linux. Warum?

   Es sieht nur so aus, als ob FreeBSD mehr Swap benutzt, als Linux.
   Tatsa:chlich ist dies nicht der Fall. In dieser Hinsicht besteht
   der Hauptunterschied zwischen FreeBSD und Linux darin, dass
   FreeBSD vorbeugend vollkommen unta:tige, unbenutzte Seiten aus dem
   Hauptspeicher in den Swap-Bereich auslagert, um mehr Hauptspeicher
   fu:r die aktive Nutzung zur Verfu:gung zu stellen. Linux tendiert
   dazu, nur als letzten Ausweg Seiten in den Swap-Bereich
   auszulagern. Die spu:rbar ho:here Nutzung des Swap-Speichers wird
   durch die effizientere Nutzung des Hauptspeichers wieder
   ausgeglichen.

   Beachten Sie, dass FreeBSD in dieser Hinsicht zwar vorbeugend
   arbeitet, es entscheidet jedoch nicht willku:rlich, Seiten
   auszulagern, wenn das System vollkommen unta:tig ist. Deshalb
   werden Sie feststellen, dass nicht alle Seiten Ihres Systems
   ausgelagert wurden, wenn Sie morgens aufstehen, nachdem das System
   eine Nacht lang nicht benutzt worden ist.

   16.2. Warum zeigt mir top(1) so wenig freien Speicher an, obwohl
   nur wenige Programme laufen?

   Die Antwort ist ganz einfach: Freier Speicher ist verschwendeter
   Speicher. Der FreeBSD Kernel verwendet den von den Programmen
   nicht genutzten Speicher automatisch fu:r den Plattencache. Die in
   top(1) fu:r Inact, Cache und Buf gemeldeten Werte stehen alle fu:r
   zwischengespeicherte Daten mit unterschiedlichem Alter. Wenn das
   System wiederholt auf Daten zugreifen muss, braucht es nicht auf
   die langsame Platte zuzugreifen, da die Daten noch
   zwischengespeichert sind. Dadurch erho:ht sich die Performance.
   Ganz generell ist es ein gutes Zeichen, wenn top(1) einen kleinen
   Wert bei Free anzeigt, solange der Wert nicht extrem klein ist.

   Anmerkung des U:bersetzers: Mit "extrem klein" sind hier Werte
   unterhalb 512 KByte gemeint.

   16.3. Warum a:ndert chmod die Zugriffsrechte auf symbolische Links
   nicht?

   Fu:r symbolische Links gibt es keine separaten Zugriffsrechte und
   standardma:ssig folgt chmod(1) dem Link, wenn mo:glich; die
   Zugriffsrechte fu:r die Datei, auf die der symbolische Link zeigt,
   werden also vera:ndert. Wenn Sie eine Datei mit dem Namen foo und
   einen auf diese Datei zeigenden symbolischen Link mit dem Namen
   bar haben, wird das folgende Kommando niemals einen Fehler melden.

 % chmod g-w bar

   Trotzdem werden die Zugriffsrechte fu:r bar nicht gea:ndert.

   Wenn Sie die Zugriffsrechte in der Dateihierarchie an der
   Wurzeldatei anstatt der Datei selbst a:ndern mo:chten, mu:ssen Sie
   entweder -H oder -L zusammen mit der Option -R benutzen. Weitere
   Informationen finden Sie in den Manualpages chmod(1) und
   symlink(7).

     Warnung: Die Option -R bewirkt ein rekursives chmod(1). Seien
     Sie vorsichtig, wenn Sie bei chmod(1) Verzeichnisse oder
     symbolische Links zu Verzeichnissen angeben. Wenn Sie die
     Zugriffsrechte eines Verzeichnisses a:ndern mo:chten, das durch
     einen symbolischen Link referenziert wird, benutzen Sie chmod(1)
     ohne irgendwelche Optionen und folgen dem symbolischen Link
     durch einen abschliessenden Schra:gstrich (/). Falls z.B. foo
     ein symbolischer Link zum Verzeichnis bar ist und Sie die
     Zugriffsrechte von foo (tatsa:chlich bar) a:ndern mo:chten, dann
     benutzen Sie etwas a:hnliches wie:

 % chmod 555 foo/

     Durch den abschliessenden Schra:gstrich folgt chmod(1) dem
     symbolischen Link foo, um die Zugriffsrechte fu:r das
     Verzeichnis bar zu a:ndern.

   16.4. Kann ich DOS-Programme unter FreeBSD ausfu:hren?

   Ja. Sie ko:nnen emulators/doscmd verwenden, das u:ber die
   Ports-Sammlung verfu:gbar ist.

   Falls doscmd nicht ausreicht, ko:nnen Sie den Port emulators/pcemu
   verwenden, der einen 8088 und genug BIOS-Funktionen emuliert, um
   DOS-Textanwendungen laufen zu lassen. Der Port beno:tigt das
   X-Window-System.

   Sie ko:nnen auch emulators/dosbox aus der FreeBSD Ports Sammlung
   ausprobieren. Der Hauptaugenmerk liegt bei dieser Anwendung auf
   der Emulation alter DOS Spiele, deren Dateien sich im lokalen
   Dateisystem befinden.

   16.5. Was muss ich tun, um die FreeBSD-Dokumentation in meine
   Muttersprache zu u:bersetzen?

   Informationen zu diesem Thema finden Sie auf der Webseite des
   FreeBSD German Documentation Project.

   16.6. Warum kommen alle meine Mails, die ich an @FreeBSD.org
   schicke, wieder zuru:ck?

   Das Mailsystem von FreeBSD.org verwendet einige der strengeren
   U:berpru:fungen von Postfix fu:r eingehende Mails. Mails, bei
   denen es Anzeichen fu:r Konfigurationsprobleme oder Spam gibt,
   werden nicht akzeptiert. Dies kann aus einem der folgenden Gru:nde
   geschehen:

     * Die Mail kommt von einem System oder Netzwerk, dass fu:r
       Spam-Aktivita:ten bekannt ist.

       Die Mailserver von FreeBSD akzeptierten keine Mails von
       bekannten Spam-Quellen. Wenn Sie eine Firma oder Domain
       benutzen, die Spam erzeugt oder verteilt, sollten Sie sich
       einen anderen ISP suchen.

     * Der Mailtext entha:lt HTML.

       Mail sollte immer im Klartext gesendet werden, Sie sollten ihr
       Mailprogramm entsprechend einstellen.

     * Das Mailsystem kann die IP-Adresse des einliefernden Systems
       nicht in einen symbolischen Namen umwandeln.

       Funktionierendes reverse DNS ist eine Vorbedingung, damit ihre
       Mails angenommen wird. Sorgen Sie dafu:r, dass der reverse DNS
       fu:r Ihren Mailserver korrekt konfiguriert wird. Viele
       Anbieter fu:r Privatkunden geben Ihnen diese Mo:glichkeit
       nicht. In diesem Fall sollten Sie Ihre Mails u:ber den
       Mailserver Ihres Providers versenden.

     * Der Rechnername, der im EHLO/HELO Teil der SMTP Kommunikation
       u:bergeben wird, kann nicht zu einer IP-Adresse aufgelo:st
       werden.

       Damit die E-Mail akzeptiert wird, brauchen Sie einen voll
       qualifizierten Rechnernamen, der im DNS eingetragen ist. Wenn
       Sie diesen nicht besitzen, benutzen Sie bitte den Mailserver
       Ihres Providers, um E-Mails zu verschicken.

     * Die Message-ID Ihrer Mail endet in localhost.

       Einige Mail-Clients generieren eine Message-ID, die nicht
       akzeptiert wird. Sie mu:ssen Ihren Mail-Client so
       konfigurieren, dass er eine gu:ltige Message-ID generiert.
       Alternativ ko:nnen Sie die Message-ID von Ihrem Mailserver
       umschreiben lassen.

   16.7. Wo kann ich einen freien FreeBSD-Account bekommen?

   Das FreeBSD Project bietet zwar keinen freien Zugang zu seinen
   Servern an; andere Firmen bieten jedoch frei zuga:ngliche UNIX
   Systeme. Die Kosten variieren und es kann sein, dass nicht alle
   Dienste zur Verfu:gung stehen.

   Arbornet, Inc, auch als M-Net bekannt, bietet seit 1983
   uneingeschra:nkten Zugang zu UNIX Systemen. Zuna:chst wurde eine
   Altos-Maschine mit System III benutzt, 1991 erfolgte dann der
   Wechsel zu BSD/OS. Im Juni 2000 erfolgte ein erneuter Wechsel,
   diesmal zu FreeBSD. M-Net bietet Zugang mit Telnet und SSH und den
   Zugang zur gesamten Software von FreeBSD. Allerdings ist der
   Zugriff auf das Netzwerk auf Mitglieder und Go:nner beschra:nkt,
   die eine Spende an die nicht-kommerzielle Organisation geleistet
   haben. M-Net stellt zusa:tzlich ein Mailbox-System und einen
   interaktiven Chat zur Verfu:gung.

   16.8. Was ist sup und wie benutze ich es?

   Der Name SUP steht fu:r Software Update Protocol und wurde von der
   CMU (Carnegie Mellon University) entwickelt, um ihre
   Entwicklungszweige zu synchronisieren. Es wurde benutzt, um
   entfernte Sites mit den zentralen Quellcodeentwicklungen des
   Projekts zu synchronisieren.

   SUP ist nicht sehr bandbreitenfreundlich und wurde abgelo:st. Die
   derzeit empfohlene Methode, um Ihren Quellcode auf dem neuesten
   Stand zu halten ist   CVSup.

   16.9. Wie heisst das niedliche rote Kerlchen?

   Er ist namenlos, es ist einfach der "der BSD Daemon". Wenn Sie ihm
   unbedingt einen Namen geben wollen, rufen Sie ihn "beastie".
   Beachten Sie aber, dass "beastie" wie "BSD" ausgesprochen wird.

   Weitere Informationen u:ber den BSD daemon finden Sie auf seiner
   Homepage.

   16.10. Kann ich Bilder des BSD Daemon verwenden?

   Eventuell. Der BSD Daemon unterliegt dem Copyright von Marshall
   Kirk McKusick. Wenn Sie genaue Informationen u:ber die
   Einschra:nkungen bei der Nutzung brauchen, sollten Sie sein
   Statement on the Use of the BSD Daemon Figure lesen.

   Kurz gesagt, ko:nnen Sie den BSD Daemon benutzen, solange es fu:r
   einen privaten Zweck ist und die Nutzung geschmackvoll bleibt.
   Fu:r den kommerziellen Einsatz brauchen Sie die Zustimmung von
   Kirk McKusick <mckusick@FreeBSD.org>. Weitere Informationen
   erhalten Sie auf der Webseite BSD Daemon's home page.

   16.11. Woher kann ich Bilder des BSD Daemon bekommen?

   Einige Bilder in den Format xfig und eps sind unter
   /usr/share/examples/BSD_daemon/ zu finden.

   16.12. Ich habe in den Mailinglisten eine Abku:rzung oder einen
   Begriff gesehen, den ich nicht kenne. Wo erhalte ich eine
   Erkla:rung dazu?

   Sehen Sie bitte im   FreeBSD-Glossar nach.

   16.13. Warum sollte mich die Farbe des Fahrradschuppens
   interessieren?

   Die ganz, ganz kurze Antwort ist: U:berhaupt nicht. Die etwas
   la:ngere Antwort lautet: Nur weil Sie in der Lage sind, einen
   Fahrradschuppen zu bauen, mu:ssen Sie noch lange nicht andere
   davon abhalten, nur weil Ihnen die Farbe nicht gefa:llt. Dies ist
   natu:rlich eine Metapher dafu:r, dass Sie nicht eine Diskussion
   u:ber jede kleine A:nderung beginnen sollen, nur weil Sie das
   ko:nnen. Einige Leute behaupten sogar, dass die Anzahl der
   (nutzlosen) Kommentare u:ber eine A:nderung umgekehrt proportional
   zur Komplexita:t der A:nderung ist.

   Die noch la:ngere und vollsta:ndigere Antwort ist, dass
   Poul-Henning Kamp <phk@FreeBSD.org> nach einen langen Diskussion
   u:ber das Thema "Soll sleep(1) Sekundenbruchteile als Parameter
   akzeptieren?" eine lange Mail mit dem Titel "A bike shed (any
   colour will do) on greener grass..." schrieb. Die einschla:gigen
   Teile der Nachricht lauteten:

     Einige von Euch haben mich gefragt, "Was meinst Du mit dem       
     Fahrradschuppen?"                                              
                                                                    
     Es ist eine lange oder eigentlich eher eine sehr alte und doch 
     sehr kurze Geschichte. C. Northcote Parkinson schrieb in den   
     fru:hen Sechzigern ein Buch mit dem Namen "Parkinson's Law",   
     das viele Einblick in die Beziehungen innerhalb des            
     Managements gibt.                                              
                                                                    
     [ein paar Kommentare zum Buch gestrichen]                      
                                                                    
     In dem Beispiel mit dem Fahrradschuppen ist die andere         
     wichtige Komponente ein Kernkraftwerk. Ich glaube, dass zeigt  
     schon, wie alt dieses Buch ist.                                
                                                                    
     Parkinson zeigte, dass man zum Vorstand gehen kann und die     
     Genehmigung fu:r ein mehrere Millionen oder sogar Milliarden   
     Dollar teures Kernkraftwerk bekommt; wenn man aber einen       
     Fahrradschuppen bauen will, wird man in endlose Diskussionen   
     verwickelt.                                                    
                                                                    
     Laut Parkinson liegt das daran, dass ein Kernkraftwerk so      
     gross, so teuer und so kompliziert ist, dass die Leute es      
     nicht verstehen. Und bevor sie versuchen, es zu verstehen,     
     verlassen Sie sich lieber darauf, dass irgend jemand           
     sicherlich die ganzen Details gepru:ft hat, bevor das Projekt  
     bis zum Vorstand gekommen ist. Im Buch von Richard P. Feynmann 
     finden sich einige interessante und sehr passende Beispiele    
     aus dem Gebiet von Los Alamos.                                 
                                                                    
     Ein Fahrradschuppen ist was anderes. Jeder kann an seinem      
     freien Wochenende einen bauen und hat trotzdem noch genug Zeit 
     fu:r die Sportschau. Daher ist es unwichtig, wie gut man sich  
     vorbereitet und wie sinnvoll der eigene Vorschlag ist. Irgend  
     jemand wird die Mo:glichkeit nutzen und zeigen, dass er seine  
     Arbeit tut, dass er aufmerksam ist, dass er da ist.            
                                                                    
     In Da:nemark nennen wir dieses Verhalten "Seine                
     Fingerabdru:cke hinterlassen". Es geht um perso:nlichen Stolz  
     und Prestige; die Chance, auf irgend etwas zu zeigen und zu    
     sagen zu ko:nnen: "Da! Das habe Ich getan." Politiker leiden   
     sehr stark darunter, aber viele Leute verhalten sich so, wenn  
     sie die Chance haben. Denkt einfach mal an Fussabdru:cke in    
     feuchtem Zement.                                               
          --Poul-Henning Kamp <phk@FreeBSD.org> in freebsd-hackers,   
                                                          2.10.1999

     --------------------------------------------------------------

              Kapitel 17. Nicht ganz ernstgemeinte Fragen

   17.1. Wie cool ist FreeBSD?

   17.2. Wer kratzt in meinen Speicherba:nken??

   17.3. Wie viele FreeBSD-Hacker braucht man, um eine Glu:hbirne
   auszuwechseln?

   17.4. Was passiert mit den Daten, die nach /dev/null geschrieben
   werden?

   17.1. Wie cool ist FreeBSD?

   Q. Hat irgend jemand Temperaturmessungen durchgefu:hrt, wa:hrend
   FreeBSD la:uft? Ich weiss, dass Linux cooler la:uft, als DOS, habe
   aber niemals gesehen, dass FreeBSD erwa:hnt wurde. Es scheint sehr
   heiss zu laufen.

   A. Nein, aber wir haben zahlreiche Geschmackstests mit
   verblendeten Freiwilligen durchgefu:hrt, denen ausserdem zuvor 250
   Mikrogramm LSD-25 verabreicht wurden. 35% der Freiwilligen sagte,
   dass FreeBSD nach Orange schmeckte, Linux hingegen schmecke wie
   "purple haze" (Anm. d. U:bersetzers: Song von Jimmy Hendrix und
   LSD-Marke). Keine der Gruppen hat besondere Abweichungen der
   Temperatur erwa:hnt. Eventuell ha:tten wir sa:mtliche Ergebnisse
   dieser Untersuchung fortwerfen sollen, als wir festgestellt haben,
   dass zu viele der Freiwilligen den Raum wa:hrend der Tests
   verlassen haben und dadurch die Ergebnisse verfa:lscht haben. Wir
   glauben, dass die meisten der Freiwilligen nun bei Apple sind und
   an ihrer neuen "scratch and sniff" Oberfla:che arbeiten. Es ist
   ein lustiges, altes Gescha:ft, in dem wir uns befinden!

   Ernsthaft, FreeBSD und Linux benutzen beide die Instruktion HLT
   (halt), wenn das System unta:tig ist, wodurch der Energieverbrauch
   und dadurch die produzierte Wa:rme reduziert wird. Falls Sie auch
   noch APM (Advanced Power Management) konfiguriert haben, kann
   FreeBSD Ihre CPU auch in einen Low-Power-Modus bringen.

   17.2. Wer kratzt in meinen Speicherba:nken??

   Q. Gibt es irgend etwas "seltsames", das FreeBSD tut, wenn ich den
   Kernel kompiliere, das dazu fu:hrt, dass der Speicher ein
   kratzendes Gera:usch macht? Bei der Kompilierung (und auch fu:r
   einen kurzen Moment nach der Erkennung des Floppy-Laufwerks beim
   Hochfahren), kommt ein seltsames kratzendes Gera:usch von etwas
   das die Speicherba:nke zu sein scheinen.

   A. Ja! In der BSD-Dokumentation finden Sie ha:ufige Verweise auf
   "Daemons" und was die meisten Leute nicht wissen, ist, dass diese
   sich auf echte, nicht-ko:rperlichen Wesen beziehen, die Besitz von
   Ihrem Computer ergriffen haben. Das kratzende Gera:usch, das von
   Ihrem Speicher kommt, ist in Wirklichkeit hochto:niges Flu:stern,
   das unter den Daemons ausgetauscht wird, wa:hrend Sie entscheiden,
   wie Sie die verschiedenen Systemadministrationsaufgaben, am besten
   erledigen.

   Wenn Sie das Gera:usch sto:rt, wird ein fdisk /mbr sie vertreiben,
   aber wundern Sie sich nicht, wenn sie feindlich reagieren und
   versuchen, Sie aufzuhalten. Wenn Sie wa:hrend der Ausfu:hrung zu
   irgendeinem Zeitpunkt die teuflische Stimme von Bill Gates aus dem
   eingebauten Lautsprecher kommen ho:ren, laufen Sie weg und sehen
   Sie sich auf keinen Fall um! Befreit von dem ausgleichenden
   Einfluss der BSD Da:monen sind die beiden Da:monen von DOS und
   Windows oft dazu in der Lage, die totale Kontrolle u:ber Ihre
   Maschine fu:r die ewige Verdammung Ihrer Seele zuru:ckzuerlangen.
   Da Sie jetzt die Wahrheit kennen, wu:rden Sie es vorziehen, sich
   an die Gera:usche zu gewo:hnen, wenn Sie die Wahl ha:tten.

   17.3. Wie viele FreeBSD-Hacker braucht man, um eine Glu:hbirne
   auszuwechseln?

   Eintausendeinhundertundneunundsechzig:

   Dreiundzwanzig, die sich bei -CURRENT beschweren, dass das Licht
   aus ist;

   Vier, die behaupten, dass es sich um ein Konfigurationsproblem
   handelt und dass solche Dinge wirklich nach -questions geho:ren;

   Drei, die PRs hierzu einreichen, einer von ihnen wird falsch unter
   DOC abgelegt und fristet sein Dasein im Dunkeln;

   Einen, der eine ungetestete Glu:hbirne einreicht, wonach
   buildworld nicht mehr funktioniert, und sie dann fu:nf Minuten
   spa:ter wieder herausnimmt;

   Acht, die die PR-Erzeuger beschimpfen, weil sie zu ihren PRs keine
   Patche hinzugefu:gt haben;

   Fu:nf, die sich daru:ber beschweren, dass buildworld nicht mehr
   funktioniert;

   Einunddreissig, die antworten, dass es bei ihnen funktioniert und
   dass sie cvsup wohl zu einigem ungu:nstigen Zeitpunkt
   durchgefu:hrt haben;

   Einen, der einen Patch fu:r eine neue Glu:hbirne an -hackers
   schickt;

   Einen, der sich beschwert, dass es vor drei Jahren Patches
   hierfu:r hatte, aber als er sie nach -CURRENT schickte, sind sie
   einfach ignoriert worden und er hatte schlechte Erfahrungen mit
   dem PR-System; nebenbei ist die vorgeschlagene Glu:hbirne nicht
   reflexiv;

   Siebenunddreissig, die schreien, dass Glu:hbirnen nicht in das
   Basissystem geho:ren, dass Committer nicht das Recht haben, solche
   Dinge durchzufu:hren, ohne die Gemeinschaft zu konsultieren und
   WAS GEDENKT -CORE HIER ZU TUN!?

   Zweihundert, die sich u:ber die Farbe des Fahrradschuppens
   beschweren;

   Drei, die darauf hinweisen, dass der Patch nicht mit style(9)
   u:bereinstimmt;

   Siebzehn, die sich beschweren, dass die vorgeschlagene neue
   Glu:hbirne der GPL unterliegt;

   Fu:nfhundertundsechsundachtzig, die sich in einen Streit u:ber die
   vergleichbaren Vorteile der GPL, der BSD-Lizenz, der MIT-Lizenz,
   der NPL und der perso:nlichen Hygiene nichtgenannter FSF-Gru:nder
   verwickeln;

   Sieben, die unterschiedliche Teile des Threads nach -chat und
   -advocacy weiterleiten;

   Einer, der die vorgeschlagene Glu:hbirne einbaut, obwohl sie
   dunkler leuchtet, als die alte;

   Zwei, die sie wieder ausbauen, und in einer wu:tenden Nachricht
   argumentieren, dass FreeBSD besser ganz im Dunkeln dasteht, als
   mit einer da:mmerigen Glu:hbirne;

   Sechsundvierzig, die sich la:rmend wegen des Wiederausbaus der
   da:mmerigen Glu:hbirne streiten und eine Erkla:rung von -core
   verlangen;

   Elf, die eine kleinere Glu:hbirne beantragen, damit sie in ihr
   Tamagotchi passt, falls wir irgendwann beschliessen, FreeBSD auf
   diese Plattform zu portieren;

   Dreiundsiebzig, die sich u:ber die SNR auf -hackers und -chat
   beschweren und aus Protest abmelden;

   Dreizehn, die "unsubscribe", "How do I unsubscribe?" oder "Please
   remove me from the list" gefolgt von der u:blichen Fusszeile
   abschicken;

   Einen, der eine funktionierende Glu:hbirne einbaut, wa:hrend alle
   zu bescha:ftigt damit sind, mit jedem zu streiten, um es zu
   bemerken;

   Einunddreissig, die herausstellen, dass die neue Glu:hbirne 0,364%
   heller leuchten wu:rde, wenn sie mit TenDRA kompiliert werden
   wu:rde (obwohl sie in einen Wu:rfel umgeformt werden mu:sste) und
   dass FreeBSD deshalb nach TenDRA, anstatt nach GCC wechseln
   sollte;

   Einen, der sich beschwert, dass bei der neuen Glu:hbirne die
   Verkleidung fehlt;

   Neun (einschliesslich der PR-Ersteller), die fragen "Was ist MFC?"

   Siebenundfu:nfzig, die sich zwei Wochen, nachdem die Birne
   gewechselt worden ist, daru:ber beschweren, dass das Licht aus
   war.

   Nik Clayton <nik@FreeBSD.org> hat hinzugefu:gt:

   Ich habe ziemlich hieru:ber gelacht.

   Und dann dachte ich: "Halt, sollte in dieser Liste nicht irgendwo
   'Einer, der es dokumentiert' sein?"

   Und dann wurde ich erleuchtet :-)

   Thomas Abthorpe <tabthorpe@FreeBSD.org> sagt: "Keine, echte
   FreeBSD Hacker fu:rchten sich nicht vor der Dunkelheit!"

   17.4. Was passiert mit den Daten, die nach /dev/null geschrieben
   werden?

   Sie werden in einer speziellen Datensenke der CPU in Wa:rme
   umgewandelt, die dann u:ber den Ku:hlko:rper und den Lu:fter
   abgefu:hrt wird. Dies ist einer der Gru:nde fu:r die Ku:hlung von
   CPUs; die Anwender gewo:hnen sich an die schnelleren Prozessoren,
   gehen nicht mehr so sorgfa:ltig mit Ihren Daten um und so landen
   immer mehr Daten in /dev/null, was zur U:berhitzung der CPU
   fu:hrt. Wenn Sie /dev/null lo:schen (was die Datensenke ziemlich
   sicher abschaltet), wird Ihre CPU zwar nicht mehr so heiss, dafu:r
   wird Ihr System aber sehr schnell von den u:berza:hligen Daten
   u:berladen und merkwu:rdige Effekte zeigen. Wenn Sie eine sehr
   schnell Netzwerkverbindung haben, ko:nnen Sie Ihre CPU ku:hlen,
   indem sie Daten aus /dev/random lesen und in die Weite des
   Netzwerkes schicken; allerdings besteht hier die Gefahr der
   U:berhitzung von Netzwerk und /. Ausserdem du:rfte Ihr ISP
   ziemlich wu:tend werden, da der gro:sste Teil der Daten von seinen
   Gera:ten in Hitze umgewandelt werden wird; da ISPs aber u:ber
   Klimaanlagen verfu:gen, sollte das kein grosses Problem sein,
   solange Sie es nicht u:bertreiben.

   Nachtrag Paul Robinson:

   Es gibt andere Mittel und Wege. Wie jeder gute Systemadministrator
   weiss, geho:rt es zum guten Ton, einigen Daten zum Bildschirm zu
   senden, damit die Leuchtka:ferchen, die das Bild anzeigen,
   glu:cklich sind. Die Leuchtka:ferchen werden nach der Farbe Ihrer
   Hu:te (Rot, Gru:n, oder Blau) unterschieden und sie verstecken
   bzw. zeigen sich (wobei man die Farbe ihrer Hu:te erkennen kann)
   bei jeder Nahrungsaufnahme. Grafikkarten wandeln Daten in
   Leuchka:fer-Nahrung um und schicken sie dann zu den Leuchtka:fern
   - teure Karten erzeugen bessere Nahrung und sorgen so fu:r
   besseres Verhalten der Leuchtka:fer. Diese brauchen allerdings
   einen konstanten Stimulus - darum gibt es Bildschirmschoner.

   Darum lautet mein Vorschlag, die zufa:lligen Daten einfach zum
   Bildschirm zu schicken, damit sie von den Leuchtka:fern verzehrt
   werden. Dabei entsteht keine Hitze, die Leuchtka:fer bleiben
   glu:cklich und man wird seine u:berflu:ssigen Daten sehr schnell
   los, auch wenn der Bildschirm etwas merkwu:rdig aussieht.

   U:brigens: Als Ex-Admin eines grossen ISPs, der so seine Probleme
   mit der Ku:hlung seines Rechenzentrums hatte, kann ich nur davon
   abraten, u:berflu:ssige Daten einfach in das Netzwerk zu schicken.
   Die Heinzelma:nnchen, die die Pakete verteilen und versenden,
   regen sich daru:ber ganz furchtbar auf.

     --------------------------------------------------------------

                   Kapitel 18. Weiterfu:hrende Themen

   18.1. Wie kann ich mehr u:ber die Interna von FreeBSD erfahren?

   18.2. Wie kann ich bei der Entwicklung von FreeBSD mitarbeiten?

   18.3. Was sind Snapshots und RELEASEs?

   18.4. Wie kann ich meine eigene, angepasstes Release erstellen?

   18.5. Wieso u:berschreibt make world das installierte System?

   18.6. Warum ist cvsup.FreeBSD.org kein Round-Robin-Eintrag im DNS,
   so dass Anfragen auf alle CVsup-Server verteilt werden?

   18.7. Kann ich -CURRENT mit begrenztem Internetzugang folgen?

   18.8. Wie haben Sie die Distribution in 1392 KB-Dateien
   aufgespalten?

   18.9. Ich habe eine Kernelerweiterung geschrieben. An wen sende
   ich sie?

   18.10. Wie werden Plug&Play ISA-Karten erkannt und initialisiert?

   18.11. Wie bekomme ich eine Major-Number fu:r einen
   Gera:tetreiber, den ich geschrieben habe?

   18.12. Gibt es alternative Layoutverfahren fu:r Verzeichnisse?

   18.13. Wie kann ich optimalen Nutzen aus einer kernel panic
   ziehen?

   18.14. Wieso funktioniert dlsym() nicht mehr fu:r ELF-Executables?

   18.15. Wie kann ich den Adressraum des Kernels auf i386
   vergro:ssern oder verkleinern?

   18.1. Wie kann ich mehr u:ber die Interna von FreeBSD erfahren?

   Zurzeit gibt es nur ein Buch u:ber die Interna von FreeBSD, "The
   Design and Implementation of the FreeBSD Operating System" von
   Marshall Kirk McKusick und George V. Neville-Neil, ISBN
   0-201-70245-2, das sich auf FreeBSD 5.X konzentriert.

   Allgemeines Wissen u:ber UNIX kann allerdings in den meisten
   Fa:llen auf FreeBSD angewendet werden.

   Eine Liste finden Sie im entsprechenden Abschnitt der  
   Bibliographie.

   18.2. Wie kann ich bei der Entwicklung von FreeBSD mitarbeiten?

   Genauere Informationen finden Sie im Artikel FreeBSD
   unterstu:tzen. Wir ko:nnen Hilfe immer gut gebrauchen!

   18.3. Was sind Snapshots und RELEASEs?

   Derzeit existieren vier aktive/halbaktive Zweige im  
   FreeBSD-CVS-Repository. In fru:heren Zweigen a:ndert sich wenig,
   daher gibt es nur vier aktive Entwicklungszweige:

     * RELENG_7 bzw. 7-STABLE

     * RELENG_8 bzw. 8-STABLE

     * RELENG_9 bzw. 9-STABLE

     * HEAD bzw. -CURRENT oder 10-CURRENT

   HEAD ist keine wirkliche Bezeichnung fu:r einen Zweig, wie die
   anderen. Es ist lediglich eine symbolische Konstante fu:r "den
   aktuellen, nicht verzweigten Entwicklungsstrom", auf den wir uns
   einfach als -CURRENT beziehen.

   Derzeit steht -CURRENT fu:r den 10.X-Entwicklungsstrom. Der
   9-STABLE-Zweig (RELENG_9) wurde von -CURRENT im September 2011 und
   der 8-STABLE-Zweig (RELENG_8) im August 2009 von -CURRENT
   abgespalten.

   18.4. Wie kann ich meine eigene, angepasstes Release erstellen?

   Eine Anleitung dazu finden Sie im Artikel   FreeBSD Release
   Engineering.

   18.5. Wieso u:berschreibt make world das installierte System?

   Das ist beabsichtigt. Wie der Name schon andeutet, erstellt make
   world alle Systemdateien von Grund auf neu. Sie ko:nnen also
   sicher sein, am Ende eine saubere, konsistente Umgebung zu haben
   (das ist der Grund, warum es so lange dauert).

   Falls die Umgebungsvariable DESTDIR wa:hrend der Ausfu:hrung von
   make world oder make install definiert ist, werden die neu
   erstellten Binaries unter ${DESTDIR} in einem zum installierten
   identischen Verzeichnisbaum abgelegt. Einige zufa:llige
   Kombinationen von A:nderungen von Shared Libraries und
   Neuerstellungen von Programmen ko:nnen hierbei jedoch ein
   Scheitern von make world verursachen.

   18.6. Warum ist cvsup.FreeBSD.org kein Round-Robin-Eintrag im DNS,
   so dass Anfragen auf alle CVsup-Server verteilt werden?

   Die CVsup-Server gleichen sich stu:ndlich mit dem Hauptserver ab.
   Allerdings findet der Abgleich nicht zur gleichen Zeit statt,
   daher ko:nnen einige Server neuere Quellen bereitstellen als
   andere Server. Alle Server stellen jedoch Quellen bereit, die
   maximal eine Stunde alt sind. Wa:re cvsup.FreeBSD.org ein
   Round-Robin-Eintrag im DNS, der Benutzern einen zufa:lligen Server
   zuteilt, ko:nnten beim zweiten Lauf von CVsup a:ltere Quellen als
   beim ersten Lauf heruntergeladen werden.

   18.7. Kann ich -CURRENT mit begrenztem Internetzugang folgen?

   Ja, Sie ko:nnen das tun, ohne den gesamten Quellbaum
   herunterzuladen, indem Sie die Einrichtung CTM benutzen.

   18.8. Wie haben Sie die Distribution in 1392 KB-Dateien
   aufgespalten?

   Bei neueren BSD-basierten Systemen gibt es eine Option -b zu
   split(1), die das Splitten von Dateien an willku:rlichen
   Bytegrenzen erlaubt.

   Hier ist ein Beispiel aus /usr/src/release/Makefile.

 ZIPNSPLIT=              gzip --no-name -9 -c | split -b 1392k -

   18.9. Ich habe eine Kernelerweiterung geschrieben. An wen sende
   ich sie?

   Lesen Sie bitte den Artikel   FreeBSD unterstu:tzen.

   Und Danke, dass Sie daru:ber nachdenken!

   18.10. Wie werden Plug&Play ISA-Karten erkannt und initialisiert?

   Von: Frank Durda IV <uhclem@nemesis.lonestar.org>

   Kurz gesagt gibt es nur wenige I/O-Ports u:ber die PnP-Karten
   antworten, wenn der Host fragt, ob jemand da ist. Wenn die
   PnP-Erkennungsroutine startet, fragt sie, ob irgendwelche
   PnP-Karten vorhanden sind und alle PnP-Karten antworten mit ihrer
   Modellnummer auf demselben Port, von dem sie auch gelesen haben.
   Die Erkennungsroutine erha:lt also ein geodertes "Ja" auf diese
   Frage. Mindestens ein Bit wird bei dieser Antwort gesetzt sein.
   Die Erkennungsroutine ist dann in der Lage, dafu:r zu sorgen, dass
   Karten mit Modellnummern (zugeordnet von Microsoft/Intel) kleiner
   als X "off-line" gesetzt werden. Sie pru:ft dann, ob immer noch
   Karten da sind, die auf die Frage antworten. Falls die Antwort 0
   war, sind keine Karten mit IDs gro:sser X vorhanden. Die
   Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb X
   vorhanden sind. Schliesslich setzt die Erkennungsroutine alle
   Karten gro:sser als X - (limit / 4) off-line und wiederholt die
   Frage. Wenn diese halbbina:re Suche nach IDs in Folge genu:gend
   oft wiederholt worden ist, wird die Erkennungsroutine schliesslich
   alle in einem Rechner befindlichen PnP-Karten identifiziert haben
   und das mit einer Iterationszahl sehr viel kleiner als 264.

   Die IDs bestehen aus zwei 32-Bit-Feldern (daher 264) + acht Bit
   Pru:fsumme. Die ersten 32 Bit sind die Herstellerkennung. Es wurde
   zwar nicht besta:tigt, aber es wird angenommen, dass
   unterschiedliche Kartentypen desselben Herstellers
   unterschiedliche 32-Bit Herstellerkennungen besitzen ko:nnen.
   32 Bit nur fu:r eindeutige Hersteller zu beno:tigen, scheint etwas
   u:bertrieben.

   Die niedrigen 32 Bit sind eine Seriennummer oder etwas anderes,
   das die betreffende Karte einzigartig macht. Die Hersteller
   du:rfen niemals eine zweite Karte mit denselben niedrigen 32 Bit
   herstellen, es sei denn, die ho:heren 32 Bit sind unterschiedlich.
   Sie ko:nnen also mehrere Karten des selben Typs im Rechner haben
   und die gesamten 64 Bit bleiben stets eindeutig.

   Die 32-Bit-Gruppen ko:nnen niemals nur aus Nullen bestehen. Das
   erlaubt es, bei der bina:ren Suche zu Beginn nur auf von Null
   verschiedene Bits zu achten.

   Wenn das System alle vorhandenen Karten-IDs identifiziert hat,
   reaktiviert es jede Karte - eine nach der anderen (u:ber dieselben
   I/O-Ports) und ermittelt, welche Ressourcen von der jeweiligen
   Karte beno:tigt werden, welche Wahlmo:glichkeiten fu:r Interrupts
   bestehen usw. Alle Karten werden abgefragt, um diese Informationen
   zusammenzustellen.

   Diese Informationen werden dann mit Informationen aus allen
   ECU-Dateien auf der Festplatte oder mit im MLB-BIOS verdrahteten
   Informationen verknu:pft. Die ECU- und BIOS-PnP-Unterstu:tzung
   fu:r Hardware auf dem MLB ist fu:r gewo:hnlich ku:nstlich und was
   die Peripheriegera:te tun ist nicht wirklich echtes PnP. Durch die
   Untersuchung der BIOS-Informationen und der ECU-Informationen
   ko:nnen die Erkennungsroutinen jedoch die von PnP-Gera:ten
   benutzten Ressourcen so a:ndern, dass vermieden wird, dass bereits
   von anderen Gera:ten benutzte Ressourcen verwendet werden.

   Dann werden die PnP-Gera:te nochmals besucht und ihre I/O, DMA,
   IRQ und Memory-Map-Adressen werden zugeordnet. Die Gera:te werden
   an diesen Stellen sichtbar werden und dort bis zum na:chsten
   Reboot verbleiben. Allerdings hindert Sie auch nichts daran, sie
   zu verschieben, wohin Sie wollen.

   Im obigen Teil wurde sehr viel vereinfacht, aber die grundlegende
   Idee sollte klar geworden sein.

   Microsoft hat einige der prima:ren Druckerstatusports fu:r PnP
   u:bernommen, da keine Karte diese Adressen fu:r die
   entgegengesetzten I/O-Zyklen decodiert. Ich habe wa:hrend der
   fru:hen U:berpru:fungsperiode des PnP-Vorschlags eine echte IBM
   Druckerkarte gefunden, die Schreibzugriffe auf dem Statusport
   decodiert hat, aber Microsoft hat nur "tough" gesagt. Also
   schreiben sie auf den Druckerstatusport, um Adressen zu setzen,
   benutzen zusa:tzlich diese Adresse + 0x800 und einen dritten
   I/O-Port zum Lesen, der irgendwo zwischen 0x200 und 0x3ff liegen
   kann.

   18.11. Wie bekomme ich eine Major-Number fu:r einen
   Gera:tetreiber, den ich geschrieben habe?

   FreeBSD Versionen stellen seit Februar 2003 Major-Numbers fu:r
   Gera:te automatisch zur Laufzeit bereit (lesen Sie devfs(5)),
   damit ist das nicht mehr no:tig.

   18.12. Gibt es alternative Layoutverfahren fu:r Verzeichnisse?

   Als Antwort auf die Frage nach alternativen Layoutverfahren fu:r
   Verzeichnisse ist das Schema, das derzeit benutzt wird,
   unvera:ndert von dem, das ich 1983 geschrieben habe. Ich habe das
   Vorgehen fu:r das originale Fast-Filesystem geschrieben und es
   niemals u:berarbeitet. Es funktioniert gut, wenn es darum geht, zu
   verhindern, dass Zylindergruppen volllaufen. Wie viele von Ihnen
   angemerkt haben, funktioniert es schlecht fu:r find. Die meisten
   Dateisysteme werden von Archiven erstellt, die mit einer
   Tiefensuche (also ftw) erstellt wurden. Diese Verzeichnisse werden
   u:ber die Zylindergruppen hinweg entfaltet und erzeugen denkbar
   ungu:nstigste Voraussetzungen fu:r zuku:nftige Tiefensuchen. Falls
   man die Gesamtzahl der zu erstellenden Verzeichnisse wu:sste,
   wa:re die Lo:sung die, (gesamt / fs_ncg) pro Zylindergruppe zu
   erstellen, bevor fortgefahren wird. Offensichtlich mu:sste man
   eine Heuristik erstellen, um die Zahl zu scha:tzen. Sogar die
   Benutzung einer kleinen, fixen Zahl, z.B. 10, wu:rde eine
   Verbesserung um Gro:ssenordnungen ausmachen. Um
   Wiederherstellungen von normalem Betrieb (wo der derzeitige
   Algorithmus vermutlich sinnvoller ist) zu unterscheiden, ko:nnten
   Sie die Clusterung von bis zu 10 benutzen, wenn sie alle innerhalb
   eines 10-Sekunden-Fensters durchgefu:hrt wu:rden. Jedenfalls ist
   mein Schluss, dass dies ein fruchtbares Gebiet fu:r Experimente
   ist.

   Kirk McKusick <mckusick@FreeBSD.org>, September 1998

   18.13. Wie kann ich optimalen Nutzen aus einer kernel panic
   ziehen?

   Hier ist eine typische Kernel-Panic

 Fatal trap 12: page fault while in kernel mode

 fault virtual address   = 0x40
 fault code              = supervisor read, page not present
 instruction pointer     = 0x8:0xf014a7e5
 stack pointer           = 0x10:0xf4ed6f24
 frame pointer           = 0x10:0xf4ed6f28
 code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
 processor eflags        = interrupt enabled, resume, IOPL = 0
 current process         = 80 (mount)
 interrupt mask          =
 trap number             = 12
 panic: page fault

   Wenn Sie eine Meldung wie diese sehen, reicht es nicht, sie
   einfach zu reproduzieren und sie einzusenden. Der Wert des
   Instruktionszeigers ist wichtig; leider ist er auch
   konfigurationsabha:ngig. Mit anderen Worten variieren die Werte
   abha:ngig von dem Kernel-Image, das Sie tatsa:chlich benutzen.
   Wenn Sie ein GENERIC Kernelimage von einem der Snapshots benutzen,
   dann ist es fu:r jemand anderen mo:glich, die fehlerhafte
   Instruktion herauszufinden, aber wenn Sie einen angepassten Kernel
   benutzen, ko:nnen nur Sie uns sagen, wo der Fehler auftrat.

   Was Sie tun sollten, ist folgendes:

    1. Notieren Sie sich den Wert des Instruktionszeigers. Beachten
       Sie, dass der Teil 0x8: am Anfang in diesem Fall nicht von
       Bedeutung ist; der Teil 0xf0xxxxxx ist der, den wir wollen.

    2. Tun Sie folgendes, wenn das System rebootet:

 % nm -n /kernel.that.caused.the.panic | grep f0xxxxxx

       wobei 0xf0xxxxxx der Wert des Instruktionszeigers ist. Es
       besteht die Mo:glichkeit, dass Sie keinen exakten Treffer
       erzielen, weil die Symbole in der Symboltabelle des Kernels
       Funktionseinstiegspunkte sind und die Adresse des
       Instruktionszeigers irgendwo innerhalb einer Funktion liegen
       wird und nicht am Anfang. Falls sie keinen exakten Treffer
       erzielen, lassen Sie den letzten Teil des Werts des
       Instruktionszeigers weg und versuchen es noch einmal, z.B.:

 % nm -n /kernel.that.caused.the.panic | grep f0xxxxx

       Falls das kein Ergebnis liefert, hacken Sie eine weitere
       Ziffer ab. Wiederholen Sie die Schritte, bis Sie irgendeine
       Ausgabe erhalten. Das Ergebnis wird eine Liste mo:glicher
       Funktionen sein, die die Panik verursacht haben. Das ist zwar
       kein absolut genauer Mechanismus, um die Fehlerursache
       ausfindig zu machen, aber es ist besser als gar nichts.

   Wie dem auch sei, der beste Weg, den Grund fu:r eine Panik
   herauszufinden, ist der, einen Crash-Dump festzuhalten und dann
   kgdb(1) zu benutzen, um den Stack im Crash-Dump
   zuru:ckzuverfolgen.

   Jedenfalls ist die Methode, die ich normalerweise benutze,
   folgende:

    1. Sorgen Sie dafu:r, dass die folgende Zeile in der
       Kernelkonfigurationsdatei (/usr/src/sys/arch/conf/MYKERNEL)
       enthalten ist:

 makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols

    2. Wechseln Sie in das Verzeichnis usr/src:

 # cd /usr/src

    3. Erstellen Sie den Kernel:

 # make buildkernel KERNCONF=MYKERNEL

    4. Warten Sie, bis make(1) den Kernel fertig kompiliert hat.

    5. # make installkernel KERNCONF=MYKERNEL

    6. Starten Sie das System neu.

     Anmerkung: Falls Sie die make-Variable KERNCONF nicht verwenden,
     wird ein GENERIC Kernel gebaut und installiert.

   Der make(1)-Prozess wird zwei Kernel erstellt haben:
   /usr/obj/usr/src/sys/MYKERNEL/kernel und
   /usr/obj/usr/src/sys/MYKERNEL/kernel.debug. kernel wurde als
   /boot/kernel installiert, wa:hrend kernel.debug als Quelle fu:r
   Debuggersymbole fu:r kgdb(1) benutzt werden kann.

   Um sicherzustellen, dass ein Crash-Dump erhalten bleibt, mu:ssen
   Sie /etc/rc.config editieren und dumpdev so setzen, dass es auf
   Ihre Swap-Partition zeigt. Das bewirkt, dass die rc(8)-Skripte den
   Befehl dumpon(8) benutzen, um Crash-Dumps zu ermo:glichen. Sie
   ko:nnen dumpon(8) auch manuell ausfu:hren. Nach einer Panik kann
   der Crash-Dump mit savecore(8) wiederhergestellt werden; wenn
   dumpdev in /etc/rc.conf gesetzt ist, werden die rc(8)-Skripte
   savecore(8) automatisch ausfu:hren und den Crash-Dump unter
   /var/crash ablegen.

     Anmerkung: Crash-Dumps von FreeBSD sind fu:r gewo:hnlich genauso
     gross wie der physikalische Hauptspeicher Ihres Rechners. Das
     heisst, wenn Sie 512MB RAM haben, werden sie einen
     512MB Crash-Dump erhalten. Deshalb mu:ssen Sie dafu:r sorgen,
     dass genu:gend Speicherplatz in /var/crash zur Verfu:gung steht,
     um den Dump aufnehmen zu ko:nnen. Alternativ fu:hren Sie
     savecore(8) manuell aus und lassen es den Crash-Dump in einem
     anderen Verzeichnis wiederherstellen, in dem Sie mehr Platz
     haben. Es ist mo:glich, die Gro:sse des Crash-Dumps zu
     begrenzen, indem options MAXMEM=N, wobei N die Gro:sse des
     verwendeten Kernelspeichers in KBs ist. Wenn Sie z.B. 1 GB RAM
     haben, ko:nnen Sie die Speicherbenutzung des Kernels damit auf
     128 MB begrenzen, so dass die Gro:sse Ihres Crash-Dumps 128 MB
     anstatt 1 GB betragen wird.

   Wenn Sie den Crash-Dump wiederhergestellt haben, ko:nnen Sie den
   Stack mit kgdb(1) so zuru:ckverfolgen:

 % kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0
 (kgdb) backtrace

   Beachten Sie, dass es mehrere Seiten mit wertvollen Informationen
   geben ko:nnte; idealerweise sollten Sie script(1) benutzen, um sie
   alle festzuhalten. Wenn Sie das vollsta:ndige Kernelimage mit
   allen Debugginginformationen benutzen, mu:ssten Sie exakt die
   Zeile des Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
   Fu:r gewo:hnlich mu:ssen Sie den Stack von unten an
   zuru:ckverfolgen, um die genaue Ereignisabfolge, die zum Crash
   fu:hrte, zuru:ckzuverfolgen. Sie ko:nnen kgdb(1) auch zum
   Ausdrucken der Inhalte verschiedener Variablen oder Strukturen
   benutzen, um den Systemstatus zum Zeitpunkt des Absturzes zu
   untersuchen.

     Tipp: Wenn Sie nun wirklich verru:ckt sind und einen zweiten
     Computer haben, ko:nnen Sie kgdb(1) auch fu:r entferntes
     Debugging konfigurieren, so dass Sie kgdb(1) auf einem System
     benutzen ko:nnen, um den Kernel auf einem anderen System zu
     debuggen, einschliesslich dem Setzen von Haltepunkten und dem
     Bewegen in Einzelschritten durch den Kernelcode, genauso, wie
     Sie es mit einem normalen Benutzerprogramm tun ko:nnen.

     Anmerkung: Wenn Sie DDB aktiviert haben und der Kernel im
     Debugger landet, ko:nnen Sie eine Panik (und einen Crash-Dump)
     erzwingen, indem Sie einfach panic am ddb-Prompt eingeben. Er
     ko:nnte wa:hrend der Panikphase wieder im Debugger stoppen.
     Falls er das tut, geben Sie continue ein, dann wird er den
     Crash-Dump beenden.

   18.14. Wieso funktioniert dlsym() nicht mehr fu:r ELF-Executables?

   Die ELF-Werkzeuge machen die in einem Executable definierten
   Symbole dem dynamischen Linker nicht standardma:ssig sichtbar.
   Konsequenterweise werden dlsym()-Suchen nach Handlern aus Aufrufen
   von dlopen(NULL, flags) diese Symbole nicht finden ko:nnen.

   Wenn Sie mit dlsym() nach im Hauptexecutable eines Prozesses
   vorhandenen Symbolen suchen wollen, mu:ssen Sie das Executable mit
   der Option --export-dynamic von ld(1) linken.

   18.15. Wie kann ich den Adressraum des Kernels auf i386
   vergro:ssern oder verkleinern?

   Standardma:ssig betra:gt der Adressraum des Kernels 1 GB (2 GB
   fu:r PAE) auf i386. Wenn Sie einen netzwerkintensiven Server (z.B.
   einen grossen FTP- oder HTTP-Server) betreiben, oder ZFS verwenden
   mo:chten, kann es sein, dass Sie der Meinung sind, dass das nicht
   ausreichen.

   Fu:gen Sie die folgende Zeile zu ihrer Kernelkonfigurationsdatei
   hinzu, um den verfu:gbaren Speicher zu erho:hen und erstellen Sie
   dann einen neuen Kernel:

 options KVA_PAGES=N

   Um den richtigen Wert von N zu bestimmen, teilen Sie den
   gewu:nschte Gro:sse des Addressraumes (in Megabyte) durch vier
   (z.B. betra:gt er 512 fu:r 2 GB).

     --------------------------------------------------------------

                         Kapitel 19. Danksagung

   Dieses kleine unschuldige Dokument mit Ha:ufig gestellten Fragen
   wurde in den letzten 10 Jahren von Hunderten, wenn nicht
   Tausenden, geschrieben, neu geschrieben, u:berarbeitet, gefaltet,
   verdreht, durcheinander gebracht, wieder aufgebaut, verstu:mmelt,
   seziert, durchgekaut, u:berdacht, und wiederbelebt. Und das nicht
   nur einmal.

   Wir mo:chten allen dafu:r Verantwortlichen danken und wir fordern
   auch Sie auf, dieser Gruppe beizutreten, um diese FAQ noch besser
   zu machen.

   Folgende Personen haben durch die Beantwortung von Fragen, sowie
   durch Hinweise und Kommentare an der Entstehung der deutschen
   U:bersetzung mitgewirkt:

     * Ross Alexander

     * John Baldwin <jhb@FreeBSD.org>

     * Nik Clayton <nik@FreeBSD.org>

     * Glen Foster

     * Oliver Fromme

     * Frank Gruender

     * Chris Hill

     * James Howard

     * Jordan K. Hubbard <jkh@FreeBSD.org>

     * Alexander Langer <alex@FreeBSD.org>

     * Jose M. Alcaide <jmas@FreeBSD.org>

     * Mike Meyer

     * Dan O'Connor

     * Eric Ogren

     * Uwe Pierau <uwe.pierau@tu-clausthal.de>

     * Oliver Schneider

     * Christoph Sold

   Und an alle anderen, an die wir nicht gedacht haben.
   Entschuldigung und herzlichen Dank!

     --------------------------------------------------------------

                             Bibliographie

   4.4BSD System Manager's Manual, Computer Systems Research Group,
   University of California, Berkeley, O'Reilly and Associates, 1.
   Ausgabe, Juni 1994, 804 Seiten, ISBN 1-56592-080-5.

   4.4BSD User's Reference Manual, Computer Systems Research Group,
   University of California, Berkeley, O'Reilly and Associates, 1.
   Ausgabe, Juni 1994, 905 Seiten, ISBN 1-56592-075-9.

   4.4BSD User's Supplementary Documents, Computer Systems Research
   Group, University of California, Berkeley, O'Reilly and
   Associates, 1. Ausgabe, Juni 1994, 712 Seiten, ISBN 1-56592-076-7.

   4.4BSD Programmer's Reference Manual, Computer Systems Research
   Group, University of California, Berkeley, O'Reilly and
   Associates, 1. Ausgabe, Juni 1994, 866 Seiten, ISBN 1-56592-078-3.

   4.4BSD Programmer's Supplementary Documents, Computer Systems
   Research Group, University of California, Berkeley, O'Reilly and
   Associates, 1. Ausgabe, Juni 1994, 596 Seiten, ISBN 1-56592-079-1.

   The Design and Implementation of the 4.4BSD Operating System, M.
   K. McKusick, Kirk Marshall, Keith Bostic, Michael J Karels und
   John Quarterman, Addison-Wesley, Reading, 1996, ISBN
   0-201-54979-4.

   Unix System Administration Handbook, Evi Nemeth, Garth Snyder,
   Scott Seebass, Trent R. Hein und John Quarterman, Prentice-Hall,
   3. Ausgabe, 2000, ISBN 0-13-020601-6.

   The Complete FreeBSD, Greg Lehey, Walnut Creek, 3. Ausgabe, Juni
   1999, 773 Seiten, ISBN 1-57176-246-9.

   The FreeBSD Handbook, FreeBSD Documentation Project, BSDi, 1st
   Edition, November 1999, 489 pages, ISBN 1-57176-241-8.

   [McKusick et al, 1994] Berkeley Software Architecture Manual,
   4.4BSD Edition, M. K. McKusick, M. J. Karels, S. J. Leffler, W. N.
   Joy und R. S. Faber, 5:1-42.

  Fussnoten

   [1] In einer Mail von Keith Frechette <kfrechet@us.ibm.com>.       
   [2] Mit "Empfangssignalpegel" oder "Tra:gersignalerkennung" wird   
       hier die carrier detect Leitung bezeichnet.                    

     --------------------------------------------------------------

     Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
                   <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail
                an <de-bsd-translators@de.FreeBSD.org>.
