diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/faq/book.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/faq/book.sgml | 12390 |
1 files changed, 0 insertions, 12390 deletions
diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml deleted file mode 100644 index bac5de6098..0000000000 --- a/de_DE.ISO8859-1/books/faq/book.sgml +++ /dev/null @@ -1,12390 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> -<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" - "../../../share/sgml/freebsd42.dtd" [ -<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE" "../../share/sgml/entities.ent"> -%entities; -<!ENTITY bibliography SYSTEM "../../share/sgml/bibliography.sgml"> -<!ENTITY rel.head "<emphasis>10-CURRENT</emphasis>"> -<!ENTITY rel.head.relx "10.<replaceable>X</replaceable>"> -<!ENTITY rel.head.releng "<symbol>HEAD</symbol>"> -<!ENTITY rel.head.packages "packages-10-current"> -<!ENTITY rel.relx "9.<replaceable>X</replaceable>"> -<!ENTITY rel.stable "<emphasis>9-STABLE</emphasis>"> -<!ENTITY rel.releng "<symbol>RELENG_9</symbol>"> -<!ENTITY rel.relengdate "September 2011"> -<!ENTITY rel.packages "packages-9-stable"> -<!ENTITY rel2.relx "8.<replaceable>X</replaceable>"> -<!ENTITY rel2.stable "<emphasis>8-STABLE</emphasis>"> -<!ENTITY rel2.releng "<symbol>RELENG_8</symbol>"> -<!ENTITY rel2.relengdate "August 2009"> -<!ENTITY rel2.packages "packages-8-stable"> -<!ENTITY rel3.current "7.4"> -<!ENTITY rel3.relx "7.<replaceable>X</replaceable>"> -<!ENTITY rel3.stable "<emphasis>7-STABLE</emphasis>"> -<!ENTITY rel3.releng "<symbol>RELENG_7</symbol>"> -<!ENTITY rel3.relengdate "October 2007"> -<!ENTITY rel3.packages "packages-7-stable"> -]> - -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - -$FreeBSD$ -$FreeBSDde$ - - basiert auf: r39057 - ---> - -<book id="faq" lang="de"> - <bookinfo> - <title>Häufig gestellte Fragen zu &os; - &rel3.relx;, &rel2.relx; und &rel.relx;</title> - - <subtitle>Frequently Asked Questions zu &os; - &rel3.relx;, &rel2.relx; und &rel.relx;</subtitle> - - <authorgroup> - <corpauthor>The &os; German Documentation - Project</corpauthor> - - <collab> - <collabname>Deutsche Übersetzung von Robert S. F. - Drehmel, Dirk Gouders, Udo Erdelhoff, Johann Kois - und Benedict Reuschling</collabname> - </collab> - </authorgroup> - - <copyright> - <year>1995</year> - <year>1996</year> - <year>1997</year> - <year>1998</year> - <year>1999</year> - <year>2000</year> - <year>2001</year> - <year>2002</year> - <year>2003</year> - <year>2004</year> - <year>2005</year> - <year>2006</year> - <year>2007</year> - <year>2008</year> - <year>2009</year> - <year>2010</year> - <year>2011</year> - <year>2012</year> - <holder>The &os; Documentation Project</holder> - </copyright> - - <copyright> - <year>2000 - 2011</year> - - <holder>The &os; German Documentation Project</holder> - </copyright> - - &legalnotice; - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.3com; - &tm-attrib.adobe; - &tm-attrib.creative; - &tm-attrib.cvsup; - &tm-attrib.ibm; - &tm-attrib.ieee; - &tm-attrib.intel; - &tm-attrib.iomega; - &tm-attrib.linux; - &tm-attrib.microsoft; - &tm-attrib.mips; - &tm-attrib.netscape; - &tm-attrib.opengroup; - &tm-attrib.oracle; - &tm-attrib.sgi; - &tm-attrib.sparc; - &tm-attrib.sun; - &tm-attrib.usrobotics; - &tm-attrib.general; - </legalnotice> - - <releaseinfo>$FreeBSD$</releaseinfo> - - <abstract> - <para>Dies ist die FAQ für die &os;-Versionen &rel3.relx; - &rel2.relx; und &rel.relx;. Alle Einträge sollten - für &os; ab Version &rel3.relx; relevant sein, - andernfalls wird darauf explizit hingewiesen. Falls Sie daran - interessiert sein sollten, an diesem Projekt mitzuarbeiten, - senden Sie eine Mail an die Mailingliste &a.de.translators;. Die - aktuelle Version dieses Dokuments ist ständig auf dem <ulink - url="http://www.FreeBSD.org/">&os; World-Wide-Web-Server</ulink> - verfügbar. Sie kann aber auch als eine einzige große <ulink - url="book.html">HTML</ulink>-Datei, als Textdatei, als &postscript;- - oder PDF-Datei sowie in verschiedenen anderen Formaten vom <ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">&os; FTP-Server</ulink> - heruntergeladen werden. Alternativ können Sie die FAQ auch <ulink - url="&url.base;/search/search.html"> durchsuchen</ulink>.</para> - </abstract> - </bookinfo> - - <chapter id="introduction"> - <title>Einleitung</title> - - <para>Willkommen zur &os; &rel3.relx;-&rel2.relx;- und &rel.relx; - FAQ!</para> - - <para>Wie auch bei den Usenet FAQs üblich, wird mit diesem - Dokument beabsichtigt, die am häufigsten gestellten Fragen - bezüglich des Betriebssystems &os; zu erfassen und sie - natürlich auch zu beantworten. Obwohl FAQs - ursprünglich lediglich dazu dienen sollten, die - Netzbelastung zu reduzieren und das ständige Wiederholen - derselben Fragen zu vermeiden, haben sie sich als wertvolle - Informationsquellen etabliert.</para> - - <para>Wir haben uns die größte Mühe gegeben, diese - FAQ so lehrreich wie möglich zu gestalten; falls Sie - irgendwelche Vorschläge haben, wie sie verbessert werden - kann, senden Sie diese bitte an die Mailingliste des - &a.de.translators;.</para> - - <qandaset> - <qandaentry> - <question id="what-is-FreeBSD"> - <para>Was ist &os;?</para> - </question> - - <answer> - <para>&os; ist, kurz gesagt, ein &unix; ähnliches - Betriebssystem für die Plattformen AMD64 - sowie &intel; EM64T, &i386;, IA-64, &arm;, &powerpc;, PC-98 - und &ultrasparc;, - das auf der <quote>4.4BSD-Lite</quote>-Release - der University of California at Berkeley (UCB) basiert; - außerdem flossen einige Erweiterungen aus der - <quote>4.4BSD-Lite2</quote>-Release mit ein. Es basiert - außerdem indirekt auf der von William Jolitz unter - dem Namen <quote>386BSD</quote> herausgebrachten - Portierung der <quote>Net/2</quote>-Release der UCB auf - die &i386;-Plattform - allerdings ist nur wenig vom - 386BSD-Code übriggeblieben. Eine umfassendere - Beschreibung darüber, was &os; ist und wie Sie es - für Ihre Zwecke verwenden können, finden Sie auf - den Internetseiten des <ulink - url="&url.base;/de/index.html"> &os; Projects</ulink>.</para> - - <para>Unternehmen, Internet Service Provider, Forscher, - Computerfachleute, Studenten und Privatnutzer auf der - ganzen Welt benutzen &os; für die Arbeit, die - Ausbildung oder zur Freizeitgestaltung.</para> - - <para>Ausführlichere Informationen zu &os;, finden - Sie im <ulink - url="&url.books.handbook;/index.html">&os; Handbuch</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="FreeBSD-goals"> - <para>Welches Ziel hat das &os; Project?</para> - </question> - - <answer> - <para>Die Ziel von &os; ist es, Software zur Nutzung - für beliebige Zwecke, bedingungslos zur - Verfügung zu stellen. Viele von uns haben - erheblich zur Erstellung des Codes (und zum Projekt) - beigetragen und hä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 <quote>Mission</quote> zuerst und - vorderst darin besteht, allen und jedem Kommenden Code - für welchen Zweck auch immer zur Verfügung zu - stellen, damit der Code möglichst weit eingesetzt - wird und den größtmöglichen Nutzen - liefert. Das ist, so glauben wir, eines der - fundamentalsten Ziele von freier Software und eines, das - wir enthusiastisch unterstützen.</para> - - <para>Der Code in unserem Quellbaum, der der <ulink - url="http://www.FreeBSD.org/copyright/COPYING">GNU General - Public License (GPL)</ulink> oder der <ulink - url="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU - Library General Public License (LGPL)</ulink> unterliegt, - ist mit zusätzlichen, geringfügigen Bedingungen - verknüpft, jedoch handelt es sich dabei lediglich um - erzwungene Bereitstellung statt des sonst üblichen - Gegenteils. Auf Grund der zusätzlichen - Komplexität, die durch den kommerziellen Einsatz von - GPL Software entstehen kann, bemühen wir uns jedoch, - solche Software, wo möglich, durch solche, die der - etwas lockereren <ulink - url="http://www.FreeBSD.org/copyright/freebsd-license.html">&os; - Lizenz</ulink> unterliegt, zu ersetzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bsd-license-restrictions"> - <para>Beinhaltet das &os;-Copyright irgendwelche - Einschränkungen?</para> - </question> - - <answer> - <para>Ja. Diese Einschränkungen regeln aber nicht, wie - Sie mit dem Sourcecode umgehen, sondern betreffen nur den - Umgang mit dem &os; Project an sich. Wenn Sie sich - ernsthaft damit auseinandersetzen wollen, lesen Sie - einfach die <ulink - url="http://www.FreeBSD.org/copyright/freebsd-license.html"> - &os;-Lizenz</ulink>. Wenn Sie einfach nur neugierig - sind, sollte diese Zusammenfassung ausreichen:</para> - - <itemizedlist> - <listitem> - <para>Behaupten Sie nicht, Sie hätten es - geschrieben.</para> - </listitem> - - <listitem> - <para>Verklagen Sie uns nicht, wenn irgend etwas nicht - funktioniert.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="replace-current-OS"> - <para>Kann &os; mein bisher verwendetes Betriebssystem - ersetzen?</para> - </question> - - <answer> - <para>In den meisten Fällen lautet die Antwort ja. - Allerdings ist diese Frage nicht ganz so einfach, wie sie - scheint.</para> - - <para>Die meisten Anwender benutzen kein Betriebssystem, - sondern Anwendungen. Die Anwendungen sind es, die das - Betriebssystem benutzen. &os; ist dazu gedacht, eine - stabile und vielfältige Umgebung für Anwendungen - bereitzustellen. Es unterstützt viele - unterschiedliche Web-Browser, Büroanwendungen, - E-Mail-Programme, Grafik-Programme, Entwicklungsumgebungen, - Netzwerk-Server, und so ziemlich alles andere, was Sie sich - wünschen können. Die meisten dieser Anwendungen - sind in der <ulink - url="http://www.FreeBSD.org/ports/">Ports-Sammlung</ulink> - verfügbar.</para> - - <para>Wenn Sie Anwendung benutzen müssen, die es nur - für ein bestimmtes Betriebssystem gibt, dann kommen - Sie an diesem Betriebssystem nicht vorbei. Allerdings - stehen die Chancen nicht schlecht, dass es eine - vergleichbare Anwendung für &os; gibt. Wenn Sie - einen verläßlichen Server für ihr - Büro oder das Internet brauchen, oder eine stabilen - Arbeitsplatz, oder einfach nur die Fähigkeit, ihre - Arbeit ohne dauernde Abstürze machen zu können, - dann kann &os; genau das sein. Viele Anwender auf der - ganzen Welt, vom Anfänger bis zum erfahrenen - Administrator, benutzen an Ihren Arbeitsplätzen - ausschließlich &os;.</para> - - <para>Wenn Sie von einem anderen &unix; System zu &os; - wechseln, dürfte Ihnen vieles bekannt vorkommen. - Wenn Ihr Hintergrund ein Grafik-orientiertes - Betriebssystem wie &windows; oder ein älteres &macos; - ist, werden Sie zusätzliche Zeit investieren - müssen, um den &unix; Stil zu verstehen. Dieser FAQ - und das <ulink url="&url.books.handbook;/index.html">&os; - Handbuch</ulink> sind die besten Startpunkte.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="why-called-FreeBSD"> - <para>Warum heißt es &os;?</para> - </question> - - <answer> - <itemizedlist> - <listitem> - <para>Es darf kostenlos genutzt werden - sogar von - kommerziellen Benutzern.</para> - </listitem> - - <listitem> - <para>Der komplette Quellcode für das - Betriebssystem ist frei verfügbar und die - Benutzung, Verbreitung und Einbindung in andere - (kommerzielle und nicht-kommerzielle) Arbeiten sind - mit den geringstmöglichen Einschränkungen - versehen worden.</para> - </listitem> - - <listitem> - <para>Jedem ist es freigestellt, Code für - Verbesserungen oder die Behebung von Fehlern - einzusenden und ihn zum Quellbaum hinzufügen zu - lassen (dies ist natürlich Gegenstand von ein - oder zwei offensichtlichen Klauseln).</para> - </listitem> - </itemizedlist> - - <para>Es wird darauf hingewiesen, dass das englische - Wort <quote>free</quote> hier in den Bedeutungen - <quote>umsonst</quote> und <quote>Sie können tun, was - immer Sie möchten</quote> genutzt wird. Abgesehen - von ein oder zwei Dingen, die Sie mit dem &os;-Code - <emphasis>nicht</emphasis> tun können (z.B. vorgeben, - ihn geschrieben zu haben), können Sie damit - tatsächlich tun, was auch immer Sie möchten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="differences-to-other-bsds"> - <para>Wie unterschieden sich &os;, NetBSD, OpenBSD - und andere Open-Source BSD-Systeme?</para> - </question> - - <answer> - <para>James Howards Artikel, genannt <ulink - url="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html">The - BSD Family Tree</ulink>, beschreibt sehr gut die Geschichte - und die Unterschiede der BSD-Varianten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="latest-version"> - <para>Welches ist die aktuelle &os;-Version?</para> - </question> - -<!-- - This answer is a hack to deal with the fact that for now there are - multiple "latest" versions of FreeBSD. ---> - - <answer> - <para>Momentan gibt es zwei Entwicklungszweige, - die für die Erstellung von Releases verwendet werden. - Die &rel.relx;-RELEASEs werden auf dem &rel.stable;-Zweig erstellt, - die &rel2.relx;-RELEASEs auf dem &rel2.stable;-Zweig.</para> - - <para>Bis zur Veröffentlichung von &os; 8.0 galt - die &rel3.relx;-Serie als <emphasis>-STABLE</emphasis>. Seither - gibt es für den Zweig &rel3.relx; nur mehr - eine <quote>erweiterte Unterstützung</quote> in der Form - von Korrekturen von größeren Problemen, wie - neu entdeckten Sicherheitsheitslücken. Aus dem Zweig - &rel3.stable; werden zwar noch RELEASEs erzeugt, er gilt aber - als <quote>ausgereift</quote>. Aktive Weiterentwicklungen - konzentrieren sich daher auf den Zweig &rel.stable; und - &rel2.stable;.</para> - - <para>Version <ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;</ulink> - ist das aktuelle Release des &rel.stable;-Zweigs und ist im - Januar 2009 <!--&rel.current.date;--> erschienen. - Version <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</ulink> - ist das aktuelle Release aus dem - &rel2.stable;-Zweig und ist im - November 2008 <!--&rel2.current.date;--> erschienen.</para> - - <para>Kurz gesagt, <emphasis>-STABLE</emphasis> ist - für ISPs und andere Benutzer gedacht, die mehr Wert - auf Stabilität und eine niedrige - Änderungsfrequenz als auf die neuesten und - möglicherweise unstabilen Features im - aktuellen <emphasis>-CURRENT</emphasis> Snapshot legen. - Releases können aus jedem Zweig entstehen, Sie - sollten <emphasis>-CURRENT</emphasis> allerdings nur dann - benutzen, wenn Sie auf ein erhöhtes Fehlverhalten - im Vergleich zu <emphasis>-STABLE</emphasis> auch - vorbereitet sind.</para> - - <para>Releases entstehen nur <link - linkend="release-freq">alle paar Monate</link>. Viele - Leute halten ihre Systeme aktueller (lesen Sie die Fragen - zu <link linkend="current">&os;-CURRENT</link> und - <link linkend="stable">&os;-STABLE</link>), aber das - erfordert ein erhöhtes Engagement, da die Sourcen - sich ständig verändern.</para> - - <para>Weitere Informationen über &os;-Releases entnehmen - Sie der Seite <ulink - url="http://www.FreeBSD.org/releng/index.html">Release - Engineering</ulink> des &os; Webauftritts.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="current"> - <para>Was ist <emphasis>&os;-CURRENT</emphasis>?</para> - </question> - - <answer> - <para><ulink - url="&url.books.handbook;/current-stable.html#CURRENT"> - &os;-CURRENT</ulink> ist die Entwicklungsversion des - Betriebssystems, aus der zu gegebener Zeit &os.stable; - werden wird. Als solche ist sie lediglich für - Entwickler, die am System mitarbeiten und für - unentwegte Bastler von Interesse. Details zum Betrieb von - <emphasis>-CURRENT</emphasis> finden Sie im <ulink - url="&url.books.handbook;/current-stable.html#CURRENT"> - entsprechenden Abschnitt</ulink> des <ulink - url="&url.books.handbook;/index.html">Handbuchs</ulink>.</para> - - <para>Falls Sie nicht mit dem Betriebssystem vertraut sind - oder nicht in der Lage sein sollten, den Unterschied - zwischen einen echten und einem temporären Problem zu - erkennen, sollten Sie &os.current; nicht verwenden. - Dieser Zweig entwickelt sich manchmal sehr schnell weiter - und kann gelegentlich nicht installierbar sein. Von Personen, die - &os.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 <quote>kurzzeitige Störungen</quote> handelt. - Fragen wie <quote>make world produziert Fehlermeldungen - bezüglich Gruppen</quote> werden in der &a.current; - Mailingliste manchmal nicht beachtet.</para> - - <para>Jeden Monat wird der aktuelle Entwicklungsstand in den - Zweigen <emphasis>-CURRENT</emphasis> und - <emphasis>-STABLE</emphasis> in einer <ulink - url="&url.base;/snapshots/">Snapshot</ulink> - Release festgehalten. Die Ziele dieser Snapshot - Releases sind:</para> - - <itemizedlist> - <listitem> - <para>Die aktuelle Version der Installationssoftware zu - testen.</para> - </listitem> - - <listitem> - <para>Personen, die <emphasis>-CURRENT</emphasis> oder - <emphasis>-STABLE</emphasis> benutzen - möchten, aber nicht über die nötige - Zeit oder Bandbreite verfügen, um - tagesaktuell zu bleiben, soll eine bequeme - Möglichkeit geboten werden, es auf ihr System zu - bringen.</para> - </listitem> - - <listitem> - <para>Die Erhaltung von Referenzpunkten des fraglichen - Codes, für den Fall, dass wir später - einmal ernsthaften Schaden anrichten sollten - obwohl - CVS verhindern sollte, dass solche Situationen - entstehen.</para> - </listitem> - - <listitem> - <para>Sicherzustellen, dass alle zu testenden, neuen - Merkmale und Fehlerbehebungen zu möglichst vielen - potentiellen Testern gelangen.</para> - </listitem> - </itemizedlist> - - <para>Von keinem <emphasis>-CURRENT</emphasis> Snapshot kann - <quote>Produktionsqualität</quote> für beliebige - Zwecke erwartet werden. Wenn Sie eine stabile und - ausgetestete Version benötigen, sollten Sie eine - vollständige Release oder einen <emphasis>-STABLE</emphasis> - Snapshot verwenden.</para> - - <para>Snapshot-Releases sind auf der <ulink - url="&url.base;/snapshots/">Snapshots</ulink>-Seite - verfügbar.</para> - - <para>Offizielle Snapshots werden in der Regel jeden Monat für - jeden aktiven Zweig erstellt. Es gibt auch täglich erstellte - Snapshots der populären &arch.i386; und &arch.amd64; Zweige, - die auf <ulink - url="http://snapshots.us.freebsd.org/"></ulink> bereitliegen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="stable"> - <para>Was ist das Konzept von <emphasis>&os;-STABLE</emphasis>?</para> - </question> - - <answer> - <para>Zur der Zeit, als &os; 2.0.5 herausgegeben wurde, - wurde entschieden, die Entwicklung von &os; zweizuteilen. - Ein Zweig wurde <ulink - url="&url.books.handbook;/current-stable.html#STABLE">-STABLE</ulink>, - der andere <ulink - url="&url.books.handbook;/cutting-edge.html#CURRENT">-CURRENT</ulink> - genannt. <emphasis>&os;-STABLE</emphasis> ist für Anbieter - von Internetdiensten und andere kommerzielle Unternehmen - gedacht, für die plötzliche Veränderungen - und experimentelle Features unerwünscht sind. - In diesem Zweige werden nur ausgetestete - Fehlerbehebungen und kleine, inkrementelle Änderungen - aufgenommen. <emphasis>&os;-CURRENT</emphasis> ist eine - ununterbrochene Linie seitdem die Version 2.0 herausgegeben - worden ist. Sie führt zu &rel.current;-RELEASE (und darüber - hinaus). Weitere Informationen zu diesen Zweigen finden Sie unter - <quote><ulink - url="&url.articles.releng.en;/release-proc.html#REL-BRANCH"> - &os; Release Engineering: Creating the Release - Branch</ulink></quote>, der Status der Zweige und der Zeitplan zur - anstehenden Veröffentlichung kann unter der Seite <ulink - url="http://www.FreeBSD.org/releng">Release Engineering - Information</ulink> gefunden werden.</para> - - <para>Der Zweig 2.2-STABLE wurde mit der - Veröffentlichung der Version 2.2.8 eingestellt. Der - Zweig 3-STABLE endete mit Version 3.5.1, der letzten - 3.<replaceable>X</replaceable>-Version, der Zweig - 4.<replaceable>X</replaceable> endete mit der Version 4.11, - der letzten 4.<replaceable>X</replaceable>-Version. Änderungen - in diesen Zweigen beschränken sich im allgemeinen auf die - Korrektur von sicherheitsrelevanten Fehlern. Der Zweig 5-STABLE - wurde mit 5.5, der letzten 5.<replaceable>X</replaceable> Version, - beendet. &rel3.stable; wird noch unterstützt, die - Unterstützung beschränkt sich allerdings auf das - Schließen von neu entdeckten Sicherheitslücken und die - Behebung von anderen ernsten Problemen.</para> - - <para>&rel.current;-STABLE ist der Zweig, auf den sich die - Entwicklung von <emphasis>-STABLE</emphasis> zur Zeit konzentriert. - Das neueste Release aus dem &rel.current;-STABLE-Zweig ist - &rel.current;-RELEASE und ist im Januar 2007 - <!--&rel.current.date;--> - erschienen.</para> - - <para>Aus dem &rel.head;-Zweig entsteht die nächste - &os;-Generation. Weitere Informationen über diesen - Zweig finden Sie unter <link - linkend="current">Was ist &os;-CURRENT?</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="release-freq"> - <para>Wann werden &os;-Versionen erstellt?</para> - </question> - - <answer> - <para>Im Schnitt gibt das &a.re; alle 18 Monate eine neue - Haupt-Version und etwa alle 8 Monate eine Unter-Version frei. - Das Erscheinungsdatum einer neuer Version wird frühzeitig - bekanntgegeben, damit die am System arbeitenden Personen wissen, - bis wann ihre Projekte abgeschlossen und ausgetestet sein - müssen. Vor jedem Release gibt es eine Testperiode um - sicherzustellen, dass die neu hinzugefügten Features - nicht die Stabilität des Releases beeinträchtigen. - Viele Benutzer halten dies für einen - großen Vorteil von &os;, obwohl es manchmal - frustrierend sein kann, so lange auf die - Verfügbarkeit der aktuellsten Leckerbissen zu - warten.</para> - - <para>Weitere Informationen über die Entwicklung von - Releases, sowie eine Übersicht über kommende Releases, - erhalten Sie auf den <ulink - url="http://www.FreeBSD.org/releng/index.html">Release - Engineering</ulink> Seiten der &os; Webseite.</para> - - <para>Für diejenigen, die ein wenig mehr Spannung - brauchen (oder möchten), werden täglich - Snapshots herausgegeben, wie oben beschrieben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="responsible"> - <para>Wer ist für &os; verantwortlich?</para> - </question> - - <answer> - <para>Schlüsseldiskussionen, die das &os; Project - betreffen, wie z.B. über die generelle Ausrichtung - des Projekts und darüber, wem es erlaubt sein soll, - Code zum Quellbaum hinzuzufügen, werden innerhalb - eines <ulink - url="&url.base;/de/administration.html#t-core">Core - Teams</ulink> von 9 Personen geführt. Es gibt - ein weitaus größeres Team von über 350 - <ulink - url="&url.articles.contributors.en;/article.html#STAFF-COMMITTERS">Committern</ulink>, - die dazu autorisiert sind, Änderungen am &os; - Quellbaum durchzuführen.</para> - - <para>Jedoch werden die meisten nicht-trivialen - Änderungen zuvor in den <link - linkend="mailing">Mailinglisten</link> diskutiert und es - bestehen keinerlei Einschränkungen darüber, wer - sich an diesen Diskussionen beteiligen darf.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="where-get"> - <para>Wie kann ich &os; beziehen?</para> - </question> - - <answer> - <para>Jede bedeutende Ausgabe von &os; ist per - Anonymous-FTP vom <ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">&os; FTP - Server</ulink> erhältlich:</para> - - <itemizedlist> - <listitem> - <para>Das aktuelle &rel.stable;-Release, &rel.current;-RELEASE, - finden Sie im Verzeichnis <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>.</para> - </listitem> - - <listitem> - <para><ulink - url="&url.base;/snapshots/">Snapshots</ulink>-Releases werden - monatlich aus dem <link - linkend="current">-CURRENT</link>-Zweig sowie aus dem <link - linkend="current">-STABLE</link>-Zweig erzeugt. - Sie sollten aber nur von Entwicklern und sehr erfahrenen - Testern verwendet werden.</para> - </listitem> - - <listitem> - <para>Das aktuelle Release von &rel2.stable;, - &rel2.current;-RELEASE finden Sie im Verzeichnis <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE</ulink>.</para> - </listitem> - - <listitem> - <para>Das aktuelle Release von &rel3.stable;, - &rel3.current;-RELEASE finden Sie im Verzeichnis <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel3.current;-RELEASE/">&rel3.current;-RELEASE</ulink>.</para> - </listitem> - </itemizedlist> - - <para>Wo und wie Sie &os; auf CD, DVD, und anderen Medien - beziehen können, erfahren Sie im <ulink - url="&url.books.handbook;/mirrors.html">Handbuch</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="access-pr"> - <para>Wie greife ich auf die Datenbank mit Problemberichten - zu?</para> - </question> - - <answer> - <para>Die Datenbank mit Problemberichten (PR, - <foreignphrase>problem report</foreignphrase>) und - Änderungsanfragen von Benutzern kann - über die webbasierte <ulink - url="http://www.de.FreeBSD.org/cgi/query-pr.cgi?query"> - PR-Abfrage</ulink>-Schnittstelle abgefragt werden.</para> - - <para>Mit dem Programm &man.send-pr.1; können Sie - Problemberichte oder Änderungsanträge per E-Mail - einsenden. Alternativ können Sie Problemberichte - auch über Ihren Browser und die - <ulink - url="http://www.freebsd.org/send-pr.html">webbasierte - PR-Eingabe</ulink>-Schnittstelle erstellen.</para> - - <para>Bevor Sie einen Fehler melden, sollten Sie sich zuerst - den Artikel <ulink - url="&url.articles.problem-reports.en;/article.html">Writing - &os; Problem Reports</ulink> durchlesen, damit Sie - wissen, wie Sie eine gute Fehlermeldung verfassen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="other-info-sources"> - <para>Gibt es weitere Informationsquellen?</para> - </question> - - <answer> - <para>Sie finden eine umfassende Liste unter <ulink - url="http://www.FreeBSD.org/docs.html">Documentation</ulink> - auf der <ulink - url="http://www.FreeBSD.org">&os;-Webseite</ulink>.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="support"> - <title>Dokumentation und Support</title> - - <qandaset> - <qandaentry> - <question id="books"> - <para>Gibt es gute Bücher über &os;?</para> - </question> - - <answer> - <para>Im Zuge des &os; Projekts sind diverse gute - Dokumente entstanden, die unter der - folgenden URL abgerufen werden können: <ulink - url="http://www.FreeBSD.org/docs.html"></ulink>. Zusätzlich - enthält <link - linkend="bibliography">die Bibliographie</link> am Ende - dieser FAQ und <ulink - url="&url.books.handbook;/bibliography.html">diejenige im - Handbuch</ulink> Verweise auf weitere empfohlene Bücher.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="doc-formats"> - <para>Ist die Dokumentation auch in anderen Formaten - verfügbar? Zum Beispiel als einfacher Text (ASCII) - oder als &postscript;?</para> - </question> - - <answer> - <para>Ja. Werfen Sie einen Blick auf das Verzeichnis <ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink> - auf dem &os; FTP-Server. Dort finden sie Dokumentation - in vielen verschiedenen Format.</para> - - <para>Die Dokumentation wurde nach vielen verschiedenen - Kriterien sortiert. Die Kriterien sind:</para> - - <itemizedlist> - <listitem> - <para>Der Name des Dokumentes, z.B. - <literal>FAQ</literal> oder - <literal>Handbuch</literal>.</para> - </listitem> - - <listitem> - <para>Die Sprache und der Zeichensatz, die in dem - Dokument verwendet werden. Diese entsprechen den - Anpassungen, die Sie auf Ihrem &os;-System im - Verzeichnis <filename - class="directory">/usr/share/locale</filename> - finden. Zurzeit werden die folgenden Sprachen und - Zeichensätze benutzt:</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - - <entry>Bedeutung</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>bn_BD.ISO10646-1</literal></entry> - - <entry>Bengalisch oder Bangla (Bangladesh) </entry> - </row> - - <row> - <entry><literal>da_DK.ISO8859-1</literal></entry> - - <entry>Dänisch (Dänemark)</entry> - </row> - - <row> - <entry><literal>de_DE.ISO8859-1</literal></entry> - - <entry>Deutsch (Deutschland)</entry> - </row> - - <row> - <entry><literal>en_US.ISO8859-1</literal></entry> - - <entry>Englisch (Vereinigte Staaten)</entry> - </row> - - <row> - <entry><literal>el_GR.ISO8859-7</literal></entry> - - <entry>Griechisch (Griechenland)</entry> - </row> - - <row> - <entry><literal>es_ES.ISO8859-1</literal></entry> - - <entry>Spanisch (Spanien)</entry> - </row> - - <row> - <entry><literal>fr_FR.ISO8859-1</literal></entry> - - <entry>Französisch (Frankreich)</entry> - </row> - - <row> - <entry><literal>it_IT.ISO8859-15</literal></entry> - - <entry>Italienisch (Italien)</entry> - </row> - - <row> - <entry><literal>hu_HU.ISO8859-2</literal></entry> - - <entry>Ungarisch (Ungarn)</entry> - </row> - - <row> - <entry><literal>ja_JP.eucJP</literal></entry> - - <entry>Japanisch (Japan, EUC-kodiert)</entry> - </row> - - <row> - <entry><literal>mn_MN.UTF-8</literal></entry> - - <entry>Mongolisch (Mongolei, UTF-8-kodiert)</entry> - </row> - - <row> - <entry><literal>nl_NL.ISO8859-1</literal></entry> - - <entry>Niederländisch (Holland)</entry> - </row> - - <row> - <entry><literal>no_NO.ISO8859-1</literal></entry> - - <entry>Norwegisch (Norwegen)</entry> - </row> - - <row> - <entry><literal>pl_PL.ISO8859-2</literal></entry> - - <entry>Polnisch (Polen)</entry> - </row> - - <row> - <entry><literal>pt_BR.ISO8859-1</literal></entry> - - <entry>Brasilianisches Portugiesisch (Brasilien)</entry> - </row> - - <row> - <entry><literal>ru_RU.KOI8-R</literal></entry> - - <entry>Russisch (Russland, KOI8-R-kodiert)</entry> - </row> - - <row> - <entry><literal>sr_YU.ISO8859-2</literal></entry> - - <entry>Serbisch (Serbien)</entry> - </row> - - <row> - <entry><literal>tr_TR.ISO8859-9</literal></entry> - - <entry>Türkisch (Türkei)</entry> - </row> - - <row> - <entry><literal>zh_CN.GB2312</literal></entry> - - <entry>Vereinfachtes Chinesisch (China, - GB2312-kodiert)</entry> - </row> - - <row> - <entry><literal>zh_TW.Big5</literal></entry> - - <entry>Chinesisch (Taiwan, Big5-kodiert)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Einige Dokumente sind nicht in allen Sprachen - verfügbar.</para> - </note> - </listitem> - - <listitem> - <para>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, während andere Formate - dafür gedacht sind, ein ansprechendes Druckbild zu - erzeugen. Das die Dokumentation in verschiedenen Formaten - verfügbar ist, stellt sicher, dass unsere Leser - die für sie relevanten Teile unabhängig vom - Ausgabemedium (Bildschirm oder Papier) lesen können. - Derzeit werden die folgenden Formate - unterstützt:</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>Format</entry> - - <entry>Erklärung</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>html-split</literal></entry> - - <entry>Viele kleine HTML-Dateien, die sich - gegenseitig referenzieren.</entry> - </row> - - <row> - <entry><literal>html</literal></entry> - - <entry>Eine große HTML-Datei, die das - komplette Dokument enthält.</entry> - </row> - - <row> - <entry><literal>pdf</literal></entry> - - <entry>Adobe's Portable Document Format</entry> - </row> - - <row> - <entry><literal>ps</literal></entry> - - <entry>&postscript;</entry> - </row> - - <row> - <entry><literal>rtf</literal></entry> - - <entry>Microsoft's Rich Text Format</entry> - </row> - - <row> - <entry><literal>txt</literal></entry> - - <entry>Ganz normaler Text</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Die Seitennummern werden nicht automatisch aktualisiert, - wenn Sie das Rich Text Format in Word laden. Wenn Sie das - Dokument geladen haben, müssen Sie Sie <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>A</keycap></keycombo>, - <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>End</keycap></keycombo>, - <keycap>F9</keycap> eingeben, um die Seitennummern - aktualisieren zu lassen.</para> - </note> - </listitem> - - <listitem> - <para>Das zur Komprimierung verwendete Programm. Zur - Zeit werden drei verschiedene Methoden - benutzt.</para> - - <orderedlist> - <listitem> - <para>Wenn die Dokumentation im Format - <literal>html-split</literal> vorliegt, werden die - Dateien mit &man.tar.1; zusammengefasst. Die - so entstandene <filename>.tar</filename> Datei - wird dann mit einer der unten genannten Methoden - komprimiert.</para> - </listitem> - - <listitem> - <para>Bei allen anderen Formaten existiert nur eine - Datei mit dem Namen - <filename><replaceable>type</replaceable>.<replaceable>format</replaceable></filename> - (z.B. <filename>article.pdf</filename>, - <filename>book.html</filename>, und so - weiter).</para> - - <para>Diese Dateien werden mit zwei verschiedenen - Programmen komprimiert.</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>Programm</entry> - - <entry>Beschreibung</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>zip</literal></entry> - - <entry>Das <literal>zip</literal>-Format. Wenn Sie - diese Dateien unter &os; entpacken wollen, - müssen sie vorher den Port - <filename - role="package">archivers/unzip</filename> - installieren.</entry> - </row> - - <row> - <entry><literal>bz2</literal></entry> - - <entry>Das <literal>bzip2</literal>-Format. Es wird - seltener als das <literal>zip</literal>-Format - benutzt, erzeugt aber normalerweise kleinere - Archive. Sie müssen den Port <filename - role="package">archivers/bzip2</filename> - installieren, um diese Dateien entpacken - zu können.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Ein Beispiel: Die mit <literal>bzip2</literal> gepackte - Version des Handbuchs im &postscript;-Format hat den Namen - <filename>book.ps.bz2</filename> und ist im Verzeichnis - <filename - class="directory">handbook/</filename> zu finden.</para> - </listitem> - </orderedlist> - </listitem> - </itemizedlist> - - <para>Nachdem Sie das Format und das Kompressionsverfahren - ausgewählt haben, müssen Sie die komprimierten Dateien - selber herunterladen, entpacken und an die richtigen Stellen - kopieren.</para> - - <para>Wenn Sie zum Beispiel die mit &man.bzip2.1; gepackte - <quote>split HTML</quote>Version der englischen FAQ - herunterladen und installieren wollten, bräuchten - Sie die Datei - <filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename>. - Um diese Datei herunterzuladen und auszupacken, wären - die folgenden Schritte notwendig.</para> - - <screen>&prompt.root; <userinput>fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput> -&prompt.root; <userinput>gzip -d book.html-split.tar.bz2</userinput> -&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen> - - <para>Danach haben Sie eine Sammlung vieler kleiner - <filename>.html</filename> Datei. Die wichtigste Datei - hat Namen <filename>index.html</filename> und enthält - das Inhaltsverzeichnis, eine Einleitung und Verweise auf - die anderen Teile des Dokumentes. Falls notwendig, - können Sie die diversen Dateien jetzt an ihren - endgültigen Bestimmungsort verschieben oder - kopieren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mailing"> - <para>Woher bekomme ich Informationen zu den &os; - Mailinglisten?</para> - </question> - - <answer> - <para>Vollständige Informationen finden Sie im <ulink - url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Handbucheintrag - über Mailinglisten</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="newsgroups"> - <para>Welche Newsgruppen existieren zu &os;?</para> - </question> - - <answer> - <para>Sie finden alle Informationen hierzu im <ulink - url="&url.books.handbook;/eresources-news.html">Handbucheintrag zu - Newsgruppen</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="irc"> - <para>Gibt es &os; IRC (Internet Relay Chat) - Kanäle?</para> - </question> - - <answer> - <para>Ja, die meisten großen IRC Netze bieten einen - &os; Chat-Channel:</para> - - <itemizedlist> - <listitem> - <para>Channel <literal>FreeBSD</literal> im <ulink - url="http://www.efnet.org/index.php">EFNet</ulink> ist - ein &os;-Forum, aber gehen Sie nicht dorthin, um - technische Unterstützung zu suchen, oder, um zu - versuchen, die Leute dort dazu zu bringen, Ihnen dabei - zu helfen, das mü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 &os;. Sie wurden gewarnt! Der Channel ist auf - dem Server <hostid>irc.efnet.org</hostid> - verfügbar.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>#FreeBSDhelp</literal> im - <ulink - url="http://www.efnet.org/index.php">EFNet</ulink> hat - sich dagegen auf die Unterstützung der Benutzer - von &os; spezialisiert. In diesem Channel sind - Fragen deutlich willkommener als im Channel - <literal>#FreeBSD</literal>.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>##FreeBSD</literal> auf - <ulink - url="http://freenode.net/">Freenode</ulink> bietet allgemeine - Hilfe zu &os;-Themen. Es sind immer viele Benutzer online. - Zwar werden auch nicht-&os;-spezifische Themen diskutiert, den - Hauptteil der Diskussionen dreht sich aber um die Lösung - der Probleme von &os;-Anwendern. Die Teilnehmer dieses - Channels helfen Ihnen auch bei Fragen zu elementaren Dingen und - zeigen Ihnen auch, wo Sie die entsprechenden Erklärungen - im &os;-Handbuch oder anderen Ressourcen finden können. - Obwohl die Teilnehmer des Channels über die ganze Welt - verstreut sind, werden alle Diskussionen auf Englisch - geführt. Wollen Sie die Diskussion in Ihrer Sprache - führen, sollten Sie Ihre Frage trotzdem auf Englisch - stellen und danach gegebenenfalls einen neuen Channel in der - Form - <literal>##freebsd-<replaceable>Ihre_Sprache</replaceable></literal> - eröffnen.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>#FreeBSD</literal> im <ulink - url="http://www.dal.net/">DALNET</ulink> ist in den - USA unter <hostid>irc.dal.net</hostid> und in Europa - unter <hostid>irc.eu.dal.net</hostid> - verfügbar.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>#FreeBSD</literal> im <ulink - url="http://www.undernet.org/">UNDERNET</ulink> ist in - den USA unter <hostid>us.undernet.org</hostid> und in - Europa unter <hostid>eu.undernet.org</hostid> - verfügbar. Es handelt sich hierbei um einen - Hilfe-Channel, man wird Sie daher auf Dokumente - verweisen, die Sie selbst lesen müssen.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>#FreeBSD</literal> im <ulink - url="http://www.rusnet.org.ru/">RUSNET</ulink> ist ein - russischsprachiger Channel, der sich der Unterstützung von - &os;-Anwendern verschrieben hat. Er ist auch ein guter - Startpunkt für nichttechnische Diskussionen.</para> - </listitem> - - <listitem> - <para>Der Channel <literal>#bsdchat</literal> auf <ulink - url="http://freenode.net/">Freenode</ulink> - (Sprache: traditionelles Chinesisch, UTF-8-kodiert) - hat sich der Unterstützung von &os;-Anwendern verschrieben. - Er ist auch ein guter Startpunkt für - nichttechnische Diskussionen.</para> - </listitem> - </itemizedlist> - - <para>Alle diese Kanäle unterscheiden sich voneinander - und sind nicht miteinander verbunden. Ebenso - unterscheiden sich Ihre Chat-Stile, weshalb es sein kann, - dass Sie zunächst alle Kanäle ausprobieren - müssen, um den zu Ihrem Chat-Stil passenden zu - finden. Hier gilt, was für <emphasis>jeden</emphasis> - IRC-Verkehr gilt: falls sie sich leicht angegriffen fühlen - oder nicht mit vielen jungen (und einigen älteren) Leuten, - verbunden mit dem nutzlosen Gezanke umgehen können, dann - ziehen Sie es gar nicht erst in Erwägung.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="forums"> - <para>Gibt es irgendwelche webbasierten Foren, in denen &os; - diskutiert wird?</para> - </question> - - <answer> - <para>Die offiziellen &os; Foren befinden sich unter <ulink - url="http://forums.FreeBSD.org/">http://forums.FreeBSD.org/</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="training"> - <para>Gibt es Firmen, die Training und Support für - &os; anbieten?</para> - </question> - - <answer> - <para><ulink - url="http://www.ixsystems.com">iXsystems, Inc.</ulink>, - die Muttergesellschaft der <ulink - url="http://www.freebsdmall.com/">&os; Mall</ulink>, - bietet kommerziellen Software-<ulink - url="http://www.ixsystems.com/bsdsupport">Support</ulink> - für &os; und PC-BSD sowie &os;-spezische - Softwareentwicklung und Hilfe bei Optimierung Ihrer - vorhandenen Installationen.</para> - - <para>Die BSD Certification Group, Inc. bietet Zertifizierungen zur - Systemadministration für DragonFly BSD, &os;, NetBSD und - OpenBSD. Wenn Sie daran interessiert sind, besuchen Sie - deren <ulink - url="http://www.BSDCertification.org">Webseite</ulink>.</para> - - <para>Wenn Ihre Firma oder Organisation ebenfalls Training - und Support anbietet und hier genannt werden möchte, - wenden Sie sich bitte an das &os; Project.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="install"> - <chapterinfo> - <author> - <firstname>Nik</firstname> - - <surname>Clayton</surname> - - <affiliation> - <address><email>nik@FreeBSD.org</email></address> - </affiliation> - </author> - </chapterinfo> - - <title>Installation</title> - - <qandaset> - <qandaentry> - <question id="floppy-download"> - <para>Welche Dateien muss ich herunterladen, um &os; - zu bekommen?</para> - </question> - - <answer> - <para>Sie benötigen drei Floppy-Images: - <filename>floppies/boot.flp</filename>, - <filename>floppies/kern1.flp</filename> sowie - <filename>floppies/kern2.flp</filename>. Diese Images - müssen mit Hilfe von Werkzeugen wie - <command>fdimage</command> oder &man.dd.1; auf Disketten - kopiert werden.</para> - - <para>Falls Sie selbst die einzelnen Distributionen - herunterladen müssen (um z.B. von einem - DOS-Dateisystem aus zu installieren), empfehlen wir, sich - die folgenden Distributionen zu besorgen:</para> - - <itemizedlist> - <listitem> - <para>base/</para> - </listitem> - - <listitem> - <para>manpages</para> - </listitem> - - <listitem> - <para>compat*</para> - </listitem> - - <listitem> - <para>doc</para> - </listitem> - - <listitem> - <para>src/ssys.*</para> - </listitem> - </itemizedlist> - - <para>Vollständige Instruktionen für dieses - Vorgehen und ein wenig mehr zur Installation generell - finden Sie im <ulink - url="&url.books.handbook;/install.html">Handbucheintrag zur - Installation von &os;</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="floppy-image-too-large"> - <para>Was soll ich tun, wenn das Floppy-Image nicht auf eine - Diskette passt?</para> - </question> - - <answer> - <para>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 - groß.</para> - - <para>Häufige Fehler bei der Erstellung der - Boot-Diskette sind:</para> - - <itemizedlist> - <listitem> - <para>Bei der Benutzung von <acronym>FTP</acronym> das - Floppy-Image nicht im - <emphasis>Binär</emphasis>-Modus - herunterzuladen.</para> - - <para>Einige FTP-Clients benutzen als Voreinstellung den - <emphasis>ASCII</emphasis>-Modus und versuchen, alle - Zeilenendezeichen an das Zielsystem anzupassen. - Dadurch wird das Boot-Image in jedem Fall unbrauchbar. - Überprüfen Sie die Größe des - heruntergeladenen Boot-Images: falls sie nicht - <emphasis>exakt</emphasis> mit der auf dem Server - übereinstimmt, hat das Herunterladen nicht - richtig funktioniert.</para> - - <para>Abhilfe: geben Sie <emphasis>binary</emphasis> an - der FTP-Eingabeaufforderung ein, nach dem Sie mit dem - Server verbunden sind und bevor Sie das Image - herunterladen.</para> - </listitem> - - <listitem> - <para>Die Benutzung des DOS-Befehls - <command>copy</command> (oder eines entsprechendes - Werkzeugs der grafischen Benutzeroberfläche), um - das Boot-Image auf die Diskette zu - übertragen.</para> - - <para>Programme wie <command>copy</command> sind hier - unbrauchbar, weil das Image zur direkten - Übertragung erstellt wurde. Das Image stellt den - gesamten Disketteninhalt dar, Spur für Spur, und - nicht eine gewöhnliche Datei. Sie müssen es - <quote>roh</quote> mit speziellen Werkzeugen (z.B. - <command>fdimage</command> oder - <command>rawrite</command>) übertragen, wie es in - der <ulink - url="&url.books.handbook;/install.html">Installationsanleitung - zu &os;</ulink> beschrieben ist.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="install-instructions-location"> - <para>Wo befinden sich die Instruktionen zur Installation - von &os;?</para> - </question> - - <answer> - <para>Installationsanleitungen finden Sie im <ulink - url="&url.books.handbook;/install.html">Handbucheintrag zur - Installation von &os;</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="need-to-run"> - <para>Was benötige ich zum Betrieb von &os;?</para> - </question> - - <answer> - <para>Der Betrieb von &os; und neuer erfordert - mindestens einen 486er Prozessor mit mindestens 24 MB - RAM sowie mindestens 150 MB an Festplattenspeicher.</para> - - <para>Alle &os;-Versionen laufen mit einer einfachen - MDA-Grafikkarte, für &xorg; benötigen Sie allerdings - eine VGA- oder eine bessere Videokarte.</para> - - <para>Lesen Sie auch den <link linkend="hardware">Abschnitt - Hardwarekompatibilität</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="custom-boot-floppy"> - <para>Wie kann ich eine angepasste - Installationsdiskette erstellen?</para> - </question> - - <answer> - <para>Zurzeit gibt es keine Möglichkeit, - <emphasis>nur</emphasis> die angepassten - Installationsdisketten zu erstellen. Sie müssen sich - eine ganz neues Release erstellen, das Ihre - Installationsdiskette enthält.</para> - - <para>Wenn Sie eine modifizierte Ausgabe erstellen wollen, - finden Sie eine Anleitung im Artikel <ulink - url="&url.articles.releng.en;/article.html"> - &os; Release Engineering</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="windows-coexist"> - <para>Kann &windows; neben &os; existieren?</para> - </question> - - <answer> - <para>Installieren Sie zuerst &windows;, dann &os;. - Der Bootmanager von &os; kann dann entweder &windows; - oder &os; booten. Falls Sie &windows; nach &os; - installieren, wird es, ohne zu fragen, Ihren Bootmanager - überschreiben. Lesen Sie den nächsten - Abschnitt, falls das passieren sollte.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="win95-damaged-boot-manager"> - <para>&windows; hat meinen Bootmanager zerstört! - Wie stelle ich ihn wieder her?</para> - </question> - - <answer> - <para>Es gibt drei Möglichkeiten, den - &os;-Bootmanager neu zu installieren:</para> - - <itemizedlist> - <listitem> - <para>Unter DOS wechseln Sie in das Verzeichnis - <filename - class="directory">tools/</filename> Ihrer &os;-Distribution und - suchen nach <filename>bootinst.exe</filename>. Rufen sie es so - auf:</para> - - <screen><prompt>...\TOOLS></prompt> <userinput>bootinst.exe boot.bin</userinput></screen> - - <para>und der Bootmanager wird neu installiert.</para> - </listitem> - - <listitem> - <para>Booten Sie &os; wieder mit der Bootdiskette und - wählen Sie den Menüeintrag <guimenuitem>Custom - Installation</guimenuitem>. - Wählen Sie <guimenuitem>Partition</guimenuitem>. - Wählen Sie das Laufwerk, auf dem sich der Bootmanager befand - (wahrscheinlich der erste Eintrag) und wenn Sie in den - Partitioneditor gelangen, drücken Sie als aller - erstes (nehmen Sie z.B. keine Änderungen vor) - (<keycap>W</keycap>)rite. Sie werden nach einer Bestätigung - gefragt, wählen Sie &gui.yes; und vergessen Sie nicht, in der - Bootmanager-Auswahl den <application>&os; Boot - Manager</application> auszuwählen. Hierdurch wird der - Bootmanager wieder auf die Festplatte geschrieben. Verlassen - Sie nun das Installationsmenü und rebooten wie - gewöhnlich von der Festplatte.</para> - </listitem> - - <listitem> - <para>Booten Sie &os; wieder mit der Bootdiskette - (oder der CD-ROM) und wählen Sie den - Menüpunkt <guimenuitem>Fixit</guimenuitem>. Wählen - Sie die für Sie passende Option, entweder die - Fixit-Diskette oder die CD-ROM Nummer 2 (die Option - <quote>live</quote> Filesystem). Wechseln Sie zur - Fixit-Shell und geben Sie den folgenden Befehl - ein:</para> - - <screen><prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>bootdevice</replaceable></userinput></screen> - - <para>Als <replaceable>bootdevice</replaceable> - müssen Sie das von Ihrem System verwendete - Gerät angeben, z.B. <devicename>ad0</devicename> - (erste IDE-Platte), <devicename>ad4</devicename> - (erste IDE-Platte an einem zusätzlichen - Controller), <devicename>da0</devicename> (erste - SCSI-Platte), usw.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="boot-on-thinkpad"> - <para>Mein IBM Thinkpad Modell A, T oder X, hängt sich - auf, wenn ich &os; zum ersten Mal starte. Was soll ich - machen?</para> - </question> - - <answer> - <para>Ein Fehler in den ersten BIOS-Versionen dieser - Geräte führt dazu, dass sie die von &os; - genutzte Partition für eine Suspend-To-Disk-Partition - halten. Wenn das BIOS dann versucht, diese Partition - auszuwerten, hängt sich das System auf.</para> - - <para>Laut IBM - <footnote> - <para>In einer Mail von Keith Frechette - <email>kfrechet@us.ibm.com</email>.</para> - </footnote> - wurde der Fehler wurde in den folgenden BIOS-Versionen - behoben:</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>Gerät</entry> - - <entry>BIOS Version</entry> - </row> - </thead> - - <tbody> - <row> - <entry>T20</entry> - - <entry>IYET49WW oder neuer</entry> - </row> - - <row> - <entry>T21</entry> - - <entry>KZET22WW oder neuer</entry> - </row> - - <row> - <entry>A20p</entry> - - <entry>IVET62WW oder neuer</entry> - </row> - - <row> - <entry>A20m</entry> - - <entry>IWET54WW oder neuer</entry> - </row> - - <row> - <entry>A21p</entry> - - <entry>KYET27WW oder neuer</entry> - </row> - - <row> - <entry>A21m</entry> - - <entry>KXET24WW oder neuer</entry> - </row> - - <row> - <entry>A21e</entry> - - <entry>KUET30WW</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Es ist möglich, dass neuere Version des IBM - BIOS den Fehler wieder enthalten. <ulink - url="http://docs.freebsd.org/cgi/mid.cgi?20010427133759.A71732"> - Dieser Beitrag</ulink> von &a.nectar; auf der - Mailingliste &a.mobile; beschreibt eine Technik, - die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop - mit &os; nicht bootet und Sie eine neuere oder - ältere BIOS-Version einspielen können.</para> - - <para>Wenn Ihr Thinkpad über eine ältere - BIOS-Version verfügt und Sie das BIOS nicht - aktualisieren können, ist eine der möglichen - Lösungen, &os; zu installieren, die Partitions-ID - zu ändern und danach neue Bootblocks zu installieren, - die mit der geänderten ID umgehen - können.</para> - - <para>Zunächst müssen Sie die Maschine so weit - wiederherstellen, dass sie über den Selbst-Test - hinauskommt. Dazu ist es erforderlich, dass das - System beim Start keine Partitions-ID auf seiner - primären Festplatte findet. Eine Variante ist, die - Platte auszubauen und vorübergehend in einem - älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit - einem passenden Adapter) in einen normalen PC einzubauen. - Sobald dies erfolgt ist, können Sie die - &os;-Partition löschen und die Festplatte wieder - in das Thinkpad einbauen. Das Thinkpad sollte jetzt - wieder starten können.</para> - - <para>Danach können Sie mit der nachfolgend - beschriebenen Anleitung eine funktionsfähige - &os;-Installation erhalten.</para> - - <procedure> - <step> - <para>Beschaffen Sie sich <filename>boot1</filename> und - <filename>boot2</filename> von <ulink - url="http://people.FreeBSD.org/~bmah/ThinkPad/"></ulink>. - Legen Sie diese Dateien so ab, dass Sie - während der Installation darauf zugreifen - können.</para> - </step> - - <step> - <para>Installieren Sie ganz wie gewohnt &os; auf dem - Thinkpad. Allerdings dürfen Sie den - <quote>Dangerously Dedicated</quote>-Modus - <emphasis>nicht benutzen</emphasis>. Nach dem - Abschluss der Installation dürfen Sie die - Maschine <emphasis>nicht neu - starten</emphasis>.</para> - </step> - - <step> - <para>Wechseln Sie zur <quote>Emergency Holographic - Shell</quote> (<keycombo - action="simul"> - <keycap>Alt</keycap> - <keycap>F4</keycap> - </keycombo>) - oder starten Sie eine <quote>fixit</quote> - Shell.</para> - </step> - - <step> - <para>Benutzen Sie &man.fdisk.8;, um die Partitions-ID - von &os; von <literal>165</literal> in - <literal>166</literal> zu ändern (dieser Wert - wird von OpenBSD benutzt).</para> - </step> - - <step> - <para>Kopieren Sie die Dateien - <filename>boot1</filename> und - <filename>boot2</filename> auf die lokale - Festplatte.</para> - </step> - - <step> - <para>Installieren Sie - <filename>boot1</filename> und - <filename>boot2</filename> mit &man.disklabel.8; auf - die &os;-Slice.</para> - - <screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0s<replaceable>n</replaceable></userinput></screen> - - <para>Setzen Sie für <replaceable>n</replaceable> - die Nummer der Slice ein, auf der sie FreeBSD - installiert haben.</para> - </step> - - <step> - <para>Starten Sie das System neu. Am Boot-Prompt - sollten Sie die Auswahl <literal>OpenBSD</literal> - erhalten. Damit wird in Wirklichkeit &os; - gestartet.</para> - </step> - </procedure> - - <para>Was Sie machen müssen, wenn Sie &os; und - OpenBSD parallel installieren wollen, sollten Sie zu - Übungszwecken einfach einmal selbst - herausfinden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="install-bad-blocks"> - <para>Kann ich &os; auf einer Festplatte mit - beschädigten Blöcken installieren?</para> - </question> - - <answer> - <para>Prinzipiell ja. Allerdings ist das keine gute - Idee.</para> - - <para>Wenn Ihnen bei einer modernen IDE-Platte defekte - Sektoren gemeldet werden, wird die Platte mit großer - Wahrscheinlichkeit innerhalb kurzer Zeit vollständig - ausfallen, da die Meldung ein Zeichen dafür ist, - dass die für die Korrektur reservierten Sektoren - bereits verbraucht wurden. Wir raten Ihnen, die Platte - auszutauschen.</para> - - <para>Falls Sie ein SCSI-Laufwerk mit beschädigten - Blöcken besitzen, lesen Sie <link - linkend="awre">diese Antwort</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="boot-floppy-strangeness"> - <para>Wenn ich von der Installationsdiskette boote, - geschehen merkwürdige Dinge! Was sollte ich - tun?</para> - </question> - - <answer> - <para>Falls Sie beobachten, dass ihr Rechner sich bis - zum Stillstand abmüht oder spontan rebootet, - während Sie versuchen, von der Installationsdiskette - zu booten, sollten Sie sich drei Fragen stellen:</para> - - <orderedlist> - <listitem> - <para>Haben Sie eine brandneue, frisch formatierte, - fehlerfreie Diskette benutzt (günstigerweise eine - brandneue, direkt aus dem Karton und nicht eine - Diskette aus einem Magazin, das schon seit drei Jahren - unter Ihrem Bett lag)?</para> - </listitem> - - <listitem> - <para>Haben Sie das Floppy-Image im Binär- (oder - Image) Modus heruntergeladen? (Schämen Sie sich - nicht. Sogar die besten unter uns haben wenigstens - einmal Binärdateien versehentlich im ASCII-Modus - heruntergeladen!)</para> - </listitem> - - <listitem> - <para>Falls Sie &windows; 95 oder &windows; 98 - benutzen, haben Sie es heruntergefahren und - <command>fdimage</command> bzw. - <command>rawrite</command> in einfachem, reinem DOS - neu gestartet? Es scheint, dass diese - Betriebssysteme Programme stören, die direkt auf - Hardware schreiben, wie es das Erstellungsprogramm - für die Diskette tut; selbst bei der - Ausführung des Programms in einem DOS-Fenster in - der grafischen Benutzeroberfläche kann dieses - Problem auftreten.</para> - </listitem> - </orderedlist> - - <para>Es wurde auch darüber berichtet, dass - &netscape; Probleme beim Herunterladen der Bootdisketten - verursacht. Es ist also wahrscheinlich besser, einen - anderen FTP-Client zu benutzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="no-install-cdrom"> - <para>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?</para> - </question> - - <answer> - <para>Dieses Problem wird ü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 ungü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, während &os; es nicht für die - Installation benutzen kann.</para> - - <para>Um dieses Problem zu lösen, müssen Sie - entweder das CD-ROM als Master an den IDE-Controller - anschließen oder dafür sorgen, dass an dem - vom CD-ROM genutzten IDE-Controller das CD-ROM als Slave - und ein anderes Gerät als Master angeschlossen - ist.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="install-PLIP"> - <para>Kann ich auf meinem Laptop per PLIP (Parallel Line IP) - installieren?</para> - </question> - - <answer> - <para>Ja, Sie brauchen dazu nur ein ganz normales - Laplink-Kabel. Weitere Informationen zum Thema Netzwerke - am Druckerport finden sie im Kapitel <ulink - url="&url.books.handbook;/network-plip.html">PLIP</ulink> des - Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="geometry"> - <para>Welche Geometrie sollte ich für ein - Festplattenlaufwerk verwenden?</para> - </question> - - <answer> - <note> - <para>Unter der <quote>Geometrie</quote> einer Festplatte - verstehen wir die Anzahl Zylinder, - Schreib-/Leseköpfen und Sektoren/Spur auf einer - Festplatte. Im folgenden wird dafür der - Übersichtlichkeit halber der Begriff C/H/S - verwendet. Das BIOS des PCs berechnet mit diesen - Angaben, auf welche Bereiche der Festplatte es für - Schreib-/Lesezugriffe zugreifen muss).</para> - </note> - - <para>Aus einigen Gründen scheint dies gerade bei - frischgebackenen Systemadministratoren für sehr viel - Verwirrung zu sorgen. Zunächst einmal ist die - <emphasis>physikalische</emphasis> Geometrie eines - SCSI-Laufwerks vollkommen irrelevant, da &os; mit - Blöcken arbeitet. Tatsächlich gibt es - <quote>die</quote> physikalische Geometrie nicht, da die - Sektordichte auf einer Festplatte variiert. Was die - Hersteller als die <quote>wahre</quote> physikalische - Geometrie bezeichnen, ist im allgemeinen die Geometrie, - die aufgrund ihrer Ergebnisse im geringsten ungenutzten - Speicher resultiert. Bei IDE-Platten arbeitet &os; mit - C/H/S-Angaben, aber alle modernen Laufwerke wandeln diese - intern ebenfalls in Blocknummern um.</para> - - <para>Wichtig ist nur die <emphasis>logische</emphasis> - Geometrie. Das BIOS kann die logische Geometrie der - Festplatte abfragen; die erhaltenen Daten werden dann vom - BIOS bei Zugriffen auf die Festplatte genutzt. Da &os; - das BIOS benutzt, während es bootet, ist es sehr - wichtig, dass diese Angaben richtig sind. - Insbesondere müssen alle Betriebssysteme mit - derselben Geometrie arbeiten, falls Sie mehr als ein - Betriebssystem auf einer Festplatte haben. Andernfalls - werden Sie ernsthafte Bootprobleme bekommen!</para> - - <para>Bei SCSI-Festplatten hängt die zu verwendende - Geometrie davon ab, ob der Extended Translation Support - auf Ihrem Controller eingeschaltet ist (oft auch als - <quote>Unterstützung für DOS-Platten - >1GB</quote> oder ähnlich bezeichnet). Falls sie - ausgeschaltet ist, benutzen Sie - <replaceable>N</replaceable> Zylinder, 64 Köpfe und - 32 Sektoren/Spur, wobei <replaceable>N</replaceable> die - Kapazität der Festplatte in MB ist. Zum Beispiel - sollten für eine 2 GB Festplatte 2048 Zylinder, 64 - Köpfe und 32 Sektoren/Spur angegeben werden.</para> - - <para>Falls sie <emphasis>eingeschaltet</emphasis> ist (was - oft der Fall ist, um bestimmte Einschränkungen von - &ms-dos; zu umgehen) und die Plattenkapazität mehr als - 1 GB beträgt, benutzen Sie M Zylinder, 63 - Sektoren/Spur (<emphasis>nicht</emphasis> 64) und 255 - Köpfe, wobei <replaceable>M</replaceable> der - Plattenkapazität in MB, dividiert durch 7,844238 - entspricht (!). Also würde unsere 2 GB Beispielplatte - 261 Zylinder, 63 Sektoren/Spur und 255 Köpfe haben.</para> - - <para>Falls Sie sich hier nicht sicher sind oder &os; - wä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 - können die Partition jederzeit im Partitioneditor - entfernen, falls Sie sie nicht behalten möchten. - Allerdings kann Sie ganz nützlich sein, um - Netzwerkkarten zu programmieren und - ähnliches.</para> - - <para>Alternativ können Sie das frei verfügbare - Programm <filename>pfdisk.exe</filename> verwenden. Sie - finden es im Unterverzeichnis - <filename class="directory">tools</filename> auf der &os; CD-ROM - und allen &os; FTP-Servern). Mit diesem Programm können - Sie herausfinden, welche Geometrie die anderen Betriebssysteme auf - der Festplatte verwenden. Diese Geometrie können Sie im - Partitioneditor eingeben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="disk-divide-restrictions"> - <para>Gibt es irgendwelche Einschränkungen, wie ich die - Festplatte aufteilen darf?</para> - </question> - - <answer> - <para>Ja. Sie mü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 Einschränkung durch das - BIOS des PCs handelt und nicht durch &os;).</para> - - <para>Fü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 für IDE ist - 504 MB.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="disk-manager"> - <para>Verträgt sich &os; mit Plattenmanagern?</para> - </question> - - <answer> - <para>&os; erkennt den <application>Ontrack Disk - Manager</application> und berücksichtigt ihn. Andere - Plattenmanager werden nicht unterstützt.</para> - - <para>Falls Sie die Festplatte nur mit &os; benutzen - wollen, brauchen Sie keinen Plattenmanager. Wenn Sie Sie - die Platte einfach in der vom BIOS maximal - unterstützten Größe (normalerweise - 504 Megabyte) konfigurieren, sollte &os; erkennen, wie viel - Platz Sie tatsächlich haben. Falls Sie eine alte - Festplatte mit einem MFM-Controller verwenden, könnte - es sein, dass Sie &os; explizit angeben - müssen, wie viele Zylinder es benutzen soll.</para> - - <para>Falls Sie die Festplatte mit &os; 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 - &os; und der Bereich für das andere Betriebssystem - in den ersten 1024 Zylindern befinden. Eine 20 Megabyte - Bootpartition sollte völlig genügen, wenn Sie - einigermaßen sorgfältig arbeiten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="missing-os"> - <para>Beim ersten Booten von &os; erscheint - <errorname>Missing Operating System</errorname>. Was ist - passiert?</para> - </question> - - <answer> - <para>Dies ist ein klassischer Fall von Konflikten bei den - verwendeten <link - linkend="geometry">Plattengeometrien</link> von &os; - und DOS oder anderen Betriebssystemen. Sie werden &os; - neu installieren müssen. Bei Beachtung obiger - Instruktionen wird in den meisten Fällen alles - funktionieren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="stop-at-boot-manager"> - <para>Wieso komme ich nicht weiter als bis zum - <literal>F?</literal>-Prompt des Bootmanagers?</para> - </question> - - <answer> - <para>Dies ist ein weiteres Symptom für das bereits in - der vorherigen Frage beschriebene Problem. Ihre - Einstellungen zur Geometrie im BIOS und in &os; stimmen - nicht überein! Falls Ihr Controller oder BIOS - Zylinderumsetzung (oft als <quote>>1GB drive - support</quote> bezeichnet), probieren Sie eine Umsetzung - dieser Einstellung und Neuinstallation von &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="need-complete-sources"> - <para>Muss ich den vollständigen Quellcode - installieren?</para> - </question> - - <answer> - <para>Im allgemeinen nicht. Wir empfehlen jedoch dringend - die Installation des <literal>base</literal> Source-Kit, - das viele der hier erwähnten Dateien enthält und - des <literal>sys</literal> (Kernel) Source-Kit, das den - Quellcode für den Kernel enthält. Außer - dem Programm zur Konfiguration des Kernels - (&man.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 überall her per NFS - read-only mounten und dennoch neue Binaries erstellen - können. (Wegen der Einschränkung bezüglich - der Kernelquellen empfehlen wir, diese nicht direkt nach - <filename - class="directory">/usr/src</filename> zu mounten, sondern - irgendwo anders hin mit passenden symbolischen Links, um - die Toplevel-Struktur des Quellbaumes zu duplizieren.)</para> - - <para>Die Quellen verfügbar zu haben und zu wissen, wie - man ein System mit ihnen erstellt, wird es Ihnen - wesentlich einfacher machen, zu zukünftigen Ausgaben - von &os; zu wechseln.</para> - - <para>Um einen Teil der Quellen auszuwählen, verwenden - Sie den Menüpunkt <guimenuitem>Custom</guimenuitem>, wenn Sie - sich im Menü <guimenuitem>Distributions</guimenuitem> des - Systeminstallationstools befinden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="need-kernel"> - <para>Muss ich einen Kernel erstellen?</para> - </question> - - <answer> - <para>Ursprünglich war die Erstellung eines neuen - Kernels bei fast jeder Installation von &os; - erforderlich, aber neuere Ausgaben haben von der - Einführung weitaus benutzerfreundlicherer - Kernelkonfigurationswerkzeuge profitiert. Die Kernelkonfiguration - erfolgt in der Regel durch die die deutlich flexibleren - <quote>hints</quote>, die am Loader-Prompt eingegeben werden - können.</para> - - <para>Es kann dennoch sinnvoll sein, einen neuen Kernel - zu erstellen, der nur die benötigten Treiber - enthält, um ein wenig Hauptspeicher zu sparen, - für die meisten Systeme ist dies aber nicht mehr - länger erforderlich.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="password-encryption"> - <para>Soll ich DES, Blowfish oder MD5 zur Verschlüsselung der - Passwörter benutzen?</para> - </question> - - <answer> - <para>&os; benutzt standardmäßig - <emphasis>MD5</emphasis> zur Verschlüsselung der - Passwörter. Es wird angenommen, dass diese - Methode sicherer ist als das traditionell benutzte - Verfahren, das auf dem <emphasis>DES</emphasis> - Algorithmus basierte. Es ist immer noch möglich, - DES-Passwörter zu benutzen, wenn Sie die Datei - mit den Passwörtern mit älteren System - austauschen müssen. &os; erlaubt es Ihnen, auch das sichere - Blowfish-Verfahren für die Verschlüsselung der - Passwörter einzusetzen. Das für neue Passwörter - benutzte Verschlüsselungsverfahren wird über die - Einstellung <literal>passwd_format</literal> in - <filename>/etc/login</filename> festgelegt. Die - möglichen Werte sind entweder <literal>des</literal>, - <literal>blf</literal> (falls sie zur Verfügung stehen) - oder <literal>md5</literal>. Weitere - Informationen über die Einstellungen für den - Login erhalten Sie in &man.login.conf.5;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="boot-floppy-hangs"> - <para>Woran kann es liegen, dass ich zwar von der - Diskette booten kann, aber nicht weiter als bis zur - Meldung <literal>Probing Devices...</literal> - komme?</para> - </question> - - <answer> - <para>Falls Sie ein IDE &iomegazip;- oder &jaz;-Laufwerk - eingebaut haben, entfernen Sie es und versuchen Sie es erneut. - Solche Laufwerke könnten dem Bootvorgang stören. - Nach der Installation des Systems können Sie das - Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich - in einer späteren Version behoben werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="panic-on-install-reboot"> - <para>Wieso wird mit der Fehler <errorname>panic: cant mount - root</errorname> gemeldet, wenn ich das System nach der - Installation reboote?</para> - </question> - - <answer> - <para>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 &os; auf der Platte am zweiten - Controller installiert wurde. Der Bootblock vermutet, - dass das System auf <devicename>ad0</devicename> - (der zweiten BIOS-Platte) - installiert ist, während der Kernel der ersten Platte - auf dem zweiten Controller die Gerätekennung - <devicename>ad2</devicename> zuteilt. Der Kernel versucht - nach der Geräteüberprüfung die vom Bootblock - angenommene Bootdisk <devicename>ad0</devicename> zu mounten, - obwohl sie in Wirklichkeit <devicename>ad2</devicename> - heißt - und scheitert.</para> - - <para>Tun Sie folgendes, um dieses Problem zu - beheben:</para> - - <orderedlist> - <listitem> - <para>Rebooten Sie das System und drücken - Sie <keycap>Enter</keycap>, wenn die - Meldung <literal>Booting kernel in 10 seconds; hit - [Enter] to interrupt</literal> erscheint. Dadurch - gelangen Sie in den Boot Loader.</para> - - <para>Geben Sie nun - <userinput>set root_disk_unit="<replaceable>disk_number</replaceable>"</userinput> - ein. <literal>disk_number</literal> hat den Wert - <literal>0</literal>, wenn &os; auf dem Master des - ersten IDE-Controllers installiert wurde; - <literal>1</literal>, wenn &os; auf dem Slave des - ersten IDE-Controllers installiert wurde; - <literal>2</literal>, wenn &os; auf dem Master des - zweiten IDE-Controllers installiert wurde; und - <literal>3</literal>, wenn &os; auf dem Slave des - zweiten IDE-Controllers installiert wurde.</para> - - <para>Nach der Eingabe von <userinput>boot</userinput> - sollte Ihr System jetzt korrekt starten.</para> - - <para>Damit Sie dieses Ritual nicht bei jedem Start des - Systems durchführen müssen, sollten Sie die - Zeile - <userinput>root_disk_unit="<replaceable>disk_number</replaceable>"</userinput> - in die Datei - <filename>/boot/loader.conf.local</filename> - eintragen.</para> - </listitem> - - <listitem> - <para>Stellen Sie eine ununterbrochene Folge der - Festplatten her, indem Sie die &os;-Platte am - ersten IDE-Controller anschließen.</para> - </listitem> - </orderedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="memory-limits"> - <para>Gibt es eine Hauptspeicherbegrenzung?</para> - </question> - - <answer> - <para>Hauptspeicherbegrenzung sind von der verwendeten Plattform - abhängig. Bei einer &i386;-Standardinstallation werden - maximal 4 GB Hauptspeicher unterstützt, mehr Speicher - ist mittels &man.pae.4; verfügbar. Lesen Sie dazu die <link - linkend="memory-i386-over-4gb">Anleitung, um 4 GB oder mehr - Speicher auf &i386; zu verwenden</link>.</para> - - <para>&os;/pc98 unterstützt maximal 4 GB Hauptspeicher, - daher kann PAE auf diesen Systemen nicht verwendet werden. - Sonstige von &os; unterstützte Architekturen haben - ein sehr viel höheres theoretisches Speicherlimit - (viele Terabytes).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ffs-limits"> - <para>Wo liegen die Grenzen für FFS-Dateisysteme?</para> - </question> - - <answer> - <para>Theoretisch liegt das Limit für FFS-Dateisysteme - bei 8 Terabyte (2 G-Blöcke) oder 16 TB für - die Standard-Blockgröße von 8 KB. In der Praxis - setzt die Software das Limit auf 1 TB herab, aber - durch Modifikationen sind auch Dateisysteme mit 4 TB - möglich (und existieren auch).</para> - - <para>Die maximale Größe einer einzelnen - FFS-Datei liegt bei ungefähr 1 G Blöcken (4 TB, - falls die Blockgröße 4 KB beträgt).</para> - - <table> - <title>Maximale Dateigröße</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>Blockgröße</entry> - - <entry>Geht</entry> - - <entry>Sollte Gehen</entry> - </row> - </thead> - - <tbody> - <row> - <entry>4 KB</entry> - - <entry>> 4 GB</entry> - - <entry>4 TB - 1</entry> - </row> - - <row> - <entry>8 KB</entry> - - <entry>> 32 GB</entry> - - <entry>32 TB - 1</entry> - </row> - - <row> - <entry>16 KB</entry> - - <entry>> 128 GB</entry> - - <entry>32 TB - 1</entry> - </row> - - <row> - <entry>32 KB</entry> - - <entry>> 512 GB</entry> - - <entry>64 TB - 1</entry> - </row> - - <row> - <entry>64 KB</entry> - - <entry>> 2048 GB</entry> - - <entry>128 TB - 1</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Wenn die im Dateisystem verwendete - Blockgröße 4 KB beträgt, wird mit dreifacher - Indirektion gearbeitet und die Limitierung sollte durch - die höchste Blocknummer erfolgen, die mit dreifacher - Indirektion dargestellt werden kann (ungefähr - 1024<superscript>3</superscript> + 1024<superscript>2</superscript> + 1024). - In Wirklichkeit liegt das Limit aber bei der (falschen) Anzahl von - 1 G - 1 Blocknummern im Dateisystem. - Die maximale Anzahl der Blocknummern müsste - 2 G - 1 sein. Es gibt einige Fehler für - Blocknummern nahe 2 G - 1, aber solche Blocknummern - sind bei einer Blockgröße von 4 KB - unerreichbar.</para> - - <para>Bei Blocknummern von 8 KB und größer sollte - das Limit bei 2 G - 1 Blocknummern liegen, - tatsächlich liegt es aber bei 1 G - 1 - Blocknummern. Die Verwendung der korrekten Grenze von - 2 G - 1 verursacht Probleme.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="archsw-readin-failed-error"> - <para>Wieso erhalte ich die Fehlermeldung - <errorname>archsw.readin.failed</errorname> beim Start des - Systems, nachdem ich einen neuen Kernel erstellt - habe?</para> - </question> - - <answer> - <para>Ihr System und Ihr Kernel sind nicht synchron - dies - ist nicht erlaubt. Sie müssen Ihren Kernel mit - <command>make <maketarget>buildworld</maketarget></command> und - <command>make <maketarget>buildkernel</maketarget></command> - aktualisieren.</para> - - <para>Sie können den zu bootenden Kernel direkt im - zweiten Schritt angeben, indem Sie eine beliebige Taste - drücken, wenn das <literal>|</literal> erscheint und bevor - der Loader startet.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="boot-acpi"> - <para>Mein System stürzt beim Booten ab! Was kann ich - tun?</para> - </question> - - <answer> - <para>Deaktivieren Sie die ACPI-Unterstützung. Dazu - drücken Sie beim Start des Bootloaders die - <keycap>Leertaste</keycap>. Das System zeigt folgendes an:</para> - - <screen>OK</screen> - - <para>Geben Sie nun</para> - - <screen><userinput>unset acpi_load</userinput></screen> - - <para>und danach</para> - - <screen><userinput>boot</userinput></screen> - - <para>ein.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="hardware"> - <title>Hardware-Kompatibilität</title> - - <sect1 id="compatibility-general"> - <title>Allgemeines</title> - - <qandaset> - <qandaentry> - <question id="which-hardware-to-get"> - <para>Ich will mir neue Hardware für mein - &os;-System zulegen, was soll ich kaufen? </para> - </question> - - <answer> - <para>Diese Frage wird ständig auf den - &os;-Mailinglisten diskutiert. Da sich die Hardware - ständig ändert, ist das allerdings keine - Überraschung. <emphasis>Trotzdem</emphasis> sollten - Sie unbedingt die Hardware-Informationen von &os; - (<ulink - url="&rel.current.hardware;">&rel.current;</ulink> oder - <ulink - url="&rel2.current.hardware;">&rel2.current;</ulink>) und die - <ulink - url="http://www.FreeBSD.org/search/#mailinglists"> - Archive</ulink> der Mailinglisten durchsehen, bevor Sie - nach der neuesten/besten Hardware fragen. Normalerweise - gab es kurz zuvor eine Diskussion über genau die - Hardware, die Sie sich zulegen wollen.</para> - - <para>Wenn Sie sich einen Laptop zulegen wollen, sollten Sie - einen Blick in das Archiv der Mailingliste &a.mobile; - werfen. Ansonsten empfiehlt sich ein Blick in das Archiv - von &a.questions; oder auch einer spezialisierte - Mailingliste für diese Art von Hardware.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-memory"> - <title>Hauptspeicher</title> - - <qandaset> - <qandaentry> - <question id="memory-upper-limitation"> - <para>Unterstützt &os; mehr als 4 GB Speicher - (RAM)? Mehr als 16 GB? Mehr als 48 GB?</para> - </question> - - <answer> - <para>Ja. Generell unterstützt &os; als - Betriebssystem so viel physischen Speicher (RAM), wie - die Plattform auf der es läuft. Achten Sie darauf, - dass verschiedene Plattformen unterschiedliche - Speichergrenzen besitzen. So wird z.B. &i386; ohne - <acronym>PAE</acronym> höchstens 4 GB Speicher - (normalerweise weniger als das wegen des - PCI-Addressraums), dagegen wird &i386; mit PAE - höchstens 64 GB Speicher bereitstellen. - Momentan erhältliche AMD64 Plattformen können - bis zu 1 TB physischen Speicher ansprechen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="memory-i386-over-4gb"> - <para>Warum zeigt &os; weniger als 4 GB Speicher an, - wenn es auf einer &i386; Maschine installiert - wird?</para> - </question> - - <answer> - <para>Der Gesamtadressraum beträ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 für bestimmte Aufgaben reserviert, - um z.B. PCI-Geräte zu benutzen und zu steuern, auf - Videospeicher zuzugreifen und so weiter. Aus diesem - Grund ist die Gesamtmenge an Speicher, die vom - Betriebssystem fü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 verfügbarem Speicher in - dieser Konfiguration.</para> - - <para>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 - <acronym>PAE</acronym>, benutzt werden. PAE steht - für Physical Address Extension und ist eine - Möglichkeit für 32-Bit x86-CPUs mehr als - 4 GB Speicher zu addressieren. Es organisiert - den Speicher, der andererseits wegen - Addressreservierungen für Hardwaregeräte - oberhalb der 4 GB Grenze liegt, um und benutzt - diesen als zusätzlichen physischen Speicher (lesen - Sie dazu &man.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 &man.kld.4;) - werden nicht unterstützt. Das bedeutet, dass alle - Treiber in den Kernel eingebaut sein müssen.</para> - - <para>Die am häufigsten verwendete Vorgehensweise, - PAE zu aktivieren ist die, einen neuen Kernel mit der - speziell dafür vorgesehenen - Kernelkonfigurationsdatei, <filename>PAE</filename> - genannt, zu bauen, die bereits so eingestellt ist, dass - ein funktionierender Kernel erstellt wird. Beachten - Sie, dass manche Einträge in dieser - Kernelkonfigurationsdatei zu konservativ eingestellt - sind und dass manche Treiber, die nicht für den - Einsatz mit PAE vorgesehen sind, trotzdem funktionieren. - Als Faustregel kann man sagen, dass wenn der Treiber - auf 64-Bit Architekturen (like AMD64) läuft, er - auch mit PAE lauffähig ist. Wenn Sie ihre eigene - Kernelkonfigurationsdatei erstellen möchten, - können Sie PAE aktivieren, indem Sie die folgende - Zeile zu ihrer Konfiguration hinzufügen:</para> - - <programlisting>options PAE</programlisting> - - <para>PAE wird heutzutage nicht sehr hä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 benötigt solche Manipulationen nicht. &os; - unterstützt AMD64 und es wird empfohlen, diese - &os; Version anstatt der &i386; Version einzusetzen, - wenn 4 GB oder mehr Speicher gebraucht - werden.</para> - </answer> - </qandaentry> - </qandaset> - </sect1> - - <sect1 id="compatibility-processors"> - <title>Architekturen und Prozessoren</title> - - <qandaset> - <qandaentry> - <question id="architectures"> - <para>Unterstützt &os; neben x86 auch andere - Architekturen?</para> - </question> - - <answer> - <para>Ja. &os; ist zurzeit für die Intel x86 und - AMD64 Architekturen verfügbar. - Intel EM64T, IA-64, &arm;, &powerpc; und &sparc64; - werden ebenfalls unterstützt. Die Neuzugänge - auf der Liste der in Zukunft unterstützten Plattformen - sind &mips; und &s390;. Abonnieren Sie die Mailingliste - &a.mips;, wenn Sie mehr über - den Stand der Entwicklung erfahren wollen. Schließen - Sie sich der Mailingliste &a.platforms; an, wenn Sie an - grundsätzlichen Diskussionen über neue Architekturen - interessiert sind.</para> - - <para>Falls Ihre Maschine eine andere Architektur aufweist - und Sie unbedingt sofort etwas benötigen, schlagen - wir vor, dass Sie sich einmal <ulink - url="http://www.netbsd.org/">NetBSD</ulink> oder <ulink - url="http://www.openbsd.org/">OpenBSD</ulink> - ansehen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="smp-support"> - <para>Unterstützt &os; Symmetric-Multiproccessing - (SMP)?</para> - </question> - - <answer> - <para>Symmetric-Multiproccessing (SMP) Systeme werden generell - von &os; unterstützt, obwohl in manchen Fällen durch - Fehler im BIOS oder Mainboard Probleme auftreten.</para> - - <para>&os; nutzt die Vorteile von HyperThreading (HTT) - Unterstützung von Intel-Prozessoren, die diese Eigenschaft - besitzen. Ein Kernel mit der <literal>options SMP</literal> - Zeile wird automatisch die zusätzlichen logischen - Prozessoren erkennen. Der Standard &os;-Scheduler behandelt die - logischen Prozessoren auf die gleiche Weise wie zusä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 - Umständen hilfreich, die logischen Prozessoren über die - sysctl Variable <varname>machdep.hlt_logical_cpus</varname> zu - deaktivieren. Es ist auch möglich, jede CPU in der - Warteschleife mit der sysctl Variable - <varname>machdep.hlt_cpus</varname> anzuhalten. Weitere - Informationen finden Sie in der Manualpage &man.smp.4;.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-drives"> - <title>Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke</title> - - <qandaset> - <qandaentry> - <question id="supported-hard-drives"> - <para>Welche Arten von Festplatten werden von &os; - unterstützt?</para> - </question> - - <answer> - <para>&os; unterstützt EIDE-, SATA-, SCSI- und - SAS-Laufwerke (mit - kompatiblen Controllern - siehe folgenden Abschnitt), - sowie alle Laufwerke, die die original <quote>Western - Digital</quote>-Schnittstelle (MFM, RLL, ESDI und - natürlich IDE) benutzen. Ein paar Controller mit - proprietären Schnittstellen könnten nicht - laufen: halten Sie sich an WD1002/3/6/7-Schnittstellen und - Clones.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="supported-scsi-controllers"> - <para>Welche SCSI- oder SAS-Controller werden - unterstützt?</para> - </question> - - <answer> - <para>Sie finden eine vollständige und aktuelle Liste - in den Hardware-Informationen zu &os; - (<ulink - url="&rel.current.hardware;">&rel.current;</ulink> oder <ulink - url="&rel2.current.hardware;">&rel2.current;</ulink>).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="tape-support"> - <para>Welche Arten von Bandlaufwerken werden - unterstützt?</para> - </question> - - <answer> - <para>&os; unterstützt SCSI-, QIC-36- (mit - QIC-02-Schnittstelle) und QIC-40/80-Bandlaufwerke - (diskettenbasiert). Hierzu gehören auch 8-mm (aka - Exabyte) und DAT-Laufwerke. Die QIC-40/80-Laufwerke sind - bekanntlich sehr langsam.</para> - - <para>Einige der frühen 8-mm-Laufwerke sind nicht - besonders kompatibel zu SCSI-2 und könnten unter - &os; nicht einwandfrei funktionieren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="tape-changer-support"> - <para>Unterstützt &os; Bandwechsler?</para> - </question> - - <answer> - <para>Das Gerät &man.ch.4; und das Kommando - <command>chio</command> unterstützen Bandwechsler. - Details zum Betrieb des Wechslers finden Sie in der - Hilfeseite &man.chio.1;.</para> - - <para>Falls Sie nicht <application>AMANDA</application> 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 - müssen. Sie selbst müssen sich also merken, in - welchem Einschub sich ein Band befindet und zu welchem - Einschub das Band, das sich gerade im Laufwerk befindet, - zurück muss.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="supported-cdrom-drives"> - <para>Welche CD-ROM-Laufwerke werden von &os; - unterstützt?</para> - </question> - - <answer> - <para>Jedes an einem unterstützten Controller - angeschlossene SCSI-Laufwerk wird - unterstützt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="supported-cdrw-drives"> - <para>Welche CD-Brenner werden von &os; unterstützt?</para> - </question> - - <answer> - <para>&os; unterstützt alle ATAPI-kompatiblen IDE - CD-R und CD-RW Brenner. Lesen Sie dazu auch - &man.burncd.8;.</para> - - <para>&os; unterstützt ebenfalls SCSI CD-R und CD-RW - Brenner. Installieren und benutzen Sie das Paket - <command>cdrecord</command> aus der Ports-Sammlung. Dazu - müssen Sie allerdings das Gerät - <devicename>pass</devicename> mit in Ihren Kernel - aufnehmen.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-kbd-mice"> - <title>Tastaturen und Mäuse</title> - - <qandaset> - <qandaentry> - <question id="usbkbd"> - <para>Unterstützt &os; meine Tastatur mit - USB-Anschluss?</para> - </question> - - <answer> - <para>Ja. &os; unterstützt USB-Tastaturen.</para> - - <para>Wenn Sie die Unterstützung für USB-Tastaturen - konfiguriert haben, ist die AT-Tastatur - als <devicename>/dev/kbd0</devicename> und die USB-Tastatur - als <devicename>/dev/kbd1</devicename> verfügbar. Dies - gilt natürlich nur, wenn beide Tastaturen - angeschlossen sind; falls nur die USB-Tastatur - angeschlossen ist, ist diese als - <devicename>/dev/ukbd0</devicename> verfügbar.</para> - - <para>Wenn Sie die USB-Tastatur an der Systemkonsole - benutzen wollen, müssen Sie dies dem System explizit - mitteilen. Dazu muss das folgende Kommando - während des Systemstarts ausgeführt - werden:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null</userinput></screen> - - <para>Wenn Sie nur die USB-Tastatur angeschlossen haben, ist - diese als <devicename>/dev/ukbd0</devicename> verfügbar; - daher muss in diesem Fall das folgende Kommando - benutzt werden:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null</userinput></screen> - - <note> - <para>Um diese Änderung auch noch nach dem Neustarten - verfügbar zu haben, nehmen Sie den Eintrag - <literal>keyboard="/dev/ukbd0"</literal> in die Datei - <filename>/etc/rc.conf</filename> auf.</para> - </note> - - <para>Sobald Sie diese Schritte durchgeführt haben, - sollte die USB-Tastatur ohne weitere Änderungen auch - unter X benutzbar sei.</para> - - <para>Benutzen Sie dieses Kommando, wenn Sie wieder zur - Standardtastatur wechseln wollen:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 > /dev/null</userinput></screen> - - <para>Um die gleichzeitige Verwendung der zweiten USB-Tastatur und - der AT-Tastatur auf der selben Konsole mittels des &man.kbdmux.4; - Treibers zu ermöglichen, geben Sie folgendes ein:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -K < /dev/console > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null</userinput></screen> - - <para>Lesen Sie die &man.ukbd.4;, &man.kbdcontrol.1; und - &man.kbdmux.4; Manualpages, um weitere Informationen zu - erhalten.</para> - - <note> - <para>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 anschließen, bevor Sie das System - anschalten und die Tastatur nicht abziehen, solange das - System noch läuft.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="busmouse"> - <para>Ich habe eine unübliche Busmaus. Wie muss - ich sie konfigurieren?</para> - </question> - - <answer> - <para>&os; unterstützt die Busmaus und - InPort-Busmaus von Herstellern wie Microsoft, Logitech und - ATI. Der Gerätetreiber ist im - <filename>GENERIC</filename>-Kernel allerdings nicht eingebunden. - Wenn Sie den Bus-Gerätetreiber benötigen, müssen Sie - daher einen angepassten Kernel erstellen. Dazu fügen Sie die - folgende Zeile in Ihre Kernelkonfigurationsdatei ein:</para> - - <programlisting>device mse0 at isa? port 0x23c irq5</programlisting> - - <para>Die Busmaus wird üblicherweise zusammen mit einer - speziellen Karte ausgeliefert. Sie könnte es Ihnen - ermöglichen, andere Werte für die Port-Adresse - und den Interrupt zu setzen. Weitere Informationen finden - Sie in Handbuch zu Ihrer Maus und in der &man.mse.4; - Manualpage.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ps2mouse"> - <para>Wie benutze ich meine PS/2 (<quote>Mouse-Port</quote> - oder <quote>Tastatur</quote>)-Maus?</para> - </question> - - <answer> - <para>PS/2 Mäuse werden von &os; unterstützt. - Der notwendige Gerätetreiber, - <devicename>psm</devicename>, ist bereits im - <filename>GENERIC</filename>-Kernel enthalten.</para> - - <para>Wenn Sie einen angepassten Kernel ohne diesen Treiber - benutzen, müssen Sie folgende Zeile in Ihre - Kernelkonfigurationsdatei einfügen und den Kernel neu - kompilieren:</para> - - <programlisting>device psm0 at atkbdc? irq 12</programlisting> - - <para>Wenn der Kernel das Gerät - <devicename>psm0</devicename> beim Booten korrekt erkennt, - stellen Sie sicher, dass sich im Verzeichnis - <filename>/dev</filename> ein Eintrag für - <devicename>psm0</devicename> befindet.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="moused"> - <para>Kann man die Maus irgendwie außerhalb des X - Window Systems benutzen?</para> - </question> - - <answer> - <para>Falls Sie den normalen Konsolentreiber &man.syscons.4; benutzen, - können Sie den Mauszeiger auf Textkonsolen zum - Kopieren und Einfügen von Text verwenden. Starten - Sie den Mausdämon &man.moused.8; und schalten Sie den - Mauszeiger auf der virtuellen Konsole ein:</para> - - <screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput> -&prompt.root; <userinput>vidcontrol -m on</userinput></screen> - - <para><replaceable>xxxx</replaceable> ist der - Gerätename der Maus und - <replaceable>yyyy</replaceable> ist das Protokoll. - Der Mausdämon erkennt die Protokolle der meisten - Mäuse (mit Ausnahme alter serieller Mäuse) - automatisch, wenn Sie <literal>auto</literal> für - das Protokoll angeben. Falls das Protokoll nicht - automatisch erkannt wird, finden Sie die - unterstützten Protokolle in der - &man.moused.8; Manualpage.</para> - - <para>Wenn Sie eine PS/2-Maus besitzen und diese beim - Systemstart aktivieren wollen, tragen Sie die Zeile - <literal>moused_enable="YES"</literal> in die Datei - <filename>/etc/rc.conf</filename> ein. Falls Sie den - Mausdämon auf allen virtuellen Bildschirmen anstatt - nur auf der Konsole benutzen wollen, tragen Sie außerdem - <literal>allscreens_flags="-m on"</literal> in - <filename>/etc/rc.conf</filename> ein.</para> - - <para>Während der Mausdämon läuft, muss - der Zugriff auf die Maus zwischen dem Mausdämon und - anderen Programmen, wie X Windows, koordiniert werden. - Die FAQ <link - linkend="x-and-moused">Warum funktioniert meine meine Maus unter X - nicht?</link> enthält weitere Details.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="text-mode-cut-paste"> - <para>Wie funktioniert das Kopieren und Einfügen von - Text mit der Maus auf einer Textkonsole?</para> - </question> - - <answer> - <para>Wenn Sie es geschafft haben, den Mausdämon zu - starten (wie im <link - linkend="moused">vorherigen Abschnitt</link> gezeigt), halten Sie - die linke Maustaste gedrückt und bewegen Sie die Maus, um einen - Textabschnitt zu markieren. Dann drücken Sie die - mittlere Maustaste, um den Text an der - Cursorposition einzufügen.</para> - - <para>Wenn Sie keine 3-Tasten-Maus besitzen, können - Sie die mittlere Maustaste mit einer Tastenkombination - emulieren oder die Funktion der mittleren Taste auf - eine andere Taste legen. Einzelheiten dazu enthält - die Hilfeseite &man.moused.8;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mouse-wheel-buttons"> - <para>Meine Maus hat ein neumodisches Rad und mehr - Knöpfe. Kann ich sie in &os; benutzen?</para> - </question> - - <answer> - <para>Unglücklicherweise lautet die Antwort: - <quote>Vielleicht</quote>. Solche Mäuse mit - zusätzlichen Extras erfordern in den meisten - Fällen spezielle Treiber. Wenn der - Gerätetreiber für die Maus oder das - Anwendungsprogramm keine spezielle Unterstützung - für die Maus bietet, wird sie sich wie eine - gewöhnliche Maus mit zwei oder drei Knöpfen - verhalten.</para> - - <para>Ob und wie Sie das Rad unter X benutzen können, - können Sie im <link - linkend="x-and-wheel">passenden Abschnitt</link> der FAQ - erfahren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="laptop-mouse-trackball"> - <para>Wie benutze ich Maus/Trackball/Touchpad auf meinem - Laptop?</para> - </question> - - <answer> - <para>Bitte lesen Sie <link - linkend="ps2mouse">die Antwort zur vorherigen Frage</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="keyboard-delete-key"> - <para>Wie kann ich die Delete-Taste in der <command>sh</command> und - <command>csh</command> einsetzen?</para> - </question> - - <answer> - <para>Für die <application>Bourne Shell</application> - fügen Sie die folgende Zeile in die Datei - <filename>.shrc</filename> ein (lesen Sie dazu auch die - Manualpages &man.sh.1; sowie &man.editrc.5;).</para> - - <programlisting>bind ^? ed-delete-next-char # for console -bind ^[[3~ ed-delete-next-char # for xterm</programlisting> - - <para>Für die <application>C Shell</application> nehmen - Sie hingegen die folgende Zeile in die Datei - <filename>.cshrc</filename> auf (lesen Sie dazu auch die - Manualpage &man.csh.1;).</para> - - <programlisting>bindkey ^? delete-char # for console -bindkey ^[[3~ delete-char # for xterm</programlisting> - - <para>Weitere Informationen zu diesem Thema finden sich auch - <ulink - url="http://www.ibb.net/~anne/keyboard.html">hier</ulink>.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-networking"> - <title>Netzkarten und serielle Geräte</title> - - <qandaset> - <qandaentry> - <question id="network-cards"> - <para>Welche Netzwerkkarten unterstützt &os;?</para> - </question> - - <answer> - <para>In den Hardware Informationen zu jedem &os; Release - werden die unterstützten Karten aufgezählt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="support-broadcom"> - <para>Gibt es einen &os;-Treiber für die Karten der - Serie 43xx von Broadcom?</para> - </question> - - <answer> - <para>Ja. Zahlreiche Broadcom 43xx-Karten werden von den Treibern - &man.bwn.4; sowie &man.bwi.4; unterstützt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="multiport-serial-support"> - <para>Welche seriellen Multi-Port-Karten werden von &os; - unterstützt?</para> - </question> - - <answer> - <para>Es existiert eine Liste der unterstützten Karten - im Abschnitt <ulink - url="&url.books.handbook;/serial.html">Serielle - Datenübertragung</ulink> des Handbuchs.</para> - - <para>Von einigen NoName-Nachbauten ist ebenfalls - bekannt, dass sie funktionieren, speziell von den - AST-kompatiblen.</para> - - <para>In &man.sio.4; finden Sie weitere Informationen zur - Konfiguration solcher Karten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="serial-console-prompt"> - <para>Wie kann ich den boot:-Prompt auf einer seriellen - Konsole erscheinen lassen?</para> - </question> - - <answer> - <para>Lesen Sie <ulink - url="&url.books.handbook;/serialconsole-setup.html"> - diesen Abschnitt</ulink> des Handbuchs.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-sound"> - <title>Soundkarten</title> - - <qandaset> - <qandaentry> - <question id="sound-card-support"> - <para>Welche Soundkarten werden von &os; unterstützt?</para> - </question> - - <answer> - <para>&os; unterstützt verschiedene Soundkarten. - Lesen Sie die <ulink url="&url.base;/de/releases/"> - &os; Release Informationen</ulink> sowie &man.snd.4;, - wenn Sie genauere Informationen benötigen. MPU-401 - und kompatible MIDI-Karten werden begrenzt unterstützt. - Ebenso unterstützt werden Karten, die der µsoft; - Sound System-Spezifikation entsprechen.</para> - - <note> - <para>Das gilt nur für Sound! Dieser Treiber - unterstützt keine CD-ROMs, SCSI oder Joysticks auf - diesen Karten, außer der &soundblaster;. Die - &soundblaster;-SCSI-Schnittstelle und einige - Nicht-SCSI-CD-ROMs werden unterstützt, Sie - können von diesen Geräten aber nicht - booten.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="es1370-silent-pcm"> - <para>Abhilfen für fehlenden Sound bei Verwendung des - &man.pcm.4;-Treibers?</para> - </question> - - <answer> - <para>Einige Soundkarten setzen die Lautstärke bei jedem - Systemstart auf 0. In diesem Fall müssen Sie nach jedem - Bootvorgang den folgenden Befehl ausführen:</para> - - <screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - <sect1 id="compatibility-other"> - <title>Sonstige Hardware</title> - - <qandaset> - <qandaentry> - <question id="power-management-support"> - <para>Unterstützt &os; Power-Management auf meinem - Laptop?</para> - </question> - - <answer> - <para>&os; unterstützt <acronym>APM</acronym> - auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;.</para> - - <para>&os; unterstützt einen Großteil der - <acronym>ACPI</acronym>-Funktionen moderner Hardware. - Lesen Sie dazu auch &man.acpi.4;. - Unterstützt Ihr System sowohl <acronym>APM</acronym> - als auch <acronym>ACPI</acronym>, können Sie beide - Systeme testen und sich für das System entscheiden, - das Ihren Anforderungen am besten entspricht.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="disable-acpi"> - <para>Wie kann ich ACPI deaktivieren?</para> - </question> - - <answer> - <para>Fügen Sie die Zeile - <screen>hint.acpi.0.disabled="1"</screen> in die Datei - <filename>/boot/device.hints</filename> ein.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="micron-hang-boot"> - <para>Wieso hängt sich mein Micron-System beim Booten - auf?</para> - </question> - - <answer> - <para>Lesen Sie <link - linkend="micron-hang-boot">die vorherige Antwort</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="asusk7v-boot-failure"> - <para>Wenn ich ein System mit einem ASUS K7V Mainboard von - der Bootdiskette starte, hängt sich das System auf. - Wie kann ich dieses Problem lösen?</para> - </question> - - <answer> - <para>Schalten Sie im BIOS die Option <quote>boot virus - protection</quote> aus.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="micron-3comnic-failure"> - <para>Warum arbeitet meine &tm.3com; PCI-Netzwerkkarte in meinem - Micron-Computer nicht?</para> - </question> - - <answer> - <para>Einige Micron Motherboards besitzen eine - nicht-konforme PCI-BIOS-Implementierung, die die - PCI-Geräte nicht an den angegebenen Adressen - konfiguriert. Hierdurch entstehen Probleme, wenn &os; - bootet.</para> - - <para>Deaktivieren Sie die Option <quote>Plug and Play - Operating System</quote> im BIOS, um das Problem zu - umgehen.</para> - </answer> - </qandaentry> - </qandaset> - - </sect1> - - </chapter> - - <chapter id="troubleshoot"> - <title>Fehlerbehebung</title> - - <qandaset> - <qandaentry> - <question id="pae"> - <para>Warum zeigt &os; eine falsche Speichergröße auf - &i386; Hardware an?</para> - </question> - - <answer> - <para>Das liegt sehr wahrscheinlich an den Unterschieden zwischen - physikalischen und virtuellen Speicheraddressen.</para> - - <para>Bei moderner PC-Hardware ist es üblich, den - Speicherbereich zwischen 3,5 und 4 Gigabyte für - spezielle Aufgaben (normalerweise fü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.</para> - - <para>Was mit dem in diesen Bereich gehörenden - physikalischen Speicher passiert, hängt von der von - Ihnen eingesetzten Hardware ab. Unglü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.</para> - - <para>Ein Großteil der heute existierenden Hardware - ist aber inzwischen in der Lage, diesen Speicherbereich - in einen höheren Speicherbereich umzulenken, damit - Sie weiterhin darauf zugreifen können. Allerdings - kann es durch dieses Umlenken zu verwirrende Meldungen - während des Systemstarts kommen.</para> - - <para>Unter 32-Bit-Versionen von &os; scheint dieser - Speicherbereich nicht verfügbar zu sein, da er in einen - Bereich oberhalb von 4 Gigabyte übertragen wurde, auf den - ein 32-Bit-Kernel allerdings nicht zugreifen kann. Ist dies - bei Ihnen der Fall, müssen Sie die PAE-Unterstützung - in Ihren Kernel kompilieren. Lesen Sie dazu auch die - entsprechenden <link - linkend="memory-limits">Einträge über - Speicherbegrenzungen</link> und <link - linkend="memory-upper-limitation">unterschiedliche - Speicherbegrenzungen auf verschiedenen Plattformen</link>.</para> - - <para>Verwenden Sie hingegen eine 64-Bit-Version von &os; - oder einen 32-Bit-Kernel mit aktivierter - PAE-Unterstützung, ist &os; in der Lage, diesen - Speicherbereich korrekt zu erkennen und umzulenken, damit Sie - weiterhin darauf zugreifen können. Allerdings wird, aufgrund - der beschriebenen Umbelegung, in diesem Fall beim Systemstart mehr - Speicher angezeigt, als tatsächlich auf Ihrem System vorhanden - ist. Dies ist aber normal und wird nach dem Ende des Systemstarts - automatisch korrigiert.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="awre"> - <para>Was sollte ich tun, wenn auf meiner Festplatte - fehlerhafte Blöcke sind?</para> - </question> - - <answer> - <para>SCSI-Laufwerke sollten in der Lage sein, diese - automatisch zu verlagern. Bei einigen Laufwerken ist - diese Eigenschaft jedoch aus unerfindlichen Gründen - bei der Auslieferung ausgeschaltet...</para> - - <para>Um sie einzuschalten, müssen Sie den Page-Mode - des ersten Gerätes editieren. Unter &os; - können Sie das (als <username>root</username>) mit - folgendem Befehl tun</para> - - <screen>&prompt.root; <userinput>camcontrol modepage sd0 -m 1 -e -P 3</userinput></screen> - - <para>und die Werte für AWRE und ARRE von 0 auf 1 - ändern:</para> - - <programlisting> -AWRE (Auto Write Reallocation Enbld): 1 -ARRE (Auto Read Reallocation Enbld): 1 - </programlisting> - - <para>Moderne IDE-Controller sind in der Lage, fehlerhafte - Blöcke automatisch zu verlagern. Diese Funktionen - sind bereits ab Werk aktiviert.</para> - - <para>Werden dennoch fehlerhafte Blöcke gemeldet (egal - auf welchem Laufwerk), sollten Sie über den Kauf einer - neuen Platte nachdenken. Zwar könnte es Ihnen mit - Diagnoseprogrammen des Plattenherstellers gelingen, diese - fehlerhaften Blöcke zu sperren. Allerdings können - Sie damit den endgültigen Ausfall der Platte bestenfalls - hinauszögern.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="hpnetserver-scsi-failure"> - <para>Wieso wird der SCSI-Controller meines HP Netserver nicht - erkannt?</para> - </question> - - <answer> - <para>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 - <quote>wirklichen</quote> EISA-Slots vor ihm befinden. - Leider kollidiert der Adressraum von EISA-Slots - >=10 mit dem Adressraum, der PCI zugeordnet ist und - die Autokonfiguration von &os; kann mit dieser - Situation derzeit nicht besonders gut umgehen.</para> - - <para>Die einfachste Alternative ist, diese Kollision - einfach zu leugnen. Setzen Sie dazu die Kerneloption - <literal>EISA_SLOTS</literal> auf den Wert 12. - Konfigurieren und kompilieren Sie den Kernel, wie im <ulink - url="&url.books.handbook;/kernelconfig.html">Handbucheintrag - zur Kernelkonfiguration</ulink> beschrieben.</para> - - <para>Dies bringt Ihnen natürlich das klassische - Huhn-Ei-Problem, wenn Sie auf einer solchen Maschine - installieren wollen. Um dieses Problem zu umgehen, - existiert ein spezieller Hack in - <emphasis>UserConfig</emphasis>. Benutzen Sie nicht die - <quote>visuelle</quote> Schnittstelle, sondern die rohe - Kommandozeilenschnittstelle. Geben Sie einfach den folgenden - Befehl am Prompt ein und Sie können Ihr System ganz - normal installieren:</para> - - <programlisting>eisa 12 -quit - </programlisting> - - <para>Sie sollten auf jeden Fall einen angepassten Kernel zu - kompilieren und installieren.</para> - - <para>Zukünftige Versionen werden hoffentlich eine - passende Lösung für dieses Problem - beinhalten.</para> - - <note> - <para>Sie können keine <literal>dangerously - dedicated</literal> Platte auf einem HP Netserver - verwenden. Lesen Sie weitere Informationen finden Sie - in <link linkend="dedicate">diesem - Hinweis</link>.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="ed1-timeout"> - <para>Was bedeuten die ständigen Meldungen - <literal>ed1: timeout</literal>?</para> - </question> - - <answer> - <para>Dies wird meistens durch einen Interruptkonflikt - verursacht (z.B., wenn zwei Karten den selben Interrupt - benutzen). Booten Sie mit der Option <option>-c</option> - und ändern Sie die Einträge zu - <devicename>ed0</devicename>/<devicename>de0</devicename>/... - (d.h. Ihrem Board entsprechend).</para> - - <para>Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte - benutzen, könnte es auch sein, dass es sich - Geräte-Timeouts aufgrund fehlerhafter Terminierung - handelt. Um dies zu überprüfen, verbinden Sie - einen Terminator direkt mit der Netzwerkkarte (ohne Kabel) - und beobachten Sie, ob die Fehlermeldungen - verschwinden.</para> - - <para>Einige NE2000 kompatible Karten melden diesen Fehler, - wenn keine Verbindung am UTP-Eingang existiert oder wenn - das Kabel nicht eingesteckt ist.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bad-3c509"> - <para>Warum funktioniert meine &tm.3com; 3C509 plötzlich - nicht mehr?</para> - </question> - - <answer> - <para>Diese Karte ist dafür berüchtigt, ihre - Konfiguration zu vergessen. Sie müssen die Karte mit - dem DOS-Programm <command>3c5x9.exe</command> neu - konfigurieren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="printer-slow"> - <para>Mein an der parallel Schnittstelle angeschlossener - Drucker ist unglaublich langsam. Was kann ich - tun?</para> - </question> - - <answer> - <para>Falls das einzige Problem ist, dass er - schrecklich langsam ist, dann sollte Sie versuchen, die - <ulink - url="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE"> - Kommunikationseinstellungen der parallelen Schnittstellen</ulink> - zu ändern, wie es im Kapitel <ulink - url="&url.books.handbook;/printing.html">Drucken</ulink> - des Handbuchs beschrieben ist.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="signal11"> - <para>Wieso brechen meine Programme gelegentlich mit - <errorname>Signal 11</errorname>-Fehlern ab?</para> - </question> - - <answer> - <para>Das Signal 11 wird generiert, wenn ein Prozess - versucht, auf Speicher zuzugreifen, obwohl er vom - Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das - scheinbar zufällig immer wieder passiert, sollten Sie - der Sache einmal auf der Grund gehen.</para> - - <para>Das Problem hat in der Regel eine der folgenden - Ursachen:</para> - - <orderedlist> - <listitem> - <para>Wenn das Problem nur in einer bestimmten - Anwendung auftritt, die Sie selbst entwickeln, dann - ist es wahrscheinlich ein Fehler in Ihren - Sourcen.</para> - </listitem> - - <listitem> - <para>Wenn das Problem in einem Teil von &os; - auftritt, könnte es natürlich auch ein - Fehler sein; aber in den meisten - Fällen werden diese Probleme gefunden und behoben, - bevor die typischen Leser der FAQ (wir) diese Teile - der Sourcen benutzen können (dafür gibt es - schließlich -CURRENT).</para> - </listitem> - </orderedlist> - - <para>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 <emphasis>nicht</emphasis> bei - &os; liegt.</para> - - <para>Nehmen wir zum Beispiel an, dass Sie <command>make - <maketarget>buildworld</maketarget></command> - ausführen und die Compilierung von - <filename>ls.c</filename> in <filename>ls.o</filename> - abbricht. Wenn Sie nochmal <command>make - <maketarget>buildworld</maketarget></command> - durchfü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.</para> - - <para>Was Sie tun sollten:</para> - - <para>Im ersten Fall können Sie einen Debugger wie z.B. - &man.gdb.1; benutzen, um die Stelle im Programm zu finden, - an der auf eine falsche Adresse zugegriffen wird und danach - den Fehler beheben.</para> - - <para>Im zweiten Fall müssen Sie sicherstellen, - dass das Problem nicht von Ihrer Hardware verursacht - wird.</para> - - <para>Typische Ursachen dafür sind unter - anderem:</para> - - <orderedlist> - <listitem> - <para>Es könnte sein, dass Ihren Festplatten - zu warm werden: Überprüfen Sie, ob die - Lüfter in Ihrem Gehäuse noch funktionieren, - damit Ihre Festplatten (und andere Hardware) nicht - heißlaufen.</para> - </listitem> - - <listitem> - <para>Der Prozessor überhitzt, weil Sie Ihn - übertaktet haben oder der CPU-Kühler - ausgefallen ist. Sie müssen sicherstellen, - dass Sie Ihre Hardware unter den Bedingungen - betreiben, für die sie spezifiziert ist, - zumindest während Sie versuchen, das Problem - zu lösen. Mit anderen Worten: Betreiben Sie - Ihre CPU mit der normalen Taktfrequenz.</para> - - <para>Wenn Sie übertakten, sollten Sie daran - denken, dass ein langsames System deutlich - billiger ist als ein defektes System. Die große - Masse hat nicht sehr häufig Mitgefühl mit - Problemen bei übertakteten System, auch wenn Sie - es für ungefährlich halten.</para> - </listitem> - - <listitem> - <para>Unzuverlä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 können Sie - feststellen, ob die Ursache ein einzelnes SIMM/DIMM - oder auch eine Kombination von Modulen ist.</para> - </listitem> - - <listitem> - <para>Zu optimistische Einstellung des Mainboards: In - Ihrem BIOS und mit den Jumpern auf dem Mainboard - können Sie diverse Timings ändern. In den - meisten Fällen reichen die Defaults aus, aber - manchmal kann es durch zu wenig wait states, die - Einstellung <quote>RAM Speed: Turbo</quote> oder - ähnliches zu merkwürdigen Problemen kommen. - Ein möglicher Ansatz ist, die BIOS defaults zu - laden, allerdings könnte es sinnvoll sein, die - aktuellen Einstellungen vorher zu notieren.</para> - </listitem> - - <listitem> - <para>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 können Sie prüfen, ob Ihr Netzteil - eventuell mit einer geringeren Last besser - zurechtkommt. Sie können auch testweise ein - anderes, am besten ein leistungsfähigeres, - Netzteil ausprobieren. Wenn Sie zurzeit ein - 250 W-Netzteil benutzen, sollten Sie testweise ein - 300 W-Netzteil einbauen.</para> - </listitem> - </orderedlist> - - <para>Die sollten ebenfalls die SIG11 FAQ (unten - aufgeführt) lesen, da sie gute Erklärungen - für alle diese Probleme enthält (allerdings aus - &linux;-Sicht). Sie erklärt ebenfalls, warum sowohl - Programme als auch Geräte zur Speicherprüfung - fehlerhaften Speicher teilweise nicht erkennen.</para> - - <para>Wenn alle diese Schritte nicht helfen, ist es - möglich, dass Sie einen Fehler in &os; - gefunden haben. Folgen Sie einfach den Anweisungen - für die Erstellung eines Problem Reports.</para> - - <para>Es existiert eine ausführliche FAQ hierzu unter - <ulink url="http://www.bitwizard.nl/sig11/">der - SIG11-Problem-FAQ</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="trap-12-panic"> - <para>Mein System stürzt mit der Meldung - <errorname>Fatal trap 12: page fault in kernel - mode</errorname> oder <errorname>panic:</errorname> ab und - gibt eine Menge zusätzlicher Informationen aus. Was - kann ich tun?</para> - </question> - - <answer> - <para>Die Entwickler von &os; interessieren sich fü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 über <link - linkend="kernel-panic-troubleshooting">kernel panics</link>. - Erzeugen sie einen Kernel mit den zusätzlichen Daten - zur Fehlersuche, und dann einen backtrace. Das hört - sich komplizierter an, als es ist. Sie brauchen keine - Programmier-Erfahrung, Sie müssen einfach nur den - Anweisungen folgen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="screen-loses-sync"> - <para>Wieso wird beim Booten der Bildschirm schwarz und reagiert - nicht mehr?</para> - </question> - - <answer> - <para>Dies ist ein bekanntes Problem mit der ATI Mach64 - Videokarte. Das Problem besteht darin, dass diese - Karte die Adresse <literal>2e8</literal> benutzt und die - vierte serielle Schnittstelle ebenfalls. Aufgrund eines - Fehlers (einer Besonderheit?) im &man.sio.4;-Treiber wird - diese Schnittstelle angesprochen, auch wenn Sie gar keine - vierte serielle Schnittstelle besitzen und - <emphasis>sogar</emphasis>, wenn Sie - <devicename>sio3</devicename> (die vierte Schnittstelle), - die normalerweise diese Adresse verwendet, deaktivieren.</para> - - <para>Bis der Fehler behoben ist, können Sie folgende - Abhilfe verwenden:</para> - - <orderedlist> - <listitem> - <para>Geben Sie am Bootprompt <option>-c</option> ein. - (Dies bringt den Kernel in den - Konfigurationsmodus).</para> - </listitem> - - <listitem> - <para>Deaktivieren Sie <devicename>sio0</devicename>, - <devicename>sio1</devicename>, - <devicename>sio2</devicename> und - <devicename>sio3</devicename> (alle). Auf diese Weise - wird der &man.sio.4;-Treiber nicht aktiviert und das - Problem tritt nicht mehr auf.</para> - </listitem> - - <listitem> - <para>Geben Sie exit ein, um den Bootvorgang - fortzusetzen.</para> - </listitem> - </orderedlist> - - <para>Falls sie in der Lage sein wollen Ihre seriellen - Schnittstellen zu benutzen, müssen Sie einen neuen - Kernel mit folgenden Modifikationen erstellen: suchen Sie - in <filename>/usr/src/sys/sio/sio.c</filename> (oder in - <filename>/usr/src/sys/pc98/cbus/sio.c</filename> für pc98) - nach der Zeichenkette <literal>0x2e8</literal> und löschen - Sie sie und das vorhergehende Komma (nicht das folgende - Komma). Nun folgen Sie der normalen Prozedur zur - Erstellung eines neuen Kernels.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="reallybigram"> - <para>Wieso verwendet &os; nur 64 MB Hauptspeicher, - obwohl in meinem Rechner 128 MB sind?</para> - </question> - - <answer> - <para>Aufgrund der Art und Weise, wie &os; die - Hauptspeichergröße vom BIOS mitgeteilt bekommt, - kann es lediglich 16-Bit Werte in kByte-Größe - (65535 kByte = 64 MB) erkennen (oder weniger... einige - BIOSe setzen die Hauptspeichergröße auf 16 MB). - Falls Sie mehr als 64 MB besitzen, wird &os; versuchen, - das zu erkennen, was aber nicht immer - funktioniert.</para> - - <para>Um dieses Problem zu umgehen, müssen Sie die - untenstehende Kerneloption verwenden. Es gibt einen Weg, - vollständige Hauptspeicherinformationen vom BIOS zu - erhalten, aber in den Bootblöcken ist nicht - genügend Platz dafür vorhanden. Wenn der - Platzmangel in den Bootblöcken eins Tages behoben - ist, werden wir die erweiterten BIOS-Funktionen dazu - nutzen, die vollständigen Hauptspeicherinformationen - zu erhalten... aber zurzeit sind wir auf die Kerneloption - angewiesen.</para> - - <programlisting>options MAXMEM=<replaceable>n</replaceable></programlisting> - - <para>Hierbei ist <literal>n</literal> Ihre - Hauptspeichergröße in Kilobyte. Bei einer - 128 MB-Maschine müßten Sie - <literal>131072</literal> benutzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="kmem-map-too-small"> - <para>Ich habe mehr als 1 GB RAM. Trotzdem stürzt - mein System mit der Meldung - <errorname>kmem_map too small</errorname> ab. Was läuft hier - schief?</para> - </question> - - <answer> - <para>Im Normalfall bestimmt &os; einige Kernelparameter, - darunter die maximale Anzahl der Dateien, die gleichzeitig - geöffnet sein können, aus der Größe - des im System installierten Hauptspeichers. Auf Systemen - mit mindestens 1 GB Hauptspeicher kann dieser - <quote>auto sizing</quote>-Mechanismus diese Werte - fälschlicherweise zu hoch ansetzen: Beim Systemstart - fordert der Kernel dann verschiedene Tabellen und andere - Strukturen an, die den Großteil des verfügbaren - Kernelspeichers verbrauchen. Dies führt dazu, dass - der Kernel während des Betriebs keine dynamischen - Speicheranforderungen mehr ausführen kann und mit - einer Kernelpanik abstürzt.</para> - - <para>Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu - setzen Sie <option>VM_KMEM_SIZE_MAX</option> - in Ihrer Kernelkonfigurationsdatei auf 400 MB - (<option>options VM_KMEM_SIZE_MAX=419430400</option>). - 400 MB sollten für Maschinen bis 6 GB - Hauptspeicher ausreichend sein.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="panic-kmemmap-too-small"> - <para>Ich habe weniger als 1 GB Hauptspeicher. Dennoch - stürzt mein System mit der Meldung - <errorname>kmem_map too small</errorname> ab!</para> - </question> - - <answer> - <para>Diese Meldung zeigt an, dass der virtuelle - Speicher für Netzwerkpuffer (spezieller mbuf-Cluster) - aufgebraucht ist. Sie können die für mbuf - verfügbare Größe an VM erhöhen, indem - Sie den Anweisungen des Abschnitts <ulink - url="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS"> - Netzwerk-Limits</ulink> des Handbuchs folgen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="proc-table-full"> - <para>Wieso erhalte ich die Meldung <errorname>kernel: - proc: table is full</errorname>?</para> - </question> - - <answer> - <para>Der &os;-Kernel beschränkt die Anzahl der - gleichzeitig laufenden Prozesse. Die Anzahl errechnet - sich aus dem Wert der Variablen - <literal>MAXUSERS</literal> in der Konfigurationsdatei des - Kernels. Auch andere Einstellungen wie die Anzahl der - Puffer für Netzwerkoperationen (Details dazu - finden Sie in <link - linkend="panic-kmemmap-too-small">diesem - Abschnitt</link>). werden durch - <varname>MAXUSERS</varname> beeinflusst. Wenn Ihr - System stark belastet ist, sollten Sie den Wert von - <varname>MAXUSERS</varname> erhöhen. Dadurch werden - diverse Einstellung des Systems angepasst und die - maximale Anzahl gleichzeitig laufender Prozesse - erhöht.</para> - - <para>Um den Wert von <varname>MAXUSERS</varname> anzupassen, - folgen Sie den Anweisungen des Abschnitts <ulink - url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> - Datei- und Prozesslimits</ulink> des Handbuchs. Dieser - Abschnitt spricht zwar nur von Dateien, für Prozesse - gelten aber die gleichen Beschränkungen.</para> - - <para>Wenn Ihr System nicht besonders stark ausgelastet ist - und Sie einfach nur mehr gleichzeitig laufende Prozesse - erlauben wollen, können Sie den Wert der Variable - <varname>kern.maxproc</varname> in der Datei - <filename>/boot/loader.conf</filename> anpassen. Um die - Änderung zu aktivieren, müssen Sie Ihr System - neu starten. Wollen Sie Ihr System zusätzlich - optimieren, sollten Sie &man.loader.conf.5; und - &man.sysctl.conf.5; lesen. - Wenn diese Prozesse von einem einzigen Benutzer - ausgeführt werden, müssen Sie den Wert von - <varname>kern.maxprocperuid</varname> ebenfalls - erhöhen. Dieser Wert muss immer mindestens um - eins geringer sein als der Wert von - <varname>kern.maxproc</varname> (der Grund - für diese Einschränkung ist, dass ein - Systemprogramm, &man.init.8;, immer ausgeführt werden - muss).</para> - - <para>Damit Änderungen einer sysctl-Variable dauerhaft - erhalten bleiben, nehmen Sie diese in - <filename>/etc/sysctl.conf</filename> auf. Weitere - Informationen zur Optimierung Ihres Systems finden Sie im - Abschnitt <ulink - url="&url.books.handbook;/configtuning-sysctl.html"> - Einstellungen mit sysctl</ulink> des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cmap-busy-panic"> - <para>Wieso erhalte ich die Meldung <errorname>CMAP busy - panic</errorname>, wenn ich mein System mit einem neuen - Kernel starte?</para> - </question> - - <answer> - <para>Die Logik, die versucht, veraltete - <filename>/var/db/kvm_*.db</filename>-Dateien zu erkennen, - versagt manchmal und die Benutzung einer unpassenden Datei - kann zu Paniksituationen führen.</para> - - <para>Falls das passiert, rebooten Sie in den Single-User-Modus - und löschen Sie die Dateien:</para> - - <screen>&prompt.root; <userinput>rm /var/db/kvm_*.db</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="brkadrint-illegal-host-access"> - <para>Was soll mir die Meldung <errorname>ahc0: brkadrint, - Illegal Host Access at seqaddr 0x0</errorname> - sagen?</para> - </question> - - <answer> - <para>Dies ist ein Konflikt mit einem Ultrastor SCSI - Hostadapter.</para> - - <para>Rufen Sie während des Bootprozesses das - Kernelkonfigurationsmenü auf und deaktivieren Sie - <devicename>uha0</devicename>, welches das Problem - verursacht.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="aci0-illegal-cable"> - <para>Wenn ich mein System starte, erhalte ich die Meldung - <errorname>ahc0: illegal cable configuration</errorname>, - obwohl die Verkabelung korrekt ist. Woran liegt - das?</para> - </question> - - <answer> - <para>Auf Ihrem Mainboard fehlen ein paar Logikbausteine, - die für die Unterstützung der automatischen - Terminierung notwendig sind. Stellen Sie in Ihrem - SCSI-BIOS manuell die korrekte Terminierung für Ihr - System ein, anstatt sich auf die automatische Terminierung - zu verlassen. Der &man.ahc.4;-Treiber kann nicht - erkennen, ob die externen Logikbausteine fü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 <quote>automatische Terminierung</quote> - eingestellt ist. Ohne die externen Bausteine ist es sehr - wahrscheinlich, dass der Treiber die Terminierung - falsch einstellt, was die Zuverlässigkeit des - SCSI-Busses herabsetzen kann.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mail-loopback"> - <para>Wieso meldet <application>sendmail</application> - <errorname>mail loops back to myself</errorname>?</para> - </question> - - <answer> - <para>Sie finden eine detaillierte Antwort auf diese Frage im - <ulink - url="&url.books.handbook;/mail-trouble.html#Q29.6.2.">Handbuch</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="remote-fullscreen"> - <para>Wieso funktionieren bildschirmorientierte Anwendungen beim - Zugriff über ein Netzwerk nicht richtig?</para> - </question> - - <answer> - <para>Die entfernte Maschine scheint den Terminaltyp auf - etwas anderes als den Typ <literal>cons25</literal>, der - von &os; verlangt wird, zu setzen.</para> - - <para>Es gibt mehrere mögliche Abhilfen für dieses - Problem:</para> - - <itemizedlist> - <listitem> - <para>Setzen Sie die Shell-Variable <envar>TERM</envar> - nach dem Einloggen auf der entfernten Maschine auf - <literal>ansi</literal> oder <literal>sco</literal>, - sofern die entfernte Maschine diese Terminaltypen - kennt.</para> - </listitem> - - <listitem> - <para>Benutzen Sie einen VT100-Emulator wie - <application>screen</application> auf der - &os;-Konsole. <application>screen</application> - bietet Ihnen die Möglichkeit, mehrere - gleichzeitige Sitzungen von einem Bildschirm aus - laufen zu lassen. Es ist ein sehr nettes Programm. - Jedes <application>screen</application>-Fenster - verhält sich, wie ein VT100-Terminal, weshalb die - Variable <envar>TERM</envar> am entfernten Ende auf - <literal>vt100</literal> gesetzt werden - sollte.</para> - </listitem> - - <listitem> - <para>Installieren Sie den Eintrag - <literal>cons25</literal> in der Bildschirmdatenbank - der entfernten Maschine. Wie das zu geschehen hat, - hängt vom Betriebssystem der entfernten Maschine - ab. Das Systemadministrationshandbuch für das - entfernte System sollte Ihnen hierbei helfen - können.</para> - </listitem> - - <listitem> - <para>Starten Sie einen X-Server auf der &os;-Seite - und benutzen Sie einen X-basierten Terminalemulator - wie <command>xterm</command> oder - <command>rxvt</command>, um sich auf der entfernten - Maschine einzuloggen. Die Variable <envar>TERM</envar> - auf dem entfernten Host sollte auf <literal>xterm</literal> - oder <literal>vt100</literal> gesetzt werden.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="pnp-not-found"> - <para>Warum wird meine PnP-Karte nicht (oder nur noch als - <literal>unknown</literal>) erkannt?</para> - </question> - - <answer> - <para>Die Gründe für dieses Verhalten werden in - der unten zitierten Mail von &a.peter; - erklärt. Diese Mail stammt von der Mailingliste - &a.questions; und war eine Antwort auf eine Frage - bezüglich eines internen Modem, das nach dem Update - auf &os; 4.<replaceable>X</replaceable> nicht mehr - erkannt wurde.</para> - - <note> - <para>Die mit <literal>[]</literal> gekennzeichneten Kommentare - wurden eingefügt, um an einigen Stellen die Bezüge - klarzustellen.</para> - </note> - - <blockquote> - <para>Das PnP-BIOS hat es [das Modem] vorkonfiguriert und - es dann im Adressraum liegenlassen, daher haben es - die alten ISA-Erkennungsroutinen [in - 3.<replaceable>X</replaceable>] <quote>gefunden</quote>.</para> - - <para>In 4.0 sind die ISA-Routinen deutlich - PnP-orientierter. Es war möglich [in - 3.<replaceable>X</replaceable>], dass eine ISA-Erkennungsroutine - ein <quote>zugelaufenes</quote> Gerät fand; - während die PnP-Treiber zwar die ID erkannten, das - Gerät aber wegen des Ressourcekonfliktes nicht - benutzen konnten. Daher werden die programmierbaren - Karten zunächst einmal abgeschaltet, um diese - doppelte Erkennung vermeiden zu können. Das - bedeutet allerdings auch, dass die Treiber die - PnP-ID kennen muss, um PnP-Hardware - unterstützen zu können. Wir haben uns - vorgenommen, den Benutzern eine einfachere - Möglichkeit zur Manipulation dieser Informationen - zur Verfügung zu stellen.</para> - </blockquote> - - <para>Damit Ihr Gerät wieder funktioniert, müssen - Sie seine PnP-ID herausfinden und die ID in die Listen - eintragen, die zur Erkennung von PnP-Geräten - genutzten werden. Zu diesem Zweck wird das Gerät mit - &man.pnpinfo.8; analysiert. Das Beispiel zeigt die - Ausgaben von &man.pnpinfo.8; für ein internes - Modem:</para> - - <screen>&prompt.root; <userinput>pnpinfo</userinput> -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)</screen> - - <para>[weitere TAG Zeilen gestrichen]</para> - - <screen>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</screen> - - <para>Sie benötigen die Information aus der Zeile - <literal>Vendor ID</literal> ganz am Anfang. Die in Klammern - ausgegebene hexadezimale Zahl (<literal>0x3024a341</literal> in - diesem Beispiel) ist die PnP ID und die unmittelbar davor - stehende Zeichenkette (<literal>PMC2430</literal>) ist eine - eindeutige Herstellerkennung.</para> - - <para>Benutzen Sie &man.pciconf.8; wenn &man.pnpinfo.8; die Karte - nicht anzeigt. Der Teil der Ausgabe von - <command>pciconf -vl</command> für eine auf dem - Motherboard integrierte Soundkarte sieht zum Beispiel so - aus:</para> - - <screen>&prompt.root; <userinput>pciconf -vl</userinput> -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</screen> - - <para>Sie benötigen die Chip-ID <literal>0x24158086</literal>, - die hinter <varname>chip</varname> aufgeführt ist.</para> - - <para>Die <literal>Vendor ID</literal> oder - <varname>chip</varname>-ID müssen in die - Datei <filename>/usr/src/sys/dev/sio/sio_isa.c</filename> - eingetragen werden.</para> - - <para>Sie sollten zunächst ein Backup von - <filename>sio_isa.c</filename> anlegen, falls etwas schief - gehen sollte. Sie werden auch einen Patch erzeugen - müssen, um ihn zusammen mit Ihrem PR einzusenden. - (Sie wollten doch einen PR schreiben, oder etwa nicht?) - Öffnen Sie nun <filename>sio_isa.c</filename> mit einem - Editor und suchen Sie nach der Zeile:</para> - - <programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting> - - <para>Blättern Sie dann nach unten, um die passende - Stelle für Ihr Gerät zu finden. Unten finden - Sie Beispiel für die Einträge, diese sind nach - der Herstellerkennung sortiert. Diese sollte in dem - Kommentar auf der rechten Seite aufgenommen werden, dazu - kommt die Gerätebeschreibung (<emphasis>Device - Description</emphasis>) aus der Ausgabe von - &man.pnpinfo.8;:</para> - - <programlisting> -{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 */ - </programlisting> - - <para>Fügen Sie die hexadezimale Gerätekennung an - der richtigen Stelle ein, speichern Sie die Datei ab, - erzeugen Sie einen neuen Kernel und starten Sie Ihr System - neu. Ihr Gerät sollte nun als - <devicename>sio</devicename> Gerät erkannt werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="nlist-failed"> - <para>Warum erhalte ich die Meldung <errorname>nlist - failed</errorname>, wenn ich Programme wie - <command>top</command> oder <command>systat</command> - benutze?</para> - </question> - - <answer> - <para>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:</para> - - <itemizedlist> - <listitem> - <para>Ihr Kernel und die sonstigen Programme (das - <quote>Userland</quote>) sind nicht mehr auf dem - gleichen Stand. Mit anderen Worten, Sie haben zwar - einen neuen Kernel erzeugt, aber kein - <maketarget>installworld</maketarget> (oder - umgekehrt); darum weicht die Symboltabelle von dem - ab, was die Anwendung erwartet. Wenn dies der Fall ist, - müssen Sie lediglich die noch fehlenden Schritte - des Upgrades durchführen. Die richtige - Vorgehensweise kann - <filename>/usr/src/UPDATING</filename> entnommen - werden.</para> - </listitem> - - <listitem> - <para>Um Ihren Kernel zu laden, benutzen Sie nicht - <command>/boot/loader</command>, sondern laden ihn - direkt mit <filename>boot2</filename> (siehe - &man.boot.8;). Es ist zwar nicht immer ein Fehler, - <command>/boot/loader</command> zu umgehen; allerdings - ist er in der Regel besser dazu geeignet, die Symbole des - Kernels für normale Anwendungen verfügbar zu - machen.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="connection-delay"> - <para>Wieso dauert es so lange, bis eine Verbindung - (&man.ssh.1; oder &man.telnet.1;) aufgebaut wird?</para> - </question> - - <answer> - <para>Das Symptom: Nach dem Aufbau des TCP-Verbindung - vergeht einige Zeit, bis endlich die Abfrage des - Passwortes (bzw. der Login-Prompt bei Telnet) - erscheint.</para> - - <para>Das Problem: In den meisten Fällen versucht der - Server in der Zwischenzeit, die IP-Adresse des Clients in - einen Rechnernamen zu übersetzen. Viele Server - (darunter die <application>Telnet</application>- und - <application>SSH</application>-Server von &os;) machen - das, um den Hostnamen z.B. für spätere - Verwendung durch den Systemadministrator in eine - Protokolldatei schreiben zu können.</para> - - <para>Die Lö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.</para> - - <para>Wenn das Problem vom Client verursacht wird, - müsssen Sie die Einträge im DNS korrigieren, - damit der Server Ihre IP-Adresse ü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 - müssen, damit dieser das Problem für Sie - korrigiert.</para> - - <para>Wenn das Problem vom Server verursacht wird und Sie - sich in einem lokalen Netzwerk befinden, dann müssen - Sie Ihren Server so konfigurieren, dass er die lokal - genutzten IP-Adressen in Rechnernamen übersetzen kann. - Weitere Informationen erhalten Sie in den Onlinehilfen zu - &man.hosts.5; und &man.named.8;. Wenn dieses Problem im - Internet auftritt, könnte die Ursache auch darin - liegen, dass die Namensauflösung auf dem Server - nicht funktioniert. Versuchen Sie, einen anderen - Hostnamen wie z.B. <hostid>www.yahoo.com</hostid> - aufzulösen. Wenn das nicht funktioniert, liegt das - Problem bei Ihrem System.</para> - - <para>Haben Sie &os; gerade erst installiert, kann es auch - sein, dass die Domänen- und Nameserverinformationen - noch nicht in <filename>/etc/resolv.conf</filename> - vorhanden sind. Dadurch kommt es häufig zu - Verzögerungen beim Einsatz von - <application>SSH</application>, weil die Option - <literal>UseDNS</literal> in der Voreinstellung auf - <literal>yes</literal> gesetzt ist (in der Datei - <filename>sshd_config</filename> im Verzeichnis <filename - class="directory">/etc/ssh</filename>). Ist dies bei - Ihnen der Fall, müssen Sie entweder die fehlenden - Informationen in <filename>/etc/resolv.conf</filename> eintragen - oder als temporäre Maßnahme <literal>UseDNS</literal> - auf <literal>no</literal> setzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="stray-irq"> - <para>Was bedeutet <errorname>stray IRQ</errorname>?</para> - </question> - - <answer> - <para>Stray IRQs sind ein Zeichen für Probleme bei der - Behandlung von Hardware-IRQs. Sie werden meistens von - Geräten verursacht, die ihren Interrupt Request - zurückziehen, obwohl gerade der interrupt request - acknowledge-Zyklus läuft.</para> - - <para>Sie können drei Dinge tun:</para> - - <itemizedlist> - <listitem> - <para>Ertragen Sie die Warnungen. Sie erhalten nur die - ersten 5 für jeden IRQ, alle anderen werden - unterdrückt.</para> - </listitem> - - <listitem> - <para>Eliminieren Sie die Meldungen, indem Sie den Wert von - <varname>MAX_STRAY_LOG</varname> von <literal>5</literal> - auf <literal>0</literal> in der für ihre Plattform - (z.B. &i386;) zuständigen Datei - <filename>intr_machdep.c</filename> ändern. Bauen Sie - anschliessend den Kernel neu, um alle Meldungen zu - unterdrücken.</para> - </listitem> - - <listitem> - <para>Eliminieren Sie die Meldungen, indem Sie Hardware - fü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.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="file-table-full"> - <para>Warum sehe ich in der Ausgabe von &man.dmesg.8; häufig - die Meldung <errorname>file: table is full</errorname>?</para> - </question> - - <answer> - <para>Diese Fehlermeldung besagt, dass Sie die zur - Verfügung stehenden File-Handles des Systems - verbraucht haben. Was das genau bedeutet und wie Sie - dieses Problem lösen können, steht im Abschnitt - <ulink - url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> - kern.maxfiles</ulink> im Kapitel <ulink - url="&url.books.handbook;/configtuning-kernel-limits.html">Anpassung - der Kernelkonfiguration</ulink> des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="calcru-negative-runtime"> - <para>Warum werden ständig Meldungen wie - <errorname>calcru: negative runtime</errorname> oder - <errorname>calcru: runtime went backwards</errorname> auf die - Konsole geschrieben?</para> - </question> - - <answer> - <para>Es existiert ein bekanntes Problem wenn &intel; Enhanced - SpeedStep im BIOS aktiviert wird. Das führt dazu, dass der - Kernel <errorname>calcru</errorname>-Nachrichten wie die folgende - ausgibt:</para> - - <screen>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)</screen> - - <para>Der Grund dafür besteht darin, dass &intel; SpeedStep - (EIST) in manchen Mainboards inkompatibel ist.</para> - - <para>Abhilfe: Deaktivieren Sie die EIST-Eigenschaft im BIOS. Sie - können trotzdem noch ihre Prozessorfrequenz ACPI-basiert - mittels &man.powerd.8; drosseln.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="computer-clock-skew"> - <para>Warum ist die Uhrzeit auf meinem Computer immer - falsch?</para> - </question> - - <answer> - <para>Ihr Computer verfügt über mehr als eine Uhr - und &os; benutzt leider die falsche.</para> - - <para>Starten Sie &man.dmesg.8; und achten Sie auf die - Zeilen, in denen das Wort <literal>Timecounter</literal> - vorkommt. Die von &os; benutzte Uhr findet sich in der Zeile - mit dem höchsten quality-Wert.</para> - - <screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput> - 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</screen> - - <para>Sie können das überprüfen, indem Sie - den Wert der Systemvariablen - <varname>kern.timecounter.hardware</varname> - abfragen.</para> - - <screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput> - kern.timecounter.hardware: ACPI-fast</screen> - - <para>Es kann sich um einen defekten ACPI Timer handeln. Die - einfachste Lösung besteht darin, den ACPI Timer in - <filename>/boot/loader.conf</filename> zu deaktivieren:</para> - - <programlisting>debug.acpi.disabled="timer"</programlisting> - - <para>Es ist aber auch durchaus möglich, dass das BIOS die - TSC Uhr ändert, um beispielsweise den CPU-Takt zu - während des Batteriebetrieb zu ändern, oder im - Stromsparmodus; leider bemerkt &os; diese - Änderungen nicht und daher scheint die Uhr falsch zu - gehen.</para> - - <para>In diesem Beispiel ist die Uhr - <literal>i8254</literal> ebenfalls verfügbar; um sie - auszuwählen, muss ihr Name in die Systemvariable - <varname>kern.timecounter.hardware</varname> geschrieben - werden.</para> - - <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput> - kern.timecounter.hardware: TSC -> i8254</screen> - - <para>Die Uhrzeit Ihres Computers sollte nun genauer - funktionieren.</para> - - <para>Damit diese Änderung automatisch beim Start des - Systems durchgeführt wird, müssen Sie die - folgende Zeile in die - <filename>/etc/sysctl.conf</filename> eintragen.</para> - - <programlisting>kern.timecounter.hardware=i8254</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="null-null"> - <para>Warum erkennt mein Laptop PC-Cards nicht?</para> - </question> - - <answer> - <para>Dieses Problem tritt häufig auf Laptops mit mehreren - Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen - die Hardware in einem inkonsistenten Zustand. Die Karte wird - dann von &man.pccardd.8; als - <errorname>"(null)""(null)"</errorname> anstelle des - tatsächlichen Modells gefunden.</para> - - <para>Um dies zu beheben, müssen Sie die Hardware - zurücksetzen, das heißt 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.</para> - - <para>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.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="boot-read-error"> - <para>Wieso hängt sich &os; nach dem BIOS-Bildschirm - mit der Meldung <errorname>Read error</errorname> - auf?</para> - </question> - - <answer> - <para>Der Bootloader von &os; erkennt die Geometrie Ihrer - Festplatte nicht richtig. Sie müssen die Geometrie - manuell festlegen, wenn sie mit &man.fdisk.8; &os;-Bereiche - erzeugen oder ändern.</para> - - <para>Die richtigen Werte für die Geometrie können - Sie im BIOS des Rechners ablesen. Achten Sie auf die - Anzahl der Zylinder, Köpfe und Sektoren für Ihre - Festplatte.</para> - - <para>Im fdisk von &man.sysinstall.8; müssen Sie - <keycap>G</keycap> eingeben, um die Geometrie zu - definieren.</para> - - <para>Sie erhalten eine Dialogbox, in der Sie die Anzahl der - Zylinder, Köpfe und Sektoren eingeben können. - Verwenden Sie die Angaben des BIOS und setzen Sie - Schrägstriche zwischen die Zahlen. 5000 Zylinder, - 250 Köpfe und 60 Sektoren würden also als - <userinput>5000/250/60</userinput> eingegeben.</para> - - <para>Schließen Sie die Eingabe mit <keycap>Enter</keycap> - ab und drücken Sie <keycap>W</keycap>, um die neue - Partitionstabelle auf die Festplatte schreiben zu - lassen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bootmanager-restore"> - <para>Ein anderes Betriebssystem hat meinen Bootmanager - zerstört. Wie kann ich ihn wiederherstellen?</para> - </question> - - <answer> - <para>Starten Sie &man.sysinstall.8; und wählen Sie - <guimenuitem>Configure</guimenuitem>, dann - <guimenuitem>Fdisk</guimenuitem>. Wählen Sie die - Platte, auf der sich der Boot Manager befand, mit der - <keycap>Leertaste</keycap> aus. Drücken Sie - <keycap>W</keycap>, um die Änderungen auf die Platten - schreiben zu lassen. Nun erscheint eine Abfrage, welcher - Bootmanager installiert werden soll. Wählen Sie - diesen an und er wird wieder installiert.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="indefinite-wait-buffer"> - <para>Was soll mir die Meldung <errorname>swap_pager: indefinite - wait buffer:</errorname> sagen?</para> - </question> - - <answer> - <para>Ein Programm wollte Speicher auf Platte auslagern, und - dieser Vorgang konnte nicht innerhalb von 20 Sekunden - durchgeführt werden. Mögliche Gründe sind - defekte Blö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 - <filename>/var/log/messages</filename> und den Ausgaben - von <command>dmesg</command> finden. Andernfalls sollten - Sie die Kabel und Verbindungen überprüfen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="udma-icrc"> - <para>Was sind <errorname>UDMA ICRC</errorname> Fehler und - wie behebe ich sie?</para> - </question> - - <answer> - <para>Der &man.ata.4;-Treiber meldet <errorname>UDMA ICRC</errorname> - Fehler wenn eine DMA-Übertragung zu oder von einem - Laufwerk fehlgeschlagen ist. Der Treiber versucht die - Übertragung mehrmals durchzuführen und schaltet, - wenn die Versuche fehlschlagen, vom DMA-Modus auf den - langsameren PIO-Modus um.</para> - - <para>Der Fehler kann viele Ursachen haben, häufig ist ein - Kabel kaputt oder die Geräte sind falsch verkabelt. - Prüfen Sie, ob die ATA-Kabel unbeschädigt sind und - für den verwendeten Ultra-DMA-Modus tauglich sind. Ebenso - müssen Wechselrahmen fü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 für ihre Laufwerke zur - Verfügung. Überprüfen Sie damit Ihr Laufwerk und - wenn nötig, sichern Sie Ihre Daten und ersetzen das - Laufwerk.</para> - - <para>&man.atacontrol.8; zeigt für jedes ATA-Gerät den - verwendeten DMA- oder PIO-Modus an. Das Kommando - <command>atacontrol mode - <replaceable>Kanal</replaceable></command> - zeigt die auf einem Kanal verwendeten Modi (die Kanäle - werden von <literal>0</literal> an nummeriert).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="lock-order-reversal"> - <para>Was ist ein <errorname>lock order - reversal</errorname>?</para> - </question> - - <answer> - <para>Eine Antwort auf diese Frage findet sich im &os;-Glossar - unter <ulink - url="&url.books.handbook;/freebsd-glossary.html#LOR-GLOSSARY">LOR</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="called-with-non-sleepable-locks-held"> - <para>Warum erhalte ich die Meldung <errorname>Called ... with - the following non-sleepable locks held</errorname>?</para> - </question> - - <answer> - <para>Diese Meldung erscheint, wenn eine Funktion, die sich - im Ruhemodus befindet, aufgerufen wird, während ein - Mutex oder eine andere (nicht in den Ruhemodus versetzbare) - Sperre aktiv war.</para> - - <para>Der Grund dafür ist, dass ein Mutex nicht für - längere Zeitspannen aktiv sein soll, sondern nur - für die Synchronisation von Gerätetreibern mit - dem Rest des Kernels während eines Interrupts. Unter - &os; dürfen Interrupts nicht in den Ruhemodus - versetzt werden. Daher ist es von entscheidender Bedeutung, - dass während des Bestehens eines Mutex kein - Kernelsubsystem für einen längeren Zeitraum - blockiert ist.</para> - - <para>Um solche Fehler abzufangen, können Sicherungen - (<foreignphrase>Assertions</foreignphrase>) in den Kernel - eingebaut werden, die danach mit dem &man.witness.4;-Subsystem - interagieren. Dadurch wird (in Abhängigkeit von Ihrer - Systemkonfiguration) eine Warnung oder eine Fehlermeldung - ausgegeben, falls der Aufruf einer Funktion während - des Bestehens eines Mutex zu einer Blockierung führen - kann.</para> - - <para>Zusammenfassend kann man sagen, dass diese Warnungen - in der Regel zwar nicht bedrohlich sind. Unter bestimmten - Umständen kann es aber dennoch zu unerwünschten - Nebenwirkungen, angefangen von einer Erhöhung der - Reaktionszeit bis hin zu einem kompletten Einfrieren des - Systems kommen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="touch-not-found"> - <para>Warum bricht - <maketarget>buildworld</maketarget>/<maketarget>installworld</maketarget> - mit der Meldung <errorname>touch: not found</errorname> ab?</para> - </question> - - <answer> - <para>Dieser Fehler bedeutet nicht, dass &man.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, - müssen Sie <command>adjkerntz -i</command> - verwenden, um die Kerneluhr anzupassen, wenn Sie in den - Single-User-Modus booten.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="commercial"> - <title>Kommerzielle Anwendungen</title> - - <note> - <para>Dieser Abschnitt ist immer noch sehr dürftig, aber - wir hoffen natürlich, dass Unternehmen einen Beitrag - leisten werden! :) Die &os;-Gruppe hat keinerlei - finanzielle Interessen an einem der hier aufgelisteten - Unternehmen, sondern listet sie lediglich als - öffentlichen Service auf (und ist der Meinung, dass - ein kommerzielles Interesse an &os; sehr positiven - Einfluss auf ein langfristiges Bestehen von &os; haben - kann). Wir möchten Anbieter kommerzieller Software dazu - aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der - <ulink - url="&url.base;/commercial/commercial.html">Anbieter-Seite</ulink> - finden Sie eine längere Liste.</para> - </note> - - <qandaset> - <qandaentry> - <question id="officesuite"> - <para>Wo bekomme ich &os;-Versionen der klassischen - Büro-Anwendungen?</para> - </question> - - <answer> - <para>Die als Open Source verfügbaren Office-Pakete - <application><ulink - url="http://www.openoffice.org">OpenOffice.org</ulink></application> - und <application><ulink - url="http://www.libreoffice.org">LibreOffice</ulink></application> - laufen nativ unter &os;. Die um zusätzliche - Funktionen erweiterte kommerzielle OpenOffice.org-Version - <application><ulink - url="http://www.oracle.com/us/products/applications/open-office/index.html"> - Oracle Open Office</ulink></application> - läuft in der &linux;-Version ebenfalls problemlos - unter &os;.</para> - - <para>In der Ports-Sammlung sind weitere - Textbearbeitungsprogramme, Tabellenkalkulationen und - Zeichenprogramme enthalten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="motif"> - <para>Woher kann ich <application>&motif;</application> für - &os; bekommen?</para> - </question> - - <answer> - <para>Der Quelltext für <application>&motif; 2.2.2</application> - wurde von der <quote>Open Group</quote> herausgegeben. Sie können - entweder das Package <filename - role="package">x11-toolkits/open-motif</filename> - installieren oder es mit dem entsprechenden Port selbst - compilieren. Weitere Informationen über die - Benutzung der Ports erhalten Sie im <ulink - url="&url.books.handbook;/ports.html">Kapitel Ports des - Handbuchs</ulink>.</para> - - <note> - <para>Die <application>Open &motif;</application> Distribution darf - nur weitergegeben werden, wenn sie auf einem <ulink - url="http://www.opensource.org">Open Source</ulink> - Betriebssystem benutzt wird.</para> - </note> - - <para>Weiterhin gibt es auch kommerzielle - <application>&motif;</application>-Pakete, die zwar nicht kostenlos - sind, aber dafür auch mit <quote>closed source</quote> Software - benutzt werden dürfen. Um die günstigste - ELF-<application>&motif; 2.1.20</application> Distribution - für &os; (&i386;) zu bekommen, wenden Sie sich bitte an <link - linkend="apps2go">Apps2go</link>.<anchor id="apps2go"/></para> - - <para>Es gibt zwei Distributionen, die <quote>development - edition</quote> und die <quote>runtime edition</quote> - (wesentlich günstiger). Diese Distributionen - enthalten:</para> - - <itemizedlist> - <listitem> - <para><application>OSF/&motif; manager</application>, - <application>xmbind</application>, <application>panner</application>, - <application>wsm</application>.</para> - </listitem> - - <listitem> - <para>Development-Kit mit uil, mrm, xm, xmcxx, Include- - und Imake-Dateien.</para> - </listitem> - - <listitem> - <para>Statische und dynamische ELF-Bibliotheken.</para> - </listitem> - - <listitem> - <para>Demonstrations-Applets.</para> - </listitem> - </itemizedlist> - - <para>Achten Sie darauf, dass Sie bei der Bestellung - angeben, dass Sie die &os;-Version von &motif; - möchten (vergessen Sie auch nicht, die Architektur - anzugeben)! Von <emphasis>Apps2go</emphasis> werden auch - Versionen für NetBSD und OpenBSD verkauft. Dieses - Produkt ist zurzeit nur zum Download per FTP - verfügbar.</para> - - <variablelist> - <varlistentry> - <term>Weitere Informationen</term> - - <listitem> - <para><ulink - url="http://www.apps2go.com/">Apps2go Web-Seite</ulink></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>oder</term> - - <listitem> - <para><email>sales@apps2go.com</email> oder - <email>support@apps2go.com</email></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>oder</term> - - <listitem> - <para>Telefon (817) 431 8775 oder - +1 817 431-8775</para> - </listitem> - </varlistentry> - </variablelist> - </answer> - </qandaentry> - - <qandaentry> - <question id="cde"> - <para>Woher kann ich <application>CDE</application> für - &os; bekommen?</para> - </question> - - <answer> - <para><emphasis>Xi Graphics</emphasis> hat einmal - <application>CDE</application> für &os; verkauft, - tut es aber nicht mehr.</para> - - <para><ulink - url="http://www.kde.org/"><application>KDE</application></ulink> - ist ein Open-Source X11-Desktop, der <application>CDE</application> - in vielen Punkten ähnelt. Eventuell gefällt Ihnen auch - das "Look and Feel" von <ulink - url="http://www.xfce.org/"><application>xfce</application></ulink>. - KDE und xfce sind über die <ulink - url="&url.base;/de/ports/index.html">Ports-Sammlung</ulink> - von &os; verfügbar.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="database-systems"> - <para>Gibt es irgendwelche Datenbanksysteme für - &os;?</para> - </question> - - <answer> - <para>Ja! Lesen Sie den Abschnitt <ulink - url="&url.base;/commercial/software_bycat.html#CATEGORY_DATABASE"> - kommerzielle Anbieter</ulink> auf der &os;-Web-Seite.</para> - - <para>Schauen Sie auch im Abschnitt <ulink - url="&url.base;/de/ports/databases.html">Datenbanken</ulink> - der Ports-Sammlung nach.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="oracle-support"> - <para>Kann ich &oracle; unter &os; laufen lassen?</para> - </question> - - <answer> - <para>Ja. Informationen zur Installation von - &linux;-<application>&oracle;</application> unter &os; - finden Sie unter <ulink - url="http://www.shadowcom.net/freebsd-oracle9i/">http://www.shadowcom.net/freebsd-oracle9i/</ulink>.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="applications"> - <title>Benutzerprogramme</title> - - <qandaset> - <qandaentry> - <question id="user-apps"> - <para>Nun, wo sind die ganzen Benutzerprogramme?</para> - </question> - - <answer> - <para>Werfen Sie bitte einen Blick auf <ulink - url="&url.base;/de/ports/index.html">die Ports-Seite</ulink>, - um Informationen über die nach &os; - portierten Softwarepakete zu erhalten. Die Liste - enthält zurzeit &os.numports; Einträge und - wächst täglich. Informieren Sie sich daher - regelmäßig auf dieser Seite oder abonnieren - Sie die Mailingliste &a.announce;, um sich über - Änderungen zu informieren.</para> - - <para>Die meisten Ports sollten auf den &rel3.relx;, &rel2.relx; - und &rel.relx;-Systemen laufen. Jedes Mal, wenn ein - &os;-Release erstellt wird, wird auch ein Snapshot des Port-Baumes - vom Zeitpunkt des Releases in das Verzeichnis <filename - class="directory">ports/</filename> eingefügt.</para> - - <para>Wir unterstützen auch das Konzept von - <quote>Packages</quote> - im Grunde genommen nicht mehr - als komprimierte Binärdistributionen mit ein wenig - zusätzlicher Intelligenz zur Ermöglichung - angepasster Installationen. Ein Package kann leicht - installiert und wieder deinstalliert werden, ohne, - dass man etwas über wissen muss, welche - Dateien es enthält.</para> - - <para>Benutzen Sie das <guimenuitem>Packages</guimenuitem> Menü - in &man.sysinstall.8; (unter dem Menüpunkt - <guimenuitem>post-configuration</guimenuitem>) oder führen Sie - den Befehl &man.pkg.add.1; mit den speziellen - Paketdateien aus, die Sie installieren möchten. - Paketdateien können für gewöhnlich an der - Endung <filename>.tgz</filename> oder - <filename>.tbz</filename> erkannt werden und - diejenigen, die über eine CD-ROM-Distribution - verfügen, haben auf ihrer CD ein Verzeichnis <filename - class="directory">packages/All</filename>, das solche Dateien - enthält. Für verschiedene &os;-Versionen - können sie von folgenden Adressen auch über das - Netz heruntergeladen werden:</para> - - <variablelist> - <varlistentry> - <term>für &rel3.relx;-RELEASE/&rel3.stable;</term> - - <listitem> - <para><ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel3.packages;/"> - ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable</ulink></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>für &rel2.relx;-RELEASE/&rel2.stable;</term> - - <listitem> - <para><ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;/"> - ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable</ulink></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>für &rel.relx;-RELEASE/&rel.stable;</term> - - <listitem> - <para><ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;/"> - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-stable</ulink></para> - </listitem> - </varlistentry> - </variablelist> - - <para>oder von Ihrem nächstgelegenen Mirror.</para> - - <para>Beachten Sie, dass nicht alle Ports als Package - verfügbar sind, da ständig neue hinzugefügt - werden. Es ist immer eine gute Idee, sich - regelmäßig auf der <ulink - url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">ftp.de.FreeBSD.org</ulink> - Masterseite darüber zu informieren, welche Packages - verfügbar sind.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="configure-inn"> - <para>Wie konfiguriere ich INN (Internet News) für - meine Maschine?</para> - </question> - - <answer> - <para>Ein idealer Startpunkt nach der Installation des - Packages oder Ports <filename - role="package">news/inn</filename> ist <ulink - url="http://www.eyrie.org/~eagle/faqs/inn.html">Dave Barr's - INN-Seite</ulink>, wo Sie die INN-FAQ finden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="java"> - <para>Unterstützt &os; &java;?</para> - </question> - - <answer> - <para>Ja. Informieren Sie sich bitte unter <ulink - url="&url.base;/de/java/">http://www.de.FreeBSD.org/java/</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ports-4x"> - <para>Warum kann ich manche Ports auf meiner - &rel3.relx;, &rel2.relx; oder - &rel.relx;-STABLE-Maschine nicht erstellen?</para> - </question> - - <answer> - <para>Wenn Sie eine &os;-Version benutzen, die deutlich - älter als das aktuelle <emphasis>-CURRENT</emphasis> - oder <emphasis>-STABLE</emphasis> ist, könnte es sein, - dass Sie vorher Ihre Ports-Sammlung - aktualisieren müssen. Lesen Sie dazu den Abschnitt - <ulink - url="&url.books.porters-handbook.en;/keeping-up.html"> - Keeping Up</ulink> des Porters-Handbuch. Ist Ihre - Ports-Sammlung aktuell, könnte es sein, dass jemand - eine Änderung am Port durchgeführt hat, die - für <emphasis>-CURRENT</emphasis> funktioniert, den Port - für <emphasis>-STABLE</emphasis> aber unbrauchbar gemacht hat. - Bitte senden Sie einen Fehlerbericht mit dem - Befehl &man.send-pr.1;. Von der Ports-Sammlung - wird nämlich erwartet, dass sie sowohl auf - <emphasis>-CURRENT</emphasis> als auch auf - <emphasis>-STABLE</emphasis> funktioniert.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="make-index"> - <para>Ich habe gerade versucht, <filename>INDEX</filename> - mit <command>make <maketarget>index</maketarget></command> zu - bauen, und es hat nicht geklappt. Woran liegt das?</para> - </question> - - <answer> - <para>Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung - aktuell ist. Fehler, die einen Bau von - <filename>INDEX</filename> aus einer aktuellen Ports-Sammlung - verhindern, sind sofort sichtbar und werden daher fast immer - umgehend behoben.</para> - - <para>Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie - vielleicht ein anderes Problem. - <command>make <maketarget>index</maketarget></command> hat einen - Bug im Umgang mit unvollständigen Kopien der Ports-Sammlung. - Es nimmt an, dass Sie über eine lokale Kopie aller Ports - verfügen, von denen jeder lokale Port abhängt. - Wenn Sie also beispielsweise eine Kopie von - <filename>foo/bar</filename> auf Ihrem System haben, und - <filename>foo/bar</filename> ist von - <filename>baz/quux</filename> abhängig, dann muss auch - eine Kopie von <filename>baz/quux</filename> auf Ihrem - System vorhanden sein, sowie eine Kopie aller Ports, von - denen <filename>baz/quux</filename> abhängt. - Anderenfalls ist <command>make - <maketarget>index</maketarget></command> aufgrund - fehlender Informationen nicht in der Lage, den - Abhängigkeitsbaum zu erzeugen.</para> - - <para>Dieses Problem tritt vor allem dann auf, wenn - &os;-Benutzer &man.csup.1; (oder &man.csup.1;) verwenden, um die - Ports-Sammlung zu aktualisieren und dabei verschiedene Kategorien - durch die Datei <filename>refuse</filename> von der Aktualisierung - ausschließen. Theoretisch ist es zwar möglich, - Kategorien auszuschließen, in der Praxis gibt es aber - zu viele Ports, die von Ports in anderen Kategorien - abhängen. Wenn Sie also <filename>INDEX</filename> - bauen wollen, <emphasis>müssen</emphasis> Sie über - eine komplette Kopie der Ports-Sammlung verfügen.</para> - - <para>Es gibt seltene Fälle, in denen - <filename>INDEX</filename> nicht gebaut werden kann, wenn - bestimmte - <makevar>WITH_<replaceable>*</replaceable></makevar> oder - <makevar>WITHOUT_<replaceable>*</replaceable></makevar> - Variablen in <filename>make.conf</filename> gesetzt sind. - Wenn Sie dieses Problem haben, sollten Sie diese - make-Variablen deaktivieren und <filename>INDEX</filename> - erneut bauen, bevor Sie das Problem an &a.ports; - melden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cvsup-in-base"> - <para>Warum ist <application>CVSup</application> nicht im - &os;-Basisquellbaum enthalten?</para> - </question> - - <answer> - <para>Das Basissystem von &os; soll <quote>selbstverwaltend</quote> - sein. Es soll also möglich sein, das komplette Betriebssystem - mit einer beschränkten Anzahl von Werkzeugen zu starten. - Daher werden die zum Bau von &os; nötigen Werkzeuge mit - dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören - ein C-Compiler (&man.gcc.1;), &man.make.1;, &man.awk.1; und - andere.</para> - - <para>Da <application>CVSup</application> in Modula-3 geschrieben - wurde, müsste ein Modula-3-Compiler ins Basissystem - aufgenommen und auch gewartet werden. Dies würde einen - gestiegenen Speicherbedarf für die &os;-Quellen sowie - einen erhöhten Wartungsaufwand verursachen. Daher ist es - sowohl für Entwickler als auch Benutzer einfacher, - CVSup bei Bedarf als Port oder als Paket von einer - Installations-CD zu installieren.</para> - - <para>Wie dem auch sei, &os;-Benutzer müssen seit - &os; 6.2-RELEASE nicht mehr ohne einen kompatiblen - <application>CVSup</application>-Client auskommen. Dank &a.mux; - wurde <application>CVSup</application> als &man.csup.1; in C neu - geschrieben und ist mittlerweile Teil des Basissystems. Obwohl zur - Zeit noch nicht alle Eigenschaften von - <application>CVSup</application> implementiert sind, ist es gut - genug (und sehr schnell!) darin, ihre Quellen zu synchronisieren. - Für &os;-Systeme vor 6.2 kann es als Port oder Paket - (siehe <filename - role="package">net/csup</filename>) installiert werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ports-update"> - <para>Ich habe die Sourcen aktualisiert, wie aktualisiere - ich jetzt die installierten Ports?</para> - </question> - - <answer> - <para>&os; enthält zwar kein Programm, das die - installierten Ports aktualisiert, allerdings existieren - diverse Programme, die diesen Prozess etwas - vereinfachen. Weiterhin können Sie zusätzliche - Programme installieren, die Sie dabei - unterstützen, siehe <ulink - url="&url.books.handbook;/ports-using.html">Ports - aktualisieren</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ports-major-upgrade"> - <para>Muss ich nach der Aktualisierung einer &os;-Hauptversionsnummer - jedes Mal alle Ports neu erstellen lassen?</para> - </question> - - <answer> - <para>Auf jeden Fall! Während ein aktuelles System mit Software - für eine ältere Version funktionieren wird, werden Sie - mit zufälligen Abstürzen und nicht funktionierenden Ports - zurückbleiben, sobald Sie anfangen, andere Ports zu - installieren oder diejenigen, die Sie bereits haben, aktualisieren - möchten.</para> - - <para>Wenn das System aktualisiert wird, werden verschiedene - Shared-Libraries, ladbare Module und andere Systembestandteile - mit neueren Versionen ersetzt. Anwendungen, die gegen die älteren Versionen gelinkt sind, werden nicht starten oder in anderen - Fällen nicht korrekt funktionieren.</para> - - <para>Für weitere Informationen, lesen Sie <ulink - url="&url.books.handbook;/updating-upgrading-freebsdupdate.html#FREEBSDUPDATE-UPGRADE">den Abschnitt über - Betriebssystemupgrades</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ports-minor-upgrade"> - <para>Muss ich nach der Aktualisierung einer &os;-Unterversionsnummer - jedes Mal alle Ports neu erstellen lassen?</para> - </question> - - <answer> - <para>Generell nicht. Die &os;-Entwickler tun ihr möglichstes, - um die Binärkompatibilität über alle - Veröffentlichungen mit der gleichen Hauptversionsnummer zu - garantieren. Ausnahmen werden in den Release Notes dokumentiert - und die darin enthaltenen Hinweise sollten befolgt werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="minimal-sh"> - <para>Warum ist <command>/bin/sh</command> so spartanisch? - Warum benutzt &os; nicht die <command>bash</command> - oder eine ähnliche Shell?</para> - </question> - - <answer> - <para>Weil der &posix;-Standard definiert, dass es so - eine Shell geben muss.</para> - - <para>Die ausführlichere Antwort: Viele Leute - müssen Shell-Programme schreiben, die auf vielen - verschiedenen Systemen nutzbar sein müssen. Aus - diesem Grund enthält der &posix;-Standard eine sehr - detaillierte Definition der Shell und der Hilfsprogramme. - Die meisten Programme werden für die Bourne Shell - geschrieben; außerdem nutzen mehrere wichtige - Schnittstellen (&man.make.1;, &man.system.3;, - &man.popen.3; und ihre Entsprechungen in höheren - Programmiersprachen wie Perl und Tcl) die Bourne Shell, um - Befehle auszuführen. Da die Bourne Shell an so - vielen Stellen und so häufig genutzt wird, muss - sie die folgenden Anforderungen erfüllen: Schneller - Start, ein klar definiertes Verhalten und ein - möglichst geringer Speicherverbrauch.</para> - - <para>Wir haben bei der vorliegenden Implementierung - versucht, möglichst viele dieser Anforderungen zu - erfüllen. Um <command>/bin/sh</command> nicht zu - groß werden zu lassen, haben wir viele der - Annehmlichkeiten der anderen Shells weggelassen. Aus - diesem Grund gibt es in den Ports die luxuriöseren - Shells wie <command>bash</command>, <command>scsh</command>, - <command>tcsh</command> und <command>zsh</command>. Vergleichen Sie - einfach mal den Speicherverbrauch der verschiedenen - Shells, indem Sie <command>ps <option>-u</option></command> aufrufen - und sich die Angaben in den Spalten <quote>VSZ</quote> und - <quote>RSS</quote> ansehen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="netscape-slow-startup"> - <para>Wieso dauert es so lange, bis &netscape; und Opera - starten?</para> - </question> - - <answer> - <para>In den meisten Fällen liegt es daran, dass - Ihre DNS-Einstellungen fehlerhaft sind. Sowohl - <application>&netscape;</application> als auch - <application>Opera</application> 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.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ports-base-update"> - <para>Ich habe die Ports-Sammlung mit - <application>CVSup</application> aktualisiert. Viele - Ports lassen sich danach nicht mehr bauen und geben - seltsame Fehlermeldungen aus. Was ist passiert? Ist - die Ports-Sammlung kaputt?</para> - </question> - - <answer> - <para>Sie sollten <emphasis>immer</emphasis> die Teilsammlung - <literal>ports-base</literal> aktualisieren, wenn Sie - nur Teile der Ports-Sammlung mit Hilfe der - <application>CVSup</application>-Teilsammlungen - aktualisieren. Die Erklärung dazu finden Sie im <ulink - url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN">Handbuch</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="midi-sound-files"> - <para>Wie erzeuge ich Audio-CDs aus MIDI-Dateien?</para> - </question> - - <answer> - <para>Installieren Sie zuerst den Port <filename - role="package">audio/timidity++</filename>. Danach müssen Sie - manuell die GUS-Patche von Eric A. Welsh von <ulink - url="http://alleg.sourceforge.net/digmid.html"></ulink> - installieren. Wenn <application>TiMidity++</application> - richtig installiert wurde, können Sie mit dem folgenden - Kommando MIDI-Dateien in das WAV-Format konvertieren:</para> - - <screen>&prompt.user; <userinput>timidity -Ow -s 44100 -o <replaceable>/tmp/juke/01.wav</replaceable> <replaceable>01.mid</replaceable></userinput></screen> - - <para>Die WAV-Dateien können dann in andere Formate - konvertiert werden oder (wie im <ulink - url="&url.books.handbook;/creating-cds.html">&os;-Handbuch</ulink> - beschrieben) auf Audio-CDs gebrannt werden.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="kernelconfig"> - <title>Kernelkonfiguration</title> - - <qandaset> - <qandaentry> - <question id="make-kernel"> - <para>Ich möchte meinen Kernel anpassen. Ist das - schwierig?</para> - </question> - - <answer> - <para>Überhaupt nicht! Lesen Sie den <ulink - url="&url.books.handbook;/kernelconfig.html">Abschnitt zur - Kernelkonfiguration im Handbuch</ulink>.</para> - - <note> - <para>Der neue <filename>kernel</filename> wird zusammen mit seinen - Modulen im Verzeichnis <filename - class="directory">/boot/kernel</filename> installiert werden. - Der alte Kernel und dessen Module wird in das Verzeichnis - <filename class="directory">/boot/kernel.old</filename> - verschoben, damit Sie, wenn Sie einen Fehler beim - herumexperimentieren mit Ihrer Konfiguration gemacht haben, die - vorherige Version Ihres Kernels starten können.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="missing-hw-float"> - <para>Was kann ich machen, wenn meine Kernel-Kompilierungen - fehlschlagen, weil <literal>_hw_float</literal> - fehlt?</para> - </question> - - <answer> - <para>Sie haben wahrscheinlich - <devicename>npx0</devicename> aus Ihrer - Kernelkonfigurationsdatei entfernt, weil Sie keinen - mathematischen Co-Prozessor besitzen. Die Gerätedatei - <devicename>npx0</devicename> ist allerdings - <emphasis>VERPFLICHTEND</emphasis>. Ihre Hardware - unterstützt Gleitkommaoperationen, selbst wenn dafür - kein eigenes Bauteil (wie bei den 386er-Prozessoren) mehr - verwendet wird. Daher <emphasis>müssen</emphasis> Sie - die Gerätedatei <devicename>npx0</devicename> einbinden. - Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne - <devicename>npx0</devicename>-Unterstützung zu bauen, - werden Sie diesen nicht booten können.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="why-kernel-big"> - <para>Warum ist mein Kernel so groß (über 10 MByte)?</para> - </question> - - <answer> - <para>Sie haben Ihren Kernel wahrscheinlich im - <emphasis>Debug Modus</emphasis> erstellt. Ein - Debug-Kernel enthält viele zusätzliche - Informationen für die Fehlersuche, daher ist er so - groß. Bitte beachten Sie, dass die Verwendung - eines Debug-Kernels - die Performance des Systems nicht oder nur minimal - reduziert; außerdem ist es für den Fall einer - system panic sehr praktisch, einen Debug-Kernel zur Hand - zu haben.</para> - - <para>Wenn Ihnen allerdings der Plattenplatz ausgeht oder - Sie einfach rein prinzipiell keinen Debug-Kernel benutzen - wollen, müssen die beiden folgenden Bedingungen - erfüllt sein:</para> - - <itemizedlist> - <listitem> - <para>Die Konfigurationsdatei für Ihren Kernel darf - die folgende Zeile nicht enthalten:</para> - - <programlisting>makeoptions DEBUG=-g</programlisting> - </listitem> - - <listitem> - <para>Sie dürfen &man.config.8; nicht mit dem - Parameter <option>-g</option> starten.</para> - </listitem> - </itemizedlist> - - <para>Sollten Sie sich nicht an diese Einschränkungen - halten, wird Ihr Kernel im Debug-Modus erstellt. Solange - Sie sich an diese Einschränkungen halten, können - Sie Ihren Kernel ganz normal erstellen und die - Größe des Kernels sollte deutlich sinken. Ein - normaler Kernel ist nur 1.5 MByte bis 2 MByte - groß.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="multiport-serial-interrupts"> - <para>Wieso erhalte ich Meldungen über Interrupt-Konflikte, - wenn ich eine Karte mit mehreren seriellen Schnittstellen - einsetzen will?</para> - </question> - - <answer> - <para>Wenn ich einen Kernel mit Unterstützung für - serielle Multi-Port-Schnittstellen kompiliere, bekomme ich - den Hinweis, dass nur der erste Port geprüft - wird und die restlichen auf Grund von Interrupt-Konflikten - übersprungen werden. Wie kann ich das - Beheben?</para> - - <para>Das Problem besteht darin, dass in &os; Code - integriert ist, um den Kernel vor Abstürzen aufgrund - von Hardware- oder Software-Konflikten zu bewahren. - Behoben wird es, indem die IRQ-Angaben für alle - Ports, bis auf einen ausgelassen werden. Hier ist ein - Beispiel:</para> - - <programlisting> -# -# 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 - </programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="generic-kernel-build-failure"> - <para>Wieso kann ich nicht einmal den Standard-Kernel - (<filename>GENERIC</filename>) bauen?</para> - </question> - - <answer> - <para>Es gibt eine Reihe von möglichen Ursachen - für dieses Problem:</para> - - <itemizedlist> - <listitem> - <para>Sie benutzen die neuen Kommandos <command>make - <maketarget>buildkernel</maketarget></command> und - <command>make <maketarget>installkernel</maketarget></command> - nicht, obwohl die Sourcen auf Ihrem System nicht zum laufenden - System passen (z.B. benutzen Sie die Sourcen von - &rel.current;-RELEASE auf einem System mit - &rel2.current;-RELEASE). Wenn Sie ein Upgrade - durchführen wollen, sollten Sie - <filename>/usr/src/UPDATING</filename> lesen, beachten - Sie insbesondere den Abschnitt <quote>COMMON - ITEMS</quote> gegen Ende des Dokuments.</para> - </listitem> - - <listitem> - <para>Sie benutzen zwar <command>make - <maketarget>buildkernel</maketarget></command> und - <command>make <maketarget>installkernel</maketarget></command>, - aber Sie haben nicht darauf geachtet, dass vorher ein - komplettes <command>make - <maketarget>buildworld</maketarget></command> durchgelaufen - sein muss. Um seine Arbeit erledigen zu können, - benötigt <command>make - <maketarget>buildkernel</maketarget></command> - Dateien, die von <command>make - <maketarget>buildworld</maketarget></command> - erzeugt werden.</para> - </listitem> - - <listitem> - <para>Auch wenn Sie <link - linkend="stable">&os;-STABLE</link> verwenden, ist - es durchaus möglich, dass Sie die Sourcen - genau zum falschen Zeitpunkt aktualisiert haben: - Während Sie gerade modifiziert wurden oder - kurzzeitig fehlerhaft waren. Eine absolute und - vollständige Garantie, dass Sie die Sourcen - compilieren können, gibt es nur für die - Releases, bei <link - linkend="stable">&os;-STABLE</link> 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.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="scheduler-in-use"> - <para>Wie kann ich prüfen, welchen Scheduler das - System benutzt?</para> - </question> - - <answer> - <para>Überprüfen Sie dazu, ob auf Ihrem System die - sysctl-Variable <varname>kern.sched.quantum</varname> - existiert. Ist dies bei Ihnen der Fall, werden Sie eine - Ausgabe ähnlich der folgenden sehen:</para> - - <screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable> -kern.sched.quantum: 99960</screen> - - <para>Wenn die sysctl-Variable <varname>kern.sched.quantum</varname> - existiert, dann verwenden Sie den 4BSD-Scheduler - (&man.sched.4bsd.4;). Existiert sie nicht, erzeugt &man.sysctl.8; - eine Fehlermeldung (die Sie aber ignorieren können):</para> - - <screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable> -sysctl: unknown oid 'kern.sched.quantum'</screen> - - <para>Seit &os; 5.3-RELEASE wird der Name des verwendeten - Schedulers direkt als Wert der sysctl-Variable - <literal>kern.sched.name</literal> ausgegeben:</para> - - <screen>&prompt.user; sysctl <replaceable>kern.sched.name</replaceable> -kern.sched.name: 4BSD</screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="scheduler-kern-quantum"> - <para>Was bedeutet <varname>kern.sched.quantum</varname>?</para> - </question> - - <answer> - <para><varname>kern.sched.quantum</varname> ist die maximale - Anzahl Ticks, die ein Prozess ununterbrochen laufen kann. - Die Variable ist charakteristisch für den - 4BSD Scheduler, somit kann der verwendete Scheduler - über die Existenz dieser Variablen bestimmt werden.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="disks"> - <title>Platten, Dateisysteme und Boot Loader</title> - - <qandaset> - <qandaentry> - <question id="adding-disks"> - <para>Wie kann ich meine neue Festplatte in mein - &os;-System einbinden?</para> - </question> - - <answer> - <para>Lesen Sie den Abschnitt <ulink - url="&url.books.handbook;/disks-adding.html">Hinzufügen - von Laufwerken</ulink> im Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="new-huge-disk"> - <para>Wie verschiebe ich mein System auf meine neue, - große Platte?</para> - </question> - - <answer> - <para>Die beste Methode ist, das Betriebssystem auf der - neuen Platte neu zu installieren und danach die Daten zu - verschieben. Wenn Sie <emphasis>-STABLE</emphasis> - über eine Release hinaus genutzt haben oder eine Release - aktualisiert haben, ist das sehr empfehlenswert. Sie - können auf beiden Platten &man.boot0cfg.8; installieren - und die beiden Versionen so lange parallel betreiben, bis Ihnen - die neue Konfiguration gefällt. Wenn Sie dies tun wollen, - können Sie im übernächsten Absatz erfahren, - wie sie Ihre Daten verschieben können.</para> - - <para>Falls Sie sich entscheiden, das nicht zu tun, - müssen Sie Ihre neue Platte partitionieren und - labeln. Benutzen Sie dafür entweder - &man.sysinstall.8; oder &man.fdisk.8; - und &man.disklabel.8;. Weiterhin sollten Sie mit - &man.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.</para> - - <para>Nachdem Sie die neue Platte eingerichtet haben, - können Sie Ihre Daten verschieben. Dummerweise - können Sie die Daten nicht einfach kopieren. Dinge wie - Gerätedateien (in <filename class="directory">/dev</filename>), - erweiterte Dateiattribute und symbolische Links führen - dazu, dass das in die Hose geht. Sie müssen - ein Programm benutzen, das damit umgehen kann, und das - ist &man.dump.8;. Es wird oft empfohlen, die Daten im - Single-User-Modus zu verschieben, aber das ist nicht - unbedingt notwendig.</para> - - <para>Sie sollten auf gar keinen Fall etwas anderes als - &man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem - zu verschieben. Es könnte auch mit - &man.tar.1; funktionieren - oder auch nicht. Sie sollten - ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn - Sie eine komplette Partition auf eine andere, leere - Partition verschieben wollen. Um die Daten einer Partition mit - <command>dump</command> auf eine andere Partition zu verschieben, - müssen Sie die folgenden Schritte ausführen:</para> - - <procedure> - <step> - <para>Richten Sie in der neuen Partition mit - <command>newfs</command> ein Dateisystem ein.</para> - </step> - - <step> - <para>Mounten Sie die Partition temporär an einer - geeigneten Stelle.</para> - </step> - - <step> - <para>Wechseln Sie mit <command>cd</command> in dieses - Verzeichnis.</para> - </step> - - <step> - <para>Lesen Sie die alte Partition mit <command>dump</command> - aus und lenken Sie die Ausgabe auf die neue Partition um.</para> - </step> - </procedure> - - <para>Wenn Sie zum Beispiel <username>root</username> auf - <devicename>/dev/<replaceable>ad1s1a</replaceable></devicename> - verschieben wollen und diese derzeit auf <filename - class="directory"><replaceable>/mnt</replaceable></filename> - gemountet ist, bedeutet das:</para> - - <screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput> -&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen> - - <para>Wenn Sie Ihre Partitionen mit &man.dump.8; - umorganisieren wollen, steht Ihnen etwas mehr Arbeit - bevor. Wenn Sie eine Partition wie <filename - class="directory">/var</filename> in die übergeordnete - Partition verschieben wollen, müssen Sie zunächst eine - neue Partition erzeugen, die die beiden alten Partitionen - aufnehmen kann. Der zweite Schritt ist, wie oben - beschrieben die ü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:</para> - - <screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput> -&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>dump 0af - / | restore rf -</userinput> -&prompt.root; <userinput>cd var</userinput> -&prompt.root; <userinput>dump 0af - /var | restore rf -</userinput></screen> - - <para>Wenn Sie ein Verzeichnis aus einer Partition - herauslösen wollen, also z.B. - <filename>/var</filename> auf eine eigene Partition - verlegen wollen, dann müssen Sie zunächst beide - Partitionen anlegen. Danach müssen Sie die - untergeordnete Partition im passenden Verzeichnis - unterhalb des temporären mount points mounten und zum - Abschluß die alte Partition verschieben:</para> - - <screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput> -&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1d</replaceable></userinput> -&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>mkdir <replaceable>/mnt</replaceable>/var</userinput> -&prompt.root; <userinput>mount /dev/<replaceable>ad1s1d</replaceable> <replaceable>/mnt</replaceable>/var</userinput> -&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput> -&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen> - - <para>Eventuell sagen Ihnen für Benutzerdaten - &man.cpio.1;, &man.pax.1; oder &man.tar.1; eher zu als - &man.dump.8;. Allerdings haben alle diese Programme den - Nachteil, dass sie die erweiterten Dateiattribute - nicht verstehen, daher sollten Sie bei ihrem Einsatz - aufpassen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="dangerously-dedicated"> - <para>Gefährdet eine <quote>dangerously - dedicated</quote> Festplatte meine Gesundheit?</para> - </question> - - <answer> - <para><anchor id="dedicate"/>Die Installationsprozedur bietet - Ihnen zwei verschiedene Methoden, Ihre Festplatte(n) zu - partitionieren. Die Standardmethode macht sie kompatibel - zu anderen Betriebssystemen auf derselben Maschine, indem - &man.fdisk.8;-Tabelleneinträge (unter &os; - <quote>slices</quote> genannt) mit einem &os;-Eintrag, - in dem eigene Partitionen untergebracht werden, benutzt - werden. Optional kann ausgewählt werden, ob ein - Boot-Selektor installiert werden soll, um zwischen den - möglichen Betriebssystemen auf der/den Platte(n) - wechseln zu können. Bei der zweiten Methode wird die - gesamte Platte für &os; genutzt und nicht - versucht, kompatibel zu anderen Betriebssystemen zu - sein.</para> - - <para>Nun, warum wird es <quote>gefährlich</quote> - genannt? Eine Platte in diesem Modus enthält nichts, - was von normalen PC-Hilfsprogrammen als gültige - &man.fdisk.8;-Tabelle betrachtet werden würde. - Abhängig von der Qualität ihres Designs werden sie - sich bei Ihnen beschweren, sobald sie mit einer solchen Platte - in Kontakt kommen, oder noch schlimmer, sie könnten den - Bootstrap von &os; beschädigen, ohne Sie zu fragen - oder darauf hinzuweisen. Hinzu kommt, dass vom - Layout von <quote>dangerously dedicated</quote> Platten - bekannt ist, dass es viele BIOSe verwirrt, - einschließlich solcher von AWARD (wie es z.B. im HP - Netserver oder Micronics-Systemen, sowie vielen anderen zu - finden ist) und Symbios/NCR (für die bekannte - 53C8xx-Reihe von SCSI-Controllern). Dies ist keine - vollständige Liste - es gibt weitere. Symptome - für diese Verwirrung sind <errorname>read - error</errorname>-Meldungen, die vom &os;-Bootstrap - ausgegeben werden, wenn es sich selbst nicht finden kann, - sowie Systemabstürze beim Booten.</para> - - <para>Warum gibt es diesen Modus dann überhaupt? Es - spart ein paar kByte an Plattenplatz und kann echte - Probleme verursachen, die zu einer Neuinstallation - führen. Die Ursprünge des <quote>Dangerously - dedicated</quote> Modus liegen in der Absicht, eines der - häufigsten Probleme, das Erstinstallierer von &os; - plagt, zu verhindern - die BIOS-Werte für die - <quote>Geometrie</quote> einer Festplatte auf der - Festplatte selbst anzupassen.</para> - - <para><quote>Geometrie</quote> ist ein veraltetes Konzept, - das aber immer noch die Grundlage für die Interaktion - zwischen dem PC-BIOS und den Festplatten ist. Wenn das - Installationsprogramm von &os; Slices erstellt, - muss es sich die Lage dieser Slices auf der - Festplatte in einer Art merken, die damit - übereinstimmt, wie das BIOS erwartet, sie zu finden. - Wenn das falsch geschieht, werden Sie nicht in der Lage - sein, zu booten.</para> - - <para>Durch den <quote>Dangerously dedicated</quote> Modus - wird versucht, dies zu umgehen, indem das Problem - vereinfacht wird. In einigen Fällen klappt das zwar, - aber er ist eher als allerletzter Ausweg gedacht - in 99 - von 100 Fällen gibt es bessere Möglichkeiten, - das Problem zu lösen.</para> - - <para>Wie vermeiden Sie also die Notwendigkeit zum - <quote>DD</quote> Modus, wenn Sie installieren? Beginnen - Sie, indem Sie sich notieren, welche Geometrie das BIOS - für Ihre Platten benutzt. Sie können erreichen, - dass der Kernel sie beim Booten ausgibt, indem Sie - <option>-v</option> an der Eingabeaufforderung - <literal>boot:</literal> angeben, oder <command>boot - -v</command> 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 &os; Ihre Platten auflistet - zuerst - IDE, dann SCSI.</para> - - <para>Wenn Sie Ihre Festplatte in Slices unterteilen, - überprüfen Sie, ob die Plattengeometrie, die im - FDISK-Menü angegeben ist, korrekt ist (das heißt - mit den Einstellungen im BIOS übereinstimmen). Falls - die Werte nicht stimmen, benutzen Sie <keycap>G</keycap>, um - sie zu korrigieren. Diese Schritte sind nö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 für die - Festplatte nötig ist, von der Sie booten wollen. Mit - weiteren vorhandenen Platten wird &os; sich problemlos - zurechtfinden.</para> - - <para>Wenn Sie es geschafft haben, dass das BIOS und - &os; in der Festplattengeometrie übereinstimmen, - dann sind Ihre Probleme ziemlich sicher vorüber - - ohne, dass es nötig gewesen wäre, den - <quote>DD</quote>-Modus zu benutzen. Falls sie jedoch - immer noch mit der gefürchteten <errorname>read - error</errorname>-Meldung begrüßt 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.</para> - - <para>Um eine <quote>dangerously dedicated</quote> - Festplatte wieder für einen normalen PC brauchbar zu - machen, gibt es zwei Mö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 - können das zum Beispiel mit diesem Befehl tun:</para> - - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/<replaceable>rda0</replaceable> count=15</userinput></screen> - - <para>Alternativ installiert der undokumentierte - DOS-Befehl</para> - - <screen><prompt>C:\></prompt> <userinput>fdisk /mbr</userinput></screen> - - <para>einen neuen Master-Boot-Record, das heißt der - BSD-Bootstrap wird zerstört.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="safe-softupdates"> - <para>Auf welchen Partitionen kann ich problemlos - Soft Updates einsetzen? Ich habe gehört, das der - Einsatz von Soft Updates auf <filename - class="directory">/</filename> Probleme verursachen kann.</para> - </question> - - <answer> - <para>Die schnelle Antwort: Sie können Soft Updates - bedenkenlos auf alle Partitionen benutzen.</para> - - <para>Die ausfü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 können - verloren gehen. Weiterhin kann es durch Soft Updates zu - einem zeitweisen Mangel an Plattenplatz kommen.</para> - - <para>Bei der Benutzung von Soft Updates kann es bis zu - dreißig Sekunden dauern, bis der Kernel - Änderungen auf das physikalische Speichermedium - schreibt. Wenn Sie eine große Datei löschen, - ist diese Datei noch auf der Platte vorhanden, bis der - Kernel die Löschoperation tatsächlich - durchführt. Das kann zu einem sehr einfachen Problem - führen: Stellen Sie sich vor, Sie löschen eine - große Datei und legen gleich darauf eine andere - große Datei an. Da die erste Datei noch nicht - wirklich gelöscht wurde, ist eventuell nicht genug - Platz für die zweite große 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 später wiederholen, - funktioniert alles wie von Geisterhand. Dieser Effekt hat - mehr als einen Benutzer verwirrt und Zweifel an seiner - geistigen Stabilität oder dem &os;-Dateisystem - aufkommen lassen.</para> - - <para>Wenn der Kernel ein Datenpaket annimmt und das System - abstürzt, bevor er dies Daten auf die Platte - geschrieben hat, kann es zum Verlust oder zur - Zerstö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.</para> - - <para>Diese beiden Probleme betreffen alle Partitionen, die - Soft Updates verwenden. Was bedeutet das für die - Root-Partition?</para> - - <para>Die wichtigen Daten auf der Root-Partition ändern - sich nur sehr selten. Dateien wie - <filename>/boot/kernel/kernel</filename> und der Inhalt <filename - class="directory">/etc</filename> werden nur bei der Wartung des - Systems geändert, oder wenn Benutzer ihre - Passwörter ändern. Wenn das System in den - 30 Sekunden nach einer solchen Änderung - abstürzt, ist es möglich, das Daten verloren - gehen. Dieses Risiko ist in den meisten Fällen - unerheblich, aber es ist vorhanden. Wenn das zu viel - Risiko ist, dann sollten Sie Soft Updates nicht auf der - Root-Partition einsetzen.</para> - - <para><filename class="directory">/</filename> war schon immer eine - der kleinsten Partitionen. Wenn Sie das Verzeichnis - <filename class="directory">/tmp</filename> direkt auf - <filename class="directory">/</filename> und in Ihrem - <filename class="directory">/tmp</filename> viel Betrieb ist, kann - es gelegentlich zu den oben beschriebenen Platzproblemen - kommen. Um das Problem zu lösen, sollten sie einen - symbolischen Link von <filename class="directory">/tmp</filename> - nach <filename class="directory">/var/tmp</filename> legen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="inappropriate-ccd"> - <para>Was stimmt mit meinem &man.ccd.4; nicht?</para> - </question> - - <answer> - <para>Das Symptom hierfür ist:</para> - - <screen>&prompt.root; <userinput>ccdconfig -C</userinput> -ccdconfig: ioctl (CCDIOCSET): /dev/<replaceable>ccd0c</replaceable>: Inappropriate file type or format</screen> - - <para>Das geschieht für gewöhnlich, wenn Sie - versuchen, die <literal>c</literal> Partitionen, die - standardmäßig vom Typ - <literal>unbenutzt</literal> sind, zu verbinden. Der - &man.ccd.4;-Treiber verlangt Partitionen vom Typ - <literal>FS_BSDFFS</literal>. Editieren Sie den - Plattenlabel der Platten, die Sie zu - verknüpfen versuchen und ändern Sie die Typen - der Partitionen in <literal>4.2BSD</literal>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ccd-disk-label"> - <para>Warum kann ich den Plattenlabel meines &man.ccd.4; nicht - editieren?</para> - </question> - - <answer> - <para>Das Symptom hierfür ist:</para> - - <screen>&prompt.root; <userinput>disklabel <replaceable>ccd0</replaceable></userinput> -(hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren) -&prompt.root; <userinput>disklabel -e <replaceable>ccd0</replaceable></userinput> -(editieren, speichern, beenden) -disklabel: ioctl DIOCWDINFO: No disk label on disk; -use "disklabel -r" to install initial label</screen> - - <para>Der Grund ist, dass der von &man.ccd.4; - zurückgelieferte Plattenlabel ein - <quote>vorgetäuschter</quote> ist, der sich nicht - wirklich auf der Platte befindet. Sie können das - Problem beheben, indem Sie ihn explizit - zurückschreiben, wie z.B. hier:</para> - - <screen>&prompt.root; <userinput>disklabel <replaceable>ccd0</replaceable> > <replaceable>/tmp/disklabel.tmp</replaceable></userinput> -&prompt.root; <userinput>disklabel -Rr <replaceable>ccd0</replaceable> <replaceable>/tmp/disklabel.tmp</replaceable></userinput> -&prompt.root; <userinput>disklabel -e <replaceable>ccd0</replaceable></userinput> -(nun wird es funktionieren)</screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="mount-foreign-fs"> - <para>Kann ich andere fremde Dateisysteme unter &os; - mounten?</para> - </question> - - <answer> - <para>&os; unterstützt verschiedene fremde - Dateisysteme.</para> - - <variablelist> - <varlistentry> - <term>UFS</term> - - <listitem> - <para>UFS-CD-ROMs können unter &os; direkt - gemountet werden. Das Mounten von Partitionen von - Digital &unix; und anderen Systemen, die UFS - unterstützen, könnte schwieriger sein, - abhängig von den Details der - Plattenpartitionierung des betreffenden - Betriebssystems.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ext2/ext3</term> - - <listitem> - <para>&os; unterstützt - <literal>ext2fs</literal> und - <literal>ext3fs</literal>-Partitionen. Unter - &man.mount.ext2fs.8; finden Sie weitere - Informationen.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NTFS</term> - - <listitem> - <para>Ein NTFS-Treiber, der nur Lesezugriffe gestattet, - ist Teil von &os;. Weitere Informationen entnehmen - Sie bitte der Hilfeseite &man.mount.ntfs.8;. Ein Port von - <ulink - url="http://www.tuxera.com/community/"><application>ntfs-3g</application></ulink> - unterstützt Schreiboperationen auf NTFS (siehe <filename - role="package">sysutils/fusefs-ntfs</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FAT</term> - - <listitem> - <para>&os; enthält ein FAT-Treiber, der Lese- - und Schreibzugriffe ermöglicht. Weitere - Informationen entnehmen Sie bitte der Hilfeseite - &man.mount.msdosfs.8;.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ZFS</term> - - <listitem> - <para>Zum jetzigen Zeitpunkt enthält &os; eine - Portierung von &sun;s ZFS Treiber. Die aktuelle Empfehlung - ist, es nur auf &arch.amd64; Plattformen mit ausreichend - Hauptspeicher zu verwenden. Mehr Informationen - finden Sie in der Manualpage &man.zfs.8;.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>&os; unterstützt auch verschiedene - Netzwerk-Dateisysteme, wie NFS (&man.mount.nfs.8;), NetWare - (&man.mount.nwfs.8;), sowie die SMB-Dateisysteme von - Microsoft (&man.mount.smbfs.8;). In Ports die auf FUSE - (<filename - role="package">sysutils/fusefs-kmod</filename>) basieren, - können Sie viele weitere Dateisysteme finden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mount-dos"> - <para>Wie mounte ich eine erweiterte DOS-Partition?</para> - </question> - - <answer> - <para>Die erweiterten DOS-Partitionen befinden sich hinter - <emphasis>allen</emphasis> primären Partitionen. Wenn sich - zum Beispiel eine Partition <quote>E</quote> als sekundäre - DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet, - wird eine Gerätedatei für - <quote>Slice 5</quote> im Verzeichnis <filename - class="directory">/dev</filename> erstellt, also mounten Sie diese - einfach:</para> - - <screen>&prompt.root; <userinput>mount -t msdosfs /dev/da1s5 /dos/e</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="crypto-file-system"> - <para>Gibt es ein verschlüsselndes Dateisystem - für &os;?</para> - </question> - - <answer> - <para>Ja. Sie können entweder &man.gbde.8; oder &man.geli.8; - einsetzen. Lesen Sie dazu auch den Abschnitt - <ulink - url="&url.books.handbook;/disks-encrypting.html">Partitionen - verschlüsseln</ulink> des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="nt-bootloader"> - <para>Wie kann ich den &windowsnt;-Loader zum Booten von - &os; verwenden?</para> - </question> - - <answer> - <para>Das grundsätzliche Vorgehen besteht darin, - dass Sie den ersten Sektor Ihrer eigentlichen - &os;-Rootpartition in eine Datei auf der - DOS/&windowsnt;-Partition kopieren. Angenommen, sie nennen - die Datei etwa <filename>c:\bootsect.bsd</filename> (durch - <filename>c:\bootsect.dos</filename> inspiriert), dann - können Sie die Datei <filename>c:\boot.ini</filename> - etwa wie folgt editieren:</para> - - <programlisting> -[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="&os;" -C:\="DOS" - </programlisting> - - <para>Falls &os; auf derselben Platte, wie die - &windowsnt;-Bootpartition installiert ist, kopieren Sie - einfach <filename>/boot/boot1</filename> nach - <filename>C:\BOOTSECT.BSD</filename>. Falls &os; auf - einer anderen Platte installiert ist, wird - <filename>/boot/boot1</filename> nicht funktionieren; Sie - brauchen in diesem Fall - <filename>/boot/boot0</filename>.</para> - - <para><filename>/boot/boot0</filename> muss mit - &man.sysinstall.8; installiert werden. Wählen Sie dazu den - &os;-Bootmanager aus, wenn Sie gefragt werden, ob sie - einen Bootmanager installieren wollen. Dieser Schritt ist - notwendig, weil <filename>/boot/boot0</filename> eine - leere Partitionstabelle enthält, die von &man.sysinstall.8; - mit NULL-Zeichen ausgefüllt wird, bevor - <filename>/boot/boot0</filename> in den MBR kopiert - wird.</para> - - <warning> - <para><emphasis>Sie dürfen auf gar keinen Fall einfach - <filename>/boot/boot0</filename> statt - <filename>/boot/boot1</filename> kopieren. Wenn Sie das - doch tun sollten, wird Ihre Partitionstabelle - überschrieben und Ihr Rechner wird nicht mehr - starten!</emphasis></para> - </warning> - - <para>Wenn der Bootmanager von &os; 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 <filename>/boot/boot0</filename> nach - <filename>C:\BOOTSECT.BSD</filename> kopieren, würde - der Bootmanager eine leere Partitionstabelle (mit einem - als aktiv markiertem Eintrag) in den MBR kopieren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="lilo-bootloader"> - <para>Wie boote ich &os; und &linux; mit LILO?</para> - </question> - - <answer> - <para>Falls sich &os; und &linux; auf derselben Platte - befinden, folgen Sie einfach den Installationsanweisungen - von LILO zum Booten eines Nicht-&linux;-Betriebssystems. - Ganz knapp sind dies:</para> - - <para>Booten Sie &linux; und fügen Sie die folgenden - Zeilen in die Datei <filename>/etc/lilo.conf</filename> - ein:</para> - - <programlisting>other=/dev/hda2 -table=/dev/hda -label=&os;</programlisting> - - <para>(hierbei wird angenommen, dass Ihre - &os;-Partition &linux; unter - <devicename>/dev/hda2</devicename> bekannt ist; ändern - Sie dies entsprechend Ihren Einstellungen). Führen - Sie nun als <username>root</username> den Befehl - <command>lilo</command> aus und Sie sind fertig.</para> - - <para>Falls &os; sich auf einer anderen Platte befindet, - müssen Sie <literal>loader=/boot/chain.b</literal> zu - den LILO-Angaben hinzufügen. Zum Beispiel:</para> - - <programlisting>other=/dev/dab4 -table=/dev/dab -loader=/boot/chain.b -label=&os;</programlisting> - - <para>In einigen Fällen könnte es sein, dass - Sie beim &os;-Bootloader die BIOS-Laufwerksnummer - angeben müssen, um von der zweiten Platte booten zu - können. Wenn Ihre &os;-SCSI-Platte vom BIOS zum - Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie - am Prompt des &os;-Bootloaders eingeben:</para> - - <screen>Boot: <userinput>1:da(0,a)/boot/kernel/kernel</userinput></screen> - - <para>Sie können &man.boot.8; so - konfigurieren, dass das beim Booten automatisch - geschieht.</para> - - <para>Das <ulink - url="http://tldp.org/HOWTO/mini/Linux+FreeBSD.html"> - &linux;+FreeBSD mini-HOWTO</ulink> ist ein guter Ratgeber bei - Fragen zur Interaktion von &os; und &linux;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="grub-loader"> - <para>Wie boote ich &os; und &linux; mit GRUB?</para> - </question> - - <answer> - <para>Es ist sehr einfach, GRUB zum Starten von &os; - einzusetzen. Dazu müssen Sie lediglich die folgenden - Zeilen in die Konfigurationsdatei - <filename>/boot/grub/menu.lst</filename> (oder - <filename>/boot/grub/grub.conf</filename> bei manchen Systemen wie - z.B. Red Hat Linux und dessen Abkömmlinge) aufnehmen.</para> - - <programlisting>title &os; 6.1 - root <replaceable>(hd0,a)</replaceable> - kernel /boot/loader - </programlisting> - - <para>Dabei steht <replaceable>hd0,a</replaceable> für die - root-Partition Ihrer ersten Festplatte. Benötigen - Sie auch die Slice-Nummer, so verwenden Sie einen Eintrag - der Form <replaceable>(hd0,2,a)</replaceable>. In der - Voreinstellung ist die Angabe der Slice-Nummer aber nicht - nötig, da GRUB automatisch das erste Slice (das die - Bezeichnung <literal>a</literal> hat) nutzt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="booteasy-loader"> - <para>Wie boote ich &os; und &linux; mit - <application>BootEasy?</application></para> - </question> - - <answer> - <para>Installieren Sie LILO am Anfang Ihrer - &linux;-Bootpartition, anstatt im Master Boot Record. Sie - können LILO dann von <application>BootEasy</application> - aus booten.</para> - - <para>Wenn Sie &windows; und &linux; benutzen, wird das - ohnehin empfohlen, um es einfacher zu machen, &linux; wieder - zu booten, wenn es nötig werden sollte, dass Sie - &windows; neu installieren (&windows; ist ein - eifersüchtiges Betriebssystem, das kein anderes - Betriebssystem im Master Boot Sektor duldet).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="changing-bootprompt"> - <para>Wie kann ich das <literal>???</literal> des - Boot-Managers durch etwas Sinnvolles ersetzen?</para> - </question> - - <answer> - <para>Solange Sie den Boot-Manager nicht komplett neu - schreiben, gar nicht. Allerdings gibt es in der Kategorie - <filename class="directory">sysutils</filename> der Ports diverse - Boot-Manager, die diese Funktionalität bieten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="removable-drives"> - <para>Ich habe ein Wechsellaufwerk. Wie benutze ich - es?</para> - </question> - - <answer> - <para>Ob es sich um ein Wechsellaufwerk handelt, um ein - &iomegazip; oder ein EZ-Laufwerk (oder sogar ein - Diskettenlaufwerk, wenn Sie es auf diese Weise benutzen - mö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 Geräten ziemlich - ähnlich.</para> - - <para>(dieser Abschnitt basiert auf <ulink - url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">Mark - Mayo's ZIP-FAQ</ulink>)</para> - - <para>Wenn es sich um ein ZIP- oder Diskettenlaufwerk - handelt, und sich bereits ein DOS-Dateisystem darauf - befindet, können Sie einen Befehl wie diesen für - eine Diskette benutzen:</para> - - <screen>&prompt.root; <userinput>mount -t msdosfs /dev/fd0c /floppy</userinput></screen> - - <para>oder diesen:</para> - - <screen>&prompt.root; <userinput>mount -t msdosfs /dev/da2s4 /zip</userinput></screen> - - <para>für eine ZIP-Disk mit der - Herstellerkonfiguration.</para> - - <para>Benutzen Sie bei anderen Platten &man.fdisk.8; oder - &man.sysinstall.8;, um herauszufinden, wie sie - konfiguriert sind.</para> - - <para>Die restlichen Beispiele sind für ein - ZIP-Laufwerk unter <devicename>da2</devicename>, - der dritten SCSI-Platte.</para> - - <para>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 Unterstützung für lange Dateinamen, - eine mindestens doppelt so hohe Leistungsausnutzung und - wesentlich höhere Stabilität. Zunächst - müssen Sie die Partitionen/Dateisysteme auf DOS-Ebene - nochmals erstellen. Sie können entweder - &man.fdisk.8; oder &man.sysinstall.8; - benutzen, oder, bei einem kleinen Laufwerk, dem Sie eine - Unterstützung für mehrere Betriebssysteme nicht - zumuten wollen, entfernen Sie einfach die komplette FAT - Partitionstabelle (Slices) und benutzen Sie einfach die - BSD-Partitionierung:</para> - - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda2 count=2</userinput> -&prompt.root; <userinput>disklabel -Brw da2 auto</userinput></screen> - - <para>Sie können &man.disklabel.8; oder - &man.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.</para> - - <para>Zum Schluß erstellen Sie ein neues Dateisystem - - dieses befindet sich auf unserem ZIP-Laufwerk und belegt - die gesamte Platte:</para> - - <screen>&prompt.root; <userinput>newfs /dev/rda2c</userinput></screen> - - <para>anschließend mounten Sie es:</para> - - <screen>&prompt.root; <userinput>mount /dev/da2c /zip</userinput></screen> - - <para>Und sicherlich ist es keine schlechte Idee, eine Zeile - ähnlich der folgenden in die Datei - <filename>/etc/fstab</filename> einzufügen, damit Sie - in Zukunft nur <command>mount /zip</command> einzugeben - brauchen:</para> - - <programlisting>/dev/da2c /zip ffs rw,noauto 0 0</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="mount-cd-superblock"> - <para>Wieso erhalte ich die Meldung <errorname>Incorrect - super block</errorname> beim Mounten einer CD-ROM?</para> - </question> - - <answer> - <para>Sie müssen &man.mount.8; mitteilen, was für - ein Gerät Sie mounten wollen. Genauere Informationen - dazu finden Sie im Kapitel <ulink - url="&url.books.handbook;/creating-cds.html">Optische - Speichermedien</ulink> des Handbuch, genauer gesagt im - Abschnitt <ulink - url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung - von Daten-CDs</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cdrom-not-configured"> - <para>Wieso erhalte ich die Meldung <errorname>Device not - configured</errorname>, wenn ich eine CD-ROM - mounte?</para> - </question> - - <answer> - <para>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 <ulink - url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung - von Daten-CDs</ulink> des Handbuchs ausführlich - diskutiert.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cdrom-unicode-filenames"> - <para>Wieso werden alle Sonderzeichen in den Dateinamen auf - meinen CDs durch <quote>?</quote> ersetzt, wenn ich die CD - unter &os; benutze?</para> - </question> - - <answer> - <para>Wahrscheinlich werden auf der CD-ROM die - <quote>Joliet</quote> Erweiterungen für die - Speicherung von Datei- und Verzeichnisnamen benutzt. - Werfen Sie einen Blick in das Kapitel <ulink - url="&url.books.handbook;/creating-cds.html">Erzeugung von - CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt - über <ulink - url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung - von Daten-CDs</ulink>.</para> - - <para>[Anmerkung des Ü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.]</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="burncd-isofs"> - <para>Ich habe eine CD mit &os; gebrannt und kann sie - nicht mit anderen Betriebssystemen lesen. Warum?</para> - </question> - - <answer> - <para>Sie haben wahrscheinlichste eine Datei direkt auf CD - geschrieben, statt ein ISO 9660-Dateisystem erzeugt zu - haben. Werfen Sie einen Blick in das Kapitel <ulink - url="&url.books.handbook;/creating-cds.html">Erzeugung von - CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt - über <ulink - url="&url.books.handbook;/creating-cds.html#RAWDATA-CD">reine - Daten-CDs</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="copy-cd"> - <para>Wie kann ich ein Image einer Daten-CD erzeugen?</para> - </question> - - <answer> - <para>Diese Information finden Sie im Abschnitt <ulink - url="&url.books.handbook;/creating-cds.html#IMAGING-CD">Kopieren - von CD-ROMs</ulink> des Handbuchs. Weitere Informationen - über die Arbeit mit CD-ROMs finden Sie im Abschnitt - <ulink url="&url.books.handbook;/creating-cds.html">Erzeugen von - CD-ROMs</ulink> im Kapitel Speichermedien des - Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mount-audio-CD"> - <para>Wieso kommt <command>mount</command> nicht meiner - Audio-CD zurecht?</para> - </question> - - <answer> - <para>Wenn Sie versuchen sollten, eine Audio-CD zu mounten, - erhalten Sie die Meldung <errorname>cd9660: /dev/acd0c: - Invalid argument</errorname>. Der Grund dafür ist, - dass <command>mount</command> nur fü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. <filename - role="package">audio/xmcd</filename> aus den Ports.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="multi-session-CD"> - <para>Wie nutze ich <command>mount</command> für eine - Multi-Session CD?</para> - </question> - - <answer> - <para>Standardmäßig benutzt &man.mount.8; den - letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine - ältere Session benutzen wollen, müssen Sie diese - mit der Option <option>-s</option> definieren. Weitere - Informationen finden Sie in der Onlinehilfe zu - &man.mount.cd9660.8;</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="user-floppymount"> - <para>Wie lasse ich normale Benutzer Disketten, CD-ROMs und - andere Wechseldatenträger mounten?</para> - </question> - - <answer> - <para>Normale Benutzer können dazu berechtigt werden, - Geräte zu mounten. Das geht so:</para> - - <procedure> - <step> - <para>Setzen Sie als <username>root</username> die - sysctl-Variable <varname>vfs.usermount</varname> auf - <literal>1</literal>:</para> - - <screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen> - </step> - - <step> - <para>Ordnen Sie als <username>root</username> den - Block-Geräten, die den Wechsellaufwerken - zugeordnet sind, die entsprechenden Zugriffsrechte - zu.</para> - - <para>Wenn Sie zum Beispiel den Benutzer den Zugriff auf - das erste Diskettenlaufwerk zu erlauben - wollen:</para> - - <screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen> - - <para>Um den Mitgliedern der Gruppe - <groupname>operator</groupname> den Zugriff auf das - CD-ROM zu gestatten:</para> - - <screen>&prompt.root; <userinput>chgrp operator /dev/acd0c</userinput> -&prompt.root; <userinput>chmod 640 /dev/acd0c</userinput></screen> - </step> - - <step> - <para>Sie müssen - zusätzlich <filename>/etc/devfs.conf</filename> - anpassen, weil diese Einstellungen ansonsten beim - Systemneustart verloren gehen.</para> - - <para>Damit normale Benutzer beispielsweise das erste - Diskettenlaufwerk mounten können, fügen Sie - als <username>root</username> folgende Zeilen in - <filename>/etc/devfs.conf</filename> ein:</para> - - <programlisting># Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten. -own /dev/fd0 root:operator -perm /dev/fd0 0666</programlisting> - - <para>Damit alle Mitglieder der Gruppe - <groupname>operator</groupname> das CD-ROM-Laufwerk - mounten können, die folgenden Zeilen:</para> - - <programlisting># Alle Mitglieder der Gruppe operator dürfen CD-ROMs mounten. -own /dev/acd0 root:operator -perm /dev/acd0 0660</programlisting> - </step> - - <step> - <para>Fügen Sie zum Abschluss die Zeile - <literal><varname>vfs.usermount=</varname>1</literal> - in die Datei <filename>/etc/sysctl.conf</filename> - ein, damit die Einstellung bei einem Neustart des - Systems automatisch erhalten bleibt.</para> - </step> - </procedure> - - <para>Alle Benutzer können nun - <devicename>/dev/fd0</devicename> auf ein Verzeichnis, das - ihnen gehört, mounten:</para> - - <screen>&prompt.user; <userinput> mkdir <replaceable>~/my-mount-point</replaceable></userinput> -&prompt.user; <userinput> mount -t msdosfs /dev/fd0 <replaceable>~/my-mount-point</replaceable></userinput></screen> - - <para>Die zur Gruppe <groupname>operator</groupname> - gehörenden Benutzer können nun - <devicename>/dev/acd0c</devicename> auf ein Verzeichnis, das - ihnen gehört, mounten:</para> - - <screen>&prompt.user; <userinput> mkdir <replaceable>~/my-mount-point</replaceable></userinput> -&prompt.user; <userinput> mount -t cd9660 /dev/acd0c <replaceable>~/my-mount-point</replaceable></userinput></screen> - - <para>Das Unmounten des Gerätes ist simpel:</para> - - <screen>&prompt.user; <userinput>umount <replaceable>~/my-mount-point</replaceable></userinput></screen> - - <para>Die Aktivierung von <varname>vfs.usermount</varname> - hat jedoch negative Auswirkungen auf Sicherheitsaspekte. - Ein besserer Weg, um auf &ms-dos;-formatierte - Datenträger zuzugreifen, ist die Benutzung des - Packages <filename - role="package">emulators/mtools</filename>.</para> - - <note> - <para>Denken Sie daran, dass Sie die Gerätenamen in - diesen Beispielen an Ihre Konfiguration anpassen - müssen.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="du-vs-df"> - <para>Wieso geben die Befehle <command>du</command> und - <command>df</command> unterschiedliche Werte für den - freien Plattenplatz aus?</para> - </question> - - <answer> - <para>Der Grund ist die Funktionsweise von - <command>du</command> und <command>df</command>. - <command>du</command> geht durch einen Dateibaum, - ermittelt die Größe jeder einzelnen Datei, und - gibt die Summe aus. <command>df</command> fragt lediglich - das Dateisystem wie viel Platz noch frei ist. Das - scheint zwar auf den ersten Blick sehr ähnlich zu - sein; allerdings wird sich ein leeres Verzeichnis auf die - Ausgabe von <command>df</command> auswirken, während - es auf das Ergebnis von <command>du</command> keinen - Einfluss hat.</para> - - <para>Wenn Sie eine Datei löschen, während sie von - einem Programm genutzt wird, wird diese Datei erst - gelöscht, wenn sie vom Programm freigegeben wird. - Allerdings wird die Datei sofort aus dem Verzeichnis - entfernt. Sie können dieses Verhalten mit einem - Programm wie <command>more</command> sehr einfach - nachvollziehen. Dazu brauchen Sie nur eine Datei, die - groß genug ist, um die Ausgabe von - <command>du</command> und <command>df</command> zu - beeinflussen. Bei der Größe aktueller Platten - muss diese Datei schon <emphasis>sehr</emphasis> - groß sein! Wenn Sie diese Datei löschen, - während Sie sie sich in <command>more</command> - anzeigen lassen, hat <command>more</command> kein Problem. - Der Eintrag für die Datei wird lediglich aus dem - Verzeichnis entfernt, damit kein anderes Programm mehr - darauf zugreifen kann. Laut <command>du</command> ist die - Datei verschwunden – es hat das Verzeichnis - untersucht und die Datei nicht gefunden. Laut - <command>df</command> ist die Datei aber vorhanden, da sie - im Dateisystem immer noch Platz belegt. Sobald Sie - <command>more</command> beenden, werden die Ergebnisse von - <command>du</command> und <command>df</command> wieder - übereinstimmen.</para> - - <para>Bitte beachten Sie, dass die Freigabe des - Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden - verzögert werden kann.</para> - - <para>Die oben beschriebene Situation tritt sehr häufig - auf Web-Servern auf. Viele Anwender installieren einen - &os; Web-Server und vergessen die Rotation der - Logfiles, bis irgendwann die Partition <filename - class="directory">/var</filename> überläuft. Der - Administrator löscht die Datei, aber das System - beschwert sich immer noch ü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 - ähnliche Unfälle zu verhindern, sollten Sie - &man.newsyslog.8; einsetzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="add-swap-space"> - <para>Wie kann ich den Swap-Bereich - vergrößern?</para> - </question> - - <answer> - <para>Im Kapitel <ulink - url="&url.books.handbook;/config-tuning.html">Konfiguration und - Tuning</ulink> des Handbuches gibt es einen <ulink - url="&url.books.handbook;/adding-swap-space.html">Abschnitt</ulink> - mit einer Schritt-für-Schritt Anleitung.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="manufacturer-disk-size"> - <para>Warum ist meine Festplatte unter &os; kleiner, als sie - laut Hersteller sein soll?</para> - </question> - - <answer> - <para>Festplattenhersteller definieren ein Gigabyte als eine - Milliarde Bytes, für &os; ist ein Gigabyte hingegen - 1.073.741.824 Bytes groß. Aus diesem Grund wird - für eine Platte, die laut Herstellerangaben - 80 GB groß ist, während des Bootvorgangs - eine Größe von 76.319 MB angezeigt.</para> - - <para>Beachten Sie auch, dass &os; (in der Voreinstellung) - 8 % des Plattenplatzes für sich - <link linkend="disk-more-than-full">reserviert</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="disk-more-than-full"> - <para>Warum kann eine Partition zu mehr als 100% gefüllt - sein?</para> - </question> - - <answer> - <para>Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%, - ist für das Betriebssystem und den Benutzer - <username>root</username> reserviert. &man.df.1; rechnet - diesen Teil bei der Ausgabe der <literal>Capacity</literal> - Spalte nicht ein, so dass dort Werte über 100% - angezeigt werden können. Die Anzahl der Blöcke in - der <literal>blocks</literal> Spalte ist ebenfalls um 8% - größer als die Summe der benutzten und - verfügbaren Blöcke (die Spalten - <literal>Used</literal> und <literal>Avail</literal>).</para> - - <para>Wie viel Platz reserviert wird, können Sie mit der - <option>-m</option> Option von &man.tunefs.8; einstellen.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="admin"> - <title>Systemadministration</title> - - <qandaset> - <qandaentry> - <question id="startup-config-files"> - <para>Wo befinden sich die Konfigurationsdateien für - den Systemstart?</para> - </question> - - <answer> - <para><filename>/etc/defaults/rc.conf</filename> (siehe - &man.rc.conf.5;) ist die primäre Konfigurationsdatei. - Die Startskripten des Systems, wie - <filename class="directory">/etc/rc</filename> und - <filename class="directory">/etc/rc.d</filename> (siehe &man.rc.8;) - inkludieren diese Datei. - <emphasis>Ändern Sie diese Datei nicht!</emphasis> - Wenn Sie den Wert einer der in - <filename>/etc/defaults/rc.conf</filename> gesetzten - Variablen ändern wollen, fügen Sie die - entsprechende Zeile in die Datei - <filename>/etc/rc.conf</filename> ein und ändern - die Zeile dort.</para> - - <para>Wenn Sie zum Beispiel den mitgelieferten DNS-Server - &man.named.8 aktivieren wollen, müssen Sie lediglich - das folgende Kommando eingeben:</para> - - <screen>&prompt.root; <userinput>echo 'named_enable="YES"' >> /etc/rc.conf</userinput></screen> - - <para>Wenn Sie lokale Server starten wollen, müssen - Sie passende Shellskripten im Verzeichnis <filename - class="directory">/usr/local/etc/rc.d/</filename> ablegen. Die - Dateien müssen als ausführbar markiert sein und - die Dateiberechtigungen <literal>555</literal> besitzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="adding-users"> - <para>Wie kann ich am Einfachsten einen Benutzer - hinzufügen?</para> - </question> - - <answer> - <para>Benutzen Sie den Befehl &man.adduser.8; und für - kompliziertere Fälle den Befehl &man.pw.8;.</para> - - <para>Benutzen Sie den Befehl &man.rmuser.8;, um einen - Benutzer wieder zu löschen. Sie können, wenn - nötig. auch &man.pw.8; benutzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="root-not-found-cron-errors"> - <para>Warum erhalte ich Meldungen wie <errorname>root: not - found</errorname>, nachdem ich meine - <filename>crontab</filename> geändert habe?</para> - </question> - - <answer> - <para>Die übliche Ursache dieses Problems ist, - dass Sie die crontab des Systems - (<filename>/etc/crontab</filename>) geändert und dann - mit &man.crontab.1; installiert haben:</para> - - <screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen> - - <para>Diese Vorgehensweise ist falsch. Die crontab des - Systems hat ein anderes Format als die crontabs für - die einzelnen Benutzer, die mit &man.crontab.1; - aktualisiert werden (genauere Informationen über die - Unterschiede erhalten Sie in &man.crontab.5;).</para> - - <para>Wenn Sie so vorgegangen sind, ist die zweite crontab - einfach nur eine Kopie von - <filename>/etc/crontab</filename>, allerdings im falschen - Format. Löschen Sie sie mit dem folgenden - Befehl:</para> - - <screen>&prompt.root; <userinput>crontab -r</userinput></screen> - - <para>Wenn Sie <filename>/etc/crontab</filename> wieder - ändern müssen, sollten Sie einfach gar nichts - tun, um &man.cron.8; über die Änderung zu - informieren, er erkennt die Änderung - automatisch.</para> - - <para>Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden - Monat ausführen lassen wollen, ist es wahrscheinlich - einfacher, wenn Sie entsprechende Shell-Scripte in <filename - class="directory">/usr/local/etc/periodic</filename> ablegen. - Diese werden dann von &man.periodic.8; zusammen mit den - anderen regelmäßigen <command>cron</command> - Tätigkeiten ausgeführt.</para> - - <para>Der eigentliche Grund für den Fehler ist die - Tatsache, dass die crontab des Systems ein - zusätzliches Feld enthält; dieses Feld gibt an, - mit welcher Benutzerkennung der Befehl ausgeführt - werden soll. In der mitgelieferten crontab ist das bei - allen Einträgen die Benutzerkennung - <username>root</username>. Wenn diese Datei als die - crontab des Benutzers <username>username</username> (die - <emphasis>nicht</emphasis> mit der crontab des Systems - identisch ist) verwendet wird, hält &man.cron.8; die - Zeichenkette <literal>root</literal> für den Namen - des zu startenden Programmes, aber dieses Programm gibt es - nicht.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="su-wheel-group"> - <para>Wieso meldet mir &man.su.1; <errorname>you are not in - the correct group to su root</errorname>, wenn ich mit - <command>su</command> <username>root</username> werden will?</para> - </question> - - <answer> - <para>Das ist ein Sicherheits-Feature. Wenn Sie mit - <command>su</command> zum Account <username>root</username> (oder - jedem anderen Account mit Super-User-Privilegien) wechseln - wollen, müssen Sie ein Mitglied der Gruppe - <groupname>wheel</groupname> sein. Wenn es dieses Feature - nicht gäbe, könnte jeder, der einen Account auf - dem System hat und zufällig das Passwort - für <username>root</username> erfährt, mit - Super-User-Rechten auf das System zugreifen. Durch dieses - Feature ist die Lage anders, wenn Sie nicht Mitglied von - <groupname>wheel</groupname> sind, können Sie nicht - einmal versuchen, dass Passwort - einzugeben.</para> - - <para>Um einem Benutzer zu erlauben, mit <command>su</command> - <username>root</username> zu werden, müssen Sie ihn - nur in die Gruppe <groupname>wheel</groupname> - eintragen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="rcconf-readonly"> - <para>Ich habe einen Fehler in der - <filename>rc.conf</filename> oder einer der anderen - Dateien für den Systemstart und jetzt kann ich sie - nicht ändern, weil das Dateisystem - <quote>read-only</quote> ist. Was kann ich tun?</para> - </question> - - <answer> - <para>Starten Sie das System mittels <userinput>boot -s</userinput> - an der Loader-Eingabeaufforderung neu, um in den Single-User-Modus - zu gelangen. Wenn Sie aufgefordert werden, den Pfadnamen - der Shell einzugeben, drücken Sie einfach - <keycap>Enter</keycap>. Geben Sie danach <command>mount -urw - /</command> ein, um das Root-Dateisystem im - Schreib/Lese-Modus zu mounten. Sie werden wahrscheinlich - auch <command>mount -a -t ufs</command> ausführen - müssen, um das Dateisystem mit Ihrem Lieblingseditor - zu mounten. Wenn Ihr Lieblingseditor auf einem - Netzwerklaufwerk liegt, müssen Sie entweder das - Netzwerk von Hand konfigurieren oder einen Editor - benutzen, der auf einem lokalen Laufwerk vorhanden ist, - z.B. &man.ed.1;.</para> - - <para>Wenn Sie einen bildschirmorientierten Editor wie zum - Beispiel &man.vi.1; oder &man.emacs.1; benutzen wollen, - werden Sie auch den Befehl <command>export - TERM=cons25</command> ausführen müssen, damit - diese Editoren die richtigen Einstellungen aus der - Datenbank &man.termcap.5; übernehmen.</para> - - <para>Sobald Sie diese Schritte ausgeführt, können - Sie den Fehler in der <filename>/etc/rc.conf</filename> - 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.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="printer-setup"> - <para>Wieso habe ich habe Probleme, meinen Drucker - einzurichten?</para> - </question> - - <answer> - <para>Lesen sie den <ulink - url="&url.books.handbook;/printing.html">Handbucheintrag über - Drucker</ulink>. Es sollte die meisten Ihrer Probleme - behandeln.</para> - - <para>Einige Drucker benötigen einen auf dem Rechner - laufenden Treiber, um drucken zu können. Diese - so genannten <quote>WinPrinter</quote> oder - <quote>GDI-Drucker</quote> werden von &os; nicht - unterstützt und an diesem Zustand wird sich wohl auch - nichts ändern. Wenn Ihr Drucker nicht unter DOS oder - &windows; verwendet werden kann, handelt es sich um - einen <quote>WinPrinter</quote> und wird in der Regel auch - nicht unter &os; funktionieren. Ihre einzige Chance, - einen dieser Drucker benutzen können, ist der Port - <filename - role="package">ports/print/pnm2ppa</filename>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="keyboard-mappings"> - <para>Wie kann ich die Tastaturbelegung meines Systems - korrigieren?</para> - </question> - - <answer> - <para>Informationen dazu finden Sie im Kapitel <ulink - url="&url.books.handbook;/using-localization.html">länderspezifische - Einstellungen</ulink> des Handbuchs, insbesondere im - Abschnitt <ulink - url="&url.books.handbook;/using-localization.html#SETTING-CONSOLE">Konfiguration - der Konsole</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="pnp-resources"> - <para>Wieso erhalte ich beim Start des Systems Meldungen wie - <errorname>unknown: <PNP0303> can't assign - resources</errorname>?</para> - </question> - - <answer> - <para>Die nachfolgende Erklärung stammt aus einer Mail - auf der Mailingliste &a.current;.</para> - - <blockquote> - <attribution>&a.wollman;, 24 April 2001</attribution> - - <para>Die Geräte, für die <quote>can't assign - resources</quote>-Meldungen ausgegeben werden, sind - <quote>Legacy ISA</quote>Geräte, für die ein nicht - PNP-fähiger Treiber in den Kernel eingebunden - wurde. Dabei handelt es sich um Geräte wie den - Tastaturkontroller, den programmierbaren - Interrupt-Kontroller und diverse andere - Standardkomponenten. Die Ressourcen können nicht - zugewiesen werden, weil es schon einen Treiber gibt, der - diese Ressourcen benutzt.</para> - </blockquote> - </answer> - </qandaentry> - - <qandaentry> - <question id="user-quotas"> - <para>Wieso funktionieren die Benutzer-Quotas nicht - richtig?</para> - </question> - - <!-- XXX - This may be the worst answer in the entire document. - --> - - <answer> - <orderedlist> - <listitem> - <para>Es kann sein, dass Ihr Kernel nicht für den - Einsatz von Quotas konfiguriert ist. Damit Sie mit - Quotas arbeiten können, müssen Sie folgende - Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und - den Kernel neu bauen:</para> - - <programlisting>options QUOTA</programlisting> - - <para>Weitere Informationen zum Einsatz von Quotas - finden Sie im entsprechenden - <ulink - url="&url.books.handbook;/quotas.html">Abschnitt</ulink> - des Handbuchs.</para> - </listitem> - - <listitem> - <para>Benutzen Sie keine Quotas für <filename - class="directory">/</filename>.</para> - </listitem> - - <listitem> - <para>Erstellen Sie die Quotas-Datei in dem Dateisystem, - für das die Quotas gelten sollen, z.B.:</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>File System</entry> - - <entry>Quota file</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename class="directory">/usr</filename></entry> - - <entry><filename>/usr/admin/quotas</filename></entry> - </row> - - <row> - <entry><filename - class="directory">/home</filename></entry> - - <entry><filename>/home/admin/quotas</filename></entry> - </row> - - <row> - <entry>…</entry> - - <entry>…</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </listitem> - </orderedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="sysv-ipc"> - <para>Unterstützt &os; IPC-Grundfunktionen von - System V?</para> - </question> - - <answer> - <para>Ja, &os; unterstützt IPC im Stil von System V - einschließlich gemeinsamen Speicher, Nachrichten und - Semaphoren bereits mit dem - <filename>GENERIC</filename>-Kernel. Wenn Sie einen - angepassten Kernel verwenden, müssen Sie die folgenden - Zeilen in Ihre Kernelkonfigurationsdatei einfügen:</para> - - <programlisting> -options SYSVSHM -options SYSVSHM # enable shared memory -options SYSVSEM # enable for semaphores -options SYSVMSG # enable for messaging - </programlisting> - - <para>Danach kompilieren und installieren Sie den neuen - Kernel.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="sendmail-alternative"> - <para>Welchen Mail-Server kann ich an Stelle von - <application>sendmail</application> benutzen?</para> - </question> - - <answer> - <para><ulink url="http://www.sendmail.org/"> - <application>sendmail</application></ulink> - ist zwar der Mail-Server, der bei &os; - standardmäßig installiert wird, aber Sie - können Ihn problemlos durch einen anderen MTA (z.B. - aus den Ports) ersetzen.</para> - - <para>In der Port-Sammlung gibt es bereits viele - verschiedene MTAs, <filename - role="package">mail/exim</filename>, - <filename role="package">mail/postfix</filename>, - <filename role="package">mail/qmail</filename>, sowie - <filename role="package">mail/zmailer</filename> - sind einige der beliebteren Alternativen.</para> - - <para>Konkurrenz belebt das Geschäft und die Tatsache, - dass Sie die Qual der Wahl haben, ist ein Vorteil. - Daher sollten Sie Fragen wie <quote>Ist - <application>sendmail</application> - besser als <application>qmail</application>?</quote> besser nicht - auf den Mailinglisten stellen. Wenn Sie dieses Thema interessiert, - sollten sie zunächst die Archive durchsehen. Die Vorteile und - Nachteile jedes einzelnen der verfügbaren MTAs sind - schon mehrere Male bis zur Erschöpfung diskutiert - worden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="forgot-root-pw"> - <para>Was kann ich machen, wenn ich das Rootpasswort - vergessen habe?</para> - </question> - - <answer> - <para>Keine Panik! Starten Sie Ihr System neu und - geben Sie <userinput>boot -s</userinput> an der - Eingabeaufforderung <literal>Boot:</literal> ein, um in den - Single-User-Modus zu gelangen. Bei der Frage danach, - welche Shell benutzt werden soll, drücken Sie einfach - <keycap>Enter</keycap>. Nun erscheint die Eingabeaufforderung - &prompt.root;. Geben Sie <command>mount -urw /</command> - ein, um Ihr Root-Dateisystem für Lese- und - Schreibzugriffe zu remounten und dann <command>mount - -a</command>, um alle Dateisysteme zu remounten. Mit - <command>passwd root</command> können Sie das - Rootpasswort ändern und mit &man.exit.1; - können Sie mit dem Booten fortfahren.</para> - - <note> - <para>Wenn Sie immer noch dazu aufgefordert werden, das - <username>root</username> Passwort beim Betreten des - Single-User-Modus einzugeben, bedeutet das, dass die Konsole - als <literal>insecure</literal> in - <filename>/etc/ttys</filename> markiert wurde. In diesem Fall - ist es notwendig, von einem &os; Installationsmedium zu booten, - die <guimenuitem>Fixit</guimenuitem>-Shell auszuwählen und - die oben beschriebenen Befehle einzugeben.</para> - </note> - - <note> - <para>Wenn Sie ihre root Partition im Single-User-Modus - nicht mounten können, liegt es möglicherweise - daran, dass die Partionen verschlüsselt sind und es - damit unmöglich ist, sie ohne die - dazugehörigen Schlüssel zu mounten. Ihre - Chancen hängen von der jeweiligen Implementierung - ab. Für weitere Informationen lesen Sie den - Abschnittt über verschlüsselte Partitionen im - &os; <ulink - url="&url.books.handbook;/disks-encrypting.html">Handbuch</ulink>.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="CAD-reboot"> - <para>Wie verhindere ich, dass das System mit <keycombo - action="simul"> - <keycap>Ctrl</keycap> - <keycap>Alt</keycap> - <keycap>Delete</keycap> - </keycombo> - rebootet werden kann?</para> - </question> - - <answer> - <para>Falls Sie &man.syscons.4; (der Standard-Treiber für die - Konsole) benutzen, fügen Sie folgende Zeile in Ihre - Kernelkonfigurationsdatei ein:</para> - - <programlisting>options SC_DISABLE_REBOOT</programlisting> - - <para>Alternativ können Sie auch die folgende - &man.sysctl.8;-Variable setzen (die aktiviert wird, ohne dass Sie - Ihr System dazu neu starten oder einen angepassten Kernel - erstellen müssen):</para> - - <screen>&prompt.root; <userinput>sysctl hw.syscons.kbd_reboot=0</userinput></screen> - - <note> - <para>Die beiden oben genannten Methoden schliessen sich - gegenseitig aus: &man.sysctl.8; existiert nicht, wenn Sie ihren - Kernel mit der Option <literal>SC_DISABLE_REBOOT</literal> - bauen.</para> - </note> - - <para>Falls Sie den &man.pcvt.4; Konsolentreiber verwenden, fügen - Sie die folgende Zeile in die Kernelkonfigurationsdatei hinzu und - bauen Sie einen neuen Kernel:</para> - - <programlisting>options PCVT_CTRL_ALT_DEL</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="dos-to-unix-txt"> - <para>Wie kann ich Textdateien von DOS Systemen auf &unix; - Systemen verwenden?</para> - </question> - - <answer> - <para>Benutzen Sie diesen Perl-Befehl:</para> - - <screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' <replaceable>file(s)</replaceable></userinput></screen> - - <para>Wobei <replaceable>file(s)</replaceable> eine oder mehrere - zu verarbeitende(n) Datei(en) ist/sind. Die Änderungen - erfolgen in der Originaldatei, die zuvor mit der Erweiterung - <filename>.bak</filename> gesichert wird.</para> - - <para>Alternativ können Sie den Befehl &man.tr.1; - benutzen:</para> - - <screen>&prompt.user; <userinput>tr -d '\r' < <replaceable>dos-text-file</replaceable> > <replaceable>unix-file</replaceable></userinput></screen> - - <para><replaceable>dos-text-file</replaceable> ist die - Datei, die den Text im DOS-Format enthält und - <replaceable>unix-file</replaceable> wird die konvertierte - Ausgabe enthalten. Diese Möglichkeit könnte - etwas schneller sein, als die Benutzung von - <command>perl</command>.</para> - - <para>Die Verwendung des Ports <filename - role="package">converters/dosunix</filename> aus der Ports-Sammlung - stellt eine weitere Möglichkeit dar, DOS-Textdateien neu zu - formatieren. Konsultieren Sie die Dokumentation für weitere - Informationen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="kill-by-name"> - <para>Wie beende ich Prozesse namentlich?</para> - </question> - - <answer> - <para>Benutzen Sie &man.pkill.1;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="root-acl"> - <para>Warum nervt &man.su.1; mich damit, dass ich nicht in der - ACL von <username>root</username> bin?</para> - </question> - - <answer> - <para>Der Fehler stammt vom verteilten - Authentifizierungssystem <application>Kerberos</application>. - Das Problem ist nicht ernsthaft, aber störend. Sie - können entweder su mit der Option <option>-K</option> - benutzen, oder <application>Kerberos</application> deinstallieren, - wie in der nächsten Frage beschrieben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="uninstall-kerberos"> - <para>Wie deinstalliere ich - <application>Kerberos</application>?</para> - </question> - - <answer> - <para>Um <application>Kerberos</application> aus dem System zu - entfernen, müssen Sie die <literal>base</literal>-Distribution - der von Ihnen benutzten RELEASE neu installieren. Wenn Sie die - CD-ROM besitzen, können Sie sie mounten (wir nehmen an, unter - <filename class="directory">/cdrom</filename>) und folgende Befehle - ausführen:</para> - - <screen>&prompt.root; <userinput>cd /cdrom/base</userinput> -&prompt.root; <userinput>./install.sh</userinput></screen> - - <para>Alternativ können Sie mit der Option - <makevar>NO_KERBEROS</makevar> in der - <filename>/etc/make.conf</filename> ein make world - durchführen.</para> - </answer> - </qandaentry> - <qandaentry> - <question id="add-pty"> - <para>Wie füge ich Pseudo-Terminals zum System - hinzu?</para> - </question> - - <answer> - <para>Wenn Sie viele Benutzer von <command>telnet</command>, - <command>ssh</command>, X oder <command>screen</command> haben, - werden Ihnen eventuell die Pseudo-Terminals ausgehen. - Standardmässig unterstützt &os; 6.2 und vorherige - Versionen 256 Pseudo-Terminals, während &os; 6.3 und - höher 512 Pseudo-Terminals zur Verfügung stellt.</para> - - <tip> - <para>Wenn nötig, können mehr Pseudo-Terminals - hinzugefügt werden. Allerdings muss dafür die - C-Blibliothek, der Kernel und <filename>/etc/ttys</filename> - erweitert werden. Zum Beispiel erhöht <ulink - url="http://www.freebsd.org/~jhb/patches/pty_1152.patch"></ulink> - die Anzahl an Pseudo-Terminals auf 1152. Beachten Sie, dass die - Erweiterung nur für &os; 6.3 oder höher problemlos - funktioniert.</para> - </tip> - </answer> - </qandaentry> - - <qandaentry> - <question id="reread-rc"> - <para>Wie lade ich <filename>/etc/rc.conf</filename> und - starte <filename>/etc/rc</filename> neu, ohne zu - rebooten?</para> - </question> - - <answer> - <para>Gehen Sie in den Single-User-Modus und dann - zurück in den Multi-User-Modus.</para> - - <para>Geben Sie auf der Konsole folgendes ein:</para> - - <screen>&prompt.root; <userinput>shutdown now</userinput> -(Hinweis: ohne -r oder -h) -&prompt.root; <userinput>return</userinput> -&prompt.root; <userinput>exit</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="release-candidate"> - <para>Ich wollte auf das aktuelle <emphasis>-STABLE</emphasis> - updaten, und plötzlich läuft hier ein - <emphasis>-BETA<replaceable>x</replaceable></emphasis>, - <emphasis>-RC</emphasis> oder <emphasis>-PRERELEASE</emphasis>! - Was ist passiert?</para> - </question> - - <answer> - <para>Kurze Antwort: Das ist nur ein anderer Name. - <emphasis>RC</emphasis> ist die Abkürzung für - <quote>Release Candidate</quote>. Es bedeutet, dass eine neue - Release bevorsteht. Und <emphasis>-PRERELEASE</emphasis> bedeutet - bei &os; normalerweise, dass die Sourcen zur Vorbereitung auf eine - Release <quote>eingefroren</quote> wurden (in einigen - Releases wurde <emphasis>-BETA</emphasis> anstelle von - <emphasis>-PRERELEASE</emphasis> verwendet).</para> - - <para>Ausführliche Antwort: Bei &os; gibt es zwei - Quellen für Releases. Die Major Releases wie - 7.0-RELEASE und 8.0-RELEASE werden aus dem aktuellen Stand - des Hauptzweiges der Entwicklung (besser und kürzer - als <link linkend="current">-CURRENT</link> bekannt) - erzeugt. Minor Releases wie 6.3-RELEASE oder 5.2-RELEASE - stammen aus dem aktiven <link - linkend="stable">-STABLE</link> Zweig. Seit 4.3-RELEASE - gibt es es nun auch einen eigenen Zweig für jede - Release, der für die Leute gedacht ist, die ein sehr - konservativ weiterentwickeltes System benötigen (im - Normalfall also nur Updates aus dem Bereich - Sicherheit).</para> - - <para>Bevor in einem Zweig eine Release erfolgt, muss - in diesem Zweig ein bestimmter Prozess ablaufen. Ein - Teil dieses Prozesses ist der <quote>code freeze</quote>, - der Stop der Weiterentwicklung. Sobald dieser Schritt - erfolgt ist, wird der Name des Zweiges geändert, um - anzuzeigen, dass demnächst eine Release erfolgen - wird. Wenn der Zweig zum Beispiel 6.2-STABLE genannt - wurde, wird der Name in 6.3-PRERELEASE geändert, um - dies zu verdeutlichen. Weiterhin ist das ein Zeichen, dass - jetzt besonders intensiv getestet werden sollte. In - dieser Phase können Fehler im Sourcecode noch - korrigiert werden. Wenn der Sourcecode so weit - <quote>gereift</quote> ist, dass eine Release - erstellt werden kann, wird der Name in 6.3-RC - geändert, um genau dies anzuzeigen. In dieser Phase - kö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.</para> - - <para>Weitere Informationen über Versionsnummern und die - verschiedenen Entwicklungszweige enthält der Artikel - <ulink - url="&url.articles.releng.en;/article.html">Release - Engineering</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="kernel-chflag-failure"> - <para>Als ich versucht habe, einen neuen Kernel zu - installieren, ist das &man.chflags.1; fehlgeschlagen. Was mache - ich jetzt?</para> - </question> - - <answer> - <para>Kurze Antwort: Ihre Sicherheitseinstellung (der - <literal>securelevel</literal>) ist wahrscheinlich - größer als 0. Sie müssen das System neu starten - und den Kernel im Single-User-Modus installieren.</para> - - <para>Ausführliche Antwort: Wenn die - Sicherheitseinstellung größer als 0 ist, - erlaubt Ihnen &os; nicht, die Systemflags zu - ändern. Um den aktuellen Securelevel zu ermitteln, - können Sie das folgende Kommando benutzen:</para> - - <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> - - <para>Sie können die Sicherheitseinstellung nicht - verringern. Sie müssen das System neu starten und den - Kernel im Single-User-Modus installieren oder die - Sicherheitseinstellung in - <filename>/etc/rc.conf</filename> ändern und dann das - System neu starten. Weitere Details zu - <literal>securelevel</literal> erhalten Sie in &man.init.8;, - weitere Informationen zur rc.conf erhalten Sie in - <filename>/etc/defaults/rc.conf</filename> und - &man.rc.conf.5;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="kernel-securelevel-time"> - <para>Ich kann die Systemzeit nicht um mehr als eine Sekunde - verstellen. Was mache ich jetzt?</para> - </question> - - <answer> - <para>Kurze Antwort: Ihre Sicherheitseinstellung (der - <literal>securelevel</literal>) ist wahrscheinlich - größer als 1. Sie müssen das System neu starten - und die Systemzeit im Single-User-Modus verstellen.</para> - - <para>Ausführliche Antwort: Wenn die - Sicherheitseinstellung größer als 1 ist, - erlaubt Ihnen &os; nicht, die Systemzeit zu - ändern. Um den aktuellen Securelevel zu ermitteln, - können Sie das folgende Kommando benutzen:</para> - - <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> - - <para>Sie können die Sicherheitseinstellung nicht - verringern, Sie müssen das System neu starten und die - Systemzeit im Single-User-Modus ändern oder die - Sicherheitseinstellung in - <filename>/etc/rc.conf</filename> ändern und dann das - System neu starten. Weitere Details zu - <literal>securelevel</literal> erhalten Sie in &man.init.8;, - weitere Informationen zur <filename>rc.conf</filename> erhalten Sie - in <filename>/etc/defaults/rc.conf</filename> und - &man.rc.conf.5;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="statd-mem-leak"> - <para>Warum braucht &man.rpc.statd.8; 256 MB - Speicher?</para> - </question> - - <answer> - <para>Nein, das Programm hat keinen Fehler und es verbraucht - auch nicht 256 MB Speicher. <command>rpc.statd</command> - projiziert nur einen übertrieben großen - Speicherbereich in seinen eigenen Adressraum. - Von einem rein technischen Standpunkt aus - ist das nichts verwerfliches, allerdings verwirrt es - Programme wie &man.top.1; und &man.ps.1;.</para> - - <para>&man.rpc.statd.8; projiziert seine Statusdatei (die in - <filename class="directory">/var</filename> liegt) in seinen - Adressraum. Um die Probleme zu vermeiden, die bei - einer Vergrößerung dieser Projektion entstehen - könnten, wird gleich ein möglichst großer - Speicherbereich benutzt. Dies kann man sehr schön im - Sourcecode sehen: Die Längenangabe beim Aufruf von - &man.mmap.2; ist <literal>0x10000000</literal>, ein - sechzehntel des Adressraums bei IA32, oder genau - 256 MByte.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="unsetting-schg"> - <para>Warum kann ich das Dateiattribut - <literal>schg</literal> nicht löschen?</para> - </question> - - <answer> - <para>Sie betreiben Ihr System mit einer erhöhten - Sicherheitsstufe. Senken Sie die Sicherheitsstufe und - versuchen Sie es dann noch einmal. Weitere Informationen - erhalten Sie im <link linkend="securelevel">FAQ Eintrag - über Sicherheitsstufen</link> und in der Online-Hilfe - &man.init.8;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ssh-shosts"> - <para>Warum funktioniert die <filename>.shosts</filename> - Authentifizierung von <application>SSH</application> in neueren - Versionen von &os; nicht mehr?</para> - </question> - - <answer> - <para>Die <filename>.shosts</filename> - Authentifizierung funktioniert nicht mehr, weil - &man.ssh.1; in neueren Versionen von &os; nicht mehr - SUID-<username>root</username> installiert wird. Um dieses - Problem zu <quote>lösen</quote>, gibt es die folgenden - Möglichkeiten:</para> - - <itemizedlist> - <listitem> - <para>Um das Problem für immer zu lösen, - müssen Sie in <filename>/etc/make.conf</filename> - die Variable <makevar>ENABLE_SUID_SSH</makevar> auf - <literal>true</literal> setzen und danach &man.ssh.1; neu - übersetzen (oder <command>make - <maketarget>world</maketarget></command>) ausführen.</para> - </listitem> - - <listitem> - <para>Übergangsweise können Sie auch die - Dateirechte von <filename>/usr/bin/ssh</filename> auf - <literal>4555</literal> setzen, indem Sie den Befehl - <command>chmod 4555 /usr/bin/ssh</command> als - <username>root</username> ausführen. Fügen - Sie anschließend - <literal><makevar>ENABLE_SUID_SSH</makevar> =true</literal> in - die Datei <filename>/etc/make.conf</filename> ein, damit diese - Änderung erhalten bleibt, wenn Sie das nächste Mal - <command>make <maketarget>world</maketarget></command> - ausführen.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="vnlru"> - <para>Was ist <literal>vnlru</literal>?</para> - </question> - - <answer> - <para><literal>vnlru</literal> schreibt vnodes auf Platte - und gibt sie wieder frei, falls das System die Grenzwert - <varname>kern.maxvnodes</varname> 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.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="top-memory-states"> - <para>Was bedeuten die Zustände, die - <command>top</command> für Speicherseiten ausgibt?</para> - </question> - <!-- Provided by John Dyson via Usenet --> - <answer> - <para>Speicherseiten werden vom Kernel in - verschiedenen Listen verwaltet:</para> - - <itemizedlist> - <listitem><para><literal>Active</literal>: Seiten, die vor - Kurzem benutzt wurden.</para></listitem> - - <listitem><para><literal>Inactive</literal>: Seiten, die - länger nicht benutzt wurden.</para></listitem> - - <listitem><para><literal>Cache</literal>: Meistens - Seiten, die vorher im Zustand <literal>Inactive</literal> - waren und noch gültige Daten enthalten. Diese - Seiten können sofort in ihrem alten Kontext oder - in einem neuen Kontext verwendet werden. Wenn eine - Seite unverändert - (<literal>clean</literal>) ist, kann - ein Zustandswechsel direkt von <literal>Active</literal> - nach <literal>Cache</literal> erfolgen. - Ob dieser Zustandswechsel möglich ist, wird durch - die Seitenersetzungsstrategie bestimmt, die der - Entwickler des VM-Systems festgelegt hat.</para></listitem> - - <listitem><para><literal>Free</literal>: Seiten, die - keine Daten enthalten. Diese Seiten können - sofort benutzt werden, wenn Seiten im Zustand - <literal>Cache</literal> nicht benutzt werden - können. Seiten im Zustand <literal>Free</literal> - können auch während eines Interrupts - angefordert werden.</para></listitem> - - <listitem><para><literal>Wired</literal>: Seiten, die - fest im Speicher liegen und nicht ausgelagert werden - können. Normalerweise werden solche Seiten vom - Kernel benutzt, manchmal werden Sie aber auch für - spezielle Zwecke von Prozessen verwendet.</para></listitem> - </itemizedlist> - - <para>Seiten im Zustand <literal>Inactive</literal> - werden oft auf Plattenspeicher geschrieben (sozusagen - ein <command>sync</command> des VM-Systems). Wenn - die CPU erkennen kann, das eine Seite unmodifiziert - (<literal>clean</literal>) ist, kann - auch eine <literal>Active</literal>-Seite auf den - Plattenspeicher ausgeschrieben werden. In bestimmten - Situationen ist es von Vorteil, wenn ein Block von - VM-Seiten, unabhängig von seinem Zustand, - ausgeschrieben werden kann. Die - <literal>Inactive</literal>-Liste enthält wenig - benutzte Seiten, die ausgeschrieben werden könnten. - Seiten im Zustand <literal>Cached</literal> sind - schon ausgeschrieben und stehen Prozessen für - die Verwendung im alten oder in einem neuen Kontext - zur Verfügung. Seiten im Zustand - <literal>Cache</literal> sind nicht ausreichend - geschützt und können während Unterbrechungen - nicht benutzt werden.</para> - - <para>Die eben beschriebene Behandlung von Speicherseiten - kann durch weitere Zustände (wie das - das Busy-Flag) verändert werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="free-memory-amount"> - <para>Wie viel freien Speicher hat mein System?</para> - </question> - <!-- Provided by John Dyson via Usenet --> - <answer> - <para>Es gibt verschiedene Arten von <quote>freiem - Speicher</quote>. Eine Art ist die Speichermenge, - die sofort, ohne etwas auszulagern, zur Verfügung - steht. Der gesamte <acronym>VM</acronym>-Bereich - ist eine weitere Art des <quote>freien Speichers</quote>. - Die Betrachtung ist komplex, hängt aber von - der Größe des Swap-Bereichs und der - Größe des Arbeitsspeichers ab. Es gibt - weitere Definitionen für <quote>freien Speicher</quote>, - die aber alle relativ nutzlos sind. Wichtig ist - hingegen, dass wenig Seiten ausgelagert - werden (<foreignphrase>paging</foreignphrase>) und der - Swap-Bereich ausreichend groß ist.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="var-empty"> - <para>Ich kann <filename class="directory">/var/empty</filename> - nicht löschen!</para> - </question> - <answer> - <para>Das Verzeichnis <filename - class="directory">/var/empty</filename> wird von &man.sshd.8; - benötigt, wenn es mit <quote>Privilege Separation</quote> - läuft. Das Verzeichnis <filename - class="directory">/var/empty</filename> ist - leer, gehört <username>root</username> und - ist durch das Dateiattribut <literal>schg</literal> - geschützt.</para> - - <para>Wir empfehlen Ihnen, das Verzeichnis zu belassen. - Sollten Sie es aber trotzdem löschen wollen, - müssen Sie zuerst das <literal>schg</literal>-Attribut - entfernen. Schauen Sie sich dazu die Hilfeseite - &man.chflags.1; an und beachten Sie die Antwort auf - die Frage <link - linkend="unsetting-schg">wie das <literal>schg</literal>-Attribut - entfernt wird.</link></para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="x"> - <title>Das X Window System und virtuelle Konsolen</title> - - <qandaset> - <qandaentry> - <question id="whatis-X"> - <para>Was ist das X Window System?</para> - </question> - - <answer> - <para>Das X Window System (oder auch nur <literal>X11</literal>) - ist das am häufigsten verwendete - Window System für &unix;- und &unix;-ähnliche Systeme, - zu denen auch &os; gehört. - Der <ulink - url="http://en.wikipedia.org/wiki/X_Window_System_core_protocol">X - Protokollstandard</ulink> wird von der - <ulink url= "http://www.x.org/wiki/">X.org Foundation</ulink> - definiert und liegt - aktuell in Version 11 Release &xorg.version; vor und wird - häufig auch nur als <literal>X11</literal> bezeichnet.</para> - - <para>Das X Window System wurde für viele verschiedene - Architekturen und Betriebssysteme implementiert. Eine - serverseitige Implementierung wird dabei als - <literal>X-Server</literal> bezeichnet.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="running-X"> - <para>Ich möchte X benutzen, was muss ich tun?</para> - </question> - - <answer> - <para>Wenn Sie X auf einem existierenden System installieren - wollen, sollten Sie entweder den Meta-Port - <filename - role="package">x11/xorg</filename> verwenden, der alle - benötigen Komponenten baut und installiert, oder - Sie installieren die &os; &xorg;-Pakete:</para> - - <screen><userinput>&prompt.root; pkg_add -r xorg</userinput></screen> - - <para>Es ist auch möglich, &xorg; aus &man.sysinstall.8; heraus - zu installieren, indem Sie <guimenuitem>Configure</guimenuitem>, - dann <guimenuitem>Distributions</guimenuitem> und anschliessend - <guimenuitem>The X.Org Distribution</guimenuitem> aufrufen.</para> - - <para>Lesen Sie nach erfolgreicher Installation von &xorg; den - Abschnitt <ulink url="&url.books.handbook;/x-config.html">X11 - konfigurieren</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="running-X-securelevels"> - <para>Ich habe <emphasis>versucht</emphasis>, X zu starten, - aber wenn ich <command>startx</command> eingebe, erhalte - ich die Fehlermeldung <errorname>KDENABIO failed - (Operation not permitted)</errorname>. Was soll ich jetzt - machen?</para> - </question> - - <answer> - <para>Das System läuft auf einer erhöhten - Sicherheitsstufe (<literal>securelevel</literal>). - X kann auf einer erhöhten Sicherheitsstufe nicht - gestartet werden, weil X dazu Schreibzugriff auf - &man.io.4; benötigt. Lesen Sie dazu - auch &man.init.8;.</para> - - <para>Die Frage ist also eigentlich, was Sie anders machen - sollten. Sie haben zwei Möglichkeiten: Setzen Sie - die Sicherheitsstufe wieder zurück auf 0 (die - Einstellung erfolgt in der Regel in - <filename>/etc/rc.conf</filename>) oder starten Sie - &man.xdm.1; während des Starts des Systems, bevor die - Sicherheitsstufe erhöht wird.</para> - - <para>Der Abschnitt <xref - linkend="xdm-boot"/> enthält Informationen darüber, wie - Sie &man.xdm.1; beim Start des Systems starten können.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="x-and-moused"> - <para>Warum funktioniert meine Maus unter X nicht?</para> - </question> - - <answer> - <para>Wenn Sie &man.syscons.4; (den Standard-Konsolentreiber) - benutzen, können Sie &os; so konfigurieren, - dass auf jedem virtuellen Bildschirm ein Mauszeiger - unterstützt wird. Um Konflikte mit X zu vermeiden, - unterstützt &man.syscons.4; ein virtuelles Gerät mit dem - Namen <devicename>/dev/sysmouse</devicename>. Alle Mausbewegungen - und Mausklicks werden in das &man.sysmouse.4; Gerät über - &man.moused.8; geschrieben. Falls Sie Ihre Maus auf einer oder - mehreren virtuellen Konsolen <emphasis>und</emphasis> X - benutzen wollen, sollten Sie zunächst <xref - linkend="moused" remap="diesen Abschnitt"/> lesen und dann - &man.moused.8; installieren.</para> - - <para>Die Datei <filename>/etc/X11/xorg.conf</filename> sollte - die folgenden Einträge enthalten:</para> - - <programlisting>Section "InputDevice" - Option "Protocol" "SysMouse" - Option "Device" "/dev/sysmouse" -.....</programlisting> - - <para>Beginnend mit &xorg; 7.4 werden Angaben im Abschnitt - <literal>InputDevice</literal> von - <filename>xorg.conf</filename> ignoriert. Stattdessen wird - die automatisch detektierten Werte zurückgegriffen. Um - das alte Verhalten zu reaktivieren, fügen Sie die - folgende Zeile entweder in den Abschnitt - <literal>ServerLayout</literal> oder - <literal>ServerFlags</literal> ein:</para> - - <programlisting>Option "AutoAddDevices" "false"</programlisting> - - <para>Einige Leute ziehen es vor, unter X - <devicename>/dev/mouse</devicename> zu benutzen. Hierzu - sollte <devicename>/dev/mouse</devicename> nach - <devicename>/dev/sysmouse</devicename> - (lesen Sie &man.sysmouse.4;) gelinkt werden, indem Sie die folgende - Zeile in <filename>/etc/devfs.conf</filename> (siehe auch - &man.devfs.conf.5;) hinzufügen:</para> - - <programlisting>link sysmouse mouse</programlisting> - - <para>Die Verknüpfung kann durch Neustart von &man.devfs.5; - über das folgende Kommando (als <username>root</username>) - erzeugt werden:</para> - - <screen>&prompt.root; <userinput>/etc/rc.d/devfs restart</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="x-and-wheel"> - <para>Kann ich meine Rad-Maus auch unter X benutzen?</para> - </question> - - <answer> - <para>Ja.</para> - - <para>Dazu müssen Sie X nur mitteilen, dass Sie eine - Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen - <literal>Buttons 5</literal> sowie - <literal>ZAxisMapping 4 5</literal> in den Abschnitt - <quote>InputDevice</quote> der Datei - <filename>/etc/X11/xorg.conf</filename> ein. Das - Beispiel zeigt, wie ein solcher Abschnitt aussehen - könnte.</para> - - <example> - <title>Abschnitt <quote>InputDevice</quote> für - Rad-Mäuse in der Konfigurationsdatei von - &xorg;</title> - - <programlisting>Section "InputDevice" - Identifier "Mouse1" - Driver "mouse" - Option "Protocol" "auto" - Option "Device" "/dev/sysmouse" - Option "Buttons" "5" - Option "ZAxisMapping" "4 5" -EndSection </programlisting> - </example> - - <example> - <title><quote>.emacs</quote> Beispiel für - seitenweises Blättern mit einer - Rad-Maus (optional)</title> - - <programlisting>;; wheel mouse -(global-set-key [mouse-4] 'scroll-down) -(global-set-key [mouse-5] 'scroll-up)</programlisting> - </example> - </answer> - </qandaentry> - - <qandaentry> - <question id="no-remote-x11"> - <para>X verbietet Verbindungen von entfernten Systemen!</para> - </question> - - <answer> - <para>Aus Sicherheitsgründen verbietet der X-Server - in der Voreinstellung Verbindungen von entfernten - Systemen.</para> - - <para>Starten Sie den X-Server mit der Option - <option>-listen_tcp</option>, wenn Sie Verbindungen von - entfernten Systemen erlauben wollen:</para> - - <screen>&prompt.user; -<userinput>startx -listen_tcp</userinput> - </screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="virtual-console"> - <para>Was ist eine virtuelle Konsole und wie erstelle ich - mehr?</para> - </question> - - <answer> - <para>Mit virtuellen Konsolen kö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 benötigen.</para> - - <para>Wenn das System startet, wird es nach der Anzeige - aller Bootmeldungen eine Eingabeaufforderung auf dem - Bildschirm anzeigen. Sie können dann auf der ersten - virtuellen Konsole Ihren Benutzernamen und das Passwort - eingeben und anfangen, zu arbeiten (oder zu - spielen!).</para> - - <para>Gelegentlich möchten Sie möglicherweise eine - weitere Sitzung starten wollen, vielleicht, um die - Dokumentation zu einem Programm, das Sie gerade benutzen, - einzusehen, oder, um Ihre Mails zu lesen, während Sie - auf das Ende einer FTP-Übertragung warten. - Drücken Sie einfach <keycombo - action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo> - (halten Sie die <keycap>Alt</keycap>-Taste gedrückt und - drücken Sie die Taste <keycap>F2</keycap>) - und Sie gelangen zur Anmelde-Aufforderung auf der zweiten - <quote>virtuellen Konsole</quote>! Wenn Sie zurück - zur ersten Sitzung möchten, drücken Sie <keycombo - action="simul"><keycap>Alt</keycap><keycap>F1</keycap> - </keycombo>.</para> - - <para>Die Standardinstallation von &os; bietet acht - aktivierte virtuelle Konsolen. Mit <keycombo - action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>, - <keycombo - action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, - <keycombo - action="simul"><keycap>Alt</keycap><keycap>F3</keycap></keycombo> - und so weiter wechseln Sie zwischen diesen virtuellen - Konsolen.</para> - - <para>Um mehr von ihnen zu aktivieren, editieren Sie - <filename>/etc/ttys</filename> (siehe &man.ttys.5;) und fügen - Einträge für <devicename>ttyv8</devicename> bis - zu <devicename>ttyvc</devicename> nach dem Kommentar zu - <quote>virtuellen Terminals</quote> ein:</para> - - <programlisting> -# 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 - </programlisting> - - <para>Benutzen Sie so wenig oder so viele, wie Sie - mö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 - können auch <literal>secure</literal> in - <literal>insecure</literal> ändern.</para> - - <important> - <para>Wenn Sie einen X-Server benutzen möchten, - <emphasis>müssen</emphasis> Sie mindestens ein - virtuelles Terminal unbenutzt (oder ausgeschaltet) - lassen damit der Server es benutzen kann. Das - heißt, dass Sie Pech haben, wenn Sie für - jede Ihrer 12 Alt-Funktionstasten eine - Anmeldeaufforderung haben möchten - Sie können - das nur für elf von ihnen tun, wenn Sie einen - X-Server auf derselben Maschine laufen lassen - möchten.</para> - </important> - - <para>Der einfachste Weg, eine Konsole zu deaktivieren, ist, - sie auszuschalten. Wenn Sie zum Beispiel die oben - erwähnte volle Zuordnung aller 12 Terminals - hätten, müssten Sie die Einstellung - für das virtuelle Terminal 12 von:</para> - - <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting> - - <para>in:</para> - - <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> - - <para>ändern.</para> - - <para>Wenn Ihre Tastatur nur über zehn Funktionstasten - verfügt, bedeutet das:</para> - - <programlisting> -ttyv9 "/usr/libexec/getty Pc" cons25 off secure -ttyva "/usr/libexec/getty Pc" cons25 off secure -ttyvb "/usr/libexec/getty Pc" cons25 off secure - </programlisting> - - <para>(Sie können diese Zeilen auch einfach - löschen.)</para> - - <para>Die einfachste (und sauberste) Möglichkeit, die - virtuellen Konsolen zu aktivieren, ist, zu rebooten. Wenn - Sie jedoch auf keinen Fall rebooten möchten, - können Sie auch einfach das X Window System - herunterfahren und als <username>root</username></para> - - <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> - - <para>ausführen.</para> - - <para>Es ist unbedingt erforderlich, dass Sie das X - Window System vollständig herunterfahren, falls es - läuft. Falls Sie es nicht tun, könnte es sein, - dass sich ihr System nach der Eingabe des - <command>kill</command>-Befehls aufhängt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="vty-from-x"> - <para>Wie greife ich von X aus auf virtuelle Konsolen - zu?</para> - </question> - - <answer> - <para>Benutzen Sie <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap> - <keycap>F<replaceable>n</replaceable></keycap> - </keycombo> - um auf eine virtuelle Konsole umzuschalten. Mit <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap> - <keycap>F1</keycap></keycombo> würden Sie zur ersten - virtuellen Konsole umschalten.</para> - - <para>Sobald Sie auf eine virtuelle Konsole umgeschaltet - haben, können Sie ganz normal <keycombo - action="simul"><keycap>Alt</keycap> - <keycap>F<replaceable>n</replaceable></keycap> - </keycombo> benutzen, um zwischen den einzelnen virtuellen - Konsolen umzuschalten.</para> - - <para>Um zu Ihrer X-Sitzung zurückzukehren, müssen - Sie auf die virtuelle Konsole umschalten, auf der X - läuft. Wenn Sie X über der Eingabeaufforderung - gestartet haben (z.B. mit <command>startx</command>), - benutzt X die nä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 können mit <keycombo - action="simul"><keycap>Alt</keycap><keycap>F9</keycap></keycombo> - umschalten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="xdm-boot"> - <para>Wie starte ich <application>XDM</application> beim - Booten?</para> - </question> - - <answer> - <para>Es gibt zwei Denkansätze, wie - &man.xdm.1; zu starten ist. Bei dem einen wird - <command>xdm</command> unter Nutzung des mitgelieferten - Beispiels über <filename>/etc/ttys</filename> - (&man.ttys.5;) gestartet, während beim zweiten Ansatz - <filename class="directory">rc.local</filename> (&man.rc.8;) oder - das Skript <filename>X</filename> im Verzeichnis <filename - class="directory">/usr/local/etc/rc.d</filename> verwendet wird. - Beide Ansätze sind gleichwertig und der eine - wird in Situationen funktionieren, in denen der andere es - nicht tut. In beiden Fällen ist das Ergebnis das - gleiche: X liefert eine graphische - Anmeldeaufforderung.</para> - - <para>Die &man.ttys.5;-Methode hat den Vorteil, dass - dokumentiert ist, auf welchem vty X gestartet wird und der - Neustart des X-Servers beim Abmelden an &man.init.8; - übergeben wird. Die &man.rc.8;-Methode erleichtert - den Aufruf von <command>kill</command> <command>xdm</command>, - falls Probleme beim Start des X-Servers auftreten sollten.</para> - - <para>Beim Laden von &man.rc.8; sollte <command>xdm</command> - ohne irgendwelche Argumente (das heißt als Daemon) - gestartet werden. Das Kommando <command>xdm</command> muss - gestartet werden <emphasis>nachdem</emphasis> &man.getty.8; - läuft, andernfalls entsteht ein Konflikt zwischen - <command>getty</command> und <command>xdm</command> und die Konsole - bleibt gesperrt. Der beste Weg, um dies zu vermeiden, ist, das - Skript für etwa zehn Sekunden anzuhalten und dann - <command>xdm</command> zu starten.</para> - - <para>Wenn Sie <command>xdm</command> durch einen Eintrag in - <filename>/etc/ttys</filename> starten lassen, kann es zu - einem Konflikt zwischen <command>xdm</command> und - &man.getty.8; kommen. Um dieses Problem zu - vermeiden, sollten Sie die Nummer des - <literal>vt</literal> in die Datei - <filename>/usr/local/lib/X11/xdm/Xservers</filename> - eintragen:</para> - - <programlisting>:0 local /usr/local/bin/X vt4</programlisting> - - <para>Diese Zeile führt dazu, dass der X Server - <devicename>/dev/ttyv3</devicename> nutzt. Die beiden Zahlen - weichen voneinander ab: Der X-Server beginnt die - Zählung der vty bei 1, während der - &os;-Kernel bei 0 beginnt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="xconsole-failure"> - <para>Wieso erhalte ich die Meldung <errorname>Couldn't open - console</errorname>, wenn ich <command>xconsole</command> - benutze?</para> - </question> - - <answer> - <para>Wenn Sie <application>X</application> mit - <command>startx</command> starten, werden die - Zugriffsrechte für - <devicename>/dev/console</devicename> leider - <emphasis>nicht</emphasis> geändert, was dazu - führt, dass Dinge wie <command>xterm - -C</command> und <command>xconsole</command> nicht - funktionieren.</para> - - <para>Das hängt damit zusammen, wie die Zugriffsrechte - für die Konsole standardmäßig gesetzt - sind. Auf einem Mehrbenutzersystem möchte man nicht - unbedingt, dass jeder Benutzer einfach auf die - Systemkonsole schreiben kann. Für Benutzer, die sich - auf einer Maschine direkt mit einem VTY anmelden, - existiert die Datei &man.fbtab.5;, um - derartige Probleme zu lösen.</para> - - <para>In Kürze: sorgen Sie dafür, dass sich - in der Datei <filename>/etc/fbtab</filename> eine nicht - auskommentierte Zeile der folgenden Art befindet:</para> - - <programlisting>/dev/ttyv0 0600 /dev/console</programlisting> - - <para>Das sorgt dafür, dass wer auch immer sich auf - <devicename>/dev/ttyv0</devicename> anmeldet, auch die Konsole - besitzt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="xfree86-root"> - <para>Früher konnte ich &xorg; als normaler User - starten. Warum sagt mir das System jetzt, dass ich - <username>root</username> sein muss?</para> - </question> - - <answer> - <para>Alle X-Server müssen mit der ID - <username>root</username> laufen, um direkt auf die - Videohardware zuzugreifen.</para> - - <para>Es gibt zwei Möglichkeiten, um X auch als - normaler Benutzer starten zu können. Die erste ist - die Verwendung von <command>xdm</command> oder eines - ähnlichen Programms; die zweite ist die Benutzer von - <command>Xwrapper</command>.</para> - - <para><command>xdm</command> ist ein ständig laufendes - Programm, mit dem Logins über eine graphische - Benutzeroberfläche sind. Es wird normalerweise beim - Systemstart initialisiert und für die - Authentifizierung der Benutzer und den Start ihrer - Sitzungen verantwortlich. Es ist also die graphische - Entsprechung von &man.getty.8; und &man.login.1;. - Weitere Informationen zum Thema <command>xdm</command> - finden Sie in der <ulink - url="http://www.x.org/wiki/UserDocumentation">&xorg; - Dokumentation</ulink> und dem entsprechenden <link - linkend="xdm-boot">FAQ-Eintrag</link>.</para> - - <para><command>Xwrapper</command> ist eine - <quote>Hülle</quote> für den X-Server. Mit - diesem kleinen Utility ist es möglich, manuell den - X-Server zu starten und weiterhin eine annehmbare - Sicherheit zu haben. Das Tools prüft, ob die per - Kommandozeile ü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 - <command>Xwrapper</command> die optimale Lösung. - Wenn Sie die vollständige Ports-Sammlung installiert - haben, finden Sie das Tool im Verzeichnis - <filename - role="package">x11/wrapper</filename>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ps2-x"> - <para>Warum funktioniert meine PS/2-Maus nicht richtig?</para> - </question> - - <answer> - <para>Ihre Maus und der Maustreiber sind etwas aus der - Synchronisation geraten.</para> - - <para>In seltenen Fällen kann es jedoch sein, - dass der Treiber fälschlicherweise - Synchronisationsprobleme meldet und Sie in den - Kernelmeldungen folgendes sehen:</para> - - <programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting> - - <para>und Ihre Maus nicht richtig zu funktionieren - scheint.</para> - - <para>Falls das passiert, deaktivieren Sie den Code zur - Überprüfung der Synchronisation, indem Sie die - Treiberangaben für den PS/2-Maustreiber auf - <literal>0x100</literal> setzen. Rufen Sie - <emphasis>UserConfig</emphasis> durch Angabe der Option - <option>-c</option> am Boot-Prompt auf:</para> - - <screen>boot: <userinput>-c</userinput></screen> - - <para>Geben sie dann in der Kommandozeile von - <emphasis>UserConfig</emphasis> folgendes ein:</para> - - <screen>UserConfig> <userinput>flags psm0 0x100</userinput> -UserConfig> <userinput>quit</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="ps2-mousesystems"> - <para>Meine PS/2-Maus von MouseSystems scheint nicht zu - funktionieren.</para> - </question> - - <answer> - <para>Es wurde berichtet, dass einige Modelle der - PS/2-Mäuse von MouseSystems nur funktionieren, wenn - sie im <quote>hochauflösenden</quote> Modus betrieben - werden. Andernfalls springt der Mauszeiger sehr oft in - die linke obere Ecke des Bildschirms.</para> - - <para>Das Flag <literal>0x04</literal> des Maustreibers bringt die - Maus in den hochauflösenden Modus. Rufen Sie - <emphasis>UserConfig</emphasis> durch Angabe der Option - <option>-c</option> am Boot-Prompt auf:</para> - - <screen>boot: <userinput>-c</userinput></screen> - - <para>Geben sie dann in der Kommandozeile von - <emphasis>UserConfig</emphasis> folgendes ein:</para> - - <screen>UserConfig> <userinput>flags psm0 0x04</userinput> -UserConfig> <userinput>quit</userinput></screen> - - <para>Lesen Sie den vorigen Abschnitt über eine andere - mögliche Ursache für Probleme mit der - Maus.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="mouse-button-reverse"> - <para>Wie vertausche ich die Maustasten?</para> - </question> - - <answer> - <para>Benutzen Sie den Befehl <command>xmodmap -e "pointer = - 3 2 1"</command> in Ihrer <filename>.xinitrc</filename> - oder <filename>.xsession</filename>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="install-splash"> - <para>Wie installiere ich einen Splash-Screen und wo finde - ich sie?</para> - </question> - - <answer> - <para>Die detaillierte Antwort auf diese Frage können Sie im - Abschnitt <ulink - url="&url.books.handbook;/boot-blocks.html#BOOT-SPLASH">Splash-Screens - während des Systemstarts</ulink> des Handbuchs - nachlesen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="windows-keys"> - <para>Kann ich die <keycap>Windows</keycap>-Tasten unter X - benutzen?</para> - </question> - - <answer> - <para>Ja, Sie müssen lediglich mit &man.xmodmap.1; - festlegen, welche Aktion diese Tasten auslösen - sollen.</para> - - <para>Unter der Annahme, dass alle <quote>Windows</quote> - Tastaturen dem Standard entsprechen, lauten die Keycodes - für die drei Tasten wie folgt:</para> - - <itemizedlist> - <listitem> - <para><keycode>115</keycode> - <keycap>Windows</keycap>-Taste - zwischen den <keycap>Ctrl</keycap>- und - <keycap>Alt</keycap>-Tasten auf der linken Seite</para> - </listitem> - - <listitem> - <para><keycode>116</keycode> - <keycap>Windows</keycap>-Taste - rechts von der <keycap>AltGr</keycap>-Taste</para> - </listitem> - - <listitem> - <para><keycode>117</keycode> - <keycap>Menü</keycap>-Taste, - links von der rechten <keycap>Strg</keycap>-Taste</para> - </listitem> - </itemizedlist> - - <para>Nach der folgenden Anweisung erzeugt die linke - <keycap>Windows</keycap>-Taste ein Komma.</para> - - <screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen> - - <para>Sie werden Ihren Window Manager wahrscheinlich neu - starten müssen, damit diese Einstellung wirksam - wird.</para> - - <para>Um die neue Belegung der <keycap>Windows</keycap>-Tasten - automatisch beim Start von X zu erhalten, könnten Sie - entsprechende <command>xmodmap</command> Anweisungen in - ihre <filename>~/.xinitrc</filename> einfügen. Die - bevorzugte Variante ist aber, eine Datei mit dem Namen - <filename>~/.xmodmaprc</filename> zu erzeugen, die nur die - Parameter für den Aufruf von - <command>xmodmap</command> enthält. Wenn Sie mehrere - Tasten umdefinieren wollen, muss jede Definition in - eine eigene Zeile gesetzt werden. Weiterhin müssen - Sie in Ihrer <filename>~/.xinitrc</filename> noch die - folgende Zeile einfügen:</para> - - <programlisting>xmodmap $HOME/.xmodmaprc</programlisting> - - <para>Sie könnten die drei Tasten zum Beispiel mit den - Funktionen <keycap>F13</keycap>, <keycap>F14</keycap> und - <keycap>F15</keycap> belegen. Dadurch ist es sehr - einfach, diese Tasten mit nützlichen Funktionen eines - Programmes oder Desktops zu verknüpfen.</para> - - <para>Falls Sie das auch tun wollen, sollten in Ihrer - <filename>~/.xmodmaprc</filename> die folgenden - Anweisungen stehen.</para> - - <programlisting> -keycode 115 = F13 -keycode 116 = F14 -keycode 117 = F15 - </programlisting> - - <para>Falls Sie zum Beispiel den <filename - role="package">x11-wm/fvwm2</filename> Port benutzen, können - Sie ihn so einstellen, dass <keycap>F13</keycap> das Fenster unter - dem Mauszeiger minimiert bzw. maximiert. <keycap>F14</keycap> holt - das Fenster unter dem Mauszeiger in den Vordergrund bzw. - ganz nach hinten, wenn es bereits im Vordergrund ist. - <keycap>F15</keycap> öffnet das Arbeitsplatz - (Programme) Menü, 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 durchgeführten Aktion.</para> - - <para>Dieses Verhalten kann man mit den folgenden - Einträgen in der Datei <filename>~/.fvwmrc</filename> - erhalten:</para> - - <programlisting> -Key F13 FTIWS A Iconify -Key F14 FTIWS A RaiseLower -Key F15 A A Menu Workplace Nop - </programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="x-3d-acceleration"> - <para>Wird 3D Hardware Beschleunigung für &opengl; - unterstützt?</para> - </question> - - <answer> - <para>Dies hängt davon ab, welche Version von &xorg; und welche - Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz - besitzen, benutzen Sie die binären Treiber für &os;, - indem Sie einen der folgenden Ports installieren:</para> - - <itemizedlist> - <listitem> - <para>Die aktuelle Version von NVIDIA-Karten wird durch den Port - <filename - role="package">x11/nvidia-driver</filename> - unterstützt.</para> - </listitem> - <listitem> - <para>NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch - die 96XX Treiber unterstützt, die im <filename - role="package">x11/nvidia-driver-96xx</filename> Port - bereitgestellt werden.</para> - </listitem> - <listitem> - <para>Sogar ältere Karten wie die GeForce und RIVA TNT - sind durch die 71XX Treiberserie verfügbar, die im Port - <filename - role="package">x11/nvidia-driver-71xx</filename> enthalten - ist.</para> - </listitem> - </itemizedlist> - - <para>Tatsächlich liefert NVIDIA detaillierte Informationen - darüber, welche Karte von welchem Treiber unterstützt - wird. Diese Information finden Sie auf der Website von NVIDIA: - <ulink - url="http://www.nvidia.com/object/IO_32667.html"></ulink>.</para> - - <para>Für Matrox G200/400 sehen Sie sich den Port <filename - role="package">x11-servers/mga_hal</filename> an.</para> - - <para>Bei ATI Rage 128 und Radeon lesen Sie die - Anleitungen &man.ati.4x;, &man.r128.4x; und &man.radeon.4x;.</para> - - <para>Fü 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen - <filename - role="package">x11-servers/driglide</filename> Port.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="networking"> - <title>Netzwerke</title> - - <qandaset> - <qandaentry> - <question id="diskless-booting"> - <para>Woher kann ich Informationen über <quote>Diskless - Booting</quote> bekommen?</para> - </question> - - <answer> - <para><quote>Diskless Booting</quote> bedeutet, dass - die &os;-Maschine über ein Netzwerk gebootet wird - und die notwendigen Dateien von einem Server anstatt von - der Festplatte liest. Vollständige Details finden - Sie im <ulink - url="&url.books.handbook;/network-diskless.html">Handbucheintrag - über den plattenlosen Betrieb</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="router"> - <para>Kann eine &os;-Maschine als Netzwerkrouter genutzt - werden?</para> - </question> - - <answer> - <para>Ja. Genaue Informationen zu diesem Thema finden Sie - im Abschnitt - <ulink url="&url.books.handbook;/network-routing.html"> - Gateways und Routen</ulink> des Handbuchkapitels - <ulink url="&url.books.handbook;/advanced-networking.html"> - Weiterführende Netzwerkthemen</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="win95-connection"> - <para>Kann ich meine &windows;-Maschine über &os; ans - Internet anbinden?</para> - </question> - - <answer> - <para>Personen, die diese Frage stellen, haben - typischerweise zwei PCs zu Hause: einen mit &os; und - einen mit einer &windows;-Variante. Die Idee ist, die - &os;-Maschine an das Internet anzubinden, um in der - Lage zu sein, von der &windows;-Maschine über die - &os;-Maschine auf das Internet zuzugreifen. Das - ist tatsächlich nur ein Spezialfall der vorherigen - Frage.</para> - - <para>Das User-Mode &man.ppp.8; von &os; kennt die Option - <option>-nat</option>. Wenn Sie &man.ppp.8; mit der Option - <option>-nat</option> starten, in - <filename>/etc/rc.conf</filename> die Variable - <literal>gateway_enable</literal> auf - <literal>YES</literal> setzen und Ihre &windows;-Maschine - korrekt konfigurieren, sollte das hervorragend - funktionieren. Weitere Informationen erhalten Sie - in der Hilfeseite &man.ppp.8; oder im - <ulink url="&url.books.handbook;/userppp.html">Abschnitt - User-PPP des Handbuchs</ulink>.</para> - - <para>Wenn Sie Kernel-Mode PPP verwenden oder ihre - Verbindung zum Internet über Ethernet erstellt - wurde, müssen Sie &man.natd.8; verwenden. Weitere - Informationen dazu finden Sie im <ulink - url="&url.books.handbook;/network-natd.html">natd-Abschnitt</ulink> - des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="slip-ppp-support"> - <para>Unterstützt &os; SLIP und PPP?</para> - </question> - - <answer> - <para>Ja. Lesen Sie die Manualpages &man.slattach.8;, - &man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;. - &man.ppp.8; und &man.pppd.8; liefern Unterstützung - sowohl für eingehende, als auch ausgehende - Verbindungen. &man.sliplogin.8; behandelt - ausschließlich eingehende Verbindungen und - &man.slattach.8; behandelt ausschließlich ausgehende - Verbindungen.</para> - - <para>Diese Programme werden im Abschnitt <ulink - url="&url.books.handbook;/ppp-and-slip.html">PPP und SLIP</ulink> - des Handbuchs beschrieben.</para> - - <para>Falls Sie nur durch einen <quote>Shell-Account</quote> - Zugang zum Internet haben, sehen Sie sich einmal das - Package <filename - role="package">net/slirp</filename> an. - Es kann Ihnen (eingeschränkten) Zugang zu Diensten - wie ftp und http direkt von Ihrer lokalen Maschine aus - ermöglichen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="natd"> - <para>Unterstützt &os; NAT oder Masquerading?</para> - </question> - - <answer> - <para>Ja. Wenn Sie NAT über eine User-PPP-Verbindung - einsetzen wollen, lesen Sie bitte den <ulink - url="&url.books.handbook;/userppp.html">User-PPP Abschnitt</ulink> - des Handbuchs. Wollen Sie NAT über eine andere - Verbindung einsetzen, lesen Sie bitte den <ulink - url="&url.books.handbook;/network-natd.html">NATD-Abschnitt</ulink> - des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="parallel-connect"> - <para>Wie verbinde ich zwei &os;-Maschinen mit PLIP - über die parallele Schnittstelle?</para> - </question> - - <answer> - <para>Dieses Thema wird im Handbuch-Kapitel <ulink - url="&url.books.handbook;/network-plip.html">PLIP</ulink> - behandelt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ethernet-aliases"> - <para>Wie kann ich Ethernet-Aliase einrichten?</para> - </question> - - <answer> - <para>Wenn sich die zweite Adresse im gleichen Subnetz - befindet wie eine der Adressen, die bereits auf dem - Interface konfiguriert sind, benutzen Sie <literal>netmask - 0xffffffff</literal> in Ihrer &man.ifconfig.8; - Befehlszeile, wie z.B.:</para> - - <screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>192.0.2.2</replaceable> netmask 0xffffffff</userinput></screen> - - <para>Andernfalls geben sie die Adresse und die Netzmaske so - an, wie sie es bei einem normalen Interface auch tun - würden:</para> - - <screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>172.16.141.5</replaceable> netmask 0xffffff00</userinput></screen> - - <para>Sie können mehr darüber im &os; <ulink - url="&url.books.handbook;/configtuning-virtual-hosts.html">Handbuch</ulink> - nachlesen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="port-3c503"> - <para>Wie bringe ich meine 3C503 dazu, den anderen - Anschluss zu benutzen?</para> - </question> - - <answer> - <para>Wenn Sie die anderen Anschlüsse benutzen - möchten, müssen Sie einen zusätzlichen - Parameter in der &man.ifconfig.8;-Befehlszeile - spezifizieren. Der Standard-Anschluss ist - <literal>link0</literal>. Um den AUI-Anschluss - anstelle des BNC-Anschlusses zu verwenden, benutzen Sie - <literal>link2</literal>. Diese Angaben sollten durch - Benutzung der Variablen ifconfig_* in der Datei - <filename>/etc/rc.conf</filename> spezifiziert - werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="nfs"> - <para>Warum habe ich Probleme mit NFS und &os;?</para> - </question> - - <answer> - <para>Gewisse PC-Netzwerkkarten sind (um es gelinde - auszudrücken) besser als andere und können - manchmal Probleme mit netzwerkintensiven Anwendungen wie - NFS verursachen.</para> - - <para>Weitere Informationen zu diesem Thema finden Sie <ulink - url="&url.books.handbook;/network-nfs.html">im Handbucheintrag zu - NFS</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="nfs-linux"> - <para>Warum kann ich per NFS nicht von einer &linux;-Maschine - mounten?</para> - </question> - - <answer> - <para>Einige Versionen des NFS-Codes von &linux; akzeptieren - Mount-Requests nur von einem privilegierten Port. - Versuchen Sie den folgenden Befehl:</para> - - <screen>&prompt.root; <userinput>mount -o -P <replaceable>linuxbox:/blah</replaceable> <replaceable>/mnt</replaceable></userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="nfs-sun"> - <para>Warum kann ich per NFS nicht von einer &sun;-Maschine - mounten?</para> - </question> - - <answer> - <para>Sun Workstations mit - &sunos; 4.<replaceable>X</replaceable> akzeptieren - Mount-Requests nur von einem privilegierten Port. - Versuchen Sie dieses Kommando:</para> - - <screen>&prompt.root; <userinput>mount -o -P <replaceable>sunbox:/blah</replaceable> <replaceable>/mnt</replaceable></userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="exports-errors"> - <para>Warum meldet mir <command>mountd</command> auf meinem - &os; NFS-Server ständig <errorname>can't change - attributes</errorname> und <errorname>bad exports - list</errorname>?</para> - </question> - - <answer> - <para>Die häufigste Ursache für dieses Problem - ist, dass Sie den Aufbau der &man.exports.5; nicht - oder nicht richtig verstanden haben. Überprüfen - Sie Ihre &man.exports.5; und lesen das Kapitel <ulink - url="&url.books.handbook;/network-nfs.html">NFS</ulink> im - Handbuch, speziell den Abschnitt <ulink - url="&url.books.handbook;/network-nfs.html#CONFIGURING-NFS"> - Konfiguration</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-nextstep"> - <para>Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu - kommunizieren?</para> - </question> - - <answer> - <para>Versuchen Sie, die TCP-Erweiterung in - <filename>/etc/rc.conf</filename> zu deaktivieren, indem - Sie die folgende Variable auf <literal>NO</literal> setzen:</para> - - <programlisting>tcp_extensions=NO</programlisting> - - <para>Xylogic's Annex-Maschinen arbeiten hier auch - fehlerhaft und Sie müssen die obige Änderung - benutzen, um über Sie Verbindungen - herzustellen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ip-multicast"> - <para>Wie aktiviere ich die Unterstützung für - IP-Multicast?</para> - </question> - - <answer> - <para>Multicast-Host-Funktionen werden standardmäßig - von &os; unterstützt. Wenn Sie Ihre Maschine als - Multicast-Router betreiben wollen, müssen Sie Ihren Kernel mit - der Option <literal>MROUTING</literal> neu kompilieren und - &man.mrouted.8; starten. Wenn Sie die Variable - <literal>mrouted_enable</literal> in der Datei - <filename>/etc/rc.conf</filename> auf - <literal>YES</literal> setzen, wird &man.mrouted.8; - während des &os;-Systemstarts automatisch gestartet.</para> - - <note> - <para>In aktuellen Versionen von &os; sind die Programme - &man.mrouted.8;, der Multicast Routing Dienst, &man.map-mbone.8; - und &man.mrinfo.8; nicht mehr im Basissystem enthalten. In der - &os; Ports-Sammlung sind diese Programme unter <filename - role="package">net/mrouted</filename> erhältlich.</para> - </note> - - <para>MBONE-Tools sind in ihrer eigenen Ports-Kategorie - <ulink - url="http://www.FreeBSD.org/ports/mbone.html">mbone</ulink> - verfügbar. Schauen Sie dort nach, wenn Sie die - Konferenztools <command>vic</command> und - <command>vat</command> suchen!</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="dec-pci-chipset"> - <para>Welche Netzwerkkarten basieren auf dem - DEC-PCI-Chipsatz?</para> - </question> - - <answer> - <para>Hier ist eine von Glen Foster - <email>gfoster@driver.nsta.org</email> zusammengetragene - Liste mit einigen aktuellen Ergänzungen:</para> - - <table> - <title>Netzwerkkarten mit DEC-PCI-Chipsatz</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>Vendor</entry> - - <entry>Model</entry> - </row> - </thead> - - <tbody> - <row> - <entry>ASUS</entry> - - <entry>PCI-L101-TB</entry> - </row> - - <row> - <entry>Accton</entry> - - <entry>ENI1203</entry> - </row> - - <row> - <entry>Cogent</entry> - - <entry>EM960PCI</entry> - </row> - - <row> - <entry>Compex</entry> - - <entry>ENET32-PCI</entry> - </row> - - <row> - <entry>D-Link</entry> - - <entry>DE-530</entry> - </row> - - <row> - <entry>Dayna</entry> - - <entry>DP1203, DP2100</entry> - </row> - - <row> - <entry>DEC</entry> - - <entry>DE435, DE450</entry> - </row> - - <row> - <entry>Danpex</entry> - - <entry>EN-9400P3</entry> - </row> - - <row> - <entry>JCIS</entry> - - <entry>Condor JC1260</entry> - </row> - - <row> - <entry>Linksys</entry> - - <entry>EtherPCI</entry> - </row> - - <row> - <entry>Mylex</entry> - - <entry>LNP101</entry> - </row> - - <row> - <entry>SMC</entry> - - <entry>EtherPower 10/100 (Modell 9332)</entry> - </row> - - <row> - <entry>SMC</entry> - - <entry>EtherPower (Model 8432)</entry> - </row> - - <row> - <entry>TopWare</entry> - - <entry>TE-3500P</entry> - </row> - - <row> - <entry>Znyx (2.2.X)</entry> - - <entry>ZX312, ZX314, ZX342, ZX345, ZX346, - ZX348</entry> - </row> - - <row> - <entry>Znyx (3.X)</entry> - - <entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, - ZX444, ZX474, ZX478, ZX212, ZX214 - (10mbps/hd)</entry> - </row> - </tbody> - </tgroup> - </table> - </answer> - </qandaentry> - - <qandaentry> - <question id="fqdn-hosts"> - <para>Warum muss ich für Hosts auf meiner Site den - FQDN benutzen?</para> - </question> - - <answer> - <para>Lesen Sie die Antwort im &os; <ulink - url="&url.books.handbook;/mail-trouble.html">Handbook</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="network-permission-denied"> - <para>Wieso erhalte ich bei allen Netzwerkoperationen die - Meldung <errorname>Permission denied</errorname>?</para> - </question> - - <answer> - <para>Dieses Problem kann auftreten, wenn Sie einen Kernel - mit der Option <literal>IPFIREWALL</literal> erstellt - haben. In der Voreinstellung werden alle Pakete, die - nicht explizit erlaubt wurden, blockiert.</para> - - <para>Falls sie Ihr System unbeabsichtigt als Firewall - konfiguriert haben, können Sie die - Netzwerkfunktionalität wiederherstellen, indem Sie - als <username>root</username> folgendes eingeben:</para> - - <screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen> - - <para>Sie können in <filename>/etc/rc.conf</filename> - auch <literal>firewall_type="open"</literal> - setzen.</para> - - <para>Weitere Informationen über die Konfiguration - einer &os;-Firewall finden Sie im Kapitel <ulink - url="&url.books.handbook;/firewalls.html">Firewalls</ulink> - des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ipfw-fwd"> - <para>Warum kann ich bei &man.ipfw.8; einen Dienst nicht mit - <quote>fwd</quote> auf eine andere Maschine umlenken?</para> - </question> - - <answer> - <para>Der wahrscheinlichste Grund ist, dass Sie Network - Address Translation (NAT) brauchen und nicht die einfache - Weiterleitung von Pakete. Die <quote>fwd</quote> - Anweisung macht genau das, was da steht: Sie leitet - Pakete weiter; die Daten in den Paketen werden aber nicht - verändert. Ein Beispiel:</para> - - <screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen> - - <para>Wenn ein Paket mit dem Ziel - <replaceable>foo</replaceable> die Maschine mit dieser - Regel erreicht, wird das Paket an - <replaceable>10.0.0.1</replaceable> weitergeleitet; die - Zieladresse im Paket lautet aber immer noch - <replaceable>foo</replaceable>! Die Zieladresse wird - <emphasis>nicht</emphasis> in - <replaceable>10.0.0.1</replaceable> geändert. Die - meisten Rechner werden allerdings Pakete verwerfen, wenn - die Zieladresse des Paketes nicht mit der Adresse des - Rechners übereinstimmt. Das ist der Grund, warum - eine <quote>fwd</quote> Regel oft nicht den Effekt hat, - den der Benutzer wollte. Dieses Verhalten ist aber kein - Fehler, sondern erwünscht.</para> - - <para>Wenn Sie einen Dienst auf eine andere Maschine - umleiten wollen, sollten Sie sich den <link - linkend="service-redirect">FAQ-Eintrag über die - Umleitung von Diensten</link> oder die Online-Hilfe zu - &man.natd.8; durchlesen. Auch in der <ulink - url="&url.base;/de/ports/index.html">Ports Sammlung</ulink> sind diverse - Hilfsprogramme für diesen Zweck enthalten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="service-redirect"> - <para>Wie kann ich Service-Requests von einer Maschine auf - eine andere umleiten?</para> - </question> - - <answer> - <para>Sie können FTP-Requests (und andere Dienste) mit - dem Port <filename - role="package">sysutils/socket</filename> umleiten. Ersetzen sie - die Befehlszeile für den Dienst einfach so, dass stattdessen - <command>socket</command> aufgerufen wird, zum Beispiel so:</para> - - <programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting> - - <para>wobei <replaceable>ftp.example.com</replaceable> und - <replaceable>ftp</replaceable> entsprechend der Host und - der Port sind, wohin umgeleitet werden soll.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bandwidth-mgr-tool"> - <para>Woher kann ich ein Bandbreiten-Managementtool bekommen?</para> - </question> - - <answer> - <para>Für &os; gibt es drei - Bandbreiten-Managementtools. &man.dummynet.4; ist als - Teil von &man.ipfw.4; in &os; integriert. - <ulink - url="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ</ulink> - ist in &os; Bestandteil von &man.pf.4;. Bei Bandwidth Manager von - <ulink - url="http://www.etinc.com/">Emerging Technologies</ulink> - handelt es sich hingegen um ein kommerzielles Produkt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bpf-not-configured"> - <para>Warum erhalte ich die Meldung <errorname>/dev/bpf0: - device not configured</errorname>?</para> - </question> - - <answer> - <para>Der Berkeley-Paket-Filter (&man.bpf.4;) muss in - den Kernel eingebunden werden, bevor er von einem - Programme aus genutzt werden kann. Fügen Sie - folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und - erstellen Sie einen neuen Kernel:</para> - - <programlisting>device bpf # Berkeley Packet Filter</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="mount-smb-share"> - <para>Habe ich, analog zum smbmount von &linux;, eine - Möglichkeit, auf ein freigegebenes Laufwerk einer - &windows;-Maschine in meinem Netzwerk zuzugreifen?</para> - </question> - - <answer> - <para>Benutzen Sie die Kernel-Erweiterungen und Benutzerprogramme - aus dem Programmpaket <application>SMBFS</application>. Das - Paket und weitergehende Informationen sind unter - &man.mount.smbfs.8; im Basissystem verfügbar.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="icmp-response-bw-limit"> - <para>Was bedeutet die Meldung - <errorname>Limiting icmp/open port/closed port response</errorname> - in meinen Logfiles?</para> - </question> - - <answer> - <para>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 - können unter anderem durch die folgenden Ereignisse - ausgelöst werden:</para> - - <itemizedlist> - <listitem> - <para>Denial of Service (DoS) Angriffe mit der - Brechstange (und nicht durch Angriffe mit einzelnen - Paketen, die gezielt eine Schwachstelle des Systems - ausnutzen sollen).</para> - </listitem> - - <listitem> - <para>Port Scans, bei denen versucht wird, Verbindungen - zu einer großen Anzahl von Ports (und nicht nur - einigen bekannten Ports) herzustellen.</para> - </listitem> - </itemizedlist> - - <para>Die erste Zahl gibt an, wie viele Pakete vom Kernel - ohne das Limit versendet worden wären; die zweite - Zahl gibt das Limit an. Sie können das Limit mit - Hilfe der sysctl-Variable - <varname>net.inet.icmp.icmplim</varname> einstellen. Im - Beispiel wird das Limit auf <literal>300</literal> Pakete - pro Sekunde gesetzt:</para> - - <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen> - - <para>Wenn Sie zwar die Begrenzung benutzen möchten, aber - die Meldungen nicht in Ihren Logfiles sehen möchten, - können Sie die Meldungen mit der sysctl-Variable - <varname>net.inet.icmp.icmplim_output</varname> - abschalten:</para> - - <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen> - - <para>Falls Sie die Begrenzung ganz abschalten wollen, - können Sie die Sysctl-Variable - <varname>net.inet.icmp.icmplim</varname> auf - <literal>0</literal>. Wir raten Ihnen aus den oben - genannten Gründen dringend von diesem Schritt - ab.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="unknown-hw-addr-format"> - <para>Was bedeutet die Meldung <errorname>arp: unknown - hardware address format</errorname>?</para> - </question> - - <answer> - <para>Ein Gerät im lokalen Ethernet verwendet eine - MAC-Adresse in einem Format, das &os; nicht kennt. Der - wahrscheinlichste Grund ist, dass jemand Experimente - mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr - häufig in Netzwerken mit Cable Modems auf. Die - Meldung ist harmlos und sollte die Performance Ihres - Systems nicht negativ beeinflussen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="arp-wrong-iface"> - <para>Warum sehe ich ständig Nachrichten wie: - <errorname>192.168.0.10 is on fxp1 but got reply from - 00:15:17:67:cf:82 on rl0</errorname> und wie stelle ich - das ab?</para> - </question> - - <answer> - <para>Weil ein Paket unerwartet von ausserhalb des Netzwerks - empfangen wurde. Um die Nachrichten abzustellen, ändern Sie - <varname>net.link.ether.inet.log_arp_wrong_iface</varname> auf - <literal>0</literal>.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="security"> - <title>Sicherheit</title> - <qandaset> - <qandaentry> - <question id="sandbox"> - <para>Was ist ein Sandkasten (sandbox)?</para> - </question> - - <answer> - <para><quote>Sandkasten</quote> (sandbox) ist ein Ausdruck - aus dem Bereich Sicherheit. Er hat zwei - Bedeutungen:</para> - - <itemizedlist> - <listitem> - <para>Ein Programm, das innerhalb virtueller Wände - ausgeführt wird. Wenn ein Angreifer über - eine Sicherheitslücke in diesen Programm - einbricht, verhindern diese Wände ein tieferes - Vordringen in das System.</para> - - <para>Man sagt: Der Prozess kann innerhalb der - Wände <quote>spielen</quote>, das heißt nichts, - was der Prozess in Bezug auf die Ausführung von - Code tut, kann die Wände durchbrechen. Es ist - also keine detaillierte Revision des Codes - erforderlich, um gewisse Aussagen über seine - Sicherheit machen zu können.</para> - - <para>Die Wände könnten z.B. eine - Benutzerkennung sein. Dies ist die Definition, die in - den Hilfeseiten &man.security.7; und &man.named.8; benutzt - wird.</para> - - <para>Nehmen Sie zum Beispiel den Dienst - <literal>ntalk</literal> (siehe auch &man.inetd.8;). - Dieser Dienst ist früher mit der Benutzerkennung - <username>root</username> gelaufen; nun läuft er mit der - Benutzerkennung <username>tty</username>. Der Benutzer - <username>tty</username> ist ein Sandkasten, der dazu gedacht - ist, es jemandem, der über <literal>ntalk</literal> - erfolgreich in das System eingebrochen ist, schwer zu machen, - über diese Benutzerkennung hinaus vorzudringen.</para> - </listitem> - - <listitem> - <para>Ein Prozess, der sich innerhalb einer - simulierten Maschine befindet. Dies ist etwas - fortgeschrittener; grundsätzlich bedeutet es, - dass jemand, der in der Lage ist, in einen - Prozess einzudringen, annehmen könnte, er - könnte weiter in die Maschine eindringen, - tatsächlich aber nur in eine Simulation der - Maschine einbricht und keine echten Daten - verändert.</para> - - <para>Der gängigste Weg, dies zu erreichen, ist, in - einem Unterverzeichnis eine simulierte Umgebung zu - erstellen und den Prozess in diesem Verzeichnis - mit chroot auszuführen (für diesen - Prozess ist <filename - class="directory">/</filename> dieses Verzeichnis und nicht das - echte <filename - class="directory">/</filename> des Systems).</para> - - <para>Eine weitere gebräuchliche Anwendung ist, ein - untergeordnetes Dateisystem nur mit Leserechten zu - mounten, und dann darü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 verändern, aber nur der - Prozess sieht diesen Effekt - andere Prozess - im System natürlich nicht.</para> - - <para>Es wird versucht, diese Art von Sandkasten so - transparent zu gestalten, dass der Benutzer (oder - Hacker) nicht merkt, dass er sich in ihm - befindet.</para> - </listitem> - </itemizedlist> - - <para>Ein &unix; System implementiert zwei Arten von - Sandkästen - eine auf Prozessebene und die andere auf - der Ebene der Benutzerkennung.</para> - - <para>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 - überschreiben kann, was zu einem Absturz - führt.</para> - - <para>Ein Prozess gehört einer bestimmten - Benutzerkennung. Falls die Benutzerkennung nicht die von - <username>root</username> ist, dient sie dazu, den - Prozess von Prozessen anderer Benutzer abzuschirmen. - Die Benutzerkennung wird außerdem dazu genutzt, - Daten auf der Festplatte abzuschirmen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="securelevel"> - <para>Was sind die Sicherheitsstufen?</para> - </question> - - <answer> - <para>Die Sicherheitsstufen sind ein Sicherheitsmechanismus, - der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe - einen positiven Wert hat, verhindert der Kernel die - Ausführung bestimmter Tätigkeiten; nicht einmal - der Super-User (also <username>root</username>) darf sie - durchführen. Zurzeit können über die - Sicherheitsstufen unter anderem die folgenden - Tätigkeiten geblockt werden:</para> - - <itemizedlist> - <listitem> - <para>Zurücksetzen bestimmter Dateiattribute, wie zum - Beispiel <literal>schg</literal> (das "system immutable" - Attribut).</para> - </listitem> - - <listitem> - <para>Schreibender Zugriff auf die Speicherbereiche des - Kernels mittels <devicename>/dev/mem</devicename> und - <devicename>/dev/kmem</devicename>.</para> - </listitem> - - <listitem> - <para>Laden von Kernel-Modulen.</para> - </listitem> - - <listitem> - <para>Änderungen an den Firewall-Regeln.</para> - </listitem> - </itemizedlist> - - <para>Um die eingestellte Sicherheitsstufe eines aktiven - Systems abzufragen, reicht das folgende einfache - Kommando:</para> - - <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> - - <para>Die Ausgaben wird den Namen der - &man.sysctl.8;-Variablen (in diesem Fall - <varname>kern.securelevel</varname>) und eine Zahl - enthalten. Die Zahl ist der aktuelle Wert der - Sicherheitsstufe. Wenn die Zahl positiv - (größer als Null) ist, sind zumindest einige - der Schutzmaßnahmen aktiviert.</para> - - <para>Sie können die Sicherheitsstufe eines laufenden - Systems nicht verringern, da dies den Mechanismus wertlos - machen würden. Wenn Sie eine Tätigkeit - ausführen müssen, bei der die Sicherheitsstufe - nicht-positiv sein muss (z.B. ein - <maketarget>installworld</maketarget> oder eine - Änderung der Systemzeit), dann müssen Sie die - entsprechende Einstellung in - <filename>/etc/rc.conf</filename> ändern (suchen Sie - nach den Variablen <varname>kern_securelevel</varname> und - <varname>kern_securelevel_enable</varname>) und das System - rebooten.</para> - - <para>Weitere Informationen über die Sicherheitsstufen - und genaue Informationen, was die Einstellungen bewirken, - können Sie der Online-Hilfe &man.init.8; - entnehmen.</para> - - <warning> - <para>Die Sicherheitsstufen sind kein magischer - Zauberstab, der alle Ihre Problem löst; es gibt - viele bekannte Probleme. Und in der Mehrzahl der - Fälle vermitteln sie ein falsches Gefühl der - Sicherheit.</para> - - <para>Eines der größten Probleme ist, dass - alle für den Start des Systems benötigten - Dateien geschützt sein müssen, damit die - Sicherheitsstufe effektiv sein können. Wenn es ein - Angreifer schafft, seine eigenen Programme - ausführen zu lassen, bevor die Sicherheitsstufe - gesetzt wird (was leider erst gegen Ende des - Startvorgangs erfolgen kann, da viele der notwendigen - Tätigkeiten für den Systemstart nicht mit - einer gesetzten Sicherheitsstufe möglich - wären), werden die Schutzmechanismen ausgehebelt. - Es ist zwar nicht technisch unmöglich, alle beim - Systemstart genutzten Dateien zu schützen; - allerdings würde in einem so geschützten - System die Administration zu einem Alptraum, da man das - System neu starten oder in den Single-User-Modus bringen - müsste, um eine Konfigurationsdatei - ändern zu können.</para> - - <para>Dieses und andere Probleme werden häufig auf - den Mailinglisten diskutiert, speziell auf auf der - Mailingliste &a.security;. Das <ulink - url="&url.base;/search/index.html"> verfügbare Archiv</ulink> - enthä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.</para> - - <para>Fühlen Sie sich gewarnt.</para> - </warning> - </answer> - </qandaentry> - - <qandaentry> - <question id="extra-named-port"> - <para>Wieso wartet BIND (<command>named</command>) auf hohen Ports - auf Anfragen?</para> - </question> - - <answer> - <para>&os; benutzt eine Version von BIND, die einen Port mit einer - hohen, zufälligen Nummer für den Versand von Anfragen - nutzt. Aktuelle Versionen wählen einen neuen, zufälligen - UDP-Port für jeden Query. Das kann für manche - Netzwerkkonfigurationen Probleme verursachen, besonders wenn eine - Firewall eingehende UDP-Pakete auf bestimmten Ports blockiert. - Wenn Sie durch eine solche Firewall wollen, können Sie die - <literal>avoid-v4-udp-ports</literal> und - <literal>avoid-v6-udp-ports</literal> Optionen ausprobieren, um - ein zufälliges Auswählen von Portnummern innerhalb eines - blockierten Bereiches zu verhindern.</para> - - <warning> - <para>Wenn eine Portnummer (wie 53) über die Optionen - <literal>query-source</literal> oder - <literal>query-source-v6</literal> in - <filename>/etc/namedb/named.conf</filename> spezifiziert ist, - wird zufällige Portauswahl nicht verwendet. Es wird - dringend empfohlen, dass diese Optionen nicht für die - Spezifikation von festen Portnummern verwendet wird.</para> - </warning> - - <para>Ach übrigens, herzlichen Glückwunsch. Es - ist eine sehr gute Angewohnheit, die Ausgaben von - &man.sockstat.1; durchzusehen und auf merkwürdige - Dinge zu achten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="sendmail-port-587"> - <para>Wieso wartet der <application>sendmail</application>-Dienst - neuerdings sowohl auf Port 587 als auch auf dem - Standard-Port 25 auf Anfragen?</para> - </question> - - <answer> - <para>Aktuelle <application>sendmail</application>-Versionen - unterstützen eine neue Technik zur Einlieferung von - Mails, die Port 587 nutzt. Diese Technik wird zwar noch - nicht oft angewendet, erfreut sich aber ständig steigender - Popularität.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="toor-account"> - <para>Woher kommt dieser Benutzer <username>toor</username> - mit UID 0? Ist mein System gehackt worden?</para> - </question> - - <answer> - <para>Keine Panik. <username>toor</username> ist ein - <quote>alternativer</quote> Account für den - Super-User (wenn man root rückwärts schreibt, - erhält man toor). Früher wurde er nur erzeugt, - wenn die Shell &man.bash.1; installiert wurde, heute wird - er auf jeden Fall erzeugt. Dieser Account ist für - die Verwendung mit einer alternativen Shell vorgesehen; - damit ist es nicht mehr erforderlich, die Shell von - <username>root</username> zu ändern. Dies ist - wichtig, wenn eine Shell verwendet wird, die nicht zum - Lieferumfang von &os; gehört, zum Beispiel aus - einem Port oder einem Package. Diese Shells werden in der - Regel in <filename class="directory">/usr/local/bin</filename> - installiert und dieses Verzeichnis liegt standardmäßig - auf einem anderem Filesystem. Wenn die Shell von - <username>root</username> in <filename - class="directory">/usr/local/bin</filename> liegt und <filename - class="directory">/usr</filename> (oder das Filesystem, auf dem - <filename class="directory">/usr/local/bin</filename> liegt) nicht - gemountet werden kann, kann sich <username>root</username> nicht - mehr einloggen, um das Problem zu beheben. Es ist - allerdings möglich, das System zu rebooten und das - Problem im Single-User-Modus zu lösen, da man hier - gefragt wird, welche Shell benutzt werden soll.</para> - - <para>Einige Anwender benutzen <username>toor</username> mit - einer alternativen Shell für die tägliche Arbeit - und benutzen <username>root</username> (mit der - Standard-Shell) für den Single-User-Modus und - für Notfälle. Standardmäßig kann man - sich nicht als <username>toor</username> anmelden, da der - Account kein gültiges Passwort hat; Sie - müssen sich also als <username>root</username> - anmelden und ein Passwort für - <username>toor</username> setzen, wenn Sie diesen Account - benutzen wollen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="suidperl"> - <para>Warum funktioniert <command>suidperl</command> nicht - richtig?</para> - </question> - - <answer> - <para>Aus Sicherheitsgründen wird <command>suidperl</command> - standardmäßig nicht installiert. Wenn Sie wollen, dass - <command>suidperl</command> auch beim Update via Sourcecode das - SUID-Bit erhält, müssen Sie in - <filename>/etc/make.conf</filename> die - Zeile <literal><varname>ENABLE_SUIDPERL</varname>=true</literal> - einfügen, bevor Sie <command>perl</command> bauen.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="ppp"> - <title>PPP</title> - - <qandaset> - <qandaentry> - <question id="userppp"> - <para>Ich bekomme &man.ppp.8; nicht zum Laufen. Was mache - ich falsch?</para> - </question> - - <answer> - <para>Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp) - und den <ulink - url="&url.books.handbook;/ppp-and-slip.html#USERPPP">Abschnitt zu - PPP im Handbuch</ulink> lesen. Aktivieren Sie das Logging - mit folgendem Befehl:</para> - - <programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting> - - <para>Dieser Befehl kann an der Eingabeaufforderung von - &man.ppp.8; eingegeben oder in die Konfigurationsdatei - <filename>/etc/ppp/ppp.conf</filename> eingetragen werden - (der beste Ort hierfür ist der Anfang des Abschnitts - <literal>default</literal>. Stellen Sie sicher, dass - die Datei <filename>/etc/syslog.conf</filename> die - folgenden Zeilen enthält und die Datei - <filename>/var/log/ppp.log</filename> existiert:</para> - - <programlisting>!ppp -*.* /var/log/ppp.log - </programlisting> - - <para>Sie können nun über die Logfiles eine Menge - darüber herausfinden, was geschieht. Es macht - nichts, wenn die Einträge in den Logfiles Ihnen gar - nichts sagen. Wenn Sie jemandem um Hilfe bitten - müssen, könnten sie für ihn von Nutzen - sein.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-hangs"> - <para>Warum hängt sich ppp auf, wenn ich es - benutze?</para> - </question> - - <answer> - <para>Das liegt meistens daran, dass Ihr Rechnername - nicht aufgelöst werden kann. Um dieses Problem zu - lösen, müssen Sie sicherstellen, dass die - Datei <filename>/etc/hosts</filename> von Ihrem Resolver - zuerst genutzt wird. Dazu muss in der Datei - <filename>/etc/host.conf</filename> der Eintrag - <literal>hosts</literal> an die erste Stelle gesetzt - werden. Erstellen Sie dann einfach für Ihren lokalen - Rechner einen Eintrag in der Datei - <filename>/etc/hosts</filename>. Falls Sie kein lokales - Netzwerk besitzen, ändern Sie die - <hostid>localhost</hostid>-Zeile:</para> - - <programlisting>127.0.0.1 foo.example.com foo localhost</programlisting> - - <para>Andernfalls fügen Sie einfach einen weiteren - Eintrag für Ihren lokalen Rechner hinzu. Weitere - Details finden Sie in den betreffenden - Manualpages.</para> - - <para>Wenn Sie fertig sind sollten Sie <command>ping -c1 - `hostname`</command> erfolgreich ausführen - können.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-nodial-auto"> - <para>Warum wählt &man.ppp.8; im - <literal>-auto</literal>-Modus nicht?</para> - </question> - - <answer> - <para>Überprüfen Sie zunächst, ob Sie einen - Standard-Gateway eingestellt haben. Wenn Sie - <command>netstat -rn</command> ausführen, sollten Sie - zwei Einträge ähnlich den folgenden - sehen:</para> - - <programlisting> -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 - </programlisting> - - <para>Hier wird angenommen, dass Sie die Adressen aus - dem Handbuch, der Manualpage oder aus der Datei - <filename>ppp.conf.sample</filename> benutzt haben. - Falls Sie keine Standardroute haben, kann es daran liegen, dass Sie - vergessen haben, die Zeile <literal>HISADDR</literal> in der Datei - <filename>ppp.conf</filename> hinzuzufügen.</para> - - <para>Ein weiterer Grund dafür, dass die Zeile - für die Standardroute fehlt, könnte der sein, - dass Sie fälschlicherweise eine Standardroute in - der Datei <filename>/etc/rc.conf</filename> eingetragen - und die folgende Zeile in <filename>ppp.conf</filename> - ausgelassen haben:</para> - - <programlisting>delete ALL</programlisting> - - <para>Lesen Sie in diesem Fall den Abschnitt <ulink - url="&url.books.handbook;/userppp.html#USERPPP-FINAL"> - Abschließende Systemkonfiguration</ulink> des - Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="no-route-to-host"> - <para>Was bedeutet <errorname>No route to - host</errorname>?</para> - </question> - - <answer> - <para>Dieser Fehler beruht für gewöhnlich auf - einem fehlenden Abschnitt in Ihrer Datei - <filename>/etc/ppp/ppp.linkup</filename>:</para> - - <programlisting>MYADDR: - delete ALL - add 0 0 HISADDR - </programlisting> - - <para>Er ist nur notwendig, wenn Sie eine dynamische IP-Adresse - besitzen oder die Adresse Ihres Gateways nicht kennen. Wenn Sie - den interaktiven Modus benutzen, können Sie folgendes - eingeben, nachdem Sie in den <literal>packet - mode</literal> gelangt sind (den Paket Modus erkennen Sie - an <acronym>PPP</acronym> im Prompt):</para> - - <programlisting> -delete ALL -add 0 0 HISADDR - </programlisting> - - <para>Weitere Details finden Sie im Abschnitt <ulink - url="&url.books.handbook;/userppp.html#USERPPP-DYNAMICIP">PPP - und Dynamische IP-Adressen</ulink> des Handbuchs.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="connection-threeminutedrop"> - <para>Wieso werden meine Verbindungen nach ca. drei Minuten - beendet?</para> - </question> - - <answer> - <para>Der Standardtimeout für &man.ppp.8; beträgt - drei Minuten. Er kann durch die folgende Zeile eingestellt werden, - wobei <replaceable>NNN</replaceable> die Inaktivität in - Sekunden angibt, bevor die Verbindung geschlossen wird:</para> - - <programlisting>set timeout <replaceable>NNN</replaceable></programlisting> - - <para>Falls <replaceable>NNN</replaceable> Null ist, wird die - Verbindung niemals aufgrund eines Timeouts geschlossen. - Es ist möglich, diesen Befehl in die Datei - <filename>ppp.conf</filename> einzubinden, oder ihn an der - Eingabeaufforderung im interaktiven Modus einzugeben. - Durch eine Verbindung zum Server-Socket von - <application>ppp</application> über &man.telnet.1; - oder &man.pppctl.8; ist es auch möglich, den Timeout - bei aktiver Verbindung anzupassen. Weitere Details finden - Sie in der Manualpage &man.ppp.8;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-drop-heavy-load"> - <para>Wieso bricht meine Verbindung bei hoher Auslastung - ab?</para> - </question> - - <answer> - <para>Falls Sie Link-Quality-Reporting (LQR) konfiguriert - haben, ist es möglich, dass zu viele LQR-Pakete - zwischen Ihrer Maschine und dem verbundenen Rechner - verloren gehen. Das &man.ppp.8;-Programm folgert daraus, dass die - Verbindung nicht in Ordnung ist und schließt sie. - Vor &os; Version 2.2.5 war LQR standardmäßig - aktiviert; nun ist es standardmäßig - deaktiviert. Es kann durch die folgende Zeile deaktiviert - werden:</para> - - <programlisting>disable lqr</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-drop-random"> - <para>Warum brechen meine Verbindungen nach unbestimmter - Zeit zusammen?</para> - </question> - - <answer> - <para>Wenn die Qualitä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 (fälschlicherweise) annimmt, - dass es das Trägersignal verloren hat.</para> - - <para>Bei den meisten Modems gibt es eine - Einstellmöglichkeit, um anzugeben, wie tolerant es - gegenüber vorübergehenden Verlusten des - Trägersignals sein soll. Bei einem - &usrobotics; &sportster; wird dies zum Beispiel im Register - S10 in Zehntelsekunden angegeben. Um Ihr Modem toleranter zu - machen, können Sie zu Ihrem Wählbefehl die folgende - Sende-Empfangs-Sequenz hinzufügen:</para> - - <programlisting>set dial "...... ATS10=10 OK ......"</programlisting> - - <para>Weitere Information sollten Sie dem Handbuch Ihres - Modems entnehmen können.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-hangs-random"> - <para>Warum hängen meine Verbindung nach einer - unbestimmten Zeit?</para> - </question> - - <answer> - <para>Viele Leute machen Erfahrungen mit hängenden - Verbindungen ohne erkennbaren Grund. Als erstes muss - festgestellt werden, welche Seite der Verbindung - hängt.</para> - - <para>Wenn Sie ein externes Modem benutzen, können Sie - einfach versuchen, &man.ping.8; zu benutzen, um zu sehen, - ob die <acronym>TD</acronym>-Anzeige aufleuchtet, wenn Sie - Daten übertragen. Falls sie aufleuchtet (und die - <acronym>RD</acronym>-Anzeige nicht), liegt das Problem am - anderen Ende. Falls <acronym>TD</acronym> nicht - aufleuchtet, handelt es sich um ein lokales Problem. Bei - einem internen Modem müssen Sie den Befehl - <literal>set server</literal> in Ihrer Datei - <filename>ppp.conf</filename> benutzen. Stellen Sie - über &man.pppctl.8; eine Verbindung zu &man.ppp.8; - her, wenn die Verbindung hängt. Falls Ihre - Netzwerkverbindung plötzlich wieder funktioniert (ppp - wurde durch die Aktivität auf dem Diagnose-Socket - wiederbelebt) oder Sie keine Verbindung bekommen - (vorausgesetzt, der Befehl <literal>set socket</literal> - wurde beim Start erfolgreich ausgeführt), handelt es - sich um ein lokales Problem. Falls Sie eine Verbindung - bekommen und die externe Verbindung weiterhin hängt, - aktivieren Sie lokales asynchrones Logging mit - <literal>set log local async</literal> und benutzen Sie - &man.ping.8; von einem anderen Fenster oder Bildschirm - aus, um die externe Verbindung zu benutzen. Das - asynchrone Logging zeigt Ihnen, welche Daten über die - Verbindung gesendet und empfangen werden. Falls Daten - hinausgehen, aber nicht zurückkommen, handelt es sich - um ein externes Problem.</para> - - <para>Wenn Sie festgestellt haben, ob es sich um ein lokales - oder um ein externes Problem handelt, haben Sie zwei - Möglichkeiten:</para> - - <itemizedlist> - <listitem> - <para>Wenn es ein externes Problem ist, lesen Sie bitte bei - <xref linkend="ppp-remote-not-responding"/> weiter.</para> - </listitem> - - <listitem> - <para>Handelt es sich um ein lokales Problem, lesen Sie bitte - <xref linkend="ppp-hung"/>.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-remote-not-responding"> - <para>Was kann ich machen, wenn die Gegenstelle nicht - antwortet?</para> - </question> - - <answer> - <para>Hier können Sie wenig tun. Die meisten ISPs - werden ablehnen, Ihnen zu helfen, wenn Sie kein - Betriebssystem von µsoft; benutzen. Sie können - <literal>enable lqr</literal> in Ihrer Datei - <filename>ppp.conf</filename> angeben, wodurch &man.ppp.8; - ermöglicht wird, ein externes Versagen zu erkennen - und aufzulegen, aber diese Erkennung ist relativ langsam - und deshalb nicht besonders nützlich. Evtl. sagen - Sie Ihrem ISP nicht, dass Sie user-PPP - benutzen.</para> - - <para>Versuchen Sie zunächst, jegliche Datenkompression - auszuschalten, indem Sie folgendes zu Ihrer Konfiguration - hinzufügen:</para> - - <programlisting> -disable pred1 deflate deflate24 protocomp acfcomp shortseq vj -deny pred1 deflate deflate24 protocomp acfcomp shortseq vj - </programlisting> - - <para>Stellen Sie nun wieder eine Verbindung her, um - festzustellen, ob sich etwas geändert hat. Falls es - nun besser läuft oder falls das Problem - vollständig behoben ist, versuchen Sie durch - schrittweises Ändern der Einstellungen festzustellen, - welche Einstellung den Unterschied bewirkt. Hierdurch - erhalten Sie schlüssige Fakten für ein Gespräch - mit Ihrem ISP (andererseits wird hierdurch offensichtlich, - dass Sie kein µsoft;-Produkt benutzen).</para> - - <para>Aktivieren Sie asynchrones Logging und warten Sie, bis - die Verbindung wieder hängt, bevor Sie sich an Ihren - ISP wenden. Hierzu kann einiges an Plattenplatz - nötig sein. Die Daten, die als letztes von dem Port - gelesen wurden, könnten von Interesse sein. Für - gewöhnlich handelt es sich um ASCII-Text, der sogar - den Fehler beschreiben kann (<errorname>Memory fault, Core - dumped</errorname>).</para> - - <para>Falls Ihr ISP hilfsbereit ist, sollte er in der Lage - sein, an seinem Ende das Logging zu aktivieren und wenn - das nächste Mal die Verbindung abbricht, könnte - er Ihnen mitteilen, worin das Problem auf seiner Seite - besteht. Gerne können Sie Details auch an &a.brian; - schicken, oder Ihren ISP bitten, sich direkt an ihn zu - wenden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-hung"> - <para>Was kann ich tun, wenn sich &man.ppp.8; - aufhängt?</para> - </question> - - <answer> - <para>In diesem Fall erstellen Sie am besten &man.ppp.8; - mit Debugging-Informationen neu und benutzen dann &man.gdb.1;, um - von dem hängenden <application>ppp</application> Prozess eine - Aufzeichnung des Stacks zu erstellen. Um die - <application>ppp</application> Anwendung mit - Debugging-Informationen zu übersetzen, geben Sie folgendes - ein:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/ppp</userinput>&prompt.root; <userinput>env DEBUG_FLAGS='-g' make clean</userinput> - &prompt.root; <userinput>env DEBUG_FLAGS='-g' make install</userinput></screen> - <para>Anschliessend sollten Sie <application>ppp</application> neu - starten und darauf warten, dass es wieder hängt. Wenn die - Debug-Version von <application>ppp</application> hängt, - starten Sie <application>gdb</application> für den - steckengebliebenen Prozess, indem Sie folgendes eingeben:</para> - - <screen>&prompt.root; <userinput>gdb ppp `pgrep ppp`</userinput></screen> - - <para>An der Eingabeaufforderung von <application>gdb</application> - können Sie die Befehle <command>bt</command> oder - <command>where</command> benutzen, um eine Aufzeichnung des Stacks - zu erhalten. Speichern Sie die Ausgabe der - <application>gdb</application>-Sitzung und - <quote>trennen</quote> Sie den laufenden Prozess über den - <command>quit</command> Befehl von - <application>gdb</application>.</para> - - <para>Schicken Sie zum Schluss das Log der - <application>gdb</application>-Sitzung an &a.brian;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-loginok-thennothing"> - <para>Warum passiert nach der Nachricht <quote>Login - OK!</quote> nichts?</para> - </question> - - <answer> - <para>Bei &os;-Versionen vor 2.2.5 wartete &man.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 &man.ppp.8; zu veranlassen, LCP - zu initiieren:</para> - - <programlisting>set openmode active</programlisting> - - <note> - <para>Für gewöhnlich schadet es nicht, wenn - beide Seiten versuchen, Verhandlungen einzuleiten. - Deshalb ist openmode nun standardmäßig aktiv. - Im nächsten Abschnitt wird allerdings erklärt, - in welchen Fällen es <emphasis>doch</emphasis> - schadet.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-same-magic"> - <para>Ich sehe ständig Fehlermeldungen über - gleiche <quote>Magic Numbers</quote> Was heißt - das?</para> - </question> - - <answer> - <para>Nach dem Aufbau einer Verbindung kann es sein, - dass Sie in der Logdatei gelegentlich Meldungen mit - dem Hinweis <errorname>magic is the same</errorname> sehen. - Manchmal sind diese Meldungen harmlos und manchmal bricht - die eine oder andere Seite die Verbindung ab. Die meisten - Implementationen von PPP können dieses Problem nicht - handhaben und Sie werden wiederholte - Konfigurationsanforderungen und -bestätigungen in der - Logdatei finden, bis &man.ppp.8; schließlich aufgibt - und die Verbindung beendet.</para> - - <para>Dies geschieht normalerweise auf Servern mit langsamen - Festplatten, bei denen ein getty auf dem Port - ausgeführt und &man.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 regelmäßig auftritt. Der - Grund hierfür ist, dass das &man.ppp.8; auf der - Client-Seite in der Zeit, die benötigt wird, &man.getty.8; zu - beenden und &man.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 &man.ppp.8; auf der Client-Seite - <quote>reflektiert</quote>.</para> - - <para>Ein Teil der LCP-Verhandlungen ist die Einrichtung - einer <quote>Magic Number</quote> für jede Seite der - Verbindung, damit <quote>Echos</quote> erkannt werden können. - Das Protokoll besagt, dass, wenn der Partner - versucht, die gleiche <quote>Magic Number</quote> auszuhandeln, - ein NAK zurückgesendet und eine neue "Magic Number" - gewählt werden soll. Während der Server das - ECHO eingeschaltet hat, sendet der Client LCP Pakete, - sieht die gleiche <quote>Magic Number</quote> im reflektierten - Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK - (was bedeutet, dass &man.ppp.8; seine "Magic Number" - ändern muss). Hierdurch wird eine Vielzahl von - Änderungen der <quote>Magic Number</quote> hervorgerufen, - die sich allesamt im tty-Puffer des Servers ansammeln. Sobald - &man.ppp.8; auf dem Server startet, wird es mit - Änderungen der <quote>Magic Number</quote> überflutet - und entscheidet, dass es sich zur Genüge mit den - LCP-Verhandlungen beschäftigt hat und gibt auf. Und - während sich der Client noch darüber freut, - dass er keine weiteren Reflexionen sieht, wird ihm - gemeldet, dass der Server auflegt.</para> - - <para>Dies kann verhindert werden, indem dem Partner durch - die folgende Zeile in der Datei - <filename>ppp.conf</filename> erlaubt wird, mit der - Verhandlung zu beginnen:</para> - - <programlisting>set openmode passive</programlisting> - - <para>Hierdurch wird &man.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, können Sie - folgendes tun:</para> - - <programlisting>set openmode active 3</programlisting> - - <para>Hierdurch bleibt &man.ppp.8; für drei Sekunden - passiv und fängt dann erst an, LCP-Anforderungen zu - senden. Falls der Partner während dieser Zeit - beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt - antworten und nicht erst, nachdem die drei Sekunden - abgelaufen sind.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-lcp-constant"> - <para>Die LCP-Verhandlungen dauern an, bis die Verbindung - geschlossen wird. Was mache ich falsch?</para> - </question> - - <answer> - <para>Es gibt eine Fehlfunktion in der Implementierung von - &man.ppp.8;, die darin besteht, dass LCP-, CCP- & - IPCP-Antworten nicht mit den ursprünglichen - Anforderungen assoziiert werden. Fü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.</para> - - <para>Stellen Sie sich vor, wir hätten es mit zwei - Implementierungen <hostid>A</hostid> und - <hostid>B</hostid> zu tun. <hostid>A</hostid> beginnt - unmittelbar nach der Verbindung, LCP-Anforderungen zu - senden und <hostid>B</hostid> benötigt sieben - Sekunden, zu starten. Wenn <hostid>B</hostid> startet, - hat <hostid>A</hostid> bereits drei LCP-Anforderungen - gesendet. Wir nehmen an, dass ECHO ausgeschaltet - ist; andernfalls würden wir Probleme mit der "Magic - Number" beobachten, wie bereits im vorherigen Abschnitt - beschrieben. <hostid>B</hostid> sendet eine Anforderung - und anschließend eine Bestätigung der ersten - Anforderung von <hostid>A</hostid>. Dies führt dazu, - dass <hostid>A</hostid> in den Zustand - <acronym>OPENED</acronym> übergeht und eine - Bestätigung (die erste) zurück an - <hostid>B</hostid> sendet. In der Zwischenzeit sendet - <hostid>B</hostid> zwei weitere Bestätigungen als - Antwort auf die zusätzlichen Anforderungen, die von - <hostid>A</hostid> gesendet worden sind, bevor - <hostid>B</hostid> gestartet ist. <hostid>B</hostid> - empfängt dann die erste Bestätigung von - <hostid>A</hostid> und geht in den Zustand - <acronym>OPENED</acronym> über. <hostid>A</hostid> - empfängt die zweite Bestätigung von - <hostid>B</hostid>, geht zurück in den Zustand - <acronym>REQ-SENT</acronym> und sendet eine - weitere (vierte) Anforderung entsprechend dem RFC. - <hostid>A</hostid> empfängt dann die dritte - Bestätigung und geht in den Zustand - <acronym>OPENED</acronym> über. In der Zwischenzeit - empfängt <hostid>B</hostid> die vierte Anforderung - von <hostid>A</hostid>, wechselt in den Zustand - <acronym>ACK-SENT</acronym> und sendet eine weitere - (zweite) Anforderung und (vierte) Bestätigung - entsprechend dem RFC. <hostid>A</hostid> erhält die - Anforderung, geht in den Zustand - <acronym>REQ-SENT</acronym> über, sendet eine weitere - Anforderung, erhält unverzüglich die - nächste Bestätigung und geht in - <acronym>OPENED</acronym> über.</para> - - <para>Das geht so weiter, bis eine Seite erkennt, dass - man zu keinem Ergebnis gelangt und aufgibt.</para> - - <para>Am besten verhindert man solche Situationen, indem man - eine Seite als <literal>passiv</literal> konfiguriert, - also dafür sorgt, dass eine Seite darauf - wartet, dass die andere mit den Verhandlungen beginnt. Das - kann durch den folgenden Befehl geschehen:</para> - - <programlisting>set openmode passive</programlisting> - - <para>Diese Option sollten Sie mit Vorsicht genießen. - Folgenden Befehl sollten Sie benutzen, um - die Wartezeit auf den Beginn der Verhandlungen des - Partners von &man.ppp.8; zu begrenzen:</para> - - <programlisting>set stopped <replaceable>N</replaceable></programlisting> - - <para>Alternativ kann der folgende Befehl (wobei - <replaceable>N</replaceable> die Wartezeit in Sekunden vor Beginn - der Verhandlungen angibt) benutzt werden:</para> - - <programlisting>set openmode active <replaceable>N</replaceable></programlisting> - - <para>Weitere Details finden Sie in den Manualpages.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-shell-test-lockup"> - <para>Warum reagiert &man.ppp.8; nicht mehr, wenn ich es mit - shell verlassen habe?</para> - </question> - - <answer> - <para>Wenn Sie den Befehl <command>shell</command> oder - <command>!</command> benutzen, führt &man.ppp.8; eine - Shell aus (falls Sie Argumente übergeben haben, - führt &man.ppp.8; diese Argumente aus). Das Programm - <application>ppp</application> wartet auf die Beendigung des - Befehls, bevor es seine Arbeit fortsetzt. Falls Sie versuchen, - die PPP-Verbindung während der Programmausführung zu - benutzen, wird es so aussehen, als wäre die Verbindung - eingefroren. Das liegt daran, dass &man.ppp.8; auf die - Beendigung des Befehls wartet.</para> - - <para>Falls Sie solche Befehle verwenden möchten, - benutzen Sie stattdessen den Befehl - <command>!bg</command>. Hierdurch wird der angegebene - Befehl im Hintergrund ausgeführt und &man.ppp.8; kann - fortfahren, die Verbindung zu bedienen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-null-modem"> - <para>Warum wird &man.ppp.8; niemals beendet, wenn ich es - über ein Nullmodem-Kabel benutze?</para> - </question> - - <answer> - <para>Es gibt keine Möglichkeit für &man.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:</para> - - <programlisting>enable lqr</programlisting> - - <para>LQR wird standardmäßig akzeptiert, wenn es - vom Partner ausgehandelt wird.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-auto-noreasondial"> - <para>Warum wählt &man.ppp.8; im Modus <option>-auto</option> - ohne Grund?</para> - </question> - - <answer> - <para>Falls &man.ppp.8; unerwarteterweise wählt, - müssen Sie den Grund herausfinden und Wählfilter - (dfilters) einsetzen, um dies zu verhindern.</para> - - <para>Benutzen Sie die folgende Zeile, um den Grund - herauszufinden:</para> - - <programlisting>set log +tcp/ip</programlisting> - - <para>Dadurch wird jeglicher Verkehr über die - Verbindung geloggt. Wenn das nächste mal unerwartet - eine Verbindung hergestellt wird, werden Sie den Grund - zusammen mit einer hilfreichen Zeitangabe in der Logdatei - finden.</para> - - <para>Sie können nun das Wä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 - <emphasis>nicht</emphasis>, dass Pakete über - eine bestehende Verbindung gesendet werden), benutzen Sie - die folgenden Zeilen:</para> - - <programlisting> -set dfilter 1 deny udp src eq 53 -set dfilter 2 deny udp dst eq 53 -set dfilter 3 permit 0/0 0/0 - </programlisting> - - <para>Dies ist nicht immer brauchbar, weil es effektiv Ihre - Fähigkeit, auf Anforderung wählen zu können - einschränkt - die meisten Programme müssen eine - DNS-Anfrage durchführen, bevor Sie andere, das - Netzwerk betreffenden Dinge tun können.</para> - - <para>Im Fall von DNS sollten Sie versuchen, herauszufinden, - welches Programm tatsächlich versucht, einen - Hostnamen aufzulösen. Sehr oft handelt es sich hier - um &man.sendmail.8;. Sie sollten - sicherstellen, dass Sie <application>sendmail</application> - in der Konfigurationsdatei sagen, dass keine DNS-Anfragen - durchführen soll. Weitere Details enthält - der Abschnitt <ulink - url="&url.books.handbook;/smtp-dialup.html">E-Mail - über Einwahl-Verbindungen</ulink> des Handbuchs. - Sie könnten z.B. die folgende Zeile in - Ihre <filename>.mc</filename>-Datei einfügen:</para> - - <programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting> - - <para>Das veranlasst <application>sendmail</application> dazu, alles - in eine Warteschlange einzureihen, bis die Warteschlange - verarbeitet wird (normalerweise wird sendmail mit - <option>-bd -q30m</option> aufgerufen, was besagt, - dass die Warteschlange alle 30 Minuten abgearbeitet - wird) oder, bis ein <command>sendmail <option>-q</option></command> - ausgeführt wird (z.B. aus Ihrer Datei - <filename>ppp.linkup</filename> heraus).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ccp-errors"> - <para>Was bedeuten diese CCP-Fehler?</para> - </question> - - <answer> - <para>Ich sehe ständig folgende Fehler in meiner - Logdatei:</para> - - <programlisting> -CCP: CcpSendConfigReq -CCP: Received Terminate Ack (1) state = Req-Sent (6) - </programlisting> - - <para>Das liegt daran, dass &man.ppp.8; versucht, die - Komprimierung Predictor1 auszuhandeln und der Partner - über keinerlei Komprimierung verhandeln will. Die - Meldungen sind harmlos, aber wenn Sie sie beseitigen - möchten, können Sie die Komprimierung Predictor1 - auch lokal ausschalten:</para> - - <programlisting>disable pred1</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-connectionspeed"> - <para>Warum loggt ppp die Geschwindigkeit meiner Verbindung - nicht?</para> - </question> - - <answer> - <para>Um alle Zeilen Ihrer <quote>Modemkonversation</quote> - mitzuloggen, müssen Sie folgendes einstellen:</para> - - <programlisting>set log +connect</programlisting> - - <para>Dies veranlasst &man.ppp.8; dazu, alles bis zur - letzten angeforderten <quote>expect</quote>-Zeile - mitzuloggen.</para> - - <para>Falls Sie die Geschwindigkeit Ihrer Verbindung - erfahren möchten und PAP oder CHAP (und deshalb nach - dem CONNECT im Wählskript nichts mehr zu - <quote>chatten</quote> haben - kein <literal>set - login</literal>-Skript), müssen Sie sicherstellen, - dass Sie &man.ppp.8; anweisen, die gesamte - CONNECT-Zeile zu <quote>erwarten</quote>, etwa so:</para> - - <programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting> - - <para>Hier bekommen wir unser CONNECT, senden nichts, - erwarten dann einen Line-Feed, der &man.ppp.8; zwingt, die - gesamte CONNECT-Antwort zu lesen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-ignores-backslash"> - <para>Warum ignoriert &man.ppp.8; das Zeichen - <literal>\</literal> in meinem Chat-Skript?</para> - </question> - - <answer> - <para>Das Programm <application>ppp</application> analysiert jede - Zeile in Ihrer Konfigurationsdatei, damit es Zeichenketten wie z.B. - <literal>set phone "123 456 789"</literal> korrekt - interpretieren kann (und erkennen, dass es sich bei - der Nummer tatsächlich nur um - <emphasis>ein</emphasis> Argument handelt). Um das - Zeichen <literal>"</literal> anzugeben, müssen - Sie ihm einen Backslash (<literal>\</literal>) - voranstellen.</para> - - <para>Wenn der Chat-Interpreter jedes Argument analysiert, - reinterpretiert er die Argumente, um irgendwelche - speziellen Escape-Sequenzen wie z.B. <literal>\P</literal> - oder <literal>\T</literal> (sehen Sie in die Manualpage) - zu finden. Das Ergebnis dieser Doppelanalyse ist, - dass Sie daran denken müssen, die richtige - Anzahl an Escape-Zeichen zu verwenden.</para> - - <para>Falls Sie tatsächlich das Zeichen - <literal>\</literal> z.B. zu Ihrem Modem senden - möchten, brauchen Sie etwas ähnliches, - wie:</para> - - <programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting> - - <para>Woraus sich folgende Zeichen ergeben:</para> - - <programlisting> -ATZ -OK -AT\X -OK - </programlisting> - - <para>Oder:</para> - - <programlisting> -set phone 1234567 -set dial "\"\" ATZ OK ATDT\\T" - </programlisting> - - <para>Was folgende Zeichen ergibt:</para> - - <programlisting> -ATZ -OK -ATDT1234567 - </programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-segfault-nocore"> - <para>Warum gibt es die Datei <filename>ppp.core</filename> - nicht, wenn &man.ppp.8; einen <errorname>Segmentation - fault</errorname> erzeugt hat?</para> - </question> - - <answer> - <para>Weder <application>ppp</application> noch andere Programme - sollten Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven - Benutzerkennung <literal>0</literal> ausgeführt wird, wird das - Betriebssystem das Coreimage von &man.ppp.8; nicht auf die - Festplatte schreiben, bevor es &man.ppp.8; beendet hat. - Falls &man.ppp.8; jedoch tatsächlich aufgrund einer - Speicherverletzung abbricht <emphasis>und</emphasis> Sie - die aktuellste Version (siehe Anfang dieses Kapitels) - benutzen, dann sollten Sie die Systemquellen installieren und - folgendes tun:</para> - - - <screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src/usr.sbin/ppp</filename></userinput> -&prompt.root; <userinput><command>echo</command> <makevar>STRIP</makevar>= >> <filename>/etc/make.conf</filename></userinput> -&prompt.root; <userinput><command>echo</command> <makevar>CFLAGS</makevar>+=<option>-g</option> >> <filename>/etc/make.conf</filename></userinput> -&prompt.root; <userinput><command>make</command> <maketarget>install</maketarget> <maketarget>clean</maketarget></userinput></screen> - - <para>Nun ist die installierte Version von &man.ppp.8; mit - einem Debugger ausführbar. Sie können - &man.ppp.8; nun nur noch als <username>root</username> - ausführen, da alle vorherigen Zugriffsrechte - aufgehoben worden sind. Achten Sie darauf, in welchem - Verzeichnis Sie sich gerade befinden, wenn Sie &man.ppp.8; - starten.</para> - - <para>Wenn nun wieder eine Speicherverletzung auftreten - sollte, wird &man.ppp.8; einen Speicherauszug erzeugen, - den Sie in der Datei <filename>ppp.core</filename> finden. - Sie sollten dann folgendes tun:</para> - - <screen>&prompt.user; <userinput>su</userinput> -&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput> -<prompt>(gdb)</prompt> <userinput>bt</userinput> -..... -<prompt>(gdb)</prompt> <userinput>f 0</userinput> -.... -<prompt>(gdb)</prompt> <userinput>i args</userinput> -.... -<prompt>(gdb)</prompt> <userinput>l</userinput> -.....</screen> - - <para>Mit Hilfe all dieser Informationen sollte es - möglich sein, das Problem zu diagnostizieren.</para> - - <para>Falls Sie mit &man.gdb.1; vertraut sind, - könnten Sie weitere Einzelheiten herausfinden, z.B. - wodurch der Fehler tatsächlich hervorgerufen wurde - oder die Adressen und Werte der betreffenden Variablen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-autodialprocess-noconnect"> - <para>Warum bekommt das Programm, das eine Anwahl im Modus - <option>-auto</option> ausgelöst hat, keine Verbindung?</para> - </question> - - <answer> - <para>Dies war ein bekanntes Problem bei - &man.ppp.8;-Konfigurationen, bei denen im Modus - <option>-auto</option> dynamische, lokale IP-Adressen mit dem - Partner ausgehandelt werden. Das Problem ist bereits seit einiger - Zeit behoben - suchen Sie in den Manualpages nach - <literal>iface</literal>.</para> - - <para>Das Problem bestand darin, dass, wenn das erste - Programm &man.connect.2; aufruft, die IP-Adresse der - &man.tun.4;-Schnittstelle dem Socketendpunkt zugeordnet wird. Der - Kernel erstellt das erste ausgehende Paket und schreibt es - in das &man.tun.4;-Gerät. &man.ppp.8; liest dann das Paket - und baut eine Verbindung auf. Falls die - Schnittstellenadresse sich nun aufgrund &man.ppp.8;s - dynamischer Adresszuordnung ändert, wird der - originale Socketendpunkt ungültig. Alle weiteren - Pakete, die zum Partner gesendet werden, werden für - gewöhnlich verworfen. Selbst wenn sie nicht - verworfen werden würden, würden alle Antworten - nicht an den betreffenden Rechner gelangen, weil die - IP-Adresse nicht mehr zu diesem Rechner - gehört.</para> - - <para>Theoretisch gibt es mehrere Möglichkeiten, dieses - Problem anzugehen. Am schönsten wäre es, wenn - der Partner die gleiche IP-Adresse wieder zuordnen - würde, wenn möglich. Die derzeitige Version von - &man.ppp.8; tut das, aber die meisten anderen Implementierungen - nicht.</para> - - <para>Die einfachste Maßnahme von unserer Seite - wäre die, niemals die IP-Adresse der - &man.tun.4;-Schnittstelle zu ändern, sondern stattdessen alle - ausgehenden Pakete so zu ä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 - <literal>iface-alias</literal> in der aktuellsten Version - von &man.ppp.8; bewirkt wird (mit Unterstützung von - &man.libalias.3; und &man.ppp.8;'s <option>-nat</option> - Schalter) - alle Schnittstellenadressen werden beibehalten - und auf die letzte ausgehandelte Adresse - umgesetzt.</para> - - <para>Eine andere Alternative (und wahrscheinlich die - zuverlässigste) wäre die, einen Systemaufruf zu - implementieren der die IP-Adressen aller verbundenen - Sockets von einer Adresse in eine andere ändert. - &man.ppp.8; würde diesen Aufruf benutzen, um die - Sockets aller laufenden Programme zu ändern, nachdem - eine neue IP-Adresse ausgehandelt worden ist. Der gleiche - Systemaufruf könnte von <acronym>DHCP</acronym>-Clients - benutzt werden, wenn sie gezwungen werden, die - <function>bind()</function>-Funktion auf ihren Sockets - auszuführen.</para> - - <para>Noch eine andere Möglichkeit wäre die, das - Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben. - Ausgehende Paketen würde die IP-Adresse - <hostid role="ipaddr">255.255.255.255</hostid> gegeben, bis der - erste &man.ioctl.2; mit <literal>SIOCAIFADDR</literal> erfolgt. - Dies würde in der vollständigen Verbindung des Sockets - resultieren. Es wäre die Aufgabe von &man.ppp.8;, die - Absender-IP-Adresse zu ändern, allerdings nur dann, - wenn sie <hostid role="ipaddr">255.255.255.255</hostid> lautet und - nur die IP-Adresse und IP-Prüfsumme müssten geändert - werden. Dies wäre allerdings keine besonders elegante - Lösung, da der Kernel fehlerhafte Pakete an eine - unzureichend konfigurierte Schnittstelle senden würde, in der - Annahme, dass andere Mechanismen in der Lage sind, diese Dinge - rückwirkend zu beheben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ppp-nat-games"> - <para>Warum laufen die meisten Spiele mit dem <option>-nat</option> - Schalter nicht?</para> - </question> - - <answer> - <para>Der Grund dafür, dass Spiele und andere - Programme nicht funktionieren, wenn &man.libalias.3; benutzt wird, - ist der, dass der Rechner außerhalb des lokalen - Netzes versucht, eine Verbindung aufzubauen und - (unaufgefordert) UDP-Pakete an den Rechner innerhalb des - lokalen Netzes zu senden. Die Software, die für die - NAT zuständig ist, weiß nicht, dass sie - diese Pakete an den internen Rechner weiterleiten - soll.</para> - - <para>Um dies zu beheben, stellen Sie zunächst sicher, - dass die Software, mit der Sie Probleme haben, die - einzige ist, die gerade läuft. Benutzen Sie dann - entweder &man.tcpdump.1; auf der &man.tun.4;-Schnittstelle des - Gateways oder aktivieren Sie auf dem Gateway das Logging von TCP/IP - (<literal>set log +tcp/ip</literal>) unter - &man.ppp.8;.</para> - - <para>Wenn Sie nun das betreffende Programm starten, sollten - Sie sehen, wie Pakete den Gateway-Rechner passieren. Wenn - von außen etwas zurü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 <filename>/etc/ppp/ppp.conf</filename> - dafür sorgen, dass das Programm - funktioniert:</para> - - <programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting> - - <para>wobei für <replaceable>proto</replaceable> - entweder <literal>tcp</literal> oder - <literal>udp</literal> zu setzen ist, - <replaceable>internalmachine</replaceable> den Rechner - bezeichnet, an den die Pakete geschickt werden sollen und - <replaceable>port</replaceable> die betreffende - Portnummer.</para> - - <para>Sie können das Programm nicht auf einem anderen - Rechner benutzen, ohne die obige Zeile abzuändern und - die Benutzung des Programms auf zwei internen Rechnern - steht außer Frage - schließlich sieht die - Außenwelt Ihr gesamtes internes Netz so, als - wäre es ein einzelner Rechner.</para> - - <para>Falls die Portnummern nicht konsistent sind, gibt es - drei weitere Optionen:</para> - - <orderedlist> - <listitem> - <para>Ermöglichen Sie die Unterstützung durch - &man.libalias.3;. Beispiele für <quote>spezielle - Fälle</quote> finden Sie in - <filename>/usr/src/sys/netinet/libalias/alias_*.c</filename> - (<filename>alias_ftp.c</filename> ist ein schöner - Prototyp). Hierzu gehört für - gewöhnlich das Lesen bestimmter, erkannter, - ausgehender Pakete, die Identifizierung der - Instruktion, die den entfernten Rechner dazu - veranlasst, auf einem bestimmten (wahlfreien) - Port eine Verbindung zurück zum lokalen Rechner - herzustellen, sowie das Erstellen einer - <quote>Route</quote> in der Aliastabelle, so dass - nachfolgende Pakete wissen, wohin sie - gehören.</para> - - <para>Dieses ist zwar die komplizierteste Lösung, - aber die beste, die auch dafür sorgt, dass - die Software auf mehreren Rechnern - funktioniert.</para> - </listitem> - - <listitem> - <para>Benutzen Sie einen Proxy. Die Anwendung - könnte z.B. <literal>socks5</literal> unterstützen, - oder (wie im Fall von <command>cvsup</command>) eine Option - <quote>passiv</quote> besitzen, die stets verhindert, - dass verlangt wird, dass der Partner eine - Verbindung zurück zur lokalen Maschine - aufbaut.</para> - </listitem> - - <listitem> - <para>Leiten Sie mit <literal>nat addr</literal> alles - zur lokalen Maschine um. Dieses Vorgehen ähnelt - dem mit einem Vorschlaghammer.</para> - </listitem> - </orderedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="useful-port-numbers"> - <para>Hat jemand eine Liste mit nützlichen Portnummern - erstellt?</para> - </question> - - <answer> - <para>Noch nicht, aber hieraus könnte eine solche - entstehen (falls Interesse besteht). In jedem Beispiel - sollte <replaceable>internal</replaceable> durch die - IP-Adresse der Maschine ersetzt werden, auf der das Spiel - laufen soll.</para> - - <itemizedlist> - <listitem> - <para><application>Asheron's Call</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:65000 - 65000</literal></para> - - <para>Konfigurieren Sie das Spiel manuell auf Port - <literal>65000</literal> um. Wenn Sie von mehreren Rechner aus - spielen wollen, weisen Sie jedem eine eindeutige Portnummer zu - (also <literal>65001</literal>, <literal>65002</literal>, - u.s.w.) und fügen Sie für jede - Maschine eine eigene <literal>nat port</literal> Zeile - ein.</para> - </listitem> - - <listitem> - <para><application>Half Life</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:27005 - 27015</literal></para> - </listitem> - - <listitem> - <para><application>PCAnywhere 8.0</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:5632 - 5632</literal></para> - - <para><literal>nat port tcp - <replaceable>internal</replaceable>:5631 - 5631</literal></para> - </listitem> - - <listitem> - <para><application>Quake</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:6112 - 6112</literal></para> - </listitem> - - <listitem> - <para><application>Quake 2</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:27901 - 27910</literal></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:60021 - 60021</literal></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:60040 - 60040</literal></para> - </listitem> - - <listitem> - <para><application>Red Alert</application></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:8675 - 8675</literal></para> - - <para><literal>nat port udp - <replaceable>internal</replaceable>:5009 - 5009</literal></para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="fcs-errors"> - <para>Was sind FCS-Fehler?</para> - </question> - - <answer> - <para>FCS steht für <literal>F</literal>rame - <literal>C</literal>heck <literal>S</literal>equence. - 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 Zähler HDLC FCS wird erhöht. - Der HDLC-Fehlerwert kann durch den Befehl <literal>show - hdlc</literal> angezeigt werden.</para> - - <para>Falls Ihre Leitung schlecht ist (oder falls Ihr - serieller Treiber Pakete verwirft), werden sie - gelegentliche FCS-Fehler sehen. Normalerweise lohnt es - sich nicht, sich hierü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 könnte das - Problem beseitigen.</para> - - <para>Falls Ihre Leitung einfriert, sobald die Verbindung - steht, und viele FCS-Fehler auftreten, kö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 - <emphasis>muss</emphasis>, benutzen Sie den Befehl - <literal>set accmap 0x000a0000</literal>, um &man.ppp.8; - zu sagen, dass es die Zeichen <literal>^Q</literal> - und <literal>^S</literal> maskieren soll.</para> - - <para>Ein weiterer Grund dafür, dass zu viele - FCS-Fehler auftreten, könnte der sein, dass das - andere Ende aufgehört hat, <acronym>ppp</acronym> zu - sprechen. Aktivieren Sie <literal>async</literal> - Logging, um festzustellen, ob es sich bei den eingehenden - Daten tatsächlich um einen login- oder Shell-Prompt - handelt. Wenn Sie am anderen Ende einen Shell-Prompt - haben, ist es möglich, durch den Befehl - <command>close lcp</command> &man.ppp.8; zu beenden, ohne - die Verbindung zu beenden (ein folgender - <command>term</command>-Befehl wird Sie wieder mit der - Shell auf dem entfernten Rechner verbinden.</para> - - <para>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.</para> - </answer> - </qandaentry> - - <qandaentry id="PPPoEwithNAT"> - <question id="macos-win98-pppoe-freeze"> - <para>Wieso hängen die Verbindungen meiner &macos;- und - &windows; 98-Maschinen (und eventuell auch andere - µsoft; Betriebssysteme), wenn auf meinem Gateway - PPPoE läuft?</para> - </question> - - <answer> - <para>Vielen Dank an Michael Wozniak - <email>mwozniak@netcom.ca</email> für die - Erklärung und an Dan Flemming - <email>danflemming@mac.com</email> für die - Lösung für &macos;.</para> - - <para>Die Ursache des Problems ist ein so genannter - <quote>Black Hole Router</quote>. &macos; und &windows; 98 - (und wahrscheinlich auch die anderen Betriebssysteme von - µsoft;) senden TCP Pakete, bei denen zum einen die - angeforderte Segmentgröße zu groß - für einen PPPoE-Rahmen ist (die Default-MTU für - Ethernet beträgt <literal>1500</literal> Byte) - <emphasis>und</emphasis> bei denen das <quote>don't - fragment</quote> Bit gesetzt - ist (das ist bei TCP allerdings Standard). Außerdem - sendet der Router beim Provider nicht die eigentlich - notwendigen <quote>must fragment</quote>-Meldungen zu dem - Webserver, von dem Sie gerade eine Seite laden wollen. Es - ist auch mö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 Größe kleiner ist als die MSS). Dies - scheint leider der Normalfall zu sein.</para> - - <para>Eine der möglichen Lösungen für dieses - Problem ist die Erzeugung des folgenden Schlüssels in - der Registry des Windows-Clients mit - <application>regedit</application>:</para> - - <programlisting>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU</programlisting> - - <para>Der Schlüssels sollte vom Typ String sein und den - Wert <literal>1436</literal> haben, da einige ADSL-Router - nicht mit größeren Paketen umgehen können. - Wenn Sie &windows; 2000 verwenden, müssen Sie - hingegen den Schlüssel - <literal>Tcpip\Parameters\Interfaces\<replaceable>ID der - Netzwerkkarte</replaceable>\MTU</literal> benutzen, - außerdem müssen Sie als Typ <literal>DWORD</literal> - verwenden.</para> - - <para>Die Knowledge Base von µsoft; enthält weitere - Informationen darüber, wie sie die MTU einer - &windows;-Maschine ändern, damit diese mit einem - NAT-Router korrekt zusammenarbeitet. Vom besonderen - Interesse sind die Artikel <ulink - url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474 - - &windows; TCPIP Registry Entries</ulink> und <ulink - url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642 - - TCPIP & NBT Configuration Parameters for - &windowsnt;</ulink>.</para> - - <para>Bei &windows; 2000 können Sie alternativ auch, wie - im Artikel 120642 beschrieben, mit regedit das - <literal>DWORD</literal> - <literal>Tcpip\Parameters\Interfaces\<replaceable>ID der - Netzwerkkarte</replaceable>\EnablePMTUBHDetect</literal> - auf <literal>1</literal> setzen.</para> - - <para>Mit den Bordmitteln von &macos; ist es leider nicht - möglich, die TCP/IP-Einstellungen zu verändern. - Es gibt jedoch kommerzielle Lösungen, mit denen man die - TCP/IP-Einstellungen bearbeiten kann. Wenn Sie als - &macos;-Anwender NAT benutzen, suchen Sie ihre MTU-Einstellungen - und geben Sie dort <literal>1450</literal> statt - <literal>1500</literal> ein.</para> - - <para>&man.ppp.8; kennt seit Version 2.3 den Befehl - <command>enable tcpmssfixup</command>, mit dem die MSS - automatisch korrigiert wird. Wenn Sie einen ältere - Version von &man.ppp.8; benutzen müssen, könnte - der Port <filename role="package">net/tcpmssd</filename> für - Sie interessant sein.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="desperation"> - <para>Nichts von alledem hilft - ich bin - verzweifelt! Was soll ich machen?</para> - </question> - - <answer> - <para>Falls alles andere fehlschlägt, senden Sie - möglichst umfangreiche Informationen, - einschließlich Ihrer Konfigurationsdateien, wie Sie - &man.ppp.8; starten, die relevanten Teile Ihrer Logdateien - und die Ausgabe des Befehls <command>netstat -rn</command> - (vor und nach Aufbau der Verbindung) an die - Mailingliste &a.de.questions; oder die Newsgroup <ulink - url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</ulink>. - Irgend jemand sollte Ihnen dann weiterhelfen.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="serial"> - <!-- - The FreeBSD German Documentation Project FAQ - serial - communications, - Uebersetzer: Robert S. F. Drehmel - - Original revision 1.54 - --> - - <title>Serielle Verbindungen</title> - - <para>Dieses Kapitel beantwortet häufig gestellte Fragen zu - seriellen Verbindungen mit &os;. PPP und SLIP werden im - <link linkend="networking">Abschnitt Netzwerke</link> behandelt.</para> - - <qandaset> - <qandaentry> - <question id="found-serial"> - <para>Wie kann ich feststellen, ob &os; meine seriellen - Schnittstellen gefunden hat?</para> - </question> - - <answer> - <para>Wenn der &os; Kernel bootet, testet er die - seriellen Schnittstellen, für die er konfiguriert - wurde. Sie können entweder Ihrem System aufmerksam - beim Booten zusehen und die angezeigten Nachrichten lesen, - oder Sie führen den folgenden Befehl aus, nachdem Ihr System - hochgefahren ist und läuft:</para> - - <screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput></screen> - - <para>Hier ist ein Beispiel einer Ausgabe nach dem oben - genannten Befehl:</para> - - <programlisting> -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</programlisting> - - <para>Es zeigt zwei serielle Schnittstellen. Die erste - verwendet Port-Adresse <literal>0x3f8</literal>, IRQ 4 und - hat einen 16550A UART Chip. Die zweite benutzt ebenfalls - einen 16550A UART, jedoch Port-Adresse - <literal>0x2f8</literal> und IRQ 3. Modemkarten werden - wie serielle Schnittstellen behandelt. Der einzige - Unterschied ist, dass an diesen Schnittstellen immer - ein Modem <quote>angeschlossen</quote> ist.</para> - - <para>Der <filename>GENERIC</filename> Kernel beinhaltet - Unterstützung für zwei serielle Schnittstellen, - die den im Beispiel genannten Port und IRQ verwenden. - Wenn diese Einstellungen nicht richtig für Ihr System - sind, Sie Modemkarten hinzugefügt oder mehr serielle - Schnittstellen haben als Ihre Kernelkonfiguration - zulässt, konfigurieren Sie Ihren Kernel einfach - neu. In dem Kapitel über die <link - linkend="make-kernel">Kernelkonfiguration</link> finden - Sie mehr Details.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="found-modem"> - <para>Wie kann ich feststellen, ob &os; meine Modemkarten - gefunden hat?</para> - </question> - - <answer> - <para>Die vorherige Frage sollte darauf eine Antwort geben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="access-serial-ports"> - <para>Wie kann ich auf die seriellen Schnittstellen in - &os; zugreifen?</para> - </question> - - <answer> - <para>Die in &man.sio.4; beschriebene serielle Schnittstelle - <devicename>sio2</devicename> (<devicename>COM3</devicename> - unter &ms-dos;/&windows;), ist - <devicename>/dev/cuad2</devicename> für - Geräte mit abgehenden Verbindungen und - <devicename>/dev/ttyd2</devicename> für Geräte mit - eingehenden Verbindungen. Was ist der Unterschied - zwischen den beiden Geräteklassen?</para> - - <para>Sie benutzen - <devicename>ttyd<replaceable>X</replaceable></devicename> - für eingehende Verbindungen. Wird - <devicename>/dev/ttyd<replaceable>X</replaceable></devicename> - im blockierenden Modus geöffnet, wartet ein - Prozess darauf, dass das entsprechende - <devicename>cuad<replaceable>X</replaceable></devicename> - Gerät inaktiv und der Empfangssignalpegel - - <footnote> - <para>Mit <quote>Empfangssignalpegel</quote> oder - <quote>Trägersignalerkennung</quote> wird hier - die <foreignphrase>carrier detect</foreignphrase> - Leitung bezeichnet.</para> - </footnote> - - aktiv ist. Wird das - <devicename>cuad<replaceable>X</replaceable></devicename> - Gerät geöffnet, vergewissert es sich, dass - die serielle Schnittstelle nicht bereits von dem - <filename>ttyd<replaceable>X</replaceable></filename> - Gerät in Gebrauch ist. Sollte die Schnittstelle - verfügbar sein, <quote>stiehlt</quote> es sie von dem - <devicename>ttyd<replaceable>X</replaceable></devicename> - Gerät. Das - <devicename>cuad<replaceable>X</replaceable></devicename> - Gerät kümmert sich nicht um - Trägersignalerkennung. Mit diesem Schema und einem - automatisch antwortenden Modem, können sich Benutzer - von aussen einloggen, Sie können weiterhin mit - demselben Modem wählen und das System kümmert - sich um die Konflikte.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="enable-multiport-serial"> - <para>Wie kann ich die Unterstützung für eine - Karte mit mehreren seriellen Schnittstellen - aktivieren?</para> - </question> - - <answer> - <para>Die Sektion über die Kernelkonfiguration bietet - Informationen darüber, wie Sie Ihren Kernel - konfigurieren. Für eine Karte mit mehreren seriellen - Schnittstellen, schreiben Sie eine &man.sio.4; Zeile - für jede serielle Schnittstelle auf der Karte in die Datei - &man.device.hints.5;. Aber achten Sie darauf, den - IRQ nur in einem der Einträ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:</para> - - <programlisting>options COM_MULTIPORT</programlisting> - - <para>Das folgende <filename>/boot/device.hints</filename> Beispiel - ist geeignet für eine AST Karte mit 4 seriellen - Schnittstellen, die IRQ 12 benutzt:</para> - - <programlisting>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"</programlisting> - - <para>Die Flags zeigen an, dass die Master-Schnittstelle die - Minor-Nummer <literal>7</literal> (<literal>0x700</literal>) hat - und dass sich alle Schnittstellen einen IRQ teilen - (<literal>0x001</literal>).</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="multiport-serial-share-irq"> - <para>Kann &os; mehrere Karten mit mehreren seriellen - Schnittstellen mit den gleichen IRQs verwalten?</para> - </question> - - <answer> - <para>Noch nicht. Sie müssen für jede Karte einen - anderen IRQ verwenden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="default-serial-params"> - <para>Kann ich die vorgegebenen seriellen Parameter für - eine Schnittstelle einstellen?</para> - </question> - - <answer> - <para>Lesen Sie den Abschnitt <ulink - url="&url.books.handbook;/serial.html#SERIAL-HW-CONFIG">Serielle - Datenübertragung</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="enable-dialup"> - <para>Wie kann ich Einwahl-Logins über mein Modem - aktivieren?</para> - </question> - - <answer> - <para>Lesen Sie dazu bitte den Abschnitt über <ulink - url="&url.books.handbook;/dialup.html">Einwählverbindungen</ulink> - im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="dumb-terminal"> - <para>Wie kann ich ein Hardware-Terminal mit meiner &os; Box - verbinden?</para> - </question> - - <answer> - <para>Diese Information können Sie im Abschnitt <ulink - url="&url.books.handbook;/term.html">Terminals</ulink> im &os; - Handbuch finden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cannot-tip"> - <para>Warum kann ich <command>tip</command> oder - <command>cu</command> nicht laufen lassen?</para> - </question> - - <answer> - <para>Auf Ihrem System können die Programme - &man.tip.1; und &man.cu.1; auf das Verzeichnis <filename - class="directory">/var/spool/lock</filename> nur über den - Benutzer <username>uucp</username> und die Gruppe - <groupname>dialer</groupname> zugreifen. Sie - können die Gruppe <groupname>dialer</groupname> - verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem - oder entfernte Systeme hat. Fügen Sie sich einfach - selbst zur Gruppe <groupname>dialer</groupname> - hinzu.</para> - - <para>Als Alternative können Sie jeden Benutzer auf - Ihrem System &man.tip.1; und &man.cu.1; verwenden lassen, - dazu müssen Sie das folgende eingeben:</para> - - <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput> -&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question id="hayes-unsupported"> - <para>Mein Hayes Modem wird nicht unterstützt – was - kann ich tun?</para> - </question> - - <answer> - <para>Lesen Sie <ulink - url="&url.books.handbook;/dialout.html#HAYES-UNSUPPORTED">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="direct-at"> - <para>Wie soll ich die AT Befehle eingeben?</para> - </question> - - <answer> - <para>Im &os; Handbuch finden Sie dazu <ulink - url="&url.books.handbook;/dialout.html#DIRECT-AT">diese - Antwort</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="gt-failure"> - <para>Wieso funktioniert das <literal>@</literal> - Zeichen für die <literal>pn</literal> Fähigkeit - nicht?</para> - </question> - - <answer> - <para>Lesen Sie dazu <ulink - url="&url.books.handbook;/dialout.html#GT-FAILURE">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="dial-command-line"> - <para>Wie kann ich von der Kommandozeile eine Telefonnummer - wählen?</para> - </question> - - <answer> - <para>Lesen Sie <ulink - url="&url.books.handbook;/dialout.html#DIAL-COMMAND-LINE">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="set-bps"> - <para>Muss ich dabei jedes Mal die bps Rate - angeben?</para> - </question> - - <answer> - <para>Im &os; Handbuch finden Sie dazu <ulink - url="&url.books.handbook;/dialout.html#SET-BPS">diese - Antwort</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="terminal-server"> - <para>Wie kann ich möglichst komfortabel über - einen Terminal-Server auf verschiedene Rechner - zugreifen?</para> - </question> - - <answer> - <para>Lesen Sie im &os; Handbuch <ulink - url="&url.books.handbook;/dialout.html#TERMINAL-SERVER">diese - Antwort</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="tip-multiline"> - <para>Kann tip mehr als eine Verbindung für jede Seite - ausprobieren?</para> - </question> - - <answer> - <para>Lesen Sie <ulink - url="&url.books.handbook;/dialout.html#TIP-MULTILINE">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="multi-controlp"> - <para>Warum muss ich zweimal <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> - tippen, um ein <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> - zu senden?</para> - </question> - - <answer> - <para>Im &os; Handbuch finden Sie dazu <ulink - url="&url.books.handbook;/dialout.html#MULTI-CONTROLP">diese - Antwort</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="uppercase"> - <para>Warum ist auf einmal alles was ich schreibe in - GROSSBUCHSTABEN??</para> - </question> - - <answer> - <para>Lesen Sie im &os; Handbuch <ulink - url="&url.books.handbook;/dialout.html#UPPERCASE">diese - Antwort</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="tip-filetransfer"> - <para>Wie kann ich Dateien mit <command>tip</command> - übertragen?</para> - </question> - - <answer> - <para>Lesen Sie <ulink - url="&url.books.handbook;/dialout.html#TIP-FILETRANSFER">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="zmodem-tip"> - <para>Wie kann ich zmodem mit <command>tip</command> - laufen lassen?</para> - </question> - - <answer> - <para>Sie finden dazu <ulink - url="&url.books.handbook;/dialout.html#ZMODEM-TIP">diese - Antwort</ulink> im &os; Handbuch.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="misc"> - <title>Verschiedene Fragen</title> - - <qandaset> - <qandaentry> - <question id="more-swap"> - <para>&os; benutzt viel mehr Swap-Speicher als &linux;. - Warum?</para> - </question> - - <answer> - <para>Es sieht nur so aus, als ob &os; mehr Swap benutzt, - als &linux;. Tatsächlich ist dies nicht der Fall. In - dieser Hinsicht besteht der Hauptunterschied zwischen - &os; und &linux; darin, dass &os; vorbeugend - vollkommen untätige, unbenutzte Seiten aus dem - Hauptspeicher in den Swap-Bereich auslagert, um mehr - Hauptspeicher für die aktive Nutzung zur - Verfügung zu stellen. &linux; tendiert dazu, nur als - letzten Ausweg Seiten in den Swap-Bereich auszulagern. - Die spürbar höhere Nutzung des Swap-Speichers - wird durch die effizientere Nutzung des Hauptspeichers - wieder ausgeglichen.</para> - - <para>Beachten Sie, dass &os; in dieser Hinsicht - zwar vorbeugend arbeitet, es entscheidet jedoch nicht - willkürlich, Seiten auszulagern, wenn das System - vollkommen untä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.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="top-freemem"> - <para>Warum zeigt mir &man.top.1; so wenig freien Speicher - an, obwohl nur wenige Programme laufen?</para> - </question> - - <answer> - <para>Die Antwort ist ganz einfach: Freier Speicher ist - verschwendeter Speicher. Der &os; Kernel verwendet den - von den Programmen nicht genutzten Speicher automatisch - für den Plattencache. Die in &man.top.1; für - <literal>Inact</literal>, <literal>Cache</literal> und - <literal>Buf</literal> gemeldeten Werte stehen alle - fü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 erhöht sich die Performance. Ganz generell - ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen - Wert bei <literal>Free</literal> anzeigt, solange der Wert - nicht <emphasis>extrem</emphasis> klein ist.</para> - - <para>Anmerkung des Übersetzers: Mit <quote>extrem - klein</quote> sind hier Werte unterhalb 512 KByte - gemeint.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="chmod-symlinks"> - <para>Warum ändert <command>chmod</command> die - Zugriffsrechte auf symbolische Links nicht?</para> - </question> - - <answer> - <para>Für symbolische Links gibt es keine separaten - Zugriffsrechte und standardmäßig folgt - &man.chmod.1; dem Link, wenn möglich; die Zugriffsrechte - für die Datei, auf die der symbolische Link zeigt, werden also - verändert. Wenn Sie eine Datei mit dem Namen - <filename>foo</filename> und einen auf diese Datei - zeigenden symbolischen Link mit dem Namen - <filename>bar</filename> haben, wird das folgende Kommando - niemals einen Fehler melden.</para> - - <screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen> - - <para>Trotzdem werden die Zugriffsrechte für - <filename>bar</filename> nicht geändert.</para> - - <para>Wenn Sie die Zugriffsrechte in der Dateihierarchie an der - Wurzeldatei anstatt der Datei selbst ändern möchten, - müssen Sie entweder <option>-H</option> oder - <option>-L</option> zusammen mit der Option - <option>-R</option> benutzen. Weitere Informationen - finden Sie in den Manualpages &man.chmod.1; und - &man.symlink.7;.</para> - - <warning> - <para>Die Option <option>-R</option> bewirkt ein - <emphasis>rekursives</emphasis> &man.chmod.1;. - Seien Sie vorsichtig, wenn Sie bei - &man.chmod.1; Verzeichnisse oder symbolische - Links zu Verzeichnissen angeben. Wenn Sie die - Zugriffsrechte eines Verzeichnisses ändern - möchten, das durch einen symbolischen Link - referenziert wird, benutzen Sie &man.chmod.1; - ohne irgendwelche Optionen und folgen dem symbolischen - Link durch einen abschließenden Schrägstrich - (<filename class="directory">/</filename>). Falls z.B. - <filename>foo</filename> ein symbolischer Link zum - Verzeichnis <filename class="directory">bar</filename> ist und - Sie die Zugriffsrechte von <filename>foo</filename> - (tatsächlich <filename class="directory">bar</filename>) - ändern möchten, dann benutzen Sie etwas ähnliches - wie:</para> - - <screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen> - - <para>Durch den abschließenden Schrägstrich folgt - &man.chmod.1; dem symbolischen Link - <filename>foo</filename>, um die Zugriffsrechte für - das Verzeichnis <filename class="directory">bar</filename> zu - ändern.</para> - </warning> - </answer> - </qandaentry> - - <qandaentry> - <question id="dos-binaries"> - <para>Kann ich DOS-Programme unter &os; ausführen?</para> - </question> - - <answer> - <para>Ja. Sie können - <filename role="package">emulators/doscmd</filename> - verwenden, das über die Ports-Sammlung verfügbar - ist.</para> - - <para>Falls <application>doscmd</application> nicht ausreicht, - können Sie den Port - <filename role="package">emulators/pcemu</filename> - verwenden, der einen 8088 und genug BIOS-Funktionen emuliert, - um DOS-Textanwendungen laufen zu lassen. Der Port - benötigt das X-Window-System.</para> - - <para>Sie können auch <filename - role="package">emulators/dosbox</filename> aus der &os; Ports - Sammlung ausprobieren. Der Hauptaugenmerk liegt bei dieser - Anwendung auf der Emulation alter DOS Spiele, deren Dateien sich im - lokalen Dateisystem befinden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="translation"> - <para>Was muss ich tun, um die &os;-Dokumentation in - meine Muttersprache zu übersetzen?</para> - </question> - - <answer> - <para>Informationen zu diesem Thema finden Sie auf der Webseite des - <ulink - url="https://doc.bsdgroup.de/index.html">&os; German - Documentation Project</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="freebsd-mail-bounces"> - <para>Warum kommen alle meine Mails, die ich an <hostid - role="domainname">@FreeBSD.org</hostid> schicke, wieder - zurück?</para> - </question> - - <answer> - <para>Das Mailsystem von <hostid - role="domainname">FreeBSD.org</hostid> verwendet einige der - strengeren Überprüfungen von - <application>Postfix</application> für eingehende Mails. - Mails, bei denen es Anzeichen für Konfigurationsprobleme - oder Spam gibt, werden nicht akzeptiert. Dies kann aus einem - der folgenden Gründe geschehen:</para> - - <itemizedlist> - <listitem> - <para>Die Mail kommt von einem System oder Netzwerk, - dass für Spam-Aktivitäten bekannt - ist.</para> - - <para>Die Mailserver von &os; 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.</para> - </listitem> - - <listitem> - <para>Der Mailtext enthält HTML.</para> - - <para>Mail sollte immer im Klartext gesendet werden, Sie - sollten ihr Mailprogramm entsprechend - einstellen.</para> - </listitem> - - <listitem> - <para>Das Mailsystem kann die IP-Adresse des - einliefernden Systems nicht in einen symbolischen - Namen umwandeln.</para> - - <para>Funktionierendes reverse DNS ist eine - Vorbedingung, damit ihre Mails angenommen wird. - Sorgen Sie dafür, dass der reverse DNS - für Ihren Mailserver korrekt konfiguriert wird. - Viele Anbieter für Privatkunden geben Ihnen diese - Möglichkeit nicht. In diesem Fall sollten Sie - Ihre Mails über den Mailserver Ihres Providers - versenden.</para> - </listitem> - - <listitem> - <para>Der Rechnername, der im EHLO/HELO Teil der SMTP - Kommunikation übergeben wird, kann nicht zu einer - IP-Adresse aufgelöst werden.</para> - - <para>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.</para> - </listitem> - - <listitem> - <para>Die Message-ID Ihrer Mail endet in - <literal>localhost</literal>.</para> - - <para>Einige Mail-Clients generieren eine Message-ID, die - nicht akzeptiert wird. Sie müssen Ihren Mail-Client - so konfigurieren, dass er eine gültige Message-ID - generiert. Alternativ können Sie die Message-ID von - Ihrem Mailserver umschreiben lassen.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question id="free-account"> - <para>Wo kann ich einen freien &os;-Account bekommen?</para> - </question> - - <answer> - <para>Das &os; Project bietet zwar keinen freien Zugang - zu seinen Servern an; andere Firmen bieten jedoch frei - zugängliche &unix; Systeme. Die Kosten variieren und - es kann sein, dass nicht alle Dienste zur - Verfügung stehen.</para> - - <para><ulink url="http://www.arbornet.org/">Arbornet, Inc</ulink>, - auch als <emphasis>M-Net</emphasis> bekannt, bietet seit 1983 - uneingeschränkten Zugang zu &unix; Systemen. - Zunä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 - &os;. <emphasis>M-Net</emphasis> bietet Zugang mit - <application>Telnet</application> und - <application>SSH</application> - und den Zugang zur gesamten Software von &os;. Allerdings ist - der Zugriff auf das Netzwerk auf Mitglieder und - Gönner beschränkt, die eine Spende an die - nicht-kommerzielle Organisation geleistet haben. - <emphasis>M-Net</emphasis> stellt zusätzlich ein - Mailbox-System und einen interaktiven Chat zur - Verfügung.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="sup-define"> - <para>Was ist <command>sup</command> und wie benutze ich - es?</para> - </question> - - <answer> - <para>Der Name <ulink - url="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</ulink> steht - fü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.</para> - - <para>SUP ist nicht sehr bandbreitenfreundlich und wurde - abgelöst. Die derzeit empfohlene Methode, um Ihren - Quellcode auf dem neuesten Stand zu halten ist <ulink - url="&url.books.handbook;/synching.html#CVSUP"> - CVSup</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="daemon-name"> - <para>Wie heißt das niedliche rote Kerlchen?</para> - </question> - - <answer> - <para>Er ist namenlos, es ist einfach der <quote>der BSD - Daemon</quote>. Wenn Sie ihm unbedingt einen Namen geben - wollen, rufen Sie ihn <quote>beastie</quote>. Beachten - Sie aber, dass <quote>beastie</quote> wie - <quote>BSD</quote> ausgesprochen wird.</para> - - <para>Weitere Informationen über den BSD daemon finden - Sie auf <ulink - url="http://www.mckusick.com/beastie/index.html">seiner - Homepage</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="use-beastie"> - <para>Kann ich Bilder des BSD Daemon verwenden?</para> - </question> - - <answer> - <para>Eventuell. Der BSD Daemon unterliegt dem Copyright - von Marshall Kirk McKusick. Wenn Sie genaue Informationen - über die Einschränkungen bei der Nutzung - brauchen, sollten Sie sein <ulink - url="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement - on the Use of the BSD Daemon Figure</ulink> lesen.</para> - - <para>Kurz gesagt, können Sie den BSD Daemon benutzen, - solange es für einen privaten Zweck ist und die - Nutzung geschmackvoll bleibt. Für den kommerziellen - Einsatz brauchen Sie die Zustimmung von &a.mckusick;. - Weitere Informationen erhalten Sie auf der Webseite <ulink - url="http://www.mckusick.com/beastie/index.html">BSD - Daemon's home page</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="daemon-images"> - <para>Woher kann ich Bilder des BSD Daemon bekommen?</para> - </question> - - <answer> - <para>Einige Bilder in den Format xfig und eps sind unter <filename - class="directory">/usr/share/examples/BSD_daemon/</filename> zu - finden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="glossary"> - <para>Ich habe in den Mailinglisten eine Abkürzung oder - einen Begriff gesehen, den ich nicht kenne. Wo erhalte - ich eine Erklärung dazu?</para> - </question> - - <answer> - <para>Sehen Sie bitte im <ulink - url="&url.books.handbook;/freebsd-glossary.html"> - &os;-Glossar</ulink> nach.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="bikeshed-painting"> - <para>Warum sollte mich die Farbe des Fahrradschuppens - interessieren?</para> - </question> - - <answer> - <para>Die ganz, ganz kurze Antwort ist: Überhaupt nicht. - Die etwas längere Antwort lautet: Nur weil Sie in der - Lage sind, einen Fahrradschuppen zu bauen, müssen Sie - noch lange nicht andere davon abhalten, nur weil Ihnen die - Farbe nicht gefällt. Dies ist natürlich eine - Metapher dafür, dass Sie nicht eine Diskussion über - jede kleine Änderung beginnen sollen, nur weil Sie - das können. Einige Leute behaupten sogar, dass - die Anzahl der (nutzlosen) Kommentare über eine - Änderung umgekehrt proportional zur - Komplexität der Änderung ist.</para> - - <para>Die noch längere und vollständigere Antwort - ist, dass &a.phk; nach einen langen Diskussion - über das Thema "Soll &man.sleep.1; Sekundenbruchteile - als Parameter akzeptieren?" eine lange Mail mit dem Titel - <quote><ulink - url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers">A - bike shed (any colour will do) on greener - grass...</ulink></quote> schrieb. Die einschlägigen - Teile der Nachricht lauteten:</para> - - <blockquote> - <attribution>&a.phk; in &a.hackers.name;, - 2.10.1999</attribution> - - <para>Einige von Euch haben mich gefragt, <quote>Was - meinst Du mit dem Fahrradschuppen?</quote></para> - - <para>Es ist eine lange oder eigentlich eher eine sehr - alte und doch sehr kurze Geschichte. C. Northcote - Parkinson schrieb in den frühen Sechzigern ein Buch - mit dem Namen <quote>Parkinson's Law</quote>, das viele - Einblick in die Beziehungen innerhalb des Managements - gibt.</para> - - <para><emphasis>[ein paar Kommentare zum Buch - gestrichen]</emphasis></para> - - <para>In dem Beispiel mit dem Fahrradschuppen ist die - andere wichtige Komponente ein Kernkraftwerk. Ich - glaube, dass zeigt schon, wie alt dieses Buch - ist.</para> - - <para>Parkinson zeigte, dass man zum Vorstand gehen - kann und die Genehmigung für ein mehrere Millionen - oder sogar Milliarden Dollar teures Kernkraftwerk - bekommt; wenn man aber einen Fahrradschuppen bauen will, - wird man in endlose Diskussionen verwickelt.</para> - - <para>Laut Parkinson liegt das daran, dass ein - Kernkraftwerk so groß, 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 geprü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.</para> - - <para>Ein Fahrradschuppen ist was anderes. Jeder kann an - seinem freien Wochenende einen bauen und hat trotzdem - noch genug Zeit für die Sportschau. Daher ist es - unwichtig, wie gut man sich vorbereitet und wie sinnvoll - der eigene Vorschlag ist. Irgend jemand wird die - Möglichkeit nutzen und zeigen, dass er seine - Arbeit tut, dass er aufmerksam ist, dass er - <emphasis>da ist</emphasis>.</para> - - <para>In Dänemark nennen wir dieses Verhalten - <quote>Seine Fingerabdrücke hinterlassen</quote>. - Es geht um persönlichen Stolz und Prestige; die - Chance, auf irgend etwas zu zeigen und zu sagen zu - können: <quote>Da! Das habe - <emphasis>Ich</emphasis> getan.</quote> Politiker leiden - sehr stark darunter, aber viele Leute verhalten sich so, - wenn sie die Chance haben. Denkt einfach mal an - Fußabdrücke in feuchtem Zement.</para> - </blockquote> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="funnies"> - <title>Nicht ganz ernstgemeinte Fragen</title> - - <qandaset> - <qandaentry> - <question id="very-very-cool"> - <para>Wie cool ist &os;?</para> - </question> - - <answer> - <para>Q. Hat irgend jemand Temperaturmessungen - durchgeführt, während &os; läuft? Ich - weiss, dass &linux; cooler läuft, als DOS, habe - aber niemals gesehen, dass &os; erwähnt - wurde. Es scheint sehr heiß zu laufen.</para> - - <para>A. Nein, aber wir haben zahlreiche Geschmackstests mit - verblendeten Freiwilligen durchgeführt, denen - außerdem zuvor 250 Mikrogramm LSD-25 verabreicht - wurden. 35% der Freiwilligen sagte, dass &os; - nach Orange schmeckte, &linux; hingegen schmecke wie - <quote>purple haze</quote> (Anm. d. Übersetzers: Song - von Jimmy Hendrix und LSD-Marke). Keine der Gruppen hat - besondere Abweichungen der Temperatur erwähnt. - Eventuell hätten wir sämtliche Ergebnisse dieser - Untersuchung fortwerfen sollen, als wir festgestellt - haben, dass zu viele der Freiwilligen den Raum - während der Tests verlassen haben und dadurch die - Ergebnisse verfälscht haben. Wir glauben, dass - die meisten der Freiwilligen nun bei Apple sind und an - ihrer neuen <quote>scratch and sniff</quote> - Oberfläche arbeiten. Es ist ein lustiges, altes - Geschäft, in dem wir uns befinden!</para> - - <para>Ernsthaft, &os; und &linux; benutzen beide die - Instruktion <acronym>HLT</acronym> (halt), wenn das System - untätig ist, wodurch der Energieverbrauch und dadurch - die produzierte Wärme reduziert wird. Falls Sie auch - noch APM (Advanced Power Management) konfiguriert haben, - kann &os; Ihre CPU auch in einen Low-Power-Modus bringen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="letmeoutofhere"> - <para>Wer kratzt in meinen Speicherbänken??</para> - </question> - - <answer> - <para>Q. Gibt es irgend etwas <quote>seltsames</quote>, das - &os; tut, wenn ich den Kernel kompiliere, das dazu - führt, dass der Speicher ein kratzendes - Geräusch macht? Bei der Kompilierung (und auch - für einen kurzen Moment nach der Erkennung des - Floppy-Laufwerks beim Hochfahren), kommt ein seltsames - kratzendes Geräusch von etwas das die - Speicherbänke zu sein scheinen.</para> - - <para>A. Ja! In der BSD-Dokumentation finden Sie - häufige Verweise auf <quote>Daemons</quote> und was - die meisten Leute nicht wissen, ist, dass diese sich - auf echte, nicht-körperlichen Wesen beziehen, die - Besitz von Ihrem Computer ergriffen haben. Das kratzende - Geräusch, das von Ihrem Speicher kommt, ist in - Wirklichkeit hochtöniges Flüstern, das unter den - Daemons ausgetauscht wird, während Sie entscheiden, - wie Sie die verschiedenen Systemadministrationsaufgaben, - am besten erledigen.</para> - - <para>Wenn Sie das Geräusch stört, wird ein - <command>fdisk /mbr</command> sie vertreiben, aber wundern - Sie sich nicht, wenn sie feindlich reagieren und - versuchen, Sie aufzuhalten. Wenn Sie während der - Ausführung zu irgendeinem Zeitpunkt die teuflische - Stimme von Bill Gates aus dem eingebauten Lautsprecher - kommen hören, laufen Sie weg und sehen Sie sich auf - keinen Fall um! Befreit von dem ausgleichenden - Einfluss der BSD Dämonen sind die beiden - Dämonen von DOS und &windows; oft dazu in der Lage, die - totale Kontrolle über Ihre Maschine für die - ewige Verdammung Ihrer Seele zurückzuerlangen. Da - Sie jetzt die Wahrheit kennen, würden Sie es - vorziehen, sich an die Geräusche zu gewöhnen, - wenn Sie die Wahl hätten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="changing-lightbulbs"> - <para>Wie viele &os;-Hacker braucht man, um eine - Glühbirne auszuwechseln?</para> - </question> - - <answer> - <para>Eintausendeinhundertundneunundsechzig:</para> - - <para>Dreiundzwanzig, die sich bei -CURRENT beschweren, - dass das Licht aus ist;</para> - - <para>Vier, die behaupten, dass es sich um ein - Konfigurationsproblem handelt und dass solche Dinge - wirklich nach -questions gehören;</para> - - <para>Drei, die PRs hierzu einreichen, einer von ihnen wird - falsch unter DOC abgelegt und fristet sein Dasein im - Dunkeln;</para> - - <para>Einen, der eine ungetestete Glühbirne einreicht, - wonach buildworld nicht mehr funktioniert, und sie dann - fünf Minuten später wieder herausnimmt;</para> - - <para>Acht, die die PR-Erzeuger beschimpfen, weil sie zu - ihren PRs keine Patche hinzugefügt haben;</para> - - <para>Fünf, die sich darüber beschweren, dass - buildworld nicht mehr funktioniert;</para> - - <para>Einunddreißig, die antworten, dass es bei - ihnen funktioniert und dass sie cvsup wohl zu einigem - ungünstigen Zeitpunkt durchgeführt - haben;</para> - - <para>Einen, der einen Patch für eine neue - Glühbirne an -hackers schickt;</para> - - <para>Einen, der sich beschwert, dass es vor drei - Jahren Patches hierfü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 Glühbirne nicht - reflexiv;</para> - - <para>Siebenunddreißig, die schreien, dass - Glühbirnen nicht in das Basissystem gehören, - dass Committer nicht das Recht haben, solche Dinge - durchzuführen, ohne die Gemeinschaft zu konsultieren - und WAS GEDENKT -CORE HIER ZU TUN!?</para> - - <para>Zweihundert, die sich über die Farbe des - Fahrradschuppens beschweren;</para> - - <para>Drei, die darauf hinweisen, dass der Patch nicht - mit &man.style.9; übereinstimmt;</para> - - <para>Siebzehn, die sich beschweren, dass die - vorgeschlagene neue Glühbirne der GPL - unterliegt;</para> - - <para>Fünfhundertundsechsundachtzig, die sich in einen - Streit über die vergleichbaren Vorteile der GPL, der - BSD-Lizenz, der MIT-Lizenz, der NPL und der - persönlichen Hygiene nichtgenannter FSF-Gründer - verwickeln;</para> - - <para>Sieben, die unterschiedliche Teile des Threads nach - -chat und -advocacy weiterleiten;</para> - - <para>Einer, der die vorgeschlagene Glühbirne einbaut, - obwohl sie dunkler leuchtet, als die alte;</para> - - <para>Zwei, die sie wieder ausbauen, und in einer - wütenden Nachricht argumentieren, dass &os; - besser ganz im Dunkeln dasteht, als mit einer - dämmerigen Glühbirne;</para> - - <para>Sechsundvierzig, die sich lärmend wegen des - Wiederausbaus der dämmerigen Glühbirne streiten - und eine Erklärung von -core verlangen;</para> - - <para>Elf, die eine kleinere Glühbirne beantragen, - damit sie in ihr Tamagotchi passt, falls wir - irgendwann beschließen, &os; auf diese Plattform - zu portieren;</para> - - <para>Dreiundsiebzig, die sich über die SNR auf - -hackers und -chat beschweren und aus Protest - abmelden;</para> - - <para>Dreizehn, die <quote>unsubscribe</quote>, - <quote>How do I unsubscribe?</quote> - oder <quote>Please remove me from the list</quote> gefolgt - von der üblichen Fußzeile abschicken;</para> - - <para>Einen, der eine funktionierende Glühbirne - einbaut, während alle zu beschäftigt damit sind, - mit jedem zu streiten, um es zu bemerken;</para> - - <para>Einunddreißig, die herausstellen, dass die - neue Glühbirne 0,364% heller leuchten würde, - wenn sie mit TenDRA kompiliert werden würde (obwohl - sie in einen Würfel umgeformt werden - müsste) und dass &os; deshalb nach - TenDRA, anstatt nach GCC wechseln sollte;</para> - - <para>Einen, der sich beschwert, dass bei der neuen - Glühbirne die Verkleidung fehlt;</para> - - <para>Neun (einschließlich der PR-Ersteller), die - fragen <quote>Was ist MFC?</quote></para> - - <para>Siebenundfünfzig, die sich zwei Wochen, nachdem - die Birne gewechselt worden ist, darüber beschweren, - dass das Licht aus war.</para> - - <para><emphasis>&a.nik; hat - hinzugefügt:</emphasis></para> - - <para><emphasis>Ich habe ziemlich hierüber - gelacht.</emphasis></para> - - <para><emphasis>Und dann dachte ich: "Halt, sollte in dieser - Liste nicht irgendwo 'Einer, der es dokumentiert' - sein?"</emphasis></para> - - <para><emphasis>Und dann wurde ich erleuchtet - :-)</emphasis></para> - - <para><emphasis>&a.tabthorpe;</emphasis> sagt: <quote>Keine, - <emphasis>echte</emphasis> &os; Hacker fürchten sich nicht - vor der Dunkelheit!</quote></para> - </answer> - </qandaentry> - - <qandaentry> - <question id="dev-null"> - <para>Was passiert mit den Daten, die nach - <filename>/dev/null</filename> geschrieben werden?</para> - </question> - - <answer> - <para>Sie werden in einer speziellen Datensenke der CPU in - Wärme umgewandelt, die dann über den - Kühlkörper und den Lüfter abgeführt - wird. Dies ist einer der Gründe für die - Kühlung von CPUs; die Anwender gewöhnen sich an - die schnelleren Prozessoren, gehen nicht mehr so - sorgfältig mit Ihren Daten um und so landen immer - mehr Daten in <filename>/dev/null</filename>, was zur - Überhitzung der CPU führt. Wenn Sie - <filename>/dev/null</filename> löschen (was die - Datensenke ziemlich sicher abschaltet), wird Ihre CPU zwar - nicht mehr so heiß, dafür wird Ihr System aber - sehr schnell von den überzähligen Daten - überladen und merkwürdige Effekte zeigen. Wenn - Sie eine sehr schnell Netzwerkverbindung haben, - können Sie Ihre CPU kühlen, indem sie Daten aus - <filename>/dev/random</filename> lesen und in die Weite - des Netzwerkes schicken; allerdings besteht hier die - Gefahr der Überhitzung von Netzwerk und <filename - class="directory">/</filename>. Außerdem dürfte Ihr - ISP ziemlich wütend werden, da der größte - Teil der Daten von seinen Geräten in Hitze - umgewandelt werden wird; da ISPs aber über - Klimaanlagen verfügen, sollte das kein großes - Problem sein, solange Sie es nicht übertreiben.</para> - - <para><emphasis>Nachtrag Paul Robinson:</emphasis></para> - - <para>Es gibt andere Mittel und Wege. Wie jeder gute - Systemadministrator weiss, gehört es zum guten - Ton, einigen Daten zum Bildschirm zu senden, damit die - Leuchtkäferchen, die das Bild anzeigen, - glücklich sind. Die Leuchtkäferchen werden nach - der Farbe Ihrer Hüte (Rot, Grün, oder Blau) - unterschieden und sie verstecken bzw. zeigen sich (wobei - man die Farbe ihrer Hüte erkennen kann) bei jeder - Nahrungsaufnahme. Grafikkarten wandeln Daten in - Leuchkäfer-Nahrung um und schicken sie dann zu den - Leuchtkäfern - teure Karten erzeugen bessere Nahrung - und sorgen so für besseres Verhalten der - Leuchtkäfer. Diese brauchen allerdings einen - konstanten Stimulus - darum gibt es - Bildschirmschoner.</para> - - <para>Darum lautet mein Vorschlag, die zufälligen Daten - einfach zum Bildschirm zu schicken, damit sie von den - Leuchtkäfern verzehrt werden. Dabei entsteht keine - Hitze, die Leuchtkäfer bleiben glücklich und man - wird seine überflüssigen Daten sehr schnell los, - auch wenn der Bildschirm etwas merkwürdig - aussieht.</para> - - <para>Übrigens: Als Ex-Admin eines großen ISPs, - der so seine Probleme mit der Kühlung seines - Rechenzentrums hatte, kann ich nur davon abraten, - überflüssige Daten einfach in das Netzwerk zu - schicken. Die Heinzelmännchen, die die Pakete - verteilen und versenden, regen sich darüber ganz - furchtbar auf.</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="advanced"> - <title>Weiterführende Themen</title> - - <qandaset> - <qandaentry> - <question id="learn-advanced"> - <para>Wie kann ich mehr über die Interna von &os; - erfahren?</para> - </question> - - <answer> - <para>Zurzeit gibt es nur ein Buch über die Interna von - &os;, <quote>The Design and Implementation of the &os; - Operating System</quote> von Marshall Kirk McKusick und - George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf - &os; 5.<replaceable>X</replaceable> konzentriert.</para> - - <para>Allgemeines Wissen über &unix; kann - allerdings in den meisten Fällen auf &os; - angewendet werden.</para> - - <para>Eine Liste finden Sie im entsprechenden Abschnitt der <ulink - url="&url.books.handbook;/bibliography-osinternals.html"> - Bibliographie</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="how-to-contribute"> - <para>Wie kann ich bei der Entwicklung von &os; mitarbeiten?</para> - </question> - - <answer> - <para>Genauere Informationen finden Sie im Artikel <ulink - url="&url.articles.contributing;/article.html">&os; - unterstützen</ulink>. Wir können Hilfe - immer gut gebrauchen!</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="define-snap-release"> - <para>Was sind Snapshots und RELEASEs?</para> - </question> - - <answer> - <para>Derzeit existieren vier aktive/halbaktive Zweige im - <ulink url="http://www.de.FreeBSD.org/cgi/cvsweb.cgi"> - &os;-CVS-Repository</ulink>. In früheren Zweigen - ändert sich wenig, daher gibt es nur vier - aktive Entwicklungszweige:</para> - - <itemizedlist> - <listitem> - <para>&rel3.releng; bzw. &rel3.stable;</para> - </listitem> - - <listitem> - <para>&rel2.releng; bzw. &rel2.stable;</para> - </listitem> - - <listitem> - <para>&rel.releng; bzw. &rel.stable;</para> - </listitem> - - <listitem> - <para>&rel.head.releng; bzw. - <emphasis>-CURRENT</emphasis> oder - &rel.head;</para> - </listitem> - </itemizedlist> - - <para><literal>HEAD</literal> ist keine wirkliche - Bezeichnung für einen Zweig, wie die anderen. - Es ist lediglich eine symbolische Konstante für - <quote><emphasis>den aktuellen, nicht verzweigten - Entwicklungsstrom</emphasis></quote>, auf den wir uns - einfach als <emphasis>-CURRENT</emphasis> beziehen.</para> - - <para>Derzeit steht <emphasis>-CURRENT</emphasis> für den - &rel.head.relx;-Entwicklungsstrom. Der &rel.stable;-Zweig - (&rel.releng;) wurde von <emphasis>-CURRENT</emphasis> im - &rel.relengdate; und der &rel2.stable;-Zweig (&rel2.releng;) im - &rel2.relengdate; von <emphasis>-CURRENT</emphasis> - abgespalten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="custrel"> - <para>Wie kann ich meine eigene, angepasstes Release - erstellen?</para> - </question> - - <answer> - <para>Eine Anleitung dazu finden Sie im Artikel <ulink - url="&url.articles.releng.en;/article.html"> - &os; Release Engineering</ulink>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="makeworld-clobbers"> - <para>Wieso überschreibt <command>make - <maketarget>world</maketarget></command> - das installierte System?</para> - </question> - - <answer> - <para>Das ist beabsichtigt. Wie der Name schon andeutet, - erstellt <command>make <maketarget>world</maketarget></command> - alle Systemdateien von Grund auf neu. Sie können also sicher - sein, am Ende eine saubere, konsistente Umgebung zu haben (das ist - der Grund, warum es so lange dauert).</para> - - <para>Falls die Umgebungsvariable <envar>DESTDIR</envar> - während der Ausführung von <command>make - <maketarget>world</maketarget></command> oder - <command>make <maketarget>install</maketarget></command> - definiert ist, werden die neu erstellten Binaries unter - <literal>${DESTDIR}</literal> in einem zum - installierten identischen Verzeichnisbaum abgelegt. - Einige zufällige Kombinationen von Änderungen - von Shared Libraries und Neuerstellungen von Programmen - können hierbei jedoch ein Scheitern von <command>make - <maketarget>world</maketarget></command> verursachen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="cvsup-round-robin"> - <para>Warum ist <hostid role="fqdn">cvsup.FreeBSD.org</hostid> - kein Round-Robin-Eintrag im DNS, so dass Anfragen - auf alle <application>CVsup</application>-Server verteilt - werden?</para> - </question> - - <answer> - <para>Die <application>CVsup</application>-Server gleichen sich - stündlich mit dem Hauptserver ab. Allerdings findet der - Abgleich nicht zur gleichen Zeit statt, daher - können einige Server neuere Quellen bereitstellen - als andere Server. Alle Server stellen jedoch - Quellen bereit, die maximal eine Stunde alt sind. - Wäre <hostid role="fqdn">cvsup.FreeBSD.org</hostid> - ein Round-Robin-Eintrag im DNS, der Benutzern einen - zufälligen Server zuteilt, könnten beim - zweiten Lauf von <application>CVsup</application> ältere - Quellen als beim ersten Lauf heruntergeladen werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="ctm"> - <para>Kann ich -CURRENT mit begrenztem Internetzugang - folgen?</para> - </question> - - <answer> - <para>Ja, Sie können das tun, <emphasis>ohne</emphasis> - den gesamten Quellbaum herunterzuladen, indem Sie die - Einrichtung <ulink - url="&url.books.handbook;/synching.html#CTM">CTM</ulink> - benutzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="split-1392k"> - <para>Wie haben Sie die Distribution in 1392 KB-Dateien - aufgespalten?</para> - </question> - - <answer> - <para>Bei neueren BSD-basierten Systemen gibt es eine Option - <option>-b</option> zu &man.split.1;, die das Splitten von - Dateien an willkürlichen Bytegrenzen erlaubt.</para> - - <para>Hier ist ein Beispiel aus - <filename>/usr/src/release/Makefile</filename>.</para> - - <programlisting>ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k -</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question id="submitting-kernel-extensions"> - <para>Ich habe eine Kernelerweiterung geschrieben. An wen - sende ich sie?</para> - </question> - - <answer> - <para>Lesen Sie bitte den Artikel <ulink - url="&url.articles.contributing;/article.html"> - &os; unterstützen</ulink>.</para> - - <para>Und Danke, dass Sie darüber - nachdenken!</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="pnp-initialize"> - <para>Wie werden Plug&Play ISA-Karten erkannt und - initialisiert?</para> - </question> - - <answer> - <para>Von: Frank Durda IV - <email>uhclem@nemesis.lonestar.org</email></para> - - <para>Kurz gesagt gibt es nur wenige I/O-Ports ü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 erhält also ein geodertes - <quote>Ja</quote> auf diese Frage. Mindestens ein Bit - wird bei dieser Antwort gesetzt sein. Die - Erkennungsroutine ist dann in der Lage, dafür zu - sorgen, dass Karten mit Modellnummern (zugeordnet von - µsoft;/&intel;) kleiner als <literal>X</literal> - <quote>off-line</quote> gesetzt werden. Sie prüft dann, ob - immer noch Karten da sind, die auf die Frage antworten. Falls die - Antwort <literal>0</literal> war, sind keine Karten mit IDs - größer <literal>X</literal> vorhanden. Die - Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb - <literal>X</literal> vorhanden sind. Schließlich setzt die - Erkennungsroutine alle Karten größer als - <literal>X - (limit / 4)</literal> off-line - und wiederholt die Frage. Wenn diese - halbbinäre Suche nach IDs in Folge genügend oft - wiederholt worden ist, wird die Erkennungsroutine - schließlich alle in einem Rechner befindlichen - PnP-Karten identifiziert haben und das mit einer - Iterationszahl sehr viel kleiner als - 2<superscript>64</superscript>.</para> - - <para>Die IDs bestehen aus zwei 32-Bit-Feldern (daher - 2<superscript>64</superscript>) + acht Bit Prüfsumme. Die - ersten 32 Bit sind die Herstellerkennung. Es wurde zwar nicht - bestätigt, aber es wird angenommen, dass unterschiedliche - Kartentypen desselben Herstellers unterschiedliche 32-Bit - Herstellerkennungen besitzen können. 32 Bit nur - für eindeutige Hersteller zu benötigen, scheint - etwas übertrieben.</para> - - <para>Die niedrigen 32 Bit sind eine Seriennummer oder etwas - anderes, das die betreffende Karte einzigartig macht. Die - Hersteller dürfen niemals eine zweite Karte mit denselben - niedrigen 32 Bit herstellen, es sei denn, die höheren - 32 Bit sind unterschiedlich. Sie können also mehrere - Karten des selben Typs im Rechner haben und die gesamten - 64 Bit bleiben stets eindeutig.</para> - - <para>Die 32-Bit-Gruppen können niemals nur aus Nullen - bestehen. Das erlaubt es, bei der binären Suche zu - Beginn nur auf von Null verschiedene Bits zu achten.</para> - - <para>Wenn das System alle vorhandenen Karten-IDs - identifiziert hat, reaktiviert es jede Karte - eine nach - der anderen (über dieselben I/O-Ports) und ermittelt, - welche Ressourcen von der jeweiligen Karte benötigt - werden, welche Wahlmöglichkeiten für Interrupts - bestehen usw. Alle Karten werden abgefragt, um diese - Informationen zusammenzustellen.</para> - - <para>Diese Informationen werden dann mit Informationen aus - allen ECU-Dateien auf der Festplatte oder mit im MLB-BIOS - verdrahteten Informationen verknüpft. Die ECU- und - BIOS-PnP-Unterstützung für Hardware auf dem MLB - ist für gewöhnlich künstlich und was die - Peripheriegeräte tun ist nicht wirklich echtes PnP. - Durch die Untersuchung der BIOS-Informationen und der - ECU-Informationen können die Erkennungsroutinen - jedoch die von PnP-Geräten benutzten Ressourcen so - ändern, dass vermieden wird, dass bereits - von anderen Geräten benutzte Ressourcen verwendet - werden.</para> - - <para>Dann werden die PnP-Geräte nochmals besucht und - ihre I/O, DMA, IRQ und Memory-Map-Adressen werden - zugeordnet. Die Geräte werden an diesen Stellen - sichtbar werden und dort bis zum nächsten Reboot - verbleiben. Allerdings hindert Sie auch nichts daran, sie - zu verschieben, wohin Sie wollen.</para> - - <para>Im obigen Teil wurde sehr viel vereinfacht, aber die - grundlegende Idee sollte klar geworden sein.</para> - - <para>µsoft; hat einige der primären - Druckerstatusports für PnP übernommen, da keine - Karte diese Adressen für die entgegengesetzten - I/O-Zyklen decodiert. Ich habe während der - frühen Überprüfungsperiode des - PnP-Vorschlags eine echte IBM Druckerkarte gefunden, die - Schreibzugriffe auf dem Statusport decodiert hat, aber µsoft; - hat nur <quote>tough</quote> gesagt. Also schreiben sie - auf den Druckerstatusport, um Adressen zu setzen, benutzen - zusätzlich diese Adresse + <literal>0x800</literal> - und einen dritten I/O-Port zum Lesen, der irgendwo - zwischen <literal>0x200</literal> und - <literal>0x3ff</literal> liegen kann.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="major-numbers"> - <para>Wie bekomme ich eine Major-Number für einen - Gerätetreiber, den ich geschrieben habe?</para> - </question> - - <answer> - <para>&os; Versionen stellen seit Februar 2003 - Major-Numbers für Geräte automatisch zur Laufzeit - bereit (lesen Sie &man.devfs.5;), damit ist das nicht mehr - nötig.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="alternate-directory-layout"> - <para>Gibt es alternative Layoutverfahren für - Verzeichnisse?</para> - </question> - - <answer> - <para>Als Antwort auf die Frage nach alternativen - Layoutverfahren für Verzeichnisse ist das Schema, das - derzeit benutzt wird, unverändert von dem, das ich - 1983 geschrieben habe. Ich habe das Vorgehen für das - originale Fast-Filesystem geschrieben und es niemals - überarbeitet. Es funktioniert gut, wenn es darum - geht, zu verhindern, dass Zylindergruppen volllaufen. - Wie viele von Ihnen angemerkt haben, funktioniert es - schlecht für find. Die meisten Dateisysteme werden - von Archiven erstellt, die mit einer Tiefensuche (also - ftw) erstellt wurden. Diese Verzeichnisse werden - über die Zylindergruppen hinweg entfaltet und - erzeugen denkbar ungünstigste Voraussetzungen - für zukünftige Tiefensuchen. Falls man die - Gesamtzahl der zu erstellenden Verzeichnisse wüsste, - wäre die Lösung die, - <literal>(gesamt / fs_ncg)</literal> pro - Zylindergruppe zu erstellen, bevor fortgefahren wird. - Offensichtlich müsste man eine Heuristik - erstellen, um die Zahl zu schätzen. Sogar die - Benutzung einer kleinen, fixen Zahl, z.B. 10, würde - eine Verbesserung um Größenordnungen ausmachen. - Um Wiederherstellungen von normalem Betrieb (wo der - derzeitige Algorithmus vermutlich sinnvoller ist) zu - unterscheiden, könnten Sie die Clusterung von bis zu - 10 benutzen, wenn sie alle innerhalb eines - 10-Sekunden-Fensters durchgeführt würden. - Jedenfalls ist mein Schluss, dass dies ein - fruchtbares Gebiet für Experimente ist.</para> - - <para>&a.mckusick;, September 1998</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="kernel-panic-troubleshooting"> - <para>Wie kann ich optimalen Nutzen aus einer kernel panic - ziehen?</para> - </question> - - <answer> - <para>Hier ist eine typische Kernel-Panic</para> - - <programlisting>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</programlisting> - - <para>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 - konfigurationsabhängig. Mit anderen Worten variieren - die Werte abhängig von dem Kernel-Image, das Sie - tatsächlich benutzen. Wenn Sie ein - <filename>GENERIC</filename> Kernelimage von einem der Snapshots benutzen, dann ist es - für jemand anderen möglich, die fehlerhafte - Instruktion herauszufinden, aber wenn Sie einen - angepassten Kernel benutzen, können nur - <emphasis>Sie</emphasis> uns sagen, wo der Fehler - auftrat.</para> - - <para>Was Sie tun sollten, ist folgendes:</para> - - <procedure> - <step> - <para>Notieren Sie sich den Wert des - Instruktionszeigers. Beachten Sie, dass der Teil - <literal>0x8:</literal> am Anfang in diesem Fall nicht - von Bedeutung ist; der Teil - <literal>0xf0xxxxxx</literal> ist der, den wir - wollen.</para> - </step> - - <step> - <para>Tun Sie folgendes, wenn das System - rebootet:</para> - - <screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>/kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxxx</userinput></screen> - - <para>wobei <literal>0xf0xxxxxx</literal> der Wert des - Instruktionszeigers ist. Es besteht die - Mö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.:</para> - - <screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>/kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxx</userinput></screen> - - <para>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 mö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.</para> - </step> - </procedure> - - <para>Wie dem auch sei, der beste Weg, den Grund für eine Panik - herauszufinden, ist der, einen Crash-Dump festzuhalten und - dann &man.kgdb.1; zu benutzen, um den Stack im Crash-Dump - zurückzuverfolgen.</para> - - <para>Jedenfalls ist die Methode, die ich normalerweise - benutze, folgende:</para> - - <procedure> - <step> - <para>Sorgen Sie dafür, dass die folgende Zeile in der - Kernelkonfigurationsdatei - (<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/<replaceable>MYKERNEL</replaceable></filename>) enthalten ist:</para> - <programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting> - </step> - - <step> - <para>Wechseln Sie in das Verzeichnis <filename - class="directory">usr/src</filename>:</para> - <screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src</filename></userinput></screen> - </step> - - <step> - <para>Erstellen Sie den Kernel:</para> - <screen>&prompt.root; <userinput><command>make</command> <maketarget>buildkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - - <step> - <para>Warten Sie, bis &man.make.1; den Kernel fertig kompiliert - hat.</para> - </step> - - <step> - <screen>&prompt.root; <userinput><command>make</command> <maketarget>installkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - - <step> - <para>Starten Sie das System neu.</para> - </step> - </procedure> - - <note> - <para>Falls Sie die make-Variable <makevar>KERNCONF</makevar> - nicht verwenden, wird ein <filename>GENERIC</filename> Kernel - gebaut und installiert.</para> - </note> - - <para>Der &man.make.1;-Prozess wird zwei Kernel - erstellt haben: - <filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel</filename> - und - <filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename>. - <filename>kernel</filename> wurde als - <filename>/boot/kernel</filename> installiert, während - <filename>kernel.debug</filename> als Quelle für - Debuggersymbole für &man.kgdb.1; benutzt werden - kann.</para> - - <para>Um sicherzustellen, dass ein Crash-Dump erhalten - bleibt, müssen Sie - <filename>/etc/rc.config</filename> editieren und - <literal>dumpdev</literal> so setzen, dass es auf - Ihre Swap-Partition zeigt. Das bewirkt, dass die - &man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um - Crash-Dumps zu ermöglichen. Sie können - &man.dumpon.8; auch manuell ausführen. Nach einer - Panik kann der Crash-Dump mit &man.savecore.8; - wiederhergestellt werden; wenn <literal>dumpdev</literal> - in <filename>/etc/rc.conf</filename> gesetzt ist, werden - die &man.rc.8;-Skripte &man.savecore.8; automatisch - ausführen und den Crash-Dump unter <filename - class="directory">/var/crash</filename> ablegen.</para> - - <note> - <para>Crash-Dumps von &os; sind für - gewöhnlich genauso groß wie der physikalische - Hauptspeicher Ihres Rechners. Das heißt, wenn Sie - 512MB RAM haben, werden sie einen 512MB Crash-Dump - erhalten. Deshalb müssen Sie dafür sorgen, dass - genügend Speicherplatz in - <filename>/var/crash</filename> zur Verfügung - steht, um den Dump aufnehmen zu können. Alternativ - führen Sie &man.savecore.8; manuell aus und lassen - es den Crash-Dump in einem anderen Verzeichnis - wiederherstellen, in dem Sie mehr Platz haben. Es ist - möglich, die Größe des Crash-Dumps zu - begrenzen, indem <literal>options - MAXMEM=<replaceable>N</replaceable></literal>, wobei - <replaceable>N</replaceable> die Größe des verwendeten - Kernelspeichers in KBs ist. Wenn Sie z.B. 1 GB RAM haben, - können Sie die Speicherbenutzung des Kernels damit auf - 128 MB begrenzen, so dass die Größe Ihres - Crash-Dumps 128 MB anstatt 1 GB betragen wird.</para> - </note> - - <para>Wenn Sie den Crash-Dump wiederhergestellt haben, - können Sie den Stack mit &man.kgdb.1; so - zurückverfolgen:</para> - - <screen>&prompt.user; <userinput><command>kgdb</command> <filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename> <filename class="directory">/var/crash/<replaceable>vmcore.0</replaceable></filename></userinput> -<prompt>(kgdb)</prompt> <userinput>backtrace</userinput></screen> - - <para>Beachten Sie, dass es mehrere Seiten mit - wertvollen Informationen geben könnte; idealerweise - sollten Sie &man.script.1; benutzen, um sie alle - festzuhalten. Wenn Sie das vollständige Kernelimage - mit allen Debugginginformationen benutzen, - müssten Sie exakt die Zeile des - Kernel-Sourcecodes finden, wo die Panik aufgetreten ist. - Für gewöhnlich müssen Sie den Stack von - unten an zurückverfolgen, um die genaue - Ereignisabfolge, die zum Crash führte, - zurückzuverfolgen. Sie können &man.kgdb.1; auch - zum Ausdrucken der Inhalte verschiedener Variablen oder - Strukturen benutzen, um den Systemstatus zum Zeitpunkt des - Absturzes zu untersuchen.</para> - - <tip> - <para>Wenn Sie nun wirklich verrückt sind und einen - zweiten Computer haben, können Sie &man.kgdb.1; auch - für entferntes Debugging konfigurieren, so dass - Sie &man.kgdb.1; auf einem System benutzen können, um - den Kernel auf einem anderen System zu debuggen, - einschließlich dem Setzen von Haltepunkten und dem - Bewegen in Einzelschritten durch den Kernelcode, genauso, - wie Sie es mit einem normalen Benutzerprogramm tun - können.</para> - </tip> - - <note> - <para>Wenn Sie <literal>DDB</literal> aktiviert haben - und der Kernel im Debugger landet, können Sie eine Panik - (und einen Crash-Dump) erzwingen, indem Sie einfach - <literal>panic</literal> am <literal>ddb</literal>-Prompt - eingeben. Er könnte während der Panikphase - wieder im Debugger stoppen. Falls er das tut, geben Sie - <literal>continue</literal> ein, dann wird er den Crash-Dump - beenden.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question id="dlsym-failure"> - <para>Wieso funktioniert <function>dlsym()</function> nicht mehr - für ELF-Executables?</para> - </question> - - <answer> - <para>Die ELF-Werkzeuge machen die in einem Executable - definierten Symbole dem dynamischen Linker nicht - standardmäßig sichtbar. Konsequenterweise - werden <function>dlsym()</function>-Suchen nach Handlern - aus Aufrufen von <function>dlopen(NULL, flags)</function> - diese Symbole nicht finden können.</para> - - <para>Wenn Sie mit <function>dlsym()</function> nach im - Hauptexecutable eines Prozesses vorhandenen Symbolen - suchen wollen, müssen Sie das Executable mit der - Option <option>--export-dynamic</option> von &man.ld.1; - linken.</para> - </answer> - </qandaentry> - - <qandaentry> - <question id="change-kernel-address-space"> - <para>Wie kann ich den Adressraum des Kernels auf i386 - vergrössern oder verkleinern?</para> - </question> - - <answer> - <para>Standardmäßig beträgt der - Adressraum des Kernels 1 GB (2 GB für PAE) - auf i386. Wenn Sie einen netzwerkintensiven Server - (z.B. einen großen FTP- oder HTTP-Server) betreiben, oder - ZFS verwenden möchten, kann es sein, dass Sie der Meinung - sind, dass das nicht ausreichen.</para> - - <para>Fügen Sie die folgende Zeile zu ihrer - Kernelkonfigurationsdatei hinzu, um den verfügbaren Speicher - zu erhöhen und erstellen Sie dann einen neuen Kernel:</para> - - <programlisting>options KVA_PAGES=<replaceable>N</replaceable></programlisting> - - <para>Um den richtigen Wert von <replaceable>N</replaceable> zu - bestimmen, teilen Sie den gewünschte Größe - des Addressraumes (in Megabyte) durch vier (z.B. beträgt er - <literal>512</literal> für 2 GB).</para> - </answer> - </qandaentry> - </qandaset> - </chapter> - - <chapter id="acknowledgments"> - <title>Danksagung</title> - - <para>Dieses kleine unschuldige Dokument mit Häufig gestellten - Fragen wurde in den letzten 10 Jahren von Hunderten, wenn - nicht Tausenden, geschrieben, neu geschrieben, überarbeitet, - gefaltet, verdreht, durcheinander gebracht, wieder aufgebaut, - verstümmelt, seziert, durchgekaut, überdacht, und - wiederbelebt. Und das nicht nur einmal.</para> - - <para>Wir möchten allen dafür Verantwortlichen danken - und wir fordern auch Sie auf, dieser Gruppe <ulink - url="&url.articles.contributing;/article.html">beizutreten</ulink>, - um diese FAQ noch besser zu machen.</para> - - <para>Folgende Personen haben durch die Beantwortung von Fragen, - sowie durch Hinweise und Kommentare an der Entstehung der - deutschen Übersetzung mitgewirkt:</para> - - <itemizedlist> - <listitem> - <para>Ross Alexander</para> - </listitem> - - <listitem> - <para>&a.jhb;</para> - </listitem> - - <listitem> - <para>&a.nik;</para> - </listitem> - - <listitem> - <para>Glen Foster</para> - </listitem> - - <listitem> - <para>Oliver Fromme</para> - </listitem> - - <listitem> - <para>Frank Gruender</para> - </listitem> - - <listitem> - <para>Chris Hill</para> - </listitem> - - <listitem> - <para>James Howard</para> - </listitem> - - <listitem> - <para>&a.jkh;</para> - </listitem> - - <listitem> - <para>&a.alex;</para> - </listitem> - - <listitem> - <para>&a.jmas;</para> - </listitem> - - <listitem> - <para>Mike Meyer</para> - </listitem> - - <listitem> - <para>Dan O'Connor</para> - </listitem> - - <listitem> - <para>Eric Ogren</para> - </listitem> - - <listitem> - <para>&a.de.pierau;</para> - </listitem> - - <listitem> - <para>Oliver Schneider</para> - </listitem> - - <listitem> - <para>Christoph Sold</para> - </listitem> - </itemizedlist> - - <para>Und an alle anderen, an die wir nicht gedacht haben. - Entschuldigung und herzlichen Dank!</para> - </chapter> - &bibliography; -</book> |