Index: head/de_DE.ISO8859-1/books/faq/book.xml =================================================================== --- head/de_DE.ISO8859-1/books/faq/book.xml (revision 48706) +++ head/de_DE.ISO8859-1/books/faq/book.xml (revision 48707) @@ -1,12117 +1,12117 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ <!ENTITY bibliography SYSTEM "../../share/xml/bibliography.xml"> <!ENTITY rel.head "<emphasis xmlns='http://docbook.org/ns/docbook'>10-CURRENT</emphasis>"> <!ENTITY rel.head.relx "10.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> <!ENTITY rel.head.releng "<symbol xmlns='http://docbook.org/ns/docbook'>HEAD</symbol>"> <!ENTITY rel.head.packages "packages-10-current"> <!ENTITY rel.relx "9.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> <!ENTITY rel.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>9-STABLE</emphasis>"> <!ENTITY rel.releng "<symbol xmlns='http://docbook.org/ns/docbook'>RELENG_9</symbol>"> <!ENTITY rel.relengdate "September 2011"> <!ENTITY rel.packages "packages-9-stable"> <!ENTITY rel2.relx "8.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> <!ENTITY rel2.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>8-STABLE</emphasis>"> <!ENTITY rel2.releng "<symbol xmlns='http://docbook.org/ns/docbook'>RELENG_8</symbol>"> <!ENTITY rel2.relengdate "August 2009"> <!ENTITY rel2.packages "packages-8-stable"> <!ENTITY rel3.current "7.4"> <!ENTITY rel3.relx "7.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> <!ENTITY rel3.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>7-STABLE</emphasis>"> <!ENTITY rel3.releng "<symbol xmlns='http://docbook.org/ns/docbook'>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 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="faq" xml:lang="de"> <info><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> <author><orgname>The &os; German Documentation Project</orgname></author> </authorgroup> <authorgroup> <author><personname><firstname>Robert S. F.</firstname><surname>Drehmel</surname></personname><contrib>�bersetzt von </contrib></author> <author><personname><firstname>Dirk</firstname><surname>Gouders</surname></personname></author> <author><personname><firstname>Udo</firstname><surname>Erdhoff</surname></personname></author> <author><personname><firstname>Johann</firstname><surname>Kois</surname></personname></author> <author><personname><firstname>Benedict</firstname><surname>Reuschling</surname></personname></author> </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 xml: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 <link xlink:href="http://www.FreeBSD.org/">&os; World-Wide-Web-Server</link> verf�gbar. Sie kann aber auch als eine einzige gro�e <link xlink:href="book.html">HTML</link>-Datei, als Textdatei, als &postscript;- oder PDF-Datei sowie in verschiedenen anderen Formaten vom <link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">&os; FTP-Server</link> heruntergeladen werden. Alternativ k�nnen Sie die FAQ auch <link xlink:href="&url.base;/search/search.html"> durchsuchen</link>.</para> </abstract> </info> <chapter xml: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 xml: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 <link xlink:href="&url.base;/de/index.html"> &os; Projects</link>.</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 <link xlink:href="&url.books.handbook;/index.html">&os; Handbuch</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.FreeBSD.org/copyright/COPYING">GNU General Public License (GPL)</link> oder der <link xlink:href="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU Library General Public License (LGPL)</link> 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 <link xlink:href="http://www.FreeBSD.org/copyright/freebsd-license.html">&os; Lizenz</link> unterliegt, zu ersetzen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.FreeBSD.org/copyright/freebsd-license.html"> &os;-Lizenz</link>. 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 xml: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 <link xlink:href="http://www.FreeBSD.org/ports/">Ports-Sammlung</link> 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 <link xlink:href="&url.books.handbook;/index.html">&os; Handbuch</link> sind die besten Startpunkte.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <link xlink:href="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html">The BSD Family Tree</link>, beschreibt sehr gut die Geschichte und die Unterschiede der BSD-Varianten.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;</link> ist das aktuelle Release des &rel.stable;-Zweigs und ist im Januar 2009 <!--&rel.current.date;--> erschienen. Version <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</link> 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 <link xlink:href="http://www.FreeBSD.org/releng/index.html">Release Engineering</link> des &os; Webauftritts.</para> </answer> </qandaentry> <qandaentry> <question xml:id="current"> <para>Was ist <emphasis>&os;-CURRENT</emphasis>?</para> </question> <answer> <para><link xlink:href="&url.books.handbook;/current-stable.html#CURRENT"> &os;-CURRENT</link> 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 <link xlink:href="&url.books.handbook;/current-stable.html#CURRENT"> entsprechenden Abschnitt</link> des <link xlink:href="&url.books.handbook;/index.html">Handbuchs</link>.</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 <link xlink:href="&url.base;/snapshots/">Snapshot</link> 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 <link xlink:href="&url.base;/snapshots/">Snapshots</link>-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 <uri xlink:href="http://snapshots.us.freebsd.org/">http://snapshots.us.freebsd.org/</uri> bereitliegen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/current-stable.html#STABLE">-STABLE</link>, der andere <link xlink:href="&url.books.handbook;/cutting-edge.html#CURRENT">-CURRENT</link> 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><link xlink:href="&url.articles.releng.en;/release-proc.html#REL-BRANCH"> &os; Release Engineering: Creating the Release Branch</link></quote>, der Status der Zweige und der Zeitplan zur anstehenden Ver�ffentlichung kann unter der Seite <link xlink:href="http://www.FreeBSD.org/releng">Release Engineering Information</link> 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 xml: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 <link xlink:href="http://www.FreeBSD.org/releng/index.html">Release Engineering</link> 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 xml: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 <link xlink:href="&url.base;/de/administration.html#t-core">Core Teams</link> von 9 Personen gef�hrt. Es gibt ein weitaus gr��eres Team von �ber 350 <link xlink:href="&url.articles.contributors.en;/article.html#STAFF-COMMITTERS">Committern</link>, 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 xml:id="where-get"> <para>Wie kann ich &os; beziehen?</para> </question> <answer> <para>Jede bedeutende Ausgabe von &os; ist per Anonymous-FTP vom <link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">&os; FTP Server</link> erh�ltlich:</para> <itemizedlist> <listitem> <para>Das aktuelle &rel.stable;-Release, &rel.current;-RELEASE, finden Sie im Verzeichnis <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</link>.</para> </listitem> <listitem> <para><link xlink:href="&url.base;/snapshots/">Snapshots</link>-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 <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE</link>.</para> </listitem> <listitem> <para>Das aktuelle Release von &rel3.stable;, &rel3.current;-RELEASE finden Sie im Verzeichnis <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel3.current;-RELEASE/">&rel3.current;-RELEASE</link>.</para> </listitem> </itemizedlist> <para>Wo und wie Sie &os; auf CD, DVD, und anderen Medien beziehen k�nnen, erfahren Sie im <link xlink:href="&url.books.handbook;/mirrors.html">Handbuch</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.de.FreeBSD.org/cgi/query-pr.cgi?query"> PR-Abfrage</link>-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 <link xlink:href="http://www.freebsd.org/send-pr.html">webbasierte PR-Eingabe</link>-Schnittstelle erstellen.</para> <para>Bevor Sie einen Fehler melden, sollten Sie sich zuerst den Artikel <link xlink:href="&url.articles.problem-reports.en;/article.html">Writing &os; Problem Reports</link> durchlesen, damit Sie wissen, wie Sie eine gute Fehlermeldung verfassen.</para> </answer> </qandaentry> <qandaentry> <question xml:id="other-info-sources"> <para>Gibt es weitere Informationsquellen?</para> </question> <answer> <para>Sie finden eine umfassende Liste unter <link xlink:href="http://www.FreeBSD.org/docs.html">Documentation</link> auf der <link xlink:href="http://www.FreeBSD.org">&os;-Webseite</link>.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="support"> <title>Dokumentation und Support</title> <qandaset> <qandaentry> <question xml: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: <uri xlink:href="http://www.FreeBSD.org/docs.html">http://www.FreeBSD.org/docs.html</uri>. Zus�tzlich enth�lt <link linkend="bibliography">die Bibliographie</link> am Ende dieser FAQ und <link xlink:href="&url.books.handbook;/bibliography.html">diejenige im Handbuch</link> Verweise auf weitere empfohlene B�cher.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</link> 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>/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>type.format</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 <package>archivers/unzip</package> 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 <package>archivers/bzip2</package> 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>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 xml:id="mailing"> <para>Woher bekomme ich Informationen zu den &os; Mailinglisten?</para> </question> <answer> <para>Vollst�ndige Informationen finden Sie im <link xlink:href="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Handbucheintrag �ber Mailinglisten</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="newsgroups"> <para>Welche Newsgruppen existieren zu &os;?</para> </question> <answer> <para>Sie finden alle Informationen hierzu im <link xlink:href="&url.books.handbook;/eresources-news.html">Handbucheintrag zu Newsgruppen</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.efnet.org/index.php">EFNet</link> 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 <systemitem>irc.efnet.org</systemitem> verf�gbar.</para> </listitem> <listitem> <para>Der Channel <literal>#FreeBSDhelp</literal> im <link xlink:href="http://www.efnet.org/index.php">EFNet</link> 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 <link xlink:href="http://freenode.net/">Freenode</link> 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-Ihre_Sprache</literal> er�ffnen.</para> </listitem> <listitem> <para>Der Channel <literal>#FreeBSD</literal> im <link xlink:href="http://www.dal.net/">DALNET</link> ist in den USA unter <systemitem>irc.dal.net</systemitem> und in Europa unter <systemitem>irc.eu.dal.net</systemitem> verf�gbar.</para> </listitem> <listitem> <para>Der Channel <literal>#FreeBSD</literal> im <link xlink:href="http://www.undernet.org/">UNDERNET</link> ist in den USA unter <systemitem>us.undernet.org</systemitem> und in Europa unter <systemitem>eu.undernet.org</systemitem> 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 <link xlink:href="http://www.rusnet.org.ru/">RUSNET</link> 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 <link xlink:href="http://freenode.net/">Freenode</link> (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 xml:id="forums"> <para>Gibt es irgendwelche webbasierten Foren, in denen &os; diskutiert wird?</para> </question> <answer> <para>Die offiziellen &os; Foren befinden sich unter <link xlink:href="http://forums.FreeBSD.org/">http://forums.FreeBSD.org/</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="training"> <para>Gibt es Firmen, die Training und Support f�r &os; anbieten?</para> </question> <answer> <para><link xlink:href="http://www.ixsystems.com">iXsystems, Inc.</link>, die Muttergesellschaft der <link xlink:href="http://www.freebsdmall.com/">&os; Mall</link>, bietet kommerziellen Software-<link xlink:href="http://www.ixsystems.com/bsdsupport">Support</link> 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 <link xlink:href="http://www.BSDCertification.org">Webseite</link>.</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 xml:id="install"> <info><title>Installation</title> <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname><affiliation> <address><email>nik@FreeBSD.org</email></address> </affiliation></author> </info> <qandaset> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/install.html">Handbucheintrag zur Installation von &os;</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/install.html">Installationsanleitung zu &os;</link> beschrieben ist.</para> </listitem> </itemizedlist> </answer> </qandaentry> <qandaentry> <question xml:id="install-instructions-location"> <para>Wo befinden sich die Instruktionen zur Installation von &os;?</para> </question> <answer> <para>Installationsanleitungen finden Sie im <link xlink:href="&url.books.handbook;/install.html">Handbucheintrag zur Installation von &os;</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <link xlink:href="&url.articles.releng.en;/article.html"> &os; Release Engineering</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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>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 bootdevice</userinput></screen> <para>Als <replaceable>bootdevice</replaceable> m�ssen Sie das von Ihrem System verwendete Ger�t angeben, z.B. <filename>ad0</filename> (erste IDE-Platte), <filename>ad4</filename> (erste IDE-Platte an einem zus�tzlichen Controller), <filename>da0</filename> (erste SCSI-Platte), usw.</para> </listitem> </itemizedlist> </answer> </qandaentry> <qandaentry> <question xml: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. <link xlink:href="http://docs.freebsd.org/cgi/mid.cgi?20010427133759.A71732"> Dieser Beitrag</link> 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 <uri xlink:href="http://people.FreeBSD.org/~bmah/ThinkPad/">http://people.FreeBSD.org/~bmah/ThinkPad/</uri>. 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 ad0sn</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 xml: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 xml: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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/network-plip.html">PLIP</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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>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 xml: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 xml: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 xml: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 xml: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 xml: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>/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 xml: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 xml: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 xml: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 xml: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 <filename>ad0</filename> (der zweiten BIOS-Platte) installiert ist, w�hrend der Kernel der ersten Platte auf dem zweiten Controller die Ger�tekennung <filename>ad2</filename> zuteilt. Der Kernel versucht nach der Ger�te�berpr�fung die vom Bootblock angenommene Bootdisk <filename>ad0</filename> zu mounten, obwohl sie in Wirklichkeit <filename>ad2</filename> 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="disk_number"</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="disk_number"</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 xml: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 xml: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 xml: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 buildworld</command> und <command>make buildkernel</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 xml: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 xml:id="hardware"> <title>Hardware-Kompatibilit�t</title> <sect1 xml:id="compatibility-general"> <title>Allgemeines</title> <qandaset> <qandaentry> <question xml: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; (<link xlink:href="&rel.current.hardware;">&rel.current;</link> oder <link xlink:href="&rel2.current.hardware;">&rel2.current;</link>) und die <link xlink:href="http://www.FreeBSD.org/search/#mailinglists"> Archive</link> 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 xml:id="compatibility-memory"> <title>Hauptspeicher</title> <qandaset> <qandaentry> <question xml: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 xml: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 xml:id="compatibility-processors"> <title>Architekturen und Prozessoren</title> <qandaset> <qandaentry> <question xml: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 <link xlink:href="http://www.netbsd.org/">NetBSD</link> oder <link xlink:href="http://www.openbsd.org/">OpenBSD</link> ansehen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="compatibility-drives"> <title>Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke</title> <qandaset> <qandaentry> <question xml: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 xml: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; (<link xlink:href="&rel.current.hardware;">&rel.current;</link> oder <link xlink:href="&rel2.current.hardware;">&rel2.current;</link>).</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 <filename>pass</filename> mit in Ihren Kernel aufnehmen.</para> </answer> </qandaentry> </qandaset> </sect1> <sect1 xml:id="compatibility-kbd-mice"> <title>Tastaturen und M�use</title> <qandaset> <qandaentry> <question xml: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 <filename>/dev/kbd0</filename> und die USB-Tastatur als <filename>/dev/kbd1</filename> verf�gbar. Dies gilt nat�rlich nur, wenn beide Tastaturen angeschlossen sind; falls nur die USB-Tastatur angeschlossen ist, ist diese als <filename>/dev/ukbd0</filename> 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 <filename>/dev/ukbd0</filename> 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 xml: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 xml: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, <filename>psm</filename>, 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 <filename>psm0</filename> beim Booten korrekt erkennt, stellen Sie sicher, dass sich im Verzeichnis <filename>/dev</filename> ein Eintrag f�r <filename>psm0</filename> befindet.</para> </answer> </qandaentry> <qandaentry> <question xml: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/xxxx -t yyyy</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 xml: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 xml: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 xml: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 xml: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 <link xlink:href="http://www.ibb.net/~anne/keyboard.html">hier</link>.</para> </answer> </qandaentry> </qandaset> </sect1> <sect1 xml:id="compatibility-networking"> <title>Netzkarten und serielle Ger�te</title> <qandaset> <qandaentry> <question xml: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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/serial.html">Serielle Daten�bertragung</link> 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 xml:id="serial-console-prompt"> <para>Wie kann ich den boot:-Prompt auf einer seriellen Konsole erscheinen lassen?</para> </question> <answer> <para>Lesen Sie <link xlink:href="&url.books.handbook;/serialconsole-setup.html"> diesen Abschnitt</link> des Handbuchs.</para> </answer> </qandaentry> </qandaset> </sect1> <sect1 xml:id="compatibility-sound"> <title>Soundkarten</title> <qandaset> <qandaentry> <question xml:id="sound-card-support"> <para>Welche Soundkarten werden von &os; unterst�tzt?</para> </question> <answer> <para>&os; unterst�tzt verschiedene Soundkarten. Lesen Sie die <link xlink:href="&url.base;/de/releases/"> &os; Release Informationen</link> 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 xml: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 xml:id="compatibility-other"> <title>Sonstige Hardware</title> <qandaset> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 xml: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 xml:id="troubleshoot"> <title>Fehlerbehebung</title> <qandaset> <qandaentry> <question xml: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 xml: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 <systemitem class="username">root</systemitem>) 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 xml: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 <link xlink:href="&url.books.handbook;/kernelconfig.html">Handbucheintrag zur Kernelkonfiguration</link> 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 xml: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 <filename>ed0</filename>/<filename>de0</filename>/... (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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE"> Kommunikationseinstellungen der parallelen Schnittstellen</link> zu �ndern, wie es im Kapitel <link xlink:href="&url.books.handbook;/printing.html">Drucken</link> des Handbuchs beschrieben ist.</para> </answer> </qandaentry> <qandaentry> <question xml: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 buildworld</command> ausf�hren und die Compilierung von <filename>ls.c</filename> in <filename>ls.o</filename> abbricht. Wenn Sie nochmal <command>make buildworld</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 <link xlink:href="http://www.bitwizard.nl/sig11/">der SIG11-Problem-FAQ</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <filename>sio3</filename> (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 <filename>sio0</filename>, <filename>sio1</filename>, <filename>sio2</filename> und <filename>sio3</filename> (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 xml: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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS"> Netzwerk-Limits</link> des Handbuchs folgen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> Datei- und Prozesslimits</link> 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 <link xlink:href="&url.books.handbook;/configtuning-sysctl.html"> Einstellungen mit sysctl</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <filename>uha0</filename>, welches das Problem verursacht.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="mail-loopback"> <para>Wieso meldet <application>sendmail</application> <errorname>mail loops back to myself</errorname>?</para> </question> <answer> <para>Dies wird in der <link xlink:href="http://www.sendmail.org/faq/"> Sendmail FAQ</link> wie folgt beantwortet. Es wird empfohlen, diese FAQ zu lesen, wenn an der Feinabstimmung des Systems gearbeitet wird.</para> <programlisting>Ich erhalte folgende Fehlermeldungen: 553 MX list for domain.net points back to relay.domain.net 554 <user@domain.net>... Local configuration error Wie kann ich dieses Problem l�sen? Sie haben durch die Benutzung eines MX-Eintrags eingestellt, dass Mail f�r die Dom�ne (z.B. domain.net) an einen speziellen Host (in diesem Fall relay.domain.net) weitergeleitet wird, aber der Relay-Host erkennt sich selbst nicht als domain.net. F�gen Sie domain.net in /etc/mail/local-host-names [die Datei hie� vor der Version 8.10 /etc/sendmail.cw] (falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net" in /etc/mail/sendmail.cf ein.</programlisting> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <filename>sio</filename> Ger�t erkannt werden.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <buildtarget>installworld</buildtarget> (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 xml: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. <systemitem>www.yahoo.com</systemitem> 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>/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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> kern.maxfiles</link> im Kapitel <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html">Anpassung der Kernelkonfiguration</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 Kanal</command> zeigt die auf einem Kanal verwendeten Modi (die Kan�le werden von <literal>0</literal> an nummeriert).</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/freebsd-glossary.html#LOR-GLOSSARY">LOR</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="touch-not-found"> <para>Warum bricht <buildtarget>buildworld</buildtarget>/<buildtarget>installworld</buildtarget> 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 xml: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 <link xlink:href="&url.base;/commercial/commercial.html">Anbieter-Seite</link> finden Sie eine l�ngere Liste.</para> </note> <qandaset> <qandaentry> <question xml: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>OpenOffice.org</application> und <application>LibreOffice</application> laufen nativ unter &os;. Die um zus�tzliche Funktionen erweiterte kommerzielle OpenOffice.org-Version <application> Oracle Open Office</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 xml: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 <package>x11-toolkits/open-motif</package> installieren oder es mit dem entsprechenden Port selbst compilieren. Weitere Informationen �ber die Benutzung der Ports erhalten Sie im <link xlink:href="&url.books.handbook;/ports.html">Kapitel Ports des Handbuchs</link>.</para> <note> <para>Die <application>Open &motif;</application> Distribution darf nur weitergegeben werden, wenn sie auf einem <link xlink:href="http://www.opensource.org">Open Source</link> 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 xml: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><link xlink:href="http://www.apps2go.com/">Apps2go Web-Seite</link></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 xml: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><link xlink:href="http://www.kde.org/"><application>KDE</application></link> ist ein Open-Source X11-Desktop, der <application>CDE</application> in vielen Punkten �hnelt. Eventuell gef�llt Ihnen auch das "Look and Feel" von <link xlink:href="http://www.xfce.org/"><application>xfce</application></link>. KDE und xfce sind �ber die <link xlink:href="&url.base;/de/ports/index.html">Ports-Sammlung</link> von &os; verf�gbar.</para> </answer> </qandaentry> <qandaentry> <question xml:id="database-systems"> <para>Gibt es irgendwelche Datenbanksysteme f�r &os;?</para> </question> <answer> <para>Ja! Lesen Sie den Abschnitt <link xlink:href="&url.base;/commercial/software_bycat.html#CATEGORY_DATABASE"> kommerzielle Anbieter</link> auf der &os;-Web-Seite.</para> <para>Schauen Sie auch im Abschnitt <link xlink:href="&url.base;/de/ports/databases.html">Datenbanken</link> der Ports-Sammlung nach.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.shadowcom.net/freebsd-oracle9i/">http://www.shadowcom.net/freebsd-oracle9i/</link>.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="applications"> <title>Benutzerprogramme</title> <qandaset> <qandaentry> <question xml:id="user-apps"> <para>Nun, wo sind die ganzen Benutzerprogramme?</para> </question> <answer> <para>Werfen Sie bitte einen Blick auf <link xlink:href="&url.base;/de/ports/index.html">die Ports-Seite</link>, 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>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>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><link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel3.packages;/"> ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable</link></para> </listitem> </varlistentry> <varlistentry> <term>f�r &rel2.relx;-RELEASE/&rel2.stable;</term> <listitem> <para><link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;/"> ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable</link></para> </listitem> </varlistentry> <varlistentry> <term>f�r &rel.relx;-RELEASE/&rel.stable;</term> <listitem> <para><link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;/"> ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-stable</link></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 <link xlink:href="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">ftp.de.FreeBSD.org</link> Masterseite dar�ber zu informieren, welche Packages verf�gbar sind.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <package>news/inn</package> ist <link xlink:href="http://www.eyrie.org/~eagle/faqs/inn.html">Dave Barr's INN-Seite</link>, wo Sie die INN-FAQ finden.</para> </answer> </qandaentry> <qandaentry> <question xml:id="java"> <para>Unterst�tzt &os; &java;?</para> </question> <answer> <para>Ja. Informieren Sie sich bitte unter <link xlink:href="&url.base;/de/java/">http://www.de.FreeBSD.org/java/</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.porters-handbook.en;/keeping-up.html"> Keeping Up</link> 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 xml:id="make-index"> <para>Ich habe gerade versucht, <filename>INDEX</filename> mit <command>make index</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 index</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 index</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 <varname>WITH_<replaceable>*</replaceable></varname> oder <varname>WITHOUT_<replaceable>*</replaceable></varname> 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 xml: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 <package>net/csup</package>) installiert werden.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/ports-using.html">Ports aktualisieren</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/updating-upgrading-freebsdupdate.html#FREEBSDUPDATE-UPGRADE">den Abschnitt �ber Betriebssystemupgrades</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 -u</command> aufrufen und sich die Angaben in den Spalten <quote>VSZ</quote> und <quote>RSS</quote> ansehen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <link xlink:href="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN">Handbuch</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="midi-sound-files"> <para>Wie erzeuge ich Audio-CDs aus MIDI-Dateien?</para> </question> <answer> <para>Installieren Sie zuerst den Port <package>audio/timidity++</package>. Danach m�ssen Sie manuell die GUS-Patche von Eric A. Welsh von <uri xlink:href="http://alleg.sourceforge.net/digmid.html">http://alleg.sourceforge.net/digmid.html</uri> 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 /tmp/juke/01.wav 01.mid</userinput></screen> <para>Die WAV-Dateien k�nnen dann in andere Formate konvertiert werden oder (wie im <link xlink:href="&url.books.handbook;/creating-cds.html">&os;-Handbuch</link> beschrieben) auf Audio-CDs gebrannt werden.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="kernelconfig"> <title>Kernelkonfiguration</title> <qandaset> <qandaentry> <question xml:id="make-kernel"> <para>Ich m�chte meinen Kernel anpassen. Ist das schwierig?</para> </question> <answer> <para>�berhaupt nicht! Lesen Sie den <link xlink:href="&url.books.handbook;/kernelconfig.html">Abschnitt zur Kernelkonfiguration im Handbuch</link>.</para> <note> <para>Der neue <filename>kernel</filename> wird zusammen mit seinen Modulen im Verzeichnis <filename>/boot/kernel</filename> installiert werden. Der alte Kernel und dessen Module wird in das Verzeichnis <filename>/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 xml: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 <filename>npx0</filename> aus Ihrer Kernelkonfigurationsdatei entfernt, weil Sie keinen mathematischen Co-Prozessor besitzen. Die Ger�tedatei <filename>npx0</filename> 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 <filename>npx0</filename> einbinden. Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne <filename>npx0</filename>-Unterst�tzung zu bauen, werden Sie diesen nicht booten k�nnen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 buildkernel</command> und <command>make installkernel</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 buildkernel</command> und <command>make installkernel</command>, aber Sie haben nicht darauf geachtet, dass vorher ein komplettes <command>make buildworld</command> durchgelaufen sein muss. Um seine Arbeit erledigen zu k�nnen, ben�tigt <command>make buildkernel</command> Dateien, die von <command>make buildworld</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 xml: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 xml: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 xml:id="disks"> <title>Platten, Dateisysteme und Boot Loader</title> <qandaset> <qandaentry> <question xml:id="adding-disks"> <para>Wie kann ich meine neue Festplatte in mein &os;-System einbinden?</para> </question> <answer> <para>Lesen Sie den Abschnitt <link xlink:href="&url.books.handbook;/disks-adding.html">Hinzuf�gen von Laufwerken</link> im Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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>/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 <systemitem class="username">root</systemitem> auf <filename>/dev/ad1s1a</filename> verschieben wollen und diese derzeit auf <filename>/mnt</filename> gemountet ist, bedeutet das:</para> <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> &prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> &prompt.root; <userinput>cd /mnt</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>/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/ad1s1a</userinput> &prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> &prompt.root; <userinput>cd /mnt</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/ad1s1a</userinput> &prompt.root; <userinput>newfs /dev/ad1s1d</userinput> &prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> &prompt.root; <userinput>mkdir /mnt/var</userinput> &prompt.root; <userinput>mount /dev/ad1s1d /mnt/var</userinput> &prompt.root; <userinput>cd /mnt</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 xml:id="dangerously-dedicated"> <para>Gef�hrdet eine <quote>dangerously dedicated</quote> Festplatte meine Gesundheit?</para> </question> <answer> <para><anchor xml: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/rda0 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 xml: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>/</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>/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>/</filename> war schon immer eine der kleinsten Partitionen. Wenn Sie das Verzeichnis <filename>/tmp</filename> direkt auf <filename>/</filename> und in Ihrem <filename>/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>/tmp</filename> nach <filename>/var/tmp</filename> legen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 ccd0</userinput> (hier wird etwas vern�nftiges ausgegeben; versuchen wir nun, es zu editieren) &prompt.root; <userinput>disklabel -e ccd0</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 ccd0 > /tmp/disklabel.tmp</userinput> &prompt.root; <userinput>disklabel -Rr ccd0 /tmp/disklabel.tmp</userinput> &prompt.root; <userinput>disklabel -e ccd0</userinput> (nun wird es funktionieren)</screen> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.tuxera.com/community/"><application>ntfs-3g</application></link> unterst�tzt Schreiboperationen auf NTFS (siehe <package>sysutils/fusefs-ntfs</package>).</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 (<package>sysutils/fusefs-kmod</package>) basieren, k�nnen Sie viele weitere Dateisysteme finden.</para> </answer> </qandaentry> <qandaentry> <question xml: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>/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 xml: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 <link xlink:href="&url.books.handbook;/disks-encrypting.html">Partitionen verschl�sseln</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <filename>/dev/hda2</filename> bekannt ist; �ndern Sie dies entsprechend Ihren Einstellungen). F�hren Sie nun als <systemitem class="username">root</systemitem> 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 <link xlink:href="http://tldp.org/HOWTO/mini/Linux+FreeBSD.html"> &linux;+FreeBSD mini-HOWTO</link> ist ein guter Ratgeber bei Fragen zur Interaktion von &os; und &linux;.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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>sysutils</filename> der Ports diverse Boot-Manager, die diese Funktionalit�t bieten.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">Mark Mayo's ZIP-FAQ</link>)</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 <filename>da2</filename>, 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 xml: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 <link xlink:href="&url.books.handbook;/creating-cds.html">Optische Speichermedien</link> des Handbuch, genauer gesagt im Abschnitt <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung von Daten-CDs</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung von Daten-CDs</link> des Handbuchs ausf�hrlich diskutiert.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/creating-cds.html">Erzeugung von CD-ROMs</link> im Handbuch, speziell in den Abschnitt �ber <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung von Daten-CDs</link>.</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 xml: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 <link xlink:href="&url.books.handbook;/creating-cds.html">Erzeugung von CD-ROMs</link> im Handbuch, speziell in den Abschnitt �ber <link xlink:href="&url.books.handbook;/creating-cds.html#RAWDATA-CD">reine Daten-CDs</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="copy-cd"> <para>Wie kann ich ein Image einer Daten-CD erzeugen?</para> </question> <answer> - <para>Diese Information finden Sie im Abschnitt <link xlink:href="&url.books.handbook;/creating-cds.html#IMAGING-CD">Kopieren + <para>Diese Information finden Sie im Abschnitt <link xlink:href="&url.books.handbook;/creating-cds.html#mkisofs">Kopieren von CD-ROMs</link> des Handbuchs. Weitere Informationen �ber die Arbeit mit CD-ROMs finden Sie im Abschnitt <link xlink:href="&url.books.handbook;/creating-cds.html">Erzeugen von CD-ROMs</link> im Kapitel Speichermedien des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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. <package>audio/xmcd</package> aus den Ports.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <systemitem class="username">root</systemitem> 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 <systemitem class="username">root</systemitem> 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 <systemitem class="groupname">operator</systemitem> 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 <systemitem class="username">root</systemitem> 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 <systemitem class="groupname">operator</systemitem> 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>vfs.usermount=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 <filename>/dev/fd0</filename> auf ein Verzeichnis, das ihnen geh�rt, mounten:</para> <screen>&prompt.user; <userinput> mkdir ~/my-mount-point</userinput> &prompt.user; <userinput> mount -t msdosfs /dev/fd0 ~/my-mount-point</userinput></screen> <para>Die zur Gruppe <systemitem class="groupname">operator</systemitem> geh�renden Benutzer k�nnen nun <filename>/dev/acd0c</filename> auf ein Verzeichnis, das ihnen geh�rt, mounten:</para> <screen>&prompt.user; <userinput> mkdir ~/my-mount-point</userinput> &prompt.user; <userinput> mount -t cd9660 /dev/acd0c ~/my-mount-point</userinput></screen> <para>Das Unmounten des Ger�tes ist simpel:</para> <screen>&prompt.user; <userinput>umount ~/my-mount-point</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 <package>emulators/mtools</package>.</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 xml: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>/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 xml:id="add-swap-space"> <para>Wie kann ich den Swap-Bereich vergr��ern?</para> </question> <answer> <para>Im Kapitel <link xlink:href="&url.books.handbook;/config-tuning.html">Konfiguration und Tuning</link> des Handbuches gibt es einen <link xlink:href="&url.books.handbook;/adding-swap-space.html">Abschnitt</link> mit einer Schritt-f�r-Schritt Anleitung.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <systemitem class="username">root</systemitem> 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 xml:id="admin"> <title>Systemadministration</title> <qandaset> <qandaentry> <question xml: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>/etc/rc</filename> und <filename>/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>/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 xml: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 xml: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>/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 <systemitem class="username">root</systemitem>. Wenn diese Datei als die crontab des Benutzers <systemitem class="username">username</systemitem> (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 xml: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> <systemitem class="username">root</systemitem> werden will?</para> </question> <answer> <para>Das ist ein Sicherheits-Feature. Wenn Sie mit <command>su</command> zum Account <systemitem class="username">root</systemitem> (oder jedem anderen Account mit Super-User-Privilegien) wechseln wollen, m�ssen Sie ein Mitglied der Gruppe <systemitem class="groupname">wheel</systemitem> 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 <systemitem class="username">root</systemitem> erf�hrt, mit Super-User-Rechten auf das System zugreifen. Durch dieses Feature ist die Lage anders, wenn Sie nicht Mitglied von <systemitem class="groupname">wheel</systemitem> sind, k�nnen Sie nicht einmal versuchen, dass Passwort einzugeben.</para> <para>Um einem Benutzer zu erlauben, mit <command>su</command> <systemitem class="username">root</systemitem> zu werden, m�ssen Sie ihn nur in die Gruppe <systemitem class="groupname">wheel</systemitem> eintragen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="printer-setup"> <para>Wieso habe ich habe Probleme, meinen Drucker einzurichten?</para> </question> <answer> <para>Lesen sie den <link xlink:href="&url.books.handbook;/printing.html">Handbucheintrag �ber Drucker</link>. 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 <package>ports/print/pnm2ppa</package>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="keyboard-mappings"> <para>Wie kann ich die Tastaturbelegung meines Systems korrigieren?</para> </question> <answer> <para>Informationen dazu finden Sie im Kapitel <link xlink:href="&url.books.handbook;/using-localization.html">l�nderspezifische Einstellungen</link> des Handbuchs, insbesondere im Abschnitt <link xlink:href="&url.books.handbook;/using-localization.html#SETTING-CONSOLE">Konfiguration der Konsole</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <link xlink:href="&url.books.handbook;/quotas.html">Abschnitt</link> des Handbuchs.</para> </listitem> <listitem> <para>Benutzen Sie keine Quotas f�r <filename>/</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>/usr</filename></entry> <entry><filename>/usr/admin/quotas</filename></entry> </row> <row> <entry><filename>/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 xml: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 xml:id="sendmail-alternative"> <para>Welchen Mail-Server kann ich an Stelle von <application>sendmail</application> benutzen?</para> </question> <answer> <para><link xlink:href="http://www.sendmail.org/"> <application>sendmail</application></link> 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, <package>mail/exim</package>, <package>mail/postfix</package>, <package>mail/qmail</package>, sowie <package>mail/zmailer</package> 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 xml: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 <systemitem class="username">root</systemitem> 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; <link xlink:href="&url.books.handbook;/disks-encrypting.html">Handbuch</link>.</para> </note> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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' file(s)</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' < dos-text-file > unix-file</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 <package>converters/dosunix</package> 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 xml:id="kill-by-name"> <para>Wie beende ich Prozesse namentlich?</para> </question> <answer> <para>Benutzen Sie &man.pkill.1;.</para> </answer> </qandaentry> <qandaentry> <question xml:id="root-acl"> <para>Warum nervt &man.su.1; mich damit, dass ich nicht in der ACL von <systemitem class="username">root</systemitem> 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 xml: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>/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 <varname>NO_KERBEROS</varname> in der <filename>/etc/make.conf</filename> ein make world durchf�hren.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <uri xlink:href="http://www.freebsd.org/~jhb/patches/pty_1152.patch">http://www.freebsd.org/~jhb/patches/pty_1152.patch</uri> 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 xml: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 xml: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 <link xlink:href="&url.articles.releng.en;/article.html">Release Engineering</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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>/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 xml: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 xml: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-<systemitem class="username">root</systemitem> 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 <varname>ENABLE_SUID_SSH</varname> auf <literal>true</literal> setzen und danach &man.ssh.1; neu �bersetzen (oder <command>make world</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 <systemitem class="username">root</systemitem> ausf�hren. F�gen Sie anschlie�end <literal>ENABLE_SUID_SSH =true</literal> in die Datei <filename>/etc/make.conf</filename> ein, damit diese �nderung erhalten bleibt, wenn Sie das n�chste Mal <command>make world</command> ausf�hren.</para> </listitem> </itemizedlist> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml:id="var-empty"> <para>Ich kann <filename>/var/empty</filename> nicht l�schen!</para> </question> <answer> <para>Das Verzeichnis <filename>/var/empty</filename> wird von &man.sshd.8; ben�tigt, wenn es mit <quote>Privilege Separation</quote> l�uft. Das Verzeichnis <filename>/var/empty</filename> ist leer, geh�rt <systemitem class="username">root</systemitem> 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 xml:id="x"> <title>Das X Window System und virtuelle Konsolen</title> <qandaset> <qandaentry> <question xml: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 <link xlink:href="http://en.wikipedia.org/wiki/X_Window_System_core_protocol">X Protokollstandard</link> wird von der <link xlink:href="http://www.x.org/wiki/">X.org Foundation</link> 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 xml: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 <package>x11/xorg</package> 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 <link xlink:href="&url.books.handbook;/x-config.html">X11 konfigurieren</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <filename>/dev/sysmouse</filename>. 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 <filename>/dev/mouse</filename> zu benutzen. Hierzu sollte <filename>/dev/mouse</filename> nach <filename>/dev/sysmouse</filename> (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 <systemitem class="username">root</systemitem>) erzeugt werden:</para> <screen>&prompt.root; <userinput>/etc/rc.d/devfs restart</userinput></screen> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 <filename>ttyv8</filename> bis zu <filename>ttyvc</filename> 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 <systemitem class="username">root</systemitem></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 xml: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 xml: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>rc.local</filename> (&man.rc.8;) oder das Skript <filename>X</filename> im Verzeichnis <filename>/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 <filename>/dev/ttyv3</filename> 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 xml: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 <filename>/dev/console</filename> 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 <filename>/dev/ttyv0</filename> anmeldet, auch die Konsole besitzt.</para> </answer> </qandaentry> <qandaentry> <question xml:id="xfree86-root"> <para>Fr�her konnte ich &xorg; als normaler User starten. Warum sagt mir das System jetzt, dass ich <systemitem class="username">root</systemitem> sein muss?</para> </question> <answer> <para>Alle X-Server m�ssen mit der ID <systemitem class="username">root</systemitem> 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 <link xlink:href="http://www.x.org/wiki/UserDocumentation">&xorg; Dokumentation</link> 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 <package>x11/wrapper</package>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/boot-blocks.html#BOOT-SPLASH">Splash-Screens w�hrend des Systemstarts</link> des Handbuchs nachlesen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <package>x11-wm/fvwm2</package> 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 xml: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 <package>x11/nvidia-driver</package> unterst�tzt.</para> </listitem> <listitem> <para>NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch die 96XX Treiber unterst�tzt, die im <package>x11/nvidia-driver-96xx</package> 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 <package>x11/nvidia-driver-71xx</package> 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: <uri xlink:href="http://www.nvidia.com/object/IO_32667.html">http://www.nvidia.com/object/IO_32667.html</uri>.</para> <para>F�r Matrox G200/400 sehen Sie sich den Port <package>x11-servers/mga_hal</package> 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 <package>x11-servers/driglide</package> Port.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="networking"> <title>Netzwerke</title> <qandaset> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/network-diskless.html">Handbucheintrag �ber den plattenlosen Betrieb</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/network-routing.html"> Gateways und Routen</link> des Handbuchkapitels <link xlink:href="&url.books.handbook;/advanced-networking.html"> Weiterf�hrende Netzwerkthemen</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/userppp.html">Abschnitt User-PPP des Handbuchs</link>.</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 <link xlink:href="&url.books.handbook;/network-natd.html">natd-Abschnitt</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/ppp-and-slip.html">PPP und SLIP</link> des Handbuchs beschrieben.</para> <para>Falls Sie nur durch einen <quote>Shell-Account</quote> Zugang zum Internet haben, sehen Sie sich einmal das Package <package>net/slirp</package> 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 xml: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 <link xlink:href="&url.books.handbook;/userppp.html">User-PPP Abschnitt</link> des Handbuchs. Wollen Sie NAT �ber eine andere Verbindung einsetzen, lesen Sie bitte den <link xlink:href="&url.books.handbook;/network-natd.html">NATD-Abschnitt</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/network-plip.html">PLIP</link> behandelt.</para> </answer> </qandaentry> <qandaentry> <question xml: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 ed0 alias 192.0.2.2 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 ed0 alias 172.16.141.5 netmask 0xffffff00</userinput></screen> <para>Sie k�nnen mehr dar�ber im &os; <link xlink:href="&url.books.handbook;/configtuning-virtual-hosts.html">Handbuch</link> nachlesen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <link xlink:href="&url.books.handbook;/network-nfs.html">im Handbucheintrag zu NFS</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 linuxbox:/blah /mnt</userinput></screen> </answer> </qandaentry> <qandaentry> <question xml: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 sunbox:/blah /mnt</userinput></screen> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/network-nfs.html">NFS</link> im Handbuch, speziell den Abschnitt <link xlink:href="&url.books.handbook;/network-nfs.html#CONFIGURING-NFS"> Konfiguration</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 <package>net/mrouted</package> erh�ltlich.</para> </note> <para>MBONE-Tools sind in ihrer eigenen Ports-Kategorie <link xlink:href="http://www.FreeBSD.org/ports/mbone.html">mbone</link> verf�gbar. Schauen Sie dort nach, wenn Sie die Konferenztools <command>vic</command> und <command>vat</command> suchen!</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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; <link xlink:href="&url.books.handbook;/mail-trouble.html">Handbook</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <systemitem class="username">root</systemitem> 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 <link xlink:href="&url.books.handbook;/firewalls.html">Firewalls</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.base;/de/ports/index.html">Ports Sammlung</link> sind diverse Hilfsprogramme f�r diesen Zweck enthalten.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <package>sysutils/socket</package> 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 xml: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. <link xlink:href="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ</link> ist in &os; Bestandteil von &man.pf.4;. Bei Bandwidth Manager von <link xlink:href="http://www.etinc.com/">Emerging Technologies</link> handelt es sich hingegen um ein kommerzielles Produkt.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 xml: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 xml:id="security"> <title>Sicherheit</title> <qandaset> <qandaentry> <question xml: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 <systemitem class="username">root</systemitem> gelaufen; nun l�uft er mit der Benutzerkennung <systemitem class="username">tty</systemitem>. Der Benutzer <systemitem class="username">tty</systemitem> 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>/</filename> dieses Verzeichnis und nicht das echte <filename>/</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 <systemitem class="username">root</systemitem> 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 xml: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 <systemitem class="username">root</systemitem>) 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 <filename>/dev/mem</filename> und <filename>/dev/kmem</filename>.</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 <buildtarget>installworld</buildtarget> 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 <link xlink:href="&url.base;/search/index.html"> verf�gbare Archiv</link> 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 xml: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 xml: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 xml:id="toor-account"> <para>Woher kommt dieser Benutzer <systemitem class="username">toor</systemitem> mit UID 0? Ist mein System gehackt worden?</para> </question> <answer> <para>Keine Panik. <systemitem class="username">toor</systemitem> 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 <systemitem class="username">root</systemitem> 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>/usr/local/bin</filename> installiert und dieses Verzeichnis liegt standardm��ig auf einem anderem Filesystem. Wenn die Shell von <systemitem class="username">root</systemitem> in <filename>/usr/local/bin</filename> liegt und <filename>/usr</filename> (oder das Filesystem, auf dem <filename>/usr/local/bin</filename> liegt) nicht gemountet werden kann, kann sich <systemitem class="username">root</systemitem> 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 <systemitem class="username">toor</systemitem> mit einer alternativen Shell f�r die t�gliche Arbeit und benutzen <systemitem class="username">root</systemitem> (mit der Standard-Shell) f�r den Single-User-Modus und f�r Notf�lle. Standardm��ig kann man sich nicht als <systemitem class="username">toor</systemitem> anmelden, da der Account kein g�ltiges Passwort hat; Sie m�ssen sich also als <systemitem class="username">root</systemitem> anmelden und ein Passwort f�r <systemitem class="username">toor</systemitem> setzen, wenn Sie diesen Account benutzen wollen.</para> </answer> </qandaentry> <qandaentry> <question xml: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>ENABLE_SUIDPERL=true</literal> einf�gen, bevor Sie <command>perl</command> bauen.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="ppp"> <title>PPP</title> <qandaset> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/ppp-and-slip.html#USERPPP">Abschnitt zu PPP im Handbuch</link> 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 xml: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 <systemitem>localhost</systemitem>-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 xml: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 <link xlink:href="&url.books.handbook;/userppp.html#USERPPP-FINAL"> Abschlie�ende Systemkonfiguration</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/userppp.html#USERPPP-DYNAMICIP">PPP und Dynamische IP-Adressen</link> des Handbuchs.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 xml: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 <systemitem>A</systemitem> und <systemitem>B</systemitem> zu tun. <systemitem>A</systemitem> beginnt unmittelbar nach der Verbindung, LCP-Anforderungen zu senden und <systemitem>B</systemitem> ben�tigt sieben Sekunden, zu starten. Wenn <systemitem>B</systemitem> startet, hat <systemitem>A</systemitem> 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. <systemitem>B</systemitem> sendet eine Anforderung und anschlie�end eine Best�tigung der ersten Anforderung von <systemitem>A</systemitem>. Dies f�hrt dazu, dass <systemitem>A</systemitem> in den Zustand <acronym>OPENED</acronym> �bergeht und eine Best�tigung (die erste) zur�ck an <systemitem>B</systemitem> sendet. In der Zwischenzeit sendet <systemitem>B</systemitem> zwei weitere Best�tigungen als Antwort auf die zus�tzlichen Anforderungen, die von <systemitem>A</systemitem> gesendet worden sind, bevor <systemitem>B</systemitem> gestartet ist. <systemitem>B</systemitem> empf�ngt dann die erste Best�tigung von <systemitem>A</systemitem> und geht in den Zustand <acronym>OPENED</acronym> �ber. <systemitem>A</systemitem> empf�ngt die zweite Best�tigung von <systemitem>B</systemitem>, geht zur�ck in den Zustand <acronym>REQ-SENT</acronym> und sendet eine weitere (vierte) Anforderung entsprechend dem RFC. <systemitem>A</systemitem> empf�ngt dann die dritte Best�tigung und geht in den Zustand <acronym>OPENED</acronym> �ber. In der Zwischenzeit empf�ngt <systemitem>B</systemitem> die vierte Anforderung von <systemitem>A</systemitem>, wechselt in den Zustand <acronym>ACK-SENT</acronym> und sendet eine weitere (zweite) Anforderung und (vierte) Best�tigung entsprechend dem RFC. <systemitem>A</systemitem> 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 xml: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 xml: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 xml: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 <link xlink:href="&url.books.handbook;/smtp-dialup.html">E-Mail �ber Einwahl-Verbindungen</link> 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 -q</command> ausgef�hrt wird (z.B. aus Ihrer Datei <filename>ppp.linkup</filename> heraus).</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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>cd /usr/src/usr.sbin/ppp</userinput> &prompt.root; <userinput>echo STRIP= >> /etc/make.conf</userinput> &prompt.root; <userinput>echo CFLAGS+=-g >> /etc/make.conf</userinput> &prompt.root; <userinput>make install clean</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 <systemitem class="username">root</systemitem> 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 xml: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 <systemitem class="ipaddress">255.255.255.255</systemitem> 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 <systemitem class="ipaddress">255.255.255.255</systemitem> 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 xml: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 xml: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 internal: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 internal:27005 27015</literal></para> </listitem> <listitem> <para><application>PCAnywhere 8.0</application></para> <para><literal>nat port udp internal:5632 5632</literal></para> <para><literal>nat port tcp internal:5631 5631</literal></para> </listitem> <listitem> <para><application>Quake</application></para> <para><literal>nat port udp internal:6112 6112</literal></para> </listitem> <listitem> <para><application>Quake 2</application></para> <para><literal>nat port udp internal:27901 27910</literal></para> <para><literal>nat port udp internal:60021 60021</literal></para> <para><literal>nat port udp internal:60040 60040</literal></para> </listitem> <listitem> <para><application>Red Alert</application></para> <para><literal>nat port udp internal:8675 8675</literal></para> <para><literal>nat port udp internal:5009 5009</literal></para> </listitem> </itemizedlist> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="PPPoEwithNAT"> <question xml: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\ID der Netzwerkkarte\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 <link xlink:href="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474 - &windows; TCPIP Registry Entries</link> und <link xlink:href="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642 - TCPIP & NBT Configuration Parameters for &windowsnt;</link>.</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\ID der Netzwerkkarte\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 <package>net/tcpmssd</package> f�r Sie interessant sein.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</link>. Irgend jemand sollte Ihnen dann weiterhelfen.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml: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 xml: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 xml: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 xml: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 <filename>sio2</filename> (<filename>COM3</filename> unter &ms-dos;/&windows;), ist <filename>/dev/cuad2</filename> f�r Ger�te mit abgehenden Verbindungen und <filename>/dev/ttyd2</filename> f�r Ger�te mit eingehenden Verbindungen. Was ist der Unterschied zwischen den beiden Ger�teklassen?</para> <para>Sie benutzen <filename>ttydX</filename> f�r eingehende Verbindungen. Wird <filename>/dev/ttydX</filename> im blockierenden Modus ge�ffnet, wartet ein Prozess darauf, dass das entsprechende <filename>cuadX</filename> 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 <filename>cuadX</filename> Ger�t ge�ffnet, vergewissert es sich, dass die serielle Schnittstelle nicht bereits von dem <filename>ttydX</filename> Ger�t in Gebrauch ist. Sollte die Schnittstelle verf�gbar sein, <quote>stiehlt</quote> es sie von dem <filename>ttydX</filename> Ger�t. Das <filename>cuadX</filename> 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 xml: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 xml: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 xml:id="default-serial-params"> <para>Kann ich die vorgegebenen seriellen Parameter f�r eine Schnittstelle einstellen?</para> </question> <answer> <para>Lesen Sie den Abschnitt <link xlink:href="&url.books.handbook;/serial.html#SERIAL-HW-CONFIG">Serielle Daten�bertragung</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml:id="enable-dialup"> <para>Wie kann ich Einwahl-Logins �ber mein Modem aktivieren?</para> </question> <answer> <para>Lesen Sie dazu bitte den Abschnitt �ber <link xlink:href="&url.books.handbook;/dialup.html">Einw�hlverbindungen</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/term.html">Terminals</link> im &os; Handbuch finden.</para> </answer> </qandaentry> <qandaentry> <question xml: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>/var/spool/lock</filename> nur �ber den Benutzer <systemitem class="username">uucp</systemitem> und die Gruppe <systemitem class="groupname">dialer</systemitem> zugreifen. Sie k�nnen die Gruppe <systemitem class="groupname">dialer</systemitem> verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem oder entfernte Systeme hat. F�gen Sie sich einfach selbst zur Gruppe <systemitem class="groupname">dialer</systemitem> 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 xml:id="hayes-unsupported"> <para>Mein Hayes Modem wird nicht unterst�tzt – was kann ich tun?</para> </question> <answer> <para>Lesen Sie <link xlink:href="&url.books.handbook;/dialout.html#HAYES-UNSUPPORTED">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml:id="direct-at"> <para>Wie soll ich die AT Befehle eingeben?</para> </question> <answer> <para>Im &os; Handbuch finden Sie dazu <link xlink:href="&url.books.handbook;/dialout.html#DIRECT-AT">diese Antwort</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/dialout.html#GT-FAILURE">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml:id="dial-command-line"> <para>Wie kann ich von der Kommandozeile eine Telefonnummer w�hlen?</para> </question> <answer> <para>Lesen Sie <link xlink:href="&url.books.handbook;/dialout.html#DIAL-COMMAND-LINE">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml:id="set-bps"> <para>Muss ich dabei jedes Mal die bps Rate angeben?</para> </question> <answer> <para>Im &os; Handbuch finden Sie dazu <link xlink:href="&url.books.handbook;/dialout.html#SET-BPS">diese Antwort</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/dialout.html#TERMINAL-SERVER">diese Antwort</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="tip-multiline"> <para>Kann tip mehr als eine Verbindung f�r jede Seite ausprobieren?</para> </question> <answer> <para>Lesen Sie <link xlink:href="&url.books.handbook;/dialout.html#TIP-MULTILINE">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/dialout.html#MULTI-CONTROLP">diese Antwort</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="uppercase"> <para>Warum ist auf einmal alles was ich schreibe in GROSSBUCHSTABEN??</para> </question> <answer> <para>Lesen Sie im &os; Handbuch <link xlink:href="&url.books.handbook;/dialout.html#UPPERCASE">diese Antwort</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="tip-filetransfer"> <para>Wie kann ich Dateien mit <command>tip</command> �bertragen?</para> </question> <answer> <para>Lesen Sie <link xlink:href="&url.books.handbook;/dialout.html#TIP-FILETRANSFER">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> <qandaentry> <question xml:id="zmodem-tip"> <para>Wie kann ich zmodem mit <command>tip</command> laufen lassen?</para> </question> <answer> <para>Sie finden dazu <link xlink:href="&url.books.handbook;/dialout.html#ZMODEM-TIP">diese Antwort</link> im &os; Handbuch.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter xml:id="misc"> <title>Verschiedene Fragen</title> <qandaset> <qandaentry> <question xml: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 xml: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 xml: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>/</filename>). Falls z.B. <filename>foo</filename> ein symbolischer Link zum Verzeichnis <filename>bar</filename> ist und Sie die Zugriffsrechte von <filename>foo</filename> (tats�chlich <filename>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>bar</filename> zu �ndern.</para> </warning> </answer> </qandaentry> <qandaentry> <question xml:id="dos-binaries"> <para>Kann ich DOS-Programme unter &os; ausf�hren?</para> </question> <answer> <para>Ja. Sie k�nnen <package>emulators/doscmd</package> verwenden, das �ber die Ports-Sammlung verf�gbar ist.</para> <para>Falls <application>doscmd</application> nicht ausreicht, k�nnen Sie den Port <package>emulators/pcemu</package> 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 <package>emulators/dosbox</package> 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 xml: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 <link xlink:href="https://doc.bsdgroup.de/index.html">&os; German Documentation Project</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="freebsd-mail-bounces"> <para>Warum kommen alle meine Mails, die ich an <systemitem class="fqdomainname">@FreeBSD.org</systemitem> schicke, wieder zur�ck?</para> </question> <answer> <para>Das Mailsystem von <systemitem class="fqdomainname">FreeBSD.org</systemitem> 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 xml: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><link xlink:href="http://www.arbornet.org/">Arbornet, Inc</link>, 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 xml:id="sup-define"> <para>Was ist <command>sup</command> und wie benutze ich es?</para> </question> <answer> <para>Der Name <link xlink:href="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</link> 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 <link xlink:href="&url.books.handbook;/synching.html#CVSUP"> CVSup</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.mckusick.com/beastie/index.html">seiner Homepage</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement on the Use of the BSD Daemon Figure</link> 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 <link xlink:href="http://www.mckusick.com/beastie/index.html">BSD Daemon's home page</link>.</para> </answer> </qandaentry> <qandaentry> <question xml: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>/usr/share/examples/BSD_daemon/</filename> zu finden.</para> </answer> </qandaentry> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/freebsd-glossary.html"> &os;-Glossar</link> nach.</para> </answer> </qandaentry> <qandaentry> <question xml: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><link xlink:href="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...</link></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 xml:id="funnies"> <title>Nicht ganz ernstgemeinte Fragen</title> <qandaset> <qandaentry> <question xml: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 xml: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 xml: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 xml: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>/</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 xml:id="advanced"> <title>Weiterf�hrende Themen</title> <qandaset> <qandaentry> <question xml: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 <link xlink:href="&url.books.handbook;/bibliography-osinternals.html"> Bibliographie</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="how-to-contribute"> <para>Wie kann ich bei der Entwicklung von &os; mitarbeiten?</para> </question> <answer> <para>Genauere Informationen finden Sie im Artikel <link xlink:href="&url.articles.contributing;/article.html">&os; unterst�tzen</link>. Wir k�nnen Hilfe immer gut gebrauchen!</para> </answer> </qandaentry> <qandaentry> <question xml:id="define-snap-release"> <para>Was sind Snapshots und RELEASEs?</para> </question> <answer> <para>Derzeit existieren vier aktive/halbaktive Zweige im <link xlink:href="http://www.de.FreeBSD.org/cgi/cvsweb.cgi"> &os;-CVS-Repository</link>. 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 xml:id="custrel"> <para>Wie kann ich meine eigene, angepasstes Release erstellen?</para> </question> <answer> <para>Eine Anleitung dazu finden Sie im Artikel <link xlink:href="&url.articles.releng.en;/article.html"> &os; Release Engineering</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="makeworld-clobbers"> <para>Wieso �berschreibt <command>make world</command> das installierte System?</para> </question> <answer> <para>Das ist beabsichtigt. Wie der Name schon andeutet, erstellt <command>make world</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 world</command> oder <command>make install</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 world</command> verursachen.</para> </answer> </qandaentry> <qandaentry> <question xml:id="cvsup-round-robin"> <para>Warum ist <systemitem class="fqdomainname">cvsup.FreeBSD.org</systemitem> 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 <systemitem class="fqdomainname">cvsup.FreeBSD.org</systemitem> 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 xml: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 <link xlink:href="&url.books.handbook;/synching.html#CTM">CTM</link> benutzen.</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml:id="submitting-kernel-extensions"> <para>Ich habe eine Kernelerweiterung geschrieben. An wen sende ich sie?</para> </question> <answer> <para>Lesen Sie bitte den Artikel <link xlink:href="&url.articles.contributing;/article.html"> &os; unterst�tzen</link>.</para> <para>Und Danke, dass Sie dar�ber nachdenken!</para> </answer> </qandaentry> <qandaentry> <question xml: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 xml: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 xml: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 xml: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>nm -n /kernel.that.caused.the.panic | grep 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>nm -n /kernel.that.caused.the.panic | grep 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/arch/conf/MYKERNEL</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>usr/src</filename>:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> </step> <step> <para>Erstellen Sie den Kernel:</para> <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen> </step> <step> <para>Warten Sie, bis &man.make.1; den Kernel fertig kompiliert hat.</para> </step> <step> <screen>&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen> </step> <step> <para>Starten Sie das System neu.</para> </step> </procedure> <note> <para>Falls Sie die make-Variable <varname>KERNCONF</varname> 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/MYKERNEL/kernel</filename> und <filename>/usr/obj/usr/src/sys/MYKERNEL/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>/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=N</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>kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0</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 xml: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 xml: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 xml: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 <link xlink:href="&url.articles.contributing;/article.html">beizutreten</link>, 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> Index: head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml (revision 48706) +++ head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml (revision 48707) @@ -1,3991 +1,3979 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!-- The FreeBSD Documentation Project The FreeBSD German Documentation Project $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/disks/chapter.xml,v 1.187 2012/04/26 19:32:48 bcr Exp $ - basiert auf: r44638 + basiert auf: r44642 --> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="disks"> <info><title>Speichermedien</title> <authorgroup> <author><personname><firstname>Bernd</firstname><surname>Warken</surname></personname><contrib>�bersetzt von </contrib></author> <author><personname><firstname>Martin</firstname><surname>Heinen</surname></personname></author> </authorgroup> </info> <sect1 xml:id="disks-synopsis"> <title>�bersicht</title> <para>Dieses Kapitel behandelt die Benutzung von Laufwerken unter &os;. Hierzu z�hlen speichergest�tzte Laufwerke, Netzlaufwerke, <acronym>SCSI</acronym>/<acronym>IDE</acronym>-Ger�te und Ger�te, die die <acronym>USB</acronym>-Schnittstelle benutzen.</para> <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes wissen:</para> <itemizedlist> <listitem> <para>Die Begriffe, die &os; verwendet, um die Organisation der Daten auf einem physikalischen Laufwerk zu beschreiben.</para> </listitem> <listitem> <para>Wie Sie zus�tzliche Laufwerke zu einem &os;-System hinzuf�gen.</para> </listitem> <listitem> <para>Wie Sie &os; zur Verwendung von <acronym>USB</acronym>-Speichermedien konfigurieren.</para> </listitem> <listitem> <para>Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks, eingerichtet werden.</para> </listitem> <listitem> <para>Wie Sie mit Quotas die Benutzung von Laufwerken einschr�nken k�nnen.</para> </listitem> <listitem> <para>Wie Sie Partitionen verschl�sseln, um Ihre Daten zu sch�tzen.</para> </listitem> <listitem> <para>Wie unter &os; <acronym>CD</acronym>s und <acronym>DVD</acronym>s gebrannt werden.</para> </listitem> <listitem> <para>Wie Sie die unter &os; erh�ltlichen Backup-Programme benutzen.</para></listitem> <listitem> <para>Was Dateisystem-Schnappsch�sse sind und wie sie eingesetzt werden.</para> </listitem> </itemizedlist> <para>Bevor Sie dieses Kapitel lesen,</para> <itemizedlist> <listitem> <para>sollten Sie wissen, wie Sie einen <link linkend="kernelconfig">neuen &os;-Kernel konfigurieren und installieren</link> k�nnen.</para> </listitem> </itemizedlist> </sect1> <sect1 xml:id="disks-naming"> <title>Ger�tenamen</title> <para>Die folgende Tabelle zeigt die von &os; unterst�tzten Speicherger�te und deren Ger�tenamen.</para> <table xml:id="disk-naming-physical-table" frame="none"> <title>Namenskonventionen von physikalischen Laufwerken</title> <tgroup cols="2"> <thead> <row> <entry>Laufwerkstyp</entry> <entry>Ger�tename</entry> </row> </thead> <tbody> <row> <entry><acronym>IDE</acronym>-Festplatten</entry> <entry><literal>ad</literal> oder <literal>ada</literal></entry> </row> <row> <entry><acronym>IDE</acronym>-<acronym>CD-ROM</acronym>-Laufwerke</entry> <entry><literal>acd</literal> oder <literal>cd</literal></entry> </row> <row> <entry><acronym>SATA</acronym>-Festplatten</entry> <entry><literal>ad</literal> oder <literal>ada</literal></entry> </row> <row> <entry><acronym>SATA</acronym>-<acronym>CD-ROM</acronym>-Laufwerke</entry> <entry><literal>acd</literal> oder <literal>cd</literal></entry> </row> <row> <entry><acronym>SCSI</acronym>-Festplatten und <acronym>USB</acronym>-Speichermedien</entry> <entry><literal>da</literal></entry> </row> <row> <entry><acronym>SCSI</acronym>-<acronym>CD-ROM</acronym>-Laufwerke</entry> <entry><literal>cd</literal></entry> </row> <row> <entry>Verschiedene propriet�re <acronym>CD-ROM</acronym>-Laufwerke</entry> <entry><literal>mcd</literal> f�r Mitsumi <acronym>CD-ROM</acronym> und <literal>scd</literal> f�r Sony <acronym>CD-ROM</acronym></entry> </row> <row> <entry>Diskettenlaufwerke</entry> <entry><literal>fd</literal></entry> </row> <row> <entry><acronym>SCSI</acronym>-Bandlaufwerke</entry> <entry><literal>sa</literal></entry> </row> <row> <entry><acronym>IDE</acronym>-Bandlaufwerke</entry> <entry><literal>ast</literal></entry> </row> <row> <entry>Flash-Laufwerke</entry> <entry><literal>fla</literal> f�r &diskonchip; Flash-Device</entry> </row> <row> <entry>RAID-Laufwerke</entry> <entry><literal>aacd</literal> f�r &adaptec; AdvancedRAID, <literal>mlxd</literal> und <literal>mlyd</literal> f�r &mylex;, <literal>amrd</literal> f�r AMI &megaraid;, <literal>idad</literal> f�r Compaq Smart RAID, <literal>twed</literal> f�r &tm.3ware; RAID.</entry> </row> </tbody> </tgroup> </table> </sect1> <sect1 xml:id="disks-adding"> <info><title>Hinzuf�gen von Laufwerken</title> <authorgroup> <author><personname><firstname>David</firstname><surname>O'Brian</surname></personname><contrib>Im Original von </contrib></author> </authorgroup> </info> <indexterm> <primary>Laufwerke</primary> <secondary>hinzuf�gen</secondary> </indexterm> <para>Dieser Abschnitt beschreibt, wie Sie ein neues <acronym>SATA</acronym>-Laufwerk zu einer Maschine hinzuf�gen, die momentan nur ein Laufwerk hat. Dazu schalten Sie zuerst den Rechner aus und installieren das Laufwerk entsprechend der Anleitungen Ihres Rechners, Ihres Controllers und des Laufwerkherstellers. Starten Sie das System neu und melden Sie sich als Benutzer <systemitem class="username">root</systemitem> an.</para> <para>Kontrollieren Sie <filename>/var/run/dmesg.boot</filename>, um sicherzustellen, dass das neue Laufwerk gefunden wurde. In diesem Beispiel erscheint das neu hinzugef�gte <acronym>SATA</acronym>-Laufwerk als <filename>ada1</filename>.</para> <indexterm><primary>Partitionen</primary></indexterm> <indexterm> <primary><command>gpart</command></primary> </indexterm> <para>In diesem Beispiel wird eine einzige gro�e Partition auf der Festplatte erstellt. Verwendet wird das <link xlink:href="https://de.wikipedia.org/wiki/GUID_Partition_Table"><acronym>GPT</acronym></link>-Partionsschema, welches gegen�ber dem �lteren und weniger vielseitigen <acronym>MBR</acronym>-Schema bevorzug wird.</para> <note> <para>Wenn die hinzugef�gte Festplatte nicht leer ist, k�nnen alte Partitionsinformationen mit <command>gpart delete</command> entfernt werden. Details finden Sie in &man.gpart.8;.</para> </note> <para>Zuerst wird das Partitionsschema erstellt und dann eine einzelne Partition angef�gt:</para> <screen>&prompt.root; <userinput>gpart create -s GPT ada1</userinput> &prompt.root; <userinput>gpart add -t freebsd-ufs ada1</userinput></screen> <para>Je nach Anwendung kann es w�nschenswert sein, mehrere kleinere Partitionen zu haben. In &man.gpart.8; finden Sie Optionen zum Erstellen von kleineren Partitionen.</para> <para>Ein Dateisystem wird auf der neuen, leeren Festplatte erstellt:</para> <screen>&prompt.root; <userinput>newfs -U /dev/ada1p1</userinput></screen> <para>Ein leeres Verzeichnis wird als Mountpunkt erstellt, also ein Speicherort f�r die Montage der neuen Festplatte im originalen Dateisystem:</para> <screen>&prompt.root; <userinput>mkdir /newdisk</userinput></screen> <para>Abschlie�end wird ein Eintrag in <filename>/etc/fstab</filename> hinzugef�gt, damit die neue Festplatte automatisch beim Start eingeh�ngt wird:</para> <programlisting>/dev/ada1p1 /newdisk ufs rw 2 2</programlisting> <para>Die neue Festplatte kann manuell montiert werden, ohne das System neu zu starten:</para> <screen>&prompt.root; <userinput>mount /newdisk</userinput></screen> </sect1> <sect1 xml:id="disks-growing"> <info> <title>Partitionen vergr��ern</title> <authorgroup> <author> <personname> <firstname>Allan</firstname> <surname>Jude</surname> </personname> <contrib>Beigetragen von </contrib> </author> </authorgroup> <authorgroup> <author> <personname> <firstname>Bj�rn</firstname> <surname>Heidotting</surname> </personname> <contrib>�bersetzt von </contrib> </author> </authorgroup> </info> <indexterm> <primary>Partitionen</primary> <secondary>vergr��ern</secondary> </indexterm> <para>Die Kapazit�t einer Festplatte kann sich ohne �nderungen an bereits vorhandenen Daten erh�hen. Dies geschieht �blicherweise mit virtuellen Maschinen, wenn sich herausstellt, dass die virtuelle Festplatte zu klein ist und vergr��ert werden soll. Zuweilen wird auch ein Abbild einer Platte auf einen <acronym>USB</acronym>-Stick geschrieben, ohne dabei die volle Kapazit�t zu nutzen. Dieser Abschnitt beschreibt, wie man Platten vergr��ert, bzw. <emphasis>erweitert</emphasis>, um die Vorteile der erh�hten Kapazit�t zu nutzen.</para> <para>�berpr�fen Sie <filename>/var/run/dmesg.boot</filename>, um den Ger�tenamen der Festplatte zu bestimmen, die vergr��ert werden soll. In diesem Beispiel gibt es nur eine <acronym>SATA</acronym>-Festplatte im System, so dass die Platte als <filename>ada0</filename> angezeigt wird.</para> <indexterm><primary>Partitionen</primary></indexterm> <indexterm> <primary><command>gpart</command></primary> </indexterm> <para>Um die aktuelle Konfiguration der Partitionen auf der Festplatte anzuzeigen:</para> <screen>&prompt.root; <userinput>gpart show <replaceable>ada0</replaceable></userinput> => 34 83886013 ada0 GPT (48G) [CORRUPT] 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 4194236 3 freebsd-swap (2G) 83886046 1 - free - (512B)</screen> <note> <para>Wenn die Festplatte mit dem <link xlink:href="http://en.wikipedia.org/wiki/GUID_Partition_Table"> <acronym>GPT</acronym></link>-Partitionsschema formatiert wurde kann es vorkommen, dass sie als <quote>corrupted</quote> angezeigt wird, weil sich die Sicherung der <acronym>GPT</acronym>-Partitionstabellen nicht mehr am Ende des Laufwerks befinden. Reparieren Sie in so einem Fall die Partitionstabelle mit <command>gpart</command>:</para> <screen>&prompt.root; <userinput>gpart recover <replaceable>ada0</replaceable></userinput> ada0 recovered</screen> </note> <para>Nun steht der zus�tzliche Speicherplatz zur Verf�gung und kann verwendet werden, um eine neue Partition anzulegen oder eine bestehende Partition zu erweitern:</para> <screen>&prompt.root; <userinput>gpart show <replaceable>ada0</replaceable></userinput> => 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 4194236 3 freebsd-swap (2G) 83886046 18513921 - free - (8.8G)</screen> <para>Partitionen k�nnen nur auf zusammenh�ngenden, freien Speicherplatz vergr��ert werden. In diesem Beispiel wird die letzte Partition der Platte als Swap-Speicher genutzt, aber die zweite Partition ist die, dessen Gr��e ver�ndert werden soll. Weil der Swap-Speicher nur tempor�re Daten enth�lt, kann er gefahrlos ausgehangen, gel�scht und nachdem die Partition vergr��ert wurde, neu erstellt werden.</para> <screen>&prompt.root; <userinput>swapoff <replaceable>/dev/ada0p3</replaceable></userinput> &prompt.root; <userinput>gpart delete -i <replaceable>3</replaceable> <replaceable>ada0</replaceable></userinput> ada0p3 deleted &prompt.root; <userinput>gpart show <replaceable>ada0</replaceable></userinput> => 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 22708157 - free - (10G)</screen> <warning> <para>Es besteht die Gefahr von Datenverlust, wenn die Partitionstabelle eines eingehangenen Dateisystems ver�ndert wird. Es empfiehlt sich daher, die folgenden Schritte auf einem ausgehangenen Dateisystem durchzuf�hren, w�hrend die Umsetzung �ber eine Live-<acronym>CD-ROM</acronym> oder von einem <acronym>USB</acronym>-Ger�t erfolgt. Wenn es jedoch absolut notwendig ist, kann ein eingehangenes Dateisystem auch vergr��ert werden, nachdem die Sicherheitsfunktionen von GEOM deaktiviert wurden:</para> <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=16</userinput></screen> </warning> <para>Vergr��ern Sie die Partition und lassen Sie Platz, um die Swap-Partition in der gew�nschten Gr��e neu erstellen zu k�nnen. Dies �ndert nur die Gr��e der Partition. Das Dateisystem innerhalb der Partition wird in einem separaten Schritt erweitert.</para> <screen>&prompt.root; <userinput>gpart resize -i <replaceable>2</replaceable> -a 4k -s <replaceable>47G</replaceable> <replaceable>ada0</replaceable></userinput> ada0p2 resized &prompt.root; <userinput>gpart show <replaceable>ada0</replaceable></userinput> => 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 98566144 2 freebsd-ufs (47G) 98566306 3833661 - free - (1.8G)</screen> <para>Erstellen Sie die Swap-Partition neu:</para> <screen>&prompt.root; <userinput>gpart add -t freebsd-swap -a 4k <replaceable>ada0</replaceable></userinput> ada0p3 added &prompt.root; <userinput>gpart show <replaceable>ada0</replaceable></userinput> => 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 98566144 2 freebsd-ufs (47G) 98566306 3833661 3 freebsd-swap (1.8G) &prompt.root; <userinput>swapon <replaceable>/dev/ada0p3</replaceable></userinput></screen> <para>Erweitern Sie das <acronym>UFS</acronym>-Dateisystem, um die Kapazit�t der vergr��erten Partition zu nutzen:</para> <note> <para>Ab &os; 10.0-RELEASE ist es m�glich, ein eingehangenes Dateisystem zu erweitern. Bei �lteren Versionen muss das Dateisystem zuvor ausgehangen werden.</para> </note> <screen>&prompt.root; <userinput>growfs <replaceable>/dev/ada0p2</replaceable></userinput> Device is mounted read-write; resizing will result in temporary write suspension for /. It's strongly recommended to make a backup before growing the file system. OK to grow file system on /dev/ada0p2, mounted on /, from 38GB to 47GB? [Yes/No] <userinput>Yes</userinput> super-block backups (for fsck -b #) at: 80781312, 82063552, 83345792, 84628032, 85910272, 87192512, 88474752, 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432</screen> <para>Sowohl die Partition als auch das Dateisystem wurden jetzt vergr��ert, um den neu zur Verf�gung stehenden Speicherplatz zu nutzen.</para> </sect1> <sect1 xml:id="usb-disks"> <info><title><acronym>USB</acronym> Speichermedien</title> <authorgroup> <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> </info> <indexterm> <primary>USB</primary> <secondary>Speichermedien</secondary> </indexterm> <para>Der Universal Serial Bus (<acronym>USB</acronym>) wird von vielen externen Speichern benutzt: Festplatten, <acronym>USB</acronym>-Thumbdrives sowie von <acronym>CD</acronym>- und <acronym>DVD</acronym>-Brennern. &os; bietet Unterst�tzung f�r Ger�te mit <acronym>USB</acronym> 1.x, 2.0 und 3.0.</para> <note> <para>Die Unterst�tzung f�r<acronym>USB</acronym> 3.0 ist mit einiger Hardware, einschlie�lich Haswell (Lynx Point) Chips�tzen, nicht kompatibel. Wenn &os; beim Booten mit dem Fehler <errorname>failed with error 19</errorname> abbricht, m�ssen Sie xHCI/USB3 im <acronym>BIOS</acronym> deaktivieren.</para> </note> <para>Unterst�tzung f�r <acronym>USB</acronym>-Massenspeicher ist im <filename>GENERIC</filename>-Kernel enthalten. F�r einen angepassten Kernel m�ssen die nachstehenden Zeilen in der Kernelkonfigurationsdatei enthalten sein:</para> <programlisting>device scbus>>>>>>>># SCSI bus (required for ATA/SCSI) device da>>>>>>># Direct Access (disks) device pass>>>>># Passthrough device (direct ATA/SCSI access) device uhci>>>>># provides USB 1.x support device ohci>>>>># provides USB 1.x support device ehci>>>>># provides USB 2.0 support device xhci>>>>># provides USB 3.0 support device usb>>>>>># USB Bus (required) device umass>>>># Disks/Mass storage - Requires scbus and da device cd>>>>>>># needed for CD and DVD burners</programlisting> <para>&os; benutzt den &man.umass.4;-Treiber, der das <acronym>SCSI</acronym>-Subsystem verwendet um auf <acronym>USB</acronym>-Ger�te zuzugreifen. Da alle <acronym>USB</acronym>-Ger�te vom System als <acronym>SCSI</acronym>-Ger�te erkannt werden, d�rfen Sie <emphasis>nicht</emphasis> <option>device atapicam</option> in die Kernelkonfigurationsdatei aufnehmen, wenn es sich bei dem Ger�t um einen <acronym>CD</acronym>- oder <acronym>DVD</acronym>-Brenner handelt.</para> <para>Der �brige Abschnitt beschreibt, wie Sie �berpr�fen k�nnen ob ein <acronym>USB</acronym>-Ger�t von &os; erkannt wird und wie Sie das Ger�t so konfigurieren, dass es verwendet werden kann.</para> <sect2> <title>Konfiguration von Ger�ten</title> <para>Um die <acronym>USB</acronym>-Konfiguration zu testen, schlie�en Sie das <acronym>USB</acronym>-Ger�t an. Verwenden Sie <command>dmesg</command> um zu �berpr�fen, ob das Ger�t in den Systemmeldungen erscheint. Dies sollte in etwa so aussehen:</para> <screen>umass0: <STECH Simple Drive, class 0/0, rev 2.00/1.04, addr 3> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x0100 umass0:4:0:-1: Attached to scbus4 da0 at umass-sim0 bus 0 scbus4 target 0 lun 0 da0: <STECH Simple Drive 1.04> Fixed Direct Access SCSI-4 device da0: Serial Number WD-WXE508CAN263 da0: 40.000MB/s transfers da0: 152627MB (312581808 512 byte sectors: 255H 63S/T 19457C) da0: quirks=0x2<NO_6_BYTE></screen> <para>Fabrikat, Ger�tedatei (<filename>da0</filename>), Geschwindigkeit und Kapazit�t werden je nach Ger�t unterschiedlich sein.</para> <para>Da ein <acronym>USB</acronym>-Ger�t als <acronym>SCSI</acronym>-Ger�t erkannt wird, kann <command>camcontrol</command> benutzt werden, um die mit dem System verbundenen <acronym>USB</acronym>-Massenspeicher anzuzeigen:</para> <screen>&prompt.root; <userinput>camcontrol devlist</userinput> <STECH Simple Drive 1.04> at scbus4 target 0 lun 0 (pass3,da0)</screen> <para>Alternativ kann <command>usbconfig</command> benutzt werden, um die Ger�te aufzulisten. Weitere Informationen zu diesem Kommando finden Sie in &man.usbconfig.8;.</para> <screen>&prompt.root; <userinput>usbconfig</userinput> ugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)</screen> <para>Wenn das Ger�t noch nicht formatiert ist, finden Sie in <xref linkend="disks-adding"/> Informationen, wie Sie <acronym>USB</acronym>-Laufwerke formatieren und Partitionen einrichten. Wenn das Laufwerk bereits ein Dateisystem enth�lt, kann es von <systemitem class="username">root</systemitem> nach den Anweisungen in <xref linkend="mount-unmount"/> eingeh�ngt werden.</para> <warning> <para>Aus Sicherheitsgr�nden sollten Sie Benutzern, denen Sie nicht vertrauen, das Einh�ngen (z.B. durch die unten beschriebene Aktivierung von <literal>vfs.usermount</literal>) beliebiger Medien verbieten. Die meisten Dateisysteme wurden nicht entwickelt, um sich vor b�swilligen Ger�ten zu sch�tzen.</para> </warning> <para>Um auch normalen Anwendern das Einh�ngen des Laufwerks zu gestatten, k�nnten Sie beispielsweise mit &man.pw.8; alle potentiellen Benutzer dieser Ger�tedateien in die Gruppe <systemitem class="groupname">operator</systemitem> aufnehmen. Au�erdem muss sichergestellt werden, dass <systemitem class="groupname">operator</systemitem> Schreib- und Lesezugriff auf diese Ger�tedateien haben. Hierf�r werden die folgenden Zeilen in <filename>/etc/devfs.rules</filename> hinzugef�gt:</para> <programlisting>[localrules=5] add path 'da*' mode 0660 group operator</programlisting> <note> <para>Verf�gt das System �ber interne <acronym>SCSI</acronym>-Laufwerke, so ver�ndern Sie die zweite Zeile wie folgt:</para> <programlisting>add path 'da[<replaceable>3</replaceable>-9]*' mode 0660 group operator</programlisting> <para>Dies wird die ersten drei <acronym>SCSI</acronym>-Laufwerke (<filename>da0</filename> bis <filename>da2</filename>) davon ausschlie�en, in die Gruppe <systemitem class="groupname">operator</systemitem> aufgenommen zu werden. Ersetzen Sie <literal>3</literal> durch die Anzahl der <acronym>SCSI</acronym>-Laufwerke. Weitere Informationen zu dieser Datei finden Sie in &man.devfs.rules.5;.</para> </note> <para>Aktivieren Sie nun die Regeln in <filename>/etc/rc.conf</filename>:</para> <programlisting>devfs_system_ruleset="localrules"</programlisting> <para>Als n�chstes m�ssen Sie das System anweisen, auch normalen Benutzern das mounten von Dateisystemen zu erlauben, indem Sie die folgende Zeile in <filename>/etc/sysctl.conf</filename> hinzuf�gen:</para> <programlisting>vfs.usermount=1</programlisting> <para>Da diese Einstellung erst nach einem Neustart wirksam wird, k�nnen Sie diese Variable mit <command>sysctl</command> auch direkt setzen:</para> <screen>&prompt.root; <userinput>sysctl vfs.usermount=1</userinput> vfs.usermount: 0 -> 1</screen> <para>Zuletzt m�ssen Sie noch ein Verzeichnis anlegen, in das das <acronym>USB</acronym>-Laufwerk eingeh�ngt werden soll. Dieses Verzeichnis muss dem Benutzer geh�ren, der das <acronym>USB</acronym>-Laufwerk in den Verzeichnisbaum einh�ngen will. Dazu legen Sie als <systemitem class="username">root</systemitem> ein Unterverzeichnis <filename class="directory">/mnt/<replaceable>username</replaceable></filename> an, wobei Sie <replaceable>username</replaceable> durch den Login des jeweiligen Benutzers sowie <replaceable>usergroup</replaceable> durch die prim�re Gruppe des Benutzers ersetzen:</para> <screen>&prompt.root; <userinput>mkdir /mnt/<replaceable>username</replaceable></userinput> &prompt.root; <userinput>chown <replaceable>username</replaceable>:<replaceable>usergroup</replaceable> /mnt/<replaceable>username</replaceable></userinput></screen> <para>Wenn Sie nun beispielsweise einen <acronym>USB</acronym>-Stick anschlie�en, wird automatisch die Ger�tedatei <filename>/dev/da0s1</filename> erzeugt. Ist das Ger�t mit einem <acronym>FAT</acronym>-Dateisystem formatiert, kann es der Benutzer mit dem folgenden Befehl in den Verzeichnisbaum einh�ngen:</para> <screen>&prompt.user; <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/<replaceable>username</replaceable></userinput></screen> <para>Bevor das Ger�t entfernt werden kann, <emphasis>muss</emphasis> es abgeh�ngt werden:</para> <screen>&prompt.root; <userinput>umount /mnt/<replaceable>username</replaceable></userinput></screen> <para>Nach Entfernen des Ger�ts stehen in den Systemmeldungen Eintr�ge, �hnlich der folgenden:</para> <screen>umass0: at uhub3, port 2, addr 3 (disconnected) da0 at umass-sim0 bus 0 scbus4 target 0 lun 0 da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached (da0:umass-sim0:0:0:0): Periph destroyed</screen> </sect2> </sect1> <sect1 xml:id="creating-cds"> <info> <title>Erstellen und Verwenden von <acronym>CD</acronym>s</title> <authorgroup> <author> <personname> <firstname>Mike</firstname> <surname>Meyer</surname> </personname> <contrib>Beigesteuert von </contrib></author> </authorgroup> </info> <indexterm> <primary><acronym>CD-ROM</acronym>s</primary> <secondary>brennen</secondary> </indexterm> <para><acronym>CD</acronym>s besitzen einige Eigenschaften, die sie von konventionellen Laufwerken unterscheiden. Sie wurden so entworfen, dass sie ununterbrochen, ohne Verz�gerungen durch Kopfbewegungen zwischen den Spuren, gelesen werden k�nnen. <acronym>CD</acronym>s besitzen Spuren, aber damit ist der Teil Daten gemeint, der ununterbrochen gelesen wird, und nicht eine physikalische Eigenschaft der <acronym>CD</acronym>. Das <acronym>ISO</acronym> 9660-Dateisystem wurde entworfen, um mit diesen Unterschieden umzugehen.</para> <indexterm><primary><acronym>ISO</acronym> 9660</primary></indexterm> <indexterm> <primary>Dateisysteme</primary> <secondary>ISO 9660</secondary> </indexterm> <indexterm> <primary><acronym>CD</acronym>-Brenner</primary> <secondary><acronym>ATAPI</acronym></secondary> </indexterm> <para>Die &os; Ports-Sammlung bietet einige Werkzeuge zum Brennen und Kopieren von Audio- und Daten-<acronym>CD</acronym>s. Dieses Kapitel beschreibt die Verwendung von mehreren Kommandozeilen-Werkzeugen. Wenn Sie eine graphische Oberfl�che zum Brennen von <acronym>CD</acronym>s benutzen, k�nnen Sie <package>sysutils/xcdroast</package> oder <package>sysutils/k3b</package> installieren.</para> <sect2 xml:id="atapicam"> <info> <title>Unterst�tzte Ger�te</title> <authorgroup> <author> <personname> <firstname>Marc</firstname> <surname>Fonvielle</surname> </personname> <contrib>Beigetragen von </contrib> </author> </authorgroup> </info> <indexterm> <primary><acronym>CD</acronym>-Brenner</primary> <secondary>ATAPI/CAM Treiber</secondary> </indexterm> <para>Der <filename>GENERIC</filename>-Kernel enth�lt Unterst�tzung f�r <acronym>SCSI</acronym>, <acronym>USB</acronym> und <acronym>ATAPI</acronym> <acronym>CD</acronym> Leseger�te und Brenner. Wird ein angepasster Kernel erstellt, unterscheiden sich die Optionen f�r die Kernelkonfigurationsdatei je nach Art des Ger�ts.</para> <para>F�r einen <acronym>SCSI</acronym>-Brenner m�ssen folgende Optionen vorhanden sein:</para> <programlisting>device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) device cd # needed for CD and DVD burners</programlisting> <para>F�r einen <acronym>USB</acronym>-Brenner m�ssen folgende Optionen vorhanden sein:</para> <programlisting>device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) device cd> # needed for CD and DVD burners device uhci # provides USB 1.x support device ohci # provides USB 1.x support device ehci # provides USB 2.0 support device xhci # provides USB 3.0 support device usb # USB Bus (required) device umass # Disks/Mass storage - Requires scbus and da</programlisting> <para>F�r einen <acronym>ATAPI</acronym>-Brenner m�ssen folgende Optionen vorhanden sein:</para> <programlisting>device ata # Legacy ATA/SATA controllers device scbus # SCSI bus (required for ATA/SCSI) device pass # Passthrough device (direct ATA/SCSI access) device cd # needed for CD and DVD burners</programlisting> <note> <para>Unter &os; Versionen kleiner 10.x wird auch diese Option in der Kernelkonfigurationsdatei ben�tigt, falls der Brenner ein <acronym>ATAPI</acronym>-Ger�t ist:</para> <programlisting>device atapicam</programlisting> <para>Alternativ kann folgende Zeile in <filename>/boot/loader.conf</filename> hinzugef�gt werden, um den Treiber beim Booten automatisch zu laden:</para> <programlisting>atapicam_load="YES"</programlisting> <para>Hierzu ist ein Neustart des Systems erforderlich, da dieser Treiber nur beim Booten geladen werden kann.</para> </note> <para>Mit <command>dmesg</command> k�nnen Sie pr�fen, ob das Ger�t von &os; erkannt wurde. Unter &os; Versionen kleiner 10.x lautet der Ger�tename <filename>acd0</filename> anstelle von <filename>cd0</filename>.</para> <screen>&prompt.user; <userinput>dmesg | grep cd</userinput> cd0 at ahcich1 bus 0 scbus1 target 0 lun 0 cd0: <HL-DT-ST DVDRAM GU70N LT20> Removable CD-ROM SCSI-0 device cd0: Serial Number M3OD3S34152 cd0: 150.000MB/s transfers (SATA 1.x, UDMA6, ATAPI 12bytes, PIO 8192bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed</screen> </sect2> <sect2 xml:id="cdrecord"> <title>Eine <acronym>CD</acronym> brennen</title> <para>Unter &os; kann <command>cdrecord</command> zum Brennen von <acronym>CD</acronym>s benutzt werden. Dieses Programm wird aus dem Port oder Paket <package>sysutils/cdrecord</package>installiert.</para> <para>Obwohl <command>cdrecord</command> viele Optionen besitzt, ist die grundlegende Benutzung sehr einfach. Geben Sie den Namen der zu brennenden ISO-Datei an. Wenn das System �ber mehrere Brenner verf�gt, m�ssen Sie auch den Namen des Ger�tes angeben:</para> - <screen>&prompt.root; <userinput>cdrecord dev=<replaceable>device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen> + <screen>&prompt.root; <userinput>cdrecord <replaceable>dev=device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen> - <para>Der Knackpunkt in der Benutzung von - <command>cdrecord</command> besteht darin, das richtige - Argument zu <option>dev</option> zu finden. Benutzen Sie - <option>-scanbus</option>, das eine �hnliche Ausgabe - wie die folgende produziert:</para> + <para>Benutzen Sie <option>-scanbus</option> um den Ger�tenamen + des Brenners zu bestimmen. Die Ausgabe k�nnte wie folgt + aussehen:</para> <indexterm> <primary><acronym>CD-ROM</acronym></primary> <secondary>brennen</secondary> </indexterm> <screen>&prompt.root; <userinput>cdrecord -scanbus</userinput> -Cdrecord 1.9 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 J�rg Schilling -Using libscg version 'schily-0.1' +ProDVD-ProBD-Clone 3.00 (amd64-unknown-freebsd10.0) Copyright (C) 1995-2010 J�rg Schilling +Using libscg version 'schily-0.9' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) *</screen> - <para>F�r die aufgef�hrten Ger�te in der Liste - wird das passende Argument zu <option>dev</option> gegeben. - Benutzen Sie die drei durch Kommas separierten Zahlen, die zum - <acronym>CD</acronym>-Brenner angegeben sind, als Argument f�r - <option>dev</option>. Im Beispiel ist das CDRW-Ger�t - 1,5,0, so dass die passende Eingabe - <userinput>dev=1,5,0</userinput> ist. Einfachere Wege das + <para>Benutzen Sie die drei durch Kommas separierten Zahlen, die + f�r den <acronym>CD</acronym>-Brenner angegeben sind, als + Argument f�r <option>dev</option>. Im Beispiel ist das + Yamaha-Ger�t <literal>1,5,0</literal>, so dass die passende + Eingabe <option>dev=1,5,0</option> ist. Einfachere Wege das Argument anzugeben, sowie Informationen �ber Audiospuren und - das Einstellen der Geschwindigkeit, sind in &man.cdrecord.1; - beschrieben.</para> + das Einstellen der Geschwindigkeit, sind in der Manualpage von + <command>cdrecord</command> beschrieben.</para> <para>Alternativ k�nnen Sie den folgenden Befehl ausf�hren, um die Ger�teadresse des Brenners zu ermitteln:</para> <screen>&prompt.root; <userinput>camcontrol devlist</userinput> <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (cd0,pass0)</screen> <para>Verwenden Sie die numerischen Werte f�r <literal>scbus</literal>, <literal>target</literal> und <literal>lun</literal>. F�r dieses Beispiel w�re <literal>1,0,0</literal> als Ger�tename zu verwenden.</para> </sect2> <sect2 xml:id="mkisofs"> - <title>Ein <acronym>ISO</acronym>-Dateisystem erstellen</title> + <title>Daten auf <acronym>ISO</acronym>-Dateisystem + schreiben</title> <para>Die Datendateien m�ssen vorbereitet sein, bevor sie auf eine <acronym>CD</acronym> gebrannt werden. In &os; wird <command>mkisofs</command> vom Paket oder Port <package>sysutils/cdrtools</package> installiert. Dieses Programm kann aus einem &unix; Verzeichnisbaum ein <acronym>ISO</acronym> 9660-Dateisystem erzeugen. Im einfachsten Fall m�ssen Sie lediglich den Namen der zu erzeugenden <acronym>ISO</acronym>-Datei und den Pfad zu den Dateien angeben, die auf dem <acronym>ISO</acronym> 9660-Dateisystem platziert werden:</para> <screen>&prompt.root; <userinput>mkisofs -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/tree</replaceable></userinput></screen> - <indexterm> <primary>Dateisysteme</primary> <secondary>ISO 9660</secondary> </indexterm> - <para>Dieses Kommando erstellt - <replaceable>imagefile.iso</replaceable>, die ein ISO - 9660-Dateisystem enth�lt, das eine Kopie des Baumes unter - <replaceable>/path/to/tree</replaceable> ist. Dabei werden - die Dateinamen auf Namen abgebildet, die den Restriktionen des - ISO 9660-Dateisystems entsprechen. Dateien mit Namen, die im - ISO 9660-Dateisystem nicht g�ltig sind, bleiben - unber�cksichtigt.</para> + <para>Bei diesem Kommando werden die Dateinamen auf Namen + abgebildet, die den Restriktionen des <acronym>ISO</acronym> + 9660-Dateisystem entsprechen. Dateien, die diesem Standard + nicht entsprechen bleiben unber�cksichtigt.</para> + <indexterm> <primary>Dateisysteme</primary> - <secondary>HFS</secondary> - </indexterm> - <indexterm> - <primary>Dateisysteme</primary> <secondary>Joliet</secondary> </indexterm> - <para>Es einige Optionen, um diese Beschr�nkungen zu �berwinden. - Die unter &unix; Systemen �blichen Rock-Ridge-Erweiterungen - werden durch <option>-R</option> aktiviert, - <option>-J</option> aktiviert die von Microsoft Systemen - benutzten Joliet-Erweiterungen und <option>-hfs</option> dient - dazu, um das von &macos; benutzte HFS zu erstellen.</para> + <para>Es gibt einige Optionen, um die Beschr�nkungen dieses + Standards zu �berwinden. Die unter &unix; Systemen �blichen + Rock-Ridge-Erweiterungen werden durch <option>-R</option> + aktiviert und <option>-J</option> aktiviert die von Microsoft + Systemen benutzten Joliet-Erweiterungen.</para> + <para>F�r <acronym>CD</acronym>s, die nur auf &os;-Systemen verwendet werden sollen, kann <option>-U</option> genutzt werden, um alle Beschr�nkungen f�r Dateinamen aufzuheben. Zusammen mit <option>-R</option> wird ein Abbild des Dateisystems, - identisch zu angegebenen &os;-Dateibaum, erstellt, obwohl dies - den ISO 9660 Standard verletzen kann.</para> + identisch zu angegebenen &os;-Dateibaum erstellt, selbst wenn + dies den <acronym>ISO</acronym> 9660 Standard verletzt.</para> <indexterm> <primary><acronym>CD-ROM</acronym></primary> <secondary>bootbare erstellen</secondary> </indexterm> + <para>Die letzte �bliche Option ist <option>-b</option>. Sie wird benutzt, um den Ort eines Bootimages einer <quote>El Torito</quote> bootbaren <acronym>CD</acronym> anzugeben. Das Argument zu dieser Option ist der Pfad zu einem Bootimage ausgehend von der Wurzel des Baumes, der auf die <acronym>CD</acronym> geschrieben werden - soll. In der Voreinstellung erzeugt &man.mkisofs.8; ein - ISO-Image im <quote>Diskettenemulations</quote>-Modus. Dabei + soll. In der Voreinstellung erzeugt + <command>mkisofs</command> ein <acronym>ISO</acronym>-Image im + <quote>Diskettenemulations</quote>-Modus. Dabei muss das Image genau 1200, 1440 oder 2880 KB gro� - sein. Einige Bootloader, darunter der auf den &os;-Disks - verwendete, kennen keinen Emulationsmodus. Daher sollten Sie - in diesen F�llen <option>-no-emul-boot</option> verwenden. + sein. Einige Bootloader, darunter der auf den &os; Installationsmedien + verwendete, kennen keinen Emulationsmodus. Daher sollte + in diesen F�llen <option>-no-emul-boot</option> verwendet werden. Wenn <filename>/tmp/myboot</filename> ein bootbares &os;-System enth�lt, dessen Bootimage sich in - <filename>/tmp/myboot/boot/cdboot</filename> befindet, k�nnen - Sie ein Abbild eines ISO 9660-Dateisystems in + <filename>/tmp/myboot/boot/cdboot</filename> befindet, dann + w�rde folgendes Kommando <filename>/tmp/bootable.iso</filename> erstellen:</para> <screen>&prompt.root; <userinput>mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput></screen> - <para>Wenn <filename>md</filename> im Kernel konfiguriert ist, - kann das Dateisystem als speicherbasiertes Laufwerk - eingeh�ngt werden:</para> + <para>Das resultierende <acronym>ISO</acronym>-Abbild kann als + speicherbasiertes Laufwerk eingeh�ngt werden:</para> <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput> &prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen> <para>Jetzt k�nnen Sie �berpr�fen, dass <filename>/mnt</filename> und <filename>/tmp/myboot</filename> identisch sind.</para> - <para>Sie k�nnen das Verhalten von &man.mkisofs.8; + <para>Sie k�nnen das Verhalten von <command>mkisofs</command> mit einer Vielzahl von Optionen beeinflussen. Details dazu entnehmen Sie bitte &man.mkisofs.8;.</para> + + <note> + <para>Es ist m�glich eine Daten-<acronym>CD</acronym> in eine + Datei zu kopieren, die einem Image entspricht, das mit + <command>mkisofs</command> erstellt wurde. Verwenden Sie + dazu <command>dd</command> mit dem Ger�tenamen als + Eingabedatei und den Namen der <acronym>ISO</acronym> als + Ausgabedatei:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/<replaceable>cd0</replaceable> of=<replaceable>file.iso</replaceable> bs=2048</userinput></screen> + + <para>Das resultierende Abbild kann auf eine + <acronym>CD</acronym> gebrannt werden, wie in <xref + linkend="cdrecord"/> beschrieben.</para> + </note> </sect2> <sect2 xml:id="duplicating-audiocds"> <title>Kopieren von Audio-<acronym>CD</acronym>s</title> <para>Um eine Kopie einer Audio-<acronym>CD</acronym> zu erstellen, kopieren Sie die St�cke der <acronym>CD</acronym> in einzelne Dateien und brennen diese Dateien dann auf eine leere <acronym>CD</acronym>. Das genaue Verfahren h�ngt davon ab, ob Sie <acronym>ATAPI</acronym>- oder <acronym>SCSI</acronym>-Laufwerke verwenden.</para> <procedure> <title><acronym>SCSI</acronym>-Laufwerke</title> <step> <para>Kopieren Sie die Audiodaten mit <command>cdda2wav</command>:</para> <screen>&prompt.user; <userinput>cdda2wav -vall -D2,0 -B -Owav</userinput></screen> </step> <step> <para>Die erzeugten <filename>.wav</filename> Dateien schreiben Sie mit <command>cdrecord</command> auf eine leere <acronym>CD</acronym>:</para> <screen>&prompt.user; <userinput>cdrecord -v dev=<replaceable>2,0</replaceable> -dao -useinfo *.wav</userinput></screen> <para>Das Argument von <option>dev</option> gibt das verwendete Ger�t an, das wie in <xref linkend="cdrecord"/> ermittelt werden kann.</para> </step> </procedure> <procedure> <title><acronym>ATAPI</acronym>-Laufwerke</title> <note> <para>�ber das Modul <link linkend="atapicam">ATAPI/CAM</link> kann <command>cdda2wav</command> auch mit <acronym>ATAPI</acronym>-Laufwerken verwendet werden. Diese Methode ist f�r die meisten Anwender besser geeignet als die im folgenden beschriebenen Methoden (Jitter-Korrektur, Big-/Little-Endian-Probleme und anderes mehr spielen hierbei eine Rolle).</para> </note> <step> <para>Der <acronym>ATAPI</acronym>-<acronym>CD</acronym>-Treiber stellt die einzelnen St�cke der <acronym>CD</acronym> �ber die Dateien <filename>/dev/acd<replaceable>d</replaceable>t<replaceable>nn</replaceable></filename>, zur Verf�gung. <replaceable>d</replaceable> bezeichnet die Laufwerksnummer und <replaceable>nn</replaceable> ist die Nummer des St�cks. Die Nummer ist immer zweistellig, das hei�t es wird, wenn n�tig, eine f�hrende Null ausgegeben. Die Datei <filename>/dev/acd0t01</filename> ist also das erste St�ck des ersten <acronym>CD</acronym>-Laufwerks. <filename>/dev/acd0t02</filename> ist das zweite St�ck und <filename>/dev/acd0t03</filename> das dritte.</para> <para>�berpr�fen Sie stets, ob die entsprechenden Dateien im Verzeichnis <filename>/dev</filename> auch angelegt werden. Sind die Eintr�ge nicht vorhanden, weisen Sie Ihr System an, das Medium erneut zu testen:</para> <screen>&prompt.root; <userinput>dd if=/dev/acd0 of=/dev/null count=1</userinput></screen> <note> <para>Unter &os; 4.X werden diese Eintr�ge nicht mit dem Wert Null vordefiniert. Falls die entsprechenden Eintr�ge unter <filename>/dev</filename> nicht vorhanden sind, m�ssen Sie diese hier von <command>MAKEDEV</command> anlegen lassen:</para> <screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen> </note> </step> <step> <para>Die einzelnen St�cke werden mit &man.dd.1; kopiert. Achten Sie darauf, eine Blockgr��e anzugeben:</para> <screen>&prompt.root; <userinput>dd if=/dev/acd0t01 of=track1.cdr bs=2352</userinput> &prompt.root; <userinput>dd if=/dev/acd0t02 of=track2.cdr bs=2352</userinput> ...</screen> </step> <step> <para>Die kopierten Dateien k�nnen Sie dann mit <command>cdrecord</command> brennen. Geben Sie an, dass es sich um Audio-Daten handelt und dass <command>cdrecord</command> das Medium am Ende fixieren soll.</para> <!-- Update example for cdrecord <screen>&prompt.root; <userinput>burncd -f <replaceable>/dev/acd0</replaceable> audio track1.cdr track2.cdr <replaceable>...</replaceable> fixate</userinput></screen> --> </step> </procedure> - </sect2> - - <sect2 xml:id="imaging-cd"> - <title>Kopieren von Daten-<acronym>CD</acronym>s</title> - - <para>Es ist m�glich eine Daten-<acronym>CD</acronym> in eine - Datei zu kopieren, die einem Image entspricht, das mit - &man.mkisofs.8; erstellt wurde. Mit Hilfe dieses Images - k�nnen Sie jede Daten-<acronym>CD</acronym> kopieren. Das - folgende Beispiel verwendet <filename>acd0</filename> f�r das - <acronym>CD-ROM</acronym>-Ger�t. Wird ein anderes Laufwerk - benutzt, muss der Name entsprechend ersetzt werden.</para> - - <screen>&prompt.root; <userinput>dd if=/dev/acd0 of=file.iso bs=2048</userinput></screen> - - <para>Danach existiert ein Image, das wie oben beschrieben, auf - <acronym>CD</acronym> gebrannt werden kann.</para> </sect2> <sect2 xml:id="mounting-cd"> <title>Einh�ngen von Daten-<acronym>CD</acronym>s</title> <para>�ber den Ger�tenamen <filename>/dev/cd0</filename> kann nun auf das Laufwerk zugegriffen werden. Um beispielsweise eine <acronym>CD-ROM</acronym> in <filename>/mnt</filename> einzuh�ngen, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>mount -t cd9660 <replaceable>/dev/cd0</replaceable> /mnt</userinput></screen> <para>Es ist m�glich, eine Daten-<acronym>CD</acronym> zu mounten und die Daten zu lesen. Standardm��ig erwartet &man.mount.8; ein Dateisystem vom Typ <literal>ufs</literal>. Wenn Sie das folgende Kommando ausf�hren:</para> <screen>&prompt.root; <userinput>mount /dev/cd0 /mnt</userinput></screen> <para>erhalten Sie die Fehlermeldung <errorname>Incorrect super block</errorname>, und die <acronym>CD</acronym> konnte nicht eingeh�ngt werden. Die <acronym>CD</acronym> benutzt nicht das <literal>UFS</literal>-Dateisystem, deshalb schl�gt der Versuch fehl, sie als solches einzuh�ngen. Sie m�ssen &man.mount.8; durch die Angabe von <option>-t cd9660</option> sagen, dass es sich um ein Dateisystem vom Typ <literal>ISO9660</literal> handelt. Wenn Sie also die <acronym>CD-ROM</acronym> <filename>/dev/cd0</filename> in <filename>/mnt</filename> einh�ngen wollen, f�hren Sie folgenden Befehl aus:</para> <screen>&prompt.root; <userinput>mount -t cd9660 <replaceable>/dev/cd0</replaceable> /mnt</userinput></screen> <para>Ersetzen Sie <filename>/dev/cd0</filename> durch den Ger�tenamen des <acronym>CD</acronym>-Ger�tes. Die Angabe von <option>-t cd9660</option> f�hrt &man.mount.cd9660.8; aus, was �quivalent zu folgendem Befehl ist:</para> <screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0 /mnt</userinput></screen> <para>Auf diese Weise k�nnen Sie Daten-<acronym>CD</acronym>s von jedem Hersteller verwenden. Es kann allerdings zu Problemen mit <acronym>CD</acronym>s kommen, die verschiedene ISO9660-Erweiterungen benutzen. So speichern Joliet-<acronym>CD</acronym>s alle Dateinamen unter Verwendung von zwei Byte langen Unicode-Zeichen. Zwar unterst�tzt der &os;-Kernel derzeit noch kein Unicode, der CD9660-Treiber erlaubt es aber, zur Laufzeit eine Konvertierungstabelle zu laden. Tauchen also statt bestimmter Zeichen nur Fragezeichen auf, so m�ssen Sie �ber die Option <option>-C</option> den ben�tigten Zeichensatz angeben. Weitere Informationen zu diesem Problem finden Sie in der Manualpage &man.mount.cd9660.8;.</para> <note> <para>Damit der Kernel diese Zeichenkonvertierung (festgelegt durch die Option <option>-C</option>) erkennt, m�ssen Sie das Kernelmodul <filename>cd9660_iconv.ko</filename> laden. Dazu f�gen Sie folgende Zeile in <filename>loader.conf</filename> ein:</para> <programlisting>cd9660_iconv_load="YES"</programlisting> <para>Danach m�ssen Sie allerdings Ihr System neu starten. Alternativ k�nnen Sie das Kernelmodul auch direkt �ber &man.kldload.8; laden.</para> </note> <para>Manchmal werden Sie die Meldung <errorname>Device not configured</errorname> erhalten, wenn Sie versuchen, eine <acronym>CD-ROM</acronym> einzuh�ngen. F�r gew�hnlich liegt das daran, dass das Laufwerk meint es sei keine <acronym>CD</acronym> eingelegt, oder dass das Laufwerk auf dem Bus nicht erkannt wird. Es kann einige Sekunden dauern, bevor das Laufwerk merkt, dass eine <acronym>CD</acronym> eingelegt wurde. Seien Sie also geduldig.</para> <para>Manchmal wird ein <acronym>SCSI</acronym>-<acronym>CD-ROM</acronym> nicht erkannt, weil es keine Zeit hatte, auf das Zur�cksetzen des Busses zu antworten. Wenn Sie ein <acronym>SCSI</acronym>-<acronym>CD-ROM</acronym> besitzen, sollten Sie die folgende Zeile in die Kernelkonfiguration aufnehmen und einen neuen <link linkend="kernelconfig-building">Kernel bauen</link>:</para> <programlisting>options SCSI_DELAY=15000</programlisting> <para>Die Zeile bewirkt, dass nach dem Zur�cksetzen des <acronym>SCSI</acronym>-Busses beim Booten 15 Sekunden gewartet wird, um dem <acronym>CD-ROM</acronym>-Laufwerk gen�gend Zeit zu geben, darauf zu antworten.</para> </sect2> <sect2 xml:id="rawdata-cd"> <title>Brennen von rohen CDs</title> <para>Es ist m�glich eine Datei auch direkt auf eine <acronym>CD</acronym> zu brennen, ohne vorher auf ihr ein ISO 9660-Dateisystem einzurichten. Einige Leute nutzen dies, um Datensicherungen durchzuf�hren. Diese Vorgehensweise hat den Vorteil, dass sie schneller als das Brennen einer normalen <acronym>CD</acronym> ist.</para> <!-- Update example for cdrecord <screen>&prompt.root; <userinput>burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate</userinput></screen> --> <para>Um die Daten einer solchen <acronym>CD</acronym> abzurufen, m�ssen die Daten direkt von dem rohen Ger�t gelesen werden:</para> <screen>&prompt.root; <userinput>tar xzvf /dev/acd1</userinput></screen> <para>Eine auf diese Weise gefertigte <acronym>CD</acronym> kann nicht in das Dateisystem eingehangen werden. Sie kann auch nicht auf einem anderen Betriebssystem gelesen werden. Wenn Sie die erstellten <acronym>CD</acronym>s in das Dateisystem einh�ngen oder mit anderen Betriebssystemen austauschen wollen, m�ssen Sie &man.mkisofs.8; wie oben beschrieben benutzen.</para> </sect2> </sect1> <sect1 xml:id="creating-dvds"> <info> <title><acronym>DVD</acronym>s benutzen</title> <authorgroup> <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> <authorgroup> <author><personname><firstname>Andy</firstname><surname>Polyakov</surname></personname><contrib>Mit Beitr�gen von </contrib></author> </authorgroup> </info> <indexterm> <primary><acronym>DVD</acronym></primary> <secondary>brennen</secondary> </indexterm> <para>Nach der <acronym>CD</acronym> ist die <acronym>DVD</acronym> die n�chste Generation optischer Speichermedien. Auf einer <acronym>DVD</acronym> k�nnen mehr Daten als auf einer <acronym>CD</acronym> gespeichert werden. <acronym>DVD</acronym>s werden als Standardmedium f�r Videos verwendet.</para> <para>F�r beschreibbare <acronym>DVD</acronym>s existieren f�nf Medienformate:</para> <itemizedlist> <listitem> <para>DVD-R: Dies war das erste verf�gbare Format. Das Format wurde vom <link xlink:href="http://www.dvdforum.com/forum.shtml">DVD-Forum</link> festgelegt. Die Medien sind nur einmal beschreibbar.</para> </listitem> <listitem> <para><acronym>DVD-RW</acronym>: Dies ist die wiederbeschreibbare Version des DVD-R Standards. Eine <acronym>DVD-RW</acronym> kann ungef�hr 1000 Mal beschrieben werden.</para> </listitem> <listitem> <para><acronym>DVD-RAM</acronym>: Dies ist ein wiederbeschreibbares Format, das wie ein Wechsellaufwerk betrachtet werden kann. Allerdings sind die Medien nicht kompatibel zu den meisten <acronym>DVD-ROM</acronym>-Laufwerken und DVD-Video-Spielern, da das <acronym>DVD-RAM-Format</acronym> nur von wenigen Brennern unterst�tzt wird. Informationen zur Nutzung von <acronym>DVD-RAM</acronym> finden Sie in <xref linkend="creating-dvd-ram"/>.</para> </listitem> <listitem> <para><acronym>DVD+RW</acronym>: Ist ein wiederbeschreibbares Format, das von der <link xlink:href="http://www.dvdrw.com/"><acronym>DVD+RW</acronym> Alliance</link> festgelegt wurde. Eine <acronym>DVD+RW</acronym> kann ungef�hr 1000 Mal beschrieben werden.</para> </listitem> <listitem> <para>DVD+R: Dieses Format ist die nur einmal beschreibbare Variante des <acronym>DVD+RW</acronym> Formats.</para> </listitem> </itemizedlist> <para>Auf einer einfach beschichteten <acronym>DVD</acronym> k�nnen 4.700.000.000 Bytes gespeichert werden. Das sind 4,38 GB oder 4485 MB (1 Kilobyte sind 1024 Bytes).</para> <note> <para>Die physischen Medien sind unabh�ngig von der Anwendung. Ein DVD-Video ist eine spezielle Anordnung von Dateien, die auf irgendein Medium, beispielsweise DVD-R, DVD+R oder <acronym>DVD-RW</acronym> geschrieben werden kann. Bevor Sie ein Medium ausw�hlen, m�ssen Sie sicherstellen, dass der Brenner und der DVD-Spieler mit dem Medium umgehen k�nnen.</para> </note> <sect2> <title>Konfiguration</title> <para>Benutzen Sie &man.growisofs.1;, um <acronym>DVD</acronym>s zu beschreiben. Das Kommando ist Bestandteil von <package>sysutils/dvd+rw-tools</package>, und kann mit allen <acronym>DVD</acronym>-Medien umgehen.</para> <para>Diese Werkzeuge verwenden das <acronym>SCSI</acronym>-Subsystem, um auf die Ger�te zuzugreifen. Daher muss <link linkend="atapicam">ATAPI/CAM-Unterst�tzung</link> geladen, oder statisch in den Kernel kompiliert werden. Sollte der Brenner jedoch die <acronym>USB</acronym>-Schnittstelle nutzen, wird diese Unterst�tzung nicht ben�tigt. Weitere Informationen zur Konfiguration von <acronym>USB</acronym>-Ger�ten finden Sie in <xref linkend="usb-disks"/>.</para> <para>F�r <acronym>ATAPI</acronym>-Ger�te m�ssen ebenfalls DMA-Zugriffe aktiviert werden. Dazu wird die folgende Zeile in <filename>/boot/loader.conf</filename> eingef�gt:</para> <programlisting>hw.ata.atapi_dma="1"</programlisting> <para>Bevor Sie <application>dvd+rw-tools</application> benutzen, lesen Sie bitte die Hardware-Informationen auf der Seite <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/hcn.html">Hardware Compatibility Notes</link>.</para> <note> <para>F�r eine grafische Oberfl�che sollten Sie sich <package>sysutils/k3b</package> ansehen, das eine benutzerfreundliche Schnittstelle zu &man.growisofs.1; und vielen anderen Werkzeugen bietet.</para> </note> </sect2> <sect2> <title>Daten-<acronym>DVD</acronym>s brennen</title> <para>&man.growisofs.1; erstellt mit dem Programm <link linkend="mkisofs">mkisofs</link> das Dateisystem und brennt anschlie�end die <acronym>DVD</acronym>. Vor dem Brennen braucht daher kein Abbild der Daten erstellt zu werden.</para> <para>Wenn Sie von den Daten im Verzeichnis <filename>/path/to/data</filename> eine DVD+R oder eine DVD-R brennen wollen, benutzen Sie das nachstehende Kommando:</para> <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen> <para>In diesem Beispiel wird <option>-J -R</option> an &man.mkisofs.8; durchgereicht und dient zum Erstellen des Dateisystems (hier: ein ISO-9660-Dateisystem mit Joliet- und Rock-Ridge-Erweiterungen). Weiteres entnehmen Sie bitte der Hilfeseite &man.mkisofs.8;.</para> <para>Die Option <option>-Z</option> wird f�r die erste Aufnahme einer Single- oder Multisession ben�tigt. Ersetzen Sie <replaceable>/dev/cd0</replaceable> mit dem Ger�tenamen des <acronym>DVD</acronym>-Ger�tes. Die Nutzung von <option>-dvd-compat</option> schlie�t das Medium, weitere Daten k�nnen danach nicht mehr angeh�ngt werden. Dies sollte auch eine eine bessere Kompatibilit�t mit anderen <acronym>DVD-ROM</acronym>-Laufwerken bieten.</para> <para>Um ein vorher erstelltes Abbild der Daten zu brennen, beispielsweise <replaceable>imagefile.iso</replaceable>, verwenden Sie:</para> <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput></screen> <para>Die Schreibgeschwindigkeit h�ngt von den verwendeten Medium sowie dem verwendeten Ger�t ab und sollte automatisch gesetzt werden. Um die Schreibgeschwindigkeit vorzugeben, verwenden Sie <option>-speed=</option>. Beispiele finden Sie in &man.growisofs.1;.</para> <note> <para>Um gr��ere Dateien als 4.38GB zu unterst�tzen, ist es notwendig ein UDF/ISO-9660 Hybrid-Dateisystem zu erstellen. Dieses Dateisystem muss mit zus�tzlichen Parametern <option>-udf -iso-level 3</option> bei &man.mkisofs.8; und allen relevanten Programmen, wie beispielsweise &man.growisofs.1;) erzeugt werden. Dies ist nur notwendig, wenn Sie ein ISO-Image erstellen oder direkt auf eine DVD schreiben wollen. DVDs, die in dieser Weise hergestellt worden sind, m�ssen als UDF-Dateisystem mit &man.mount.udf.8; eingehangen werden. Sie sind nur auf Betriebssystemen, die UDF unterst�tzen brauchbar, ansonsten sieht es so aus, als ob sie kaputte Dateien enthalten w�rden.</para> <para>Um diese Art von ISO-Datei zu erstellen:</para> <screen>&prompt.user; <userinput>mkisofs -R -J -udf -iso-level 3 -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/data</replaceable> </userinput></screen> <para>Um Daten direkt auf eine DVD zu brennen, geben Sie den folgenden Befehl ein:</para> <screen>&prompt.root; <userinput>growisofs -dvd-compat -udf -iso-level 3 -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable> </userinput></screen> <para>Wenn ein ISO-Abbild bereits gro�e Dateien enth�lt, sind keine weiteren Optionen f�r &man.growisofs.1; notwendig, um das Abbild auf die DVD zu brennen.</para> <para>Achten Sie darauf, eine aktuelle Version von <package>sysutils/cdrtools</package> zu verwenden, welche &man.mkisofs.8; enth�lt, da �ltere Versionen keinen Support f�r gro�e Dateien enthalten. Falls die neueste Version nicht funktioniert, installieren Sie <package>sysutils/cdrtools-devel</package> und lesen Sie &man.mkisofs.8;.</para> </note> </sect2> <sect2> <title><acronym>DVD</acronym>-Videos brennen</title> <indexterm> <primary><acronym>DVD</acronym></primary> <secondary>DVD-Video</secondary> </indexterm> <para>Ein DVD-Video ist eine spezielle Anordnung von Dateien, die auf den ISO-9660 und den micro-UDF (M-UDF) Spezifikationen beruht. Da DVD-Video auf eine bestimmte Datei-Hierarchie angewiesen ist, m�ssen <acronym>DVD</acronym>s mit speziellen Programmen wie <package>multimedia/dvdauthor</package> erstellt werden.</para> <para>Ist bereits ein Abbild des Dateisystems eines DVD-Videos vorhanden, kann es auf die gleiche Weise wie jedes andere Abbild gebrannt werden. Wenn <command>dvdauthor</command> verwendet wurde, um die <acronym>DVD</acronym> zu erstellen und die Resultate in <filename>/path/to/video</filename> liegen, kann das folgende Kommando verwendet werden, um ein DVD-Video zu brennen:</para> <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -dvd-video <replaceable>/path/to/video</replaceable></userinput></screen> <para><option>-dvd-video</option> wird an &man.mkisofs.8; weitergereicht, um die Datei-Hierarchie f�r ein DVD-Video zu erstellen. Weiterhin bewirkt diese Option, dass &man.growisofs.1; mit <option>-dvd-compat</option> aufgerufen wird.</para> </sect2> <sect2> <title><acronym>DVD+RW</acronym>-Medien benutzen</title> <indexterm> <primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD+RW</acronym></secondary> </indexterm> <para>Im Gegensatz zu CD-RW-Medien m�ssen <acronym>DVD+RW</acronym>-Medien erst formatiert werden, bevor sie benutzt werden k�nnen. Es wird <emphasis>empfohlen</emphasis> &man.growisofs.1; einzusetzen, da das Programm Medien automatisch formatiert, wenn es erforderlich ist. Es ist jedoch m�glich, auch <command>dvd+rw-format</command> zu nutzen, um die <acronym>DVD+RW</acronym> zu formatieren:</para> <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen> <para>Dieser Vorgang muss nur einmal durchgef�hrt werden. Denken Sie daran, dass nur neue DVD+RWs formatiert werden m�ssen. Anschlie�end k�nnen <acronym>DVD+RW</acronym>s, wie gewohnt gebrannt werden.</para> <para>Wenn Sie auf einer <acronym>DVD+RW</acronym> ein neues Dateisystem erstellen wollen, brauchen Sie die <acronym>DVD+RW</acronym> vorher nicht zu l�schen. �berschreiben Sie einfach das vorige Dateisystem indem Sie eine neue Session anlegen:</para> <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/newdata</replaceable></userinput></screen> <para>Das <acronym>DVD+RW</acronym>-Format erlaubt es, Daten an eine vorherige Aufnahme anzuh�ngen. Dazu wird eine neue Session mit der schon bestehenden zusammengef�hrt. Es wird keine Multi-Session geschrieben, sondern &man.growisofs.1; <emphasis>vergr��ert</emphasis> das ISO-9660-Dateisystem auf dem Medium.</para> <para>Das folgende Kommando f�gt weitere Daten zu einer vorher erstellten <acronym>DVD+RW</acronym> hinzu:</para> <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen> <para>Wenn Sie eine <acronym>DVD+RW</acronym> erweitern, verwenden Sie dieselben &man.mkisofs.8;-Optionen wie beim Erstellen der <acronym>DVD+RW</acronym>.</para> <note> <para>Verwenden Sie <option>-dvd-compat</option>, um bessere Kompatibilit�t mit <acronym>DVD-ROM</acronym>-Laufwerken zu gew�hrleisten. Zu einem <acronym>DVD+RW</acronym>-Medium k�nnen Sie mit dieser Option auch weiterhin Daten hinzuf�gen.</para> </note> <para>Um das Medium zu l�schen, verwenden Sie:</para> <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable>=<replaceable>/dev/zero</replaceable></userinput></screen> </sect2> <sect2> <title><acronym>DVD-RW</acronym>-Medien benutzen</title> <indexterm> <primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD-RW</acronym></secondary> </indexterm> <para>Eine <acronym>DVD-RW</acronym> kann mit zwei Methoden beschrieben werden: <firstterm>Sequential-Recording</firstterm> oder <firstterm>Restricted-Overwrite</firstterm>. Voreingestellt ist Sequential-Recording.</para> <para>Eine neue <acronym>DVD-RW</acronym> kann direkt beschrieben werden; sie muss nicht vorher formatiert werden. Allerdings muss eine <acronym>DVD-RW</acronym>, die mit Sequential-Recording aufgenommen wurde, zuerst gel�scht werden, bevor eine neue Session aufgenommen werden kann.</para> <para>Der folgende Befehl l�scht eine <acronym>DVD-RW</acronym> im Sequential-Recording-Modus:</para> <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen> <note> <para>Das vollst�ndige L�schen mit <option>-blank=full</option> dauert mit einem 1x Medium ungef�hr eine Stunde. Wenn die <acronym>DVD-RW</acronym> im Disk-At-Once-Modus (DAO) aufgenommen wurde, kann sie mit <option>-blank</option> schneller gel�scht werden. Um eine <acronym>DVD-RW</acronym> im DAO-Modus zu brennen, benutzen Sie das folgende Kommando:</para> <screen>&prompt.root; <userinput>growisofs -use-the-force-luke=dao -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable> </userinput></screen> <para>Die Option <option>-use-the-force-luke=dao</option> sollte nicht erforderlich sein, da &man.growisofs.1; den DAO-Modus automatisch erkennt.</para> <para>Der Restricted-Overwrite-Modus sollte mit jeder <acronym>DVD-RW</acronym> verwendet werden, da er flexibler als der voreingestellte Sequential-Recording-Modus ist.</para> </note> <para>Um Daten auf eine <acronym>DVD-RW</acronym> im Sequential-Recording-Modus zu schreiben, benutzen Sie dasselbe Kommando wief�r die anderen <acronym>DVD</acronym>-Formate:</para> <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen> <para>Um weitere Daten zu einer Aufnahme hinzuzuf�gen, benutzen Sie <option>-M</option> mit &man.growisofs.1;. Werden die Daten im Sequential-Recording-Modus hinzugef�gt, wird eine neue Session erstellt. Das Ergebnis ist ein Multi-Session-Medium.</para> <para>Eine <acronym>DVD-RW</acronym> im Restricted-Overwrite-Modus muss nicht gel�scht werden, um eine neue Session aufzunehmen. Das Medium kann einfach mit <option>-Z</option> �berschrieben werden. Mit <option>-M</option> kann das ISO-9660-Dateisystem, wie mit einer <acronym>DVD+RW</acronym>, vergr��ert werden. Die <acronym>DVD</acronym> enth�lt danach eine Session.</para> <para>Benutzen sie das nachstehende Kommando, um den Restricted-Overwrite-Modus einzustellen:</para> <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen> <para>Das folgende Kommando stellt den Modus wieder auf Sequential-Recording zur�ck:</para> <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen> </sect2> <sect2> <title>Multi-Session</title> <para>Nur wenige <acronym>DVD-ROM</acronym>-Laufwerke unterst�tzen Multi-Session-DVDs und lesen meist nur die erste Session. Mehrere Sessions werden von DVD+R, DVD-R und <acronym>DVD-RW</acronym> im Sequential-Recording-Modus unterst�tzt. Im Modus Restricted-Overwrite gibt nur eine Session.</para> <para>Wenn das Medium noch nicht geschlossen ist, erstellt das nachstehende Kommando eine neue Session auf einer DVD+R, DVD-R oder <acronym>DVD-RW</acronym> im Sequential-Recording-Modus:</para> <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen> <para>Wird dieses Kommando mit <acronym>DVD+RW</acronym>- oder <acronym>DVD-RW</acronym>-Medien im Restricted-Overwrite-Modus benutzt, werden die neuen Daten mit den Daten der bestehenden Session zusammengef�hrt. Das Medium enth�lt danach eine Session. Nutzen Sie diese Methode, um neue Daten zu einer bestehenden Session hinzuzuf�gen.</para> <note> <para>F�r den Anfang und das Ende einer Session wird auf dem Medium zus�tzlicher Platz verbraucht. Um den Speicherplatz auf dem Medium optimal auszunutzen, sollten Sie daher Sessions mit vielen Daten hinzuf�gen. Auf ein DVD+R-Medium passen maximal 154 Sessions, 2000 Sessions auf ein DVD-R-Medium und 127 Sessions auf eine DVD+R Double Layer.</para> </note> </sect2> <sect2> <title>Weiterf�hrendes</title> <para><command>dvd+rw-mediainfo <replaceable>/dev/cd0</replaceable></command> zeigt Informationen �ber eine im Laufwerk liegende <acronym>DVD</acronym> an.</para> <para>Weiteres zu <application>dvd+rw-tools</application> finden Sie in &man.growisofs.1;, auf der <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/">dvd+rw-tools Web-Seite</link> und in den Archiven der <link xlink:href="http://lists.debian.org/cdwrite/">cdwrite-Mailingliste</link>.</para> <note> <para>Wenn Sie einen Problembericht zur Nutzung der <application>dvd+rw-tools</application> erstellen, f�gen Sie immer die Ausgabe von <command>dvd+rw-mediainfo</command> hinzu.</para> </note> </sect2> <sect2 xml:id="creating-dvd-ram"> <title><acronym>DVD-RAM</acronym></title> <indexterm> <primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD-RAM</acronym></secondary> </indexterm> <para><acronym>DVD-RAM</acronym>-f�hige Brenner nutzten die <acronym>SCSI</acronym>- oder <acronym>ATAPI</acronym>-Schnittstelle. F�r <acronym>ATAPI</acronym>-Ger�te muss der DMA-Modus aktiviert werden, indem die folgende Zeile in <filename>/boot/loader.conf</filename> hinzugef�gt wird:</para> <programlisting>hw.ata.atapi_dma="1"</programlisting> <para>Eine <acronym>DVD-RAM</acronym> kann mit einer Wechselplatte verglichen werden. Wie diese, muss auch eine <acronym>DVD-RAM</acronym> vor dem ersten Einsatz formatiert werden. In diesem Beispiel wird das gesamte Medium mit dem Standard-UFS2-Dateisystem formatiert:</para> <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/dev/acd0</replaceable> bs=2k count=1</userinput> &prompt.root; <userinput>bsdlabel -Bw <replaceable>acd0</replaceable></userinput> &prompt.root; <userinput>newfs <replaceable>/dev/acd0</replaceable></userinput></screen> <para>Denken Sie dabei daran, dass Sie gegebenenfalls die Ger�tedatei (hier <filename>acd0</filename>) an Ihre Konfiguration anpassen m�ssen.</para> <para>Nachdem die <acronym>DVD-RAM</acronym> formatiert ist, kann sie wie eine normale Festplatte gemountet werden:</para> <screen>&prompt.root; <userinput>mount <replaceable>/dev/acd0</replaceable> <replaceable>/mnt</replaceable></userinput></screen> <para>Danach kann schreibend und lesend auf das <acronym>DVD-RAM</acronym> Medium zugegriffen werden.</para> </sect2> </sect1> <sect1 xml:id="floppies"> <title>Disketten benutzen</title> <!-- <authorgroup> <author><personname><firstname>Julio</firstname><surname>Merino</surname></personname><contrib>Original von </contrib></author> </authorgroup> <authorgroup> <author><personname><firstname>Martin</firstname><surname>Karlsson</surname></personname><contrib>Umgeschrieben von </contrib></author> </authorgroup> --> <para>Dieser Abschnitt beschreibt die Formatierung von 3,5 Zoll Disketten in &os;.</para> <procedure> <title>Disketten formatieren</title> <para>Bevor eine Diskette benutzt werden kann, muss sie (low-level) formatiert werden, was normalerweise der Hersteller schon gemacht hat. Sie k�nnen die Diskette allerdings noch einmal formatieren, um das Medium zu �berpr�fen. Benutzen Sie &man.fdformat.1;, um Disketten unter &os; zu formatieren. Achten Sie dabei auf Fehlermeldungen, die schlechte Speichermedien anzeigen.</para> <step> <para>Um eine Diskette zu formatieren, legen Sie eine 3,5 Zoll Diskette in das erste Diskettenlaufwerk ein und f�hren das folgende Kommando aus:</para> <screen>&prompt.root; <userinput>/usr/sbin/fdformat -f 1440 /dev/fd0</userinput></screen> </step> <step> <para>Nach dem Formatieren muss auf der Diskette ein Disklabel erstellt werden, um die Gr��e und Geometrie der Diskette zu erkennen. Eine Liste der unterst�tzten Geometrien finden Sie in <filename>/etc/disktab</filename>.</para> <para>Erstellen Sie nun das Label mit &man.bsdlabel.8;:</para> <screen>&prompt.root; <userinput>/sbin/bsdlabel -B -w /dev/fd0 fd1440</userinput></screen> </step> <step> <para>Auf der Diskette kann nun ein Dateisystem erstellt werden (high-level Formatierung). Das Dateisystem der Diskette kann entweder UFS oder FAT sein, wobei FAT f�r Disketten in der Regel die bessere Wahl ist.</para> <para>Um die Diskette mit FAT zu formatieren, geben Sie folgendes Kommando ein:</para> <screen>&prompt.root; <userinput>/sbin/newfs_msdos /dev/fd0</userinput></screen> </step> </procedure> <para>Die Diskette kann nun benutzt werden. Um die Diskette zu verwenden, kann sie mit &man.mount.msdosfs.8; eingeh�ngt werden. Man kann auch <package>emulators/mtools</package> aus der Ports-Sammlung installieren, um mit der Diskette zu arbeiten.</para> </sect1> <sect1 xml:id="backup-basics"> <title>Datensicherung</title> <!-- <authorgroup> <author><personname><firstname>Lowell</firstname><surname>Gilbert</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> --> <para>Die Planung und Umsetzung einer Backup-Strategie ist unerl�sslich, um Daten in bestimmten Situationen wiederherstellen zu k�nnen, zum Beispiel bei Plattendefekten, versehentlichem L�schen von Dateien, willk�rlicher Korrumpierung von Dateien oder der vollst�ndigen Zerst�rung des Systems und der Backups, die am gleichen Ort aufbewahrt werden.</para> <para>Die Art und der Zeitplan des Backups kann variieren, abh�ngig von der Wichtigkeit der Daten, der ben�tigten Granularit�t zur Wiederherstellung von Dateien und der Dauer einer akzeptablen Ausfallzeit. Zu den m�glichen Backup-Strategien geh�ren unter anderem:</para> <itemizedlist> <listitem> <para>Die Archivierung des kompletten Systems auf externen Datentr�gern. Dieser Ansatz sch�tzt zwar vor allen oben aufgef�hrten Problemen, ist aber zeitaufw�ndig und unbequem bei der Wiederherstellung, insbesondere f�r nicht privilegierte Benutzer.</para> </listitem> <listitem> <para>Dateisystem-Snapshots sind n�tzlich bei der Wiederherstellung von gel�schten Dateien, bzw. fr�heren Versionen von Dateien.</para> </listitem> <listitem> <para>Kopien ganzer Dateisysteme oder Festplatten, die mit einem anderen System im Netzwerk mittels <package>net/rsync</package> synchronisiert werden.</para> </listitem> <listitem> <para>Hardware oder Software <acronym>RAID</acronym>, was im Falle von Plattendefekten die Ausfallzeit minimiert oder vermeidet.</para> </listitem> </itemizedlist> <para>�blicherweise wird eine Mischung aus verschiedenen Strategien verwendet. Es kann zum Beispiel ein Sicherungsplan erstellt und automatisiert werden, um eine w�chentliche, vollst�ndige Systemsicherung, erg�nzt mit st�ndlichen ZFS-Snapshots, zu erstellen. Dar�ber hinaus k�nnte man eine manuelle Sicherung einzelner Verzeichnisse oder Dateien machen, bevor diese bearbeitet oder gel�scht werden.</para> <para>Dieser Abschnitt beschreibt einige Programme, die zur Erstellung und Verwaltung von Sicherungen unter &os; verwendet werden k�nnen.</para> <sect2> <title>Sicherung von Dateisystemen</title> <indexterm> <primary>Backup-Software</primary> <secondary>dump / restore</secondary> </indexterm> <indexterm> <primary><command>dump</command></primary> </indexterm> <indexterm> <primary><command>restore</command></primary> </indexterm> <para>Die traditionellen &unix;-Programme zum Sichern und Wiederherstellen von Dateisystemen sind &man.dump.8; und &man.restore.8;. Diese Programme arbeiten auf der Block-Ebene der Festplatte, also unterhalb des Abstraktionslevels von Dateien, Links und Verzeichnissen, die die Grundlage des Dateisystemkonzepts bilden. Im Gegensatz zu anderen Backup-Programmen sichert <command>dump</command> ein ganzes Dateisystem und nicht nur einen Teil des Dateisystems, oder einen Verzeichnisbaum, der mehr als ein Dateisystem umfasst. Anstatt Dateien oder Verzeichnisse zu schreiben, schreibt <command>dump</command> die Bl�cke, aus denen die Dateien und Verzeichnisse bestehen.</para> <note> <para>Wird <command>dump</command> benutzt, um das Root-Verzeichnis zu sichern, werden <filename>/home</filename>, <filename>/usr</filename> und viele andere Verzeichnisse nicht gesichert, da dies normalerweise Mountpunkte f�r andere Dateisysteme oder symbolische Links zu diesen Dateisystemen sind.</para> </note> <para>Wenn <command>restore</command> zum Extrahieren von Daten verwendet wird, werden tempor�re Dateien standardm��ig in <filename>/tmp</filename> abgelegt. Wenn Sie von einer Platte mit einem kleinen <filename>/tmp</filename>-Verzeichnis zur�cksichern, setzen Sie die Umgebungsvariable <envar>TMPDIR</envar> auf ein Verzeichnis mit mehr freiem Speicherplatz, damit die Wiederherstellung gelingt.</para> <para>Beachten Sie bei der Verwendung von <command>dump</command>, dass es einige Eigenarten aus den fr�hen Tagen der Version 6 von AT&T &unix; (ca. 1975) beibehalten hat. Die Standardparameter gehen davon aus, dass auf einem 9-Spur-Band gesichert wird, und nicht auf ein anderes Medium oder auf Sicherungsb�nder mit hoher Dichte. Diese Standardwerte m�ssen auf der Kommandozeile �berschrieben werden.</para> <indexterm> <primary><filename>.rhosts</filename></primary> </indexterm> <para>Es ist m�glich, das Dateisystem �ber das Netzwerk auf einem anderen Rechner zu sichern, oder auf einem Bandlaufwerk eines anderen Rechners. Obwohl die Programme &man.rdump.8; und &man.rrestore.8; f�r diese Zwecke benutzt werden k�nnen, gelten sie als nicht sicher.</para> <para>Verwenden Sie stattdessen <command>dump</command> und <command>restore</command> in einer sichereren Weise �ber eine <acronym>SSH</acronym>-Verbindung. In diesem Beispiel wird eine vollst�ndige, komprimierte Sicherung des <filename>/usr</filename> Dateisystems erstellt, das anschlie�end an einen bestimmten Host �ber eine <acronym>SSH</acronym>-Verbindung gesendet wird.</para> <example> <title><command>dump</command> mit <application>ssh</application> benutzen</title> <screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen> </example> <para>In diesem Beispiel wird <envar>RSH</envar> gesetzt, um �ber eine <acronym>SSH</acronym>-Verbindung eine Sicherung auf ein Bandlaufwerk eines entfernten Systems zu schreiben:</para> <example> <title><command>dump</command> �ber <application>ssh</application> mit gesetzter <envar>RSH</envar> benutzen</title> <screen>&prompt.root; <userinput>env RSH=/usr/bin/ssh /sbin/dump -0uan -f tatargetuser@targetmachine.example.com:/dev/sa0 /usr</userinput></screen> </example> </sect2> <sect2> <title>Sicherung von Verzeichnissen</title> <indexterm> <primary>Backup-Software</primary> <secondary><command>tar</command></secondary> </indexterm> <para>Einige integrierte Werkzeuge stehen zur Sicherung und Wiederherstellung von bestimmten Dateien und Verzeichnissen bei Bedarf zur Verf�gung.</para> <para>Wenn es um die Sicherung von Dateien in einem Verzeichnis geht, ist &man.tar.1; eine gute Wahl. Dieses Werkzeug stammt aus Version 6 von AT&T &unix; und erwartet standardm��ig eine rekursive Sicherung auf ein lokales Band. Es k�nnen jedoch Optionen angegeben werden, um den Namen einer Sicherungsdatei zu bestimmen.</para> <indexterm><primary><command>tar</command></primary></indexterm> <para>In diesem Beispiel wird eine komprimierte Sicherung des aktuellen Verzeichnisses nach <filename>/tmp/mybackup.tgz</filename> gespeichert. Achten Sie bei der Sicherungsdatei darauf, dass sie nicht in dem Verzeichnis gepeichert wird, welches gesichert werden soll.</para> <example> <title>Das aktuelle Verzeichnis mit <command>tar</command> sichern</title> <screen>&prompt.root; <userinput>tar czvf <replaceable>/tmp/mybackup.tgz</replaceable> .</userinput></screen> </example> <para>Um eine komplette Sicherung wiederherzustellen, wechseln Sie mit <command>cd</command> in das Verzeichnis, in dem Sie die Daten wiederherstellen m�chten und geben Sie den Namen der Sicherungsdatei an. Beachten Sie, dass dabei alle Dateien in dem Verzeichnis �berschrieben werden. Im Zweifel sichern Sie besser in einem tempor�ren Verzeichnis, oder geben Sie den Verzeichnisnamen bei der Wiederherstellung an.</para> <example> <title>Wiederherstellung mit <command>tar</command> in das aktuelle Verzeichnis</title> <screen>&prompt.root; <userinput>tar xzvf <replaceable>/tmp/mybackup.tgz</replaceable></userinput></screen> </example> <para>Es gibt dutzende Optionen, die in &man.tar.1; beschrieben werden. Das Programm unterst�tzt auch die Verwendung von Ausschlu�mustern, um bestimmte Dateien von der Sicherung oder Wiederherstellung von Verzeichnissen auszuschlie�en.</para> <indexterm> <primary>Backup-Software</primary> <secondary><command>cpio</command></secondary> </indexterm> <para>Um bestimmte, aufgelistete Dateien und Verzeichnisse zu sichern, ist &man.cpio.1; eine gute Wahl. Im Gegensatz zu <command>tar</command> wei� <command>cpio</command> nicht wie ein Verzeichnisbaum durchlaufen wird. Daher ist es auf eine Liste von zu sichernden Dateien angewiesen.</para> <para>So kann beispielsweise eine Liste von Dateien mit <command>ls</command> oder <command>find</command> erzeugt werden. Dieses Beispiel erstellt eine rekursive Liste des aktuellen Verzeichnisses, die dann �ber eine Pipe an <command>cpio</command> �bergeben wird, um eine Sicherung namens <filename>/tmp/mybackup.cpio</filename> zu erstellen.</para> <example> <title>Rekursive Sicherung des aktuellen Verzeichnisses mit <command>ls</command> und <command>cpio</command></title> <screen>&prompt.root; <userinput>ls -R | cpio -ovF /tmp/mybackup.cpio</userinput></screen> </example> <indexterm> <primary>Backup-Software</primary> <secondary><command>pax</command></secondary> </indexterm> <indexterm><primary><command>pax</command></primary></indexterm> <indexterm><primary>POSIX</primary></indexterm> <indexterm><primary>IEEE</primary></indexterm> <para>&man.pax.1; ist ein Programm, welches versucht die Funktionen von <command>tar</command> und <command>cpio</command> zu kombinieren. �ber die Jahre hinweg sind die verschiedenen Versionen von <command>tar</command> und <command>cpio</command> leicht inkompatibel geworden. Daher hat &posix; <command>pax</command> geschaffen, welches versucht viele der unterschiedlichen <command>cpio</command>- und <command>tar</command>-Formate zu lesen und zu schreiben, au�erdem einige neue, eigene Formate.</para> <para>F�r die vorangegangenen Beispiele w�re ein �quivalenter Aufruf von <command>pax</command>:</para> <example> <title>Das aktuelle Verzeichnis mit <command>pax</command> sichern</title> <screen>&prompt.root; <userinput>pax -wf <replaceable>/tmp/mybackup.pax</replaceable> .</userinput></screen> </example> </sect2> <sect2 xml:id="backups-tapebackups"> <title>Bandmedien benutzen</title> <indexterm><primary>Bandmedien</primary></indexterm> <para>Obwohl sich Bandmedien mit der Zeit weiterentwickelt haben, verwenden moderne Backup-Systeme in der Regel <foreignphrase>Offsite-Backups</foreignphrase> in Verbindung mit lokalen Wechseldatentr�gern. &os; unterst�tzt alle <acronym>SCSI</acronym>-Bandlaufwerke, wie etwa <acronym>LTO</acronym> und <acronym>DAT</acronym>. Zus�tzlich gibt es begrenzte Unterst�tzung f�r <acronym>SATA</acronym>- und <acronym>USB</acronym>-Bandlaufwerke.</para> <para>F�r <acronym>SCSI</acronym>-Bandlaufwerke nutzt &os; den &man.sa.4; Treiber, der die Schnittstellen <filename>/dev/sa0</filename>, <filename>/dev/nsa0</filename> und <filename>/dev/esa0</filename> bereitstellt. Der Name des physikalischen Ger�ts ist <filename>/dev/sa0</filename>. Wird <filename>/dev/nsa0</filename> benutzt, dann wird die Backup-Anwendung nach dem Schreibvorgang das Band nicht zur�ckspulen, was es erm�glicht, mehr als eine Datei auf das Band zu schreiben. Die Verwendung von <filename>/dev/esa0</filename> wirft das Band aus, nachdem das Ger�t geschlossen wurde.</para> <para>&os; nutzt <command>mt</command> f�r die Steuerung der Operationen des Bandlaufwerks, wie die Suche nach Dateien auf einem Band, oder um Kontrollmarkierungen auf ein Band zu schreiben. Beispielsweise k�nnen die ersten drei Dateien auf einem Band erhalten bleiben, indem sie �bersprungen werden, bevor eine neue Datei auf das Band geschrieben wird</para> <screen>&prompt.root; <userinput>mt -f /dev/nsa0 fsf 3</userinput></screen> <para>Dieses Werkzeug unterst�tzt viele Operationen. Weitere Einzelheiten finden Sie in &man.mt.1;.</para> <para>Um eine Datei mit <command>tar</command> auf ein Band zu schreiben, geben Sie den Namen des Bandlaufwerks und den Dateinamen an:</para> <screen>&prompt.root; <userinput>tar cvf /dev/sa0 <replaceable>file</replaceable></userinput></screen> <para>Wiederherstellung von Dateien aus dem <command>tar</command>-Archiv von Band in das aktuelle Verzeichnis:</para> <screen>&prompt.root; <userinput>tar xvf /dev/sa0</userinput></screen> <para>Benutzen Sie <command>dump</command>, um ein <acronym>UFS</acronym>Dateisystem zu sichern. Dieses Beispiel sichert <filename>/usr</filename>, ohne danach das Band zur�ckzuspulen:</para> <screen>&prompt.root; <userinput>dump -0aL -b64 -f /dev/nsa0 /usr</userinput></screen> <para>Interaktive Wiederherstellung von Dateien aus einer &man.dump.8;-Datei von Band in das aktuelle Verzeichnis:</para> <screen>&prompt.root; <userinput>restore -i -f /dev/nsa0</userinput></screen> </sect2> <sect2 xml:id="backups-programs-amanda"> <title>Backup-Software von Drittanbietern</title> <indexterm> <primary>Backup-Software</primary> </indexterm> <para>Die &os; Ports-Sammlung enth�lt viele Programme von Drittanbietern, die verwendet werden k�nnen um die zeitliche Erstellung von Sicherungen zu planen, zu vereinfachen und bequemer zu machen. Viele dieser Programme basieren auf dem Client-Server-Modell und k�nnen benutzt werden, um die Sicherung von einzelnen Systemen oder allen Rechnern in einem Netzwerk zu automatisieren.</para> <para>Zu den bekannten Programmen geh�ren <application>Amanda</application>, <application>Bacula</application>, <application>rsync</application> und <application>duplicity</application>.</para> </sect2> <sect2> <title>Die Wiederherstellung in einem Notfall</title> <para>Zus�tzlich zu den regelm��igen Sicherungen empfiehlt es sich, die folgenden Schritte im Rahmen eines Notfallplans durchzuf�hren.</para> <indexterm> <primary><command>bsdlabel</command></primary> </indexterm> <para>Erstellen Sie einen Ausdruck der Ausgabe der folgenden Kommandos:</para> <itemizedlist> <listitem> <para><command>gpart show</command></para> </listitem> <listitem> <para><command>more /etc/fstab</command></para> </listitem> <listitem> <para><command>dmesg</command></para> </listitem> </itemizedlist> <indexterm><primary>Live-CD</primary></indexterm> <para>Bewahren Sie diesen Ausdruck und eine Kopie des Installationsmediums an einem sicheren Ort auf. Im Falle einer Wiederherstellung im Notfall, starten Sie von dem Installationsmedium und w�hlen Sie <literal>Live CD</literal>, um eine Rettungs-Shell zu starten. Dieser Rettungmodus kann verwendet werden, um den aktuellen Stand des Systems anzuzeigen, und wenn n�tig, Festplatten zu formatieren und Daten aus den Sicherungen wiederherzustellen.</para> <note> <para>Das Installationsmedium f�r &os;/&arch.i386; &rel2.current;-RELEASE enth�lt keine Rettungs-Shell. Laden Sie f�r diese Version ein Abbild der Livefs <acronym>CD</acronym> von <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO- IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;- livefs.iso">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-livefs.iso</uri>.</para> </note> <para>Als n�chstes testen Sie die Rettungs-Shell und die Sicherungen. Dokumentieren Sie diesen Ablauf. Bewahren Sie diese Notizen zusammen mit den Medien, den Ausdrucken und den Sicherungen auf. Diese Notizen k�nnen Ihnen im Notfall helfen eine versehentliche Zerst�rung der Sicherungen zu verhindern, w�hrend Sie unter Stress eine Wiederherstellung durchf�hren.</para> <para>Als zus�tzliche Sicherheitsvorkehrung kann jeweils die letzte Sicherung an einem entfernten Standort aufbewahrt werden. Dieser Standort sollte r�umlich von den Computern und Festplatten durch eine erhebliche Entfernung getrennt sein.</para> </sect2> </sect1> <sect1 xml:id="disks-virtual"> <info><title>Netzwerk-, speicher- und dateibasierte Dateisysteme</title> <authorgroup> <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Verbessert und neu strukturiert von </contrib></author> </authorgroup> </info> <indexterm> <primary>Laufwerke</primary> <secondary>virtuelle</secondary> </indexterm> <para>Neben physikalischen Laufwerken, wie Disketten, <acronym>CD</acronym>s und Festplatten, unterst�tzt &os; auch <firstterm>virtuelle Laufwerke</firstterm>.</para> <indexterm><primary>NFS</primary></indexterm> <indexterm> <primary>Laufwerke</primary> <secondary>speicherbasierte</secondary> </indexterm> <indexterm> <primary>Laufwerke</primary> <secondary>RAM-Disks</secondary> </indexterm> <para>Dazu z�hlen Netzwerkdateisysteme wie <link linkend="network-nfs">Network Filesystem</link>, sowie speicher- und dateibasierte Dateisysteme.</para> <para>Abh�ngig von der verwendeten &os; Version werden speicher- und dateibasierte Dateisysteme mit unterschiedlichen Werkzeugen angelegt.</para> <note> <para>Ger�tedateien werden unter &os; automatisch von &man.devfs.5; angelegt.</para> </note> <sect2 xml:id="disks-mdconfig"> <title>Dateibasierte Laufwerke unter FreeBSD</title> <indexterm> <primary>Laufwerke</primary> <secondary>dateibasierte</secondary> </indexterm> <para>Unter &os; werden virtuelle Laufwerke, &man.md.4;, mit &man.mdconfig.8; erzeugt. Dazu muss das Modul &man.md.4; geladen sein. Bei der Verwendung einer eigenen Kernelkonfiguration, muss diese Zeile enthalten sein:</para> <programlisting>device md</programlisting> <para>&man.mdconfig.8; unterst�tzt verschiedene Arten von speicherbasierten virtuellen Laufwerken: speicherbasierte Laufwerke, deren Speicher von &man.malloc.9; zur Verf�gung gestellt wird, und dateibasierte Laufwerke, deren Speicher von einer Datei oder dem Swap-Bereich zur Verf�gung gestellt wird. Eine m�gliche Anwendung ist das Einh�ngen von <acronym>CD</acronym>s.</para> <para>Das Abbild eines Dateisystems wird wie folgt eingehangen:</para> <example> <title>Einh�ngen eines existierenden Abbildes unter &os;</title> <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>diskimage</replaceable> -u <replaceable>0</replaceable></userinput> &prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput></screen> </example> <para>Ein neues Dateisystem-Abbild erstellen Sie mit &man.mdconfig.8; wie folgt:</para> <example> <title>Erstellen eines dateibasierten Laufwerks mit <command>mdconfig</command></title> <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput> 5120+0 records in 5120+0 records out &prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>newimage</replaceable> -u <replaceable>0</replaceable></userinput> &prompt.root; <userinput>bsdlabel -w md<replaceable>0</replaceable> auto</userinput> &prompt.root; <userinput>newfs md<replaceable>0</replaceable>a</userinput> /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>a <replaceable>/mnt</replaceable></userinput> &prompt.root; <userinput>df /mnt</userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt</screen> </example> <para>Wenn keine Ger�tenummer mit <option>-u</option> angegeben ist, wird von &man.md.4; automatisch eine ungenutzte Ger�tenummer zugewiesen. Das zugewiesene Ger�t wird auf der Standardausgabe ausgegeben (zum Beispiel <filename>md4</filename>). Weitere Informationen finden Sie in &man.mdconfig.8;.</para> <para>Obwohl &man.mdconfig.8; sehr n�tzlich ist, ben�tigt es einige Kommandos, um ein dateibasiertes Dateisystem zu erstellen. &os; enth�lt auch &man.mdmfs.8;, das die notwendigen Schritte in einem Befehl zusammenfasst. Es konfiguriert mit &man.mdconfig.8; ein &man.md.4;-Laufwerk, erstellt darauf mit &man.newfs.8; ein UFS-Dateisystem und h�ngt es anschlie�end mit &man.mount.8; ein. Das virtuelle Laufwerk aus dem obigen Beispiel kann mit den nachstehenden Befehlen erstellt werden:</para> <example> <title>Mit <command>mdmfs</command> ein dateibasiertes Dateisystem erstellen</title> <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput> 5120+0 records in 5120+0 records out &prompt.root; <userinput>mdmfs -F <replaceable>newimage</replaceable> -s <replaceable>5</replaceable>m md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput> &prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt</screen> </example> <para>Wenn <option>md</option> ohne Ger�tenummer verwendet wird, w�hlt &man.md.4; automatisch ein ungenutztes Ger�t aus. Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite &man.mdmfs.8;.</para> </sect2> <sect2 xml:id="disks-md-freebsd5"> <title>Speicherbasierte Laufwerke unter FreeBSD</title> <indexterm> <primary>Laufwerke</primary> <secondary>speicherbasierte</secondary> </indexterm> <para>Bei einem speicherbasierten Dateisystem sollte <quote>swap backing</quote> aktiviert werden. Das hei�t allerdings nicht, dass das speicherbasierte Laufwerk automatisch auf die Festplatte ausgelagert wird, vielmehr wird der Speicherplatz danach aus einem Speicherpool angefordert, der bei Bedarf auf die Platte ausgelagert werden kann. Zus�tzlich ist es m�glich, &man.malloc.9;-gest�tzte speicherbasierte Laufwerke zu erstellen. Das Anlegen solcher Laufwerke kann allerdings zu einer System-Panic f�hren, wenn der Kernel danach �ber zu wenig Speicher verf�gt.</para> <example> <title>Erstellen eines speicherbasierten Laufwerks mit <command>mdconfig</command></title> <screen>&prompt.root; <userinput>mdconfig -a -t swap -s <replaceable>5</replaceable>m -u <replaceable>1</replaceable></userinput> &prompt.root; <userinput>newfs -U md1</userinput> /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; <userinput>mount /dev/md<replaceable>1</replaceable> <replaceable>/mnt</replaceable></userinput> &prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt</screen> </example> <example> <title>Erstellen eines speicherbasierten Laufwerks mit <command>mdmfs</command></title> <screen>&prompt.root; <userinput>mdmfs -s <replaceable>5</replaceable>m md<replaceable>2</replaceable> <replaceable>/mnt</replaceable></userinput> &prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt</screen> </example> </sect2> <sect2> <title>Virtuelle Laufwerke freigeben</title> <indexterm> <primary>Laufwerke</primary> <secondary>Freigabe von virtuellen Laufwerken</secondary> </indexterm> <para>Wenn ein virtuelles Laufwerk nicht mehr in Gebrauch ist, sollten seine belegten Ressourcen an das System zur�ckgegeben werden. Zuerst wird das Dateisystem abgeh�ngt und dann die benutzten Ressourcen mit &man.mdconfig.8; freigegeben.</para> <para>Alle von <filename>/dev/md4</filename> belegten Ressourcen werden mit dem nachstehenden Kommando freigegeben:</para> <screen>&prompt.root; <userinput>mdconfig -d -u <replaceable>4</replaceable></userinput></screen> <para>Informationen zu eingerichteten &man.md.4;-Ger�ten werden mit <command>mdconfig -l</command> angezeigt.</para> </sect2> </sect1> <sect1 xml:id="snapshots"> <info><title>Schnappsch�sse von Dateisystemen</title> <authorgroup> <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> </info> <indexterm> <primary>Schnappsch�sse</primary> <secondary>von Dateisystemen</secondary> </indexterm> <para>Zusammen mit <link linkend="soft-updates">Soft Updates</link> bietet &os; eine weitere Funktion: Schnappsch�sse von Dateisystemen.</para> <para>UFS-Schnappsch�sse sind Dateien, die ein Abbild eines Dateisystems enthalten und m�ssen auf dem jeweiligen Dateisystem erstellt werden. Pro Dateisystem darf es maximal 20 Schnappsch�sse, die im Superblock vermerkt werden, geben. Schnappsch�sse bleiben erhalten, wenn das Dateisystem abgehangen, neu eingehangen oder das System neu gestartet wird. Wenn ein Schnappschuss nicht mehr ben�tigt wird, kann er mit &man.rm.1; gel�scht werden. Es ist egal, in welcher Reihenfolge Schnappsch�sse gel�scht werden. Es kann allerdings vorkommen, dass nicht der gesamte Speicherplatz wieder freigegeben wird, da ein anderer Schnappschuss einen Teil der entfernten Bl�cke f�r sich beanspruchen kann.</para> <para>Das unver�nderliche <option>Snapshot</option>-Dateiflag wird nach der Erstellung des Snaphshots von &man.mksnap.ffs.8; gesetzt. Durch die Verwendung von &man.unlink.1; ist es allerdings m�glich, einen Schnappschuss zu l�schen.</para> <para>Schnappsch�sse werden mit &man.mount.8; erstellt. Das folgende Kommando legt einen Schnappschuss von <filename>/var</filename> in <filename>/var/snapshot/snap</filename> ab:</para> <screen>&prompt.root; <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput></screen> <para>Alternativ kann der Schnappschuss auch mit &man.mksnap.ffs.8; erstellt werden.</para> <screen>&prompt.root; <userinput>mksnap_ffs /var /var/snapshot/snap</userinput></screen> <para>Um Schnappsch�sse auf einem Dateisystem, beispielsweise <filename>/var</filename> zu finden, kann man &man.find.1; verwenden:</para> <screen>&prompt.root; <userinput>find /var -flags snapshot</userinput></screen> <para>Nachdem ein Schnappschuss erstellt wurde, k�nnen Sie ihn f�r verschiedene Zwecke benutzen:</para> <itemizedlist> <listitem> <para>Sie k�nnen den Schnappschuss f�r die Datensicherung benutzen und ihn auf eine <acronym>CD</acronym> oder ein Band schreiben.</para> </listitem> <listitem> <para>Die Intigrit�t des Schnappschusses kann mit &man.fsck.8; gepr�ft werden. Wenn das Dateisystem zum Zeitpunkt der Erstellung des Schnappschusses in Ordnung war, sollte &man.fsck.8; immer erfolgreich durchlaufen.</para> </listitem> <listitem> <para>Sie k�nnen den Schnappschuss mit &man.dump.8; sichern. Sie erhalten dann eine konsistente Sicherung des Dateisystems zu dem Zeitpunkt, der durch den Zeitstempel des Schnappschusses gegeben ist. Der Schalter <option>-L</option> von &man.dump.8; erstellt f�r die Sicherung einen Schnappschuss und entfernt diesen am Ende der Sicherung wieder.</para> </listitem> <listitem> <para>Sie k�nnen einen Schnappschuss in den Verzeichnisbaum einh�ngen und sich dann den Zustand des Dateisystems zu dem Zeitpunkt ansehen, an dem der Schnappschuss erstellt wurde. Der folgende Befehl h�ngt den Schnappschuss <filename>/var/snapshot/snap</filename> ein:</para> <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /var/snapshot/snap -u 4</userinput> &prompt.root; <userinput>mount -r /dev/md4 /mnt</userinput></screen> </listitem> </itemizedlist> <para>Der eingefrorene Stand des <filename>/var</filename>-Dateisystems ist nun unterhalb von <filename>/mnt</filename> verf�gbar. Mit Ausnahme der fr�heren Schnappsch�sse, die als leere Dateien auftauchen, wird zu Beginn alles so aussehen, wie zum Zeitpunkt der Erstellung des Schnappschusses. Der Schnappschuss kann wie folgt abgeh�ngt werden:</para> <screen>&prompt.root; <userinput>umount /mnt</userinput> &prompt.root; <userinput>mdconfig -d -u 4</userinput></screen> <para>Weitere Informationen �ber Soft Updates und Schnappsch�sse von Dateisystemen sowie technische Artikel finden Sie auf der <link xlink:href="http://www.mckusick.com/">Webseite von Marshall Kirk McKusick</link>.</para> </sect1> <sect1 xml:id="quotas"> <title>Disk Quotas</title> <indexterm> <primary>Accounting</primary> <secondary>Plattenplatz</secondary> </indexterm> <indexterm><primary>Disk Quotas</primary></indexterm> <para>Disk Quotas erlauben dem Administrator, den Plattenplatz und/oder die Anzahl der Dateien eines Benutzers oder der Mitglieder einer Gruppe, auf Dateisystemebene zu beschr�nken. Dadurch wird verhindert, dass ein Benutzer oder eine Gruppe von Benutzern den ganzen verf�gbaren Plattenplatz belegt.</para> <para>Dieser Abschnitt beschreibt die Konfiguration von Disk Quotas f�r <acronym>UFS</acronym>-Dateisysteme. Lesen Sie <xref linkend="zfs-zfs-quota"/>, wenn Sie Disk Quotas auf einem <acronym>ZFS</acronym>-Dateisystem einrichten m�chten.</para> <sect2> <title>Disk Quotas aktivieren</title> <para>Pr�fen Sie zun�chst, ob der &os;-Kernel Disk Quotas unterst�tzt:</para> <screen>&prompt.user; <userinput>sysctl kern.features.ufs_quota</userinput> kern.features.ufs_quota: 1</screen> <para>In diesem Beispiel zeigt die <literal>1</literal> an, das Quotas unterst�tzt werden. Falls <literal>0</literal> ausgegeben wird, f�gen Sie folgende Zeile in die Kernelkonfigurationsdatei ein, und folgen Sie den Anweisungen in <xref linkend="kernelconfig"/> um den Kernel zu aktualisieren:</para> <programlisting>options QUOTA</programlisting> <para>Als n�chstes aktivieren Sie Disk Quotas in <filename>/etc/rc.conf</filename>:</para> <programlisting>quota_enable="YES"</programlisting> <indexterm> <primary>Disk Quotas</primary> <secondary>�berpr�fen</secondary> </indexterm> <para>Normalerweise wird beim Booten die Integrit�t der Quotas auf allen Dateisystemen mit &man.quotacheck.8; �berpr�ft. Dieses Programm stellt sicher, dass die Quota-Datenbank mit den Daten auf einem Dateisystem �bereinstimmt. Dies ist allerdings ein zeitraubender Prozess, der die Zeit, die das System zum Booten braucht, signifikant beeinflusst. Eine Variable in <filename>/etc/rc.config</filename> erlaubt es, diesen Schritt zu �berspringen:</para> <programlisting>check_quotas="NO"</programlisting> <para>Zuletzt muss noch <filename>/etc/fstab</filename> bearbeitet werden, um die Plattenquotas auf Dateisystemebene zu aktivieren. Um Quotas pro Benutzer f�r ein Dateisystem zu aktivieren, geben Sie f�r dieses Dateisystem <option>userquota</option> im Feld Optionen von <filename>/etc/fstab</filename> an. Zum Beispiel:</para> <programlisting>/dev/da1s2g /home ufs rw,userquota 1 2</programlisting> <para>Um Quotas f�r Gruppen einzurichten, verwenden Sie <option>groupquota</option>. Um Quotas f�r Benutzer und Gruppen einzurichten, trennen Sie die Optionen durch Kommata:</para> <programlisting>/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting> <para>Quota-Dateien werden standardm��ig im Rootverzeichnis des Dateisystems unter <filename>quota.user</filename> und <filename>quota.group</filename> abgelegt. Weitere Informationen finden Sie in &man.fstab.5;. Es wird nicht empfohlen, Quota-Dateien an anderen Stellen zu speichern.</para> <para>Sobald die Konfiguration abgeschlossen ist, starten Sie das System neu. <filename>/etc/rc</filename> wird dann automatisch die richtigen Kommandos aufrufen, um die Quota-Dateien f�r alle in <filename>/etc/rc.conf</filename> definierten Quotas anzulegen.</para> <para>Normalerweise brauchen die Kommandos &man.quotacheck.8;, &man.quotaon.8; oder &man.quotaoff.8; nicht h�ndisch aufgerufen werden, obwohl man die entsprechenden Seiten im Manual lesen sollte, um sich mit ihnen vertraut zu machen.</para> </sect2> <sect2> <title>Setzen von Quota-Limits</title> <indexterm> <primary>Disk Quotas</primary> <secondary>Limits</secondary> </indexterm> <para>Stellen Sie sicher, dass Quotas auch tats�chlich aktiviert sind:</para> <screen>&prompt.root; <userinput>quota -v</userinput></screen> <para>F�r jedes Dateisystem, auf dem Quotas aktiviert sind, sollte eine Zeile mit der Plattenauslastung und den aktuellen Quota-Limits zu sehen sein.</para> <para>Mit <command>edquota</command> k�nnen nun Quota-Limits zugewiesen werden.</para> <para>Mehrere M�glichkeiten stehen zur Verf�gung, um Limits f�r den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen kann, oder die Anzahl der Dateien, die angelegt werden d�rfen, festzulegen. Die Limits k�nnen auf dem Plattenplatz (Block-Quotas), der Anzahl der Dateien (Inode-Quotas) oder einer Kombination von beiden basieren. Jedes Limit wird weiterhin in zwei Kategorien geteilt: Hardlimits und Softlimits.</para> <indexterm><primary>Hardlimit</primary></indexterm> <para>Ein Hardlimit kann nicht �berschritten werden. Hat der Benutzer einmal ein Hardlimit erreicht, so kann er auf dem betreffenden Dateisystem keinen weiteren Platz mehr beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit von 500 Kilobytes auf einem Dateisystem und benutzt davon 490 Kilobyte, so kann er nur noch 10 weitere Kilobytes beanspruchen. Der Versuch, weitere 11 Kilobytes zu beanspruchen, wird fehlschlagen.</para> <indexterm><primary>Softlimit</primary></indexterm> <para>Softlimits k�nnen f�r eine befristete Zeit �berschritten werden. Diese Frist betr�gt in der Grundeinstellung eine Woche. Hat der Benutzer das Softlimit �ber die Frist hinaus �berschritten, so wird das Softlimit in ein Hardlimit umgewandelt und der Benutzer kann keinen weiteren Platz mehr beanspruchen. Wenn er einmal das Softlimit unterschreitet, wird die Frist wieder zur�ckgesetzt.</para> <para>Im folgenden Beispiel wird das Quota des Benutzerkonto <systemitem class="username">test</systemitem> bearbeitet. Wenn <command>edquota</command> aufgerufen wird, wird der in <envar>EDITOR</envar> definierte Editor aufgerufen, um die Quota-Limts zu konfigurieren. Der Standard-Editor ist <application>vi</application>.</para> <screen>&prompt.root; <userinput>edquota -u test</userinput> Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60)</screen> <para>F�r jedes Dateisystem, auf dem Quotas aktiv sind, sind zwei Zeilen zu sehen. Eine repr�sentiert die Block-Quotas und die andere die Inode-Quotas. Um ein Limit zu modifizieren, �ndern Sie einfach den angezeigten Wert. Um beispielsweise das Blocklimit von <filename>/usr</filename> auf ein Softlimit von <literal>500</literal> und ein Hardlimit von <literal>600</literal> zu erh�hen, �ndern Sie die Zeile wie folgt:</para> <programlisting>/usr: kbytes in use: 65, limits (soft = 500, hard = 600)</programlisting> <para>Die neuen Limits sind wirksam, sobald der Editor verlassen wird.</para> <para>Manchmal ist es w�nschenswert, die Limits f�r eine Reihe von Benutzern zu setzen. Dazu weisen Sie zun�chst einem Benutzer das gew�nschte Quota-Limit zu. Anschlie�end benutzen Sie <option>-p</option>, um das Quota auf einen bestimmten Bereich von Benutzer-IDs (<acronym>UID</acronym>) zu duplizieren. Der folgende Befehl dupliziert die Quota-Limits auf die <acronym>UID</acronym>s <literal>10000</literal> bis <literal>19999</literal>:</para> <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen> <para>Weitere Informationen finden Sie in &man.edquota.8;.</para> </sect2> <sect2> <title>�berpr�fen von Quota-Limits und Plattennutzung</title> <indexterm> <primary>Disk Quotas</primary> <secondary>�berpr�fen</secondary> </indexterm> <para>Um die Limits oder die Plattennutzung individueller Benutzer und Gruppen zu �berpr�fen, kann &man.quota.1; benutzt werden. Ein Benutzer kann nur die eigenen Quotas und die Quotas der Gruppe, der er angeh�rt untersuchen. Nur der Superuser darf sich alle Limits ansehen. Mit &man.repquota.8; erhalten Sie eine Zusammenfassung von allen Limits und der Plattenausnutzung f�r alle Dateisysteme, auf denen Quotas aktiv sind.</para> <para>In der Ausgabe von &man.quota.1; werden Dateisysteme, auf denen ein Benutzer keinen Platz verbraucht, nicht angezeigt, auch wenn diesem Quotas zugewiesen wurden. Benutzen Sie <option>-v</option> um solche Dateisysteme ebenfalls anzuzeigen. Das folgende Beispiel zeigt die Ausgabe von <command>quota -v</command> f�r einen Benutzer, der Quota-Limits auf zwei Dateisystemen besitzt:</para> <programlisting>Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60</programlisting> <indexterm><primary>grace period</primary></indexterm> <para>Im Dateisystem <filename>/usr</filename> liegt der Benutzer momentan 15 Kilobytes �ber dem Softlimit von 50 Kilobytes und hat noch 5 Tage seiner Frist �brig. Der Stern <literal>*</literal> zeigt an, dass der Benutzer sein Limit �berschritten hat.</para> </sect2> <sect2> <title>Quotas �ber NFS</title> <indexterm><primary>NFS</primary></indexterm> <para>Quotas werden von dem Quota-Subsystem auf dem <acronym>NFS</acronym>-Server erzwungen. Der &man.rpc.rquotad.8; Daemon stellt <command>quota</command> die Quota Informationen auf dem <acronym>NFS</acronym>-Client zur Verf�gung, so dass Benutzer auf diesen Systemen ihre Quotas abfragen k�nnen.</para> <para>Sie aktivieren <command>rpc.rquotad</command> auf dem <acronym>NFS</acronym>-Server, indem Sie das Zeichen <literal>#</literal> auf folgender Zeile in <filename>/etc/inetd.conf</filename> entfernen:</para> <programlisting>rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad</programlisting> <para>Anschlie�end starten Sie <command>inetd</command> neu:</para> <screen>&prompt.root; <userinput>service inetd restart</userinput></screen> </sect2> </sect1> <sect1 xml:id="disks-encrypting"> <info><title>Partitionen verschl�sseln</title> <authorgroup> <author><personname><firstname>Lucky</firstname><surname>Green</surname></personname><contrib>Beigetragen von </contrib><affiliation> <address><email>shamrock@cypherpunks.to</email></address> </affiliation></author> </authorgroup> </info> <indexterm> <primary>Partitionen</primary> <secondary>verschl�sseln</secondary> </indexterm> <para>&os; bietet ausgezeichnete M�glichkeiten, Daten vor unberechtigten Zugriffen zu sch�tzen. Wenn das Betriebssystem l�uft, sch�tzen Zugriffsrechte und vorgeschriebene Zugriffskontrollen (MAC) (siehe <xref linkend="mac"/>) die Daten. Die Zugriffskontrollen des Betriebssystems sch�tzen allerdings nicht vor einem Angreifer, der Zugriff auf den Rechner hat. Der Angreifer kann eine Festplatte in ein anderes System einbauen und dort die Daten analysieren.</para> <para>Die f�r &os; verf�gbaren kryptografischen Subsysteme, GEOM Based Disk Encryption (<command>gbde</command>) und <command>geli</command> sind in der Lage, Daten auf Dateisystemen auch vor hoch motivierten Angreifern zu sch�tzen, die �ber erhebliche Mittel verf�gen. Dieser Schutz ist unabh�ngig von der Art und Weise, durch die ein Angreifer Zugang zu einer Festplatte oder zu einem Rechner erlangt hat. Im Gegensatz zu schwerf�lligen Systemen, die einzelne Dateien verschl�sseln, verschl�sseln <application>gbde</application> und <command>geli</command> transparent ganze Dateisysteme. Auf der Festplatte werden dabei keine Daten im Klartext gespeichert.</para> <sect2> <title>Plattenverschl�sselung mit <application>gbde</application></title> <para>&man.gbde.8; benutzt 128-Bit <acronym>AES</acronym> im <acronym>CBC</acronym>-Modus, um die Daten eines Sektors zu verschl�sseln. Jeder Sektor einer Festplatte wird mit einem anderen <acronym>AES</acronym>-Schl�ssel verschl�sselt. Weitere Informationen zum kryptographischen Design und wie die Schl�ssel f�r einen Sektor aus der gegebenen Passphrase ermittelt werden, finden Sie in &man.gbde.4;.</para> <note> <para>&man.sysinstall.8; kann nicht mit verschl�sselten <application>gbde</application>-Ger�ten umgehen. Vor dem Start von &man.sysinstall.8; m�ssen alle <filename>*.bde</filename>-Ger�te deaktiviert werden, da &man.sysinstall.8; sonst bei der Suche nach abst�rzt. Das im Beispiel verwendete Ger�t wird mit dem folgenden Befehl deaktiviert:</para> <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen> </note> <para>&os; enth�lt ein Kernelmodul f�r <application>gbde</application>, das wie folgt geladen werden kann:</para> <screen>&prompt.root; <userinput>kldload geom_bde</userinput></screen> <para>Wenn Sie einen angepassten Kernel verwenden, stellen Sie sicher, dass folgende Zeile in der Kernelkonfigurationsdatei enthalten ist:</para> <para><literal>options GEOM_BDE</literal></para> <para>Das folgende Beispiel beschreibt, wie eine Partition auf einer neuen Festplatte verschl�sselt wird. Die Partition wird in <filename>/private</filename> eingehangen. Mit <application>gbde</application> k�nnten auch <filename>/home</filename> und <filename>/var/mail</filename> verschl�sselt werden. Die dazu n�tigen Schritte k�nnen allerdings in dieser Einf�hrung nicht behandelt werden.</para> <procedure> <step> <title>Installieren der Festplatte</title> <para>Installieren Sie die Festplatte wie in <xref linkend="disks-adding"/> beschrieben. Im Beispiel verwenden wir die Partition <filename>/dev/ad4s1c</filename>. Die Ger�tedateien <filename>/dev/ad0s1<replaceable>*</replaceable></filename> sind Standard-Partitionen des &os;-Systems.</para> <screen>&prompt.root; <userinput>ls /dev/ad*</userinput> /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4</screen> </step> <step> <title>Verzeichnis f�r gbde-Lock-Dateien anlegen</title> <screen>&prompt.root; <userinput>mkdir /etc/gbde</userinput></screen> <para>Die Lock-Dateien sind f�r den Zugriff von <application>gbde</application> auf verschl�sselte Partitionen notwendig. Ohne die Lock-Dateien k�nnen die Daten nur mit erheblichem manuellen Aufwand wieder entschl�sselt werden (dies wird auch von der Software nicht unterst�tzt). Jede verschl�sselte Partition ben�tigt eine gesonderte Lock-Datei.</para> </step> <step> <title>Vorbereiten der gbde-Partition</title> <para>Eine von <application>gbde</application> benutzte Partition muss einmalig vorbereitet werden:</para> <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock</userinput></screen> <para>&man.gbde.8; �ffnet eine Vorlage im Standard-Editor, um verschiedene Optionen einstellen zu k�nnen. Setzen Sie <varname>sector_size</varname> auf <literal>2048</literal>, wenn Sie UFS1 oder UFS2 benutzen.</para> <programlisting># $FreeBSD: src/sbin/gbde/template.txt,v 1.1.36.1 2009/08/03 08:13:06 kensmith Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...]</programlisting> <para>&man.gbde.8; fragt zweimal die Passphrase zum Schutz der Daten ab. Die Passphrase muss beide Mal gleich eingegeben werden. Die Sicherheit der Daten h�ngt allein von der Qualit�t der gew�hlten Passphrase ab. Die Auswahl einer sicheren und leicht zu merkenden Passphrase wird auf der Webseite <link xlink:href="http://world.std.com/~reinhold/diceware.html">Diceware Passphrase</link> beschrieben.</para> <para>Mit <command>gbde init</command> wurde im Beispiel auch die Lock-Datei <filename>/etc/gbde/ad4s1c.lock</filename> angelegt. <application>gbde</application>-Lockdateien m�ssen die Dateiendung <quote>.lock</quote> aufweisen, damit sie von <filename>/etc/rc.d/gbde</filename>, dem Startskript von <application>gbde</application>, erkannt werden.</para> <caution> <para>Sichern Sie die Lock-Dateien von <application>gbde</application> immer zusammen mit den verschl�sselten Dateisystemen. Ein entschlossener Angreifer kann die Daten vielleicht auch ohne die Lock-Datei entschl�sseln. Ohne die Lock-Datei k�nnen Sie allerdings nicht auf die verschl�sselten Daten zugreifen. Dies ist nur noch mit erheblichem manuellen Aufwand m�glich, der nicht &man.gbde.8; wird.</para> </caution> </step> <step> <title>Einbinden der verschl�sselten Partition in den Kernel</title> <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock</userinput></screen> <para>Dieses Kommando fragt die Passphrase ab, die bei der Initialisierung der verschl�sselten Partition eingegeben wurde. Das neue verschl�sselte Ger�t erscheint danach in <filename>/dev</filename> als <filename>/dev/device_name.bde</filename>:</para> <screen>&prompt.root; <userinput>ls /dev/ad*</userinput> /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde</screen> </step> <step> <title>Dateisystem auf dem verschl�sselten Ger�t anlegen</title> <para>Nachdem die verschl�sselte Partition im Kernel eingebunden ist, kann mit &man.newfs.8; ein Dateisystem erstellt werden. Dieses Beispiel erstellt ein UFS2-Dateisystem mit aktivierten Soft Updates.</para> <screen>&prompt.root; <userinput>newfs -U -O2 /dev/ad4s1c.bde</userinput></screen> <note> <para>&man.newfs.8; muss auf einer eingebundenen <application>gbde</application>-Partition ausgef�hrt werden, welche durch das Suffix <filename><replaceable>*</replaceable>.bde</filename> identifiziert wird.</para> </note> </step> <step> <title>Einh�ngen der verschl�sselten Partition</title> <para>Legen Sie einen Mountpunkt f�r das verschl�sselte Dateisystem an:</para> <screen>&prompt.root; <userinput>mkdir /private</userinput></screen> <para>H�ngen Sie das verschl�sselte Dateisystem ein:</para> <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen> </step> <step> <title>�berpr�fen des verschl�sselten Dateisystems</title> <para>Das verschl�sselte Dateisystem sollte jetzt von &man.df.1; erkannt werden und benutzt werden k�nnen.</para> <screen>&prompt.user; <userinput>df -H</userinput> Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private</screen> </step> </procedure> <sect3> <title>Einh�ngen eines existierenden verschl�sselten Dateisystems</title> <para>Nach jedem Neustart m�ssen verschl�sselte Dateisysteme dem Kernel wieder bekannt gemacht werden, auf Fehler �berpr�ft werden und eingehangen werden. Die dazu n�tigen Befehle m�ssen als <systemitem class="username">root</systemitem> durchgef�hrt werden.</para> <procedure> <step> <title>gbde-Partition im Kernel bekannt geben</title> <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock</userinput></screen> <para>Dieses Kommando fragt nach der Passphrase, die w�hrend der Initialisierung der verschl�sselten <application>gbde</application>-Partition festgelegt wurde.</para> </step> <step> <title>Pr�fen des Dateisystems</title> <para>Das verschl�sselte Dateisystem kann noch nicht automatisch �ber <filename>/etc/fstab</filename> eingehangen werden. Daher muss es vor dem Einh�ngen mit &man.fsck.8; gepr�ft werden:</para> <screen>&prompt.root; <userinput>fsck -p -t ffs /dev/ad4s1c.bde</userinput></screen> </step> <step> <title>Einh�ngen des verschl�sselten Dateisystems</title> <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen> <para>Das verschl�sselte Dateisystem steht danach zur Verf�gung.</para> </step> </procedure> <para>Mit einem Skript k�nnen verschl�sselte Dateisysteme automatisch bekannt gegeben, gepr�ft und eingehangen werden. Wir raten Ihnen allerdings aus Sicherheitsgr�nden davon ab. Starten Sie das Skript manuell an der Konsole oder in einer &man.ssh.1;-Sitzung.</para> <para>Alternativ existiert ein <filename>rc.d</filename>-Skript, an das �ber Eintr�ge in &man.rc.conf.5; Argumente �bergeben werden k�nnen:</para> <programlisting>gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde"</programlisting> <para>Durch diese Argumente muss beim Systemstart die <application>gbde</application>-Passphrase eingegeben werden. Erst nach Eingabe der korrekten Passphrase wird die <application>gbde</application>-verschl�sselte Partition automatisch in den Verzeichnisbaum eingeh�ngt. Dieses Vorgehen ist n�tzlich, wenn <application>gbde</application> auf einem Laptop eingesetzt wird.</para> </sect3> </sect2> <sect2 xml:id="disks-encrypting-geli"> <info><title>Plattenverschl�sselung mit <command>geli</command></title> <authorgroup> <author><personname><firstname>Daniel</firstname><surname>Gerzo</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> </info> <para>Mit <command>geli</command> ist eine alternative kryptografische GEOM-Klasse verf�gbar. <command>geli</command> unterscheidet sich von <command>gbde</command> durch unterschiedliche F�higkeiten und einen unterschiedlichen Ansatz f�r die Verschl�sselung.</para> <para>Die wichtigsten Merkmale von &man.geli.8; sind:</para> <itemizedlist> <listitem> <para>Die Nutzung des &man.crypto.9;-Frameworks. Wenn das System �ber kryptografische Hardware verf�gt, wird diese von <command>geli</command> automatisch verwendet.</para> </listitem> <listitem> <para>Die Unterst�tzung verschiedener kryptografischer Algorithmen, wie beispielsweise AES, Blowfish, und 3DES.</para> </listitem> <listitem> <para>Die M�glichkeit, die root-Partition zu verschl�sseln. Um auf die verschl�sselte root-Partition zugreifen zu k�nnen, muss beim Systemstart die Passphrase eingegeben werden.</para> </listitem> <listitem> <para><command>geli</command> erlaubt den Einsatz von zwei voneinander unabh�ngigen Schl�sseln, etwa einem privaten <quote>Schl�ssel</quote> und einem <quote>Unternehmens-Schl�ssel</quote>.</para> </listitem> <listitem> <para><command>geli</command> ist durch einfache Sektor-zu-Sektor-Verschl�sselung sehr schnell.</para> </listitem> <listitem> <para>Die M�glichkeit, Master-Keys zu sichern und wiederherzustellen. Wenn ein Benutzer seinen Schl�ssel zerst�rt, kann er �ber seinen zuvor gesicherten Schl�ssel wieder auf seine Daten zugreifen.</para> </listitem> <listitem> <para><command>geli</command> erlaubt es, Platten mit einem zuf�lligen Einmal-Schl�ssel einzusetzen, was f�r Swap-Partitionen und tempor�re Dateisysteme interessant ist.</para> </listitem> </itemizedlist> <para>Weitere Merkmale von <command>geli</command> finden Sie in &man.geli.8;.</para> <para>Dieser Abschnitt beschreibt, wie <command>geli</command> im &os;-Kernel aktiviert wird und wie ein <command>geli</command>-Verschl�sselungs-Provider angelegt wird.</para> <para>Da der Kernel angepasst werden muss, werden <systemitem class="username">root</systemitem>-Privilegien ben�tigt.</para> <procedure> <step> <title>Aufnahme der <command>geli</command>-Unterst�tzung in Ihre Kernelkonfigurationsdatei</title> <para>Stellen Sie bei einer angepassten Kernelkonfigurationsdatei sicher, dass diese Zeile enthalten ist:</para> <programlisting>options GEOM_ELI device crypto</programlisting> <para>Alternativ kann auch das <command>geli</command>-Kernelmodul beim Systemstart geladen werden, indem folgende Zeile in <filename>/boot/loader.conf</filename> eingef�gt wird:</para> <programlisting>geom_eli_load="YES"</programlisting> <para>Ab sofort wird &man.geli.8; vom Kernel unterst�tzt.</para> </step> <step> <title>Erzeugen des Master-Keys</title> <para>Das folgende Beispiel beschreibt, wie eine Schl�sseldatei erzeugt wird, die als Teil des Master-Keys f�r den Verschl�sselungs-Provider verwendet wird, der unter <filename>/private</filename> in den Verzeichnisbaum eingeh�ngt wird. Die Schl�sseldatei liefert zuf�llige Daten, die f�r die Verschl�sselung des Master-Keys benutzt werden. Zus�tzlich wird der Master-Key durch eine Passphrase gesch�tzt. Die Sektorgr��e des Providers betr�gt 4 KB. Das Beispiel beschreibt, wie Sie einen <command>geli</command>-Provider aktivieren, ein vom ihm verwaltetes Dateisystem erzeugen, es mounten, mit ihm arbeiten und wie Sie es schlie�lich wieder unmounten und den Provider deaktivieren.</para> <para>Um eine bessere Leistung zu erzielen, wird eine gr��ere Sektorgr��e, beispielsweise 4 KB, empfohlen.</para> <para>Der Master-Key wird durch eine Passphrase sowie, den Daten der Schl�sseldatei aus <filename>/dev/random</filename> gesch�tzt. Die Sektorgr��e des Providers <filename>/dev/<replaceable>da2</replaceable>.eli</filename> betr�gt 4 KB.</para> <screen>&prompt.root; <userinput>dd if=/dev/random of=/root/da2.key bs=64 count=1</userinput> &prompt.root; <userinput>geli init -s 4096 -K /root/da2.key /dev/da2</userinput> Enter new passphrase: Reenter new passphrase:</screen> <para>Es ist nicht zwingend n�tig, sowohl eine Passphrase als auch eine Schl�sseldatei zu verwenden. Die einzelnen Methoden k�nnen auch unabh�ngig voneinander eingesetzt werden.</para> <para>Wird f�r die Schl�sseldatei <quote>-</quote> angegeben, wird daf�r die Standardeingabe verwendet. Das folgende Beispiel zeigt, dass auch mehr als eine Schl�sseldatei verwendet werden kann:</para> <screen>&prompt.root; <userinput>cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2</userinput></screen> </step> <step> <title>Aktivieren des Providers mit dem erzeugten Schl�ssel</title> <screen>&prompt.root; <userinput>geli attach -k /root/da2.key /dev/da2</userinput> Enter passphrase:</screen> <para>Dadurch wird die (Normaltext-)Ger�tedatei <filename>/dev/da2.eli</filename> angelegt.</para> <screen>&prompt.root; <userinput>ls /dev/da2*</userinput> /dev/da2 /dev/da2.eli</screen> </step> <step> <title>Das neue Dateisystem erzeugen</title> <screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/da2.eli bs=1m</userinput> &prompt.root; <userinput>newfs /dev/da2.eli</userinput> &prompt.root; <userinput>mount /dev/da2.eli /private</userinput></screen> <para>Das verschl�sselte Dateisystem wird nun von &man.df.1; angezeigt und kann ab sofort eingesetzt werden.</para> <screen>&prompt.root; <userinput>df -H</userinput> Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private</screen> </step> <step> <title>Das Dateisystem unmounten und den Provider deaktivieren</title> <para>Wenn Sie nicht mehr mit dem verschl�sselten Dateisystem arbeiten und die unter <filename>/private</filename> eingeh�ngte Partition daher nicht mehr ben�tigen, sollten Sie diese unmounten und den <command>geli</command>-Verschl�sselungs-Provider wieder deaktivieren:</para> <screen>&prompt.root; <userinput>umount /private</userinput> &prompt.root; <userinput>geli detach da2.eli</userinput></screen> </step> </procedure> <para>Weitere Informationen zum Einsatz von <command>geli</command> finden Sie in &man.geli.8;.</para> <sect3> <title>Der Einsatz des <filename>geli</filename>- <filename>rc.d</filename>-Skripts</title> <para><command>geli</command> verf�gt �ber ein <filename>rc.d</filename>-Skript, das den Einsatz von <command>geli</command> deutlich vereinfacht. Es folgt nun ein Beispiel, in dem <command>geli</command> �ber die Datei &man.rc.conf.5; konfiguriert wird:</para> <programlisting>geli_devices="da2" geli_da2_flags="-k /root/da2.key"</programlisting> <para>Dies konfiguriert <filename>/dev/da2</filename> als <command>geli</command>-Provider mit dem Master-Key <filename>/root/da2.key</filename>. Das System wird den Provider automatisch deaktivieren, bevor es heruntergefahren wird. W�hrend des Startvorgangs fordert das Skript die Passphrase an, bevor der Provider aktiviert wird. Vor und nach der Eingabeaufforderung f�r die Passphrase werden noch weitere Kernelmeldungen angezeigt. Achten Sie sorgf�ltig auf die Eingabeaufforderung zwischen den anderen Meldungen, falls es zu Problemen beim Startvorgang kommt. Sobald die richtige Passphrase eingegeben wurde, wird der Provider aktiviert. Anschlie�end werden die Dateisysteme gem�� <filename>/etc/fstab</filename> eingeh�ngt. Lesen Sie <xref linkend="mount-unmount"/> wenn Sie wissen m�chten, wie Sie ein Dateisystem konfigurieren, sodass es beim booten automatisch gestartet wird.</para> <para>Weitere Informationen zur Konfiguration der <filename>rc.d</filename>-Skripten finden Sie im Abschnitt <link linkend="configtuning-rcd">rc.d</link> des Handbuchs.</para> </sect3> </sect2> </sect1> <sect1 xml:id="swap-encrypting"> <info><title>Den Auslagerungsspeicher verschl�sseln</title> <authorgroup> <author><personname><firstname>Christian</firstname><surname>Br�ffer</surname></personname><contrib>Geschrieben von </contrib></author> </authorgroup> </info> <indexterm> <primary>Auslagerungsspeicher</primary> <secondary>verschl�sseln</secondary> </indexterm> <para>Wie die Verschl�sselung von Partitionen, wird auch der Auslagerungsspeicher verschl�sselt, um sensible Informationen zu sch�tzen. Stellen Sie sich eine Anwendung vor, die mit Passw�rtern umgeht. Solange sich diese Passw�rter im Arbeitsspeicher befinden, werden sie nicht auf die Festplatte geschrieben und nach einem Neustart gel�scht. Falls &os; jedoch damit beginnt Speicher auszulagern, um Platz f�r andere Anwendungen zu schaffen, k�nnen die Passw�rter unverschl�sselt auf die Festplatte geschrieben werden. Die Verschl�sselung des Auslagerungsspeichers kann in solchen Situationen Abhilfe schaffen.</para> <para>Dieser Abschnitt zeigt die Konfiguration eines verschl�sselten Auslagerungsspeichers mittels &man.gbde.8; oder &man.geli.8;. In den Beispielen repr�sentiert <filename>/dev/ada0s1b</filename> die Swap-Partition.</para> <sect2> <title>Konfiguration eines verschl�sselten Auslagerungsspeichers</title> <para>Swap-Partitionen werden standardm��ig nicht verschl�sselt. Sie sollten daher alle sensiblen Daten im Auslagerungsspeicher l�schen, bevor Sie fortfahren. F�hren Sie folgenden Befehl aus, um die Swap-Partition mit Zufallsdaten zu �berschreiben:</para> <screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/<replaceable>ad0s1b</replaceable> bs=1m</userinput></screen> <para>Um den Auslagerungsspeicher mit &man.gbde.8; zu verschl�sseln, f�gen Sie in <filename>/etc/fstab</filename> das Suffix <literal>.bde</literal> an den Ger�tenamen der Swap-Partition hinzu:</para> <programlisting># Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0</programlisting> <para>Wenn Sie &man.geli.8; benutzen, verwenden Sie stattdessen das Suffix <literal>.eli</literal>, um den Auslagerungsspeicher zu verschl�sseln:</para> <programlisting># Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0</programlisting> <para>In der Voreinstellung verschl�sselt &man.geli.8; mit dem <acronym>AES</acronym>-Algorithmus und einer Schl�ssell�nge von 128 Bit. Diese Voreinstellungen k�nnen mittels <literal>geli_swap_flags</literal> in <filename>/etc/rc.conf</filename> angepasst werden. Die folgende Zeile weist das rc.d-Skript <filename>encswap</filename> an, &man.geli.8;-Swap-Partitionen mit dem Blowfish-Algorithmus und einer Schl�ssell�nge von 128 Bit zu verschl�sseln. Zus�tzlich wird die Sektorgr��e auf 4 Kilobyte gesetzt und <quote>detach on last close</quote> aktiviert:</para> <programlisting>geli_swap_flags="-e blowfish -l 128 -s 4096 -d"</programlisting> <para>Eine Auflistung m�glicher Optionen f�r <literal>onetime</literal> finden Sie in der Manualpage von &man.geli.8;.</para> </sect2> <sect2> <title>�berpr�fung des verschl�sselten Auslagerungsspeichers</title> <para>Nachdem das System neu gestartet wurde, kann die korrekte Funktion des verschl�sselten Auslagerungsspeichers mit <command>swapinfo</command> gepr�ft werden.</para> <para>Wenn Sie &man.gbde.8; einsetzen, erhalten Sie eine Meldung �hnlich der folgenden:</para> <screen>&prompt.user; <userinput>swapinfo</userinput> Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0%</screen> <para>Wenn Sie &man.geli.8; einsetzen, erhalten Sie hingegen eine Ausgabe �hnlich der folgenden:</para> <screen>&prompt.user; <userinput>swapinfo</userinput> Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%</screen> </sect2> </sect1> <sect1 xml:id="disks-hast"> <info> <title>Highly Available Storage (<acronym>HAST</acronym>)</title> <authorgroup> <author><personname><firstname>Daniel</firstname><surname>Gerzo</surname></personname><contrib>Beigetragen von </contrib></author> </authorgroup> <authorgroup> <author><personname><firstname>Freddie</firstname><surname>Cash</surname></personname><contrib>Mit Beitr�gen von </contrib></author> <author><personname><firstname>Pawel Jakub</firstname><surname>Dawidek</surname></personname></author> <author><personname><firstname>Michael W.</firstname><surname>Lucas</surname></personname></author> <author><personname><firstname>Viktor</firstname><surname>Petersson</surname></personname></author> </authorgroup> <authorgroup> <author><personname><firstname>Benedict</firstname><surname>Reuschling</surname></personname><contrib>�bersetzt von </contrib></author> </authorgroup> </info> <indexterm> <primary>HAST</primary> <secondary>high availability</secondary> </indexterm> <para>Hochverf�gbarkeit ist eine der Hauptanforderungen von ernsthaften Gesch�ftsanwendungen und hochverf�gbarer Speicher ist eine Schl�sselkomponente in solchen Umgebungen. Highly Available STorage (<acronym>HAST</acronym>) ist ein Framework in &os;, welches die transparente Speicherung der gleichen Daten �ber mehrere physikalisch getrennte Maschinen erm�glicht, die �ber ein <acronym>TCP/IP</acronym>-Netzwerk verbunden sind. <acronym>HAST</acronym> kann als ein netzbasiertes RAID1 (Spiegel) verstanden werden und ist dem DRBD®-Speichersystem der GNU/&linux;-Plattform �hnlich. In Kombination mit anderen Hochverf�gbarkeitseigenschaften von &os; wie <acronym>CARP</acronym>, erm�glicht es <acronym>HAST</acronym>, hochverf�gbare Speichercluster zu bauen, die in der Lage sind, Hardwareausf�llen zu widerstehen.</para> <para>Die Hauptmerkmale von <acronym>HAST</acronym> sind:</para> <itemizedlist> <listitem> <para>Es kann zur Maskierung von <acronym>I/O</acronym>-Fehlern auf lokalen Festplatten eingesetzt werden.</para> </listitem> <listitem> <para>Dateisystem-unabh�ngig, was es erlaubt, jedes von &os; unterst�tzte Dateisystem zu verwenden.</para> </listitem> <listitem> <para>Effiziente und schnelle Resynchronisation: es werden nur die Bl�cke synchronisiert, die w�hrend der Ausfallzeit eines Knotens ge�ndert wurden.</para> </listitem> <!-- <listitem> <para>Besitzt mehrere Synchronisationsmodi, um eine schnelle �bergabe an einen anderen Knoten (sog. failover) zu erm�glichen.</para> </listitem> --> <listitem> <para>Es kann in einer bereits bestehenden Umgebung eingesetzt werden, um zus�tzliche Redundanz zu erreichen.</para> </listitem> <listitem> <para>Zusammen mit <acronym>CARP</acronym>, <application>Heartbeat</application>, oder anderen Werkzeugen, ist es m�glich, ein robustes und dauerhaftes Speichersystem zu bauen.</para> </listitem> </itemizedlist> <para>Nachdem Sie diesen Abschnitt gelesen haben, werden Sie folgendes wissen:</para> <itemizedlist> <listitem> <para>Was <acronym>HAST</acronym> ist, wie es funktioniert und welche Eigenschaften es besitzt.</para> </listitem> <listitem> <para>Wie man <acronym>HAST</acronym> unter &os; aufsetzt und verwendet.</para> </listitem> <listitem> <para>Wie man <acronym>CARP</acronym> und &man.devd.8; kombiniert, um ein robustes Speichersystem zu bauen.</para> </listitem> </itemizedlist> <para>Bevor Sie diesen Abschnitt lesen, sollten Sie:</para> <itemizedlist> <listitem> <para>die Grundlagen von &unix; und &os; verstanden haben (<xref linkend="basics"/>).</para> </listitem> <listitem> <para>wissen, wie man Netzwerkschnittstellen und andere Kernsysteme von &os; konfiguriert (<xref linkend="config-tuning"/>).</para> </listitem> <listitem> <para>ein gutes Verst�ndnis der &os;-Netzwerkfunktionalit�t besitzen (<xref linkend="network-communication"/>).</para> </listitem> </itemizedlist> <para>Das <acronym>HAST</acronym>-Projekt wurde von der &os; Foundation mit Unterst�tzung der <link xlink:href="http://www.omc.net/">OMCnet Internet Service GmbH</link> und <link xlink:href="http://www.transip.nl/">TransIP BV</link> gesponsert.</para> <sect2> <title>HAST im Einsatz</title> <para><acronym>HAST</acronym> bietet eine synchrone Replikation auf Blockebene zwischen zwei Maschinen: einem <literal>primary</literal>, auch bekannt als <literal>master</literal> Knoten, sowie dem <literal>secondary</literal>, oder <literal>slave</literal> Knoten. Diese beiden Maschinen zusammen werden als Cluster bezeichnet.</para> <para>Da <acronym>HAST</acronym> in einer prim�r-sekund�r-Konfiguration funktioniert, ist immer nur ein Knoten des Clusters zu jeder Zeit aktiv. Der prim�re Knoten, auch <emphasis>active</emphasis> genannt, ist derjenige, der alle <acronym>I/O</acronym>-Anfragen verarbeitet, die an die <acronym>HAST</acronym>-Schnittstelle gesendet werden. Der sekund�re Knoten wird automatisch vom prim�ren Knoten aus synchronisiert.</para> <para>Die physischen Komponenten des <acronym>HAST</acronym>-Systems sind die lokale Platte am Prim�rknoten und die entfernte Platte am Sekund�rknoten.</para> <para><acronym>HAST</acronym> arbeitet synchron auf Blockebene, was es f�r Dateisysteme und Anwendungen transparent macht. <acronym>HAST</acronym> stellt gew�hnliche <acronym>GEOM</acronym>-Provider in <filename>/dev/hast/</filename> f�r die Verwendung durch andere Werkzeuge oder Anwendungen zur Verf�gung. Es gibt keinen Unterschied zwischen dem Einsatz von <acronym>HAST</acronym> bereitgestellten Ger�ten und herk�mmlichen Platten oder Partitionen.</para> <para>Jede Schreib-, L�sch- oder Entleerungsoperation wird an die lokale und �ber <acronym>TCP/IP</acronym> zu der entfernt liegenden Platte gesendet. Jede Leseoperation wird von der lokalen Platte durchgef�hrt, es sei denn, die lokale Platte ist nicht aktuell oder es tritt ein <acronym>I/O</acronym>-Fehler auf. In solchen F�llen wird die Leseoperation an den Sekund�rknoten geschickt.</para> <para><acronym>HAST</acronym> versucht, eine schnelle Fehlerbereinigung zu gew�hrleisten. Aus diesem Grund ist es wichtig, die Synchronisationszeit nach dem Ausfall eines Knotens zu reduzieren. Um eine schnelle Synchronisation zu erm�glichen, verwaltet <acronym>HAST</acronym> eine Bitmap von unsauberen Bereichen auf der Platte und synchronisiert nur diese w�hrend einer regul�ren Synchronisation (mit Ausnahme der initialen Synchronisation).</para> <para>Es gibt viele Wege, diese Synchronisation zu behandeln. <acronym>HAST</acronym> implementiert mehrere Replikationsarten, um unterschiedliche Methoden der Synchronisation zu realisieren:</para> <itemizedlist> <listitem> <para><emphasis>memsync</emphasis>: Dieser Modus meldet Schreiboperationen als vollst�ndig, wenn die lokale Schreiboperation beendet ist und der entfernt liegende Knoten die Ankunft der Daten best�tigt hat, jedoch bevor die Daten wirklich gespeichert wurden. Die Daten werden auf dem entfernt liegenden Knoten direkt nach dem Senden der Best�tigung gespeichert. Dieser Modus ist daf�r gedacht, Latenzen zu verringern und zus�tzlich eine gute Verl�sslichkeit zu bieten.</para> </listitem> <listitem> <para><emphasis>fullsync</emphasis>: Dieser Modus meldet Schreiboperationen als vollst�ndig, wenn sowohl die lokale, als auch die entfernte Schreiboperation abgeschlossen wurde. Dies ist der sicherste und zugleich der langsamste Replikationsmodus. Er stellt den momentanen Standardmodus dar.</para> </listitem> <listitem> <para><emphasis>async</emphasis>: Dieser Modus meldet Schreiboperationen als vollst�ndig, wenn lokale Schreibvorg�nge abgeschlossen wurden. Dies ist der schnellste und gef�hrlichste Replikationsmodus. Er sollte nur verwendet werden, wenn die Latenz zu einem entfernten Knoten bei einer Replikation zu hoch ist f�r andere Modi.</para> </listitem> </itemizedlist> </sect2> <sect2> <title>HAST-Konfiguration</title> <para>Das <acronym>HAST</acronym>-Framework besteht aus mehreren Komponenten:</para> <itemizedlist> <listitem> <para>Dem &man.hastd.8;-Daemon, welcher f�r Datensynchronisation verantwortlich ist. Wenn dieser Daemon gestartet wird, wird automatisch <varname>geom_gate.ko</varname> geladen.</para> </listitem> <listitem> <para>Dem &man.hastctl.8; Management-Werkzeug.</para> </listitem> <listitem> <para>Der Konfigurationsdatei &man.hast.conf.5;. Diese Datei muss vorhanden sein, bevor <application>hastd</application> gestartet wird.</para> </listitem> </itemizedlist> <para>Alternativ l�sst sich die <literal>GEOM_GATE</literal>-Unterst�tzung in den Kernel statisch einbauen, indem folgende Zeile zur Kernelkonfigurationsdatei hinzugef�gt wird. Anschlie�end muss der Kernel, wie in <xref linkend="kernelconfig"/> beschrieben, neu gebaut werden:</para> <programlisting>options GEOM_GATE</programlisting> <para>Das folgende Beispiel beschreibt, wie man zwei Knoten als master-slave / primary-secondary mittels <acronym>HAST</acronym> konfiguriert, um Daten zwischen diesen beiden auszutauschen. Die Knoten werden als <literal>hasta</literal> mit der <acronym>IP</acronym>-Adresse <literal>172.16.0.1</literal> und <literal>hastb</literal> mit der <acronym>IP</acronym>-Adresse <literal>172.16.0.2</literal> bezeichnet. Beide Knoten besitzen eine dedizierte Festplatte <filename>/dev/ad6</filename> mit der gleichen Gr��e f�r den <acronym>HAST</acronym>-Betrieb. Der <acronym>HAST</acronym>-Pool, manchmal auch Ressource genannt, oder der <acronym>GEOM</acronym>-Provider in <filename>/dev/hast/</filename> wird als <filename>test</filename> bezeichnet.</para> <para>Die Konfiguration von <acronym>HAST</acronym> wird in <filename>/etc/hast.conf</filename> vorgenommen. Diese Datei sollte auf beiden Knoten gleich sein. Die einfachste Konfiguration ist folgende:</para> <programlisting>resource <replaceable>test</replaceable> { on <replaceable>hasta</replaceable> { local <replaceable>/dev/ad6</replaceable> remote <replaceable>172.16.0.2</replaceable> } on <replaceable>hastb</replaceable> { local <replaceable>/dev/ad6</replaceable> remote <replaceable>172.16.0.1</replaceable> } }</programlisting> <para>Fortgeschrittene Konfigurationsm�glichkeiten finden Sie in &man.hast.conf.5;.</para> <tip> <para>Es ist ebenfalls m�glich, den Hostnamen in den <literal>remote</literal>-Anweisungen zu verwenden, falls die Rechner aufgel�st werden k�nnen und in <filename>/etc/hosts</filename>, oder im lokalen <acronym>DNS</acronym> definiert sind.</para> </tip> <para>Sobald die Konfiguration auf beiden Rechnern vorhanden ist, kann ein <acronym>HAST</acronym>-Pool erstellt werden. Lassen Sie diese Kommandos auf beiden Knoten ablaufen, um die initialen Metadaten auf die lokale Platte zu schreiben und starten Sie anschliessend &man.hastd.8;:</para> <screen>&prompt.root; <userinput>hastctl create <replaceable>test</replaceable></userinput> &prompt.root; <userinput>service hastd onestart</userinput></screen> <note> <para>Es ist <emphasis>nicht</emphasis> m�glich, <acronym>GEOM</acronym>-Provider mit einem bereits bestehenden Dateisystem zu verwenden, um beispielsweise einen bestehenden Speicher in einen von <acronym>HAST</acronym> verwalteten Pool zu konvertieren. Dieses Verfahren muss einige Metadaten auf den Provider schreiben und daf�r w�rde nicht genug freier Platz zur Verf�gung stehen.</para> </note> <para>Die Rolle eines HAST Knotens, <literal>primary</literal> oder <literal>secondary</literal>, wird vom einem Administrator, oder einer Software wie <application>Heartbeat</application>, mittels &man.hastctl.8; festgelegt. Auf dem prim�ren Knoten <literal>hasta</literal> geben Sie diesen Befehl ein:</para> <screen>&prompt.root; <userinput>hastctl role primary <replaceable>test</replaceable></userinput></screen> <para>Geben Sie folgendes Kommando auf dem sekund�ren Knoten <literal>hastb</literal> ein:</para> <screen>&prompt.root; <userinput>hastctl role secondary <replaceable>test</replaceable></userinput></screen> <para>�berpr�fen Sie das Ergebnis mit <command>hastctl</command> auf beiden Knoten:</para> <screen>&prompt.root; <userinput>hastctl status <replaceable>test</replaceable></userinput></screen> <para>�berpr�fen Sie die <literal>status</literal>-Zeile. Wird hier <literal>degraded</literal> angezeigt, dann ist etwas mit der Konfigurationsdatei nicht in Ordnung. Auf jedem Konten sollte <literal>complete</literal> angezeit werden, was bedeutet, dass die Synchronisation zwischen den beiden Knoten gestartet wurde. Die Synchronisierung ist abgeschlossen, wenn <command>hastctl status</command> meldet, dass die <literal>dirty</literal>-Bereiche 0 Bytes betragen.</para> <para>Der n�chste Schritt ist, ein Dateisystem auf dem <acronym>GEOM</acronym>-Provider anzulegen und dieses ins System einzuh�ngen. Dies muss auf dem <literal>primary</literal>-Knoten durchgef�hrt werden. Die Erstellung des Dateisystems kann ein paar Minuten dauern, abh�ngig von der Gr��e der Festplatte. Dieses Beispiel erstellt ein <acronym>UFS</acronym>-Dateisystem auf <filename>/dev/hast/test</filename>:</para> <screen>&prompt.root; <userinput>newfs -U /dev/hast/<replaceable>test</replaceable></userinput> &prompt.root; <userinput>mkdir /hast/<replaceable>test</replaceable></userinput> &prompt.root; <userinput>mount /dev/hast/<replaceable>test</replaceable> <replaceable>/hast/test</replaceable></userinput></screen> <para>Sobald das <acronym>HAST</acronym>-Framework richtig konfiguriert wurde, besteht der letzte Schritt nun darin, sicherzustellen, dass <acronym>HAST</acronym> w�hrend des Systemstarts automatisch gestartet wird. F�gen Sie diese Zeile in <filename>/etc/rc.conf</filename> hinzu:</para> <programlisting>hastd_enable="YES"</programlisting> <sect3> <title>Failover-Konfiguration</title> <para>Das Ziel dieses Beispiels ist, ein robustes Speichersystem zu bauen, welches Fehlern auf einem beliebigen Knoten widerstehen kann. Wenn der <literal>primary</literal>-Knoten ausf�llt, ist der <literal>secondary</literal>-Knoten da, um nahtlos einzuspringen, das Dateisystem zu pr�fen, einzuh�ngen und mit der Arbeit fortzufahren, ohne dass auch nur ein einzelnes Bit an Daten verloren geht.</para> <para>Um diese Aufgabe zu bewerkstelligen, wird das <foreignphrase>Common Address Redundancy Protocol</foreignphrase> (<acronym>CARP</acronym>) benutzt, welches ein automatisches Failover auf der <acronym>IP</acronym>-Schicht erm�glicht. <acronym>CARP</acronym> erlaubt es mehreren Rechnern im gleichen Netzsegment, die gleiche <acronym>IP</acronym>-Adresse zu verwenden. Setzen Sie <acronym>CARP</acronym> auf beiden Knoten des Clusters anhand der Dokumentation in <xref linkend="carp"/> auf. In diesem Beispiel hat jeder Knoten seine eigene Management <acronym>IP</acronym>-Adresse und die geteilte <acronym>IP</acronym>-Adresse <replaceable>172.16.0.254</replaceable>. Der prim�re <acronym>HAST</acronym>-Knoten des Clusters muss der <acronym>CARP</acronym>-Masterknoten sein.</para> <para>Der <acronym>HAST</acronym>-Pool, welcher im vorherigen Abschnitt erstellt wurde, ist nun bereit f�r den Export �ber das Netzwerk auf den anderen Rechner. Dies kann durch den Export �ber <acronym>NFS</acronym> oder <application>Samba</application> erreicht werden, indem die geteilte <acronym>IP</acronym>-Addresse <replaceable>172.16.0.254</replaceable> verwendet wird. Das einzige ungel�ste Problem ist der automatische Failover, sollte der prim�re Knoten einmal ausfallen.</para> <para>Falls die <acronym>CARP</acronym>-Schnittstelle aktiviert oder deaktiviert wird, generiert das &os;-Betriebssystem ein &man.devd.8;-Ereignis, was es erm�glicht, Zustands�nderungen auf den <acronym>CARP</acronym>-Schnittstellen zu �berwachen. Eine Zustands�nderung auf der <acronym>CARP</acronym>-Schnittstelle ist ein Indiz daf�r, dass einer der Knoten gerade ausgefallen oder wieder verf�gbar ist. Diese Zustands�nderungen machen es m�glich, ein Skript zu starten, welches automatisch den HAST-Failover durchf�hrt.</para> <para>Um Zustands�nderungen auf der <acronym>CARP</acronym>-Schnittstelle abzufangen, m�ssen diese Zeilen in <filename>/etc/devd.conf</filename> auf jedem Knoten hinzugef�gt werden:</para> <programlisting>notify 30 { match "system" "IFNET"; match "subsystem" "carp0"; match "type" "LINK_UP"; action "/usr/local/sbin/carp-hast-switch master"; }; notify 30 { match "system" "IFNET"; match "subsystem" "carp0"; match "type" "LINK_DOWN"; action "/usr/local/sbin/carp-hast-switch slave"; };</programlisting> <note> <para>Wenn auf dem System &os; 10 oder h�her eingesetzt wird, ersetzen Sie <filename>carp0</filename> durch den Namen der konfigurierten Schnittstelle f�r <acronym>CARP</acronym>.</para> </note> <para>Starten Sie &man.devd.8; auf beiden Knoten neu, um die neue Konfiguration wirksam werden zu lassen:</para> <screen>&prompt.root; <userinput>service devd restart</userinput></screen> <para>Wenn die Schnittstelle aktiviert oder deaktiviert wird, erzeugt das System eine Meldung, was es dem &man.devd.8;-Subsystem erm�glicht, ein automatisches Failover-Skript zu starten, <filename>/usr/local/sbin/carp-hast-switch</filename>. Weitere Informationen zu dieser Konfiguration finden Sie in &man.devd.conf.5;.</para> <para>Es folgt ein Beispiel f�r ein automatisches Failover-Skript:</para> <programlisting>#!/bin/sh # Original script by Freddie Cash <fjwcash@gmail.com> # Modified by Michael W. Lucas <mwlucas@BlackHelicopters.org> # and Viktor Petersson <vpetersson@wireload.net> # The names of the HAST resources, as listed in /etc/hast.conf resources="<replaceable>test</replaceable>" # delay in mounting HAST resource after becoming master # make your best guess delay=3 # logging log="local0.debug" name="carp-hast" # end of user configurable stuff case "$1" in master) logger -p $log -t $name "Switching to primary provider for ${resources}." sleep ${delay} # Wait for any "hastd secondary" processes to stop for disk in ${resources}; do while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do sleep 1 done # Switch role for each disk hastctl role primary ${disk} if [ $? -ne 0 ]; then logger -p $log -t $name "Unable to change role to primary for resource ${disk}." exit 1 fi done # Wait for the /dev/hast/* devices to appear for disk in ${resources}; do for I in $( jot 60 ); do [ -c "/dev/hast/${disk}" ] && break sleep 0.5 done if [ ! -c "/dev/hast/${disk}" ]; then logger -p $log -t $name "GEOM provider /dev/hast/${disk} did not appear." exit 1 fi done logger -p $log -t $name "Role for HAST resources ${resources} switched to primary." logger -p $log -t $name "Mounting disks." for disk in ${resources}; do mkdir -p /hast/${disk} fsck -p -y -t ufs /dev/hast/${disk} mount /dev/hast/${disk} /hast/${disk} done ;; slave) logger -p $log -t $name "Switching to secondary provider for ${resources}." # Switch roles for the HAST resources for disk in ${resources}; do if ! mount | grep -q "^/dev/hast/${disk} on " then else umount -f /hast/${disk} fi sleep $delay hastctl role secondary ${disk} 2>&1 if [ $? -ne 0 ]; then logger -p $log -t $name "Unable to switch role to secondary for resource ${disk}." exit 1 fi logger -p $log -t $name "Role switched to secondary for resource ${disk}." done ;; esac</programlisting> <para>Im Kern f�hrt das Skript die folgenden Aktionen durch, sobald ein Knoten zum Master wird:</para> <itemizedlist> <listitem> <para>Es ernennt den <acronym>HAST</acronym>-Pool als den prim�ren f�r einen gegebenen Knoten.</para> </listitem> <listitem> <para>Es pr�ft das Dateisystem, dass auf dem <acronym>HAST</acronym>-Pool erstellt wurde.</para> </listitem> <listitem> <para>Es h�ngt den Pool ins System ein.</para> </listitem> </itemizedlist> <para>Wenn ein Knoten zum Sekund�ren ernannt wird:</para> <itemizedlist> <listitem> <para>H�ngt es den <acronym>HAST</acronym>-Pool aus dem Dateisystem aus.</para> </listitem> <listitem> <para>Degradiert es den <acronym>HAST</acronym>-Pool zum sekund�ren.</para> </listitem> </itemizedlist> <caution> <para>Dieses Skript ist nur ein Beispiel f�r eine m�gliche L�sung. Es behandelt nicht alle m�glichen Szenarien, die auftreten k�nnen und sollte erweitert bzw. abge�ndert werden, so dass z.B. ben�tigte Dienste gestartet oder gestoppt werden.</para> </caution> <tip> <para>F�r dieses Beispiel wurde ein <acronym>UFS</acronym>-Dateisystem verwendet. Um die Zeit f�r die Wiederherstellung zu verringern, kann ein <acronym>UFS</acronym> mit Journal oder ein <acronym>ZFS</acronym>-Dateisystem benutzt werden.</para> </tip> <para>Weitere detaillierte Informationen mit zus�tzlichen Beispielen k�nnen unter <link xlink:href="http://wiki.FreeBSD.org/HAST"> http://wiki.FreeBSD.org/HAST</link> abgerufen werden.</para> </sect3> </sect2> <sect2> <title>Fehlerbehebung</title> <para><acronym>HAST</acronym> sollte generell ohne Probleme funktionieren. Jedoch kann es, wie bei jeder anderen Software auch, zu gewissen Zeiten sein, dass sie sich nicht so verh�lt wie angegeben. Die Quelle dieser Probleme kann unterschiedlich sein, jedoch sollte als Faustregel gew�hrleistet werden, dass die Zeit f�r alle Knoten im Cluster synchron l�uft.</para> <para>F�r die Fehlersuche bei <acronym>HAST</acronym> sollte die Anzahl an Debugging-Meldungen von &man.hastd.8; erh�ht werden. Dies kann durch das Starten von <command>hastd</command> mit <literal>-d</literal> erreicht werden. Diese Option kann mehrfach angegeben werden, um die Anzahl an Meldungen weiter zu erh�hen. Sie sollten ebenfalls die Verwendung von <literal>-F</literal> in Erw�gung ziehen, was <command>hastd</command> im Vordergrund startet.</para> <sect3 xml:id="disks-hast-sb"> <title>Aufl�sung des Split-brain-Zustands</title> <para><literal>split-brain</literal> bezeichnet eine Situation, in der beide Knoten des Clusters nicht in der Lage sind, miteinander zu kommunizieren und dadurch beide als prim�re Knoten fungieren. Dies ist ein gef�hrlicher Zustand, weil es beiden Knoten erlaubt ist, �nderungen an den Daten vorzunehmen, die miteinander nicht in Einklang gebracht werden k�nnen. Diese Situation muss vom Systemadministrator h�ndisch bereinigt werden.</para> <para>Der Administrator muss entscheiden, welcher Knoten die wichtigeren �nderungen besitzt, oder die Zusammenf�hrung manuell durchf�hren. Anschlie�end kann <acronym>HAST</acronym> die volle Synchronisation mit dem Knoten durchf�hren, der die besch�digten Daten enth�lt. Um dies zu tun, geben Sie folgende Befehle auf dem Knoten ein, der neu synchronisiert werden muss:</para> <screen>&prompt.root; <userinput>hastctl role init <replaceable>test</replaceable></userinput> &prompt.root; <userinput>hastctl create <replaceable>test</replaceable></userinput> &prompt.root; <userinput>hastctl role secondary <replaceable>test</replaceable></userinput></screen> </sect3> </sect2> </sect1> </chapter>