13936 lines
572 KiB
Text
13936 lines
572 KiB
Text
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
|
|
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
|
%man;
|
|
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
|
|
%authors;
|
|
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//DE">
|
|
%translators;
|
|
]>
|
|
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.115 2001/03/04 14:17:30 ue Exp $
|
|
Original version: 1.147
|
|
-->
|
|
|
|
<book id="faq" lang="de">
|
|
<bookinfo>
|
|
<title>Häufig gestellte Fragen zu FreeBSD 2.X, 3.X und
|
|
4.X</title>
|
|
|
|
<subtitle>Frequently Asked Questions für FreeBSD 2.X, 3.X und
|
|
4.X</subtitle>
|
|
|
|
<authorgroup>
|
|
<corpauthor>The FreeBSD German Documentation
|
|
Project</corpauthor>
|
|
|
|
<collab>
|
|
<collabname>Deutsche Übersetzung von Robert S. F.
|
|
Drehmel, Dirk Gouders und Udo Erdelhoff</collabname>
|
|
</collab>
|
|
</authorgroup>
|
|
|
|
<pubdate>$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.115 2001/03/04 14:17:30 ue Exp $</pubdate>
|
|
|
|
<abstract>
|
|
<para>Dies ist die FAQ für die FreeBSD-Versionen 2.X, 3.X
|
|
und 4.X. Alle Einträge sollten für FreeBSD ab
|
|
Version 2.0.5 relevant sein, andernfalls wird darauf explizit
|
|
hingewiesen. Alle mit <XXX> gekennzeichneten
|
|
Einträge befinden sich in Arbeit. Falls Sie daran
|
|
interessiert sein sollten, an diesem Projekt mitzuhelfen,
|
|
senden Sie eine Mail an die Mailingliste des FreeBSD German
|
|
Documentation Project
|
|
<email>de-bsd-translators@de.FreeBSD.org</email>. Die
|
|
aktuelle Version dieses Dokuments ist ständig auf dem
|
|
<ulink URL="http://www.de.FreeBSD.org/">FreeBSD
|
|
World-Wide-Web-Server</ulink> verfügbar. Es kann auch
|
|
per HTTP als eine große <ulink
|
|
URL="book.html">HTML</ulink>-Datei heruntergeladen werden oder
|
|
als Textdatei, im PostScript-, PDF- und anderen Formaten vom
|
|
<ulink URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">FreeBSD
|
|
FTP-Server</ulink>. Sie können die FAQ auch <ulink
|
|
URL="http://www.de.FreeBSD.org/search/search.html">
|
|
durchsuchen</ulink>.</para>
|
|
</abstract>
|
|
</bookinfo>
|
|
|
|
<preface id="preface">
|
|
<title>Vorwort</title>
|
|
|
|
<para>Willkommen zur FreeBSD 2.X-4.X 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 FreeBSD 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 den &a.faq;.</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="what-is-freebsd">
|
|
<para>Was ist FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD ist, kurz gesagt, ein UN*X-ähnliches
|
|
Betriebssystem für die Plattformen i386 und
|
|
Alpha/AXP, 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 FreeBSD ist und wie Sie es
|
|
für Ihre Zwecke verwenden können, finden Sie auf
|
|
der <ulink URL="http://www.de.FreeBSD.org/">FreeBSD home
|
|
page</ulink>.</para>
|
|
|
|
<para>Unternehmen, Internet Service Provider, Forscher,
|
|
Computerfachleute, Studenten und Privatnutzer auf der
|
|
ganzen Welt nutzen FreeBSD für die Arbeit, die
|
|
Ausbildung oder zur Freizeitgestaltung. Sie finden einige
|
|
von ihnen in der <ulink
|
|
URL="http://www.de.FreeBSD.org/gallery/gallery.html">FreeBSD
|
|
Gallerie</ulink>.</para>
|
|
|
|
<para>Ausführlichere Informationen zu FreeBSD, finden
|
|
Sie im <ulink URL="../handbook/index.html">FreeBSD
|
|
Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="FreeBSD-goals">
|
|
<para>Welches sind die Ziele von FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Ziele von FreeBSD sind es, Software zur Nutzung
|
|
für beliebige Zwecke, bedingungslos zur
|
|
Verfügung zu stellen. Viele von uns haben
|
|
entscheidend 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,
|
|
daß 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 GNU General
|
|
Public License (GPL) oder der GNU Library General Public
|
|
License (LGPL) 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 dem etwas lockereren BSD
|
|
Copyright unterliegt, zu ersetzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="why-called-FreeBSD">
|
|
<para>Warum heißt es FreeBSD?</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 und/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, daß das englisch
|
|
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 FreeBSD-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="latest-version">
|
|
<para>Welches ist die aktuelle FreeBSD-Version?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Version <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/4.2-RELEASE/">4.2</ulink>
|
|
ist die aktuelle, <emphasis>STABLE</emphasis> Version; sie
|
|
ist im November 2000 erschienen. Gleichzeitig ist sie
|
|
auch die aktuelle
|
|
<emphasis>RELEASE</emphasis>-Version.</para>
|
|
|
|
<para>Kurz erläutert, <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 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">FreeBSD-CURRENT</link> und
|
|
<link linkend="stable">FreeBSD-STABLE</link>), aber das
|
|
erfordert ein erhöhtes Engagement, da die Sourcen
|
|
sich ständig verändern.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="current">
|
|
<para>Was ist FreeBSD-CURRENT?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><ulink URL="../handbook/cutting-edge.html#CURRENT">
|
|
FreeBSD-CURRENT</ulink> ist die Entwicklungsversion des
|
|
Betriebssystems, die zu gegebener Zeit zu 5.0-RELEASE
|
|
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
|
|
-CURRENT finden Sie im <ulink
|
|
URL="../handbook/cutting-edge.html#CURRENT">
|
|
entsprechenden Abschnitt</ulink> des <ulink
|
|
URL="../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 FreeBSD-CURRENT nicht verwenden.
|
|
Dieser Zweig entwickelt sich manchmal sehr schnell weiter
|
|
und kann gelegentlich für mehrere Tage hintereinander
|
|
nicht installierbar sein. Von Personen, die
|
|
FreeBSD-CURRENT verwenden, wird erwartet, daß 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 -CURRENT
|
|
Mailingliste manchmal nicht beachtet.</para>
|
|
|
|
<para>Jeden Tag wird der aktuelle Entwicklungsstand in den
|
|
Zweigen -CURRENT und -STABLE in einer <ulink
|
|
URL="http://www.de.FreeBSD.org/releases/snapshots.html">Snapshot</ulink>
|
|
Releases festgehalten. Mittlerweile werden sogar CDROM
|
|
Distributionen dieser gelegentlichen Snapshots zur
|
|
Verfügung gestellt. Die Ziele dieser Snapshot
|
|
Releases sind:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die aktuelle Version der Installationssoftware zu
|
|
testen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Personen, die -CURRENT oder -STABLE benutzen
|
|
möchten, aber nicht über die nötige
|
|
Zeit und/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, daß wir später
|
|
einmal ernsthaften Schaden anrichten sollten (obwohl
|
|
CVS verhindern sollte, daß solche Situationen
|
|
entstehen :)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sicherzustellen, daß zu testende, neue
|
|
Merkmale an eine möglichst großen Zahl
|
|
potentieller Tester gelangen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Von keinem -CURRENT 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 -STABLE Snapshot
|
|
verwenden.</para>
|
|
|
|
<para>Snapshot Releases von 5.0-CURRENT sind unter <ulink
|
|
URL="ftp://current.FreeBSD.org/pub/FreeBSD/">
|
|
ftp://current.FreeBSD.org/pub/FreeBSD/</ulink>
|
|
verfügbar; wenn Sie einen Snapshot von 4-STABLE
|
|
erhalten möchten, lautet die Adresse <ulink
|
|
url="ftp://releng4.FreeBSD.org/pub/FreeBSD">releng4.FreeBSD.org</ulink>.
|
|
Zur Zeit (Mai 2000) werden keine Snapshots von 3-STABLE
|
|
erstellt.</para>
|
|
|
|
<para>In der Regel wird jeden Tag ein Snapshot jedes zur
|
|
Zeit aktiven Zweiges erstellt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="stable">
|
|
<para>Was ist das Konzept von FreeBSD-STABLE?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zur Zeit, als FreeBSD 2.0.5 herausgegeben wurde, haben
|
|
wir entschieden, die Entwicklung von FreeBSD zweizuteilen.
|
|
Ein Zweig wurde <ulink
|
|
URL="../handbook/stable.html">-STABLE</ulink> genannt. In
|
|
diesem Zweige werden nur ausgetestete Fehlerbehebungen und
|
|
kleine, inkrementelle Änderungen aufgenommen. Dieser
|
|
Zweig ist für Anbieter von Internetdiensten und
|
|
andere kommerzielle Unternehmen gedacht, für die
|
|
plötzliche Veränderungen und experimentelle
|
|
Features unerwünscht sind. Der andere Zweig war
|
|
<ulink
|
|
URL="../handbook/cutting-edge.html#CURRENT">-CURRENT</ulink>.
|
|
Im wesentlichen stellt eine ununterbrochene Linie zum
|
|
4.0-RELEASE (und darüber hinaus) dar, seit 2.0
|
|
herausgegeben worden ist. Die folgende ASCII-Zeichnung
|
|
soll verdeutlichen, wie das aussieht:</para>
|
|
|
|
<programlisting>
|
|
2.0
|
|
|
|
|
|
|
|
| [2.1-STABLE]
|
|
*ZWEIG* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-STABLE endet]
|
|
| (März 1997)
|
|
|
|
|
|
|
|
| [2.2-STABLE]
|
|
*ZWEIG* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [Ende]
|
|
| (März 1997) (Okt 97) (Apr 98) (Jul 98) (Dez 98)
|
|
|
|
|
|
|
|
3.0-SNAPs (begonnen im 1. Quartal 1997)
|
|
|
|
|
|
|
|
3.0-RELEASE (Okt 1998)
|
|
|
|
|
| [3.0-STABLE]
|
|
*ZWEIG* 3.1-RELEASE (Feb 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1
|
|
| (Mai 1999) (Sep 1999) (Dec 1999) (Jun 2000) (Juli 2000)
|
|
|
|
|
| [4.0-STABLE]
|
|
*ZWEIG* 4.0 (März 2000) -> 4.1 -> 4.1.1 -> 4.2 -> ... zukünftige 4.x Releases ...
|
|
| (Jul 2000) (Sep 2000) (Nov 2000)
|
|
|
|
|
|
|
|
\|/
|
|
+
|
|
[5.0-CURRENT wird fortgesetzt]
|
|
</programlisting>
|
|
|
|
<para>Der -CURRENT-Zweig entwickelt sich langsam in Richtung
|
|
5.0 und darüber hinaus weiter. Der frühere
|
|
2.2-STABLE-Zweig wurde mit der Version 2.2.8 stillgelegt
|
|
und wurde durch 3-STABLE ersetzt, 3.5.1 (die letzte
|
|
3.x-Release) erschien im Juli 2000. Im Mai 2000 wurde der
|
|
Zweig 3-STABLE fast völlig von 4-STABLE ersetzt (auch
|
|
wenn 3.5 erst nach diesem Zeitpunkt herausgegeben wurde).
|
|
4.2-RELEASE erschien im November 2000. 4-STABLE ist der
|
|
Zweig, auf den sich die Entwicklung zur Zeit konzentriert,
|
|
aber wichtige Fehlerkorrekturen (hauptsächlich im
|
|
Bereich Sicherheit) werden immer noch auf 3-STABLE
|
|
übertragen. Der 3.x-Zweig wird wahrscheinlich im
|
|
Sommer 2000 offiziell eingestellt. 5.0-CURRENT ist jetzt
|
|
der <quote>aktive Zweig</quote>, ein Datum für eine
|
|
Release steht noch nicht fest.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="release-freq">
|
|
<para>Wann werden FreeBSD-Versionen erstellt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Prinzipiell gibt das FreeBSD Core Team nur dann neue
|
|
FreeBSD-Versionen heraus, wenn es der Meinung ist,
|
|
daß genügend neue Bestandteile und/oder
|
|
Fehlerkorrekturen vorliegen, die dies rechtfertigen.
|
|
Außerdem muß es davon überzeugt sind,
|
|
daß die durchgeführten Änderungen derart
|
|
ins System integriert sind, daß eine
|
|
Beeinträchtigung der Stabilität der Version
|
|
ausgeschlossen ist. Viele Benutzer halten dies für
|
|
einen großen Vorteil von FreeBSD, obwohl es manchmal
|
|
frustrierend sein kann, so lange auf die
|
|
Verfügbarkeit der aktuellsten Leckerbissen zu
|
|
warten...</para>
|
|
|
|
<para>Neue Versionen werden durchschnittlich alle vier
|
|
Monate erstellt.</para>
|
|
|
|
<para>Für diejenigen, die ein wenig mehr Spannung
|
|
brauchen (oder möchten), werden täglich
|
|
Snapshots herausgegeben... siehe oben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="available-platforms">
|
|
<para>Gibt es FreeBSD nur für PCs?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Seit Version 3.0 ist FreeBSD für die <ulink
|
|
URL="http://www.de.FreeBSD.org/alpha/alpha.html">DEC
|
|
Alpha</ulink> und x86 Architekturen verfügbar. Es
|
|
wurde auch Interesse an einer Portierung auf die
|
|
Plattformen SPARC, PowerPC und IA64 bekundet.</para>
|
|
|
|
<para>Falls Ihre Maschine eine andere Architektur aufweist
|
|
und Sie unbedingt sofort etwas benötigen, schlagen
|
|
wir vor, daß 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="responsible">
|
|
<para>Wer ist für FreeBSD verantwortlich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Schlüsseldiskussionen, die das FreeBSD-Projekt
|
|
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="../handbook/staff.html#STAFF-CORE">Core
|
|
Team</ulink> von etwa 9 Personen geführt. Es gibt
|
|
ein weitaus größeres Team von über 200
|
|
<ulink
|
|
URL="../handbook/staff-committers.html">Committers</ulink>,
|
|
die dazu autorisiert sind, Änderungen am FreeBSD
|
|
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 FreeBSD beziehen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Jede bedeutende Ausgabe von FreeBSD ist per
|
|
Anonymous-FTP vom <ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">FreeBSD FTP
|
|
Server</ulink> erhältlich:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die aktuelle Ausgabe von 3.X-STABLE,
|
|
3.5.1-RELEASE, finden Sie im Verzeichnis <ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/3.5.1-RELEASE/">
|
|
3.5.1-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die aktuelle Ausgabe von 4-STABLE, 4.2-RELEASE,
|
|
finden Sie im Verzeichnis <ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/4.2-RELEASE/">
|
|
4.2-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">4.X
|
|
Snapshots</ulink> werden in der Regel einmal
|
|
täglich erstellt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Einmal täglich werden <ulink
|
|
URL="ftp://current.FreeBSD.org/pub/FreeBSD/">5.0
|
|
Snapshot</ulink> Ausgaben vom <link
|
|
linkend="current">-CURRENT</link>-Zweig erstellt, die
|
|
allerdings nur den Testern und Entwicklern an
|
|
vorderster Front dienen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>FreeBSD ist außerdem auf CDROM von folgenden
|
|
Stellen erhältlich:</para>
|
|
|
|
<address>BSDi
|
|
<street>4041 Pike Lane, Suite F</street>
|
|
<city>Concord</city>, <state>CA</state>
|
|
<postcode>94520</postcode>
|
|
<country>USA</country>
|
|
|
|
<phone>Orders: +1 800 786-9907</phone>
|
|
<phone>Questions: +1 925 674-0783</phone>
|
|
<fax>FAX: +1 925 674-0821</fax>
|
|
<otheraddr>email: <ulink URL="mailto:orders@osd.bsdi.com">BSDi Orders address</ulink></otheraddr>
|
|
<otheraddr>WWW: <ulink URL="http://osd.bsdi.com/">BSDi Home page</ulink></otheraddr></address>
|
|
|
|
<para>In Australia, finden Sie es unter:</para>
|
|
|
|
<address>Advanced Multimedia Distributors
|
|
<street>Factory 1/1 Ovata Drive</street>
|
|
<city>Tullamarine, Melbourne</city>
|
|
<state>Victoria</state>
|
|
<country>Australia</country>
|
|
<phone>Voice: +61 3 9338 6777</phone>
|
|
|
|
<otheraddr>CDROM Support BBS</otheraddr>
|
|
<street>17 Irvine St</street>
|
|
<city>Peppermint Grove</city>, <state>WA</state>
|
|
<postcode>6011</postcode>
|
|
<phone>Voice: +61 9 385-3793</phone>
|
|
<fax>Fax: +61 9 385-2360</fax></address>
|
|
|
|
<para>Und in Großbritannien:</para>
|
|
|
|
<address>The Public Domain & Shareware Library
|
|
<street>Winscombe House, Beacon Rd</street>
|
|
<city>Crowborough</city>
|
|
<state>Sussex. TN6 1UL</state>
|
|
<phone>Voice: +44 1892 663-298</phone>
|
|
<fax>Fax: +44 1892 667-473</fax></address>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mailing">
|
|
<para>Woher bekomme ich Informationen zu den FreeBSD
|
|
Mailinglisten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vollständige Informationen finden Sie im <ulink
|
|
URL="../handbook/eresources.html#ERESOURCES-MAIL">Handbucheintrag
|
|
über Mailinglisten</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="y2k">
|
|
<para>Wo finde ich die FreeBSD-spezifischen Informationen
|
|
zum Jahr-2000-Problem?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vollständige Informationen finden Sie auf der
|
|
<ulink URL="http://www.de.FreeBSD.org/y2kbug.html">FreeBSD
|
|
Jahr-2000-Seite</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="newsgroups">
|
|
<para>Welche Newsgruppen existieren zu FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden alle Informationen hierzu im <ulink
|
|
URL="../handbook/eresources-news.html">Handbucheintrag zu
|
|
Newsgruppen</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="irc">
|
|
<para>Gibt es FreeBSD IRC (Internet Relay Chat)
|
|
Kanäle?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, die meisten großen IRC Netze bieten einen
|
|
FreeBSD Chat-Channel:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Channel <literal>FreeBSD</literal> im EFNet ist
|
|
ein FreeBSD-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 FreeBSD. Sie wurden gewarnt! Der Channel ist auf
|
|
dem Server <hostid>irc.chat.org</hostid>
|
|
verfügbar.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <emphasis>#FreeBSDhelp</emphasis> im
|
|
EFNet hat sich dagegen auf die Unterstützung der
|
|
Benutzer von FreeBSD spezialisiert. In diesem Channel
|
|
sind Fragen deutlich willkommener als im Channel
|
|
<emphasis>#FreeBSD</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im DALNET
|
|
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
|
|
UNDERNET 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.hybnet.net/">HybNet</ulink> ist auf
|
|
<hostid>irc.FreeBSD.org</hostid> verfübar.
|
|
Dieser Channel <emphasis>ist</emphasis> ein
|
|
Hilfe-Channel.</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,
|
|
daß Sie zunächst alle Kanäle ausprobieren
|
|
müssen, um den zu Ihrem Chat-Stil passenden zu
|
|
finden. Hier gilt, was für *jeden* 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="books">
|
|
<para>Bücher über FreeBSD</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt ein FreeBSD Documentation Project, das Sie
|
|
über die Mailingliste <literal>freebsd-doc</literal>
|
|
erreichen (oder an dem Sie besser noch teilnehmen)
|
|
können: <email>freebsd-doc@FreeBSD.org</email>.
|
|
Diese Liste dient zu Diskussionen über die
|
|
FreeBSD-Dokumentation. Für Fragen bezüglich
|
|
FreeBSD gibt es die
|
|
<literal>freebsd-questions</literal>-Mailingliste:
|
|
<email>freebsd-questions@FreeBSD.org</email>.</para>
|
|
|
|
<para>Es gibt ein FreeBSD-<quote>Handbuch</quote>, das sie
|
|
hier finden: <ulink URL="../handbook/index.html">Das
|
|
FreeBSD-Handbuch</ulink>. Beachten Sie bitte, daß
|
|
es sich noch in Arbeit befindet, weshalb einige Teile
|
|
nicht vollständig oder veraltet sein
|
|
könnten.</para>
|
|
|
|
<para><quote>The Complete FreeBSD</quote> heißt der
|
|
definitive Führer zu FreeBSD, verfaßt von Greg
|
|
Lehey und herausgegeben von BSDi (früher Walnut
|
|
Creek) CDROM Books. Mittlerweile in der zweiten Ausgabe,
|
|
enthält das Buch 1750 Seiten mit Anweisungen zur
|
|
Installation & Systemadministration, Hilfe zur
|
|
Programmeinrichtung und Manuals. Das Buch (und die
|
|
aktuelle FreeBSD-Ausgabe) können Sie bei <ulink
|
|
URL="http://www.osd.bsdi.com/">BSDi</ulink>, bei <ulink
|
|
URL="http://www.cheapbytes.com/">CheapBytes</ulink> oder
|
|
bei Ihrem Buchhändler bestellen. Die ISBN lautet
|
|
1-57176-227-2.</para>
|
|
|
|
<para>Da FreeBSD auf Berkeley 4.4BSD-Lite basiert, sind die
|
|
meisten 4.4BSD Manuals für FreeBSD anwendbar.
|
|
O'Reilly and Associates geben diese Manuals
|
|
heraus:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<informaltable frame=none>
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.4BSD System Manager's Manual</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Computer Systems Research Group, UC
|
|
Berkeley</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1st Edition June 1994, 804 pages</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/1565920805">ISBN</ulink>:
|
|
1-56592-080-5</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<informaltable frame=none>
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.4BSD User's Reference Manual</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>By Computer Systems Research Group, UC
|
|
Berkeley</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1st Edition June 1994, 905 pages</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/1565920759">ISBN</ulink>:
|
|
1-56592-075-9</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<informaltable frame=none>
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.4BSD User's Supplementary
|
|
Documents</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Computer Systems Research Group, UC
|
|
Berkeley</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1st Edition July 1994, 712 pages</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/1565920767">ISBN</ulink>:
|
|
1-56592-076-7 </entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<informaltable frame=none>
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.4BSD Programmer's Reference Manual
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Computer Systems Research Group, UC
|
|
Berkeley</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1st Edition June 1994, 886 pages</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/1565920783">ISBN</ulink>:
|
|
1-56592-078-3</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<informaltable frame=none>
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.4BSD Programmer's Supplementary
|
|
Documents</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Computer Systems Research Group, UC
|
|
Berkeley</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1st Edition July 1994, 596 pages</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/1565920791">ISBN</ulink>:
|
|
1-56592-079-1</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Eine Beschreibung im WWW finden Sie unter: <ulink
|
|
URL="http://gnn.com/gnn/bus/ora/category/bsd.html">Beschreibung
|
|
zu 4.4BSD Büchern</ulink>. Aufgrund geringer
|
|
Nachfrage könnten diese Manuals aber schwer zu
|
|
bekommen sein.</para>
|
|
|
|
<para>Für einen tieferen Einblick in die Organisation
|
|
des 4.4BSD-Kernels können Sie mit diesem Buch nichts
|
|
falsch machen:</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>McKusick, Marshall Kirk, Keith Bostic,
|
|
Michael J Karels, and John Quarterman</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>The Design and Implementation of the 4.4BSD
|
|
Operating System</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Reading, Mass.: Addison-Wesley, 1996</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/0201549794">ISBN</ulink>
|
|
0-201-54979-4</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Ein gutes Buch zur Systemadministration:</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols=1>
|
|
<tbody>
|
|
<row>
|
|
<entry>Evi Nemeth, Garth Snyder, Scott Seebass &
|
|
Trent R. Hein</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Unix System Administration Handbook</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Prentice-Hall, 2000</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><ulink
|
|
URL="http://www.amazon.com/exec/obidos/ASIN/0130206016">ISBN</ulink>:
|
|
0-13-020601-6</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Achten Sie unbedingt darauf, daß Sie die
|
|
dritte Ausgabe im lila Umschlag bekommen und nicht die
|
|
erste Ausgabe (gelber Umschlag) oder die zweite
|
|
Ausgabe (roter Umschlag).</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Dieses Buch umfaßt Grundlagen, sowie TCP/IP,
|
|
DNS, NFS, SLIP/PPP, Sendmail, INN/NNTP, Printing, usw.
|
|
Das Buch ist zwar teuer (etwa US$45-$55), aber
|
|
seinen Preis wert. Außerdem enthält es eine
|
|
CDROM mit dem Quellcode für verschiedene Werkzeuge;
|
|
allerdings sind die meisten von ihnen auch auf der FreeBSD
|
|
2.2.6R CDROM (und die FreeBSD-CDROM enthält
|
|
häufig neuere Versionen).</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 - Problem
|
|
Report) Änderungsanfragen von Benutzern kann
|
|
über die Web-basierte PR- <ulink
|
|
URL="http://www.de.FreeBSD.org/cgi/query-pr-summary.cgi?query">Abfrage</ulink>-Schnittstelle
|
|
abgefragt und über das PR-<ulink
|
|
URL="http://www.de.FreeBSD.org/send-pr.html">Einsende</ulink>-Interface
|
|
können Einsendungen vorgenommen werden. Der
|
|
<command>send-pr(1)</command>-Befehl kann auch dazu
|
|
genutzt werden, Problemberichte oder
|
|
Änderungsanträge per Email einzusenden.</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 FreeBSD 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 FreeBSD-System im
|
|
Verzeichnis <filename>/usr/share/locale</filename>
|
|
finden. Zur Zeit werden die folgenden Sprachen und
|
|
Zeichensätze benutzt:</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
|
|
<entry>Bedeutung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>en_US.ISO_8859-1</literal></entry>
|
|
|
|
<entry>US Englisch</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>es_ES.ISO_8859-1</literal></entry>
|
|
|
|
<entry>Spanisch</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>fr_FR.ISO_8859-1</literal></entry>
|
|
|
|
<entry>Französisch</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>de_DE.ISO_8859-1</literal></entry>
|
|
|
|
<entry>Deutsch</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>ja_JP.eucJP</literal></entry>
|
|
|
|
<entry>Japanisch (EUC kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>ru_RU.KOI8-R</literal></entry>
|
|
|
|
<entry>Russisch (KOI8-R kodiert)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>zh_TW.Big5</literal></entry>
|
|
|
|
<entry>Chinesisch (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, um eine
|
|
möglichst große Flexibilität zu
|
|
erreichen. Zur Zeit werden die folgenden Formate
|
|
unterstützt.</para>
|
|
|
|
<informaltable frame="none">
|
|
<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>pdb</literal></entry>
|
|
|
|
<entry>Palm Pilot Datenbank für das
|
|
Programm <ulink
|
|
url="http://www.iSilo.com/">iSilo</ulink>.</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
|
|
<footnote>
|
|
<para>Die Seitennummern werden nicht
|
|
automatisch aktualisiert, wenn Sie diese
|
|
Datei in Word laden. Wenn Sie das
|
|
Dokument geladen haben, müssen Sie
|
|
Sie
|
|
<keycap>CTRL</keycap>+<keycap>A</keycap>,
|
|
<keycap>CTRL</keycap>+<keycap>END</keycap>,
|
|
<keycap>F9</keycap> eingeben, um die
|
|
Seitennummern akualisieren zu
|
|
lassen.</para>
|
|
</footnote>
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>txt</literal></entry>
|
|
|
|
<entry>Ganz normaler Text</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</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; zusammengefaßt. 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>book.<replaceable>format</replaceable></filename>
|
|
(z.B., <filename>book.pdb</filename>,
|
|
<filename>book.html</filename>, und so
|
|
weiter).</para>
|
|
|
|
<para>Diese Dateien werden mit drei verschiedenen
|
|
Programmen komprimiert.</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Programm</entry>
|
|
|
|
<entry>Beschreibung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>zip</literal></entry>
|
|
|
|
<entry>Das Zip Format. Wenn Sie diese
|
|
Dateien unter FreeBSD auspacken wollen,
|
|
müssen sie vorher den Port
|
|
<filename>archivers/unzip</filename>
|
|
installieren.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>gz</literal></entry>
|
|
|
|
<entry>Das GNU Zip format. Sie können
|
|
diese Dateien mit &man.gunzip.1;
|
|
entpacken, dieses Programm ist Bestandteil
|
|
von FreeBSD.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>bz2</literal></entry>
|
|
|
|
<entry>Das BZip2 Format. Es wird selten
|
|
benutzt, erzeugt aber normalerweise
|
|
kleinere Archive. Sie müssen den
|
|
Port <filename>archivers/bzip2</filename>
|
|
installieren, um diese Dateien entpacken
|
|
zu können.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Ein Beispiel: Die mit BZip2 gepackte Version
|
|
des Handbuchs im Postscript-Format hat den Namen
|
|
<filename>book.sgml.bz2</filename> und ist im
|
|
Verzeichnis <filename>handbook/</filename> zu
|
|
finden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die formatierte Dokumentation ist auch als
|
|
Package verfügbar, siehe unten.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Nachdem Sie das Format und das Kompressionsverfahren
|
|
ausgewählt haben, müssen Sie sich entscheiden,
|
|
ob Sie das Dokument in Form eines FreeBSD
|
|
<emphasis>Package</emphasis> herunterladen
|
|
möchten.</para>
|
|
|
|
<para>Der Vorteil dieser Variante, daß Sie die
|
|
Dokumentation mit normalen Tools wie &man.pkg.add.1; und
|
|
&man.pkg.delete.1; verwalten können.</para>
|
|
|
|
<para>Wenn Sie das Package herunterladen und installieren
|
|
wollen, müssen Sie den richtigen Dateinamen kennen.
|
|
Die Datei liegen in einem separaten Verzeichnis mit dem
|
|
Namen <filename>packages</filename>. Die Dateinamen
|
|
nutzen das Schema
|
|
<filename><replaceable>Dokument-Name</replaceable>.<replaceable>Sprache</replaceable>.<replaceable>Zeichensatz</replaceable>.<replaceable>Format</replaceable>.tgz</filename>.</para>
|
|
|
|
<para>Ein Beispiel: Die englische Version der FAQ im
|
|
PDF-Format ist in dem Package mit dem Namen
|
|
<filename>faq.en_US.ISO_8859-1.pdf.tgz</filename>
|
|
enthalten.</para>
|
|
|
|
<para>Sie können daher das englische PDF FAQ Package
|
|
mit den folgenden Befehlen installieren.</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>pkg_add ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO_8859-1.pdf.tgz</userinput>
|
|
</screen>
|
|
|
|
<para>Danach können Sie mit &man.pkg.info.1; nachsehen,
|
|
wno die Datei installiert wurde.</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>pkg_info -f faq.en_US.ISO_8859-1.pdf</userinput>
|
|
Information for faq.en_US.ISO_8859-1.pdf:
|
|
|
|
Packing list:
|
|
Package name: faq.en_US.ISO_8859-1.pdf
|
|
CWD to /usr/share/doc/en_US.ISO_8859-1/books/faq
|
|
File: book.pdf
|
|
CWD to .
|
|
File: +COMMENT (ignored)
|
|
File: +DESC (ignored)
|
|
</screen>
|
|
|
|
<para>Wie sie sehen können, wurde die Datei
|
|
<filename>book.pdf</filename> im Verzeichnis
|
|
<filename>/usr/share/doc/en_US.ISO_8859-1/books/faq</filename>
|
|
installiert.</para>
|
|
|
|
<para>Wenn sie die Packages nicht benutzen, müssen Sie
|
|
die komprimierten selber herunterladen, auspacken und die
|
|
richtigen Stellen kopieren.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel die mit &man.gzip.1; gepackte
|
|
"split HTML"-Version der englischen FAQ herunterladen und
|
|
installieren wollten, bräuchten Sie die Datei
|
|
<filename>en_US.ISO_8859-1/books/faq/book.html-split.tar.gz</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.ISO_8859-1/books/faq/book.html-split.tar.gz</userinput>
|
|
&prompt.root; <userinput>gzip -d book.html-split.tar.gz</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="become-web-mirror">
|
|
<para>Ich möchte einen FreeBSD-Web-Mirror
|
|
betreiben!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sicherlich! Es gibt mehrere Möglichkeiten, die
|
|
Web-Seiten zu spiegeln.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Mit <application>CVSUP</application>: Sie
|
|
können die formatierten Dateien per
|
|
<application>CVSUP</application> von einem
|
|
entsprechenden Server bekommen.</para>
|
|
|
|
<para>Wie Sie die Webseiten erhalten können,
|
|
können Sie der entsprechender Beispieldatei
|
|
entnehmen, die auf Ihrem System als
|
|
<filename>/usr/share/examples/cvsup/www-supfile</filename>
|
|
verfübar sein sollte.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Mit einem FTP-Spiegel: Sie können sich die
|
|
eine Kopie der Quelldateien für den Web-Server
|
|
mit einem FTP-Spiegelwerkzeug Ihrer Wahl
|
|
herunterladen. Allerdings müssen Sie diese
|
|
Quelldateien erst übersetzen, bevor Sie sie
|
|
verwenden können. Starten Sie einfach bei
|
|
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="translation">
|
|
<para>Ich möchte die Dokumentation in Friesisch
|
|
übersetzen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nun, wir können zwar nichts bezahlen, aber evtl.
|
|
können wir eine Gratis-CD oder ein T-Shirt und einen
|
|
Eintrag im Handbuch arrangieren, wenn Sie eine
|
|
Übersetzung der Dokumentation einsenden. Bevor Sie
|
|
mit der Übersetzung beginnen, sollten Sie sich
|
|
allerdings die Mailingliste
|
|
<emphasis>freebsd-doc</emphasis> wenden, die unter der
|
|
Adresse <email>freebsd-doc@FreeBSD.org</email> zu
|
|
erreichen ist. Es ist durchaus möglich, daß
|
|
Sie dort jemanden finden, der Ihnen bei der Arbeit hilft;
|
|
es ist genausogut möglich, daß ein Team bereits
|
|
an der Übersetzung in die von Ihnen gewünschte
|
|
Sprache arbeitet, dieses Team wird ihre Mithilfe
|
|
sicherlich nicht ablehnen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="other-info-sources">
|
|
<para>Andere Informationsquellen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In den folgenden Newsgruppen werden nützliche
|
|
Diskussionen für FreeBSD-Benutzer
|
|
geführt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
URL="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</ulink>
|
|
(moderiert)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="news:comp.unix.bsd.misc">comp.unix.bsd.misc</ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Webseiten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die <ulink
|
|
URL="http://www.de.FreeBSD.org/">FreeBSD Home
|
|
Page</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="pao">Falls Sie einen Laptop besitzen,
|
|
dann besuchen Sie auf alle Fälle <ulink
|
|
URL="http://www.jp.FreeBSD.org/PAO/">Tatsumi
|
|
Hosokawa's Mobile Computing Page</ulink> in
|
|
Japan.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="smp">Informationen zu SMP (Symmetric
|
|
MultiProcessing) finden Sie auf der <ulink
|
|
URL="http://people.FreeBSD.org/~fsmp/SMP/SMP.html">SMP
|
|
support page</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="multimedia">Informationen zu
|
|
FreeBSD-Multimedia-Anwendungen finden Sie auf der
|
|
<ulink
|
|
URL="http://people.FreeBSD.org/~faulkner/multimedia/mm.html">Multimedia</ulink>-Seite.
|
|
Falls Sie speziell am <ulink
|
|
URL="http://people.FreeBSD.org/~ahasty/Bt848.html">Bt848</ulink>
|
|
video capture chip interessiert sind, dann folgen Sie
|
|
dem Link.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Das FreeBSD-Handbuch enthält außerdem eine
|
|
ziemlich umfangreiche <ulink
|
|
URL="../handbook/bibliography.html">Bibliographie</ulink>,
|
|
die es sich lohnt, anzusehen, falls Sie Bücher
|
|
suchen, die Sie sich kaufen möchten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</preface>
|
|
|
|
<chapter id="install">
|
|
<title>Installation</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="floppy-download">
|
|
<para>Welche Dateien muß ich herunterladen, um FreeBSD
|
|
zu bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vor dem 3.1-RELEASE benötigte man nur ein
|
|
Floppy-Image, <filename>floppies/boot.flp</filename>, um
|
|
FreeBSD zu installieren. Seit dem 3.1-RELEASE haben wir
|
|
jedoch Unterstützung für eine Vielfalt von
|
|
Hardware hinzugefügt, weshalb man nun für 3.x-
|
|
und 4.x-RELEASE zwei Floppy-Images
|
|
<filename>floppies/kernel.flp</filename> und
|
|
<filename>floppies/mfsroot.flp</filename> benötigt.
|
|
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>bin</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="../handbook/install.html">Handbucheintrag zur
|
|
Installation von FreeBSD</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="floppy-image-too-large">
|
|
<para>Hilfe! Das Floppy-Image paßt nicht auf eine
|
|
Diskette!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine 3,5-Zoll (1,44MB) Diskette kann 1474560 Byte an
|
|
Daten fassen und das Boot-Image ist exakt 1474560 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="../handbook/install.html">Installationsanleitung
|
|
zu FreeBSD</ulink> beschrieben ist.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-instructions-location">
|
|
<para>Wo befinden sich die Instruktionen zur Installation
|
|
von FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installationsanleitungen finden Sie im <ulink
|
|
URL="../handbook/install.html">Handbucheintrag zur
|
|
Installation von FreeBSD</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-to-run">
|
|
<para>Was benötige ich zum Betrieb von FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie werden einen 386er oder besseren PC mit 5MB oder
|
|
mehr Hauptspeicher und mindestens 60MB Festplattenspeicher
|
|
benötigen. Es läuft mit einer einfachen MDA
|
|
Grafikkarte, aber um X11R6 zu benutzen, benötigen Sie
|
|
eine VGA- oder bessere Videokarte.</para>
|
|
|
|
<para>Lesen Sie auch den Abschnitt <xref linkend="hardware"
|
|
remap="Hardwarekompatibilität"></para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="four-meg-ram-install">
|
|
<para>Ich besitze nur 4 MB Hauptspeicher. Kann ich FreeBSD
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD 2.1.7 war die letzte FreeBSD-Version, die auf
|
|
einem 4MB-System installiert werden konnte. Neuere
|
|
FreeBSD-Versionen, wie 2.2, benötigen mindestens 5MB
|
|
zur Installation auf einem neuen System.</para>
|
|
|
|
<para>Alle FreeBSD-Versionen, einschließlich 3.0,
|
|
<emphasis>laufen</emphasis> zwar mit 4MB Hauptspeicher,
|
|
lediglich ihr Installationsprogramm läuft nicht mit
|
|
4MB. Wenn Sie möchten, können Sie für den
|
|
Installationsvorgang zusätzlichen Hauptspeicher
|
|
hinzufügen, und nachdem das System installiert ist,
|
|
wieder auf 4MB zurückgehen. Sie können Ihre
|
|
Festplatte auch jederzeit in ein System mit >4MB
|
|
einbauen, dort installieren und sie dann wieder
|
|
umbauen.</para>
|
|
|
|
<para>Es gibt auch Situationen, in denen FreeBSD 2.1.7 nicht
|
|
mit 4 MB zu installieren ist. Um genau zu sein: man kann
|
|
es nicht mit 640 kB Basis- + 3MB erweitertem Speicher
|
|
installieren. Falls ihr Motherboard einiges vom
|
|
<quote>verlorenen</quote> Speicher aus der 640kB - 1MB
|
|
Region verschieben kann, könnten Sie trotzdem in der
|
|
Lage sein, FreeBSD 2.1.7 zu installieren.</para>
|
|
|
|
<para>Versuchen Sie in Ihr BIOS-Setup zu gelangen und suchen
|
|
Sie nach einer <quote>remap</quote> Option. Aktivieren
|
|
Sie sie. Sie sollten das ROM shadowing ebenfalls
|
|
ausschalten.</para>
|
|
|
|
<para>Es könnte einfacher sein, 4 weitere MB nur
|
|
für die Installation zu benutzen, einen
|
|
benutzerdefinierten Kernel nur mit den benötigten
|
|
Optionen zu generieren und dann die 4 MB wieder
|
|
auszubauen.</para>
|
|
|
|
<para>Sie können auch 2.0.5 installieren und
|
|
anschließend Ihr System mit der
|
|
<quote>upgrade</quote> Option des 2.1.7
|
|
Installationsprogramms nach 2.1.7 migrieren.</para>
|
|
|
|
<para>Wenn Sie nach der Installation einen
|
|
benutzerdefinierten Kernel generieren, wird er mit 4 MB
|
|
laufen. Irgend jemand hat es geschafft, mit 2 MB zu
|
|
booten (allerdings war das System nahezu unbrauchbar
|
|
:-))</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custom-boot-floppy">
|
|
<para>Wie kann ich eine angepaßte
|
|
Installationsdiskette erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zur Zeit gibt es keine Möglichkeit,
|
|
<emphasis>nur</emphasis> die angepaßten
|
|
Installationsdisketten zu erstellen. Sie müssen sich
|
|
eine ganz neues Release erstellen, das Ihre
|
|
Installationsdiskette enthält.</para>
|
|
|
|
<para>Befolgen Sie <link linkend="custrel">diese</link>
|
|
Instruktionen, um sich eine angepaßte Ausgabe zu
|
|
erstellen.</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="http://www.de.FreeBSD.org/tutorials/multi-os/">Die
|
|
Multi-OS-Seite</ulink> an.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="windows-coexist">
|
|
<para>Kann Windows 95/98 neben FreeBSD existieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie zuerst Windows 95/98, dann FreeBSD.
|
|
Der Bootmanager von FreeBSD kann dann entweder Win95/98
|
|
oder FreeBSD booten. Falls Sie Windows 95/98 nach FreeBSD
|
|
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 95/98 hat meinen Bootmanager zerstört!
|
|
Wie stelle ich ihn wieder her?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt drei Möglichkeiten, den
|
|
FreeBSD-Bootmanager neu zu installieren:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Unter DOS wechseln Sie in das Verzeichnis tools/
|
|
Ihrer FreeBSD-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></para>
|
|
|
|
<para>und der Bootmanager wird neu installiert.</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Booten Sie FreeBSD wieder mit der Bootdiskette und
|
|
wählen Sie den Menueeintrag Custom Installation.
|
|
Wählen Sie Partition. Wählen Sie das
|
|
Laufwerk, auf dem sich der Bootmanager befand
|
|
(wahrscheinlich der erste Eintrag) und wenn Sie in den
|
|
Partitioneditor gelangen, wählen Sie als aller
|
|
erstes (nehmen Sie z.B. keine Änderungen vor)
|
|
(W)rite. Sie werden nach einer Bestätigung
|
|
gefragt, antworten ja und vergessen Sie nicht, in der
|
|
Bootmanager-Auswahl <quote>Boot Manager</quote>
|
|
auszuwählen. Hierdurch wird der Bootmanager
|
|
wieder auf die Festplatte geschrieben. Verlassen Sie
|
|
nun das Installationsmenue und rebooten wie
|
|
gewöhnlich von der Festplatte.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Booten Sie FreeBSD wieder mit der Bootdiskette
|
|
(oder der CD-ROM) und wählen Sie den
|
|
Menüpunkt <quote>Fixit</quote>. Wählen Sie
|
|
die für Sie passende Option, entweder die
|
|
Fixit-Diskette oder die CD 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>Ich habe ein IBM Thinkpad Modell A, T oder X, auf dem
|
|
ich FreeBSD zwar installieren kann, aber beim
|
|
nächsten Start hängt sich das System auf. Gibt
|
|
es eine Lösung für dieses Problem?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Fehler in den ersten BIOS-Versionen dieser
|
|
Geräte führt dazu, daß sie die von FreeBSD
|
|
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>Der Fehler wurde in den folgenden BIOS-Versionen
|
|
behoben:</para>
|
|
|
|
<informaltable frame="none">
|
|
<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>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, FreeBSD 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, daß sie über den Selbst-Test
|
|
hinauskommt. Dazu ist es erforderlich, daß 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
|
|
FreeBSD-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
|
|
FreeBSD-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/">http://people.freebsd.org/~bmah/ThinkPad/</ulink>.
|
|
Legen Sie diese Dateien an einem sicheren Ort
|
|
ab.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Installieren Sie ganz wie gewohnt FreeBSD auf dem
|
|
Thinkpad. Allerdings dürfen Sie den
|
|
<quote>Dangerously Dedicated</quote>-Modus
|
|
<emphasis>nicht benutzen</emphasis>. Nach dem
|
|
Abschluß 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><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 FreeBSD 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 FreeBSD-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 FreeBSD
|
|
gestartet.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Was Sie machen müssen, wenn Sie FreeBSD 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 auf einer Festplatte mit beschädigten
|
|
Blöcken installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ältere Versionen von FreeBSD enthielten ein
|
|
Programm namens <command>bad144</command>, das die
|
|
defekten Sektoren automatisch verlagerte. Da diese
|
|
Funktion aber von modernen IDE-Platten selbstständig
|
|
durchgeführt wird, wurde <command>bad144</command> in
|
|
der Version 3.0 aus dem System entfernt. Wenn Sie FreeBSD
|
|
3.0 oder neuer installieren wollen, sollten Sie sich eine
|
|
neue Festplatte zulegen. Falls Sie dazu nicht bereit
|
|
sind, müssen Sie FreeBSD 2.X verwenden.</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,
|
|
daß 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!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie beobachten, daß 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 in einfachem, reinem
|
|
DOS neu gestartet? Es scheint, daß 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, daß
|
|
Netscape Probleme beim Herunterladen der Bootdisketten
|
|
verursacht. Es ist also wahrscheinlich besser, einen
|
|
anderen FTP-Client zu benutzen, wenn möglich.</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,
|
|
daß 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 illegal, 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 FreeBSD es nicht für die
|
|
Installation nutzen 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, daß 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="cannot-install-tape">
|
|
<para>Hilfe! Ich kann nicht von Band installieren!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie 2.1.7R von Band installieren, müssen
|
|
Sie bei der Erstellung des Bandes eine
|
|
tar-Blockgröße von 10 (5120 Byte) verwenden.
|
|
Die standard tar-Blockgröße beträgt 20
|
|
(10240 Byte) und Bänder, die mit diesem Standardwert
|
|
erstellt worden sind, können nicht zur Installation
|
|
von 2.1.7R verwendet werden. Diese Bänder
|
|
verursachen einen Fehler, der besagt, daß die
|
|
Satzlänge zu groß ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="parallel-connect">
|
|
<para>Verbindung von zwei FreeBSD-Maschinen über die
|
|
parallele Schnittstelle (PLIP).</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Besorgen Sie sich ein Laplink-Kabel. Stellen Sie
|
|
sicher, daß Sie einen Kernel mit
|
|
lpt-Treiberunterstützung haben.</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>dmesg | grep lp</userinput>
|
|
lpt0 at 0x378-0x37f irq 7 on isa
|
|
lpt0: Interrupt-driven
|
|
lp0: TCP/IP capable interface
|
|
</screen>
|
|
|
|
<para>Schließen Sie das Kabel an die parallelen
|
|
Schnittstellen an.</para>
|
|
|
|
<para>Konfigurieren Sie die Netzwerkschnittstellenparameter
|
|
für lp0 auf beiden Seiten als
|
|
<username>root</username>. Falls Sie z.B. die Rechner max
|
|
und moritz miteinander verbinden wollen</para>
|
|
|
|
<programlisting>
|
|
max <-----> moritz
|
|
IP-Adresse 10.0.0.1 10.0.0.2
|
|
</programlisting>
|
|
|
|
<para>Auf max geben Sie ein</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ifconfig lp0 10.0.0.1 10.0.0.2</userinput>
|
|
</screen>
|
|
|
|
<para>Auf moritz geben Sie ein</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ifconfig lp0 10.0.0.2 10.0.0.1</userinput>
|
|
</screen>
|
|
|
|
<para>Das ist alles! Lesen Sie bitte auch die Manuals
|
|
&man.lp.4; und &man.lpt.4;.</para>
|
|
|
|
<para>Sie sollten die Rechner auch in die Datei
|
|
<filename>/etc/hosts</filename> eintragen</para>
|
|
|
|
<programlisting>
|
|
127.0.0.1 localhost.my.domain localhost
|
|
10.0.0.1 max.my.domain max
|
|
10.0.0.2 moritz.my.domain moritz
|
|
</programlisting>
|
|
|
|
<para>So überprüfen, Sie, ob es
|
|
funktioniert:</para>
|
|
|
|
<para>auf max:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ifconfig lp</userinput>0
|
|
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
|
|
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
|
|
&prompt.root; <userinput>netstat -r</userinput>
|
|
Routing tables
|
|
|
|
Internet:
|
|
Destination Gateway Flags Refs Use Netif Expire
|
|
moritz max UH 4 127592 lp0
|
|
&prompt.root; <userinput>ping -c 4 moritz</userinput>
|
|
PING moritz (10.0.0.2): 56 data bytes
|
|
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
|
|
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
|
|
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
|
|
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
|
|
|
|
--- moritz ping statistics ---
|
|
4 packets transmitted, 4 packets received, 0% packet loss
|
|
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-PLIP">
|
|
<para>Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Verbinden Sie die beiden Computer hierzu mit einem
|
|
Laplink-Kabel:</para>
|
|
|
|
<table>
|
|
<title>Pinbelegung für ein Netzwerkkabel an der
|
|
parallelen Schnittstelle</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry>A-name</entry>
|
|
|
|
<entry>A-End</entry>
|
|
|
|
<entry>B-End</entry>
|
|
|
|
<entry>Descr.</entry>
|
|
|
|
<entry>Post/Bit</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literallayout>DATA0
|
|
-ERROR</literallayout></entry>
|
|
|
|
<entry><literallayout>2
|
|
15</literallayout></entry>
|
|
|
|
<entry><literallayout>15
|
|
2</literallayout></entry>
|
|
|
|
<entry>Data</entry>
|
|
|
|
<entry><literallayout>0/0x01
|
|
1/0x08</literallayout></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literallayout>DATA1
|
|
+SLCT</literallayout></entry>
|
|
|
|
<entry><literallayout>3
|
|
13</literallayout></entry>
|
|
|
|
<entry><literallayout>13
|
|
3</literallayout></entry>
|
|
|
|
<entry>Data</entry>
|
|
|
|
<entry><literallayout>0/0x02
|
|
1/0x10</literallayout></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literallayout>DATA2
|
|
+PE</literallayout></entry>
|
|
|
|
<entry><literallayout>4
|
|
12</literallayout></entry>
|
|
|
|
<entry><literallayout>12
|
|
4</literallayout></entry>
|
|
|
|
<entry>Data</entry>
|
|
|
|
<entry><literallayout>0/0x04
|
|
1/0x20</literallayout></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literallayout>DATA3
|
|
-ACK</literallayout></entry>
|
|
|
|
<entry><literallayout>5
|
|
10</literallayout></entry>
|
|
|
|
<entry><literallayout>10
|
|
5</literallayout></entry>
|
|
|
|
<entry>Strobe</entry>
|
|
|
|
<entry><literallayout>0/0x08
|
|
1/0x40</literallayout></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literallayout>DATA4
|
|
BUSY</literallayout></entry>
|
|
|
|
<entry><literallayout>6
|
|
11</literallayout></entry>
|
|
|
|
<entry><literallayout>11
|
|
6</literallayout></entry>
|
|
|
|
<entry>Data</entry>
|
|
|
|
<entry><literallayout>0/0x10
|
|
1/0x80</literallayout></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GND</entry>
|
|
|
|
<entry>18-25</entry>
|
|
|
|
<entry>18-25</entry>
|
|
|
|
<entry>GND</entry>
|
|
|
|
<entry>-</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>Lesen Sie auch <link linkend="pao">diesen
|
|
Hinweis</link> auf der Mobile-Computing-Seite.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="geometry">
|
|
<para>Welche Geometrie sollte ich für ein
|
|
Festplattenlaufwerk verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
<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 werde ich hierfür kurz
|
|
C/H/S schreiben. Das BIOS des PCs berechnet mit
|
|
diesen Angaben, auf welche Bereiche der Festplatte es
|
|
für Schreib-/Lesezugriffe zugreifen
|
|
muß).</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Aus einigen Gründen scheint dies für sehr
|
|
viel Verwirrung zu sorgen. Zunächsteinmal ist die
|
|
<emphasis>physikalische</emphasis> Geometrie eines
|
|
SCSI-Laufwerks vollkommen irrelevant, da FreeBSD 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 FreeBSD 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 FreeBSD
|
|
das BIOS benutzt, während es bootet, ist es sehr
|
|
wichtig, daß 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 2GB 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
|
|
MSDOS zu umgehen) und die Plattenkapazität mehr als
|
|
1GB beträgt, benutzen Sie M Zylinder, 63
|
|
Sektoren/Spur (*nicht* 64) und 255 Köpfe, wobei 'M'
|
|
der Plattenkapazität in MB, dividiert durch 7,844238
|
|
entspricht (!). Also würde unsere 2GB Beispielplatte
|
|
261 Zylinder, 63 Sektoren/Spur und 255 Köpfe
|
|
haben.</para>
|
|
|
|
<para>Falls Sie sich hier nicht sicher sind oder FreeBSD
|
|
während der Installation die Geometrie nicht richtig
|
|
erkennt, hilft es normalerweise, eine kleine DOS-Partition
|
|
auf der Festplatte anzulegen. Die richtige Geometrie
|
|
sollte dann erkannt werden (Sie können die Partition
|
|
jederzeit im Partitioneditor entfernen, falls Sie sie
|
|
nicht behalten möchten, oder Sie nutzen sie zur
|
|
Programmierung von Netzwerkkarten oder
|
|
ähnlichem).</para>
|
|
|
|
<para>Alternativ wird ein frei verfügbares Programm
|
|
<filename>pfdisk.exe</filename> (im Unterverzeichnis
|
|
<filename>tools</filename> auf der FreeBSD-CDROM oder den
|
|
unterschiedlichen FTP-Servern) mit FreeBSD verbreitet, das
|
|
dazu genutzt werden kann, herauszufinden, 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, daß Ihre
|
|
Rootpartition kleiner als 1024 Zylinder ist, damit das
|
|
BIOS den Kernel von Ihr booten kann. (Beachten Sie,
|
|
daß es sich um eine Einschränkung durch das
|
|
BIOS des PCs handelt und nicht durch FreeBSD).</para>
|
|
|
|
<para>Für ein SCSI-Laufwerk bedeutet dies
|
|
normalerweise, daß sich die Rootpartition in den
|
|
ersten 1024MB befindet (oder in den ersten 4096MB, falls
|
|
die Extended Translation eingeschaltet ist - siehe die
|
|
vorherige Frage). Der entsprechende Wert für IDE ist
|
|
504MB.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disk-manager">
|
|
<para>Was ist mit Plattenmanagern? Oder: Ich habe ein
|
|
großes Laufwerk!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD erkennt den Ontrack Plattenmanager und
|
|
berücksichtigt ihn. Andere Plattenmanager werden
|
|
nicht unterstützt.</para>
|
|
|
|
<para>Falls Sie die Festplatte nur mit FreeBSD 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 FreeBSD erkennen, wieviel
|
|
Platz Sie tatsächlich haben. Falls Sie eine alte
|
|
Festplatte mit einem MFM-Controller verwenden, könnte
|
|
es sein, daß Sie FreeBSD explizit angeben
|
|
müssen, wieviele Zylinder es benutzen soll.</para>
|
|
|
|
<para>Falls Sie die Festplatte mit FreeBSD und einem anderen
|
|
Betriebssystem nutzen wollen, sollten Sie auch in der Lage
|
|
sein, ohne einen Plattenmanager auszukommen: stellen sie
|
|
einfach sicher, daß sich die Bootpartition von
|
|
FreeBSD 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 Booten von FreeBSD erscheint <literal>Missing
|
|
Operating System</literal></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein klassischer Fall von Konflikten bei den
|
|
verwendeten <link
|
|
linkend="geometry">Plattengeometrien</link> von FreeBSD
|
|
und DOS oder anderen Betriebssystemen. Sie werden FreeBSD
|
|
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>Ich komme 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 FreeBSD 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
|
|
FreeBSD.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-complete-sources">
|
|
<para>Muß 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,
|
|
daß Sie den Quellcode von überall her per NFS
|
|
read-only mounten und dennoch neue Binaries erstellen
|
|
können. (Wegen der Einschränkung bezüglich
|
|
der Kernelquellen empfehlen wir, diese nicht direkt nach
|
|
<filename>/usr/src</filename> zu mounten, sondern
|
|
irgendwoanders 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 FreeBSD zu wechseln.</para>
|
|
|
|
<para>Um einen Teil der Quellen auszuwählen, verwenden
|
|
Sie den Menuepunkt Custom, wenn Sie sich im Menue
|
|
Distributions des Systeminstallationstools
|
|
befinden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="need-kernel">
|
|
<para>Muß ich einen Kernel erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ursprünglich war die Erstellung eines neuen
|
|
Kernels bei fast jeder Installation von FreeBSD
|
|
erforderlich, aber neuere Ausgaben haben von der
|
|
Einführung eines weitaus benutzerfreundlicheren
|
|
Kernelkonfigurationswerkzeugs profitiert. Geben Sie am
|
|
FreeBSD Boot-Prompt (boot:) <option>-c</option> ein, um in
|
|
ein visuelles Konfigurationsmenue zu gelangen. Dieses
|
|
Programm ermöglicht Ihnen die Konfiguration der
|
|
Kerneleinstellungen für die gebräuchlichsten
|
|
ISA-Karten.</para>
|
|
|
|
<para>Es wird weiterhin empfohlen, gegebenenfalls einen
|
|
neuen Kernel zu erstellen, der nur die benötigten
|
|
Treiber enthält, um ein wenig Hauptspeicher zu
|
|
sparen, aber für die meisten Systeme ist dies ist
|
|
nicht länger erforderlich.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="password-encryption">
|
|
<para>Soll ich DES oder MD5 zur Verschlüsselung der
|
|
Paßwörter benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD benutzt standardmäßig
|
|
<emphasis>MD5</emphasis> zur Verschlüsselung der
|
|
Paßwörter. Es wird angenommen, daß diese
|
|
Methode sicherer ist als das traditionell benutzte
|
|
Verfahren, das auf dem <emphasis>DES</emphasis>
|
|
Algorithmus basierte. Es ist immer noch möglich,
|
|
DES-Paßwörter zu benutzen, wenn Sie die Datei
|
|
mit den Paßwörtern mit älteren System
|
|
austauschen müssen. Ältere System verstehen
|
|
meist nur das unsichere Verfahren, dieses steht Ihnen zur
|
|
Verfügung, wenn Sie mit sysinstall die
|
|
<quote>crypto</quote> Distribution installieren. Sie
|
|
können auch die crypto Sourcecodes installieren, wenn
|
|
Sie Ihr System über die Sourcen aktualisieren. Das
|
|
für neue Paßwörter benutzte
|
|
Verschlüsselungsverfahren wird über die
|
|
Einstellung <quote>passwd_format</quote> in
|
|
<filename>/etc/login</filename> festgelegt. Die
|
|
möglichen Werte sind entweder <quote>des</quote>
|
|
(falls installiert) oder <quote>md5</quote>. 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>Die Bootdiskette startet, bleibt aber bei
|
|
<literal>Probing Devices...</literal> hängen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie ein IDE-Zip- 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>Ich bekomme den Fehler <literal>panic: cant mount
|
|
root</literal>, 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 FreeBSD auf der Platte am zweiten
|
|
Controller installiert wurde. Der Bootblock vermutet,
|
|
daß das System auf wd1 (der zweiten BIOS-Platte)
|
|
installiert ist, während der Kernel der ersten Platte
|
|
auf dem zweiten Controller die Gerätekennung wd2
|
|
zuteilt. Der Kernel versucht nach der
|
|
Geräteüberprüfung die vom Bootblock
|
|
angenommene Bootdisk wd1 zu mounten, obwohl sie in
|
|
Wirklichkeit wd2 heißt - und scheitert.</para>
|
|
|
|
<para>Tun Sie folgendes, um dieses Problem zu
|
|
beheben:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Wenn Sie FreeBSD 3.3 oder neuer benutzen,
|
|
müssen Sie das System rebooten und
|
|
<literal>Enter</literal> drücken, 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
|
|
<literal>root_disk_unit="<replaceable>disk_number</replaceable>"</literal>
|
|
ein. <literal>disk_number</literal> hat den Wert
|
|
<literal>0</literal>, wenn FreeBSD auf dem Master des
|
|
ersten IDE-Controllers installiert wurde;
|
|
<literal>1</literal>, wenn FreeBSD auf dem Slave des
|
|
ersten IDE-Controllers installiert wurde;
|
|
<literal>2</literal>, wenn FreeBSD auf dem Master des
|
|
zweiten IDE-Controllers installiert wurde; und
|
|
<literal>3</literal>, wenn FreeBSD auf dem Slave des
|
|
zweiten IDE-Controllers installiert wurde.</para>
|
|
|
|
<para>Nach der Eingabe von <literal>boot</literal>
|
|
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
|
|
<literal>root_disk_unit="<replaceable>disk_number</replaceable>"</literal>
|
|
in die Datei
|
|
<filename>/boot/loader.conf.local</filename>
|
|
eintragen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn Sie FreeBSD 3.2 oder eine ältere Version
|
|
benutzen, geben Sie am Prompt Boot:
|
|
<literal>1:wd(2,a)kernel</literal> ein und
|
|
betätigen Sie die Enter-Taste. Wenn das System
|
|
nun startet, führen Sie den Befehl <command>echo
|
|
"1:wd(2,a)kernel" > /boot.config</command> aus, um
|
|
diese Bootzeichenfolge zur Voreinstellung zu
|
|
machen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Stellen Sie eine ununterbrochene Folge der
|
|
Festplatten her, indem Sie die FreeBSD-Platte am
|
|
ersten IDE-Controller anschließen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="../handbook/kernelconfig.html">Erstellen Sie
|
|
einen neuen Kernel</ulink>: modifizieren Sie die
|
|
wd-Konfigurationszeilen wie folgt:</para>
|
|
|
|
<programlisting>
|
|
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
|
|
disk wd0 at wdc0 drive 0
|
|
# disk wd1 at wdc0 drive 1 # Kommentieren Sie diese Zeile aus
|
|
|
|
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
|
|
disk wd1 at wdc1 drive 0 # Ändern Sie wd2 in wd1
|
|
disk wd2 at wdc1 drive 1 # Ändern Sie wd3 in wd2
|
|
</programlisting>
|
|
|
|
<para>Installieren Sie den neuen Kernel. Falls sie Ihre
|
|
Festplattenanschlüsse umgesteckt haben und die
|
|
alte Konfiguration wiederherstellen möchten,
|
|
stecken Sie die Anschlüsse wie gewünscht um
|
|
und rebooten Sie. Ihr System sollte nun fehlerfrei
|
|
booten.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="memory-limits">
|
|
<para>Gibt es eine Hauptspeicherbegrenzung?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es werden maximal 4 Gigabyte Hauptspeicher
|
|
unterstützt. Details zu einer entsprechenden,
|
|
getesteten Konfiguration finden Sie unter <ulink
|
|
URL="ftp://ftp.cdrom.com/archive-info/configuration">Konfiguration
|
|
von WCArchive</ulink>. Seien Sie vorsichtig, wenn Sie
|
|
soviel Hauptspeicher in Ihrem Rechner benutzen
|
|
möchten. Benutzen Sie ggfs. ECC-Speicher und Module
|
|
mit neun (statt der üblichen 18) Chips, um die
|
|
kapazitive Belastung zu reduzieren.</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 (2G-Blöcke) oder 16TB für die
|
|
standard Blockgröße von 8k. In der Praxis
|
|
setzt die Software das Limit auf 1 Terabyte herab, aber
|
|
durch Modifikationen sind auch Dateisysteme mit 4 Terabyte
|
|
möglich (und existieren auch).</para>
|
|
|
|
<para>Die maximale Größe einer einzelnen
|
|
ffs-Datei liegt bei ungefähr 1G Blöcken (4TB,
|
|
falls die Blockgröße 4k beträgt).</para>
|
|
|
|
<table>
|
|
<title>Maximale Dateigröße</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry>Blockgröße</entry>
|
|
|
|
<entry>2.2.7-stable</entry>
|
|
|
|
<entry>3.0-current</entry>
|
|
|
|
<entry>geht</entry>
|
|
|
|
<entry>sollte gehen</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>4K</entry>
|
|
|
|
<entry>4T-1</entry>
|
|
|
|
<entry>4T-1</entry>
|
|
|
|
<entry>4T-1</entry>
|
|
|
|
<entry>4+t</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>8K</entry>
|
|
|
|
<entry>32+G</entry>
|
|
|
|
<entry>8T-1</entry>
|
|
|
|
<entry>32+G</entry>
|
|
|
|
<entry>32T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>16K</entry>
|
|
|
|
<entry>128+G</entry>
|
|
|
|
<entry>16T-1</entry>
|
|
|
|
<entry>128+G</entry>
|
|
|
|
<entry>32T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>32K</entry>
|
|
|
|
<entry>512+G</entry>
|
|
|
|
<entry>32T-1</entry>
|
|
|
|
<entry>512+G</entry>
|
|
|
|
<entry>64T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>64K</entry>
|
|
|
|
<entry>2048+G</entry>
|
|
|
|
<entry>64T-1</entry>
|
|
|
|
<entry>2048+G</entry>
|
|
|
|
<entry>128T-1</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>Wenn die im Dateisystem verwendete
|
|
Blockgröße 4k 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 1k^3 +
|
|
1k^2 + 1k). In Wirklichkeit liegt das Limit aber bei der
|
|
(falschen) Anzahl von 1G-1 Blocknummern im Dateisystem.
|
|
Die maximale Anzahl Blocknummern müßte 2G-1
|
|
sein. Es gibt einige Fehler für Blocknummern nahe
|
|
2G-1, aber solche Blocknummern sind bei einer
|
|
Blockgröße von 4k unerreichbar.</para>
|
|
|
|
<para>Bei Blocknummern von 8k und größer sollte
|
|
das Limit bei 2G-1 Blocknummern liegen, aber
|
|
tatsächlich liegt es bei bei 1G-1 Blocknummern.
|
|
Außer unter -STABLE sind Blöcke in der dritten
|
|
Indirektion unerreichbar, wodurch das Limit auf die durch
|
|
zweifache Indirektion maximal darstellbare Blocknummer
|
|
reduziert wird (ca. (Blockgröße/4)^2 +
|
|
(Blockgröße/4)). Unter -CURRENT könnte
|
|
die Überschreitung dieser Grenze Probleme
|
|
verursachen. Die Verwendung der korrekten Grenze von 2G-1
|
|
verursacht Probleme.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tb-on-floppy">
|
|
<para>Wie bekomme ich 1TB-Dateien auf meine
|
|
Diskette?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ich habe mehrere virtuelle auf Disketten :-). Die
|
|
maximale Dateigröße hat nicht unbedingt etwas
|
|
mit der maximalen Plattengröße zu tun. Die
|
|
maximale Plattengröße beträgt 1TB. Es ist
|
|
ein Feature, daß die Dateigröße die
|
|
Plattengröße übersteigen kann.</para>
|
|
|
|
<para>Durch das folgende Beispiel wird eine Datei der
|
|
Größe 8T-1 erstellt, die insgesamt 32k
|
|
Plattenplatz (3 indirekte Blöcke und ein Datenblock)
|
|
auf einer kleinen Rootpartition in Anspruch nimmt. Dieser
|
|
dd-Befehl setzt ein dd-Programm voraus, das große
|
|
Dateien unterstützt.</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>cat foo</userinput>
|
|
df .
|
|
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
|
|
ls -l z
|
|
du z
|
|
df .
|
|
&prompt.user; <userinput>sh foo</userinput>
|
|
Filesystem 1024-blocks Used Avail Capacity Mounted on
|
|
/dev/da0a 64479 27702 31619 47% /
|
|
1+0 records in
|
|
1+0 records out
|
|
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
|
|
-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
|
|
32 z
|
|
Filesystem 1024-blocks Used Avail Capacity Mounted on
|
|
/dev/da0a 64479 27734 31587 47% /
|
|
</screen>
|
|
|
|
<para>Bruce Evans, September 1998</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="archsw-readin-failed-error">
|
|
<para>Ich habe einen neuen Kernel erstellt und bekomme beim
|
|
Booten nun die Fehlermeldung
|
|
<literal>archsw.readin.failed</literal>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie können den zu bootenden Kernel direkt im
|
|
zweiten Schritt angeben, indem Sie eine beliebige Taste
|
|
drücken, wenn das | erscheint und bevor der Loader
|
|
startet. Genauer: Sie haben die Kernelquellen erneuert,
|
|
und von dort ein neues Kernel-Builtin installiert,
|
|
<emphasis>ohne make world auszuführen</emphasis>.
|
|
Das geht nicht - führen Sie make world aus.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="upgrade-3x-4x">
|
|
<para>Wie führe ich ein Update von 3.X nach 4.X
|
|
durch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wir raten Ihnen <emphasis>dringend</emphasis>, dazu
|
|
einen der Snapshots zu verwenden. Die Snapshots von
|
|
4-STABLE sind auf <ulink
|
|
url="ftp://releng4.FreeBSD.org/">releng4.FreeBSD.org</ulink>
|
|
verfügbar.</para>
|
|
|
|
<para>Wenn Sie den Quellcode für das Update benutzen
|
|
wollen, finden Sie im <ulink
|
|
url="http://www.de.FreeBSD.org/handbook/cutting-edge.html">FreeBSD
|
|
Handbuch</ulink> weitere Informationen.</para>
|
|
|
|
<para><emphasis>Wenn Sie FreeBSD erst seit kurzer Zeit
|
|
nutzen, sollten Sie auf gar keinen Fall über den
|
|
Quellcode updaten, das gilt ganz besonders für das
|
|
Update von 3.X nach 4.X. Falls Sie es dennoch versuchen
|
|
wollen, sollten Sie vorher die entsprechenden Anleitungen
|
|
sehr sorgfältig durchlesen!</emphasis></para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="hardware">
|
|
<title>Hardware-Kompatibilität</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="supported-hard-drives">
|
|
<para>Welche Arten von Festplatten werden von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt EIDE- und SCSI-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-Controller werden
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden eine vollständige Liste im <ulink
|
|
URL="../handbook/install.html#INSTALL-HW">Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="supported-cdrom-drives">
|
|
<para>Welche CD-ROM-Laufwerke werden von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Jedes an einem unterstützten Controller
|
|
angeschlossene SCSI-Laufwerk wird
|
|
unterstützt.</para>
|
|
|
|
<para>Die folgenden proprietären CD-ROM-Schnittstellen
|
|
werden ebenfalls unterstützt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Mitsumi LU002 (8bit), LU005 (16bit) und FX001D
|
|
(16bit 2x Speed).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sony CDU 31/33A</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sound Blaster Non-SCSI CD-ROM</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Matsushita/Panasonic CD-ROM</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>ATAPI compatible IDE CD-ROMs</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Von allen Nicht-SCSI-Laufwerken ist bekannt, daß
|
|
sie im Vergleich zu SCSI-Laufwerken extrem langsam sind.
|
|
Einige ATAPI-CDROMs könnten nicht
|
|
funktionieren.</para>
|
|
|
|
<para>Ab 2.2 unterstützt die FreeBSD-CDROM von BSDi das
|
|
direkte Booten von CD.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="zip-support">
|
|
<para>Unterstützt FreeBSD ZIP-Laufwerke?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt natürlich alle
|
|
gängigen SCSI-ZIP-Laufwerke. Ihr ZIP-Laufwerk darf
|
|
nur mit den SCSI-Ziel-IDs 5 oder 6 laufen, aber Sie
|
|
können sogar davon booten, falls das BIOS Ihres
|
|
Hostadapters dies unterstützt. Ich weiß nicht,
|
|
welcher Hostadapter das Booten von anderen Zielen als 0
|
|
oder 1 erlaubt... schauen Sie in Ihren Handbüchern
|
|
nach (und lassen Sie mich wissen, falls Sie es
|
|
herausgefunden haben).</para>
|
|
|
|
<para>ATAPI (IDE) Zip-Laufwerke werden von FreeBSD 2.2.6 und
|
|
späteren Versionen unterstützt.</para>
|
|
|
|
<para>Seit Version 3.0 unterstützt FreeBSD
|
|
ZIP-Laufwerke, die an der parallel Schnittstelle
|
|
angeschlossen sind. Falls Sie eine genügend aktuelle
|
|
Version benutzen, sollten Sie überprüfen, ob Ihr
|
|
Kernel die folgenden Treiber enthält:
|
|
<devicename>scbus0</devicename>,
|
|
<devicename>da0</devicename>,
|
|
<devicename>ppbus0</devicename> und
|
|
<devicename>vp0</devicename> (der GENERIC-Kernel
|
|
enthält alle, außer
|
|
<devicename>vp0</devicename>). Wenn diese Treiber
|
|
vorhanden sind, sollte das Laufwerk an der parallelen
|
|
Schnittstelle als <filename>/dev/da0s4</filename>
|
|
verfügbar sein. Zip-Datenträger können mit
|
|
<command>mount /dev/da0s4 /mnt</command> ODER
|
|
(DOS-formatierte) <command>mount_msdos /dev/da0s4
|
|
/mnt</command> gemountet werden.</para>
|
|
|
|
<para>Lesen Sie auch <link linkend="jaz">diese Anmerkung zu
|
|
Wechseldatenträgern</link> und <link
|
|
linkend="disklabel">diese zur
|
|
<quote>Formatierung</quote></link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="jaz-zip-removable-support">
|
|
<para>Unterstützt FreeBSD JAZ, EZ und andere
|
|
Wechsellaufwerke?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Abgesehen von der IDE-Version der EZ-Laufwerke,
|
|
handelt es sich ausschließlich um SCSI-Geräte.
|
|
Unter FreeBSD müßten sie sich also alle wie
|
|
SCSI-Platten und das IDE-EZ-Laufwerk müßte sich
|
|
wie ein IDE-Laufwerk verhalten.</para>
|
|
|
|
<para><anchor id="jaz">Ich bin mir nicht sicher, wie gut
|
|
FreeBSD den Wechsel der Datenträger während des
|
|
Betriebs unterstützt. Sie werden die Laufwerke vor
|
|
einem Datenträgerwechsel natürlich unmounten und
|
|
sicherstellen müssen, daß externe Einheiten
|
|
während des Bootens eingeschaltet sind, damit FreeBSD
|
|
sie erkennen kann.</para>
|
|
|
|
<para>Lesen Sie auch <link linkend="disklabel">diesen
|
|
Hinweis zur <quote>Formatierung</quote></link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-support">
|
|
<para>Welche seriellen Multi-Port-Karten werden von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es existiert eine Liste der unterstützten Karten
|
|
im Abschnitt <ulink
|
|
URL="../handbook/install-hw.html#INSTALL-MISC">Verschiedene
|
|
Geräte</ulink> des Handbuchs.</para>
|
|
|
|
<para>Von einigen nicht NoName-Nachbauten ist ebenfalls
|
|
bekannt, daß 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="usbkbd">
|
|
<para>Unterstützt FreeBSD meine Tastatur mit
|
|
USB-Anschluß?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Unterstützung für USB-Geräte ist
|
|
seit FreeBSD 3.1 Bestandteil des Systems. Die
|
|
Unterstützung war allerdings nicht ganz ausgereift;
|
|
einige der Probleme konnten bis zur Veröffentlichung
|
|
von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
|
|
Treiber für USB-Tastaturen selbst testen
|
|
möchten, sollten Sie den unten aufgeführten
|
|
Anweisungen folgen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Benutzen Sie FreeBSD 3.2 oder eine neuere
|
|
Version.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Tragen Sie die folgenden Zeilen in die
|
|
Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
|
|
einen neuen Kernel.</para>
|
|
|
|
<programlisting>
|
|
device uhci
|
|
device ohci
|
|
device usb
|
|
device ukbd
|
|
options KBD_INSTALL_CDEV
|
|
</programlisting>
|
|
|
|
<para>Falls Sie eine ältere FreeBSD-Version als
|
|
FreeBSD 4.0 benutzen, müssen Sie diese
|
|
Einträge verwenden:</para>
|
|
|
|
<programlisting>
|
|
controller uhci0
|
|
controller ohci0
|
|
controller usb0
|
|
controller ukbd0
|
|
options KBD_INSTALL_CDEV
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erzeugen Sie im Verzeichnis
|
|
<filename>/dev</filename> die notwendigen
|
|
Dateien:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV kbd0 kbd1</userinput>
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Tragen Sie in der
|
|
<filename>/etc/rc.conf</filename> die folgenden Zeilen
|
|
ein:</para>
|
|
|
|
<programlisting>
|
|
usbd_enable="YES"
|
|
usbd_flags=""
|
|
</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Nach einem Neustart des Systems ist die AT-Tastatur
|
|
als <filename>/dev/kbd0</filename> und die USB-Tastatur
|
|
als <filename>/dev/kbd1</filename> verfügbar. Dies
|
|
gilt natürlich nur, wenn beide Tastaturen
|
|
angeschlossen sind; falls nur die USB-Tastatur
|
|
angeschlossen ist, ist diese als
|
|
<filename>/dev/ukbd0</filename> verfügbar.</para>
|
|
|
|
<para>Wenn Sie die USB-Tastatur an der Systemkonsole
|
|
benutzen wollen, müssen Sie dies dem System explizit
|
|
mitteilen. Dazu muß das folgende Kommando
|
|
während des Systemstarts ausgeführt
|
|
werden:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn Sie nur die USB-Tastatur angeschlossen haben, ist
|
|
diese als <filename>/dev/kbd0</filename> verfügbar;
|
|
daher muß in diesem Fall das folgende Kommando
|
|
benutzt werden:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null</userinput>
|
|
</screen>
|
|
|
|
<para>Tragen Sie dieses Kommando in Datei
|
|
<filename>/etc/rc.i386</filename> ein.</para>
|
|
|
|
<para>Sobald Sie diese Schritte durchgeführt haben,
|
|
sollte die USB-Tastatur ohne weitere Änderungen auch
|
|
unter X benutzbar sei.</para>
|
|
|
|
<para>Zur Zeit 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>
|
|
|
|
<para>Weitere Informationen erhalten Sie in
|
|
&man.ukbd.4;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="busmouse">
|
|
<para>Ich habe eine unübliche Busmaus. Wie muß
|
|
ich sie konfigurieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt die Busmaus und
|
|
InPort-Busmaus von Herstellern wie Microsoft, Logitech und
|
|
ATI. Der Bus-Gerätetreiber ist bei FreeBSD 2.x
|
|
standardmäßig im GENERIC-Kernel eingebunden; ab
|
|
Version 3.0 müssen Sie ihn selbst in die
|
|
Konfigurationsdatei für Ihren angepaßten Kernel
|
|
einbinden. Fügen Sie die folgende Zeile in Ihre
|
|
Konfigurationsdatei ein, falls Sie sich einen
|
|
angepaßten Kernel mit dem Busmaustreiber
|
|
erstellen</para>
|
|
|
|
<para>FreeBSD 3.0 und ältere Versionen</para>
|
|
|
|
<programlisting>
|
|
device mse0 at isa? port 0x23c tty irq5 vector mseintr
|
|
</programlisting>
|
|
|
|
<para>FreeBSD 3.X außer 3.0</para>
|
|
|
|
<programlisting>
|
|
device mse0 at isa? port 0x23c tty irq5
|
|
</programlisting>
|
|
|
|
<para>FreeBSD 4.X</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>Falls Sie eine spätere FreeBSD-Version als 2.2.5
|
|
benutzen, ist der entsprechende Treiber
|
|
<devicename>psm</devicename> im Kernel enthalten und
|
|
aktiviert. Der Kernel sollte Ihre PS/2-Maus beim Booten
|
|
erkennen.</para>
|
|
|
|
<para>Wenn Sie eine gerigfügig frühere Version von
|
|
FreeBSD benutzen (2.1.x oder höher), können Sie
|
|
den Treiber während der Installation einfach im
|
|
Kernelkonfigurationsmenue aktivieren, oder später mit
|
|
der Option <option>-c</option> am Bootprompt
|
|
<command>boot:</command>. Da der Treiber
|
|
standardmäßig deaktiviert ist, werden Sie ihn
|
|
also explizit aktivieren müssen.</para>
|
|
|
|
<para>Falls Sie eine ältere FreeBSD-Version benutzen,
|
|
müssen Sie folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei einfügen und den Kernel neu
|
|
kompilieren.</para>
|
|
|
|
<para>FreeBSD 3.0 und ältere Versionen</para>
|
|
|
|
<programlisting>
|
|
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
|
|
</programlisting>
|
|
|
|
<para>FreeBSD 3.1 und neuere Versionen:</para>
|
|
|
|
<programlisting>
|
|
device psm0 at isa? tty irq 12
|
|
</programlisting>
|
|
|
|
<para>Ab FreeBSD 4.0:</para>
|
|
|
|
<programlisting>
|
|
device psm0 at atkbdc? irq 12
|
|
</programlisting>
|
|
|
|
<para>Lesen Sie den <ulink
|
|
URL="../handbook/kernelconfig.html">Handbucheintrag zur
|
|
Kernelkonfiguration</ulink>, falls Sie sich mit der
|
|
Erstellung eines Kernels nicht auskennen.</para>
|
|
|
|
<para>Wenn Sie den Kernel soweit haben, daß er
|
|
<devicename>psm0</devicename> beim Booten korrekt erkennt,
|
|
stellen Sie sicher, daß sich im Verzeichnis /dev ein
|
|
Eintrag für <devicename>psm0</devicename> befindet.
|
|
Durch Eingabe von</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev; sh MAKEDEV psm0</userinput>
|
|
</screen>
|
|
|
|
<para>können Sie einen erstellen, wenn Sie als
|
|
<username>root</username> angemeldet sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="moused">
|
|
<para>Kann man die Maus irgendwie außerhalb von X
|
|
Windows benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie den standard Konsoltreiber syscons benutzen,
|
|
können Sie den Mauszeiger auf Textkonsolen zum
|
|
Kopieren und Einfügen von Text verwenden. Starten
|
|
Sie den Mausdämon moused 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> bezeichnet hierbei den
|
|
Gerätename der Maus und
|
|
<replaceable>yyyy</replaceable> das Protokoll.
|
|
Unterstützte Protokolle finden Sie in der
|
|
&man.moused.8; Manualpage.</para>
|
|
|
|
<para>Wahrscheinlich wollen Sie den Mausdämon
|
|
automatisch beim Booten starten. In Version 2.2.1
|
|
müssen Sie hierzu die folgenden Variablen in
|
|
<filename>/etc/sysconfig</filename> setzen:</para>
|
|
|
|
<programlisting>
|
|
mousedtype="yyyy"
|
|
mousedport="xxxx"
|
|
mousedflags=""
|
|
</programlisting>
|
|
|
|
<para>In den Versionen 2.2.2 bis 3.0 müssen Sie die
|
|
folgenden Variablen in <filename>/etc/rc.conf</filename>
|
|
setzen.</para>
|
|
|
|
<programlisting>
|
|
moused_type="yyyy"
|
|
moused_port="xxxx"
|
|
moused_flags=""
|
|
</programlisting>
|
|
|
|
<para>Wenn Sie eine PS/2-Maus besitzen und FreeBSD 3.1 (oder
|
|
neuer) benutzen, brauchen Sie nur die Zeile
|
|
<literal>moused_enable="YES"</literal> in die Datei
|
|
<filename>/etc/rc.conf</filename> einzutragen.</para>
|
|
|
|
<para>Falls Sie den Mausdämon auf allen virtuellen
|
|
Bildschirmen anstatt nur während des Bootens auf der
|
|
Konsole benutzen wollen, tragen Sie außerdem
|
|
folgendes in <filename>/etc/rc.conf</filename>
|
|
ein.</para>
|
|
|
|
<programlisting>
|
|
allscreens_flags="-m on"
|
|
</programlisting>
|
|
|
|
<para>Beginnend mit FreeBSD 2.2.6 ist der Mausdämon in
|
|
der Lage, das richtige Protokoll automatisch zu erkennen,
|
|
falls es sich nicht um ein relativ altes serielles
|
|
Mausmodell handelt. Geben Sie <literal>auto</literal> als
|
|
Protokoll an, um die automatische Erkennung zu
|
|
aktivieren.</para>
|
|
|
|
<para>Während der Mausdämon läuft, muß
|
|
der Zugriff auf die Maus zwischen dem Mausdämon und
|
|
anderen Programmen, wie z.B. X Windows koordiniert werden.
|
|
Lesen Sie auch <link linkend="x-and-moused">einen anderen
|
|
Abschnitt</link> zu diesem Thema.</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 (siehe <link linkend="moused">vorherigen
|
|
Abschnitt</link>), halten Sie die linke Maustaste
|
|
gedrückt und bewegen Sie die Maus, um einen
|
|
Textabschnitt zu markieren. Dann drücken Sie die
|
|
mittlere oder rechte Maustaste, um ihn an der
|
|
Cursorposition einzufügen.</para>
|
|
|
|
<para>In den Versionen 2.2.6 und späteren bewirkt das
|
|
Drücken der mittleren Maustaste das Einfügen des
|
|
Textes. Das Drücken der rechten Maustaste
|
|
<quote>erweitert</quote> den markierten Textabschnitt.
|
|
Evtl. möchten Sie Tasten umbelegen oder die mittlere
|
|
Taste emulieren, falls Ihre Maus keine hat. Details
|
|
hierzu finden Sie in der &man.moused.8;
|
|
Manualpage.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="usbmouse">
|
|
<para>Wird meine USB-Maus von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Unterstützung für USB-Geräte ist
|
|
seit FreeBSD 3.1 Bestandteil des Systems. Die
|
|
Unterstützung war allerdings nicht ganz ausgereift;
|
|
einige der Probleme konnten bis zur Veröffentlichung
|
|
von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
|
|
Treiber für USB-Mäuse selbst testen
|
|
möchten, sollten Sie den unten aufgeführten
|
|
Anweisungen folgen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Benutzen Sie FreeBSD 3.2 oder eine neuere
|
|
Version.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Tragen Sie die folgenden Zeilen in die
|
|
Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
|
|
einen neuen Kernel.</para>
|
|
|
|
<programlisting>
|
|
device uhci
|
|
device ohci
|
|
device usb
|
|
device ukbd
|
|
options KBD_INSTALL_CDEV
|
|
</programlisting>
|
|
|
|
<para>Falls Sie eine ältere FreeBSD-Version als
|
|
FreeBSD 4.0 benutzen, müssen Sie diese
|
|
Einträge verwenden:</para>
|
|
|
|
<programlisting>
|
|
controller uhci0
|
|
controller ohci0
|
|
controller usb0
|
|
controller usm0
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erzeugen Sie im Verzeichnis
|
|
<filename>/dev</filename> die notwendigen
|
|
Dateien:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV ums0</userinput>
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Tragen Sie in der
|
|
<filename>/etc/rc.conf</filename> die folgenden Zeilen
|
|
ein:</para>
|
|
|
|
<programlisting>
|
|
moused_enable="YES"
|
|
moused_type="auto"
|
|
moused_port="/dev/ums0"
|
|
moused_flags=""
|
|
usbd_enable="YES"
|
|
usbd_flags=""
|
|
</programlisting>
|
|
|
|
<para>Weitergehende Informationen zum Thema moused
|
|
finden sie im <link linkend="moused">vorherigen
|
|
Abschnitt</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn Sie Ihre USB-Maus auch unter X benutzen
|
|
wollen, müssen sie die Datei
|
|
<filename>XF86Config</filename> ändern. Wenn Sie
|
|
XFree86 3.3.2 oder eine neuere Version benutzen,
|
|
müssen die folgenden Zeilen im Abschnitt
|
|
<emphasis>Pointer</emphasis> stehen:</para>
|
|
|
|
<programlisting>
|
|
Device "/dev/sysmouse"
|
|
Protocol "Auto"
|
|
</programlisting>
|
|
|
|
<para>Wenn sie eine ältere Version von XFree86
|
|
benutzen, müssen im Abschnitt
|
|
<emphasis>Pointer</emphasis> die folgenden Angaben
|
|
stehen:</para>
|
|
|
|
<programlisting>
|
|
Device "/dev/sysmouse"
|
|
Protocol "SysMouse"
|
|
</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Weitergehende Informationen zum Thema "Maus und X"
|
|
erhalten Sie <link
|
|
linkend="x-and-moused">hier</link>.</para>
|
|
|
|
<para>Zur Zeit kann es noch Probleme geben, wenn Sie eine
|
|
USB-Maus im laufenden Betrieb einstecken oder abziehen.
|
|
Um Probleme zu vermeiden, sollten Sie die Maus
|
|
anschließen, bevor Sie das System anschalten und die
|
|
Maus nicht abziehen, solange das System noch
|
|
läuft.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mouse-wheel-buttons">
|
|
<para>Meine Maus hat ein neumodisches Rad und mehr
|
|
Knöpfe. Kann ich sie in FreeBSD 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 nutzen können,
|
|
können Sie im <link linkend="x-and-wheel">passenden
|
|
Abschnitt</link> der FAQ erfahren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="psmerr">
|
|
<para>Meine Maus scheint nicht zu funktionieren. Der Cursor
|
|
springt wild über den Bildschirm. Die Maus hat ein
|
|
Rad und ist am PS/2-Port angeschlossen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die bis einschließlich FreeBSD 3.2 genutzte
|
|
Version des Treibers für PS/2-Mäuse
|
|
unterstützt einige Mäuse nicht richtig. Dazu
|
|
gehört die Logitech M-S48 und deren OEM-Version.
|
|
Wenden Sie die folgenden Patch auf
|
|
<filename>/sys/i386/isa/psm.c</filename> an und erzeugen
|
|
Sie einen neuen Kernel.</para>
|
|
|
|
<programlisting>
|
|
Index: psm.c
|
|
===================================================================
|
|
RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
|
|
retrieving revision 1.60.2.1
|
|
retrieving revision 1.60.2.2
|
|
diff -u -r1.60.2.1 -r1.60.2.2
|
|
--- psm.c 1999/06/03 12:41:13 1.60.2.1
|
|
+++ psm.c 1999/07/12 13:40:52 1.60.2.2
|
|
@@ -959,14 +959,28 @@
|
|
sc->mode.packetsize = vendortype[i].packetsize;
|
|
|
|
/* set mouse parameters */
|
|
+#if 0
|
|
+ /*
|
|
+ * A version of Logitech FirstMouse+ won't report wheel
|
|
movement,
|
|
+ * if SET_DEFAULTS is sent... Don't use this command.
|
|
+ * This fix was found by Takashi Nishida.
|
|
+ */
|
|
i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
|
|
if (verbose >= 2)
|
|
printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
|
|
+#endif
|
|
if (sc->config & PSM_CONFIG_RESOLUTION) {
|
|
sc->mode.resolution
|
|
= set_mouse_resolution(sc->kbdc,
|
|
- (sc->config & PSM_CONFIG_RESOLUTION) - 1);
|
|
+ (sc->config & PSM_CONFIG_RESOLUTION) - 1);
|
|
+ } else if (sc->mode.resolution >= 0) {
|
|
+ sc->mode.resolution
|
|
+ = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
|
|
+ }
|
|
+ if (sc->mode.rate > 0) {
|
|
+ sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
|
|
}
|
|
+ set_mouse_scaling(sc->kbdc, 1);
|
|
|
|
/* request a data packet and extract sync. bits */
|
|
if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3)
|
|
</programlisting>
|
|
|
|
<para>Dieses Problem sollte ab FreeBSD 3.3 nicht mehr
|
|
auftreten.</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> und sehen Sie sich <link
|
|
linkend="pao">diese Anmerkung</link> auf der
|
|
Mobile-Computing-Seite an.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tape-support">
|
|
<para>Welche Arten von Bandlaufwerken werden
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD 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
|
|
FreeBSD nicht einwandfrei funktionieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tape-changer-support">
|
|
<para>Unterstützt FreeBSD Bandwechsler?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD 2.2 untestützt SCSI-Wechsler mit dem
|
|
Gerät <devicename>ch</devicename> und dem Befehl
|
|
<command>chio</command>. Datails zum Betrieb des
|
|
Wechslers können Sie in der Manualpage &man.chio.1;
|
|
finden.</para>
|
|
|
|
<para>Falls Sie nicht <application>AMANDA</application> oder
|
|
ein anderes Produkt benutzen, das den Wechsler bereits
|
|
kennt, bedenken Sie, daß 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 muß.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sound-card-support">
|
|
<para>Welche Soundkarten werden von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt die Soundkarten SoundBlaster,
|
|
SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16,
|
|
AdLib und Gravis UltraSound. MPU-401 und kompatible
|
|
MIDI-Karten werden begrenzt unterstützt. Ebenso
|
|
werden Karten, die der Microsoft Sound
|
|
System-Spezifikation entsprechen, durch den pcm-Treiber
|
|
unterstützt.</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Das gilt nur für Sound! Dieser Treiber
|
|
unterstützt keine CDROMs, SCSI oder Joysticks auf
|
|
diesen Karten, außer der SoundBlaster. Die
|
|
SoundBlaster-SCSI-Schnittstelle und einige
|
|
Nicht-SCSI-CDROMs werden unterstützt, Sie
|
|
können von diesen Geräten aber nicht
|
|
booten.</para>
|
|
</note>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="es1370-silent-pcm">
|
|
<para>Abhilfen für fehlenden Sound von es1370 mit dem
|
|
pcm-Treiber?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie können den folgenden Befehl jedesmal nach dem
|
|
Booten ausführen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="network-cards">
|
|
<para>Welche Netzwerkkarten unterstützt
|
|
FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden im Abschnitt <ulink
|
|
URL="../handbook/install-hw.html#INSTALL-NICS">Ethernet-Karten</ulink>
|
|
des Handbuchs eine vollständige Liste.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-math-coprocessor">
|
|
<para>Ich habe keinen mathematischen Co-Prozessor - ist das
|
|
schlimm?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
<note>
|
|
<para>Dies betrifft nur Besitzer von 386/486SX/486SLC -
|
|
andere Maschinen haben in ihrer CPU einen
|
|
integriert.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Im allgemeinen wird das keine Probleme verursachen,
|
|
aber es gibt Gelegenheiten bei denen es Sie betreffen wird
|
|
- entweder bei der Performance oder bei der Genauigkeit
|
|
der Emulation (lesen Sie den Abschnitt <link
|
|
linkend="emul">über Gleitpunkt-Emulation</link>).
|
|
Insbesondere wird das Zeichnen von Bögen in X SEHR
|
|
langsam sein. Es wird dringend empfohlen, daß Sie
|
|
sich einen mathematischen Co-Prozessor kaufen - er ist
|
|
sein Geld wert.</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Einige Co-Prozessoren sind besser als andere. Es
|
|
tut uns weh, es zu sagen, aber es ist noch niemand
|
|
dafür entlassen worden, daß er bei Intel
|
|
eingekauft hat. Hüten Sie sich vor Clones, es
|
|
sei denn, Sie sind sicher, daß sie unter FreeBSD
|
|
funktionieren.</para>
|
|
</note>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="other-device-support">
|
|
<para>Welche Geräte werden noch von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im <ulink
|
|
URL="../handbook/install.html#INSTALL-MISC">Handbuch</ulink>
|
|
finden Sie eine Liste von anderen unterstützten
|
|
Geräten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="power-management-support">
|
|
<para>Unterstützt FreeBSD Power-Management auf meinem
|
|
Laptop?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Auf einigen Rechnern unterstützt FreeBSD APM.
|
|
Suchen Sie bitte in der Kernelkonfigurationdatei
|
|
<filename>LINT</filename> nach dem Wort
|
|
<acronym>APM</acronym>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-hang-boot">
|
|
<para>Mein Micron-System hängt sich beim Booten
|
|
auf</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Micron Motherboards besitzen eine
|
|
nicht-konforme PCI-BIOS-Implementierung. Sie bereitet
|
|
Kummer, wenn FreeBSD bootet, weil PCI-Geräte nicht an
|
|
der angegebenen Adresse konfiguriert werden.</para>
|
|
|
|
<para>Deaktivieren Sie <quote>Plug and Play Operating
|
|
System</quote> im BIOS, um dieses Problem zu beheben.
|
|
Weitere Informationen können unter <ulink
|
|
URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink>
|
|
gefunden werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="newer-adaptec-support">
|
|
<para>Ich habe einen neueren Adaptec-Controller, den FreeBSD
|
|
nicht finden kann.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Chips der neueren Adaptec AIC789-Serie werden
|
|
unter dem CAM SCSI System unterstützt, das sein Debut
|
|
in 3.0 gemacht hat. Patches für 2.2-STABLE befinden
|
|
sich in <ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/development/cam/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/development/cam/</ulink>.
|
|
Eine Bootdiskette mit CAM-Erweiterung ist unter <ulink
|
|
URL="http://people.FreeBSD.org/~abial/cam-boot/">http://people.FreeBSD.org/~abial/cam-boot/</ulink>
|
|
erhältlich. Lesen Sie in beiden Fällen die
|
|
Datei README, bevor Sie beginnen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="internal-plugnplay-modem">
|
|
<para>Ich habe ein internes Plug & Play-Modem, das
|
|
FreeBSD nicht finden kann.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie werden die PnP-ID Ihres Modems in die PnP-ID-Liste
|
|
des seriellen Treibers aufnehmen müssen. Erstellen
|
|
Sie einen neuen Kernel mit dem Eintrag <literal>controller
|
|
pnp0</literal> in der Konfigurationsdatei und rebooten Sie
|
|
Ihr System, um die Plug & Play-Unterstützung zu
|
|
aktivieren. Der Kernel wird nun alle PnP-IDs der
|
|
gefundenen Geräte ausgeben. In der Datei
|
|
<filename>/sys/i386/isa/sio.c</filename> finden Sie ab
|
|
Zeile 2777 (ca.) eine Tabelle, in der Sie die PnP-ID des
|
|
Modems eintragen müssen. Suchen Sie die Zeichenfolge
|
|
<literal>SUP1310</literal> in der Struktur "siopnp_ids[]",
|
|
um die Tabelle zu finden. Erstellen Sie den Kernel
|
|
nochmals, installieren Sie ihn, rebooten Sie, und Ihr
|
|
Modem sollte erkannt werden.</para>
|
|
|
|
<para>Möglicherweise müssen Sie in der
|
|
boot-time-Konfiguration die PnP-Geräte manuell mit
|
|
einem <literal>pnp</literal>-Befehl ähnlich</para>
|
|
|
|
<programlisting>
|
|
pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
|
|
</programlisting>
|
|
|
|
<para>konfigurieren, damit das Modem erkannt wird.</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>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Erstellen Sie einen Kernel mit <literal>options
|
|
COMCONSOLE</literal>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erstellen Sie /boot.config mit <option>-P</option>
|
|
als einzigem Text in der Datei.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ziehen Sie das Tastaturkabel aus dem
|
|
Rechner.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Lesen Sie
|
|
<filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename>
|
|
zur Information.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-3comnic-failure">
|
|
<para>Warum arbeitet meine 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 FreeBSD
|
|
bootet.</para>
|
|
|
|
<para>Deaktivieren Sie die Option <quote>Plug and Play
|
|
Operating System</quote> im BIOS, um das Problem zu
|
|
umgehen.</para>
|
|
|
|
<para>Weitere Informationen zu diesem Problem gibt es unter
|
|
dem URL: <ulink
|
|
URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="smp-support">
|
|
<para>Unterstützt FreeBSD Symmetric Multiproccessing
|
|
(SMP)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>SMP wird erst ab Version 3.0 unterstützt. SMP
|
|
ist im Standardkernel (<emphasis>GENERIC</emphasis>) nicht
|
|
aktiviert, wenn Sie SMP verwenden wollen, müssen Sie
|
|
einen angepaßten Kernel erstellen. Die dazu
|
|
notwendigen Optionen können Sie der Datei
|
|
<filename>/sys/i386/conf/LINT</filename>
|
|
entnehmen.</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 "boot virus
|
|
protection" aus.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="troubleshoot">
|
|
<title>Fehlerbehebung</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="awre">
|
|
<para>Ich habe fehlerhafte Blöcke auf meiner
|
|
Festplatte!</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 FreeBSD
|
|
können Sie das (als <username>root</username>) mit
|
|
folgendem Befehl tun</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>scsi -f /dev/rsd0c -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>Die folgenden Abschnitte wurden von <ulink
|
|
URL="mailto:tedm@toybox.placo.com">Ted
|
|
Mittelstaedt</ulink> eingesendet:</para>
|
|
|
|
<para>Bei IDE-Laufwerken sind fehlerhafte Blöcke
|
|
normalerweise ein Zeichen für potentielle Probleme.
|
|
Bei allen modernen IDE-Laufwerken ist eine interne
|
|
Verlagerung von fehlerhaften Blöcken eingeschaltet.
|
|
Heutzutage bieten alle IDE-Festplattenhersteller eine
|
|
umfassende Garantie und tauschen Laufwerke mit
|
|
fehlerhaften Blöcken um.</para>
|
|
|
|
<para>Falls Sie ein IDE-Laufwerk mit fehlerhaften
|
|
Blöcken trotzdem weiterbenutzen möchten,
|
|
können Sie versuchen, sich vom Hersteller ein
|
|
IDE-Diagnoseprogramm herunterzuladen und dies über
|
|
das Laufwerk laufen zu lassen. Manchmal können diese
|
|
Programme so eingestellt werden, daß sie die
|
|
Elektronik des Laufwerks dazu veranlassen, das Laufwerk
|
|
nochmals nach fehlerhaften Blöcken zu durchsuchen und
|
|
diese auszuschließen.</para>
|
|
|
|
<para>Auf ESDI-, RLL- und MFM-Laufwerken sind fehlerhafte
|
|
Blöcke nichts ungewöhnliches und im allgemeinen
|
|
kein Zeichen für Probleme. Auf einem PC
|
|
übernehmen der Festplatten-Controller und das BIOS
|
|
die Aufgabe, fehlerhafte Sektoren auszuschließen,
|
|
was bei Betriebssystemen wie DOS, die das BIOS benutzen,
|
|
um auf die Platte zuzugreifen, auch gut funktioniert. Die
|
|
Festplattentreiber von FreeBSD benutzen allerdings nicht
|
|
das BIOS, weshalb ein Mechanismus bad144 existiert, der
|
|
diese Funktionalität ersetzt. bad144 arbeitet nur
|
|
mit dem wd-Treiber (und wird damit von FreeBSD 4.x nicht
|
|
unterstützt) und kann NICHT für SCSI benutzt
|
|
werden. bad144 arbeitet, indem es alle gefundenen,
|
|
fehlerhaften Sektoren in eine spezielle Datei
|
|
schreibt.</para>
|
|
|
|
<para>Eine Einschränkung von bad144 ist, daß die
|
|
Datei mit den fehlerhaften Sektoren auf die letzte Spur
|
|
der Platte plaziert wird. Da diese Datei nun
|
|
möglicherweise eine Liste von fehlerhaften Sektoren
|
|
enthalten könnte, die am Anfang der Platte auftreten,
|
|
wo sich möglicherweise die /kernel-Datei befindet,
|
|
muß sie vom Bootstrap-Programm, das BIOS-Routinen
|
|
benutzt, um den Kernel zu lesen, erreichbar sein. Das
|
|
bedeutet, daß Platten, auf denen bad144 benutzt
|
|
wird, 1024 Zylinder, 16 Köpfe und 63 Sektoren nicht
|
|
überschreiten dürfen. Platten, die von bad144
|
|
verwaltet werden, sind also effektiv auf 500MB
|
|
begrenzt.</para>
|
|
|
|
<para>Setzen Sie <quote>Bad Block Scanning</quote>
|
|
während der Installation im fdisk-Menue einfach auf
|
|
ON, um bad144 zu verwenden. Dies funktioniert bis zu
|
|
FreeBSD 2.2.7. Die Platte darf nicht mehr als 1024
|
|
Zylinder besitzen. Generell wird empfohlen, daß die
|
|
Festplatte vorher mindestens vier Stunden in Betrieb war,
|
|
um ihr die Möglichkeit zur thermischen Ausdehnung und
|
|
Spurversetzung zu geben.</para>
|
|
|
|
<para>Falls eine Platte mehr als 1024 Zylinder besitzt (wie
|
|
z.B. große ESDI-Laufwerke), benutzt der Controller
|
|
einen speziellen Übersetzungsmodus, um den Betrieb
|
|
unter DOS zu ermöglichen. Der wd-Treiber kennt diese
|
|
Übersetzungsmodi, WENN Sie die
|
|
<quote>translated</quote>-Geometrie mit dem <quote>set
|
|
geometry</quote>-Befehl in fdisk eingeben. Sie
|
|
dürfen NICHT den "dangerously dedicated"-Modus zur
|
|
Erstellung der FreeBSD-Partition verwenden, weil dieser
|
|
die Geometrie ignoriert und obwohl fdisk Ihre
|
|
überschriebene Geometrie benutzen wird, ist die wahre
|
|
Größe der Platte noch bekannt und es wird
|
|
versucht, eine zu große FreeBSD-Partition zu
|
|
erstellen. Wenn die Plattengeometrie in die
|
|
übersetzte Geometrie geändert worden ist, dann
|
|
MUß die Partition manuell durch Angabe der
|
|
Blockanzahl erstellt werden.</para>
|
|
|
|
<para>Sie können mit dem ESDI-Controller auch
|
|
kurzerhand eine große ESDI-Platte erstellen, diese
|
|
dann mit DOS booten und als DOS-Partition formatieren.
|
|
Anschließend booten Sie mit dem
|
|
FreeBSD-Installationsprogramm und im fdisk-Menue notieren
|
|
Sie sich die Blockgröße und die Anzahl
|
|
Blöcke der DOS-Partition. Dann ändern Sie die
|
|
Geometrie in die gleiche, wie die von DOS verwendete,
|
|
löschen die DOS-Partition und erstellen eine
|
|
<quote>kooperative</quote> FreeBSD-Partition mit der
|
|
gleichen Blockgröße, die Sie zuvor notiert
|
|
haben. Machen Sie die Partition nun bootfähig und
|
|
schalten Sie Bad Block Scanning ein. Während der
|
|
tatsächen Installation wird bad144 gestartet, bevor
|
|
irgendwelche Dateisysteme erstellt werden (Sie können
|
|
das mit Alt-F2 beobachten). Falls irgendwelche Probleme
|
|
bei der Erstellung der Datei mit den fehlerhaften Sektoren
|
|
auftreten sollten, haben Sie eine zu große
|
|
Plattengeometrie eingestellt - rebooten Sie Ihr System und
|
|
beginnen Sie von vorne (die Neupartitionierung und
|
|
Formatierung unter DOS eingeschlossen).</para>
|
|
|
|
<para>Falls die Verlagerung fehlerhafter Blöcke
|
|
aktiviert ist und Sie trotzdem fehlerhafte Blöcke
|
|
bemerken, sollten Sie einen Austausch des Laufwerkes in
|
|
Erwägung ziehen, da die fehlerhaften Blöcke mit
|
|
der Zeit zunehmen werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bustek742a-eisa-scsi">
|
|
<para>FreeBSD erkennt meinen SCSI-Controller vom Typ Bustek
|
|
742a EISA nicht!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Information ist speziell für die 742a,
|
|
könnte aber auch andere Buslogic-Karten
|
|
einschließen (Bustek = Buslogic)</para>
|
|
|
|
<para>Es gibt zwei grundverschiedene
|
|
<quote>Versionen</quote> der 742a-Karte. Das sind die
|
|
Hardware-Revisionen A-G und Revisionen von H
|
|
aufwärts. Der Revisionsbuchstabe befindet sich
|
|
hinter der Fabriknummer am Rand der Karte. Auf der 742a
|
|
befinden sich zwei Chips. Einer ist der BIOS-Chip, der
|
|
andere der Firmware-Chip. FreeBSD achtet nicht darauf,
|
|
welche BIOS-Version Sie haben, aber es achtet auf die
|
|
Version des Firmware-Chips. Buslogic schickt Ihnen
|
|
Upgrade-ROMS, wenn Sie sich an den technischen Support
|
|
wenden. Die BIOS- und Firmware-Chips müssen als
|
|
passende Paare ausgeliefert werden. Für Ihre
|
|
Hardware-Revision benötigen Sie das aktuellste
|
|
Firmware-ROM auf Ihrer Adapter-Karte.</para>
|
|
|
|
<para>Karten der Revision A-G akzeptieren
|
|
BIOS/Firmware-Paare bis zu 2.41/2.21. Die Karten der
|
|
Revisionen H und aufwärts akzeptieren die aktuellsten
|
|
BIOS/Firmware-Paare 4.70/3.37. Der Unterschied der
|
|
Firmware-Versionen ist, daß die 3.37-Firmware
|
|
<quote>round robin</quote> unterstützt.</para>
|
|
|
|
<para>Auf den Buslogic-Karten befindet sich auch eine
|
|
Seriennummer. Falls Sie eine Karte mit einer alten
|
|
Hardwarerevisionsnummer besitzen, können Sie sich an
|
|
die RMA-Abteilung von Buslogic wenden, Ihre Seriennummer
|
|
angeben und versuchen, die Karte gegen eine neuere
|
|
Hardwarerevision auszutauschen. Falls Ihre Karte nicht zu
|
|
alt ist, wird dem Tausch zugestimmt werden.</para>
|
|
|
|
<para>Von FreeBSD 2.1 werden nur Firmwarerevisionen ab 2.21
|
|
aufwärts unterstützt. Wenn Sie eine ätere
|
|
Firmwarerevision besitzen, wird Ihre Karte nicht als
|
|
Buslogic-Karte erkannt. Sie könnte jedoch als
|
|
Adaptec 1540 erkannt werden. Die früe Firmware von
|
|
Buslogic enthält eine AHA1540
|
|
<quote>Emulation</quote>, wovon bei EISA-Karten jedoch
|
|
abzuraten ist.</para>
|
|
|
|
<para>Wenn sie eine Karte mit einer alten
|
|
Hardwarerevisionsnummer besitzen und die 2.21-Firmware
|
|
für sie bekommen, müssen Sie den Jumper W1 in
|
|
die Position B-C setzen; die Voreinstellung ist
|
|
A-B.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="hpnetserver-scsi-failure">
|
|
<para>Der SCSI-Controller meines HP Netserver wird 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 Adreßraum von EISA-Slots
|
|
>10 mit dem Adreßraum, der PCI zugeordnet ist und
|
|
die Autokonfiguration von FreeBSD 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="../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</para>
|
|
|
|
<programlisting>
|
|
eisa 12
|
|
quit
|
|
</programlisting>
|
|
|
|
<para>am Prompt ein und Sie können Ihr System ganz
|
|
normal installieren. Sie sollten auf jeden Fall einen
|
|
angepaßten Kernel zu kompilieren und
|
|
installieren,</para>
|
|
|
|
<para>Zukünftige Versionen werden hoffentlich eine
|
|
passende Lösung für dieses Problem
|
|
beinhalten.</para>
|
|
|
|
<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>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cmd640-ide">
|
|
<para>Was ist mit diesem CMD640-Controller los?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Er ist fehlerhaft. Er kann Befehle auf beiden
|
|
Kanälen nicht simultan behandeln.</para>
|
|
|
|
<para>Es gibt jetzt eine Abhilfe, die automatisch aktiviert
|
|
wird, wenn Ihr System diesen Chip benutzt. Details finden
|
|
Sie in der Manualpage zum Plattentreiber (man 4
|
|
wd).</para>
|
|
|
|
<para>Wenn bei Ihnen bereits FreeBSD 2.2.1 oder 2.2.2 mit
|
|
einem CMD640-Controller läuft und Sie den zweiten
|
|
Kanal benutzen möchten, erstellen Sie einen neuen
|
|
Kernel mit <literal>options "CMD640"</literal>. Dies ist
|
|
seit 2.2.5 Voreinstellung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ed1-timeout">
|
|
<para>Ich sehe ständig Meldungen wie <literal>ed1:
|
|
timeout</literal>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies wird meistens durch einen Interruptkonflikt
|
|
verursacht (z.B., wenn zwei Karten den selben Interrupt
|
|
benutzen). Vor 2.0.5R war FreeBSD diesbezüglich
|
|
tolerant und die Treiber für Netzwerkkarten
|
|
funktionierten auch bei IRQ-Konflikten. Seit 2.0.5R
|
|
werden IRQ-Konflikte jedoch nicht länger toleriert.
|
|
Booten Sie mit der Option -c und ändern Sie die
|
|
Einträge zu ed0/de0/... Ihrem Board
|
|
entsprechend.</para>
|
|
|
|
<para>Wenn Sie den BNC-Anschluß Ihrer Netzwerkkarte
|
|
benutzen, könnte es auch sein, daß 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="mount-cd-superblock">
|
|
<para>Beim Mounten einer CDROM erscheint <quote>Incorrect
|
|
super block</quote>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie müssen <command>mount</command> mitteilen,
|
|
was für ein Gerät Sie mounten wollen.
|
|
Standardmäßig wird <command>mount</command> den
|
|
Typ <literal>ufs</literal> annehmen. Sie wollen ein
|
|
CDROM-Dateisystem mounten und das tun Sie, indem Sie die
|
|
Option <option>-t cd9660</option> für
|
|
<command>mount</command> benutzen. Natürlich unter
|
|
der Annahme, daß die CDROM ein ISO 9660-Dateisystem
|
|
enthält, wie bei den meisten CDROMs. Ab 1.1R
|
|
versteht FreeBSD auch automatisch die Rock Ridge
|
|
Erweiterungen (lange Dateinamen).</para>
|
|
|
|
<para>Wenn sie zum Beispiel das CDROM-Gerät
|
|
<filename>/dev/cd0c</filename> unter dem Dateinamen
|
|
<filename>/mnt</filename> mounten wollen,
|
|
müßten Sie:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput>
|
|
</screen>
|
|
|
|
<para>eingeben.</para>
|
|
|
|
<para>Beachten Sie, daß Ihr Gerätename
|
|
(<filename>/dev/cd0c</filename> in diesem Beispiel)
|
|
abhängig von der CDROM-Schnittstelle unterschiedlich
|
|
sein könnte. Die Option <option>-t cd9660</option>
|
|
bewirkt lediglich, daß der Befehl
|
|
<command>mount_cd9660</command> ausgeführt wird. Das
|
|
obige Beispiel könnte also kürzer
|
|
lauten:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mount_cd9660 /dev/cd0c /mnt</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cdrom-not-configured">
|
|
<para>Wenn ich eine CDROM mounte, erscheint <literal>Device
|
|
not configured</literal>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das bedeutet im allgemeinen, daß sich keine
|
|
CDROM im Laufwerk befindet, oder, daß das Laufwerk
|
|
auf dem Bus nicht sichtbar ist. Legen sie etwas ins
|
|
Laufwerk ein und/oder überprüfen Sie den
|
|
Master/Slave-Status des Laufwerks, falls es sich um ein
|
|
IDE (ATAPI) Laufwerk handelt. Bei einem CDROM-Laufwerk
|
|
kann es einige Sekunden dauern, bis ein eingelegter
|
|
Datenträger erkannt wird. Haben Sie also
|
|
Geduld.</para>
|
|
|
|
<para>Manchmal kann ein SCSI-CDROM verfehlt werden, weil es
|
|
nicht genügend Zeit hatte, auf einen Bus-Reset zu
|
|
antworten. Falls Sie ein SCSI-CDROM besitzen, versuchen
|
|
Sie, folgendes in Ihre Kernelkonfigurationsdatei
|
|
einzufügen, und neu zu kompilieren:</para>
|
|
|
|
<programlisting>
|
|
options "SCSI_DELAY=15"
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="printer-slow">
|
|
<para>Mein Drucker ist unglaublich langsam. Was kann ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls es sich um einen parallelen Drucker handelt und
|
|
das einzige Problem ist, daß er schrecklich langsam
|
|
ist, probieren Sie, den Druckerausgang in den
|
|
<quote>gepollten</quote> Modus zu setzen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>lptcontrol -p</userinput>
|
|
</screen>
|
|
|
|
<para>Von einigen neueren HP-Druckern wird behauptet,
|
|
daß sie im Interruptmodus nicht korrekt arbeiten,
|
|
anscheinend wegen eines (noch nicht genau verstandenen)
|
|
Timing-Problems.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="signal11">
|
|
<para>Meine Programme brechen gelegentlich mit
|
|
<literal>Signal 11</literal>-Fehlern ab.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Signal 11 wird generiert, wenn ein Prozeß
|
|
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
|
|
Applikation 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 FreeBSD
|
|
auftritt, könnte es natürlich auch ein
|
|
Fehler sein; aber in der überwiegenden Zahl der
|
|
Fälle 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,
|
|
daß das Problem *nicht* bei FreeBSD liegt.</para>
|
|
|
|
<para>Nehmen wir zum Beispiel an, daß Sie "make
|
|
buildworld" ausführen und die Compilierung von ls.c
|
|
in ls.o abbricht. Wenn Sie nochmal "make buildworld"
|
|
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.
|
|
gdb 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,
|
|
daß 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, daß Ihren Festplatten
|
|
zu warm wird: Ü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,
|
|
daß Sie Ihre Hardware unter den Bedingungen
|
|
betreiben, für die sie spezifiziert ist,
|
|
zumindestens 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, daß 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 "RAM Speed: Turbo" 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 zur Zeit ein
|
|
250W-Netzteil benutzen, sollten Sie testweise ein
|
|
300W-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, daß Sie einen Fehler in FreeBSD
|
|
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="screen-loses-sync">
|
|
<para>Beim Booten wird der Bildschirm schwarz und reagiert
|
|
nicht mehr!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein bekanntes Problem mit der ATI Mach 64
|
|
Videokarte. Das Problem besteht darin, daß diese
|
|
Karte die Adresse <literal>2e8</literal> benutzt und die
|
|
vierte serielle Schnittstelle ebenfalls. Aufgrund eines
|
|
Fehlers (einer Besonderheit?) im Treiber
|
|
<devicename>sio</devicename> wird diese Schnittstelle
|
|
angesprochen, auch wenn Sie gar keine vierte serielle
|
|
Schnittstelle besitzen und <emphasis>sogar</emphasis>,
|
|
wenn sie sio3 (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 sio-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/i386/isa/sio.c</filename> 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>
|
|
|
|
<para>Auch nach Anwendung dieser Maßnahmen könnte
|
|
es sein, daß Ihr X Windows-System nicht einwandfrei
|
|
funktioniert. Wenn dies der Fall ist, stellen Sie sicher,
|
|
daß es sich bei der von Ihnen benutzten X
|
|
Windows-Version mindestens um XFree86 3.3.3 oder
|
|
höher handelt. Diese Version und höhere
|
|
besitzen eine integrierte Unterstützung für
|
|
Mach64-Karten und sogar einen dedizierten X-Server
|
|
für sie.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="reallybigram">
|
|
<para>Ich besitze 128 MB Hauptspeicher, aber das System
|
|
verwendet nur 64 MB.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aufgrund der Art und Weise, wie FreeBSD die
|
|
Hauptspeichergröße vom BIOS mitgeteilt bekommt,
|
|
kann es lediglich 16-Bit Werte in kByte-Größe
|
|
(65535 kByte = 64MB) erkennen (oder weniger... einige
|
|
BIOSe setzen die Hauptspeichergröß auf 16MB).
|
|
Falls Sie mehr als 64MB besitzen, wird FreeBSD 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 zur Zeit sind wir auf die Kerneloption
|
|
angewiesen.</para>
|
|
|
|
<para><literal>options
|
|
"MAXMEM=<replaceable>n</replaceable>"</literal></para>
|
|
|
|
<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="panic-kmemmap-too-small">
|
|
<para>FreeBSD 2.0 gerät mit <literal>kmem_map too
|
|
small!</literal> in Panik.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
<note>
|
|
<para>Die Nachricht kann auch <literal>mb_map too
|
|
small!</literal> lauten.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Diese Meldung zeigt an, daß 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</para>
|
|
|
|
<para><literal>options
|
|
"NMBCLUSTERS=<replaceable>n</replaceable>"</literal></para>
|
|
|
|
<para>in Ihre Kernelkonfigurationsdatei einfügen, wobei
|
|
<replaceable>n</replaceable>, abhängig davon,
|
|
wieviele gleichzeitige TCP-Verbindungen Sie
|
|
unterstützen müssen, eine Zahl aus dem Bereich
|
|
512-4096 ist. Ich würde Ihnen empfehlen, 2048 zu
|
|
probieren - das sollte Sie von solchen Paniksituationen
|
|
vollkommen befreien. Sie können die Anzahl der
|
|
zugeordneten/benutzten mbuf-Cluster im System mit
|
|
<command>netstat -m</command> beobachten. Der
|
|
voreingestellte Wert für NMBCLUSTERS ist <literal>512
|
|
+ MAXUSERS * 16</literal>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cmap-busy-panic">
|
|
<para>Beim Rebooten mit einem neuen Kernel erscheint
|
|
<literal>CMAP busy panic</literal>.</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 im 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>ahc0: brkadrint, Illegal Host Access at seqaddr
|
|
0x0</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies ist ein Konflikt mit einem Ultrastor SCSI
|
|
Hostadapter.</para>
|
|
|
|
<para>Rufen Sie während des Bootprozesses das
|
|
Kernelkonfigurationsmenue auf und deaktivieren Sie
|
|
<devicename>uha0</devicename>, welches das Problem
|
|
verursacht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mail-loopback">
|
|
<para>Sendmail meldet <literal>mail loops back to
|
|
myself</literal></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies wird in der Sendmail-FAQ wie folgt
|
|
beantwortet:-</para>
|
|
|
|
<literallayout> * Ich erhalte "Local configuration error" Meldungen, wie:
|
|
|
|
553 relay.domain.net config error: mail loops back to myself
|
|
554 <user@domain.net>... Local configuration error
|
|
|
|
Wie kann ich dieses Problem lösen?
|
|
|
|
Sie haben durch die Benutzung einer MX-Zeile eingestellt, daß
|
|
Mail für die Domäne (z.B. domain.net) an einen speziellen
|
|
Host (in diesem Fall relay.domain.net) weitergeleitet wird,
|
|
aber der Relay-Host erkennt sich selbst nicht als
|
|
domain.net. Fügen Sie domain.net in /etc/sendmail.cw
|
|
(falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
|
|
in /etc/sendmail.cf ein.
|
|
</literallayout>
|
|
|
|
<para>Die aktuelle Version der <ulink
|
|
URL="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq">Sendmail-FAQ</ulink>
|
|
wird nicht mehr mit dem Sendmail-Release verwaltet. Sie
|
|
wird jedoch regelmäßig nach <ulink
|
|
URL="news:comp.mail.sendmail">comp.mail.sendmail</ulink>,
|
|
<ulink URL="news:comp.mail.misc">comp.mail.misc</ulink>,
|
|
<ulink URL="news:comp.mail.smail">comp.mail.smail</ulink>,
|
|
<ulink URL="news:comp.answers">comp.answers</ulink> und
|
|
<ulink URL="news:news.answers">news.answers</ulink>
|
|
gepostet. Sie können auch eine Kopie per Email
|
|
bekommen, indem Sie eine Mail mit dem Inhalt <literal>send
|
|
usenet/news.answers/mail/sendmail-faq</literal> an
|
|
<email>mail-server@rtfm.mit.edu</email> schicken.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="remote-fullscreen">
|
|
<para>Auf entfernten Maschinen laufende
|
|
Full-Screen-Applikationen verhalten sich nicht
|
|
richtig.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die entfernte Maschine scheint den Terminaltyp auf
|
|
etwas anderes als den Typ <literal>cons25</literal>, der
|
|
von FreeBSD 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 TERM 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
|
|
FreeBSD-Console. <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 TERM 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 FreeBSD-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 TERM auf dem
|
|
entfernten Host sollte auf <literal>xterm</literal>
|
|
oder <literal>vt100</literal> gesetzt werden.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="calcru-negative">
|
|
<para>Mein Rechner meldet <literal>calcru: negative
|
|
time...</literal></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies kann durch verschiedene Hardware- und/oder
|
|
Softwareprobleme in Verbindung mit Interrupts verursacht
|
|
werden. Das kann aufgrund von Fehlern sein, aber es kann
|
|
auch durch die Eigenarten bestimmter Geräte
|
|
passieren. TCP/IP über die parallele Schnittstelle
|
|
mit einer großen MTU laufen zu lassen, ist ein
|
|
sicherer Weg, um dieses Problem zu provozieren.
|
|
Grafikbeschleuniger können es auch verursachen. In
|
|
diesem Fall sollten Sie zunächst die
|
|
Interrupteinstellungen der Karte
|
|
überprüfen.</para>
|
|
|
|
<para>Ein Seiteneffekt dieses Problems sind Prozesse, die
|
|
mit der Meldung <quote>SIGXCPU exceeded cpu time
|
|
limit</quote> abbrechen.</para>
|
|
|
|
<para>Für FreeBSD 3.0 und spätere ab dem 29. Nov.
|
|
1998: Falls das Problem nicht anders gelöst werden
|
|
kann, besteht die Lösung darin, diese sysctl-Variable
|
|
zu setzen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>sysctl -w kern.timecounter.method=1</userinput>
|
|
</screen>
|
|
|
|
<para>Das bedeutet zwar Performanceeinbußen, aber in
|
|
Anbetracht der Ursache für dieses Problem werden Sie
|
|
das wahrscheinlich nicht bemerken. Fall das Problem
|
|
weiter bestehen bleibt, lassen sie die sysctl-Variable auf
|
|
1 stehen und setzen Sie die Option
|
|
<literal>NTIMECOUNTER</literal> im Kernel auf immer
|
|
höhere Werte. Wenn Sie irgendwann
|
|
<literal>NTIMECOUNTER=20</literal> erreicht haben sollten,
|
|
ist das Problem nicht gelöst. Die Interrupts auf
|
|
Ihrer Maschine sind für eine verläßliche
|
|
Zeiterhaltung nicht zu gebrauchen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pcm0-not-found">
|
|
<para>Ich erhalte die Meldung <literal>pcm0 not
|
|
found</literal> oder meine Soundkarte wird als
|
|
<literal>pcm1</literal> eingebunden, obwohl in meiner
|
|
Kernel-Konfiguration <literal>device pcm0</literal>
|
|
steht.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Effekt tritt auf, wenn Sie FreeBSD 3.x und eine
|
|
PCI Soundkarte haben. Das Gerät
|
|
<literal>pcm0</literal> ist für ISA Soundkarten
|
|
reserviert; wenn Sie eine PCI Soundkarte haben, werden Sie
|
|
diese Meldung erhalten und Ihre Karte wird als
|
|
<literal>pcm1</literal> eingebunden.</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Sie können das Problem nicht lösen,
|
|
indem Sie einfach in der Konfigurationsdatei für
|
|
Ihnen Kernel die Zeile <literal>device pcm1</literal>
|
|
eintragen. Wenn Sie dies tun, wird
|
|
<literal>pcm1</literal> für ISA-Karten reserviert
|
|
und Ihre PCI-Karte wird zu <literal>pcm2</literal>.
|
|
Zusätzlich erhalten Sie den Hinweis <literal>pcm1
|
|
not found</literal>.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Wenn Sie eine PCI Sounkarte haben, müssen Sie das
|
|
Gerät <literal>snd1</literal> statt des üblichen
|
|
<literal>snd0</literal> verwenden:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV snd1</userinput>
|
|
</screen>
|
|
|
|
<para>Dieses Problem tritt in FreeBSD 4.x nicht mehr auf, da
|
|
große Anstrengungen unternommen wurden, diese
|
|
Version <emphasis>PnP-orientiert</emphasis> zu machen. In
|
|
FreeBSD 4.x ist das Gerät <literal>pcm0</literal>
|
|
nicht mehr für ISA-Karten reserviert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-not-found">
|
|
<para>Meine PnP-Karte wird nicht mehr (oder nur noch als
|
|
<literal>unknown</literal>) erkannt, seit ich FreeBSD 4.x
|
|
benutze.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD 4.x ist deutlich
|
|
<emphasis>PnP-orientierter</emphasis> und das führt
|
|
leider dazu, daß einige PnP-Geräte (wie z.B.
|
|
Soundkarten und interne Modems) nicht mehr funktionieren,
|
|
obwohl Sie von FreeBSD 3.x noch erkannt wurden.</para>
|
|
|
|
<para>Die Gründe für dieses Verhalten werden in
|
|
der unten zitierten Mail von Mail von Peter Wemm
|
|
erklärt. Diese Mail stammt von der Mailingliste
|
|
freebsd-questions und war eine Antwort auf eine Frage
|
|
bezüglich eines internen Modem, das nach dem Update
|
|
auf FreeBSD 4.x nicht mehr erkannt wurde. Die Kommentare
|
|
in <literal>[]</literal> wurden eingefügt, um an
|
|
einigen Stellen die Bezüge klarstellen.</para>
|
|
|
|
<blockquote>
|
|
<para>Das PnP-Bios hat es [das Modem] vorkonfiguriert und
|
|
es dann im Adreßraum liegenlassen, daher haben es
|
|
die alten ISA-Erkennungsroutinen [in 3.x]
|
|
<quote>gefunden</quote>.</para>
|
|
|
|
<para>In 4.0 sind die ISA-Routinen deutlich
|
|
PnP-orientierter. Es war möglich [in 3.x],
|
|
daß eine ISA-Erkennungsroutinen ein
|
|
<quote>zugelaufenes</quote> Gerät fand;
|
|
während die PnP-Treiber zwar die ID erkannten, das
|
|
Gerät aber wegen des Ressourcekonfliktes nicht
|
|
nutzen konnten. Daher werden die programmierbaren
|
|
Karten zunächst einmal abgeschaltet, um diese
|
|
doppelte Erkennung vermeiden zu können. Das
|
|
bedeutet allerdings auch, daß die Treiber die
|
|
PnP-ID kennen muß, 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
|
|
<quote>Vendor ID</quote> ganz im Anfang. Die in Klammern
|
|
ausgegebene Hexadezimale Zahl (0x3024a341 in diesem
|
|
Beispiel) ist die PnP ID und die unmittelbar davor
|
|
stehende Zeichenkette (PMC2430) ist eine eindeutige
|
|
Herstellerkennung. Diese Informationen müssen in die
|
|
Datei <filename>/usr/src/sys/isa/sio.c</filename>
|
|
eingetragen werden.</para>
|
|
|
|
<para>Sie sollten zunächst ein Backup von
|
|
<filename>sio.c</filename> anlegen, falls irgendwas
|
|
schiefgehen 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.c</filename> mit einem
|
|
Editor und suchen Sie nach der Zeile</para>
|
|
|
|
<programlisting>
|
|
static struct isa_pnp_id sio_ids[] = {
|
|
</programlisting>
|
|
|
|
<para>und 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 wie bei FreeBSD 3.x als
|
|
<literal>sio</literal> Gerät erkannt werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nlist-failed">
|
|
<para>Ich erhalte 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,
|
|
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 boot2 (siehe &man.boot.8;). Es ist zwar
|
|
nicht immer ein Fehler,
|
|
<command>/boot/loader</command> zu umgehen; allerdings
|
|
ist in der Regel besser dazu geeignet, die Symbole des
|
|
Kernels für normale Anwendungen verfügbar zu
|
|
machen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="commercial">
|
|
<title>Kommerzielle Anwendungen</title>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Dieser Abschnitt ist immer noch sehr dürftig, aber
|
|
wir hoffen natürlich, daß Unternehmen einen
|
|
Beitrag leisten werden! :) Die FreeBSD-Gruppe hat keinerlei
|
|
finanzielle Interessen an einem der hier aufgelisteten
|
|
Unternehmen, sondern listet sie lediglich als
|
|
öffentlichen Service auf (und ist der Meinung,
|
|
daß ein kommerzielles Interesse an FreeBSD sehr
|
|
positive Einfluß auf ein langfristiges Bestehen von
|
|
FreeBSD haben kann). Wir möchten Anbieter
|
|
kommerzieller Software dazu aufrufen, ihren Eintrag hier
|
|
aufnehmen zu lassen. Auf <ulink
|
|
URL="http://www.de.FreeBSD.org/commercial/commercial.html">der
|
|
Anbieter-Seite</ulink> finden Sie eine längere
|
|
Liste.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="motif">
|
|
<para>Woher kann ich Motif für FreeBSD
|
|
bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um die günstigste ELF-Motiv 2.1.20 Distribution
|
|
für FreeBSD (entweder i386 oder Alpha) zu bekommen,
|
|
wenden Sie sich bitte an <link
|
|
linkend="apps2go">Apps2go</link>.<anchor
|
|
id="apps2go"></para>
|
|
|
|
<para>Es gibt zwei Distributionen, die <quote>developement
|
|
edition</quote> und die <quote>runtime edition</quote>
|
|
(wesentlich günstiger). Diese Distributionen
|
|
enthalten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>OSF/Motif manager, xmbind, panner, wsm.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Development-Kit mit uil, mrm, xm, xmcxx, Include-
|
|
und Imake-Dateien.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Statische und dynamische ELF-Bibliotheken (zur
|
|
Benutzung mit FreeBSD 3.0 und höher).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Demonstrations-Applets.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Achten Sie darauf, daß Sie bei der Bestellung
|
|
angeben, daß Sie die FreeBSD-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 zur Zeit 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>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="mailto:sales@apps2go.com">Vertrieb</ulink> oder
|
|
<ulink
|
|
URL="mailto:support@apps2go.com">Support</ulink>
|
|
Email-Adressen.</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para>Telefon (817) 431 8775 oder +1 817
|
|
431-8775</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Eine Motif 2.1-Distribution für FreeBSD im ELF-
|
|
oder a.out-Format ist bei <link linkend="metrox">Metro
|
|
Link</link> erhältlich.</para>
|
|
|
|
<para>Diese Distribution enthält:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>OSF/Motif manager, xmbind, panner, wsm.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Development-Kit mit uil, mrm, xm, xmcxx, Include-
|
|
und Imake-Dateien.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Statische und dynamische Bibliotheken (verlangen
|
|
Sie ELF zur Verwendung unter FreeBSD ab 3.0 und oder
|
|
a.out zur Verwendung unter FreeBSD bis
|
|
einschließlich 2.2.8).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Demonstrations-Applets.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vorformatierte Manualpages.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Achten Sie darauf, bei der Bestellung anzugeben,
|
|
daß Sie die FreeBSD-Version von Motiv möchten!
|
|
<emphasis>Metro Link</emphasis> vertreibt auch Versionen
|
|
für Linux. Dieses Produkt ist entweder als CDROM
|
|
oder zum Download per FTP erhätlich.</para>
|
|
|
|
<para>Eine Motif 2.0 Distribution für FreeBSD im
|
|
a.out-Format gibt es bei <link linkend="xig">Xi
|
|
Graphics</link>.</para>
|
|
|
|
<para>Diese Distribution enthält:/</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>OSF/Motif manager, xmbind, panner, wsm.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Development-Kit mit uil, mrm, xm, xmcxx, Include-
|
|
und Imake-Dateien.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Statische und dynamische Bibliotheken (zur
|
|
Verwendung unter FreeBSD 2.2.8 und
|
|
frühere).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Demonstrations-Applets.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vorformatierte Manualpages.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Achten Sie darauf, bei der Bestellung anzugeben,
|
|
daß Sie die FreeBSD-Version von Motiv möchten!
|
|
<emphasis>Xi Graphics</emphasis> verkauft auch Versionen
|
|
für BSDI und Linux. Dieses Produkt ist derzeit ein
|
|
Satz von vier Disketten... zukünftig wird es eine
|
|
einheitliche CD-Distribution geben, wie beim CDE.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cde">
|
|
<para>Woher kann ich CDE für FreeBSD bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><link linkend="xig">Xi Graphics</link> hat einmal CDE
|
|
für FreeBSD verkauft, tut es aber nicht mehr.</para>
|
|
|
|
<para><ulink URL="http://www.kde.org/">KDE</ulink> ist ein
|
|
Open-Source X11-Desktop, das CDE in vielen Punkten
|
|
ähnelt. Eventuell gefällt Ihnen auch das "Look
|
|
and Feel" von <ulink
|
|
url="http://www.xfce.org/">xfce</ulink>. KDE und xfce
|
|
sind über das <ulink
|
|
url="http://www.de.FreeBSD.org/ports/">Ports-System</ulink>
|
|
von FreeBSD verfügbar.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="commercial-xserver">
|
|
<para>Gibt es irgendwelche kommerzielle leistungsfähige
|
|
X-Server?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, <ulink URL="http://www.xig.com/">Xi
|
|
Graphics</ulink> und <ulink
|
|
URL="http://www.metrolink.com/">Metro Link</ulink>
|
|
vertreiben beschleunigte X-Produkte für FreeBSD und
|
|
andere Intel-basierte Systeme.</para>
|
|
|
|
<para>Das Angebot von Metro Link besteht aus einem
|
|
leistungsfähigen X-Server, der einfache Konfiguration
|
|
unter Verwendung von Werkzeugen aus der
|
|
FreeBSD-Paketsammlung und Unterstützung für den
|
|
parallelen Einsatz mehrerer Videokarten bietet. Es wird
|
|
nur in binärer Form über ein bequemes
|
|
FTP-Download vertrieben. Ganz zu schweigen davon,
|
|
daß das Angebot von Metro Link zum sehr
|
|
günstigen Preis von 39 Dollar erhältlich
|
|
ist.<anchor id="metrox"></para>
|
|
|
|
<para>Metro Link bietet auch Motif für FreeBSD sowohl
|
|
im ELF-, als auch im a.out-Format an (siehe oben).</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Weitere Informationen</term>
|
|
|
|
<listitem>
|
|
<para><ulink URL="http://www.metrolink.com/">Metro
|
|
Link Web-Seite</ulink></para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="mailto:sales@metrolink.com">Vertrieb</ulink>
|
|
oder <ulink
|
|
URL="mailto:tech@metrolink.com">Support</ulink>
|
|
Email-Adressen.</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para>Telefon (954) 938-0283 oder +1 954
|
|
938-0283</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Das Angebot von Xi Graphics besteht aus einem
|
|
leistungsfähigen X-Server, der einfache Konfiguration
|
|
und Unterstützung für den parallelen Einsatz
|
|
mehrerer Videokarten bietet. Es wird in binärer Form
|
|
in einer einheitlichen Diskettendistribution für
|
|
FreeBSD und Linux vertrieben. XI Graphics bietet auch
|
|
leistungsfähige X-Server, die auf die
|
|
Unterstützung von Laptops zugeschnitten sind.
|
|
<anchor id="xig"></para>
|
|
|
|
<para>Es gibt ein kostenloses
|
|
<quote>Kompatibilitäts-Demo</quote> der Version
|
|
5.0.</para>
|
|
|
|
<para>Xi Graphics vertreibt auch Motif und CDE für
|
|
FreeBSD (siehe oben).</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Weitere Informationen</term>
|
|
|
|
<listitem>
|
|
<para><ulink URL="http://www.xig.com/">Xi Graphics
|
|
Web-Seite</ulink></para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="mailto:sales@xig.com">Vertrieb</ulink> oder
|
|
<ulink URL="mailto:support@xig.com">Support</ulink>
|
|
Email-Adressen.</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para>Telefon (800) 946 7433 oder +1 303
|
|
298-7478.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="database-systems">
|
|
<para>Gibt es irgendwelche Datenbanksysteme für
|
|
FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja! Lesen Sie den Abschnitt <ulink
|
|
URL="http://www.de.FreeBSD.org/commercial/software_bycat.html#CATEGORY_DATABASE">kommerzielle
|
|
Anbieter</ulink> auf der FreeBSD-Web-Seite.</para>
|
|
|
|
<para>Schauen Sie auch im Abschnitt <ulink
|
|
URL="http://www.de.FreeBSD.org/ports/databases.html">Datenbanken</ulink>
|
|
der Ports-Sammlung nach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="oracle-support">
|
|
<para>Kann ich Oracle unter FreeBSD laufen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Die folgenden Seiten beschreiben genau, wie
|
|
Linux-Oracle unter FreeBSD einzustellen ist:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
URL="http://www.scc.nl/~marcel/howto-oracle.html">http://www.scc.nl/~marcel/howto-oracle.html</ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd">http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd</ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</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="http://www.de.FreeBSD.org/ports/">die
|
|
Ports-Seite</ulink>, um Informationen über die nach
|
|
FreeBSD portierten Softwarepakete zu erhalten. Die Liste
|
|
enthält zur Zeit 3400 Einträge und wächst
|
|
täglich. Schauen Sie hier also öfter nach oder
|
|
melden Sie sich bei der <link
|
|
linkend="mailing">Mailingliste</link><literal>freebsd-announce</literal>
|
|
an, um sich regelmäßig über
|
|
Änderungen zu informieren.</para>
|
|
|
|
<para>Die meisten Ports sind für die Zweige 2.2, 3.0
|
|
und 4.x erhältlich; viele von ihnen sollten auch auf
|
|
2.1.x-Systemen laufen. Jedesmal, wenn ein FreeBSD-Release
|
|
erstellt wird, wird auch ein Snapshot des Port-Baumes vom
|
|
Zeitpunkt des Releases in das Verzeichnis
|
|
<filename>ports/</filename> eingefügt.</para>
|
|
|
|
<para>Wir unterstützen auch das Konzept von
|
|
<quote>Packages</quote> - im Grunde genommen nicht mehr
|
|
als gezippte Binärdistributionen mit ein wenig
|
|
zusätzlicher Intelligenz zur Ermöglichung
|
|
angepaßter Installationen. Ein Package kann leicht
|
|
installiert und wieder deinstalliert werden, ohne,
|
|
daß man etwas über wissen muß, welche
|
|
Dateien es enthält.</para>
|
|
|
|
<para>Benutzen Sie das Paketinstallationsmenue in
|
|
<filename>/stand/sysinstall</filename> (unter dem
|
|
Menuepunkt post-configuration) oder führen Sie den
|
|
Befehl <command>pkg_add(1)</command> mit den speziellen
|
|
Paketdateien aus, die Sie installieren möchten.
|
|
Paketdateien können für gewöhnlich an der
|
|
Endung <filename>.tgz</filename> erkannt werden und
|
|
diejenigen, die über eine CDROM-Distribution
|
|
verfügen, haben auf ihrer CD ein Verzeichnis
|
|
<filename>packages/All</filename>, das solche Dateien
|
|
enthält. Für verschiedene FreeBSD-Versionen
|
|
können sie von folgenden Adressen auch über das
|
|
Netz heruntergeladen werden:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>für 2.2.8-RELEASE/2.2.8-STABLE</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/</ulink></para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 3.X-RELEASE/3.X-STABLE</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/</ulink></para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 4.X-RELEASE/4-STABLE</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 5.0-CURRENT</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>oder von Ihrem nächstgelegenen Mirror.</para>
|
|
|
|
<para>Beachten Sie, daß 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="minimal-sh">
|
|
<para>Warum ist <command>/bin/sh</command> so spartanisch?
|
|
Warum benutzt FreeBSD nicht die <command>bash</command>
|
|
oder eine ähnliche Shell?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Weil der POSIX-Standard definiert, daß es so
|
|
eine Shell geben muß.</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, muß
|
|
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 lasen, haben wir viele der
|
|
Annehmlichkeiten der anderen Shells weggelassen. Aus
|
|
diesem Grund gibt es in den Ports die luxuriöseren
|
|
Shells wie bash, scsh, tcsh und zsh. Vergleichen Sie
|
|
einfach mal den Speicherverbrauch der verschiedenen
|
|
Shells, indem Sie <command>ps -u</command> aufrufen und
|
|
sich die Angaben in den Spalten <quote>VSZ</quote> und
|
|
<quote>RSS</quote> ansehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-libcso30">
|
|
<para>Wo finde ich libc.so.3.0?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie versuchen, ein Package für 2.2 oder neuer auf
|
|
einem 2.1.x-System laufen zu lassen. Bitte lesen Sie den
|
|
vorherigen Abschnitt und besorgen Sie sich den passenden
|
|
Port/das passende Package für Ihr System.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-libcso40">
|
|
<para>Ich erhalte die Meldung <literal>Error: can't find
|
|
libc.so.4.0</literal></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben versehentlich ein Package für ein 4.X-
|
|
oder 5.X-System heruntergeladen und versucht, es auf einem
|
|
2.X- oder 3.X-System zu benutzen. Bitte besorgen Sie sich
|
|
die für ihr System korrekte Version des
|
|
Packages.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="emul">
|
|
<para>ghostscript produziert einen Menge Fehler auf meinem
|
|
386/486SX.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben keinen mathematischen Co-Prozessor, richtig?
|
|
Sie werden den alternativen mathematischen Emulator zu
|
|
Ihren Kernel hinzufügen müssen; tun Sie das,
|
|
indem Sie die folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei einfügen, wodurch der
|
|
Emulator in den Kernel kompiliert wird:</para>
|
|
|
|
<programlisting>
|
|
options GPL_MATH_EMULATE
|
|
</programlisting>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Sie müssen die Option
|
|
<symbol>MATH_EMULATE</symbol> hierzu
|
|
entfernen.</para>
|
|
</note>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sco-socksys">
|
|
<para>Wenn ich eine SCO/iBCS2-Anwendung laufen lasse, werden
|
|
mir Fehler bei <literal>socksys</literal> gemeldet (nur
|
|
für FreeBSD 3.0 und ältere Systeme).</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie müssen zunächst den letzten Abschnitt
|
|
der Datei <filename>/etc/sysconfig</filename> (oder
|
|
<filename>/etc/rc.conf</filename>) editieren und die
|
|
folgende Variable auf <literal>YES</literal>
|
|
setzen:</para>
|
|
|
|
<programlisting>
|
|
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
|
|
ibcs2=NO
|
|
</programlisting>
|
|
|
|
<para>Hierdurch wird das Kernelmodul ibcs2 beim Hochfahren
|
|
geladen.</para>
|
|
|
|
<para>Dann müssen Sie /compat/ibcs2/dev so
|
|
einrichten:</para>
|
|
|
|
<screen>
|
|
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
|
|
lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
|
|
-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
|
|
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
|
|
crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
|
|
</screen>
|
|
|
|
<para>socksys kann einfach auf
|
|
<filename>/dev/null</filename> zeigen, um open & close
|
|
eine reguläre Datei vorzutäuschen. Der code in
|
|
-CURRENT wird sich um den Rest kümmern. Dieses
|
|
Vorgehen ist wesentlich sauberer, als bisher. Falls Sie
|
|
den Treiber <devicename>spx</devicename> für lokale
|
|
Socket-X-Verbindungen möchten, definieren Sie
|
|
<literal>SPX_HACK</literal>, wenn Sie das System
|
|
kompilieren.</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 INN ist <ulink
|
|
URL="http://www.cis.ohio-state.edu/~barr/INN.html">Dave
|
|
Barr's INN-Seite</ulink>, wo Sie die INN-FAQ
|
|
finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ms-frontpage">
|
|
<para>Welche Version von Microsoft FrontPage sollte ich mir
|
|
besorgen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie den Port! Im Ports-Verzeichnis gibt es
|
|
eine vorbereitete Version von Apache.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="java">
|
|
<para>Unterstützt FreeBSD Java?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Schauen Sie bitte hier <ulink
|
|
URL="http://www.de.FreeBSD.org/java/">http://www.de.FreeBSD.org/java/</ulink>
|
|
nach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-3x">
|
|
<para>Warum kann ich manche Ports auf meiner
|
|
3.X-STABLE-Machine nicht erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie eine FreeBSD-Version benutzen, die deutlich
|
|
älter als das aktuelle -CURRENT oder -STABLE ist,
|
|
könnte es sein, daß Sie ein Ports-Upgrade-Kit
|
|
von <ulink
|
|
URL="http://www.de.FreeBSD.org/ports/">http://www.de.FreeBSD.org/ports/</ulink>
|
|
benötigen. Wenn Sie auf dem neuesten Stand sind,
|
|
könnte es sein, daß jemand eine Änderung
|
|
des Ports durchgeführt hat, die für -CURRENT
|
|
funktioniert, den Port für -STABLE aber unbrauchbar
|
|
gemacht hat. Bitte senden Sie einen Fehlerbericht mit dem
|
|
Befehl <command>send-pr</command>. Von der Ports-Sammlung
|
|
wird nämlich erwartet, daß sie sowohl auf
|
|
-CURRENT als auch auf -STABLE funktioniert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="find-ldso">
|
|
<para>Wo finde ich ld.so?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie aout-Anwendungen wie den Netscape-Navigator
|
|
auf einer ELF-basierten Maschine wie 3.1-R oder
|
|
spätere laufen lassen möchten, werden Sie
|
|
<filename>/usr/libexec/ld.so</filename> und einige
|
|
aout-Bibliotheken benötigen. Sie sind in der
|
|
Distribution compat22 enthalten. Benutzen Sie
|
|
<filename>/stand/sysinstall</filename> oder
|
|
<filename>install.sh</filename> im Unterverzeichnis
|
|
compat22, um sie zu installieren. Lesen Sie auch die
|
|
ERRATAs für 3.1-R und 3.2-R.</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="../handbook/kernelconfig.html">Abschnitt zur
|
|
Kernelkonfiguration im Handbuch</ulink>.</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Ich empfehle Ihnen, einen datierten Snapshot Ihres
|
|
Kernels als <filename>kernel.YYMMDD</filename> zu
|
|
erstellen, nachdem Sie alles zum Laufen gebracht
|
|
haben. Auf diese Weise können Sie diesen Kernel
|
|
hochfahren, anstatt den ganzen Weg zurück zu
|
|
<filename>kernel.GENERIC</filename> gehen zu
|
|
müssen, wenn Sie das nächste Mal mit Ihrer
|
|
Konfiguration herumexperimentieren und dabei etwas
|
|
falsch machen sollten. Das ist besonders wichtig,
|
|
wenn Sie nun von einem Controller booten, der vom
|
|
GENERIC-Kernel nicht unterstützt wird (ja, das
|
|
beruht auf persönlichen Erfahrungen).</para>
|
|
</note>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-hw-float">
|
|
<para>Meine Kernel-Kompilierungen schlagen fehl, weil
|
|
<literal>_hw_float</literal> fehlt.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lassen Sie mich raten. Sie haben
|
|
<devicename>npx0</devicename> aus Ihrer
|
|
Konfigurationsdatei entfernt, weil Sie keinen
|
|
mathematischen Co-Prozessor besitzen, richtig? Falsch! :-)
|
|
<devicename>npx0</devicename> ist <emphasis>zwingend
|
|
erforderlich</emphasis>. Auch, wenn Sie keinen
|
|
mathematischen Co-Prozessor besitzen,
|
|
<emphasis>müssen</emphasis> Sie das Gerät
|
|
<devicename>npx0</devicename> einbinden.</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, daß die Verwendung
|
|
eines Debug-Kernels bei FreeBSD 3.0 und neueren Version
|
|
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 <command>config</command> 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>Interrupt-Konflikte mit dem Code für die serielle
|
|
Multi-Port-Schnittstelle.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn ich einen Kernel mit Unterstützung für
|
|
serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
|
|
den Hinweis, daß 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, daß in FreeBSD 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>Ich kann überhaupt keinen Kernel compilieren,
|
|
nicht einmal den Standard-Kernel (GENERIC).</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt eine Reihe von möglichen Ursachen
|
|
für dieses Problem:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Sie benutzen die neuen Kommandos <command>make
|
|
buildkernel</command> und <command>make
|
|
installkernel</command> nicht, obwohl die Sourcen auf
|
|
Ihrem System nicht zum laufenden System passen (z.B.
|
|
benutzen Sie die Sourcen von 4.2-RELEASE auf einem
|
|
System mit 4.0-RELEASE). Wenn Sie ein Upgrade
|
|
durchführen wollen, sollten Sie
|
|
<filename>/usr/src/UPDATING</filename> lesen, beachten
|
|
Sie insbesondere den Abschnitt <quote>COMMON
|
|
ITEMS</quote> gegen Ende des Dokuments.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie benutzen zwar <command>make
|
|
buildkernel</command> und <command>make
|
|
installkernel</command>, aber Sie haben nicht darauf
|
|
geachtet, daß vorher ein komplettes
|
|
<command>make buildworld</command> durchgelaufen sein
|
|
muß. Um seine Arbeit erledigen zu können,
|
|
benötigt <command>make buildkernel</command>
|
|
Dateien, die von <command>make buildworld</command>
|
|
erzeugt werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Auch wenn Sie <link
|
|
linkend="stable">FreeBSD-STABLE</link> verwenden, ist
|
|
es durchaus möglich, daß 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, daß Sie die Sourcen
|
|
compilieren können, gibt es nur für die
|
|
Releases, bei <link
|
|
linkend="stable">FreeBSD-STABLE</link> ist das nicht
|
|
immer so. Wenn Sie es noch nicht versucht haben,
|
|
sollten Sie ihre Source nochmals aktualisieren. Es
|
|
ist denkbar, daß der von Ihnen genutzte Server
|
|
zur Zeit Probleme hat, benutzten Sie daher testweise
|
|
auch einmal einen anderen Server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</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>Für die Versionen 2.0.5R bis 2.2.1R heißt
|
|
die primäre Konfigurationsdatei
|
|
<filename>/etc/sysconfig</filename>. Alle Optionen
|
|
müssen in dieser Datei angegeben werden und andere
|
|
Dateien wie <filename>/etc/rc</filename> und
|
|
<filename>/etc/netstart</filename> übernehmen sie
|
|
einfach hieraus.</para>
|
|
|
|
<para>Sehen Sie in die Datei
|
|
<filename>/etc/sysconfig</filename> und ändern Sie
|
|
die Werte entsprechend Ihrem System. Diese Datei
|
|
enthält Kommentare, die die möglichen
|
|
Einstellungen erklären.</para>
|
|
|
|
<para>In den Versionen nach 2.2.1 und 3.0 erhielt
|
|
<filename>/etc/sysconfig</filename> den
|
|
aussagekräftigeren Namen <filename>rc.conf</filename>
|
|
und die Syntax wurde bei dieser Gelegenheit auch etwas
|
|
bereinigt. <filename>/etc/netstart</filename> wurde
|
|
ebenfalls in <filename>/etc/rc.network</filename>
|
|
umbenannt, so daß alle Dateien nun mit dem Befehl
|
|
<command>cp /usr/src/etc/rc* /etc</command> kopiert werden
|
|
können.</para>
|
|
|
|
<para>Seit FreeBSD 3.1 ist <filename>rc.conf</filename> als
|
|
<filename>/etc/defaults/rc.conf</filename> verfügbar.
|
|
<emphasis>Ändern Sie diese Datei nicht!</emphasis>
|
|
Wenn Sie den Wert einer der in
|
|
<filename>/etc/defaults/rc.conf</filename> gesetzten
|
|
Variablen ändern wollen, sollten Sie die
|
|
entsprechende Zeile an die Datei
|
|
<filename>/etc/rc.conf</filename> anfügen und sie
|
|
dort ändern.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel den ab FreeBSD 3.1
|
|
mitgelieferten DNS Server named 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 in FreeBSD 3.1 und späteren Versionen
|
|
lokale Server starten wollen, müssen Sie passende
|
|
Shellscripts im Verzeichnis
|
|
<filename>/usr/local/etc/rc.d/</filename> ablegen. Die
|
|
Dateien müssen als ausführbar markiert sein und
|
|
die Endung .sh haben. Wenn Sie FreeBSD 3.0 oder eine noch
|
|
ältere Version benutzen, müssen Sie die Datei
|
|
<filename>/etc/rc.local</filename> ändern.</para>
|
|
|
|
<para>Die Datei <filename>/etc/rc.serial</filename> dient
|
|
zur Initialisierung serieller Schnittstellen (z.B.
|
|
Einstellung der Schnittstelleneigenschaften usw.).</para>
|
|
|
|
<para>Die Datei <filename>/etc/rc.i386</filename> dient
|
|
für Intel-spezifische Einstellungen wie
|
|
iBCS2-Emulation oder Konfiguration der
|
|
PC-Systemkonsole.</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 <command>adduser</command> und
|
|
für kompliziertere Fälle den Befehl
|
|
<command>pw</command>.</para>
|
|
|
|
<para>Benutzen Sie den Befehl <command>rmuser</command> um
|
|
einen Benutzer wieder zu löschen. Sie können
|
|
hierzu auch <command>pw</command> benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="adding-disks">
|
|
<para>Wie kann ich meine neue Festplatte in mein
|
|
FreeBSD-System einbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie das Tutorial zur Festplattenformatierung
|
|
unter <ulink
|
|
URL="../tutorials/formatting-media/">www.de.FreeBSD.org</ulink>.</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 ZIP-
|
|
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
|
|
Kassete/Diskette/was_auch_immer eingelegt haben, ist das
|
|
Vorgehen bei allen Geräten ziemlich
|
|
ähnlich.</para>
|
|
|
|
<para><anchor id="disklabel">(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 msdos /dev/fd0c /floppy</userinput>
|
|
</screen>
|
|
|
|
<para>oder diesen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mount -t msdos /dev/da2s4 /zip</userinput>
|
|
</screen>
|
|
|
|
<para>für eine ZIP-Disk mit der
|
|
Herstellerkonfiguration.</para>
|
|
|
|
<para>Benutzen Sie bei anderen Platten
|
|
<command>fdisk</command> oder
|
|
<filename>/stand/sysinstall</filename>, um herauszufinden,
|
|
wie sie konfiguriert sind.</para>
|
|
|
|
<para>Die restlichen Beispiele sind für ein
|
|
ZIP-Laufwerk unter da2, 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
|
|
<command>fdisk</command> oder
|
|
<command>/stand/sysinstall</command> 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 disklabel oder
|
|
<command>/stand/sysinstall</command> 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="root-not-found-cron-errors">
|
|
<para>Warum erhalte ich Meldungen wie <errorname>root: not
|
|
found</errorname>, nachdem ich meine crontab geändert
|
|
habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die übliche Ursache dieses Problems ist,
|
|
daß Sie die crontab des Systems
|
|
(<filename>/etc/crontab</filename>) geändert und dann
|
|
mit &man.crontab.1; installiert haben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen>
|
|
|
|
<para>Diese Vorgehensweise ist falsch. Die crontab des
|
|
Systems hat ein anderes Format als die crontabs für
|
|
die einzelnen Benutzer, die mit &man.crontab.1;
|
|
aktualisiert werden (genauere Informationen über die
|
|
Unterschiede erhalten Sie in &man.crontab.5).</para>
|
|
|
|
<para>Wenn Sie so vorgegangen sind, ist die zweite crontab
|
|
einfach nur eine Kopie von
|
|
<filename>/etc/crontab</filename>, allerdings im falschen
|
|
Format. Löschen Sie sie mit dem folgenden
|
|
Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab -r</userinput></screen>
|
|
|
|
<para>Wenn Sie <filename>/etc/crontab</filename> wieder
|
|
ändern müssen, sollten Sie einfach gar nichts
|
|
tun, um &man.cron.8; über die Änderung zu
|
|
informieren, er erkennt die Änderung
|
|
automatisch.</para>
|
|
|
|
<para>Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden
|
|
Monat ausführen lassen wollen, ist es wahrscheinlich
|
|
einfacher, wenn Sie entsprechende Shell-Scripte in
|
|
<filename>/usr/local/etc/periodic</filename> ablegen.
|
|
Diese werden dann von &man.periodic.8; zusammen mit den
|
|
anderen regelmäßigen Tätigkeiten
|
|
ausgeführt.</para>
|
|
|
|
<para>Der eigentliche Grund für den Fehler ist die
|
|
Tatsache, daß 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="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>Wenn Sie aufgefordert werden, den Pfadnamen der Shell
|
|
einzugeben, drücken Sie einfach
|
|
<literal>ENTER</literal>. Geben Sie danach <command>mount
|
|
/</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="mount-dos">
|
|
<para>Wie mounte ich eine erweiterte DOS-Partition?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die erweiterten DOS-Partitionen befinden sich hinter
|
|
ALLEN primären Partitionen. Wenn sich zum Beispiel
|
|
eine Partition <quote>E</quote> als sekundäre
|
|
DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet,
|
|
müssen Sie die speziellen Dateien für
|
|
<quote>Slice 5</quote> im Verzeichnis
|
|
<filename>/dev</filename> erstellen und dann
|
|
<filename>/dev/da1s5</filename> mouten:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV da1s5</userinput>
|
|
&prompt.root; <userinput>mount -t msdos /dev/da1s5 /dos/e</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-foreign-fs">
|
|
<para>Kann ich andere fremde Dateisysteme unter FreeBSD
|
|
mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><literal>Digital UNIX</literal>-UFS-CDROMs können
|
|
unter FreeBSD 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>
|
|
|
|
<para><literal>Linux</literal>: 2.2 und spätere
|
|
unterstützen <literal>ext2fs</literal>-Partitionen.
|
|
Unter &man.mount.ext2fs.8; finden Sie weitere
|
|
Informationen.</para>
|
|
|
|
<para><literal>NT</literal>: Es gibt einen NTFS-Treiber, der
|
|
nur Lesezugriffe gestattet. Weitere Informationen finden
|
|
Sie im Tutorium von Mark Ovens unter <ulink
|
|
URL="http://ukug.uk.freebsd.org/~mark/ntfs_install.html">http://ukug.uk.freebsd.org/~mark/ntfs_install.html</ulink>.</para>
|
|
|
|
<para>Für weitere Informationen zu diesem Thema
|
|
wären wir sehr dankbar.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nt-bootloader">
|
|
<para>Wie kann ich den NT-Loader zum Booten von FreeBSD
|
|
verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Prozedur unterscheidet sich für die Systeme
|
|
2.2.x and 3.x (mit dem dreistufigen Bootprozeß)
|
|
geringfügig.</para>
|
|
|
|
<para>Das grundsätzliche Vorgehen besteht darin,
|
|
daß Sie den ersten Sektor Ihrer eigentlichen
|
|
FreeBSD-Rootpartition in eine Datei auf der
|
|
DOS/NT-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="FreeBSD"
|
|
C:\="DOS"
|
|
</programlisting>
|
|
|
|
<para>Bei 2.2.x-Systemen wird für diese Prozedur
|
|
angenommen, daß DOS, NT, FreeBSD oder was auch
|
|
immer, in den entsprechenden Partitionen auf
|
|
<emphasis>derselben</emphasis> Platte installiert wurden.
|
|
In meinem Fall befinden sich DOS & NT auf der ersten
|
|
fdisk-Partition und FreeBSD in der zweiten.
|
|
Außerdem habe ich FreeBSD so installiert, daß
|
|
es von seiner Partition bootet, und
|
|
<emphasis>nicht</emphasis> vom MBR.</para>
|
|
|
|
<para>Mounten Sie eine DOS-formatierte Diskette (falls Sie
|
|
nach NTFS gewechselt haben) oder die FAT-Partition z.B.
|
|
unter <filename>/mnt</filename>.</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1</userinput>
|
|
</screen>
|
|
|
|
<para>Rebooten Sie mit DOS oder NT. Benutzer von NTFS
|
|
kopieren nun die Dateien <filename>bootsect.bsd</filename>
|
|
und/oder <filename>bootsect.lnx</filename> von der
|
|
Diskette nach <filename>C:\</filename>. Ändern Sie
|
|
die Attribute (Rechte) von <filename>boot.ini</filename>
|
|
mit:</para>
|
|
|
|
<screen>
|
|
<prompt>C:\></prompt>attrib -s -r c:\boot.ini
|
|
</screen>
|
|
|
|
<para>Editieren Sie nun die Datei und fügen Sie die
|
|
entsprechenden Einträge aus dem obigen
|
|
<filename>boot.ini</filename>-Beispiel hinzu und setzen
|
|
dann wieder die alten Attribute:</para>
|
|
|
|
<screen>
|
|
<prompt>C:\></prompt>attrib +s +r c:\boot.ini
|
|
</screen>
|
|
|
|
<para>Falls FreeBSD vom MBR bootet, restaurieren Sie den MBR
|
|
mit dem DOS-Befehl <command>fdisk</command>, nachdem Sie
|
|
FreeBSD so umkonfiguriert haben, daß es von seiner
|
|
Partition bootet.</para>
|
|
|
|
<para>Für die FreeBSD-Systeme 3.x ist die Prozedur
|
|
etwas einfacher.</para>
|
|
|
|
<para>Falls FreeBSD auf derselben Platte, wie die
|
|
NT-Bootpartition installiert ist, kopieren Sie einfach
|
|
<filename>/boot/boot1</filename> nach
|
|
<filename>C:\BOOTSECT.BSD</filename>. Falls FreeBSD auf
|
|
einer anderen Platte installiert ist, wird
|
|
<filename>/boot/boot1</filename> nicht funktionieren; Sie
|
|
brauchen in diesem Fall
|
|
<filename>/boot/boot0</filename>.</para>
|
|
|
|
<para>
|
|
<warning>
|
|
<para>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!</para>
|
|
</warning>
|
|
</para>
|
|
|
|
<para><filename>/boot/boot0</filename> muß mit
|
|
sysinstall installiert werden. Wählen Sie dazu den
|
|
FreeBSD-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 sysinstall
|
|
ausgefüllt wird, bevor
|
|
<filename>/boot/boot0</filename> in den MBR kopiert
|
|
wird.</para>
|
|
|
|
<para>Wenn der Bootmanager von FreeBSD gestartet wird, merkt
|
|
er sich das zuletzt gestartet Betriebssystem, indem er
|
|
dessen Partition als aktiv markiert. Danach kopiert er
|
|
sich selbst (alle 512 Bytes) in den MBR. Wenn Sie also
|
|
einfach <filename>/boot/boot0</filename> nach
|
|
<filename>C:\BOOTSECT.BSD</filename> kopieren, würde
|
|
der Bootmanager eine leere Partitionstabelle (mit einem
|
|
als <quote>aktiv</quote> markiertem Eintrag) in den MBR
|
|
kopieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="lilo-bootloader">
|
|
<para>Wie boote ich FreeBSD und Linux mit LILO?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls sich FreeBSD und Linux auf derselben Platte
|
|
befinden, folgen Sie einfach den Installationsanweisungen
|
|
von LILO zum booten eines Nicht-Linux-Betriebssystems.
|
|
Ganz knapp sind dies:</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=FreeBSD
|
|
</programlisting>
|
|
|
|
<para>(hierbei wird angenommen, daß Ihre
|
|
FreeBSD-Partition Linux unter
|
|
<filename>/dev/hda2</filename> 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 FreeBSD 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=FreeBSD
|
|
</programlisting>
|
|
|
|
<para>In einigen Fällen könnte es sein, daß
|
|
Sie beim FreeBSD-Bootloader die BIOS-Laufwerksnummer
|
|
angeben müssen, um von der zweiten Platte booten zu
|
|
können. Wenn Ihre FreeBSD-SCSI-Platte vom BIOS zum
|
|
Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
|
|
am Prompt des FreeBSD-Bootloaders eingeben:</para>
|
|
|
|
<screen>
|
|
Boot: <userinput>1:da(0,a)/kernel</userinput>
|
|
</screen>
|
|
|
|
<para>Seit Version 2.2.5 können Sie &man.boot.8; so
|
|
konfigurieren, daß das beim Booten automatisch
|
|
geschieht.</para>
|
|
|
|
<para>Das <ulink
|
|
URL="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD
|
|
mini-HOWTO</ulink> ist ein guter Ratgeber bei Fragen zur
|
|
Interaktion von FreeBSD und Linux.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="booteasy-loader">
|
|
<para>Wie boote ich FreeBSD und Linux mit BootEasy?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie LILO am Anfang Ihrer
|
|
Linux-Bootpartition, anstatt im Master Boot Record. Sie
|
|
können LILO dann von BootEasy aus booten.</para>
|
|
|
|
<para>Wenn Sie Windows-95 und Linux benutzen, wird das
|
|
ohnehin empfohlen, um es einfacher zu machen, Linux wieder
|
|
zu booten, wenn es nötig werden sollte, daß Sie
|
|
Windows95 neu installieren (Windows95 ist ein
|
|
eifersüchtiges Betriebssystem, das kein anderes
|
|
Betriebssystem im Master Boot Sektor duldet).</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
|
|
fdisk-Tabelleneinträge (unter FreeBSD
|
|
<quote>slices</quote> genannt) mit einem FreeBSD-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 FreeBSD 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
|
|
fdisk-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 FreeBSD beschädigen, ohne Sie zu fragen
|
|
oder darauf hinzuweisen. Hinzu kommt, daß vom
|
|
Layout von <quote>dangerously dedicated</quote> Platten
|
|
bekannt ist, daß 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 <quote>read
|
|
error</quote>-Meldungen, die vom FreeBSD-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 FreeBSD
|
|
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 FreeBSD Slices erstellt,
|
|
muß 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,
|
|
daß 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
|
|
Installationprogramm startet, wird der Kernel eine Liste
|
|
mit den BIOS-Geometrien ausgeben. Keine Panik - warten
|
|
Sie, bis das Installationsprogramm gestartet wurde und
|
|
benutzen Sie Scrollback, um die Zahlen zu lesen.
|
|
Typischerweise befinden sich die BIOS-Platten in derselben
|
|
Reihenfolge, wie FreeBSD Ihre Platten auflistet - zuerst
|
|
IDE, dann SCSI.</para>
|
|
|
|
<para>Wenn Sie Ihre Festplatte in Slices unterteilen,
|
|
überprüfen Sie, ob die Plattengeometrie, die im
|
|
FDISK-Menue angegeben ist, korrekt ist (d.h. mit den
|
|
Einstellungen im BIOS übereinstimmen). Falls die
|
|
Werte nicht stimmen, benutzen Sie <literal>g</literal>, 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, daß dies nur für die
|
|
Festplatte nötig ist, von der Sie booten wollen. Mit
|
|
weiteren vorhandenen Platten wird FreeBSD sich problemlos
|
|
zurechtfinden.</para>
|
|
|
|
<para>Wenn Sie es geschafft haben, daß das BIOS und
|
|
FreeBSD in der Festplattengeometrie übereinstimmen,
|
|
dann sind Ihre Probleme ziemlich sicher vorüber -
|
|
ohne, daß es nötig gewesen wäre, den
|
|
<quote>DD</quote>-Modus zu benutzen. Falls sie jedoch
|
|
immer noch mit der gefürchteten <quote>read
|
|
error</quote>-Meldung begrüßt werden sollten,
|
|
wenn Sie versuchen, zu booten, wird es Zeit, daß 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,
|
|
daß es sich um eine leere Festplatte handelt. Sie
|
|
können das zum Beispiel so tun:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda0 count=15</userinput>
|
|
</screen>
|
|
|
|
<para>Alternativ installiert der undokumentierte
|
|
DOS-Befehl</para>
|
|
|
|
<screen>
|
|
<prompt>C:\></prompt> <userinput>fdisk /mbr</userinput>
|
|
</screen>
|
|
|
|
<para>einen neuen Master-Boot-Record, d.h. der BSD-Bootstrap
|
|
wird zestört.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="add-swap-space">
|
|
<para>Wie kann ich den Swap-Bereich
|
|
vergrößern?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der beste Weg ist, Ihre Swap-Partition zu
|
|
vergrößern, oder sie nutzen diese bequeme
|
|
Ausrede, um eine weitere Festplatte einzubauen. Eine
|
|
gebräuchliche Faustregel ist, einen etwa doppelt so
|
|
großen Swap-Bereich zu nutzen, wie Hauptspeicher
|
|
vorhanden ist. Falls Sie jedoch nur über sehr wenig
|
|
Hauptspeicher verfügen, werden Sie wahrscheinlich
|
|
einen größeren Swap-Bereich konfigurieren
|
|
wollen. Es ist auch sinnvoll, genügend Swap-Bereich
|
|
im Hinblick auf geplante zukünftige
|
|
Hauptspeichererweiterungen zu konfigurieren, damit Sie
|
|
sich später nicht mit der Konfiguration Ihres
|
|
Swap-Bereiches herumärgern müssen.</para>
|
|
|
|
<para>Das Hinzufügen eines Swap-Bereichs auf einer
|
|
separaten Platte, ist effizienter, als einfach einen
|
|
Swap-Bereich auf derselben Platte hinzuzufügen. Wenn
|
|
Sie zum Beispiel Quellcode auf einer Platte kompilieren
|
|
und der Swap-Bereich sich auf einer anderen Platte
|
|
befindet, geschieht das viel schneller, als wenn beides,
|
|
Swapping und Kompilierung auf derselben Platte stattfinden
|
|
würden. Das trifft ganz besonders auf SCSI-Platten
|
|
zu.</para>
|
|
|
|
<para>Wenn Sie mehrere Festplatten besitzen, lohnt es sich
|
|
für gewöhnlich, auf jeder einzelnen einen
|
|
Swap-Bereich zu konfigurieren, auch, wenn das bedeutet,
|
|
einen Swap-Bereich auf einer bereits verwendeten Platte
|
|
einzurichten. Typischerweise sollte jede schnelle Platte
|
|
in Ihrem System mit etwas Swap-Bereich konfiguriert
|
|
werden. FreeBSD unterstützt standardmäßig
|
|
bis zu vier interleaved Swap-Geräte. Bei der
|
|
Konfiguration mehrerer Swap-Bereiche werden sie
|
|
grundsätzlich alle mit derselben Größe
|
|
anlegen wollen, aber manchmal verwenden Benutzer eine
|
|
größere primäre Swap-Partition, um einen
|
|
Hauptspeicherauszug vom Kernel darin aufnehmen zu
|
|
können. Ihre primäre Swap-Partition muß
|
|
mindestens so groß wie der Hauptspeicher sein, um
|
|
einen Hauptspeicherauszug vom Kernel aufnehmen zu
|
|
können.</para>
|
|
|
|
<para>IDE-Laufwerke können keinen gleichzeitigen
|
|
Zugriff auf beide Laufwerke auf demselben Kanal zuzulassen
|
|
(FreeBSD unterstützt nicht den Modus 4, also ist
|
|
jeglicher Lese-/Schreibzugriff auf IDE-Platten
|
|
<quote>programmiert</quote>). Ich würde dennoch
|
|
empfehlen, Ihren Swap-Bereich auf einem separaten Laufwerk
|
|
anzulegen; die Laufwerke sind so günstig, daß
|
|
es nicht lohnt, sich darüber Gedanken zu
|
|
machen.</para>
|
|
|
|
<para>Swapping über NFS ist nur zu empfehlen, wenn Sie
|
|
keine lokale Platte zum Swappen besitzen. Bei
|
|
FreeBSD-Versionen vor 4.x ist Swapping über NFS
|
|
langsam und ineffizient, aber erstaunlich schnell bei
|
|
Versionen größer oder gleich 4.0. Dennoch wird
|
|
es durch die verfügbare Bandbreite des Netzes
|
|
begrenzt sein und belastet den NFS-Server
|
|
zusätzlich.</para>
|
|
|
|
<para>Hier ist ein Beispiel für einen VN-Swap-Bereich
|
|
von 64MB (<filename>/usr/swap0</filename>, Sie können
|
|
natürlich jeden beliebigen Namen benutzen).</para>
|
|
|
|
<para>Stellen Sie sicher, daß Ihr Kernel mit der
|
|
Zeile</para>
|
|
|
|
<programlisting>
|
|
pseudo-device vn 1 #Vnode driver (turns a file into a device)
|
|
</programlisting>
|
|
|
|
<para>in Ihrer Konfigurationsdatei erstellt worden ist. Der
|
|
Standard-Kernel enthält sie bereits.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Erstellen Sie ein vn-Gerät</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh ./MAKEDEV vn0</userinput>
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erstellen Sie eine Swap-Datei
|
|
(<filename>/usr/swap0</filename>)</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput>
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Setzen Sie geeignete Zugriffsrechte für
|
|
(<filename>/usr/swap0</filename>)</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput>
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Aktivieren Sie die Swapdatei in
|
|
<filename>/etc/rc.conf</filename></para>
|
|
|
|
<programlisting>
|
|
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Rebooten Sie die Maschine</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Um die Swapdatei direkt zu aktivieren, geben Sie
|
|
folgendes ein:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>vnconfig -ce /dev/vn0c /usr/swap0 swap</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="printer-setup">
|
|
<para>Ich habe Probleme, meinen Drucker
|
|
einzurichten.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bitte sehen Sie im Handbucheintrag über Drucker
|
|
nach. Es sollte die meisten Ihrer Probleme behandeln.
|
|
Lesen sie den <ulink
|
|
URL="../handbook/printing.html">Handbucheintrag über
|
|
Drucker</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="keyboard-mappings">
|
|
<para>Die Tastatureinstellungen für mein System stimmen
|
|
nicht.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Programm kbdcontrol bietet eine Option zum Laden
|
|
einer Tastaturzuordnungsdatei. Unter
|
|
<filename>/usr/share/syscons/keymaps</filename> befinden
|
|
sich einige Tastaturzuordnungsdateien. Wählen Sie
|
|
die zu Ihrem System passende aus und laden Sie
|
|
sie:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>kbdcontrol -l uk.iso</userinput>
|
|
</screen>
|
|
|
|
<para>Die beiden Erweiterungen
|
|
<filename>/usr/share/syscons/keymaps</filename> und
|
|
<filename>.kbd</filename> werden von &man.kbdcontrol.1;
|
|
angenommen.</para>
|
|
|
|
<para>Dies kann in der Datei
|
|
<filename>/etc/sysconfig</filename> (oder
|
|
<filename>rc.conf</filename>) eingestellt werden. Lesen
|
|
Sie die entsprechenden Hinweise in dieser Datei.</para>
|
|
|
|
<para>Seit 2.0.5-RELEASE befindet sich alles, was mit
|
|
Textfonts und Tastaturzuordnung zu tun hat im Verzeichnis
|
|
<filename>/usr/share/examples/syscons</filename>.</para>
|
|
|
|
<para>Die folgenden Zuordnungen werden derzeit
|
|
unterstützt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Belgisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Brasilianische Tastatur 275 Codeseite 850</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Brasilianische Tastatur 275 ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Dänisch Codeseite 865</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Dänisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Französisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Deutsch Codeseite 850</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Deutsch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Italienisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Japanisch 106</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Japanisch 106x</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Lateinamerikanisch</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Norwegisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Polnisch ISO-8859-2 (für
|
|
Programmierer)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Russisch Codeseite 866 (alternativ)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Russisch koi8-r (shift)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Russisch koi8-r</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Spanisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schwedisch Codeseite 850</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schwedisch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schweizer Deutsch ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vereinigtes Königreich Codeseite 850</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vereinigtes Königreich ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vereinigte Staaten von Amerika ISO-8859-1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vereinigte Staaten von Amerika dvorak</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vereinigte Staaten von Amerika dvorakx</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-resources">
|
|
<para>Beim Start des Systems erhalte ich Meldungen wie
|
|
<errorname>unknown: <PNP0303> can't assign
|
|
resources</errorname>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Meldungen werden durch Plug-and-Play Geräte
|
|
erzeugt, für die der Kernel keine Treiber hat. Sie
|
|
sind harmlos.</para>
|
|
|
|
<para>Falls Sie sich von diesen Meldungen belästigt
|
|
fühlen sollten, wird das FreeBSD Projekt ihre mit
|
|
send-pr eingesandten Treiber gerne akzeptieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="user-quotas">
|
|
<para>Die Benutzer-Quotas funktionieren nicht
|
|
richtig.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Benutzen Sie keine Quotas für
|
|
<filename>/</filename>,</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erstellen Sie die Quotas-Datei in dem Dateisystem,
|
|
für das die Quotas gelten sollen, z.B.:</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Filesystem</entry>
|
|
|
|
<entry>Quota file</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><filename>/usr</filename></entry>
|
|
|
|
<entry><filename>/usr/admin/quotas</filename></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/home</filename></entry>
|
|
|
|
<entry><filename>/home/admin/quotas</filename></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>…</entry>
|
|
|
|
<entry>…</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="inappropriate-ccd">
|
|
<para>Was stimmt mit meinem ccd nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Symptom hierfür ist:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ccdconfig -C</userinput>
|
|
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
|
|
</screen>
|
|
|
|
<para>Das geschieht für gewöhnlich, wenn Sie
|
|
versuchen, die Partitionen <literal>c</literal>, die
|
|
standardmäß vom Typ
|
|
<literal>unbenutzt</literal> sind, zu verbinden. Der
|
|
ccd-Treiber verlangt Partitionen vom Typ FS_BSDFFS.
|
|
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-disklabel">
|
|
<para>Warum kann ich den Plattenlabel meines ccd nicht
|
|
editieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Symptom hierfür ist:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>disklabel ccd0</userinput>
|
|
(hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren)
|
|
&prompt.root; <userinput>disklabel -e ccd0</userinput>
|
|
(editiern, speichern, beenden)
|
|
disklabel: ioctl DIOCWDINFO: No disk label on disk;
|
|
use "disklabel -r" to install initial label
|
|
</screen>
|
|
|
|
<para>Der Grund ist, daß der von ccd
|
|
zurückgelieferte Plattenlabel ein
|
|
<quote>vorgetäuschter</quote> ist, der sich nicht
|
|
wirklich auf der Platte befindet. Sie können das
|
|
Problem beheben, indem Sie ihn explizit
|
|
zurückschreiben, wie z.B. hier:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>disklabel ccd0 > /tmp/disklabel.tmp</userinput>
|
|
&prompt.root; <userinput>disklabel -Rr ccd0 /tmp/disklabel.tmp</userinput>
|
|
&prompt.root; <userinput>disklabel -e ccd0</userinput>
|
|
(nun wird es funktionieren)
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sysv-ipc">
|
|
<para>Unterstützt FreeBSD IPC-Grundfunktionen von
|
|
System V?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, FreeBSD unterstützt IPC im Stil von System V
|
|
einschließlich gemeinsamen Speicher, Nachrichten und
|
|
Semaphoren. Zur Aktivierung 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>
|
|
<note>
|
|
<para>Diese Variablen sind seit FreeBSD 3.2 schon im
|
|
Standardkernel (<emphasis>GENERIC</emphasis>) gesetzt
|
|
und sollte daher Beststandteil Ihres Systems
|
|
sein.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Kompilieren und installieren Sie einen neuen
|
|
Kernel.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="uucpmail">
|
|
<para>Wie benutze ich sendmail zum Zustellen von Mails mit
|
|
UUCP?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die sendmail-Konfiguration, die mit FreeBSD
|
|
ausgeliefert wird, ist für Sites geeignet, die direkt
|
|
ans Internet angeschlossen sind. Sites, die ihre Mail per
|
|
UUCP austauschen wollen, müssen eine andere
|
|
sendmail-Konfigurationsdatei installieren.</para>
|
|
|
|
<para>Die manuelle Bearbeitung von
|
|
<filename>/etc/sendmail.cf</filename> ist nur etwas
|
|
für Puristen. Sendmail Version 8 bietet die neue
|
|
Möglichkeit der Generierung von Konfigurationsdateien
|
|
über eine Vorverarbeitung mit <command>m4</command>,
|
|
wobei die tatsächliche, händische Konfiguration
|
|
auf einer höheren Abstraktionsstufe stattfindet. Sie
|
|
sollten die Konfigurationsdateien unter
|
|
<filename>/usr/src/usr.sbin/sendmail/cf</filename>
|
|
benutzen.</para>
|
|
|
|
<para>Für den Fall, daß Sie Ihr System nicht mit
|
|
dem kompletten Quellcode installiert haben, wurden die
|
|
nötigen Dateien zur Konfiguration von sendmail in
|
|
einer separaten Quelldistribution für Sie extrahiert.
|
|
Wenn Sie Ihre CD-ROM gemountet haben, müssen Sie die
|
|
folgenden Schritte ausführen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /cdrom/src</userinput>
|
|
&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail</userinput>
|
|
</screen>
|
|
|
|
<para>Keine Panik, das sind nur ein paar hundert Kilobyte.
|
|
Die Datei <filename>README</filename> im Verzeichnis
|
|
<filename>cf</filename> kann zur grundlegenden
|
|
Einführung in die m4-Konfiguration dienen.</para>
|
|
|
|
<para>Zur Zustellung über UUCP sind Sie am besten damit
|
|
beraten, das <literal>mailertable</literal>-Feature zu
|
|
nutzen. Es stellt eine Datenbank dar, auf deren Basis
|
|
sendmail Entscheidungen zum Routing treffen kann.</para>
|
|
|
|
<para>Zunächst müssen Sie Ihre
|
|
<filename>.mc</filename>-Datei erstellen. Das Verzeichnis
|
|
<filename>/usr/src/usr.sbin/sendmail/cf/cf</filename> ist
|
|
die Basis für diese Dateien. Sehen Sie sich um, es
|
|
gibt bereits einige Beispiele. Wenn Sie Ihre Datei
|
|
<filename>foo.mc</filename> genannt haben, müssen Sie
|
|
die folgenden Befehle ausführen, um sie in eine
|
|
gültige <filename>sendmail.cf</filename> umzuwandeln,
|
|
ist:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
|
|
&prompt.root; <userinput>make foo.cf</userinput>
|
|
&prompt.root; <userinput>cp foo.cf /etc/sendmail.cf</userinput>
|
|
</screen>
|
|
|
|
<para>Eine typische <filename>.mc</filename>-Datei
|
|
könnte so aussehen:</para>
|
|
|
|
<programlisting>
|
|
include(`../m4/cf.m4')
|
|
VERSIONID(`<replaceable>Your version number</replaceable>')
|
|
OSTYPE(bsd4.4)
|
|
|
|
FEATURE(nodns)
|
|
FEATURE(nocanonify)
|
|
FEATURE(mailertable)
|
|
|
|
define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>)
|
|
define(`UUCP_MAX_SIZE', 200000)
|
|
|
|
MAILER(local)
|
|
MAILER(smtp)
|
|
MAILER(uucp)
|
|
|
|
Cw <replaceable>your.alias.host.name</replaceable>
|
|
Cw <replaceable>youruucpnodename.UUCP</replaceable>
|
|
</programlisting>
|
|
|
|
<para>Die Einstellungen <literal>nodns</literal> und
|
|
<literal>nocanonify</literal> werden die Benutzung von DNS
|
|
bei der Zustellung von Mails verhindern. Die Klausel
|
|
<literal>UUCP_RELAY</literal> wird aus seltsamen
|
|
Gründen benötigt - fragen Sie nicht, warum.
|
|
Setzen Sie dort einfach den Namen eines Hosts ein, der in
|
|
der Lage ist, Adressen mit der Pseudodomäne .UUCP zu
|
|
behandeln; wahrscheinlich werden Sie dort den Relayhost
|
|
Ihres ISP eintragen.</para>
|
|
|
|
<para>Wenn Sie soweit sind, müssen Sie die Datei
|
|
<filename>/etc/mailertable</filename> erzeugen. Hierzu
|
|
wieder ein typisches Beispiel:</para>
|
|
|
|
<programlisting>
|
|
#
|
|
# makemap hash /etc/mailertable.db < /etc/mailertable
|
|
#
|
|
horus.interface-business.de uucp-dom:horus
|
|
.interface-business.de uucp-dom:if-bus
|
|
interface-business.de uucp-dom:if-bus
|
|
.heep.sax.de smtp8:%1
|
|
horus.UUCP uucp-dom:horus
|
|
if-bus.UUCP uucp-dom:if-bus
|
|
. uucp-dom:
|
|
</programlisting>
|
|
|
|
<para>Wie Sie sehen können, handelt es sich um einen
|
|
Teil einer realen Datei. Die ersten drei Zeilen behandeln
|
|
spezielle Fälle, in denen an Domänen adressierte
|
|
Mails nicht über die Standard-Route versendet werden
|
|
sollen, sondern zu einem UUCP-Nachbarn, um den Zustellweg
|
|
<quote>abzukürzen</quote>. Die nächsten Zeilen
|
|
behandeln Mails Rechner in der Domain, die im lokalen
|
|
Ethernetz verwendet wird. Diese Mails können direkt
|
|
per SMTP zugestellt werden. Schließlich werden die
|
|
UUCP-Nachbarn in der Notation mit der Pseudodomäne
|
|
.UUCP aufgeführt, um die Standardregeln mit
|
|
<literal><replaceable>uucp-neighbour</replaceable>!<replaceable>recipient</replaceable></literal>
|
|
zu überschreiben. Die letzte Zeile besteht stets aus
|
|
einem einzelnen Punkt, der als Ihr Universalgateway in die
|
|
Welt dient. Alle Knoten hinter dem Schlüsselwort
|
|
<literal>uucp-dom:</literal> müssen gültige
|
|
UUCP-Nachbarn sein, was Sie mit dem Befehl
|
|
<literal>uuname</literal> überprüfen
|
|
können.</para>
|
|
|
|
<para>Als Erinnerung daran, daß diese Datei in eine
|
|
DBM-Datenbankdatei konvertiert werden muß, bevor sie
|
|
benutzt werden kann, sollte der Befehl hierzu als
|
|
Kommentar am Anfang der mailertable plaziert werden. Sie
|
|
müssen den Befehl jedesmal ausführen, wenn Sie
|
|
Ihre Mailertable geändert haben.</para>
|
|
|
|
<para>Abschließender Hinweis: wenn Sie unsicher sind,
|
|
ob bestimmte Mailrouten funktionieren, erinnern Sie sich
|
|
an die Option <option>-bt</option> von sendmail. Sie
|
|
startet sendmail im
|
|
<emphasis>Adreß-Testmodus</emphasis>; geben Sie
|
|
einfach <literal>0</literal>, gefolgt von der Adresse,
|
|
für die Sie das Routing testen möchten, ein.
|
|
Die letzte Zeile nennt Ihnen den benutzten Mailagenten,
|
|
den Zielhost, mit dem dieser Agent aufgerufen wird und die
|
|
(ggfs. übersetzte) Adresse. Verlassen Sie diesen
|
|
Modus, indem Sie Control-D eingeben.</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>sendmail -bt</userinput>
|
|
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
|
|
Enter <ruleset> <address>
|
|
<prompt>></prompt> <userinput>0 foo@interface-business.de</userinput>
|
|
rewrite: ruleset 0 input: foo @ interface-business . de
|
|
...
|
|
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
|
|
< @ interface-business . de >
|
|
<prompt>></prompt> <userinput>^D</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ispmail">
|
|
<para>Wie richte ich das Mailsystem konfigurieren, wenn ich
|
|
eine Wählverbindung zum Internet habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie eine feste IP-Adresse haben, müssen Sie
|
|
die Standardeinstellungen wahrscheinlich gar nicht
|
|
ändern. Stellen Sie Ihren Hostnamen entsprechend
|
|
Ihrem zugeordneten Internetnamen ein und sendmail
|
|
übernimmt das übrige.</para>
|
|
|
|
<para>Wenn Sie eine dynamische IP-Adresse haben und eine
|
|
<application>ppp</application>-Wählverbindung zum
|
|
Internet benutzen, bekommen Sie wahrscheinlich eine
|
|
Mailbox auf dem Mailserver Ihres ISPs zugeordnet. Lassen
|
|
Sie uns annehmen, die Domäne ihres ISPs sei <hostid
|
|
role="domainname">myISP.com</hostid> und Ihr Benutzername
|
|
<username>user</username>; außerdem nehmen wir an,
|
|
daß Sie Ihre Maschine <hostid
|
|
role="fqdn">bsd.home</hostid> genannt haben und, daß
|
|
Ihr ISP ihnen gesagt hat, daß Sie <hostid
|
|
role="fqdn">relay.myISP.com</hostid> als Mail-Relayhost
|
|
benutzen können.</para>
|
|
|
|
<para>Um Mails aus Ihrer Mailbox abzuholen, müssen Sie
|
|
einen entsprechenden Programm installieren.
|
|
<application>Fetchmail</application> ist eine gute Wahl,
|
|
weil es viele verschiedene Protokolle unterstützt.
|
|
Für gewöhnlich wird von Ihrem ISP POP3 zur
|
|
Verfügung gestellt werden. Falls sie sich dafür
|
|
entschieden haben, user-ppp zu nutzen, können Sie
|
|
durch folgenden Eintrag in der Datei
|
|
<filename>/etc/ppp/ppp.linkup</filename> Ihre Mails
|
|
automatisch abholen lassen, wenn eine Verbindung zum Netz
|
|
aufgebaut wird:</para>
|
|
|
|
<programlisting>
|
|
MYADDR:
|
|
!bg su user -c fetchmail
|
|
</programlisting>
|
|
|
|
<para>Falls Sie (wie unten gezeigt)
|
|
<application>sendmail</application> benutzen, um Mails an
|
|
nicht-lokale Benutzer zu versenden, fügen Sie den
|
|
Befehl</para>
|
|
|
|
<programlisting>
|
|
!bg su user -c "sendmail -q"
|
|
</programlisting>
|
|
|
|
<para>nach dem oben gezeigten Eintrag ein. Das
|
|
veranlaßt <application>sendmail</application>, Ihre
|
|
ausgehenden Mails zu verarbeiten, sobald eine Verbindung
|
|
zum Internet aufgebaut wird.</para>
|
|
|
|
<para>Ich nehme an, daß auf <hostid
|
|
role="fqdn">bsd.home</hostid> ein Benutzer
|
|
<username>user</username> existiert; erstellen Sie auf
|
|
<hostid role="fqdn">bsd.home</hostid> im Heimatverzeichnis
|
|
von <username>user</username> eine Datei
|
|
<filename>.fetchmailrc</filename>:</para>
|
|
|
|
<programlisting>
|
|
poll myISP.com protocol pop3 fetchall pass MySecret;
|
|
</programlisting>
|
|
|
|
<para>Ich brauche wohl nicht zu erwähnen, daß
|
|
diese Datei für niemandem außer
|
|
<username>user</username> lesbar sein sollte, weil sie das
|
|
Passwort <literal>MySecret</literal> enthält.</para>
|
|
|
|
<para>Um Mails mit dem richtigen
|
|
<literal>from:</literal>-Header zu versenden, müssen
|
|
Sie <application>sendmail</application> mitteilen,
|
|
daß es <literal>user@myISP.com</literal> und nicht
|
|
<literal>user@bsd.home</literal> benutzen soll. Evtl.
|
|
möchten Sie auch, daß
|
|
<application>sendmail</application> alle Mails über
|
|
<hostid role="fqdn">relay.myISP.com</hostid> versendet, um
|
|
eine schnellere Übertragung von Mails zu
|
|
gewährleisten.</para>
|
|
|
|
<para>Die folgende <filename>.mc</filename>-Datei sollte
|
|
ausreichen:</para>
|
|
|
|
<programlisting>
|
|
VERSIONID(`bsd.home.mc version 1.0')
|
|
OSTYPE(bsd4.4)dnl
|
|
FEATURE(nouucp)dnl
|
|
MAILER(local)dnl
|
|
MAILER(smtp)dnl
|
|
Cwlocalhost
|
|
Cwbsd.home
|
|
MASQUERADE_AS(`myISP.com')dnl
|
|
FEATURE(allmasquerade)dnl
|
|
FEATURE(masquerade_envelope)dnl
|
|
FEATURE(nocanonify)dnl
|
|
FEATURE(nodns)dnl
|
|
define(`SMART_HOST', `relay.myISP.com')
|
|
Dmbsd.home
|
|
define(`confDOMAIN_NAME',`bsd.home')dnl
|
|
define(`confDELIVERY_MODE',`deferred')dnl
|
|
</programlisting>
|
|
|
|
<para>Im vorherigen Abschnitt finden Sie Details dazu, wie
|
|
Sie aus dieser <filename>.mc</filename>-Datei eine Datei
|
|
<filename>sendmail.cf</filename> erstellen können.
|
|
Vergessen Sie auch nicht,
|
|
<application>sendmail</application> neu zu starten,
|
|
nachdem Sie <filename>sendmail.cf</filename>
|
|
verändert haben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="forgot-root-pw">
|
|
<para>Hilfe! Ich habe das Rootpasswort vergessen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Keine Panik! Starten Sie Ihr System einfach neu und
|
|
geben Sie <userinput>boot -s</userinput> an der
|
|
Eingabeaufforderung Boot: ein (bei FreeBSD-Versionen vor
|
|
3.2 nur <userinput>-s</userinput>), um in den
|
|
Einzelbenutzermodus zu gelangen. Bei der Frage danach,
|
|
welche Shell benutzt werden soll, drücken Sie einfach
|
|
ENTER. Nun erscheint die Eingabeaufforderung
|
|
&prompt.root;. Geben Sie <command>mount -u /</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 <command>exit</command>
|
|
können Sie mit dem Booten fortfahren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="CAD-reboot">
|
|
<para>Wie verhindere ich, daß das System mit
|
|
Control-Alt-Delete rebootet werden kann?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie syscons (den Standard-Treiber für die
|
|
Konsole) unter FreeBSD ab 2.2.7-RELEASE benutzen,
|
|
erstellen und installieren Sie einen neuen Kernel mit der
|
|
Zeile</para>
|
|
|
|
<programlisting>options SC_DISABLE_REBOOT</programlisting>
|
|
|
|
<para>in der Konfigurationsdatei. Falls Sie den
|
|
Konsolen-Treiber PCVT unter FreeBSD seit 2.2.5-RELEASE
|
|
benutzen, benutzen Sie stattdessen die folgende
|
|
Kernelkonfigurationszeile:</para>
|
|
|
|
<programlisting>options PCVT_CTRL_ALT_DEL</programlisting>
|
|
|
|
<para>Editieren Sie bei älteren Versionen von FreeBSD
|
|
die Tastenzuordnungsdatei, die Sie für die Konsole
|
|
verwenden und ersetzen Sie die Schlüsselworte
|
|
<literal>boot</literal> durch <literal>nop</literal>. Die
|
|
standard Tastenzuordnungsdatei heißt
|
|
<filename>/usr/share/syscons/keymaps/us.iso.kbd</filename>.
|
|
Es könnte sein, daß Sie
|
|
<filename>/etc/rc.conf</filename> explizit instruieren
|
|
müssen, diese Tastenzuordnungsdatei zu laden, um die
|
|
Änderungen wirksam werden zu lassen. Falls Sie eine
|
|
andere Tastenzuordnung für Ihr Land verwenden,
|
|
müssen Sie natürlich diese editieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-to-unix-txt">
|
|
<para>Wie ändere ich das Format von Textdateien von DOS
|
|
nach UNIX?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie einfach diesen Perl-Befehl:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' file ...</userinput>
|
|
</screen>
|
|
|
|
<para>file ist/sind die zu verarbeitende(n) Datei(en). Die
|
|
Änderungen erfolgen in der Originaldatei, die zuvor
|
|
mit der Erweiterung .bak gesichert wird.</para>
|
|
|
|
<para>Alternativ können Sie den Befehl
|
|
<command>tr</command> 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 Perl.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kill-by-name">
|
|
<para>Wie beende ich Prozesse namentlich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie <command>killall</command>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="root-acl">
|
|
<para>Warum nervt su mich damit, daß ich nicht in der
|
|
ACL von <username>root</username> bin?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Fehler stammt vom verteilten
|
|
Authentifizierungssystem Kerberos. Das Problem ist nicht
|
|
ernsthaft, aber störend. Sie können entweder su
|
|
mit der Option -K benutzen, oder Kerberos deinstallieren,
|
|
wie in der nächsten Frage beschrieben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="uninstall-kerberos">
|
|
<para>Wie deinstalliere ich Kerberos?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um Kerberos aus dem System zu entfernen, müssen
|
|
Sie die bin-Distribution der von Ihnen benutzen RELEASE
|
|
neu installieren. Wenn Sie die CDROM besitzen,
|
|
können Sie sie mounten (wir nehmen an, unter /cdrom)
|
|
und folgende Schritte ausführen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /cdrom/bin</userinput>
|
|
&prompt.root; <userinput>./install.sh</userinput>
|
|
</screen>
|
|
|
|
<para>Alternativ können Sie alle Zeilen mit
|
|
"MAKE_KERBEROS" aus der
|
|
<filename>/etc/make.conf</filename> entfernen und dann 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 telnet, ssh, X oder
|
|
screens haben, könnte es sein, daß Ihnen die
|
|
Pseudo-Terminals ausgehen. So fügen Sie weitere
|
|
hinzu:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Erstellen und installieren Sie einen neuen Kernel
|
|
mit der Zeile</para>
|
|
|
|
<programlisting>
|
|
pseudo-device pty 256
|
|
</programlisting>
|
|
|
|
<para>in der Konfigurationsdatei.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Führen Sie die Befehle</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV pty{1,2,3,4,5,6,7}</userinput>
|
|
</screen>
|
|
|
|
<para>aus, um 256 Geräteeinträge für die
|
|
neuen Terminals zu erstellen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Editieren Sie die Datei
|
|
<filename>/etc/ttys</filename> und fügen Sie
|
|
Zeilen für jeden der 256 Terminals ein. Sie
|
|
sollten so aussehen, wie die existierenden
|
|
Einträge, also etwa so:</para>
|
|
|
|
<programlisting>
|
|
ttyqc none network
|
|
</programlisting>
|
|
|
|
<para>Die Reihenfolge der Buchstabenzuordnung lautet mit
|
|
einem regulären Ausdruck
|
|
<literal>tty[pqrsPQRS][0-9a-v]</literal>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Starten Sie das System mit dem neuen Kernel
|
|
erneut, wenn Sie bereit sind.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="create-snd0">
|
|
<para>Ich kann das Gerät snd0 nicht erstellen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt kein Gerät <devicename>snd</devicename>.
|
|
Diese Bezeichnung ist nur ein Sammelbegriff für die
|
|
diversen Geräte, die zusammen das Soundsystem von
|
|
FreeBSD bilden, wie zum Beispiel
|
|
<devicename>mixer</devicename>,
|
|
<devicename>sequencer</devicename>, und
|
|
<devicename>dsp</devicename>.</para>
|
|
|
|
<para>So erzeugen Sie diese Geräte:;</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh MAKEDEV snd0</userinput>
|
|
</screen>
|
|
</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 Einzelbenutzermodus und dann
|
|
zurück in den Mehrbenutzermodus.</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="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 Prozeß kann innerhalb der
|
|
Wände <quote>spielen</quote>, d.h. nichts, was
|
|
der Prozeß in Bezug auf die Ausführung von
|
|
Code tut, kann die Wände durchbrechen. Es ist
|
|
also keine detailierte 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 Manualpages security und named benutzt
|
|
wird.</para>
|
|
|
|
<para>Nehmen Sie zum Beispiel den Dienst
|
|
<literal>ntalk</literal> (siehe auch /etc/inetd.conf).
|
|
Dieser Dienst ist früher mit der Benutzerkennung
|
|
root gelaufen; nun läuft er mit der
|
|
Benutzerkennung tty. Der Benutzer tty ist ein
|
|
Sandkasten, der dazu gedacht ist, es jemandem, der
|
|
über ntalk erfolgreich in das System eingebrochen
|
|
ist, schwer zu machen, über diese Benutzerkennung
|
|
hinaus vorzudringen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ein Prozeß, der sich innerhalb einer
|
|
simulierten Maschine befindet. Dies ist etwas
|
|
fortgeschrittener; grundsätzlich bedeutet es,
|
|
daß jemand, der in der Lage ist, in einen
|
|
Prozeß 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 Prozeß in diesem Verzeichnis
|
|
mit chroot auszuführen (d.h. für diesen
|
|
Prozeß ist <filename>/</filename> dieses
|
|
Verzeichnis und nicht das echte <filename>/</filename>
|
|
des Systems).</para>
|
|
|
|
<para>Eine weitere gebräuchliche Anwendung ist, ein
|
|
untergeordnetes Dateisystem nur mit Leserechten zu
|
|
mounten, und dann darüber eine Dateisystemebene
|
|
zu erstellen, die einem Prozeß einen scheinbar
|
|
schreibberechtigten Blick in das Dateisystem gibt.
|
|
Der Prozeß mag glauben, daß er in der Lage
|
|
ist, diese Dateien zu verändern, aber nur der
|
|
Prozeß sieht diesen Effekt - andere Prozeß
|
|
im System natürlich nicht.</para>
|
|
|
|
<para>Es wird versucht, diese Art von Sandkasten so
|
|
transparent zu gestalten, daß der Benutzer (oder
|
|
Hacker) nicht realisiert, daß er sich in ihm
|
|
befindet.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>UNIX implementiert zwei Arten von Sandkästen -
|
|
eine auf Prozeßebene und die andere auf der Ebene
|
|
der Benutzerkennung.</para>
|
|
|
|
<para>Jeder UNIX-Prozeß ist vollständig von jedem
|
|
anderen UNIX-Prozeß abgeschirmt. Ein Prozeß
|
|
kann den Adreßraum eines anderen Prozesses nicht
|
|
modifizieren. Das ist anders als bei Windows, wo ein
|
|
Prozeß leicht den Adreßraum eines anderen
|
|
überschreiben kann, was zu einem Absturz
|
|
führt.</para>
|
|
|
|
<para>Ein UNIX-Prozeß gehört einer bestimmten
|
|
Benutzerkennung. Falls die Benutzerkennung nicht die von
|
|
<username>root</username> ist, dient sie dazu, den
|
|
Prozeß von Prozessen anderer Benutzer abzuschirmen.
|
|
Die Benutzerkennung wird außerdem dazu genutzt,
|
|
Daten auf der Festplatte abzuschirmen.</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
|
|
<username>operator</username> den Zugriff auf das
|
|
CD-ROM zu gestatten:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>chgrp operator /dev/cd0c</userinput>
|
|
&prompt.root; <userinput>chmod 640 /dev/cd0c</userinput>
|
|
</screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Fügen Sie zum Abschluß die Zeile
|
|
<literal>vfs.usermount=1</literal> in die Datei
|
|
<filename>/etc/sysctl.conf</filename> ein, damit die
|
|
Einstellung bei einem Neustart des Systems automatisch
|
|
erhalten bleibt.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Alle Benutzer können nun
|
|
<filename>/dev/fd0</filename> auf ein Verzeichnis, das
|
|
ihnen gehört, mounten:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput> mkdir ~/my-mount-point</userinput>
|
|
&prompt.user; <userinput> mount -t msdos /dev/fd0 ~/my-mount-point</userinput>
|
|
</screen>
|
|
|
|
<para>Die zur Gruppe <username>operator</username>
|
|
gehörenden Benutzer können nun
|
|
<filename>/dev/cd0c</filename> auf ein Verzeichnis, das
|
|
ihnen gehört, mounten:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput> mkdir ~/my-mount-point</userinput>
|
|
&prompt.user; <userinput> mount -t msdos /dev/cd0c ~/my-mount-point</userinput>
|
|
</screen>
|
|
|
|
<para>Das Unmounten des Gerätes ist simpel:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>umount <filename>~/my-mount-point</filename></userinput>
|
|
</screen>
|
|
|
|
<para>Die Aktivierung von <varname>vfs.usermount</varname>
|
|
hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
|
|
Ein besserer Weg, um auf MSDOS-formatierte
|
|
Datenträger zuzugreifen, ist die Benutzung des
|
|
Packages <application>mtools</application> aus der
|
|
Ports-Sammlung.</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 -stable über eine Release
|
|
hinaus genutzt haben oder eine Release aktualiert haben,
|
|
ist das sehr empfehlenwert. Sie können auf beiden
|
|
Platten &man.boot0cfg.8;i installieren und die beiden
|
|
Versionen so lange parallel betreiben, bis Ihnen die neue
|
|
Konfiguation 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
|
|
<filename>/stand/sysinstall</filename> 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="http://www.freebsd.org/tutorials/formatting-media/index.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. Dinge wie die
|
|
Gerätedateien (in <filename>/dev</filename>) und
|
|
Symbolische Links führen dazu, daß das in die
|
|
Hose geht. Sie mützen Programme benutzen, die damit
|
|
umgehen können, und das sind &man.dump.8; and
|
|
&man.tar.1;. Ich empfehle Ihnen, die Daten im single user
|
|
mode 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
|
|
file system 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. Um die Daten einer Partition mit
|
|
dump 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 newfs ein
|
|
Dateisystem ein.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Mounten Sie die Partition temporär an einer
|
|
geeigneten Stelle.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Wechseln Sie mit cd in dieses Verzeichnis.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Lesen Sie die alte Partition mit dump aus und
|
|
lenken Sie die Ausgabe auf die neue Partition
|
|
um.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Wenn Sie zum Beispiel root auf
|
|
<filename>/dev/ad1s1a</filename> verschieben wollen und
|
|
diese zur Zeit auf <filename>/mnt</filename> gemountet
|
|
ist, bedeutet das:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
|
|
&prompt.root; <userinput>mount /dev/ad1s1a</userinput>
|
|
&prompt.root; <userinput>cd /mnt</userinput>
|
|
&prompt.root; <userinput>dump 0uaf - / | restore xf -</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn Sie Ihre Partitionen umorganisieren wollen, also
|
|
zum Beispiel aus eine alte in zwei neue aufteilen wollen
|
|
oder zwei alte zu einer neuen zusammenfassen wollen, dann
|
|
wird es frührer oder später vorkommen, daß
|
|
Sie nur einen Verzeichnisbaum verschieben wollen. Da
|
|
&man.dump.8; nur ganze Dateisysteme bearbeitet,
|
|
können Sie es dafür nicht nutzen. Hier sollten
|
|
Sie &man.tar.1; verwenden. Um mit &man.tar.1;
|
|
<filename>/old</filename> nach <filename>/new</filename>
|
|
zu verschieben, müssen Sie diesen Befehl
|
|
eingeben:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>(cd /old; tar cf - .) | (cd /new; tar xpf -)</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn unter <filename>/old</filename> andere
|
|
Dateisysteme gemountet sind und Sie weder die Daten auf
|
|
diesen Dateisystem verschieben noch die anderen
|
|
Dateisysteme unmounten wollen, müssen das erste
|
|
&man.tar.1; mit dem Parameter <option>l</option>
|
|
aufrufen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>(cd /old; tar clf - .) | (cd /new; tar xpf -).</userinput>
|
|
</screen>
|
|
|
|
<para>Eventuell gefallen Ihnen &man.cpio.1;, &man.pax.1;
|
|
oder cpdup (ports/sysutils/cpdup) besser als
|
|
&man.tar.1;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="release-candidate">
|
|
<para>Ich wollte auf das aktuelle -STABLE updaten, und
|
|
plötzlich läuft hier ein -RC oder -BETA. Was
|
|
ist passiert?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurze Antwort: Das ist nur ein anderer Name. RC ist
|
|
die Abkürzung für <quote>Release
|
|
Candidate</quote>. Es bedeutet, daß eine neue
|
|
Release bevorsteht. Und -BETA bedeutet bei FreeBSD das
|
|
gleich wie -RC.</para>
|
|
|
|
<para>Ausführliche Antwort: Bei FreeBSD gibt es zwei
|
|
Quellen für Releases. Die Major Releases wie
|
|
3.0-RELEASE und 4.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 3.1-RELEASE or 4.2-RELEASE
|
|
stammen aus dem aktiven <link
|
|
linkend="stable">-STABLE</link> Zweig.</para>
|
|
|
|
<para>Bevor in einem Zweig eine Release erfolgt, muß
|
|
in diesem Zweig ein bestimmter Prozeß 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, daß demnächst eine Release erfolgen
|
|
wird. Wenn der Zweig zum Beispiel 4.0-STABLE genannt
|
|
wurde, wird der Name in 4.1-RC geändert. Damit wird
|
|
angezeigt, daß aus dem Zweig demnächst eine
|
|
Release erstellt wird. Sobald die Release (in diesem
|
|
Beispiel 4.1-RELEASE) erfolgt ist, wird der Zweig in
|
|
4.1-STABLE umbenannt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-chflag-failure">
|
|
<para>Als ich versucht habe, einen neuen Kernel zu
|
|
installieren, ist das chflags fehlgeschlagen. Was mache
|
|
ich jetzt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurze Antwort: Ihre Sicherheitseinstellung (der
|
|
securelevel) ist wahrscheinlich größer als 0.
|
|
Sie müssen das System neu starten und den Kernel im
|
|
Single-User Modus installierten.</para>
|
|
|
|
<para>Ausführliche Antwort: Wenn die
|
|
Sicherheitseinstellung größer als 0 ist,
|
|
erlaubt Ihnen FreeBSD 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 Mode installieren oder die
|
|
Sicherheitseinstellung in
|
|
<filename>/etc/rc.conf</filename> ändern und dann das
|
|
System neu starten. Weitere Detail zur
|
|
Sicherheitseinstellung 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
|
|
securelevel) 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 FreeBSD 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 Mode ändern oder die
|
|
Sicherheitseinstellung in
|
|
<filename>/etc/rc.conf</filename> ändern und dann das
|
|
System neu starten. Weitere Detail zur
|
|
Sicherheitseinstellung 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="statd-mem-leak">
|
|
<para>Ist &man.rpc.statd.8; fehlerhaft? Er verbraucht 256
|
|
MByte Speicher!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nein, das Programm hat keinen Fehler und es verbraucht
|
|
auch nicht 256 MByte Speicher. Das Programm hat nur eine
|
|
Vorliebe dafür, einen übertrieben großen
|
|
Speicherbereich in seinen eigenen Adreßraum zu
|
|
projizieren. Von einem rein technischen Standpunkt aus
|
|
ist das nichts verwerfliches, allerdings verwirrt es
|
|
Programme wie &man.top.1; und &man.ps.1;.</para>
|
|
|
|
<para>&man.rpc.statd.8; projiziert seine Statusdatei (die in
|
|
<filename>/var</filename> liegt) in seinen
|
|
Adreßraum. Um die Probleme zu vermeiden, die bei
|
|
einer Verößerung dieser Projektion entstehen
|
|
könnte, wird gleich ein mölichst 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 Adreßraums bei IA32, oder genau 256
|
|
MByte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="x">
|
|
<title>Das X Window System und virtuelle Konsolen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="running-X">
|
|
<para>Ich möchte X benutzen, was muß ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der einfachste Weg ist der, daß Sie während
|
|
der Installation angeben, daß Sie X benutzen
|
|
möchten.</para>
|
|
|
|
<para>Lesen Sie dann die Dokumentation zum Tool
|
|
<command>xf86config</command>, das Sie bei der
|
|
Konfiguration von XFree86(tm) speziell für Ihre
|
|
Grafikkarte/Maus/etc. unterstützt.</para>
|
|
|
|
<para>Evtl. möchten Sie sich auch den Xaccel-Server
|
|
ansehen. Nähere Details finden Sie in den
|
|
Abschnitten über <link linkend="xig">Xi
|
|
Graphics</link> oder <link linkend="metrox">Metro
|
|
Link</link>.</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>Sie haben die Sicherheitsstufe (den securelevel) ihres
|
|
Systems erhört, richtig? Es ist tatsächlich
|
|
nicht möglich, X zu starten, wenn die
|
|
Sicherheitsstufe erhöht wurde. Warum das so ist,
|
|
können Sie in &man.init.8; nachlesen.</para>
|
|
|
|
<para>Die Frage ist also eigentlich, was Sie anders machen
|
|
sollten. Sie haben zwei Möglichkeiten: Setzen Sie
|
|
die Sicherheitstufe 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 syscons (den standard Konsoltreiber)
|
|
benutzen, können Sie FreeBSD so konfigurieren,
|
|
daß auf jedem virtuellen Bildschirm ein Mauszeiger
|
|
unterstützt wird. Um Konflikte mit X zu vermeiden,
|
|
unterstützt syscons ein virtuelles Gerät mit dem
|
|
Namen <filename>/dev/sysmouse</filename>. Über
|
|
dieses virtuelle Gerät können andere Programme
|
|
alle Mausbewegungen und Mausclicks im MouseSystems-Format
|
|
mitlesen. Falls Sie Ihre Maus auf einer oder mehreren
|
|
virtuellen Konsolen <emphasis>und</emphasis> und X
|
|
benutzen wollen, sollten Sie zunächst <xref
|
|
linkend="moused" remap="diesen Abschnitt"> lesen und dann
|
|
moused installieren.</para>
|
|
|
|
<para>Die Datei <filename>/etc/XF86Config</filename> sollte
|
|
die folgenden Einträge enthalten:</para>
|
|
|
|
<programlisting>
|
|
Section Pointer
|
|
Protocol "SysMouse"
|
|
Device "/dev/sysmouse"
|
|
.....
|
|
</programlisting>
|
|
|
|
<para>Diese Variante kann für XFree86 3.3.2 und neuere
|
|
Versionen benutzt werden. Wenn Sie eine ältere
|
|
Versionen verwenden, muß als
|
|
<emphasis>Protocol</emphasis> dagegen
|
|
<emphasis>MouseSystems</emphasis> benutzt werden.</para>
|
|
|
|
<para>Einige Leute ziehen es vor, unter X
|
|
<filename>/dev/mouse</filename> zu benutzen. Hierzu
|
|
sollte <filename>/dev/mouse</filename> nach
|
|
<filename>/dev/sysmouse</filename> gelinkt werden:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>rm -f mouse</userinput>
|
|
&prompt.root; <userinput>ln -s sysmouse mouse</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. Allerdings müssen Sie die X-Anwendungen
|
|
anpassen. Weitere Informationen erhalten Sie auf der
|
|
Homepage von <ulink
|
|
URL="http://www.inria.fr/koala/colas/mouse-wheel-scroll/">Colas
|
|
Nahaboo
|
|
(http://www.inria.fr/koala/colas/mouse-wheel-scroll/)</ulink>.</para>
|
|
|
|
<para>Wenn Sie das Programm
|
|
<application>imwheel</application> benutzen wollen,
|
|
müssen Sie folgenden Arbeiten
|
|
durchführen.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Umsetzung der Rad-Bewegung</para>
|
|
|
|
<para>Das Programm <application>imwheel</application>
|
|
übersetzt die Maustasten 4 und 5 in normale
|
|
Tastaturkommandos. Sie müssen also nur
|
|
dafür sorgen, daß die Bewegung des Rades
|
|
vom Maustreiber als Betätigung der Maustaten 4
|
|
und 5 übersetzt werden. Es gibt zwei
|
|
Möglichkeiten, dieses Ziel zu erreichen. Zum
|
|
einen kann die Übersetzung von &man.moused.8;
|
|
durchgeführt werden, zum zweiten kann der
|
|
X-Server diese Aufgabe übernehmen.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Umsetzung durch &man.moused.8;</para>
|
|
|
|
<para>Damit &man.moused.8; die Umsetzung vornimmt,
|
|
müssen ihn lediglich mit dem
|
|
zusätzlichen Parametern <option>-z 4</option>
|
|
starten. Wenn Sie zum Beispiel &man.moused.8; mit
|
|
dem Befehl <command>moused -p /dev/psm0</command>
|
|
gestartet haben, würde der neue Befehl
|
|
<command>moused -p /dev/psm0 -z 4</command>
|
|
lautet. Wenn Sie &man.moused.8; über einen
|
|
Eintrag in der Datei
|
|
<filename>/etc/rc.conf</filename> automatisch beim
|
|
Start des Systems starten lassen, müssen Sie
|
|
in der <filename>/etc/rc.conf</filename>lediglich
|
|
die Einstellung <varname>moused_flags</varname> um
|
|
<option>-z 4</option> ergänzen.</para>
|
|
|
|
<para>Nun müssen Sie X darüber
|
|
informieren, daß Sie eine Maus mit 5 Tasten
|
|
haben. Fügen sie dazu die Zeile
|
|
<literal>Buttons 5</literal> in den Abschnitt
|
|
<quote>Pointer</quote> der Datei
|
|
<filename>/etc/XF86Config</filename> ein. Das
|
|
Beispiel zeigt, wie ein solcher Abschnitt aussehen
|
|
könnte.</para>
|
|
|
|
<example>
|
|
<title>Abschnitt <quote>Pointer</quote> für
|
|
Mäuse mit Rad</title>
|
|
|
|
<programlisting>
|
|
Section "Pointer"
|
|
Protocol "SysMouse"
|
|
Device "/dev/sysmouse"
|
|
Buttons 5
|
|
EndSection
|
|
</programlisting>
|
|
</example>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Umsetzung durch den X-Server</para>
|
|
|
|
<para>Wenn Sie &man.moused.8; nicht benutzen oder
|
|
die Umsetzung nicht von &man.moused.8; vornehmen
|
|
lassen wollen, kann diese Aufgabe auch vom
|
|
X-Server übernommen werden. Dazu sind einige
|
|
Änderungen an der Datei
|
|
<filename>/etc/XF86Config</filename> notwendig.
|
|
Zunächst müssen Sie das von Ihrer Maus
|
|
verwendete Protokoll herausfinden. Die meisten
|
|
Radmäuse verwenden das
|
|
<quote>IntelliMouse</quote> Protokoll. XFree86
|
|
unterstützt allerdings auch andere
|
|
Protokolle, zum Beispiel das von der Logitech
|
|
Mouseman+ verwendete
|
|
<quote>MouseManPlusPS/2</quote>. Wenn Sie das
|
|
Protokoll ermittelt haben, müssen Sie eine
|
|
entsprechende <varname>Protocol</varname>-Zeile in
|
|
den Abschnitt <quote>Pointer</quote>
|
|
aufnehmen.</para>
|
|
|
|
<para>Zum zweiten müssen Sie dem X-Server
|
|
mitteilen, daß er die Bewegung des Rades in
|
|
Betätigungen der Tasten 4 und 5 umsetzen
|
|
soll. Dazu dient die Option
|
|
<varname>ZAxisMapping</varname>.</para>
|
|
|
|
<para>Wenn Sie zum Beispiel &man.moused.8; nicht
|
|
verwenden und eine IntelliMouse an den PS/2
|
|
Mausport angeschlossen haben, müßte in
|
|
Ihrer <filename>/etc/XF86Config</filename> die
|
|
folgenden Angaben stehen.</para>
|
|
|
|
<example>
|
|
<title>Abschnitt <quote>Pointer</quote> der Datei
|
|
<filename>XF86Config</filename> für eine
|
|
Rad-Maus und Umsetzung durch den
|
|
X-Server</title>
|
|
|
|
<programlisting>
|
|
Section "Pointer"
|
|
Protocol "IntelliMouse"
|
|
Device "/dev/psm0"
|
|
ZAxisMapping 4 5
|
|
EndSection
|
|
</programlisting>
|
|
</example>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Installation von
|
|
<application>imwheel</application></para>
|
|
|
|
<para>Der nächste Schritt ist die Installation von
|
|
<application>imwheel</application> über die
|
|
Ports. Das Programm ist ein Teil der Kategorie
|
|
<filename>x11</filename>.
|
|
<application>imwheel</application> übersetzt die
|
|
Bewegungen des Rades in Tastendrücken. Es
|
|
könnte zum Beispiel <keycap>Bild auf</keycap> an
|
|
ein Programm senden, wenn Sie das Rad nach vorne
|
|
bewegen. <application>Imwheel</application> benutzt
|
|
eine Konfigurationsdatei, die den Bewegungen des Rades
|
|
die zu simulierenden Tastendrücke zuordnet.
|
|
Damit ist es möglich, verschiedenen Anwendungen
|
|
die jeweils "richtigen" Tastendrücke zu
|
|
senden. Ein Prototyp der Konfigurationsdatei für
|
|
<application>imwheel</application> wird unter dem
|
|
Namen <filename>/usr/X11R6/etc/imwheelrc</filename>
|
|
installiert. Wenn Sie die Konfiguration von
|
|
<application>imwheel</application> an die von Ihnen
|
|
verwendeten Programme anpassen wollen, erzeugen Sie
|
|
eine Kopie der Datei mit dem Namen
|
|
<filename>~/.imwheelrc</filename> und tragen Sie ihre
|
|
Anpassungen dort ein. Das Format der Datei wird in
|
|
&man.imwheel.1; erklärt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Anpassung von <application>Emacs</application> an
|
|
with <application>Imwheel</application>
|
|
(<emphasis>Optional</emphasis>)</para>
|
|
|
|
<para>Wenn Sie <application>emacs</application> oder
|
|
<application>Xemacs</application> benutzen,
|
|
müssen Sie einen kleinen Abschnitt in die Datei
|
|
<filename>~/.emacs</filename> einfügen. Für
|
|
<application>emacs</application> müssen Sie die
|
|
folgenden Zeilen anfügen:</para>
|
|
|
|
<example>
|
|
<title>Nutzung von <application>Emacs</application>
|
|
mit <application>Imwheel</application></title>
|
|
|
|
<programlisting>
|
|
;;; For imwheel
|
|
(setq imwheel-scroll-interval 3)
|
|
(defun imwheel-scroll-down-some-lines ()
|
|
(interactive)
|
|
(scroll-down imwheel-scroll-interval))
|
|
(defun imwheel-scroll-up-some-lines ()
|
|
(interactive)
|
|
(scroll-up imwheel-scroll-interval))
|
|
(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
|
|
(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
|
|
;;; end imwheel section
|
|
</programlisting>
|
|
</example>
|
|
|
|
<para>Wenn Sie <application>Xemacs</application>
|
|
verwenden, müssen stattdessen die folgenden
|
|
Zeilen an Ihre <filename>~/.emacs</filename>
|
|
anfügen:</para>
|
|
|
|
<example>
|
|
<title>Nutzung von <application>Xemacs</application>
|
|
mit <application>Imwheel</application></title>
|
|
|
|
<programlisting>
|
|
;;; For imwheel
|
|
(setq imwheel-scroll-interval 3)
|
|
(defun imwheel-scroll-down-some-lines ()
|
|
(interactive)
|
|
(scroll-down imwheel-scroll-interval))
|
|
(defun imwheel-scroll-up-some-lines ()
|
|
(interactive)
|
|
(scroll-up imwheel-scroll-interval))
|
|
(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
|
|
(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
|
|
;;; end imwheel section
|
|
</programlisting>
|
|
</example>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Imwheel</application>
|
|
ausführen</para>
|
|
|
|
<para>Sie brauchen nach der Installation einfach nur
|
|
<command>imwheel</command> in einem xterm einzugben,
|
|
um das Programm zu starten. Das Programm läuft
|
|
dann im Hintergrund und ist sofort aktiv. Wenn Sie
|
|
<application>imwheel</application> ständig
|
|
benutzen wollen, sollten Sie es einfach in Ihre
|
|
<filename>.xinitrc</filename> oder
|
|
<filename>.xsession</filename> eintragen. Falls
|
|
<application>imwheel</application> Warnungen über
|
|
"PID files" ausgeben sollte, können Sie
|
|
diese ignorieren, da Sie nur die Linux-Version von
|
|
<application>imwheel</application> betreffen.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="window-menu-weird">
|
|
<para>X Window Menues und Dialogfenster funktionieren nicht
|
|
richtig!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Versuchen Sie, die Num-Lock-Taste
|
|
auszustellen.</para>
|
|
|
|
<para>Falls Ihre Num-Lock-Taste beim Booten
|
|
standardmäßig eingeschaltet ist, sollten Sie
|
|
die folgende Zeile in den Abschnitt
|
|
<literal>Keyboard</literal> der Datei
|
|
<filename>XF86Config</filename> einfügen:</para>
|
|
|
|
<programlisting>
|
|
# Let the server do the NumLock processing. This should only be
|
|
# required when using pre-R6 clients
|
|
ServerNumLock
|
|
</programlisting>
|
|
</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 Alt-F2 (halten Sie die Alt-Taste
|
|
gedrückt und drücken Sie die Taste F2) 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
|
|
Alt-F1.</para>
|
|
|
|
<para>Die standard Installation von FreeBSD bietet drei
|
|
aktivierte virtuelle Konsolen (acht ab der Version 3.3)
|
|
und Alt-F1, Alt-F2 und Alt-F3 wechseln zwischen diesen
|
|
virtuellen Konsolen.</para>
|
|
|
|
<para>Um mehr von ihnen zu aktivieren, editieren Sie
|
|
<filename>/etc/ttys</filename> und fügen
|
|
Einträge für <devicename>ttyv4</devicename> bis
|
|
zu <devicename>ttyvc</devicename> nach dem Kommentar zu
|
|
<quote>virtuellen Terminals</quote> ein:</para>
|
|
|
|
<programlisting>
|
|
# Edit the existing entry for ttyv3 in /etc/ttys and change
|
|
# "off" to "on".
|
|
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
|
|
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 soviele, wie Sie
|
|
möchten. Je mehr virtuelle Terminals Sie benutzen,
|
|
desto mehr Ressourcen werden gebraucht; das kann wichtig
|
|
sein, wenn Sie 8MB RAM oder weniger besitzen. Sie
|
|
können auch <literal>secure</literal> in
|
|
<literal>insecure</literal> ändern.</para>
|
|
|
|
<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, daß 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>
|
|
|
|
<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üßten 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>Nachdem Sie die Datei <filename>/etc/ttys</filename>
|
|
geändert haben, besteht der nächste Schritt
|
|
darin, sicherzustellen, daß Sie genügend
|
|
Geräte für virtuelle Terminal haben. Der
|
|
einfachste Weg, dies zu tun, ist:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>./MAKEDEV vty12</userinput>
|
|
</screen>
|
|
|
|
<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, daß Sie das X
|
|
Window System vollständig herunterfahren, falls es
|
|
läuft. Falls Sie es nicht tun, könnte es sein,
|
|
daß sich ihr System nach der Eingabe des
|
|
kill-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 XDM beim Booten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt zwei Denkansätze, wie
|
|
<command>xdm</command> zu starten ist. Bei dem einen wird
|
|
<command>xdm</command> von <filename>/etc/ttys</filename>
|
|
aus gestartet, wobei das mitgelieferte Beispiel benutzt
|
|
wird, während <command>xdm</command> bei dem anderen
|
|
Ansatz einfach in <filename>rc.local</filename> oder von
|
|
einem Skript <filename>X.sh</filename> im Verzeichnis
|
|
<filename>/usr/local/etc/rc.d</filename> aus gestartet
|
|
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 ttys-Methode hat den Vorteil, daß
|
|
dokumentiert ist, auf welchem vty X gestartet wird und der
|
|
Neustart des X-Servers beim Abmelden an init
|
|
übergeben wird. Die rc.local-Methode erleichtert ein
|
|
Killen von xdm, falls Probleme beim Start des X-Servers
|
|
auftreten sollten.</para>
|
|
|
|
<para>Beim Laden von rc.local sollte <command>xdm</command>
|
|
ohne irgendwelche Argumente (d.h. als Daemon) gestartet
|
|
werden. xdm muß gestartet werden NACHDEM getty
|
|
läuft, andernfalls entsteht ein Konflikt zwischen
|
|
getty und xdm und die Konsole bleibt gesperrt. Der beste
|
|
Weg, um dies zu vermeiden, ist, das Skript für etwa
|
|
zehn Sekunden anzuhalten und dann xdm 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
|
|
<command>getty</command> kommen. Um dieses Problem zu
|
|
vermeiden, sollten Sie die Nummer des
|
|
<literal>vt</literal> in die Datei
|
|
<filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>
|
|
eintragen.</para>
|
|
|
|
<programlisting>:0 local /usr/X11R6/bin/X vt4</programlisting>
|
|
|
|
<para>Diese Zeile führt dazu, daß der X Server
|
|
<filename>/dev/ttyv3</filename> nutzt. Die beiden Zahlen
|
|
weichen voneinander ab: Der X-Server beginnt die
|
|
Zählung der vty bei 1, während der
|
|
FreeBSD-Kernel bei 0 beginnt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xconsole-failure">
|
|
<para>Wenn ich xconsole benutze, erscheint <literal>Couldn't
|
|
open console</literal>.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie <application>X</application> mit
|
|
<command>startx</command> starten, werden die
|
|
Zugriffsrechte für
|
|
<filename>/dev/console</filename><emphasis>nicht</emphasis>
|
|
geändert, was dazu führt, daß 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, daß jeder Benutzer einfach auf die
|
|
Systemkonsole schreiben kann. Für Benutzer, die sich
|
|
auf einer Maschine direkt mit einem VTY anmelden,
|
|
existiert die Datei <filename>/etc/fbtab</filename>, um
|
|
derartige Probleme zu lösen.</para>
|
|
|
|
<para>In Kürze: sorgen Sie dafür, daß sich
|
|
eine nicht auskommentierte Zeile der Form</para>
|
|
|
|
<programlisting>
|
|
/dev/ttyv0 0600 /dev/console
|
|
</programlisting>
|
|
|
|
<para>in der Datei <filename>/etc/fbtab</filename> befindet.
|
|
Das sorgt dafür, daß wer auch immer sich auf
|
|
<filename>/dev/ttyv0</filename> anmeldet, auch die Konsole
|
|
besitzt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xfree86-root">
|
|
<para>Früher konnte ich XFree86 als normaler User
|
|
starten, aber jetzt sagt mir das System, daß ich
|
|
root sein muß!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Alle X-Server müssen mit der ID
|
|
<username>root</username> laufen, um direkt auf die
|
|
Videohardware zuzugreifen. Die älteren Versionen von
|
|
XFree86 (bis einschließlich 3.3.6) installierten
|
|
alle mitgelieferten Server so, daß sie automatisch
|
|
unter ID <username>root</username> ausgeführt werden
|
|
(setuid to root). Dies stellt natürlich eine
|
|
Gefahrenquelle dar, da die X-Server große, komplexe
|
|
Programme sind. Alle neueren Version von XFree86
|
|
installieren die Server aus genau diesem Grund nicht mehr
|
|
"setuid root".</para>
|
|
|
|
<para>Es ist natürlich nicht tragbar, den X-Server
|
|
immer mit der ID <username>root</username> laufen zu
|
|
lassen; auch aus Gründen der Sicherheit ist es keine
|
|
Idee. 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
|
|
Entsprechnung von <command>getty</command> und
|
|
<command>login</command>. Weitere Informationen zum Thema
|
|
<command>xdm</command> finden Sie in der <ulink
|
|
url="http://www.xfree86.org/support.html">XFree86
|
|
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>/usr/ports/x11/wrapper</filename>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ps2-x">
|
|
<para>Meine PS/2-Maus verhält sich unter X nicht
|
|
richtig.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ihre Maus und der Maustreiber sind etwas aus der
|
|
Synchronisation geraten.</para>
|
|
|
|
<para>Bis einschließlich Version 2.2.5 sorgt ein
|
|
Wechsel von X zu einer virtuellen Konsole und wieder
|
|
zurück für eine erneute Synchronisation. Falls
|
|
das Problem öfter auftritt, können Sie die
|
|
folgende Zeile in Ihre Kernelkonfigurationsdatei
|
|
einfügen und den Kernel neu erstellen.</para>
|
|
|
|
<programlisting>
|
|
options PSM_CHECKSYNC
|
|
</programlisting>
|
|
|
|
<para>Lesen Sie den Abschnitt über <link
|
|
linkend="make-kernel">die Erstellung eines Kernels</link>,
|
|
falls Sie keine Erfahrung mit der Erstellung eines Kernels
|
|
haben.</para>
|
|
|
|
<para>Mit dieser Option sollten geringere Chancen für
|
|
Synchronisationsprobleme zwischen der Maus und dem Treiber
|
|
bestehen. Falls sie jedoch weiterhin auf das Problem
|
|
stoßen, drücken Sie eine der Maustasten,
|
|
während Sie die Maus nicht bewegen, um die Maus und
|
|
den Treiber neu zu synchronisieren.</para>
|
|
|
|
<para>Beachten Sie, daß diese Option leider nicht auf
|
|
allen Systemen funktioniert und das <quote>tap</quote>
|
|
Merkmal eines am PS/2-Mausanschluß angeschlossenen
|
|
ALPS GlidePoint Gerätes beeinträchtigt.</para>
|
|
|
|
<para>Ab Version 2.2.6 erfolgt die Überprüfung der
|
|
Synchronisation etwas besser und ist ein Standard im
|
|
PS/2-Maustreiber. Es sollte sogar mit GlidePoint
|
|
funktionieren. (Da der Code zur Überprüfung ein
|
|
standard Merkmal geworden ist, gibt es die Option
|
|
PSM_CHECKSYNC in diesen Versionen nicht mehr.) In seltenen
|
|
Fällen kann es jedoch sein, daß 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 0x100
|
|
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, daß 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 Bilschirms.</para>
|
|
|
|
<para>Leider gibt es hierzu keine Abhilfe für die
|
|
Versionen 2.0.X und 2.1.X. Verwenden Sie bei den
|
|
Versionen 2.2 bis 2.2.5 den folgenden Patch für die
|
|
Datei <filename>/sys/i386/isa/psm.c</filename> und
|
|
erstellen Sie den Kernel neu. Lesen Sie den Abschnitt
|
|
über die <link linkend="make-kernel">Erstellung eines
|
|
Kernels</link>, falls Sie keine Erfahrung mit der
|
|
Erstellung eines Kernels haben.</para>
|
|
|
|
<programlisting>
|
|
diff -u psm.c.orig psm.c
|
|
@@ -766,6 +766,8 @@
|
|
if (verbose >= 2)
|
|
log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
|
|
unit, i);
|
|
+ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
|
|
+
|
|
#if 0
|
|
set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
|
|
set_mouse_mode(sc->kbdc); /* stream mode */
|
|
</programlisting>
|
|
|
|
<para>Spezifizieren Sie ab Version 2.2.6 das Flag 0x04
|
|
für den Maustreiber, um die Maus in den
|
|
hochauflösenden Modus zu bringen. 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="imake-tmpl">
|
|
<para>Wenn ich eine X-Applikation erstellen will, kann
|
|
<command>imake</command> die Datei
|
|
<filename>Imake.tmpl</filename> nicht finden. Wo befindet
|
|
sie sich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><filename>Imake.tmpl</filename> ist Teil des
|
|
Imake-Paketes, ein Standardwerkzeug zur Erstellung von
|
|
X-Applikationen. <filename>Imake.tmpl</filename> ist
|
|
ebenso, wie viele Header-Dateien, die zur Erstellung von
|
|
X-Applikationen benötigt werden, in der Distribution
|
|
<literal>xprog</literal> enthalten. Sie können Sie
|
|
per sysinstall oder aber manuell mit den X
|
|
Distributionsdateien installieren.</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 Datei .xinitrc oder
|
|
.xsession.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="install-splash">
|
|
<para>Wie installiere ich einen Splash-Screen und wo finde
|
|
ich sie?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kurz vor der Herausgabe von FreeBSD 3.1 wurde ein
|
|
neues Feature eingefügt, das die Anzeige von
|
|
<quote>Splash-Screens</quote> während der
|
|
Bootmeldungen erlaubt. Die Splash-Screens dürfen
|
|
derzeit nur Bitmaps mit 256-Farben
|
|
(<filename>*.BMP</filename>) oder ZSoft-PCX-Dateien
|
|
<filename>*.PCX</filename>) sein. Damit sie mit normalen
|
|
VGA-Karten dargestellt werden können, darf die
|
|
Größe 320x200 Bildpunkte nicht
|
|
überschreiten. Wenn Sie in ihrem Kernel die
|
|
VESA-Unterstützung eingebunden haben, beträgt
|
|
die maximale Größe 1024x768 Pixel. Beachten
|
|
Sie, daß die VESA-Unterstützung die
|
|
Kerneloption <literal>VM86</literal> benötigt, um in
|
|
den Kernel eingebunden werden zu können. Die
|
|
derzeitige VESA-Unterstützung kann entweder direkt
|
|
durch die Kernelkonfigurationsoption
|
|
<literal>VESA</literal> in den Kernel eingebunden werden,
|
|
oder durch das Laden des VESA-Moduls kld während des
|
|
Bootens.</para>
|
|
|
|
<para>Um eine Splash-Screen zu benutzen, müssen Sie die
|
|
Startdateien, die den Bootprozeß von FreeBSD
|
|
kontrollieren, modifizieren. Diese Dateien haben sich vor
|
|
der Herausgabe von FreeBSD 3.2 geändert, so daß
|
|
nun zwei Möglichkeiten zum Laden einer Splash-Screen
|
|
existieren:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>FreeBSD 3.1</para>
|
|
|
|
<para>Der erste Schritt besteht darin, eine
|
|
Bitmap-Version Ihrer Splash-Screen zu finden. Von
|
|
Version 3.1 werden nur Windows-Bitmap Splash-Screens
|
|
unterstützt. Wenn Sie die Splash-Screen Ihrer
|
|
Wahl gefunden haben, kopieren Sie sie nach
|
|
<filename>/boot/splash.bmp</filename>. Als
|
|
nächstes benötigen Sie eine Datei
|
|
<filename>/boot/loader.rc</filename>, die die
|
|
folgenden Zeilen enthält:</para>
|
|
|
|
<programlisting>
|
|
load kernel
|
|
load -t splash_image_data /boot/splash.bmp
|
|
load splash_bmp
|
|
autoboot
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>seit FreeBSD 3.2</para>
|
|
|
|
<para>Außer der zusätzlichen
|
|
Unterstützung von PCX Splash-Screens bietet
|
|
FreeBSD 3.2 eine einfachere Möglichkeit, den
|
|
Bootprozeß zu konfigurieren. Wenn Sie
|
|
möchten, können Sie auch die obige Methode
|
|
für FreeBSD 3.1 benutzen. Falls Sie das tun und
|
|
PCX verwenden möchten, dann ersetzen Sie
|
|
<literal>splash_bmp</literal> durch
|
|
<literal>splash_pcx</literal>. Falls Sie aber die
|
|
neuere Bootkonfiguration benutzen möchten,
|
|
müssen Sie eine Datei
|
|
<filename>/boot/loader.rc</filename> erstellen, die
|
|
die folgenden Zeilen enthält:</para>
|
|
|
|
<programlisting>
|
|
include /boot/loader.4th
|
|
start
|
|
</programlisting>
|
|
|
|
<para>und eine Datei
|
|
<filename>/boot/loader.conf</filename>, die die
|
|
folgenden Zeilen enthält:</para>
|
|
|
|
<programlisting>
|
|
splash_bmp_load="YES"
|
|
bitmap_load="YES"
|
|
</programlisting>
|
|
|
|
<para>Dies setzt voraus, daß Sie
|
|
<filename>/boot/splash.bmp</filename> als Ihren
|
|
Splash-Screen benutzen. Wenn Sie lieber eine
|
|
PCX-Datei benutzen wollen, dann kopieren Sie sie nach
|
|
<filename>/boot/splash.pcx</filename>, erstellen Sie
|
|
eine Datei <filename>/boot/loader.rc</filename>, wie
|
|
oben beschrieben und eine Datei
|
|
<filename>/boot/loader.conf</filename>, die folgendes
|
|
enthält:</para>
|
|
|
|
<programlisting>
|
|
splash_pcx_load="YES"
|
|
bitmap_load="YES"
|
|
bitmap_name="/boot/splash.pcx"
|
|
</programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Alles, was Sie nun brauchen, ist ein Splash-Screen.
|
|
Hierzu können Sie durch die Gallerie bei <ulink
|
|
URL="http://www.baldwin.cx/splash/">http://www.baldwin.cx/splash/</ulink>
|
|
surfen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="windows-keys">
|
|
<para>Kann ich die Windows(tm)-Tasten unter X
|
|
nutzen?</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, daß alle
|
|
<quote>Windows(tm)</quote> Tastaturen dem Standard
|
|
entsprechen, lauten die Keycodes für die drei
|
|
Tasten</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>115 - Windows(tm) Taste zwischen den Alt- und
|
|
Strg-Tasten auf der linken Seite</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>116 - Windows(tm) Taste rechts von der
|
|
Alt-Gr-Taste</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>117 - Menü-Taste, links von der rechten
|
|
Strg-Taste</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Nach der folgenden Anweisung erzeugt die linke
|
|
Windows(tm)-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 Windows(tm)-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, muß 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>Auf meinem System habe ich drei Tasten zu F13, F14 und
|
|
F15 gemacht. 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>Ich benutze <command>fvwm2</command> und habe ihn so
|
|
eingestellt, daß F13 das Fenster unter dem
|
|
Mauszeiger minimiert bzw. maximiert. F14 holt das Fenster
|
|
unter dem Mauszeiger in den Vordergrund bzw. ganz nach
|
|
hinten, wenn es bereits im Vordergrund ist. F15
|
|
ö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 zwischem 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>
|
|
</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, daß
|
|
die FreeBSD-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="../handbook/diskless.html">Handbucheintrag über
|
|
Diskless Booting</ulink></para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="router">
|
|
<para>Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
|
|
werden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Internetstandards und gute Ingenieurtechniken
|
|
verbieten uns, in FreeBSD standardmäßig eine
|
|
Paketweiterleitung zu aktivieren. Sie können dieses
|
|
Feature aber aktivieren, indem Sie in
|
|
<filename>/etc/rc.conf</filename> die folgende Variable
|
|
auf <literal>YES</literal> setzen:</para>
|
|
|
|
<programlisting>
|
|
gateway_enable=YES # Set to YES if this host will be a gateway
|
|
</programlisting>
|
|
|
|
<para>Diese Option setzt die
|
|
<command>sysctl</command>-Variable
|
|
<literal>net.inet.ip.forwarding</literal> auf
|
|
<literal>1</literal>.</para>
|
|
|
|
<para>In den meisten Fällen werden Sie auch einen
|
|
Routing-Dæmon laufen lassen müssen, um andere
|
|
Systeme in Ihrem Netzwerk über Ihren Router zu
|
|
informieren. FreeBSD enthält den standard
|
|
Routing-Daemon <command>routed</command>, für
|
|
komplexere Situationen möchten Sie evtl.
|
|
<application>GaTeD</application> ausprobieren
|
|
(erhältlich von <ulink
|
|
URL="http://www.gated.org/">http://www.gated.org/</ulink>),
|
|
der FreeBSD vom Stand 3_5Alpha7 unterstützt.</para>
|
|
|
|
<para>Wir müssen sie allerdings warnen, daß
|
|
FreeBSD selbst in dieser Konfiguration nicht alle
|
|
Internet-Standards für Router erfüllt. Für
|
|
normale Anwendungszwecke kommt es diesen Standard aber
|
|
ausreichend nahe.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="win95-connection">
|
|
<para>Kann ich meine Win95-Maschine über FreeBSD ans
|
|
Internet anbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Personen, die diese Frage stellen, haben
|
|
typischerweise zwei PCs zu Hause: einen mit FreeBSD und
|
|
einen mit Win95; die Idee ist, die FreeBSD-Maschine an das
|
|
Internet anzubinden und dann in der Lage zu sein, von der
|
|
Windows95-Maschine aus über die FreeBSD-Maschine auf
|
|
das Internet zuzugreifen. Das ist tatsächlich nur
|
|
ein Spezialfall der vorherigen Frage.</para>
|
|
|
|
<para>... und die Antwort ist JA! Das user-mode ppp von
|
|
FreeBSD kennt die Option <option>-nat</option>. Wenn Sie
|
|
<command>ppp</command> mit der Option
|
|
<option>-nat</option> starten, in
|
|
<filename>/etc/rc.conf</filename> die Variable
|
|
<literal>gateway_enable</literal> auf
|
|
<emphasis>YES</emphasis> setzen und ihre Windows-Maschine
|
|
korrekt konfigurieren, sollte das hervorragend
|
|
funktionieren.</para>
|
|
|
|
<para>Ausführlichere Informationen zur Konfiguration
|
|
finden Sie im <ulink
|
|
url="http://www.de.FreeBSD.org/tutorials/ppp/index.html">Pedantic
|
|
PPP Primer</ulink> von Steve Sims.</para>
|
|
|
|
<para>Wenn Sie Kernel-Mode PPP verwenden oder ihre
|
|
Verbindung zum Internet über Ethernet realisiert
|
|
wurde, müssen Sie <command>natd</command> verwenden.
|
|
Weitere Informationen dazu finden Sie im Abschnitt
|
|
über <link linkend="natd">natd</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="latest-bind">
|
|
<para>Warum mißlingt die Neukompilierung des neuesten
|
|
BIND von ISC?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es existiert ein Konflikt zwischen der Datei
|
|
<filename>cdefs.h</filename> in der Distribution und der,
|
|
die mit FreeBSD ausgeliefert wird. Löschen Sie
|
|
<filename>compat/include/sys/cdefs.h</filename>
|
|
einfach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="slip-ppp-support">
|
|
<para>Unterstützt FreeBSD 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;.
|
|
<command>pppd</command> und <command>ppp</command> liefern
|
|
Unterstützung sowohl für eingehende, als auch
|
|
ausgehende Verbindungen. <command>Sliplogin</command>
|
|
behandelt ausschließlich eingehende Verbindungen und
|
|
<command>slattach</command> behandelt ausschließlich
|
|
ausgehende Verbindungen.</para>
|
|
|
|
<para>Diese Programme werden in den folgenden Abschnitten
|
|
des <ulink URL="../handbook/index.html">Handbuchs</ulink>
|
|
beschrieben:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
URL="../handbook/slips.html">Handbucheintrag zu SLIP
|
|
(Serverseite)</ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="../handbook/slipc.html">Handbucheintrag zu SLIP
|
|
(Clientseite)</ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink URL="../handbook/ppp.html">Handbucheintrag
|
|
zu PPP (Kernel-Version)</ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
URL="../handbook/ppp-and-slip.html#USERPPP">Handbucheintrag
|
|
zu PPP (Benutzer-Version)</ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Falls Sie nur durch einen <quote>Shell-Account</quote>
|
|
Zugang zum Internet haben, sehen Sie sich einmal das
|
|
Package <application>slirp</application> 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 FreeBSD NAT oder
|
|
Masquerading?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie ein lokales Subnetz (oder mehrere lokale
|
|
Maschinen) besitzen, aber von Ihrem Internetprovider nur
|
|
eine einzige (evtl. auch dynamisch zugeteilte) IP-Adresse
|
|
zugewiesen bekommen haben, sehen Sie sich einmal das
|
|
Programm <command>natd</command> an.
|
|
<command>natd</command> ermöglicht es Ihnen, ein
|
|
vollständiges Subnetz mit nur einer einzigen
|
|
IP-Adresse an das Internet anzubinden.</para>
|
|
|
|
<para>Das Programm <command>ppp</command> verfügt mit
|
|
der eingebauten Option <option>-nat</option> über
|
|
eine ähnliche Funktionalität. In beiden
|
|
Fällen wird die Alias-Bibliothek &man.libalias.3;
|
|
verwendet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="create-dev-net">
|
|
<para>Ich kann kein <filename>/dev/ed0</filename>-Gerät
|
|
erstellen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei Berkley-basierten Netzwerkimplementationen kann
|
|
nur vom Kernel-Code aus direkt auf Netzwerkkarten
|
|
zugegriffen werden. Zur weiteren Information lesen Sie
|
|
bitte die Datei <filename>/etc/rc.network</filename> und
|
|
die Manualpages zu den unterschiedlichen
|
|
Netzwerkprogrammen, die dort erwähnt werden. Falls
|
|
Sie danach total verwirrt sind, sollten Sie sich ein Buch
|
|
besorgen, das die Netzwerkadministration auf einem anderen
|
|
BSD-ähnlichen Betriebssystem beschreibt; mit wenigen
|
|
signifikanten Ausnahmen gleicht die Netzwerkadministration
|
|
auf FreeBSD im Grunde der auf SunOS 4.0 oder
|
|
Ultrix.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ethernet-aliases">
|
|
<para>Wie kann ich Ethernet-Aliase einrichten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie <literal>netmask 0xffffffff</literal> in
|
|
Ihrer <command>ifconfig</command>-Befehlszeile, wie
|
|
z.B.:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="port-3c503">
|
|
<para>Wie bringe ich meine 3C503 dazu, den anderen
|
|
Anschluß zu benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie die anderen Anschlüsse benutzen
|
|
möchten, müssen Sie einen zusätzlichen
|
|
Parameter in der <command>ifconfig</command>-Befehlszeile
|
|
spezifizieren. Der Standard-Anschluß ist
|
|
<literal>link0</literal>. Um den AUI-Anschluß
|
|
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>Ich habe Probleme mit NFS nach/von FreeBSD.</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="../handbook/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</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mount -o -P linuxbox:/blah /mnt</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.X akzeptieren
|
|
Mount-Requests nur von einem privilegierten Port.
|
|
Versuchen Sie</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>mount -o -P sunbox:/blah /mnt</userinput>
|
|
</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="exports-errors">
|
|
<para>Warum meldet mir <command>mountd</command> auf meinem
|
|
FreeBSD NFS-Server ständig <quote>can't change
|
|
attributes</quote> und <quote>bad exports
|
|
list</quote>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die häufigste Ursache für dieses Problem
|
|
ist, daß Sie die folgende Passage aus
|
|
&man.exports.5; nicht oder nicht richtig verstanden
|
|
haben:</para>
|
|
|
|
<blockquote>
|
|
<para>Jede Zeile in dieser Datei (außer den mit
|
|
einem # beginnenden Kommentarzeilen) definiert den Mount
|
|
Point und die Einstellungen für den Export
|
|
innerhalb eines Dateisystems auf dem Server, für
|
|
einen oder mehrere andere Rechner (Anmerkung des
|
|
Übersetzers: Clients). Jeder Rechner darf für
|
|
jedes lokale Dateisystem nur ein mal erwähnt werden
|
|
und es darf für jedes Dateisystem des Servers nur
|
|
einen Defaulteintrag geben, der dann für alle
|
|
anderen Rechner gilt.</para>
|
|
</blockquote>
|
|
|
|
<para>Um dies zu verdeutlichen, folgt ein Beispiel eines
|
|
typischen Fehlers. Wenn alles oberhalb von
|
|
<filename>/usr</filename> Teil eines einzigen Dateisystems
|
|
ist (es also keine Mounts oberhalb von
|
|
<filename>/usr</filename> gibt), ist die folgende Datei
|
|
nicht korrekt:</para>
|
|
|
|
<programlisting>
|
|
/usr/src client
|
|
/usr/ports client
|
|
</programlisting>
|
|
|
|
<para>Es gibt zwei Zeilen, die Einstellungen für das
|
|
gleiche Dateisystem (<filename>/usr</filename>) und den
|
|
gleichen Host (<hostid>client</hostid>) definieren. Die
|
|
richtige Variante wäre:</para>
|
|
|
|
<programlisting>
|
|
/usr/src /usr/ports client
|
|
</programlisting>
|
|
|
|
<para>Um die zitiere Passage anders auszudrücken: Die
|
|
Einstellungen für den Export eines Filesystems an
|
|
einen anderen Host (globale Exporte werden wie ein anderer
|
|
Host behandelt) müssen alle in einer Zeile erfolgen.
|
|
Ja, das schränkt ihre Möglichkeiten für den
|
|
Export von Dateisystemen ein, wenn Sie keine
|
|
häßlichen Krücken einbauen wollen.
|
|
Für die meisten Benutzer ist dies allerdings kein
|
|
Problem.</para>
|
|
|
|
<para>Es folgt ein Beispiel einer legalen Export-Datei;
|
|
dabei sind <filename>/usr</filename> und
|
|
<filename>/exports</filename> lokale Dateisysteme:</para>
|
|
|
|
<programlisting>
|
|
# Export src and ports to client01 and client02, but only
|
|
# client01 has root privileges on it
|
|
/usr/src /usr/ports -maproot=0 client01
|
|
/usr/src /usr/ports client02
|
|
# The "client" machines have root and can mount anywhere
|
|
# up /exports. The world can mount /exports/obj read-only
|
|
/exports -alldirs -maproot=0 client01 client02
|
|
/exports/obj -ro
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nextstep">
|
|
<para>Ich habe 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 NO 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 seit FreeBSD 2.0
|
|
standardmäßig voll unterstützt. Wenn Sie
|
|
Ihre Maschine als Multicast-Router betreiben wollen,
|
|
müssen Sie Ihren Kernel mit der Option
|
|
<literal>MROUTING</literal> rekompilieren und
|
|
<command>mrouted</command> starten. Seit Version 2.2
|
|
startet FreeBSD <command>mrouted</command> beim Booten,
|
|
wenn die Variable <literal>mrouted_enable</literal> in der
|
|
Datei <filename>/etc/rc.conf</filename> auf
|
|
<literal>"YES"</literal> gesetzt ist.</para>
|
|
|
|
<para>MBONE-Tools sind in ihrer eigenen Ports-Kategorie
|
|
mbone verfügbar. Schauen Sie dort nach, wenn Sie die
|
|
Konferenztools <command>vic</command> und
|
|
<command>vat</command> suchen!</para>
|
|
|
|
<para>Weitere Informationen finden Sie im <ulink
|
|
URL="http://www.mbone.com/">Mbone Information
|
|
Web</ulink>.</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 <ulink
|
|
URL="mailto:gfoster@driver.nsta.org">Glen Foster</ulink>
|
|
zusammengetragene Liste mit einigen aktuellen
|
|
Ergänzungen:</para>
|
|
|
|
<programlisting>
|
|
Hersteller Modell
|
|
----------------------------------------------
|
|
ASUS PCI-L101-TB
|
|
Accton ENI1203
|
|
Cogent EM960PCI
|
|
Compex ENET32-PCI
|
|
D-Link DE-530
|
|
Dayna DP1203, DP2100
|
|
DEC DE435, DE450
|
|
Danpex EN-9400P3
|
|
JCIS Condor JC1260
|
|
Linksys EtherPCI
|
|
Mylex LNP101
|
|
SMC EtherPower 10/100 (Modell 9332)
|
|
SMC EtherPower (Modell 8432)
|
|
TopWare TE-3500P
|
|
Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
|
|
(3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
|
|
ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="fqdn-hosts">
|
|
<para>Warum muß ich für Hosts auf meiner Site den
|
|
FQDN benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie werden wahrscheinlich feststellen, daß der
|
|
Host sich tatsächlich in einer anderen Domäne
|
|
befindet; wenn Sie sich zum Beispiel in foo.bar.edu
|
|
befinden und einen Host namens <hostid>mumble</hostid> in
|
|
der Domäne <hostid role="domainname">bar.edu</hostid>
|
|
erreichen wollen, werden Sie den fully-qualified
|
|
Domainnamen <hostid role="fqdn">mumble.bar.edu</hostid>,
|
|
anstatt nur <hostid>mumble</hostid> benutzen
|
|
müssen.</para>
|
|
|
|
<para>Traditionell war dies bei BSD-BIND-Resolvern erlaubt.
|
|
Die aktuelle Version von <application>bind</application>,
|
|
die mit FreeBSD ausgeliefert wird, ermöglicht jedoch
|
|
nicht mehr die standardmäßige Abkürzung
|
|
von nicht-fully-qualified Domainnamen für andere als
|
|
ihre eigene Domäne. Ein nicht-qualifizierter Host
|
|
<hostid>mumble</hostid> muß also entweder als
|
|
<hostid role="fqdn">mumble.foo.bar.edu</hostid> gefunden
|
|
werden, oder er wird in der Hauptdomäne
|
|
gesucht.</para>
|
|
|
|
<para>Dies unterscheidet sich vom vorherigen Verhalten, wo
|
|
die Suche über <hostid
|
|
role="fqdn">mumble.bar.edu</hostid> und <hostid
|
|
role="domainname">mumble.edu</hostid> fortgesetzt wurde.
|
|
Werfen Sie einen Blick in RFC 1535, um zu erfahren, warum
|
|
dies als schlechter Stil oder sogar als eine
|
|
Sicherheitslücke betrachtet wurde.</para>
|
|
|
|
<para>Als Abhilfe können Sie die Zeile</para>
|
|
|
|
<programlisting>
|
|
search foo.bar.edu bar.edu
|
|
</programlisting>
|
|
|
|
<para>anstelle der vorherigen</para>
|
|
|
|
<programlisting>
|
|
domain foo.bar.edu
|
|
</programlisting>
|
|
|
|
<para>in Ihre Datei <filename>/etc/resolv.conf</filename>
|
|
einfügen. Stellen Sie jedoch sicher, daß die
|
|
Suchreihenfolge nicht über die <quote>Grenze zwischen
|
|
lokaler und öffentlicher Administration</quote>, wie
|
|
RFC 1535 sie nennt, hinausreicht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="network-permission-denied">
|
|
<para><literal>Permission denied</literal> bei allen
|
|
Netzwerkoperationen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieses Problem kann auftreten, wenn Sie einen Kernel
|
|
mit der Option <literal>IPFIREWALL</literal> erstellt
|
|
haben. Während der Entwicklung von FreeBSD 2.1.7
|
|
wurde die Semantik dieser Option geändert: Seit
|
|
dieser Version ist alles verboten, was nicht explizit
|
|
erlaubt ist.</para>
|
|
|
|
<para>Falls sie Ihr System unbeabsichtigt als Firewall
|
|
fehlkonfiguriert 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 FreeBSD-Firewall finden Sie im <ulink
|
|
URL="../handbook/firewalls.html">Handbuch-Abschnitt</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ipfw-overhead">
|
|
<para>Wieviele Einbußen zieht IPFW nach sich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Antwort auf diese Frage hängt
|
|
hauptsächlich von Ihrem Rule-Set und der
|
|
Prozessorgeschwindigkeit ab. Für die meisten
|
|
Anwendungen, die mit Ethernetzen und kleinen Rule-Sets
|
|
arbeiten, ist die Antwort: unbedeutend. Diejenigen, die
|
|
tatsächliche Messungen zur Befriedigung ihrer
|
|
Neugierde brauchen, sollten weiterlesen.</para>
|
|
|
|
<para>Die folgenden Messungen wurden mit 2.2.5-STABLE auf
|
|
einem 486-66 durchgeführt. IPFW wurde modifiziert,
|
|
um die Zeit zu messen, die in der Routine
|
|
<literal>ip_fw_chk</literal> verbracht wurde. Das
|
|
Ergebnis wurde nach jeweils 1000 Paketen auf der Konsole
|
|
ausgegeben.</para>
|
|
|
|
<para>Getestet wurden zwei Regelsätze mit jeweils 1000
|
|
Regeln. Der erste Satz wurde zur Demonstration eines
|
|
Szenarios im schlimmsten Fall zusammengestellt, indem die
|
|
folgende Regel wiederholt wurde:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ipfw add deny tcp from any to any 55555</userinput>
|
|
</screen>
|
|
|
|
<para>Dies demonstriert den schlimmsten Fall, indem
|
|
dafür gesorgt wird, daß die meisten von IPFW's
|
|
Paketüberprüfungsroutinen ausgeführt
|
|
werden, bevor letztlich entschieden wird, daß die
|
|
Regel für das Paket nicht zutrifft (wegen der
|
|
virtuellen Portnummer). Auf die 999. Iteration dieser
|
|
Regel folgte ein <literal>allow ip from any to
|
|
any</literal>.</para>
|
|
|
|
<para>Der zweite Regelsatz wurde so zusammengestellt,
|
|
daß die Überprüfung der Regeln schnell
|
|
abbricht:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>ipfw add deny ip from 1.2.3.4 to 1.2.3.4</userinput>
|
|
</screen>
|
|
|
|
<para>Die nichtzutreffende IP-Adresse für die obige
|
|
Regel sorgt dafür, daß diese Regeln sehr
|
|
schnell übersprungen werden. Wie zuvor war die 1000.
|
|
Regel ein <literal>allow ip from any to
|
|
any</literal>.</para>
|
|
|
|
<para>Der Verarbeitungsmehraufwand pro Paket im ersten Fall
|
|
war ungefähr 2,703 ms/Paket, oder grob 2,7
|
|
Mikrosekunden pro Regel. Das theoretische Limit für
|
|
die Verarbeitung von Paketen liegt also etwa bei 370
|
|
Paketen pro Sekunde. Bei einem 10Mbps Ethernet und einer
|
|
Paketgröße von ~1500 Byte könnte man nur
|
|
eine 55,5% ige Ausnutzung der Bandbreite
|
|
erreichen.</para>
|
|
|
|
<para>Im letzteren Fall wurde jedes Paket in ungefähr
|
|
1,172 ms verarbeitet, oder grob 1,2 Mikrosekunden pro
|
|
Regel. Das theoretische Limit für die Verarbeitung
|
|
von Paketen läge hier bei etwa 853 Paketen pro
|
|
Sekunde, was ein 10Mbps Ethernet auslasten
|
|
könnte.</para>
|
|
|
|
<para>Die übermäßige Anzahl der getesteten
|
|
Regeln und die Beschaffenheit dieser Regeln liefern kein
|
|
realistisches Szenario -- sie wurden lediglich benutzt, um
|
|
die hier vorgestellten Meßergebnisse zu generieren.
|
|
Hier sind einige Dinge, die bei der Erstellung eines
|
|
effizienten Regelsatzes beachtet werden sollten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Setzen Sie frühzeitig eine
|
|
<literal>established</literal>-Regel, um den
|
|
Großteil des TCP-Verkehrs abzufangen. Setzen
|
|
Sie keine <literal>allow tcp</literal>-Anweisungen vor
|
|
diese Regel.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Plazieren Sie häufig angestoßene Regeln
|
|
im Regelsatz vor solche, die weniger häufig
|
|
benutzt werden (natürlich, <emphasis>ohne die
|
|
Toleranz der Firewall zu verändern</emphasis>).
|
|
Sie können herausfinden, welche Regeln am
|
|
häufigsten benutzt werden, indem Sie die
|
|
Paketstatistik mit <command>ipfw -a l</command>
|
|
untersuchen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</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 Package <literal>socket</literal> umleiten, das im
|
|
Ports-Tree in der Kategorie <quote>sysutils</quote>
|
|
verfügbar ist. Ersetzen sie die Befehlszeile
|
|
für den Dienst einfach so, daß stattdessen
|
|
socket aufgerufen wird, zum Beispiel so:</para>
|
|
|
|
<programlisting>
|
|
ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.foo.com</replaceable> <replaceable>ftp</replaceable>
|
|
</programlisting>
|
|
|
|
<para>wobei <replaceable>ftp.foo.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 FreeBSD gibt es zwei
|
|
Bandbreiten-Managementtools. <ulink
|
|
URL="http://www.csl.sony.co.jp/person/kjc/programs.html">ALTQ</ulink>
|
|
gibt es umsonst; Bandwidth Manager von <ulink
|
|
URL="http://www.etinc.com/">Emerging Technologies</ulink>
|
|
ist ein kommerzielles Produkt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bpf-not-configured">
|
|
<para>Warum erhalte ich <literal>/dev/bpf0: device not
|
|
configured</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Berkeley-Paket-Filter <devicename>bpf</devicename>
|
|
muß 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>
|
|
pseudo-device bpfilter # Berkeley Packet Filter
|
|
</programlisting>
|
|
|
|
<para>Zweitens müssen Sie nach dem Rebooten den Device
|
|
Node erstellen. Führen Sie dazu die folgenden
|
|
Befehle aus:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh MAKEDEV bpf0</userinput>
|
|
</screen>
|
|
|
|
<para>Weitere Informationen zur Erstellung von Geräten
|
|
finden Sie im <ulink
|
|
URL="../handbook/kernelconfig-nodes.html">Handbucheintrag
|
|
über Device Nodes</ulink>.</para>
|
|
</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 das Package <application>sharity
|
|
light</application> aus der Ports-Sammlung.</para>
|
|
<!-- XXX update for bp's SMBFS in CURRENT, when it is imported! -->
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="icmp-response-bw-limit">
|
|
<para>Was bedeutet die Meldung <quote>icmp-response
|
|
bandwidth limit 300/200 pps</quote> in meinen
|
|
Logfiles?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Mit dieser Meldung teilt Ihnen der Kernel mit,
|
|
daß irgend jemand versucht, ihn zur Generierung von
|
|
zu vielen ICMP oder TCP reset (TST) Antworten zu
|
|
provozieren. ICMP Antworten sind oft das Ergebnis von
|
|
Verbindungsversuchen zu unbenutzen 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, wieviele 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> Packete
|
|
pro Sekunde gesetzt:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn Sie zwar die Begrenzung nutzen 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>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="ppp">
|
|
<title>PPP</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="userppp">
|
|
<para>Ich bekomme ppp 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="../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
|
|
<application>ppp</application> 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, daß die Datei
|
|
<filename>/etc/syslog.conf</filename> die folgenden Zeilen
|
|
enthält:</para>
|
|
|
|
<programlisting>
|
|
!ppp
|
|
*.* /var/log/ppp.log
|
|
</programlisting>
|
|
|
|
<para>und, daß die Datei
|
|
<filename>/var/log/ppp.log</filename> existiert. 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>
|
|
|
|
<para>Falls Ihre ppp-Version den <command>set log</command>
|
|
Befehl nicht versteht, sollten Sie sich die <ulink
|
|
URL="http://people.FreeBSD.org/~brian/">neueste
|
|
Version</ulink> herunterladen. Sie kann auf
|
|
Freebsd-Version 2.1.5 und höher erstellt
|
|
werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-hangs">
|
|
<para>ppp hängt, wenn ich es benutze.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das liegt meistens daran, daß Ihr Rechnername
|
|
nicht aufgelöst werden kann. Um dieses Problem zu
|
|
lösen, muß in der Datei
|
|
<filename>/etc/hosts</filename> der Eintrag
|
|
<literal>hosts</literal> an die erste Stelle gesetzt
|
|
werden. Damit wird der Resolver angewiesen, für die
|
|
Namensauflösung zunächst einmal diese Datei zu
|
|
verwenden. 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.bar.com foo localhost
|
|
</programlisting>
|
|
|
|
<para>Andernfalls fügen Sie einfach einen weiteren
|
|
Eintrag für Ihren lokalen Recher 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>ppp wählt im -auto-Modus nicht.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Überprüfen Sie zunächst, ob Sie eine
|
|
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, daß Sie die Adressen aus
|
|
dem Handbuch, der Manualpage oder aus der Datei
|
|
ppp.conf.sample benutzt haben. Falls Sie keine
|
|
Standardroute haben, kann es daran liegen, daß Sie
|
|
eine alte Version von <command>ppp</command> benutzen, die
|
|
das Wort <literal>HISADDR</literal> in der Datei ppp.conf
|
|
nicht versteht. Falls Ihre
|
|
<application>ppp</application>-Version älter als
|
|
2.2.5 ist, ändern Sie die Zeile</para>
|
|
|
|
<programlisting>
|
|
add 0 0 HISADDR
|
|
</programlisting>
|
|
|
|
<para>in</para>
|
|
|
|
<programlisting>
|
|
add 0 0 10.0.0.2
|
|
</programlisting>
|
|
|
|
<para>Ein weiterer Grund dafür, daß die Zeile
|
|
für die Standardroute fehlt, könnte der sein,
|
|
daß Sie fälschlicherweise eine Standardroute in
|
|
der Datei <filename>/etc/rc.conf</filename> (diese Datei
|
|
hieß vor Version 2.2.2
|
|
<filename>/etc/sysconfig</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="../handbook/ppp-and-slip.html#USERPPP-FINAL">Abschließende
|
|
Systemkonfiguration</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-route-to-host">
|
|
<para>Was bedeutet <quote>No route to host</quote>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler beruht für gewöhnlich auf
|
|
einem fehlenden Abschnitt</para>
|
|
|
|
<programlisting>
|
|
MYADDR:
|
|
delete ALL
|
|
add 0 0 HISADDR
|
|
</programlisting>
|
|
|
|
<para>in Ihrer Datei
|
|
<filename>/etc/ppp/ppp.linkup</filename>. 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="../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">PPP
|
|
und Dynamische IP-Adressen</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="connection-threeminutedrop">
|
|
<para>Meine Verbindung wird nach drei Minuten
|
|
beendet</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Standardtimeout für ppp beträgt drei
|
|
Minuten. Er kann durch die Zeile</para>
|
|
|
|
<programlisting>
|
|
set timeout <replaceable>NNN</replaceable>
|
|
</programlisting>
|
|
|
|
<para>eingestellt werden, wobei
|
|
<replaceable>NNN</replaceable> die Inaktivität in
|
|
Sekunden, bevor die Verbindung geschlossen wird, angibt.
|
|
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
|
|
<command>telnet</command> oder <command>pppctl</command>
|
|
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>Meine Verbindung bricht bei hoher Auslastung
|
|
ab</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie Link-Quality-Reporting (LQR) konfiguriert
|
|
haben, ist es möglich, daß zu viele LQR-Pakete
|
|
zwischen Ihrer Maschine und dem verbundenen Rechner
|
|
verloren gehen. ppp folgert daraus, daß die
|
|
Verbindung nicht in Ordnung ist und schließt sie.
|
|
Vor FreeBSD Version 2.2.5 war LQR standardmäßig
|
|
aktiviert; nun ist es standardmäßig
|
|
deaktiviert. Es kann durch folgende Zeile deaktiviert
|
|
werden:</para>
|
|
|
|
<programlisting>
|
|
disable lqr
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-drop-random">
|
|
<para>Meine Verbindung bricht nach unbestimmter Zeit
|
|
ab</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn die Qualität Ihrer Telefonleitung zu
|
|
schlecht oder bei Ihrem Anschluß die Option
|
|
(Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
|
|
ist, kann es manchmal vorkommen, daß Ihr Modem
|
|
auflegt, weil es (fälschlicherweise) annimmt,
|
|
daß 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 USR 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>Meine Verbindung hängt nach einer unbestimmten
|
|
Zeit</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Viele Leute machen Erfahrungen mit hängenden
|
|
Verbindungen ohne erkennbaren Grund. Als erstes muß
|
|
festgestellt werden, welche Seite der Verbindung
|
|
hängt.</para>
|
|
|
|
<para>Wenn Sie ein externes Modem benutzen, können Sie
|
|
einfach versuchen, <command>ping</command> 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 pppctl eine Verbindung zu ppp 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
|
|
<command>ping</command> 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>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-remote-not-responding">
|
|
<para>Das externe Ende antwortet nicht</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hier können Sie wenig tun. Die meisten ISPs
|
|
werden ablehnen, Ihnen zu helfen, wenn Sie kein
|
|
Betriebssystem von Microsoft benutzen. Sie können
|
|
<literal>enable lqr</literal> in Ihrer Datei
|
|
<filename>ppp.conf</filename> angeben, wodurch ppp
|
|
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, daß Sie ein eigenes 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 fuer ein Gespräch
|
|
mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
|
|
daß Sie kein Microsoft-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 (<quote>Memory fault, core
|
|
dumped</quote>).</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>ppp hängt sich auf</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In diesem Fall erstellen Sie am besten ppp neu, indem
|
|
Sie <literal>CFLAGS+=-g</literal> und
|
|
<literal>STRIP=</literal> am Ende des Makefiles
|
|
einfügen und dann <command>make clean && make
|
|
&& make install</command> ausführen. Suchen
|
|
Sie die Prozeßnummer von ppp mit <command>ps ajxww |
|
|
fgrep ppp</command>, wenn ppp sich aufhängt und
|
|
führen Sie <command> gdb ppp
|
|
<replaceable>PID</replaceable></command> aus. Am
|
|
gdb-Prompt können Sie <command>bt</command> benutzen,
|
|
um einen Auszug von Stack zu erhalten.</para>
|
|
|
|
<para>Senden Sie die Ergebnisse an
|
|
<email>brian@Awfulhak.org</email>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-loginok-thennothing">
|
|
<para>Nach der Nachricht Login OK! geschieht nichts.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei Freebsd-Versionen vor 2.2.5 wartete
|
|
<application>ppp</application> darauf, daß 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
|
|
<application>ppp</application> zu veranlassen, LCP zu
|
|
initiieren:</para>
|
|
|
|
<programlisting>
|
|
set openmode active
|
|
</programlisting>
|
|
|
|
<para>
|
|
<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 dennoch
|
|
schadet.</para>
|
|
</note>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-same-magic">
|
|
<para>Ich sehe ständig Fehlermeldungen über
|
|
gleiche "Magic Numbers".</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nach dem Aufbau einer Verbindung kann es sein,
|
|
daß Sie in der Logdatei gelegentlich Meldungen mit
|
|
dem Hinweis <quote>magic is the same</quote> 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 ppp 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 ppp nach dem Einloggen von einem
|
|
Login-Skript oder einem Programm aus gestartet wird. Ich
|
|
habe auch davon gehört, daß dies bei der
|
|
Benutzung von slirp regelmäßig auftritt. Der
|
|
Grund hierfür ist, daß das ppp auf der
|
|
Client-Seite in der Zeit, die benötigt wird, getty zu
|
|
beenden und ppp zu starten, bereits beginnt, Line Control
|
|
Protocol (LCP) Pakete zu senden. Da ECHO auf dem
|
|
Serverport weiterhin eingeschaltet ist, werden diese
|
|
Pakete zum ppp auf der Client-Seite
|
|
<quote>reflektiert</quote>.</para>
|
|
|
|
<para>Ein Teil der LCP-Verhandlungen ist die Einrichtung
|
|
einer "magic Number" für jede Seite der Verbindung,
|
|
damit <quote>Echos</quote> erkannt werden können.
|
|
Das Protokoll besagt, daß, wenn der Partner
|
|
versucht, die gleiche "Magic Number" 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 "Magic Number" im reflektierten Paket
|
|
und erzeugt ein NAK. Er sieht auch das reflektierte NAK
|
|
(was bedeutet, daß ppp seine "Magic Number"
|
|
ändern muß). Hierdurch wird eine Vielzahl von
|
|
Änderungen der "Magic Number" hervorgerufen, die sich
|
|
allesamt im tty-Puffer des Servers ansammeln. Sobald ppp
|
|
auf dem Server startet, wird es mit Änderungen der
|
|
"Magic Number" überflutet und entscheidet, daß
|
|
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, daß er keine
|
|
weiteren Reflexionen sieht, wird ihm gemeldet, daß
|
|
der Server auflegt.</para>
|
|
|
|
<para>Dies kann verhindert werden, indem dem Parter 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 ppp mitgeteilt, darauf zu warten,
|
|
daß 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 ppp 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 ppp 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.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt eine Fehlfunktion in der Implementierung von
|
|
<application>ppp</application>, die darin besteht,
|
|
daß LCP-, CCP- & IPCP-Antworten nicht mit den
|
|
ursprünglichen Anforderungen assoziiert werden.
|
|
Für den Fall, daß eine Implementation von
|
|
<application>ppp</application> mehr als sechs Sekunden
|
|
langsamer ist, als die andere Seite, resultiert das darin,
|
|
daß 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, daß 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,
|
|
daß <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
|
|
<literal>Anforderung Gesendet</literal> 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
|
|
<literal>ACK-SENT</literal> und sendet eine weitere
|
|
(zweite) Anforderung und (vierte) Bestätigung
|
|
entsprechend dem RFC. <hostid>A</hostid> erhält die
|
|
Anforderung, geht in den Zustand
|
|
<literal>REQ-SENT</literal> ü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, daß
|
|
man zu keinem Ergebnis gelangt und aufgibt.</para>
|
|
|
|
<para>Am besten verhindert man solche Situationen, indem man
|
|
eine Seite als <literal>passiv</literal> konfiguriert,
|
|
d.h. dafür sorgt, daß eine Seite darauf wartet,
|
|
daß die andere mit den Verhandlungen beginnt. Das
|
|
kann durch den Befehl</para>
|
|
|
|
<programlisting>
|
|
set openmode passive
|
|
</programlisting>
|
|
|
|
<para>geschehen. Diese Option sollten Sie mit Vorsicht
|
|
genießen. Folgenden Befehl sollten Sie benutzen, um
|
|
die Wartezeit auf den Beginn der Verhandlungen des
|
|
Partners von <application>ppp</application> zu
|
|
begrenzen:</para>
|
|
|
|
<programlisting>
|
|
set stopped N
|
|
</programlisting>
|
|
|
|
<para>Alternativ kann der Befehl</para>
|
|
|
|
<programlisting>
|
|
set openmode active <replaceable>N</replaceable>
|
|
</programlisting>
|
|
|
|
<para>(wobei <replaceable>N</replaceable> die Wartezeit in
|
|
Sekunden vor Beginn der Verhandlungen angibt) benutzt
|
|
werden. Weitere Details finden Sie in den
|
|
Manualpages</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-lockups">
|
|
<para>ppp schließt kurz nach Aufbau der
|
|
Verbindung.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei FreeBSD-Versionen vor 2.2.5 konnte es passieren,
|
|
daß Ihre Verbindung kurz nach dem Aufbau deaktiviert
|
|
wurde, weil <application>ppp</application> die
|
|
Verhandlungen der Kompression Predictor1 falsch handhabte.
|
|
Das passiert nur dann, wenn beide Seiten versuchen, ein
|
|
unterschiedliches Kompressionsprotokoll (Compression
|
|
Control Protocol (CCP)) auszuhandeln. Dieses Problem ist
|
|
bereits behoben, falls Sie aber noch eine alte Version von
|
|
<application>ppp</application> verwenden, können Sie
|
|
es mit Hilfe der folgenden Zeile umgehen:</para>
|
|
|
|
<programlisting>
|
|
disable pred1
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-shell-test-lockup">
|
|
<para>ppp reagiert nicht, wenn ich shell benutze, um es zu
|
|
testen.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie den Befehl <command>shell</command> oder
|
|
<command>!</command> benutzen, führt
|
|
<command>ppp</command> eine Shell aus (falls Sie Argumente
|
|
übergeben haben, führt <command>ppp</command>
|
|
diese Argumente aus). ppp 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, daß <command>ppp</command> 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 ppp kann
|
|
fortfahren, die Verbindung zu bedienen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nullmodem">
|
|
<para>ppp über ein Null-Modem-Kabel wird niemals
|
|
beendet.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt keine Möglichkeit für
|
|
<application>ppp</application>, automatisch festzustellen,
|
|
ob eine direkte Verbindung beendet worden ist. Das liegt
|
|
an den Leitungen, die bei einem seriellen Null-Modem-Kabel
|
|
benutzt werden. Wenn Sie diese Art der Verbindung
|
|
verwenden, sollte LQR immer 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 ppp im Modus -auto ohne
|
|
Grund?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls <application>ppp</application> 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, daß DNS-Anfragen den Aufbau der
|
|
Verbindung hervorrufen (das verhindert
|
|
<emphasis>nicht</emphasis>, daß 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 <application>sendmail</application>. Sie sollten
|
|
sicherstellen, daß Sie sendmail in der
|
|
Konfigurationsdatei sagen, daß keine DNS-Anfragen
|
|
durchführen soll. Lesen Sie den Abschnitt zur <link
|
|
linkend="ispmail">Mail-Konfiguration</link>, um Details
|
|
zur Erstellung Ihrer eigenen Konfigurationsdatei und
|
|
darüber, was dort angegeben werden sollte, zu
|
|
erfahren. 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 veranlaßt sendmail dazu, alles in eine
|
|
Warteschlange einzureihen, bis die Warteschlange
|
|
verarbeitet wird (normalerweise wird sendmail mit
|
|
<option>-bd -q30m</option> aufgerufen, was besagt,
|
|
daß die Warteschlange alle 30 Minuten abgearbeitet
|
|
wird) oder, bis ein <command>sendmail -q</command>
|
|
ausgeführt wird (z.B. aus Ihrer Datei ppp.linkup
|
|
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, daß ppp 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-lockup-ioerrors">
|
|
<para>ppp blockt während einer Dateiübertragung
|
|
mit IO-Fehlern.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Unter FreeBSD 2.2.2 und frühere gab es einen Bug
|
|
im Tun-Treiber, der ankommende Pakete die
|
|
größer als die MTU der Tun-Schnittstelle sind,
|
|
ablehnt. Der Empfang eines Paketes größer der
|
|
MTU resultiert in einem IO-Fehler, der über syslogd
|
|
geloggt wird.</para>
|
|
|
|
<para>Die ppp-Spezifikation besagt, daß eine MTU von
|
|
1500 <emphasis>immer</emphasis> als Minimum akzeptiert
|
|
werden sollte, ungeachtet aller LCP-Verhandlungen. Es ist
|
|
deshalb möglich, daß Sie die MTU auf unter 1500
|
|
herabsetzen, Ihr ISP wird trotzdem Pakete der
|
|
Größe 1500 übertragen und Sie werden auf
|
|
diese Fehlfunktion stoßen, die Ihre Verbindung
|
|
lahmlegt.</para>
|
|
|
|
<para>Das Problem kann umgangen werden, indem unter FreeBSD
|
|
2.2.2 und früher niemals eine MTU von weniger als
|
|
1500 gesetzt wird.</para>
|
|
</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 veranlaßt <application>ppp</application>
|
|
dazu, alles bis zur letzten angeforderten
|
|
<quote>expext</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,
|
|
daß Sie ppp 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
|
|
<application>ppp</application> zwingt, die gesamte
|
|
CONNECT-Antwort zu lesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-ignores-backslash">
|
|
<para>ppp ignoriert das Zeichen <literal>\</literal> in
|
|
meinem Chat-Skript.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>ppp analysiert jede Zeile in Ihrer
|
|
Konfigurationsdatei, damit es Zeichenketten wie z.B.
|
|
<literal>set phone "123 456 789"</literal> korrekt
|
|
interpretieren kann (und erkennen, daß 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,
|
|
daß 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>ppp erzeugt einen Segmentation Fault, aber ich finde
|
|
die Datei <filename>ppp.core</filename> nicht.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Weder ppp noch andere Programme sollten Core-Dumps
|
|
erzeugen. Da ppp mit der effektiven Benutzerkennung 0
|
|
ausgeführt wird, wird das Betriebssystem ppp's
|
|
Coreimage nicht auf die Festplatte schreiben, bevor es ppp
|
|
beendet hat. Falls ppp jedoch tatsächlich aufgrund
|
|
einer Speicherverletzung abbricht <emphasis>und</emphasis>
|
|
Sie die aktuellste Version (siehe Anfang dieses Kapitels)
|
|
benutzen, dann sollten Sie folgendes tun:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>tar xfz ppp-*.src.tar.gz</userinput>
|
|
&prompt.user; <userinput>cd ppp*/ppp</userinput>
|
|
&prompt.user; <userinput>echo STRIP= >>Makefile</userinput>
|
|
&prompt.user; <userinput>echo CFLAGS+=-g >>Makefile</userinput>
|
|
&prompt.user; <userinput>make clean all</userinput>
|
|
&prompt.user; <userinput>su</userinput>
|
|
&prompt.root; <userinput>make install</userinput>
|
|
&prompt.root; <userinput>chmod 555 /usr/sbin/ppp</userinput>
|
|
</screen>
|
|
|
|
<para>Nun ist die installierte Version von ppp mit einem
|
|
Debugger ausführbar. Sie können ppp 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 ppp starten.</para>
|
|
|
|
<para>Wenn nun wieder eine Speicherverletzung auftreten
|
|
sollte, wird ppp 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 dem Umgang mit gdb vertraut sind,
|
|
könnten Sie weitere Einzelheiten herausfinden, z.B.
|
|
wodurch der Fehler tatsächlich hervorgerufen wurde
|
|
und die Adressen & Werte der betreffenden
|
|
Variablen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-autodialprocess-noconnect">
|
|
<para>Ein Prozeß, der einen automatischen
|
|
Einwählmodus erzwingt, bekommt keine
|
|
Verbindung</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies war ein bekanntes Problem bei
|
|
<application>ppp</application>-Konfigurationen, bei denen
|
|
automatisch dynamische, lokale IP-Adressen mit dem Partner
|
|
ausgehandelt werden. In der aktuellsten Version ist das
|
|
Problem behoben - suchen Sie in den Manualpages nach
|
|
<literal>iface</literal>.</para>
|
|
|
|
<para>Das Problem bestand darin, daß, wenn das erste
|
|
Programm &man.connect.2; aufruft, die IP-Adresse der
|
|
tun-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
|
|
Kernel erstellt das erste ausgehende Paket und schreibt es
|
|
in das tun-Gerät. <application>ppp</application>
|
|
liest dann das Paket und baut eine Verbindung auf. Falls
|
|
die Schnittstellenadresse sich nun aufgrund
|
|
<application>ppp</application>'s dynamischer
|
|
Adreßzuordnung ä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 <literal>:-)</literal> Die
|
|
derzeitige Version von <application>ppp</application> 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
|
|
tun-Schnittstelle zu ändern, sondern stattdessen alle
|
|
ausgehenden Pakete so zu ändern, daß 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 <application>ppp</application> bewirkt wird (mit
|
|
Unterstützung von &man.libalias.3; und ppp'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.
|
|
<application>ppp</application> 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
|
|
DHCP-Clients benutzt werden, wenn sie gezwungen werden,
|
|
einen re-bind() 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-Adressee
|
|
255.255.255.255 gegeben, bis der erste ioctl() mit
|
|
SIOCAIFADDR erfolgt. Dies würde in der
|
|
vollständigen Verbindung des Sockets resultieren. Es
|
|
wäre die Aufgabe von <application>ppp</application>,
|
|
die Absender-IP-Adresse zu ändern, allerdings nur
|
|
dann, wenn sie 255.255.255.255 lautet und nur die
|
|
IP-Adresse und IP-Prüfsumme müßten
|
|
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, daß 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 -nat Schalter
|
|
nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Grund dafür, daß Spiele und andere
|
|
Programme nicht funktionieren, wenn libalias benutzt wird,
|
|
ist der, daß 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, daß sie
|
|
diese Pakete an den internen Rechner weiterleiten
|
|
soll.</para>
|
|
|
|
<para>Um dies zu beheben, stellen Sie zunächst sicher,
|
|
daß die Software, mit der Sie Probleme haben, die
|
|
einzige ist, die gerade läuft. Benutzen Sie dann
|
|
entweder tcpdump auf der tun-Schnittstelle des Gateways
|
|
oder aktivieren Sie auf dem Gateway das Logging von TCP/IP
|
|
(<literal>set log +tcp/ip</literal>) unter ppp.</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, daß 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
|
|
libalias. Beispiele für <quote>spezielle
|
|
Fälle</quote> finden Sie in
|
|
<filename>/usr/src/lib/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
|
|
veranlaßt, auf einem bestimmten (wahlfreien)
|
|
Port eine Verbindung zurück zum lokalen Rechner
|
|
herzustellen, sowie das Erstellen einer
|
|
<quote>Route</quote> in der Aliastabelle, so daß
|
|
nachfolgende Pakete wissen, wohin sie
|
|
gehören.</para>
|
|
|
|
<para>Dieses ist zwar die komplizierteste Lösung,
|
|
aber die beste, die auch dafür sorgt, daß
|
|
die Software auf mehreren Rechnern
|
|
funktioniert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie einen Proxy. Die Applikation
|
|
könnte z.B. socks5 unterstützen, oder (wie
|
|
im Fall von <quote>cvsup</quote>) eine Option
|
|
<quote>passiv</quote> besitzen, die stets verhindert,
|
|
daß verlangt wird, daß 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 65000
|
|
um. Wenn Sie von mehreren Rechner aus spielen wollen,
|
|
weisen Sie jedem eine eindeutige Portnummer zu (also
|
|
65001, 65002, 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>
|
|
|
|
<para>Alternativ können sie wegen
|
|
Proxyunterstützung für Quake unter <ulink
|
|
URL="http://www.battle.net/support/proxy/">www.battle.net</ulink>
|
|
nachsehen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>Quake 2</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:27901
|
|
27910</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, daß 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, daß 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, daß Ihre Leitung nicht 8-Bit-rein ist.
|
|
Stellen Sie sicher, daß Ihr Modem keinen
|
|
Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
|
|
Datenschnittstelle Software-Flow-Control verwenden
|
|
<emphasis>muß</emphasis>, benutzen Sie den Befehl
|
|
<literal>set accmap 0x000a0000</literal>, um
|
|
<command>ppp</command> zu sagen, daß es die Zeichen
|
|
<literal>^Q</literal> und <literal>^S</literal> maskieren
|
|
soll.</para>
|
|
|
|
<para>Ein weiterer Grund dafür, daß zu viele
|
|
FCS-Fehler auftreten, könnte der sein, daß 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
|
|
<literal>close lcp</literal> ppp zu beenden, ohne die
|
|
Verbindung zu beenden (ein folgender <literal>
|
|
term</literal>-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
|
|
Windows98(tm)-Maschinen, 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 sogenannter
|
|
<quote>Black Hole Router</quote>. MacOS und Windows 98
|
|
(und wahrscheinlich auch die anderen Betriebssysteme von
|
|
Microsoft) 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 1500 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, daß 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 paßt,
|
|
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 (wenn die Leute doch
|
|
nur wüßten, wie man einen Router
|
|
konfiguriert... stöhn...)</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:</para>
|
|
|
|
<literallayout>
|
|
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
|
|
</literallayout>
|
|
|
|
<para>Der Wert des Schlüssels sollte vom Typ String
|
|
sein und <quote>1450</quote> betragen. Der korrekte Wert
|
|
wäre eigentlich <quote>1464</quote>, wenn die
|
|
TCP-Pakete den PPPoE-Rahmen komplett ausfüllen
|
|
sollen, aber mit <quote>1450</quote> erhalten Sie eine
|
|
Sicherheitsreserve für andere evtl. genutzte
|
|
IP-Protokolle. Wenn Sie Windows 2000 verwenden,
|
|
müssen Sie dagegen den Schlüssel
|
|
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID der
|
|
Netzwerkkarte</replaceable>\MTU</literal>
|
|
benutzen.</para>
|
|
|
|
<para>Die <ulink
|
|
url="search.support.microsoft.com/kb">Knowledge Base von
|
|
Microsoft</ulink> enthält weitere Informationen
|
|
darüber, wie sie die MTU einer Windows-Maschine
|
|
ändern, damit diese mit einem
|
|
FreeBSD/NAT/PPPoE-Router korrekt zusammenarbeitet. Vom
|
|
besonderen Interesse sind die Artikel <quote>Q158474 -
|
|
Windows TCPIP Registry Entries</quote> und <quote>Q120642
|
|
- TCPIP & NBT Configuration Parameters for Windows
|
|
NT</quote>.</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 wie zum Beispiel
|
|
OTAdvancedTuner (OT steht für OpenTransport, den
|
|
TCP/IP-Stack von MacOS) von <ulink
|
|
URL="http://www.softworks.com/">Sustainable
|
|
Softworks</ulink>, mit denen man die TCP/IP-Einstellungen
|
|
bearbeiten kann. Wenn Sie als MacOS-Anwender NAT
|
|
benutzen, sollten Sie im entsprechenden drop-down
|
|
Menü den Punkt <literal>ip_interface_MTU</literal>
|
|
auswählen und in der Dialogbox
|
|
<literal>1450</literal> statt <literal>1500</literal>
|
|
eingeben. Aktivieren Sie den Punkt <literal>Save as Auto
|
|
Configure</literal> und klicken Sie danach auf
|
|
<literal>Make Active</literal>.</para>
|
|
|
|
<para><application>ppp</application> kennt seit Version 2.3
|
|
den Befehl <command>enable tcpmssfixup</command>, mit dem
|
|
die MSS automatisch korrigiert wird. Wenn Sie einen
|
|
ältere Version von <application>ppp</application>
|
|
benutzen müssen, könnte der Port
|
|
<application>tcpmssd</application> für Sie
|
|
interessant sein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="desperation">
|
|
<para>Nichts von alledem hilft - ich bin
|
|
verzweifelt!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls alles andere fehlschlägt, senden Sie
|
|
möglichst umfangreiche Informationen,
|
|
einschließlich Ihrer Konfigurationsdateien, wie Sie
|
|
<application>ppp</application> starten, die relevanten
|
|
Teile Ihrer Logdateien und die Ausgabe des Befehls
|
|
<command>netstat -rn</command> (vor und nach Aufbau der
|
|
Verbindung) an die Mailingliste
|
|
<email>de-bsd-questions@de.FreeBSD.org</email> 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 FreeBSD. PPP und SLIP werden in
|
|
<xref linkend="networking" remap="Netzwerke"> behandelt.</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="found-serial">
|
|
<para>Wie kann ich feststellen, ob FreeBSD meine seriellen
|
|
Schnittstellen gefunden hat?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn der FreeBSD Kernel bootet, testet er die
|
|
seriellen Schnittstellen, für die er konfiguriert
|
|
wurde. Sie können entweder Ihrem System aufmerksam
|
|
beim booten zusehen und nach den Nachrichten Ausschau
|
|
halten, oder Sie führen den Befehl</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>dmesg | grep sio</userinput>
|
|
</screen>
|
|
|
|
<para>aus, nachdem Ihr System hochgefahren ist und
|
|
läuft.</para>
|
|
|
|
<para>Hier ist ein Beispiel einer Ausgabe nach dem oben
|
|
genannten Befehl:</para>
|
|
|
|
<programlisting>
|
|
si0: at 0x3f8-0x3ff irq 4 on isa
|
|
si0: type 16550A
|
|
si1: at 0x2f8-0x2ff irq 3 on isa
|
|
si1: type 16550A
|
|
</programlisting>
|
|
|
|
<para>Es zeigt zwei serielle Schnittstellen. Die erste
|
|
liegt auf Port-Adresse <literal>0x3f8</literal>, nutzt IRQ
|
|
4, und hat einen 16550A UART Chip. Die zweite benutzt
|
|
ebenfalls einen 16550A, liegt aber auf Port-Adresse
|
|
<literal>0x2f8</literal> und nutzt IRQ 3. Modemkarten
|
|
werden wie serielle Schnittstellen behandelt. Der einzige
|
|
Unterschied ist, daß 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 nutzen. Wenn
|
|
diese Einstellungen nicht richtig für Ihr System
|
|
sind, Sie Modemkarten hinzugefügt haben oder mehr
|
|
serielle Schnittstellen haben als Ihre
|
|
Kernel-Konfiguration zuläßt, konfigurieren Sie
|
|
Ihren Kernel einfach neu. In der Sektion <link
|
|
linkend="make-kernel">wie man einen Kernel erstellt</link>
|
|
finden Sie mehr Details.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="found-modem">
|
|
<para>Wie kann ich feststellen, ob FreeBSD meine Modemkarten
|
|
gefunden hat?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die vorherige Frage sollte darauf eine Antwort
|
|
geben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="missing-tty0X">
|
|
<para>Ich habe gerade auf 2.0.5 geupdatet und meine
|
|
<filename>tty0X</filename> fehlen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Keine Sorge, die wurden mit den
|
|
<filename>ttydX</filename> Geräten
|
|
zusammengeführt. Sie müssen allerdings die
|
|
alten Konfigurationsdateien ändern.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="access-serial-ports">
|
|
<para>Wie kann ich auf die seriellen Schnittstellen in
|
|
FreeBSD zugreifen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die dritte serielle Schnittstelle,
|
|
<devicename>sio2</devicename> (in DOS/Windows: COM3),
|
|
verwendet <filename>/dev/cuaa2</filename> für
|
|
dial-out Geräte und <filename>/dev/ttyd2</filename>
|
|
für dial-in Geräte. Was ist der Unterschied
|
|
zwischen den beiden Geräteklassen?</para>
|
|
|
|
<para>Sie benutzen <filename>ttydX</filename> für
|
|
dial-ins. Wenn man <filename>/dev/ttydX</filename> im
|
|
blockierenden Modus öffnet, wartet ein Prozeß
|
|
darauf, daß das entsprechende
|
|
<filename>cuaaX</filename> Gerät inaktiv und
|
|
<quote>Carrier Detect</quote> aktiv wird. Wenn Sie das
|
|
<filename>cuaaX</filename> Gerät öffnen,
|
|
vergewissert es sich, daß die serielle Schnittstelle
|
|
nicht bereits von dem <filename>ttydX</filename>
|
|
Gerät benutzt wird. Wenn die Schnittstelle
|
|
verfügbar ist, <quote>stiehlt</quote> es sie von dem
|
|
<filename>ttydX</filename> Gerät. Das
|
|
<filename>cuaaX</filename> Gerät kümmert sich
|
|
nicht um Trägersignalerkennung. Mit diesem Schema
|
|
und einem automatisch antwortenden Modem, können sich
|
|
Benutzer von außen einloggen, weiterhin mit dem
|
|
selben 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
|
|
<devicename>sio</devicename> Zeile für jede serielle
|
|
Schnittstelle auf der Karte in die
|
|
Kernel-Konfigurationsdatei. Aber achten Sie darauf, den
|
|
IRQ und die Verktorbezeichnung nur in einem der
|
|
Einträge zu plazieren. 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 <literal>COM_MULTIPORT</literal>
|
|
Option.</para>
|
|
|
|
<para>Das folgende Beispiel ist für eine AST Karte mit
|
|
4 seriellen Schnittstellen, die IRQ 7 benutzt,
|
|
geeignet:</para>
|
|
|
|
<programlisting>
|
|
options "COM_MULTIPORT"
|
|
device sio4 at isa? port 0x2a0 tty flags 0x781
|
|
device sio5 at isa? port 0x2a8 tty flags 0x781
|
|
device sio6 at isa? port 0x2b0 tty flags 0x781
|
|
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
|
|
</programlisting>
|
|
|
|
<para>Die Flags zeigen an, daß die
|
|
Master-Schnittstelle die Minor-Nummer 7
|
|
(<literal>0x700</literal>) hat, Diagnosen während des
|
|
Bootens ermöglicht sind (<literal>0x080</literal>),
|
|
und daß sich alle Schnittstellen einen IRQ teilen
|
|
(<literal>0x001</literal>).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-share-irq">
|
|
<para>Kann FreeBSD 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>Das <filename>ttydX</filename> (oder
|
|
<filename>cuaaX</filename>) Gerät ist das
|
|
reguläre Gerät, das man in Anwendungen
|
|
öffnet. Wenn ein Prozeß es öffnet, hat es
|
|
die voreingestellten Terminal
|
|
Eingabe/Ausgabe-Einstellungen. Sie können diese
|
|
Einstellungen mit dem folgenden Befehl ansehen</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn Sie die Einstellungen für dieses Gerät
|
|
ändern, sind die Einstellungen gültig, bis das
|
|
Gerät geschlossen wird. Wird es danach
|
|
geöffnet, hat es wieder die vorgegebenen
|
|
Einstellungen. Um Änderungen an den voreingestellten
|
|
Einstellungen vorzunehmen, können Sie die
|
|
Einstellungen des <quote>inital state</quote> Geräts
|
|
öffnen und anpassen. Beispiel: um den
|
|
<acronym>CLOCAL</acronym> Modus, 8 Bits und
|
|
<command>XON/XOFF</command> Datenflußkontrolle als
|
|
Standard für ttyd5 einzustellen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput>
|
|
</screen>
|
|
|
|
<para>Eine gute Stelle um dies zu tun ist in
|
|
<filename>/etc/rc.serial</filename>. Jetzt hat eine
|
|
Anwendung diese Einstellungen als Standardwerte, wenn sie
|
|
<filename>ttyd5</filename> öffnet. Die Anwendung
|
|
kann die Einstellungen jedoch immer noch nach Belieben
|
|
verändern.</para>
|
|
|
|
<para>Man aber kann auch bestimme Einstellungen davor
|
|
schützen, von einer Anwendung verändert zu
|
|
werden, indem man Veränderungen am <quote>lock
|
|
state</quote> Gerät vornimmt. Um zum Beispiel die
|
|
Geschwindigkeit von <filename>ttyd5</filename> auf 57600
|
|
festzusetzen:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput>
|
|
</screen>
|
|
|
|
<para>Wenn jetzt eine Anwendung <filename>ttyd5</filename>
|
|
öffnet, und versucht die Geschwindigkeit zu
|
|
verändern, wird sie den Wert nicht verändern
|
|
können und es bleibt bei 57600 bps.</para>
|
|
|
|
<para>Natürlich sollten Sie das Schreiben auf die
|
|
initial state und lock state Geräte nur
|
|
<username>root</username> erlauben. Das MAKEDEV Skript
|
|
tut dies <emphasis>nicht</emphasis>, wenn es die
|
|
Geräte-Einträge erstellt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="enable-dialup">
|
|
<para>Wie kann ich Einwahl-Logins über mein Modem
|
|
aktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Also Sie wollen ein Internet Service Provider werden,
|
|
ja? Als erstes brauchen Sie eines oder mehrere Modems,
|
|
die automatisches Antworten beherrschen. Ihr Modem sollte
|
|
auf Trägererkennung reagieren und nicht fortlaufend
|
|
die Leitung offen halten. Es muß auflegen und sich
|
|
neu initialisieren können, wenn die <quote>Data
|
|
Terminal Ready</quote> (<acronym>DTR</acronym>) Leitung
|
|
ausgeschaltet wird. Es sollte vielleicht
|
|
<acronym>RTS/CTS</acronym> oder gar keine lokale
|
|
Datenflußkontrolle benutzen. Zuletzt muß es
|
|
eine konstante Geschwindigkeit zwischen dem Computer und
|
|
sich selbst verwenden, aber es sollte (um die Anrufer
|
|
freundlich zu behandeln) eine Geschwindigkeit zwischen
|
|
sich selbst und dem entfernten Modem aushandeln
|
|
können.</para>
|
|
|
|
<para>Bei den meisten Hayes-kompatiblen Modems erzeugt der
|
|
folgende Befehl diese Einstellungen und legt sie im
|
|
nicht-flüchtigen Speicher ab.</para>
|
|
|
|
<programlisting>
|
|
AT &C1 &D3 &K3 &Q6 S0=1 &W
|
|
</programlisting>
|
|
|
|
<para>Die Sektion <link linkend="direct-at">wie man AT
|
|
Befehle sendet</link> bietet weitere Informationen, wie
|
|
man diese Einstellungen vornimmt, ohne zu einem MS-DOS
|
|
Terminal Programm zu flüchten.</para>
|
|
|
|
<para>Als nächstes erstellen Sie einen Eintrag in
|
|
<filename>/etc/ttys</filename> für das Modem. Diese
|
|
Datei listet alle Schnittstellen auf, auf denen das
|
|
Betriebssystem logins erwartet. Fügen Sie eine
|
|
solche Zeile hinzu:</para>
|
|
|
|
<programlisting>
|
|
ttyd1 "/usr/libexec/getty std 57600" dialup on insecure
|
|
</programlisting>
|
|
|
|
<para>Diese Zeile bedeutet, daß an der zweiten
|
|
seriellen Schnittstelle (<filename>/dev/ttyd1</filename>)
|
|
ein Modem angeschlossen ist, das mit 57600 bps läuft
|
|
und keine Parität besitzt
|
|
(<literal>std.57600</literal>, aus
|
|
<filename>/etc/gettytab</filename>). Der Terminal-Typ
|
|
für diese Schnittstelle ist Einwahl
|
|
(<literal>dialup</literal>). Die Schnittstelle ist
|
|
eingeschaltet (<literal>on</literal>) und unsicher
|
|
(<literal>unsecure</literal>) -- das bedeutet, man kann
|
|
sich über diese Schnittstelle nicht als
|
|
<username>root</username> einloggen. Für
|
|
Einwahlanschlüsse wie diesen, benutzen Sie den
|
|
<literal>ttydX</literal> Eintrag.</para>
|
|
|
|
<para>Es ist relativ geläufig,
|
|
<literal>dialup</literal> als Terminal-Typ zu verwenden.
|
|
Viele Benutzer richten in ihren
|
|
<filename>.profile</filename> oder
|
|
<filename>.login</filename> Dateien eine Abfrage für
|
|
das eigentliche Terminal ein, wenn der Start-Typ
|
|
<literal>dialup</literal> ist. Das Beispiel zeigt die
|
|
Schnittstelle als unsicher und um über diese
|
|
Schnittstelle <username>root</username> zu werden,
|
|
müssen Sie sich als normaler Benutzer einloggen und
|
|
<command>su</command> benutzen. Wenn sie sicher
|
|
(<literal>secure</literal>) als Einstellung verwenden,
|
|
kann sich <username>root</username> direkt
|
|
einloggen.</para>
|
|
|
|
<para>Nachdem Sie Modifikationen in
|
|
<filename>/etc/ttys</filename> vorgenommen haben,
|
|
müssen Sie ein <acronym>hangup</acronym> oder
|
|
<acronym>HUP</acronym> Signal an <command>init</command>
|
|
senden:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>kill -HUP 1</userinput>
|
|
</screen>
|
|
|
|
<para>Das bringt <command>init</command> dazu, die Datei
|
|
<filename>/etc/ttys</filename> neu einzulesen.
|
|
<command>init</command> startet dann an allen
|
|
eingeschalteten (<literal>on</literal>) Schnittstellen die
|
|
getty-Prozesse. Sie können herausfinden ob noch
|
|
logins für Ihre Schnittstelle verfügbar sind,
|
|
wenn Sie folgendes eingeben:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>ps -ax | grep '[t]tyd1'</userinput>
|
|
</screen>
|
|
|
|
<para>Sie sollten etwas sehen, das so ähnlich aussieht,
|
|
wie:</para>
|
|
|
|
<programlisting>
|
|
747 ?? I 0:00:04 /usr/libexec/getty std.57600 ttyd1
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dumb-terminal">
|
|
<para>Wie kann ich ein Hardware-Terminal mit meiner FreeBSD
|
|
Box verbinden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie einen anderen Computer als Terminal für
|
|
Ihr FreeBSD System verwenden wollen, verbinden Sie die
|
|
beiden seriellen Schnittstellen mit einem Nullmodem-Kabel.
|
|
Wenn Sie ein "echtes" (Hardware-)Terminal benutzen, lesen
|
|
Sie die Begleitinformationen.</para>
|
|
|
|
<para>Ändern Sie <filename>/etc/ttys</filename> wie
|
|
oben angegeben. Wenn Sie zum Beispiel ein WYSE-50
|
|
Terminal mit der fünften seriellen Schnittstelle
|
|
verbinden wollen, schreiben Sie einen Eintrag wie
|
|
diesen:</para>
|
|
|
|
<programlisting>
|
|
ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
|
|
</programlisting>
|
|
|
|
<para>Das Beispiel zeigt, daß die Schnittstelle an
|
|
<filename>/dev/ttyd4</filename> mit einem wyse50 Terminal
|
|
mit 38400 bps und ohne Parität
|
|
(<literal>std.38400</literal> aus
|
|
<filename>/etc/gettytab</filename>) verbunden ist und
|
|
<username>root</username> logins möglich sind
|
|
(<literal>secure</literal>).</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>Vielleicht sind auf Ihrem System die Programme
|
|
<command>tip</command> und <command>cu</command> nur von
|
|
<username>uucp</username> und der Gruppe
|
|
<literal>dialer</literal> ausführbar. Sie
|
|
können die Gruppe <literal>dialer</literal>
|
|
verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem
|
|
oder entfernte Systeme hat. Fügen Sie Sich einfach
|
|
selbst zur Gruppe <literal>dialer</literal> hinzu.</para>
|
|
|
|
<para>Als Alternative können Sie jeden Benutzer auf
|
|
Ihrem System <command>tip</command> und
|
|
<command>cu</command> 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>Eigentlich ist die man page für
|
|
<command>tip</command> nicht mehr aktuell. Es gibt einen
|
|
eingebauten, allgemeinen Hayes Wähler. Verwenden Sie
|
|
einfach <literal>at=hayes</literal> in
|
|
<filename>/etc/remote</filename>.</para>
|
|
|
|
<para>Der Hayes Treiber ist nicht schlau genug, um ein paar
|
|
der erweiterten Merkmale von neueren Modems zu erkennen --
|
|
Nachrichten wie <literal>BUSY</literal>, <literal>NO
|
|
DIALTONE</literal> oder <literal>CONNECT 115200</literal>
|
|
verwirren ihn nur. Sie sollten diese Nachrichten mit
|
|
Hilfe von <literal>ATX0&W</literal> abschalten, wenn
|
|
sie <command>tip</command> benutzen.</para>
|
|
|
|
<para>Das Anwahl-Timeout von <command>tip</command>
|
|
beträgt 60 Sekunden. Ihr Modem sollte weniger
|
|
verwenden, oder <command>tip</command> denkt, daß
|
|
ein Kommunikationsfehler vorliegt. Versuchen Sie es mit
|
|
<literal>ATS7=45&W</literal>.</para>
|
|
|
|
<para>Tatsächlich unterstützt die ausgelieferte
|
|
Version von <command>tip</command> es noch nicht
|
|
vollständig. Die Lösung ist
|
|
<filename>tipconf.h</filename> im Verzeichnis
|
|
<filename>/usr/src/usr.bin/tip/tip</filename> zu
|
|
editieren. Dafür benötigen Sie natürlich
|
|
die Quellcode Distribution.</para>
|
|
|
|
<para>Editieren Sie die Zeile <literal>#define HAYES
|
|
0</literal> in <literal>#define HAYES 1</literal> um.
|
|
Dann führen Sie <command>make</command> und
|
|
<command>make install</command> aus. Es sollte jetzt
|
|
funktionieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="direct-at">
|
|
<para>Wie soll ich die AT Befehle eingeben?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Erstellen Sie einen sogenannten
|
|
<literal>direct</literal> Eintrag in
|
|
<filename>/etc/remote</filename>. Wenn Ihr Modem zum
|
|
Beispiel an der ersten seriellen Schnittstelle,
|
|
<filename>/dev/cuaa0</filename> angeschlossen ist, dann
|
|
fügen Sie die folgende Zeile hinzu:</para>
|
|
|
|
<programlisting>
|
|
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
|
|
</programlisting>
|
|
|
|
<para>Verwenden Sie die höchste bps Rate, die Ihr Modem
|
|
in der br Fähigkeit unterstützt. Geben Sie dann
|
|
<command>tip cuaa0</command> ein und Sie sind mit Ihrem
|
|
Modem verbunden.</para>
|
|
|
|
<para>Wenn auf Ihrem System keine
|
|
<filename>/dev/cuaa0</filename> Datei existiert, geben Sie
|
|
folgendes ein:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh MAKEDEV cuaa0</userinput>
|
|
</screen>
|
|
|
|
<para>Oder benutzen Sie cu als <username>root</username> mit
|
|
dem folgenden Befehl</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput>
|
|
</screen>
|
|
|
|
<para><line> steht für die serielle Schnittstelle
|
|
(<filename>/dev/cuaa0</filename>) und <speed>
|
|
für die Geschwindigkeit (<literal>57600</literal>).
|
|
Wenn Sie mit dem Eingeben der AT Befehle fertig sind,
|
|
beenden Sie mit <literal>~.</literal>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="gt-failure">
|
|
<para>Das <literal><@></literal> Zeichen für die
|
|
pn Fähigkeit funktioniert nicht!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das <literal><@></literal> Zeichen in der
|
|
Telefonnummerfähigkeit sagt tip, daß es in der
|
|
Datei <filename>/etc/phones</filename> nach einer Nummer
|
|
suchen soll. Aber <literal><@></literal> ist auch
|
|
ein spezielles Zeichen in den Dateien, in denen
|
|
Fähigkeiten beschrieben werden, wie
|
|
<filename>/etc/remote</filename>. Schreiben Sie es mit
|
|
einem '\' (backslash):</para>
|
|
|
|
<programlisting>pn=\@</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dial-command-line">
|
|
<para>Wie kann ich von der Kommandozeile eine Telefonnummer
|
|
wählen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Stellen Sie einen <quote>allgemeinen</quote> Eintrag
|
|
in <filename>/etc/remote</filename>. Zum
|
|
Beispiel:</para>
|
|
|
|
<programlisting>
|
|
tip115200|Dial any phone number at 115200 bps:\
|
|
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
|
|
tip57600|Dial any phone number at 57600 bps:\
|
|
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
|
|
</programlisting>
|
|
|
|
<para>Mit einem Befehl wie <command>tip -115200
|
|
5551234</command> können Sie dann wählen. Wenn
|
|
Sie <command>cu</command> im Gegensatz zu
|
|
<command>tip</command> bevorzugen, verwenden Sie einen
|
|
allgemeinen cu-Eintrag:</para>
|
|
|
|
<programlisting>
|
|
cu115200|Use cu to dial any number at 115200bps:\
|
|
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
|
|
</programlisting>
|
|
|
|
<para>Zum Wählen können Sie dann <command>cu
|
|
5551234 -s 115200</command> eingeben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="set-bps">
|
|
<para>Muß ich dabei jedes Mal die bps Rate
|
|
angeben?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Schreiben Sie einen <literal>tip1200</literal> oder
|
|
einen <literal>cu1200</literal> Eintrag, aber benutzen Sie
|
|
auch die bps Rate, die Ihr Modem wirklich
|
|
unterstützt. Leider denkt <command>tip</command>,
|
|
daß 1200 bps ein guter Standardwert ist und deswegen
|
|
sucht es nach einem <literal>tip1200</literal>-Eintrag.
|
|
Natürlich müssen Sie nicht wirklich 1200 bps
|
|
benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="terminal-server">
|
|
<para>Ich greife auf ein paar Rechner über einen
|
|
Terminal-Server zu.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie müssen nicht warten bis Sie verbunden sind,
|
|
und jedesmal <emphasis>CONNECT
|
|
<replaceable>Rechner</replaceable></emphasis> eingeben,
|
|
benutzen Sie tip's <literal>cm</literal> Fähigkeit.
|
|
Sie können diese Einträge in
|
|
<filename>/etc/remote</filename> verwenden:</para>
|
|
|
|
<programlisting>
|
|
pain|pain.deep13.com|Forrester's machine:\
|
|
:cm=CONNECT pain\n:tc=deep13:
|
|
muffin|muffin.deep13.com|Frank's machine:\
|
|
:cm=CONNECT muffin\n:tc=deep13:
|
|
deep13:Gizmonics Institute terminal server:\
|
|
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
|
|
</programlisting>
|
|
|
|
<para>Mit den Befehlen <command>tip pain</command> oder
|
|
<command>tip muffin</command> können Sie eine
|
|
Verbindungen zu den Rechnern pain oder muffin herstellen;
|
|
mit <command>tip deep13</command> verbinden Sie Sich mit
|
|
dem Terminal Server</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tip-multiline">
|
|
<para>Kann tip mehr als eine Verbindung für jede Seite
|
|
testen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das ist oft ein Problem, wenn eine Universität
|
|
mehrere Telefonleitungen hat und viele tausend Studenten
|
|
diese benutzen wollen.</para>
|
|
|
|
<para>Erstellen Sie einen Eintrag für Ihre
|
|
Universität in <filename>/etc/remote</filename> und
|
|
benutzen Sie <literal><\@></literal> für die
|
|
<literal>pn</literal> Fähigkeit:</para>
|
|
|
|
<programlisting>
|
|
big-university:\
|
|
:pn=\@:tc=dialout
|
|
dialout:\
|
|
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
|
|
</programlisting>
|
|
|
|
<para>Listen Sie die Telefonnummern für die
|
|
Universitäten in <filename>/etc/phones</filename>
|
|
auf:</para>
|
|
|
|
<programlisting>
|
|
big-university 5551111
|
|
big-university 5551112
|
|
big-university 5551113
|
|
big-university 5551114
|
|
</programlisting>
|
|
|
|
<para><command>tip</command> testet jede der Nummern in der
|
|
aufgelisteten Reihenfolge und gibt dann auf. Wenn Sie
|
|
wollen, daß <command>tip</command> immer weiter
|
|
probiert eine Verbindung herzustellen, lassen Sie
|
|
<command>tip</command> in einer while-schleife
|
|
laufen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multi-controlp">
|
|
<para>Warum muß ich zweimal CTRL-P tippen um ein
|
|
CTRL-P zu senden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>CTRL-P ist das voreingestellte Zeichen, mit dem eine
|
|
Uebertragung erzwungen werden kann und wird benutzt, um
|
|
<command>tip</command> zu sagen, daß das
|
|
nächste Zeichen direkt gesendet werden soll und kein
|
|
Escape ist. Mit Hilfe des <literal>~s</literal> Escapes,
|
|
mit dem man Variablen setzen kann, können Sie jedes
|
|
andere Zeichen als <quote>force</quote>-Zeichen
|
|
definieren.</para>
|
|
|
|
<para>Geben Sie
|
|
<literal>~sforce=<replaceable>zeichen</replaceable></literal>
|
|
ein und drücken sie enter. Fuer
|
|
<replaceable>zeichen</replaceable> können sie ein
|
|
beliebiges einzelnes Zeichen einsetzen. Wenn Sie
|
|
<replaceable>zeichen</replaceable> weglassen, ist das
|
|
<quote>force</quote>-Zeichen der nul character, den sie
|
|
mit CTRL-2 oder CTRL-SPACE eingeben können. Ein
|
|
guter Wert für <replaceable>zeichen</replaceable> ist
|
|
SHIFT+CTRL+6, welches ich erst auf ein paar Terminal
|
|
Servern in Benutzung gesehen habe.</para>
|
|
|
|
<para>Sie können das <quote>force</quote>-Zeichen auch
|
|
bestimmen, indem Sie in
|
|
<filename>$HOME/.tiprc</filename> das folgende
|
|
einstellen:</para>
|
|
|
|
<programlisting>
|
|
force=<replaceable>single-char</replaceable>
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="uppercase">
|
|
<para>Auf einmal ist alles was ich schreibe in
|
|
GROSSBUCHSTABEN??</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie müssen CTRL-A eingegeben haben, das
|
|
<quote>raise</quote>-Zeichen von <command>tip</command>,
|
|
das speziell für Leute mit defekten caps-lock Tasten
|
|
eingerichtet wurde. Benutzen Sie <literal>~s</literal>
|
|
wie oben und setzen Sie die Variable
|
|
<quote>raisechar</quote> auf etwas, das Ihnen angemessen
|
|
erscheint. Tatsächlich kann die Variable auf das
|
|
gleiche Zeichen wie das <quote>force</quote>-Zeichen
|
|
gesetzt werden, wenn Sie diese Fähigkeiten niemals
|
|
benutzen wollen.</para>
|
|
|
|
<para>Hier ist eine Muster <filename>.tiprc</filename>
|
|
Datei, perfekt für emacs Benutzer die oft CTRL-2 und
|
|
CTRL-A tippen müssen:</para>
|
|
|
|
<programlisting>
|
|
force=^^
|
|
raisechar=^^
|
|
</programlisting>
|
|
|
|
<para>Das ^^ steht für SHIFT-CTRL-6.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="tip-filetransfer">
|
|
<para>Wie kann ich Dateien mit <command>tip</command>
|
|
übertragen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie mit einem anderen UNIX-System kommunizieren,
|
|
können Sie Dateien senden und empfangen -- mit
|
|
<literal>~p</literal> (put) und <literal>~t</literal>
|
|
(take). Diese Befehle lassen <command>cat</command> und
|
|
<command>echo</command> auf dem entfernten System laufen,
|
|
um Dateien zu akzeptieren und zu senden. Die Syntax
|
|
ist:</para>
|
|
|
|
<programlisting>
|
|
~p <local-file> [<remote-file>]
|
|
~t <remote-file> [<local-file>]
|
|
</programlisting>
|
|
|
|
<para>Es gibt keine Fehlerkontrolle, also sollten Sie
|
|
vielleicht ein anderes Protokoll benutzen, wie
|
|
zmodem.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="zmodem-tip">
|
|
<para>Wie kann ich zmodem mit <application>tip</application>
|
|
laufen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zuerst installieren Sie ein zmodem Programm aus der
|
|
Ports-Sammlung (eines der beiden aus der comms-Kategorie,
|
|
<application>lrzsz</application> oder
|
|
<application>rzsz</application>).</para>
|
|
|
|
<para>Um Dateien zu empfangen, starten Sie das Programm zum
|
|
Senden auf dem entfernten Computer. Drücken Sie dann
|
|
Enter gefolgt von <literal>~C rz</literal> (oder
|
|
<literal>~C lrz</literal>, wenn Sie lrzsz installiert
|
|
haben), um diese lokal zu empfangen.</para>
|
|
|
|
<para>Um Dateien zu senden, starten Sie das Programm zum
|
|
empfangen auf dem entfernten Computer. Drücken Sie
|
|
dann Enter gefolgt von <literal>~C sz
|
|
<replaceable>Dateien</replaceable></literal> (oder
|
|
<literal>~C lsz
|
|
<replaceable>Dateien</replaceable></literal>), um sie zum
|
|
entfernten System zu senden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cannot-find-serial">
|
|
<para>FreeBSD scheint meine seriellen Schnittstellen nicht
|
|
zu finden, auch wenn die Einstellungen korrekt
|
|
sind.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hauptplatinen und Karten mit Acer UARTs werden im
|
|
FreeBSD sio test nicht richtig erkannt. Sie erhalten
|
|
einen Patch von <ulink
|
|
URL="http://www.lemis.com/serial-port-patch.html">www.lemis.com</ulink>,
|
|
mit dem Sie das Problem beheben können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="misc">
|
|
<title>Verschiedene Fragen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="more-swap">
|
|
<para>FreeBSD benutzt viel mehr Swap-Speicher als Linux.
|
|
Warum?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es sieht nur so aus, als ob FreeBSD mehr Swap benutzt,
|
|
als Linux. Tatsächlich ist dies nicht der Fall. In
|
|
dieser Hinsicht besteht der Hauptunterschied zwischen
|
|
FreeBSD und Linux darin, daß FreeBSD 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, daß FreeBSD 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, daß 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 FreeBSD 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
|
|
muß, 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="aout-elf">
|
|
<para>Warum benutzt man (was sind) die Formate a.out und ELF
|
|
für ausführbare Dateien?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um zu verstehen, warum FreeBSD das Format
|
|
<filename>ELF</filename> benutzt, müssen Sie
|
|
zunächst etwas über die drei gegenwärtig
|
|
<quote>dominanten</quote> ausführbaren Formate
|
|
für UNIX wissen:</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>FreeBSD-Version 1.x und 2.x benutzten das Format
|
|
a.out.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><acronym>A.OUT</acronym></para>
|
|
|
|
<para>Das älteste und <quote>klassische</quote>
|
|
UNIX-Objektformat. Es benutzt einen kurzen, kompakten
|
|
Header mit einer magischen Nummer am Anfang, die oft
|
|
benutzt wird, um das Format zu charakterisieren
|
|
(weitere Details finden Sie unter &man.a.out.5;). Es
|
|
enthält drei geladene Segmente: .text, .data und
|
|
.bss, sowie eine Symboltabelle und eine
|
|
Stringtabelle.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>COFF</acronym></para>
|
|
|
|
<para>Das Objektformat von SVR3. Der Header
|
|
enthält nun eine "Sectiontable". Man kann also
|
|
mit mehr als nur den Sections .text, .data und .bss
|
|
arbeiten.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>ELF</acronym></para>
|
|
|
|
<para>Der Nachfolger von <acronym>COFF</acronym>.
|
|
Kennzeichnend sind mehrere Sections und mögliche
|
|
32-Bit- oder 64-Bit-Werte. Ein wesentlicher Nachteil:
|
|
<acronym>ELF</acronym> wurde auch unter der Annahme
|
|
entworfen, daß es nur ein ABI (Application
|
|
Binary Interface) pro Systemarchitektur geben wird.
|
|
Tatsächlich ist diese Annahme falsch - nicht
|
|
einmal für die kommerzielle SYSV-Welt (in der es
|
|
mindestens drei ABIs gibt: SVR4, Solaris, SCO) trifft
|
|
sie zu.</para>
|
|
|
|
<para>FreeBSD versucht, dieses Problem zu umgehen, indem
|
|
ein Utility bereitgestellt wird, um ausführbare
|
|
Dateien im <acronym>ELF</acronym>-Format mit
|
|
Informationen über die ABI zu versehen, zu der
|
|
sie passen. Weitere Informationen finden Sie in der
|
|
Manualpage &man.brandelf.1;.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>FreeBSD kommt aus dem <quote>klassischen</quote> Lager
|
|
und verwendete traditionell das
|
|
<acronym>a.out</acronym>-Format, eine Technologie, die
|
|
bereits über viele BSD-Releases hinweg eingesetzt und
|
|
geprüft worden ist. Obwohl es bereits seit einiger
|
|
Zeit möglich war, auf einem FreeBSD-System auch
|
|
Binaries (und Kernel) im <acronym>ELF</acronym>-Format zu
|
|
erstellen und auszuführen, wiedersetzte FreeBSD sich
|
|
anfangs dem <quote>Druck</quote>, auf
|
|
<acronym>ELF</acronym> als Standardformat umzusteigen.
|
|
Warum? Nun, als das Linux-Lager die schmerzhafte
|
|
Umstellung auf <acronym>ELF</acronym> durchführte,
|
|
ging es nicht so sehr darum, dem ausführbaren Format
|
|
<filename>a.out</filename> zu entkommen, als dem
|
|
unflexiblen, auf Sprungtabellen basierten Mechanismus
|
|
für "Shared Libraries", der die Konstruktion von
|
|
Shared Libraries für Hersteller und Entwickler
|
|
gleichermaßen sehr kompliziert machte. Da die
|
|
verfügbaren <acronym>ELF</acronym>-Werkzeuge eine
|
|
Lösung für das Problem mit den Shared Libraries
|
|
anboten und ohnehin generell als <quote>ein Schritt
|
|
vorwärts</quote> angesehen wurden, wurde der Auffand
|
|
für die Umstellung als notwendig akzeptiert und die
|
|
Umstellung wurde durchgeführt.</para>
|
|
|
|
<para>Im Fall von FreeBSD ist der Mechanismus von Shared
|
|
Libraries enger an den Mechanismus im Stil von Sun's
|
|
<application>SunOS</application> angelehnt und als solcher
|
|
sehr einfach zu verwenden. Seit Version 3.0
|
|
unterstützt FreeBSD <acronym>ELF</acronym>-Binaries
|
|
jedoch offiziell als das Standardformat. Obwohl das
|
|
ausführbare Format <filename>a.out</filename> uns
|
|
gute Dienste geleistet hat, hat das GNU-Team, das den von
|
|
uns verwendeten Compiler erstellt, die Unterstützung
|
|
des <filename>a.out</filename>-Formats eingestellt. Dies
|
|
zwang uns dazu, abweichende Versionen der Compiler und
|
|
Linker beizubehalten und hinderte uns daran, Nutzen aus
|
|
den aktuellen Entwicklungsergebnisen von GNU zu ziehen.
|
|
Auch die Anforderungen von ISO-C++, besonders
|
|
Konstruktoren und Destruktoren, haben zur
|
|
Unterstützung von <acronym>ELF</acronym> in
|
|
zukünftigen Versionen von FreeBSD
|
|
geführt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="binary-formats">
|
|
<para>Ja aber warum gibt es so viele unterschiedliche
|
|
Formate?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>In alter, grauer Vorzeit gab es simple Hardware.
|
|
Diese simple Hardware unterstützte ein einfaches,
|
|
kleines System. a.out war absolut passend für die
|
|
Aufgabe, Binaries auf diesem simplen System (eine PDP-11)
|
|
darzustellen. Als UNIX von diesem simplen System portiert
|
|
wurde, wurde auch das a.out-Format beibehalten, weil es
|
|
für die frühen Portierungen auf Architekturen
|
|
wie den Motorola 68000, VAXe usw. ausreichte.</para>
|
|
|
|
<para>Dann dachte sich ein schlauer Hardware-Ingenieur,
|
|
daß wenn er Software zwingen könnte, einige
|
|
Tricks anzustellen, es ihm möglich wäre, ein
|
|
paar Gatter im Design zu sparen, und seinen CPU-Kern
|
|
schneller zu machen. Obgleich es dazu gebracht wurde, mit
|
|
dieser neuen Art von Hardware (heute als RISC bekannt) zu
|
|
arbeiten, war <filename>a.out</filename> für diese
|
|
Hardware schlecht geeignet. Deshalb wurde viele neue
|
|
Formate entwickelt, um eine bessere Leistung auf dieser
|
|
Hardware zu erreichen, als mit dem begrenzten, simplen
|
|
<filename>a.out</filename>-Format. Dinge wie
|
|
<acronym>COFF</acronym>, <acronym>ECOFF</acronym> und
|
|
einige andere obskure wurden erdacht und ihre Grenzen
|
|
untersucht, bevor die Dinge sich in Richtung
|
|
<acronym>ELF</acronym> entwickelten.</para>
|
|
|
|
<para>Hinzu kam, daß die Größe von
|
|
Programmen gewaltig wurden und Festplatten (und
|
|
physikalischer Speicher) immer noch relativ klein waren.
|
|
Also wurde das Konzept von Shared Libraries geboren. Das
|
|
VM-System wurde auch immer fortgeschrittener. Obwohl bei
|
|
jedem dieser Fortschritte das
|
|
<filename>a.out</filename>-Format benutzt worden ist,
|
|
wurde sein Nutzen mit jedem neuen Merkmal mehr und mehr
|
|
gedehnt. Zusätzlich wollte man Dinge dynamisch zur
|
|
Ausführungszeit laden, oder Teile ihres Programms
|
|
nach der Initialisierung wegwerfen, um Hauptspeicher
|
|
und/oder Swap-Speicher zu sparen. Programmiersprachen
|
|
wurden immer fortschrittlicher und man wollte, daß
|
|
Code automatisch vor der main-Funktion aufgerufen wird.
|
|
Das <filename>a.out</filename>-Format wurde oft
|
|
überarbeitet, um alle diese Dinge zu ermöglichen
|
|
und sie funktionierten auch für einige Zeit.
|
|
<filename>a.out</filename> konnte diese Probleme nicht
|
|
ohne ein ständiges Ansteigen eines Overheads im Code
|
|
und in der Komplexität handhaben. Obwohl
|
|
<acronym>ELF</acronym> viele dieser Probleme löste,
|
|
wäre es sehr aufwendig, ein System umzustellen, das
|
|
im Grunde genommen funktionierte. Also mußte
|
|
<acronym>ELF</acronym> warten, bis es aufwendiger war, bei
|
|
<filename>a.out</filename> zu bleiben, als zu
|
|
<acronym>ELF</acronym> überzugehen.</para>
|
|
|
|
<para>Im Laufe der Zeit haben sich die Erstellungswerkzeuge,
|
|
von denen FreeBSD seine Erstellungswerkzeuge abgeleitet
|
|
hat (speziell der Assembler und der Loader), in zwei
|
|
parallele Zweige entwickelt. Im FreeBSD-Zweig wurden
|
|
Shared Libraries hinzugefügt und einige Fehler
|
|
behoben. Das GNU-Team, das diese Programme
|
|
ursprünglich geschrieben hat, hat sie umgeschrieben
|
|
und eine simplere Unterstützung zur Erstellung von
|
|
Cross-Compilern durch beliebiges Einschalten verschiedener
|
|
Formate usw. hinzugefügt. Viele Leute wollten
|
|
Cross-Compiler für FreeBSD erstellen, aber sie hatten
|
|
kein Glück, denn FreeBSD's ältere Sourcen
|
|
für as und ld waren hierzu nicht geeignet. Die neuen
|
|
GNU-Werkzeuge (binutils) unterstützen
|
|
Cross-Compilierung, <acronym>ELF</acronym>, Shared
|
|
Libraries, C++-Erweiterungen usw. Weiterhin geben viele
|
|
Hersteller <acronym>ELF</acronym>-Binaries heraus und es
|
|
ist gut, wenn FreeBSD sie ausführen kann. Und wenn
|
|
es <acronym>ELF</acronym>-Binaries ausführt, warum
|
|
dann auch noch <filename>a.out</filename> behalten? Es
|
|
ist ein müdes, altes Pferd, daß sich für
|
|
eine lange Zeit als nützlich erwiesen hat, aber es
|
|
ist an der Zeit, es für seine langen, treuen
|
|
Dienstjahre auf die Weide zu schicken.</para>
|
|
|
|
<para><acronym>ELF</acronym> ist ausdrucksfähiger als
|
|
a.out und gestattet eine bessere Erweiterbarkeit des
|
|
Basissystems. Die <acronym>ELF</acronym>-Werkzeuge werden
|
|
besser gewartet und bieten Unterstützung von
|
|
Cross-Compilierung, was für viele Leute wichtig ist.
|
|
<acronym>ELF</acronym> mag etwas langsamer sein, als
|
|
a.out, aber zu versuchen, das zu messen, könnte
|
|
schwierig werden. Es gibt unzählige Details, in
|
|
denen sich die beiden Formate unterscheiden, wie sie Pages
|
|
abbilden, Initialisierungscode handhaben usw. Keins davon
|
|
ist sehr wichtig, aber es sind Unterschiede. Irgendwann
|
|
wird die Unterstützung für Programme im
|
|
<filename>a.out</filename>-Format aus dem GENERIC Kernel
|
|
entfernt werden. Wenn es dann keinen oder kaum noch
|
|
Bedarf für die Unterstützung dieses Formates
|
|
gibt, werden die entsprechenden Routinen ganz entfernt
|
|
werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="chmod-symlinks">
|
|
<para>Warum ändert chmod 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 nicht; die Zugriffsrechte für
|
|
die Datei, auf die der symbolische Link zeigt, werden also
|
|
nicht 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>foo</filename> nicht geändert.</para>
|
|
|
|
<para>Hierzu 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.2;.</para>
|
|
|
|
<para>
|
|
<warning>
|
|
<para>Die Option <option>-R</option> bewirkt ein
|
|
<acronym>REKURSIVES</acronym><command>chmod</command>.
|
|
Seien Sie vorsichtig, wenn Sie bei
|
|
<command>chmod</command> 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
|
|
<command>chmod</command> ohne irgendwelche Optionen
|
|
und folgen dem symbolischen Link durch einen
|
|
abschliessenden Schrägstrich
|
|
(<filename>/</filename>). Falls z.B.
|
|
<filename>foo</filename> ein symbolischer Link zum
|
|
Verzeichnis <filename>bar</filename> ist und Sie die
|
|
Zugriffsrechte von <filename>foo</filename>
|
|
(tatsächlich <filename>bar</filename>)
|
|
ändern möchten, dann benutzen Sie etwas
|
|
ähnliches wie:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>chmod 555 foo/</userinput>
|
|
</screen>
|
|
|
|
<para>Durch den abschliessenden Schrägstrich folgt
|
|
<command>chmod</command> dem symbolischen Link
|
|
<filename>foo</filename>, um die Zugriffsrechte
|
|
für das Verzeichnis <filename>bar</filename> zu
|
|
ändern.</para>
|
|
</warning>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="login-8char">
|
|
<para>Warum sind Loginnamen <emphasis>immer noch</emphasis>
|
|
auf acht Zeichen begrenzt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie denken vielleicht, daß es leicht sein
|
|
sollte, <literal>UT_NAMESIZE</literal> zu ändern, das
|
|
ganze System neu zu erstellen und das dann alles
|
|
funktionieren müßte. Unglücklicherweise
|
|
gibt es oft dutzende Applikationen und Utilities
|
|
(einschließlich Systemwerkzeuge), bei denen kleine
|
|
Zahlen (nicht immer <literal>8</literal> oder
|
|
<literal>9</literal>, sondern auch sonderbare, wie
|
|
<literal>15</literal> und <literal>20</literal>) in
|
|
Strukturen und Puffern fest codiert sind. Hierdurch
|
|
erhalten Sie nicht nur unbrauchbare Logdateien (weil
|
|
variabel lange Sätze ausgegeben werden, wo Sätze
|
|
fester Länge erwartet werden), sondern es kann dazu
|
|
führen, daß Sun's NIS-Clients nicht mehr
|
|
funktionieren und möglicherweise andere Probleme bei
|
|
der Interaktion mit anderen UNIX-Systemen
|
|
verursachen.</para>
|
|
|
|
<para>In FreeBSD 3.0 und späteren wurde die maximale
|
|
Länge für Namen auf 16 Zeichen erweitert und die
|
|
unterschiedlichen Utilities mit fest codierten
|
|
Namenslängen wurden gefunden und bereinigt. Die
|
|
Tatsache, daß hiervon so viele Bereiche des Systems
|
|
betroffen waren, ist der Grund, warum diese Änderung
|
|
nicht vor 3.0 durchgeführt worden ist.</para>
|
|
|
|
<para>Wenn Sie sich absolut sicher sind, daß Sie diese
|
|
Art von Problemen selbst finden und bereinigen
|
|
können, wenn und falls sie auftreten, dann
|
|
können Sie die Länge von Loginnamen in
|
|
früheren Versionen ändern, indem Sie
|
|
<filename>/usr/include/utmp.h</filename> editieren und
|
|
UT_NAMESIZE entsprechend ändern. Sie müssen
|
|
MAXLOGNAME in
|
|
<filename>/usr/include/sys/param.h</filename> auch
|
|
entsprechend der Änderung von UT_NAMESIZE
|
|
ändern. Schließlich, vergessen Sie nicht,
|
|
daß /usr/include jedesmal aktualisiert wird, wenn
|
|
Sie von den Sourcen aus Erstellen! Ändern Sie
|
|
stattdessen die entsprechen Dateien in
|
|
/usr/src/...</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-binaries">
|
|
<para>Kann ich DOS-Programme unter FreeBSD
|
|
ausführen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, ab Version 3.0 können Sie die DOS-Emulation
|
|
<application>doscmd</application> der Firma BSDi benutzen,
|
|
die integriert und erweitert wurde. Schicken Sie eine
|
|
Mail an <ulink
|
|
URL="mailto:freebsd-emulation@FreeBSD.org">The FreeBSD
|
|
emulation discussion list</ulink>, wenn Sie daran
|
|
interessiert sind, an den laufenden Bemühungen
|
|
teilzunehmen!</para>
|
|
|
|
<para>Für Systeme vor 3.0 gibt es ein nettes Utility
|
|
<application>pcemu</application> in der Ports-Sammlung,
|
|
das einen 8088 und genug BIOS-Dienste emuliert, um
|
|
DOS-Applikationen im Textmodus auszuführen. Hierzu
|
|
wird das X Window-System benötigt (erhältlich
|
|
als XFree86).</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 <acronym>SUP</acronym> steht für
|
|
Software Update Protocol und wurde von der CMU (Carnegie
|
|
Mellon University) entwickelt, um ihre Entwicklungszweige
|
|
zu synchronisieren. Wir haben es benutzt, um entfernte
|
|
Sites mit unseren zentralen Quellcodeentwicklungen 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="../handbook/synching.html#CVSUP">Handbucheintrag zu
|
|
CVSup</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="very-very-cool">
|
|
<para>Wie cool ist FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Q. Hat irgend jemand Temperaturmessungen
|
|
durchgeführt, während FreeBSD läuft? Ich
|
|
weiß, daß Linux cooler läuft, als DOS,
|
|
aber niemals gesehen, daß FreeBSD erwähnt
|
|
wurde. Es scheint sehr heiß zu laufen.</para>
|
|
|
|
<para>A. Nein, aber wir haben zahlreiche Geschmackstests mit
|
|
verblendeten Freiwilligen durchgeführt, denen
|
|
ausßerdem zuvor 250 Mikrogramm LSD-25 verabreicht
|
|
wurden. 35% der Freiwilligen sagte, daß FreeBSD
|
|
nach Orange schmeckte, Linux hingegen schmecke wie
|
|
<quote>purple haze</quote> (Anm. d. Übersetzers: Song
|
|
von Jimmy Hendrix und LSD-Marke). Ich kann mich nicht
|
|
daran erinnern, daß eine Gruppe besondere
|
|
Abweichungen der Temperatur erwähnt hat. Eventuell
|
|
hätten wir sämtliche Ergebnisse dieser
|
|
Untersuchung fortwerfen sollen, als wir festgestellt
|
|
haben, daß zu viele der Freiwillingen den Raum
|
|
während der Tests verlassen haben und dadurch die
|
|
Ergebnisse verfälscht haben. Ich glaube die meisten
|
|
der Freiwilligen sind nun bei Apple und arbeiten an ihrer
|
|
neuen <quote>scratch and sniff</quote> Oberfläche.
|
|
Es ist ein lustiges, altes Geschäft, in dem wir uns
|
|
befinden!</para>
|
|
|
|
<para>Ernsthaft, FreeBSD 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 FreeBSD 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
|
|
FreeBSD tut, wenn ich den Kernel kompiliere, das dazu
|
|
führt, daß 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, daß 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
|
|
Einfluß 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. Wenn
|
|
ich die Wahl hätte, glaube ich, daß ich es
|
|
vorziehen würde, mich an die Geräsche zu
|
|
gewöhnen!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="define-MFC">
|
|
<para>Was bedeutet <acronym>MFC</acronym>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>MFC ist ein Acronym für <quote>Merged From
|
|
-Current</quote>. Es wird in den CVS-Logs benutzt, um zu
|
|
kennzeichnen, wenn eine Änderung vom CURRENT-Zweig in
|
|
den STABLE-Zweig übernommen worden ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="define-BSD">
|
|
<para>Was bedeutet <acronym>BSD</acronym>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es steht für etwas in einer geheimen Sprache, das
|
|
nur Mitglieder wissen können. Es kann nicht
|
|
wörtlich übersetzt werden, aber wir können
|
|
Ihnen sagen, daß die Übersetzung von BSD etwas
|
|
zwischen <quote>Formel-1 Team</quote>, <quote>Pinguine
|
|
sind ein leckerer Imbiß</quote> und <quote>Wir haben
|
|
einen besseren Sinn für Humor als Linux</quote> ist
|
|
:-)</para>
|
|
|
|
<para>Ernsthaft, BSD ist ein Acronym für <quote>Berkley
|
|
Software Distribution</quote>. Das ist der Name, den die
|
|
Berkley <acronym>CSRG</acronym> (Computer Systems Research
|
|
Group) damals für ihre UNIX-Distribution gewählt
|
|
hat.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="define-repocopy">
|
|
<para>Was ist eine repo-copy?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine repo-copy (die Kurzform von <quote>repository
|
|
copy</quote>) bedeutet, daß Dateien direkt innerhalb
|
|
des CVS repository kopiert wurden.</para>
|
|
|
|
<para>Wenn eine Datei an einen anderen Ort im Repository
|
|
kopiert oder verschoben werden müsste, würde ein
|
|
Comitter ohne repo-copy die neue Datei mit <command>cvs
|
|
add</command> hinzufügen und die alte ggfs. mit
|
|
<command>cvs rm</command> löschen.</para>
|
|
|
|
<para>Damit würden allerdings die Einträge in der
|
|
History (die Einträge im CVS-Logfile) nicht mit
|
|
übertragen. Da das FreeBSD Projekt diese
|
|
Informationen allerdings für äußerst
|
|
nützlich hält, wird eine repository copy
|
|
durchgeführt. Bei diesem Vorgang wird einer der
|
|
CVS-Meister die Dateien direkt innerhalb des Repository
|
|
verschieben, statt das Programm <command>cvs</command> zu
|
|
benutzen.</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 gefällt. Dies ist natürlich eine Metapher
|
|
dafür, daß Sie nicht eine Diskussion über
|
|
jede kleine Änderung beginnen sollen, nur weil Sie
|
|
das können. Einige Leute behaupten sogar, daß
|
|
die Anzahl der (nutzlosen) Kommentare über eine
|
|
Änderung umgekehrt proportional zu Ihrer
|
|
Komplexität der Änderung ist.</para>
|
|
|
|
<para>Die noch längere und vollständigere Antwort
|
|
ist, daß &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 freebsd-hackers,
|
|
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 führen sechzigern ein Buch
|
|
mit dem Namen <quote>Parkinson's Law</quote>, das viele
|
|
Einblick in die Beziehungen innerhalb des Managements
|
|
gibt.</para>
|
|
|
|
<para>[ein paar Kommentare zum Buch gestrichen]</para>
|
|
|
|
<para>In dem Beispiel mit dem Fahrradschuppen ist die
|
|
andere wichtige Komponente ein Kernkraftwerk. Ich
|
|
glaube, daß zeigt schon, wie alt dieses Buch
|
|
ist.</para>
|
|
|
|
<para>Parkinson zeigte, daß 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, daß ein
|
|
Kernkraftwerk so groß, so teuer und so kompliziert
|
|
ist, daß die Leute es nicht verstehen. Und bevor
|
|
sie versuchen, es zu verstehen, verlassen Sie sich
|
|
lieber darauf, daß 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, daß er seine
|
|
Arbeit tut, daß er aufmerksam ist, daß 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>
|
|
|
|
<qandaentry>
|
|
<question id="changing-lightbulbs">
|
|
<para>Wieviele FreeBSD-Hacker braucht man, um eine
|
|
Glühbirne auszuwechseln?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eintausendeinhundertundzweiundsiebzig:</para>
|
|
|
|
<para>Dreiundzwanzig, die sich bei -CURRENT beschweren,
|
|
daß das Licht aus ist;</para>
|
|
|
|
<para>Vier, die behaupten, daß es sich um ein
|
|
Konfigurationsproblem handelt und daß 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, daß
|
|
buildworld nicht mehr funktioniert;</para>
|
|
|
|
<para>Einunddreißig, die antworten, daß es bei
|
|
ihnen funktioniert und daß 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, daß 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, daß
|
|
Glühbirnen nicht ins Basissystem gehören,
|
|
daß 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, daß der Patch nicht
|
|
mit style(9) übereinstimmt;</para>
|
|
|
|
<para>Siebzehn, die sich beschweren, daß 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, daß FreeBSD
|
|
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 paßt, falls wir
|
|
irgendwann beschließen, FreeBSD 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 "unsubscribe", "How do I unsubscribe?",
|
|
oder "Please remove me from the list", 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ß, die herausstellen, daß die
|
|
neue Glühbirne 0,364% heller leuchten würde,
|
|
wenn sie mit TenDRA kompiliert werden würde (obwohl
|
|
sie ein einen Würfel umgeformt werden
|
|
müßte) und daß FreeBSD deshalb nach
|
|
TenDRA, anstatt nach EGCS wechseln sollte;</para>
|
|
|
|
<para>Einen, der sich beschwert, daß bei der neuen
|
|
Glühbirne die Verkleidung fehlt;</para>
|
|
|
|
<para>Neun (einschließlich der PR-Ersteller), die
|
|
fragen "Was ist MFC?";</para>
|
|
|
|
<para>Siebenundfünfzig, die sich zwei Wochen, nachdem
|
|
die Birne gewechselt worden ist, darüber beschweren,
|
|
daß 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>This entry is Copyright (c) 1999 &a.des;.
|
|
Please do not reproduce without
|
|
attribution.</emphasis></para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="hackers">
|
|
<title>Nur für ernsthafte FreeBSD-Hacker</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="define-snap-release">
|
|
<para>Was sind SNAPs und RELEASEs?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Derzeit existieren drei aktive/halbaktive Zweige im
|
|
<ulink URL="http://www.de.FreeBSD.org/cgi/cvsweb.cgi">
|
|
FreeBSD-CVS-Repository</ulink> (im Zweig RELENG_2 erfolgen
|
|
vielleicht noch zwei Änderungen pro Jahr, daher gibt
|
|
es nur drei aktive Entwicklungszwenige:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><literal>RELENG_2_2</literal> bzw.
|
|
<emphasis>2.2-STABLE</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><literal>RELENG_3</literal> bzw.
|
|
<emphasis>3.X-STABLE</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><literal>RELENG_4</literal> bzw.
|
|
<emphasis>4-STABLE</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><literal>HEAD</literal> bzw.
|
|
<emphasis>-CURRENT</emphasis> oder
|
|
<emphasis>5.0-CURRENT</emphasis></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para><literal>HEAD</literal> ist keine wirkliche
|
|
Bezeichnung für einen Zweig, wie die anderen beiden.
|
|
Es ist lediglich eine symbolische Konstante für
|
|
<quote><emphasis>den aktuellen, nicht verzweigten
|
|
Entwicklungsstrom</emphasis></quote>, auf den wir uns
|
|
einfach als <quote>-CURRENT</quote> beziehen.</para>
|
|
|
|
<para>Zur Zeit ist <quote>-CURRENT</quote> der 5.0
|
|
Entwicklungsstrom und der
|
|
<literal>4-STABLE</literal>-Zweig
|
|
<symbol>RELENG_4</symbol> wurde im März 2000 von
|
|
<quote>-CURRENT</quote> abgespalten.</para>
|
|
|
|
<para>Der <literal>2.2-STABLE</literal>-Zweig
|
|
<symbol>RELENG_2_2</symbol> verließ -CURRENT im
|
|
November 1996, die Weiterentwicklung wurde fast
|
|
vollständig eingestellt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custrel">
|
|
<para>Wie kann ich meine eigene, angepaßtes Release
|
|
erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um ein Release zu erstellen, müssen Sie drei
|
|
Dinge tun: erstens müssen Sie einen Kernel benutzen,
|
|
der das Gerät <devicename>vn</devicename>
|
|
enthält. Fügen Sie folgendes in ihre
|
|
Kernelkonfigurationsdatei ein und erstellen Sie einen
|
|
neuen Kernel:</para>
|
|
|
|
<programlisting>
|
|
pseudo-device vn #Vnode driver (verwandelt eine Datei in ein Gerät)
|
|
</programlisting>
|
|
|
|
<para>Zweitens müssen Sie das vollständige
|
|
CVS-Repository zur Hand haben. Sie können hierzu
|
|
<ulink URL="../handbook/synching.html#CVSUP">CVSUP</ulink>
|
|
benutzen. Sie müssen in den Konfigurationsdateien
|
|
für <command>cvsup</command> als Release
|
|
<literal>cvs</literal> verwenden und alle evtl.
|
|
vorhandenen <literal>tag=</literal> und
|
|
<literal>date=</literal> Zeilen entfernen:</para>
|
|
|
|
<programlisting>
|
|
*default prefix=/home/ncvs
|
|
*default base=/a
|
|
*default host=cvsup.FreeBSD.org
|
|
*default release=cvs
|
|
*default delete compress use-rel-suffix
|
|
|
|
## Main Source Tree
|
|
src-all
|
|
src-eBones
|
|
src-secure
|
|
|
|
# Other stuff
|
|
ports-all
|
|
www
|
|
doc-all
|
|
</programlisting>
|
|
|
|
<para>Benutzen Sie dann <command>cvsup -g supfile</command>,
|
|
um all die guten Bits auf Ihren Rechner zu
|
|
saugen...</para>
|
|
|
|
<para>Schließlich brauchen Sie eine Menge freien
|
|
Plattenplatz für die Erstellung. Angenommen, er
|
|
befindet sich unter
|
|
<filename>/some/big/filesystem</filename> und entsprechend
|
|
dem obigen Beispiel befindet sich das CVS-Repository unter
|
|
<filename>/home/ncvs</filename>:</para>
|
|
|
|
<screen>
|
|
&prompt.root; <userinput>setenv CVSROOT /home/ncvs</userinput> # or export CVSROOT=/home/ncvs
|
|
&prompt.root; <userinput>cd /usr/src</userinput>
|
|
&prompt.root; <userinput>make buildworld</userinput>
|
|
&prompt.root; <userinput>cd /usr/src/release</userinput>
|
|
&prompt.root; <userinput>make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release</userinput>
|
|
</screen>
|
|
|
|
<blockquote>
|
|
<note>
|
|
<para>Es ist <emphasis>nicht</emphasis> notwendig,
|
|
<command>make buildworld</command> auszuführen,
|
|
wenn Sie über ein aktuelles
|
|
<filename>/usr/obj</filename> verfügen.</para>
|
|
</note>
|
|
</blockquote>
|
|
|
|
<para>Ein vollständiges Release wird nun unter
|
|
<filename>/some/big/filesystem/release</filename>
|
|
erstellt. Wenn der Vorgang abgeschlossen ist, finden Sie
|
|
unter
|
|
<filename>/some/big/filesystem/release/R/ftp</filename>
|
|
eine vollständige FTP-fähige Installlation.
|
|
Falls Sie Ihren SNAP von einem anderen Zweig als -CURRENT
|
|
erstellen wollen, können Sie auch
|
|
<literal>RELEASETAG=SOMETAG</literal> zu der obigen
|
|
Befehlszeile "make release" hinzufügen, z.B.
|
|
würde <literal>RELEASETAG=RELENG_2_2</literal> einen
|
|
minutenaktuellen Schnappschuß von 2.2-STABLE
|
|
erstellen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custom-install-disks">
|
|
<para>Wie erstelle ich eine angepaßte
|
|
Installationsdiskette?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der gesamte Prozeß zur Erstellung von
|
|
Installationsdisketten und Quell- und Binärarchiven
|
|
ist durch verschiedene Targets in
|
|
<filename>/usr/src/release/Makefile</filename>
|
|
automatisiert. Die dortigen Informationen sollten
|
|
für einen Einstieg ausreichen. Es sollte jedoch
|
|
erwähnt werden, daß dies ein <command>make
|
|
world</command> einschließt und daher sehr viel Zeit
|
|
und Plattenplatz in Anspruch nimmt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="makeworld-clobbers">
|
|
<para><command>make world</command> wirkt sich auf meine
|
|
installierten Binaries aus.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das ist beabsichtigt. Wie der Name schon andeutet,
|
|
erstellt <command>make world</command> alle Systembinaries
|
|
von Grund auf neu. Sie können also sicher sein, am
|
|
Ende eine saubere, konsistente Umgebung zu haben (das ist
|
|
der Grund ist, warum es so lange dauert).</para>
|
|
|
|
<para>Falls die Umgebungsvariable <literal>DESTDIR</literal>
|
|
während der Ausführung von <command>make
|
|
world</command> oder <command>make install</command>
|
|
definiert ist, werden die neu erstellten Binaries unter
|
|
<literal>${DESTDIR}</literal> in einem zum
|
|
installierten identischen Verzeichnisbaum abgelegt.
|
|
Einige zufällige Kombinationen von Änderungen
|
|
von Shared Libraries und Neuerstellungen von Programmen
|
|
können hierbei jedoch ein Scheitern von <command>make
|
|
world</command> verursachen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bus-speed-defaulted">
|
|
<para>Wenn mein System bootet, meldet es <quote>(bus speed
|
|
defaulted)</quote></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Adaptec 1542 SCSI Hostadapter erlauben dem
|
|
Benutzer die Buszugriffsgeschwindigkeit per Software zu
|
|
konfigurieren. Ältere Versionen des 1542-Treibers
|
|
versuchten, die schnellstmögliche Geschwindigkeit
|
|
herauszufinden und konfigurierten den Adapter
|
|
entsprechend. Wir haben festgestellt, daß dies auf
|
|
einigen Systemen nicht funktioniert, weshalb Sie nun die
|
|
Kernelkonfigurationsoption <symbol>TUNE_1542</symbol>
|
|
definieren müssen, um es zu aktivieren. Die
|
|
Benutzung auf Systemen, auf denen es funktioniert,
|
|
könnte Ihre Platten schneller machen, aber auf den
|
|
Systemen, auf denen es nicht funktioniert, könnten
|
|
Ihre Daten beschädigt 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, <literal>ohne</literal>
|
|
den gesamten Quellbaum herunterzuladen, indem Sie die
|
|
Einrichtung <ulink
|
|
URL="../handbook/synching.html#CTM">CTM</ulink>
|
|
benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="split-240k">
|
|
<para>Wie haben Sie die Distribution in 240k-Dateien
|
|
aufgespalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei neueren BSD-basierten Systemen gibt es eine Option
|
|
<option>-b</option> zu split, die das Splitten von Dateien
|
|
an willkürlichen Bytegrenzen erlaubt.</para>
|
|
|
|
<para>Hier ist ein Beispiel aus
|
|
<filename>/usr/src/Makefile</filename>.</para>
|
|
|
|
<programlisting>
|
|
bin-tarball:
|
|
(cd ${DISTDIR}; \
|
|
tar cf - . \
|
|
gzip --no-name -9 -c | \
|
|
split -b 240640 - \
|
|
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
|
|
</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 <ulink
|
|
URL="../handbook/contrib.html">Handbucheintrag über
|
|
das Einreichen vom Code.</ulink></para>
|
|
|
|
<para>Und Danke, daß 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: <ulink
|
|
URL="mailto:uhclem@nemesis.lonestar.org">Frank Durda
|
|
IV</ulink></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, daß Karten mit Modellnummern (zugeordnet von
|
|
Microsoft/Intel) kleiner als X <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 X vorhanden. Nun prüft die
|
|
Erkennungsroutine, ob Karten unterhalb
|
|
<literal>X</literal> vorhanden sind. Dann setzt die
|
|
Erkennungsroutine alle Karten größer als
|
|
X-(limit/4) 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^64.</para>
|
|
|
|
<para>Die IDs bestehen aus zwei 32-Bit-Feldern (daher 2^64)
|
|
+ acht Bit Prüfsumme. Die ersten 32 Bit sind die
|
|
Herstellerkennung. Es wurde zwar nicht bestätigt,
|
|
aber es wird angenommen, daß 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,
|
|
Ethernetadresse - etwas, 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, daß vermieden wird, daß bereits
|
|
von anderen Geraeten 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>Microsoft 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 MS
|
|
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="architectures">
|
|
<para>Unterstützt FreeBSD andere Architekturen
|
|
außer x86?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Verschiedene Gruppen haben ihr Interesse daran
|
|
geäußert, an Multiarchitektur-Ports für
|
|
FreeBSD zu arbeiten. Ziemlich erfolgreich waren die
|
|
Anstrengungen für den Port FreeBSD/AXP (ALPHA), der
|
|
unter <ulink
|
|
URL="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/alpha/">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/alpha</ulink>
|
|
erhältlich ist. Der ALPHA-Port läft nun auf
|
|
einer steigenden Anzahl von ALPHA-Maschinen, unter ihnen
|
|
die Modelle AlphaStation, AXPpci, PC164, Miata und Multia.
|
|
Bitte schließen Sie sich der <link
|
|
linkend="mailing">Mailingliste</link><email>freebsd-alpha@FreeBSD.org</email>
|
|
an, falls Sie an Statusinformationen interessiert
|
|
sind.</para>
|
|
|
|
<para>Außerdem wurde Interesse an einem Port von
|
|
FreeBSD zur SPARC-Architektur ausgedrückt.
|
|
Schließen Sie sich der <link linkend="mailing">
|
|
Mailingliste</link><email>freebsd-sparc@FreeBSD.org</email>
|
|
an, wenn Sie bei dem Projekt teilnehmen möchten. Die
|
|
Neuzugänge auf der Liste der in Zukunft
|
|
unterstützten Plattformen sind IA-64 und PowerPC,
|
|
weitere Informationen erhalten Sie auf den <link
|
|
linkend="mailing">Mailinglisten</link><email>freebsd-ia64@FreeBSD.org</email>
|
|
und/oder <email>freebsd-ppc@FreeBSD.org</email>.
|
|
Schließen Sie sich dieser <link
|
|
linkend="mailing">Mailingliste</link><email>freebsd-platforms@FreeBSD.org</email>
|
|
an, wenn Sie an grundsätzlichen Diskussionen
|
|
über neue Architekturen interessiert sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="major-numbers">
|
|
<para>Ich benötige eine major number für einen
|
|
Gerätetreiber, den ich geschrieben habe.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das hängt davon ab, ob Sie beabsichtigen, den
|
|
Treiber frei verfügbar zu machen, oder nicht. Falls
|
|
dem so ist, senden Sie uns bitte eine Kopie der
|
|
Treiber-Sourcen und zusätzlich die entsprechenden
|
|
Änderungen der Datei <filename>files.i386</filename>,
|
|
ein Beispiel für einen Eintrag in der
|
|
Konfigurationsdatei und den entsprechenden Code für
|
|
<command>MAKEDEV</command>, um spezielle Geräte zu
|
|
erstellen, die Ihr Gerät benutzt. Falls Sie nicht
|
|
beabsichtigen, den Treiber frei verfügbar zu machen,
|
|
oder es aufgrund von Lizenzbeschränkungen nicht
|
|
können, dann ist die Hauptnummer 32 für
|
|
zeichenorientierte und die Hauptnummer 8 für
|
|
blockorientierte Geräte speziell für diesen
|
|
Zweck reserviert. In jedem Fall würden wir uns
|
|
freuen, in <email>freebsd-hackers@FreeBSD.org</email>
|
|
etwas über Ihren neuen Treiber zu hören.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="alternate-directory-layout">
|
|
<para>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, daß 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, (gesamt / fs_ncg) pro
|
|
Zylindergruppe zu erstellen, bevor fortgefahren wird.
|
|
Offensichtlich müßte 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, daß dies ein
|
|
fruchtbares Gebiet für Experimente ist.</para>
|
|
|
|
<para>Kirk McKusick, September 1998</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-panic-troubleshooting">
|
|
<para>Optimalen Nutzen aus einer kernel panic ziehen</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><emphasis>[Dieser Abschnitt wurde von &a.des;, der
|
|
einige Tippfehler korrigiert und die Kommentare in eckigen
|
|
Klammern hinzugefügt hat, aus einer Mail von
|
|
&a.wpaul; in der <link
|
|
linkend="mailing">Mailingliste</link> freebsd-current
|
|
entnommen.]</emphasis></para>
|
|
|
|
<programlisting>
|
|
From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
|
|
Subject: Re: the fs fun never stops
|
|
To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
|
|
Cc: current@FreeBSD.org
|
|
</programlisting>
|
|
|
|
<para><emphasis>[<ben@rosengart.com> sendete die
|
|
folgende Panik-Meldung]</emphasis></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, den ich oben
|
|
hervorgehoben habe, 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 GENERIC
|
|
Kernelimage von einem der Snapshots benutzen, dann ist es
|
|
für jemand anderen möglich, die fehlerhafte
|
|
Instruktion herauszufinden, aber wenn Sie einen
|
|
angepaßten Kernel benutzen, können nur
|
|
<emphasis>Sie</emphasis> uns sagen, wo der Fehler
|
|
auftrat.</para>
|
|
|
|
<para>Was Sie tun sollten, ist folgendes:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Notieren Sie sich den Wert des
|
|
Instruktionszeigers. Beachten Sie, daß 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>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Tun Sie folgendes, wenn das System
|
|
rebootet:</para>
|
|
|
|
<screen>
|
|
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
|
|
</screen>
|
|
|
|
<para>wobei <literal>0xf0xxxxxx</literal> der Wert des
|
|
Instruktionszeigers ist. Es besteht die
|
|
Möglichkeit, daß Sie keinen exakten Treffer
|
|
erzielen, weil die Symbole in der Symboltabelle des
|
|
Kernels Funktionseinstiegspunkte sind und die Adresse
|
|
des Instruktionszeiger 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 nocheinmal, z.B.:</para>
|
|
|
|
<screen>
|
|
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
|
|
</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>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Ich sehe ständig Leute, die Panik-Meldungen wie
|
|
diese zeigen, aber ich sehe kaum jemanden, der sich die
|
|
Zeit nimmt, den Instruktionszeiger einer Funktion aus der
|
|
Symboltabelle des Kernel zuzuordnen.</para>
|
|
|
|
<para>Der beste Weg, den Grund für eine Panik
|
|
herauszufinden, ist der, einen Crash-Dump festzuhalten und
|
|
dann <command>gdb(1)</command> zu benutzen, um den Stack
|
|
im Crash-Dump zurückzuverfolgen. Das setzt
|
|
natürlich voraus, das <command>gdb(1)</command> in
|
|
-CURRENT korrekt arbeitet, was ich nicht garantieren kann
|
|
(Ich erinnere mich an jemanden, der gesagt hat, daß
|
|
das neue ELF-<command>gdb(1)</command> Kernel-Crash-Dumps
|
|
nicht korrekt verarbeitet hat. Jemand sollte das
|
|
überprüfen, bevor 3.0 den Betastatus
|
|
verläßt, andernfalls könnte es einige rote
|
|
Gesichter geben, nachdem die CDs ausgeliefert worden
|
|
sind).</para>
|
|
|
|
<para>Jedenfalls ist die Methode, die ich normalerweise
|
|
benutze, folgende:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Richten Sie eine Kernelkonfigurationsdatei ein,
|
|
fügen Sie optional <literal>options DDB</literal>
|
|
hinzu, falls Sie glauben, daß Sie den
|
|
Kerneldebugger benötigen. (Ich benutze ihn
|
|
hauptsächlich zum Setzen von Haltepunkten, wenn
|
|
ich eine Endlosschleife irgendeiner Art
|
|
vermute.)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie <command>config -g
|
|
<replaceable>KERNELCONFIG</replaceable></command>, um
|
|
das Erstellungsverzeichnis einzurichten.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><command>cd
|
|
/sys/compile/<replaceable>KERNELCONFIG</replaceable>;
|
|
make</command></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Warten Sie, bis der Kernel fertig kompiliert
|
|
ist.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><command>make install</command></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>reboot</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Der &man.make.1;-Prozeß wird zwei Kernel
|
|
erstellt haben: <filename>kernel</filename> und
|
|
<filename>kernel.debug</filename>.
|
|
<filename>kernel</filename> wurde als
|
|
<filename>/kernel</filename> installiert, während
|
|
<filename>kernel.debug</filename> als Quelle für
|
|
Debuggersymbole für gdb(1) benutzt werden
|
|
kann.</para>
|
|
|
|
<para>Um sicherzustellen, daß ein Crash-Dump erhalten
|
|
bleibt, müssen Sie
|
|
<filename>/etc/rc.config</filename> editieren und
|
|
<literal>dumpdev</literal> so setzen, daß es auf
|
|
Ihre Swap-Partition zeigt. Das bewirkt, daß die
|
|
<command>rc(8)</command>-Skripte den Befehl
|
|
<command>dumpon(8)</command> benutzen, um Crash-Dumps zu
|
|
ermöglichen. Sie können
|
|
<command>dumpon(8)</command> auch manuell ausführen.
|
|
Nach einer Panik kann der Crash-Dump mit
|
|
<command>savecore(8)</command> wiederhergestellt werden;
|
|
wenn <literal>dumpdev</literal> in
|
|
<filename>/etc/rc.conf</filename> gesetzt ist, werden die
|
|
<command>rc(8)</command>-Skripte
|
|
<command>savecore(8)</command> automatisch ausführen
|
|
und den Crash-Dump unter <filename>/var/crash</filename>
|
|
ablegen.</para>
|
|
|
|
<para>
|
|
<note>
|
|
<para>Crash-Dumps von FreeBSD sind für
|
|
gewöhnlich genauso groß wie der
|
|
physikalische Hauptspeicher Ihres Rechners. D.h.,
|
|
wenn Sie 64MB RAM haben, werden sie einen 64MB
|
|
Crash-Dump erhalten. Deshalb müssen Sie
|
|
dafür sorgen, daß genügend
|
|
Speicherplatz in <filename>/var/crash</filename> zur
|
|
Verfügung steht, um den Dump aufnehmen zu
|
|
können. Alternativ führen Sie
|
|
<command>savecore(8)</command> 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=(foo)</literal> benutzt wird, um den Speicher,
|
|
den der Kernel benutzt, auf einen etwas
|
|
vernünftigeren Wert zu setzen. Wenn Sie z.B.
|
|
128MB RAM haben, können Sie die Speicherbenutzung
|
|
des Kernels auf 16MB begrenzen, so daß die
|
|
Größe Ihres Crash-Dumps 16MB anstatt 128MB
|
|
beträgen wird.</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>Wenn Sie den Crash-Dump wiederhergestellt haben,
|
|
können Sie den Stack mit <command>gdb(1)</command> so
|
|
zurückverfolgen:</para>
|
|
|
|
<screen>
|
|
&prompt.user; <userinput>gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0</userinput>
|
|
<prompt>(gdb)</prompt> <userinput>where</userinput>
|
|
</screen>
|
|
|
|
<para>Beachten Sie, daß es mehrere Seiten mit
|
|
wertvollen Informationen geben könnte; idealerweise
|
|
sollten Sie <command>script(1)</command> benutzen, um sie
|
|
alle festzuhalten. Wenn Sie das vollständige
|
|
Kernelimage mit allen Debugginginformationen benutzen,
|
|
müßten 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
|
|
<command>gdb(1)</command> auch zum Ausdrucken der Inhalte
|
|
verschiedener Variablen oder Strukturen benutzen, um den
|
|
Systemstatus zum Zeitpunkt des Absturzes zu
|
|
untersuchen.</para>
|
|
|
|
<para>Wenn Sie nun wirklich verrückt sind und einen
|
|
zweiten Computer haben, können Sie
|
|
<command>gdb(1)</command> auch für entferntes
|
|
Debugging konfigurieren, so daß Sie
|
|
<command>gdb(1)</command> 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. Ich habe noch nicht damit gespielt weil
|
|
ich nicht oft Gelegenheit habe, zwei Rechner nebeneinander
|
|
für Debuggingzwecke einzurichten.</para>
|
|
|
|
<para><emphasis>[Bill hat hinzugefügt: "Ich
|
|
vergaß, etwas zu erwähnen: wenn Sie DDB
|
|
aktiviert haben und der Kernel im Debugger landet,
|
|
können Sie eine Panik (und einen Crash-Dump)
|
|
erzwingen, indem Sie einfach 'panic' am ddb-Prompt
|
|
eingeben. Er könnte während der Panikphase
|
|
wieder im Debugger stoppen. Falls er das tut, geben Sie
|
|
'continue' ein, dann wird er den Crash-Dump beenden."
|
|
-ed]</emphasis></para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dlsym-failure">
|
|
<para>dlsym() funktioniert 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>Erhöhung oder Verminderung des
|
|
Kernel-Adreßraums</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Standardmäßig beträgt der
|
|
Adreßraum des Kernels 256MB (FreeBSD 3.x) bzw. 1 GB
|
|
(FreeBSD 4.x). Wenn Sie einen netzwerkintensiven Server
|
|
(z.B. einen großen FTP- oder HTTP-Server) betreiben,
|
|
kann es sein, daß Sie der Meinung sind, daß
|
|
256MB nicht ausreichen.</para>
|
|
|
|
<para>Wie also erhöhen Sie den Adreßraum? Hier
|
|
gibt es zwei Aspekte. Erstens müssen Sie dem Kernel
|
|
sagen, daß er einen grösseren Anteil des
|
|
Adreßraums für sich selbst reservieren soll.
|
|
Da der Kernel am oberen Ende des Adreßraums geladen
|
|
wird, müssen Sie zweitens die Ladeadresse verringern,
|
|
damit er mit dem Kopf nicht gegen die Obergrenze
|
|
stößt.</para>
|
|
|
|
<para>Das erste Ziel erreicht man, indem man den Wert von
|
|
<literal>NKPDE</literal> in
|
|
<filename>src/sys/i386/include/pmap.h</filename>
|
|
erhöht. Für einen Adreßraum von 1 GB
|
|
sieht das so aus:</para>
|
|
|
|
<programlisting>
|
|
#ifndef NKPDE
|
|
#ifdef SMP
|
|
#define NKPDE 254 /* addressable number of page tables/pde's */
|
|
#else
|
|
#define NKPDE 255 /* addressable number of page tables/pde's */
|
|
#endif /* SMP */
|
|
#endif
|
|
</programlisting>
|
|
|
|
<para>Dividieren Sie die gewünschte
|
|
Adreßraumgröße (in Megabyte) durch vier
|
|
und subtrahieren Sie dann eins für UP und zwei
|
|
für SMP, um den korrekten Wert für
|
|
<literal>NKPDE</literal> zu finden.</para>
|
|
|
|
<para>Um das zweite Ziel zu erreichen müssen Sie die
|
|
korrekte Ladeadresse berechnen: subtrahieren Sie einfach
|
|
die Größe des Adreßraums (in Byte) von
|
|
0x100100000; für einen Adreßraum von 1 GB
|
|
lautet das Ergebnis 0xc0100000. Setzen Sie
|
|
<symbol>LOAD_ADDRESS</symbol> in
|
|
<filename>src/sys/i386/conf/Makefile.i386</filename> auf
|
|
diesen Wert; setzen Sie dann den Location-Counter am
|
|
Anfang der Abschnittsliste in
|
|
<filename>src/sys/i386/conf/kernel.script</filename> auf
|
|
denselben Wert:</para>
|
|
|
|
<programlisting>
|
|
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
|
OUTPUT_ARCH(i386)
|
|
ENTRY(btext)
|
|
SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib);
|
|
SECTIONS
|
|
{
|
|
/* Read-only sections, merged into text segment: */
|
|
. = 0xc0100000 + SIZEOF_HEADERS;
|
|
.interp : { *(.interp) }
|
|
</programlisting>
|
|
|
|
<para>Konfigurieren und erstellen Sie Ihren Kernel dann neu.
|
|
Sie werden vermutlich Probleme mit <command>ps</command>,
|
|
<command>top</command> und ähnlichen Programmen
|
|
haben. Ein <command>make world</command> sollte diese
|
|
beheben; alternativ können Sie die gepatchte
|
|
<filename>pmap.h</filename> in das Verzeichnis
|
|
<filename>/usr/include/vm</filename> kopieren und danach
|
|
<filename>libkvm</filename>, <command>ps</command> und
|
|
<command>top</command> neu erzeugen.</para>
|
|
|
|
<para>Hinweis: die Größe des
|
|
Kernel-Adreßraums muß ein Vielfaches von vier
|
|
Megabyte betragen.</para>
|
|
|
|
<para>[&a.dg; fügt hinzu: <emphasis>Ich glaube, der
|
|
Kerneladreßraum muß eine Zweierpotenz sein,
|
|
aber ich bin mir dessen nicht sicher. Der alte
|
|
(ältere) Bootcode pflegte die oberen Adreßbits
|
|
zu mißbrauchen und ich glaube, er erwartete
|
|
mindestens 256MB Granularität.]</emphasis></para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="acknowledgments">
|
|
<title>DANKSAGUNG</title>
|
|
|
|
<blockquote>
|
|
<attribution>FreeBSD Core Team</attribution>
|
|
|
|
<para>Falls Sie ein Problem in dieser FAQ entdecken, oder einen
|
|
Eintrag einsenden möchten, senden Sie uns bitte eine Mail
|
|
an &a.faq; Wir schätzen Ihr Feedback und können
|
|
diese FAQ ohne Ihre Hilfe nicht verbessern!</para>
|
|
</blockquote>
|
|
|
|
<variablelist>
|
|
<title>Originalversion</title>
|
|
|
|
<varlistentry>
|
|
<term>&a.jkh;</term>
|
|
|
|
<listitem>
|
|
<para>Gelegentliche Anpassungen von Umstrukturierungen der
|
|
FAQ und Aktualisierung.</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>&a.dwhite;</term>
|
|
|
|
<listitem>
|
|
<para>Dienste über Pflichtbesuche in freebsd-questions
|
|
hinaus</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>&a.joerg;</term>
|
|
|
|
<listitem>
|
|
<para>Dienste über Pflichtbesuche im Usenet
|
|
hinaus</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>&a.wollman;</term>
|
|
|
|
<listitem>
|
|
<para>Netzwerke und Formatierung</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Jim Lowe</term>
|
|
|
|
<listitem>
|
|
<para>Multicast-Informationen</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>&a.pds;</term>
|
|
|
|
<listitem>
|
|
<para>Schreibmaschinenknecht der FreeBSD-FAQ</para>
|
|
|
|
<para></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Das FreeBSD-Team</term>
|
|
|
|
<listitem>
|
|
<para>Nörgeln, Stöhnen, Einsenden von
|
|
Daten</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<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>
|
|
</book>
|