12406 lines
530 KiB
XML
12406 lines
530 KiB
XML
<?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
|
|
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
|
|
"../../../share/sgml/freebsd42.dtd" [
|
|
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE" "../../share/sgml/entities.ent">
|
|
%entities;
|
|
<!ENTITY bibliography SYSTEM "../../share/sgml/bibliography.sgml">
|
|
<!ENTITY rel.head "<emphasis>10-CURRENT</emphasis>">
|
|
<!ENTITY rel.head.relx "10.<replaceable>X</replaceable>">
|
|
<!ENTITY rel.head.releng "<symbol>HEAD</symbol>">
|
|
<!ENTITY rel.head.packages "packages-10-current">
|
|
<!ENTITY rel.relx "9.<replaceable>X</replaceable>">
|
|
<!ENTITY rel.stable "<emphasis>9-STABLE</emphasis>">
|
|
<!ENTITY rel.releng "<symbol>RELENG_9</symbol>">
|
|
<!ENTITY rel.relengdate "September 2011">
|
|
<!ENTITY rel.packages "packages-9-stable">
|
|
<!ENTITY rel2.relx "8.<replaceable>X</replaceable>">
|
|
<!ENTITY rel2.stable "<emphasis>8-STABLE</emphasis>">
|
|
<!ENTITY rel2.releng "<symbol>RELENG_8</symbol>">
|
|
<!ENTITY rel2.relengdate "August 2009">
|
|
<!ENTITY rel2.packages "packages-8-stable">
|
|
<!ENTITY rel3.current "7.4">
|
|
<!ENTITY rel3.relx "7.<replaceable>X</replaceable>">
|
|
<!ENTITY rel3.stable "<emphasis>7-STABLE</emphasis>">
|
|
<!ENTITY rel3.releng "<symbol>RELENG_7</symbol>">
|
|
<!ENTITY rel3.relengdate "October 2007">
|
|
<!ENTITY rel3.packages "packages-7-stable">
|
|
]>
|
|
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde$
|
|
|
|
basiert auf: r39057
|
|
|
|
-->
|
|
|
|
<book id="faq" lang="de">
|
|
<bookinfo>
|
|
<title>Häufig gestellte Fragen zu &os;
|
|
&rel3.relx;, &rel2.relx; und &rel.relx;</title>
|
|
|
|
<subtitle>Frequently Asked Questions zu &os;
|
|
&rel3.relx;, &rel2.relx; und &rel.relx;</subtitle>
|
|
|
|
<authorgroup>
|
|
<corpauthor>The &os; German Documentation
|
|
Project</corpauthor>
|
|
|
|
<collab>
|
|
<collabname>Deutsche Übersetzung von Robert S. F.
|
|
Drehmel, Dirk Gouders, Udo Erdelhoff, Johann Kois
|
|
und Benedict Reuschling</collabname>
|
|
</collab>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>1995</year>
|
|
<year>1996</year>
|
|
<year>1997</year>
|
|
<year>1998</year>
|
|
<year>1999</year>
|
|
<year>2000</year>
|
|
<year>2001</year>
|
|
<year>2002</year>
|
|
<year>2003</year>
|
|
<year>2004</year>
|
|
<year>2005</year>
|
|
<year>2006</year>
|
|
<year>2007</year>
|
|
<year>2008</year>
|
|
<year>2009</year>
|
|
<year>2010</year>
|
|
<year>2011</year>
|
|
<year>2012</year>
|
|
<holder>The &os; Documentation Project</holder>
|
|
</copyright>
|
|
|
|
<copyright>
|
|
<year>2000 - 2011</year>
|
|
|
|
<holder>The &os; German Documentation Project</holder>
|
|
</copyright>
|
|
|
|
&legalnotice;
|
|
|
|
<legalnotice id="trademarks" role="trademarks">
|
|
&tm-attrib.freebsd;
|
|
&tm-attrib.3com;
|
|
&tm-attrib.adobe;
|
|
&tm-attrib.creative;
|
|
&tm-attrib.cvsup;
|
|
&tm-attrib.ibm;
|
|
&tm-attrib.ieee;
|
|
&tm-attrib.intel;
|
|
&tm-attrib.iomega;
|
|
&tm-attrib.linux;
|
|
&tm-attrib.microsoft;
|
|
&tm-attrib.mips;
|
|
&tm-attrib.netscape;
|
|
&tm-attrib.opengroup;
|
|
&tm-attrib.oracle;
|
|
&tm-attrib.sgi;
|
|
&tm-attrib.sparc;
|
|
&tm-attrib.sun;
|
|
&tm-attrib.usrobotics;
|
|
&tm-attrib.general;
|
|
</legalnotice>
|
|
|
|
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
|
|
<abstract>
|
|
<para>Dies ist die FAQ für die &os;-Versionen &rel3.relx;
|
|
&rel2.relx; und &rel.relx;. Alle Einträge sollten
|
|
für &os; ab Version &rel3.relx; relevant sein,
|
|
andernfalls wird darauf explizit hingewiesen. Falls Sie daran
|
|
interessiert sein sollten, an diesem Projekt mitzuarbeiten,
|
|
senden Sie eine Mail an die Mailingliste &a.de.translators;. Die
|
|
aktuelle Version dieses Dokuments ist ständig auf dem <ulink
|
|
url="http://www.FreeBSD.org/">&os; World-Wide-Web-Server</ulink>
|
|
verfügbar. Sie kann aber auch als eine einzige große <ulink
|
|
url="book.html">HTML</ulink>-Datei, als Textdatei, als &postscript;-
|
|
oder PDF-Datei sowie in verschiedenen anderen Formaten vom <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">&os; FTP-Server</ulink>
|
|
heruntergeladen werden. Alternativ können Sie die FAQ auch <ulink
|
|
url="&url.base;/search/search.html"> durchsuchen</ulink>.</para>
|
|
</abstract>
|
|
</bookinfo>
|
|
|
|
<chapter id="introduction">
|
|
<title>Einleitung</title>
|
|
|
|
<para>Willkommen zur &os; &rel3.relx;-&rel2.relx;- und &rel.relx;
|
|
FAQ!</para>
|
|
|
|
<para>Wie auch bei den Usenet FAQs üblich, wird mit diesem
|
|
Dokument beabsichtigt, die am häufigsten gestellten Fragen
|
|
bezüglich des Betriebssystems &os; zu erfassen und sie
|
|
natürlich auch zu beantworten. Obwohl FAQs
|
|
ursprünglich lediglich dazu dienen sollten, die
|
|
Netzbelastung zu reduzieren und das ständige Wiederholen
|
|
derselben Fragen zu vermeiden, haben sie sich als wertvolle
|
|
Informationsquellen etabliert.</para>
|
|
|
|
<para>Wir haben uns die größte Mühe gegeben, diese
|
|
FAQ so lehrreich wie möglich zu gestalten; falls Sie
|
|
irgendwelche Vorschläge haben, wie sie verbessert werden
|
|
kann, senden Sie diese bitte an die Mailingliste des
|
|
&a.de.translators;.</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="what-is-FreeBSD">
|
|
<para>Was ist &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; ist, kurz gesagt, ein &unix; ähnliches
|
|
Betriebssystem für die Plattformen AMD64
|
|
sowie &intel; EM64T, &i386;, IA-64, &arm;, &powerpc;, PC-98
|
|
und &ultrasparc;,
|
|
das auf der <quote>4.4BSD-Lite</quote>-Release
|
|
der University of California at Berkeley (UCB) basiert;
|
|
außerdem flossen einige Erweiterungen aus der
|
|
<quote>4.4BSD-Lite2</quote>-Release mit ein. Es basiert
|
|
außerdem indirekt auf der von William Jolitz unter
|
|
dem Namen <quote>386BSD</quote> herausgebrachten
|
|
Portierung der <quote>Net/2</quote>-Release der UCB auf
|
|
die &i386;-Plattform - allerdings ist nur wenig vom
|
|
386BSD-Code übriggeblieben. Eine umfassendere
|
|
Beschreibung darüber, was &os; ist und wie Sie es
|
|
für Ihre Zwecke verwenden können, finden Sie auf
|
|
den Internetseiten des <ulink
|
|
url="&url.base;/de/index.html"> &os; Projects</ulink>.</para>
|
|
|
|
<para>Unternehmen, Internet Service Provider, Forscher,
|
|
Computerfachleute, Studenten und Privatnutzer auf der
|
|
ganzen Welt benutzen &os; für die Arbeit, die
|
|
Ausbildung oder zur Freizeitgestaltung.</para>
|
|
|
|
<para>Ausführlichere Informationen zu &os;, finden
|
|
Sie im <ulink
|
|
url="&url.books.handbook;/index.html">&os; Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="FreeBSD-goals">
|
|
<para>Welches Ziel hat das &os; Project?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Ziel von &os; ist es, Software zur Nutzung
|
|
für beliebige Zwecke, bedingungslos zur
|
|
Verfügung zu stellen. Viele von uns haben
|
|
erheblich zur Erstellung des Codes (und zum Projekt)
|
|
beigetragen und hätten jetzt oder in Zukunft
|
|
sicherlich nichts gegen einen geringen finanziellen
|
|
Ausgleich einzuwenden, aber wir beabsichtigen definitiv
|
|
nicht, darauf zu bestehen. Wir sind der Meinung,
|
|
dass unsere <quote>Mission</quote> zuerst und
|
|
vorderst darin besteht, allen und jedem Kommenden Code
|
|
für welchen Zweck auch immer zur Verfügung zu
|
|
stellen, damit der Code möglichst weit eingesetzt
|
|
wird und den größtmöglichen Nutzen
|
|
liefert. Das ist, so glauben wir, eines der
|
|
fundamentalsten Ziele von freier Software und eines, das
|
|
wir enthusiastisch unterstützen.</para>
|
|
|
|
<para>Der Code in unserem Quellbaum, der der <ulink
|
|
url="http://www.FreeBSD.org/copyright/COPYING">GNU General
|
|
Public License (GPL)</ulink> oder der <ulink
|
|
url="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU
|
|
Library General Public License (LGPL)</ulink> unterliegt,
|
|
ist mit zusätzlichen, geringfügigen Bedingungen
|
|
verknüpft, jedoch handelt es sich dabei lediglich um
|
|
erzwungene Bereitstellung statt des sonst üblichen
|
|
Gegenteils. Auf Grund der zusätzlichen
|
|
Komplexität, die durch den kommerziellen Einsatz von
|
|
GPL Software entstehen kann, bemühen wir uns jedoch,
|
|
solche Software, wo möglich, durch solche, die der
|
|
etwas lockereren <ulink
|
|
url="http://www.FreeBSD.org/copyright/freebsd-license.html">&os;
|
|
Lizenz</ulink> unterliegt, zu ersetzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bsd-license-restrictions">
|
|
<para>Beinhaltet das &os;-Copyright irgendwelche
|
|
Einschränkungen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Diese Einschränkungen regeln aber nicht, wie
|
|
Sie mit dem Sourcecode umgehen, sondern betreffen nur den
|
|
Umgang mit dem &os; Project an sich. Wenn Sie sich
|
|
ernsthaft damit auseinandersetzen wollen, lesen Sie
|
|
einfach die <ulink
|
|
url="http://www.FreeBSD.org/copyright/freebsd-license.html">
|
|
&os;-Lizenz</ulink>. Wenn Sie einfach nur neugierig
|
|
sind, sollte diese Zusammenfassung ausreichen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Behaupten Sie nicht, Sie hätten es
|
|
geschrieben.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Verklagen Sie uns nicht, wenn irgend etwas nicht
|
|
funktioniert.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="replace-current-OS">
|
|
<para>Kann &os; mein bisher verwendetes Betriebssystem
|
|
ersetzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In den meisten Fällen lautet die Antwort ja.
|
|
Allerdings ist diese Frage nicht ganz so einfach, wie sie
|
|
scheint.</para>
|
|
|
|
<para>Die meisten Anwender benutzen kein Betriebssystem,
|
|
sondern Anwendungen. Die Anwendungen sind es, die das
|
|
Betriebssystem benutzen. &os; ist dazu gedacht, eine
|
|
stabile und vielfältige Umgebung für Anwendungen
|
|
bereitzustellen. Es unterstützt viele
|
|
unterschiedliche Web-Browser, Büroanwendungen,
|
|
E-Mail-Programme, Grafik-Programme, Entwicklungsumgebungen,
|
|
Netzwerk-Server, und so ziemlich alles andere, was Sie sich
|
|
wünschen können. Die meisten dieser Anwendungen
|
|
sind in der <ulink
|
|
url="http://www.FreeBSD.org/ports/">Ports-Sammlung</ulink>
|
|
verfügbar.</para>
|
|
|
|
<para>Wenn Sie Anwendung benutzen müssen, die es nur
|
|
für ein bestimmtes Betriebssystem gibt, dann kommen
|
|
Sie an diesem Betriebssystem nicht vorbei. Allerdings
|
|
stehen die Chancen nicht schlecht, dass es eine
|
|
vergleichbare Anwendung für &os; gibt. Wenn Sie
|
|
einen verläßlichen Server für ihr
|
|
Büro oder das Internet brauchen, oder eine stabilen
|
|
Arbeitsplatz, oder einfach nur die Fähigkeit, ihre
|
|
Arbeit ohne dauernde Abstürze machen zu können,
|
|
dann kann &os; genau das sein. Viele Anwender auf der
|
|
ganzen Welt, vom Anfänger bis zum erfahrenen
|
|
Administrator, benutzen an Ihren Arbeitsplätzen
|
|
ausschließlich &os;.</para>
|
|
|
|
<para>Wenn Sie von einem anderen &unix; System zu &os;
|
|
wechseln, dürfte Ihnen vieles bekannt vorkommen.
|
|
Wenn Ihr Hintergrund ein Grafik-orientiertes
|
|
Betriebssystem wie &windows; oder ein älteres &macos;
|
|
ist, werden Sie zusätzliche Zeit investieren
|
|
müssen, um den &unix; Stil zu verstehen. Dieser FAQ
|
|
und das <ulink url="&url.books.handbook;/index.html">&os;
|
|
Handbuch</ulink> sind die besten Startpunkte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="why-called-FreeBSD">
|
|
<para>Warum heißt es &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Es darf kostenlos genutzt werden - sogar von
|
|
kommerziellen Benutzern.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der komplette Quellcode für das
|
|
Betriebssystem ist frei verfügbar und die
|
|
Benutzung, Verbreitung und Einbindung in andere
|
|
(kommerzielle und nicht-kommerzielle) Arbeiten sind
|
|
mit den geringstmöglichen Einschränkungen
|
|
versehen worden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Jedem ist es freigestellt, Code für
|
|
Verbesserungen oder die Behebung von Fehlern
|
|
einzusenden und ihn zum Quellbaum hinzufügen zu
|
|
lassen (dies ist natürlich Gegenstand von ein
|
|
oder zwei offensichtlichen Klauseln).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Es wird darauf hingewiesen, dass das englische
|
|
Wort <quote>free</quote> hier in den Bedeutungen
|
|
<quote>umsonst</quote> und <quote>Sie können tun, was
|
|
immer Sie möchten</quote> genutzt wird. Abgesehen
|
|
von ein oder zwei Dingen, die Sie mit dem &os;-Code
|
|
<emphasis>nicht</emphasis> tun können (z.B. vorgeben,
|
|
ihn geschrieben zu haben), können Sie damit
|
|
tatsächlich tun, was auch immer Sie möchten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="differences-to-other-bsds">
|
|
<para>Wie unterschieden sich &os;, NetBSD, OpenBSD
|
|
und andere Open-Source BSD-Systeme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>James Howards Artikel, genannt <ulink
|
|
url="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html">The
|
|
BSD Family Tree</ulink>, beschreibt sehr gut die Geschichte
|
|
und die Unterschiede der BSD-Varianten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="latest-version">
|
|
<para>Welches ist die aktuelle &os;-Version?</para>
|
|
</question>
|
|
|
|
<!--
|
|
This answer is a hack to deal with the fact that for now there are
|
|
multiple "latest" versions of FreeBSD.
|
|
-->
|
|
|
|
<answer>
|
|
<para>Momentan gibt es zwei Entwicklungszweige,
|
|
die für die Erstellung von Releases verwendet werden.
|
|
Die &rel.relx;-RELEASEs werden auf dem &rel.stable;-Zweig erstellt,
|
|
die &rel2.relx;-RELEASEs auf dem &rel2.stable;-Zweig.</para>
|
|
|
|
<para>Bis zur Veröffentlichung von &os; 8.0 galt
|
|
die &rel3.relx;-Serie als <emphasis>-STABLE</emphasis>. Seither
|
|
gibt es für den Zweig &rel3.relx; nur mehr
|
|
eine <quote>erweiterte Unterstützung</quote> in der Form
|
|
von Korrekturen von größeren Problemen, wie
|
|
neu entdeckten Sicherheitsheitslücken. Aus dem Zweig
|
|
&rel3.stable; werden zwar noch RELEASEs erzeugt, er gilt aber
|
|
als <quote>ausgereift</quote>. Aktive Weiterentwicklungen
|
|
konzentrieren sich daher auf den Zweig &rel.stable; und
|
|
&rel2.stable;.</para>
|
|
|
|
<para>Version <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;</ulink>
|
|
ist das aktuelle Release des &rel.stable;-Zweigs und ist im
|
|
Januar 2009 <!--&rel.current.date;--> erschienen.
|
|
Version <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</ulink>
|
|
ist das aktuelle Release aus dem
|
|
&rel2.stable;-Zweig und ist im
|
|
November 2008 <!--&rel2.current.date;--> erschienen.</para>
|
|
|
|
<para>Kurz gesagt, <emphasis>-STABLE</emphasis> ist
|
|
für ISPs und andere Benutzer gedacht, die mehr Wert
|
|
auf Stabilität und eine niedrige
|
|
Änderungsfrequenz als auf die neuesten und
|
|
möglicherweise unstabilen Features im
|
|
aktuellen <emphasis>-CURRENT</emphasis> Snapshot legen.
|
|
Releases können aus jedem Zweig entstehen, Sie
|
|
sollten <emphasis>-CURRENT</emphasis> allerdings nur dann
|
|
benutzen, wenn Sie auf ein erhöhtes Fehlverhalten
|
|
im Vergleich zu <emphasis>-STABLE</emphasis> auch
|
|
vorbereitet sind.</para>
|
|
|
|
<para>Releases entstehen nur <link
|
|
linkend="release-freq">alle paar Monate</link>. Viele
|
|
Leute halten ihre Systeme aktueller (lesen Sie die Fragen
|
|
zu <link linkend="current">&os;-CURRENT</link> und
|
|
<link linkend="stable">&os;-STABLE</link>), aber das
|
|
erfordert ein erhöhtes Engagement, da die Sourcen
|
|
sich ständig verändern.</para>
|
|
|
|
<para>Weitere Informationen über &os;-Releases entnehmen
|
|
Sie der Seite <ulink
|
|
url="http://www.FreeBSD.org/releng/index.html">Release
|
|
Engineering</ulink> des &os; Webauftritts.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="current">
|
|
<para>Was ist <emphasis>&os;-CURRENT</emphasis>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><ulink
|
|
url="&url.books.handbook;/current-stable.html#CURRENT">
|
|
&os;-CURRENT</ulink> ist die Entwicklungsversion des
|
|
Betriebssystems, aus der zu gegebener Zeit &os.stable;
|
|
werden wird. Als solche ist sie lediglich für
|
|
Entwickler, die am System mitarbeiten und für
|
|
unentwegte Bastler von Interesse. Details zum Betrieb von
|
|
<emphasis>-CURRENT</emphasis> finden Sie im <ulink
|
|
url="&url.books.handbook;/current-stable.html#CURRENT">
|
|
entsprechenden Abschnitt</ulink> des <ulink
|
|
url="&url.books.handbook;/index.html">Handbuchs</ulink>.</para>
|
|
|
|
<para>Falls Sie nicht mit dem Betriebssystem vertraut sind
|
|
oder nicht in der Lage sein sollten, den Unterschied
|
|
zwischen einen echten und einem temporären Problem zu
|
|
erkennen, sollten Sie &os.current; nicht verwenden.
|
|
Dieser Zweig entwickelt sich manchmal sehr schnell weiter
|
|
und kann gelegentlich nicht installierbar sein. Von Personen, die
|
|
&os.current; verwenden, wird erwartet, dass Sie
|
|
dazu in der Lage sind, Probleme zu analysieren und nur
|
|
dann von ihnen berichten, wenn es sich um Fehler und nicht
|
|
um <quote>kurzzeitige Störungen</quote> handelt.
|
|
Fragen wie <quote>make world produziert Fehlermeldungen
|
|
bezüglich Gruppen</quote> werden in der &a.current;
|
|
Mailingliste manchmal nicht beachtet.</para>
|
|
|
|
<para>Jeden Monat wird der aktuelle Entwicklungsstand in den
|
|
Zweigen <emphasis>-CURRENT</emphasis> und
|
|
<emphasis>-STABLE</emphasis> in einer <ulink
|
|
url="&url.base;/snapshots/">Snapshot</ulink>
|
|
Release festgehalten. Die Ziele dieser Snapshot
|
|
Releases sind:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die aktuelle Version der Installationssoftware zu
|
|
testen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Personen, die <emphasis>-CURRENT</emphasis> oder
|
|
<emphasis>-STABLE</emphasis> benutzen
|
|
möchten, aber nicht über die nötige
|
|
Zeit oder Bandbreite verfügen, um
|
|
tagesaktuell zu bleiben, soll eine bequeme
|
|
Möglichkeit geboten werden, es auf ihr System zu
|
|
bringen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Erhaltung von Referenzpunkten des fraglichen
|
|
Codes, für den Fall, dass wir später
|
|
einmal ernsthaften Schaden anrichten sollten - obwohl
|
|
CVS verhindern sollte, dass solche Situationen
|
|
entstehen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sicherzustellen, dass alle zu testenden, neuen
|
|
Merkmale und Fehlerbehebungen zu möglichst vielen
|
|
potentiellen Testern gelangen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Von keinem <emphasis>-CURRENT</emphasis> Snapshot kann
|
|
<quote>Produktionsqualität</quote> für beliebige
|
|
Zwecke erwartet werden. Wenn Sie eine stabile und
|
|
ausgetestete Version benötigen, sollten Sie eine
|
|
vollständige Release oder einen <emphasis>-STABLE</emphasis>
|
|
Snapshot verwenden.</para>
|
|
|
|
<para>Snapshot-Releases sind auf der <ulink
|
|
url="&url.base;/snapshots/">Snapshots</ulink>-Seite
|
|
verfügbar.</para>
|
|
|
|
<para>Offizielle Snapshots werden in der Regel jeden Monat für
|
|
jeden aktiven Zweig erstellt. Es gibt auch täglich erstellte
|
|
Snapshots der populären &arch.i386; und &arch.amd64; Zweige,
|
|
die auf <ulink
|
|
url="http://snapshots.us.freebsd.org/"></ulink> bereitliegen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="stable">
|
|
<para>Was ist das Konzept von <emphasis>&os;-STABLE</emphasis>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zur der Zeit, als &os; 2.0.5 herausgegeben wurde,
|
|
wurde entschieden, die Entwicklung von &os; zweizuteilen.
|
|
Ein Zweig wurde <ulink
|
|
url="&url.books.handbook;/current-stable.html#STABLE">-STABLE</ulink>,
|
|
der andere <ulink
|
|
url="&url.books.handbook;/cutting-edge.html#CURRENT">-CURRENT</ulink>
|
|
genannt. <emphasis>&os;-STABLE</emphasis> ist für Anbieter
|
|
von Internetdiensten und andere kommerzielle Unternehmen
|
|
gedacht, für die plötzliche Veränderungen
|
|
und experimentelle Features unerwünscht sind.
|
|
In diesem Zweige werden nur ausgetestete
|
|
Fehlerbehebungen und kleine, inkrementelle Änderungen
|
|
aufgenommen. <emphasis>&os;-CURRENT</emphasis> ist eine
|
|
ununterbrochene Linie seitdem die Version 2.0 herausgegeben
|
|
worden ist. Sie führt zu &rel.current;-RELEASE (und darüber
|
|
hinaus). Weitere Informationen zu diesen Zweigen finden Sie unter
|
|
<quote><ulink
|
|
url="&url.articles.releng.en;/release-proc.html#REL-BRANCH">
|
|
&os; Release Engineering: Creating the Release
|
|
Branch</ulink></quote>, der Status der Zweige und der Zeitplan zur
|
|
anstehenden Veröffentlichung kann unter der Seite <ulink
|
|
url="http://www.FreeBSD.org/releng">Release Engineering
|
|
Information</ulink> gefunden werden.</para>
|
|
|
|
<para>Der Zweig 2.2-STABLE wurde mit der
|
|
Veröffentlichung der Version 2.2.8 eingestellt. Der
|
|
Zweig 3-STABLE endete mit Version 3.5.1, der letzten
|
|
3.<replaceable>X</replaceable>-Version, der Zweig
|
|
4.<replaceable>X</replaceable> endete mit der Version 4.11,
|
|
der letzten 4.<replaceable>X</replaceable>-Version. Änderungen
|
|
in diesen Zweigen beschränken sich im allgemeinen auf die
|
|
Korrektur von sicherheitsrelevanten Fehlern. Der Zweig 5-STABLE
|
|
wurde mit 5.5, der letzten 5.<replaceable>X</replaceable> Version,
|
|
beendet. &rel3.stable; wird noch unterstützt, die
|
|
Unterstützung beschränkt sich allerdings auf das
|
|
Schließen von neu entdeckten Sicherheitslücken und die
|
|
Behebung von anderen ernsten Problemen.</para>
|
|
|
|
<para>&rel.current;-STABLE ist der Zweig, auf den sich die
|
|
Entwicklung von <emphasis>-STABLE</emphasis> zur Zeit konzentriert.
|
|
Das neueste Release aus dem &rel.current;-STABLE-Zweig ist
|
|
&rel.current;-RELEASE und ist im Januar 2007
|
|
<!--&rel.current.date;-->
|
|
erschienen.</para>
|
|
|
|
<para>Aus dem &rel.head;-Zweig entsteht die nächste
|
|
&os;-Generation. Weitere Informationen über diesen
|
|
Zweig finden Sie unter <link
|
|
linkend="current">Was ist &os;-CURRENT?</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="release-freq">
|
|
<para>Wann werden &os;-Versionen erstellt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im Schnitt gibt das &a.re; alle 18 Monate eine neue
|
|
Haupt-Version und etwa alle 8 Monate eine Unter-Version frei.
|
|
Das Erscheinungsdatum einer neuer Version wird frühzeitig
|
|
bekanntgegeben, damit die am System arbeitenden Personen wissen,
|
|
bis wann ihre Projekte abgeschlossen und ausgetestet sein
|
|
müssen. Vor jedem Release gibt es eine Testperiode um
|
|
sicherzustellen, dass die neu hinzugefügten Features
|
|
nicht die Stabilität des Releases beeinträchtigen.
|
|
Viele Benutzer halten dies für einen
|
|
großen Vorteil von &os;, obwohl es manchmal
|
|
frustrierend sein kann, so lange auf die
|
|
Verfügbarkeit der aktuellsten Leckerbissen zu
|
|
warten.</para>
|
|
|
|
<para>Weitere Informationen über die Entwicklung von
|
|
Releases, sowie eine Übersicht über kommende Releases,
|
|
erhalten Sie auf den <ulink
|
|
url="http://www.FreeBSD.org/releng/index.html">Release
|
|
Engineering</ulink> Seiten der &os; Webseite.</para>
|
|
|
|
<para>Für diejenigen, die ein wenig mehr Spannung
|
|
brauchen (oder möchten), werden täglich
|
|
Snapshots herausgegeben, wie oben beschrieben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="responsible">
|
|
<para>Wer ist für &os; verantwortlich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Schlüsseldiskussionen, die das &os; Project
|
|
betreffen, wie z.B. über die generelle Ausrichtung
|
|
des Projekts und darüber, wem es erlaubt sein soll,
|
|
Code zum Quellbaum hinzuzufügen, werden innerhalb
|
|
eines <ulink
|
|
url="&url.base;/de/administration.html#t-core">Core
|
|
Teams</ulink> von 9 Personen geführt. Es gibt
|
|
ein weitaus größeres Team von über 350
|
|
<ulink
|
|
url="&url.articles.contributors.en;/article.html#STAFF-COMMITTERS">Committern</ulink>,
|
|
die dazu autorisiert sind, Änderungen am &os;
|
|
Quellbaum durchzuführen.</para>
|
|
|
|
<para>Jedoch werden die meisten nicht-trivialen
|
|
Änderungen zuvor in den <link
|
|
linkend="mailing">Mailinglisten</link> diskutiert und es
|
|
bestehen keinerlei Einschränkungen darüber, wer
|
|
sich an diesen Diskussionen beteiligen darf.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="where-get">
|
|
<para>Wie kann ich &os; beziehen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Jede bedeutende Ausgabe von &os; ist per
|
|
Anonymous-FTP vom <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">&os; FTP
|
|
Server</ulink> erhältlich:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Das aktuelle &rel.stable;-Release, &rel.current;-RELEASE,
|
|
finden Sie im Verzeichnis <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="&url.base;/snapshots/">Snapshots</ulink>-Releases werden
|
|
monatlich aus dem <link
|
|
linkend="current">-CURRENT</link>-Zweig sowie aus dem <link
|
|
linkend="current">-STABLE</link>-Zweig erzeugt.
|
|
Sie sollten aber nur von Entwicklern und sehr erfahrenen
|
|
Testern verwendet werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das aktuelle Release von &rel2.stable;,
|
|
&rel2.current;-RELEASE finden Sie im Verzeichnis <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das aktuelle Release von &rel3.stable;,
|
|
&rel3.current;-RELEASE finden Sie im Verzeichnis <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel3.current;-RELEASE/">&rel3.current;-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Wo und wie Sie &os; auf CD, DVD, und anderen Medien
|
|
beziehen können, erfahren Sie im <ulink
|
|
url="&url.books.handbook;/mirrors.html">Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="access-pr">
|
|
<para>Wie greife ich auf die Datenbank mit Problemberichten
|
|
zu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Datenbank mit Problemberichten (PR,
|
|
<foreignphrase>problem report</foreignphrase>) und
|
|
Änderungsanfragen von Benutzern kann
|
|
über die webbasierte <ulink
|
|
url="http://www.de.FreeBSD.org/cgi/query-pr.cgi?query">
|
|
PR-Abfrage</ulink>-Schnittstelle abgefragt werden.</para>
|
|
|
|
<para>Mit dem Programm &man.send-pr.1; können Sie
|
|
Problemberichte oder Änderungsanträge per E-Mail
|
|
einsenden. Alternativ können Sie Problemberichte
|
|
auch über Ihren Browser und die
|
|
<ulink
|
|
url="http://www.freebsd.org/send-pr.html">webbasierte
|
|
PR-Eingabe</ulink>-Schnittstelle erstellen.</para>
|
|
|
|
<para>Bevor Sie einen Fehler melden, sollten Sie sich zuerst
|
|
den Artikel <ulink
|
|
url="&url.articles.problem-reports.en;/article.html">Writing
|
|
&os; Problem Reports</ulink> durchlesen, damit Sie
|
|
wissen, wie Sie eine gute Fehlermeldung verfassen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="other-info-sources">
|
|
<para>Gibt es weitere Informationsquellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden eine umfassende Liste unter <ulink
|
|
url="http://www.FreeBSD.org/docs.html">Documentation</ulink>
|
|
auf der <ulink
|
|
url="http://www.FreeBSD.org">&os;-Webseite</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="support">
|
|
<title>Dokumentation und Support</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="books">
|
|
<para>Gibt es gute Bücher über &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im Zuge des &os; Projekts sind diverse gute
|
|
Dokumente entstanden, die unter der
|
|
folgenden URL abgerufen werden können: <ulink
|
|
url="http://www.FreeBSD.org/docs.html"></ulink>. Zusätzlich
|
|
enthält <link
|
|
linkend="bibliography">die Bibliographie</link> am Ende
|
|
dieser FAQ und <ulink
|
|
url="&url.books.handbook;/bibliography.html">diejenige im
|
|
Handbuch</ulink> Verweise auf weitere empfohlene Bücher.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="doc-formats">
|
|
<para>Ist die Dokumentation auch in anderen Formaten
|
|
verfügbar? Zum Beispiel als einfacher Text (ASCII)
|
|
oder als &postscript;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Werfen Sie einen Blick auf das Verzeichnis <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink>
|
|
auf dem &os; FTP-Server. Dort finden sie Dokumentation
|
|
in vielen verschiedenen Format.</para>
|
|
|
|
<para>Die Dokumentation wurde nach vielen verschiedenen
|
|
Kriterien sortiert. Die Kriterien sind:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Der Name des Dokumentes, z.B.
|
|
<literal>FAQ</literal> oder
|
|
<literal>Handbuch</literal>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Sprache und der Zeichensatz, die in dem
|
|
Dokument verwendet werden. Diese entsprechen den
|
|
Anpassungen, die Sie auf Ihrem &os;-System im
|
|
Verzeichnis <filename
|
|
class="directory">/usr/share/locale</filename>
|
|
finden. Zurzeit werden die folgenden Sprachen und
|
|
Zeichensätze benutzt:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
|
|
<entry>Bedeutung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>bn_BD.ISO10646-1</literal></entry>
|
|
|
|
<entry>Bengalisch oder Bangla (Bangladesh) </entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>da_DK.ISO8859-1</literal></entry>
|
|
|
|
<entry>Dänisch (Dänemark)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>de_DE.ISO8859-1</literal></entry>
|
|
|
|
<entry>Deutsch (Deutschland)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>en_US.ISO8859-1</literal></entry>
|
|
|
|
<entry>Englisch (Vereinigte Staaten)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>el_GR.ISO8859-7</literal></entry>
|
|
|
|
<entry>Griechisch (Griechenland)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>es_ES.ISO8859-1</literal></entry>
|
|
|
|
<entry>Spanisch (Spanien)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>fr_FR.ISO8859-1</literal></entry>
|
|
|
|
<entry>Französisch (Frankreich)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>it_IT.ISO8859-15</literal></entry>
|
|
|
|
<entry>Italienisch (Italien)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>hu_HU.ISO8859-2</literal></entry>
|
|
|
|
<entry>Ungarisch (Ungarn)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>ja_JP.eucJP</literal></entry>
|
|
|
|
<entry>Japanisch (Japan, EUC-kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>mn_MN.UTF-8</literal></entry>
|
|
|
|
<entry>Mongolisch (Mongolei, UTF-8-kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>nl_NL.ISO8859-1</literal></entry>
|
|
|
|
<entry>Niederländisch (Holland)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>no_NO.ISO8859-1</literal></entry>
|
|
|
|
<entry>Norwegisch (Norwegen)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>pl_PL.ISO8859-2</literal></entry>
|
|
|
|
<entry>Polnisch (Polen)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>pt_BR.ISO8859-1</literal></entry>
|
|
|
|
<entry>Brasilianisches Portugiesisch (Brasilien)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>ru_RU.KOI8-R</literal></entry>
|
|
|
|
<entry>Russisch (Russland, KOI8-R-kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>sr_YU.ISO8859-2</literal></entry>
|
|
|
|
<entry>Serbisch (Serbien)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>tr_TR.ISO8859-9</literal></entry>
|
|
|
|
<entry>Türkisch (Türkei)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>zh_CN.GB2312</literal></entry>
|
|
|
|
<entry>Vereinfachtes Chinesisch (China,
|
|
GB2312-kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>zh_TW.Big5</literal></entry>
|
|
|
|
<entry>Chinesisch (Taiwan, Big5-kodiert)</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<note>
|
|
<para>Einige Dokumente sind nicht in allen Sprachen
|
|
verfügbar.</para>
|
|
</note>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das Format des Dokumentes. Die Dokumentation wird
|
|
in verschiedenen Formaten erzeugt, von denen jedes seine
|
|
eigenen Vor- und Nachteile hat. Einige Formate lassen sich
|
|
gut an einem Bildschirm lesen, während andere Formate
|
|
dafür gedacht sind, ein ansprechendes Druckbild zu
|
|
erzeugen. Das die Dokumentation in verschiedenen Formaten
|
|
verfügbar ist, stellt sicher, dass unsere Leser
|
|
die für sie relevanten Teile unabhängig vom
|
|
Ausgabemedium (Bildschirm oder Papier) lesen können.
|
|
Derzeit werden die folgenden Formate
|
|
unterstützt:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Format</entry>
|
|
|
|
<entry>Erklärung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>html-split</literal></entry>
|
|
|
|
<entry>Viele kleine HTML-Dateien, die sich
|
|
gegenseitig referenzieren.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>html</literal></entry>
|
|
|
|
<entry>Eine große HTML-Datei, die das
|
|
komplette Dokument enthält.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>pdf</literal></entry>
|
|
|
|
<entry>Adobe's Portable Document Format</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>ps</literal></entry>
|
|
|
|
<entry>&postscript;</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>rtf</literal></entry>
|
|
|
|
<entry>Microsoft's Rich Text Format</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>txt</literal></entry>
|
|
|
|
<entry>Ganz normaler Text</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<note>
|
|
<para>Die Seitennummern werden nicht automatisch aktualisiert,
|
|
wenn Sie das Rich Text Format in Word laden. Wenn Sie das
|
|
Dokument geladen haben, müssen Sie Sie <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>A</keycap></keycombo>,
|
|
<keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>End</keycap></keycombo>,
|
|
<keycap>F9</keycap> eingeben, um die Seitennummern
|
|
aktualisieren zu lassen.</para>
|
|
</note>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das zur Komprimierung verwendete Programm. Zur
|
|
Zeit werden drei verschiedene Methoden
|
|
benutzt.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Wenn die Dokumentation im Format
|
|
<literal>html-split</literal> vorliegt, werden die
|
|
Dateien mit &man.tar.1; zusammengefasst. Die
|
|
so entstandene <filename>.tar</filename> Datei
|
|
wird dann mit einer der unten genannten Methoden
|
|
komprimiert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Bei allen anderen Formaten existiert nur eine
|
|
Datei mit dem Namen
|
|
<filename><replaceable>type</replaceable>.<replaceable>format</replaceable></filename>
|
|
(z.B. <filename>article.pdf</filename>,
|
|
<filename>book.html</filename>, und so
|
|
weiter).</para>
|
|
|
|
<para>Diese Dateien werden mit zwei verschiedenen
|
|
Programmen komprimiert.</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Programm</entry>
|
|
|
|
<entry>Beschreibung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>zip</literal></entry>
|
|
|
|
<entry>Das <literal>zip</literal>-Format. Wenn Sie
|
|
diese Dateien unter &os; entpacken wollen,
|
|
müssen sie vorher den Port
|
|
<filename
|
|
role="package">archivers/unzip</filename>
|
|
installieren.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>bz2</literal></entry>
|
|
|
|
<entry>Das <literal>bzip2</literal>-Format. Es wird
|
|
seltener als das <literal>zip</literal>-Format
|
|
benutzt, erzeugt aber normalerweise kleinere
|
|
Archive. Sie müssen den Port <filename
|
|
role="package">archivers/bzip2</filename>
|
|
installieren, um diese Dateien entpacken
|
|
zu können.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Ein Beispiel: Die mit <literal>bzip2</literal> gepackte
|
|
Version des Handbuchs im &postscript;-Format hat den Namen
|
|
<filename>book.ps.bz2</filename> und ist im Verzeichnis
|
|
<filename
|
|
class="directory">handbook/</filename> zu finden.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Nachdem Sie das Format und das Kompressionsverfahren
|
|
ausgewählt haben, müssen Sie die komprimierten Dateien
|
|
selber herunterladen, entpacken und an die richtigen Stellen
|
|
kopieren.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel die mit &man.bzip2.1; gepackte
|
|
<quote>split HTML</quote>Version der englischen FAQ
|
|
herunterladen und installieren wollten, bräuchten
|
|
Sie die Datei
|
|
<filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename>.
|
|
Um diese Datei herunterzuladen und auszupacken, wären
|
|
die folgenden Schritte notwendig.</para>
|
|
|
|
<screen>&prompt.root; <userinput>fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput>
|
|
&prompt.root; <userinput>gzip -d book.html-split.tar.bz2</userinput>
|
|
&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen>
|
|
|
|
<para>Danach haben Sie eine Sammlung vieler kleiner
|
|
<filename>.html</filename> Datei. Die wichtigste Datei
|
|
hat Namen <filename>index.html</filename> und enthält
|
|
das Inhaltsverzeichnis, eine Einleitung und Verweise auf
|
|
die anderen Teile des Dokumentes. Falls notwendig,
|
|
können Sie die diversen Dateien jetzt an ihren
|
|
endgültigen Bestimmungsort verschieben oder
|
|
kopieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mailing">
|
|
<para>Woher bekomme ich Informationen zu den &os;
|
|
Mailinglisten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vollständige Informationen finden Sie im <ulink
|
|
url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Handbucheintrag
|
|
über Mailinglisten</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="newsgroups">
|
|
<para>Welche Newsgruppen existieren zu &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden alle Informationen hierzu im <ulink
|
|
url="&url.books.handbook;/eresources-news.html">Handbucheintrag zu
|
|
Newsgruppen</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="irc">
|
|
<para>Gibt es &os; IRC (Internet Relay Chat)
|
|
Kanäle?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, die meisten großen IRC Netze bieten einen
|
|
&os; Chat-Channel:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Channel <literal>FreeBSD</literal> im <ulink
|
|
url="http://www.efnet.org/index.php">EFNet</ulink> ist
|
|
ein &os;-Forum, aber gehen Sie nicht dorthin, um
|
|
technische Unterstützung zu suchen, oder, um zu
|
|
versuchen, die Leute dort dazu zu bringen, Ihnen dabei
|
|
zu helfen, das mühselige Lesen von Manuals zu
|
|
ersparen oder eigene Nachforschungen zu betreiben. Es
|
|
ist in erster Linie ein Chat-Channel und die Themen
|
|
dort umfassen Sex, Sport oder Kernwaffen ebensogut,
|
|
wie &os;. Sie wurden gewarnt! Der Channel ist auf
|
|
dem Server <hostid>irc.efnet.org</hostid>
|
|
verfügbar.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSDhelp</literal> im
|
|
<ulink
|
|
url="http://www.efnet.org/index.php">EFNet</ulink> hat
|
|
sich dagegen auf die Unterstützung der Benutzer
|
|
von &os; spezialisiert. In diesem Channel sind
|
|
Fragen deutlich willkommener als im Channel
|
|
<literal>#FreeBSD</literal>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>##FreeBSD</literal> auf
|
|
<ulink
|
|
url="http://freenode.net/">Freenode</ulink> bietet allgemeine
|
|
Hilfe zu &os;-Themen. Es sind immer viele Benutzer online.
|
|
Zwar werden auch nicht-&os;-spezifische Themen diskutiert, den
|
|
Hauptteil der Diskussionen dreht sich aber um die Lösung
|
|
der Probleme von &os;-Anwendern. Die Teilnehmer dieses
|
|
Channels helfen Ihnen auch bei Fragen zu elementaren Dingen und
|
|
zeigen Ihnen auch, wo Sie die entsprechenden Erklärungen
|
|
im &os;-Handbuch oder anderen Ressourcen finden können.
|
|
Obwohl die Teilnehmer des Channels über die ganze Welt
|
|
verstreut sind, werden alle Diskussionen auf Englisch
|
|
geführt. Wollen Sie die Diskussion in Ihrer Sprache
|
|
führen, sollten Sie Ihre Frage trotzdem auf Englisch
|
|
stellen und danach gegebenenfalls einen neuen Channel in der
|
|
Form
|
|
<literal>##freebsd-<replaceable>Ihre_Sprache</replaceable></literal>
|
|
eröffnen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
|
url="http://www.dal.net/">DALNET</ulink> ist in den
|
|
USA unter <hostid>irc.dal.net</hostid> und in Europa
|
|
unter <hostid>irc.eu.dal.net</hostid>
|
|
verfügbar.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
|
url="http://www.undernet.org/">UNDERNET</ulink> ist in
|
|
den USA unter <hostid>us.undernet.org</hostid> und in
|
|
Europa unter <hostid>eu.undernet.org</hostid>
|
|
verfügbar. Es handelt sich hierbei um einen
|
|
Hilfe-Channel, man wird Sie daher auf Dokumente
|
|
verweisen, die Sie selbst lesen müssen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
|
url="http://www.rusnet.org.ru/">RUSNET</ulink> ist ein
|
|
russischsprachiger Channel, der sich der Unterstützung von
|
|
&os;-Anwendern verschrieben hat. Er ist auch ein guter
|
|
Startpunkt für nichttechnische Diskussionen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#bsdchat</literal> auf <ulink
|
|
url="http://freenode.net/">Freenode</ulink>
|
|
(Sprache: traditionelles Chinesisch, UTF-8-kodiert)
|
|
hat sich der Unterstützung von &os;-Anwendern verschrieben.
|
|
Er ist auch ein guter Startpunkt für
|
|
nichttechnische Diskussionen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Alle diese Kanäle unterscheiden sich voneinander
|
|
und sind nicht miteinander verbunden. Ebenso
|
|
unterscheiden sich Ihre Chat-Stile, weshalb es sein kann,
|
|
dass Sie zunächst alle Kanäle ausprobieren
|
|
müssen, um den zu Ihrem Chat-Stil passenden zu
|
|
finden. Hier gilt, was für <emphasis>jeden</emphasis>
|
|
IRC-Verkehr gilt: falls sie sich leicht angegriffen fühlen
|
|
oder nicht mit vielen jungen (und einigen älteren) Leuten,
|
|
verbunden mit dem nutzlosen Gezanke umgehen können, dann
|
|
ziehen Sie es gar nicht erst in Erwägung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="forums">
|
|
<para>Gibt es irgendwelche webbasierten Foren, in denen &os;
|
|
diskutiert wird?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die offiziellen &os; Foren befinden sich unter <ulink
|
|
url="http://forums.FreeBSD.org/">http://forums.FreeBSD.org/</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="training">
|
|
<para>Gibt es Firmen, die Training und Support für
|
|
&os; anbieten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><ulink
|
|
url="http://www.ixsystems.com">iXsystems, Inc.</ulink>,
|
|
die Muttergesellschaft der <ulink
|
|
url="http://www.freebsdmall.com/">&os; Mall</ulink>,
|
|
bietet kommerziellen Software-<ulink
|
|
url="http://www.ixsystems.com/bsdsupport">Support</ulink>
|
|
für &os; und PC-BSD sowie &os;-spezische
|
|
Softwareentwicklung und Hilfe bei Optimierung Ihrer
|
|
vorhandenen Installationen.</para>
|
|
|
|
<para>Die BSD Certification Group, Inc. bietet Zertifizierungen zur
|
|
Systemadministration für DragonFly BSD, &os;, NetBSD und
|
|
OpenBSD. Wenn Sie daran interessiert sind, besuchen Sie
|
|
deren <ulink
|
|
url="http://www.BSDCertification.org">Webseite</ulink>.</para>
|
|
|
|
<para>Wenn Ihre Firma oder Organisation ebenfalls Training
|
|
und Support anbietet und hier genannt werden möchte,
|
|
wenden Sie sich bitte an das &os; Project.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="install">
|
|
<chapterinfo>
|
|
<author>
|
|
<firstname>Nik</firstname>
|
|
|
|
<surname>Clayton</surname>
|
|
|
|
<affiliation>
|
|
<address><email>nik@FreeBSD.org</email></address>
|
|
</affiliation>
|
|
</author>
|
|
</chapterinfo>
|
|
|
|
<title>Installation</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="floppy-download">
|
|
<para>Welche Dateien muss ich herunterladen, um &os;
|
|
zu bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie benötigen drei Floppy-Images:
|
|
<filename>floppies/boot.flp</filename>,
|
|
<filename>floppies/kern1.flp</filename> sowie
|
|
<filename>floppies/kern2.flp</filename>. Diese Images
|
|
müssen mit Hilfe von Werkzeugen wie
|
|
<command>fdimage</command> oder &man.dd.1; auf Disketten
|
|
kopiert werden.</para>
|
|
|
|
<para>Falls Sie selbst die einzelnen Distributionen
|
|
herunterladen müssen (um z.B. von einem
|
|
DOS-Dateisystem aus zu installieren), empfehlen wir, sich
|
|
die folgenden Distributionen zu besorgen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>base/</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>manpages</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>compat*</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>doc</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>src/ssys.*</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Vollständige Instruktionen für dieses
|
|
Vorgehen und ein wenig mehr zur Installation generell
|
|
finden Sie im <ulink
|
|
url="&url.books.handbook;/install.html">Handbucheintrag zur
|
|
Installation von &os;</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="floppy-image-too-large">
|
|
<para>Was soll ich tun, wenn das Floppy-Image nicht auf eine
|
|
Diskette passt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine 3,5-Zoll (1,44 MB) Diskette kann 1.474.560 Byte
|
|
an Daten fassen und das Boot-Image ist exakt 1.474.560 Byte
|
|
groß.</para>
|
|
|
|
<para>Häufige Fehler bei der Erstellung der
|
|
Boot-Diskette sind:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Bei der Benutzung von <acronym>FTP</acronym> das
|
|
Floppy-Image nicht im
|
|
<emphasis>Binär</emphasis>-Modus
|
|
herunterzuladen.</para>
|
|
|
|
<para>Einige FTP-Clients benutzen als Voreinstellung den
|
|
<emphasis>ASCII</emphasis>-Modus und versuchen, alle
|
|
Zeilenendezeichen an das Zielsystem anzupassen.
|
|
Dadurch wird das Boot-Image in jedem Fall unbrauchbar.
|
|
Überprüfen Sie die Größe des
|
|
heruntergeladenen Boot-Images: falls sie nicht
|
|
<emphasis>exakt</emphasis> mit der auf dem Server
|
|
übereinstimmt, hat das Herunterladen nicht
|
|
richtig funktioniert.</para>
|
|
|
|
<para>Abhilfe: geben Sie <emphasis>binary</emphasis> an
|
|
der FTP-Eingabeaufforderung ein, nach dem Sie mit dem
|
|
Server verbunden sind und bevor Sie das Image
|
|
herunterladen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Benutzung des DOS-Befehls
|
|
<command>copy</command> (oder eines entsprechendes
|
|
Werkzeugs der grafischen Benutzeroberfläche), um
|
|
das Boot-Image auf die Diskette zu
|
|
übertragen.</para>
|
|
|
|
<para>Programme wie <command>copy</command> sind hier
|
|
unbrauchbar, weil das Image zur direkten
|
|
Übertragung erstellt wurde. Das Image stellt den
|
|
gesamten Disketteninhalt dar, Spur für Spur, und
|
|
nicht eine gewöhnliche Datei. Sie müssen es
|
|
<quote>roh</quote> mit speziellen Werkzeugen (z.B.
|
|
<command>fdimage</command> oder
|
|
<command>rawrite</command>) übertragen, wie es in
|
|
der <ulink
|
|
url="&url.books.handbook;/install.html">Installationsanleitung
|
|
zu &os;</ulink> beschrieben ist.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-instructions-location">
|
|
<para>Wo befinden sich die Instruktionen zur Installation
|
|
von &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installationsanleitungen finden Sie im <ulink
|
|
url="&url.books.handbook;/install.html">Handbucheintrag zur
|
|
Installation von &os;</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-to-run">
|
|
<para>Was benötige ich zum Betrieb von &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Betrieb von &os; und neuer erfordert
|
|
mindestens einen 486er Prozessor mit mindestens 24 MB
|
|
RAM sowie mindestens 150 MB an Festplattenspeicher.</para>
|
|
|
|
<para>Alle &os;-Versionen laufen mit einer einfachen
|
|
MDA-Grafikkarte, für &xorg; benötigen Sie allerdings
|
|
eine VGA- oder eine bessere Videokarte.</para>
|
|
|
|
<para>Lesen Sie auch den <link linkend="hardware">Abschnitt
|
|
Hardwarekompatibilität</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custom-boot-floppy">
|
|
<para>Wie kann ich eine angepasste
|
|
Installationsdiskette erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zurzeit gibt es keine Möglichkeit,
|
|
<emphasis>nur</emphasis> die angepassten
|
|
Installationsdisketten zu erstellen. Sie müssen sich
|
|
eine ganz neues Release erstellen, das Ihre
|
|
Installationsdiskette enthält.</para>
|
|
|
|
<para>Wenn Sie eine modifizierte Ausgabe erstellen wollen,
|
|
finden Sie eine Anleitung im Artikel <ulink
|
|
url="&url.articles.releng.en;/article.html">
|
|
&os; Release Engineering</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiboot">
|
|
<para>Kann ich mehr als ein Betriebssystem auf meinem PC
|
|
unterbringen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sehen Sie sich <ulink
|
|
url="&url.articles.multi-os.en;/article.html">Die
|
|
Multi-OS-Seite</ulink> an.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="windows-coexist">
|
|
<para>Kann &windows; neben &os; existieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie zuerst &windows;, dann &os;.
|
|
Der Bootmanager von &os; kann dann entweder &windows;
|
|
oder &os; booten. Falls Sie &windows; nach &os;
|
|
installieren, wird es, ohne zu fragen, Ihren Bootmanager
|
|
überschreiben. Lesen Sie den nächsten
|
|
Abschnitt, falls das passieren sollte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="win95-damaged-boot-manager">
|
|
<para>&windows; hat meinen Bootmanager zerstört!
|
|
Wie stelle ich ihn wieder her?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt drei Möglichkeiten, den
|
|
&os;-Bootmanager neu zu installieren:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Unter DOS wechseln Sie in das Verzeichnis
|
|
<filename
|
|
class="directory">tools/</filename> Ihrer &os;-Distribution und
|
|
suchen nach <filename>bootinst.exe</filename>. Rufen sie es so
|
|
auf:</para>
|
|
|
|
<screen><prompt>...\TOOLS></prompt> <userinput>bootinst.exe boot.bin</userinput></screen>
|
|
|
|
<para>und der Bootmanager wird neu installiert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Booten Sie &os; wieder mit der Bootdiskette und
|
|
wählen Sie den Menüeintrag <guimenuitem>Custom
|
|
Installation</guimenuitem>.
|
|
Wählen Sie <guimenuitem>Partition</guimenuitem>.
|
|
Wählen Sie das Laufwerk, auf dem sich der Bootmanager befand
|
|
(wahrscheinlich der erste Eintrag) und wenn Sie in den
|
|
Partitioneditor gelangen, drücken Sie als aller
|
|
erstes (nehmen Sie z.B. keine Änderungen vor)
|
|
(<keycap>W</keycap>)rite. Sie werden nach einer Bestätigung
|
|
gefragt, wählen Sie &gui.yes; und vergessen Sie nicht, in der
|
|
Bootmanager-Auswahl den <application>&os; Boot
|
|
Manager</application> auszuwählen. Hierdurch wird der
|
|
Bootmanager wieder auf die Festplatte geschrieben. Verlassen
|
|
Sie nun das Installationsmenü und rebooten wie
|
|
gewöhnlich von der Festplatte.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Booten Sie &os; wieder mit der Bootdiskette
|
|
(oder der CD-ROM) und wählen Sie den
|
|
Menüpunkt <guimenuitem>Fixit</guimenuitem>. Wählen
|
|
Sie die für Sie passende Option, entweder die
|
|
Fixit-Diskette oder die CD-ROM Nummer 2 (die Option
|
|
<quote>live</quote> Filesystem). Wechseln Sie zur
|
|
Fixit-Shell und geben Sie den folgenden Befehl
|
|
ein:</para>
|
|
|
|
<screen><prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>bootdevice</replaceable></userinput></screen>
|
|
|
|
<para>Als <replaceable>bootdevice</replaceable>
|
|
müssen Sie das von Ihrem System verwendete
|
|
Gerät angeben, z.B. <devicename>ad0</devicename>
|
|
(erste IDE-Platte), <devicename>ad4</devicename>
|
|
(erste IDE-Platte an einem zusätzlichen
|
|
Controller), <devicename>da0</devicename> (erste
|
|
SCSI-Platte), usw.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-on-thinkpad">
|
|
<para>Mein IBM Thinkpad Modell A, T oder X, hängt sich
|
|
auf, wenn ich &os; zum ersten Mal starte. Was soll ich
|
|
machen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Fehler in den ersten BIOS-Versionen dieser
|
|
Geräte führt dazu, dass sie die von &os;
|
|
genutzte Partition für eine Suspend-To-Disk-Partition
|
|
halten. Wenn das BIOS dann versucht, diese Partition
|
|
auszuwerten, hängt sich das System auf.</para>
|
|
|
|
<para>Laut IBM
|
|
<footnote>
|
|
<para>In einer Mail von Keith Frechette
|
|
<email>kfrechet@us.ibm.com</email>.</para>
|
|
</footnote>
|
|
wurde der Fehler wurde in den folgenden BIOS-Versionen
|
|
behoben:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Gerät</entry>
|
|
|
|
<entry>BIOS Version</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>T20</entry>
|
|
|
|
<entry>IYET49WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>T21</entry>
|
|
|
|
<entry>KZET22WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A20p</entry>
|
|
|
|
<entry>IVET62WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A20m</entry>
|
|
|
|
<entry>IWET54WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21p</entry>
|
|
|
|
<entry>KYET27WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21m</entry>
|
|
|
|
<entry>KXET24WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21e</entry>
|
|
|
|
<entry>KUET30WW</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Es ist möglich, dass neuere Version des IBM
|
|
BIOS den Fehler wieder enthalten. <ulink
|
|
url="http://docs.freebsd.org/cgi/mid.cgi?20010427133759.A71732">
|
|
Dieser Beitrag</ulink> von &a.nectar; auf der
|
|
Mailingliste &a.mobile; beschreibt eine Technik,
|
|
die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop
|
|
mit &os; nicht bootet und Sie eine neuere oder
|
|
ältere BIOS-Version einspielen können.</para>
|
|
|
|
<para>Wenn Ihr Thinkpad über eine ältere
|
|
BIOS-Version verfügt und Sie das BIOS nicht
|
|
aktualisieren können, ist eine der möglichen
|
|
Lösungen, &os; zu installieren, die Partitions-ID
|
|
zu ändern und danach neue Bootblocks zu installieren,
|
|
die mit der geänderten ID umgehen
|
|
können.</para>
|
|
|
|
<para>Zunächst müssen Sie die Maschine so weit
|
|
wiederherstellen, dass sie über den Selbst-Test
|
|
hinauskommt. Dazu ist es erforderlich, dass das
|
|
System beim Start keine Partitions-ID auf seiner
|
|
primären Festplatte findet. Eine Variante ist, die
|
|
Platte auszubauen und vorübergehend in einem
|
|
älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit
|
|
einem passenden Adapter) in einen normalen PC einzubauen.
|
|
Sobald dies erfolgt ist, können Sie die
|
|
&os;-Partition löschen und die Festplatte wieder
|
|
in das Thinkpad einbauen. Das Thinkpad sollte jetzt
|
|
wieder starten können.</para>
|
|
|
|
<para>Danach können Sie mit der nachfolgend
|
|
beschriebenen Anleitung eine funktionsfähige
|
|
&os;-Installation erhalten.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Beschaffen Sie sich <filename>boot1</filename> und
|
|
<filename>boot2</filename> von <ulink
|
|
url="http://people.FreeBSD.org/~bmah/ThinkPad/"></ulink>.
|
|
Legen Sie diese Dateien so ab, dass Sie
|
|
während der Installation darauf zugreifen
|
|
können.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Installieren Sie ganz wie gewohnt &os; auf dem
|
|
Thinkpad. Allerdings dürfen Sie den
|
|
<quote>Dangerously Dedicated</quote>-Modus
|
|
<emphasis>nicht benutzen</emphasis>. Nach dem
|
|
Abschluss der Installation dürfen Sie die
|
|
Maschine <emphasis>nicht neu
|
|
starten</emphasis>.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Wechseln Sie zur <quote>Emergency Holographic
|
|
Shell</quote> (<keycombo
|
|
action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F4</keycap>
|
|
</keycombo>)
|
|
oder starten Sie eine <quote>fixit</quote>
|
|
Shell.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Benutzen Sie &man.fdisk.8;, um die Partitions-ID
|
|
von &os; von <literal>165</literal> in
|
|
<literal>166</literal> zu ändern (dieser Wert
|
|
wird von OpenBSD benutzt).</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Kopieren Sie die Dateien
|
|
<filename>boot1</filename> und
|
|
<filename>boot2</filename> auf die lokale
|
|
Festplatte.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Installieren Sie
|
|
<filename>boot1</filename> und
|
|
<filename>boot2</filename> mit &man.disklabel.8; auf
|
|
die &os;-Slice.</para>
|
|
|
|
<screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0s<replaceable>n</replaceable></userinput></screen>
|
|
|
|
<para>Setzen Sie für <replaceable>n</replaceable>
|
|
die Nummer der Slice ein, auf der sie FreeBSD
|
|
installiert haben.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Starten Sie das System neu. Am Boot-Prompt
|
|
sollten Sie die Auswahl <literal>OpenBSD</literal>
|
|
erhalten. Damit wird in Wirklichkeit &os;
|
|
gestartet.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Was Sie machen müssen, wenn Sie &os; und
|
|
OpenBSD parallel installieren wollen, sollten Sie zu
|
|
Übungszwecken einfach einmal selbst
|
|
herausfinden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-bad-blocks">
|
|
<para>Kann ich &os; auf einer Festplatte mit
|
|
beschädigten Blöcken installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Prinzipiell ja. Allerdings ist das keine gute
|
|
Idee.</para>
|
|
|
|
<para>Wenn Ihnen bei einer modernen IDE-Platte defekte
|
|
Sektoren gemeldet werden, wird die Platte mit großer
|
|
Wahrscheinlichkeit innerhalb kurzer Zeit vollständig
|
|
ausfallen, da die Meldung ein Zeichen dafür ist,
|
|
dass die für die Korrektur reservierten Sektoren
|
|
bereits verbraucht wurden. Wir raten Ihnen, die Platte
|
|
auszutauschen.</para>
|
|
|
|
<para>Falls Sie ein SCSI-Laufwerk mit beschädigten
|
|
Blöcken besitzen, lesen Sie <link
|
|
linkend="awre">diese Antwort</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-floppy-strangeness">
|
|
<para>Wenn ich von der Installationsdiskette boote,
|
|
geschehen merkwürdige Dinge! Was sollte ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie beobachten, dass ihr Rechner sich bis
|
|
zum Stillstand abmüht oder spontan rebootet,
|
|
während Sie versuchen, von der Installationsdiskette
|
|
zu booten, sollten Sie sich drei Fragen stellen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Haben Sie eine brandneue, frisch formatierte,
|
|
fehlerfreie Diskette benutzt (günstigerweise eine
|
|
brandneue, direkt aus dem Karton und nicht eine
|
|
Diskette aus einem Magazin, das schon seit drei Jahren
|
|
unter Ihrem Bett lag)?</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Haben Sie das Floppy-Image im Binär- (oder
|
|
Image) Modus heruntergeladen? (Schämen Sie sich
|
|
nicht. Sogar die besten unter uns haben wenigstens
|
|
einmal Binärdateien versehentlich im ASCII-Modus
|
|
heruntergeladen!)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Falls Sie &windows; 95 oder &windows; 98
|
|
benutzen, haben Sie es heruntergefahren und
|
|
<command>fdimage</command> bzw.
|
|
<command>rawrite</command> in einfachem, reinem DOS
|
|
neu gestartet? Es scheint, dass diese
|
|
Betriebssysteme Programme stören, die direkt auf
|
|
Hardware schreiben, wie es das Erstellungsprogramm
|
|
für die Diskette tut; selbst bei der
|
|
Ausführung des Programms in einem DOS-Fenster in
|
|
der grafischen Benutzeroberfläche kann dieses
|
|
Problem auftreten.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Es wurde auch darüber berichtet, dass
|
|
&netscape; Probleme beim Herunterladen der Bootdisketten
|
|
verursacht. Es ist also wahrscheinlich besser, einen
|
|
anderen FTP-Client zu benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-install-cdrom">
|
|
<para>Ich habe zur Installation von meinem ATAPI CD-ROM
|
|
gebootet, aber das Installationsprogramm sagt mir,
|
|
dass es kein CD-ROM gefunden hat. Was geht hier
|
|
ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieses Problem wird üblicherweise durch ein
|
|
falsch konfiguriertes CD-ROM verursacht. Bei vielen PCs
|
|
ist das CD-ROM der Slave am zweiten IDE-Controller, ein
|
|
Master ist nicht vorhanden. Laut Spezifikation ist diese
|
|
Konfiguration ungültig, aber &windows; verletzt die
|
|
Spezifikation und das BIOS ignoriert sie, wenn es von
|
|
einem CD-ROM booten soll. Daher konnten Sie zwar vom
|
|
CD-ROM booten, während &os; es nicht für die
|
|
Installation benutzen kann.</para>
|
|
|
|
<para>Um dieses Problem zu lösen, müssen Sie
|
|
entweder das CD-ROM als Master an den IDE-Controller
|
|
anschließen oder dafür sorgen, dass an dem
|
|
vom CD-ROM genutzten IDE-Controller das CD-ROM als Slave
|
|
und ein anderes Gerät als Master angeschlossen
|
|
ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-PLIP">
|
|
<para>Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, Sie brauchen dazu nur ein ganz normales
|
|
Laplink-Kabel. Weitere Informationen zum Thema Netzwerke
|
|
am Druckerport finden sie im Kapitel <ulink
|
|
url="&url.books.handbook;/network-plip.html">PLIP</ulink> des
|
|
Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="geometry">
|
|
<para>Welche Geometrie sollte ich für ein
|
|
Festplattenlaufwerk verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<note>
|
|
<para>Unter der <quote>Geometrie</quote> einer Festplatte
|
|
verstehen wir die Anzahl Zylinder,
|
|
Schreib-/Leseköpfen und Sektoren/Spur auf einer
|
|
Festplatte. Im folgenden wird dafür der
|
|
Übersichtlichkeit halber der Begriff C/H/S
|
|
verwendet. Das BIOS des PCs berechnet mit diesen
|
|
Angaben, auf welche Bereiche der Festplatte es für
|
|
Schreib-/Lesezugriffe zugreifen muss).</para>
|
|
</note>
|
|
|
|
<para>Aus einigen Gründen scheint dies gerade bei
|
|
frischgebackenen Systemadministratoren für sehr viel
|
|
Verwirrung zu sorgen. Zunächst einmal ist die
|
|
<emphasis>physikalische</emphasis> Geometrie eines
|
|
SCSI-Laufwerks vollkommen irrelevant, da &os; mit
|
|
Blöcken arbeitet. Tatsächlich gibt es
|
|
<quote>die</quote> physikalische Geometrie nicht, da die
|
|
Sektordichte auf einer Festplatte variiert. Was die
|
|
Hersteller als die <quote>wahre</quote> physikalische
|
|
Geometrie bezeichnen, ist im allgemeinen die Geometrie,
|
|
die aufgrund ihrer Ergebnisse im geringsten ungenutzten
|
|
Speicher resultiert. Bei IDE-Platten arbeitet &os; mit
|
|
C/H/S-Angaben, aber alle modernen Laufwerke wandeln diese
|
|
intern ebenfalls in Blocknummern um.</para>
|
|
|
|
<para>Wichtig ist nur die <emphasis>logische</emphasis>
|
|
Geometrie. Das BIOS kann die logische Geometrie der
|
|
Festplatte abfragen; die erhaltenen Daten werden dann vom
|
|
BIOS bei Zugriffen auf die Festplatte genutzt. Da &os;
|
|
das BIOS benutzt, während es bootet, ist es sehr
|
|
wichtig, dass diese Angaben richtig sind.
|
|
Insbesondere müssen alle Betriebssysteme mit
|
|
derselben Geometrie arbeiten, falls Sie mehr als ein
|
|
Betriebssystem auf einer Festplatte haben. Andernfalls
|
|
werden Sie ernsthafte Bootprobleme bekommen!</para>
|
|
|
|
<para>Bei SCSI-Festplatten hängt die zu verwendende
|
|
Geometrie davon ab, ob der Extended Translation Support
|
|
auf Ihrem Controller eingeschaltet ist (oft auch als
|
|
<quote>Unterstützung für DOS-Platten
|
|
>1GB</quote> oder ähnlich bezeichnet). Falls sie
|
|
ausgeschaltet ist, benutzen Sie
|
|
<replaceable>N</replaceable> Zylinder, 64 Köpfe und
|
|
32 Sektoren/Spur, wobei <replaceable>N</replaceable> die
|
|
Kapazität der Festplatte in MB ist. Zum Beispiel
|
|
sollten für eine 2 GB Festplatte 2048 Zylinder, 64
|
|
Köpfe und 32 Sektoren/Spur angegeben werden.</para>
|
|
|
|
<para>Falls sie <emphasis>eingeschaltet</emphasis> ist (was
|
|
oft der Fall ist, um bestimmte Einschränkungen von
|
|
&ms-dos; zu umgehen) und die Plattenkapazität mehr als
|
|
1 GB beträgt, benutzen Sie M Zylinder, 63
|
|
Sektoren/Spur (<emphasis>nicht</emphasis> 64) und 255
|
|
Köpfe, wobei <replaceable>M</replaceable> der
|
|
Plattenkapazität in MB, dividiert durch 7,844238
|
|
entspricht (!). Also würde unsere 2 GB Beispielplatte
|
|
261 Zylinder, 63 Sektoren/Spur und 255 Köpfe haben.</para>
|
|
|
|
<para>Falls Sie sich hier nicht sicher sind oder &os;
|
|
während der Installation die Geometrie nicht richtig
|
|
erkennt, hilft es normalerweise, eine kleine DOS-Partition
|
|
auf der Festplatte anzulegen. Das BIOS sollte dann in der
|
|
Lage sein, die richtige Geometrie zu erkennen. Sie
|
|
können die Partition jederzeit im Partitioneditor
|
|
entfernen, falls Sie sie nicht behalten möchten.
|
|
Allerdings kann Sie ganz nützlich sein, um
|
|
Netzwerkkarten zu programmieren und
|
|
ähnliches.</para>
|
|
|
|
<para>Alternativ können Sie das frei verfügbare
|
|
Programm <filename>pfdisk.exe</filename> verwenden. Sie
|
|
finden es im Unterverzeichnis
|
|
<filename class="directory">tools</filename> auf der &os; CD-ROM
|
|
und allen &os; FTP-Servern). Mit diesem Programm können
|
|
Sie herausfinden, welche Geometrie die anderen Betriebssysteme auf
|
|
der Festplatte verwenden. Diese Geometrie können Sie im
|
|
Partitioneditor eingeben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disk-divide-restrictions">
|
|
<para>Gibt es irgendwelche Einschränkungen, wie ich die
|
|
Festplatte aufteilen darf?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Sie müssen sicherstellen, dass Ihre
|
|
Rootpartition innerhalb der ersten 1024 Zylinder liegt, damit
|
|
das BIOS den Kernel von Ihr booten kann. (Beachten Sie,
|
|
dass es sich um eine Einschränkung durch das
|
|
BIOS des PCs handelt und nicht durch &os;).</para>
|
|
|
|
<para>Für ein SCSI-Laufwerk bedeutet dies
|
|
normalerweise, dass sich die Rootpartition in den
|
|
ersten 1024 MB befindet (oder in den ersten 4096 MB,
|
|
falls die Extended Translation eingeschaltet ist - siehe die
|
|
vorherige Frage). Der entsprechende Wert für IDE ist
|
|
504 MB.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disk-manager">
|
|
<para>Verträgt sich &os; mit Plattenmanagern?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; erkennt den <application>Ontrack Disk
|
|
Manager</application> und berücksichtigt ihn. Andere
|
|
Plattenmanager werden nicht unterstützt.</para>
|
|
|
|
<para>Falls Sie die Festplatte nur mit &os; benutzen
|
|
wollen, brauchen Sie keinen Plattenmanager. Wenn Sie Sie
|
|
die Platte einfach in der vom BIOS maximal
|
|
unterstützten Größe (normalerweise
|
|
504 Megabyte) konfigurieren, sollte &os; erkennen, wie viel
|
|
Platz Sie tatsächlich haben. Falls Sie eine alte
|
|
Festplatte mit einem MFM-Controller verwenden, könnte
|
|
es sein, dass Sie &os; explizit angeben
|
|
müssen, wie viele Zylinder es benutzen soll.</para>
|
|
|
|
<para>Falls Sie die Festplatte mit &os; und einem anderen
|
|
Betriebssystem benutzen wollen, sollten Sie auch in der Lage
|
|
sein, ohne einen Plattenmanager auszukommen: stellen sie
|
|
einfach sicher, dass sich die Bootpartition von
|
|
&os; und der Bereich für das andere Betriebssystem
|
|
in den ersten 1024 Zylindern befinden. Eine 20 Megabyte
|
|
Bootpartition sollte völlig genügen, wenn Sie
|
|
einigermaßen sorgfältig arbeiten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-os">
|
|
<para>Beim ersten Booten von &os; erscheint
|
|
<errorname>Missing Operating System</errorname>. Was ist
|
|
passiert?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein klassischer Fall von Konflikten bei den
|
|
verwendeten <link
|
|
linkend="geometry">Plattengeometrien</link> von &os;
|
|
und DOS oder anderen Betriebssystemen. Sie werden &os;
|
|
neu installieren müssen. Bei Beachtung obiger
|
|
Instruktionen wird in den meisten Fällen alles
|
|
funktionieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="stop-at-boot-manager">
|
|
<para>Wieso komme ich nicht weiter als bis zum
|
|
<literal>F?</literal>-Prompt des Bootmanagers?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein weiteres Symptom für das bereits in
|
|
der vorherigen Frage beschriebene Problem. Ihre
|
|
Einstellungen zur Geometrie im BIOS und in &os; stimmen
|
|
nicht überein! Falls Ihr Controller oder BIOS
|
|
Zylinderumsetzung (oft als <quote>>1GB drive
|
|
support</quote> bezeichnet), probieren Sie eine Umsetzung
|
|
dieser Einstellung und Neuinstallation von &os;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-complete-sources">
|
|
<para>Muss ich den vollständigen Quellcode
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im allgemeinen nicht. Wir empfehlen jedoch dringend
|
|
die Installation des <literal>base</literal> Source-Kit,
|
|
das viele der hier erwähnten Dateien enthält und
|
|
des <literal>sys</literal> (Kernel) Source-Kit, das den
|
|
Quellcode für den Kernel enthält. Außer
|
|
dem Programm zur Konfiguration des Kernels
|
|
(&man.config.8;) gibt es im System nichts, zu dessen
|
|
Funktion der Quellcode erforderlich ist. Mit Ausnahme der
|
|
Kernelquellen ist unsere Build-Struktur so aufgebaut,
|
|
dass Sie den Quellcode von überall her per NFS
|
|
read-only mounten und dennoch neue Binaries erstellen
|
|
können. (Wegen der Einschränkung bezüglich
|
|
der Kernelquellen empfehlen wir, diese nicht direkt nach
|
|
<filename
|
|
class="directory">/usr/src</filename> zu mounten, sondern
|
|
irgendwo anders hin mit passenden symbolischen Links, um
|
|
die Toplevel-Struktur des Quellbaumes zu duplizieren.)</para>
|
|
|
|
<para>Die Quellen verfügbar zu haben und zu wissen, wie
|
|
man ein System mit ihnen erstellt, wird es Ihnen
|
|
wesentlich einfacher machen, zu zukünftigen Ausgaben
|
|
von &os; zu wechseln.</para>
|
|
|
|
<para>Um einen Teil der Quellen auszuwählen, verwenden
|
|
Sie den Menüpunkt <guimenuitem>Custom</guimenuitem>, wenn Sie
|
|
sich im Menü <guimenuitem>Distributions</guimenuitem> des
|
|
Systeminstallationstools befinden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-kernel">
|
|
<para>Muss ich einen Kernel erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ursprünglich war die Erstellung eines neuen
|
|
Kernels bei fast jeder Installation von &os;
|
|
erforderlich, aber neuere Ausgaben haben von der
|
|
Einführung weitaus benutzerfreundlicherer
|
|
Kernelkonfigurationswerkzeuge profitiert. Die Kernelkonfiguration
|
|
erfolgt in der Regel durch die die deutlich flexibleren
|
|
<quote>hints</quote>, die am Loader-Prompt eingegeben werden
|
|
können.</para>
|
|
|
|
<para>Es kann dennoch sinnvoll sein, einen neuen Kernel
|
|
zu erstellen, der nur die benötigten Treiber
|
|
enthält, um ein wenig Hauptspeicher zu sparen,
|
|
für die meisten Systeme ist dies aber nicht mehr
|
|
länger erforderlich.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="password-encryption">
|
|
<para>Soll ich DES, Blowfish oder MD5 zur Verschlüsselung der
|
|
Passwörter benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; benutzt standardmäßig
|
|
<emphasis>MD5</emphasis> zur Verschlüsselung der
|
|
Passwörter. Es wird angenommen, dass diese
|
|
Methode sicherer ist als das traditionell benutzte
|
|
Verfahren, das auf dem <emphasis>DES</emphasis>
|
|
Algorithmus basierte. Es ist immer noch möglich,
|
|
DES-Passwörter zu benutzen, wenn Sie die Datei
|
|
mit den Passwörtern mit älteren System
|
|
austauschen müssen. &os; erlaubt es Ihnen, auch das sichere
|
|
Blowfish-Verfahren für die Verschlüsselung der
|
|
Passwörter einzusetzen. Das für neue Passwörter
|
|
benutzte Verschlüsselungsverfahren wird über die
|
|
Einstellung <literal>passwd_format</literal> in
|
|
<filename>/etc/login</filename> festgelegt. Die
|
|
möglichen Werte sind entweder <literal>des</literal>,
|
|
<literal>blf</literal> (falls sie zur Verfügung stehen)
|
|
oder <literal>md5</literal>. Weitere
|
|
Informationen über die Einstellungen für den
|
|
Login erhalten Sie in &man.login.conf.5;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-floppy-hangs">
|
|
<para>Woran kann es liegen, dass ich zwar von der
|
|
Diskette booten kann, aber nicht weiter als bis zur
|
|
Meldung <literal>Probing Devices...</literal>
|
|
komme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie ein IDE &iomegazip;- oder &jaz;-Laufwerk
|
|
eingebaut haben, entfernen Sie es und versuchen Sie es erneut.
|
|
Solche Laufwerke könnten dem Bootvorgang stören.
|
|
Nach der Installation des Systems können Sie das
|
|
Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich
|
|
in einer späteren Version behoben werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="panic-on-install-reboot">
|
|
<para>Wieso wird mit der Fehler <errorname>panic: cant mount
|
|
root</errorname> gemeldet, wenn ich das System nach der
|
|
Installation reboote?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler beruht auf Unstimmigkeiten zwischen den
|
|
Festplatteninformationen im Bootblock und denen im Kernel.
|
|
Der Fehler tritt normalerweise auf IDE-Systemen mit zwei
|
|
Festplatten auf, bei denen die Festplatten als Master-
|
|
oder Single-Device auf separaten IDE-Controllern
|
|
angeschlossen sind und &os; auf der Platte am zweiten
|
|
Controller installiert wurde. Der Bootblock vermutet,
|
|
dass das System auf <devicename>ad0</devicename>
|
|
(der zweiten BIOS-Platte)
|
|
installiert ist, während der Kernel der ersten Platte
|
|
auf dem zweiten Controller die Gerätekennung
|
|
<devicename>ad2</devicename> zuteilt. Der Kernel versucht
|
|
nach der Geräteüberprüfung die vom Bootblock
|
|
angenommene Bootdisk <devicename>ad0</devicename> zu mounten,
|
|
obwohl sie in Wirklichkeit <devicename>ad2</devicename>
|
|
heißt - und scheitert.</para>
|
|
|
|
<para>Tun Sie folgendes, um dieses Problem zu
|
|
beheben:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Rebooten Sie das System und drücken
|
|
Sie <keycap>Enter</keycap>, wenn die
|
|
Meldung <literal>Booting kernel in 10 seconds; hit
|
|
[Enter] to interrupt</literal> erscheint. Dadurch
|
|
gelangen Sie in den Boot Loader.</para>
|
|
|
|
<para>Geben Sie nun
|
|
<userinput>set root_disk_unit="<replaceable>disk_number</replaceable>"</userinput>
|
|
ein. <literal>disk_number</literal> hat den Wert
|
|
<literal>0</literal>, wenn &os; auf dem Master des
|
|
ersten IDE-Controllers installiert wurde;
|
|
<literal>1</literal>, wenn &os; auf dem Slave des
|
|
ersten IDE-Controllers installiert wurde;
|
|
<literal>2</literal>, wenn &os; auf dem Master des
|
|
zweiten IDE-Controllers installiert wurde; und
|
|
<literal>3</literal>, wenn &os; auf dem Slave des
|
|
zweiten IDE-Controllers installiert wurde.</para>
|
|
|
|
<para>Nach der Eingabe von <userinput>boot</userinput>
|
|
sollte Ihr System jetzt korrekt starten.</para>
|
|
|
|
<para>Damit Sie dieses Ritual nicht bei jedem Start des
|
|
Systems durchführen müssen, sollten Sie die
|
|
Zeile
|
|
<userinput>root_disk_unit="<replaceable>disk_number</replaceable>"</userinput>
|
|
in die Datei
|
|
<filename>/boot/loader.conf.local</filename>
|
|
eintragen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Stellen Sie eine ununterbrochene Folge der
|
|
Festplatten her, indem Sie die &os;-Platte am
|
|
ersten IDE-Controller anschließen.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="memory-limits">
|
|
<para>Gibt es eine Hauptspeicherbegrenzung?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hauptspeicherbegrenzung sind von der verwendeten Plattform
|
|
abhängig. Bei einer &i386;-Standardinstallation werden
|
|
maximal 4 GB Hauptspeicher unterstützt, mehr Speicher
|
|
ist mittels &man.pae.4; verfügbar. Lesen Sie dazu die <link
|
|
linkend="memory-i386-over-4gb">Anleitung, um 4 GB oder mehr
|
|
Speicher auf &i386; zu verwenden</link>.</para>
|
|
|
|
<para>&os;/pc98 unterstützt maximal 4 GB Hauptspeicher,
|
|
daher kann PAE auf diesen Systemen nicht verwendet werden.
|
|
Sonstige von &os; unterstützte Architekturen haben
|
|
ein sehr viel höheres theoretisches Speicherlimit
|
|
(viele Terabytes).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ffs-limits">
|
|
<para>Wo liegen die Grenzen für FFS-Dateisysteme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Theoretisch liegt das Limit für FFS-Dateisysteme
|
|
bei 8 Terabyte (2 G-Blöcke) oder 16 TB für
|
|
die Standard-Blockgröße von 8 KB. In der Praxis
|
|
setzt die Software das Limit auf 1 TB herab, aber
|
|
durch Modifikationen sind auch Dateisysteme mit 4 TB
|
|
möglich (und existieren auch).</para>
|
|
|
|
<para>Die maximale Größe einer einzelnen
|
|
FFS-Datei liegt bei ungefähr 1 G Blöcken (4 TB,
|
|
falls die Blockgröße 4 KB beträgt).</para>
|
|
|
|
<table>
|
|
<title>Maximale Dateigröße</title>
|
|
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Blockgröße</entry>
|
|
|
|
<entry>Geht</entry>
|
|
|
|
<entry>Sollte Gehen</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>4 KB</entry>
|
|
|
|
<entry>> 4 GB</entry>
|
|
|
|
<entry>4 TB - 1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>8 KB</entry>
|
|
|
|
<entry>> 32 GB</entry>
|
|
|
|
<entry>32 TB - 1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>16 KB</entry>
|
|
|
|
<entry>> 128 GB</entry>
|
|
|
|
<entry>32 TB - 1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>32 KB</entry>
|
|
|
|
<entry>> 512 GB</entry>
|
|
|
|
<entry>64 TB - 1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>64 KB</entry>
|
|
|
|
<entry>> 2048 GB</entry>
|
|
|
|
<entry>128 TB - 1</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>Wenn die im Dateisystem verwendete
|
|
Blockgröße 4 KB beträgt, wird mit dreifacher
|
|
Indirektion gearbeitet und die Limitierung sollte durch
|
|
die höchste Blocknummer erfolgen, die mit dreifacher
|
|
Indirektion dargestellt werden kann (ungefähr
|
|
1024<superscript>3</superscript> + 1024<superscript>2</superscript> + 1024).
|
|
In Wirklichkeit liegt das Limit aber bei der (falschen) Anzahl von
|
|
1 G - 1 Blocknummern im Dateisystem.
|
|
Die maximale Anzahl der Blocknummern müsste
|
|
2 G - 1 sein. Es gibt einige Fehler für
|
|
Blocknummern nahe 2 G - 1, aber solche Blocknummern
|
|
sind bei einer Blockgröße von 4 KB
|
|
unerreichbar.</para>
|
|
|
|
<para>Bei Blocknummern von 8 KB und größer sollte
|
|
das Limit bei 2 G - 1 Blocknummern liegen,
|
|
tatsächlich liegt es aber bei 1 G - 1
|
|
Blocknummern. Die Verwendung der korrekten Grenze von
|
|
2 G - 1 verursacht Probleme.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="archsw-readin-failed-error">
|
|
<para>Wieso erhalte ich die Fehlermeldung
|
|
<errorname>archsw.readin.failed</errorname> beim Start des
|
|
Systems, nachdem ich einen neuen Kernel erstellt
|
|
habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ihr System und Ihr Kernel sind nicht synchron - dies
|
|
ist nicht erlaubt. Sie müssen Ihren Kernel mit
|
|
<command>make <maketarget>buildworld</maketarget></command> und
|
|
<command>make <maketarget>buildkernel</maketarget></command>
|
|
aktualisieren.</para>
|
|
|
|
<para>Sie können den zu bootenden Kernel direkt im
|
|
zweiten Schritt angeben, indem Sie eine beliebige Taste
|
|
drücken, wenn das <literal>|</literal> erscheint und bevor
|
|
der Loader startet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-acpi">
|
|
<para>Mein System stürzt beim Booten ab! Was kann ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Deaktivieren Sie die ACPI-Unterstützung. Dazu
|
|
drücken Sie beim Start des Bootloaders die
|
|
<keycap>Leertaste</keycap>. Das System zeigt folgendes an:</para>
|
|
|
|
<screen>OK</screen>
|
|
|
|
<para>Geben Sie nun</para>
|
|
|
|
<screen><userinput>unset acpi_load</userinput></screen>
|
|
|
|
<para>und danach</para>
|
|
|
|
<screen><userinput>boot</userinput></screen>
|
|
|
|
<para>ein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="hardware">
|
|
<title>Hardware-Kompatibilität</title>
|
|
|
|
<sect1 id="compatibility-general">
|
|
<title>Allgemeines</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="which-hardware-to-get">
|
|
<para>Ich will mir neue Hardware für mein
|
|
&os;-System zulegen, was soll ich kaufen? </para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Frage wird ständig auf den
|
|
&os;-Mailinglisten diskutiert. Da sich die Hardware
|
|
ständig ändert, ist das allerdings keine
|
|
Überraschung. <emphasis>Trotzdem</emphasis> sollten
|
|
Sie unbedingt die Hardware-Informationen von &os;
|
|
(<ulink
|
|
url="&rel.current.hardware;">&rel.current;</ulink> oder
|
|
<ulink
|
|
url="&rel2.current.hardware;">&rel2.current;</ulink>) und die
|
|
<ulink
|
|
url="http://www.FreeBSD.org/search/#mailinglists">
|
|
Archive</ulink> der Mailinglisten durchsehen, bevor Sie
|
|
nach der neuesten/besten Hardware fragen. Normalerweise
|
|
gab es kurz zuvor eine Diskussion über genau die
|
|
Hardware, die Sie sich zulegen wollen.</para>
|
|
|
|
<para>Wenn Sie sich einen Laptop zulegen wollen, sollten Sie
|
|
einen Blick in das Archiv der Mailingliste &a.mobile;
|
|
werfen. Ansonsten empfiehlt sich ein Blick in das Archiv
|
|
von &a.questions; oder auch einer spezialisierte
|
|
Mailingliste für diese Art von Hardware.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-memory">
|
|
<title>Hauptspeicher</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="memory-upper-limitation">
|
|
<para>Unterstützt &os; mehr als 4 GB Speicher
|
|
(RAM)? Mehr als 16 GB? Mehr als 48 GB?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Generell unterstützt &os; als
|
|
Betriebssystem so viel physischen Speicher (RAM), wie
|
|
die Plattform auf der es läuft. Achten Sie darauf,
|
|
dass verschiedene Plattformen unterschiedliche
|
|
Speichergrenzen besitzen. So wird z.B. &i386; ohne
|
|
<acronym>PAE</acronym> höchstens 4 GB Speicher
|
|
(normalerweise weniger als das wegen des
|
|
PCI-Addressraums), dagegen wird &i386; mit PAE
|
|
höchstens 64 GB Speicher bereitstellen.
|
|
Momentan erhältliche AMD64 Plattformen können
|
|
bis zu 1 TB physischen Speicher ansprechen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="memory-i386-over-4gb">
|
|
<para>Warum zeigt &os; weniger als 4 GB Speicher an,
|
|
wenn es auf einer &i386; Maschine installiert
|
|
wird?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Gesamtadressraum beträgt auf &i386;
|
|
Maschinen 32-Bit, was bedeutet, dass maximal
|
|
4 GB Speicher addressiert (verwaltet) werden
|
|
kann. Weiterhin sind viele Adressen in diesem Bereich
|
|
von der Hardware für bestimmte Aufgaben reserviert,
|
|
um z.B. PCI-Geräte zu benutzen und zu steuern, auf
|
|
Videospeicher zuzugreifen und so weiter. Aus diesem
|
|
Grund ist die Gesamtmenge an Speicher, die vom
|
|
Betriebssystem für den Kernel und Anwendungen
|
|
verwendet werden kann, auf wesentlich weniger als
|
|
4 GB begrenzt. Normalerweise sind 3.2 GB bis
|
|
3.7 GB das Maximum an verfügbarem Speicher in
|
|
dieser Konfiguration.</para>
|
|
|
|
<para>Um auf mehr als 3.2 GB bis 3.7 GB
|
|
des installierten Speichers (was bis zu 4 GB, aber
|
|
aber auch mehr als 4 GB bedeuten kann)
|
|
zuzugreifen, muss eine spezielle Manipulation, genannt
|
|
<acronym>PAE</acronym>, benutzt werden. PAE steht
|
|
für Physical Address Extension und ist eine
|
|
Möglichkeit für 32-Bit x86-CPUs mehr als
|
|
4 GB Speicher zu addressieren. Es organisiert
|
|
den Speicher, der andererseits wegen
|
|
Addressreservierungen für Hardwaregeräte
|
|
oberhalb der 4 GB Grenze liegt, um und benutzt
|
|
diesen als zusätzlichen physischen Speicher (lesen
|
|
Sie dazu &man.pae.4;). Der Einsatz von PAE ist mit ein
|
|
paar Nachteilen verbunden: diese Speicherzugriffsmethode
|
|
ist ein bisschen langsamer als die normale Methode (ohne
|
|
PAE) und ladbare Module (beschrieben in &man.kld.4;)
|
|
werden nicht unterstützt. Das bedeutet, dass alle
|
|
Treiber in den Kernel eingebaut sein müssen.</para>
|
|
|
|
<para>Die am häufigsten verwendete Vorgehensweise,
|
|
PAE zu aktivieren ist die, einen neuen Kernel mit der
|
|
speziell dafür vorgesehenen
|
|
Kernelkonfigurationsdatei, <filename>PAE</filename>
|
|
genannt, zu bauen, die bereits so eingestellt ist, dass
|
|
ein funktionierender Kernel erstellt wird. Beachten
|
|
Sie, dass manche Einträge in dieser
|
|
Kernelkonfigurationsdatei zu konservativ eingestellt
|
|
sind und dass manche Treiber, die nicht für den
|
|
Einsatz mit PAE vorgesehen sind, trotzdem funktionieren.
|
|
Als Faustregel kann man sagen, dass wenn der Treiber
|
|
auf 64-Bit Architekturen (like AMD64) läuft, er
|
|
auch mit PAE lauffähig ist. Wenn Sie ihre eigene
|
|
Kernelkonfigurationsdatei erstellen möchten,
|
|
können Sie PAE aktivieren, indem Sie die folgende
|
|
Zeile zu ihrer Konfiguration hinzufügen:</para>
|
|
|
|
<programlisting>options PAE</programlisting>
|
|
|
|
<para>PAE wird heutzutage nicht sehr häufig
|
|
angewendet, da die Mehrzahl an neuer x86-Hardware auch
|
|
den Betrieb im 64-Bit Modus erlaubt, auch als AMD64 oder
|
|
&intel; 64 bekannt. Es hat viel mehr Adressraum
|
|
und benötigt solche Manipulationen nicht. &os;
|
|
unterstützt AMD64 und es wird empfohlen, diese
|
|
&os; Version anstatt der &i386; Version einzusetzen,
|
|
wenn 4 GB oder mehr Speicher gebraucht
|
|
werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-processors">
|
|
<title>Architekturen und Prozessoren</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="architectures">
|
|
<para>Unterstützt &os; neben x86 auch andere
|
|
Architekturen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. &os; ist zurzeit für die Intel x86 und
|
|
AMD64 Architekturen verfügbar.
|
|
Intel EM64T, IA-64, &arm;, &powerpc; und &sparc64;
|
|
werden ebenfalls unterstützt. Die Neuzugänge
|
|
auf der Liste der in Zukunft unterstützten Plattformen
|
|
sind &mips; und &s390;. Abonnieren Sie die Mailingliste
|
|
&a.mips;, wenn Sie mehr über
|
|
den Stand der Entwicklung erfahren wollen. Schließen
|
|
Sie sich der Mailingliste &a.platforms; an, wenn Sie an
|
|
grundsätzlichen Diskussionen über neue Architekturen
|
|
interessiert sind.</para>
|
|
|
|
<para>Falls Ihre Maschine eine andere Architektur aufweist
|
|
und Sie unbedingt sofort etwas benötigen, schlagen
|
|
wir vor, dass Sie sich einmal <ulink
|
|
url="http://www.netbsd.org/">NetBSD</ulink> oder <ulink
|
|
url="http://www.openbsd.org/">OpenBSD</ulink>
|
|
ansehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="smp-support">
|
|
<para>Unterstützt &os; Symmetric-Multiproccessing
|
|
(SMP)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Symmetric-Multiproccessing (SMP) Systeme werden generell
|
|
von &os; unterstützt, obwohl in manchen Fällen durch
|
|
Fehler im BIOS oder Mainboard Probleme auftreten.</para>
|
|
|
|
<para>&os; nutzt die Vorteile von HyperThreading (HTT)
|
|
Unterstützung von Intel-Prozessoren, die diese Eigenschaft
|
|
besitzen. Ein Kernel mit der <literal>options SMP</literal>
|
|
Zeile wird automatisch die zusätzlichen logischen
|
|
Prozessoren erkennen. Der Standard &os;-Scheduler behandelt die
|
|
logischen Prozessoren auf die gleiche Weise wie zusätzliche
|
|
physische Prozessoren. Mit anderen Worten, es wird nicht der
|
|
Versuch unternommen, die Entscheidungen des Schedulers zu
|
|
optimieren, da sich die logischen Prozessoren innerhalb der
|
|
gleichen CPU die Ressourcen teilen. Weil diese naive Planung
|
|
in schlechterer Leistung resultieren kann, ist es unter
|
|
Umständen hilfreich, die logischen Prozessoren über die
|
|
sysctl Variable <varname>machdep.hlt_logical_cpus</varname> zu
|
|
deaktivieren. Es ist auch möglich, jede CPU in der
|
|
Warteschleife mit der sysctl Variable
|
|
<varname>machdep.hlt_cpus</varname> anzuhalten. Weitere
|
|
Informationen finden Sie in der Manualpage &man.smp.4;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-drives">
|
|
<title>Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="supported-hard-drives">
|
|
<para>Welche Arten von Festplatten werden von &os;
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt EIDE-, SATA-, SCSI- und
|
|
SAS-Laufwerke (mit
|
|
kompatiblen Controllern - siehe folgenden Abschnitt),
|
|
sowie alle Laufwerke, die die original <quote>Western
|
|
Digital</quote>-Schnittstelle (MFM, RLL, ESDI und
|
|
natürlich IDE) benutzen. Ein paar Controller mit
|
|
proprietären Schnittstellen könnten nicht
|
|
laufen: halten Sie sich an WD1002/3/6/7-Schnittstellen und
|
|
Clones.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="supported-scsi-controllers">
|
|
<para>Welche SCSI- oder SAS-Controller werden
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden eine vollständige und aktuelle Liste
|
|
in den Hardware-Informationen zu &os;
|
|
(<ulink
|
|
url="&rel.current.hardware;">&rel.current;</ulink> oder <ulink
|
|
url="&rel2.current.hardware;">&rel2.current;</ulink>).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tape-support">
|
|
<para>Welche Arten von Bandlaufwerken werden
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt SCSI-, QIC-36- (mit
|
|
QIC-02-Schnittstelle) und QIC-40/80-Bandlaufwerke
|
|
(diskettenbasiert). Hierzu gehören auch 8-mm (aka
|
|
Exabyte) und DAT-Laufwerke. Die QIC-40/80-Laufwerke sind
|
|
bekanntlich sehr langsam.</para>
|
|
|
|
<para>Einige der frühen 8-mm-Laufwerke sind nicht
|
|
besonders kompatibel zu SCSI-2 und könnten unter
|
|
&os; nicht einwandfrei funktionieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tape-changer-support">
|
|
<para>Unterstützt &os; Bandwechsler?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Gerät &man.ch.4; und das Kommando
|
|
<command>chio</command> unterstützen Bandwechsler.
|
|
Details zum Betrieb des Wechslers finden Sie in der
|
|
Hilfeseite &man.chio.1;.</para>
|
|
|
|
<para>Falls Sie nicht <application>AMANDA</application> oder
|
|
ein anderes Produkt benutzen, das den Wechsler bereits
|
|
kennt, bedenken Sie, dass die Programme nur wissen,
|
|
wie sie ein Band von einem Punkt zu einem anderen bewegen
|
|
müssen. Sie selbst müssen sich also merken, in
|
|
welchem Einschub sich ein Band befindet und zu welchem
|
|
Einschub das Band, das sich gerade im Laufwerk befindet,
|
|
zurück muss.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="supported-cdrom-drives">
|
|
<para>Welche CD-ROM-Laufwerke werden von &os;
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Jedes an einem unterstützten Controller
|
|
angeschlossene SCSI-Laufwerk wird
|
|
unterstützt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="supported-cdrw-drives">
|
|
<para>Welche CD-Brenner werden von &os; unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt alle ATAPI-kompatiblen IDE
|
|
CD-R und CD-RW Brenner. Lesen Sie dazu auch
|
|
&man.burncd.8;.</para>
|
|
|
|
<para>&os; unterstützt ebenfalls SCSI CD-R und CD-RW
|
|
Brenner. Installieren und benutzen Sie das Paket
|
|
<command>cdrecord</command> aus der Ports-Sammlung. Dazu
|
|
müssen Sie allerdings das Gerät
|
|
<devicename>pass</devicename> mit in Ihren Kernel
|
|
aufnehmen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-kbd-mice">
|
|
<title>Tastaturen und Mäuse</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="usbkbd">
|
|
<para>Unterstützt &os; meine Tastatur mit
|
|
USB-Anschluss?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. &os; unterstützt USB-Tastaturen.</para>
|
|
|
|
<para>Wenn Sie die Unterstützung für USB-Tastaturen
|
|
konfiguriert haben, ist die AT-Tastatur
|
|
als <devicename>/dev/kbd0</devicename> und die USB-Tastatur
|
|
als <devicename>/dev/kbd1</devicename> verfügbar. Dies
|
|
gilt natürlich nur, wenn beide Tastaturen
|
|
angeschlossen sind; falls nur die USB-Tastatur
|
|
angeschlossen ist, ist diese als
|
|
<devicename>/dev/ukbd0</devicename> verfügbar.</para>
|
|
|
|
<para>Wenn Sie die USB-Tastatur an der Systemkonsole
|
|
benutzen wollen, müssen Sie dies dem System explizit
|
|
mitteilen. Dazu muss das folgende Kommando
|
|
während des Systemstarts ausgeführt
|
|
werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null</userinput></screen>
|
|
|
|
<para>Wenn Sie nur die USB-Tastatur angeschlossen haben, ist
|
|
diese als <devicename>/dev/ukbd0</devicename> verfügbar;
|
|
daher muss in diesem Fall das folgende Kommando
|
|
benutzt werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null</userinput></screen>
|
|
|
|
<note>
|
|
<para>Um diese Änderung auch noch nach dem Neustarten
|
|
verfügbar zu haben, nehmen Sie den Eintrag
|
|
<literal>keyboard="/dev/ukbd0"</literal> in die Datei
|
|
<filename>/etc/rc.conf</filename> auf.</para>
|
|
</note>
|
|
|
|
<para>Sobald Sie diese Schritte durchgeführt haben,
|
|
sollte die USB-Tastatur ohne weitere Änderungen auch
|
|
unter X benutzbar sei.</para>
|
|
|
|
<para>Benutzen Sie dieses Kommando, wenn Sie wieder zur
|
|
Standardtastatur wechseln wollen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 > /dev/null</userinput></screen>
|
|
|
|
<para>Um die gleichzeitige Verwendung der zweiten USB-Tastatur und
|
|
der AT-Tastatur auf der selben Konsole mittels des &man.kbdmux.4;
|
|
Treibers zu ermöglichen, geben Sie folgendes ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kbdcontrol -K < /dev/console > /dev/null</userinput>
|
|
&prompt.root; <userinput>kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null</userinput>
|
|
&prompt.root; <userinput>kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null</userinput>
|
|
&prompt.root; <userinput>kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null</userinput></screen>
|
|
|
|
<para>Lesen Sie die &man.ukbd.4;, &man.kbdcontrol.1; und
|
|
&man.kbdmux.4; Manualpages, um weitere Informationen zu
|
|
erhalten.</para>
|
|
|
|
<note>
|
|
<para>Zurzeit kann es noch Probleme geben, wenn Sie eine
|
|
USB-Tastatur im laufenden Betrieb einstecken oder
|
|
abziehen. Um Probleme zu vermeiden, sollten Sie die
|
|
Tastatur anschließen, bevor Sie das System
|
|
anschalten und die Tastatur nicht abziehen, solange das
|
|
System noch läuft.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="busmouse">
|
|
<para>Ich habe eine unübliche Busmaus. Wie muss
|
|
ich sie konfigurieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt die Busmaus und
|
|
InPort-Busmaus von Herstellern wie Microsoft, Logitech und
|
|
ATI. Der Gerätetreiber ist im
|
|
<filename>GENERIC</filename>-Kernel allerdings nicht eingebunden.
|
|
Wenn Sie den Bus-Gerätetreiber benötigen, müssen Sie
|
|
daher einen angepassten Kernel erstellen. Dazu fügen Sie die
|
|
folgende Zeile in Ihre Kernelkonfigurationsdatei ein:</para>
|
|
|
|
<programlisting>device mse0 at isa? port 0x23c irq5</programlisting>
|
|
|
|
<para>Die Busmaus wird üblicherweise zusammen mit einer
|
|
speziellen Karte ausgeliefert. Sie könnte es Ihnen
|
|
ermöglichen, andere Werte für die Port-Adresse
|
|
und den Interrupt zu setzen. Weitere Informationen finden
|
|
Sie in Handbuch zu Ihrer Maus und in der &man.mse.4;
|
|
Manualpage.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ps2mouse">
|
|
<para>Wie benutze ich meine PS/2 (<quote>Mouse-Port</quote>
|
|
oder <quote>Tastatur</quote>)-Maus?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>PS/2 Mäuse werden von &os; unterstützt.
|
|
Der notwendige Gerätetreiber,
|
|
<devicename>psm</devicename>, ist bereits im
|
|
<filename>GENERIC</filename>-Kernel enthalten.</para>
|
|
|
|
<para>Wenn Sie einen angepassten Kernel ohne diesen Treiber
|
|
benutzen, müssen Sie folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei einfügen und den Kernel neu
|
|
kompilieren:</para>
|
|
|
|
<programlisting>device psm0 at atkbdc? irq 12</programlisting>
|
|
|
|
<para>Wenn der Kernel das Gerät
|
|
<devicename>psm0</devicename> beim Booten korrekt erkennt,
|
|
stellen Sie sicher, dass sich im Verzeichnis
|
|
<filename>/dev</filename> ein Eintrag für
|
|
<devicename>psm0</devicename> befindet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="moused">
|
|
<para>Kann man die Maus irgendwie außerhalb des X
|
|
Window Systems benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie den normalen Konsolentreiber &man.syscons.4; benutzen,
|
|
können Sie den Mauszeiger auf Textkonsolen zum
|
|
Kopieren und Einfügen von Text verwenden. Starten
|
|
Sie den Mausdämon &man.moused.8; und schalten Sie den
|
|
Mauszeiger auf der virtuellen Konsole ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput>
|
|
&prompt.root; <userinput>vidcontrol -m on</userinput></screen>
|
|
|
|
<para><replaceable>xxxx</replaceable> ist der
|
|
Gerätename der Maus und
|
|
<replaceable>yyyy</replaceable> ist das Protokoll.
|
|
Der Mausdämon erkennt die Protokolle der meisten
|
|
Mäuse (mit Ausnahme alter serieller Mäuse)
|
|
automatisch, wenn Sie <literal>auto</literal> für
|
|
das Protokoll angeben. Falls das Protokoll nicht
|
|
automatisch erkannt wird, finden Sie die
|
|
unterstützten Protokolle in der
|
|
&man.moused.8; Manualpage.</para>
|
|
|
|
<para>Wenn Sie eine PS/2-Maus besitzen und diese beim
|
|
Systemstart aktivieren wollen, tragen Sie die Zeile
|
|
<literal>moused_enable="YES"</literal> in die Datei
|
|
<filename>/etc/rc.conf</filename> ein. Falls Sie den
|
|
Mausdämon auf allen virtuellen Bildschirmen anstatt
|
|
nur auf der Konsole benutzen wollen, tragen Sie außerdem
|
|
<literal>allscreens_flags="-m on"</literal> in
|
|
<filename>/etc/rc.conf</filename> ein.</para>
|
|
|
|
<para>Während der Mausdämon läuft, muss
|
|
der Zugriff auf die Maus zwischen dem Mausdämon und
|
|
anderen Programmen, wie X Windows, koordiniert werden.
|
|
Die FAQ <link
|
|
linkend="x-and-moused">Warum funktioniert meine meine Maus unter X
|
|
nicht?</link> enthält weitere Details.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="text-mode-cut-paste">
|
|
<para>Wie funktioniert das Kopieren und Einfügen von
|
|
Text mit der Maus auf einer Textkonsole?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie es geschafft haben, den Mausdämon zu
|
|
starten (wie im <link
|
|
linkend="moused">vorherigen Abschnitt</link> gezeigt), halten Sie
|
|
die linke Maustaste gedrückt und bewegen Sie die Maus, um einen
|
|
Textabschnitt zu markieren. Dann drücken Sie die
|
|
mittlere Maustaste, um den Text an der
|
|
Cursorposition einzufügen.</para>
|
|
|
|
<para>Wenn Sie keine 3-Tasten-Maus besitzen, können
|
|
Sie die mittlere Maustaste mit einer Tastenkombination
|
|
emulieren oder die Funktion der mittleren Taste auf
|
|
eine andere Taste legen. Einzelheiten dazu enthält
|
|
die Hilfeseite &man.moused.8;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mouse-wheel-buttons">
|
|
<para>Meine Maus hat ein neumodisches Rad und mehr
|
|
Knöpfe. Kann ich sie in &os; benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Unglücklicherweise lautet die Antwort:
|
|
<quote>Vielleicht</quote>. Solche Mäuse mit
|
|
zusätzlichen Extras erfordern in den meisten
|
|
Fällen spezielle Treiber. Wenn der
|
|
Gerätetreiber für die Maus oder das
|
|
Anwendungsprogramm keine spezielle Unterstützung
|
|
für die Maus bietet, wird sie sich wie eine
|
|
gewöhnliche Maus mit zwei oder drei Knöpfen
|
|
verhalten.</para>
|
|
|
|
<para>Ob und wie Sie das Rad unter X benutzen können,
|
|
können Sie im <link
|
|
linkend="x-and-wheel">passenden Abschnitt</link> der FAQ
|
|
erfahren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="laptop-mouse-trackball">
|
|
<para>Wie benutze ich Maus/Trackball/Touchpad auf meinem
|
|
Laptop?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bitte lesen Sie <link
|
|
linkend="ps2mouse">die Antwort zur vorherigen Frage</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="keyboard-delete-key">
|
|
<para>Wie kann ich die Delete-Taste in der <command>sh</command> und
|
|
<command>csh</command> einsetzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für die <application>Bourne Shell</application>
|
|
fügen Sie die folgende Zeile in die Datei
|
|
<filename>.shrc</filename> ein (lesen Sie dazu auch die
|
|
Manualpages &man.sh.1; sowie &man.editrc.5;).</para>
|
|
|
|
<programlisting>bind ^? ed-delete-next-char # for console
|
|
bind ^[[3~ ed-delete-next-char # for xterm</programlisting>
|
|
|
|
<para>Für die <application>C Shell</application> nehmen
|
|
Sie hingegen die folgende Zeile in die Datei
|
|
<filename>.cshrc</filename> auf (lesen Sie dazu auch die
|
|
Manualpage &man.csh.1;).</para>
|
|
|
|
<programlisting>bindkey ^? delete-char # for console
|
|
bindkey ^[[3~ delete-char # for xterm</programlisting>
|
|
|
|
<para>Weitere Informationen zu diesem Thema finden sich auch
|
|
<ulink
|
|
url="http://www.ibb.net/~anne/keyboard.html">hier</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-networking">
|
|
<title>Netzkarten und serielle Geräte</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="network-cards">
|
|
<para>Welche Netzwerkkarten unterstützt &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In den Hardware Informationen zu jedem &os; Release
|
|
werden die unterstützten Karten aufgezählt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="support-broadcom">
|
|
<para>Gibt es einen &os;-Treiber für die Karten der
|
|
Serie 43xx von Broadcom?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Zahlreiche Broadcom 43xx-Karten werden von den Treibern
|
|
&man.bwn.4; sowie &man.bwi.4; unterstützt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-support">
|
|
<para>Welche seriellen Multi-Port-Karten werden von &os;
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es existiert eine Liste der unterstützten Karten
|
|
im Abschnitt <ulink
|
|
url="&url.books.handbook;/serial.html">Serielle
|
|
Datenübertragung</ulink> des Handbuchs.</para>
|
|
|
|
<para>Von einigen NoName-Nachbauten ist ebenfalls
|
|
bekannt, dass sie funktionieren, speziell von den
|
|
AST-kompatiblen.</para>
|
|
|
|
<para>In &man.sio.4; finden Sie weitere Informationen zur
|
|
Konfiguration solcher Karten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="serial-console-prompt">
|
|
<para>Wie kann ich den boot:-Prompt auf einer seriellen
|
|
Konsole erscheinen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <ulink
|
|
url="&url.books.handbook;/serialconsole-setup.html">
|
|
diesen Abschnitt</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-sound">
|
|
<title>Soundkarten</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="sound-card-support">
|
|
<para>Welche Soundkarten werden von &os; unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt verschiedene Soundkarten.
|
|
Lesen Sie die <ulink url="&url.base;/de/releases/">
|
|
&os; Release Informationen</ulink> sowie &man.snd.4;,
|
|
wenn Sie genauere Informationen benötigen. MPU-401
|
|
und kompatible MIDI-Karten werden begrenzt unterstützt.
|
|
Ebenso unterstützt werden Karten, die der µsoft;
|
|
Sound System-Spezifikation entsprechen.</para>
|
|
|
|
<note>
|
|
<para>Das gilt nur für Sound! Dieser Treiber
|
|
unterstützt keine CD-ROMs, SCSI oder Joysticks auf
|
|
diesen Karten, außer der &soundblaster;. Die
|
|
&soundblaster;-SCSI-Schnittstelle und einige
|
|
Nicht-SCSI-CD-ROMs werden unterstützt, Sie
|
|
können von diesen Geräten aber nicht
|
|
booten.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="es1370-silent-pcm">
|
|
<para>Abhilfen für fehlenden Sound bei Verwendung des
|
|
&man.pcm.4;-Treibers?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Soundkarten setzen die Lautstärke bei jedem
|
|
Systemstart auf 0. In diesem Fall müssen Sie nach jedem
|
|
Bootvorgang den folgenden Befehl ausführen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-other">
|
|
<title>Sonstige Hardware</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="power-management-support">
|
|
<para>Unterstützt &os; Power-Management auf meinem
|
|
Laptop?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt <acronym>APM</acronym>
|
|
auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;.</para>
|
|
|
|
<para>&os; unterstützt einen Großteil der
|
|
<acronym>ACPI</acronym>-Funktionen moderner Hardware.
|
|
Lesen Sie dazu auch &man.acpi.4;.
|
|
Unterstützt Ihr System sowohl <acronym>APM</acronym>
|
|
als auch <acronym>ACPI</acronym>, können Sie beide
|
|
Systeme testen und sich für das System entscheiden,
|
|
das Ihren Anforderungen am besten entspricht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disable-acpi">
|
|
<para>Wie kann ich ACPI deaktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Fügen Sie die Zeile
|
|
<screen>hint.acpi.0.disabled="1"</screen> in die Datei
|
|
<filename>/boot/device.hints</filename> ein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-hang-boot">
|
|
<para>Wieso hängt sich mein Micron-System beim Booten
|
|
auf?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <link
|
|
linkend="micron-hang-boot">die vorherige Antwort</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="asusk7v-boot-failure">
|
|
<para>Wenn ich ein System mit einem ASUS K7V Mainboard von
|
|
der Bootdiskette starte, hängt sich das System auf.
|
|
Wie kann ich dieses Problem lösen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Schalten Sie im BIOS die Option <quote>boot virus
|
|
protection</quote> aus.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-3comnic-failure">
|
|
<para>Warum arbeitet meine &tm.3com; PCI-Netzwerkkarte in meinem
|
|
Micron-Computer nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Micron Motherboards besitzen eine
|
|
nicht-konforme PCI-BIOS-Implementierung, die die
|
|
PCI-Geräte nicht an den angegebenen Adressen
|
|
konfiguriert. Hierdurch entstehen Probleme, wenn &os;
|
|
bootet.</para>
|
|
|
|
<para>Deaktivieren Sie die Option <quote>Plug and Play
|
|
Operating System</quote> im BIOS, um das Problem zu
|
|
umgehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|
|
|
|
<chapter id="troubleshoot">
|
|
<title>Fehlerbehebung</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="pae">
|
|
<para>Warum zeigt &os; eine falsche Speichergröße auf
|
|
&i386; Hardware an?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das liegt sehr wahrscheinlich an den Unterschieden zwischen
|
|
physikalischen und virtuellen Speicheraddressen.</para>
|
|
|
|
<para>Bei moderner PC-Hardware ist es üblich, den
|
|
Speicherbereich zwischen 3,5 und 4 Gigabyte für
|
|
spezielle Aufgaben (normalerweise für PCI) zu
|
|
reservieren. Dieser Adressbereich wird dabei dazu
|
|
verwendet, um auf PCI-Hardware zuzugreifen. Dadurch
|
|
kann in diesem Speicherbereich kein physikalischer
|
|
Speicher verwaltet werden.</para>
|
|
|
|
<para>Was mit dem in diesen Bereich gehörenden
|
|
physikalischen Speicher passiert, hängt von der von
|
|
Ihnen eingesetzten Hardware ab. Unglücklicherweise
|
|
gibt es noch immer Hardware, die hier gar nichts macht.
|
|
In diesem Fall ist Ihr System nicht in der Lage, auf diese
|
|
500 Megabyte des RAMs zuzugreifen.</para>
|
|
|
|
<para>Ein Großteil der heute existierenden Hardware
|
|
ist aber inzwischen in der Lage, diesen Speicherbereich
|
|
in einen höheren Speicherbereich umzulenken, damit
|
|
Sie weiterhin darauf zugreifen können. Allerdings
|
|
kann es durch dieses Umlenken zu verwirrende Meldungen
|
|
während des Systemstarts kommen.</para>
|
|
|
|
<para>Unter 32-Bit-Versionen von &os; scheint dieser
|
|
Speicherbereich nicht verfügbar zu sein, da er in einen
|
|
Bereich oberhalb von 4 Gigabyte übertragen wurde, auf den
|
|
ein 32-Bit-Kernel allerdings nicht zugreifen kann. Ist dies
|
|
bei Ihnen der Fall, müssen Sie die PAE-Unterstützung
|
|
in Ihren Kernel kompilieren. Lesen Sie dazu auch die
|
|
entsprechenden <link
|
|
linkend="memory-limits">Einträge über
|
|
Speicherbegrenzungen</link> und <link
|
|
linkend="memory-upper-limitation">unterschiedliche
|
|
Speicherbegrenzungen auf verschiedenen Plattformen</link>.</para>
|
|
|
|
<para>Verwenden Sie hingegen eine 64-Bit-Version von &os;
|
|
oder einen 32-Bit-Kernel mit aktivierter
|
|
PAE-Unterstützung, ist &os; in der Lage, diesen
|
|
Speicherbereich korrekt zu erkennen und umzulenken, damit Sie
|
|
weiterhin darauf zugreifen können. Allerdings wird, aufgrund
|
|
der beschriebenen Umbelegung, in diesem Fall beim Systemstart mehr
|
|
Speicher angezeigt, als tatsächlich auf Ihrem System vorhanden
|
|
ist. Dies ist aber normal und wird nach dem Ende des Systemstarts
|
|
automatisch korrigiert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="awre">
|
|
<para>Was sollte ich tun, wenn auf meiner Festplatte
|
|
fehlerhafte Blöcke sind?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>SCSI-Laufwerke sollten in der Lage sein, diese
|
|
automatisch zu verlagern. Bei einigen Laufwerken ist
|
|
diese Eigenschaft jedoch aus unerfindlichen Gründen
|
|
bei der Auslieferung ausgeschaltet...</para>
|
|
|
|
<para>Um sie einzuschalten, müssen Sie den Page-Mode
|
|
des ersten Gerätes editieren. Unter &os;
|
|
können Sie das (als <username>root</username>) mit
|
|
folgendem Befehl tun</para>
|
|
|
|
<screen>&prompt.root; <userinput>camcontrol modepage sd0 -m 1 -e -P 3</userinput></screen>
|
|
|
|
<para>und die Werte für AWRE und ARRE von 0 auf 1
|
|
ändern:</para>
|
|
|
|
<programlisting>
|
|
AWRE (Auto Write Reallocation Enbld): 1
|
|
ARRE (Auto Read Reallocation Enbld): 1
|
|
</programlisting>
|
|
|
|
<para>Moderne IDE-Controller sind in der Lage, fehlerhafte
|
|
Blöcke automatisch zu verlagern. Diese Funktionen
|
|
sind bereits ab Werk aktiviert.</para>
|
|
|
|
<para>Werden dennoch fehlerhafte Blöcke gemeldet (egal
|
|
auf welchem Laufwerk), sollten Sie über den Kauf einer
|
|
neuen Platte nachdenken. Zwar könnte es Ihnen mit
|
|
Diagnoseprogrammen des Plattenherstellers gelingen, diese
|
|
fehlerhaften Blöcke zu sperren. Allerdings können
|
|
Sie damit den endgültigen Ausfall der Platte bestenfalls
|
|
hinauszögern.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="hpnetserver-scsi-failure">
|
|
<para>Wieso wird der SCSI-Controller meines HP Netserver nicht
|
|
erkannt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hierbei handelt es sich um ein bekanntes Problem. Der
|
|
auf dem Board befindliche EISA-SCSI-Controller auf dem HP
|
|
Netserver belegt die EISA-Slotnummer 11, wodurch sich alle
|
|
<quote>wirklichen</quote> EISA-Slots vor ihm befinden.
|
|
Leider kollidiert der Adressraum von EISA-Slots
|
|
>=10 mit dem Adressraum, der PCI zugeordnet ist und
|
|
die Autokonfiguration von &os; kann mit dieser
|
|
Situation derzeit nicht besonders gut umgehen.</para>
|
|
|
|
<para>Die einfachste Alternative ist, diese Kollision
|
|
einfach zu leugnen. Setzen Sie dazu die Kerneloption
|
|
<literal>EISA_SLOTS</literal> auf den Wert 12.
|
|
Konfigurieren und kompilieren Sie den Kernel, wie im <ulink
|
|
url="&url.books.handbook;/kernelconfig.html">Handbucheintrag
|
|
zur Kernelkonfiguration</ulink> beschrieben.</para>
|
|
|
|
<para>Dies bringt Ihnen natürlich das klassische
|
|
Huhn-Ei-Problem, wenn Sie auf einer solchen Maschine
|
|
installieren wollen. Um dieses Problem zu umgehen,
|
|
existiert ein spezieller Hack in
|
|
<emphasis>UserConfig</emphasis>. Benutzen Sie nicht die
|
|
<quote>visuelle</quote> Schnittstelle, sondern die rohe
|
|
Kommandozeilenschnittstelle. Geben Sie einfach den folgenden
|
|
Befehl am Prompt ein und Sie können Ihr System ganz
|
|
normal installieren:</para>
|
|
|
|
<programlisting>eisa 12
|
|
quit
|
|
</programlisting>
|
|
|
|
<para>Sie sollten auf jeden Fall einen angepassten Kernel zu
|
|
kompilieren und installieren.</para>
|
|
|
|
<para>Zukünftige Versionen werden hoffentlich eine
|
|
passende Lösung für dieses Problem
|
|
beinhalten.</para>
|
|
|
|
<note>
|
|
<para>Sie können keine <literal>dangerously
|
|
dedicated</literal> Platte auf einem HP Netserver
|
|
verwenden. Lesen Sie weitere Informationen finden Sie
|
|
in <link linkend="dedicate">diesem
|
|
Hinweis</link>.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ed1-timeout">
|
|
<para>Was bedeuten die ständigen Meldungen
|
|
<literal>ed1: timeout</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies wird meistens durch einen Interruptkonflikt
|
|
verursacht (z.B., wenn zwei Karten den selben Interrupt
|
|
benutzen). Booten Sie mit der Option <option>-c</option>
|
|
und ändern Sie die Einträge zu
|
|
<devicename>ed0</devicename>/<devicename>de0</devicename>/...
|
|
(d.h. Ihrem Board entsprechend).</para>
|
|
|
|
<para>Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte
|
|
benutzen, könnte es auch sein, dass es sich
|
|
Geräte-Timeouts aufgrund fehlerhafter Terminierung
|
|
handelt. Um dies zu überprüfen, verbinden Sie
|
|
einen Terminator direkt mit der Netzwerkkarte (ohne Kabel)
|
|
und beobachten Sie, ob die Fehlermeldungen
|
|
verschwinden.</para>
|
|
|
|
<para>Einige NE2000 kompatible Karten melden diesen Fehler,
|
|
wenn keine Verbindung am UTP-Eingang existiert oder wenn
|
|
das Kabel nicht eingesteckt ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bad-3c509">
|
|
<para>Warum funktioniert meine &tm.3com; 3C509 plötzlich
|
|
nicht mehr?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Karte ist dafür berüchtigt, ihre
|
|
Konfiguration zu vergessen. Sie müssen die Karte mit
|
|
dem DOS-Programm <command>3c5x9.exe</command> neu
|
|
konfigurieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="printer-slow">
|
|
<para>Mein an der parallel Schnittstelle angeschlossener
|
|
Drucker ist unglaublich langsam. Was kann ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls das einzige Problem ist, dass er
|
|
schrecklich langsam ist, dann sollte Sie versuchen, die
|
|
<ulink
|
|
url="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">
|
|
Kommunikationseinstellungen der parallelen Schnittstellen</ulink>
|
|
zu ändern, wie es im Kapitel <ulink
|
|
url="&url.books.handbook;/printing.html">Drucken</ulink>
|
|
des Handbuchs beschrieben ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="signal11">
|
|
<para>Wieso brechen meine Programme gelegentlich mit
|
|
<errorname>Signal 11</errorname>-Fehlern ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Signal 11 wird generiert, wenn ein Prozess
|
|
versucht, auf Speicher zuzugreifen, obwohl er vom
|
|
Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das
|
|
scheinbar zufällig immer wieder passiert, sollten Sie
|
|
der Sache einmal auf der Grund gehen.</para>
|
|
|
|
<para>Das Problem hat in der Regel eine der folgenden
|
|
Ursachen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Wenn das Problem nur in einer bestimmten
|
|
Anwendung auftritt, die Sie selbst entwickeln, dann
|
|
ist es wahrscheinlich ein Fehler in Ihren
|
|
Sourcen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn das Problem in einem Teil von &os;
|
|
auftritt, könnte es natürlich auch ein
|
|
Fehler sein; aber in den meisten
|
|
Fällen werden diese Probleme gefunden und behoben,
|
|
bevor die typischen Leser der FAQ (wir) diese Teile
|
|
der Sourcen benutzen können (dafür gibt es
|
|
schließlich -CURRENT).</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Wenn der Fehler auftritt, wenn Sie ein Programm
|
|
compilieren aber dabei immer wieder an anderer Stelle
|
|
auftritt, dann ist das ein ganz eindeutiger Hinweis,
|
|
dass das Problem <emphasis>nicht</emphasis> bei
|
|
&os; liegt.</para>
|
|
|
|
<para>Nehmen wir zum Beispiel an, dass Sie <command>make
|
|
<maketarget>buildworld</maketarget></command>
|
|
ausführen und die Compilierung von
|
|
<filename>ls.c</filename> in <filename>ls.o</filename>
|
|
abbricht. Wenn Sie nochmal <command>make
|
|
<maketarget>buildworld</maketarget></command>
|
|
durchführen und die Compilierung an der gleichen
|
|
Stelle abbricht, handelt es sich um einen Fehler in den
|
|
Sourcen. Aktualisieren Sie Ihre Sourcen und versuchen Sie
|
|
es noch einmal. Wenn der Fehler jedoch an einer anderen
|
|
Stelle auftritt, liegt das Problem mit an Sicherheit
|
|
grenzender Wahrscheinlichkeit bei Ihrer Hardware.</para>
|
|
|
|
<para>Was Sie tun sollten:</para>
|
|
|
|
<para>Im ersten Fall können Sie einen Debugger wie z.B.
|
|
&man.gdb.1; benutzen, um die Stelle im Programm zu finden,
|
|
an der auf eine falsche Adresse zugegriffen wird und danach
|
|
den Fehler beheben.</para>
|
|
|
|
<para>Im zweiten Fall müssen Sie sicherstellen,
|
|
dass das Problem nicht von Ihrer Hardware verursacht
|
|
wird.</para>
|
|
|
|
<para>Typische Ursachen dafür sind unter
|
|
anderem:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Es könnte sein, dass Ihren Festplatten
|
|
zu warm werden: Überprüfen Sie, ob die
|
|
Lüfter in Ihrem Gehäuse noch funktionieren,
|
|
damit Ihre Festplatten (und andere Hardware) nicht
|
|
heißlaufen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Prozessor überhitzt, weil Sie Ihn
|
|
übertaktet haben oder der CPU-Kühler
|
|
ausgefallen ist. Sie müssen sicherstellen,
|
|
dass Sie Ihre Hardware unter den Bedingungen
|
|
betreiben, für die sie spezifiziert ist,
|
|
zumindest während Sie versuchen, das Problem
|
|
zu lösen. Mit anderen Worten: Betreiben Sie
|
|
Ihre CPU mit der normalen Taktfrequenz.</para>
|
|
|
|
<para>Wenn Sie übertakten, sollten Sie daran
|
|
denken, dass ein langsames System deutlich
|
|
billiger ist als ein defektes System. Die große
|
|
Masse hat nicht sehr häufig Mitgefühl mit
|
|
Problemen bei übertakteten System, auch wenn Sie
|
|
es für ungefährlich halten.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Unzuverlässiger Speicher: Wenn Sie mehr als
|
|
ein SIMM/DIMM installiert haben, sollten Sie sie alle
|
|
ausbauen und die Maschine testweise mit jedem SIMM
|
|
oder DIMM einzeln betreiben. So können Sie
|
|
feststellen, ob die Ursache ein einzelnes SIMM/DIMM
|
|
oder auch eine Kombination von Modulen ist.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Zu optimistische Einstellung des Mainboards: In
|
|
Ihrem BIOS und mit den Jumpern auf dem Mainboard
|
|
können Sie diverse Timings ändern. In den
|
|
meisten Fällen reichen die Defaults aus, aber
|
|
manchmal kann es durch zu wenig wait states, die
|
|
Einstellung <quote>RAM Speed: Turbo</quote> oder
|
|
ähnliches zu merkwürdigen Problemen kommen.
|
|
Ein möglicher Ansatz ist, die BIOS defaults zu
|
|
laden, allerdings könnte es sinnvoll sein, die
|
|
aktuellen Einstellungen vorher zu notieren.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schlechte oder fehlerhafte Stromversorgung des
|
|
Mainboards: Wenn Sie unbenutzte Steckkarten, Platten
|
|
oder CD-ROMs in Ihrem System haben, sollten Sie sie
|
|
testweise ausbauen oder die Stromversorgung abziehen.
|
|
Dadurch können Sie prüfen, ob Ihr Netzteil
|
|
eventuell mit einer geringeren Last besser
|
|
zurechtkommt. Sie können auch testweise ein
|
|
anderes, am besten ein leistungsfähigeres,
|
|
Netzteil ausprobieren. Wenn Sie zurzeit ein
|
|
250 W-Netzteil benutzen, sollten Sie testweise ein
|
|
300 W-Netzteil einbauen.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Die sollten ebenfalls die SIG11 FAQ (unten
|
|
aufgeführt) lesen, da sie gute Erklärungen
|
|
für alle diese Probleme enthält (allerdings aus
|
|
&linux;-Sicht). Sie erklärt ebenfalls, warum sowohl
|
|
Programme als auch Geräte zur Speicherprüfung
|
|
fehlerhaften Speicher teilweise nicht erkennen.</para>
|
|
|
|
<para>Wenn alle diese Schritte nicht helfen, ist es
|
|
möglich, dass Sie einen Fehler in &os;
|
|
gefunden haben. Folgen Sie einfach den Anweisungen
|
|
für die Erstellung eines Problem Reports.</para>
|
|
|
|
<para>Es existiert eine ausführliche FAQ hierzu unter
|
|
<ulink url="http://www.bitwizard.nl/sig11/">der
|
|
SIG11-Problem-FAQ</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="trap-12-panic">
|
|
<para>Mein System stürzt mit der Meldung
|
|
<errorname>Fatal trap 12: page fault in kernel
|
|
mode</errorname> oder <errorname>panic:</errorname> ab und
|
|
gibt eine Menge zusätzlicher Informationen aus. Was
|
|
kann ich tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Entwickler von &os; interessieren sich für
|
|
solchen Meldungen, allerdings brauchen Sie deutlich mehr
|
|
Informationen als die, die Ihnen angezeigt werden.
|
|
Kopieren Sie die komplette Meldungen und lesen Sie nun den
|
|
FAQ-Eintrag über <link
|
|
linkend="kernel-panic-troubleshooting">kernel panics</link>.
|
|
Erzeugen sie einen Kernel mit den zusätzlichen Daten
|
|
zur Fehlersuche, und dann einen backtrace. Das hört
|
|
sich komplizierter an, als es ist. Sie brauchen keine
|
|
Programmier-Erfahrung, Sie müssen einfach nur den
|
|
Anweisungen folgen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="screen-loses-sync">
|
|
<para>Wieso wird beim Booten der Bildschirm schwarz und reagiert
|
|
nicht mehr?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein bekanntes Problem mit der ATI Mach64
|
|
Videokarte. Das Problem besteht darin, dass diese
|
|
Karte die Adresse <literal>2e8</literal> benutzt und die
|
|
vierte serielle Schnittstelle ebenfalls. Aufgrund eines
|
|
Fehlers (einer Besonderheit?) im &man.sio.4;-Treiber wird
|
|
diese Schnittstelle angesprochen, auch wenn Sie gar keine
|
|
vierte serielle Schnittstelle besitzen und
|
|
<emphasis>sogar</emphasis>, wenn Sie
|
|
<devicename>sio3</devicename> (die vierte Schnittstelle),
|
|
die normalerweise diese Adresse verwendet, deaktivieren.</para>
|
|
|
|
<para>Bis der Fehler behoben ist, können Sie folgende
|
|
Abhilfe verwenden:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Geben Sie am Bootprompt <option>-c</option> ein.
|
|
(Dies bringt den Kernel in den
|
|
Konfigurationsmodus).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Deaktivieren Sie <devicename>sio0</devicename>,
|
|
<devicename>sio1</devicename>,
|
|
<devicename>sio2</devicename> und
|
|
<devicename>sio3</devicename> (alle). Auf diese Weise
|
|
wird der &man.sio.4;-Treiber nicht aktiviert und das
|
|
Problem tritt nicht mehr auf.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Geben Sie exit ein, um den Bootvorgang
|
|
fortzusetzen.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Falls sie in der Lage sein wollen Ihre seriellen
|
|
Schnittstellen zu benutzen, müssen Sie einen neuen
|
|
Kernel mit folgenden Modifikationen erstellen: suchen Sie
|
|
in <filename>/usr/src/sys/sio/sio.c</filename> (oder in
|
|
<filename>/usr/src/sys/pc98/cbus/sio.c</filename> für pc98)
|
|
nach der Zeichenkette <literal>0x2e8</literal> und löschen
|
|
Sie sie und das vorhergehende Komma (nicht das folgende
|
|
Komma). Nun folgen Sie der normalen Prozedur zur
|
|
Erstellung eines neuen Kernels.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="reallybigram">
|
|
<para>Wieso verwendet &os; nur 64 MB Hauptspeicher,
|
|
obwohl in meinem Rechner 128 MB sind?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aufgrund der Art und Weise, wie &os; die
|
|
Hauptspeichergröße vom BIOS mitgeteilt bekommt,
|
|
kann es lediglich 16-Bit Werte in kByte-Größe
|
|
(65535 kByte = 64 MB) erkennen (oder weniger... einige
|
|
BIOSe setzen die Hauptspeichergröße auf 16 MB).
|
|
Falls Sie mehr als 64 MB besitzen, wird &os; versuchen,
|
|
das zu erkennen, was aber nicht immer
|
|
funktioniert.</para>
|
|
|
|
<para>Um dieses Problem zu umgehen, müssen Sie die
|
|
untenstehende Kerneloption verwenden. Es gibt einen Weg,
|
|
vollständige Hauptspeicherinformationen vom BIOS zu
|
|
erhalten, aber in den Bootblöcken ist nicht
|
|
genügend Platz dafür vorhanden. Wenn der
|
|
Platzmangel in den Bootblöcken eins Tages behoben
|
|
ist, werden wir die erweiterten BIOS-Funktionen dazu
|
|
nutzen, die vollständigen Hauptspeicherinformationen
|
|
zu erhalten... aber zurzeit sind wir auf die Kerneloption
|
|
angewiesen.</para>
|
|
|
|
<programlisting>options MAXMEM=<replaceable>n</replaceable></programlisting>
|
|
|
|
<para>Hierbei ist <literal>n</literal> Ihre
|
|
Hauptspeichergröße in Kilobyte. Bei einer
|
|
128 MB-Maschine müßten Sie
|
|
<literal>131072</literal> benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kmem-map-too-small">
|
|
<para>Ich habe mehr als 1 GB RAM. Trotzdem stürzt
|
|
mein System mit der Meldung
|
|
<errorname>kmem_map too small</errorname> ab. Was läuft hier
|
|
schief?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im Normalfall bestimmt &os; einige Kernelparameter,
|
|
darunter die maximale Anzahl der Dateien, die gleichzeitig
|
|
geöffnet sein können, aus der Größe
|
|
des im System installierten Hauptspeichers. Auf Systemen
|
|
mit mindestens 1 GB Hauptspeicher kann dieser
|
|
<quote>auto sizing</quote>-Mechanismus diese Werte
|
|
fälschlicherweise zu hoch ansetzen: Beim Systemstart
|
|
fordert der Kernel dann verschiedene Tabellen und andere
|
|
Strukturen an, die den Großteil des verfügbaren
|
|
Kernelspeichers verbrauchen. Dies führt dazu, dass
|
|
der Kernel während des Betriebs keine dynamischen
|
|
Speicheranforderungen mehr ausführen kann und mit
|
|
einer Kernelpanik abstürzt.</para>
|
|
|
|
<para>Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu
|
|
setzen Sie <option>VM_KMEM_SIZE_MAX</option>
|
|
in Ihrer Kernelkonfigurationsdatei auf 400 MB
|
|
(<option>options VM_KMEM_SIZE_MAX=419430400</option>).
|
|
400 MB sollten für Maschinen bis 6 GB
|
|
Hauptspeicher ausreichend sein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="panic-kmemmap-too-small">
|
|
<para>Ich habe weniger als 1 GB Hauptspeicher. Dennoch
|
|
stürzt mein System mit der Meldung
|
|
<errorname>kmem_map too small</errorname> ab!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Meldung zeigt an, dass der virtuelle
|
|
Speicher für Netzwerkpuffer (spezieller mbuf-Cluster)
|
|
aufgebraucht ist. Sie können die für mbuf
|
|
verfügbare Größe an VM erhöhen, indem
|
|
Sie den Anweisungen des Abschnitts <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS">
|
|
Netzwerk-Limits</ulink> des Handbuchs folgen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="proc-table-full">
|
|
<para>Wieso erhalte ich die Meldung <errorname>kernel:
|
|
proc: table is full</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der &os;-Kernel beschränkt die Anzahl der
|
|
gleichzeitig laufenden Prozesse. Die Anzahl errechnet
|
|
sich aus dem Wert der Variablen
|
|
<literal>MAXUSERS</literal> in der Konfigurationsdatei des
|
|
Kernels. Auch andere Einstellungen wie die Anzahl der
|
|
Puffer für Netzwerkoperationen (Details dazu
|
|
finden Sie in <link
|
|
linkend="panic-kmemmap-too-small">diesem
|
|
Abschnitt</link>). werden durch
|
|
<varname>MAXUSERS</varname> beeinflusst. Wenn Ihr
|
|
System stark belastet ist, sollten Sie den Wert von
|
|
<varname>MAXUSERS</varname> erhöhen. Dadurch werden
|
|
diverse Einstellung des Systems angepasst und die
|
|
maximale Anzahl gleichzeitig laufender Prozesse
|
|
erhöht.</para>
|
|
|
|
<para>Um den Wert von <varname>MAXUSERS</varname> anzupassen,
|
|
folgen Sie den Anweisungen des Abschnitts <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">
|
|
Datei- und Prozesslimits</ulink> des Handbuchs. Dieser
|
|
Abschnitt spricht zwar nur von Dateien, für Prozesse
|
|
gelten aber die gleichen Beschränkungen.</para>
|
|
|
|
<para>Wenn Ihr System nicht besonders stark ausgelastet ist
|
|
und Sie einfach nur mehr gleichzeitig laufende Prozesse
|
|
erlauben wollen, können Sie den Wert der Variable
|
|
<varname>kern.maxproc</varname> in der Datei
|
|
<filename>/boot/loader.conf</filename> anpassen. Um die
|
|
Änderung zu aktivieren, müssen Sie Ihr System
|
|
neu starten. Wollen Sie Ihr System zusätzlich
|
|
optimieren, sollten Sie &man.loader.conf.5; und
|
|
&man.sysctl.conf.5; lesen.
|
|
Wenn diese Prozesse von einem einzigen Benutzer
|
|
ausgeführt werden, müssen Sie den Wert von
|
|
<varname>kern.maxprocperuid</varname> ebenfalls
|
|
erhöhen. Dieser Wert muss immer mindestens um
|
|
eins geringer sein als der Wert von
|
|
<varname>kern.maxproc</varname> (der Grund
|
|
für diese Einschränkung ist, dass ein
|
|
Systemprogramm, &man.init.8;, immer ausgeführt werden
|
|
muss).</para>
|
|
|
|
<para>Damit Änderungen einer sysctl-Variable dauerhaft
|
|
erhalten bleiben, nehmen Sie diese in
|
|
<filename>/etc/sysctl.conf</filename> auf. Weitere
|
|
Informationen zur Optimierung Ihres Systems finden Sie im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/configtuning-sysctl.html">
|
|
Einstellungen mit sysctl</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cmap-busy-panic">
|
|
<para>Wieso erhalte ich die Meldung <errorname>CMAP busy
|
|
panic</errorname>, wenn ich mein System mit einem neuen
|
|
Kernel starte?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Logik, die versucht, veraltete
|
|
<filename>/var/db/kvm_*.db</filename>-Dateien zu erkennen,
|
|
versagt manchmal und die Benutzung einer unpassenden Datei
|
|
kann zu Paniksituationen führen.</para>
|
|
|
|
<para>Falls das passiert, rebooten Sie in den Single-User-Modus
|
|
und löschen Sie die Dateien:</para>
|
|
|
|
<screen>&prompt.root; <userinput>rm /var/db/kvm_*.db</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="brkadrint-illegal-host-access">
|
|
<para>Was soll mir die Meldung <errorname>ahc0: brkadrint,
|
|
Illegal Host Access at seqaddr 0x0</errorname>
|
|
sagen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein Konflikt mit einem Ultrastor SCSI
|
|
Hostadapter.</para>
|
|
|
|
<para>Rufen Sie während des Bootprozesses das
|
|
Kernelkonfigurationsmenü auf und deaktivieren Sie
|
|
<devicename>uha0</devicename>, welches das Problem
|
|
verursacht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="aci0-illegal-cable">
|
|
<para>Wenn ich mein System starte, erhalte ich die Meldung
|
|
<errorname>ahc0: illegal cable configuration</errorname>,
|
|
obwohl die Verkabelung korrekt ist. Woran liegt
|
|
das?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Auf Ihrem Mainboard fehlen ein paar Logikbausteine,
|
|
die für die Unterstützung der automatischen
|
|
Terminierung notwendig sind. Stellen Sie in Ihrem
|
|
SCSI-BIOS manuell die korrekte Terminierung für Ihr
|
|
System ein, anstatt sich auf die automatische Terminierung
|
|
zu verlassen. Der &man.ahc.4;-Treiber kann nicht
|
|
erkennen, ob die externen Logikbausteine für die
|
|
Erkennung der Kabel (und damit automatische Terminierung)
|
|
vorhanden sind. Der Treiber muss sich darauf
|
|
verlassen, dass diese vorhanden sind, wenn in der
|
|
Konfiguration <quote>automatische Terminierung</quote>
|
|
eingestellt ist. Ohne die externen Bausteine ist es sehr
|
|
wahrscheinlich, dass der Treiber die Terminierung
|
|
falsch einstellt, was die Zuverlässigkeit des
|
|
SCSI-Busses herabsetzen kann.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mail-loopback">
|
|
<para>Wieso meldet <application>sendmail</application>
|
|
<errorname>mail loops back to myself</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden eine detaillierte Antwort auf diese Frage im
|
|
<ulink
|
|
url="&url.books.handbook;/mail-trouble.html#Q29.6.2.">Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="remote-fullscreen">
|
|
<para>Wieso funktionieren bildschirmorientierte Anwendungen beim
|
|
Zugriff über ein Netzwerk nicht richtig?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die entfernte Maschine scheint den Terminaltyp auf
|
|
etwas anderes als den Typ <literal>cons25</literal>, der
|
|
von &os; verlangt wird, zu setzen.</para>
|
|
|
|
<para>Es gibt mehrere mögliche Abhilfen für dieses
|
|
Problem:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Setzen Sie die Shell-Variable <envar>TERM</envar>
|
|
nach dem Einloggen auf der entfernten Maschine auf
|
|
<literal>ansi</literal> oder <literal>sco</literal>,
|
|
sofern die entfernte Maschine diese Terminaltypen
|
|
kennt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie einen VT100-Emulator wie
|
|
<application>screen</application> auf der
|
|
&os;-Konsole. <application>screen</application>
|
|
bietet Ihnen die Möglichkeit, mehrere
|
|
gleichzeitige Sitzungen von einem Bildschirm aus
|
|
laufen zu lassen. Es ist ein sehr nettes Programm.
|
|
Jedes <application>screen</application>-Fenster
|
|
verhält sich, wie ein VT100-Terminal, weshalb die
|
|
Variable <envar>TERM</envar> am entfernten Ende auf
|
|
<literal>vt100</literal> gesetzt werden
|
|
sollte.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Installieren Sie den Eintrag
|
|
<literal>cons25</literal> in der Bildschirmdatenbank
|
|
der entfernten Maschine. Wie das zu geschehen hat,
|
|
hängt vom Betriebssystem der entfernten Maschine
|
|
ab. Das Systemadministrationshandbuch für das
|
|
entfernte System sollte Ihnen hierbei helfen
|
|
können.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Starten Sie einen X-Server auf der &os;-Seite
|
|
und benutzen Sie einen X-basierten Terminalemulator
|
|
wie <command>xterm</command> oder
|
|
<command>rxvt</command>, um sich auf der entfernten
|
|
Maschine einzuloggen. Die Variable <envar>TERM</envar>
|
|
auf dem entfernten Host sollte auf <literal>xterm</literal>
|
|
oder <literal>vt100</literal> gesetzt werden.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-not-found">
|
|
<para>Warum wird meine PnP-Karte nicht (oder nur noch als
|
|
<literal>unknown</literal>) erkannt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Gründe für dieses Verhalten werden in
|
|
der unten zitierten Mail von &a.peter;
|
|
erklärt. Diese Mail stammt von der Mailingliste
|
|
&a.questions; und war eine Antwort auf eine Frage
|
|
bezüglich eines internen Modem, das nach dem Update
|
|
auf &os; 4.<replaceable>X</replaceable> nicht mehr
|
|
erkannt wurde.</para>
|
|
|
|
<note>
|
|
<para>Die mit <literal>[]</literal> gekennzeichneten Kommentare
|
|
wurden eingefügt, um an einigen Stellen die Bezüge
|
|
klarzustellen.</para>
|
|
</note>
|
|
|
|
<blockquote>
|
|
<para>Das PnP-BIOS hat es [das Modem] vorkonfiguriert und
|
|
es dann im Adressraum liegenlassen, daher haben es
|
|
die alten ISA-Erkennungsroutinen [in
|
|
3.<replaceable>X</replaceable>] <quote>gefunden</quote>.</para>
|
|
|
|
<para>In 4.0 sind die ISA-Routinen deutlich
|
|
PnP-orientierter. Es war möglich [in
|
|
3.<replaceable>X</replaceable>], dass eine ISA-Erkennungsroutine
|
|
ein <quote>zugelaufenes</quote> Gerät fand;
|
|
während die PnP-Treiber zwar die ID erkannten, das
|
|
Gerät aber wegen des Ressourcekonfliktes nicht
|
|
benutzen konnten. Daher werden die programmierbaren
|
|
Karten zunächst einmal abgeschaltet, um diese
|
|
doppelte Erkennung vermeiden zu können. Das
|
|
bedeutet allerdings auch, dass die Treiber die
|
|
PnP-ID kennen muss, um PnP-Hardware
|
|
unterstützen zu können. Wir haben uns
|
|
vorgenommen, den Benutzern eine einfachere
|
|
Möglichkeit zur Manipulation dieser Informationen
|
|
zur Verfügung zu stellen.</para>
|
|
</blockquote>
|
|
|
|
<para>Damit Ihr Gerät wieder funktioniert, müssen
|
|
Sie seine PnP-ID herausfinden und die ID in die Listen
|
|
eintragen, die zur Erkennung von PnP-Geräten
|
|
genutzten werden. Zu diesem Zweck wird das Gerät mit
|
|
&man.pnpinfo.8; analysiert. Das Beispiel zeigt die
|
|
Ausgaben von &man.pnpinfo.8; für ein internes
|
|
Modem:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pnpinfo</userinput>
|
|
Checking for Plug-n-Play devices...
|
|
|
|
Card assigned CSN #1
|
|
Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
|
|
PnP Version 1.0, Vendor Version 0
|
|
Device Description: Pace 56 Voice Internal Plug & Play Modem
|
|
|
|
Logical Device ID: PMC2430 0x3024a341 #0
|
|
Device supports I/O Range Check
|
|
TAG Start DF
|
|
I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
|
|
[16-bit addr]
|
|
IRQ: 4 - only one type (true/edge)</screen>
|
|
|
|
<para>[weitere TAG Zeilen gestrichen]</para>
|
|
|
|
<screen>TAG End DF
|
|
End Tag
|
|
|
|
Successfully got 31 resources, 1 logical fdevs
|
|
-- card select # 0x0001
|
|
|
|
CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
|
|
|
|
Logical device #0
|
|
IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
|
|
IRQ 5 0
|
|
DMA 4 0
|
|
IO range check 0x00 activate 0x01</screen>
|
|
|
|
<para>Sie benötigen die Information aus der Zeile
|
|
<literal>Vendor ID</literal> ganz am Anfang. Die in Klammern
|
|
ausgegebene hexadezimale Zahl (<literal>0x3024a341</literal> in
|
|
diesem Beispiel) ist die PnP ID und die unmittelbar davor
|
|
stehende Zeichenkette (<literal>PMC2430</literal>) ist eine
|
|
eindeutige Herstellerkennung.</para>
|
|
|
|
<para>Benutzen Sie &man.pciconf.8; wenn &man.pnpinfo.8; die Karte
|
|
nicht anzeigt. Der Teil der Ausgabe von
|
|
<command>pciconf -vl</command> für eine auf dem
|
|
Motherboard integrierte Soundkarte sieht zum Beispiel so
|
|
aus:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pciconf -vl</userinput>
|
|
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
|
|
vendor = 'Intel Corporation'
|
|
device = '82801AA 8xx Chipset AC'97 Audio Controller'
|
|
class = multimedia
|
|
subclass = audio</screen>
|
|
|
|
<para>Sie benötigen die Chip-ID <literal>0x24158086</literal>,
|
|
die hinter <varname>chip</varname> aufgeführt ist.</para>
|
|
|
|
<para>Die <literal>Vendor ID</literal> oder
|
|
<varname>chip</varname>-ID müssen in die
|
|
Datei <filename>/usr/src/sys/dev/sio/sio_isa.c</filename>
|
|
eingetragen werden.</para>
|
|
|
|
<para>Sie sollten zunächst ein Backup von
|
|
<filename>sio_isa.c</filename> anlegen, falls etwas schief
|
|
gehen sollte. Sie werden auch einen Patch erzeugen
|
|
müssen, um ihn zusammen mit Ihrem PR einzusenden.
|
|
(Sie wollten doch einen PR schreiben, oder etwa nicht?)
|
|
Öffnen Sie nun <filename>sio_isa.c</filename> mit einem
|
|
Editor und suchen Sie nach der Zeile:</para>
|
|
|
|
<programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting>
|
|
|
|
<para>Blättern Sie dann nach unten, um die passende
|
|
Stelle für Ihr Gerät zu finden. Unten finden
|
|
Sie Beispiel für die Einträge, diese sind nach
|
|
der Herstellerkennung sortiert. Diese sollte in dem
|
|
Kommentar auf der rechten Seite aufgenommen werden, dazu
|
|
kommt die Gerätebeschreibung (<emphasis>Device
|
|
Description</emphasis>) aus der Ausgabe von
|
|
&man.pnpinfo.8;:</para>
|
|
|
|
<programlisting>
|
|
{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
|
|
{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
|
|
{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
|
|
{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
|
|
{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */
|
|
</programlisting>
|
|
|
|
<para>Fügen Sie die hexadezimale Gerätekennung an
|
|
der richtigen Stelle ein, speichern Sie die Datei ab,
|
|
erzeugen Sie einen neuen Kernel und starten Sie Ihr System
|
|
neu. Ihr Gerät sollte nun als
|
|
<devicename>sio</devicename> Gerät erkannt werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nlist-failed">
|
|
<para>Warum erhalte ich die Meldung <errorname>nlist
|
|
failed</errorname>, wenn ich Programme wie
|
|
<command>top</command> oder <command>systat</command>
|
|
benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Programm sucht nach einem speziellen Symbol im
|
|
Kernel, kann es aber aus irgendeinem Grunde nicht finden.
|
|
Dieser Fehler wird von einem dieser Probleme
|
|
verursacht:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ihr Kernel und die sonstigen Programme (das
|
|
<quote>Userland</quote>) sind nicht mehr auf dem
|
|
gleichen Stand. Mit anderen Worten, Sie haben zwar
|
|
einen neuen Kernel erzeugt, aber kein
|
|
<maketarget>installworld</maketarget> (oder
|
|
umgekehrt); darum weicht die Symboltabelle von dem
|
|
ab, was die Anwendung erwartet. Wenn dies der Fall ist,
|
|
müssen Sie lediglich die noch fehlenden Schritte
|
|
des Upgrades durchführen. Die richtige
|
|
Vorgehensweise kann
|
|
<filename>/usr/src/UPDATING</filename> entnommen
|
|
werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Um Ihren Kernel zu laden, benutzen Sie nicht
|
|
<command>/boot/loader</command>, sondern laden ihn
|
|
direkt mit <filename>boot2</filename> (siehe
|
|
&man.boot.8;). Es ist zwar nicht immer ein Fehler,
|
|
<command>/boot/loader</command> zu umgehen; allerdings
|
|
ist er in der Regel besser dazu geeignet, die Symbole des
|
|
Kernels für normale Anwendungen verfügbar zu
|
|
machen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="connection-delay">
|
|
<para>Wieso dauert es so lange, bis eine Verbindung
|
|
(&man.ssh.1; oder &man.telnet.1;) aufgebaut wird?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Symptom: Nach dem Aufbau des TCP-Verbindung
|
|
vergeht einige Zeit, bis endlich die Abfrage des
|
|
Passwortes (bzw. der Login-Prompt bei Telnet)
|
|
erscheint.</para>
|
|
|
|
<para>Das Problem: In den meisten Fällen versucht der
|
|
Server in der Zwischenzeit, die IP-Adresse des Clients in
|
|
einen Rechnernamen zu übersetzen. Viele Server
|
|
(darunter die <application>Telnet</application>- und
|
|
<application>SSH</application>-Server von &os;) machen
|
|
das, um den Hostnamen z.B. für spätere
|
|
Verwendung durch den Systemadministrator in eine
|
|
Protokolldatei schreiben zu können.</para>
|
|
|
|
<para>Die Lösung: wenn das Problem bei jedem Server
|
|
auftritt, den Sie von Ihrem Computer (dem Client)
|
|
ansprechen, dann wird das Problem vom Client verursacht.
|
|
Wenn das Problem aber nur auftritt, wenn jemand Ihren
|
|
Rechner (den Server) anspricht, dann liegt die Ursache
|
|
beim Server.</para>
|
|
|
|
<para>Wenn das Problem vom Client verursacht wird,
|
|
müsssen Sie die Einträge im DNS korrigieren,
|
|
damit der Server Ihre IP-Adresse übersetzen kann.
|
|
Wenn das Problem in Ihrem lokalen Netzwerk auftritt,
|
|
sollten Sie es als Problem des Servers behandeln und
|
|
weiterlesen; wenn es allerdings im Internet auftritt,
|
|
werden Sie sich wahrscheinlich an Ihrem ISP wenden
|
|
müssen, damit dieser das Problem für Sie
|
|
korrigiert.</para>
|
|
|
|
<para>Wenn das Problem vom Server verursacht wird und Sie
|
|
sich in einem lokalen Netzwerk befinden, dann müssen
|
|
Sie Ihren Server so konfigurieren, dass er die lokal
|
|
genutzten IP-Adressen in Rechnernamen übersetzen kann.
|
|
Weitere Informationen erhalten Sie in den Onlinehilfen zu
|
|
&man.hosts.5; und &man.named.8;. Wenn dieses Problem im
|
|
Internet auftritt, könnte die Ursache auch darin
|
|
liegen, dass die Namensauflösung auf dem Server
|
|
nicht funktioniert. Versuchen Sie, einen anderen
|
|
Hostnamen wie z.B. <hostid>www.yahoo.com</hostid>
|
|
aufzulösen. Wenn das nicht funktioniert, liegt das
|
|
Problem bei Ihrem System.</para>
|
|
|
|
<para>Haben Sie &os; gerade erst installiert, kann es auch
|
|
sein, dass die Domänen- und Nameserverinformationen
|
|
noch nicht in <filename>/etc/resolv.conf</filename>
|
|
vorhanden sind. Dadurch kommt es häufig zu
|
|
Verzögerungen beim Einsatz von
|
|
<application>SSH</application>, weil die Option
|
|
<literal>UseDNS</literal> in der Voreinstellung auf
|
|
<literal>yes</literal> gesetzt ist (in der Datei
|
|
<filename>sshd_config</filename> im Verzeichnis <filename
|
|
class="directory">/etc/ssh</filename>). Ist dies bei
|
|
Ihnen der Fall, müssen Sie entweder die fehlenden
|
|
Informationen in <filename>/etc/resolv.conf</filename> eintragen
|
|
oder als temporäre Maßnahme <literal>UseDNS</literal>
|
|
auf <literal>no</literal> setzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="stray-irq">
|
|
<para>Was bedeutet <errorname>stray IRQ</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Stray IRQs sind ein Zeichen für Probleme bei der
|
|
Behandlung von Hardware-IRQs. Sie werden meistens von
|
|
Geräten verursacht, die ihren Interrupt Request
|
|
zurückziehen, obwohl gerade der interrupt request
|
|
acknowledge-Zyklus läuft.</para>
|
|
|
|
<para>Sie können drei Dinge tun:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ertragen Sie die Warnungen. Sie erhalten nur die
|
|
ersten 5 für jeden IRQ, alle anderen werden
|
|
unterdrückt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eliminieren Sie die Meldungen, indem Sie den Wert von
|
|
<varname>MAX_STRAY_LOG</varname> von <literal>5</literal>
|
|
auf <literal>0</literal> in der für ihre Plattform
|
|
(z.B. &i386;) zuständigen Datei
|
|
<filename>intr_machdep.c</filename> ändern. Bauen Sie
|
|
anschliessend den Kernel neu, um alle Meldungen zu
|
|
unterdrücken.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eliminieren Sie die Meldungen, indem Sie Hardware
|
|
für den Parallelport installieren, die IRQ 7
|
|
nutzt und vom PPP Treiber verwendet wird (das passiert
|
|
auf den meisten Systemen), und installieren Sie eine
|
|
IDE-Platte oder andere Hardware sowie einen dazu
|
|
passenden Treiber, um IRQ 15 zu nutzen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="file-table-full">
|
|
<para>Warum sehe ich in der Ausgabe von &man.dmesg.8; häufig
|
|
die Meldung <errorname>file: table is full</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Fehlermeldung besagt, dass Sie die zur
|
|
Verfügung stehenden File-Handles des Systems
|
|
verbraucht haben. Was das genau bedeutet und wie Sie
|
|
dieses Problem lösen können, steht im Abschnitt
|
|
<ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">
|
|
kern.maxfiles</ulink> im Kapitel <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html">Anpassung
|
|
der Kernelkonfiguration</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="calcru-negative-runtime">
|
|
<para>Warum werden ständig Meldungen wie
|
|
<errorname>calcru: negative runtime</errorname> oder
|
|
<errorname>calcru: runtime went backwards</errorname> auf die
|
|
Konsole geschrieben?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es existiert ein bekanntes Problem wenn &intel; Enhanced
|
|
SpeedStep im BIOS aktiviert wird. Das führt dazu, dass der
|
|
Kernel <errorname>calcru</errorname>-Nachrichten wie die folgende
|
|
ausgibt:</para>
|
|
|
|
<screen>calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero)
|
|
calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon)
|
|
calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon)
|
|
calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue)
|
|
calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event)
|
|
calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net)
|
|
calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init)
|
|
calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init)
|
|
calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper)</screen>
|
|
|
|
<para>Der Grund dafür besteht darin, dass &intel; SpeedStep
|
|
(EIST) in manchen Mainboards inkompatibel ist.</para>
|
|
|
|
<para>Abhilfe: Deaktivieren Sie die EIST-Eigenschaft im BIOS. Sie
|
|
können trotzdem noch ihre Prozessorfrequenz ACPI-basiert
|
|
mittels &man.powerd.8; drosseln.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="computer-clock-skew">
|
|
<para>Warum ist die Uhrzeit auf meinem Computer immer
|
|
falsch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ihr Computer verfügt über mehr als eine Uhr
|
|
und &os; benutzt leider die falsche.</para>
|
|
|
|
<para>Starten Sie &man.dmesg.8; und achten Sie auf die
|
|
Zeilen, in denen das Wort <literal>Timecounter</literal>
|
|
vorkommt. Die von &os; benutzte Uhr findet sich in der Zeile
|
|
mit dem höchsten quality-Wert.</para>
|
|
|
|
<screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput>
|
|
Timecounter "i8254" frequency 1193182 Hz quality 0
|
|
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
|
|
Timecounter "TSC" frequency 2998570050 Hz quality 800
|
|
Timecounters tick every 1.000 msec</screen>
|
|
|
|
<para>Sie können das überprüfen, indem Sie
|
|
den Wert der Systemvariablen
|
|
<varname>kern.timecounter.hardware</varname>
|
|
abfragen.</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput>
|
|
kern.timecounter.hardware: ACPI-fast</screen>
|
|
|
|
<para>Es kann sich um einen defekten ACPI Timer handeln. Die
|
|
einfachste Lösung besteht darin, den ACPI Timer in
|
|
<filename>/boot/loader.conf</filename> zu deaktivieren:</para>
|
|
|
|
<programlisting>debug.acpi.disabled="timer"</programlisting>
|
|
|
|
<para>Es ist aber auch durchaus möglich, dass das BIOS die
|
|
TSC Uhr ändert, um beispielsweise den CPU-Takt zu
|
|
während des Batteriebetrieb zu ändern, oder im
|
|
Stromsparmodus; leider bemerkt &os; diese
|
|
Änderungen nicht und daher scheint die Uhr falsch zu
|
|
gehen.</para>
|
|
|
|
<para>In diesem Beispiel ist die Uhr
|
|
<literal>i8254</literal> ebenfalls verfügbar; um sie
|
|
auszuwählen, muss ihr Name in die Systemvariable
|
|
<varname>kern.timecounter.hardware</varname> geschrieben
|
|
werden.</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput>
|
|
kern.timecounter.hardware: TSC -> i8254</screen>
|
|
|
|
<para>Die Uhrzeit Ihres Computers sollte nun genauer
|
|
funktionieren.</para>
|
|
|
|
<para>Damit diese Änderung automatisch beim Start des
|
|
Systems durchgeführt wird, müssen Sie die
|
|
folgende Zeile in die
|
|
<filename>/etc/sysctl.conf</filename> eintragen.</para>
|
|
|
|
<programlisting>kern.timecounter.hardware=i8254</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="null-null">
|
|
<para>Warum erkennt mein Laptop PC-Cards nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieses Problem tritt häufig auf Laptops mit mehreren
|
|
Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen
|
|
die Hardware in einem inkonsistenten Zustand. Die Karte wird
|
|
dann von &man.pccardd.8; als
|
|
<errorname>"(null)""(null)"</errorname> anstelle des
|
|
tatsächlichen Modells gefunden.</para>
|
|
|
|
<para>Um dies zu beheben, müssen Sie die Hardware
|
|
zurücksetzen, das heißt der PC-Card Einschub
|
|
muss stromlos sein. Gehen Sie dazu nicht in den Standby-
|
|
oder Suspend-Modus und stellen Sie sicher, dass der Laptop
|
|
wirklich ausgeschaltet ist. Warten Sie einen Moment und booten
|
|
dann, Ihre PC-Card sollte jetzt funktionieren.</para>
|
|
|
|
<para>Einige Laptops schalten sich nicht wirklich aus. Wenn der
|
|
obige Vorschlag nichts genutzt hat, entfernen Sie bitte die
|
|
Batterie, warten einen Moment und booten erneut.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-read-error">
|
|
<para>Wieso hängt sich &os; nach dem BIOS-Bildschirm
|
|
mit der Meldung <errorname>Read error</errorname>
|
|
auf?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Bootloader von &os; erkennt die Geometrie Ihrer
|
|
Festplatte nicht richtig. Sie müssen die Geometrie
|
|
manuell festlegen, wenn sie mit &man.fdisk.8; &os;-Bereiche
|
|
erzeugen oder ändern.</para>
|
|
|
|
<para>Die richtigen Werte für die Geometrie können
|
|
Sie im BIOS des Rechners ablesen. Achten Sie auf die
|
|
Anzahl der Zylinder, Köpfe und Sektoren für Ihre
|
|
Festplatte.</para>
|
|
|
|
<para>Im fdisk von &man.sysinstall.8; müssen Sie
|
|
<keycap>G</keycap> eingeben, um die Geometrie zu
|
|
definieren.</para>
|
|
|
|
<para>Sie erhalten eine Dialogbox, in der Sie die Anzahl der
|
|
Zylinder, Köpfe und Sektoren eingeben können.
|
|
Verwenden Sie die Angaben des BIOS und setzen Sie
|
|
Schrägstriche zwischen die Zahlen. 5000 Zylinder,
|
|
250 Köpfe und 60 Sektoren würden also als
|
|
<userinput>5000/250/60</userinput> eingegeben.</para>
|
|
|
|
<para>Schließen Sie die Eingabe mit <keycap>Enter</keycap>
|
|
ab und drücken Sie <keycap>W</keycap>, um die neue
|
|
Partitionstabelle auf die Festplatte schreiben zu
|
|
lassen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bootmanager-restore">
|
|
<para>Ein anderes Betriebssystem hat meinen Bootmanager
|
|
zerstört. Wie kann ich ihn wiederherstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Starten Sie &man.sysinstall.8; und wählen Sie
|
|
<guimenuitem>Configure</guimenuitem>, dann
|
|
<guimenuitem>Fdisk</guimenuitem>. Wählen Sie die
|
|
Platte, auf der sich der Boot Manager befand, mit der
|
|
<keycap>Leertaste</keycap> aus. Drücken Sie
|
|
<keycap>W</keycap>, um die Änderungen auf die Platten
|
|
schreiben zu lassen. Nun erscheint eine Abfrage, welcher
|
|
Bootmanager installiert werden soll. Wählen Sie
|
|
diesen an und er wird wieder installiert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="indefinite-wait-buffer">
|
|
<para>Was soll mir die Meldung <errorname>swap_pager: indefinite
|
|
wait buffer:</errorname> sagen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Programm wollte Speicher auf Platte auslagern, und
|
|
dieser Vorgang konnte nicht innerhalb von 20 Sekunden
|
|
durchgeführt werden. Mögliche Gründe sind
|
|
defekte Blöcke auf der Platte, falsche oder
|
|
fehlerhafte Verkabelung sowie Probleme mit anderen
|
|
Komponenten, die am Zugriff auf die Festplatte beteiligt
|
|
sind. Wenn die Festplatte selbst fehlerhaft sind, sollten
|
|
Sie entsprechende Meldungen in
|
|
<filename>/var/log/messages</filename> und den Ausgaben
|
|
von <command>dmesg</command> finden. Andernfalls sollten
|
|
Sie die Kabel und Verbindungen überprüfen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="udma-icrc">
|
|
<para>Was sind <errorname>UDMA ICRC</errorname> Fehler und
|
|
wie behebe ich sie?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der &man.ata.4;-Treiber meldet <errorname>UDMA ICRC</errorname>
|
|
Fehler wenn eine DMA-Übertragung zu oder von einem
|
|
Laufwerk fehlgeschlagen ist. Der Treiber versucht die
|
|
Übertragung mehrmals durchzuführen und schaltet,
|
|
wenn die Versuche fehlschlagen, vom DMA-Modus auf den
|
|
langsameren PIO-Modus um.</para>
|
|
|
|
<para>Der Fehler kann viele Ursachen haben, häufig ist ein
|
|
Kabel kaputt oder die Geräte sind falsch verkabelt.
|
|
Prüfen Sie, ob die ATA-Kabel unbeschädigt sind und
|
|
für den verwendeten Ultra-DMA-Modus tauglich sind. Ebenso
|
|
müssen Wechselrahmen für den verwendeten Modus geeignet
|
|
sein. Stellen Sie sicher, dass alle Kabel fest
|
|
angeschlossen sind. Es gab auch schon Probleme, wenn ein altes
|
|
Laufwerk zusammen mit einem Ultra-DMA-66 oder einem schnelleren
|
|
Laufwerk auf einem Kanal betrieben wurde. Es kann aber auch
|
|
sein, dass das Laufwerk kaputt ist. Die meisten Hersteller
|
|
stellen Test-Programme für ihre Laufwerke zur
|
|
Verfügung. Überprüfen Sie damit Ihr Laufwerk und
|
|
wenn nötig, sichern Sie Ihre Daten und ersetzen das
|
|
Laufwerk.</para>
|
|
|
|
<para>&man.atacontrol.8; zeigt für jedes ATA-Gerät den
|
|
verwendeten DMA- oder PIO-Modus an. Das Kommando
|
|
<command>atacontrol mode
|
|
<replaceable>Kanal</replaceable></command>
|
|
zeigt die auf einem Kanal verwendeten Modi (die Kanäle
|
|
werden von <literal>0</literal> an nummeriert).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="lock-order-reversal">
|
|
<para>Was ist ein <errorname>lock order
|
|
reversal</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine Antwort auf diese Frage findet sich im &os;-Glossar
|
|
unter <ulink
|
|
url="&url.books.handbook;/freebsd-glossary.html#LOR-GLOSSARY">LOR</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="called-with-non-sleepable-locks-held">
|
|
<para>Warum erhalte ich die Meldung <errorname>Called ... with
|
|
the following non-sleepable locks held</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Meldung erscheint, wenn eine Funktion, die sich
|
|
im Ruhemodus befindet, aufgerufen wird, während ein
|
|
Mutex oder eine andere (nicht in den Ruhemodus versetzbare)
|
|
Sperre aktiv war.</para>
|
|
|
|
<para>Der Grund dafür ist, dass ein Mutex nicht für
|
|
längere Zeitspannen aktiv sein soll, sondern nur
|
|
für die Synchronisation von Gerätetreibern mit
|
|
dem Rest des Kernels während eines Interrupts. Unter
|
|
&os; dürfen Interrupts nicht in den Ruhemodus
|
|
versetzt werden. Daher ist es von entscheidender Bedeutung,
|
|
dass während des Bestehens eines Mutex kein
|
|
Kernelsubsystem für einen längeren Zeitraum
|
|
blockiert ist.</para>
|
|
|
|
<para>Um solche Fehler abzufangen, können Sicherungen
|
|
(<foreignphrase>Assertions</foreignphrase>) in den Kernel
|
|
eingebaut werden, die danach mit dem &man.witness.4;-Subsystem
|
|
interagieren. Dadurch wird (in Abhängigkeit von Ihrer
|
|
Systemkonfiguration) eine Warnung oder eine Fehlermeldung
|
|
ausgegeben, falls der Aufruf einer Funktion während
|
|
des Bestehens eines Mutex zu einer Blockierung führen
|
|
kann.</para>
|
|
|
|
<para>Zusammenfassend kann man sagen, dass diese Warnungen
|
|
in der Regel zwar nicht bedrohlich sind. Unter bestimmten
|
|
Umständen kann es aber dennoch zu unerwünschten
|
|
Nebenwirkungen, angefangen von einer Erhöhung der
|
|
Reaktionszeit bis hin zu einem kompletten Einfrieren des
|
|
Systems kommen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="touch-not-found">
|
|
<para>Warum bricht
|
|
<maketarget>buildworld</maketarget>/<maketarget>installworld</maketarget>
|
|
mit der Meldung <errorname>touch: not found</errorname> ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler bedeutet nicht, dass &man.touch.1; nicht
|
|
auf Ihrem System vorhanden ist. Vielmehr sind Dateien die
|
|
Ursache, deren Erzeugungsdatum in der Zukunft liegt. Wenn
|
|
Ihre CMOS-Uhr auf Ihre lokale Zeit eingestellt ist,
|
|
müssen Sie <command>adjkerntz -i</command>
|
|
verwenden, um die Kerneluhr anzupassen, wenn Sie in den
|
|
Single-User-Modus booten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="commercial">
|
|
<title>Kommerzielle Anwendungen</title>
|
|
|
|
<note>
|
|
<para>Dieser Abschnitt ist immer noch sehr dürftig, aber
|
|
wir hoffen natürlich, dass Unternehmen einen Beitrag
|
|
leisten werden! :) Die &os;-Gruppe hat keinerlei
|
|
finanzielle Interessen an einem der hier aufgelisteten
|
|
Unternehmen, sondern listet sie lediglich als
|
|
öffentlichen Service auf (und ist der Meinung, dass
|
|
ein kommerzielles Interesse an &os; sehr positiven
|
|
Einfluss auf ein langfristiges Bestehen von &os; haben
|
|
kann). Wir möchten Anbieter kommerzieller Software dazu
|
|
aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der
|
|
<ulink
|
|
url="&url.base;/commercial/commercial.html">Anbieter-Seite</ulink>
|
|
finden Sie eine längere Liste.</para>
|
|
</note>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="officesuite">
|
|
<para>Wo bekomme ich &os;-Versionen der klassischen
|
|
Büro-Anwendungen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die als Open Source verfügbaren Office-Pakete
|
|
<application><ulink
|
|
url="http://www.openoffice.org">OpenOffice.org</ulink></application>
|
|
und <application><ulink
|
|
url="http://www.libreoffice.org">LibreOffice</ulink></application>
|
|
laufen nativ unter &os;. Die um zusätzliche
|
|
Funktionen erweiterte kommerzielle OpenOffice.org-Version
|
|
<application><ulink
|
|
url="http://www.oracle.com/us/products/applications/open-office/index.html">
|
|
Oracle Open Office</ulink></application>
|
|
läuft in der &linux;-Version ebenfalls problemlos
|
|
unter &os;.</para>
|
|
|
|
<para>In der Ports-Sammlung sind weitere
|
|
Textbearbeitungsprogramme, Tabellenkalkulationen und
|
|
Zeichenprogramme enthalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="motif">
|
|
<para>Woher kann ich <application>&motif;</application> für
|
|
&os; bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Quelltext für <application>&motif; 2.2.2</application>
|
|
wurde von der <quote>Open Group</quote> herausgegeben. Sie können
|
|
entweder das Package <filename
|
|
role="package">x11-toolkits/open-motif</filename>
|
|
installieren oder es mit dem entsprechenden Port selbst
|
|
compilieren. Weitere Informationen über die
|
|
Benutzung der Ports erhalten Sie im <ulink
|
|
url="&url.books.handbook;/ports.html">Kapitel Ports des
|
|
Handbuchs</ulink>.</para>
|
|
|
|
<note>
|
|
<para>Die <application>Open &motif;</application> Distribution darf
|
|
nur weitergegeben werden, wenn sie auf einem <ulink
|
|
url="http://www.opensource.org">Open Source</ulink>
|
|
Betriebssystem benutzt wird.</para>
|
|
</note>
|
|
|
|
<para>Weiterhin gibt es auch kommerzielle
|
|
<application>&motif;</application>-Pakete, die zwar nicht kostenlos
|
|
sind, aber dafür auch mit <quote>closed source</quote> Software
|
|
benutzt werden dürfen. Um die günstigste
|
|
ELF-<application>&motif; 2.1.20</application> Distribution
|
|
für &os; (&i386;) zu bekommen, wenden Sie sich bitte an <link
|
|
linkend="apps2go">Apps2go</link>.<anchor id="apps2go"/></para>
|
|
|
|
<para>Es gibt zwei Distributionen, die <quote>development
|
|
edition</quote> und die <quote>runtime edition</quote>
|
|
(wesentlich günstiger). Diese Distributionen
|
|
enthalten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><application>OSF/&motif; manager</application>,
|
|
<application>xmbind</application>, <application>panner</application>,
|
|
<application>wsm</application>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Development-Kit mit uil, mrm, xm, xmcxx, Include-
|
|
und Imake-Dateien.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Statische und dynamische ELF-Bibliotheken.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Demonstrations-Applets.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Achten Sie darauf, dass Sie bei der Bestellung
|
|
angeben, dass Sie die &os;-Version von &motif;
|
|
möchten (vergessen Sie auch nicht, die Architektur
|
|
anzugeben)! Von <emphasis>Apps2go</emphasis> werden auch
|
|
Versionen für NetBSD und OpenBSD verkauft. Dieses
|
|
Produkt ist zurzeit nur zum Download per FTP
|
|
verfügbar.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Weitere Informationen</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="http://www.apps2go.com/">Apps2go Web-Seite</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para><email>sales@apps2go.com</email> oder
|
|
<email>support@apps2go.com</email></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para>Telefon (817) 431 8775 oder
|
|
+1 817 431-8775</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cde">
|
|
<para>Woher kann ich <application>CDE</application> für
|
|
&os; bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><emphasis>Xi Graphics</emphasis> hat einmal
|
|
<application>CDE</application> für &os; verkauft,
|
|
tut es aber nicht mehr.</para>
|
|
|
|
<para><ulink
|
|
url="http://www.kde.org/"><application>KDE</application></ulink>
|
|
ist ein Open-Source X11-Desktop, der <application>CDE</application>
|
|
in vielen Punkten ähnelt. Eventuell gefällt Ihnen auch
|
|
das "Look and Feel" von <ulink
|
|
url="http://www.xfce.org/"><application>xfce</application></ulink>.
|
|
KDE und xfce sind über die <ulink
|
|
url="&url.base;/de/ports/index.html">Ports-Sammlung</ulink>
|
|
von &os; verfügbar.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="database-systems">
|
|
<para>Gibt es irgendwelche Datenbanksysteme für
|
|
&os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja! Lesen Sie den Abschnitt <ulink
|
|
url="&url.base;/commercial/software_bycat.html#CATEGORY_DATABASE">
|
|
kommerzielle Anbieter</ulink> auf der &os;-Web-Seite.</para>
|
|
|
|
<para>Schauen Sie auch im Abschnitt <ulink
|
|
url="&url.base;/de/ports/databases.html">Datenbanken</ulink>
|
|
der Ports-Sammlung nach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="oracle-support">
|
|
<para>Kann ich &oracle; unter &os; laufen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Informationen zur Installation von
|
|
&linux;-<application>&oracle;</application> unter &os;
|
|
finden Sie unter <ulink
|
|
url="http://www.shadowcom.net/freebsd-oracle9i/">http://www.shadowcom.net/freebsd-oracle9i/</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="applications">
|
|
<title>Benutzerprogramme</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="user-apps">
|
|
<para>Nun, wo sind die ganzen Benutzerprogramme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Werfen Sie bitte einen Blick auf <ulink
|
|
url="&url.base;/de/ports/index.html">die Ports-Seite</ulink>,
|
|
um Informationen über die nach &os;
|
|
portierten Softwarepakete zu erhalten. Die Liste
|
|
enthält zurzeit &os.numports; Einträge und
|
|
wächst täglich. Informieren Sie sich daher
|
|
regelmäßig auf dieser Seite oder abonnieren
|
|
Sie die Mailingliste &a.announce;, um sich über
|
|
Änderungen zu informieren.</para>
|
|
|
|
<para>Die meisten Ports sollten auf den &rel3.relx;, &rel2.relx;
|
|
und &rel.relx;-Systemen laufen. Jedes Mal, wenn ein
|
|
&os;-Release erstellt wird, wird auch ein Snapshot des Port-Baumes
|
|
vom Zeitpunkt des Releases in das Verzeichnis <filename
|
|
class="directory">ports/</filename> eingefügt.</para>
|
|
|
|
<para>Wir unterstützen auch das Konzept von
|
|
<quote>Packages</quote> - im Grunde genommen nicht mehr
|
|
als komprimierte Binärdistributionen mit ein wenig
|
|
zusätzlicher Intelligenz zur Ermöglichung
|
|
angepasster Installationen. Ein Package kann leicht
|
|
installiert und wieder deinstalliert werden, ohne,
|
|
dass man etwas über wissen muss, welche
|
|
Dateien es enthält.</para>
|
|
|
|
<para>Benutzen Sie das <guimenuitem>Packages</guimenuitem> Menü
|
|
in &man.sysinstall.8; (unter dem Menüpunkt
|
|
<guimenuitem>post-configuration</guimenuitem>) oder führen Sie
|
|
den Befehl &man.pkg.add.1; mit den speziellen
|
|
Paketdateien aus, die Sie installieren möchten.
|
|
Paketdateien können für gewöhnlich an der
|
|
Endung <filename>.tgz</filename> oder
|
|
<filename>.tbz</filename> erkannt werden und
|
|
diejenigen, die über eine CD-ROM-Distribution
|
|
verfügen, haben auf ihrer CD ein Verzeichnis <filename
|
|
class="directory">packages/All</filename>, das solche Dateien
|
|
enthält. Für verschiedene &os;-Versionen
|
|
können sie von folgenden Adressen auch über das
|
|
Netz heruntergeladen werden:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>für &rel3.relx;-RELEASE/&rel3.stable;</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel3.packages;/">
|
|
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für &rel2.relx;-RELEASE/&rel2.stable;</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;/">
|
|
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für &rel.relx;-RELEASE/&rel.stable;</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;/">
|
|
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>oder von Ihrem nächstgelegenen Mirror.</para>
|
|
|
|
<para>Beachten Sie, dass nicht alle Ports als Package
|
|
verfügbar sind, da ständig neue hinzugefügt
|
|
werden. Es ist immer eine gute Idee, sich
|
|
regelmäßig auf der <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">ftp.de.FreeBSD.org</ulink>
|
|
Masterseite darüber zu informieren, welche Packages
|
|
verfügbar sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="configure-inn">
|
|
<para>Wie konfiguriere ich INN (Internet News) für
|
|
meine Maschine?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein idealer Startpunkt nach der Installation des
|
|
Packages oder Ports <filename
|
|
role="package">news/inn</filename> ist <ulink
|
|
url="http://www.eyrie.org/~eagle/faqs/inn.html">Dave Barr's
|
|
INN-Seite</ulink>, wo Sie die INN-FAQ finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="java">
|
|
<para>Unterstützt &os; &java;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Informieren Sie sich bitte unter <ulink
|
|
url="&url.base;/de/java/">http://www.de.FreeBSD.org/java/</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-4x">
|
|
<para>Warum kann ich manche Ports auf meiner
|
|
&rel3.relx;, &rel2.relx; oder
|
|
&rel.relx;-STABLE-Maschine nicht erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie eine &os;-Version benutzen, die deutlich
|
|
älter als das aktuelle <emphasis>-CURRENT</emphasis>
|
|
oder <emphasis>-STABLE</emphasis> ist, könnte es sein,
|
|
dass Sie vorher Ihre Ports-Sammlung
|
|
aktualisieren müssen. Lesen Sie dazu den Abschnitt
|
|
<ulink
|
|
url="&url.books.porters-handbook.en;/keeping-up.html">
|
|
Keeping Up</ulink> des Porters-Handbuch. Ist Ihre
|
|
Ports-Sammlung aktuell, könnte es sein, dass jemand
|
|
eine Änderung am Port durchgeführt hat, die
|
|
für <emphasis>-CURRENT</emphasis> funktioniert, den Port
|
|
für <emphasis>-STABLE</emphasis> aber unbrauchbar gemacht hat.
|
|
Bitte senden Sie einen Fehlerbericht mit dem
|
|
Befehl &man.send-pr.1;. Von der Ports-Sammlung
|
|
wird nämlich erwartet, dass sie sowohl auf
|
|
<emphasis>-CURRENT</emphasis> als auch auf
|
|
<emphasis>-STABLE</emphasis> funktioniert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="make-index">
|
|
<para>Ich habe gerade versucht, <filename>INDEX</filename>
|
|
mit <command>make <maketarget>index</maketarget></command> zu
|
|
bauen, und es hat nicht geklappt. Woran liegt das?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung
|
|
aktuell ist. Fehler, die einen Bau von
|
|
<filename>INDEX</filename> aus einer aktuellen Ports-Sammlung
|
|
verhindern, sind sofort sichtbar und werden daher fast immer
|
|
umgehend behoben.</para>
|
|
|
|
<para>Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie
|
|
vielleicht ein anderes Problem.
|
|
<command>make <maketarget>index</maketarget></command> hat einen
|
|
Bug im Umgang mit unvollständigen Kopien der Ports-Sammlung.
|
|
Es nimmt an, dass Sie über eine lokale Kopie aller Ports
|
|
verfügen, von denen jeder lokale Port abhängt.
|
|
Wenn Sie also beispielsweise eine Kopie von
|
|
<filename>foo/bar</filename> auf Ihrem System haben, und
|
|
<filename>foo/bar</filename> ist von
|
|
<filename>baz/quux</filename> abhängig, dann muss auch
|
|
eine Kopie von <filename>baz/quux</filename> auf Ihrem
|
|
System vorhanden sein, sowie eine Kopie aller Ports, von
|
|
denen <filename>baz/quux</filename> abhängt.
|
|
Anderenfalls ist <command>make
|
|
<maketarget>index</maketarget></command> aufgrund
|
|
fehlender Informationen nicht in der Lage, den
|
|
Abhängigkeitsbaum zu erzeugen.</para>
|
|
|
|
<para>Dieses Problem tritt vor allem dann auf, wenn
|
|
&os;-Benutzer &man.csup.1; (oder &man.csup.1;) verwenden, um die
|
|
Ports-Sammlung zu aktualisieren und dabei verschiedene Kategorien
|
|
durch die Datei <filename>refuse</filename> von der Aktualisierung
|
|
ausschließen. Theoretisch ist es zwar möglich,
|
|
Kategorien auszuschließen, in der Praxis gibt es aber
|
|
zu viele Ports, die von Ports in anderen Kategorien
|
|
abhängen. Wenn Sie also <filename>INDEX</filename>
|
|
bauen wollen, <emphasis>müssen</emphasis> Sie über
|
|
eine komplette Kopie der Ports-Sammlung verfügen.</para>
|
|
|
|
<para>Es gibt seltene Fälle, in denen
|
|
<filename>INDEX</filename> nicht gebaut werden kann, wenn
|
|
bestimmte
|
|
<makevar>WITH_<replaceable>*</replaceable></makevar> oder
|
|
<makevar>WITHOUT_<replaceable>*</replaceable></makevar>
|
|
Variablen in <filename>make.conf</filename> gesetzt sind.
|
|
Wenn Sie dieses Problem haben, sollten Sie diese
|
|
make-Variablen deaktivieren und <filename>INDEX</filename>
|
|
erneut bauen, bevor Sie das Problem an &a.ports;
|
|
melden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cvsup-in-base">
|
|
<para>Warum ist <application>CVSup</application> nicht im
|
|
&os;-Basisquellbaum enthalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Basissystem von &os; soll <quote>selbstverwaltend</quote>
|
|
sein. Es soll also möglich sein, das komplette Betriebssystem
|
|
mit einer beschränkten Anzahl von Werkzeugen zu starten.
|
|
Daher werden die zum Bau von &os; nötigen Werkzeuge mit
|
|
dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören
|
|
ein C-Compiler (&man.gcc.1;), &man.make.1;, &man.awk.1; und
|
|
andere.</para>
|
|
|
|
<para>Da <application>CVSup</application> in Modula-3 geschrieben
|
|
wurde, müsste ein Modula-3-Compiler ins Basissystem
|
|
aufgenommen und auch gewartet werden. Dies würde einen
|
|
gestiegenen Speicherbedarf für die &os;-Quellen sowie
|
|
einen erhöhten Wartungsaufwand verursachen. Daher ist es
|
|
sowohl für Entwickler als auch Benutzer einfacher,
|
|
CVSup bei Bedarf als Port oder als Paket von einer
|
|
Installations-CD zu installieren.</para>
|
|
|
|
<para>Wie dem auch sei, &os;-Benutzer müssen seit
|
|
&os; 6.2-RELEASE nicht mehr ohne einen kompatiblen
|
|
<application>CVSup</application>-Client auskommen. Dank &a.mux;
|
|
wurde <application>CVSup</application> als &man.csup.1; in C neu
|
|
geschrieben und ist mittlerweile Teil des Basissystems. Obwohl zur
|
|
Zeit noch nicht alle Eigenschaften von
|
|
<application>CVSup</application> implementiert sind, ist es gut
|
|
genug (und sehr schnell!) darin, ihre Quellen zu synchronisieren.
|
|
Für &os;-Systeme vor 6.2 kann es als Port oder Paket
|
|
(siehe <filename
|
|
role="package">net/csup</filename>) installiert werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-update">
|
|
<para>Ich habe die Sourcen aktualisiert, wie aktualisiere
|
|
ich jetzt die installierten Ports?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; enthält zwar kein Programm, das die
|
|
installierten Ports aktualisiert, allerdings existieren
|
|
diverse Programme, die diesen Prozess etwas
|
|
vereinfachen. Weiterhin können Sie zusätzliche
|
|
Programme installieren, die Sie dabei
|
|
unterstützen, siehe <ulink
|
|
url="&url.books.handbook;/ports-using.html">Ports
|
|
aktualisieren</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-major-upgrade">
|
|
<para>Muss ich nach der Aktualisierung einer &os;-Hauptversionsnummer
|
|
jedes Mal alle Ports neu erstellen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Auf jeden Fall! Während ein aktuelles System mit Software
|
|
für eine ältere Version funktionieren wird, werden Sie
|
|
mit zufälligen Abstürzen und nicht funktionierenden Ports
|
|
zurückbleiben, sobald Sie anfangen, andere Ports zu
|
|
installieren oder diejenigen, die Sie bereits haben, aktualisieren
|
|
möchten.</para>
|
|
|
|
<para>Wenn das System aktualisiert wird, werden verschiedene
|
|
Shared-Libraries, ladbare Module und andere Systembestandteile
|
|
mit neueren Versionen ersetzt. Anwendungen, die gegen die älteren Versionen gelinkt sind, werden nicht starten oder in anderen
|
|
Fällen nicht korrekt funktionieren.</para>
|
|
|
|
<para>Für weitere Informationen, lesen Sie <ulink
|
|
url="&url.books.handbook;/updating-upgrading-freebsdupdate.html#FREEBSDUPDATE-UPGRADE">den Abschnitt über
|
|
Betriebssystemupgrades</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-minor-upgrade">
|
|
<para>Muss ich nach der Aktualisierung einer &os;-Unterversionsnummer
|
|
jedes Mal alle Ports neu erstellen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Generell nicht. Die &os;-Entwickler tun ihr möglichstes,
|
|
um die Binärkompatibilität über alle
|
|
Veröffentlichungen mit der gleichen Hauptversionsnummer zu
|
|
garantieren. Ausnahmen werden in den Release Notes dokumentiert
|
|
und die darin enthaltenen Hinweise sollten befolgt werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="minimal-sh">
|
|
<para>Warum ist <command>/bin/sh</command> so spartanisch?
|
|
Warum benutzt &os; nicht die <command>bash</command>
|
|
oder eine ähnliche Shell?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Weil der &posix;-Standard definiert, dass es so
|
|
eine Shell geben muss.</para>
|
|
|
|
<para>Die ausführlichere Antwort: Viele Leute
|
|
müssen Shell-Programme schreiben, die auf vielen
|
|
verschiedenen Systemen nutzbar sein müssen. Aus
|
|
diesem Grund enthält der &posix;-Standard eine sehr
|
|
detaillierte Definition der Shell und der Hilfsprogramme.
|
|
Die meisten Programme werden für die Bourne Shell
|
|
geschrieben; außerdem nutzen mehrere wichtige
|
|
Schnittstellen (&man.make.1;, &man.system.3;,
|
|
&man.popen.3; und ihre Entsprechungen in höheren
|
|
Programmiersprachen wie Perl und Tcl) die Bourne Shell, um
|
|
Befehle auszuführen. Da die Bourne Shell an so
|
|
vielen Stellen und so häufig genutzt wird, muss
|
|
sie die folgenden Anforderungen erfüllen: Schneller
|
|
Start, ein klar definiertes Verhalten und ein
|
|
möglichst geringer Speicherverbrauch.</para>
|
|
|
|
<para>Wir haben bei der vorliegenden Implementierung
|
|
versucht, möglichst viele dieser Anforderungen zu
|
|
erfüllen. Um <command>/bin/sh</command> nicht zu
|
|
groß werden zu lassen, haben wir viele der
|
|
Annehmlichkeiten der anderen Shells weggelassen. Aus
|
|
diesem Grund gibt es in den Ports die luxuriöseren
|
|
Shells wie <command>bash</command>, <command>scsh</command>,
|
|
<command>tcsh</command> und <command>zsh</command>. Vergleichen Sie
|
|
einfach mal den Speicherverbrauch der verschiedenen
|
|
Shells, indem Sie <command>ps <option>-u</option></command> aufrufen
|
|
und sich die Angaben in den Spalten <quote>VSZ</quote> und
|
|
<quote>RSS</quote> ansehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="netscape-slow-startup">
|
|
<para>Wieso dauert es so lange, bis &netscape; und Opera
|
|
starten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In den meisten Fällen liegt es daran, dass
|
|
Ihre DNS-Einstellungen fehlerhaft sind. Sowohl
|
|
<application>&netscape;</application> als auch
|
|
<application>Opera</application> stellen Anfragen an DNS,
|
|
wenn Sie gestartet werden. Das Fenster des Browsers erscheint
|
|
erst, wenn das Programm eine Antwort erhalten hat oder es
|
|
festgestellt hat, dass Ihr System nicht an ein Netzwerk
|
|
angeschlossen ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-base-update">
|
|
<para>Ich habe die Ports-Sammlung mit
|
|
<application>CVSup</application> aktualisiert. Viele
|
|
Ports lassen sich danach nicht mehr bauen und geben
|
|
seltsame Fehlermeldungen aus. Was ist passiert? Ist
|
|
die Ports-Sammlung kaputt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie sollten <emphasis>immer</emphasis> die Teilsammlung
|
|
<literal>ports-base</literal> aktualisieren, wenn Sie
|
|
nur Teile der Ports-Sammlung mit Hilfe der
|
|
<application>CVSup</application>-Teilsammlungen
|
|
aktualisieren. Die Erklärung dazu finden Sie im <ulink
|
|
url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN">Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="midi-sound-files">
|
|
<para>Wie erzeuge ich Audio-CDs aus MIDI-Dateien?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie zuerst den Port <filename
|
|
role="package">audio/timidity++</filename>. Danach müssen Sie
|
|
manuell die GUS-Patche von Eric A. Welsh von <ulink
|
|
url="http://alleg.sourceforge.net/digmid.html"></ulink>
|
|
installieren. Wenn <application>TiMidity++</application>
|
|
richtig installiert wurde, können Sie mit dem folgenden
|
|
Kommando MIDI-Dateien in das WAV-Format konvertieren:</para>
|
|
|
|
<screen>&prompt.user; <userinput>timidity -Ow -s 44100 -o <replaceable>/tmp/juke/01.wav</replaceable> <replaceable>01.mid</replaceable></userinput></screen>
|
|
|
|
<para>Die WAV-Dateien können dann in andere Formate
|
|
konvertiert werden oder (wie im <ulink
|
|
url="&url.books.handbook;/creating-cds.html">&os;-Handbuch</ulink>
|
|
beschrieben) auf Audio-CDs gebrannt werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="kernelconfig">
|
|
<title>Kernelkonfiguration</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="make-kernel">
|
|
<para>Ich möchte meinen Kernel anpassen. Ist das
|
|
schwierig?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Überhaupt nicht! Lesen Sie den <ulink
|
|
url="&url.books.handbook;/kernelconfig.html">Abschnitt zur
|
|
Kernelkonfiguration im Handbuch</ulink>.</para>
|
|
|
|
<note>
|
|
<para>Der neue <filename>kernel</filename> wird zusammen mit seinen
|
|
Modulen im Verzeichnis <filename
|
|
class="directory">/boot/kernel</filename> installiert werden.
|
|
Der alte Kernel und dessen Module wird in das Verzeichnis
|
|
<filename class="directory">/boot/kernel.old</filename>
|
|
verschoben, damit Sie, wenn Sie einen Fehler beim
|
|
herumexperimentieren mit Ihrer Konfiguration gemacht haben, die
|
|
vorherige Version Ihres Kernels starten können.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-hw-float">
|
|
<para>Was kann ich machen, wenn meine Kernel-Kompilierungen
|
|
fehlschlagen, weil <literal>_hw_float</literal>
|
|
fehlt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben wahrscheinlich
|
|
<devicename>npx0</devicename> aus Ihrer
|
|
Kernelkonfigurationsdatei entfernt, weil Sie keinen
|
|
mathematischen Co-Prozessor besitzen. Die Gerätedatei
|
|
<devicename>npx0</devicename> ist allerdings
|
|
<emphasis>VERPFLICHTEND</emphasis>. Ihre Hardware
|
|
unterstützt Gleitkommaoperationen, selbst wenn dafür
|
|
kein eigenes Bauteil (wie bei den 386er-Prozessoren) mehr
|
|
verwendet wird. Daher <emphasis>müssen</emphasis> Sie
|
|
die Gerätedatei <devicename>npx0</devicename> einbinden.
|
|
Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne
|
|
<devicename>npx0</devicename>-Unterstützung zu bauen,
|
|
werden Sie diesen nicht booten können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="why-kernel-big">
|
|
<para>Warum ist mein Kernel so groß (über 10 MByte)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben Ihren Kernel wahrscheinlich im
|
|
<emphasis>Debug Modus</emphasis> erstellt. Ein
|
|
Debug-Kernel enthält viele zusätzliche
|
|
Informationen für die Fehlersuche, daher ist er so
|
|
groß. Bitte beachten Sie, dass die Verwendung
|
|
eines Debug-Kernels
|
|
die Performance des Systems nicht oder nur minimal
|
|
reduziert; außerdem ist es für den Fall einer
|
|
system panic sehr praktisch, einen Debug-Kernel zur Hand
|
|
zu haben.</para>
|
|
|
|
<para>Wenn Ihnen allerdings der Plattenplatz ausgeht oder
|
|
Sie einfach rein prinzipiell keinen Debug-Kernel benutzen
|
|
wollen, müssen die beiden folgenden Bedingungen
|
|
erfüllt sein:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die Konfigurationsdatei für Ihren Kernel darf
|
|
die folgende Zeile nicht enthalten:</para>
|
|
|
|
<programlisting>makeoptions DEBUG=-g</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie dürfen &man.config.8; nicht mit dem
|
|
Parameter <option>-g</option> starten.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Sollten Sie sich nicht an diese Einschränkungen
|
|
halten, wird Ihr Kernel im Debug-Modus erstellt. Solange
|
|
Sie sich an diese Einschränkungen halten, können
|
|
Sie Ihren Kernel ganz normal erstellen und die
|
|
Größe des Kernels sollte deutlich sinken. Ein
|
|
normaler Kernel ist nur 1.5 MByte bis 2 MByte
|
|
groß.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-interrupts">
|
|
<para>Wieso erhalte ich Meldungen über Interrupt-Konflikte,
|
|
wenn ich eine Karte mit mehreren seriellen Schnittstellen
|
|
einsetzen will?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn ich einen Kernel mit Unterstützung für
|
|
serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
|
|
den Hinweis, dass nur der erste Port geprüft
|
|
wird und die restlichen auf Grund von Interrupt-Konflikten
|
|
übersprungen werden. Wie kann ich das
|
|
Beheben?</para>
|
|
|
|
<para>Das Problem besteht darin, dass in &os; Code
|
|
integriert ist, um den Kernel vor Abstürzen aufgrund
|
|
von Hardware- oder Software-Konflikten zu bewahren.
|
|
Behoben wird es, indem die IRQ-Angaben für alle
|
|
Ports, bis auf einen ausgelassen werden. Hier ist ein
|
|
Beispiel:</para>
|
|
|
|
<programlisting>
|
|
#
|
|
# Multiport high-speed serial line - 16550 UARTS
|
|
#
|
|
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
|
|
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
|
|
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
|
|
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="generic-kernel-build-failure">
|
|
<para>Wieso kann ich nicht einmal den Standard-Kernel
|
|
(<filename>GENERIC</filename>) bauen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt eine Reihe von möglichen Ursachen
|
|
für dieses Problem:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Sie benutzen die neuen Kommandos <command>make
|
|
<maketarget>buildkernel</maketarget></command> und
|
|
<command>make <maketarget>installkernel</maketarget></command>
|
|
nicht, obwohl die Sourcen auf Ihrem System nicht zum laufenden
|
|
System passen (z.B. benutzen Sie die Sourcen von
|
|
&rel.current;-RELEASE auf einem System mit
|
|
&rel2.current;-RELEASE). Wenn Sie ein Upgrade
|
|
durchführen wollen, sollten Sie
|
|
<filename>/usr/src/UPDATING</filename> lesen, beachten
|
|
Sie insbesondere den Abschnitt <quote>COMMON
|
|
ITEMS</quote> gegen Ende des Dokuments.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie benutzen zwar <command>make
|
|
<maketarget>buildkernel</maketarget></command> und
|
|
<command>make <maketarget>installkernel</maketarget></command>,
|
|
aber Sie haben nicht darauf geachtet, dass vorher ein
|
|
komplettes <command>make
|
|
<maketarget>buildworld</maketarget></command> durchgelaufen
|
|
sein muss. Um seine Arbeit erledigen zu können,
|
|
benötigt <command>make
|
|
<maketarget>buildkernel</maketarget></command>
|
|
Dateien, die von <command>make
|
|
<maketarget>buildworld</maketarget></command>
|
|
erzeugt werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Auch wenn Sie <link
|
|
linkend="stable">&os;-STABLE</link> verwenden, ist
|
|
es durchaus möglich, dass Sie die Sourcen
|
|
genau zum falschen Zeitpunkt aktualisiert haben:
|
|
Während Sie gerade modifiziert wurden oder
|
|
kurzzeitig fehlerhaft waren. Eine absolute und
|
|
vollständige Garantie, dass Sie die Sourcen
|
|
compilieren können, gibt es nur für die
|
|
Releases, bei <link
|
|
linkend="stable">&os;-STABLE</link> ist das nicht
|
|
immer so. Wenn Sie es noch nicht versucht haben,
|
|
sollten Sie ihre Source nochmals aktualisieren. Es
|
|
ist denkbar, dass der von Ihnen genutzte Server
|
|
zurzeit Probleme hat, benutzen Sie daher testweise
|
|
auch einmal einen anderen Server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="scheduler-in-use">
|
|
<para>Wie kann ich prüfen, welchen Scheduler das
|
|
System benutzt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Überprüfen Sie dazu, ob auf Ihrem System die
|
|
sysctl-Variable <varname>kern.sched.quantum</varname>
|
|
existiert. Ist dies bei Ihnen der Fall, werden Sie eine
|
|
Ausgabe ähnlich der folgenden sehen:</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable>
|
|
kern.sched.quantum: 99960</screen>
|
|
|
|
<para>Wenn die sysctl-Variable <varname>kern.sched.quantum</varname>
|
|
existiert, dann verwenden Sie den 4BSD-Scheduler
|
|
(&man.sched.4bsd.4;). Existiert sie nicht, erzeugt &man.sysctl.8;
|
|
eine Fehlermeldung (die Sie aber ignorieren können):</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable>
|
|
sysctl: unknown oid 'kern.sched.quantum'</screen>
|
|
|
|
<para>Seit &os; 5.3-RELEASE wird der Name des verwendeten
|
|
Schedulers direkt als Wert der sysctl-Variable
|
|
<literal>kern.sched.name</literal> ausgegeben:</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.sched.name</replaceable>
|
|
kern.sched.name: 4BSD</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="scheduler-kern-quantum">
|
|
<para>Was bedeutet <varname>kern.sched.quantum</varname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><varname>kern.sched.quantum</varname> ist die maximale
|
|
Anzahl Ticks, die ein Prozess ununterbrochen laufen kann.
|
|
Die Variable ist charakteristisch für den
|
|
4BSD Scheduler, somit kann der verwendete Scheduler
|
|
über die Existenz dieser Variablen bestimmt werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="disks">
|
|
<title>Platten, Dateisysteme und Boot Loader</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="adding-disks">
|
|
<para>Wie kann ich meine neue Festplatte in mein
|
|
&os;-System einbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie den Abschnitt <ulink
|
|
url="&url.books.handbook;/disks-adding.html">Hinzufügen
|
|
von Laufwerken</ulink> im Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="new-huge-disk">
|
|
<para>Wie verschiebe ich mein System auf meine neue,
|
|
große Platte?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die beste Methode ist, das Betriebssystem auf der
|
|
neuen Platte neu zu installieren und danach die Daten zu
|
|
verschieben. Wenn Sie <emphasis>-STABLE</emphasis>
|
|
über eine Release hinaus genutzt haben oder eine Release
|
|
aktualisiert haben, ist das sehr empfehlenswert. Sie
|
|
können auf beiden Platten &man.boot0cfg.8; installieren
|
|
und die beiden Versionen so lange parallel betreiben, bis Ihnen
|
|
die neue Konfiguration gefällt. Wenn Sie dies tun wollen,
|
|
können Sie im übernächsten Absatz erfahren,
|
|
wie sie Ihre Daten verschieben können.</para>
|
|
|
|
<para>Falls Sie sich entscheiden, das nicht zu tun,
|
|
müssen Sie Ihre neue Platte partitionieren und
|
|
labeln. Benutzen Sie dafür entweder
|
|
&man.sysinstall.8; oder &man.fdisk.8;
|
|
und &man.disklabel.8;. Weiterhin sollten Sie mit
|
|
&man.boot0cfg.8; auf beiden Platten booteasy installieren,
|
|
damit Sie in der Lage sind, das alte und das neue System
|
|
abwechselnd zu starten, nachdem der Kopiervorgang
|
|
abgeschlossen ist. Im <ulink
|
|
url="&url.articles.formatting-media.en;/article.html">Formatting-Media
|
|
Tutorial</ulink> finden Sie weitere Informationen zu
|
|
diesen Schritten.</para>
|
|
|
|
<para>Nachdem Sie die neue Platte eingerichtet haben,
|
|
können Sie Ihre Daten verschieben. Dummerweise
|
|
können Sie die Daten nicht einfach kopieren. Dinge wie
|
|
Gerätedateien (in <filename class="directory">/dev</filename>),
|
|
erweiterte Dateiattribute und symbolische Links führen
|
|
dazu, dass das in die Hose geht. Sie müssen
|
|
ein Programm benutzen, das damit umgehen kann, und das
|
|
ist &man.dump.8;. Es wird oft empfohlen, die Daten im
|
|
Single-User-Modus zu verschieben, aber das ist nicht
|
|
unbedingt notwendig.</para>
|
|
|
|
<para>Sie sollten auf gar keinen Fall etwas anderes als
|
|
&man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem
|
|
zu verschieben. Es könnte auch mit
|
|
&man.tar.1; funktionieren - oder auch nicht. Sie sollten
|
|
ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
|
|
Sie eine komplette Partition auf eine andere, leere
|
|
Partition verschieben wollen. Um die Daten einer Partition mit
|
|
<command>dump</command> auf eine andere Partition zu verschieben,
|
|
müssen Sie die folgenden Schritte ausführen:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Richten Sie in der neuen Partition mit
|
|
<command>newfs</command> ein Dateisystem ein.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Mounten Sie die Partition temporär an einer
|
|
geeigneten Stelle.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Wechseln Sie mit <command>cd</command> in dieses
|
|
Verzeichnis.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Lesen Sie die alte Partition mit <command>dump</command>
|
|
aus und lenken Sie die Ausgabe auf die neue Partition um.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Wenn Sie zum Beispiel <username>root</username> auf
|
|
<devicename>/dev/<replaceable>ad1s1a</replaceable></devicename>
|
|
verschieben wollen und diese derzeit auf <filename
|
|
class="directory"><replaceable>/mnt</replaceable></filename>
|
|
gemountet ist, bedeutet das:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput>
|
|
&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen>
|
|
|
|
<para>Wenn Sie Ihre Partitionen mit &man.dump.8;
|
|
umorganisieren wollen, steht Ihnen etwas mehr Arbeit
|
|
bevor. Wenn Sie eine Partition wie <filename
|
|
class="directory">/var</filename> in die übergeordnete
|
|
Partition verschieben wollen, müssen Sie zunächst eine
|
|
neue Partition erzeugen, die die beiden alten Partitionen
|
|
aufnehmen kann. Der zweite Schritt ist, wie oben
|
|
beschrieben die übergeordnete Partition in die neue
|
|
Partition zu verschieben. Im dritten und letzten Schritt
|
|
verschieben Sie dann die untergeordnete Partition in das
|
|
leere Verzeichnis, das im zweiten Schritt entstanden
|
|
ist:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput>
|
|
&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput>
|
|
&prompt.root; <userinput>cd var</userinput>
|
|
&prompt.root; <userinput>dump 0af - /var | restore rf -</userinput></screen>
|
|
|
|
<para>Wenn Sie ein Verzeichnis aus einer Partition
|
|
herauslösen wollen, also z.B.
|
|
<filename>/var</filename> auf eine eigene Partition
|
|
verlegen wollen, dann müssen Sie zunächst beide
|
|
Partitionen anlegen. Danach müssen Sie die
|
|
untergeordnete Partition im passenden Verzeichnis
|
|
unterhalb des temporären mount points mounten und zum
|
|
Abschluß die alte Partition verschieben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1a</replaceable></userinput>
|
|
&prompt.root; <userinput>newfs /dev/<replaceable>ad1s1d</replaceable></userinput>
|
|
&prompt.root; <userinput>mount /dev/<replaceable>ad1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>mkdir <replaceable>/mnt</replaceable>/var</userinput>
|
|
&prompt.root; <userinput>mount /dev/<replaceable>ad1s1d</replaceable> <replaceable>/mnt</replaceable>/var</userinput>
|
|
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen>
|
|
|
|
<para>Eventuell sagen Ihnen für Benutzerdaten
|
|
&man.cpio.1;, &man.pax.1; oder &man.tar.1; eher zu als
|
|
&man.dump.8;. Allerdings haben alle diese Programme den
|
|
Nachteil, dass sie die erweiterten Dateiattribute
|
|
nicht verstehen, daher sollten Sie bei ihrem Einsatz
|
|
aufpassen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dangerously-dedicated">
|
|
<para>Gefährdet eine <quote>dangerously
|
|
dedicated</quote> Festplatte meine Gesundheit?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><anchor id="dedicate"/>Die Installationsprozedur bietet
|
|
Ihnen zwei verschiedene Methoden, Ihre Festplatte(n) zu
|
|
partitionieren. Die Standardmethode macht sie kompatibel
|
|
zu anderen Betriebssystemen auf derselben Maschine, indem
|
|
&man.fdisk.8;-Tabelleneinträge (unter &os;
|
|
<quote>slices</quote> genannt) mit einem &os;-Eintrag,
|
|
in dem eigene Partitionen untergebracht werden, benutzt
|
|
werden. Optional kann ausgewählt werden, ob ein
|
|
Boot-Selektor installiert werden soll, um zwischen den
|
|
möglichen Betriebssystemen auf der/den Platte(n)
|
|
wechseln zu können. Bei der zweiten Methode wird die
|
|
gesamte Platte für &os; genutzt und nicht
|
|
versucht, kompatibel zu anderen Betriebssystemen zu
|
|
sein.</para>
|
|
|
|
<para>Nun, warum wird es <quote>gefährlich</quote>
|
|
genannt? Eine Platte in diesem Modus enthält nichts,
|
|
was von normalen PC-Hilfsprogrammen als gültige
|
|
&man.fdisk.8;-Tabelle betrachtet werden würde.
|
|
Abhängig von der Qualität ihres Designs werden sie
|
|
sich bei Ihnen beschweren, sobald sie mit einer solchen Platte
|
|
in Kontakt kommen, oder noch schlimmer, sie könnten den
|
|
Bootstrap von &os; beschädigen, ohne Sie zu fragen
|
|
oder darauf hinzuweisen. Hinzu kommt, dass vom
|
|
Layout von <quote>dangerously dedicated</quote> Platten
|
|
bekannt ist, dass es viele BIOSe verwirrt,
|
|
einschließlich solcher von AWARD (wie es z.B. im HP
|
|
Netserver oder Micronics-Systemen, sowie vielen anderen zu
|
|
finden ist) und Symbios/NCR (für die bekannte
|
|
53C8xx-Reihe von SCSI-Controllern). Dies ist keine
|
|
vollständige Liste - es gibt weitere. Symptome
|
|
für diese Verwirrung sind <errorname>read
|
|
error</errorname>-Meldungen, die vom &os;-Bootstrap
|
|
ausgegeben werden, wenn es sich selbst nicht finden kann,
|
|
sowie Systemabstürze beim Booten.</para>
|
|
|
|
<para>Warum gibt es diesen Modus dann überhaupt? Es
|
|
spart ein paar kByte an Plattenplatz und kann echte
|
|
Probleme verursachen, die zu einer Neuinstallation
|
|
führen. Die Ursprünge des <quote>Dangerously
|
|
dedicated</quote> Modus liegen in der Absicht, eines der
|
|
häufigsten Probleme, das Erstinstallierer von &os;
|
|
plagt, zu verhindern - die BIOS-Werte für die
|
|
<quote>Geometrie</quote> einer Festplatte auf der
|
|
Festplatte selbst anzupassen.</para>
|
|
|
|
<para><quote>Geometrie</quote> ist ein veraltetes Konzept,
|
|
das aber immer noch die Grundlage für die Interaktion
|
|
zwischen dem PC-BIOS und den Festplatten ist. Wenn das
|
|
Installationsprogramm von &os; Slices erstellt,
|
|
muss es sich die Lage dieser Slices auf der
|
|
Festplatte in einer Art merken, die damit
|
|
übereinstimmt, wie das BIOS erwartet, sie zu finden.
|
|
Wenn das falsch geschieht, werden Sie nicht in der Lage
|
|
sein, zu booten.</para>
|
|
|
|
<para>Durch den <quote>Dangerously dedicated</quote> Modus
|
|
wird versucht, dies zu umgehen, indem das Problem
|
|
vereinfacht wird. In einigen Fällen klappt das zwar,
|
|
aber er ist eher als allerletzter Ausweg gedacht - in 99
|
|
von 100 Fällen gibt es bessere Möglichkeiten,
|
|
das Problem zu lösen.</para>
|
|
|
|
<para>Wie vermeiden Sie also die Notwendigkeit zum
|
|
<quote>DD</quote> Modus, wenn Sie installieren? Beginnen
|
|
Sie, indem Sie sich notieren, welche Geometrie das BIOS
|
|
für Ihre Platten benutzt. Sie können erreichen,
|
|
dass der Kernel sie beim Booten ausgibt, indem Sie
|
|
<option>-v</option> an der Eingabeaufforderung
|
|
<literal>boot:</literal> angeben, oder <command>boot
|
|
-v</command> im Loader verwenden. Kurz bevor das
|
|
Installationsprogramm startet, wird der Kernel eine Liste
|
|
mit den BIOS-Geometrien ausgeben. Keine Panik - warten
|
|
Sie, bis das Installationsprogramm gestartet wurde und
|
|
benutzen Sie Scrollback, um die Zahlen zu lesen.
|
|
Typischerweise befinden sich die BIOS-Platten in derselben
|
|
Reihenfolge, wie &os; Ihre Platten auflistet - zuerst
|
|
IDE, dann SCSI.</para>
|
|
|
|
<para>Wenn Sie Ihre Festplatte in Slices unterteilen,
|
|
überprüfen Sie, ob die Plattengeometrie, die im
|
|
FDISK-Menü angegeben ist, korrekt ist (das heißt
|
|
mit den Einstellungen im BIOS übereinstimmen). Falls
|
|
die Werte nicht stimmen, benutzen Sie <keycap>G</keycap>, um
|
|
sie zu korrigieren. Diese Schritte sind nötig, wenn
|
|
sich absolut nichts auf der Festplatte befindet, oder,
|
|
wenn die Festplatte vorher in einem anderen System benutzt
|
|
worden ist. Beachten Sie, dass dies nur für die
|
|
Festplatte nötig ist, von der Sie booten wollen. Mit
|
|
weiteren vorhandenen Platten wird &os; sich problemlos
|
|
zurechtfinden.</para>
|
|
|
|
<para>Wenn Sie es geschafft haben, dass das BIOS und
|
|
&os; in der Festplattengeometrie übereinstimmen,
|
|
dann sind Ihre Probleme ziemlich sicher vorüber -
|
|
ohne, dass es nötig gewesen wäre, den
|
|
<quote>DD</quote>-Modus zu benutzen. Falls sie jedoch
|
|
immer noch mit der gefürchteten <errorname>read
|
|
error</errorname>-Meldung begrüßt werden sollten,
|
|
wenn Sie versuchen, zu booten, wird es Zeit, dass Sie
|
|
Ihre Finger kreuzen und es einfach versuchen - es gibt
|
|
nichts mehr zu verlieren.</para>
|
|
|
|
<para>Um eine <quote>dangerously dedicated</quote>
|
|
Festplatte wieder für einen normalen PC brauchbar zu
|
|
machen, gibt es zwei Möglichkeiten. Die erste ist,
|
|
ausreichend viele NULL-Bytes in den MBR zu schreiben, um
|
|
irgendwelche nachfolgenden Installation glauben zu machen,
|
|
dass es sich um eine leere Festplatte handelt. Sie
|
|
können das zum Beispiel mit diesem Befehl tun:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/<replaceable>rda0</replaceable> count=15</userinput></screen>
|
|
|
|
<para>Alternativ installiert der undokumentierte
|
|
DOS-Befehl</para>
|
|
|
|
<screen><prompt>C:\></prompt> <userinput>fdisk /mbr</userinput></screen>
|
|
|
|
<para>einen neuen Master-Boot-Record, das heißt der
|
|
BSD-Bootstrap wird zerstört.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="safe-softupdates">
|
|
<para>Auf welchen Partitionen kann ich problemlos
|
|
Soft Updates einsetzen? Ich habe gehört, das der
|
|
Einsatz von Soft Updates auf <filename
|
|
class="directory">/</filename> Probleme verursachen kann.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die schnelle Antwort: Sie können Soft Updates
|
|
bedenkenlos auf alle Partitionen benutzen.</para>
|
|
|
|
<para>Die ausführliche Antwort: Es gab lange Zeit
|
|
Bedenken, was den Einsatz von Soft Updates auf der
|
|
root-Partition betrifft. Der Grund sind zwei
|
|
Charakteristika der Soft Updates: Zum einen kann es bei
|
|
einem Absturz des System auf einer Partition mit
|
|
Soft Updates zum Datenverlust kommen. Die Partition ist
|
|
zwar noch brauchbar, aber einige Daten können
|
|
verloren gehen. Weiterhin kann es durch Soft Updates zu
|
|
einem zeitweisen Mangel an Plattenplatz kommen.</para>
|
|
|
|
<para>Bei der Benutzung von Soft Updates kann es bis zu
|
|
dreißig Sekunden dauern, bis der Kernel
|
|
Änderungen auf das physikalische Speichermedium
|
|
schreibt. Wenn Sie eine große Datei löschen,
|
|
ist diese Datei noch auf der Platte vorhanden, bis der
|
|
Kernel die Löschoperation tatsächlich
|
|
durchführt. Das kann zu einem sehr einfachen Problem
|
|
führen: Stellen Sie sich vor, Sie löschen eine
|
|
große Datei und legen gleich darauf eine andere
|
|
große Datei an. Da die erste Datei noch nicht
|
|
wirklich gelöscht wurde, ist eventuell nicht genug
|
|
Platz für die zweite große Datei. Sie erhalten
|
|
die Fehlermeldung, dass nicht genug freier Platz
|
|
vorhanden ist, obwohl Sie ganz genau wissen, dass Sie
|
|
gerade eben Platz geschaffen haben. Wenn Sie die
|
|
Operation ein paar Sekunden später wiederholen,
|
|
funktioniert alles wie von Geisterhand. Dieser Effekt hat
|
|
mehr als einen Benutzer verwirrt und Zweifel an seiner
|
|
geistigen Stabilität oder dem &os;-Dateisystem
|
|
aufkommen lassen.</para>
|
|
|
|
<para>Wenn der Kernel ein Datenpaket annimmt und das System
|
|
abstürzt, bevor er dies Daten auf die Platte
|
|
geschrieben hat, kann es zum Verlust oder zur
|
|
Zerstörung von Daten kommen. Dieses Risiko ist nur
|
|
sehr gering und normalerweise tragbar. Wenn Sie
|
|
allerdings einen IDE-Write-Cache verwenden, steigt das
|
|
Risiko; daher wird normalerweise empfohlen, auf den
|
|
Einsatz dieser Technik zu verzichten, wenn Sie Soft Updates
|
|
benutzen.</para>
|
|
|
|
<para>Diese beiden Probleme betreffen alle Partitionen, die
|
|
Soft Updates verwenden. Was bedeutet das für die
|
|
Root-Partition?</para>
|
|
|
|
<para>Die wichtigen Daten auf der Root-Partition ändern
|
|
sich nur sehr selten. Dateien wie
|
|
<filename>/boot/kernel/kernel</filename> und der Inhalt <filename
|
|
class="directory">/etc</filename> werden nur bei der Wartung des
|
|
Systems geändert, oder wenn Benutzer ihre
|
|
Passwörter ändern. Wenn das System in den
|
|
30 Sekunden nach einer solchen Änderung
|
|
abstürzt, ist es möglich, das Daten verloren
|
|
gehen. Dieses Risiko ist in den meisten Fällen
|
|
unerheblich, aber es ist vorhanden. Wenn das zu viel
|
|
Risiko ist, dann sollten Sie Soft Updates nicht auf der
|
|
Root-Partition einsetzen.</para>
|
|
|
|
<para><filename class="directory">/</filename> war schon immer eine
|
|
der kleinsten Partitionen. Wenn Sie das Verzeichnis
|
|
<filename class="directory">/tmp</filename> direkt auf
|
|
<filename class="directory">/</filename> und in Ihrem
|
|
<filename class="directory">/tmp</filename> viel Betrieb ist, kann
|
|
es gelegentlich zu den oben beschriebenen Platzproblemen
|
|
kommen. Um das Problem zu lösen, sollten sie einen
|
|
symbolischen Link von <filename class="directory">/tmp</filename>
|
|
nach <filename class="directory">/var/tmp</filename> legen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="inappropriate-ccd">
|
|
<para>Was stimmt mit meinem &man.ccd.4; nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Symptom hierfür ist:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ccdconfig -C</userinput>
|
|
ccdconfig: ioctl (CCDIOCSET): /dev/<replaceable>ccd0c</replaceable>: Inappropriate file type or format</screen>
|
|
|
|
<para>Das geschieht für gewöhnlich, wenn Sie
|
|
versuchen, die <literal>c</literal> Partitionen, die
|
|
standardmäßig vom Typ
|
|
<literal>unbenutzt</literal> sind, zu verbinden. Der
|
|
&man.ccd.4;-Treiber verlangt Partitionen vom Typ
|
|
<literal>FS_BSDFFS</literal>. Editieren Sie den
|
|
Plattenlabel der Platten, die Sie zu
|
|
verknüpfen versuchen und ändern Sie die Typen
|
|
der Partitionen in <literal>4.2BSD</literal>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ccd-disk-label">
|
|
<para>Warum kann ich den Plattenlabel meines &man.ccd.4; nicht
|
|
editieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Symptom hierfür ist:</para>
|
|
|
|
<screen>&prompt.root; <userinput>disklabel <replaceable>ccd0</replaceable></userinput>
|
|
(hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren)
|
|
&prompt.root; <userinput>disklabel -e <replaceable>ccd0</replaceable></userinput>
|
|
(editieren, speichern, beenden)
|
|
disklabel: ioctl DIOCWDINFO: No disk label on disk;
|
|
use "disklabel -r" to install initial label</screen>
|
|
|
|
<para>Der Grund ist, dass der von &man.ccd.4;
|
|
zurückgelieferte Plattenlabel ein
|
|
<quote>vorgetäuschter</quote> ist, der sich nicht
|
|
wirklich auf der Platte befindet. Sie können das
|
|
Problem beheben, indem Sie ihn explizit
|
|
zurückschreiben, wie z.B. hier:</para>
|
|
|
|
<screen>&prompt.root; <userinput>disklabel <replaceable>ccd0</replaceable> > <replaceable>/tmp/disklabel.tmp</replaceable></userinput>
|
|
&prompt.root; <userinput>disklabel -Rr <replaceable>ccd0</replaceable> <replaceable>/tmp/disklabel.tmp</replaceable></userinput>
|
|
&prompt.root; <userinput>disklabel -e <replaceable>ccd0</replaceable></userinput>
|
|
(nun wird es funktionieren)</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-foreign-fs">
|
|
<para>Kann ich andere fremde Dateisysteme unter &os;
|
|
mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt verschiedene fremde
|
|
Dateisysteme.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>UFS</term>
|
|
|
|
<listitem>
|
|
<para>UFS-CD-ROMs können unter &os; direkt
|
|
gemountet werden. Das Mounten von Partitionen von
|
|
Digital &unix; und anderen Systemen, die UFS
|
|
unterstützen, könnte schwieriger sein,
|
|
abhängig von den Details der
|
|
Plattenpartitionierung des betreffenden
|
|
Betriebssystems.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>ext2/ext3</term>
|
|
|
|
<listitem>
|
|
<para>&os; unterstützt
|
|
<literal>ext2fs</literal> und
|
|
<literal>ext3fs</literal>-Partitionen. Unter
|
|
&man.mount.ext2fs.8; finden Sie weitere
|
|
Informationen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>NTFS</term>
|
|
|
|
<listitem>
|
|
<para>Ein NTFS-Treiber, der nur Lesezugriffe gestattet,
|
|
ist Teil von &os;. Weitere Informationen entnehmen
|
|
Sie bitte der Hilfeseite &man.mount.ntfs.8;. Ein Port von
|
|
<ulink
|
|
url="http://www.tuxera.com/community/"><application>ntfs-3g</application></ulink>
|
|
unterstützt Schreiboperationen auf NTFS (siehe <filename
|
|
role="package">sysutils/fusefs-ntfs</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>FAT</term>
|
|
|
|
<listitem>
|
|
<para>&os; enthält ein FAT-Treiber, der Lese-
|
|
und Schreibzugriffe ermöglicht. Weitere
|
|
Informationen entnehmen Sie bitte der Hilfeseite
|
|
&man.mount.msdosfs.8;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>ZFS</term>
|
|
|
|
<listitem>
|
|
<para>Zum jetzigen Zeitpunkt enthält &os; eine
|
|
Portierung von &sun;s ZFS Treiber. Die aktuelle Empfehlung
|
|
ist, es nur auf &arch.amd64; Plattformen mit ausreichend
|
|
Hauptspeicher zu verwenden. Mehr Informationen
|
|
finden Sie in der Manualpage &man.zfs.8;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>&os; unterstützt auch verschiedene
|
|
Netzwerk-Dateisysteme, wie NFS (&man.mount.nfs.8;), NetWare
|
|
(&man.mount.nwfs.8;), sowie die SMB-Dateisysteme von
|
|
Microsoft (&man.mount.smbfs.8;). In Ports die auf FUSE
|
|
(<filename
|
|
role="package">sysutils/fusefs-kmod</filename>) basieren,
|
|
können Sie viele weitere Dateisysteme finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-dos">
|
|
<para>Wie mounte ich eine erweiterte DOS-Partition?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die erweiterten DOS-Partitionen befinden sich hinter
|
|
<emphasis>allen</emphasis> primären Partitionen. Wenn sich
|
|
zum Beispiel eine Partition <quote>E</quote> als sekundäre
|
|
DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet,
|
|
wird eine Gerätedatei für
|
|
<quote>Slice 5</quote> im Verzeichnis <filename
|
|
class="directory">/dev</filename> erstellt, also mounten Sie diese
|
|
einfach:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/da1s5 /dos/e</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="crypto-file-system">
|
|
<para>Gibt es ein verschlüsselndes Dateisystem
|
|
für &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Sie können entweder &man.gbde.8; oder &man.geli.8;
|
|
einsetzen. Lesen Sie dazu auch den Abschnitt
|
|
<ulink
|
|
url="&url.books.handbook;/disks-encrypting.html">Partitionen
|
|
verschlüsseln</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nt-bootloader">
|
|
<para>Wie kann ich den &windowsnt;-Loader zum Booten von
|
|
&os; verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das grundsätzliche Vorgehen besteht darin,
|
|
dass Sie den ersten Sektor Ihrer eigentlichen
|
|
&os;-Rootpartition in eine Datei auf der
|
|
DOS/&windowsnt;-Partition kopieren. Angenommen, sie nennen
|
|
die Datei etwa <filename>c:\bootsect.bsd</filename> (durch
|
|
<filename>c:\bootsect.dos</filename> inspiriert), dann
|
|
können Sie die Datei <filename>c:\boot.ini</filename>
|
|
etwa wie folgt editieren:</para>
|
|
|
|
<programlisting>
|
|
[boot loader]
|
|
timeout=30
|
|
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
|
|
[operating systems]
|
|
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
|
|
C:\BOOTSECT.BSD="&os;"
|
|
C:\="DOS"
|
|
</programlisting>
|
|
|
|
<para>Falls &os; auf derselben Platte, wie die
|
|
&windowsnt;-Bootpartition installiert ist, kopieren Sie
|
|
einfach <filename>/boot/boot1</filename> nach
|
|
<filename>C:\BOOTSECT.BSD</filename>. Falls &os; auf
|
|
einer anderen Platte installiert ist, wird
|
|
<filename>/boot/boot1</filename> nicht funktionieren; Sie
|
|
brauchen in diesem Fall
|
|
<filename>/boot/boot0</filename>.</para>
|
|
|
|
<para><filename>/boot/boot0</filename> muss mit
|
|
&man.sysinstall.8; installiert werden. Wählen Sie dazu den
|
|
&os;-Bootmanager aus, wenn Sie gefragt werden, ob sie
|
|
einen Bootmanager installieren wollen. Dieser Schritt ist
|
|
notwendig, weil <filename>/boot/boot0</filename> eine
|
|
leere Partitionstabelle enthält, die von &man.sysinstall.8;
|
|
mit NULL-Zeichen ausgefüllt wird, bevor
|
|
<filename>/boot/boot0</filename> in den MBR kopiert
|
|
wird.</para>
|
|
|
|
<warning>
|
|
<para><emphasis>Sie dürfen auf gar keinen Fall einfach
|
|
<filename>/boot/boot0</filename> statt
|
|
<filename>/boot/boot1</filename> kopieren. Wenn Sie das
|
|
doch tun sollten, wird Ihre Partitionstabelle
|
|
überschrieben und Ihr Rechner wird nicht mehr
|
|
starten!</emphasis></para>
|
|
</warning>
|
|
|
|
<para>Wenn der Bootmanager von &os; gestartet wird, merkt
|
|
er sich das zuletzt gestartet Betriebssystem, indem er
|
|
dessen Partition als aktiv markiert. Danach kopiert er
|
|
sich selbst (alle 512 Bytes) in den MBR. Wenn Sie also
|
|
einfach <filename>/boot/boot0</filename> nach
|
|
<filename>C:\BOOTSECT.BSD</filename> kopieren, würde
|
|
der Bootmanager eine leere Partitionstabelle (mit einem
|
|
als aktiv markiertem Eintrag) in den MBR kopieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="lilo-bootloader">
|
|
<para>Wie boote ich &os; und &linux; mit LILO?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls sich &os; und &linux; auf derselben Platte
|
|
befinden, folgen Sie einfach den Installationsanweisungen
|
|
von LILO zum Booten eines Nicht-&linux;-Betriebssystems.
|
|
Ganz knapp sind dies:</para>
|
|
|
|
<para>Booten Sie &linux; und fügen Sie die folgenden
|
|
Zeilen in die Datei <filename>/etc/lilo.conf</filename>
|
|
ein:</para>
|
|
|
|
<programlisting>other=/dev/hda2
|
|
table=/dev/hda
|
|
label=&os;</programlisting>
|
|
|
|
<para>(hierbei wird angenommen, dass Ihre
|
|
&os;-Partition &linux; unter
|
|
<devicename>/dev/hda2</devicename> bekannt ist; ändern
|
|
Sie dies entsprechend Ihren Einstellungen). Führen
|
|
Sie nun als <username>root</username> den Befehl
|
|
<command>lilo</command> aus und Sie sind fertig.</para>
|
|
|
|
<para>Falls &os; sich auf einer anderen Platte befindet,
|
|
müssen Sie <literal>loader=/boot/chain.b</literal> zu
|
|
den LILO-Angaben hinzufügen. Zum Beispiel:</para>
|
|
|
|
<programlisting>other=/dev/dab4
|
|
table=/dev/dab
|
|
loader=/boot/chain.b
|
|
label=&os;</programlisting>
|
|
|
|
<para>In einigen Fällen könnte es sein, dass
|
|
Sie beim &os;-Bootloader die BIOS-Laufwerksnummer
|
|
angeben müssen, um von der zweiten Platte booten zu
|
|
können. Wenn Ihre &os;-SCSI-Platte vom BIOS zum
|
|
Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
|
|
am Prompt des &os;-Bootloaders eingeben:</para>
|
|
|
|
<screen>Boot: <userinput>1:da(0,a)/boot/kernel/kernel</userinput></screen>
|
|
|
|
<para>Sie können &man.boot.8; so
|
|
konfigurieren, dass das beim Booten automatisch
|
|
geschieht.</para>
|
|
|
|
<para>Das <ulink
|
|
url="http://tldp.org/HOWTO/mini/Linux+FreeBSD.html">
|
|
&linux;+FreeBSD mini-HOWTO</ulink> ist ein guter Ratgeber bei
|
|
Fragen zur Interaktion von &os; und &linux;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="grub-loader">
|
|
<para>Wie boote ich &os; und &linux; mit GRUB?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es ist sehr einfach, GRUB zum Starten von &os;
|
|
einzusetzen. Dazu müssen Sie lediglich die folgenden
|
|
Zeilen in die Konfigurationsdatei
|
|
<filename>/boot/grub/menu.lst</filename> (oder
|
|
<filename>/boot/grub/grub.conf</filename> bei manchen Systemen wie
|
|
z.B. Red Hat Linux und dessen Abkömmlinge) aufnehmen.</para>
|
|
|
|
<programlisting>title &os; 6.1
|
|
root <replaceable>(hd0,a)</replaceable>
|
|
kernel /boot/loader
|
|
</programlisting>
|
|
|
|
<para>Dabei steht <replaceable>hd0,a</replaceable> für die
|
|
root-Partition Ihrer ersten Festplatte. Benötigen
|
|
Sie auch die Slice-Nummer, so verwenden Sie einen Eintrag
|
|
der Form <replaceable>(hd0,2,a)</replaceable>. In der
|
|
Voreinstellung ist die Angabe der Slice-Nummer aber nicht
|
|
nötig, da GRUB automatisch das erste Slice (das die
|
|
Bezeichnung <literal>a</literal> hat) nutzt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="booteasy-loader">
|
|
<para>Wie boote ich &os; und &linux; mit
|
|
<application>BootEasy?</application></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie LILO am Anfang Ihrer
|
|
&linux;-Bootpartition, anstatt im Master Boot Record. Sie
|
|
können LILO dann von <application>BootEasy</application>
|
|
aus booten.</para>
|
|
|
|
<para>Wenn Sie &windows; und &linux; benutzen, wird das
|
|
ohnehin empfohlen, um es einfacher zu machen, &linux; wieder
|
|
zu booten, wenn es nötig werden sollte, dass Sie
|
|
&windows; neu installieren (&windows; ist ein
|
|
eifersüchtiges Betriebssystem, das kein anderes
|
|
Betriebssystem im Master Boot Sektor duldet).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="changing-bootprompt">
|
|
<para>Wie kann ich das <literal>???</literal> des
|
|
Boot-Managers durch etwas Sinnvolles ersetzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Solange Sie den Boot-Manager nicht komplett neu
|
|
schreiben, gar nicht. Allerdings gibt es in der Kategorie
|
|
<filename class="directory">sysutils</filename> der Ports diverse
|
|
Boot-Manager, die diese Funktionalität bieten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="removable-drives">
|
|
<para>Ich habe ein Wechsellaufwerk. Wie benutze ich
|
|
es?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ob es sich um ein Wechsellaufwerk handelt, um ein
|
|
&iomegazip; oder ein EZ-Laufwerk (oder sogar ein
|
|
Diskettenlaufwerk, wenn Sie es auf diese Weise benutzen
|
|
möchten), oder um eine neue Festplatte - wenn es
|
|
einmal installiert und vom System erkannt ist und Sie Ihre
|
|
Kassette/Diskette/was_auch_immer eingelegt haben, ist das
|
|
Vorgehen bei allen Geräten ziemlich
|
|
ähnlich.</para>
|
|
|
|
<para>(dieser Abschnitt basiert auf <ulink
|
|
url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">Mark
|
|
Mayo's ZIP-FAQ</ulink>)</para>
|
|
|
|
<para>Wenn es sich um ein ZIP- oder Diskettenlaufwerk
|
|
handelt, und sich bereits ein DOS-Dateisystem darauf
|
|
befindet, können Sie einen Befehl wie diesen für
|
|
eine Diskette benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/fd0c /floppy</userinput></screen>
|
|
|
|
<para>oder diesen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/da2s4 /zip</userinput></screen>
|
|
|
|
<para>für eine ZIP-Disk mit der
|
|
Herstellerkonfiguration.</para>
|
|
|
|
<para>Benutzen Sie bei anderen Platten &man.fdisk.8; oder
|
|
&man.sysinstall.8;, um herauszufinden, wie sie
|
|
konfiguriert sind.</para>
|
|
|
|
<para>Die restlichen Beispiele sind für ein
|
|
ZIP-Laufwerk unter <devicename>da2</devicename>,
|
|
der dritten SCSI-Platte.</para>
|
|
|
|
<para>Wenn es sich nicht um eine Diskette oder eine
|
|
Wechselplatte handelt, die Sie mit anderen Leuten
|
|
austauschen wollen, ist es wahrscheinlich besser, ein
|
|
BSD-Dateisystem darauf zu installieren. Hierdurch
|
|
bekommen Sie Unterstützung für lange Dateinamen,
|
|
eine mindestens doppelt so hohe Leistungsausnutzung und
|
|
wesentlich höhere Stabilität. Zunächst
|
|
müssen Sie die Partitionen/Dateisysteme auf DOS-Ebene
|
|
nochmals erstellen. Sie können entweder
|
|
&man.fdisk.8; oder &man.sysinstall.8;
|
|
benutzen, oder, bei einem kleinen Laufwerk, dem Sie eine
|
|
Unterstützung für mehrere Betriebssysteme nicht
|
|
zumuten wollen, entfernen Sie einfach die komplette FAT
|
|
Partitionstabelle (Slices) und benutzen Sie einfach die
|
|
BSD-Partitionierung:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda2 count=2</userinput>
|
|
&prompt.root; <userinput>disklabel -Brw da2 auto</userinput></screen>
|
|
|
|
<para>Sie können &man.disklabel.8; oder
|
|
&man.sysinstall.8; benutzen, um mehrere
|
|
BSD-Partitionen zu erstellen. Dies werden Sie sicherlich
|
|
bei einer fest eingebauten Platte wollen, aber bei einem
|
|
Wechsellaufwerk wie einem ZIP ist das wahrscheinlich
|
|
irrelevant.</para>
|
|
|
|
<para>Zum Schluß erstellen Sie ein neues Dateisystem -
|
|
dieses befindet sich auf unserem ZIP-Laufwerk und belegt
|
|
die gesamte Platte:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs /dev/rda2c</userinput></screen>
|
|
|
|
<para>anschließend mounten Sie es:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount /dev/da2c /zip</userinput></screen>
|
|
|
|
<para>Und sicherlich ist es keine schlechte Idee, eine Zeile
|
|
ähnlich der folgenden in die Datei
|
|
<filename>/etc/fstab</filename> einzufügen, damit Sie
|
|
in Zukunft nur <command>mount /zip</command> einzugeben
|
|
brauchen:</para>
|
|
|
|
<programlisting>/dev/da2c /zip ffs rw,noauto 0 0</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-cd-superblock">
|
|
<para>Wieso erhalte ich die Meldung <errorname>Incorrect
|
|
super block</errorname> beim Mounten einer CD-ROM?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie müssen &man.mount.8; mitteilen, was für
|
|
ein Gerät Sie mounten wollen. Genauere Informationen
|
|
dazu finden Sie im Kapitel <ulink
|
|
url="&url.books.handbook;/creating-cds.html">Optische
|
|
Speichermedien</ulink> des Handbuch, genauer gesagt im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cdrom-not-configured">
|
|
<para>Wieso erhalte ich die Meldung <errorname>Device not
|
|
configured</errorname>, wenn ich eine CD-ROM
|
|
mounte?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das bedeutet im allgemeinen, dass sich keine
|
|
CD-ROM im Laufwerk befindet, oder, dass das Laufwerk
|
|
auf dem Bus nicht sichtbar ist. Dieses Problem wird im
|
|
Kapitel <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink> des Handbuchs ausführlich
|
|
diskutiert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cdrom-unicode-filenames">
|
|
<para>Wieso werden alle Sonderzeichen in den Dateinamen auf
|
|
meinen CDs durch <quote>?</quote> ersetzt, wenn ich die CD
|
|
unter &os; benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wahrscheinlich werden auf der CD-ROM die
|
|
<quote>Joliet</quote> Erweiterungen für die
|
|
Speicherung von Datei- und Verzeichnisnamen benutzt.
|
|
Werfen Sie einen Blick in das Kapitel <ulink
|
|
url="&url.books.handbook;/creating-cds.html">Erzeugung von
|
|
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
|
über <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink>.</para>
|
|
|
|
<para>[Anmerkung des Übersetzers: Es geht hier nicht um
|
|
die deutschen Sonderzeichen, da diese schon im normalen
|
|
ISO8859-1 enthalten sind. Die Probleme treten auf, wenn
|
|
man z.B. russische CDs (ISO8859-5) verwendet.]</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="burncd-isofs">
|
|
<para>Ich habe eine CD mit &os; gebrannt und kann sie
|
|
nicht mit anderen Betriebssystemen lesen. Warum?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben wahrscheinlichste eine Datei direkt auf CD
|
|
geschrieben, statt ein ISO 9660-Dateisystem erzeugt zu
|
|
haben. Werfen Sie einen Blick in das Kapitel <ulink
|
|
url="&url.books.handbook;/creating-cds.html">Erzeugung von
|
|
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
|
über <ulink
|
|
url="&url.books.handbook;/creating-cds.html#RAWDATA-CD">reine
|
|
Daten-CDs</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="copy-cd">
|
|
<para>Wie kann ich ein Image einer Daten-CD erzeugen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Information finden Sie im Abschnitt <ulink
|
|
url="&url.books.handbook;/creating-cds.html#IMAGING-CD">Kopieren
|
|
von CD-ROMs</ulink> des Handbuchs. Weitere Informationen
|
|
über die Arbeit mit CD-ROMs finden Sie im Abschnitt
|
|
<ulink url="&url.books.handbook;/creating-cds.html">Erzeugen von
|
|
CD-ROMs</ulink> im Kapitel Speichermedien des
|
|
Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-audio-CD">
|
|
<para>Wieso kommt <command>mount</command> nicht meiner
|
|
Audio-CD zurecht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie versuchen sollten, eine Audio-CD zu mounten,
|
|
erhalten Sie die Meldung <errorname>cd9660: /dev/acd0c:
|
|
Invalid argument</errorname>. Der Grund dafür ist,
|
|
dass <command>mount</command> nur für
|
|
Dateisysteme vorgehen ist. Audio CDs habe kein
|
|
Dateisystem, sondern nur Daten. Wenn Sie eine Audio CD
|
|
auslesen wollen, brauchen Sie ein entsprechendes Programm
|
|
wie z.B. <filename
|
|
role="package">audio/xmcd</filename> aus den Ports.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multi-session-CD">
|
|
<para>Wie nutze ich <command>mount</command> für eine
|
|
Multi-Session CD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Standardmäßig benutzt &man.mount.8; den
|
|
letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine
|
|
ältere Session benutzen wollen, müssen Sie diese
|
|
mit der Option <option>-s</option> definieren. Weitere
|
|
Informationen finden Sie in der Onlinehilfe zu
|
|
&man.mount.cd9660.8;</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="user-floppymount">
|
|
<para>Wie lasse ich normale Benutzer Disketten, CD-ROMs und
|
|
andere Wechseldatenträger mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Normale Benutzer können dazu berechtigt werden,
|
|
Geräte zu mounten. Das geht so:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Setzen Sie als <username>root</username> die
|
|
sysctl-Variable <varname>vfs.usermount</varname> auf
|
|
<literal>1</literal>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ordnen Sie als <username>root</username> den
|
|
Block-Geräten, die den Wechsellaufwerken
|
|
zugeordnet sind, die entsprechenden Zugriffsrechte
|
|
zu.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel den Benutzer den Zugriff auf
|
|
das erste Diskettenlaufwerk zu erlauben
|
|
wollen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen>
|
|
|
|
<para>Um den Mitgliedern der Gruppe
|
|
<groupname>operator</groupname> den Zugriff auf das
|
|
CD-ROM zu gestatten:</para>
|
|
|
|
<screen>&prompt.root; <userinput>chgrp operator /dev/acd0c</userinput>
|
|
&prompt.root; <userinput>chmod 640 /dev/acd0c</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Sie müssen
|
|
zusätzlich <filename>/etc/devfs.conf</filename>
|
|
anpassen, weil diese Einstellungen ansonsten beim
|
|
Systemneustart verloren gehen.</para>
|
|
|
|
<para>Damit normale Benutzer beispielsweise das erste
|
|
Diskettenlaufwerk mounten können, fügen Sie
|
|
als <username>root</username> folgende Zeilen in
|
|
<filename>/etc/devfs.conf</filename> ein:</para>
|
|
|
|
<programlisting># Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten.
|
|
own /dev/fd0 root:operator
|
|
perm /dev/fd0 0666</programlisting>
|
|
|
|
<para>Damit alle Mitglieder der Gruppe
|
|
<groupname>operator</groupname> das CD-ROM-Laufwerk
|
|
mounten können, die folgenden Zeilen:</para>
|
|
|
|
<programlisting># Alle Mitglieder der Gruppe operator dürfen CD-ROMs mounten.
|
|
own /dev/acd0 root:operator
|
|
perm /dev/acd0 0660</programlisting>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Fügen Sie zum Abschluss die Zeile
|
|
<literal><varname>vfs.usermount=</varname>1</literal>
|
|
in die Datei <filename>/etc/sysctl.conf</filename>
|
|
ein, damit die Einstellung bei einem Neustart des
|
|
Systems automatisch erhalten bleibt.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Alle Benutzer können nun
|
|
<devicename>/dev/fd0</devicename> auf ein Verzeichnis, das
|
|
ihnen gehört, mounten:</para>
|
|
|
|
<screen>&prompt.user; <userinput> mkdir <replaceable>~/my-mount-point</replaceable></userinput>
|
|
&prompt.user; <userinput> mount -t msdosfs /dev/fd0 <replaceable>~/my-mount-point</replaceable></userinput></screen>
|
|
|
|
<para>Die zur Gruppe <groupname>operator</groupname>
|
|
gehörenden Benutzer können nun
|
|
<devicename>/dev/acd0c</devicename> auf ein Verzeichnis, das
|
|
ihnen gehört, mounten:</para>
|
|
|
|
<screen>&prompt.user; <userinput> mkdir <replaceable>~/my-mount-point</replaceable></userinput>
|
|
&prompt.user; <userinput> mount -t cd9660 /dev/acd0c <replaceable>~/my-mount-point</replaceable></userinput></screen>
|
|
|
|
<para>Das Unmounten des Gerätes ist simpel:</para>
|
|
|
|
<screen>&prompt.user; <userinput>umount <replaceable>~/my-mount-point</replaceable></userinput></screen>
|
|
|
|
<para>Die Aktivierung von <varname>vfs.usermount</varname>
|
|
hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
|
|
Ein besserer Weg, um auf &ms-dos;-formatierte
|
|
Datenträger zuzugreifen, ist die Benutzung des
|
|
Packages <filename
|
|
role="package">emulators/mtools</filename>.</para>
|
|
|
|
<note>
|
|
<para>Denken Sie daran, dass Sie die Gerätenamen in
|
|
diesen Beispielen an Ihre Konfiguration anpassen
|
|
müssen.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="du-vs-df">
|
|
<para>Wieso geben die Befehle <command>du</command> und
|
|
<command>df</command> unterschiedliche Werte für den
|
|
freien Plattenplatz aus?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Grund ist die Funktionsweise von
|
|
<command>du</command> und <command>df</command>.
|
|
<command>du</command> geht durch einen Dateibaum,
|
|
ermittelt die Größe jeder einzelnen Datei, und
|
|
gibt die Summe aus. <command>df</command> fragt lediglich
|
|
das Dateisystem wie viel Platz noch frei ist. Das
|
|
scheint zwar auf den ersten Blick sehr ähnlich zu
|
|
sein; allerdings wird sich ein leeres Verzeichnis auf die
|
|
Ausgabe von <command>df</command> auswirken, während
|
|
es auf das Ergebnis von <command>du</command> keinen
|
|
Einfluss hat.</para>
|
|
|
|
<para>Wenn Sie eine Datei löschen, während sie von
|
|
einem Programm genutzt wird, wird diese Datei erst
|
|
gelöscht, wenn sie vom Programm freigegeben wird.
|
|
Allerdings wird die Datei sofort aus dem Verzeichnis
|
|
entfernt. Sie können dieses Verhalten mit einem
|
|
Programm wie <command>more</command> sehr einfach
|
|
nachvollziehen. Dazu brauchen Sie nur eine Datei, die
|
|
groß genug ist, um die Ausgabe von
|
|
<command>du</command> und <command>df</command> zu
|
|
beeinflussen. Bei der Größe aktueller Platten
|
|
muss diese Datei schon <emphasis>sehr</emphasis>
|
|
groß sein! Wenn Sie diese Datei löschen,
|
|
während Sie sie sich in <command>more</command>
|
|
anzeigen lassen, hat <command>more</command> kein Problem.
|
|
Der Eintrag für die Datei wird lediglich aus dem
|
|
Verzeichnis entfernt, damit kein anderes Programm mehr
|
|
darauf zugreifen kann. Laut <command>du</command> ist die
|
|
Datei verschwunden – es hat das Verzeichnis
|
|
untersucht und die Datei nicht gefunden. Laut
|
|
<command>df</command> ist die Datei aber vorhanden, da sie
|
|
im Dateisystem immer noch Platz belegt. Sobald Sie
|
|
<command>more</command> beenden, werden die Ergebnisse von
|
|
<command>du</command> und <command>df</command> wieder
|
|
übereinstimmen.</para>
|
|
|
|
<para>Bitte beachten Sie, dass die Freigabe des
|
|
Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden
|
|
verzögert werden kann.</para>
|
|
|
|
<para>Die oben beschriebene Situation tritt sehr häufig
|
|
auf Web-Servern auf. Viele Anwender installieren einen
|
|
&os; Web-Server und vergessen die Rotation der
|
|
Logfiles, bis irgendwann die Partition <filename
|
|
class="directory">/var</filename> überläuft. Der
|
|
Administrator löscht die Datei, aber das System
|
|
beschwert sich immer noch über fehlenden
|
|
Plattenplatz. Die Datei wird erst freigegeben, wenn der
|
|
Web-Server beendet und neu gestartet wird; dadurch kann
|
|
das System den Plattenplatz freigeben. Um solche und
|
|
ähnliche Unfälle zu verhindern, sollten Sie
|
|
&man.newsyslog.8; einsetzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="add-swap-space">
|
|
<para>Wie kann ich den Swap-Bereich
|
|
vergrößern?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im Kapitel <ulink
|
|
url="&url.books.handbook;/config-tuning.html">Konfiguration und
|
|
Tuning</ulink> des Handbuches gibt es einen <ulink
|
|
url="&url.books.handbook;/adding-swap-space.html">Abschnitt</ulink>
|
|
mit einer Schritt-für-Schritt Anleitung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="manufacturer-disk-size">
|
|
<para>Warum ist meine Festplatte unter &os; kleiner, als sie
|
|
laut Hersteller sein soll?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Festplattenhersteller definieren ein Gigabyte als eine
|
|
Milliarde Bytes, für &os; ist ein Gigabyte hingegen
|
|
1.073.741.824 Bytes groß. Aus diesem Grund wird
|
|
für eine Platte, die laut Herstellerangaben
|
|
80 GB groß ist, während des Bootvorgangs
|
|
eine Größe von 76.319 MB angezeigt.</para>
|
|
|
|
<para>Beachten Sie auch, dass &os; (in der Voreinstellung)
|
|
8 % des Plattenplatzes für sich
|
|
<link linkend="disk-more-than-full">reserviert</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disk-more-than-full">
|
|
<para>Warum kann eine Partition zu mehr als 100% gefüllt
|
|
sein?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%,
|
|
ist für das Betriebssystem und den Benutzer
|
|
<username>root</username> reserviert. &man.df.1; rechnet
|
|
diesen Teil bei der Ausgabe der <literal>Capacity</literal>
|
|
Spalte nicht ein, so dass dort Werte über 100%
|
|
angezeigt werden können. Die Anzahl der Blöcke in
|
|
der <literal>blocks</literal> Spalte ist ebenfalls um 8%
|
|
größer als die Summe der benutzten und
|
|
verfügbaren Blöcke (die Spalten
|
|
<literal>Used</literal> und <literal>Avail</literal>).</para>
|
|
|
|
<para>Wie viel Platz reserviert wird, können Sie mit der
|
|
<option>-m</option> Option von &man.tunefs.8; einstellen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="admin">
|
|
<title>Systemadministration</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="startup-config-files">
|
|
<para>Wo befinden sich die Konfigurationsdateien für
|
|
den Systemstart?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><filename>/etc/defaults/rc.conf</filename> (siehe
|
|
&man.rc.conf.5;) ist die primäre Konfigurationsdatei.
|
|
Die Startskripten des Systems, wie
|
|
<filename class="directory">/etc/rc</filename> und
|
|
<filename class="directory">/etc/rc.d</filename> (siehe &man.rc.8;)
|
|
inkludieren diese Datei.
|
|
<emphasis>Ändern Sie diese Datei nicht!</emphasis>
|
|
Wenn Sie den Wert einer der in
|
|
<filename>/etc/defaults/rc.conf</filename> gesetzten
|
|
Variablen ändern wollen, fügen Sie die
|
|
entsprechende Zeile in die Datei
|
|
<filename>/etc/rc.conf</filename> ein und ändern
|
|
die Zeile dort.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel den mitgelieferten DNS-Server
|
|
&man.named.8 aktivieren wollen, müssen Sie lediglich
|
|
das folgende Kommando eingeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo 'named_enable="YES"' >> /etc/rc.conf</userinput></screen>
|
|
|
|
<para>Wenn Sie lokale Server starten wollen, müssen
|
|
Sie passende Shellskripten im Verzeichnis <filename
|
|
class="directory">/usr/local/etc/rc.d/</filename> ablegen. Die
|
|
Dateien müssen als ausführbar markiert sein und
|
|
die Dateiberechtigungen <literal>555</literal> besitzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="adding-users">
|
|
<para>Wie kann ich am Einfachsten einen Benutzer
|
|
hinzufügen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie den Befehl &man.adduser.8; und für
|
|
kompliziertere Fälle den Befehl &man.pw.8;.</para>
|
|
|
|
<para>Benutzen Sie den Befehl &man.rmuser.8;, um einen
|
|
Benutzer wieder zu löschen. Sie können, wenn
|
|
nötig. auch &man.pw.8; benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="root-not-found-cron-errors">
|
|
<para>Warum erhalte ich Meldungen wie <errorname>root: not
|
|
found</errorname>, nachdem ich meine
|
|
<filename>crontab</filename> geändert habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die übliche Ursache dieses Problems ist,
|
|
dass Sie die crontab des Systems
|
|
(<filename>/etc/crontab</filename>) geändert und dann
|
|
mit &man.crontab.1; installiert haben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen>
|
|
|
|
<para>Diese Vorgehensweise ist falsch. Die crontab des
|
|
Systems hat ein anderes Format als die crontabs für
|
|
die einzelnen Benutzer, die mit &man.crontab.1;
|
|
aktualisiert werden (genauere Informationen über die
|
|
Unterschiede erhalten Sie in &man.crontab.5;).</para>
|
|
|
|
<para>Wenn Sie so vorgegangen sind, ist die zweite crontab
|
|
einfach nur eine Kopie von
|
|
<filename>/etc/crontab</filename>, allerdings im falschen
|
|
Format. Löschen Sie sie mit dem folgenden
|
|
Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab -r</userinput></screen>
|
|
|
|
<para>Wenn Sie <filename>/etc/crontab</filename> wieder
|
|
ändern müssen, sollten Sie einfach gar nichts
|
|
tun, um &man.cron.8; über die Änderung zu
|
|
informieren, er erkennt die Änderung
|
|
automatisch.</para>
|
|
|
|
<para>Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden
|
|
Monat ausführen lassen wollen, ist es wahrscheinlich
|
|
einfacher, wenn Sie entsprechende Shell-Scripte in <filename
|
|
class="directory">/usr/local/etc/periodic</filename> ablegen.
|
|
Diese werden dann von &man.periodic.8; zusammen mit den
|
|
anderen regelmäßigen <command>cron</command>
|
|
Tätigkeiten ausgeführt.</para>
|
|
|
|
<para>Der eigentliche Grund für den Fehler ist die
|
|
Tatsache, dass die crontab des Systems ein
|
|
zusätzliches Feld enthält; dieses Feld gibt an,
|
|
mit welcher Benutzerkennung der Befehl ausgeführt
|
|
werden soll. In der mitgelieferten crontab ist das bei
|
|
allen Einträgen die Benutzerkennung
|
|
<username>root</username>. Wenn diese Datei als die
|
|
crontab des Benutzers <username>username</username> (die
|
|
<emphasis>nicht</emphasis> mit der crontab des Systems
|
|
identisch ist) verwendet wird, hält &man.cron.8; die
|
|
Zeichenkette <literal>root</literal> für den Namen
|
|
des zu startenden Programmes, aber dieses Programm gibt es
|
|
nicht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="su-wheel-group">
|
|
<para>Wieso meldet mir &man.su.1; <errorname>you are not in
|
|
the correct group to su root</errorname>, wenn ich mit
|
|
<command>su</command> <username>root</username> werden will?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das ist ein Sicherheits-Feature. Wenn Sie mit
|
|
<command>su</command> zum Account <username>root</username> (oder
|
|
jedem anderen Account mit Super-User-Privilegien) wechseln
|
|
wollen, müssen Sie ein Mitglied der Gruppe
|
|
<groupname>wheel</groupname> sein. Wenn es dieses Feature
|
|
nicht gäbe, könnte jeder, der einen Account auf
|
|
dem System hat und zufällig das Passwort
|
|
für <username>root</username> erfährt, mit
|
|
Super-User-Rechten auf das System zugreifen. Durch dieses
|
|
Feature ist die Lage anders, wenn Sie nicht Mitglied von
|
|
<groupname>wheel</groupname> sind, können Sie nicht
|
|
einmal versuchen, dass Passwort
|
|
einzugeben.</para>
|
|
|
|
<para>Um einem Benutzer zu erlauben, mit <command>su</command>
|
|
<username>root</username> zu werden, müssen Sie ihn
|
|
nur in die Gruppe <groupname>wheel</groupname>
|
|
eintragen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="rcconf-readonly">
|
|
<para>Ich habe einen Fehler in der
|
|
<filename>rc.conf</filename> oder einer der anderen
|
|
Dateien für den Systemstart und jetzt kann ich sie
|
|
nicht ändern, weil das Dateisystem
|
|
<quote>read-only</quote> ist. Was kann ich tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Starten Sie das System mittels <userinput>boot -s</userinput>
|
|
an der Loader-Eingabeaufforderung neu, um in den Single-User-Modus
|
|
zu gelangen. Wenn Sie aufgefordert werden, den Pfadnamen
|
|
der Shell einzugeben, drücken Sie einfach
|
|
<keycap>Enter</keycap>. Geben Sie danach <command>mount -urw
|
|
/</command> ein, um das Root-Dateisystem im
|
|
Schreib/Lese-Modus zu mounten. Sie werden wahrscheinlich
|
|
auch <command>mount -a -t ufs</command> ausführen
|
|
müssen, um das Dateisystem mit Ihrem Lieblingseditor
|
|
zu mounten. Wenn Ihr Lieblingseditor auf einem
|
|
Netzwerklaufwerk liegt, müssen Sie entweder das
|
|
Netzwerk von Hand konfigurieren oder einen Editor
|
|
benutzen, der auf einem lokalen Laufwerk vorhanden ist,
|
|
z.B. &man.ed.1;.</para>
|
|
|
|
<para>Wenn Sie einen bildschirmorientierten Editor wie zum
|
|
Beispiel &man.vi.1; oder &man.emacs.1; benutzen wollen,
|
|
werden Sie auch den Befehl <command>export
|
|
TERM=cons25</command> ausführen müssen, damit
|
|
diese Editoren die richtigen Einstellungen aus der
|
|
Datenbank &man.termcap.5; übernehmen.</para>
|
|
|
|
<para>Sobald Sie diese Schritte ausgeführt, können
|
|
Sie den Fehler in der <filename>/etc/rc.conf</filename>
|
|
ganz normal beheben. Die Fehlermeldungen, die Ihnen
|
|
unmittelbar nach den Startmeldungen des Kernels angezeigt
|
|
wurden, sollten Ihnen die Nummer der Zeile mit dem Fehler
|
|
melden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="printer-setup">
|
|
<para>Wieso habe ich habe Probleme, meinen Drucker
|
|
einzurichten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen sie den <ulink
|
|
url="&url.books.handbook;/printing.html">Handbucheintrag über
|
|
Drucker</ulink>. Es sollte die meisten Ihrer Probleme
|
|
behandeln.</para>
|
|
|
|
<para>Einige Drucker benötigen einen auf dem Rechner
|
|
laufenden Treiber, um drucken zu können. Diese
|
|
so genannten <quote>WinPrinter</quote> oder
|
|
<quote>GDI-Drucker</quote> werden von &os; nicht
|
|
unterstützt und an diesem Zustand wird sich wohl auch
|
|
nichts ändern. Wenn Ihr Drucker nicht unter DOS oder
|
|
&windows; verwendet werden kann, handelt es sich um
|
|
einen <quote>WinPrinter</quote> und wird in der Regel auch
|
|
nicht unter &os; funktionieren. Ihre einzige Chance,
|
|
einen dieser Drucker benutzen können, ist der Port
|
|
<filename
|
|
role="package">ports/print/pnm2ppa</filename>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="keyboard-mappings">
|
|
<para>Wie kann ich die Tastaturbelegung meines Systems
|
|
korrigieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Informationen dazu finden Sie im Kapitel <ulink
|
|
url="&url.books.handbook;/using-localization.html">länderspezifische
|
|
Einstellungen</ulink> des Handbuchs, insbesondere im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/using-localization.html#SETTING-CONSOLE">Konfiguration
|
|
der Konsole</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-resources">
|
|
<para>Wieso erhalte ich beim Start des Systems Meldungen wie
|
|
<errorname>unknown: <PNP0303> can't assign
|
|
resources</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die nachfolgende Erklärung stammt aus einer Mail
|
|
auf der Mailingliste &a.current;.</para>
|
|
|
|
<blockquote>
|
|
<attribution>&a.wollman;, 24 April 2001</attribution>
|
|
|
|
<para>Die Geräte, für die <quote>can't assign
|
|
resources</quote>-Meldungen ausgegeben werden, sind
|
|
<quote>Legacy ISA</quote>Geräte, für die ein nicht
|
|
PNP-fähiger Treiber in den Kernel eingebunden
|
|
wurde. Dabei handelt es sich um Geräte wie den
|
|
Tastaturkontroller, den programmierbaren
|
|
Interrupt-Kontroller und diverse andere
|
|
Standardkomponenten. Die Ressourcen können nicht
|
|
zugewiesen werden, weil es schon einen Treiber gibt, der
|
|
diese Ressourcen benutzt.</para>
|
|
</blockquote>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="user-quotas">
|
|
<para>Wieso funktionieren die Benutzer-Quotas nicht
|
|
richtig?</para>
|
|
</question>
|
|
|
|
<!-- XXX
|
|
This may be the worst answer in the entire document.
|
|
-->
|
|
|
|
<answer>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Es kann sein, dass Ihr Kernel nicht für den
|
|
Einsatz von Quotas konfiguriert ist. Damit Sie mit
|
|
Quotas arbeiten können, müssen Sie folgende
|
|
Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und
|
|
den Kernel neu bauen:</para>
|
|
|
|
<programlisting>options QUOTA</programlisting>
|
|
|
|
<para>Weitere Informationen zum Einsatz von Quotas
|
|
finden Sie im entsprechenden
|
|
<ulink
|
|
url="&url.books.handbook;/quotas.html">Abschnitt</ulink>
|
|
des Handbuchs.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie keine Quotas für <filename
|
|
class="directory">/</filename>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erstellen Sie die Quotas-Datei in dem Dateisystem,
|
|
für das die Quotas gelten sollen, z.B.:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>File System</entry>
|
|
|
|
<entry>Quota file</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><filename class="directory">/usr</filename></entry>
|
|
|
|
<entry><filename>/usr/admin/quotas</filename></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename
|
|
class="directory">/home</filename></entry>
|
|
|
|
<entry><filename>/home/admin/quotas</filename></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>…</entry>
|
|
|
|
<entry>…</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sysv-ipc">
|
|
<para>Unterstützt &os; IPC-Grundfunktionen von
|
|
System V?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, &os; unterstützt IPC im Stil von System V
|
|
einschließlich gemeinsamen Speicher, Nachrichten und
|
|
Semaphoren bereits mit dem
|
|
<filename>GENERIC</filename>-Kernel. Wenn Sie einen
|
|
angepassten Kernel verwenden, müssen Sie die folgenden
|
|
Zeilen in Ihre Kernelkonfigurationsdatei einfügen:</para>
|
|
|
|
<programlisting>
|
|
options SYSVSHM
|
|
options SYSVSHM # enable shared memory
|
|
options SYSVSEM # enable for semaphores
|
|
options SYSVMSG # enable for messaging
|
|
</programlisting>
|
|
|
|
<para>Danach kompilieren und installieren Sie den neuen
|
|
Kernel.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sendmail-alternative">
|
|
<para>Welchen Mail-Server kann ich an Stelle von
|
|
<application>sendmail</application> benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><ulink url="http://www.sendmail.org/">
|
|
<application>sendmail</application></ulink>
|
|
ist zwar der Mail-Server, der bei &os;
|
|
standardmäßig installiert wird, aber Sie
|
|
können Ihn problemlos durch einen anderen MTA (z.B.
|
|
aus den Ports) ersetzen.</para>
|
|
|
|
<para>In der Port-Sammlung gibt es bereits viele
|
|
verschiedene MTAs, <filename
|
|
role="package">mail/exim</filename>,
|
|
<filename role="package">mail/postfix</filename>,
|
|
<filename role="package">mail/qmail</filename>, sowie
|
|
<filename role="package">mail/zmailer</filename>
|
|
sind einige der beliebteren Alternativen.</para>
|
|
|
|
<para>Konkurrenz belebt das Geschäft und die Tatsache,
|
|
dass Sie die Qual der Wahl haben, ist ein Vorteil.
|
|
Daher sollten Sie Fragen wie <quote>Ist
|
|
<application>sendmail</application>
|
|
besser als <application>qmail</application>?</quote> besser nicht
|
|
auf den Mailinglisten stellen. Wenn Sie dieses Thema interessiert,
|
|
sollten sie zunächst die Archive durchsehen. Die Vorteile und
|
|
Nachteile jedes einzelnen der verfügbaren MTAs sind
|
|
schon mehrere Male bis zur Erschöpfung diskutiert
|
|
worden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="forgot-root-pw">
|
|
<para>Was kann ich machen, wenn ich das Rootpasswort
|
|
vergessen habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Keine Panik! Starten Sie Ihr System neu und
|
|
geben Sie <userinput>boot -s</userinput> an der
|
|
Eingabeaufforderung <literal>Boot:</literal> ein, um in den
|
|
Single-User-Modus zu gelangen. Bei der Frage danach,
|
|
welche Shell benutzt werden soll, drücken Sie einfach
|
|
<keycap>Enter</keycap>. Nun erscheint die Eingabeaufforderung
|
|
&prompt.root;. Geben Sie <command>mount -urw /</command>
|
|
ein, um Ihr Root-Dateisystem für Lese- und
|
|
Schreibzugriffe zu remounten und dann <command>mount
|
|
-a</command>, um alle Dateisysteme zu remounten. Mit
|
|
<command>passwd root</command> können Sie das
|
|
Rootpasswort ändern und mit &man.exit.1;
|
|
können Sie mit dem Booten fortfahren.</para>
|
|
|
|
<note>
|
|
<para>Wenn Sie immer noch dazu aufgefordert werden, das
|
|
<username>root</username> Passwort beim Betreten des
|
|
Single-User-Modus einzugeben, bedeutet das, dass die Konsole
|
|
als <literal>insecure</literal> in
|
|
<filename>/etc/ttys</filename> markiert wurde. In diesem Fall
|
|
ist es notwendig, von einem &os; Installationsmedium zu booten,
|
|
die <guimenuitem>Fixit</guimenuitem>-Shell auszuwählen und
|
|
die oben beschriebenen Befehle einzugeben.</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para>Wenn Sie ihre root Partition im Single-User-Modus
|
|
nicht mounten können, liegt es möglicherweise
|
|
daran, dass die Partionen verschlüsselt sind und es
|
|
damit unmöglich ist, sie ohne die
|
|
dazugehörigen Schlüssel zu mounten. Ihre
|
|
Chancen hängen von der jeweiligen Implementierung
|
|
ab. Für weitere Informationen lesen Sie den
|
|
Abschnittt über verschlüsselte Partitionen im
|
|
&os; <ulink
|
|
url="&url.books.handbook;/disks-encrypting.html">Handbuch</ulink>.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="CAD-reboot">
|
|
<para>Wie verhindere ich, dass das System mit <keycombo
|
|
action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>Alt</keycap>
|
|
<keycap>Delete</keycap>
|
|
</keycombo>
|
|
rebootet werden kann?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie &man.syscons.4; (der Standard-Treiber für die
|
|
Konsole) benutzen, fügen Sie folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei ein:</para>
|
|
|
|
<programlisting>options SC_DISABLE_REBOOT</programlisting>
|
|
|
|
<para>Alternativ können Sie auch die folgende
|
|
&man.sysctl.8;-Variable setzen (die aktiviert wird, ohne dass Sie
|
|
Ihr System dazu neu starten oder einen angepassten Kernel
|
|
erstellen müssen):</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl hw.syscons.kbd_reboot=0</userinput></screen>
|
|
|
|
<note>
|
|
<para>Die beiden oben genannten Methoden schliessen sich
|
|
gegenseitig aus: &man.sysctl.8; existiert nicht, wenn Sie ihren
|
|
Kernel mit der Option <literal>SC_DISABLE_REBOOT</literal>
|
|
bauen.</para>
|
|
</note>
|
|
|
|
<para>Falls Sie den &man.pcvt.4; Konsolentreiber verwenden, fügen
|
|
Sie die folgende Zeile in die Kernelkonfigurationsdatei hinzu und
|
|
bauen Sie einen neuen Kernel:</para>
|
|
|
|
<programlisting>options PCVT_CTRL_ALT_DEL</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-to-unix-txt">
|
|
<para>Wie kann ich Textdateien von DOS Systemen auf &unix;
|
|
Systemen verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie diesen Perl-Befehl:</para>
|
|
|
|
<screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' <replaceable>file(s)</replaceable></userinput></screen>
|
|
|
|
<para>Wobei <replaceable>file(s)</replaceable> eine oder mehrere
|
|
zu verarbeitende(n) Datei(en) ist/sind. Die Änderungen
|
|
erfolgen in der Originaldatei, die zuvor mit der Erweiterung
|
|
<filename>.bak</filename> gesichert wird.</para>
|
|
|
|
<para>Alternativ können Sie den Befehl &man.tr.1;
|
|
benutzen:</para>
|
|
|
|
<screen>&prompt.user; <userinput>tr -d '\r' < <replaceable>dos-text-file</replaceable> > <replaceable>unix-file</replaceable></userinput></screen>
|
|
|
|
<para><replaceable>dos-text-file</replaceable> ist die
|
|
Datei, die den Text im DOS-Format enthält und
|
|
<replaceable>unix-file</replaceable> wird die konvertierte
|
|
Ausgabe enthalten. Diese Möglichkeit könnte
|
|
etwas schneller sein, als die Benutzung von
|
|
<command>perl</command>.</para>
|
|
|
|
<para>Die Verwendung des Ports <filename
|
|
role="package">converters/dosunix</filename> aus der Ports-Sammlung
|
|
stellt eine weitere Möglichkeit dar, DOS-Textdateien neu zu
|
|
formatieren. Konsultieren Sie die Dokumentation für weitere
|
|
Informationen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kill-by-name">
|
|
<para>Wie beende ich Prozesse namentlich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie &man.pkill.1;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="root-acl">
|
|
<para>Warum nervt &man.su.1; mich damit, dass ich nicht in der
|
|
ACL von <username>root</username> bin?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Fehler stammt vom verteilten
|
|
Authentifizierungssystem <application>Kerberos</application>.
|
|
Das Problem ist nicht ernsthaft, aber störend. Sie
|
|
können entweder su mit der Option <option>-K</option>
|
|
benutzen, oder <application>Kerberos</application> deinstallieren,
|
|
wie in der nächsten Frage beschrieben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="uninstall-kerberos">
|
|
<para>Wie deinstalliere ich
|
|
<application>Kerberos</application>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um <application>Kerberos</application> aus dem System zu
|
|
entfernen, müssen Sie die <literal>base</literal>-Distribution
|
|
der von Ihnen benutzten RELEASE neu installieren. Wenn Sie die
|
|
CD-ROM besitzen, können Sie sie mounten (wir nehmen an, unter
|
|
<filename class="directory">/cdrom</filename>) und folgende Befehle
|
|
ausführen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /cdrom/base</userinput>
|
|
&prompt.root; <userinput>./install.sh</userinput></screen>
|
|
|
|
<para>Alternativ können Sie mit der Option
|
|
<makevar>NO_KERBEROS</makevar> in der
|
|
<filename>/etc/make.conf</filename> ein make world
|
|
durchführen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question id="add-pty">
|
|
<para>Wie füge ich Pseudo-Terminals zum System
|
|
hinzu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie viele Benutzer von <command>telnet</command>,
|
|
<command>ssh</command>, X oder <command>screen</command> haben,
|
|
werden Ihnen eventuell die Pseudo-Terminals ausgehen.
|
|
Standardmässig unterstützt &os; 6.2 und vorherige
|
|
Versionen 256 Pseudo-Terminals, während &os; 6.3 und
|
|
höher 512 Pseudo-Terminals zur Verfügung stellt.</para>
|
|
|
|
<tip>
|
|
<para>Wenn nötig, können mehr Pseudo-Terminals
|
|
hinzugefügt werden. Allerdings muss dafür die
|
|
C-Blibliothek, der Kernel und <filename>/etc/ttys</filename>
|
|
erweitert werden. Zum Beispiel erhöht <ulink
|
|
url="http://www.freebsd.org/~jhb/patches/pty_1152.patch"></ulink>
|
|
die Anzahl an Pseudo-Terminals auf 1152. Beachten Sie, dass die
|
|
Erweiterung nur für &os; 6.3 oder höher problemlos
|
|
funktioniert.</para>
|
|
</tip>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="reread-rc">
|
|
<para>Wie lade ich <filename>/etc/rc.conf</filename> und
|
|
starte <filename>/etc/rc</filename> neu, ohne zu
|
|
rebooten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Gehen Sie in den Single-User-Modus und dann
|
|
zurück in den Multi-User-Modus.</para>
|
|
|
|
<para>Geben Sie auf der Konsole folgendes ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>shutdown now</userinput>
|
|
(Hinweis: ohne -r oder -h)
|
|
&prompt.root; <userinput>return</userinput>
|
|
&prompt.root; <userinput>exit</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="release-candidate">
|
|
<para>Ich wollte auf das aktuelle <emphasis>-STABLE</emphasis>
|
|
updaten, und plötzlich läuft hier ein
|
|
<emphasis>-BETA<replaceable>x</replaceable></emphasis>,
|
|
<emphasis>-RC</emphasis> oder <emphasis>-PRERELEASE</emphasis>!
|
|
Was ist passiert?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurze Antwort: Das ist nur ein anderer Name.
|
|
<emphasis>RC</emphasis> ist die Abkürzung für
|
|
<quote>Release Candidate</quote>. Es bedeutet, dass eine neue
|
|
Release bevorsteht. Und <emphasis>-PRERELEASE</emphasis> bedeutet
|
|
bei &os; normalerweise, dass die Sourcen zur Vorbereitung auf eine
|
|
Release <quote>eingefroren</quote> wurden (in einigen
|
|
Releases wurde <emphasis>-BETA</emphasis> anstelle von
|
|
<emphasis>-PRERELEASE</emphasis> verwendet).</para>
|
|
|
|
<para>Ausführliche Antwort: Bei &os; gibt es zwei
|
|
Quellen für Releases. Die Major Releases wie
|
|
7.0-RELEASE und 8.0-RELEASE werden aus dem aktuellen Stand
|
|
des Hauptzweiges der Entwicklung (besser und kürzer
|
|
als <link linkend="current">-CURRENT</link> bekannt)
|
|
erzeugt. Minor Releases wie 6.3-RELEASE oder 5.2-RELEASE
|
|
stammen aus dem aktiven <link
|
|
linkend="stable">-STABLE</link> Zweig. Seit 4.3-RELEASE
|
|
gibt es es nun auch einen eigenen Zweig für jede
|
|
Release, der für die Leute gedacht ist, die ein sehr
|
|
konservativ weiterentwickeltes System benötigen (im
|
|
Normalfall also nur Updates aus dem Bereich
|
|
Sicherheit).</para>
|
|
|
|
<para>Bevor in einem Zweig eine Release erfolgt, muss
|
|
in diesem Zweig ein bestimmter Prozess ablaufen. Ein
|
|
Teil dieses Prozesses ist der <quote>code freeze</quote>,
|
|
der Stop der Weiterentwicklung. Sobald dieser Schritt
|
|
erfolgt ist, wird der Name des Zweiges geändert, um
|
|
anzuzeigen, dass demnächst eine Release erfolgen
|
|
wird. Wenn der Zweig zum Beispiel 6.2-STABLE genannt
|
|
wurde, wird der Name in 6.3-PRERELEASE geändert, um
|
|
dies zu verdeutlichen. Weiterhin ist das ein Zeichen, dass
|
|
jetzt besonders intensiv getestet werden sollte. In
|
|
dieser Phase können Fehler im Sourcecode noch
|
|
korrigiert werden. Wenn der Sourcecode so weit
|
|
<quote>gereift</quote> ist, dass eine Release
|
|
erstellt werden kann, wird der Name in 6.3-RC
|
|
geändert, um genau dies anzuzeigen. In dieser Phase
|
|
können nur noch extrem wichtige Korrekturen
|
|
aufgenommen werden. Sobald die Release (in diesem Beispiel
|
|
6.3-RELEASE) erfolgt ist, wird der Zweig in 6.3-STABLE
|
|
umbenannt.</para>
|
|
|
|
<para>Weitere Informationen über Versionsnummern und die
|
|
verschiedenen Entwicklungszweige enthält der Artikel
|
|
<ulink
|
|
url="&url.articles.releng.en;/article.html">Release
|
|
Engineering</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-chflag-failure">
|
|
<para>Als ich versucht habe, einen neuen Kernel zu
|
|
installieren, ist das &man.chflags.1; fehlgeschlagen. Was mache
|
|
ich jetzt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurze Antwort: Ihre Sicherheitseinstellung (der
|
|
<literal>securelevel</literal>) ist wahrscheinlich
|
|
größer als 0. Sie müssen das System neu starten
|
|
und den Kernel im Single-User-Modus installieren.</para>
|
|
|
|
<para>Ausführliche Antwort: Wenn die
|
|
Sicherheitseinstellung größer als 0 ist,
|
|
erlaubt Ihnen &os; nicht, die Systemflags zu
|
|
ändern. Um den aktuellen Securelevel zu ermitteln,
|
|
können Sie das folgende Kommando benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
|
|
|
|
<para>Sie können die Sicherheitseinstellung nicht
|
|
verringern. Sie müssen das System neu starten und den
|
|
Kernel im Single-User-Modus installieren oder die
|
|
Sicherheitseinstellung in
|
|
<filename>/etc/rc.conf</filename> ändern und dann das
|
|
System neu starten. Weitere Details zu
|
|
<literal>securelevel</literal> erhalten Sie in &man.init.8;,
|
|
weitere Informationen zur rc.conf erhalten Sie in
|
|
<filename>/etc/defaults/rc.conf</filename> und
|
|
&man.rc.conf.5;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-securelevel-time">
|
|
<para>Ich kann die Systemzeit nicht um mehr als eine Sekunde
|
|
verstellen. Was mache ich jetzt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurze Antwort: Ihre Sicherheitseinstellung (der
|
|
<literal>securelevel</literal>) ist wahrscheinlich
|
|
größer als 1. Sie müssen das System neu starten
|
|
und die Systemzeit im Single-User-Modus verstellen.</para>
|
|
|
|
<para>Ausführliche Antwort: Wenn die
|
|
Sicherheitseinstellung größer als 1 ist,
|
|
erlaubt Ihnen &os; nicht, die Systemzeit zu
|
|
ändern. Um den aktuellen Securelevel zu ermitteln,
|
|
können Sie das folgende Kommando benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
|
|
|
|
<para>Sie können die Sicherheitseinstellung nicht
|
|
verringern, Sie müssen das System neu starten und die
|
|
Systemzeit im Single-User-Modus ändern oder die
|
|
Sicherheitseinstellung in
|
|
<filename>/etc/rc.conf</filename> ändern und dann das
|
|
System neu starten. Weitere Details zu
|
|
<literal>securelevel</literal> erhalten Sie in &man.init.8;,
|
|
weitere Informationen zur <filename>rc.conf</filename> erhalten Sie
|
|
in <filename>/etc/defaults/rc.conf</filename> und
|
|
&man.rc.conf.5;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="statd-mem-leak">
|
|
<para>Warum braucht &man.rpc.statd.8; 256 MB
|
|
Speicher?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nein, das Programm hat keinen Fehler und es verbraucht
|
|
auch nicht 256 MB Speicher. <command>rpc.statd</command>
|
|
projiziert nur einen übertrieben großen
|
|
Speicherbereich in seinen eigenen Adressraum.
|
|
Von einem rein technischen Standpunkt aus
|
|
ist das nichts verwerfliches, allerdings verwirrt es
|
|
Programme wie &man.top.1; und &man.ps.1;.</para>
|
|
|
|
<para>&man.rpc.statd.8; projiziert seine Statusdatei (die in
|
|
<filename class="directory">/var</filename> liegt) in seinen
|
|
Adressraum. Um die Probleme zu vermeiden, die bei
|
|
einer Vergrößerung dieser Projektion entstehen
|
|
könnten, wird gleich ein möglichst großer
|
|
Speicherbereich benutzt. Dies kann man sehr schön im
|
|
Sourcecode sehen: Die Längenangabe beim Aufruf von
|
|
&man.mmap.2; ist <literal>0x10000000</literal>, ein
|
|
sechzehntel des Adressraums bei IA32, oder genau
|
|
256 MByte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="unsetting-schg">
|
|
<para>Warum kann ich das Dateiattribut
|
|
<literal>schg</literal> nicht löschen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie betreiben Ihr System mit einer erhöhten
|
|
Sicherheitsstufe. Senken Sie die Sicherheitsstufe und
|
|
versuchen Sie es dann noch einmal. Weitere Informationen
|
|
erhalten Sie im <link linkend="securelevel">FAQ Eintrag
|
|
über Sicherheitsstufen</link> und in der Online-Hilfe
|
|
&man.init.8;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ssh-shosts">
|
|
<para>Warum funktioniert die <filename>.shosts</filename>
|
|
Authentifizierung von <application>SSH</application> in neueren
|
|
Versionen von &os; nicht mehr?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die <filename>.shosts</filename>
|
|
Authentifizierung funktioniert nicht mehr, weil
|
|
&man.ssh.1; in neueren Versionen von &os; nicht mehr
|
|
SUID-<username>root</username> installiert wird. Um dieses
|
|
Problem zu <quote>lösen</quote>, gibt es die folgenden
|
|
Möglichkeiten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Um das Problem für immer zu lösen,
|
|
müssen Sie in <filename>/etc/make.conf</filename>
|
|
die Variable <makevar>ENABLE_SUID_SSH</makevar> auf
|
|
<literal>true</literal> setzen und danach &man.ssh.1; neu
|
|
übersetzen (oder <command>make
|
|
<maketarget>world</maketarget></command>) ausführen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Übergangsweise können Sie auch die
|
|
Dateirechte von <filename>/usr/bin/ssh</filename> auf
|
|
<literal>4555</literal> setzen, indem Sie den Befehl
|
|
<command>chmod 4555 /usr/bin/ssh</command> als
|
|
<username>root</username> ausführen. Fügen
|
|
Sie anschließend
|
|
<literal><makevar>ENABLE_SUID_SSH</makevar> =true</literal> in
|
|
die Datei <filename>/etc/make.conf</filename> ein, damit diese
|
|
Änderung erhalten bleibt, wenn Sie das nächste Mal
|
|
<command>make <maketarget>world</maketarget></command>
|
|
ausführen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="vnlru">
|
|
<para>Was ist <literal>vnlru</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><literal>vnlru</literal> schreibt vnodes auf Platte
|
|
und gibt sie wieder frei, falls das System die Grenzwert
|
|
<varname>kern.maxvnodes</varname> erreicht. Dieser Thread
|
|
des Kernel tut meistens gar nichts und wird nur aktiv,
|
|
wenn Sie extrem viel RAM haben und gleichzeitig auf viele
|
|
zehntausende kleine Dateien zugreifen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="top-memory-states">
|
|
<para>Was bedeuten die Zustände, die
|
|
<command>top</command> für Speicherseiten ausgibt?</para>
|
|
</question>
|
|
<!-- Provided by John Dyson via Usenet -->
|
|
<answer>
|
|
<para>Speicherseiten werden vom Kernel in
|
|
verschiedenen Listen verwaltet:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para><literal>Active</literal>: Seiten, die vor
|
|
Kurzem benutzt wurden.</para></listitem>
|
|
|
|
<listitem><para><literal>Inactive</literal>: Seiten, die
|
|
länger nicht benutzt wurden.</para></listitem>
|
|
|
|
<listitem><para><literal>Cache</literal>: Meistens
|
|
Seiten, die vorher im Zustand <literal>Inactive</literal>
|
|
waren und noch gültige Daten enthalten. Diese
|
|
Seiten können sofort in ihrem alten Kontext oder
|
|
in einem neuen Kontext verwendet werden. Wenn eine
|
|
Seite unverändert
|
|
(<literal>clean</literal>) ist, kann
|
|
ein Zustandswechsel direkt von <literal>Active</literal>
|
|
nach <literal>Cache</literal> erfolgen.
|
|
Ob dieser Zustandswechsel möglich ist, wird durch
|
|
die Seitenersetzungsstrategie bestimmt, die der
|
|
Entwickler des VM-Systems festgelegt hat.</para></listitem>
|
|
|
|
<listitem><para><literal>Free</literal>: Seiten, die
|
|
keine Daten enthalten. Diese Seiten können
|
|
sofort benutzt werden, wenn Seiten im Zustand
|
|
<literal>Cache</literal> nicht benutzt werden
|
|
können. Seiten im Zustand <literal>Free</literal>
|
|
können auch während eines Interrupts
|
|
angefordert werden.</para></listitem>
|
|
|
|
<listitem><para><literal>Wired</literal>: Seiten, die
|
|
fest im Speicher liegen und nicht ausgelagert werden
|
|
können. Normalerweise werden solche Seiten vom
|
|
Kernel benutzt, manchmal werden Sie aber auch für
|
|
spezielle Zwecke von Prozessen verwendet.</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Seiten im Zustand <literal>Inactive</literal>
|
|
werden oft auf Plattenspeicher geschrieben (sozusagen
|
|
ein <command>sync</command> des VM-Systems). Wenn
|
|
die CPU erkennen kann, das eine Seite unmodifiziert
|
|
(<literal>clean</literal>) ist, kann
|
|
auch eine <literal>Active</literal>-Seite auf den
|
|
Plattenspeicher ausgeschrieben werden. In bestimmten
|
|
Situationen ist es von Vorteil, wenn ein Block von
|
|
VM-Seiten, unabhängig von seinem Zustand,
|
|
ausgeschrieben werden kann. Die
|
|
<literal>Inactive</literal>-Liste enthält wenig
|
|
benutzte Seiten, die ausgeschrieben werden könnten.
|
|
Seiten im Zustand <literal>Cached</literal> sind
|
|
schon ausgeschrieben und stehen Prozessen für
|
|
die Verwendung im alten oder in einem neuen Kontext
|
|
zur Verfügung. Seiten im Zustand
|
|
<literal>Cache</literal> sind nicht ausreichend
|
|
geschützt und können während Unterbrechungen
|
|
nicht benutzt werden.</para>
|
|
|
|
<para>Die eben beschriebene Behandlung von Speicherseiten
|
|
kann durch weitere Zustände (wie das
|
|
das Busy-Flag) verändert werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="free-memory-amount">
|
|
<para>Wie viel freien Speicher hat mein System?</para>
|
|
</question>
|
|
<!-- Provided by John Dyson via Usenet -->
|
|
<answer>
|
|
<para>Es gibt verschiedene Arten von <quote>freiem
|
|
Speicher</quote>. Eine Art ist die Speichermenge,
|
|
die sofort, ohne etwas auszulagern, zur Verfügung
|
|
steht. Der gesamte <acronym>VM</acronym>-Bereich
|
|
ist eine weitere Art des <quote>freien Speichers</quote>.
|
|
Die Betrachtung ist komplex, hängt aber von
|
|
der Größe des Swap-Bereichs und der
|
|
Größe des Arbeitsspeichers ab. Es gibt
|
|
weitere Definitionen für <quote>freien Speicher</quote>,
|
|
die aber alle relativ nutzlos sind. Wichtig ist
|
|
hingegen, dass wenig Seiten ausgelagert
|
|
werden (<foreignphrase>paging</foreignphrase>) und der
|
|
Swap-Bereich ausreichend groß ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="var-empty">
|
|
<para>Ich kann <filename class="directory">/var/empty</filename>
|
|
nicht löschen!</para>
|
|
</question>
|
|
<answer>
|
|
<para>Das Verzeichnis <filename
|
|
class="directory">/var/empty</filename> wird von &man.sshd.8;
|
|
benötigt, wenn es mit <quote>Privilege Separation</quote>
|
|
läuft. Das Verzeichnis <filename
|
|
class="directory">/var/empty</filename> ist
|
|
leer, gehört <username>root</username> und
|
|
ist durch das Dateiattribut <literal>schg</literal>
|
|
geschützt.</para>
|
|
|
|
<para>Wir empfehlen Ihnen, das Verzeichnis zu belassen.
|
|
Sollten Sie es aber trotzdem löschen wollen,
|
|
müssen Sie zuerst das <literal>schg</literal>-Attribut
|
|
entfernen. Schauen Sie sich dazu die Hilfeseite
|
|
&man.chflags.1; an und beachten Sie die Antwort auf
|
|
die Frage <link
|
|
linkend="unsetting-schg">wie das <literal>schg</literal>-Attribut
|
|
entfernt wird.</link></para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="x">
|
|
<title>Das X Window System und virtuelle Konsolen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="whatis-X">
|
|
<para>Was ist das X Window System?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das X Window System (oder auch nur <literal>X11</literal>)
|
|
ist das am häufigsten verwendete
|
|
Window System für &unix;- und &unix;-ähnliche Systeme,
|
|
zu denen auch &os; gehört.
|
|
Der <ulink
|
|
url="http://en.wikipedia.org/wiki/X_Window_System_core_protocol">X
|
|
Protokollstandard</ulink> wird von der
|
|
<ulink url= "http://www.x.org/wiki/">X.org Foundation</ulink>
|
|
definiert und liegt
|
|
aktuell in Version 11 Release &xorg.version; vor und wird
|
|
häufig auch nur als <literal>X11</literal> bezeichnet.</para>
|
|
|
|
<para>Das X Window System wurde für viele verschiedene
|
|
Architekturen und Betriebssysteme implementiert. Eine
|
|
serverseitige Implementierung wird dabei als
|
|
<literal>X-Server</literal> bezeichnet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="running-X">
|
|
<para>Ich möchte X benutzen, was muss ich tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie X auf einem existierenden System installieren
|
|
wollen, sollten Sie entweder den Meta-Port
|
|
<filename
|
|
role="package">x11/xorg</filename> verwenden, der alle
|
|
benötigen Komponenten baut und installiert, oder
|
|
Sie installieren die &os; &xorg;-Pakete:</para>
|
|
|
|
<screen><userinput>&prompt.root; pkg_add -r xorg</userinput></screen>
|
|
|
|
<para>Es ist auch möglich, &xorg; aus &man.sysinstall.8; heraus
|
|
zu installieren, indem Sie <guimenuitem>Configure</guimenuitem>,
|
|
dann <guimenuitem>Distributions</guimenuitem> und anschliessend
|
|
<guimenuitem>The X.Org Distribution</guimenuitem> aufrufen.</para>
|
|
|
|
<para>Lesen Sie nach erfolgreicher Installation von &xorg; den
|
|
Abschnitt <ulink url="&url.books.handbook;/x-config.html">X11
|
|
konfigurieren</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="running-X-securelevels">
|
|
<para>Ich habe <emphasis>versucht</emphasis>, X zu starten,
|
|
aber wenn ich <command>startx</command> eingebe, erhalte
|
|
ich die Fehlermeldung <errorname>KDENABIO failed
|
|
(Operation not permitted)</errorname>. Was soll ich jetzt
|
|
machen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das System läuft auf einer erhöhten
|
|
Sicherheitsstufe (<literal>securelevel</literal>).
|
|
X kann auf einer erhöhten Sicherheitsstufe nicht
|
|
gestartet werden, weil X dazu Schreibzugriff auf
|
|
&man.io.4; benötigt. Lesen Sie dazu
|
|
auch &man.init.8;.</para>
|
|
|
|
<para>Die Frage ist also eigentlich, was Sie anders machen
|
|
sollten. Sie haben zwei Möglichkeiten: Setzen Sie
|
|
die Sicherheitsstufe wieder zurück auf 0 (die
|
|
Einstellung erfolgt in der Regel in
|
|
<filename>/etc/rc.conf</filename>) oder starten Sie
|
|
&man.xdm.1; während des Starts des Systems, bevor die
|
|
Sicherheitsstufe erhöht wird.</para>
|
|
|
|
<para>Der Abschnitt <xref
|
|
linkend="xdm-boot"/> enthält Informationen darüber, wie
|
|
Sie &man.xdm.1; beim Start des Systems starten können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="x-and-moused">
|
|
<para>Warum funktioniert meine Maus unter X nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie &man.syscons.4; (den Standard-Konsolentreiber)
|
|
benutzen, können Sie &os; so konfigurieren,
|
|
dass auf jedem virtuellen Bildschirm ein Mauszeiger
|
|
unterstützt wird. Um Konflikte mit X zu vermeiden,
|
|
unterstützt &man.syscons.4; ein virtuelles Gerät mit dem
|
|
Namen <devicename>/dev/sysmouse</devicename>. Alle Mausbewegungen
|
|
und Mausklicks werden in das &man.sysmouse.4; Gerät über
|
|
&man.moused.8; geschrieben. Falls Sie Ihre Maus auf einer oder
|
|
mehreren virtuellen Konsolen <emphasis>und</emphasis> X
|
|
benutzen wollen, sollten Sie zunächst <xref
|
|
linkend="moused" remap="diesen Abschnitt"/> lesen und dann
|
|
&man.moused.8; installieren.</para>
|
|
|
|
<para>Die Datei <filename>/etc/X11/xorg.conf</filename> sollte
|
|
die folgenden Einträge enthalten:</para>
|
|
|
|
<programlisting>Section "InputDevice"
|
|
Option "Protocol" "SysMouse"
|
|
Option "Device" "/dev/sysmouse"
|
|
.....</programlisting>
|
|
|
|
<para>Beginnend mit &xorg; 7.4 werden Angaben im Abschnitt
|
|
<literal>InputDevice</literal> von
|
|
<filename>xorg.conf</filename> ignoriert. Stattdessen wird
|
|
die automatisch detektierten Werte zurückgegriffen. Um
|
|
das alte Verhalten zu reaktivieren, fügen Sie die
|
|
folgende Zeile entweder in den Abschnitt
|
|
<literal>ServerLayout</literal> oder
|
|
<literal>ServerFlags</literal> ein:</para>
|
|
|
|
<programlisting>Option "AutoAddDevices" "false"</programlisting>
|
|
|
|
<para>Einige Leute ziehen es vor, unter X
|
|
<devicename>/dev/mouse</devicename> zu benutzen. Hierzu
|
|
sollte <devicename>/dev/mouse</devicename> nach
|
|
<devicename>/dev/sysmouse</devicename>
|
|
(lesen Sie &man.sysmouse.4;) gelinkt werden, indem Sie die folgende
|
|
Zeile in <filename>/etc/devfs.conf</filename> (siehe auch
|
|
&man.devfs.conf.5;) hinzufügen:</para>
|
|
|
|
<programlisting>link sysmouse mouse</programlisting>
|
|
|
|
<para>Die Verknüpfung kann durch Neustart von &man.devfs.5;
|
|
über das folgende Kommando (als <username>root</username>)
|
|
erzeugt werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/etc/rc.d/devfs restart</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="x-and-wheel">
|
|
<para>Kann ich meine Rad-Maus auch unter X benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja.</para>
|
|
|
|
<para>Dazu müssen Sie X nur mitteilen, dass Sie eine
|
|
Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen
|
|
<literal>Buttons 5</literal> sowie
|
|
<literal>ZAxisMapping 4 5</literal> in den Abschnitt
|
|
<quote>InputDevice</quote> der Datei
|
|
<filename>/etc/X11/xorg.conf</filename> ein. Das
|
|
Beispiel zeigt, wie ein solcher Abschnitt aussehen
|
|
könnte.</para>
|
|
|
|
<example>
|
|
<title>Abschnitt <quote>InputDevice</quote> für
|
|
Rad-Mäuse in der Konfigurationsdatei von
|
|
&xorg;</title>
|
|
|
|
<programlisting>Section "InputDevice"
|
|
Identifier "Mouse1"
|
|
Driver "mouse"
|
|
Option "Protocol" "auto"
|
|
Option "Device" "/dev/sysmouse"
|
|
Option "Buttons" "5"
|
|
Option "ZAxisMapping" "4 5"
|
|
EndSection </programlisting>
|
|
</example>
|
|
|
|
<example>
|
|
<title><quote>.emacs</quote> Beispiel für
|
|
seitenweises Blättern mit einer
|
|
Rad-Maus (optional)</title>
|
|
|
|
<programlisting>;; wheel mouse
|
|
(global-set-key [mouse-4] 'scroll-down)
|
|
(global-set-key [mouse-5] 'scroll-up)</programlisting>
|
|
</example>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-remote-x11">
|
|
<para>X verbietet Verbindungen von entfernten Systemen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aus Sicherheitsgründen verbietet der X-Server
|
|
in der Voreinstellung Verbindungen von entfernten
|
|
Systemen.</para>
|
|
|
|
<para>Starten Sie den X-Server mit der Option
|
|
<option>-listen_tcp</option>, wenn Sie Verbindungen von
|
|
entfernten Systemen erlauben wollen:</para>
|
|
|
|
<screen>&prompt.user;
|
|
<userinput>startx -listen_tcp</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="virtual-console">
|
|
<para>Was ist eine virtuelle Konsole und wie erstelle ich
|
|
mehr?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Mit virtuellen Konsolen können Sie mehrere
|
|
simultane Sitzungen auf einer Maschine laufen lassen, ohne
|
|
so komplizierte Dinge wie die Einrichtung eines Netzwerkes
|
|
oder die Benutzung von X zu benötigen.</para>
|
|
|
|
<para>Wenn das System startet, wird es nach der Anzeige
|
|
aller Bootmeldungen eine Eingabeaufforderung auf dem
|
|
Bildschirm anzeigen. Sie können dann auf der ersten
|
|
virtuellen Konsole Ihren Benutzernamen und das Passwort
|
|
eingeben und anfangen, zu arbeiten (oder zu
|
|
spielen!).</para>
|
|
|
|
<para>Gelegentlich möchten Sie möglicherweise eine
|
|
weitere Sitzung starten wollen, vielleicht, um die
|
|
Dokumentation zu einem Programm, das Sie gerade benutzen,
|
|
einzusehen, oder, um Ihre Mails zu lesen, während Sie
|
|
auf das Ende einer FTP-Übertragung warten.
|
|
Drücken Sie einfach <keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
|
|
(halten Sie die <keycap>Alt</keycap>-Taste gedrückt und
|
|
drücken Sie die Taste <keycap>F2</keycap>)
|
|
und Sie gelangen zur Anmelde-Aufforderung auf der zweiten
|
|
<quote>virtuellen Konsole</quote>! Wenn Sie zurück
|
|
zur ersten Sitzung möchten, drücken Sie <keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F1</keycap>
|
|
</keycombo>.</para>
|
|
|
|
<para>Die Standardinstallation von &os; bietet acht
|
|
aktivierte virtuelle Konsolen. Mit <keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
|
|
<keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
|
|
<keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F3</keycap></keycombo>
|
|
und so weiter wechseln Sie zwischen diesen virtuellen
|
|
Konsolen.</para>
|
|
|
|
<para>Um mehr von ihnen zu aktivieren, editieren Sie
|
|
<filename>/etc/ttys</filename> (siehe &man.ttys.5;) und fügen
|
|
Einträge für <devicename>ttyv8</devicename> bis
|
|
zu <devicename>ttyvc</devicename> nach dem Kommentar zu
|
|
<quote>virtuellen Terminals</quote> ein:</para>
|
|
|
|
<programlisting>
|
|
# Edit the existing entry for ttyv8 in /etc/ttys and change
|
|
# "off" to "on".
|
|
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyva "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyvb "/usr/libexec/getty Pc" cons25 on secure
|
|
</programlisting>
|
|
|
|
<para>Benutzen Sie so wenig oder so viele, wie Sie
|
|
möchten. Je mehr virtuelle Terminals Sie benutzen,
|
|
desto mehr Ressourcen werden gebraucht; das kann wichtig
|
|
sein, wenn Sie 8 MB RAM oder weniger besitzen. Sie
|
|
können auch <literal>secure</literal> in
|
|
<literal>insecure</literal> ändern.</para>
|
|
|
|
<important>
|
|
<para>Wenn Sie einen X-Server benutzen möchten,
|
|
<emphasis>müssen</emphasis> Sie mindestens ein
|
|
virtuelles Terminal unbenutzt (oder ausgeschaltet)
|
|
lassen damit der Server es benutzen kann. Das
|
|
heißt, dass Sie Pech haben, wenn Sie für
|
|
jede Ihrer 12 Alt-Funktionstasten eine
|
|
Anmeldeaufforderung haben möchten - Sie können
|
|
das nur für elf von ihnen tun, wenn Sie einen
|
|
X-Server auf derselben Maschine laufen lassen
|
|
möchten.</para>
|
|
</important>
|
|
|
|
<para>Der einfachste Weg, eine Konsole zu deaktivieren, ist,
|
|
sie auszuschalten. Wenn Sie zum Beispiel die oben
|
|
erwähnte volle Zuordnung aller 12 Terminals
|
|
hätten, müssten Sie die Einstellung
|
|
für das virtuelle Terminal 12 von:</para>
|
|
|
|
<programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting>
|
|
|
|
<para>in:</para>
|
|
|
|
<programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting>
|
|
|
|
<para>ändern.</para>
|
|
|
|
<para>Wenn Ihre Tastatur nur über zehn Funktionstasten
|
|
verfügt, bedeutet das:</para>
|
|
|
|
<programlisting>
|
|
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyva "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyvb "/usr/libexec/getty Pc" cons25 off secure
|
|
</programlisting>
|
|
|
|
<para>(Sie können diese Zeilen auch einfach
|
|
löschen.)</para>
|
|
|
|
<para>Die einfachste (und sauberste) Möglichkeit, die
|
|
virtuellen Konsolen zu aktivieren, ist, zu rebooten. Wenn
|
|
Sie jedoch auf keinen Fall rebooten möchten,
|
|
können Sie auch einfach das X Window System
|
|
herunterfahren und als <username>root</username></para>
|
|
|
|
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
|
|
|
|
<para>ausführen.</para>
|
|
|
|
<para>Es ist unbedingt erforderlich, dass Sie das X
|
|
Window System vollständig herunterfahren, falls es
|
|
läuft. Falls Sie es nicht tun, könnte es sein,
|
|
dass sich ihr System nach der Eingabe des
|
|
<command>kill</command>-Befehls aufhängt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="vty-from-x">
|
|
<para>Wie greife ich von X aus auf virtuelle Konsolen
|
|
zu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap>
|
|
<keycap>F<replaceable>n</replaceable></keycap>
|
|
</keycombo>
|
|
um auf eine virtuelle Konsole umzuschalten. Mit <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap>
|
|
<keycap>F1</keycap></keycombo> würden Sie zur ersten
|
|
virtuellen Konsole umschalten.</para>
|
|
|
|
<para>Sobald Sie auf eine virtuelle Konsole umgeschaltet
|
|
haben, können Sie ganz normal <keycombo
|
|
action="simul"><keycap>Alt</keycap>
|
|
<keycap>F<replaceable>n</replaceable></keycap>
|
|
</keycombo> benutzen, um zwischen den einzelnen virtuellen
|
|
Konsolen umzuschalten.</para>
|
|
|
|
<para>Um zu Ihrer X-Sitzung zurückzukehren, müssen
|
|
Sie auf die virtuelle Konsole umschalten, auf der X
|
|
läuft. Wenn Sie X über der Eingabeaufforderung
|
|
gestartet haben (z.B. mit <command>startx</command>),
|
|
benutzt X die nächste freie virtuelle Konsole und
|
|
nicht die Konsole, von der es gestartet wurde. Wenn Sie
|
|
acht aktive virtuelle Konsole haben, dann wird X die
|
|
neunte benutzen und Sie können mit <keycombo
|
|
action="simul"><keycap>Alt</keycap><keycap>F9</keycap></keycombo>
|
|
umschalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xdm-boot">
|
|
<para>Wie starte ich <application>XDM</application> beim
|
|
Booten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt zwei Denkansätze, wie
|
|
&man.xdm.1; zu starten ist. Bei dem einen wird
|
|
<command>xdm</command> unter Nutzung des mitgelieferten
|
|
Beispiels über <filename>/etc/ttys</filename>
|
|
(&man.ttys.5;) gestartet, während beim zweiten Ansatz
|
|
<filename class="directory">rc.local</filename> (&man.rc.8;) oder
|
|
das Skript <filename>X</filename> im Verzeichnis <filename
|
|
class="directory">/usr/local/etc/rc.d</filename> verwendet wird.
|
|
Beide Ansätze sind gleichwertig und der eine
|
|
wird in Situationen funktionieren, in denen der andere es
|
|
nicht tut. In beiden Fällen ist das Ergebnis das
|
|
gleiche: X liefert eine graphische
|
|
Anmeldeaufforderung.</para>
|
|
|
|
<para>Die &man.ttys.5;-Methode hat den Vorteil, dass
|
|
dokumentiert ist, auf welchem vty X gestartet wird und der
|
|
Neustart des X-Servers beim Abmelden an &man.init.8;
|
|
übergeben wird. Die &man.rc.8;-Methode erleichtert
|
|
den Aufruf von <command>kill</command> <command>xdm</command>,
|
|
falls Probleme beim Start des X-Servers auftreten sollten.</para>
|
|
|
|
<para>Beim Laden von &man.rc.8; sollte <command>xdm</command>
|
|
ohne irgendwelche Argumente (das heißt als Daemon)
|
|
gestartet werden. Das Kommando <command>xdm</command> muss
|
|
gestartet werden <emphasis>nachdem</emphasis> &man.getty.8;
|
|
läuft, andernfalls entsteht ein Konflikt zwischen
|
|
<command>getty</command> und <command>xdm</command> und die Konsole
|
|
bleibt gesperrt. Der beste Weg, um dies zu vermeiden, ist, das
|
|
Skript für etwa zehn Sekunden anzuhalten und dann
|
|
<command>xdm</command> zu starten.</para>
|
|
|
|
<para>Wenn Sie <command>xdm</command> durch einen Eintrag in
|
|
<filename>/etc/ttys</filename> starten lassen, kann es zu
|
|
einem Konflikt zwischen <command>xdm</command> und
|
|
&man.getty.8; kommen. Um dieses Problem zu
|
|
vermeiden, sollten Sie die Nummer des
|
|
<literal>vt</literal> in die Datei
|
|
<filename>/usr/local/lib/X11/xdm/Xservers</filename>
|
|
eintragen:</para>
|
|
|
|
<programlisting>:0 local /usr/local/bin/X vt4</programlisting>
|
|
|
|
<para>Diese Zeile führt dazu, dass der X Server
|
|
<devicename>/dev/ttyv3</devicename> nutzt. Die beiden Zahlen
|
|
weichen voneinander ab: Der X-Server beginnt die
|
|
Zählung der vty bei 1, während der
|
|
&os;-Kernel bei 0 beginnt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xconsole-failure">
|
|
<para>Wieso erhalte ich die Meldung <errorname>Couldn't open
|
|
console</errorname>, wenn ich <command>xconsole</command>
|
|
benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie <application>X</application> mit
|
|
<command>startx</command> starten, werden die
|
|
Zugriffsrechte für
|
|
<devicename>/dev/console</devicename> leider
|
|
<emphasis>nicht</emphasis> geändert, was dazu
|
|
führt, dass Dinge wie <command>xterm
|
|
-C</command> und <command>xconsole</command> nicht
|
|
funktionieren.</para>
|
|
|
|
<para>Das hängt damit zusammen, wie die Zugriffsrechte
|
|
für die Konsole standardmäßig gesetzt
|
|
sind. Auf einem Mehrbenutzersystem möchte man nicht
|
|
unbedingt, dass jeder Benutzer einfach auf die
|
|
Systemkonsole schreiben kann. Für Benutzer, die sich
|
|
auf einer Maschine direkt mit einem VTY anmelden,
|
|
existiert die Datei &man.fbtab.5;, um
|
|
derartige Probleme zu lösen.</para>
|
|
|
|
<para>In Kürze: sorgen Sie dafür, dass sich
|
|
in der Datei <filename>/etc/fbtab</filename> eine nicht
|
|
auskommentierte Zeile der folgenden Art befindet:</para>
|
|
|
|
<programlisting>/dev/ttyv0 0600 /dev/console</programlisting>
|
|
|
|
<para>Das sorgt dafür, dass wer auch immer sich auf
|
|
<devicename>/dev/ttyv0</devicename> anmeldet, auch die Konsole
|
|
besitzt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xfree86-root">
|
|
<para>Früher konnte ich &xorg; als normaler User
|
|
starten. Warum sagt mir das System jetzt, dass ich
|
|
<username>root</username> sein muss?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Alle X-Server müssen mit der ID
|
|
<username>root</username> laufen, um direkt auf die
|
|
Videohardware zuzugreifen.</para>
|
|
|
|
<para>Es gibt zwei Möglichkeiten, um X auch als
|
|
normaler Benutzer starten zu können. Die erste ist
|
|
die Verwendung von <command>xdm</command> oder eines
|
|
ähnlichen Programms; die zweite ist die Benutzer von
|
|
<command>Xwrapper</command>.</para>
|
|
|
|
<para><command>xdm</command> ist ein ständig laufendes
|
|
Programm, mit dem Logins über eine graphische
|
|
Benutzeroberfläche sind. Es wird normalerweise beim
|
|
Systemstart initialisiert und für die
|
|
Authentifizierung der Benutzer und den Start ihrer
|
|
Sitzungen verantwortlich. Es ist also die graphische
|
|
Entsprechung von &man.getty.8; und &man.login.1;.
|
|
Weitere Informationen zum Thema <command>xdm</command>
|
|
finden Sie in der <ulink
|
|
url="http://www.x.org/wiki/UserDocumentation">&xorg;
|
|
Dokumentation</ulink> und dem entsprechenden <link
|
|
linkend="xdm-boot">FAQ-Eintrag</link>.</para>
|
|
|
|
<para><command>Xwrapper</command> ist eine
|
|
<quote>Hülle</quote> für den X-Server. Mit
|
|
diesem kleinen Utility ist es möglich, manuell den
|
|
X-Server zu starten und weiterhin eine annehmbare
|
|
Sicherheit zu haben. Das Tools prüft, ob die per
|
|
Kommandozeile übergebenen Argumente halbwegs sinnvoll
|
|
sind. Wenn dies der Fall ist, startet es den
|
|
entsprechenden X-Server. Wenn Sie (aus welchem Grund auch
|
|
immer) keine graphische Anmeldung wollen, ist
|
|
<command>Xwrapper</command> die optimale Lösung.
|
|
Wenn Sie die vollständige Ports-Sammlung installiert
|
|
haben, finden Sie das Tool im Verzeichnis
|
|
<filename
|
|
role="package">x11/wrapper</filename>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ps2-x">
|
|
<para>Warum funktioniert meine PS/2-Maus nicht richtig?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ihre Maus und der Maustreiber sind etwas aus der
|
|
Synchronisation geraten.</para>
|
|
|
|
<para>In seltenen Fällen kann es jedoch sein,
|
|
dass der Treiber fälschlicherweise
|
|
Synchronisationsprobleme meldet und Sie in den
|
|
Kernelmeldungen folgendes sehen:</para>
|
|
|
|
<programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting>
|
|
|
|
<para>und Ihre Maus nicht richtig zu funktionieren
|
|
scheint.</para>
|
|
|
|
<para>Falls das passiert, deaktivieren Sie den Code zur
|
|
Überprüfung der Synchronisation, indem Sie die
|
|
Treiberangaben für den PS/2-Maustreiber auf
|
|
<literal>0x100</literal> setzen. Rufen Sie
|
|
<emphasis>UserConfig</emphasis> durch Angabe der Option
|
|
<option>-c</option> am Boot-Prompt auf:</para>
|
|
|
|
<screen>boot: <userinput>-c</userinput></screen>
|
|
|
|
<para>Geben sie dann in der Kommandozeile von
|
|
<emphasis>UserConfig</emphasis> folgendes ein:</para>
|
|
|
|
<screen>UserConfig> <userinput>flags psm0 0x100</userinput>
|
|
UserConfig> <userinput>quit</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ps2-mousesystems">
|
|
<para>Meine PS/2-Maus von MouseSystems scheint nicht zu
|
|
funktionieren.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es wurde berichtet, dass einige Modelle der
|
|
PS/2-Mäuse von MouseSystems nur funktionieren, wenn
|
|
sie im <quote>hochauflösenden</quote> Modus betrieben
|
|
werden. Andernfalls springt der Mauszeiger sehr oft in
|
|
die linke obere Ecke des Bildschirms.</para>
|
|
|
|
<para>Das Flag <literal>0x04</literal> des Maustreibers bringt die
|
|
Maus in den hochauflösenden Modus. Rufen Sie
|
|
<emphasis>UserConfig</emphasis> durch Angabe der Option
|
|
<option>-c</option> am Boot-Prompt auf:</para>
|
|
|
|
<screen>boot: <userinput>-c</userinput></screen>
|
|
|
|
<para>Geben sie dann in der Kommandozeile von
|
|
<emphasis>UserConfig</emphasis> folgendes ein:</para>
|
|
|
|
<screen>UserConfig> <userinput>flags psm0 0x04</userinput>
|
|
UserConfig> <userinput>quit</userinput></screen>
|
|
|
|
<para>Lesen Sie den vorigen Abschnitt über eine andere
|
|
mögliche Ursache für Probleme mit der
|
|
Maus.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mouse-button-reverse">
|
|
<para>Wie vertausche ich die Maustasten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie den Befehl <command>xmodmap -e "pointer =
|
|
3 2 1"</command> in Ihrer <filename>.xinitrc</filename>
|
|
oder <filename>.xsession</filename>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-splash">
|
|
<para>Wie installiere ich einen Splash-Screen und wo finde
|
|
ich sie?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die detaillierte Antwort auf diese Frage können Sie im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/boot-blocks.html#BOOT-SPLASH">Splash-Screens
|
|
während des Systemstarts</ulink> des Handbuchs
|
|
nachlesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="windows-keys">
|
|
<para>Kann ich die <keycap>Windows</keycap>-Tasten unter X
|
|
benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, Sie müssen lediglich mit &man.xmodmap.1;
|
|
festlegen, welche Aktion diese Tasten auslösen
|
|
sollen.</para>
|
|
|
|
<para>Unter der Annahme, dass alle <quote>Windows</quote>
|
|
Tastaturen dem Standard entsprechen, lauten die Keycodes
|
|
für die drei Tasten wie folgt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><keycode>115</keycode> - <keycap>Windows</keycap>-Taste
|
|
zwischen den <keycap>Ctrl</keycap>- und
|
|
<keycap>Alt</keycap>-Tasten auf der linken Seite</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><keycode>116</keycode> - <keycap>Windows</keycap>-Taste
|
|
rechts von der <keycap>AltGr</keycap>-Taste</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><keycode>117</keycode> - <keycap>Menü</keycap>-Taste,
|
|
links von der rechten <keycap>Strg</keycap>-Taste</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Nach der folgenden Anweisung erzeugt die linke
|
|
<keycap>Windows</keycap>-Taste ein Komma.</para>
|
|
|
|
<screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen>
|
|
|
|
<para>Sie werden Ihren Window Manager wahrscheinlich neu
|
|
starten müssen, damit diese Einstellung wirksam
|
|
wird.</para>
|
|
|
|
<para>Um die neue Belegung der <keycap>Windows</keycap>-Tasten
|
|
automatisch beim Start von X zu erhalten, könnten Sie
|
|
entsprechende <command>xmodmap</command> Anweisungen in
|
|
ihre <filename>~/.xinitrc</filename> einfügen. Die
|
|
bevorzugte Variante ist aber, eine Datei mit dem Namen
|
|
<filename>~/.xmodmaprc</filename> zu erzeugen, die nur die
|
|
Parameter für den Aufruf von
|
|
<command>xmodmap</command> enthält. Wenn Sie mehrere
|
|
Tasten umdefinieren wollen, muss jede Definition in
|
|
eine eigene Zeile gesetzt werden. Weiterhin müssen
|
|
Sie in Ihrer <filename>~/.xinitrc</filename> noch die
|
|
folgende Zeile einfügen:</para>
|
|
|
|
<programlisting>xmodmap $HOME/.xmodmaprc</programlisting>
|
|
|
|
<para>Sie könnten die drei Tasten zum Beispiel mit den
|
|
Funktionen <keycap>F13</keycap>, <keycap>F14</keycap> und
|
|
<keycap>F15</keycap> belegen. Dadurch ist es sehr
|
|
einfach, diese Tasten mit nützlichen Funktionen eines
|
|
Programmes oder Desktops zu verknüpfen.</para>
|
|
|
|
<para>Falls Sie das auch tun wollen, sollten in Ihrer
|
|
<filename>~/.xmodmaprc</filename> die folgenden
|
|
Anweisungen stehen.</para>
|
|
|
|
<programlisting>
|
|
keycode 115 = F13
|
|
keycode 116 = F14
|
|
keycode 117 = F15
|
|
</programlisting>
|
|
|
|
<para>Falls Sie zum Beispiel den <filename
|
|
role="package">x11-wm/fvwm2</filename> Port benutzen, können
|
|
Sie ihn so einstellen, dass <keycap>F13</keycap> das Fenster unter
|
|
dem Mauszeiger minimiert bzw. maximiert. <keycap>F14</keycap> holt
|
|
das Fenster unter dem Mauszeiger in den Vordergrund bzw.
|
|
ganz nach hinten, wenn es bereits im Vordergrund ist.
|
|
<keycap>F15</keycap> öffnet das Arbeitsplatz
|
|
(Programme) Menü, auch wenn der Cursor nicht auf den
|
|
Hintergrund zeigt. Dies ist extrem praktisch, wenn der
|
|
gesamte Bildschirm von Fenster belegt wird; als kleiner
|
|
Bonus gibt es sogar einen Zusammenhang zwischen dem Symbol
|
|
auf der Taste und der durchgeführten Aktion.</para>
|
|
|
|
<para>Dieses Verhalten kann man mit den folgenden
|
|
Einträgen in der Datei <filename>~/.fvwmrc</filename>
|
|
erhalten:</para>
|
|
|
|
<programlisting>
|
|
Key F13 FTIWS A Iconify
|
|
Key F14 FTIWS A RaiseLower
|
|
Key F15 A A Menu Workplace Nop
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="x-3d-acceleration">
|
|
<para>Wird 3D Hardware Beschleunigung für &opengl;
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies hängt davon ab, welche Version von &xorg; und welche
|
|
Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz
|
|
besitzen, benutzen Sie die binären Treiber für &os;,
|
|
indem Sie einen der folgenden Ports installieren:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die aktuelle Version von NVIDIA-Karten wird durch den Port
|
|
<filename
|
|
role="package">x11/nvidia-driver</filename>
|
|
unterstützt.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch
|
|
die 96XX Treiber unterstützt, die im <filename
|
|
role="package">x11/nvidia-driver-96xx</filename> Port
|
|
bereitgestellt werden.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Sogar ältere Karten wie die GeForce und RIVA TNT
|
|
sind durch die 71XX Treiberserie verfügbar, die im Port
|
|
<filename
|
|
role="package">x11/nvidia-driver-71xx</filename> enthalten
|
|
ist.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Tatsächlich liefert NVIDIA detaillierte Informationen
|
|
darüber, welche Karte von welchem Treiber unterstützt
|
|
wird. Diese Information finden Sie auf der Website von NVIDIA:
|
|
<ulink
|
|
url="http://www.nvidia.com/object/IO_32667.html"></ulink>.</para>
|
|
|
|
<para>Für Matrox G200/400 sehen Sie sich den Port <filename
|
|
role="package">x11-servers/mga_hal</filename> an.</para>
|
|
|
|
<para>Bei ATI Rage 128 und Radeon lesen Sie die
|
|
Anleitungen &man.ati.4x;, &man.r128.4x; und &man.radeon.4x;.</para>
|
|
|
|
<para>Fü 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen
|
|
<filename
|
|
role="package">x11-servers/driglide</filename> Port.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="networking">
|
|
<title>Netzwerke</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="diskless-booting">
|
|
<para>Woher kann ich Informationen über <quote>Diskless
|
|
Booting</quote> bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><quote>Diskless Booting</quote> bedeutet, dass
|
|
die &os;-Maschine über ein Netzwerk gebootet wird
|
|
und die notwendigen Dateien von einem Server anstatt von
|
|
der Festplatte liest. Vollständige Details finden
|
|
Sie im <ulink
|
|
url="&url.books.handbook;/network-diskless.html">Handbucheintrag
|
|
über den plattenlosen Betrieb</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="router">
|
|
<para>Kann eine &os;-Maschine als Netzwerkrouter genutzt
|
|
werden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Genaue Informationen zu diesem Thema finden Sie
|
|
im Abschnitt
|
|
<ulink url="&url.books.handbook;/network-routing.html">
|
|
Gateways und Routen</ulink> des Handbuchkapitels
|
|
<ulink url="&url.books.handbook;/advanced-networking.html">
|
|
Weiterführende Netzwerkthemen</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="win95-connection">
|
|
<para>Kann ich meine &windows;-Maschine über &os; ans
|
|
Internet anbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Personen, die diese Frage stellen, haben
|
|
typischerweise zwei PCs zu Hause: einen mit &os; und
|
|
einen mit einer &windows;-Variante. Die Idee ist, die
|
|
&os;-Maschine an das Internet anzubinden, um in der
|
|
Lage zu sein, von der &windows;-Maschine über die
|
|
&os;-Maschine auf das Internet zuzugreifen. Das
|
|
ist tatsächlich nur ein Spezialfall der vorherigen
|
|
Frage.</para>
|
|
|
|
<para>Das User-Mode &man.ppp.8; von &os; kennt die Option
|
|
<option>-nat</option>. Wenn Sie &man.ppp.8; mit der Option
|
|
<option>-nat</option> starten, in
|
|
<filename>/etc/rc.conf</filename> die Variable
|
|
<literal>gateway_enable</literal> auf
|
|
<literal>YES</literal> setzen und Ihre &windows;-Maschine
|
|
korrekt konfigurieren, sollte das hervorragend
|
|
funktionieren. Weitere Informationen erhalten Sie
|
|
in der Hilfeseite &man.ppp.8; oder im
|
|
<ulink url="&url.books.handbook;/userppp.html">Abschnitt
|
|
User-PPP des Handbuchs</ulink>.</para>
|
|
|
|
<para>Wenn Sie Kernel-Mode PPP verwenden oder ihre
|
|
Verbindung zum Internet über Ethernet erstellt
|
|
wurde, müssen Sie &man.natd.8; verwenden. Weitere
|
|
Informationen dazu finden Sie im <ulink
|
|
url="&url.books.handbook;/network-natd.html">natd-Abschnitt</ulink>
|
|
des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="slip-ppp-support">
|
|
<para>Unterstützt &os; SLIP und PPP?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Lesen Sie die Manualpages &man.slattach.8;,
|
|
&man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;.
|
|
&man.ppp.8; und &man.pppd.8; liefern Unterstützung
|
|
sowohl für eingehende, als auch ausgehende
|
|
Verbindungen. &man.sliplogin.8; behandelt
|
|
ausschließlich eingehende Verbindungen und
|
|
&man.slattach.8; behandelt ausschließlich ausgehende
|
|
Verbindungen.</para>
|
|
|
|
<para>Diese Programme werden im Abschnitt <ulink
|
|
url="&url.books.handbook;/ppp-and-slip.html">PPP und SLIP</ulink>
|
|
des Handbuchs beschrieben.</para>
|
|
|
|
<para>Falls Sie nur durch einen <quote>Shell-Account</quote>
|
|
Zugang zum Internet haben, sehen Sie sich einmal das
|
|
Package <filename
|
|
role="package">net/slirp</filename> an.
|
|
Es kann Ihnen (eingeschränkten) Zugang zu Diensten
|
|
wie ftp und http direkt von Ihrer lokalen Maschine aus
|
|
ermöglichen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="natd">
|
|
<para>Unterstützt &os; NAT oder Masquerading?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Wenn Sie NAT über eine User-PPP-Verbindung
|
|
einsetzen wollen, lesen Sie bitte den <ulink
|
|
url="&url.books.handbook;/userppp.html">User-PPP Abschnitt</ulink>
|
|
des Handbuchs. Wollen Sie NAT über eine andere
|
|
Verbindung einsetzen, lesen Sie bitte den <ulink
|
|
url="&url.books.handbook;/network-natd.html">NATD-Abschnitt</ulink>
|
|
des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="parallel-connect">
|
|
<para>Wie verbinde ich zwei &os;-Maschinen mit PLIP
|
|
über die parallele Schnittstelle?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieses Thema wird im Handbuch-Kapitel <ulink
|
|
url="&url.books.handbook;/network-plip.html">PLIP</ulink>
|
|
behandelt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ethernet-aliases">
|
|
<para>Wie kann ich Ethernet-Aliase einrichten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn sich die zweite Adresse im gleichen Subnetz
|
|
befindet wie eine der Adressen, die bereits auf dem
|
|
Interface konfiguriert sind, benutzen Sie <literal>netmask
|
|
0xffffffff</literal> in Ihrer &man.ifconfig.8;
|
|
Befehlszeile, wie z.B.:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>192.0.2.2</replaceable> netmask 0xffffffff</userinput></screen>
|
|
|
|
<para>Andernfalls geben sie die Adresse und die Netzmaske so
|
|
an, wie sie es bei einem normalen Interface auch tun
|
|
würden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>172.16.141.5</replaceable> netmask 0xffffff00</userinput></screen>
|
|
|
|
<para>Sie können mehr darüber im &os; <ulink
|
|
url="&url.books.handbook;/configtuning-virtual-hosts.html">Handbuch</ulink>
|
|
nachlesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="port-3c503">
|
|
<para>Wie bringe ich meine 3C503 dazu, den anderen
|
|
Anschluss zu benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie die anderen Anschlüsse benutzen
|
|
möchten, müssen Sie einen zusätzlichen
|
|
Parameter in der &man.ifconfig.8;-Befehlszeile
|
|
spezifizieren. Der Standard-Anschluss ist
|
|
<literal>link0</literal>. Um den AUI-Anschluss
|
|
anstelle des BNC-Anschlusses zu verwenden, benutzen Sie
|
|
<literal>link2</literal>. Diese Angaben sollten durch
|
|
Benutzung der Variablen ifconfig_* in der Datei
|
|
<filename>/etc/rc.conf</filename> spezifiziert
|
|
werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nfs">
|
|
<para>Warum habe ich Probleme mit NFS und &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Gewisse PC-Netzwerkkarten sind (um es gelinde
|
|
auszudrücken) besser als andere und können
|
|
manchmal Probleme mit netzwerkintensiven Anwendungen wie
|
|
NFS verursachen.</para>
|
|
|
|
<para>Weitere Informationen zu diesem Thema finden Sie <ulink
|
|
url="&url.books.handbook;/network-nfs.html">im Handbucheintrag zu
|
|
NFS</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nfs-linux">
|
|
<para>Warum kann ich per NFS nicht von einer &linux;-Maschine
|
|
mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Versionen des NFS-Codes von &linux; akzeptieren
|
|
Mount-Requests nur von einem privilegierten Port.
|
|
Versuchen Sie den folgenden Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -o -P <replaceable>linuxbox:/blah</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nfs-sun">
|
|
<para>Warum kann ich per NFS nicht von einer &sun;-Maschine
|
|
mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sun Workstations mit
|
|
&sunos; 4.<replaceable>X</replaceable> akzeptieren
|
|
Mount-Requests nur von einem privilegierten Port.
|
|
Versuchen Sie dieses Kommando:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -o -P <replaceable>sunbox:/blah</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="exports-errors">
|
|
<para>Warum meldet mir <command>mountd</command> auf meinem
|
|
&os; NFS-Server ständig <errorname>can't change
|
|
attributes</errorname> und <errorname>bad exports
|
|
list</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die häufigste Ursache für dieses Problem
|
|
ist, dass Sie den Aufbau der &man.exports.5; nicht
|
|
oder nicht richtig verstanden haben. Überprüfen
|
|
Sie Ihre &man.exports.5; und lesen das Kapitel <ulink
|
|
url="&url.books.handbook;/network-nfs.html">NFS</ulink> im
|
|
Handbuch, speziell den Abschnitt <ulink
|
|
url="&url.books.handbook;/network-nfs.html#CONFIGURING-NFS">
|
|
Konfiguration</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nextstep">
|
|
<para>Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu
|
|
kommunizieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Versuchen Sie, die TCP-Erweiterung in
|
|
<filename>/etc/rc.conf</filename> zu deaktivieren, indem
|
|
Sie die folgende Variable auf <literal>NO</literal> setzen:</para>
|
|
|
|
<programlisting>tcp_extensions=NO</programlisting>
|
|
|
|
<para>Xylogic's Annex-Maschinen arbeiten hier auch
|
|
fehlerhaft und Sie müssen die obige Änderung
|
|
benutzen, um über Sie Verbindungen
|
|
herzustellen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ip-multicast">
|
|
<para>Wie aktiviere ich die Unterstützung für
|
|
IP-Multicast?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Multicast-Host-Funktionen werden standardmäßig
|
|
von &os; unterstützt. Wenn Sie Ihre Maschine als
|
|
Multicast-Router betreiben wollen, müssen Sie Ihren Kernel mit
|
|
der Option <literal>MROUTING</literal> neu kompilieren und
|
|
&man.mrouted.8; starten. Wenn Sie die Variable
|
|
<literal>mrouted_enable</literal> in der Datei
|
|
<filename>/etc/rc.conf</filename> auf
|
|
<literal>YES</literal> setzen, wird &man.mrouted.8;
|
|
während des &os;-Systemstarts automatisch gestartet.</para>
|
|
|
|
<note>
|
|
<para>In aktuellen Versionen von &os; sind die Programme
|
|
&man.mrouted.8;, der Multicast Routing Dienst, &man.map-mbone.8;
|
|
und &man.mrinfo.8; nicht mehr im Basissystem enthalten. In der
|
|
&os; Ports-Sammlung sind diese Programme unter <filename
|
|
role="package">net/mrouted</filename> erhältlich.</para>
|
|
</note>
|
|
|
|
<para>MBONE-Tools sind in ihrer eigenen Ports-Kategorie
|
|
<ulink
|
|
url="http://www.FreeBSD.org/ports/mbone.html">mbone</ulink>
|
|
verfügbar. Schauen Sie dort nach, wenn Sie die
|
|
Konferenztools <command>vic</command> und
|
|
<command>vat</command> suchen!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dec-pci-chipset">
|
|
<para>Welche Netzwerkkarten basieren auf dem
|
|
DEC-PCI-Chipsatz?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hier ist eine von Glen Foster
|
|
<email>gfoster@driver.nsta.org</email> zusammengetragene
|
|
Liste mit einigen aktuellen Ergänzungen:</para>
|
|
|
|
<table>
|
|
<title>Netzwerkkarten mit DEC-PCI-Chipsatz</title>
|
|
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Vendor</entry>
|
|
|
|
<entry>Model</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>ASUS</entry>
|
|
|
|
<entry>PCI-L101-TB</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Accton</entry>
|
|
|
|
<entry>ENI1203</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Cogent</entry>
|
|
|
|
<entry>EM960PCI</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Compex</entry>
|
|
|
|
<entry>ENET32-PCI</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>D-Link</entry>
|
|
|
|
<entry>DE-530</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Dayna</entry>
|
|
|
|
<entry>DP1203, DP2100</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DEC</entry>
|
|
|
|
<entry>DE435, DE450</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Danpex</entry>
|
|
|
|
<entry>EN-9400P3</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>JCIS</entry>
|
|
|
|
<entry>Condor JC1260</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Linksys</entry>
|
|
|
|
<entry>EtherPCI</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Mylex</entry>
|
|
|
|
<entry>LNP101</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>SMC</entry>
|
|
|
|
<entry>EtherPower 10/100 (Modell 9332)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>SMC</entry>
|
|
|
|
<entry>EtherPower (Model 8432)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>TopWare</entry>
|
|
|
|
<entry>TE-3500P</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Znyx (2.2.X)</entry>
|
|
|
|
<entry>ZX312, ZX314, ZX342, ZX345, ZX346,
|
|
ZX348</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Znyx (3.X)</entry>
|
|
|
|
<entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
|
|
ZX444, ZX474, ZX478, ZX212, ZX214
|
|
(10mbps/hd)</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="fqdn-hosts">
|
|
<para>Warum muss ich für Hosts auf meiner Site den
|
|
FQDN benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie die Antwort im &os; <ulink
|
|
url="&url.books.handbook;/mail-trouble.html">Handbook</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="network-permission-denied">
|
|
<para>Wieso erhalte ich bei allen Netzwerkoperationen die
|
|
Meldung <errorname>Permission denied</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieses Problem kann auftreten, wenn Sie einen Kernel
|
|
mit der Option <literal>IPFIREWALL</literal> erstellt
|
|
haben. In der Voreinstellung werden alle Pakete, die
|
|
nicht explizit erlaubt wurden, blockiert.</para>
|
|
|
|
<para>Falls sie Ihr System unbeabsichtigt als Firewall
|
|
konfiguriert haben, können Sie die
|
|
Netzwerkfunktionalität wiederherstellen, indem Sie
|
|
als <username>root</username> folgendes eingeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen>
|
|
|
|
<para>Sie können in <filename>/etc/rc.conf</filename>
|
|
auch <literal>firewall_type="open"</literal>
|
|
setzen.</para>
|
|
|
|
<para>Weitere Informationen über die Konfiguration
|
|
einer &os;-Firewall finden Sie im Kapitel <ulink
|
|
url="&url.books.handbook;/firewalls.html">Firewalls</ulink>
|
|
des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ipfw-fwd">
|
|
<para>Warum kann ich bei &man.ipfw.8; einen Dienst nicht mit
|
|
<quote>fwd</quote> auf eine andere Maschine umlenken?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der wahrscheinlichste Grund ist, dass Sie Network
|
|
Address Translation (NAT) brauchen und nicht die einfache
|
|
Weiterleitung von Pakete. Die <quote>fwd</quote>
|
|
Anweisung macht genau das, was da steht: Sie leitet
|
|
Pakete weiter; die Daten in den Paketen werden aber nicht
|
|
verändert. Ein Beispiel:</para>
|
|
|
|
<screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
|
|
|
|
<para>Wenn ein Paket mit dem Ziel
|
|
<replaceable>foo</replaceable> die Maschine mit dieser
|
|
Regel erreicht, wird das Paket an
|
|
<replaceable>10.0.0.1</replaceable> weitergeleitet; die
|
|
Zieladresse im Paket lautet aber immer noch
|
|
<replaceable>foo</replaceable>! Die Zieladresse wird
|
|
<emphasis>nicht</emphasis> in
|
|
<replaceable>10.0.0.1</replaceable> geändert. Die
|
|
meisten Rechner werden allerdings Pakete verwerfen, wenn
|
|
die Zieladresse des Paketes nicht mit der Adresse des
|
|
Rechners übereinstimmt. Das ist der Grund, warum
|
|
eine <quote>fwd</quote> Regel oft nicht den Effekt hat,
|
|
den der Benutzer wollte. Dieses Verhalten ist aber kein
|
|
Fehler, sondern erwünscht.</para>
|
|
|
|
<para>Wenn Sie einen Dienst auf eine andere Maschine
|
|
umleiten wollen, sollten Sie sich den <link
|
|
linkend="service-redirect">FAQ-Eintrag über die
|
|
Umleitung von Diensten</link> oder die Online-Hilfe zu
|
|
&man.natd.8; durchlesen. Auch in der <ulink
|
|
url="&url.base;/de/ports/index.html">Ports Sammlung</ulink> sind diverse
|
|
Hilfsprogramme für diesen Zweck enthalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="service-redirect">
|
|
<para>Wie kann ich Service-Requests von einer Maschine auf
|
|
eine andere umleiten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie können FTP-Requests (und andere Dienste) mit
|
|
dem Port <filename
|
|
role="package">sysutils/socket</filename> umleiten. Ersetzen sie
|
|
die Befehlszeile für den Dienst einfach so, dass stattdessen
|
|
<command>socket</command> aufgerufen wird, zum Beispiel so:</para>
|
|
|
|
<programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting>
|
|
|
|
<para>wobei <replaceable>ftp.example.com</replaceable> und
|
|
<replaceable>ftp</replaceable> entsprechend der Host und
|
|
der Port sind, wohin umgeleitet werden soll.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bandwidth-mgr-tool">
|
|
<para>Woher kann ich ein Bandbreiten-Managementtool bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für &os; gibt es drei
|
|
Bandbreiten-Managementtools. &man.dummynet.4; ist als
|
|
Teil von &man.ipfw.4; in &os; integriert.
|
|
<ulink
|
|
url="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ</ulink>
|
|
ist in &os; Bestandteil von &man.pf.4;. Bei Bandwidth Manager von
|
|
<ulink
|
|
url="http://www.etinc.com/">Emerging Technologies</ulink>
|
|
handelt es sich hingegen um ein kommerzielles Produkt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bpf-not-configured">
|
|
<para>Warum erhalte ich die Meldung <errorname>/dev/bpf0:
|
|
device not configured</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Berkeley-Paket-Filter (&man.bpf.4;) muss in
|
|
den Kernel eingebunden werden, bevor er von einem
|
|
Programme aus genutzt werden kann. Fügen Sie
|
|
folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
|
|
erstellen Sie einen neuen Kernel:</para>
|
|
|
|
<programlisting>device bpf # Berkeley Packet Filter</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-smb-share">
|
|
<para>Habe ich, analog zum smbmount von &linux;, eine
|
|
Möglichkeit, auf ein freigegebenes Laufwerk einer
|
|
&windows;-Maschine in meinem Netzwerk zuzugreifen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie die Kernel-Erweiterungen und Benutzerprogramme
|
|
aus dem Programmpaket <application>SMBFS</application>. Das
|
|
Paket und weitergehende Informationen sind unter
|
|
&man.mount.smbfs.8; im Basissystem verfügbar.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="icmp-response-bw-limit">
|
|
<para>Was bedeutet die Meldung
|
|
<errorname>Limiting icmp/open port/closed port response</errorname>
|
|
in meinen Logfiles?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Mit dieser Meldung teilt Ihnen der Kernel mit,
|
|
dass irgend jemand versucht, ihn zur Generierung von
|
|
zu vielen ICMP oder TCP reset (RST) Antworten zu
|
|
provozieren. ICMP Antworten sind oft das Ergebnis von
|
|
Verbindungsversuchen zu unbenutzten UDP Ports. TCP Resets
|
|
werden generiert, wenn jemand versucht, eine Verbindung zu
|
|
einem ungenutzten TCP Port aufzubauen. Die Meldungen
|
|
können unter anderem durch die folgenden Ereignisse
|
|
ausgelöst werden:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Denial of Service (DoS) Angriffe mit der
|
|
Brechstange (und nicht durch Angriffe mit einzelnen
|
|
Paketen, die gezielt eine Schwachstelle des Systems
|
|
ausnutzen sollen).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Port Scans, bei denen versucht wird, Verbindungen
|
|
zu einer großen Anzahl von Ports (und nicht nur
|
|
einigen bekannten Ports) herzustellen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Die erste Zahl gibt an, wie viele Pakete vom Kernel
|
|
ohne das Limit versendet worden wären; die zweite
|
|
Zahl gibt das Limit an. Sie können das Limit mit
|
|
Hilfe der sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim</varname> einstellen. Im
|
|
Beispiel wird das Limit auf <literal>300</literal> Pakete
|
|
pro Sekunde gesetzt:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen>
|
|
|
|
<para>Wenn Sie zwar die Begrenzung benutzen möchten, aber
|
|
die Meldungen nicht in Ihren Logfiles sehen möchten,
|
|
können Sie die Meldungen mit der sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim_output</varname>
|
|
abschalten:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen>
|
|
|
|
<para>Falls Sie die Begrenzung ganz abschalten wollen,
|
|
können Sie die Sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim</varname> auf
|
|
<literal>0</literal>. Wir raten Ihnen aus den oben
|
|
genannten Gründen dringend von diesem Schritt
|
|
ab.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="unknown-hw-addr-format">
|
|
<para>Was bedeutet die Meldung <errorname>arp: unknown
|
|
hardware address format</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Gerät im lokalen Ethernet verwendet eine
|
|
MAC-Adresse in einem Format, das &os; nicht kennt. Der
|
|
wahrscheinlichste Grund ist, dass jemand Experimente
|
|
mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr
|
|
häufig in Netzwerken mit Cable Modems auf. Die
|
|
Meldung ist harmlos und sollte die Performance Ihres
|
|
Systems nicht negativ beeinflussen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="arp-wrong-iface">
|
|
<para>Warum sehe ich ständig Nachrichten wie:
|
|
<errorname>192.168.0.10 is on fxp1 but got reply from
|
|
00:15:17:67:cf:82 on rl0</errorname> und wie stelle ich
|
|
das ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Weil ein Paket unerwartet von ausserhalb des Netzwerks
|
|
empfangen wurde. Um die Nachrichten abzustellen, ändern Sie
|
|
<varname>net.link.ether.inet.log_arp_wrong_iface</varname> auf
|
|
<literal>0</literal>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="security">
|
|
<title>Sicherheit</title>
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="sandbox">
|
|
<para>Was ist ein Sandkasten (sandbox)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><quote>Sandkasten</quote> (sandbox) ist ein Ausdruck
|
|
aus dem Bereich Sicherheit. Er hat zwei
|
|
Bedeutungen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ein Programm, das innerhalb virtueller Wände
|
|
ausgeführt wird. Wenn ein Angreifer über
|
|
eine Sicherheitslücke in diesen Programm
|
|
einbricht, verhindern diese Wände ein tieferes
|
|
Vordringen in das System.</para>
|
|
|
|
<para>Man sagt: Der Prozess kann innerhalb der
|
|
Wände <quote>spielen</quote>, das heißt nichts,
|
|
was der Prozess in Bezug auf die Ausführung von
|
|
Code tut, kann die Wände durchbrechen. Es ist
|
|
also keine detaillierte Revision des Codes
|
|
erforderlich, um gewisse Aussagen über seine
|
|
Sicherheit machen zu können.</para>
|
|
|
|
<para>Die Wände könnten z.B. eine
|
|
Benutzerkennung sein. Dies ist die Definition, die in
|
|
den Hilfeseiten &man.security.7; und &man.named.8; benutzt
|
|
wird.</para>
|
|
|
|
<para>Nehmen Sie zum Beispiel den Dienst
|
|
<literal>ntalk</literal> (siehe auch &man.inetd.8;).
|
|
Dieser Dienst ist früher mit der Benutzerkennung
|
|
<username>root</username> gelaufen; nun läuft er mit der
|
|
Benutzerkennung <username>tty</username>. Der Benutzer
|
|
<username>tty</username> ist ein Sandkasten, der dazu gedacht
|
|
ist, es jemandem, der über <literal>ntalk</literal>
|
|
erfolgreich in das System eingebrochen ist, schwer zu machen,
|
|
über diese Benutzerkennung hinaus vorzudringen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ein Prozess, der sich innerhalb einer
|
|
simulierten Maschine befindet. Dies ist etwas
|
|
fortgeschrittener; grundsätzlich bedeutet es,
|
|
dass jemand, der in der Lage ist, in einen
|
|
Prozess einzudringen, annehmen könnte, er
|
|
könnte weiter in die Maschine eindringen,
|
|
tatsächlich aber nur in eine Simulation der
|
|
Maschine einbricht und keine echten Daten
|
|
verändert.</para>
|
|
|
|
<para>Der gängigste Weg, dies zu erreichen, ist, in
|
|
einem Unterverzeichnis eine simulierte Umgebung zu
|
|
erstellen und den Prozess in diesem Verzeichnis
|
|
mit chroot auszuführen (für diesen
|
|
Prozess ist <filename
|
|
class="directory">/</filename> dieses Verzeichnis und nicht das
|
|
echte <filename
|
|
class="directory">/</filename> des Systems).</para>
|
|
|
|
<para>Eine weitere gebräuchliche Anwendung ist, ein
|
|
untergeordnetes Dateisystem nur mit Leserechten zu
|
|
mounten, und dann darüber eine Dateisystemebene
|
|
zu erstellen, die einem Prozess einen scheinbar
|
|
schreibberechtigten Blick in das Dateisystem gibt.
|
|
Der Prozess mag glauben, dass er in der Lage
|
|
ist, diese Dateien zu verändern, aber nur der
|
|
Prozess sieht diesen Effekt - andere Prozess
|
|
im System natürlich nicht.</para>
|
|
|
|
<para>Es wird versucht, diese Art von Sandkasten so
|
|
transparent zu gestalten, dass der Benutzer (oder
|
|
Hacker) nicht merkt, dass er sich in ihm
|
|
befindet.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Ein &unix; System implementiert zwei Arten von
|
|
Sandkästen - eine auf Prozessebene und die andere auf
|
|
der Ebene der Benutzerkennung.</para>
|
|
|
|
<para>Jeder Prozess auf einem &unix; System ist komplett von
|
|
allen anderen Prozessen abgeschirmt. Ein Prozess
|
|
kann den Adressraum eines anderen Prozesses nicht
|
|
modifizieren. Das ist anders als bei &windows;, wo ein
|
|
Prozess leicht den Adressraum eines anderen
|
|
überschreiben kann, was zu einem Absturz
|
|
führt.</para>
|
|
|
|
<para>Ein Prozess gehört einer bestimmten
|
|
Benutzerkennung. Falls die Benutzerkennung nicht die von
|
|
<username>root</username> ist, dient sie dazu, den
|
|
Prozess von Prozessen anderer Benutzer abzuschirmen.
|
|
Die Benutzerkennung wird außerdem dazu genutzt,
|
|
Daten auf der Festplatte abzuschirmen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="securelevel">
|
|
<para>Was sind die Sicherheitsstufen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Sicherheitsstufen sind ein Sicherheitsmechanismus,
|
|
der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe
|
|
einen positiven Wert hat, verhindert der Kernel die
|
|
Ausführung bestimmter Tätigkeiten; nicht einmal
|
|
der Super-User (also <username>root</username>) darf sie
|
|
durchführen. Zurzeit können über die
|
|
Sicherheitsstufen unter anderem die folgenden
|
|
Tätigkeiten geblockt werden:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Zurücksetzen bestimmter Dateiattribute, wie zum
|
|
Beispiel <literal>schg</literal> (das "system immutable"
|
|
Attribut).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schreibender Zugriff auf die Speicherbereiche des
|
|
Kernels mittels <devicename>/dev/mem</devicename> und
|
|
<devicename>/dev/kmem</devicename>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Laden von Kernel-Modulen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Änderungen an den Firewall-Regeln.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Um die eingestellte Sicherheitsstufe eines aktiven
|
|
Systems abzufragen, reicht das folgende einfache
|
|
Kommando:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
|
|
|
|
<para>Die Ausgaben wird den Namen der
|
|
&man.sysctl.8;-Variablen (in diesem Fall
|
|
<varname>kern.securelevel</varname>) und eine Zahl
|
|
enthalten. Die Zahl ist der aktuelle Wert der
|
|
Sicherheitsstufe. Wenn die Zahl positiv
|
|
(größer als Null) ist, sind zumindest einige
|
|
der Schutzmaßnahmen aktiviert.</para>
|
|
|
|
<para>Sie können die Sicherheitsstufe eines laufenden
|
|
Systems nicht verringern, da dies den Mechanismus wertlos
|
|
machen würden. Wenn Sie eine Tätigkeit
|
|
ausführen müssen, bei der die Sicherheitsstufe
|
|
nicht-positiv sein muss (z.B. ein
|
|
<maketarget>installworld</maketarget> oder eine
|
|
Änderung der Systemzeit), dann müssen Sie die
|
|
entsprechende Einstellung in
|
|
<filename>/etc/rc.conf</filename> ändern (suchen Sie
|
|
nach den Variablen <varname>kern_securelevel</varname> und
|
|
<varname>kern_securelevel_enable</varname>) und das System
|
|
rebooten.</para>
|
|
|
|
<para>Weitere Informationen über die Sicherheitsstufen
|
|
und genaue Informationen, was die Einstellungen bewirken,
|
|
können Sie der Online-Hilfe &man.init.8;
|
|
entnehmen.</para>
|
|
|
|
<warning>
|
|
<para>Die Sicherheitsstufen sind kein magischer
|
|
Zauberstab, der alle Ihre Problem löst; es gibt
|
|
viele bekannte Probleme. Und in der Mehrzahl der
|
|
Fälle vermitteln sie ein falsches Gefühl der
|
|
Sicherheit.</para>
|
|
|
|
<para>Eines der größten Probleme ist, dass
|
|
alle für den Start des Systems benötigten
|
|
Dateien geschützt sein müssen, damit die
|
|
Sicherheitsstufe effektiv sein können. Wenn es ein
|
|
Angreifer schafft, seine eigenen Programme
|
|
ausführen zu lassen, bevor die Sicherheitsstufe
|
|
gesetzt wird (was leider erst gegen Ende des
|
|
Startvorgangs erfolgen kann, da viele der notwendigen
|
|
Tätigkeiten für den Systemstart nicht mit
|
|
einer gesetzten Sicherheitsstufe möglich
|
|
wären), werden die Schutzmechanismen ausgehebelt.
|
|
Es ist zwar nicht technisch unmöglich, alle beim
|
|
Systemstart genutzten Dateien zu schützen;
|
|
allerdings würde in einem so geschützten
|
|
System die Administration zu einem Alptraum, da man das
|
|
System neu starten oder in den Single-User-Modus bringen
|
|
müsste, um eine Konfigurationsdatei
|
|
ändern zu können.</para>
|
|
|
|
<para>Dieses und andere Probleme werden häufig auf
|
|
den Mailinglisten diskutiert, speziell auf auf der
|
|
Mailingliste &a.security;. Das <ulink
|
|
url="&url.base;/search/index.html"> verfügbare Archiv</ulink>
|
|
enthält ausgiebige Diskussionen. Einige Benutzer
|
|
sind guter Hoffnung, dass das System der Sicherheitsstufen
|
|
bald durch ein besser konfigurierbares System ersetzt
|
|
wird, aber es gibt noch keine definitiven Aussagen.</para>
|
|
|
|
<para>Fühlen Sie sich gewarnt.</para>
|
|
</warning>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="extra-named-port">
|
|
<para>Wieso wartet BIND (<command>named</command>) auf hohen Ports
|
|
auf Anfragen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; benutzt eine Version von BIND, die einen Port mit einer
|
|
hohen, zufälligen Nummer für den Versand von Anfragen
|
|
nutzt. Aktuelle Versionen wählen einen neuen, zufälligen
|
|
UDP-Port für jeden Query. Das kann für manche
|
|
Netzwerkkonfigurationen Probleme verursachen, besonders wenn eine
|
|
Firewall eingehende UDP-Pakete auf bestimmten Ports blockiert.
|
|
Wenn Sie durch eine solche Firewall wollen, können Sie die
|
|
<literal>avoid-v4-udp-ports</literal> und
|
|
<literal>avoid-v6-udp-ports</literal> Optionen ausprobieren, um
|
|
ein zufälliges Auswählen von Portnummern innerhalb eines
|
|
blockierten Bereiches zu verhindern.</para>
|
|
|
|
<warning>
|
|
<para>Wenn eine Portnummer (wie 53) über die Optionen
|
|
<literal>query-source</literal> oder
|
|
<literal>query-source-v6</literal> in
|
|
<filename>/etc/namedb/named.conf</filename> spezifiziert ist,
|
|
wird zufällige Portauswahl nicht verwendet. Es wird
|
|
dringend empfohlen, dass diese Optionen nicht für die
|
|
Spezifikation von festen Portnummern verwendet wird.</para>
|
|
</warning>
|
|
|
|
<para>Ach übrigens, herzlichen Glückwunsch. Es
|
|
ist eine sehr gute Angewohnheit, die Ausgaben von
|
|
&man.sockstat.1; durchzusehen und auf merkwürdige
|
|
Dinge zu achten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sendmail-port-587">
|
|
<para>Wieso wartet der <application>sendmail</application>-Dienst
|
|
neuerdings sowohl auf Port 587 als auch auf dem
|
|
Standard-Port 25 auf Anfragen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aktuelle <application>sendmail</application>-Versionen
|
|
unterstützen eine neue Technik zur Einlieferung von
|
|
Mails, die Port 587 nutzt. Diese Technik wird zwar noch
|
|
nicht oft angewendet, erfreut sich aber ständig steigender
|
|
Popularität.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="toor-account">
|
|
<para>Woher kommt dieser Benutzer <username>toor</username>
|
|
mit UID 0? Ist mein System gehackt worden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Keine Panik. <username>toor</username> ist ein
|
|
<quote>alternativer</quote> Account für den
|
|
Super-User (wenn man root rückwärts schreibt,
|
|
erhält man toor). Früher wurde er nur erzeugt,
|
|
wenn die Shell &man.bash.1; installiert wurde, heute wird
|
|
er auf jeden Fall erzeugt. Dieser Account ist für
|
|
die Verwendung mit einer alternativen Shell vorgesehen;
|
|
damit ist es nicht mehr erforderlich, die Shell von
|
|
<username>root</username> zu ändern. Dies ist
|
|
wichtig, wenn eine Shell verwendet wird, die nicht zum
|
|
Lieferumfang von &os; gehört, zum Beispiel aus
|
|
einem Port oder einem Package. Diese Shells werden in der
|
|
Regel in <filename class="directory">/usr/local/bin</filename>
|
|
installiert und dieses Verzeichnis liegt standardmäßig
|
|
auf einem anderem Filesystem. Wenn die Shell von
|
|
<username>root</username> in <filename
|
|
class="directory">/usr/local/bin</filename> liegt und <filename
|
|
class="directory">/usr</filename> (oder das Filesystem, auf dem
|
|
<filename class="directory">/usr/local/bin</filename> liegt) nicht
|
|
gemountet werden kann, kann sich <username>root</username> nicht
|
|
mehr einloggen, um das Problem zu beheben. Es ist
|
|
allerdings möglich, das System zu rebooten und das
|
|
Problem im Single-User-Modus zu lösen, da man hier
|
|
gefragt wird, welche Shell benutzt werden soll.</para>
|
|
|
|
<para>Einige Anwender benutzen <username>toor</username> mit
|
|
einer alternativen Shell für die tägliche Arbeit
|
|
und benutzen <username>root</username> (mit der
|
|
Standard-Shell) für den Single-User-Modus und
|
|
für Notfälle. Standardmäßig kann man
|
|
sich nicht als <username>toor</username> anmelden, da der
|
|
Account kein gültiges Passwort hat; Sie
|
|
müssen sich also als <username>root</username>
|
|
anmelden und ein Passwort für
|
|
<username>toor</username> setzen, wenn Sie diesen Account
|
|
benutzen wollen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="suidperl">
|
|
<para>Warum funktioniert <command>suidperl</command> nicht
|
|
richtig?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aus Sicherheitsgründen wird <command>suidperl</command>
|
|
standardmäßig nicht installiert. Wenn Sie wollen, dass
|
|
<command>suidperl</command> auch beim Update via Sourcecode das
|
|
SUID-Bit erhält, müssen Sie in
|
|
<filename>/etc/make.conf</filename> die
|
|
Zeile <literal><varname>ENABLE_SUIDPERL</varname>=true</literal>
|
|
einfügen, bevor Sie <command>perl</command> bauen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="ppp">
|
|
<title>PPP</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="userppp">
|
|
<para>Ich bekomme &man.ppp.8; nicht zum Laufen. Was mache
|
|
ich falsch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp)
|
|
und den <ulink
|
|
url="&url.books.handbook;/ppp-and-slip.html#USERPPP">Abschnitt zu
|
|
PPP im Handbuch</ulink> lesen. Aktivieren Sie das Logging
|
|
mit folgendem Befehl:</para>
|
|
|
|
<programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting>
|
|
|
|
<para>Dieser Befehl kann an der Eingabeaufforderung von
|
|
&man.ppp.8; eingegeben oder in die Konfigurationsdatei
|
|
<filename>/etc/ppp/ppp.conf</filename> eingetragen werden
|
|
(der beste Ort hierfür ist der Anfang des Abschnitts
|
|
<literal>default</literal>. Stellen Sie sicher, dass
|
|
die Datei <filename>/etc/syslog.conf</filename> die
|
|
folgenden Zeilen enthält und die Datei
|
|
<filename>/var/log/ppp.log</filename> existiert:</para>
|
|
|
|
<programlisting>!ppp
|
|
*.* /var/log/ppp.log
|
|
</programlisting>
|
|
|
|
<para>Sie können nun über die Logfiles eine Menge
|
|
darüber herausfinden, was geschieht. Es macht
|
|
nichts, wenn die Einträge in den Logfiles Ihnen gar
|
|
nichts sagen. Wenn Sie jemandem um Hilfe bitten
|
|
müssen, könnten sie für ihn von Nutzen
|
|
sein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-hangs">
|
|
<para>Warum hängt sich ppp auf, wenn ich es
|
|
benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das liegt meistens daran, dass Ihr Rechnername
|
|
nicht aufgelöst werden kann. Um dieses Problem zu
|
|
lösen, müssen Sie sicherstellen, dass die
|
|
Datei <filename>/etc/hosts</filename> von Ihrem Resolver
|
|
zuerst genutzt wird. Dazu muss in der Datei
|
|
<filename>/etc/host.conf</filename> der Eintrag
|
|
<literal>hosts</literal> an die erste Stelle gesetzt
|
|
werden. Erstellen Sie dann einfach für Ihren lokalen
|
|
Rechner einen Eintrag in der Datei
|
|
<filename>/etc/hosts</filename>. Falls Sie kein lokales
|
|
Netzwerk besitzen, ändern Sie die
|
|
<hostid>localhost</hostid>-Zeile:</para>
|
|
|
|
<programlisting>127.0.0.1 foo.example.com foo localhost</programlisting>
|
|
|
|
<para>Andernfalls fügen Sie einfach einen weiteren
|
|
Eintrag für Ihren lokalen Rechner hinzu. Weitere
|
|
Details finden Sie in den betreffenden
|
|
Manualpages.</para>
|
|
|
|
<para>Wenn Sie fertig sind sollten Sie <command>ping -c1
|
|
`hostname`</command> erfolgreich ausführen
|
|
können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nodial-auto">
|
|
<para>Warum wählt &man.ppp.8; im
|
|
<literal>-auto</literal>-Modus nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Überprüfen Sie zunächst, ob Sie einen
|
|
Standard-Gateway eingestellt haben. Wenn Sie
|
|
<command>netstat -rn</command> ausführen, sollten Sie
|
|
zwei Einträge ähnlich den folgenden
|
|
sehen:</para>
|
|
|
|
<programlisting>
|
|
Destination Gateway Flags Refs Use Netif Expire
|
|
default 10.0.0.2 UGSc 0 0 tun0
|
|
10.0.0.2 10.0.0.1 UH 0 0 tun0
|
|
</programlisting>
|
|
|
|
<para>Hier wird angenommen, dass Sie die Adressen aus
|
|
dem Handbuch, der Manualpage oder aus der Datei
|
|
<filename>ppp.conf.sample</filename> benutzt haben.
|
|
Falls Sie keine Standardroute haben, kann es daran liegen, dass Sie
|
|
vergessen haben, die Zeile <literal>HISADDR</literal> in der Datei
|
|
<filename>ppp.conf</filename> hinzuzufügen.</para>
|
|
|
|
<para>Ein weiterer Grund dafür, dass die Zeile
|
|
für die Standardroute fehlt, könnte der sein,
|
|
dass Sie fälschlicherweise eine Standardroute in
|
|
der Datei <filename>/etc/rc.conf</filename> eingetragen
|
|
und die folgende Zeile in <filename>ppp.conf</filename>
|
|
ausgelassen haben:</para>
|
|
|
|
<programlisting>delete ALL</programlisting>
|
|
|
|
<para>Lesen Sie in diesem Fall den Abschnitt <ulink
|
|
url="&url.books.handbook;/userppp.html#USERPPP-FINAL">
|
|
Abschließende Systemkonfiguration</ulink> des
|
|
Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-route-to-host">
|
|
<para>Was bedeutet <errorname>No route to
|
|
host</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler beruht für gewöhnlich auf
|
|
einem fehlenden Abschnitt in Ihrer Datei
|
|
<filename>/etc/ppp/ppp.linkup</filename>:</para>
|
|
|
|
<programlisting>MYADDR:
|
|
delete ALL
|
|
add 0 0 HISADDR
|
|
</programlisting>
|
|
|
|
<para>Er ist nur notwendig, wenn Sie eine dynamische IP-Adresse
|
|
besitzen oder die Adresse Ihres Gateways nicht kennen. Wenn Sie
|
|
den interaktiven Modus benutzen, können Sie folgendes
|
|
eingeben, nachdem Sie in den <literal>packet
|
|
mode</literal> gelangt sind (den Paket Modus erkennen Sie
|
|
an <acronym>PPP</acronym> im Prompt):</para>
|
|
|
|
<programlisting>
|
|
delete ALL
|
|
add 0 0 HISADDR
|
|
</programlisting>
|
|
|
|
<para>Weitere Details finden Sie im Abschnitt <ulink
|
|
url="&url.books.handbook;/userppp.html#USERPPP-DYNAMICIP">PPP
|
|
und Dynamische IP-Adressen</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="connection-threeminutedrop">
|
|
<para>Wieso werden meine Verbindungen nach ca. drei Minuten
|
|
beendet?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Standardtimeout für &man.ppp.8; beträgt
|
|
drei Minuten. Er kann durch die folgende Zeile eingestellt werden,
|
|
wobei <replaceable>NNN</replaceable> die Inaktivität in
|
|
Sekunden angibt, bevor die Verbindung geschlossen wird:</para>
|
|
|
|
<programlisting>set timeout <replaceable>NNN</replaceable></programlisting>
|
|
|
|
<para>Falls <replaceable>NNN</replaceable> Null ist, wird die
|
|
Verbindung niemals aufgrund eines Timeouts geschlossen.
|
|
Es ist möglich, diesen Befehl in die Datei
|
|
<filename>ppp.conf</filename> einzubinden, oder ihn an der
|
|
Eingabeaufforderung im interaktiven Modus einzugeben.
|
|
Durch eine Verbindung zum Server-Socket von
|
|
<application>ppp</application> über &man.telnet.1;
|
|
oder &man.pppctl.8; ist es auch möglich, den Timeout
|
|
bei aktiver Verbindung anzupassen. Weitere Details finden
|
|
Sie in der Manualpage &man.ppp.8;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-drop-heavy-load">
|
|
<para>Wieso bricht meine Verbindung bei hoher Auslastung
|
|
ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie Link-Quality-Reporting (LQR) konfiguriert
|
|
haben, ist es möglich, dass zu viele LQR-Pakete
|
|
zwischen Ihrer Maschine und dem verbundenen Rechner
|
|
verloren gehen. Das &man.ppp.8;-Programm folgert daraus, dass die
|
|
Verbindung nicht in Ordnung ist und schließt sie.
|
|
Vor &os; Version 2.2.5 war LQR standardmäßig
|
|
aktiviert; nun ist es standardmäßig
|
|
deaktiviert. Es kann durch die folgende Zeile deaktiviert
|
|
werden:</para>
|
|
|
|
<programlisting>disable lqr</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-drop-random">
|
|
<para>Warum brechen meine Verbindungen nach unbestimmter
|
|
Zeit zusammen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn die Qualität Ihrer Telefonleitung zu
|
|
schlecht oder bei Ihrem Anschluss die Option
|
|
(Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
|
|
ist, kann es manchmal vorkommen, dass Ihr Modem
|
|
auflegt, weil es (fälschlicherweise) annimmt,
|
|
dass es das Trägersignal verloren hat.</para>
|
|
|
|
<para>Bei den meisten Modems gibt es eine
|
|
Einstellmöglichkeit, um anzugeben, wie tolerant es
|
|
gegenüber vorübergehenden Verlusten des
|
|
Trägersignals sein soll. Bei einem
|
|
&usrobotics; &sportster; wird dies zum Beispiel im Register
|
|
S10 in Zehntelsekunden angegeben. Um Ihr Modem toleranter zu
|
|
machen, können Sie zu Ihrem Wählbefehl die folgende
|
|
Sende-Empfangs-Sequenz hinzufügen:</para>
|
|
|
|
<programlisting>set dial "...... ATS10=10 OK ......"</programlisting>
|
|
|
|
<para>Weitere Information sollten Sie dem Handbuch Ihres
|
|
Modems entnehmen können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-hangs-random">
|
|
<para>Warum hängen meine Verbindung nach einer
|
|
unbestimmten Zeit?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Viele Leute machen Erfahrungen mit hängenden
|
|
Verbindungen ohne erkennbaren Grund. Als erstes muss
|
|
festgestellt werden, welche Seite der Verbindung
|
|
hängt.</para>
|
|
|
|
<para>Wenn Sie ein externes Modem benutzen, können Sie
|
|
einfach versuchen, &man.ping.8; zu benutzen, um zu sehen,
|
|
ob die <acronym>TD</acronym>-Anzeige aufleuchtet, wenn Sie
|
|
Daten übertragen. Falls sie aufleuchtet (und die
|
|
<acronym>RD</acronym>-Anzeige nicht), liegt das Problem am
|
|
anderen Ende. Falls <acronym>TD</acronym> nicht
|
|
aufleuchtet, handelt es sich um ein lokales Problem. Bei
|
|
einem internen Modem müssen Sie den Befehl
|
|
<literal>set server</literal> in Ihrer Datei
|
|
<filename>ppp.conf</filename> benutzen. Stellen Sie
|
|
über &man.pppctl.8; eine Verbindung zu &man.ppp.8;
|
|
her, wenn die Verbindung hängt. Falls Ihre
|
|
Netzwerkverbindung plötzlich wieder funktioniert (ppp
|
|
wurde durch die Aktivität auf dem Diagnose-Socket
|
|
wiederbelebt) oder Sie keine Verbindung bekommen
|
|
(vorausgesetzt, der Befehl <literal>set socket</literal>
|
|
wurde beim Start erfolgreich ausgeführt), handelt es
|
|
sich um ein lokales Problem. Falls Sie eine Verbindung
|
|
bekommen und die externe Verbindung weiterhin hängt,
|
|
aktivieren Sie lokales asynchrones Logging mit
|
|
<literal>set log local async</literal> und benutzen Sie
|
|
&man.ping.8; von einem anderen Fenster oder Bildschirm
|
|
aus, um die externe Verbindung zu benutzen. Das
|
|
asynchrone Logging zeigt Ihnen, welche Daten über die
|
|
Verbindung gesendet und empfangen werden. Falls Daten
|
|
hinausgehen, aber nicht zurückkommen, handelt es sich
|
|
um ein externes Problem.</para>
|
|
|
|
<para>Wenn Sie festgestellt haben, ob es sich um ein lokales
|
|
oder um ein externes Problem handelt, haben Sie zwei
|
|
Möglichkeiten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Wenn es ein externes Problem ist, lesen Sie bitte bei
|
|
<xref linkend="ppp-remote-not-responding"/> weiter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Handelt es sich um ein lokales Problem, lesen Sie bitte
|
|
<xref linkend="ppp-hung"/>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-remote-not-responding">
|
|
<para>Was kann ich machen, wenn die Gegenstelle nicht
|
|
antwortet?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hier können Sie wenig tun. Die meisten ISPs
|
|
werden ablehnen, Ihnen zu helfen, wenn Sie kein
|
|
Betriebssystem von µsoft; benutzen. Sie können
|
|
<literal>enable lqr</literal> in Ihrer Datei
|
|
<filename>ppp.conf</filename> angeben, wodurch &man.ppp.8;
|
|
ermöglicht wird, ein externes Versagen zu erkennen
|
|
und aufzulegen, aber diese Erkennung ist relativ langsam
|
|
und deshalb nicht besonders nützlich. Evtl. sagen
|
|
Sie Ihrem ISP nicht, dass Sie user-PPP
|
|
benutzen.</para>
|
|
|
|
<para>Versuchen Sie zunächst, jegliche Datenkompression
|
|
auszuschalten, indem Sie folgendes zu Ihrer Konfiguration
|
|
hinzufügen:</para>
|
|
|
|
<programlisting>
|
|
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
|
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
|
</programlisting>
|
|
|
|
<para>Stellen Sie nun wieder eine Verbindung her, um
|
|
festzustellen, ob sich etwas geändert hat. Falls es
|
|
nun besser läuft oder falls das Problem
|
|
vollständig behoben ist, versuchen Sie durch
|
|
schrittweises Ändern der Einstellungen festzustellen,
|
|
welche Einstellung den Unterschied bewirkt. Hierdurch
|
|
erhalten Sie schlüssige Fakten für ein Gespräch
|
|
mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
|
|
dass Sie kein µsoft;-Produkt benutzen).</para>
|
|
|
|
<para>Aktivieren Sie asynchrones Logging und warten Sie, bis
|
|
die Verbindung wieder hängt, bevor Sie sich an Ihren
|
|
ISP wenden. Hierzu kann einiges an Plattenplatz
|
|
nötig sein. Die Daten, die als letztes von dem Port
|
|
gelesen wurden, könnten von Interesse sein. Für
|
|
gewöhnlich handelt es sich um ASCII-Text, der sogar
|
|
den Fehler beschreiben kann (<errorname>Memory fault, Core
|
|
dumped</errorname>).</para>
|
|
|
|
<para>Falls Ihr ISP hilfsbereit ist, sollte er in der Lage
|
|
sein, an seinem Ende das Logging zu aktivieren und wenn
|
|
das nächste Mal die Verbindung abbricht, könnte
|
|
er Ihnen mitteilen, worin das Problem auf seiner Seite
|
|
besteht. Gerne können Sie Details auch an &a.brian;
|
|
schicken, oder Ihren ISP bitten, sich direkt an ihn zu
|
|
wenden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-hung">
|
|
<para>Was kann ich tun, wenn sich &man.ppp.8;
|
|
aufhängt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In diesem Fall erstellen Sie am besten &man.ppp.8;
|
|
mit Debugging-Informationen neu und benutzen dann &man.gdb.1;, um
|
|
von dem hängenden <application>ppp</application> Prozess eine
|
|
Aufzeichnung des Stacks zu erstellen. Um die
|
|
<application>ppp</application> Anwendung mit
|
|
Debugging-Informationen zu übersetzen, geben Sie folgendes
|
|
ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/ppp</userinput>&prompt.root; <userinput>env DEBUG_FLAGS='-g' make clean</userinput>
|
|
&prompt.root; <userinput>env DEBUG_FLAGS='-g' make install</userinput></screen>
|
|
<para>Anschliessend sollten Sie <application>ppp</application> neu
|
|
starten und darauf warten, dass es wieder hängt. Wenn die
|
|
Debug-Version von <application>ppp</application> hängt,
|
|
starten Sie <application>gdb</application> für den
|
|
steckengebliebenen Prozess, indem Sie folgendes eingeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>gdb ppp `pgrep ppp`</userinput></screen>
|
|
|
|
<para>An der Eingabeaufforderung von <application>gdb</application>
|
|
können Sie die Befehle <command>bt</command> oder
|
|
<command>where</command> benutzen, um eine Aufzeichnung des Stacks
|
|
zu erhalten. Speichern Sie die Ausgabe der
|
|
<application>gdb</application>-Sitzung und
|
|
<quote>trennen</quote> Sie den laufenden Prozess über den
|
|
<command>quit</command> Befehl von
|
|
<application>gdb</application>.</para>
|
|
|
|
<para>Schicken Sie zum Schluss das Log der
|
|
<application>gdb</application>-Sitzung an &a.brian;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-loginok-thennothing">
|
|
<para>Warum passiert nach der Nachricht <quote>Login
|
|
OK!</quote> nichts?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei &os;-Versionen vor 2.2.5 wartete &man.ppp.8;
|
|
darauf, dass der Partner das Line Control Protocol
|
|
(LCP) initiiert. Viele ISPs starten nicht mit der
|
|
Initiierung, sondern erwarten dies vom Client. Benutzen
|
|
Sie die folgende Zeile, um &man.ppp.8; zu veranlassen, LCP
|
|
zu initiieren:</para>
|
|
|
|
<programlisting>set openmode active</programlisting>
|
|
|
|
<note>
|
|
<para>Für gewöhnlich schadet es nicht, wenn
|
|
beide Seiten versuchen, Verhandlungen einzuleiten.
|
|
Deshalb ist openmode nun standardmäßig aktiv.
|
|
Im nächsten Abschnitt wird allerdings erklärt,
|
|
in welchen Fällen es <emphasis>doch</emphasis>
|
|
schadet.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-same-magic">
|
|
<para>Ich sehe ständig Fehlermeldungen über
|
|
gleiche <quote>Magic Numbers</quote> Was heißt
|
|
das?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nach dem Aufbau einer Verbindung kann es sein,
|
|
dass Sie in der Logdatei gelegentlich Meldungen mit
|
|
dem Hinweis <errorname>magic is the same</errorname> sehen.
|
|
Manchmal sind diese Meldungen harmlos und manchmal bricht
|
|
die eine oder andere Seite die Verbindung ab. Die meisten
|
|
Implementationen von PPP können dieses Problem nicht
|
|
handhaben und Sie werden wiederholte
|
|
Konfigurationsanforderungen und -bestätigungen in der
|
|
Logdatei finden, bis &man.ppp.8; schließlich aufgibt
|
|
und die Verbindung beendet.</para>
|
|
|
|
<para>Dies geschieht normalerweise auf Servern mit langsamen
|
|
Festplatten, bei denen ein getty auf dem Port
|
|
ausgeführt und &man.ppp.8; nach dem Einloggen von
|
|
einem Login-Skript oder einem Programm aus gestartet wird.
|
|
Es wurde auch schon berichtet, dass dies bei der
|
|
Benutzung von slirp regelmäßig auftritt. Der
|
|
Grund hierfür ist, dass das &man.ppp.8; auf der
|
|
Client-Seite in der Zeit, die benötigt wird, &man.getty.8; zu
|
|
beenden und &man.ppp.8; zu starten, bereits beginnt, Line Control
|
|
Protocol (LCP) Pakete zu senden. Da ECHO auf dem
|
|
Serverport weiterhin eingeschaltet ist, werden diese
|
|
Pakete zum &man.ppp.8; auf der Client-Seite
|
|
<quote>reflektiert</quote>.</para>
|
|
|
|
<para>Ein Teil der LCP-Verhandlungen ist die Einrichtung
|
|
einer <quote>Magic Number</quote> für jede Seite der
|
|
Verbindung, damit <quote>Echos</quote> erkannt werden können.
|
|
Das Protokoll besagt, dass, wenn der Partner
|
|
versucht, die gleiche <quote>Magic Number</quote> auszuhandeln,
|
|
ein NAK zurückgesendet und eine neue "Magic Number"
|
|
gewählt werden soll. Während der Server das
|
|
ECHO eingeschaltet hat, sendet der Client LCP Pakete,
|
|
sieht die gleiche <quote>Magic Number</quote> im reflektierten
|
|
Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK
|
|
(was bedeutet, dass &man.ppp.8; seine "Magic Number"
|
|
ändern muss). Hierdurch wird eine Vielzahl von
|
|
Änderungen der <quote>Magic Number</quote> hervorgerufen,
|
|
die sich allesamt im tty-Puffer des Servers ansammeln. Sobald
|
|
&man.ppp.8; auf dem Server startet, wird es mit
|
|
Änderungen der <quote>Magic Number</quote> überflutet
|
|
und entscheidet, dass es sich zur Genüge mit den
|
|
LCP-Verhandlungen beschäftigt hat und gibt auf. Und
|
|
während sich der Client noch darüber freut,
|
|
dass er keine weiteren Reflexionen sieht, wird ihm
|
|
gemeldet, dass der Server auflegt.</para>
|
|
|
|
<para>Dies kann verhindert werden, indem dem Partner durch
|
|
die folgende Zeile in der Datei
|
|
<filename>ppp.conf</filename> erlaubt wird, mit der
|
|
Verhandlung zu beginnen:</para>
|
|
|
|
<programlisting>set openmode passive</programlisting>
|
|
|
|
<para>Hierdurch wird &man.ppp.8; mitgeteilt, darauf zu
|
|
warten, dass der Server mit den LCP-Verhandlungen
|
|
beginnt. Einige Server starten jedoch nie mit der
|
|
Verhandlungen; falls dies der Fall ist, können Sie
|
|
folgendes tun:</para>
|
|
|
|
<programlisting>set openmode active 3</programlisting>
|
|
|
|
<para>Hierdurch bleibt &man.ppp.8; für drei Sekunden
|
|
passiv und fängt dann erst an, LCP-Anforderungen zu
|
|
senden. Falls der Partner während dieser Zeit
|
|
beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt
|
|
antworten und nicht erst, nachdem die drei Sekunden
|
|
abgelaufen sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-lcp-constant">
|
|
<para>Die LCP-Verhandlungen dauern an, bis die Verbindung
|
|
geschlossen wird. Was mache ich falsch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt eine Fehlfunktion in der Implementierung von
|
|
&man.ppp.8;, die darin besteht, dass LCP-, CCP- &
|
|
IPCP-Antworten nicht mit den ursprünglichen
|
|
Anforderungen assoziiert werden. Für den Fall,
|
|
dass eine Implementation von PPP mehr als sechs
|
|
Sekunden langsamer ist, als die andere Seite, resultiert
|
|
das darin, dass die andere Seite zwei weitere
|
|
LCP-Konfigurationsanforderungen sendet, was fatale
|
|
Auswirkungen hat.</para>
|
|
|
|
<para>Stellen Sie sich vor, wir hätten es mit zwei
|
|
Implementierungen <hostid>A</hostid> und
|
|
<hostid>B</hostid> zu tun. <hostid>A</hostid> beginnt
|
|
unmittelbar nach der Verbindung, LCP-Anforderungen zu
|
|
senden und <hostid>B</hostid> benötigt sieben
|
|
Sekunden, zu starten. Wenn <hostid>B</hostid> startet,
|
|
hat <hostid>A</hostid> bereits drei LCP-Anforderungen
|
|
gesendet. Wir nehmen an, dass ECHO ausgeschaltet
|
|
ist; andernfalls würden wir Probleme mit der "Magic
|
|
Number" beobachten, wie bereits im vorherigen Abschnitt
|
|
beschrieben. <hostid>B</hostid> sendet eine Anforderung
|
|
und anschließend eine Bestätigung der ersten
|
|
Anforderung von <hostid>A</hostid>. Dies führt dazu,
|
|
dass <hostid>A</hostid> in den Zustand
|
|
<acronym>OPENED</acronym> übergeht und eine
|
|
Bestätigung (die erste) zurück an
|
|
<hostid>B</hostid> sendet. In der Zwischenzeit sendet
|
|
<hostid>B</hostid> zwei weitere Bestätigungen als
|
|
Antwort auf die zusätzlichen Anforderungen, die von
|
|
<hostid>A</hostid> gesendet worden sind, bevor
|
|
<hostid>B</hostid> gestartet ist. <hostid>B</hostid>
|
|
empfängt dann die erste Bestätigung von
|
|
<hostid>A</hostid> und geht in den Zustand
|
|
<acronym>OPENED</acronym> über. <hostid>A</hostid>
|
|
empfängt die zweite Bestätigung von
|
|
<hostid>B</hostid>, geht zurück in den Zustand
|
|
<acronym>REQ-SENT</acronym> und sendet eine
|
|
weitere (vierte) Anforderung entsprechend dem RFC.
|
|
<hostid>A</hostid> empfängt dann die dritte
|
|
Bestätigung und geht in den Zustand
|
|
<acronym>OPENED</acronym> über. In der Zwischenzeit
|
|
empfängt <hostid>B</hostid> die vierte Anforderung
|
|
von <hostid>A</hostid>, wechselt in den Zustand
|
|
<acronym>ACK-SENT</acronym> und sendet eine weitere
|
|
(zweite) Anforderung und (vierte) Bestätigung
|
|
entsprechend dem RFC. <hostid>A</hostid> erhält die
|
|
Anforderung, geht in den Zustand
|
|
<acronym>REQ-SENT</acronym> über, sendet eine weitere
|
|
Anforderung, erhält unverzüglich die
|
|
nächste Bestätigung und geht in
|
|
<acronym>OPENED</acronym> über.</para>
|
|
|
|
<para>Das geht so weiter, bis eine Seite erkennt, dass
|
|
man zu keinem Ergebnis gelangt und aufgibt.</para>
|
|
|
|
<para>Am besten verhindert man solche Situationen, indem man
|
|
eine Seite als <literal>passiv</literal> konfiguriert,
|
|
also dafür sorgt, dass eine Seite darauf
|
|
wartet, dass die andere mit den Verhandlungen beginnt. Das
|
|
kann durch den folgenden Befehl geschehen:</para>
|
|
|
|
<programlisting>set openmode passive</programlisting>
|
|
|
|
<para>Diese Option sollten Sie mit Vorsicht genießen.
|
|
Folgenden Befehl sollten Sie benutzen, um
|
|
die Wartezeit auf den Beginn der Verhandlungen des
|
|
Partners von &man.ppp.8; zu begrenzen:</para>
|
|
|
|
<programlisting>set stopped <replaceable>N</replaceable></programlisting>
|
|
|
|
<para>Alternativ kann der folgende Befehl (wobei
|
|
<replaceable>N</replaceable> die Wartezeit in Sekunden vor Beginn
|
|
der Verhandlungen angibt) benutzt werden:</para>
|
|
|
|
<programlisting>set openmode active <replaceable>N</replaceable></programlisting>
|
|
|
|
<para>Weitere Details finden Sie in den Manualpages.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-shell-test-lockup">
|
|
<para>Warum reagiert &man.ppp.8; nicht mehr, wenn ich es mit
|
|
shell verlassen habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie den Befehl <command>shell</command> oder
|
|
<command>!</command> benutzen, führt &man.ppp.8; eine
|
|
Shell aus (falls Sie Argumente übergeben haben,
|
|
führt &man.ppp.8; diese Argumente aus). Das Programm
|
|
<application>ppp</application> wartet auf die Beendigung des
|
|
Befehls, bevor es seine Arbeit fortsetzt. Falls Sie versuchen,
|
|
die PPP-Verbindung während der Programmausführung zu
|
|
benutzen, wird es so aussehen, als wäre die Verbindung
|
|
eingefroren. Das liegt daran, dass &man.ppp.8; auf die
|
|
Beendigung des Befehls wartet.</para>
|
|
|
|
<para>Falls Sie solche Befehle verwenden möchten,
|
|
benutzen Sie stattdessen den Befehl
|
|
<command>!bg</command>. Hierdurch wird der angegebene
|
|
Befehl im Hintergrund ausgeführt und &man.ppp.8; kann
|
|
fortfahren, die Verbindung zu bedienen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-null-modem">
|
|
<para>Warum wird &man.ppp.8; niemals beendet, wenn ich es
|
|
über ein Nullmodem-Kabel benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt keine Möglichkeit für &man.ppp.8;,
|
|
automatisch festzustellen, ob eine direkte Verbindung
|
|
beendet worden ist. Das liegt an den Leitungen, die bei
|
|
einem seriellen Nullmodem-Kabel benutzt werden. Wenn Sie
|
|
diese Art der Verbindung verwenden, sollte LQR immer mit der
|
|
folgenden Zeile aktiviert werden:</para>
|
|
|
|
<programlisting>enable lqr</programlisting>
|
|
|
|
<para>LQR wird standardmäßig akzeptiert, wenn es
|
|
vom Partner ausgehandelt wird.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-auto-noreasondial">
|
|
<para>Warum wählt &man.ppp.8; im Modus <option>-auto</option>
|
|
ohne Grund?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls &man.ppp.8; unerwarteterweise wählt,
|
|
müssen Sie den Grund herausfinden und Wählfilter
|
|
(dfilters) einsetzen, um dies zu verhindern.</para>
|
|
|
|
<para>Benutzen Sie die folgende Zeile, um den Grund
|
|
herauszufinden:</para>
|
|
|
|
<programlisting>set log +tcp/ip</programlisting>
|
|
|
|
<para>Dadurch wird jeglicher Verkehr über die
|
|
Verbindung geloggt. Wenn das nächste mal unerwartet
|
|
eine Verbindung hergestellt wird, werden Sie den Grund
|
|
zusammen mit einer hilfreichen Zeitangabe in der Logdatei
|
|
finden.</para>
|
|
|
|
<para>Sie können nun das Wählen aufgrund dieser
|
|
Bedingungen verhindern. Normalerweise wird diese Art von
|
|
Problemen durch Anfragen an den DNS verursacht. Um zu
|
|
verhindern, dass DNS-Anfragen den Aufbau der
|
|
Verbindung hervorrufen (das verhindert
|
|
<emphasis>nicht</emphasis>, dass Pakete über
|
|
eine bestehende Verbindung gesendet werden), benutzen Sie
|
|
die folgenden Zeilen:</para>
|
|
|
|
<programlisting>
|
|
set dfilter 1 deny udp src eq 53
|
|
set dfilter 2 deny udp dst eq 53
|
|
set dfilter 3 permit 0/0 0/0
|
|
</programlisting>
|
|
|
|
<para>Dies ist nicht immer brauchbar, weil es effektiv Ihre
|
|
Fähigkeit, auf Anforderung wählen zu können
|
|
einschränkt - die meisten Programme müssen eine
|
|
DNS-Anfrage durchführen, bevor Sie andere, das
|
|
Netzwerk betreffenden Dinge tun können.</para>
|
|
|
|
<para>Im Fall von DNS sollten Sie versuchen, herauszufinden,
|
|
welches Programm tatsächlich versucht, einen
|
|
Hostnamen aufzulösen. Sehr oft handelt es sich hier
|
|
um &man.sendmail.8;. Sie sollten
|
|
sicherstellen, dass Sie <application>sendmail</application>
|
|
in der Konfigurationsdatei sagen, dass keine DNS-Anfragen
|
|
durchführen soll. Weitere Details enthält
|
|
der Abschnitt <ulink
|
|
url="&url.books.handbook;/smtp-dialup.html">E-Mail
|
|
über Einwahl-Verbindungen</ulink> des Handbuchs.
|
|
Sie könnten z.B. die folgende Zeile in
|
|
Ihre <filename>.mc</filename>-Datei einfügen:</para>
|
|
|
|
<programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting>
|
|
|
|
<para>Das veranlasst <application>sendmail</application> dazu, alles
|
|
in eine Warteschlange einzureihen, bis die Warteschlange
|
|
verarbeitet wird (normalerweise wird sendmail mit
|
|
<option>-bd -q30m</option> aufgerufen, was besagt,
|
|
dass die Warteschlange alle 30 Minuten abgearbeitet
|
|
wird) oder, bis ein <command>sendmail <option>-q</option></command>
|
|
ausgeführt wird (z.B. aus Ihrer Datei
|
|
<filename>ppp.linkup</filename> heraus).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ccp-errors">
|
|
<para>Was bedeuten diese CCP-Fehler?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ich sehe ständig folgende Fehler in meiner
|
|
Logdatei:</para>
|
|
|
|
<programlisting>
|
|
CCP: CcpSendConfigReq
|
|
CCP: Received Terminate Ack (1) state = Req-Sent (6)
|
|
</programlisting>
|
|
|
|
<para>Das liegt daran, dass &man.ppp.8; versucht, die
|
|
Komprimierung Predictor1 auszuhandeln und der Partner
|
|
über keinerlei Komprimierung verhandeln will. Die
|
|
Meldungen sind harmlos, aber wenn Sie sie beseitigen
|
|
möchten, können Sie die Komprimierung Predictor1
|
|
auch lokal ausschalten:</para>
|
|
|
|
<programlisting>disable pred1</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-connectionspeed">
|
|
<para>Warum loggt ppp die Geschwindigkeit meiner Verbindung
|
|
nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um alle Zeilen Ihrer <quote>Modemkonversation</quote>
|
|
mitzuloggen, müssen Sie folgendes einstellen:</para>
|
|
|
|
<programlisting>set log +connect</programlisting>
|
|
|
|
<para>Dies veranlasst &man.ppp.8; dazu, alles bis zur
|
|
letzten angeforderten <quote>expect</quote>-Zeile
|
|
mitzuloggen.</para>
|
|
|
|
<para>Falls Sie die Geschwindigkeit Ihrer Verbindung
|
|
erfahren möchten und PAP oder CHAP (und deshalb nach
|
|
dem CONNECT im Wählskript nichts mehr zu
|
|
<quote>chatten</quote> haben - kein <literal>set
|
|
login</literal>-Skript), müssen Sie sicherstellen,
|
|
dass Sie &man.ppp.8; anweisen, die gesamte
|
|
CONNECT-Zeile zu <quote>erwarten</quote>, etwa so:</para>
|
|
|
|
<programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting>
|
|
|
|
<para>Hier bekommen wir unser CONNECT, senden nichts,
|
|
erwarten dann einen Line-Feed, der &man.ppp.8; zwingt, die
|
|
gesamte CONNECT-Antwort zu lesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-ignores-backslash">
|
|
<para>Warum ignoriert &man.ppp.8; das Zeichen
|
|
<literal>\</literal> in meinem Chat-Skript?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Programm <application>ppp</application> analysiert jede
|
|
Zeile in Ihrer Konfigurationsdatei, damit es Zeichenketten wie z.B.
|
|
<literal>set phone "123 456 789"</literal> korrekt
|
|
interpretieren kann (und erkennen, dass es sich bei
|
|
der Nummer tatsächlich nur um
|
|
<emphasis>ein</emphasis> Argument handelt). Um das
|
|
Zeichen <literal>"</literal> anzugeben, müssen
|
|
Sie ihm einen Backslash (<literal>\</literal>)
|
|
voranstellen.</para>
|
|
|
|
<para>Wenn der Chat-Interpreter jedes Argument analysiert,
|
|
reinterpretiert er die Argumente, um irgendwelche
|
|
speziellen Escape-Sequenzen wie z.B. <literal>\P</literal>
|
|
oder <literal>\T</literal> (sehen Sie in die Manualpage)
|
|
zu finden. Das Ergebnis dieser Doppelanalyse ist,
|
|
dass Sie daran denken müssen, die richtige
|
|
Anzahl an Escape-Zeichen zu verwenden.</para>
|
|
|
|
<para>Falls Sie tatsächlich das Zeichen
|
|
<literal>\</literal> z.B. zu Ihrem Modem senden
|
|
möchten, brauchen Sie etwas ähnliches,
|
|
wie:</para>
|
|
|
|
<programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting>
|
|
|
|
<para>Woraus sich folgende Zeichen ergeben:</para>
|
|
|
|
<programlisting>
|
|
ATZ
|
|
OK
|
|
AT\X
|
|
OK
|
|
</programlisting>
|
|
|
|
<para>Oder:</para>
|
|
|
|
<programlisting>
|
|
set phone 1234567
|
|
set dial "\"\" ATZ OK ATDT\\T"
|
|
</programlisting>
|
|
|
|
<para>Was folgende Zeichen ergibt:</para>
|
|
|
|
<programlisting>
|
|
ATZ
|
|
OK
|
|
ATDT1234567
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-segfault-nocore">
|
|
<para>Warum gibt es die Datei <filename>ppp.core</filename>
|
|
nicht, wenn &man.ppp.8; einen <errorname>Segmentation
|
|
fault</errorname> erzeugt hat?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Weder <application>ppp</application> noch andere Programme
|
|
sollten Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven
|
|
Benutzerkennung <literal>0</literal> ausgeführt wird, wird das
|
|
Betriebssystem das Coreimage von &man.ppp.8; nicht auf die
|
|
Festplatte schreiben, bevor es &man.ppp.8; beendet hat.
|
|
Falls &man.ppp.8; jedoch tatsächlich aufgrund einer
|
|
Speicherverletzung abbricht <emphasis>und</emphasis> Sie
|
|
die aktuellste Version (siehe Anfang dieses Kapitels)
|
|
benutzen, dann sollten Sie die Systemquellen installieren und
|
|
folgendes tun:</para>
|
|
|
|
|
|
<screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src/usr.sbin/ppp</filename></userinput>
|
|
&prompt.root; <userinput><command>echo</command> <makevar>STRIP</makevar>= >> <filename>/etc/make.conf</filename></userinput>
|
|
&prompt.root; <userinput><command>echo</command> <makevar>CFLAGS</makevar>+=<option>-g</option> >> <filename>/etc/make.conf</filename></userinput>
|
|
&prompt.root; <userinput><command>make</command> <maketarget>install</maketarget> <maketarget>clean</maketarget></userinput></screen>
|
|
|
|
<para>Nun ist die installierte Version von &man.ppp.8; mit
|
|
einem Debugger ausführbar. Sie können
|
|
&man.ppp.8; nun nur noch als <username>root</username>
|
|
ausführen, da alle vorherigen Zugriffsrechte
|
|
aufgehoben worden sind. Achten Sie darauf, in welchem
|
|
Verzeichnis Sie sich gerade befinden, wenn Sie &man.ppp.8;
|
|
starten.</para>
|
|
|
|
<para>Wenn nun wieder eine Speicherverletzung auftreten
|
|
sollte, wird &man.ppp.8; einen Speicherauszug erzeugen,
|
|
den Sie in der Datei <filename>ppp.core</filename> finden.
|
|
Sie sollten dann folgendes tun:</para>
|
|
|
|
<screen>&prompt.user; <userinput>su</userinput>
|
|
&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput>
|
|
<prompt>(gdb)</prompt> <userinput>bt</userinput>
|
|
.....
|
|
<prompt>(gdb)</prompt> <userinput>f 0</userinput>
|
|
....
|
|
<prompt>(gdb)</prompt> <userinput>i args</userinput>
|
|
....
|
|
<prompt>(gdb)</prompt> <userinput>l</userinput>
|
|
.....</screen>
|
|
|
|
<para>Mit Hilfe all dieser Informationen sollte es
|
|
möglich sein, das Problem zu diagnostizieren.</para>
|
|
|
|
<para>Falls Sie mit &man.gdb.1; vertraut sind,
|
|
könnten Sie weitere Einzelheiten herausfinden, z.B.
|
|
wodurch der Fehler tatsächlich hervorgerufen wurde
|
|
oder die Adressen und Werte der betreffenden Variablen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-autodialprocess-noconnect">
|
|
<para>Warum bekommt das Programm, das eine Anwahl im Modus
|
|
<option>-auto</option> ausgelöst hat, keine Verbindung?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies war ein bekanntes Problem bei
|
|
&man.ppp.8;-Konfigurationen, bei denen im Modus
|
|
<option>-auto</option> dynamische, lokale IP-Adressen mit dem
|
|
Partner ausgehandelt werden. Das Problem ist bereits seit einiger
|
|
Zeit behoben - suchen Sie in den Manualpages nach
|
|
<literal>iface</literal>.</para>
|
|
|
|
<para>Das Problem bestand darin, dass, wenn das erste
|
|
Programm &man.connect.2; aufruft, die IP-Adresse der
|
|
&man.tun.4;-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
|
|
Kernel erstellt das erste ausgehende Paket und schreibt es
|
|
in das &man.tun.4;-Gerät. &man.ppp.8; liest dann das Paket
|
|
und baut eine Verbindung auf. Falls die
|
|
Schnittstellenadresse sich nun aufgrund &man.ppp.8;s
|
|
dynamischer Adresszuordnung ändert, wird der
|
|
originale Socketendpunkt ungültig. Alle weiteren
|
|
Pakete, die zum Partner gesendet werden, werden für
|
|
gewöhnlich verworfen. Selbst wenn sie nicht
|
|
verworfen werden würden, würden alle Antworten
|
|
nicht an den betreffenden Rechner gelangen, weil die
|
|
IP-Adresse nicht mehr zu diesem Rechner
|
|
gehört.</para>
|
|
|
|
<para>Theoretisch gibt es mehrere Möglichkeiten, dieses
|
|
Problem anzugehen. Am schönsten wäre es, wenn
|
|
der Partner die gleiche IP-Adresse wieder zuordnen
|
|
würde, wenn möglich. Die derzeitige Version von
|
|
&man.ppp.8; tut das, aber die meisten anderen Implementierungen
|
|
nicht.</para>
|
|
|
|
<para>Die einfachste Maßnahme von unserer Seite
|
|
wäre die, niemals die IP-Adresse der
|
|
&man.tun.4;-Schnittstelle zu ändern, sondern stattdessen alle
|
|
ausgehenden Pakete so zu ändern, dass als
|
|
Absender-IP-Adresse anstelle der IP-Adresse der
|
|
Schnittstelle die ausgehandelte IP-Adresse gesetzt wird.
|
|
Das ist im wesentlichen das, was durch die Option
|
|
<literal>iface-alias</literal> in der aktuellsten Version
|
|
von &man.ppp.8; bewirkt wird (mit Unterstützung von
|
|
&man.libalias.3; und &man.ppp.8;'s <option>-nat</option>
|
|
Schalter) - alle Schnittstellenadressen werden beibehalten
|
|
und auf die letzte ausgehandelte Adresse
|
|
umgesetzt.</para>
|
|
|
|
<para>Eine andere Alternative (und wahrscheinlich die
|
|
zuverlässigste) wäre die, einen Systemaufruf zu
|
|
implementieren der die IP-Adressen aller verbundenen
|
|
Sockets von einer Adresse in eine andere ändert.
|
|
&man.ppp.8; würde diesen Aufruf benutzen, um die
|
|
Sockets aller laufenden Programme zu ändern, nachdem
|
|
eine neue IP-Adresse ausgehandelt worden ist. Der gleiche
|
|
Systemaufruf könnte von <acronym>DHCP</acronym>-Clients
|
|
benutzt werden, wenn sie gezwungen werden, die
|
|
<function>bind()</function>-Funktion auf ihren Sockets
|
|
auszuführen.</para>
|
|
|
|
<para>Noch eine andere Möglichkeit wäre die, das
|
|
Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben.
|
|
Ausgehende Paketen würde die IP-Adresse
|
|
<hostid role="ipaddr">255.255.255.255</hostid> gegeben, bis der
|
|
erste &man.ioctl.2; mit <literal>SIOCAIFADDR</literal> erfolgt.
|
|
Dies würde in der vollständigen Verbindung des Sockets
|
|
resultieren. Es wäre die Aufgabe von &man.ppp.8;, die
|
|
Absender-IP-Adresse zu ändern, allerdings nur dann,
|
|
wenn sie <hostid role="ipaddr">255.255.255.255</hostid> lautet und
|
|
nur die IP-Adresse und IP-Prüfsumme müssten geändert
|
|
werden. Dies wäre allerdings keine besonders elegante
|
|
Lösung, da der Kernel fehlerhafte Pakete an eine
|
|
unzureichend konfigurierte Schnittstelle senden würde, in der
|
|
Annahme, dass andere Mechanismen in der Lage sind, diese Dinge
|
|
rückwirkend zu beheben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nat-games">
|
|
<para>Warum laufen die meisten Spiele mit dem <option>-nat</option>
|
|
Schalter nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Grund dafür, dass Spiele und andere
|
|
Programme nicht funktionieren, wenn &man.libalias.3; benutzt wird,
|
|
ist der, dass der Rechner außerhalb des lokalen
|
|
Netzes versucht, eine Verbindung aufzubauen und
|
|
(unaufgefordert) UDP-Pakete an den Rechner innerhalb des
|
|
lokalen Netzes zu senden. Die Software, die für die
|
|
NAT zuständig ist, weiß nicht, dass sie
|
|
diese Pakete an den internen Rechner weiterleiten
|
|
soll.</para>
|
|
|
|
<para>Um dies zu beheben, stellen Sie zunächst sicher,
|
|
dass die Software, mit der Sie Probleme haben, die
|
|
einzige ist, die gerade läuft. Benutzen Sie dann
|
|
entweder &man.tcpdump.1; auf der &man.tun.4;-Schnittstelle des
|
|
Gateways oder aktivieren Sie auf dem Gateway das Logging von TCP/IP
|
|
(<literal>set log +tcp/ip</literal>) unter
|
|
&man.ppp.8;.</para>
|
|
|
|
<para>Wenn Sie nun das betreffende Programm starten, sollten
|
|
Sie sehen, wie Pakete den Gateway-Rechner passieren. Wenn
|
|
von außen etwas zurückkommt, wird es ignoriert
|
|
(das ist das Problem). Merken Sie sich die Portnummer
|
|
dieser Pakete und beenden Sie das betreffende Programm.
|
|
Wiederholen Sie diesen Schritt einige Male, um
|
|
festzustellen, ob die Portnummern konsistent sind. Falls
|
|
dem so ist, wird die folgende Zeile im entsprechenden
|
|
Abschnitt von <filename>/etc/ppp/ppp.conf</filename>
|
|
dafür sorgen, dass das Programm
|
|
funktioniert:</para>
|
|
|
|
<programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting>
|
|
|
|
<para>wobei für <replaceable>proto</replaceable>
|
|
entweder <literal>tcp</literal> oder
|
|
<literal>udp</literal> zu setzen ist,
|
|
<replaceable>internalmachine</replaceable> den Rechner
|
|
bezeichnet, an den die Pakete geschickt werden sollen und
|
|
<replaceable>port</replaceable> die betreffende
|
|
Portnummer.</para>
|
|
|
|
<para>Sie können das Programm nicht auf einem anderen
|
|
Rechner benutzen, ohne die obige Zeile abzuändern und
|
|
die Benutzung des Programms auf zwei internen Rechnern
|
|
steht außer Frage - schließlich sieht die
|
|
Außenwelt Ihr gesamtes internes Netz so, als
|
|
wäre es ein einzelner Rechner.</para>
|
|
|
|
<para>Falls die Portnummern nicht konsistent sind, gibt es
|
|
drei weitere Optionen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Ermöglichen Sie die Unterstützung durch
|
|
&man.libalias.3;. Beispiele für <quote>spezielle
|
|
Fälle</quote> finden Sie in
|
|
<filename>/usr/src/sys/netinet/libalias/alias_*.c</filename>
|
|
(<filename>alias_ftp.c</filename> ist ein schöner
|
|
Prototyp). Hierzu gehört für
|
|
gewöhnlich das Lesen bestimmter, erkannter,
|
|
ausgehender Pakete, die Identifizierung der
|
|
Instruktion, die den entfernten Rechner dazu
|
|
veranlasst, auf einem bestimmten (wahlfreien)
|
|
Port eine Verbindung zurück zum lokalen Rechner
|
|
herzustellen, sowie das Erstellen einer
|
|
<quote>Route</quote> in der Aliastabelle, so dass
|
|
nachfolgende Pakete wissen, wohin sie
|
|
gehören.</para>
|
|
|
|
<para>Dieses ist zwar die komplizierteste Lösung,
|
|
aber die beste, die auch dafür sorgt, dass
|
|
die Software auf mehreren Rechnern
|
|
funktioniert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie einen Proxy. Die Anwendung
|
|
könnte z.B. <literal>socks5</literal> unterstützen,
|
|
oder (wie im Fall von <command>cvsup</command>) eine Option
|
|
<quote>passiv</quote> besitzen, die stets verhindert,
|
|
dass verlangt wird, dass der Partner eine
|
|
Verbindung zurück zur lokalen Maschine
|
|
aufbaut.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Leiten Sie mit <literal>nat addr</literal> alles
|
|
zur lokalen Maschine um. Dieses Vorgehen ähnelt
|
|
dem mit einem Vorschlaghammer.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="useful-port-numbers">
|
|
<para>Hat jemand eine Liste mit nützlichen Portnummern
|
|
erstellt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Noch nicht, aber hieraus könnte eine solche
|
|
entstehen (falls Interesse besteht). In jedem Beispiel
|
|
sollte <replaceable>internal</replaceable> durch die
|
|
IP-Adresse der Maschine ersetzt werden, auf der das Spiel
|
|
laufen soll.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><application>Asheron's Call</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:65000
|
|
65000</literal></para>
|
|
|
|
<para>Konfigurieren Sie das Spiel manuell auf Port
|
|
<literal>65000</literal> um. Wenn Sie von mehreren Rechner aus
|
|
spielen wollen, weisen Sie jedem eine eindeutige Portnummer zu
|
|
(also <literal>65001</literal>, <literal>65002</literal>,
|
|
u.s.w.) und fügen Sie für jede
|
|
Maschine eine eigene <literal>nat port</literal> Zeile
|
|
ein.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Half Life</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:27005
|
|
27015</literal></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>PCAnywhere 8.0</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:5632
|
|
5632</literal></para>
|
|
|
|
<para><literal>nat port tcp
|
|
<replaceable>internal</replaceable>:5631
|
|
5631</literal></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Quake</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:6112
|
|
6112</literal></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Quake 2</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:27901
|
|
27910</literal></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:60021
|
|
60021</literal></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:60040
|
|
60040</literal></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Red Alert</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:8675
|
|
8675</literal></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:5009
|
|
5009</literal></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="fcs-errors">
|
|
<para>Was sind FCS-Fehler?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FCS steht für <literal>F</literal>rame
|
|
<literal>C</literal>heck <literal>S</literal>equence.
|
|
Jedes PPP-Paket besitzt eine Checksumme, um
|
|
sicherzustellen, dass die empfangenen Daten dieselben
|
|
sind, wie die versendeten. Falls die FCS eines
|
|
ankommenden Paketes fehlerhaft ist, wird das Paket
|
|
verworfen und der Zähler HDLC FCS wird erhöht.
|
|
Der HDLC-Fehlerwert kann durch den Befehl <literal>show
|
|
hdlc</literal> angezeigt werden.</para>
|
|
|
|
<para>Falls Ihre Leitung schlecht ist (oder falls Ihr
|
|
serieller Treiber Pakete verwirft), werden sie
|
|
gelegentliche FCS-Fehler sehen. Normalerweise lohnt es
|
|
sich nicht, sich hierüber Gedanken zu machen, obwohl
|
|
das Kompressionsprotokoll hierdurch wesentlich langsamer
|
|
wird. Wenn Sie ein externes Modem besitzen, stellen Sie
|
|
sicher, dass Ihr Kabel ausreichend gegen
|
|
Interferenzen abgeschirmt ist - das könnte das
|
|
Problem beseitigen.</para>
|
|
|
|
<para>Falls Ihre Leitung einfriert, sobald die Verbindung
|
|
steht, und viele FCS-Fehler auftreten, könnte das
|
|
daran liegen, dass Ihre Leitung nicht 8-Bit-rein ist.
|
|
Stellen Sie sicher, dass Ihr Modem keinen
|
|
Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
|
|
Datenschnittstelle Software-Flow-Control verwenden
|
|
<emphasis>muss</emphasis>, benutzen Sie den Befehl
|
|
<literal>set accmap 0x000a0000</literal>, um &man.ppp.8;
|
|
zu sagen, dass es die Zeichen <literal>^Q</literal>
|
|
und <literal>^S</literal> maskieren soll.</para>
|
|
|
|
<para>Ein weiterer Grund dafür, dass zu viele
|
|
FCS-Fehler auftreten, könnte der sein, dass das
|
|
andere Ende aufgehört hat, <acronym>ppp</acronym> zu
|
|
sprechen. Aktivieren Sie <literal>async</literal>
|
|
Logging, um festzustellen, ob es sich bei den eingehenden
|
|
Daten tatsächlich um einen login- oder Shell-Prompt
|
|
handelt. Wenn Sie am anderen Ende einen Shell-Prompt
|
|
haben, ist es möglich, durch den Befehl
|
|
<command>close lcp</command> &man.ppp.8; zu beenden, ohne
|
|
die Verbindung zu beenden (ein folgender
|
|
<command>term</command>-Befehl wird Sie wieder mit der
|
|
Shell auf dem entfernten Rechner verbinden.</para>
|
|
|
|
<para>Falls nichts in Ihrer Logdatei darauf hindeutet, warum
|
|
die Verbindung beendet wurde, sollten Sie den
|
|
Administrator des externen Rechners (Ihren ISP?) fragen,
|
|
warum die Sitzung beendet worden ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry id="PPPoEwithNAT">
|
|
<question id="macos-win98-pppoe-freeze">
|
|
<para>Wieso hängen die Verbindungen meiner &macos;- und
|
|
&windows; 98-Maschinen (und eventuell auch andere
|
|
µsoft; Betriebssysteme), wenn auf meinem Gateway
|
|
PPPoE läuft?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vielen Dank an Michael Wozniak
|
|
<email>mwozniak@netcom.ca</email> für die
|
|
Erklärung und an Dan Flemming
|
|
<email>danflemming@mac.com</email> für die
|
|
Lösung für &macos;.</para>
|
|
|
|
<para>Die Ursache des Problems ist ein so genannter
|
|
<quote>Black Hole Router</quote>. &macos; und &windows; 98
|
|
(und wahrscheinlich auch die anderen Betriebssysteme von
|
|
µsoft;) senden TCP Pakete, bei denen zum einen die
|
|
angeforderte Segmentgröße zu groß
|
|
für einen PPPoE-Rahmen ist (die Default-MTU für
|
|
Ethernet beträgt <literal>1500</literal> Byte)
|
|
<emphasis>und</emphasis> bei denen das <quote>don't
|
|
fragment</quote> Bit gesetzt
|
|
ist (das ist bei TCP allerdings Standard). Außerdem
|
|
sendet der Router beim Provider nicht die eigentlich
|
|
notwendigen <quote>must fragment</quote>-Meldungen zu dem
|
|
Webserver, von dem Sie gerade eine Seite laden wollen. Es
|
|
ist auch möglich, dass diese Meldung zwar
|
|
erzeugt, aber danach von einem Firewall vor dem Webserver
|
|
abgefangen wird. Wenn Ihnen dieser Webserver nun ein
|
|
Paket schickt, das nicht in einen PPPoE-Rahmen passt,
|
|
dann verwirft der Router dieses Paket und die Seite wird
|
|
nicht geladen (einige Seiten/Grafiken werden geladen, weil
|
|
ihre Größe kleiner ist als die MSS). Dies
|
|
scheint leider der Normalfall zu sein.</para>
|
|
|
|
<para>Eine der möglichen Lösungen für dieses
|
|
Problem ist die Erzeugung des folgenden Schlüssels in
|
|
der Registry des Windows-Clients mit
|
|
<application>regedit</application>:</para>
|
|
|
|
<programlisting>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU</programlisting>
|
|
|
|
<para>Der Schlüssels sollte vom Typ String sein und den
|
|
Wert <literal>1436</literal> haben, da einige ADSL-Router
|
|
nicht mit größeren Paketen umgehen können.
|
|
Wenn Sie &windows; 2000 verwenden, müssen Sie
|
|
hingegen den Schlüssel
|
|
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID der
|
|
Netzwerkkarte</replaceable>\MTU</literal> benutzen,
|
|
außerdem müssen Sie als Typ <literal>DWORD</literal>
|
|
verwenden.</para>
|
|
|
|
<para>Die Knowledge Base von µsoft; enthält weitere
|
|
Informationen darüber, wie sie die MTU einer
|
|
&windows;-Maschine ändern, damit diese mit einem
|
|
NAT-Router korrekt zusammenarbeitet. Vom besonderen
|
|
Interesse sind die Artikel <ulink
|
|
url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474
|
|
- &windows; TCPIP Registry Entries</ulink> und <ulink
|
|
url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642
|
|
- TCPIP & NBT Configuration Parameters for
|
|
&windowsnt;</ulink>.</para>
|
|
|
|
<para>Bei &windows; 2000 können Sie alternativ auch, wie
|
|
im Artikel 120642 beschrieben, mit regedit das
|
|
<literal>DWORD</literal>
|
|
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID der
|
|
Netzwerkkarte</replaceable>\EnablePMTUBHDetect</literal>
|
|
auf <literal>1</literal> setzen.</para>
|
|
|
|
<para>Mit den Bordmitteln von &macos; ist es leider nicht
|
|
möglich, die TCP/IP-Einstellungen zu verändern.
|
|
Es gibt jedoch kommerzielle Lösungen, mit denen man die
|
|
TCP/IP-Einstellungen bearbeiten kann. Wenn Sie als
|
|
&macos;-Anwender NAT benutzen, suchen Sie ihre MTU-Einstellungen
|
|
und geben Sie dort <literal>1450</literal> statt
|
|
<literal>1500</literal> ein.</para>
|
|
|
|
<para>&man.ppp.8; kennt seit Version 2.3 den Befehl
|
|
<command>enable tcpmssfixup</command>, mit dem die MSS
|
|
automatisch korrigiert wird. Wenn Sie einen ältere
|
|
Version von &man.ppp.8; benutzen müssen, könnte
|
|
der Port <filename role="package">net/tcpmssd</filename> für
|
|
Sie interessant sein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="desperation">
|
|
<para>Nichts von alledem hilft - ich bin
|
|
verzweifelt! Was soll ich machen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls alles andere fehlschlägt, senden Sie
|
|
möglichst umfangreiche Informationen,
|
|
einschließlich Ihrer Konfigurationsdateien, wie Sie
|
|
&man.ppp.8; starten, die relevanten Teile Ihrer Logdateien
|
|
und die Ausgabe des Befehls <command>netstat -rn</command>
|
|
(vor und nach Aufbau der Verbindung) an die
|
|
Mailingliste &a.de.questions; oder die Newsgroup <ulink
|
|
url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</ulink>.
|
|
Irgend jemand sollte Ihnen dann weiterhelfen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="serial">
|
|
<!--
|
|
The FreeBSD German Documentation Project FAQ - serial
|
|
communications,
|
|
Uebersetzer: Robert S. F. Drehmel
|
|
|
|
Original revision 1.54
|
|
-->
|
|
|
|
<title>Serielle Verbindungen</title>
|
|
|
|
<para>Dieses Kapitel beantwortet häufig gestellte Fragen zu
|
|
seriellen Verbindungen mit &os;. PPP und SLIP werden im
|
|
<link linkend="networking">Abschnitt Netzwerke</link> behandelt.</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="found-serial">
|
|
<para>Wie kann ich feststellen, ob &os; meine seriellen
|
|
Schnittstellen gefunden hat?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn der &os; Kernel bootet, testet er die
|
|
seriellen Schnittstellen, für die er konfiguriert
|
|
wurde. Sie können entweder Ihrem System aufmerksam
|
|
beim Booten zusehen und die angezeigten Nachrichten lesen,
|
|
oder Sie führen den folgenden Befehl aus, nachdem Ihr System
|
|
hochgefahren ist und läuft:</para>
|
|
|
|
<screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput></screen>
|
|
|
|
<para>Hier ist ein Beispiel einer Ausgabe nach dem oben
|
|
genannten Befehl:</para>
|
|
|
|
<programlisting>
|
|
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
|
|
sio0: type 16550A
|
|
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
|
|
sio1: type 16550A</programlisting>
|
|
|
|
<para>Es zeigt zwei serielle Schnittstellen. Die erste
|
|
verwendet Port-Adresse <literal>0x3f8</literal>, IRQ 4 und
|
|
hat einen 16550A UART Chip. Die zweite benutzt ebenfalls
|
|
einen 16550A UART, jedoch Port-Adresse
|
|
<literal>0x2f8</literal> und IRQ 3. Modemkarten werden
|
|
wie serielle Schnittstellen behandelt. Der einzige
|
|
Unterschied ist, dass an diesen Schnittstellen immer
|
|
ein Modem <quote>angeschlossen</quote> ist.</para>
|
|
|
|
<para>Der <filename>GENERIC</filename> Kernel beinhaltet
|
|
Unterstützung für zwei serielle Schnittstellen,
|
|
die den im Beispiel genannten Port und IRQ verwenden.
|
|
Wenn diese Einstellungen nicht richtig für Ihr System
|
|
sind, Sie Modemkarten hinzugefügt oder mehr serielle
|
|
Schnittstellen haben als Ihre Kernelkonfiguration
|
|
zulässt, konfigurieren Sie Ihren Kernel einfach
|
|
neu. In dem Kapitel über die <link
|
|
linkend="make-kernel">Kernelkonfiguration</link> finden
|
|
Sie mehr Details.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="found-modem">
|
|
<para>Wie kann ich feststellen, ob &os; meine Modemkarten
|
|
gefunden hat?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die vorherige Frage sollte darauf eine Antwort geben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="access-serial-ports">
|
|
<para>Wie kann ich auf die seriellen Schnittstellen in
|
|
&os; zugreifen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die in &man.sio.4; beschriebene serielle Schnittstelle
|
|
<devicename>sio2</devicename> (<devicename>COM3</devicename>
|
|
unter &ms-dos;/&windows;), ist
|
|
<devicename>/dev/cuad2</devicename> für
|
|
Geräte mit abgehenden Verbindungen und
|
|
<devicename>/dev/ttyd2</devicename> für Geräte mit
|
|
eingehenden Verbindungen. Was ist der Unterschied
|
|
zwischen den beiden Geräteklassen?</para>
|
|
|
|
<para>Sie benutzen
|
|
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
|
für eingehende Verbindungen. Wird
|
|
<devicename>/dev/ttyd<replaceable>X</replaceable></devicename>
|
|
im blockierenden Modus geöffnet, wartet ein
|
|
Prozess darauf, dass das entsprechende
|
|
<devicename>cuad<replaceable>X</replaceable></devicename>
|
|
Gerät inaktiv und der Empfangssignalpegel
|
|
|
|
<footnote>
|
|
<para>Mit <quote>Empfangssignalpegel</quote> oder
|
|
<quote>Trägersignalerkennung</quote> wird hier
|
|
die <foreignphrase>carrier detect</foreignphrase>
|
|
Leitung bezeichnet.</para>
|
|
</footnote>
|
|
|
|
aktiv ist. Wird das
|
|
<devicename>cuad<replaceable>X</replaceable></devicename>
|
|
Gerät geöffnet, vergewissert es sich, dass
|
|
die serielle Schnittstelle nicht bereits von dem
|
|
<filename>ttyd<replaceable>X</replaceable></filename>
|
|
Gerät in Gebrauch ist. Sollte die Schnittstelle
|
|
verfügbar sein, <quote>stiehlt</quote> es sie von dem
|
|
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
|
Gerät. Das
|
|
<devicename>cuad<replaceable>X</replaceable></devicename>
|
|
Gerät kümmert sich nicht um
|
|
Trägersignalerkennung. Mit diesem Schema und einem
|
|
automatisch antwortenden Modem, können sich Benutzer
|
|
von aussen einloggen, Sie können weiterhin mit
|
|
demselben Modem wählen und das System kümmert
|
|
sich um die Konflikte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="enable-multiport-serial">
|
|
<para>Wie kann ich die Unterstützung für eine
|
|
Karte mit mehreren seriellen Schnittstellen
|
|
aktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Sektion über die Kernelkonfiguration bietet
|
|
Informationen darüber, wie Sie Ihren Kernel
|
|
konfigurieren. Für eine Karte mit mehreren seriellen
|
|
Schnittstellen, schreiben Sie eine &man.sio.4; Zeile
|
|
für jede serielle Schnittstelle auf der Karte in die Datei
|
|
&man.device.hints.5;. Aber achten Sie darauf, den
|
|
IRQ nur in einem der Einträge zu platzieren. Alle seriellen
|
|
Schnittstellen auf der Karte sollten sich einen IRQ teilen. Daher
|
|
sollten Sie den IRQ nur beim letzten Eintrag angeben.
|
|
Aktivieren Sie auch die folgende Option in der
|
|
Kernelkonfigurationsdatei:</para>
|
|
|
|
<programlisting>options COM_MULTIPORT</programlisting>
|
|
|
|
<para>Das folgende <filename>/boot/device.hints</filename> Beispiel
|
|
ist geeignet für eine AST Karte mit 4 seriellen
|
|
Schnittstellen, die IRQ 12 benutzt:</para>
|
|
|
|
<programlisting>hint.sio.4.at="isa"
|
|
hint.sio.4.port="0x2a0"
|
|
hint.sio.4.flags="0x701"
|
|
hint.sio.5.at="isa"
|
|
hint.sio.5.port="0x2a8"
|
|
hint.sio.5.flags="0x701"
|
|
hint.sio.6.at="isa"
|
|
hint.sio.6.port="0x2b0"
|
|
hint.sio.6.flags="0x701"
|
|
hint.sio.7.at="isa"
|
|
hint.sio.7.port="0x2b8"
|
|
hint.sio.7.flags="0x701"
|
|
hint.sio.7.irq="12"</programlisting>
|
|
|
|
<para>Die Flags zeigen an, dass die Master-Schnittstelle die
|
|
Minor-Nummer <literal>7</literal> (<literal>0x700</literal>) hat
|
|
und dass sich alle Schnittstellen einen IRQ teilen
|
|
(<literal>0x001</literal>).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-share-irq">
|
|
<para>Kann &os; mehrere Karten mit mehreren seriellen
|
|
Schnittstellen mit den gleichen IRQs verwalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Noch nicht. Sie müssen für jede Karte einen
|
|
anderen IRQ verwenden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="default-serial-params">
|
|
<para>Kann ich die vorgegebenen seriellen Parameter für
|
|
eine Schnittstelle einstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie den Abschnitt <ulink
|
|
url="&url.books.handbook;/serial.html#SERIAL-HW-CONFIG">Serielle
|
|
Datenübertragung</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="enable-dialup">
|
|
<para>Wie kann ich Einwahl-Logins über mein Modem
|
|
aktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie dazu bitte den Abschnitt über <ulink
|
|
url="&url.books.handbook;/dialup.html">Einwählverbindungen</ulink>
|
|
im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dumb-terminal">
|
|
<para>Wie kann ich ein Hardware-Terminal mit meiner &os; Box
|
|
verbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Information können Sie im Abschnitt <ulink
|
|
url="&url.books.handbook;/term.html">Terminals</ulink> im &os;
|
|
Handbuch finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cannot-tip">
|
|
<para>Warum kann ich <command>tip</command> oder
|
|
<command>cu</command> nicht laufen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Auf Ihrem System können die Programme
|
|
&man.tip.1; und &man.cu.1; auf das Verzeichnis <filename
|
|
class="directory">/var/spool/lock</filename> nur über den
|
|
Benutzer <username>uucp</username> und die Gruppe
|
|
<groupname>dialer</groupname> zugreifen. Sie
|
|
können die Gruppe <groupname>dialer</groupname>
|
|
verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem
|
|
oder entfernte Systeme hat. Fügen Sie sich einfach
|
|
selbst zur Gruppe <groupname>dialer</groupname>
|
|
hinzu.</para>
|
|
|
|
<para>Als Alternative können Sie jeden Benutzer auf
|
|
Ihrem System &man.tip.1; und &man.cu.1; verwenden lassen,
|
|
dazu müssen Sie das folgende eingeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput>
|
|
&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="hayes-unsupported">
|
|
<para>Mein Hayes Modem wird nicht unterstützt – was
|
|
kann ich tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <ulink
|
|
url="&url.books.handbook;/dialout.html#HAYES-UNSUPPORTED">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="direct-at">
|
|
<para>Wie soll ich die AT Befehle eingeben?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im &os; Handbuch finden Sie dazu <ulink
|
|
url="&url.books.handbook;/dialout.html#DIRECT-AT">diese
|
|
Antwort</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="gt-failure">
|
|
<para>Wieso funktioniert das <literal>@</literal>
|
|
Zeichen für die <literal>pn</literal> Fähigkeit
|
|
nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie dazu <ulink
|
|
url="&url.books.handbook;/dialout.html#GT-FAILURE">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dial-command-line">
|
|
<para>Wie kann ich von der Kommandozeile eine Telefonnummer
|
|
wählen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <ulink
|
|
url="&url.books.handbook;/dialout.html#DIAL-COMMAND-LINE">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="set-bps">
|
|
<para>Muss ich dabei jedes Mal die bps Rate
|
|
angeben?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im &os; Handbuch finden Sie dazu <ulink
|
|
url="&url.books.handbook;/dialout.html#SET-BPS">diese
|
|
Antwort</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="terminal-server">
|
|
<para>Wie kann ich möglichst komfortabel über
|
|
einen Terminal-Server auf verschiedene Rechner
|
|
zugreifen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie im &os; Handbuch <ulink
|
|
url="&url.books.handbook;/dialout.html#TERMINAL-SERVER">diese
|
|
Antwort</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tip-multiline">
|
|
<para>Kann tip mehr als eine Verbindung für jede Seite
|
|
ausprobieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <ulink
|
|
url="&url.books.handbook;/dialout.html#TIP-MULTILINE">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multi-controlp">
|
|
<para>Warum muss ich zweimal <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo>
|
|
tippen, um ein <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo>
|
|
zu senden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im &os; Handbuch finden Sie dazu <ulink
|
|
url="&url.books.handbook;/dialout.html#MULTI-CONTROLP">diese
|
|
Antwort</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="uppercase">
|
|
<para>Warum ist auf einmal alles was ich schreibe in
|
|
GROSSBUCHSTABEN??</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie im &os; Handbuch <ulink
|
|
url="&url.books.handbook;/dialout.html#UPPERCASE">diese
|
|
Antwort</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tip-filetransfer">
|
|
<para>Wie kann ich Dateien mit <command>tip</command>
|
|
übertragen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie <ulink
|
|
url="&url.books.handbook;/dialout.html#TIP-FILETRANSFER">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="zmodem-tip">
|
|
<para>Wie kann ich zmodem mit <command>tip</command>
|
|
laufen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden dazu <ulink
|
|
url="&url.books.handbook;/dialout.html#ZMODEM-TIP">diese
|
|
Antwort</ulink> im &os; Handbuch.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="misc">
|
|
<title>Verschiedene Fragen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="more-swap">
|
|
<para>&os; benutzt viel mehr Swap-Speicher als &linux;.
|
|
Warum?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es sieht nur so aus, als ob &os; mehr Swap benutzt,
|
|
als &linux;. Tatsächlich ist dies nicht der Fall. In
|
|
dieser Hinsicht besteht der Hauptunterschied zwischen
|
|
&os; und &linux; darin, dass &os; vorbeugend
|
|
vollkommen untätige, unbenutzte Seiten aus dem
|
|
Hauptspeicher in den Swap-Bereich auslagert, um mehr
|
|
Hauptspeicher für die aktive Nutzung zur
|
|
Verfügung zu stellen. &linux; tendiert dazu, nur als
|
|
letzten Ausweg Seiten in den Swap-Bereich auszulagern.
|
|
Die spürbar höhere Nutzung des Swap-Speichers
|
|
wird durch die effizientere Nutzung des Hauptspeichers
|
|
wieder ausgeglichen.</para>
|
|
|
|
<para>Beachten Sie, dass &os; in dieser Hinsicht
|
|
zwar vorbeugend arbeitet, es entscheidet jedoch nicht
|
|
willkürlich, Seiten auszulagern, wenn das System
|
|
vollkommen untätig ist. Deshalb werden Sie
|
|
feststellen, dass nicht alle Seiten Ihres Systems
|
|
ausgelagert wurden, wenn Sie morgens aufstehen, nachdem
|
|
das System eine Nacht lang nicht benutzt worden ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="top-freemem">
|
|
<para>Warum zeigt mir &man.top.1; so wenig freien Speicher
|
|
an, obwohl nur wenige Programme laufen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Antwort ist ganz einfach: Freier Speicher ist
|
|
verschwendeter Speicher. Der &os; Kernel verwendet den
|
|
von den Programmen nicht genutzten Speicher automatisch
|
|
für den Plattencache. Die in &man.top.1; für
|
|
<literal>Inact</literal>, <literal>Cache</literal> und
|
|
<literal>Buf</literal> gemeldeten Werte stehen alle
|
|
für zwischengespeicherte Daten mit unterschiedlichem
|
|
Alter. Wenn das System wiederholt auf Daten zugreifen
|
|
muss, braucht es nicht auf die langsame Platte
|
|
zuzugreifen, da die Daten noch zwischengespeichert sind.
|
|
Dadurch erhöht sich die Performance. Ganz generell
|
|
ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen
|
|
Wert bei <literal>Free</literal> anzeigt, solange der Wert
|
|
nicht <emphasis>extrem</emphasis> klein ist.</para>
|
|
|
|
<para>Anmerkung des Übersetzers: Mit <quote>extrem
|
|
klein</quote> sind hier Werte unterhalb 512 KByte
|
|
gemeint.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="chmod-symlinks">
|
|
<para>Warum ändert <command>chmod</command> die
|
|
Zugriffsrechte auf symbolische Links nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für symbolische Links gibt es keine separaten
|
|
Zugriffsrechte und standardmäßig folgt
|
|
&man.chmod.1; dem Link, wenn möglich; die Zugriffsrechte
|
|
für die Datei, auf die der symbolische Link zeigt, werden also
|
|
verändert. Wenn Sie eine Datei mit dem Namen
|
|
<filename>foo</filename> und einen auf diese Datei
|
|
zeigenden symbolischen Link mit dem Namen
|
|
<filename>bar</filename> haben, wird das folgende Kommando
|
|
niemals einen Fehler melden.</para>
|
|
|
|
<screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen>
|
|
|
|
<para>Trotzdem werden die Zugriffsrechte für
|
|
<filename>bar</filename> nicht geändert.</para>
|
|
|
|
<para>Wenn Sie die Zugriffsrechte in der Dateihierarchie an der
|
|
Wurzeldatei anstatt der Datei selbst ändern möchten,
|
|
müssen Sie entweder <option>-H</option> oder
|
|
<option>-L</option> zusammen mit der Option
|
|
<option>-R</option> benutzen. Weitere Informationen
|
|
finden Sie in den Manualpages &man.chmod.1; und
|
|
&man.symlink.7;.</para>
|
|
|
|
<warning>
|
|
<para>Die Option <option>-R</option> bewirkt ein
|
|
<emphasis>rekursives</emphasis> &man.chmod.1;.
|
|
Seien Sie vorsichtig, wenn Sie bei
|
|
&man.chmod.1; Verzeichnisse oder symbolische
|
|
Links zu Verzeichnissen angeben. Wenn Sie die
|
|
Zugriffsrechte eines Verzeichnisses ändern
|
|
möchten, das durch einen symbolischen Link
|
|
referenziert wird, benutzen Sie &man.chmod.1;
|
|
ohne irgendwelche Optionen und folgen dem symbolischen
|
|
Link durch einen abschließenden Schrägstrich
|
|
(<filename class="directory">/</filename>). Falls z.B.
|
|
<filename>foo</filename> ein symbolischer Link zum
|
|
Verzeichnis <filename class="directory">bar</filename> ist und
|
|
Sie die Zugriffsrechte von <filename>foo</filename>
|
|
(tatsächlich <filename class="directory">bar</filename>)
|
|
ändern möchten, dann benutzen Sie etwas ähnliches
|
|
wie:</para>
|
|
|
|
<screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen>
|
|
|
|
<para>Durch den abschließenden Schrägstrich folgt
|
|
&man.chmod.1; dem symbolischen Link
|
|
<filename>foo</filename>, um die Zugriffsrechte für
|
|
das Verzeichnis <filename class="directory">bar</filename> zu
|
|
ändern.</para>
|
|
</warning>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-binaries">
|
|
<para>Kann ich DOS-Programme unter &os; ausführen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Sie können
|
|
<filename role="package">emulators/doscmd</filename>
|
|
verwenden, das über die Ports-Sammlung verfügbar
|
|
ist.</para>
|
|
|
|
<para>Falls <application>doscmd</application> nicht ausreicht,
|
|
können Sie den Port
|
|
<filename role="package">emulators/pcemu</filename>
|
|
verwenden, der einen 8088 und genug BIOS-Funktionen emuliert,
|
|
um DOS-Textanwendungen laufen zu lassen. Der Port
|
|
benötigt das X-Window-System.</para>
|
|
|
|
<para>Sie können auch <filename
|
|
role="package">emulators/dosbox</filename> aus der &os; Ports
|
|
Sammlung ausprobieren. Der Hauptaugenmerk liegt bei dieser
|
|
Anwendung auf der Emulation alter DOS Spiele, deren Dateien sich im
|
|
lokalen Dateisystem befinden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="translation">
|
|
<para>Was muss ich tun, um die &os;-Dokumentation in
|
|
meine Muttersprache zu übersetzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Informationen zu diesem Thema finden Sie auf der Webseite des
|
|
<ulink
|
|
url="https://doc.bsdgroup.de/index.html">&os; German
|
|
Documentation Project</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="freebsd-mail-bounces">
|
|
<para>Warum kommen alle meine Mails, die ich an <hostid
|
|
role="domainname">@FreeBSD.org</hostid> schicke, wieder
|
|
zurück?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Mailsystem von <hostid
|
|
role="domainname">FreeBSD.org</hostid> verwendet einige der
|
|
strengeren Überprüfungen von
|
|
<application>Postfix</application> für eingehende Mails.
|
|
Mails, bei denen es Anzeichen für Konfigurationsprobleme
|
|
oder Spam gibt, werden nicht akzeptiert. Dies kann aus einem
|
|
der folgenden Gründe geschehen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die Mail kommt von einem System oder Netzwerk,
|
|
dass für Spam-Aktivitäten bekannt
|
|
ist.</para>
|
|
|
|
<para>Die Mailserver von &os; akzeptierten keine
|
|
Mails von bekannten Spam-Quellen. Wenn Sie eine
|
|
Firma oder Domain benutzen, die Spam erzeugt oder
|
|
verteilt, sollten Sie sich einen anderen ISP
|
|
suchen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Mailtext enthält HTML.</para>
|
|
|
|
<para>Mail sollte immer im Klartext gesendet werden, Sie
|
|
sollten ihr Mailprogramm entsprechend
|
|
einstellen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das Mailsystem kann die IP-Adresse des
|
|
einliefernden Systems nicht in einen symbolischen
|
|
Namen umwandeln.</para>
|
|
|
|
<para>Funktionierendes reverse DNS ist eine
|
|
Vorbedingung, damit ihre Mails angenommen wird.
|
|
Sorgen Sie dafür, dass der reverse DNS
|
|
für Ihren Mailserver korrekt konfiguriert wird.
|
|
Viele Anbieter für Privatkunden geben Ihnen diese
|
|
Möglichkeit nicht. In diesem Fall sollten Sie
|
|
Ihre Mails über den Mailserver Ihres Providers
|
|
versenden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Rechnername, der im EHLO/HELO Teil der SMTP
|
|
Kommunikation übergeben wird, kann nicht zu einer
|
|
IP-Adresse aufgelöst werden.</para>
|
|
|
|
<para>Damit die E-Mail akzeptiert wird, brauchen Sie einen
|
|
voll qualifizierten Rechnernamen, der im DNS eingetragen ist.
|
|
Wenn Sie diesen nicht besitzen, benutzen Sie bitte den
|
|
Mailserver Ihres Providers, um E-Mails zu verschicken.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Message-ID Ihrer Mail endet in
|
|
<literal>localhost</literal>.</para>
|
|
|
|
<para>Einige Mail-Clients generieren eine Message-ID, die
|
|
nicht akzeptiert wird. Sie müssen Ihren Mail-Client
|
|
so konfigurieren, dass er eine gültige Message-ID
|
|
generiert. Alternativ können Sie die Message-ID von
|
|
Ihrem Mailserver umschreiben lassen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="free-account">
|
|
<para>Wo kann ich einen freien &os;-Account bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das &os; Project bietet zwar keinen freien Zugang
|
|
zu seinen Servern an; andere Firmen bieten jedoch frei
|
|
zugängliche &unix; Systeme. Die Kosten variieren und
|
|
es kann sein, dass nicht alle Dienste zur
|
|
Verfügung stehen.</para>
|
|
|
|
<para><ulink url="http://www.arbornet.org/">Arbornet, Inc</ulink>,
|
|
auch als <emphasis>M-Net</emphasis> bekannt, bietet seit 1983
|
|
uneingeschränkten Zugang zu &unix; Systemen.
|
|
Zunächst wurde eine Altos-Maschine mit System III
|
|
benutzt, 1991 erfolgte dann der Wechsel zu BSD/OS. Im
|
|
Juni 2000 erfolgte ein erneuter Wechsel, diesmal zu
|
|
&os;. <emphasis>M-Net</emphasis> bietet Zugang mit
|
|
<application>Telnet</application> und
|
|
<application>SSH</application>
|
|
und den Zugang zur gesamten Software von &os;. Allerdings ist
|
|
der Zugriff auf das Netzwerk auf Mitglieder und
|
|
Gönner beschränkt, die eine Spende an die
|
|
nicht-kommerzielle Organisation geleistet haben.
|
|
<emphasis>M-Net</emphasis> stellt zusätzlich ein
|
|
Mailbox-System und einen interaktiven Chat zur
|
|
Verfügung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sup-define">
|
|
<para>Was ist <command>sup</command> und wie benutze ich
|
|
es?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Name <ulink
|
|
url="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</ulink> steht
|
|
für Software Update Protocol und wurde von der CMU (Carnegie
|
|
Mellon University) entwickelt, um ihre Entwicklungszweige
|
|
zu synchronisieren. Es wurde benutzt, um entfernte
|
|
Sites mit den zentralen Quellcodeentwicklungen des Projekts zu
|
|
synchronisieren.</para>
|
|
|
|
<para>SUP ist nicht sehr bandbreitenfreundlich und wurde
|
|
abgelöst. Die derzeit empfohlene Methode, um Ihren
|
|
Quellcode auf dem neuesten Stand zu halten ist <ulink
|
|
url="&url.books.handbook;/synching.html#CVSUP">
|
|
CVSup</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="daemon-name">
|
|
<para>Wie heißt das niedliche rote Kerlchen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Er ist namenlos, es ist einfach der <quote>der BSD
|
|
Daemon</quote>. Wenn Sie ihm unbedingt einen Namen geben
|
|
wollen, rufen Sie ihn <quote>beastie</quote>. Beachten
|
|
Sie aber, dass <quote>beastie</quote> wie
|
|
<quote>BSD</quote> ausgesprochen wird.</para>
|
|
|
|
<para>Weitere Informationen über den BSD daemon finden
|
|
Sie auf <ulink
|
|
url="http://www.mckusick.com/beastie/index.html">seiner
|
|
Homepage</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="use-beastie">
|
|
<para>Kann ich Bilder des BSD Daemon verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eventuell. Der BSD Daemon unterliegt dem Copyright
|
|
von Marshall Kirk McKusick. Wenn Sie genaue Informationen
|
|
über die Einschränkungen bei der Nutzung
|
|
brauchen, sollten Sie sein <ulink
|
|
url="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement
|
|
on the Use of the BSD Daemon Figure</ulink> lesen.</para>
|
|
|
|
<para>Kurz gesagt, können Sie den BSD Daemon benutzen,
|
|
solange es für einen privaten Zweck ist und die
|
|
Nutzung geschmackvoll bleibt. Für den kommerziellen
|
|
Einsatz brauchen Sie die Zustimmung von &a.mckusick;.
|
|
Weitere Informationen erhalten Sie auf der Webseite <ulink
|
|
url="http://www.mckusick.com/beastie/index.html">BSD
|
|
Daemon's home page</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="daemon-images">
|
|
<para>Woher kann ich Bilder des BSD Daemon bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Bilder in den Format xfig und eps sind unter <filename
|
|
class="directory">/usr/share/examples/BSD_daemon/</filename> zu
|
|
finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="glossary">
|
|
<para>Ich habe in den Mailinglisten eine Abkürzung oder
|
|
einen Begriff gesehen, den ich nicht kenne. Wo erhalte
|
|
ich eine Erklärung dazu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sehen Sie bitte im <ulink
|
|
url="&url.books.handbook;/freebsd-glossary.html">
|
|
&os;-Glossar</ulink> nach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bikeshed-painting">
|
|
<para>Warum sollte mich die Farbe des Fahrradschuppens
|
|
interessieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die ganz, ganz kurze Antwort ist: Überhaupt nicht.
|
|
Die etwas längere Antwort lautet: Nur weil Sie in der
|
|
Lage sind, einen Fahrradschuppen zu bauen, müssen Sie
|
|
noch lange nicht andere davon abhalten, nur weil Ihnen die
|
|
Farbe nicht gefällt. Dies ist natürlich eine
|
|
Metapher dafür, dass Sie nicht eine Diskussion über
|
|
jede kleine Änderung beginnen sollen, nur weil Sie
|
|
das können. Einige Leute behaupten sogar, dass
|
|
die Anzahl der (nutzlosen) Kommentare über eine
|
|
Änderung umgekehrt proportional zur
|
|
Komplexität der Änderung ist.</para>
|
|
|
|
<para>Die noch längere und vollständigere Antwort
|
|
ist, dass &a.phk; nach einen langen Diskussion
|
|
über das Thema "Soll &man.sleep.1; Sekundenbruchteile
|
|
als Parameter akzeptieren?" eine lange Mail mit dem Titel
|
|
<quote><ulink
|
|
url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers">A
|
|
bike shed (any colour will do) on greener
|
|
grass...</ulink></quote> schrieb. Die einschlägigen
|
|
Teile der Nachricht lauteten:</para>
|
|
|
|
<blockquote>
|
|
<attribution>&a.phk; in &a.hackers.name;,
|
|
2.10.1999</attribution>
|
|
|
|
<para>Einige von Euch haben mich gefragt, <quote>Was
|
|
meinst Du mit dem Fahrradschuppen?</quote></para>
|
|
|
|
<para>Es ist eine lange oder eigentlich eher eine sehr
|
|
alte und doch sehr kurze Geschichte. C. Northcote
|
|
Parkinson schrieb in den frühen Sechzigern ein Buch
|
|
mit dem Namen <quote>Parkinson's Law</quote>, das viele
|
|
Einblick in die Beziehungen innerhalb des Managements
|
|
gibt.</para>
|
|
|
|
<para><emphasis>[ein paar Kommentare zum Buch
|
|
gestrichen]</emphasis></para>
|
|
|
|
<para>In dem Beispiel mit dem Fahrradschuppen ist die
|
|
andere wichtige Komponente ein Kernkraftwerk. Ich
|
|
glaube, dass zeigt schon, wie alt dieses Buch
|
|
ist.</para>
|
|
|
|
<para>Parkinson zeigte, dass man zum Vorstand gehen
|
|
kann und die Genehmigung für ein mehrere Millionen
|
|
oder sogar Milliarden Dollar teures Kernkraftwerk
|
|
bekommt; wenn man aber einen Fahrradschuppen bauen will,
|
|
wird man in endlose Diskussionen verwickelt.</para>
|
|
|
|
<para>Laut Parkinson liegt das daran, dass ein
|
|
Kernkraftwerk so groß, so teuer und so kompliziert
|
|
ist, dass die Leute es nicht verstehen. Und bevor
|
|
sie versuchen, es zu verstehen, verlassen Sie sich
|
|
lieber darauf, dass irgend jemand sicherlich die
|
|
ganzen Details geprüft hat, bevor das Projekt bis
|
|
zum Vorstand gekommen ist. Im Buch von Richard P.
|
|
Feynmann finden sich einige interessante und sehr
|
|
passende Beispiele aus dem Gebiet von Los
|
|
Alamos.</para>
|
|
|
|
<para>Ein Fahrradschuppen ist was anderes. Jeder kann an
|
|
seinem freien Wochenende einen bauen und hat trotzdem
|
|
noch genug Zeit für die Sportschau. Daher ist es
|
|
unwichtig, wie gut man sich vorbereitet und wie sinnvoll
|
|
der eigene Vorschlag ist. Irgend jemand wird die
|
|
Möglichkeit nutzen und zeigen, dass er seine
|
|
Arbeit tut, dass er aufmerksam ist, dass er
|
|
<emphasis>da ist</emphasis>.</para>
|
|
|
|
<para>In Dänemark nennen wir dieses Verhalten
|
|
<quote>Seine Fingerabdrücke hinterlassen</quote>.
|
|
Es geht um persönlichen Stolz und Prestige; die
|
|
Chance, auf irgend etwas zu zeigen und zu sagen zu
|
|
können: <quote>Da! Das habe
|
|
<emphasis>Ich</emphasis> getan.</quote> Politiker leiden
|
|
sehr stark darunter, aber viele Leute verhalten sich so,
|
|
wenn sie die Chance haben. Denkt einfach mal an
|
|
Fußabdrücke in feuchtem Zement.</para>
|
|
</blockquote>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="funnies">
|
|
<title>Nicht ganz ernstgemeinte Fragen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="very-very-cool">
|
|
<para>Wie cool ist &os;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Q. Hat irgend jemand Temperaturmessungen
|
|
durchgeführt, während &os; läuft? Ich
|
|
weiss, dass &linux; cooler läuft, als DOS, habe
|
|
aber niemals gesehen, dass &os; erwähnt
|
|
wurde. Es scheint sehr heiß zu laufen.</para>
|
|
|
|
<para>A. Nein, aber wir haben zahlreiche Geschmackstests mit
|
|
verblendeten Freiwilligen durchgeführt, denen
|
|
außerdem zuvor 250 Mikrogramm LSD-25 verabreicht
|
|
wurden. 35% der Freiwilligen sagte, dass &os;
|
|
nach Orange schmeckte, &linux; hingegen schmecke wie
|
|
<quote>purple haze</quote> (Anm. d. Übersetzers: Song
|
|
von Jimmy Hendrix und LSD-Marke). Keine der Gruppen hat
|
|
besondere Abweichungen der Temperatur erwähnt.
|
|
Eventuell hätten wir sämtliche Ergebnisse dieser
|
|
Untersuchung fortwerfen sollen, als wir festgestellt
|
|
haben, dass zu viele der Freiwilligen den Raum
|
|
während der Tests verlassen haben und dadurch die
|
|
Ergebnisse verfälscht haben. Wir glauben, dass
|
|
die meisten der Freiwilligen nun bei Apple sind und an
|
|
ihrer neuen <quote>scratch and sniff</quote>
|
|
Oberfläche arbeiten. Es ist ein lustiges, altes
|
|
Geschäft, in dem wir uns befinden!</para>
|
|
|
|
<para>Ernsthaft, &os; und &linux; benutzen beide die
|
|
Instruktion <acronym>HLT</acronym> (halt), wenn das System
|
|
untätig ist, wodurch der Energieverbrauch und dadurch
|
|
die produzierte Wärme reduziert wird. Falls Sie auch
|
|
noch APM (Advanced Power Management) konfiguriert haben,
|
|
kann &os; Ihre CPU auch in einen Low-Power-Modus bringen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="letmeoutofhere">
|
|
<para>Wer kratzt in meinen Speicherbänken??</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Q. Gibt es irgend etwas <quote>seltsames</quote>, das
|
|
&os; tut, wenn ich den Kernel kompiliere, das dazu
|
|
führt, dass der Speicher ein kratzendes
|
|
Geräusch macht? Bei der Kompilierung (und auch
|
|
für einen kurzen Moment nach der Erkennung des
|
|
Floppy-Laufwerks beim Hochfahren), kommt ein seltsames
|
|
kratzendes Geräusch von etwas das die
|
|
Speicherbänke zu sein scheinen.</para>
|
|
|
|
<para>A. Ja! In der BSD-Dokumentation finden Sie
|
|
häufige Verweise auf <quote>Daemons</quote> und was
|
|
die meisten Leute nicht wissen, ist, dass diese sich
|
|
auf echte, nicht-körperlichen Wesen beziehen, die
|
|
Besitz von Ihrem Computer ergriffen haben. Das kratzende
|
|
Geräusch, das von Ihrem Speicher kommt, ist in
|
|
Wirklichkeit hochtöniges Flüstern, das unter den
|
|
Daemons ausgetauscht wird, während Sie entscheiden,
|
|
wie Sie die verschiedenen Systemadministrationsaufgaben,
|
|
am besten erledigen.</para>
|
|
|
|
<para>Wenn Sie das Geräusch stört, wird ein
|
|
<command>fdisk /mbr</command> sie vertreiben, aber wundern
|
|
Sie sich nicht, wenn sie feindlich reagieren und
|
|
versuchen, Sie aufzuhalten. Wenn Sie während der
|
|
Ausführung zu irgendeinem Zeitpunkt die teuflische
|
|
Stimme von Bill Gates aus dem eingebauten Lautsprecher
|
|
kommen hören, laufen Sie weg und sehen Sie sich auf
|
|
keinen Fall um! Befreit von dem ausgleichenden
|
|
Einfluss der BSD Dämonen sind die beiden
|
|
Dämonen von DOS und &windows; oft dazu in der Lage, die
|
|
totale Kontrolle über Ihre Maschine für die
|
|
ewige Verdammung Ihrer Seele zurückzuerlangen. Da
|
|
Sie jetzt die Wahrheit kennen, würden Sie es
|
|
vorziehen, sich an die Geräusche zu gewöhnen,
|
|
wenn Sie die Wahl hätten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="changing-lightbulbs">
|
|
<para>Wie viele &os;-Hacker braucht man, um eine
|
|
Glühbirne auszuwechseln?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eintausendeinhundertundneunundsechzig:</para>
|
|
|
|
<para>Dreiundzwanzig, die sich bei -CURRENT beschweren,
|
|
dass das Licht aus ist;</para>
|
|
|
|
<para>Vier, die behaupten, dass es sich um ein
|
|
Konfigurationsproblem handelt und dass solche Dinge
|
|
wirklich nach -questions gehören;</para>
|
|
|
|
<para>Drei, die PRs hierzu einreichen, einer von ihnen wird
|
|
falsch unter DOC abgelegt und fristet sein Dasein im
|
|
Dunkeln;</para>
|
|
|
|
<para>Einen, der eine ungetestete Glühbirne einreicht,
|
|
wonach buildworld nicht mehr funktioniert, und sie dann
|
|
fünf Minuten später wieder herausnimmt;</para>
|
|
|
|
<para>Acht, die die PR-Erzeuger beschimpfen, weil sie zu
|
|
ihren PRs keine Patche hinzugefügt haben;</para>
|
|
|
|
<para>Fünf, die sich darüber beschweren, dass
|
|
buildworld nicht mehr funktioniert;</para>
|
|
|
|
<para>Einunddreißig, die antworten, dass es bei
|
|
ihnen funktioniert und dass sie cvsup wohl zu einigem
|
|
ungünstigen Zeitpunkt durchgeführt
|
|
haben;</para>
|
|
|
|
<para>Einen, der einen Patch für eine neue
|
|
Glühbirne an -hackers schickt;</para>
|
|
|
|
<para>Einen, der sich beschwert, dass es vor drei
|
|
Jahren Patches hierfür hatte, aber als er sie nach
|
|
-CURRENT schickte, sind sie einfach ignoriert worden und
|
|
er hatte schlechte Erfahrungen mit dem PR-System; nebenbei
|
|
ist die vorgeschlagene Glühbirne nicht
|
|
reflexiv;</para>
|
|
|
|
<para>Siebenunddreißig, die schreien, dass
|
|
Glühbirnen nicht in das Basissystem gehören,
|
|
dass Committer nicht das Recht haben, solche Dinge
|
|
durchzuführen, ohne die Gemeinschaft zu konsultieren
|
|
und WAS GEDENKT -CORE HIER ZU TUN!?</para>
|
|
|
|
<para>Zweihundert, die sich über die Farbe des
|
|
Fahrradschuppens beschweren;</para>
|
|
|
|
<para>Drei, die darauf hinweisen, dass der Patch nicht
|
|
mit &man.style.9; übereinstimmt;</para>
|
|
|
|
<para>Siebzehn, die sich beschweren, dass die
|
|
vorgeschlagene neue Glühbirne der GPL
|
|
unterliegt;</para>
|
|
|
|
<para>Fünfhundertundsechsundachtzig, die sich in einen
|
|
Streit über die vergleichbaren Vorteile der GPL, der
|
|
BSD-Lizenz, der MIT-Lizenz, der NPL und der
|
|
persönlichen Hygiene nichtgenannter FSF-Gründer
|
|
verwickeln;</para>
|
|
|
|
<para>Sieben, die unterschiedliche Teile des Threads nach
|
|
-chat und -advocacy weiterleiten;</para>
|
|
|
|
<para>Einer, der die vorgeschlagene Glühbirne einbaut,
|
|
obwohl sie dunkler leuchtet, als die alte;</para>
|
|
|
|
<para>Zwei, die sie wieder ausbauen, und in einer
|
|
wütenden Nachricht argumentieren, dass &os;
|
|
besser ganz im Dunkeln dasteht, als mit einer
|
|
dämmerigen Glühbirne;</para>
|
|
|
|
<para>Sechsundvierzig, die sich lärmend wegen des
|
|
Wiederausbaus der dämmerigen Glühbirne streiten
|
|
und eine Erklärung von -core verlangen;</para>
|
|
|
|
<para>Elf, die eine kleinere Glühbirne beantragen,
|
|
damit sie in ihr Tamagotchi passt, falls wir
|
|
irgendwann beschließen, &os; auf diese Plattform
|
|
zu portieren;</para>
|
|
|
|
<para>Dreiundsiebzig, die sich über die SNR auf
|
|
-hackers und -chat beschweren und aus Protest
|
|
abmelden;</para>
|
|
|
|
<para>Dreizehn, die <quote>unsubscribe</quote>,
|
|
<quote>How do I unsubscribe?</quote>
|
|
oder <quote>Please remove me from the list</quote> gefolgt
|
|
von der üblichen Fußzeile abschicken;</para>
|
|
|
|
<para>Einen, der eine funktionierende Glühbirne
|
|
einbaut, während alle zu beschäftigt damit sind,
|
|
mit jedem zu streiten, um es zu bemerken;</para>
|
|
|
|
<para>Einunddreißig, die herausstellen, dass die
|
|
neue Glühbirne 0,364% heller leuchten würde,
|
|
wenn sie mit TenDRA kompiliert werden würde (obwohl
|
|
sie in einen Würfel umgeformt werden
|
|
müsste) und dass &os; deshalb nach
|
|
TenDRA, anstatt nach GCC wechseln sollte;</para>
|
|
|
|
<para>Einen, der sich beschwert, dass bei der neuen
|
|
Glühbirne die Verkleidung fehlt;</para>
|
|
|
|
<para>Neun (einschließlich der PR-Ersteller), die
|
|
fragen <quote>Was ist MFC?</quote></para>
|
|
|
|
<para>Siebenundfünfzig, die sich zwei Wochen, nachdem
|
|
die Birne gewechselt worden ist, darüber beschweren,
|
|
dass das Licht aus war.</para>
|
|
|
|
<para><emphasis>&a.nik; hat
|
|
hinzugefügt:</emphasis></para>
|
|
|
|
<para><emphasis>Ich habe ziemlich hierüber
|
|
gelacht.</emphasis></para>
|
|
|
|
<para><emphasis>Und dann dachte ich: "Halt, sollte in dieser
|
|
Liste nicht irgendwo 'Einer, der es dokumentiert'
|
|
sein?"</emphasis></para>
|
|
|
|
<para><emphasis>Und dann wurde ich erleuchtet
|
|
:-)</emphasis></para>
|
|
|
|
<para><emphasis>&a.tabthorpe;</emphasis> sagt: <quote>Keine,
|
|
<emphasis>echte</emphasis> &os; Hacker fürchten sich nicht
|
|
vor der Dunkelheit!</quote></para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dev-null">
|
|
<para>Was passiert mit den Daten, die nach
|
|
<filename>/dev/null</filename> geschrieben werden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie werden in einer speziellen Datensenke der CPU in
|
|
Wärme umgewandelt, die dann über den
|
|
Kühlkörper und den Lüfter abgeführt
|
|
wird. Dies ist einer der Gründe für die
|
|
Kühlung von CPUs; die Anwender gewöhnen sich an
|
|
die schnelleren Prozessoren, gehen nicht mehr so
|
|
sorgfältig mit Ihren Daten um und so landen immer
|
|
mehr Daten in <filename>/dev/null</filename>, was zur
|
|
Überhitzung der CPU führt. Wenn Sie
|
|
<filename>/dev/null</filename> löschen (was die
|
|
Datensenke ziemlich sicher abschaltet), wird Ihre CPU zwar
|
|
nicht mehr so heiß, dafür wird Ihr System aber
|
|
sehr schnell von den überzähligen Daten
|
|
überladen und merkwürdige Effekte zeigen. Wenn
|
|
Sie eine sehr schnell Netzwerkverbindung haben,
|
|
können Sie Ihre CPU kühlen, indem sie Daten aus
|
|
<filename>/dev/random</filename> lesen und in die Weite
|
|
des Netzwerkes schicken; allerdings besteht hier die
|
|
Gefahr der Überhitzung von Netzwerk und <filename
|
|
class="directory">/</filename>. Außerdem dürfte Ihr
|
|
ISP ziemlich wütend werden, da der größte
|
|
Teil der Daten von seinen Geräten in Hitze
|
|
umgewandelt werden wird; da ISPs aber über
|
|
Klimaanlagen verfügen, sollte das kein großes
|
|
Problem sein, solange Sie es nicht übertreiben.</para>
|
|
|
|
<para><emphasis>Nachtrag Paul Robinson:</emphasis></para>
|
|
|
|
<para>Es gibt andere Mittel und Wege. Wie jeder gute
|
|
Systemadministrator weiss, gehört es zum guten
|
|
Ton, einigen Daten zum Bildschirm zu senden, damit die
|
|
Leuchtkäferchen, die das Bild anzeigen,
|
|
glücklich sind. Die Leuchtkäferchen werden nach
|
|
der Farbe Ihrer Hüte (Rot, Grün, oder Blau)
|
|
unterschieden und sie verstecken bzw. zeigen sich (wobei
|
|
man die Farbe ihrer Hüte erkennen kann) bei jeder
|
|
Nahrungsaufnahme. Grafikkarten wandeln Daten in
|
|
Leuchkäfer-Nahrung um und schicken sie dann zu den
|
|
Leuchtkäfern - teure Karten erzeugen bessere Nahrung
|
|
und sorgen so für besseres Verhalten der
|
|
Leuchtkäfer. Diese brauchen allerdings einen
|
|
konstanten Stimulus - darum gibt es
|
|
Bildschirmschoner.</para>
|
|
|
|
<para>Darum lautet mein Vorschlag, die zufälligen Daten
|
|
einfach zum Bildschirm zu schicken, damit sie von den
|
|
Leuchtkäfern verzehrt werden. Dabei entsteht keine
|
|
Hitze, die Leuchtkäfer bleiben glücklich und man
|
|
wird seine überflüssigen Daten sehr schnell los,
|
|
auch wenn der Bildschirm etwas merkwürdig
|
|
aussieht.</para>
|
|
|
|
<para>Übrigens: Als Ex-Admin eines großen ISPs,
|
|
der so seine Probleme mit der Kühlung seines
|
|
Rechenzentrums hatte, kann ich nur davon abraten,
|
|
überflüssige Daten einfach in das Netzwerk zu
|
|
schicken. Die Heinzelmännchen, die die Pakete
|
|
verteilen und versenden, regen sich darüber ganz
|
|
furchtbar auf.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="advanced">
|
|
<title>Weiterführende Themen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="learn-advanced">
|
|
<para>Wie kann ich mehr über die Interna von &os;
|
|
erfahren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zurzeit gibt es nur ein Buch über die Interna von
|
|
&os;, <quote>The Design and Implementation of the &os;
|
|
Operating System</quote> von Marshall Kirk McKusick und
|
|
George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf
|
|
&os; 5.<replaceable>X</replaceable> konzentriert.</para>
|
|
|
|
<para>Allgemeines Wissen über &unix; kann
|
|
allerdings in den meisten Fällen auf &os;
|
|
angewendet werden.</para>
|
|
|
|
<para>Eine Liste finden Sie im entsprechenden Abschnitt der <ulink
|
|
url="&url.books.handbook;/bibliography-osinternals.html">
|
|
Bibliographie</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="how-to-contribute">
|
|
<para>Wie kann ich bei der Entwicklung von &os; mitarbeiten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Genauere Informationen finden Sie im Artikel <ulink
|
|
url="&url.articles.contributing;/article.html">&os;
|
|
unterstützen</ulink>. Wir können Hilfe
|
|
immer gut gebrauchen!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="define-snap-release">
|
|
<para>Was sind Snapshots und RELEASEs?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Derzeit existieren vier aktive/halbaktive Zweige im
|
|
<ulink url="http://www.de.FreeBSD.org/cgi/cvsweb.cgi">
|
|
&os;-CVS-Repository</ulink>. In früheren Zweigen
|
|
ändert sich wenig, daher gibt es nur vier
|
|
aktive Entwicklungszweige:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&rel3.releng; bzw. &rel3.stable;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&rel2.releng; bzw. &rel2.stable;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&rel.releng; bzw. &rel.stable;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&rel.head.releng; bzw.
|
|
<emphasis>-CURRENT</emphasis> oder
|
|
&rel.head;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para><literal>HEAD</literal> ist keine wirkliche
|
|
Bezeichnung für einen Zweig, wie die anderen.
|
|
Es ist lediglich eine symbolische Konstante für
|
|
<quote><emphasis>den aktuellen, nicht verzweigten
|
|
Entwicklungsstrom</emphasis></quote>, auf den wir uns
|
|
einfach als <emphasis>-CURRENT</emphasis> beziehen.</para>
|
|
|
|
<para>Derzeit steht <emphasis>-CURRENT</emphasis> für den
|
|
&rel.head.relx;-Entwicklungsstrom. Der &rel.stable;-Zweig
|
|
(&rel.releng;) wurde von <emphasis>-CURRENT</emphasis> im
|
|
&rel.relengdate; und der &rel2.stable;-Zweig (&rel2.releng;) im
|
|
&rel2.relengdate; von <emphasis>-CURRENT</emphasis>
|
|
abgespalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custrel">
|
|
<para>Wie kann ich meine eigene, angepasstes Release
|
|
erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine Anleitung dazu finden Sie im Artikel <ulink
|
|
url="&url.articles.releng.en;/article.html">
|
|
&os; Release Engineering</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="makeworld-clobbers">
|
|
<para>Wieso überschreibt <command>make
|
|
<maketarget>world</maketarget></command>
|
|
das installierte System?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das ist beabsichtigt. Wie der Name schon andeutet,
|
|
erstellt <command>make <maketarget>world</maketarget></command>
|
|
alle Systemdateien von Grund auf neu. Sie können also sicher
|
|
sein, am Ende eine saubere, konsistente Umgebung zu haben (das ist
|
|
der Grund, warum es so lange dauert).</para>
|
|
|
|
<para>Falls die Umgebungsvariable <envar>DESTDIR</envar>
|
|
während der Ausführung von <command>make
|
|
<maketarget>world</maketarget></command> oder
|
|
<command>make <maketarget>install</maketarget></command>
|
|
definiert ist, werden die neu erstellten Binaries unter
|
|
<literal>${DESTDIR}</literal> in einem zum
|
|
installierten identischen Verzeichnisbaum abgelegt.
|
|
Einige zufällige Kombinationen von Änderungen
|
|
von Shared Libraries und Neuerstellungen von Programmen
|
|
können hierbei jedoch ein Scheitern von <command>make
|
|
<maketarget>world</maketarget></command> verursachen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cvsup-round-robin">
|
|
<para>Warum ist <hostid role="fqdn">cvsup.FreeBSD.org</hostid>
|
|
kein Round-Robin-Eintrag im DNS, so dass Anfragen
|
|
auf alle <application>CVsup</application>-Server verteilt
|
|
werden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die <application>CVsup</application>-Server gleichen sich
|
|
stündlich mit dem Hauptserver ab. Allerdings findet der
|
|
Abgleich nicht zur gleichen Zeit statt, daher
|
|
können einige Server neuere Quellen bereitstellen
|
|
als andere Server. Alle Server stellen jedoch
|
|
Quellen bereit, die maximal eine Stunde alt sind.
|
|
Wäre <hostid role="fqdn">cvsup.FreeBSD.org</hostid>
|
|
ein Round-Robin-Eintrag im DNS, der Benutzern einen
|
|
zufälligen Server zuteilt, könnten beim
|
|
zweiten Lauf von <application>CVsup</application> ältere
|
|
Quellen als beim ersten Lauf heruntergeladen werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ctm">
|
|
<para>Kann ich -CURRENT mit begrenztem Internetzugang
|
|
folgen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, Sie können das tun, <emphasis>ohne</emphasis>
|
|
den gesamten Quellbaum herunterzuladen, indem Sie die
|
|
Einrichtung <ulink
|
|
url="&url.books.handbook;/synching.html#CTM">CTM</ulink>
|
|
benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="split-1392k">
|
|
<para>Wie haben Sie die Distribution in 1392 KB-Dateien
|
|
aufgespalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei neueren BSD-basierten Systemen gibt es eine Option
|
|
<option>-b</option> zu &man.split.1;, die das Splitten von
|
|
Dateien an willkürlichen Bytegrenzen erlaubt.</para>
|
|
|
|
<para>Hier ist ein Beispiel aus
|
|
<filename>/usr/src/release/Makefile</filename>.</para>
|
|
|
|
<programlisting>ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k -</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="submitting-kernel-extensions">
|
|
<para>Ich habe eine Kernelerweiterung geschrieben. An wen
|
|
sende ich sie?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie bitte den Artikel <ulink
|
|
url="&url.articles.contributing;/article.html">
|
|
&os; unterstützen</ulink>.</para>
|
|
|
|
<para>Und Danke, dass Sie darüber
|
|
nachdenken!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-initialize">
|
|
<para>Wie werden Plug&Play ISA-Karten erkannt und
|
|
initialisiert?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Von: Frank Durda IV
|
|
<email>uhclem@nemesis.lonestar.org</email></para>
|
|
|
|
<para>Kurz gesagt gibt es nur wenige I/O-Ports über die
|
|
PnP-Karten antworten, wenn der Host fragt, ob jemand da
|
|
ist. Wenn die PnP-Erkennungsroutine startet, fragt sie,
|
|
ob irgendwelche PnP-Karten vorhanden sind und alle
|
|
PnP-Karten antworten mit ihrer Modellnummer auf demselben
|
|
Port, von dem sie auch gelesen haben. Die
|
|
Erkennungsroutine erhält also ein geodertes
|
|
<quote>Ja</quote> auf diese Frage. Mindestens ein Bit
|
|
wird bei dieser Antwort gesetzt sein. Die
|
|
Erkennungsroutine ist dann in der Lage, dafür zu
|
|
sorgen, dass Karten mit Modellnummern (zugeordnet von
|
|
µsoft;/&intel;) kleiner als <literal>X</literal>
|
|
<quote>off-line</quote> gesetzt werden. Sie prüft dann, ob
|
|
immer noch Karten da sind, die auf die Frage antworten. Falls die
|
|
Antwort <literal>0</literal> war, sind keine Karten mit IDs
|
|
größer <literal>X</literal> vorhanden. Die
|
|
Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb
|
|
<literal>X</literal> vorhanden sind. Schließlich setzt die
|
|
Erkennungsroutine alle Karten größer als
|
|
<literal>X - (limit / 4)</literal> off-line
|
|
und wiederholt die Frage. Wenn diese
|
|
halbbinäre Suche nach IDs in Folge genügend oft
|
|
wiederholt worden ist, wird die Erkennungsroutine
|
|
schließlich alle in einem Rechner befindlichen
|
|
PnP-Karten identifiziert haben und das mit einer
|
|
Iterationszahl sehr viel kleiner als
|
|
2<superscript>64</superscript>.</para>
|
|
|
|
<para>Die IDs bestehen aus zwei 32-Bit-Feldern (daher
|
|
2<superscript>64</superscript>) + acht Bit Prüfsumme. Die
|
|
ersten 32 Bit sind die Herstellerkennung. Es wurde zwar nicht
|
|
bestätigt, aber es wird angenommen, dass unterschiedliche
|
|
Kartentypen desselben Herstellers unterschiedliche 32-Bit
|
|
Herstellerkennungen besitzen können. 32 Bit nur
|
|
für eindeutige Hersteller zu benötigen, scheint
|
|
etwas übertrieben.</para>
|
|
|
|
<para>Die niedrigen 32 Bit sind eine Seriennummer oder etwas
|
|
anderes, das die betreffende Karte einzigartig macht. Die
|
|
Hersteller dürfen niemals eine zweite Karte mit denselben
|
|
niedrigen 32 Bit herstellen, es sei denn, die höheren
|
|
32 Bit sind unterschiedlich. Sie können also mehrere
|
|
Karten des selben Typs im Rechner haben und die gesamten
|
|
64 Bit bleiben stets eindeutig.</para>
|
|
|
|
<para>Die 32-Bit-Gruppen können niemals nur aus Nullen
|
|
bestehen. Das erlaubt es, bei der binären Suche zu
|
|
Beginn nur auf von Null verschiedene Bits zu achten.</para>
|
|
|
|
<para>Wenn das System alle vorhandenen Karten-IDs
|
|
identifiziert hat, reaktiviert es jede Karte - eine nach
|
|
der anderen (über dieselben I/O-Ports) und ermittelt,
|
|
welche Ressourcen von der jeweiligen Karte benötigt
|
|
werden, welche Wahlmöglichkeiten für Interrupts
|
|
bestehen usw. Alle Karten werden abgefragt, um diese
|
|
Informationen zusammenzustellen.</para>
|
|
|
|
<para>Diese Informationen werden dann mit Informationen aus
|
|
allen ECU-Dateien auf der Festplatte oder mit im MLB-BIOS
|
|
verdrahteten Informationen verknüpft. Die ECU- und
|
|
BIOS-PnP-Unterstützung für Hardware auf dem MLB
|
|
ist für gewöhnlich künstlich und was die
|
|
Peripheriegeräte tun ist nicht wirklich echtes PnP.
|
|
Durch die Untersuchung der BIOS-Informationen und der
|
|
ECU-Informationen können die Erkennungsroutinen
|
|
jedoch die von PnP-Geräten benutzten Ressourcen so
|
|
ändern, dass vermieden wird, dass bereits
|
|
von anderen Geräten benutzte Ressourcen verwendet
|
|
werden.</para>
|
|
|
|
<para>Dann werden die PnP-Geräte nochmals besucht und
|
|
ihre I/O, DMA, IRQ und Memory-Map-Adressen werden
|
|
zugeordnet. Die Geräte werden an diesen Stellen
|
|
sichtbar werden und dort bis zum nächsten Reboot
|
|
verbleiben. Allerdings hindert Sie auch nichts daran, sie
|
|
zu verschieben, wohin Sie wollen.</para>
|
|
|
|
<para>Im obigen Teil wurde sehr viel vereinfacht, aber die
|
|
grundlegende Idee sollte klar geworden sein.</para>
|
|
|
|
<para>µsoft; hat einige der primären
|
|
Druckerstatusports für PnP übernommen, da keine
|
|
Karte diese Adressen für die entgegengesetzten
|
|
I/O-Zyklen decodiert. Ich habe während der
|
|
frühen Überprüfungsperiode des
|
|
PnP-Vorschlags eine echte IBM Druckerkarte gefunden, die
|
|
Schreibzugriffe auf dem Statusport decodiert hat, aber µsoft;
|
|
hat nur <quote>tough</quote> gesagt. Also schreiben sie
|
|
auf den Druckerstatusport, um Adressen zu setzen, benutzen
|
|
zusätzlich diese Adresse + <literal>0x800</literal>
|
|
und einen dritten I/O-Port zum Lesen, der irgendwo
|
|
zwischen <literal>0x200</literal> und
|
|
<literal>0x3ff</literal> liegen kann.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="major-numbers">
|
|
<para>Wie bekomme ich eine Major-Number für einen
|
|
Gerätetreiber, den ich geschrieben habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; Versionen stellen seit Februar 2003
|
|
Major-Numbers für Geräte automatisch zur Laufzeit
|
|
bereit (lesen Sie &man.devfs.5;), damit ist das nicht mehr
|
|
nötig.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="alternate-directory-layout">
|
|
<para>Gibt es alternative Layoutverfahren für
|
|
Verzeichnisse?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Als Antwort auf die Frage nach alternativen
|
|
Layoutverfahren für Verzeichnisse ist das Schema, das
|
|
derzeit benutzt wird, unverändert von dem, das ich
|
|
1983 geschrieben habe. Ich habe das Vorgehen für das
|
|
originale Fast-Filesystem geschrieben und es niemals
|
|
überarbeitet. Es funktioniert gut, wenn es darum
|
|
geht, zu verhindern, dass Zylindergruppen volllaufen.
|
|
Wie viele von Ihnen angemerkt haben, funktioniert es
|
|
schlecht für find. Die meisten Dateisysteme werden
|
|
von Archiven erstellt, die mit einer Tiefensuche (also
|
|
ftw) erstellt wurden. Diese Verzeichnisse werden
|
|
über die Zylindergruppen hinweg entfaltet und
|
|
erzeugen denkbar ungünstigste Voraussetzungen
|
|
für zukünftige Tiefensuchen. Falls man die
|
|
Gesamtzahl der zu erstellenden Verzeichnisse wüsste,
|
|
wäre die Lösung die,
|
|
<literal>(gesamt / fs_ncg)</literal> pro
|
|
Zylindergruppe zu erstellen, bevor fortgefahren wird.
|
|
Offensichtlich müsste man eine Heuristik
|
|
erstellen, um die Zahl zu schätzen. Sogar die
|
|
Benutzung einer kleinen, fixen Zahl, z.B. 10, würde
|
|
eine Verbesserung um Größenordnungen ausmachen.
|
|
Um Wiederherstellungen von normalem Betrieb (wo der
|
|
derzeitige Algorithmus vermutlich sinnvoller ist) zu
|
|
unterscheiden, könnten Sie die Clusterung von bis zu
|
|
10 benutzen, wenn sie alle innerhalb eines
|
|
10-Sekunden-Fensters durchgeführt würden.
|
|
Jedenfalls ist mein Schluss, dass dies ein
|
|
fruchtbares Gebiet für Experimente ist.</para>
|
|
|
|
<para>&a.mckusick;, September 1998</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-panic-troubleshooting">
|
|
<para>Wie kann ich optimalen Nutzen aus einer kernel panic
|
|
ziehen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hier ist eine typische Kernel-Panic</para>
|
|
|
|
<programlisting>Fatal trap 12: page fault while in kernel mode
|
|
|
|
fault virtual address = 0x40
|
|
fault code = supervisor read, page not present
|
|
instruction pointer = 0x8:0xf014a7e5
|
|
stack pointer = 0x10:0xf4ed6f24
|
|
frame pointer = 0x10:0xf4ed6f28
|
|
code segment = base 0x0, limit 0xfffff, type 0x1b
|
|
= DPL 0, pres 1, def32 1, gran 1
|
|
processor eflags = interrupt enabled, resume, IOPL = 0
|
|
current process = 80 (mount)
|
|
interrupt mask =
|
|
trap number = 12
|
|
panic: page fault</programlisting>
|
|
|
|
<para>Wenn Sie eine Meldung wie diese sehen, reicht es
|
|
nicht, sie einfach zu reproduzieren und sie einzusenden.
|
|
Der Wert des Instruktionszeigers ist wichtig; leider ist er auch
|
|
konfigurationsabhängig. Mit anderen Worten variieren
|
|
die Werte abhängig von dem Kernel-Image, das Sie
|
|
tatsächlich benutzen. Wenn Sie ein
|
|
<filename>GENERIC</filename> Kernelimage von einem der Snapshots benutzen, dann ist es
|
|
für jemand anderen möglich, die fehlerhafte
|
|
Instruktion herauszufinden, aber wenn Sie einen
|
|
angepassten Kernel benutzen, können nur
|
|
<emphasis>Sie</emphasis> uns sagen, wo der Fehler
|
|
auftrat.</para>
|
|
|
|
<para>Was Sie tun sollten, ist folgendes:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Notieren Sie sich den Wert des
|
|
Instruktionszeigers. Beachten Sie, dass der Teil
|
|
<literal>0x8:</literal> am Anfang in diesem Fall nicht
|
|
von Bedeutung ist; der Teil
|
|
<literal>0xf0xxxxxx</literal> ist der, den wir
|
|
wollen.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Tun Sie folgendes, wenn das System
|
|
rebootet:</para>
|
|
|
|
<screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>/kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxxx</userinput></screen>
|
|
|
|
<para>wobei <literal>0xf0xxxxxx</literal> der Wert des
|
|
Instruktionszeigers ist. Es besteht die
|
|
Möglichkeit, dass Sie keinen exakten Treffer
|
|
erzielen, weil die Symbole in der Symboltabelle des
|
|
Kernels Funktionseinstiegspunkte sind und die Adresse
|
|
des Instruktionszeigers irgendwo innerhalb einer
|
|
Funktion liegen wird und nicht am Anfang. Falls sie
|
|
keinen exakten Treffer erzielen, lassen Sie den
|
|
letzten Teil des Werts des Instruktionszeigers weg und
|
|
versuchen es noch einmal, z.B.:</para>
|
|
|
|
<screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>/kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxx</userinput></screen>
|
|
|
|
<para>Falls das kein Ergebnis liefert, hacken Sie eine
|
|
weitere Ziffer ab. Wiederholen Sie die Schritte, bis
|
|
Sie irgendeine Ausgabe erhalten. Das Ergebnis wird
|
|
eine Liste möglicher Funktionen sein, die die
|
|
Panik verursacht haben. Das ist zwar kein absolut
|
|
genauer Mechanismus, um die Fehlerursache ausfindig zu
|
|
machen, aber es ist besser als gar nichts.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Wie dem auch sei, der beste Weg, den Grund für eine Panik
|
|
herauszufinden, ist der, einen Crash-Dump festzuhalten und
|
|
dann &man.kgdb.1; zu benutzen, um den Stack im Crash-Dump
|
|
zurückzuverfolgen.</para>
|
|
|
|
<para>Jedenfalls ist die Methode, die ich normalerweise
|
|
benutze, folgende:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Sorgen Sie dafür, dass die folgende Zeile in der
|
|
Kernelkonfigurationsdatei
|
|
(<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/<replaceable>MYKERNEL</replaceable></filename>) enthalten ist:</para>
|
|
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Wechseln Sie in das Verzeichnis <filename
|
|
class="directory">usr/src</filename>:</para>
|
|
<screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src</filename></userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Erstellen Sie den Kernel:</para>
|
|
<screen>&prompt.root; <userinput><command>make</command> <maketarget>buildkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Warten Sie, bis &man.make.1; den Kernel fertig kompiliert
|
|
hat.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<screen>&prompt.root; <userinput><command>make</command> <maketarget>installkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Starten Sie das System neu.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<note>
|
|
<para>Falls Sie die make-Variable <makevar>KERNCONF</makevar>
|
|
nicht verwenden, wird ein <filename>GENERIC</filename> Kernel
|
|
gebaut und installiert.</para>
|
|
</note>
|
|
|
|
<para>Der &man.make.1;-Prozess wird zwei Kernel
|
|
erstellt haben:
|
|
<filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel</filename>
|
|
und
|
|
<filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename>.
|
|
<filename>kernel</filename> wurde als
|
|
<filename>/boot/kernel</filename> installiert, während
|
|
<filename>kernel.debug</filename> als Quelle für
|
|
Debuggersymbole für &man.kgdb.1; benutzt werden
|
|
kann.</para>
|
|
|
|
<para>Um sicherzustellen, dass ein Crash-Dump erhalten
|
|
bleibt, müssen Sie
|
|
<filename>/etc/rc.config</filename> editieren und
|
|
<literal>dumpdev</literal> so setzen, dass es auf
|
|
Ihre Swap-Partition zeigt. Das bewirkt, dass die
|
|
&man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um
|
|
Crash-Dumps zu ermöglichen. Sie können
|
|
&man.dumpon.8; auch manuell ausführen. Nach einer
|
|
Panik kann der Crash-Dump mit &man.savecore.8;
|
|
wiederhergestellt werden; wenn <literal>dumpdev</literal>
|
|
in <filename>/etc/rc.conf</filename> gesetzt ist, werden
|
|
die &man.rc.8;-Skripte &man.savecore.8; automatisch
|
|
ausführen und den Crash-Dump unter <filename
|
|
class="directory">/var/crash</filename> ablegen.</para>
|
|
|
|
<note>
|
|
<para>Crash-Dumps von &os; sind für
|
|
gewöhnlich genauso groß wie der physikalische
|
|
Hauptspeicher Ihres Rechners. Das heißt, wenn Sie
|
|
512MB RAM haben, werden sie einen 512MB Crash-Dump
|
|
erhalten. Deshalb müssen Sie dafür sorgen, dass
|
|
genügend Speicherplatz in
|
|
<filename>/var/crash</filename> zur Verfügung
|
|
steht, um den Dump aufnehmen zu können. Alternativ
|
|
führen Sie &man.savecore.8; manuell aus und lassen
|
|
es den Crash-Dump in einem anderen Verzeichnis
|
|
wiederherstellen, in dem Sie mehr Platz haben. Es ist
|
|
möglich, die Größe des Crash-Dumps zu
|
|
begrenzen, indem <literal>options
|
|
MAXMEM=<replaceable>N</replaceable></literal>, wobei
|
|
<replaceable>N</replaceable> die Größe des verwendeten
|
|
Kernelspeichers in KBs ist. Wenn Sie z.B. 1 GB RAM haben,
|
|
können Sie die Speicherbenutzung des Kernels damit auf
|
|
128 MB begrenzen, so dass die Größe Ihres
|
|
Crash-Dumps 128 MB anstatt 1 GB betragen wird.</para>
|
|
</note>
|
|
|
|
<para>Wenn Sie den Crash-Dump wiederhergestellt haben,
|
|
können Sie den Stack mit &man.kgdb.1; so
|
|
zurückverfolgen:</para>
|
|
|
|
<screen>&prompt.user; <userinput><command>kgdb</command> <filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename> <filename class="directory">/var/crash/<replaceable>vmcore.0</replaceable></filename></userinput>
|
|
<prompt>(kgdb)</prompt> <userinput>backtrace</userinput></screen>
|
|
|
|
<para>Beachten Sie, dass es mehrere Seiten mit
|
|
wertvollen Informationen geben könnte; idealerweise
|
|
sollten Sie &man.script.1; benutzen, um sie alle
|
|
festzuhalten. Wenn Sie das vollständige Kernelimage
|
|
mit allen Debugginginformationen benutzen,
|
|
müssten Sie exakt die Zeile des
|
|
Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
|
|
Für gewöhnlich müssen Sie den Stack von
|
|
unten an zurückverfolgen, um die genaue
|
|
Ereignisabfolge, die zum Crash führte,
|
|
zurückzuverfolgen. Sie können &man.kgdb.1; auch
|
|
zum Ausdrucken der Inhalte verschiedener Variablen oder
|
|
Strukturen benutzen, um den Systemstatus zum Zeitpunkt des
|
|
Absturzes zu untersuchen.</para>
|
|
|
|
<tip>
|
|
<para>Wenn Sie nun wirklich verrückt sind und einen
|
|
zweiten Computer haben, können Sie &man.kgdb.1; auch
|
|
für entferntes Debugging konfigurieren, so dass
|
|
Sie &man.kgdb.1; auf einem System benutzen können, um
|
|
den Kernel auf einem anderen System zu debuggen,
|
|
einschließlich dem Setzen von Haltepunkten und dem
|
|
Bewegen in Einzelschritten durch den Kernelcode, genauso,
|
|
wie Sie es mit einem normalen Benutzerprogramm tun
|
|
können.</para>
|
|
</tip>
|
|
|
|
<note>
|
|
<para>Wenn Sie <literal>DDB</literal> aktiviert haben
|
|
und der Kernel im Debugger landet, können Sie eine Panik
|
|
(und einen Crash-Dump) erzwingen, indem Sie einfach
|
|
<literal>panic</literal> am <literal>ddb</literal>-Prompt
|
|
eingeben. Er könnte während der Panikphase
|
|
wieder im Debugger stoppen. Falls er das tut, geben Sie
|
|
<literal>continue</literal> ein, dann wird er den Crash-Dump
|
|
beenden.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dlsym-failure">
|
|
<para>Wieso funktioniert <function>dlsym()</function> nicht mehr
|
|
für ELF-Executables?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die ELF-Werkzeuge machen die in einem Executable
|
|
definierten Symbole dem dynamischen Linker nicht
|
|
standardmäßig sichtbar. Konsequenterweise
|
|
werden <function>dlsym()</function>-Suchen nach Handlern
|
|
aus Aufrufen von <function>dlopen(NULL, flags)</function>
|
|
diese Symbole nicht finden können.</para>
|
|
|
|
<para>Wenn Sie mit <function>dlsym()</function> nach im
|
|
Hauptexecutable eines Prozesses vorhandenen Symbolen
|
|
suchen wollen, müssen Sie das Executable mit der
|
|
Option <option>--export-dynamic</option> von &man.ld.1;
|
|
linken.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="change-kernel-address-space">
|
|
<para>Wie kann ich den Adressraum des Kernels auf i386
|
|
vergrössern oder verkleinern?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Standardmäßig beträgt der
|
|
Adressraum des Kernels 1 GB (2 GB für PAE)
|
|
auf i386. Wenn Sie einen netzwerkintensiven Server
|
|
(z.B. einen großen FTP- oder HTTP-Server) betreiben, oder
|
|
ZFS verwenden möchten, kann es sein, dass Sie der Meinung
|
|
sind, dass das nicht ausreichen.</para>
|
|
|
|
<para>Fügen Sie die folgende Zeile zu ihrer
|
|
Kernelkonfigurationsdatei hinzu, um den verfügbaren Speicher
|
|
zu erhöhen und erstellen Sie dann einen neuen Kernel:</para>
|
|
|
|
<programlisting>options KVA_PAGES=<replaceable>N</replaceable></programlisting>
|
|
|
|
<para>Um den richtigen Wert von <replaceable>N</replaceable> zu
|
|
bestimmen, teilen Sie den gewünschte Größe
|
|
des Addressraumes (in Megabyte) durch vier (z.B. beträgt er
|
|
<literal>512</literal> für 2 GB).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="acknowledgments">
|
|
<title>Danksagung</title>
|
|
|
|
<para>Dieses kleine unschuldige Dokument mit Häufig gestellten
|
|
Fragen wurde in den letzten 10 Jahren von Hunderten, wenn
|
|
nicht Tausenden, geschrieben, neu geschrieben, überarbeitet,
|
|
gefaltet, verdreht, durcheinander gebracht, wieder aufgebaut,
|
|
verstümmelt, seziert, durchgekaut, überdacht, und
|
|
wiederbelebt. Und das nicht nur einmal.</para>
|
|
|
|
<para>Wir möchten allen dafür Verantwortlichen danken
|
|
und wir fordern auch Sie auf, dieser Gruppe <ulink
|
|
url="&url.articles.contributing;/article.html">beizutreten</ulink>,
|
|
um diese FAQ noch besser zu machen.</para>
|
|
|
|
<para>Folgende Personen haben durch die Beantwortung von Fragen,
|
|
sowie durch Hinweise und Kommentare an der Entstehung der
|
|
deutschen Übersetzung mitgewirkt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ross Alexander</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jhb;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.nik;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Glen Foster</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Oliver Fromme</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Frank Gruender</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Chris Hill</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>James Howard</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jkh;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.alex;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jmas;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Mike Meyer</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Dan O'Connor</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eric Ogren</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.de.pierau;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Oliver Schneider</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Christoph Sold</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Und an alle anderen, an die wir nicht gedacht haben.
|
|
Entschuldigung und herzlichen Dank!</para>
|
|
</chapter>
|
|
&bibliography;
|
|
</book>
|