38d4e1338a
books/faq/book.sgml 1.539 -> 1.592 books/handbook/Makefile include IPsec pictures books/handbook/book.sgml 1.136 -> 1.340 books/handbook/advanced-networking/chapter.sgml 1.234 -> 1.240 books/handbook/boot/chapter.sgml 1.54 -> 1.55 books/handbook/basics/chapter.sgml 1.97 -> 1.109 books/handbook/kernelconfig/chapter.sgml 1.53 -> 1.56 books/handbook/ports/chapter.sgml 1.205 -> 1.206 books/handbook/desktop/chapter.sgml 1.26 -> 1.29 books/handbook/bibliography/chapter.sgml 1.56 -> 1.57 books/handbook/disks/chapter.sgml 1.169 -> 1.185 books/handbook/cutting-edge/chapter.sgml 1.187 -> 1.188 books/handbook/introduction/chapter.sgml 1.94 -> 1.95 books/handbook/mirrors/chapter.sgml 1.320 -> 1.324 books/handbook/linuxemu/chapter.sgml 1.87 -> 1.100 books/handbook/security/chapter.sgml 1.149 -> 1.182 books/handbook/serialcomms/chapter.sgml 1.80 -> 1.82 books/handbook/mail/chapter.sgml 1.78 -> 1.84 books/handbook/users/chapter.sgml header update books/handbook/ppp-and-slip/chapter.sgml 1.118 -> 1.121 books/handbook/l10n/chapter.sgml 1.91 -> 1.93 books/handbook/printing/chapter.sgml 1.19 -> 1.20 books/handbook/config/chapter.sgml 1.117 -> 1.122 books/handbook/x11/chapter.sgml 1.127 -> 1.129 books/handbook/eresources/chapter.sgml 1.128 -> 1.131 books/handbook/pgpkeys/chapter.sgml 1.196 -> 1.198 books/handbook/preface/preface.sgml 1.16 -> 1.17 share/sgml/catalog include trademarks.ent share/sgml/trademarks.ent new translation share/sgml/trademarks.sgml new translation
14208 lines
592 KiB
Text
14208 lines
592 KiB
Text
<!--
|
||
The FreeBSD Documentation Project
|
||
The FreeBSD German Documentation Project
|
||
|
||
$FreeBSD$
|
||
$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.460 2003/09/01 18:19:17 mheinen Exp $
|
||
|
||
basiert auf: 1.592
|
||
|
||
-->
|
||
|
||
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
||
%man;
|
||
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
|
||
%freebsd;
|
||
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
|
||
%authors;
|
||
<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//DE">
|
||
%teams;
|
||
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//DE">
|
||
%translators;
|
||
<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//DE">
|
||
%bookinfo;
|
||
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE"> %mailing-lists;
|
||
<!ENTITY bibliography SYSTEM "../../share/sgml/bibliography.sgml">
|
||
|
||
]>
|
||
|
||
<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.460 2003/09/01 18:19:17 mheinen Exp $</pubdate>
|
||
|
||
<copyright>
|
||
<year>1995</year>
|
||
|
||
<year>1996</year>
|
||
|
||
<year>1997</year>
|
||
|
||
<year>1998</year>
|
||
|
||
<year>1999</year>
|
||
|
||
<year>2000</year>
|
||
|
||
<year>2001</year>
|
||
|
||
<year>2002</year>
|
||
|
||
<year>2003</year>
|
||
|
||
<holder>The FreeBSD Documentation Project</holder>
|
||
</copyright>
|
||
|
||
<copyright>
|
||
<year>2000</year>
|
||
|
||
<year>2001</year>
|
||
|
||
<year>2002</year>
|
||
|
||
<year>2003</year>
|
||
|
||
<holder>The FreeBSD German Documentation Project</holder>
|
||
</copyright>
|
||
|
||
&bookinfo.trademarks;
|
||
|
||
&bookinfo.legalnotice;
|
||
|
||
<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. Falls Sie daran
|
||
interessiert sein sollten, an diesem Projekt mitzuhelfen,
|
||
senden Sie eine Mail an die Mailingliste &a.de.translators;. 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>
|
||
|
||
<chapter id="introduction">
|
||
<title>Einleitung</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.de.translators;.</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, IA-64, PC-98,
|
||
Alpha/AXP und UltraSPARC, das auf der
|
||
<quote>4.4BSD-Lite</quote>-Release
|
||
der University of California at Berkeley (UCB) basiert;
|
||
außerdem flossen einige Erweiterungen aus der
|
||
<quote>4.4BSD-Lite2</quote>-Release mit ein. Es basiert
|
||
außerdem indirekt auf der von William Jolitz unter
|
||
dem Namen <quote>386BSD</quote> herausgebrachten
|
||
Portierung der <quote>Net/2</quote>-Release der UCB auf
|
||
die i386-Plattform - allerdings ist nur wenig vom
|
||
386BSD-Code übriggeblieben. Eine umfassendere
|
||
Beschreibung darüber, was 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 benutzen 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 ist das Ziel des Projektes FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Ziel von FreeBSD ist es, Software zur Nutzung
|
||
für beliebige Zwecke, bedingungslos zur
|
||
Verfügung zu stellen. Viele von uns haben
|
||
erheblich zur Erstellung des Codes (und zum Projekt)
|
||
beigetragen und hätten jetzt oder in Zukunft
|
||
sicherlich nichts gegen einen geringen finanziellen
|
||
Ausgleich einzuwenden, aber wir beabsichtigen definitiv
|
||
nicht, darauf zu bestehen. Wir sind der Meinung,
|
||
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 <ulink url="
|
||
http://www.FreeBSD.org/copyright/COPYING">GNU General
|
||
Public License (GPL)</ulink> oder der <ulink
|
||
url="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU
|
||
Library General Public License (LGPL)</ulink> unterliegt,
|
||
ist mit zusätzlichen, geringfügigen Bedingungen
|
||
verknüpft, jedoch handelt es sich dabei lediglich um
|
||
erzwungene Bereitstellung statt des sonst üblichen
|
||
Gegenteils. Auf Grund der zusätzlichen
|
||
Komplexität, die durch den kommerziellen Einsatz von
|
||
GPL Software entstehen kann, bemühen wir uns jedoch,
|
||
solche Software, wo möglich, durch solche, die der
|
||
etwas lockereren <ulink
|
||
url="http://www.FreeBSD.org/copyright/freebsd-license.html">FreeBSD
|
||
Lizenz</ulink> unterliegt, zu ersetzen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="bsd-license-restrictions">
|
||
<para>Beinhaltet das FreeBSD-Copyright irgendwelche
|
||
Einschränkungen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Diese Einschränkungen regeln aber nicht, wie
|
||
Sie mit dem Sourcecode umgehen, sondern betreffen nur den
|
||
Umgang mit dem FreeBSD Project an sich. Wenn Sie sich
|
||
ernsthaft damit auseinandersetzen wollen, lesen Sie
|
||
einfach die <ulink
|
||
url="http://www.FreeBSD.org/copyright/freebsd-license.html">
|
||
FreeBSD-Lizenz</ulink>. Wenn Sie einfach nur neugierig
|
||
sind, sollte diese Zusammenfassung ausreichen:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Behaupten Sie nicht, Sie hätten es
|
||
geschrieben.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Verklagen Sie uns nicht, wenn irgend etwas nicht
|
||
funktioniert.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="replace-current-OS">
|
||
<para>Kann FreeBSD mein bisher verwendetes Betriebssystem
|
||
ersetzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>In den meisten Fällen lautet die Antwort ja.
|
||
Allerdings ist diese Frage nicht ganz so einfach, wie sie
|
||
scheint.</para>
|
||
|
||
<para>Die meisten Anwender benutzen kein Betriebssystem,
|
||
sondern Anwendungen. Die Anwendungen sind es, die das
|
||
Betriebssystem benutzen. FreeBSD ist dazu gedacht, eine
|
||
stabile und vielfältige Umgebung für Anwendungen
|
||
bereitzustellen. Es unterstützt viele
|
||
unterschiedliche Web-Browser, Büroanwendungen,
|
||
E-Mail-Programme, Grafik-Programme, Entwicklungsumgebungen,
|
||
Netzwerk-Server, und so ziemlich alles andere, was Sie sich
|
||
wünschen können. Die meisten dieser Anwendungen
|
||
sind in der <ulink
|
||
url="http://www.FreeBSD.org/ports/">Ports
|
||
Kollektion</ulink> verfügbar.</para>
|
||
|
||
<para>Wenn Sie Anwendung benutzen müssen, die es nur
|
||
für ein bestimmtes Betriebssystem gibt, dann kommen
|
||
Sie an diesem Betriebssystem nicht vorbei. Allerdings
|
||
stehen die Chancen nicht schlecht, daß es eine
|
||
vergleichbare Anwendung für FreeBSD gibt. Wenn Sie
|
||
einen verläßlichen Server für ihr
|
||
Büro oder das Internet brauchen, oder eine stabilen
|
||
Arbeitsplatz, oder einfach nur die Fähigkeit, ihre
|
||
Arbeit ohne dauernde Abstürze machen zu können,
|
||
dann kann FreeBSD genau das sein. Viele Anwender auf der
|
||
ganzen Welt, vom Anfänger bis zum erfahrenen
|
||
Administrator, benutzen an Ihren Arbeitsplätzen
|
||
ausschließlich FreeBSD.</para>
|
||
|
||
<para>Wenn Sie von einem anderen &unix; System zu FreeBSD
|
||
wechseln, dürfte Ihnen vieles bekannt vorkommen.
|
||
Wenn Ihr Hintergrund ein Grafik-orientiertes
|
||
Betriebssystem wie Windows oder ein älteres Mac OS
|
||
ist, werden Sie zusätzliche Zeit investieren
|
||
müssen, um den &unix; Stil zu verstehen. Dieser FAQ
|
||
und das <ulink url="../handbook/index.html">FreeBSD
|
||
Handbuch</ulink> sind die besten Startpunkte.</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 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 englische
|
||
Wort <quote>free</quote> hier in den Bedeutungen
|
||
<quote>umsonst</quote> und <quote>Sie können tun, was
|
||
immer Sie möchten</quote> genutzt wird. Abgesehen
|
||
von ein oder zwei Dingen, die Sie mit dem 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="differences-to-other-bsds">
|
||
<para>Wie unterschieden sich FreeBSD, NetBSD, OpenBSD
|
||
und andere Open-Source BSD-Systeme?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>James Howards Artikel
|
||
<ulink url="http://www.daemonnews.org/200104/bsd_family.html">The
|
||
BSD Family Tree</ulink>, der in
|
||
<ulink url="http://www.daemonnews.org/">DaemonNews</ulink>
|
||
erschienen ist, beschreibt sehr gut die Geschichte und die
|
||
Unterschiede der BSD-Varianten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="latest-version">
|
||
<para>Welches ist die aktuelle FreeBSD-Version?</para>
|
||
</question>
|
||
|
||
<!--
|
||
This answer is a hack to deal with the fact that for now there are two
|
||
"latest" versions of FreeBSD.
|
||
-->
|
||
|
||
<answer>
|
||
<para>Momentan gibt es zwei Entwicklungszweige auf denen
|
||
FreeBSD-Releases erstellt werden. Die 4.X-Releases werden
|
||
auf dem <emphasis>-STABLE</emphasis>-Zweig erstellt und die
|
||
5.X-RELEASES werden auf dem <emphasis>-CURRENT</emphasis>-Zweig
|
||
erstellt.</para>
|
||
|
||
<para>Version <ulink
|
||
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;</ulink>
|
||
ist das aktuelle Release aus dem
|
||
<emphasis>-CURRENT</emphasis>-Zweig und ist im
|
||
&rel.current.date; erschienen.
|
||
Version <ulink
|
||
URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</ulink>
|
||
ist das aktuelle Release aus dem
|
||
<emphasis>-STABLE</emphasis>-Zweig und ist im
|
||
&rel2.current.date; erschienen.</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 und
|
||
möglicherweise unstabilen Features im
|
||
aktuellen <emphasis>-CURRENT</emphasis> Snapshot legen.
|
||
Releases können aus jedem Zweig entstehen, Sie
|
||
sollten <emphasis>-CURRENT</emphasis> allerdings nur dann
|
||
benutzen, wenn Sie auf ein erhöhtes Fehlverhalten
|
||
im Vergleich zu <emphasis>-STABLE</emphasis> auch
|
||
vorbereitet sind.</para>
|
||
|
||
<para>Releases entstehen nur <link
|
||
linkend="release-freq">alle paar Monate</link>. Viele
|
||
Leute halten ihre Systeme aktueller (lesen Sie die Fragen
|
||
zu <link linkend="current">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>
|
||
|
||
<para>Weitere Informationen über Releases entnehmen
|
||
Sie der Seite <ulink
|
||
url="http://www.FreeBSD.org/releng/index.html">Release
|
||
Engineering</ulink> des FreeBSD Webauftritts.</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, aus der zu gegebener Zeit &os.stable;
|
||
werden wird. Das wird ungefähr für 5.2-RELEASE
|
||
erwartet. 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>
|
||
Release 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 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ß alle zu testende, neue
|
||
Merkmale und Fehlerbehebungen zu möglichst vielen
|
||
potentiellen Testern 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-CURRENT sind unter
|
||
<ulink url="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"></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/current-stable.html#STABLE">-STABLE</ulink>
|
||
der andere <ulink
|
||
url="../handbook/cutting-edge.html#CURRENT">-CURRENT</ulink>
|
||
genannt. FreeBSD-STABLE ist für Anbieter von
|
||
Internetdiensten und andere kommerzielle Unternehmen
|
||
gedacht, für die plötzliche Veränderungen
|
||
und experimentelle Features unerwünscht sind.
|
||
In diesem Zweige werden nur ausgetestete
|
||
Fehlerbehebungen und kleine, inkrementelle Änderungen
|
||
aufgenommen. FreeBSD-CURRENT ist eine ununterbrochene
|
||
Linie seitdem die Version 2.0 herausgegeben worden
|
||
ist. Sie führt zu 5.2-RELEASE (und dar<61>ber hinaus).
|
||
Zum Zeitpunkt von 5.2-RELEASE soll der 5-STABLE-Zweig
|
||
erschaffen werden und &os.current; wird 6-CURRENT
|
||
werden. 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 -> 4.3 -> 4.4 -> ... zukünftige 4.X Releases ...
|
||
| (Jul 2000) (Sep 2000) (Nov 2000) (Apr 2001)
|
||
5.0-RELEASE (Jan 2003)
|
||
|
|
||
|
|
||
5.1-RELEASE (Jun 2003)
|
||
|
|
||
|
|
||
\|/
|
||
+
|
||
[5-CURRENT wird fortgesetzt]
|
||
</programlisting>
|
||
|
||
<para>Der Zweig 2.2-STABLE wurde mit der
|
||
Veröffentlichung der Version 2.2.8 eingestellt. Der
|
||
Zweig 3-STABLE endete mit Version 3.5.1, der letzten
|
||
3.X-Version. Änderungen in diesen Zweigen
|
||
beschränken sich im allgemeinen auf die Korrektur von
|
||
Sicherheits-relevanten Fehlern.</para>
|
||
|
||
<para>4-STABLE ist der Zweig, auf den sich die Entwicklung
|
||
von -STABLE zur Zeit konzentriert. Das neueste Release
|
||
aus dem 4-STABLE-Zweig ist &rel2.current;-RELEASE,
|
||
das im &rel2.current.date; erschienen ist.</para>
|
||
|
||
<para>Der -CURRENT-Zweig entwickelt sich der
|
||
5-STABLE-Zweig. Weitere Informationen
|
||
über diesen Zweig finden Sie bei <link
|
||
linkend="current">Was ist FreeBSD-CURRENT?</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="release-freq">
|
||
<para>Wann werden FreeBSD-Versionen erstellt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Im Schnitt gibt das &a.re; alle vier Monate eine neue
|
||
FreeBSD-Version frei. Das Erscheinungsdatum
|
||
einer neuer Version wird frühzeitig bekanntgegeben,
|
||
damit die am System arbeitenden Personen wissen, bis wann
|
||
ihre Projekte abgeschlossen und ausgetestet sein
|
||
müssen. Vor jedem Release gibt es eine Testperiode um
|
||
sicherzustellen, daß die neu hinzugefügten Features
|
||
nicht die Stabilität des Releases beeinträchtigen.
|
||
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>Weitere Informationen über die Entwicklung von
|
||
Releases, sowie eine Übersicht über kommende Releases,
|
||
erhlaten Sie auf den <ulink
|
||
url="http://www.FreeBSD.org/releng/index.html">release
|
||
engineering</ulink> Seiten der FreeBSD Webseite.</para>
|
||
|
||
<para>Für diejenigen, die ein wenig mehr Spannung
|
||
brauchen (oder möchten), werden täglich
|
||
Snapshots herausgegeben, wie oben beschrieben.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="responsible">
|
||
<para>Wer ist für 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="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/article.html#STAFF-CORE">Core
|
||
Team</ulink> von etwa 9 Personen geführt. Es gibt
|
||
ein weitaus größeres Team von über 200
|
||
<ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/article.html#STAFF-COMMITTERS">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>Das aktuelle Release von 5.X, &rel.current;-RELEASE
|
||
finden Sie im Verzeichnis <ulink
|
||
URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE directory</ulink>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Das aktuelle Release von 4-STABLE,
|
||
&rel2.current;-RELEASE finden Sie im Verzeichnis <ulink
|
||
URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE directory</ulink>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">4.X
|
||
Snapshots</ulink> werden in der Regel
|
||
täglich erstellt.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>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>Wo und wie Sie FreeBSD auf CD, DVD, und anderen Medien
|
||
beziehen können, erfahren Sie im <ulink
|
||
url="../handbook/mirrors.html">Handbuch</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="howto-mirror">
|
||
<para>Wie wird ein FreeBSD-Spiegel eingerichtet?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Artikel <ulink url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/hubs/">Mirroring
|
||
FreeBSD</ulink> erklärt, wie ein FreeBSD-Spiegel
|
||
eingerichtet wird.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="access-pr">
|
||
<para>Wie greife ich auf die Datenbank mit Problemberichten
|
||
zu?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Datenbank mit Problemberichten (PR,
|
||
<foreignphrase>problem report</foreignphrase>)
|
||
Ä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 werden. Mit dem Programm &man.send-pr.1;
|
||
können Sie Problemberichte oder Änderungsanträge
|
||
per E-Mail einsenden.</para>
|
||
|
||
<para>Über die Web-Schnittstelle können momentan
|
||
keine Problemberichte eingereicht werden. Wir haben die
|
||
Schnittstelle wegen wiederholtem Mißbrauch
|
||
deaktiviert.</para>
|
||
|
||
<para>Bevor Sie einen Fehler melden, sollten Sie sich zuerst
|
||
den Artikel <ulink
|
||
URL="../../articles/problem-reports/article.html">Writing
|
||
FreeBSD Problem Reports</ulink> durchlesen, damit Sie
|
||
wissen, wie Sie eine gute Fehlermeldung verfassen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="become-web-mirror">
|
||
<para>Was muß ich tun, um einen FreeBSD-Web-Mirror
|
||
betreiben zu können?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Es gibt mehrere Möglichkeiten, die Web-Seiten zu
|
||
spiegeln.</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Sie können die formatierten Dateien von einem
|
||
FreeBSD CVSUP-Server mit
|
||
<filename role="package">net/cvsup</filename> beziehen.
|
||
Die Datei
|
||
<filename>/usr/share/examples/cvsup/www-supfile</filename>
|
||
enthält ein Beispiel für die Konfiguration,
|
||
die für einen Web-Mirror notwendig ist.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Sie können sich die Quelldateien für die
|
||
Web-Seiten von jeden FreeBSD FTP-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 <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www"></ulink>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="other-info-sources">
|
||
<para>Gibt es weitere Informationsquellen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie finden eine umfassende Liste unter <ulink
|
||
url="http://www.FreeBSD.org/docs.html">Documentation</ulink>
|
||
auf der <ulink
|
||
url="http://www.FreeBSD.org">FreeBSD-Webseite</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="support">
|
||
<title>Documentation and Support</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="books">
|
||
<para>Gibt es gute Bücher über FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Im Zuge des FreeBSD Projekts sind diverse gute
|
||
Dokumente entstanden, die unter der
|
||
folgenden URL abgerufen werden können:
|
||
<ulink url="http://www.FreeBSD.org/docs.html"></ulink>.
|
||
Die Dokumente stehen auch als Pakete, die Sie leicht
|
||
installieren können, zur Verfügung. In den
|
||
nächsten Abschnitten erfahren Sie mehr über diese
|
||
Pakete.</para>
|
||
|
||
<para>Zusätzlich enthalten die Bibliographien am Ende
|
||
dieser FAQ und im Handbuch Verweise auf weitere empfohlene
|
||
Bücher.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="doc-formats">
|
||
<para>Ist die Dokumentation auch in anderen Formaten
|
||
verfügbar? Zum Beispiel als einfacher Text (ASCII)
|
||
oder als PostScript?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Werfen Sie einen Blick auf das Verzeichnis <ulink
|
||
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink>
|
||
auf dem 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.ISO8859-1</literal></entry>
|
||
|
||
<entry>US Englisch</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>es_ES.ISO8859-1</literal></entry>
|
||
|
||
<entry>Spanisch</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>fr_FR.ISO8859-1</literal></entry>
|
||
|
||
<entry>Französisch</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>de_DE.ISO8859-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, von denen jedes seine
|
||
eigenen Vor- und Nachteile hat. Einige Formate lassen sich
|
||
gut an einem Bildschirm lesen, während andere Formate
|
||
dafür gedacht sind, ein ansprechendes Druckbild zu
|
||
erzeugen. Das die Dokumentation in verschiedenen Formaten
|
||
verfügbar ist, stellt sicher, daß unsere Leser
|
||
die für sie relevanten Teile unabhängig vom
|
||
Ausgabemedium (Bildschirm oder Papier) lesen können.
|
||
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
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>A</keycap>
|
||
</keycombo>,
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>End</keycap>
|
||
</keycombo>,
|
||
<keycap>F9</keycap> eingeben, um die
|
||
Seitennummern aktualisieren zu
|
||
lassen.</para>
|
||
</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 role="package">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 role="package">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.ps.bz2</filename> und ist im
|
||
Verzeichnis <filename>handbook/</filename> zu
|
||
finden.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Nachdem Sie das Format und das Kompressionsverfahren
|
||
ausgewählt haben, müssen Sie 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 Dateien liegen in einem separaten Verzeichnis mit dem
|
||
Namen <filename>packages</filename> und werden nach dem Schema
|
||
<filename><replaceable>Dokument-Name</replaceable>.<replaceable>Sprache</replaceable>.<replaceable>Zeichensatz</replaceable>.<replaceable>Format</replaceable>.tgz</filename>
|
||
benannt.</para>
|
||
|
||
<para>Ein Beispiel: Die englische Version der FAQ im
|
||
PDF-Format ist in dem Package mit dem Namen
|
||
<filename>faq.en_US.ISO8859-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.ISO8859-1.pdf.tgz</userinput></screen>
|
||
|
||
<para>Danach können Sie mit &man.pkg.info.1; nachsehen,
|
||
wo die Datei installiert wurde.</para>
|
||
|
||
<screen>&prompt.root; <userinput>pkg_info -f faq.en_US.ISO8859-1.pdf</userinput>
|
||
Information for faq.en_US.ISO8859-1.pdf:
|
||
|
||
Packing list:
|
||
Package name: faq.en_US.ISO8859-1.pdf
|
||
CWD to /usr/share/doc/en_US.ISO8859-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.ISO8859-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
|
||
<quote>split HTML</quote>Version der englischen FAQ
|
||
herunterladen und installieren wollten, bräuchten
|
||
Sie die Datei
|
||
<filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.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.ISO8859-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="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 <ulink
|
||
url="http://www.efnet.org/index.php">EFNet</ulink> 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 <literal>#FreeBSDhelp</literal> im
|
||
<ulink
|
||
url="http://www.efnet.org/index.php">EFNet</ulink> hat
|
||
sich dagegen auf die Unterstützung der Benutzer
|
||
von FreeBSD spezialisiert. In diesem Channel sind
|
||
Fragen deutlich willkommener als im Channel
|
||
<literal>#FreeBSD</literal>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
||
url="http://www.dal.net/">DALNET</ulink> ist in den
|
||
USA unter <hostid>irc.dal.net</hostid> und in Europa
|
||
unter <hostid>irc.eu.dal.net</hostid>
|
||
verfügbar.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
||
url="http://www.undernet.org/">UNDERNET</ulink> ist in
|
||
den USA unter <hostid>us.undernet.org</hostid> und in
|
||
Europa unter <hostid>eu.undernet.org</hostid>
|
||
verfügbar. Es handelt sich hierbei um einen
|
||
Hilfe-Channel, man wird Sie daher auf Dokumente
|
||
verweisen, die Sie selbst lesen müssen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
||
url="http://www.hybnet.net/">HybNet</ulink>. Dieser
|
||
Channel <emphasis>ist</emphasis> ein Hilfe-Channel.
|
||
Eine Liste der möglichen Server finden Sie auf
|
||
der <ulink url="http://www.hybnet.net/">Webseite von
|
||
HybNet</ulink>.</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
|
||
<emphasis>jeden</emphasis> IRC-Verkehr gilt: falls sie
|
||
sich leicht angegriffen fühlen oder nicht mit vielen
|
||
jungen (und einigen älteren) Leuten, verbunden mit
|
||
dem nutzlosen Gezanke umgehen können, dann ziehen Sie
|
||
es gar nicht erst in Erwägung.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="training">
|
||
<para>Gibt es Firmen, die Training und Support für
|
||
FreeBSD anbieten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>DaemonNews bietet Training und Support für
|
||
FreeBSD an. Weitergehende Informationen finden Sie in der
|
||
<ulink url="http://www.bsdmall.com/">BSD
|
||
Mall</ulink>.</para>
|
||
|
||
<para>FreeBSD Services Ltd. bieten kommerzielle Unterstützung
|
||
für FreeBSD in Großbritannien an. Sie verkaufen
|
||
übrigens auch eine FreeBSD-DVD. Weitere Informationen
|
||
erhalten Sie auf der
|
||
<ulink url="http://www.freebsd-services.com">Webseite von
|
||
FreeBSD Services Ltd.</ulink>.</para>
|
||
|
||
<para>Die FreeBSD Mall bietet ebenfalls professionellen
|
||
FreeBSD support an. Weitergehende Informationen finden
|
||
Sie auf ihrer <ulink
|
||
url="http://www.freebsdmall.com/">Webseite</ulink>.</para>
|
||
|
||
<para>Wenn Ihre Firma oder Organisation ebenfalls Training
|
||
und Support anbietet und hier genannt werden möchte,
|
||
wenden Sie sich bitte an das FreeBSD Project.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="install">
|
||
<chapterinfo>
|
||
<author>
|
||
<firstname>Nik</firstname>
|
||
|
||
<surname>Clayton</surname>
|
||
|
||
<affiliation>
|
||
<address><email>nik@FreeBSD.org</email></address>
|
||
</affiliation>
|
||
</author>
|
||
</chapterinfo>
|
||
|
||
<title>Installation</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="floppy-download">
|
||
<para>Welche Dateien 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 im initialen System Unterstützung für
|
||
eine Vielfalt von Hardware hinzugefügt, und
|
||
dafür wird mehr Platz benötigt. Aus diesem
|
||
Grund braucht man ab 3.X zwei Floppy-Images:
|
||
<filename>floppies/kernel.flp</filename> und
|
||
<filename>floppies/mfsroot.flp</filename>. Diese Images
|
||
müssen mit Hilfe von Werkzeugen wie
|
||
<command>fdimage</command> oder &man.dd.1; auf Disketten
|
||
kopiert werden.</para>
|
||
|
||
<para>Falls Sie selbst die einzelnen Distributionen
|
||
herunterladen müssen (um z.B. von einem
|
||
DOS-Dateisystem aus zu installieren), empfehlen wir, sich
|
||
die folgenden Distributionen zu besorgen:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>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>Was soll ich tun, wenn das Floppy-Image nicht auf eine
|
||
Diskette paßt?</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 <link linkend="hardware">Abschnitt
|
||
Hardwarekompatibilität</link>.</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. Seit FreeBSD
|
||
2.2 benötigen Sie mindestens 5MB zur Installation auf
|
||
einem neuen System.</para>
|
||
|
||
<para>Alle FreeBSD-Versionen <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 in ein System, das mehr als 4MB besitzt, einbauen,
|
||
dort installieren und sie dann wieder umbauen.</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>Wenn Sie eine modifizierte Ausgabe erstellen wollen,
|
||
finden Sie eine Anleitung im Artikel <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/article.html">
|
||
FreeBSD Release Engineering</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="multiboot">
|
||
<para>Kann ich mehr als ein Betriebssystem auf meinem PC
|
||
unterbringen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sehen Sie sich <ulink
|
||
url="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>und der Bootmanager wird neu installiert.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Booten Sie FreeBSD wieder mit der Bootdiskette und
|
||
wählen Sie den Menüeintrag 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 Installationsmenü und rebooten wie
|
||
gewöhnlich von der Festplatte.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Booten Sie FreeBSD wieder mit der Bootdiskette
|
||
(oder der CDROM) 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>Mein IBM Thinkpad Modell A, T oder X, hängt sich
|
||
auf, wenn ich FreeBSD zum ersten Mal starte. Was soll ich
|
||
machen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ein Fehler in den ersten BIOS-Versionen dieser
|
||
Geräte führt dazu, 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>Laut IBM
|
||
<footnote>
|
||
<para>In einer Mail von Keith Frechette
|
||
<email>kfrechet@us.ibm.com</email>.</para>
|
||
</footnote>
|
||
wurde der Fehler wurde in den folgenden BIOS-Versionen
|
||
behoben:</para>
|
||
|
||
<informaltable frame="none">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Gerät</entry>
|
||
|
||
<entry>BIOS Version</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>T20</entry>
|
||
|
||
<entry>IYET49WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>T21</entry>
|
||
|
||
<entry>KZET22WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A20p</entry>
|
||
|
||
<entry>IVET62WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A20m</entry>
|
||
|
||
<entry>IWET54WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A21p</entry>
|
||
|
||
<entry>KYET27WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A21m</entry>
|
||
|
||
<entry>KXET24WW oder neuer</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A21e</entry>
|
||
|
||
<entry>KUET30WW</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Es ist möglich, daß neuere Version des IBM
|
||
BIOS den Fehler wieder enthalten. <ulink
|
||
url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=200565+208320+/usr/local/www/db/text/2001/freebsd-mobile/20010429.freebsd-mobile">Dieser
|
||
Beitrag</ulink> von Jacques Vidrine auf der Mailingliste &a.mobile;
|
||
beschreibt eine Technik,
|
||
die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop
|
||
mit FreeBSD nicht bootet und Sie eine neuere oder
|
||
ältere BIOS-Version einspielen können.</para>
|
||
|
||
<para>Wenn Ihr Thinkpad über eine ältere
|
||
BIOS-Version verfügt und Sie das BIOS nicht
|
||
aktualisieren können, ist eine der möglichen
|
||
Lösungen, 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/"></ulink>.
|
||
Legen Sie diese Dateien so ab, daß Sie
|
||
während der Installation darauf zugreifen
|
||
können.</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 action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F4</keycap>
|
||
</keycombo>)
|
||
oder starten Sie eine <quote>fixit</quote>
|
||
Shell.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Benutzen Sie &man.fdisk.8;, um die Partitions-ID
|
||
von 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="bad144-3x-4x">
|
||
<para>Ich habe mein System gerade von 3.X auf 4.X
|
||
aktualisiert und beim ersten Start erscheint die Meldung
|
||
<errorname>bad sector table not
|
||
supported</errorname></para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Bis einschließlich FreeBSD 3.X wurde
|
||
<command>bad144</command> unterstützt, mit dem man
|
||
automatisch defekte Blöcke verlagern lassen konnte.
|
||
Dieses Programm ist in FreeBSD 4.X nicht mehr enthalten,
|
||
weil diese Tätigkeit von allen modernen IDE-Platten
|
||
automatisch vorgenommen wird. Weitere Informationen zum
|
||
Thema <command>bad144</command> finden Sie bei <link
|
||
linkend="install-bad-blocks">in diesem
|
||
Abschnitt</link>.</para>
|
||
|
||
<para>Um dieses Problem zu lösen, müssen Sie ihre
|
||
Festplatte in ein funktionierendes System einbauen und
|
||
&man.disklabel.8; benutzen. Nähere Informationen
|
||
finden Sie weiter unten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="find-bad144">
|
||
<para>Wie kann ich herausfinden, ob auf einer Festplatte
|
||
<command>bad144</command> benutzt wurde, bevor mein Update
|
||
auf FreeBSD 4.0 fehlschlägt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Mit &man.disklabel.8;. <command>disklabel -r
|
||
<replaceable>Laufwerk</replaceable></command> zeigt Ihnen
|
||
das disk label an. Achten Sie auf das Feld
|
||
<literal>flags</literal>. Wenn hier <literal>flags:
|
||
badsect</literal> steht, wurde auf dieser Festplatte
|
||
<command>bad144</command> benutzt. Hier ein Beispiel
|
||
für eine solche Festplatte:</para>
|
||
|
||
<screen>&prompt.root; <userinput>disklabel -r wd0</userinput>
|
||
# /dev/rwd0c:
|
||
type: ESDI
|
||
disk: wd0s1
|
||
label:
|
||
flags: badsect
|
||
bytes/sector: 512
|
||
sectors/track: 63</screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="disable-bad144">
|
||
<para>Wie kann ich die Daten von <command>bad144</command>
|
||
von meinen System entfernen, damit ich problemlos auf 4.X
|
||
updaten kann?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Benutzen Sie <command>disklabel -e -rwd0</command>, um
|
||
das Disk label direkt auf der Platte zu bearbeiten. Sie
|
||
müssen lediglich das Wort <literal>badsect</literal>
|
||
aus dem Feld <literal>flags</literal> entfernen,
|
||
abspeichern, und den Editor verlassen. Die Daten von
|
||
bad144 werden zwar weiterhin Platz auf Ihrer Festplatte
|
||
belegen, Sie können die Festplatte aber trotzdem
|
||
benutzen.</para>
|
||
|
||
<para>Wir raten Ihnen allerdings dringend, sich eine neue
|
||
Festplatte zuzulegen, wenn Sie eine große Anzahl
|
||
defekter Blöcke auf Ihrer Festplatte finden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="boot-floppy-strangeness">
|
||
<para>Wenn ich von der Installationsdiskette boote,
|
||
geschehen merkwürdige Dinge! Was sollte ich
|
||
tun?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls Sie beobachten, 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
|
||
<command>fdimage</command> bzw.
|
||
<command>rawrite</command> 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 CDROM
|
||
gebootet, aber das Installationsprogramm sagt mir,
|
||
daß es kein CDROM gefunden hat. Was geht hier
|
||
ab?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieses Problem wird üblicherweise durch ein
|
||
falsch konfiguriertes CDROM verursacht. Bei vielen PCs
|
||
ist das CDROM 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 CDROM booten soll. Daher konnten Sie zwar vom
|
||
CDROM booten, während FreeBSD es nicht für die
|
||
Installation benutzen kann.</para>
|
||
|
||
<para>Um dieses Problem zu lösen, müssen Sie
|
||
entweder das CDROM als Master an den IDE-Controller
|
||
anschließen oder dafür sorgen, daß an dem
|
||
vom CDROM genutzten IDE-Controller das CD-ROM als Slave
|
||
und ein anderes Gerät als Master angeschlossen
|
||
ist.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="install-PLIP">
|
||
<para>Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
|
||
installieren?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja, Sie brauchen dazu nur ein ganz normales
|
||
Laplink-Kabel. Weitere Informationen zum Thema Netzwerke
|
||
am Druckerport finden sie im Kapitel <ulink
|
||
url="../handbook/plip.html">PLIP</ulink> des
|
||
Handbuchs.</para>
|
||
|
||
<para>Lesen Sie FreeBSD 3.X oder eine ältere Version
|
||
benutzen, sollten Sie einen Blick auf die Webseite <ulink
|
||
url="http://www.FreeBSD.org/docs.html#PAO">Mobile-Computing</ulink>
|
||
werfen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="geometry">
|
||
<para>Welche Geometrie sollte ich für ein
|
||
Festplattenlaufwerk verwenden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<note>
|
||
<para>Unter der <quote>Geometrie</quote> einer Festplatte
|
||
verstehen wir die Anzahl Zylinder,
|
||
Schreib-/Leseköpfen und Sektoren/Spur auf einer
|
||
Festplatte. Im folgenden wird dafür der
|
||
Übersichtlichkeit halber der Begriff C/H/S
|
||
verwendet. Das BIOS des PCs berechnet mit diesen
|
||
Angaben, auf welche Bereiche der Festplatte es für
|
||
Schreib-/Lesezugriffe zugreifen muß).</para>
|
||
</note>
|
||
|
||
<para>Aus einigen Gründen scheint dies gerade bei
|
||
frischgebackenen Systemadministratoren für sehr viel
|
||
Verwirrung zu sorgen. Zunächst einmal ist die
|
||
<emphasis>physikalische</emphasis> Geometrie eines
|
||
SCSI-Laufwerks vollkommen irrelevant, da 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 (<emphasis>nicht</emphasis> 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. Das BIOS sollte dann in der
|
||
Lage sein, die richtige Geometrie zu erkennen. Sie
|
||
können die Partition jederzeit im Partitioneditor
|
||
entfernen, falls Sie sie nicht behalten möchten.
|
||
Allerdings kann Sie ganz nützlich sein, um
|
||
Netzwerkkarten zu programmieren und
|
||
ähnliches.</para>
|
||
|
||
<para>Alternativ können Sie das frei verfügbare
|
||
Programm <filename>pfdisk.exe</filename> verwenden. Sie
|
||
finden es im Unterverzeichnis <filename>tools</filename>
|
||
auf der FreeBSD-CDROM und allen FreeBSD FTP-Servern). Mit
|
||
diesem Programm können Sie herausfinden, welche
|
||
Geometrie die anderen Betriebssysteme auf der Festplatte
|
||
verwenden. Diese Geometrie können Sie im
|
||
Partitioneditor eingeben.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="disk-divide-restrictions">
|
||
<para>Gibt es irgendwelche Einschränkungen, wie ich die
|
||
Festplatte aufteilen darf?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Sie müssen sicherstellen, daß Ihre
|
||
Rootpartition innerhalb der ersten 1024 Zylinder liegt, 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>Verträgt sich FreeBSD mit Plattenmanagern?</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 benutzen 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 <errorname>Missing
|
||
Operating System</errorname>. Was ist passiert?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies ist ein klassischer Fall von Konflikten bei den
|
||
verwendeten <link
|
||
linkend="geometry">Plattengeometrien</link> von 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>Wieso komme ich nicht weiter als bis zum
|
||
<literal>F?</literal>-Prompt des Bootmanagers?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies ist ein weiteres Symptom für das bereits in
|
||
der vorherigen Frage beschriebene Problem. Ihre
|
||
Einstellungen zur Geometrie im BIOS und in 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 Menüpunkt Custom, wenn Sie sich im Menü
|
||
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 Konfigurationsmenü zu gelangen. Dieses
|
||
Programm ermöglicht Ihnen die Konfiguration der
|
||
Kerneleinstellungen für die gebräuchlichsten
|
||
ISA-Karten.</para>
|
||
|
||
<para>Es wird weiterhin empfohlen, früher oder
|
||
später 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, Blowfisch 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. Die crypto
|
||
Bibliotheken erlauben es Ihnen das sichere Blowfisch Verfahren
|
||
für die Verschlüsselung der Paßwörter
|
||
einzusetzen. 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>,
|
||
<quote>blf</quote> (falls sie zur Verfügung stehen)
|
||
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>Woran kann es liegen, daß ich zwar von der
|
||
Diskette booten kann, aber nicht weiter als bis zur
|
||
Meldung <literal>Probing Devices...</literal>
|
||
komme?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls Sie ein IDE-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>Wieso wird mit der Fehler <errorname>panic: cant mount
|
||
root</errorname> gemeldet, wenn ich das System nach der
|
||
Installation reboote?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieser Fehler beruht auf Unstimmigkeiten zwischen den
|
||
Festplatteninformationen im Bootblock und denen im Kernel.
|
||
Der Fehler tritt normalerweise auf IDE-Systemen mit zwei
|
||
Festplatten auf, bei denen die Festplatten als Master-
|
||
oder Single-Device auf separaten IDE-Controllern
|
||
angeschlossen sind und 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
|
||
<keycap>Enter</keycap> 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 <keycap>Enter</keycap>-Taste. Wenn
|
||
das System nun startet, führen Sie den Befehl
|
||
<command>echo "1:wd(2,a)kernel" > /boot.config</command>
|
||
aus, um diese Bootreihenfolge 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. 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>>4T</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>8K</entry>
|
||
|
||
<entry>>32G</entry>
|
||
|
||
<entry>8T-1</entry>
|
||
|
||
<entry>>32G</entry>
|
||
|
||
<entry>32T-1</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>16K</entry>
|
||
|
||
<entry>>128G</entry>
|
||
|
||
<entry>16T-1</entry>
|
||
|
||
<entry>>128+G</entry>
|
||
|
||
<entry>32T-1</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>32K</entry>
|
||
|
||
<entry>>512G</entry>
|
||
|
||
<entry>32T-1</entry>
|
||
|
||
<entry>>512G</entry>
|
||
|
||
<entry>64T-1</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>64K</entry>
|
||
|
||
<entry>>2048G</entry>
|
||
|
||
<entry>64T-1</entry>
|
||
|
||
<entry>>2048G</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="archsw-readin-failed-error">
|
||
<para>Wieso erhalte ich die Fehlermeldung
|
||
<errorname>archsw.readin.failed</errorname> beim Start des
|
||
Systems, nachdem ich habe einen neuen Kernel erstellt
|
||
habe?</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/"></ulink>
|
||
verfügbar.</para>
|
||
|
||
<para>Wegen der vielen Unterschiede zwischen 3.X und
|
||
4-STABLE wird ein in einem Schritt durchgeführtes
|
||
Update höchstwahrscheinlich fehlschlagen, wenn Sie
|
||
die Sourcen verwenden. Dieses Update muß in
|
||
mehreren Schritten durchgeführt werden. Der erste
|
||
Schritt ist ein Update auf das aktuelle 3-STABLE
|
||
(<literal>RELENG_3</literal>). Der zweite Schritt ist ein
|
||
Update auf 4.1.1-RELEASE
|
||
(<literal>RELENG_4_1_1_RELEASE</literal>), bevor Sie dann
|
||
im dritten Schritt zu 4-STABLE
|
||
(<literal>RELENG_4</literal>) kommen.</para>
|
||
|
||
<para>Wenn Sie den Quellcode für das Update benutzen
|
||
wollen, finden Sie im <ulink
|
||
url="../handbook/cutting-edge.html">FreeBSD
|
||
Handbuch</ulink> weitere Informationen.</para>
|
||
|
||
<caution>
|
||
<para>Wenn Sie FreeBSD erst seit kurzer Zeit benutzen,
|
||
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!</para>
|
||
</caution>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="security-profiles">
|
||
<para>Was sind die <quote>Sicherheits-Profile</quote>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>In einem <quote>Sicherheits-Profil</quote> werden
|
||
verschiedene Einstellungen zusammengefaßt, mit denen
|
||
das gewünschte Verhältnis zwischen Sicherheit und
|
||
Benutzerfreundlichkeit hergestellt werden soll. Um dies
|
||
zu erreichen, werden bestimmte Dienste und Features
|
||
entweder aktiviert oder deaktiviert. Die Details sind im
|
||
Abschnitt <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/install-post.html#SECURITYPROFILE">Security Profile</ulink>
|
||
des Handbuch-Kapitels <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/install-post.html">
|
||
Post-Installation</ulink> enthalten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="hardware">
|
||
<title>Hardware-Kompatibilität</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="architectures">
|
||
<para>Unterstützt FreeBSD andere Architekturen
|
||
außer x86?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. FreeBSD ist zur Zeit für die Intel x86 und
|
||
DEC (jetzt Compaq) Alpha Architekturen verfügbar.
|
||
Seit FreeBSD 5.0 wird auch die SPARC-64 Architektur
|
||
unterstützt. Die Neuzugänge auf der
|
||
Liste der in Zukunft unterstützten Plattformen sind
|
||
IA-64, MIPS und PowerPC. Abonnieren Sie die Mailinglisten
|
||
&a.ia64;, &a.ppc; oder &a.mips; wenn Sie mehr über
|
||
den Stand der Entwicklung erfahren wollen. Schließen
|
||
Sie sich der Mailingliste &a.platforms; an, wenn Sie an
|
||
grundsätzlichen Diskussionen über neue Architekturen
|
||
interessiert sind.</para>
|
||
|
||
<para>Falls Ihre Maschine eine andere Architektur aufweist
|
||
und Sie unbedingt sofort etwas benötigen, schlagen
|
||
wir vor, 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="which-hardware-to-get">
|
||
<para>Ich will mir neue Hardware für mein
|
||
FreeBSD-System zulegen, was soll ich kaufen? </para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Diese Frage wird ständig auf den
|
||
FreeBSD-Mailinglisten diskutiert. Da sich die Hardware
|
||
ständig ändert, ist das allerdings keine
|
||
Überraschung. <emphasis>Trotzdem</emphasis> sollten
|
||
Sie unbedingt die Hardware-Informationen von &os;
|
||
(<ulink URL="&rel.current.hardware;">&rel.current;</ulink>
|
||
oder
|
||
<ulink URL="&rel2.current.hardware;">&rel2.current;</ulink>)
|
||
und die <ulink
|
||
URL="http://www.FreeBSD.org/search/#mailinglists">
|
||
Archive</ulink> der Mailinglisten durchsehen, bevor Sie
|
||
nach der neuesten/besten Hardware fragen. Normalerweise
|
||
gab es kurz zuvor eine Diskussion über genau die
|
||
Hardware, die Sie sich zulegen wollen.</para>
|
||
|
||
<para>Wenn Sie sich einen Laptop zulegen wollen, sollten Sie
|
||
einen Blick in das Archiv der Mailingliste FreeBSD-mobile
|
||
werfen. Ansonsten empfiehlt sich ein Blick in das Archiv
|
||
von FreeBSD-questions oder auch einer spezialisierte
|
||
Mailingliste für diese Art von Hardware.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<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 und aktuelle Liste
|
||
in den Hardware-Informationen zu &os;
|
||
(<ulink URL="&rel.current.hardware;">&rel.current;</ulink> oder
|
||
<ulink URL="&rel2.current.hardware;">&rel2.current;</ulink>).</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="supported-cdrom-drives">
|
||
<para>Welche CDROM-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 CDROM-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 CDROM</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Matsushita/Panasonic CDROM</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>ATAPI compatible IDE CDROMs</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>FreeBSD kann direkt von der offiziellen &os; CD-ROM,
|
||
sowie den CD-ROMs von Daemon News und &os; Mall,
|
||
gebootet werden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="supported-cdrw-drives">
|
||
<para>Welche CD-Brenner werden von FreeBSD
|
||
unterstützt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FreeBSD unterstützt alle ATAPI-kompatiblen IDE
|
||
CD-R und CD-RW Brenner. Wenn Sie FreeBSD ab Version 4.0
|
||
benutzen, werfen Sie einen Blick in die Onlinehilfe zu
|
||
&man.burncd.8;. Wenn Sie eine ältere Version von
|
||
FreeBSD benutzen, sollten Sie sich die Beispiele in
|
||
<filename>/usr/share/examples/atapi</filename>
|
||
ansehen.</para>
|
||
|
||
<para>FreeBSD unterstützt ebenfalls SCSI CD-R und CD-RW
|
||
Brenner. Installieren und benutzen Sie das Paket
|
||
<command>cdrecord</command> aus der Ports-Sammlung. Dazu
|
||
müssen Sie allerdings das Gerät
|
||
<devicename>pass</devicename> mit in Ihren Kernel
|
||
aufnehmen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="zip-support">
|
||
<para>Unterstützt FreeBSD ZIP-Laufwerke?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FreeBSD unterstützt natürlich alle
|
||
gängigen SCSI- und ATAPI-ZIP-Laufwerke.
|
||
Ihr SCSI-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. Es ist nicht bekannt,
|
||
welche Hostadapter das Booten von anderen Zielen als 0
|
||
oder 1 erlauben; daher werden Sie in ihren
|
||
Handbüchern nachsehen müssen, wenn Sie dieses
|
||
Merkmal benutzen möchten.</para>
|
||
|
||
<para>FreeBSD unterstützt ZIP-Laufwerke, die an der
|
||
parallelen Schnittstelle angeschlossen sind. Der Kernel
|
||
sollte die folgenden Treiber enthalten:
|
||
<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 <devicename>/dev/da0s4</devicename>
|
||
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">den FAQ-Eintrag zu
|
||
Wechseldatenträgern</link> und <link
|
||
linkend="disklabel">die Anmerkungen zum Thema
|
||
<quote>Formatierung</quote></link> im Kapitel
|
||
Administration.</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.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>Ab FreeBSD 4.X werden USB-Tastaturen
|
||
unterstützt. Die Unterstützung für
|
||
USB-Geräte ist seit FreeBSD 3.1 Bestandteil des
|
||
Systems. Allerdings war die Unterstützung selbst
|
||
in FreeBSD 3.2 noch nicht ganz ausgereift. Wenn
|
||
Sie USB-Tastaturen mit FreeBSD 3.X ausprobieren
|
||
möchten, folgen Sie der nachstehenden Anleitung.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Benutzen Sie eine spätere 3.X Version
|
||
als FreeBSD 3.2.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Tragen Sie die folgenden Zeilen in die
|
||
Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
|
||
einen neuen Kernel.</para>
|
||
|
||
<programlisting>
|
||
controller uhci0
|
||
controller ohci0
|
||
controller usb0
|
||
controller ukbd0
|
||
options KBD_INSTALL_CDEV
|
||
</programlisting>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Tragen Sie in der
|
||
<filename>/etc/rc.conf</filename> die folgenden Zeilen
|
||
ein:</para>
|
||
|
||
<programlisting>
|
||
usbd_enable="YES"
|
||
usbd_flags=""
|
||
</programlisting>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Ab FreeBSD 4.X wird die USB-Unterstützung
|
||
in <filename>/etc/rc.conf</filename> aktiviert.</para>
|
||
|
||
<para>Wenn Sie die Unterstützung für USB-Tastaturen
|
||
konfiguriert haben, ist die AT-Tastatur
|
||
als <devicename>/dev/kbd0</devicename> und die USB-Tastatur
|
||
als <devicename>/dev/kbd1</devicename> verfügbar. Dies
|
||
gilt natürlich nur, wenn beide Tastaturen
|
||
angeschlossen sind; falls nur die USB-Tastatur
|
||
angeschlossen ist, ist diese als
|
||
<devicename>/dev/ukbd0</devicename> verfügbar.</para>
|
||
|
||
<para>Wenn Sie die USB-Tastatur an der Systemkonsole
|
||
benutzen wollen, müssen Sie dies dem System explizit
|
||
mitteilen. Dazu 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 <devicename>/dev/kbd0</devicename> 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>PS/2 Mäuse laufen mit allen neueren
|
||
FreeBSD Versionen. Der notwendige Gerätetreiber,
|
||
<devicename>psm</devicename>, ist im
|
||
<filename>GENERIC</filename>-Kernel enthalten.</para>
|
||
|
||
<para>Wenn Sie einen angepassten Kernel ohne diesen Treiber
|
||
benutzen, müssen Sie folgende Zeile in Ihre
|
||
Kernelkonfigurationsdatei einfügen und den Kernel neu
|
||
kompilieren.</para>
|
||
|
||
<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 der Kernel das Gerät
|
||
<devicename>psm0</devicename> beim Booten korrekt erkennt,
|
||
stellen Sie sicher, daß sich im Verzeichnis
|
||
<filename>/dev</filename> 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>
|
||
|
||
<note>
|
||
<para>Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
|
||
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
|
||
verwenden. Die Gerätedateien werden in diesem Fall
|
||
automatisch in <filename>/dev</filename> erstellt.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="moused">
|
||
<para>Kann man die Maus irgendwie außerhalb des X
|
||
Window Systems benutzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls Sie den normalen Konsoltreiber &man.syscons.4; benutzen,
|
||
können Sie den Mauszeiger auf Textkonsolen zum
|
||
Kopieren und Einfügen von Text verwenden. Starten
|
||
Sie den Mausdämon &man.moused.8; und schalten Sie den
|
||
Mauszeiger auf der virtuellen Konsole ein:</para>
|
||
|
||
<screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput>
|
||
&prompt.root; <userinput>vidcontrol -m on</userinput></screen>
|
||
|
||
<para><replaceable>xxxx</replaceable> ist der
|
||
Gerätename der Maus und
|
||
<replaceable>yyyy</replaceable> ist das Protokoll.
|
||
Der Mausdämon erkennt die Protokolle der meisten
|
||
Mäuse (mit Ausnahme alter serieller Mäuse)
|
||
automatisch, wenn Sie <literal>auto</literal> für
|
||
das Protokoll angeben. Falls das Protokoll nicht
|
||
automatisch erkannt wird, finden Sie die
|
||
unterstützten Protokolle in der
|
||
&man.moused.8; Manualpage.</para>
|
||
|
||
<para>Wenn Sie eine PS/2-Maus besitzen und diese beim
|
||
Systemstart aktivieren wollen, tragen Sie die Zeile
|
||
<literal>moused_enable="YES"</literal> in die Datei
|
||
<filename>/etc/rc.conf</filename> ein. Falls Sie den
|
||
Mausdämon auf allen virtuellen Bildschirmen anstatt
|
||
nur auf der Konsole benutzen wollen, tragen Sie außerdem
|
||
<literal>allscreens_flags="-m on"</literal> in
|
||
<filename>/etc/rc.conf</filename> ein.</para>
|
||
|
||
<para>Während der Mausdämon läuft, muß
|
||
der Zugriff auf die Maus zwischen dem Mausdämon und
|
||
anderen Programmen, wie X Windows, koordiniert werden.
|
||
Die FAQ <link linkend="x-and-moused">Warum funktioniert meine
|
||
meine Maus unter X nicht?</link> enthält weitere
|
||
Details.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="text-mode-cut-paste">
|
||
<para>Wie funktioniert das Kopieren und Einfügen von
|
||
Text mit der Maus auf einer Textkonsole?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn Sie es geschafft haben, den Mausdämon zu
|
||
starten (wie im <link linkend="moused">vorherigen
|
||
Abschnitt</link> gezeigt), halten Sie die linke Maustaste
|
||
gedrückt und bewegen Sie die Maus, um einen
|
||
Textabschnitt zu markieren. Dann drücken Sie die
|
||
mittlere Maustaste, um den Text an der
|
||
Cursorposition einzufügen.</para>
|
||
|
||
<para>Wenn Sie keine 3-Tasten-Maus besitzen, können
|
||
Sie die mittlere Maustaste mit einer Tastenkombination
|
||
emulieren oder die Funktion der mittleren Taste auf
|
||
eine andere Taste legen. Einzelheiten dazu enthält
|
||
die Hilfeseite &man.moused.8;.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="usbmouse">
|
||
<para>Wird meine USB-Maus von FreeBSD
|
||
unterstützt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Experimentelle Treiber für USB-Geräte sind
|
||
seit FreeBSD 3.1 Bestandteil des Systems. Die
|
||
Unterstützung in FreeBSD 3.X war allerdings nicht
|
||
ganz ausgereift. Seit FreeBSD 4.0 sollten
|
||
USB-Geräten auf Anhieb funktionieren. Wenn Sie die
|
||
Treiber für USB-Mäuse in FreeBSD 3.X selbst
|
||
testen möchten, sollten Sie den unten
|
||
aufgeführten Anweisungen folgen:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Benutzen Sie FreeBSD 3.2 oder eine neuere
|
||
Version.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
|
||
<note>
|
||
<para>Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
|
||
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
|
||
verwenden. Die Gerätedateien werden in diesem Fall
|
||
automatisch in <filename>/dev</filename> erstellt.</para>
|
||
</note>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
</procedure>
|
||
|
||
<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 benutzen können,
|
||
können Sie im <link linkend="x-and-wheel">passenden
|
||
Abschnitt</link> der FAQ erfahren.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="laptop-mouse-trackball">
|
||
<para>Wie benutze ich Maus/Trackball/Touchpad auf meinem
|
||
Laptop?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Bitte lesen Sie <link linkend="ps2mouse">die Antwort
|
||
zur vorherigen Frage</link> und sehen Sie sich die
|
||
Webseite über <ulink
|
||
url="http://www.FreeBSD.org/docs.html#PAO">Mobile
|
||
Computing</ulink> 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>Das Gerät &man.ch.4; und das Kommando
|
||
<command>chio</command> unterstützen Bandwechsler.
|
||
Details zum Betrieb des Wechslers finden Sie in der
|
||
Hilfeseite &man.chio.1;.</para>
|
||
|
||
<para>Falls Sie nicht <application>AMANDA</application> oder
|
||
ein anderes Produkt benutzen, das den Wechsler bereits
|
||
kennt, bedenken Sie, 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>
|
||
|
||
<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>
|
||
</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>In den Hardware Informationen zu jedem FreeBSD Release
|
||
werden die unterstützten Karten aufgezählt.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="no-math-coprocessor">
|
||
<para>Ich habe keinen mathematischen Co-Prozessor - ist das
|
||
schlimm?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<note>
|
||
<para>Dies betrifft nur Besitzer von 386/486SX/486SLC -
|
||
andere Maschinen haben in ihrer CPU einen
|
||
integriert.</para>
|
||
</note>
|
||
|
||
<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>
|
||
|
||
<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>
|
||
</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
|
||
<acronym>APM</acronym>. Suchen Sie bitte in der
|
||
Kernelkonfigurationsdatei <filename>LINT</filename> nach
|
||
dem Wort <acronym>APM</acronym>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="micron-hang-boot">
|
||
<para>Wieso hängt sich mein Micron-System 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">#micron</ulink>
|
||
gefunden werden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="internal-plugnplay-modem">
|
||
<para>Wieso erkennt FreeBSD mein internes Plug &
|
||
Play-Modem nicht?</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
|
||
<literal>siopnp_ids[]</literal>, 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="support-winmodem">
|
||
<para>Unterstützt FreeBSD Software Modems, wie die
|
||
Winmodems?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FreeBSD unterstützt viele Software-Modems, wenn
|
||
Sie zusätzliche Software installieren. Der Port
|
||
<filename role="package">comms/ltmdm</filename> bietet
|
||
Unterstützung für Modems, die auf dem oft
|
||
verwendeten Lucent LT Chipsatz basieren. Der Port
|
||
<filename role="package">comms/mwavem</filename>
|
||
bietet Unterstützung für die Modems im IBM
|
||
Thinkpad 600 und 700.</para>
|
||
|
||
<para>Sie können FreeBSD nicht über ein
|
||
Software-Modem installieren, diese Software kann nur
|
||
installiert werden, nachdem das Betriebssystem installiert
|
||
wurde.</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"></ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="smp-support">
|
||
<para>Unterstützt FreeBSD Symmetric-Multiproccessing
|
||
(SMP)?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja, allerdings nicht im
|
||
<filename>GENERIC</filename>-Kernel. Sie müssen
|
||
einen neuen Kernel mit SMP-Unterstützung bauen.
|
||
Die dazu nötigen Optionen entnehmen Sie bitte
|
||
der Datei <filename>/sys/i386/conf/LINT</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="asusk7v-boot-failure">
|
||
<para>Wenn ich ein System mit einem ASUS K7V Mainboard von
|
||
der Bootdiskette starte, hängt sich das System auf.
|
||
Wie kann ich dieses Problem lösen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Schalten Sie im BIOS die Option <quote>boot virus
|
||
protection</quote> aus.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="troubleshoot">
|
||
<title>Fehlerbehebung</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="awre">
|
||
<para>Was sollte ich tun, wenn auf meiner Festplatte
|
||
fehlerhafte Blöcke sind?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>SCSI-Laufwerke sollten in der Lage sein, diese
|
||
automatisch zu verlagern. Bei einigen Laufwerken ist
|
||
diese Eigenschaft jedoch aus unerfindlichen Gründen
|
||
bei der Auslieferung ausgeschaltet...</para>
|
||
|
||
<para>Um sie einzuschalten, müssen Sie den Page-Mode
|
||
des ersten Gerätes editieren. Unter 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 Ted Mittelstaedt
|
||
<email>tedm@toybox.placo.com</email> 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-Menü 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 <quote>dangerously dedicated</quote>
|
||
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-Menü 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ächlichen Installation wird bad144 gestartet, bevor
|
||
irgendwelche Dateisysteme erstellt werden (Sie können
|
||
das mit <keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F2</keycap>
|
||
</keycombo> 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>Wieso erkennt FreeBSD 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 ältere
|
||
Firmwarerevision besitzen, wird Ihre Karte nicht als
|
||
Buslogic-Karte erkannt. Sie könnte jedoch als
|
||
Adaptec 1540 erkannt werden. Die frühe 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>Wieso wird der SCSI-Controller meines HP Netserver nicht
|
||
erkannt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Hierbei handelt es sich um ein bekanntes Problem. Der
|
||
auf dem Board befindliche EISA-SCSI-Controller auf dem HP
|
||
Netserver belegt die EISA-Slotnummer 11, wodurch sich alle
|
||
<quote>wirklichen</quote> EISA-Slots vor ihm befinden.
|
||
Leider kollidiert der 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>
|
||
|
||
<note>
|
||
<para>Sie können keine <literal>dangerously
|
||
dedicated</literal> Platte auf einem HP Netserver
|
||
verwenden. Lesen Sie weitere Informationen finden Sie
|
||
in <link linkend="dedicate">diesem
|
||
Hinweis</link>.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ed1-timeout">
|
||
<para>Was bedeuten die ständigen Meldungen <literal>ed1:
|
||
timeout</literal>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies wird meistens durch einen Interruptkonflikt
|
||
verursacht (z.B., wenn zwei Karten den selben Interrupt
|
||
benutzen). 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="bad-3c509">
|
||
<para>Warum funktioniert meine 3COM 3C509 plötzlich
|
||
nicht mehr?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Diese Karte ist dafür berüchtigt, ihre
|
||
Konfiguration zu vergessen. Sie müssen die Karte mit
|
||
dem DOS-Programm <command>3c5x9.exe</command> neu
|
||
konfigurieren.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="printer-slow">
|
||
<para>Mein an der parallel Schnittstelle angeschlossener
|
||
Drucker ist unglaublich langsam. Was kann ich
|
||
tun?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls das einzige Problem ist, daß er
|
||
schrecklich langsam ist, dann sollte Sie versuchen, den
|
||
<ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">Setting
|
||
the Communication Mode for the Parallel Port</ulink> zu ändern, wie es im
|
||
Kapitel <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/printing-intro-setup.html">Printing</ulink>
|
||
des Handbuchs beschrieben ist.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="signal11">
|
||
<para>Wieso brechen meine Programme gelegentlich mit
|
||
<errorname>Signal 11</errorname>-Fehlern ab?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das Signal 11 wird generiert, wenn ein 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
|
||
Anwendung auftritt, die Sie selbst entwickeln, dann
|
||
ist es wahrscheinlich ein Fehler in Ihren
|
||
Sourcen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Wenn das Problem in einem Teil von FreeBSD
|
||
auftritt, könnte es natürlich auch ein
|
||
Fehler sein; aber in den meisten
|
||
Fällen werden diese Probleme gefunden und behoben,
|
||
bevor die typischen Leser der FAQ (wir) diese Teile
|
||
der Sourcen benutzen können (dafür gibt es
|
||
schließlich -CURRENT).</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<para>Wenn der Fehler auftritt, wenn Sie ein Programm
|
||
compilieren aber dabei immer wieder an anderer Stelle
|
||
auftritt, dann ist das ein ganz eindeutiger Hinweis,
|
||
daß das Problem <emphasis>nicht</emphasis> bei
|
||
FreeBSD liegt.</para>
|
||
|
||
<para>Nehmen wir zum Beispiel an, daß Sie <quote>make
|
||
buildworld</quote> ausführen und die Compilierung von
|
||
<filename>ls.c</filename> in <filename>ls.o</filename>
|
||
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 <quote>RAM Speed: Turbo</quote> oder
|
||
ähnliches zu merkwürdigen Problemen kommen.
|
||
Ein möglicher Ansatz ist, die BIOS defaults zu
|
||
laden, allerdings könnte es sinnvoll sein, die
|
||
aktuellen Einstellungen vorher zu notieren.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Schlechte oder fehlerhafte Stromversorgung des
|
||
Mainboards: Wenn Sie unbenutzte Steckkarten, Platten
|
||
oder CDROMs 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="trap-12-panic">
|
||
<para>Mein System stürzt mit der Meldung
|
||
<errorname>Fatal trap 12: page fault in kernel
|
||
mode</errorname> oder <errorname>panic:</errorname> ab und
|
||
gibt eine Menge zusätzlicher Informationen aus. Was
|
||
kann ich tun?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Entwickler von FreeBSD interessieren sich für
|
||
solchen Meldungen, allerdings brauchen Sie deutlich mehr
|
||
Informationen als die, die Ihnen angezeigt werden.
|
||
Kopieren Sie die komplette Meldungen und lesen Sie nun den
|
||
FAQ-Eintrag über <link linkend=
|
||
"KERNEL-PANIC-TROUBLESHOOTING">kernel panics</link>.
|
||
Erzeugen sie einen Kernel mit den zusätzlichen Daten
|
||
zur Fehlersuche, und dann einen backtrace. Das hört
|
||
sich komplizierter an, als es ist. Sie brauchen keine
|
||
Programmier-Erfahrung, Sie müssen einfach nur den
|
||
Anweisungen folgen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="screen-loses-sync">
|
||
<para>Wieso wird beim Booten der Bildschirm schwarz und reagiert
|
||
nicht mehr?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies ist ein bekanntes Problem mit der ATI 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 &man.sio.4;-Treiber 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>Wieso verwendet FreeBSD nur 64 MB Hauptspeicher,
|
||
obwohl in meinem Rechner 128 MB sind?</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öße 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>Wieso stürzt FreeBSD 2.0 mit der Meldung
|
||
<errorname>kmem_map too small!</errorname> ab?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<note>
|
||
<para>Die Nachricht kann auch <literal>mb_map too
|
||
small!</literal> lauten.</para>
|
||
</note>
|
||
|
||
<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="proc-table-full">
|
||
<para>Wieso erhalte ich die Meldung <errorname>/kernel:
|
||
proc: table is full</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der FreeBSD-Kernel beschränkt die Anzahl der
|
||
gleichzeitig laufenden Prozesse. Die Anzahl errechnet
|
||
sich aus dem Wert der Variablen
|
||
<literal>MAXUSERS</literal> in der Konfigurationsdatei des
|
||
Kernels. Auch andere Einstellungen wie die Anzahl der
|
||
Puffer für Netzwerkoperationen (Details dazu
|
||
finden Sie in <link
|
||
linkend="panic-kmemmap-too-small">diesem
|
||
Abschnitt</link>). werden durch
|
||
<literal>MAXUSERS</literal> beeinflußt. Wenn Ihr
|
||
System stark belastet ist, sollten Sie den Wert von
|
||
<literal>MAXUSERS</literal> erhöhen. Dadurch werden
|
||
diverse Einstellung des Systems angepaßt und die
|
||
maximale Anzahl gleichzeitig laufender Prozesse
|
||
erhöht.</para>
|
||
|
||
<para>Seit FreeBSD 4.4 kann der Wert von
|
||
<literal>MAXUSERS</literal> über die Variable
|
||
<varname>kern.maxusers</varname> in der Datei
|
||
<filename>/boot/loader.conf</filename> angepaßt
|
||
werden. In älteren Versionen mußten Sie
|
||
<literal>MAXUSERS</literal> in der Konfigurationsdatei
|
||
für Ihren angepaßten Kernel
|
||
ändern.</para>
|
||
|
||
<para>Wenn Ihr System nicht besonders stark ausgelastet ist
|
||
und Sie einfach nur mehr gleichzeitig laufende Prozesse
|
||
erlauben wollen, können Sie den Wert des sysctl
|
||
<varname>kern.maxproc</varname> erhöhen.
|
||
Wenn diese Prozesse von einem einzigen Benutzer
|
||
ausgeführt werden, müssen Sie den Wert von
|
||
<varname>kern.maxprocperuid</varname> ebenfalls
|
||
erhöhen. Dieser Wert muß immer mindestens um
|
||
eins geringer sein als der Wert von
|
||
<varname>kern.maxproc</varname> value. (Der Grund
|
||
für diese Einschränkung ist, daß ein
|
||
Systemprogramm, &man.init.8;, immer ausgeführt werden
|
||
muß.)</para>
|
||
|
||
<para>Damit Änderungen eines sysctl auch bei einem
|
||
Neustart des Systems erhalten bleiben, müssen Sie
|
||
diese bei aktuellen FreeBSD-Versionen in
|
||
<filename>/etc/sysctl.conf</filename> eintragen. In
|
||
älteren Versionen wurden sie in
|
||
<filename>/etc/rc.local</filename> eingetragen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="cmap-busy-panic">
|
||
<para>Wieso erhalte ich die Meldung <errorname>CMAP busy
|
||
panic</errorname>, wenn ich mein System mit einem neuen
|
||
Kernel starte?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Logik, die versucht, veraltete
|
||
<filename>/var/db/kvm_*.db</filename>-Dateien zu erkennen,
|
||
versagt manchmal und die Benutzung einer unpassenden Datei
|
||
kann zu Paniksituationen führen.</para>
|
||
|
||
<para>Falls das passiert, rebooten Sie 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>Was soll mir die Meldung <errorname>ahc0: brkadrint,
|
||
Illegal Host Access at seqaddr 0x0</errorname>
|
||
sagen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies ist ein Konflikt mit einem Ultrastor SCSI
|
||
Hostadapter.</para>
|
||
|
||
<para>Rufen Sie während des Bootprozesses das
|
||
Kernelkonfigurationsmenü auf und deaktivieren Sie
|
||
<devicename>uha0</devicename>, welches das Problem
|
||
verursacht.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="aci0-illegal-cable">
|
||
<para>Wenn ich mein System starte, erhalte ich die Meldung
|
||
<errorname>ahc0: illegal cable configuration</errorname>,
|
||
obwohl die Verkabelung korrekt ist. Woran liegt
|
||
das?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Auf Ihrem Mainboard fehlen ein paar Logikbausteinen,
|
||
die für die Unterstützung der automatischen
|
||
Terminierung notwendig sind. Stellen Sie in Ihrem
|
||
SCSI-BIOS manuell die korrekte Terminierung für Ihr
|
||
System ein, anstatt sich auf die automatische Terminierung
|
||
zu verlassen. Der Treiber für den AIC7XXX kann nicht
|
||
erkennen, ob die externen Logikbausteine für die
|
||
Erkennung der Kabel (und damit automatische Terminierung)
|
||
vorhanden sind. Der Treiber muß sich darauf
|
||
verlassen, daß diese vorhanden sind, wenn in der
|
||
Konfiguration <quote>automatische Terminierung</quote>
|
||
eingestellt ist. Ohne die externen Bausteine ist es sehr
|
||
wahrscheinlich, daß der Treiber die Terminierung
|
||
falsch einstellt, was die Zuverlässigkeit des
|
||
SCSI-Busses herabsetzen kann.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="mail-loopback">
|
||
<para>Wieso meldet Sendmail <errorname>mail loops back to
|
||
myself</errorname>?</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/mail/local-host-names
|
||
(falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
|
||
in /etc/mail/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 E-Mail
|
||
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>Wieso funktionieren bildschirmorientierte Anwendungen beim
|
||
Zugriff über ein Netzwerk nicht richtig?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die entfernte Maschine scheint den Terminaltyp auf
|
||
etwas anderes als den Typ <literal>cons25</literal>, der
|
||
von 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>Wieso meldet mein Rechner <errorname>calcru: negative
|
||
time...</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies kann durch verschiedene Hardware- 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 hervorzurufen.
|
||
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>
|
||
|
||
<note>
|
||
<para>Die Option <option>-w</option> von &man.sysctl.8;
|
||
sollte nicht mehr benutzt werden. Ab FreeBSD 4.4
|
||
wird die Option ignoriert. Sie können die Option
|
||
auch weglassen, wenn Sie mit <command>sysctl</command>
|
||
Variablen setzen.</para>
|
||
</note>
|
||
|
||
<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 <errorname>pcm0 not
|
||
found</errorname> oder meine Soundkarte wird als
|
||
<devicename>pcm1</devicename> eingebunden, obwohl in meiner
|
||
Kernelkonfiguration <literal>device pcm0</literal>
|
||
steht. Was ist passiert?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieser Effekt tritt auf, wenn Sie FreeBSD 3.X und eine
|
||
PCI Soundkarte haben. Das Gerät
|
||
<devicename>pcm0</devicename> ist für ISA Soundkarten
|
||
reserviert; wenn Sie eine PCI Soundkarte haben, werden Sie
|
||
diese Meldung erhalten und Ihre Karte wird als
|
||
<devicename>pcm1</devicename> eingebunden.</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
|
||
<devicename>pcm1</devicename> für ISA-Karten
|
||
reserviert und Ihre PCI-Karte wird zu
|
||
<devicename>pcm2</devicename>. Zusätzlich erhalten
|
||
Sie den Hinweis <errorname>pcm1 not
|
||
found</errorname>.</para>
|
||
</note>
|
||
|
||
<para>Wenn Sie eine PCI Sounkarte haben, müssen Sie das
|
||
Gerät <devicename>snd1</devicename> statt des
|
||
üblichen <devicename>snd0</devicename>
|
||
verwenden:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /dev</userinput>
|
||
&prompt.root; <userinput>./MAKEDEV snd1</userinput></screen>
|
||
|
||
<note>
|
||
<para>Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
|
||
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
|
||
verwenden. Die Gerätedateien werden in diesem Fall
|
||
automatisch in <filename>/dev</filename> erstellt.</para>
|
||
</note>
|
||
|
||
<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
|
||
<devicename>pcm0</devicename> nicht mehr für
|
||
ISA-Karten reserviert.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="pnp-not-found">
|
||
<para>Warum wird meine PnP-Karte 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.</para>
|
||
|
||
<note>
|
||
<para>Die mit <literal>[]</literal> gekennzeichneten Kommentare
|
||
wurden eingefügt, um an einigen Stellen die Bezüge
|
||
klarstellen.</para>
|
||
</note>
|
||
|
||
<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
|
||
benutzen 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.</para>
|
||
|
||
<para>Benutzen Sie &man.pciconf.8; wenn &man.pnpinfo.8; die Karte
|
||
nicht anzeigt. Der Teil der Ausgabe von
|
||
<command>pciconf -vl</command> für eine auf dem
|
||
Motherboard integrierte Soundkarte sieht zum Beispiel so
|
||
aus:</para>
|
||
|
||
<screen>&prompt.root; <userinput>pciconf -vl</userinput>
|
||
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
|
||
vendor = 'Intel Corporation'
|
||
device = '82801AA 8xx Chipset AC'97 Audio Controller'
|
||
class = multimedia
|
||
subclass = audio</screen>
|
||
|
||
<para>Sie benötigen die Chip-ID <quote>0x24158086</quote>,
|
||
die hinter <varname>chip</varname> aufgeführt ist.</para>
|
||
|
||
<para>Die Herstellerkennung oder die Chip-ID 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>Warum erhalte ich die Meldung <errorname>nlist
|
||
failed</errorname>, wenn ich Programme wie
|
||
<command>top</command> oder <command>systat</command>
|
||
benutze?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das Programm sucht nach einem speziellen Symbol im
|
||
Kernel, kann es aber aus irgendeinem Grunde nicht finden.
|
||
Dieser Fehler wird von einem dieser Probleme
|
||
verursacht:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ihr Kernel und die sonstigen Programme (das
|
||
<quote>Userland</quote>) sind nicht mehr auf dem
|
||
gleichen Stand. Mit anderen Worten, Sie haben zwar
|
||
einen neuen Kernel erzeugt, aber kein
|
||
<maketarget>installworld</maketarget> (oder
|
||
umgekehrt); darum weicht die Symboltabelle von dem
|
||
ab, was die Anwendung erwartet. Wenn dies der Fall ist,
|
||
müssen Sie lediglich die noch fehlenden Schritte
|
||
des Upgrades durchführen. Die richtige
|
||
Vorgehensweise kann
|
||
<filename>/usr/src/UPDATING</filename> entnommen
|
||
werden.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Um Ihren Kernel zu laden, benutzen Sie nicht
|
||
<command>/boot/loader</command>, sondern laden ihn
|
||
direkt mit boot2 (siehe &man.boot.8;). Es ist zwar
|
||
nicht immer ein Fehler,
|
||
<command>/boot/loader</command> zu umgehen; allerdings
|
||
ist er in der Regel besser dazu geeignet, die Symbole des
|
||
Kernels für normale Anwendungen verfügbar zu
|
||
machen.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="connection-delay">
|
||
<para>Wieso dauert es so lange, bis eine Verbindung
|
||
(&man.ssh.1; oder &man.telnet.1;) aufgebaut wird?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das Symptom: Nach dem Aufbau des TCP-Verbindung
|
||
vergeht einige Zeit, bis endlich die Abfrage des
|
||
Paßwortes (bzw. der Login-Prompt bei Telnet)
|
||
erscheint.</para>
|
||
|
||
<para>Das Problem: In den meisten Fällen versucht der
|
||
Server in der Zwischenzeit, die IP-Adresse des Clients in
|
||
einen Rechnernamen zu übersetzen. Viele Server
|
||
(darunter die Telnet und SSH Server von FreeBSD) machen
|
||
das, um den Hostnamen z.B. für spätere
|
||
Verwendung durch den Systemadministrator in eine
|
||
Protokolldatei schreiben zu können.</para>
|
||
|
||
<para>Die Lösung: wenn das Problem bei jedem Server
|
||
auftritt, den Sie von Ihrem Computer (dem Client)
|
||
ansprechen, dann wird das Problem vom Client verursacht.
|
||
Wenn das Problem aber nur auftritt, wenn jemand Ihren
|
||
Rechner (den Server) anspricht, dann liegt die Ursache
|
||
beim Server.</para>
|
||
|
||
<para>Wenn das Problem vom Client verursacht wird,
|
||
müsssen Sie die Einträge im DNS korrigieren,
|
||
damit der Server Ihre IP-Adresse übersetzen kann.
|
||
Wenn das Problem in Ihrem lokalen Netzwerk auftritt,
|
||
sollten Sie es als Problem des Servers behandeln und
|
||
weiterlesen; wenn es allerdings im Internet auftritt,
|
||
werden Sie sich wahrscheinlich an Ihrem ISP wenden
|
||
müssen, damit dieser das Problem für Sie
|
||
korrigiert.</para>
|
||
|
||
<para>Wenn das Problem vom Server verursacht wird und Sie
|
||
sich in einem lokalen Netzwerk befinden, dann müssen
|
||
Sie Ihren Server so konfigurieren, daß er die lokal
|
||
genutzten IP-Adressen in Rechnernamen übersetzen kann.
|
||
Weitere Informationen erhalten Sie in den Onlinehilfen zu
|
||
&man.hosts.5; und &man.named.8;. Wenn dieses Problem im
|
||
Internet auftritt, könnte die Ursache auch darin
|
||
liegen, daß die Namensauflösung auf dem Server
|
||
nicht funktioniert. Versuchen Sie, einen anderen
|
||
Hostnamen wie z.B. <hostid>www.yahoo.com</hostid>
|
||
aufzulösen. Wenn das nicht funktioniert, liegt das
|
||
Problem bei Ihrem System.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="stray-irq">
|
||
<para>Was bedeutet <errorname>stray IRQ</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Stray IRQs sind ein Zeichen für Probleme bei der
|
||
Behandlung von Hardware-IRQs. Sie werden meistens von
|
||
Geräten verursacht, die ihren Interrupt Request
|
||
zurückziehen, obwohl gerade der interrupt request
|
||
acknowledge-Zyklus läuft.</para>
|
||
|
||
<para>Sie können drei Dinge tun:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ertragen Sie die Warnungen. Sie erhalten nur die
|
||
ersten 5 für jeden IRQ, alle anderen werden
|
||
unterdrückt.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Eliminieren Sie die Meldungen, indem Sie in
|
||
<function>isa_strayintr()</function> den Wert 5 auf 0
|
||
ändern, um alle Meldungen zu
|
||
unterdrücken.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Eliminieren Sie die Meldungen, indem Sie Hardware
|
||
für den Parallelport installieren, die IRQ 7
|
||
nutzt und vom PPP Treiber verwendet wird (das passiert
|
||
auf den meisten Systemen), und installieren Sie eine
|
||
IDE-Platte oder andere Hardware sowie einen dazu
|
||
passenden Treiber, um IRQ 15 zu nutzen.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="file-table-full">
|
||
<para>Warum sehe ich in der Ausgabe von dmesg häufig
|
||
die Meldung <errorname>file: table is
|
||
full</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Diese Fehlermeldung besagt, daß Sie die zur
|
||
Verfügung stehenden File-Handles des Systems
|
||
verbraucht haben. Was das genau bedeutet und wie Sie
|
||
dieses Problem lösen können, steht im Abschnitt
|
||
<ulink
|
||
url="../handbook/configtuning-kernel-limits.html#KERN-MAXFILES">kern.maxfiles</ulink>
|
||
im Kapitel <ulink
|
||
url="../handbook/configtuning-kernel-limits.html">Anpassung
|
||
der Kernelkonfiguration</ulink> des Handbuchs.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="laptop-clock-skew">
|
||
<para>Warum ist die Uhrzeit auf meinem Laptop immer
|
||
falsch?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ihr Laptop verfügt über mehr als eine Uhr
|
||
und FreeBSD benutzt leider die falsche.</para>
|
||
|
||
<para>Starten Sie &man.dmesg.8; und achten Sie auf die
|
||
Zeilen, in denen das Wort <literal>Timecounter</literal>
|
||
vorkommt. Die von FreeBSD benutzte Uhr steht in der
|
||
letzten Zeile, mit an Sicherheit grenzender
|
||
Wahrscheinlichkeit wird es <literal>TSC</literal>
|
||
sein.</para>
|
||
|
||
<screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput>
|
||
Timecounter "i8254" frequency 1193182 Hz
|
||
Timecounter "TSC" frequency 595573479 Hz</screen>
|
||
|
||
<para>Sie können das überprüfen, indem Sie
|
||
den Wert der Systemvariablen
|
||
<varname>kern.timecounter.hardware</varname>
|
||
abfragen.</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput>
|
||
kern.timecounter.hardware: TSC</screen>
|
||
|
||
<para>Es ist durchaus möglich, daß das BIOS die
|
||
TSC Uhr ändert, um beispielsweise den CPU-Takt zu
|
||
während des Batteriebetrieb zu ändern, oder im
|
||
Stromsparmodus; leider bemerkt FreeBSD diese
|
||
Änderungen nicht und daher scheint die Uhr falsch zu
|
||
gehen.</para>
|
||
|
||
<para>In diesem Beispiel ist die Uhr
|
||
<literal>i8254</literal> ebenfalls verfügbar; um sie
|
||
auszuwählen, muß ihr Name in die Systemvariable
|
||
<varname>kern.timecounter.hardware</varname> geschrieben
|
||
werden.</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput>
|
||
kern.timecounter.hardware: TSC -> i8254</screen>
|
||
|
||
<para>Die Uhrzeit Ihres Laptops sollte nun genauer
|
||
funktionieren.</para>
|
||
|
||
<para>Damit diese Änderung automatisch beim Start des
|
||
Systems durchgeführt wird, müssen Sie die
|
||
folgende Zeile in die
|
||
<filename>/etc/sysctl.conf</filename> eintragen.</para>
|
||
|
||
<programlisting>kern.timecounter.hardware=i8254</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="null-null">
|
||
<para>Warum erkennt mein Laptop PC-Cards nicht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieses Problem tritt häufig auf Laptops mit mehreren
|
||
Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen
|
||
die Hardware in einem inkonsistenten Zustand. Die Karte wird
|
||
dann von <command>pccardd</command> als
|
||
<errorname>"(null)""(null)"</errorname> anstelle des
|
||
tatsächlichen Modells gefunden.</para>
|
||
|
||
<para>Um dies zu beheben, müssen Sie die Hardware
|
||
zurücksetzen, das heißt der PC-Card Einschub
|
||
muß stromlos sein. Gehen Sie dazu nicht in den Standby-
|
||
oder Suspend-Modus und stellen Sie sicher, daß der Laptop
|
||
wirklich ausgeschaltet ist. Warten Sie einen Moment und booten
|
||
dann, Ihre PC-Card sollte jetzt funktionieren.</para>
|
||
|
||
<para>Einige Laptops schalten sich nicht wirklich aus. Wenn der
|
||
obige Vorschlag nichts genutzt hat, entfernen Sie bitte die
|
||
Batterie, warten einen Moment und booten erneut.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="boot-read-error">
|
||
<para>Wieso hängt sich FreeBSD nach dem BIOS-Bildschirm
|
||
mit der Meldung <errorname>Read error</errorname>
|
||
auf?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Bootloader von FreeBSD erkennt die Geometrie Ihrer
|
||
Festplatte nicht richtig. Sie müssen die Geometrie
|
||
manuell festlegen, wenn sie mit fdisk FreeBSD-Bereiche
|
||
erzeugen oder ändern.</para>
|
||
|
||
<para>Die richtigen Werte für die Geometrie können
|
||
Sie im BIOS des Rechners ablesen. Achten Sie auf die
|
||
Anzahl der Zylinder, Köpfe und Sektoren für Ihre
|
||
Festplatte.</para>
|
||
|
||
<para>Im fdisk von &man.sysinstall.8; müssen Sie
|
||
<keycap>G</keycap> eingeben, um die Geometrie zu
|
||
definieren.</para>
|
||
|
||
<para>Sie erhalten eine Dialogbox, in der Sie die Anzahl der
|
||
Zylinder, Köpfe und Sektoren eingeben können.
|
||
Verwenden Sie die Angaben des BIOS und setzen Sie
|
||
Schrägstriche zwischen die Zahlen.</para>
|
||
|
||
<para>5000 Zylinder, 250 Köpfe and 60 Sektoren
|
||
würden also als <userinput>5000/250/60</userinput>
|
||
eingegeben.</para>
|
||
|
||
<para>Schließen Sie die Eingabe mit <keycap>Enter</keycap>
|
||
ab und drücken Sie <userinput>W</userinput>, um die neue
|
||
Partitionstabelle auf die Festplatte schreiben zu
|
||
lassen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="bootmanager-restore">
|
||
<para>Ein anderes Betriebssystem hat meinen Bootmanager
|
||
zerstört. Wie kann ich ihn wiederherstellen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Starten Sie &man.sysinstall.8; und wählen Sie
|
||
Configure, dann Fdisk. Wählen Sie die Platte, auf
|
||
der sich der Boot Manager befand, mit der
|
||
<keycap>Leertaste</keycap> aus. Drücken Sie
|
||
<keycap>W</keycap>, um die Änderungen auf die Platten
|
||
schreiben zu lassen. Nun erscheint eine Abfrage, welcher
|
||
Bootmanager installiert werden soll. Wählen Sie
|
||
diesen an und er wird wieder installiert.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="indefinite-wait-buffer">
|
||
<para>Was soll mir die Meldung <errorname>swap_pager: indefinite
|
||
wait buffer:</errorname> sagen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ein Programm wollte Speicher auf Platte auslagern, und
|
||
dieser Vorgang konnte nicht innerhalb von 20 Sekunden
|
||
durchgeführt werden. Mögliche Gründe sind
|
||
defekte Blöcke auf der Platte, falsche oder
|
||
fehlerhafte Verkabelung sowie Probleme mit anderen
|
||
Komponenten, die am Zugriff auf die Festplatte beteiligt
|
||
sind. Wenn die Festplatte selbst fehlerhaft sind, sollten
|
||
Sie entsprechende Meldungen in
|
||
<filename>/var/log/messages</filename> und den Ausgaben
|
||
von <command>dmesg</command> finden. Andernfalls sollten
|
||
Sie die Kabel und Verbindungen
|
||
überprüfen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="udma-icrc">
|
||
<para>Was sind <quote>UDMA ICRC</quote> Fehler und wie behebe ich
|
||
sie?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der &man.ata.4;-Treiber meldet <quote>UDMA ICRC</quote>
|
||
Fehler wenn eine DMA-Übertragung zu oder von einem
|
||
Laufwerk fehlgeschlagen ist. Der Treiber versucht die
|
||
Übertragung mehrmals durchzuführen und schaltet,
|
||
wenn die Versuche fehlschlagen, vom DMA-Modus auf den
|
||
langsameren PIO-Modus um.</para>
|
||
|
||
<para>Der Fehler kann viele Ursachen haben, häufig ist ein
|
||
Kabel kaputt oder die Geräte sind falsch verkabelt.
|
||
Prüfen Sie, ob die ATA-Kabel unbeschädigt sind und
|
||
für den verwendeten Ultra-DMA-Modus tauglich sind. Ebenso
|
||
müssen Wechselrahmen für den verwendeten Modus geeignet
|
||
sein. Stellen Sie sicher, daß alle Kabel fest
|
||
angeschlossen sind. Es gab auch schon Probleme, wenn ein altes
|
||
Laufwerk zusammen mit einem Ultra-DMA-66 oder einem schnelleren
|
||
Laufwerk auf einem Kanal betrieben wurde. Es kann aber auch
|
||
sein, dass das Laufwerk kaputt ist. Die meisten Hersteller
|
||
stellen Test-Programme für ihre Laufwerke zur
|
||
Verfügung. Überprüfen Sie damit Ihr Laufwerk und
|
||
wenn nötig, sichern Sie Ihre Daten und ersetzen das
|
||
Laufwerk.</para>
|
||
|
||
<para>&man.atacontrol.8; zeigt für jedes ATA-Gerät den
|
||
verwendeten DMA- oder PIO-Modus an. Das Kommando
|
||
<command>atacontrol mode
|
||
<replaceable>Kanal</replaceable></command>
|
||
zeigt die auf einem Kanal verwendeten Modi (die Kanäle
|
||
werden von <literal>0</literal> an nummeriert).</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="commercial">
|
||
<title>Kommerzielle Anwendungen</title>
|
||
|
||
<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>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="officesuite">
|
||
<para>Wo bekommen ich FreeBSD-Versionen der klassischen
|
||
Büro-Anwendungen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Die <ulink
|
||
url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>
|
||
bietet eine FreeBSD-Version von <ulink
|
||
url="http://www.vistasource.com/">VistaSource </ulink>
|
||
ApplixWare 5 an.</para>
|
||
|
||
<para>ApplixWare ist eine umfassende Sammlung von
|
||
Büroanwendungen, die eine Textverarbeitung, eine
|
||
Tabellenkalkulation, ein Programm für
|
||
Vorträge, ein Vektorzeichenprogramm und diverse
|
||
andere Programme beinhaltet.</para>
|
||
|
||
<para>Die FreeBSD-Version von ApplixWare ist Bestandteil
|
||
der BSD Desktop Edition, die von FreeBSD Mall
|
||
vertrieben wird.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Die Linux-Version von <ulink
|
||
url="http://www.sun.com/staroffice/">StarOffice</ulink>
|
||
läuft unter FreeBSD problemlos. Die einfachste
|
||
Möglichkeit zur Installation der Linux-Version
|
||
von Staroffice ist die Benutzung der <ulink
|
||
url="../handbook/ports.html">FreeBSD Ports</ulink>.
|
||
Zukünftige Versionen der im Sourcecode vorliegenden
|
||
Variante <ulink
|
||
url="http://www.openoffice.org/">OpenOffice</ulink>
|
||
sollten auch problemlos funktionieren.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="motif">
|
||
<para>Woher kann ich Motif für FreeBSD
|
||
bekommen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Quelltext für Motif 2.1.30 wurde von der
|
||
<quote>Open Group</quote> herausgegeben. Sie können
|
||
entweder das Package <literal>open-motif</literal>
|
||
installieren oder es mit dem entsprechenden Port selbst
|
||
compilieren. Weitere Informationen über die
|
||
Benutzung der Ports erhalten Sie im <ulink
|
||
url="../handbook/ports.html">Kapitel Ports des
|
||
Handbuchs</ulink>.</para>
|
||
|
||
<note>
|
||
<para>Die Open Motif Distribution darf nur weitergegeben
|
||
werden, wenn sie auf einem <ulink
|
||
url="http://www.opensource.org">Open Source</ulink>
|
||
Betriebssystem benutzt wird.</para>
|
||
</note>
|
||
|
||
<para>Weiterhin gibt es auch kommerzielle Motif-Paket, die
|
||
zwar nicht kostenlos sind, aber dafür auch mit
|
||
<quote>closed source</quote> Software benutzt werden
|
||
dürfen. 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>development
|
||
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>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>oder</term>
|
||
|
||
<listitem>
|
||
<para><email>sales@apps2go.com</email> oder
|
||
<email>support@apps2go.com</email></para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>oder</term>
|
||
|
||
<listitem>
|
||
<para>Telefon (817) 431 8775 oder +1 817
|
||
431-8775</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<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ältlich.</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>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>oder</term>
|
||
|
||
<listitem>
|
||
<para><email>sales@metrolink.com</email> oder
|
||
<email>tech@metrolink.com</email></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>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>oder</term>
|
||
|
||
<listitem>
|
||
<para><email>sales@xig.com</email> oder
|
||
<email>support@xig.com</email></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"></ulink></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="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 &os.numports; 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 sollten aud den 4.X- und 5.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 Paketinstallationsmenü in
|
||
<filename>/stand/sysinstall</filename> (unter dem
|
||
Menüpunkt post-configuration) oder führen Sie den
|
||
Befehl &man.pkg.add.1; mit den speziellen
|
||
Paketdateien aus, die Sie installieren möchten.
|
||
Paketdateien können für gewöhnlich an der
|
||
Endung <filename>.tgz</filename> 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 4.X-RELEASE/4-STABLE</term>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="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/"></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="emul">
|
||
<para>Warum produziert ghostscript auf meinem 386/486SX so
|
||
viele Fehlermeldungen?</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>
|
||
|
||
<note>
|
||
<para>Sie müssen die Option
|
||
<symbol>MATH_EMULATE</symbol> hierzu entfernen.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="configure-inn">
|
||
<para>Wie konfiguriere ich INN (Internet News) für
|
||
meine Maschine?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ein idealer Startpunkt nach der Installation des
|
||
Packages oder Ports <filename role="package">news/inn</filename>
|
||
ist <ulink
|
||
url="http://www.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,
|
||
<filename role="package">apache13-fp</filename>.</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-Maschine 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/"></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 &man.send-pr.1;. 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>Auf a.out basierende Anwendungen wie der Netscape
|
||
Navigator benötigen a.out Bibliotheken. Wenn Sie
|
||
eine auf ELF basierende FreeBSD-Version verwenden, werden
|
||
diese nicht standardmäßig installiert. In
|
||
diesem Fall wird Ihnen das System melden, daß
|
||
<filename>/usr/libexec/ld.so</filename> nicht vorhanden
|
||
ist. Sie können diese Bibliotheken mit der
|
||
Distribution compat22 nachinstallieren. Benutzen Sie dazu
|
||
&man.sysinstall.8;. Alternativ können Sie auch die
|
||
Quelldateien verwenden:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src/lib/compat/compat22</userinput>
|
||
&prompt.root; <userinput>make install clean</userinput></screen>
|
||
|
||
<para>Wenn Sie bei jedem <command>make world</command> die
|
||
aktuellen compat22-Bibliotheken installieren wollen,
|
||
müssen Sie in <filename>/etc/make.conf</filename> die
|
||
Zeile <varname>COMPAT22=YES</varname> eintragen. Da sich
|
||
diese Bibliotheken aber nur sehr selten ändern, ist
|
||
dies nicht unbedingt erforderlich.</para>
|
||
|
||
<para>Lesen Sie auch die ERRATAs für 3.1-R und
|
||
3.2-R.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ports-update">
|
||
<para>Ich habe die Sourcen aktualisiert, wie aktualisiere
|
||
ich jetzt die installierten Ports?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FreeBSD enthält zwar kein Programm, das die
|
||
installierten Ports aktualisiert, allerdings existieren
|
||
diverse Programme, die diesen Prozeß etwas
|
||
vereinfachen. Weiterhin können Sie zusätzliche
|
||
Programme installieren, die Sie dabei
|
||
unterstützen.</para>
|
||
|
||
<para>Sie können mit &man.pkg.version.1; ein Script
|
||
erzeugen, das die installieren Ports mit einer neueren
|
||
Version aus der Ports-Sammlung ersetzt:</para>
|
||
|
||
<screen>&prompt.root; <userinput>pkg_version -c > <replaceable>/tmp/myscript</replaceable></userinput></screen>
|
||
|
||
<para>Das so erzeugte Script <emphasis>muß</emphasis>
|
||
manuell geändert werden, bevor es benutzt wird.
|
||
Neuere Versionen von &man.pkg.version.1; erzwingen dies,
|
||
indem sie ein &man.exit.1; an den Anfang des Scripts
|
||
setzen.</para>
|
||
|
||
<para>Sie sollten die Ausgaben des Scripts abspeichern, da
|
||
sie Ihnen melden werden, welche Ports von den dem gerade
|
||
aktualisierten Port abhängen. Es ist möglich,
|
||
daß diese auch aktualisiert werden müssen. Der
|
||
typische Fall, in dem ein Update erforderlich ist, ist
|
||
eine Änderung der Versionsnummer einer shared
|
||
library; in diesem Fall müssen die abhängigen
|
||
Ports neu übersetzt werden, damit sie die neue
|
||
Library benutzen.</para>
|
||
|
||
<note>
|
||
<para>Ab FreeBSD 5.0 steht die Option
|
||
<option>-c</option> in &man.pkg.version.1; nicht
|
||
mehr zur Verfügung.</para>
|
||
</note>
|
||
|
||
<para>Falls Sie über genügend freien Plattenplatz
|
||
verfügen, können Sie diesen Prozeß mit
|
||
<command>portupgrade</command> automatisieren.
|
||
<command>portupgrade</command> umfaßt diverse
|
||
Programme, die die Arbeit mit Packages erleichtern und ist
|
||
als <filename role="package">sysutils/portupgrade</filename>
|
||
verfügbar. Da <command>portupgrade</command> in Ruby
|
||
geschrieben wurde, wird es wahrscheinlich nie ein Bestandteil
|
||
von FreeBSD werden. Allerdings sollte das niemanden davon
|
||
abhalten, es trotzdem zu benutzen.</para>
|
||
|
||
<para>Wenn Ihr System rund um die Uhr läuft, kann es
|
||
jede Woche automatisch eine Liste der Ports erzeugen, die
|
||
wahrscheinlich aktualisiert werden müssen. Fügen
|
||
Sie dazu <literal>weekly_status_pkg_enable="YES"</literal>
|
||
in <filename>/etc/periodic.conf</filename> ein.</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="netscape-slow-startup">
|
||
<para>Wieso dauert es so lange, bis Netscape und Opera
|
||
starten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>In den meisten Fällen liegt es daran, daß
|
||
Ihre DNS-Einstellungen fehlerhaft sind. Sowohl Netscape
|
||
als auch Opera stellen Anfragen an DNS, wenn Sie gestartet
|
||
werden. Das Fenster des Browsers erscheint erst, wenn das
|
||
Programm eine Antwort erhalten hat oder es festgestellt
|
||
hat, daß Ihr System nicht an ein Netzwerk
|
||
angeschlossen ist.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ports-base-update">
|
||
<para>Ich habe die Ports-Sammlung mit
|
||
<application>CVSup</application> aktualisiert. Viele
|
||
Ports lassen sich danach nicht mehr bauen und geben
|
||
seltsame Fehlermeldungen aus. Was ist passiert? Ist
|
||
die Ports-Sammlung kaputt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie sollten <emphasis>immer</emphasis> die Teilsammlung
|
||
<literal>ports-base</literal> aktualisieren, wenn Sie
|
||
nur Teile der Ports-Sammlung mit Hilfe der
|
||
<application>CVSup</application>-Teilsammlungen
|
||
aktualisieren. Die Erklärung dazu finden Sie im
|
||
<ulink url="../handbook/cvsup.html#CVSUP-COLLEC-PBASE-WARN">
|
||
Handbuch</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="midi-sound-files">
|
||
<para>Wie erzeuge ich Audio-CDs aus MIDI-Dateien?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Installieren Sie zuerst den Port <filename
|
||
role="package">audio/timidity++</filename>. Danach
|
||
müssen Sie manuell die GUS-Patche von
|
||
Eric A. Welsh von <ulink
|
||
url="http://www.stardate.bc.ca/eawpatches/html/default.htm"></ulink>
|
||
installieren. Wenn <application>timidity++</application>
|
||
richtig installiert wurde, können Sie mit dem folgenden
|
||
Kommando MIDI-Dateien in das WAV-Format konvertieren:</para>
|
||
|
||
<screen>&prompt.user; <userinput>timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid</userinput></screen>
|
||
|
||
<para>Die WAV-Dateien können dann in andere Formate
|
||
konvertiert werden oder auf Audio-CDs, wie im FreeBSD-Handbuch
|
||
beschrieben, gebrannt werden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="kernelconfig">
|
||
<title>Kernelkonfiguration</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="make-kernel">
|
||
<para>Ich möchte meinen Kernel anpassen. Ist das
|
||
schwierig?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Überhaupt nicht! Lesen Sie den <ulink
|
||
url="../handbook/kernelconfig.html">Abschnitt zur
|
||
Kernelkonfiguration im Handbuch</ulink>.</para>
|
||
|
||
<note>
|
||
<para>Sie sollten einen datierten Snapshot Ihres Kernels
|
||
als <filename>kernel.YYMMDD</filename> zu erstellen,
|
||
nachdem Sie alles zum Laufen gebracht haben.
|
||
Außerdem sollten Sie eine Kopie des Verzeichnisses
|
||
<filename>/modules</filename> erstellen, die den Namen
|
||
<filename>/modules.YYMMDD</filename> hat. 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.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="missing-hw-float">
|
||
<para>Was kann ich machen, wenn meine Kernel-Kompilierungen
|
||
fehlschlagen, weil <literal>_hw_float</literal>
|
||
fehlt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>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 &man.config.8; nicht mit dem
|
||
Parameter <option>-g</option> starten.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Sollten Sie sich nicht an diese Einschränkungen
|
||
halten, wird Ihr Kernel im Debug-Modus erstellt. Solange
|
||
Sie sich an diese Einschränkungen halten, können
|
||
Sie Ihren Kernel ganz normal erstellen und die
|
||
Größe des Kernels sollte deutlich sinken. Ein
|
||
normaler Kernel ist nur 1.5 MByte bis 2 MByte
|
||
groß.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="multiport-serial-interrupts">
|
||
<para>Wieso erhalte ich Meldungen über Interrupt-Konflikte,
|
||
wenn ich eine Karte mit mehreren seriellen Schnittstellen
|
||
einsetzen will?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn ich einen Kernel mit Unterstützung für
|
||
serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
|
||
den Hinweis, 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>Wieso kann ich nicht einmal den Standard-Kernel
|
||
(GENERIC) bauen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Es gibt eine Reihe von möglichen Ursachen
|
||
für dieses Problem:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Sie benutzen die neuen Kommandos <command>make
|
||
buildkernel</command> und <command>make
|
||
installkernel</command> nicht, obwohl die Sourcen auf
|
||
Ihrem System nicht zum laufenden System passen (z.B.
|
||
benutzen Sie die Sourcen von 4.3-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>
|
||
|
||
<qandaentry>
|
||
<question id="scheduler-in-use">
|
||
<para>Wie kann ich prüfen, welchen Scheduler das
|
||
System benutzt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Setzen Sie das folgende Kommando ab:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl kern.quantum</userinput></screen>
|
||
<para>Wenn Sie die Meldung</para>
|
||
|
||
<screen>unknown oid 'kern.quantum'</screen>
|
||
|
||
<para>sehen, benutzt das System den Scheduler
|
||
<quote>SCHED_ULE</quote>. Wenn Sie die Meldung</para>
|
||
|
||
<screen>kern.quantum: 100000</screen>
|
||
|
||
<para>sehen, benutzt das System den ursprünglichen
|
||
<quote>SCHED_4BSD</quote> Scheduler.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="scheduler-kern-quantum">
|
||
<para>Was bedeutet <varname>kern.quantum</varname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><varname>kern.quantum</varname> ist die maximale
|
||
Anzahl Ticks, die ein Prozess ununterbrochen laufen kann.
|
||
Die Variable ist charakteristisch für den
|
||
4BSD Scheduler, somit kann der verwendete Scheduler
|
||
über die Existenz dieser Variablen bestimmt werden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="disks">
|
||
<title>Platten, Dateisysteme und Boot Loader</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="adding-disks">
|
||
<para>Wie kann ich meine neue Festplatte in mein
|
||
FreeBSD-System einbinden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Lesen Sie das Tutorial zur Festplattenformatierung
|
||
unter <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/formatting-media/">www.de.FreeBSD.org</ulink>.</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 aktualisiert haben,
|
||
ist das sehr empfehlenswert. Sie können auf beiden
|
||
Platten &man.boot0cfg.8; installieren und die beiden
|
||
Versionen so lange parallel betreiben, bis Ihnen die neue
|
||
Konfiguration gefällt. Wenn Sie dies tun wollen,
|
||
können Sie im übernächsten Absatz erfahren,
|
||
wie sie Ihre Daten verschieben können.</para>
|
||
|
||
<para>Falls Sie sich entscheiden, das nicht zu tun,
|
||
müssen Sie Ihre neue Platte partitionieren und
|
||
labeln. Benutzen Sie dafür entweder
|
||
<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.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/formatting-media/">Formatting-Media
|
||
Tutorial</ulink> finden Sie weitere Informationen zu
|
||
diesen Schritten.</para>
|
||
|
||
<para>Nachdem Sie die neue Platte eingerichtet haben,
|
||
können Sie Ihre Daten verschieben. Dummerweise
|
||
können Sie die Daten nicht einfach kopieren. Dinge wie
|
||
Gerätedateien (in <filename>/dev</filename>),
|
||
erweiterte Dateiattribute und symbolische Links führen
|
||
dazu, daß das in die Hose geht. Sie müssen
|
||
ein Programm benutzen, das damit umgehen kann, und das
|
||
ist &man.dump.8;. Es wird oft empfohlen, die Daten im
|
||
Single-User Modus zu verschieben, aber das ist nicht
|
||
unbedingt notwendig.</para>
|
||
|
||
<para>Sie sollten auf gar keinen Fall etwas anderes als
|
||
&man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem
|
||
zu verschieben. Es könnte auch mit
|
||
&man.tar.1; funktionieren - oder auch nicht. Sie sollten
|
||
ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
|
||
Sie eine komplette Partition auf eine andere, leere
|
||
Partition verschieben wollen. Um die Daten einer Partition mit
|
||
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 <username>root</username> auf
|
||
<devicename>/dev/ad1s1a</devicename> 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 /mnt</userinput>
|
||
&prompt.root; <userinput>cd /mnt</userinput>
|
||
&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen>
|
||
|
||
<para>Wenn Sie Ihre Partitionen mit &man.dump.8;
|
||
umorganisieren wollen, steht Ihnen etwas mehr Arbeit
|
||
bevor. Wenn Sie eine Partition wie
|
||
<filename>/var</filename> in die übergeordnete Partition
|
||
verschieben wollen, müssen Sie zunächst eine neue
|
||
Partition erzeugen, die die beiden alten Partitionen
|
||
aufnehmen kann. Der zweite Schritt ist, wie oben
|
||
beschrieben die übergeordnete Partition in die neue
|
||
Partition zu verschieben. Im dritten und letzten Schritt
|
||
verschieben Sie dann die untergeordnete Partition in das
|
||
leere Verzeichnis, das im zweiten Schritt entstanden
|
||
ist:</para>
|
||
|
||
<screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
|
||
&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
|
||
&prompt.root; <userinput>cd /mnt</userinput>
|
||
&prompt.root; <userinput>dump 0af - / | restore xf -</userinput>
|
||
&prompt.root; <userinput>cd var</userinput>
|
||
&prompt.root; <userinput>dump 0af - /var | restore xf -</userinput></screen>
|
||
|
||
<para>Wenn Sie ein Verzeichnis aus einer Partition
|
||
herauslösen wollen, also z.B.
|
||
<filename>/var</filename> auf eine eigene Partition
|
||
verlegen wollen, dann müssen Sie zunächst beide
|
||
Partitionen anlegen. Danach müssen Sie die
|
||
untergeordnete Partition im passenden Verzeichnis
|
||
unterhalb des temporären mount points mounten und zum
|
||
Abschluß die alte Partition verschieben:</para>
|
||
|
||
<screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
|
||
&prompt.root; <userinput>newfs /dev/ad1s1d</userinput>
|
||
&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
|
||
&prompt.root; <userinput>mkdir /mnt/var</userinput>
|
||
&prompt.root; <userinput>mount /dev/ad1s1d /mnt/var</userinput>
|
||
&prompt.root; <userinput>cd /mnt</userinput>
|
||
&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen>
|
||
|
||
<para>Eventuell sagen Ihnen für Benutzerdaten
|
||
&man.cpio.1;, &man.pax.1; oder &man.tar.1; eher zu als
|
||
&man.dump.8;. Allerdings haben alle diese Programme den
|
||
Nachteil, daß sie die erweiterten Dateiattribute
|
||
nicht verstehen, daher sollten Sie bei ihrem Einsatz
|
||
aufpassen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="dangerously-dedicated">
|
||
<para>Gefährdet eine <quote>dangerously
|
||
dedicated</quote> Festplatte meine Gesundheit?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><anchor id="dedicate">Die Installationsprozedur bietet
|
||
Ihnen zwei verschiedene Methoden, Ihre Festplatte(n) zu
|
||
partitionieren. Die Standardmethode macht sie kompatibel
|
||
zu anderen Betriebssystemen auf derselben Maschine, indem
|
||
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 <errorname>read
|
||
error</errorname>-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
|
||
Installationsprogramm startet, wird der Kernel eine Liste
|
||
mit den BIOS-Geometrien ausgeben. Keine Panik - warten
|
||
Sie, bis das Installationsprogramm gestartet wurde und
|
||
benutzen Sie Scrollback, um die Zahlen zu lesen.
|
||
Typischerweise befinden sich die BIOS-Platten in derselben
|
||
Reihenfolge, wie FreeBSD Ihre Platten auflistet - zuerst
|
||
IDE, dann SCSI.</para>
|
||
|
||
<para>Wenn Sie Ihre Festplatte in Slices unterteilen,
|
||
überprüfen Sie, ob die Plattengeometrie, die im
|
||
FDISK-Menü angegeben ist, korrekt ist (das heißt mit den
|
||
Einstellungen im BIOS übereinstimmen). Falls die
|
||
Werte nicht stimmen, benutzen Sie <keycap>g</keycap>, um
|
||
sie zu korrigieren. Diese Schritte sind nötig, wenn
|
||
sich absolut nichts auf der Festplatte befindet, oder,
|
||
wenn die Festplatte vorher in einem anderen System benutzt
|
||
worden ist. Beachten Sie, 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 <errorname>read
|
||
error</errorname>-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, das heißt der
|
||
BSD-Bootstrap wird zerstört.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="safe-softupdates">
|
||
<para>Auf welchen Partitionen kann ich problemlos
|
||
Soft Updates einsetzen? Ich habe gehört, das der
|
||
Einsatz von Soft Updates auf <filename>/</filename>
|
||
Probleme verursachen kann.</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die schnelle Antwort: Sie können Soft Updates
|
||
bedenkenlos auf alle Partitionen benutzen.</para>
|
||
|
||
<para>Die ausführliche Antwort: Es gab lange Zeit
|
||
Bedenken, was den Einsatz von Soft Updates auf der
|
||
root-Partition betrifft. Der Grund sind zwei
|
||
Charakteristika der Soft Updates: Zum einen kann es bei
|
||
einem Absturz des System auf einer Partition mit
|
||
Soft Updates zum Datenverlust kommen. Die Partition ist
|
||
zwar noch brauchbar, aber einige Daten können
|
||
verloren gehen. Weiterhin kann es durch Soft Updates zu
|
||
einem zeitweisen Mangel an Plattenplatz kommen.</para>
|
||
|
||
<para>Bei der Benutzung von Soft Updates kann es bis zu
|
||
dreißig Sekunden dauern, bis der Kernel
|
||
Änderungen auf das physikalische Speichermedium
|
||
schreibt. Wenn Sie eine große Datei löschen,
|
||
ist diese Datei noch auf der Platte vorhanden, bis der
|
||
Kernel die Löschoperation tatsächlich
|
||
durchführt. Das kann zu einem sehr einfachen Problem
|
||
führen: Stellen Sie sich vor, Sie löschen eine
|
||
große Datei und legen gleich darauf eine andere
|
||
große Datei an. Da die erste Datei noch nicht
|
||
wirklich gelöscht wurde, ist eventuell nicht genug
|
||
Platz für die zweite große Datei. Sie erhalten
|
||
die Fehlermeldung, daß nicht genug freier Platz
|
||
vorhanden ist, obwohl Sie ganz genau wissen, daß Sie
|
||
gerade eben Platz geschaffen haben. Wenn Sie die
|
||
Operation ein paar Sekunden später wiederholen,
|
||
funktioniert alles wie von Geisterhand. Dieser Effekt hat
|
||
mehr als einen Benutzer verwirrt und Zweifel an seiner
|
||
geistigen Stabilität oder dem FreeBSD-Dateisystem
|
||
aufkommen lassen.</para>
|
||
|
||
<para>Wenn der Kernel ein Datenpaket annimmt und das System
|
||
abstürzt, bevor er dies Daten auf die Platte
|
||
geschrieben hat, kann es zum Verlust oder zur
|
||
Zerstörung von Daten kommen. Dieses Risiko ist nur
|
||
sehr gering und normalerweise tragbar. Wenn Sie
|
||
allerdings einen IDE-Write-Cache verwenden, steigt das
|
||
Risiko; daher wird normalerweise empfohlen, auf den
|
||
Einsatz dieser Technik zu verzichten, wenn Sie Soft Updates
|
||
benutzen.</para>
|
||
|
||
<para>Diese beiden Probleme betreffen alle Partitionen, die
|
||
Soft Updates verwenden. Was bedeutet das für die
|
||
Root-Partition?</para>
|
||
|
||
<para>Die wichtigen Daten auf der Root-Partition ändern
|
||
sich nur sehr selten. Dateien wie
|
||
<filename>/kernel</filename> und der Inhalt
|
||
<filename>/etc</filename> werden nur bei der Wartung des
|
||
Systems geändert, oder wenn Benutzer ihre
|
||
Paßwörter ändern. Wenn das System in den
|
||
30 Sekunden nach einer solchen Änderung
|
||
abstürzt, ist es möglich, das Daten verloren
|
||
gehen. Dieses Risiko ist in den meisten Fällen
|
||
unerheblich, aber es ist vorhanden. Wenn das zu viel
|
||
Risiko ist, dann sollten Sie Soft Updates nicht auf der
|
||
Root-Partition einsetzen.</para>
|
||
|
||
<para><filename>/</filename> war schon immer eine der
|
||
kleinsten Partitionen. Standardmäßig legt
|
||
FreeBSD das Verzeichnis <filename>/tmp</filename> direkt
|
||
auf <filename>/</filename>. Wenn in Ihrem
|
||
<filename>/tmp</filename> viel Betrieb ist, kann es
|
||
gelegentlich zu den oben beschriebenen Platzproblemen
|
||
kommen. Um das Problem zu lösen, sollten sie einen
|
||
symbolischen Link von <filename>/tmp</filename> nach
|
||
<filename>/var/tmp</filename> legen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question 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 <literal>c</literal> Partitionen, die
|
||
standardmäßig 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="mount-foreign-fs">
|
||
<para>Kann ich andere fremde Dateisysteme unter FreeBSD
|
||
mounten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Digital UNIX</term>
|
||
|
||
<listitem>
|
||
<para>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>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Linux</term>
|
||
|
||
<listitem>
|
||
<para>FreeBSD unterstützt
|
||
<literal>ext2fs</literal>-Partitionen. Unter
|
||
&man.mount.ext2fs.8; finden Sie weitere
|
||
Informationen.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>NT</term>
|
||
|
||
<listitem>
|
||
<para>Ein NTFS-Treiber, der nur Lesezugriffe gestattet,
|
||
ist Teil von &os;. Weitere Informationen entnehmen
|
||
Sie bitte der Hilfeseite &man.mount.ntfs.8;.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Für weitere Informationen zu diesem Thema
|
||
wären wir sehr dankbar.</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> mounten:</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>
|
||
|
||
<note>
|
||
<para>Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
|
||
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
|
||
verwenden. Die Gerätedateien werden in diesem Fall
|
||
automatisch in <filename>/dev</filename> erstellt.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="crypto-filesystem">
|
||
<para>Gibt es ein verschlüsselndes Dateisystem
|
||
für &os;?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja, <filename role="package">security/cfs</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="nt-bootloader">
|
||
<para>Wie kann ich den NT-Loader zum Booten von FreeBSD
|
||
verwenden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<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>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>
|
||
|
||
<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><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 aktiv 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
|
||
<devicename>/dev/hda2</devicename> bekannt ist; ändern
|
||
Sie dies entsprechend Ihren Einstellungen). Führen
|
||
Sie nun als <username>root</username> den Befehl
|
||
<command>lilo</command> aus und Sie sind fertig.</para>
|
||
|
||
<para>Falls 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="changing-bootprompt">
|
||
<para>Wie kann ich das <literal>???</literal> des
|
||
Boot-Managers durch etwas Sinnvolles ersetzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Solange Sie den Boot-Manager nicht komplett neu
|
||
schreiben, gar nicht. Allerdings gibt es in der Kategorie
|
||
<filename>sysutils</filename> der Ports diverse
|
||
Boot-Manager, die diese Funktionalität
|
||
bieten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question 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
|
||
Kassette/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 &man.fdisk.8; oder
|
||
&man.sysinstall.8;, um herauszufinden, wie sie
|
||
konfiguriert sind.</para>
|
||
|
||
<para>Die restlichen Beispiele sind für ein
|
||
ZIP-Laufwerk unter 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
|
||
&man.fdisk.8; 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="mount-cd-superblock">
|
||
<para>Wieso erhalte ich die Meldung <errorname>Incorrect
|
||
super block</errorname> beim Mounten einer CDROM?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie müssen &man.mount.8; mitteilen, was für
|
||
ein Gerät Sie mounten wollen. Genauere Informationen
|
||
dazu finden Sie im Kapitel <ulink
|
||
url="../handbook/creating-cds.html">Optische
|
||
Speichermedien</ulink> des Handbuch, genauer gesagt im
|
||
Abschnitt <ulink
|
||
url="../handbook/creating-cds.html#MOUNTING-CD">Benutzung
|
||
von Daten-CDs</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="cdrom-not-configured">
|
||
<para>Wieso erhalte ich die Meldung <errorname>Device not
|
||
configured</errorname>, wenn ich eine CDROM
|
||
mounte?</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. Dieses Problem wird im
|
||
Kapitel <ulink
|
||
url="../handbook/creating-cds.html#MOUNTING-CD">Benutzung
|
||
von Daten-CDs</ulink> des Handbuchs ausführlich
|
||
diskutiert.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="cdrom-unicode-filenames">
|
||
<para>Wieso werden alle Sonderzeichen in den Dateinamen auf
|
||
meinen CDs durch <quote>?</quote> ersetzt, wenn ich die CD
|
||
unter FreeBSD benutze?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wahrscheinlich werden auf der CDROM die
|
||
<quote>Joliet</quote> Erweiterungen für die
|
||
Speicherung von Datei- und Verzeichnisnamen benutzt.
|
||
Werfen Sie einen Blick in das Kapitel <ulink
|
||
URL="../handbook/creating-cds.html">Erzeugung von
|
||
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
||
über <ulink
|
||
URL="../handbook/creating-cds.html#MOUNTING-CD">Benutzung
|
||
von Daten-CDs</ulink>.</para>
|
||
|
||
<para>[Anmerkung des Übersetzers: Es geht hier nicht um
|
||
die deutschen Sonderzeichen, da diese schon im normalen
|
||
ISO8859-1 enthalten sind. Die Probleme treten auf, wenn
|
||
man z.B. russische CDs (ISO8859-5) verwendet.]</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="burncd-isofs">
|
||
<para>Ich habe eine CD mit FreeBSD gebrannt und kann sie
|
||
nicht mit anderen Betriebssystemen lesen. Warum?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie haben wahrscheinlichste eine Datei direkt auf CD
|
||
geschrieben, statt ein ISO 9660-Dateisystems erzeugt zu
|
||
haben. Werfen Sie einen Blick in das Kapitel <ulink
|
||
URL="../handbook/creating-cds.html">Erzeugung von
|
||
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
||
über <ulink
|
||
URL="../handbook/creating-cds.html#RAWDATA-CD">reine
|
||
Daten-CDs</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="copy-cd">
|
||
<para>Wie kann ich ein Image einer Daten-CD erzeugen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Diese Information finden Sie im Abschnitt <ulink
|
||
url="../handbook/creating-cds.html#IMAGING-CD">Kopieren
|
||
von CD-ROMs</ulink> des Handbuchs. Weitere Informationen
|
||
über die Arbeit mit CD-ROMs finden Sie im Abschnitt
|
||
<ulink url="../handbook/creating-cds.html">Erzeugen von
|
||
CD-ROMs</ulink> im Kapitel Speichermedien des
|
||
Handbuchs.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="mount-audio-CD">
|
||
<para>Wieso kommt <command>mount</command> nicht meiner
|
||
Audio-CD zurecht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn Sie versuchen sollten, eine Audio-CD zu mounten,
|
||
erhalten Sie die Meldung <errorname>cd9660: /dev/acd0c:
|
||
Invalid argument</errorname>. Der Grund dafür ist,
|
||
daß <command>mount</command> nur für
|
||
Dateisysteme vorgehen ist. Audio CDs habe kein
|
||
Dateisystem, sondern nur Daten. Wenn Sie eine Audio CD
|
||
auslesen wollen, brauchen Sie ein entsprechendes Programm
|
||
wie z.B. <filename role="package">audio/xmcd</filename>
|
||
aus den Ports.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="multi-session-CD">
|
||
<para>Wie nutze ich <command>mount</command> für eine
|
||
Multi-Session CD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Standardmäßig benutzt &man.mount.8; den
|
||
letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine
|
||
ältere Session benutzen wollen, müssen Sie diese
|
||
mit der Option <option>-s</option> definieren. Weitere
|
||
Informationen finden Sie in der Onlinehilfe zu
|
||
&man.mount.cd9660.8;</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="user-floppymount">
|
||
<para>Wie lasse ich normale Benutzer Disketten, CDROMs und
|
||
andere Wechseldatenträger mounten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Normale Benutzer können dazu berechtigt werden,
|
||
Geräte zu mounten. Das geht so:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Setzen Sie als <username>root</username> die
|
||
sysctl-Variable <varname>vfs.usermount</varname> auf
|
||
<literal>1</literal>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Ordnen Sie als <username>root</username> den
|
||
Block-Geräten, die den Wechsellaufwerken
|
||
zugeordnet sind, die entsprechenden Zugriffsrechte
|
||
zu.</para>
|
||
|
||
<para>Wenn Sie zum Beispiel den Benutzer den Zugriff auf
|
||
das erste Diskettenlaufwerk zu erlauben
|
||
wollen:</para>
|
||
|
||
<screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen>
|
||
|
||
<para>Um den Mitgliedern der Gruppe
|
||
<groupname>operator</groupname> den Zugriff auf das
|
||
CDROM 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><varname>vfs.usermount=</varname>1</literal>
|
||
in die Datei <filename>/etc/sysctl.conf</filename>
|
||
ein, damit die Einstellung bei einem Neustart des
|
||
Systems automatisch erhalten bleibt.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Alle Benutzer können nun
|
||
<devicename>/dev/fd0</devicename> auf ein Verzeichnis, das
|
||
ihnen gehört, mounten:</para>
|
||
|
||
<screen>&prompt.user; <userinput> mkdir ~/my-mount-point</userinput>
|
||
&prompt.user; <userinput> mount -t msdos /dev/fd0 ~/my-mount-point</userinput></screen>
|
||
|
||
<para>Die zur Gruppe <groupname>operator</groupname>
|
||
gehörenden Benutzer können nun
|
||
<devicename>/dev/cd0c</devicename> auf ein Verzeichnis, das
|
||
ihnen gehört, mounten:</para>
|
||
|
||
<screen>&prompt.user; <userinput> mkdir ~/my-mount-point</userinput>
|
||
&prompt.user; <userinput> mount -t cd9660 /dev/cd0c ~/my-mount-point</userinput></screen>
|
||
|
||
<para>Das Unmounten des Gerätes ist simpel:</para>
|
||
|
||
<screen>&prompt.user; <userinput>umount ~/my-mount-point</userinput></screen>
|
||
|
||
<para>Die Aktivierung von <varname>vfs.usermount</varname>
|
||
hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
|
||
Ein besserer Weg, um auf MSDOS-formatierte
|
||
Datenträger zuzugreifen, ist die Benutzung des
|
||
Packages <ulink
|
||
URL="http://www.FreeBSD.org/cgi/ports.cgi?query=%5Emtools-&stype=name">mtools</ulink>aus
|
||
der Ports-Sammlung.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="du-vs-df">
|
||
<para>Wieso geben die Befehle <command>du</command> und
|
||
<command>df</command> unterschiedliche Werte für den
|
||
freien Plattenplatz aus?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Grund ist die Funktionsweise von
|
||
<command>du</command> und <command>df</command>.
|
||
<command>du</command> geht durch einen Dateibaum,
|
||
ermittelt die Größe jeder einzelnen Datei, und
|
||
gibt die Summe aus. <command>df</command> fragt lediglich
|
||
das Dateisystem wieviel Platz noch frei ist. Das
|
||
scheint zwar auf den ersten Blick sehr ähnlich zu
|
||
sein; allerdings wird sich ein leeres Verzeichnis auf die
|
||
Ausgabe von <command>df</command> auswirken, während
|
||
es auf das Ergebnis von <command>du</command> keinen
|
||
Einfluß hat.</para>
|
||
|
||
<para>Wenn Sie eine Datei löschen, während sie von
|
||
einem Programm genutzt wird, wird diese Datei erst
|
||
gelöscht, wenn sie vom Programm freigegeben wird.
|
||
Allerdings wird die Datei sofort aus dem Verzeichnis
|
||
entfernt. Sie können dieses Verhalten mit einem
|
||
Programm wie <command>more</command> sehr einfach
|
||
nachvollziehen. Dazu brauchen Sie nur eine Datei, die
|
||
groß genug ist, um die Ausgabe von
|
||
<command>du</command> und <command>df</command> zu
|
||
beeinflussen. Bei der Größe aktueller Platten
|
||
muß diese Datei schon <emphasis>sehr</emphasis>
|
||
groß sein! Wenn Sie diese Datei löschen,
|
||
während Sie sie sich in <command>more</command>
|
||
anzeigen lassen, hat <command>more</command> kein Problem.
|
||
Der Eintrag für die Datei wird lediglich aus dem
|
||
Verzeichnis entfernt, damit kein anderes Programm mehr
|
||
darauf zugreifen kann. Laut <command>du</command> ist die
|
||
Datei verschwunden – es hat das Verzeichnis
|
||
untersucht und die Datei nicht gefunden. Laut
|
||
<command>df</command> ist die Datei aber vorhanden, da sie
|
||
im Dateisystem immer noch Platz belegt. Sobald Sie
|
||
<command>more</command> beenden, werden die Ergebnisse von
|
||
<command>du</command> und <command>df</command> wieder
|
||
übereinstimmen.</para>
|
||
|
||
<para>Bitte beachten Sie, daß die Freigabe des
|
||
Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden
|
||
verzögert werden kann.</para>
|
||
|
||
<para>Die oben beschriebene Situation tritt sehr häufig
|
||
auf Web-Servern auf. Viele Anwender installieren einen
|
||
FreeBSD Web-Server und vergessen die Rotation der
|
||
Logfiles, bis irgendwann die Partition
|
||
<filename>/var</filename> überläuft. Der
|
||
Administrator löscht die Datei, aber das System
|
||
beschwert sich immer noch über fehlenden
|
||
Plattenplatz. Die Datei wird erst freigegeben, wenn der
|
||
Web-Server beendet und neu gestartet wird; dadurch kann
|
||
das System den Plattenplatz freigeben. Um solche und
|
||
ähnliche Unfälle zu verhindern, sollten Sie
|
||
&man.newsyslog.8; einsetzen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="add-swap-space">
|
||
<para>Wie kann ich den Swap-Bereich
|
||
vergrößern?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Im Kapitel <ulink
|
||
url="../handbook/config-tuning.html">Konfiguration und
|
||
Tuning</ulink> des Handbuches gibt es einen <ulink
|
||
url="../handbook/adding-swap-space.html">Abschnitt</ulink>
|
||
mit einer Schritt-für-Schritt Anleitung.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="disk-more-than-full">
|
||
<para>Warum kann eine Partition zu mehr als 100% gefüllt
|
||
sein?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%,
|
||
ist für das Betriebssystem und den Benutzer
|
||
<username>root</username> reserviert. &man.df.1; rechnet
|
||
diesen Teil bei der Ausgabe der <literal>Capacity</literal>
|
||
Spalte nicht ein, so daß dort Werte über 100%
|
||
angezeigt werden können. Die Anzahl der Blöcke in
|
||
der <literal>blocks</literal> Spalte ist ebenfalls um 8%
|
||
größer als die Summe der benutzten und
|
||
verfügbaren Blöcke (die Spalten
|
||
<literal>Used</literal> und <literal>Avail</literal>).
|
||
|
||
<para>Wieviel Platz reserviert wird, können Sie mit der
|
||
<option>-m</option> Option von &man.tunefs.8; einstellen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="admin">
|
||
<title>Systemadministration</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="startup-config-files">
|
||
<para>Wo befinden sich die Konfigurationsdateien für
|
||
den Systemstart?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><filename>/etc/defaults/rc.conf</filename> (siehe
|
||
&man.rc.conf.5;) ist die primäre Konfigurationsdatei.
|
||
Die Startskripten des Systems, wie <filename>/etc/rc</filename>
|
||
und <filename>/etc/rc.d</filename> (siehe &man.rc.8;)
|
||
inkludieren diese Datei.
|
||
<emphasis>Ändern Sie diese Datei nicht!</emphasis>
|
||
Wenn Sie den Wert einer der in
|
||
<filename>/etc/defaults/rc.conf</filename> gesetzten
|
||
Variablen ändern wollen, fügen Sie die
|
||
entsprechende Zeile in die Datei
|
||
<filename>/etc/rc.conf</filename> ein und ändern
|
||
die Zeile dort.</para>
|
||
|
||
<para>Wenn Sie zum Beispiel den mitgelieferten DNS-Server
|
||
<application>named</application> aktivieren wollen,
|
||
müssen Sie lediglich das folgende Kommando
|
||
eingeben:</para>
|
||
|
||
<screen>&prompt.root; <userinput>echo named_enable="YES" >> /etc/rc.conf</userinput></screen>
|
||
|
||
<para>Wenn Sie lokale Server starten wollen, müssen
|
||
Sie passende Shellskripten im Verzeichnis
|
||
<filename>/usr/local/etc/rc.d/</filename> ablegen. Die
|
||
Dateien müssen als ausführbar markiert sein und
|
||
die Endung .sh haben.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="adding-users">
|
||
<para>Wie kann ich am Einfachsten einen Benutzer
|
||
hinzufügen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Benutzen Sie den Befehl &man.adduser.8; und für
|
||
kompliziertere Fälle den Befehl &man.pw.8;.</para>
|
||
|
||
<para>Benutzen Sie den Befehl &man.rmuser.8;, um einen
|
||
Benutzer wieder zu löschen. Sie können, wenn
|
||
nötig. auch &man.pw.8; benutzen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="root-not-found-cron-errors">
|
||
<para>Warum erhalte ich Meldungen wie <errorname>root: not
|
||
found</errorname>, nachdem ich meine 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="su-wheel-group">
|
||
<para>Wieso meldet mir &man.su.1; <errorname>you are not in
|
||
the correct group to su root</errorname>, wenn ich mit
|
||
&man.su.1; <username>root</username> werden will?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das ist ein Sicherheits-Feature. Wenn Sie mit
|
||
&man.su.1; zum Account <username>root</username> (oder
|
||
jedem anderen Account mit Super-User-Privilegien) wechseln
|
||
wollen, müssen Sie ein Mitglied der Gruppe
|
||
<groupname>wheel</groupname> sein. Wenn es dieses Feature
|
||
nicht gäbe, könnte jeder, der einen Account auf
|
||
dem System hat und zufällig das Paßwort
|
||
für <username>root</username> erfährt, mit
|
||
Super-User-Rechten auf das System zugreifen. Durch dieses
|
||
Feature ist die Lage anders, wenn Sie nicht Mitglied von
|
||
<groupname>wheel</groupname> sind, können Sie nicht
|
||
einmal versuchen, daß Paßwort
|
||
einzugeben.</para>
|
||
|
||
<para>Um einem Benutzer zu erlauben, mit &man.su.1;
|
||
<username>root</username> zu werden, müssen Sie ihn
|
||
nur in die Gruppe <groupname>wheel</groupname>
|
||
eintragen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="rcconf-readonly">
|
||
<para>Ich habe einen Fehler in der
|
||
<filename>rc.conf</filename> oder einer der anderen
|
||
Dateien für den Systemstart und jetzt kann ich sie
|
||
nicht ändern, weil das Dateisystem
|
||
<quote>read-only</quote> ist. Was kann ich tun?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>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="printer-setup">
|
||
<para>Wieso habe 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>
|
||
|
||
<para>Einige Drucker benötigen einen auf dem Rechner
|
||
laufenden Treiber, um drucken zu können. Diese
|
||
sogenannten <quote>WinPrinter</quote> oder
|
||
<quote>GDI-Drucker</quote> werden von FreeBSD nicht
|
||
unterstützt und an diesem Zustand wird sich wohl auch
|
||
nichts ändern. Wenn Ihr Drucker nicht unter DOS oder
|
||
Windows NT 4.0 verwendet werden kann, handelt es sich um
|
||
einen <quote>WinPrinter</quote> und wird in der Regel auch
|
||
nicht unter FreeBSD funktionieren. Ihre einzige Chance,
|
||
einen dieser Drucker benutzen können, ist der Port
|
||
<filename role="package">ports/print/pnm2ppa</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="keyboard-mappings">
|
||
<para>Wie kann ich die Tastaturbelegung meines Systems
|
||
korrigieren?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Informationen dazu finden Sie im Kapitel <ulink
|
||
url="../handbook/using-localization.html">länderspezifische
|
||
Einstellungen</ulink> des Handbuchs, insbesondere im
|
||
Abschnitt <ulink
|
||
url="../handbook/using-localization.html#SETTING-CONSOLE">Konfiguration
|
||
der Konsole</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="pnp-resources">
|
||
<para>Wieso erhalte ich beim Start des Systems Meldungen wie
|
||
<errorname>unknown: <PNP0303> can't assign
|
||
resources</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die nachfolgende Erklärung stammt aus einer Mail
|
||
auf der Mailingliste freebsd-current.</para>
|
||
|
||
<blockquote>
|
||
<attribution>&a.wollman;, 24 April 2001</attribution>
|
||
|
||
<para>Die Geräte, für die <quote>can't assign
|
||
resources</quote>-Meldungen ausgegeben werden, sind
|
||
<quote>Legacy ISA</quote>Geräte, für die ein nicht
|
||
PNP-fähiger Treiber in den Kernel eingebunden
|
||
wurde. Dabei handelt es sich um Geräte wie den
|
||
Tastaturkontroller, den programmierbaren
|
||
Interrupt-Kontroller und diverse andere
|
||
Standardkomponenten. Die Ressourcen können nicht
|
||
zugewiesen werden, weil es schon einen Treiber gibt, der
|
||
diese Ressourcen benutzt.</para>
|
||
</blockquote>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="user-quotas">
|
||
<para>Wieso funktionieren die Benutzer-Quotas nicht
|
||
richtig?</para>
|
||
</question>
|
||
|
||
<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="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. Ab &os; 3.2 ist System V
|
||
<acronym>IPC</acronym> im <filename>GENERIC</filename>-Kernel
|
||
enthalten. Frühere FreeBSD-Versionen benötigen
|
||
die folgenden Zeilen in der Kernelkonfigurationsdatei:</para>
|
||
|
||
<programlisting>
|
||
options SYSVSHM
|
||
options SYSVSHM # enable shared memory
|
||
options SYSVSEM # enable for semaphores
|
||
options SYSVMSG # enable for messaging
|
||
</programlisting>
|
||
|
||
<para>Kompilieren und installieren Sie einen neuen
|
||
Kernel.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="sendmail-alternative">
|
||
<para>Welchen Mail-Server kann ich an Stelle von Sendmail
|
||
benutzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><ulink url="http://www.sendmail.org/">Sendmail</ulink>
|
||
ist zwar der Mail-Server, der bei FreeBSD
|
||
standardmäßig installiert wird, aber Sie
|
||
können Ihn problemlos durch einen anderen MTA (z.B.
|
||
aus den Ports) ersetzen.</para>
|
||
|
||
<para>In der Port-Sammlung gibt es bereits viele
|
||
verschiedene MTAs, <filename role="package">mail/exim</filename>,
|
||
<filename role="package">mail/postfix</filename>,
|
||
<filename role="package">mail/qmail</filename>,
|
||
<filename role="package">mail/zmailer</filename>
|
||
sind einige der beliebteren Alternativen.</para>
|
||
|
||
<para>Konkurrenz belebt das Geschäft und die Tatsache,
|
||
daß Sie die Qual der Wahl haben, ist ein Vorteil.
|
||
Daher sollten Sie Fragen wie <quote>Ist Sendmail besser
|
||
als Qmail?</quote> besser nicht auf den Mailinglisten
|
||
stellen. Wenn Sie dieses Thema interessiert, sollten sie
|
||
zunächst die Archive durchsehen. Die Vorteile und
|
||
Nachteile jedes einzelnen der verfügbaren MTAs sind
|
||
schon mehrere Male bis zur Erschöpfung diskutiert
|
||
worden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="forgot-root-pw">
|
||
<para>Was kann ich machen, wenn ich das Rootpasswort
|
||
vergessen habe?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Keine Panik! Starten Sie Ihr System 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 &man.exit.1;
|
||
können Sie mit dem Booten fortfahren.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="CAD-reboot">
|
||
<para>Wie verhindere ich, daß das System mit
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>Alt</keycap>
|
||
<keycap>Delete</keycap>
|
||
</keycombo>
|
||
rebootet werden kann?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls Sie syscons (den Standard-Treiber für die
|
||
Konsole) benutzen, erstellen und installieren Sie einen
|
||
neuen Kernel mit der Option</para>
|
||
|
||
<programlisting>options SC_DISABLE_REBOOT</programlisting>
|
||
|
||
<para>in der Konfigurationsdatei. Falls Sie den
|
||
Konsolen-Treiber PCVT verwenden, benutzen Sie stattdessen
|
||
die folgende Kernelkonfigurationszeile:</para>
|
||
|
||
<programlisting>options PCVT_CTRL_ALT_DEL</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="dos-to-unix-txt">
|
||
<para>Wie kann ich Textdateien von DOS Systemen auf &unix;
|
||
Systemen verwenden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Benutzen Sie 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 &man.tr.1;
|
||
benutzen:</para>
|
||
|
||
<screen>&prompt.user; <userinput>tr -d '\r' < <replaceable>dos-text-file</replaceable> > <replaceable>unix-file</replaceable></userinput></screen>
|
||
|
||
<para><replaceable>dos-text-file</replaceable> ist die
|
||
Datei, die den Text im DOS-Format enthält und
|
||
<replaceable>unix-file</replaceable> wird die konvertierte
|
||
Ausgabe enthalten. Diese Möglichkeit könnte
|
||
etwas schneller sein, als die Benutzung von Perl.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="kill-by-name">
|
||
<para>Wie beende ich Prozesse namentlich?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Benutzen Sie &man.killall.1;.</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
|
||
<makevar>MAKE_KERBEROS</makevar> aus der
|
||
<filename>/etc/make.conf</filename> entfernen und dann ein
|
||
make world durchführen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="where-is-makedev">
|
||
<para>Wo ist <filename>/dev/MAKEDEV</filename> hin?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ab FreeBSD 5.X werden Geräte automatisch
|
||
von &man.devfs.8; zur Verfügung gestellt. Die
|
||
Gerätetreiber erstellen die Gerätedateien,
|
||
wenn diese benötigt werden. Das Skript
|
||
<filename>/dev/MAKEDEV</filename> wird nicht mehr
|
||
gebraucht.</para>
|
||
|
||
<para>Wenn Sie FreeBSD 4.X oder eine frühere
|
||
Version benutzen und <filename>/dev/MAKEDEV</filename>
|
||
fehlt, dann haben Sie ein Problem. Kopieren Sie das
|
||
Skript aus den Systemquellen. Es liegt wahrscheinlich
|
||
unter <filename>/usr/src/etc/MAKEDEV</filename>.</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>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Erstellen und installieren Sie einen neuen Kernel
|
||
mit der Zeile</para>
|
||
|
||
<programlisting>
|
||
pseudo-device pty 256
|
||
</programlisting>
|
||
|
||
<para>in der Konfigurationsdatei.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Starten Sie das System mit dem neuen Kernel
|
||
erneut, wenn Sie bereit sind.</para>
|
||
</step>
|
||
</procedure>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="create-snd0">
|
||
<para>Warum kann ich 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>
|
||
|
||
<note>
|
||
<para>Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
|
||
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
|
||
verwenden. Die Gerätedateien werden in diesem Fall
|
||
automatisch in <filename>/dev</filename> erstellt.</para>
|
||
</note>
|
||
</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="release-candidate">
|
||
<para>Ich wollte auf das aktuelle -STABLE updaten, und
|
||
plötzlich läuft hier ein -RC oder -PRERELEASE. 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 -PRERELEASE bedeutet bei FreeBSD
|
||
normalerweise, daß die Sourcen zur Vorbereitung auf eine
|
||
Release <quote>eingefroren</quote> wurden (in einigen Releases
|
||
wurde -BETA anstelle von -PRERELEASE verwendet).</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. Seit 4.3-RELEASE
|
||
gibt es es nun auch einen eigenen Zweig für jede
|
||
Release, der für die Leute gedacht ist, die ein sehr
|
||
konservativ weiterentwickeltes System benötigen (im
|
||
Normalfall also nur Updates aus dem Bereich
|
||
Sicherheit).</para>
|
||
|
||
<para>Bevor in einem Zweig eine Release erfolgt, 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.5-STABLE genannt
|
||
wurde, wird der Name in 4.6-PRERELEASE geändert, um dies zu
|
||
verdeutlichen. Weiterhin ist das ein Zeichen, daß
|
||
jetzt besonders intensiv getestet werden sollte. In
|
||
dieser Phase können Fehler im Sourcecode noch
|
||
korrigiert werden. Wenn der Sourcecode so weit
|
||
<quote>gereift</quote> ist, daß eine Release
|
||
erstellt werden kann, wird der Name in 4.6-RC
|
||
geändert, um genau dies anzuzeigen. In dieser Phase
|
||
können nur noch extrem wichtige Korrekturen
|
||
aufgenommen werden. Sobald die Release (in diesem Beispiel
|
||
4.6-RELEASE) erfolgt ist, wird der Zweig in 4.6-STABLE
|
||
umbenannt.</para>
|
||
|
||
<para>Weitere Informationen über Versionsnummern und die
|
||
verschiedenen Entwicklungszweige enthält der Artikel
|
||
<ulink url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/article.html">Release
|
||
Engineering</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="kernel-chflag-failure">
|
||
<para>Als ich versucht habe, einen neuen Kernel zu
|
||
installieren, ist das 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>Warum braucht &man.rpc.statd.8; 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 Vergrößerung dieser Projektion entstehen
|
||
könnte, wird gleich ein möglichst großer
|
||
Speicherbereich benutzt. Dies kann man sehr schön im
|
||
Sourcecode sehen: Die Längenangabe beim Aufruf von
|
||
&man.mmap.2; ist <literal>0x10000000</literal>, ein
|
||
sechzehntel des Adreßraums bei IA32, oder genau 256
|
||
MByte.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="unsetting-schg">
|
||
<para>Warum kann ich das Dateiattribut
|
||
<literal>schg</literal> nicht löschen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie betreiben Ihr System mit einer erhöhten
|
||
Sicherheitsstufe. Senken Sie die Sicherheitsstufe und
|
||
versuchen Sie es dann noch einmal. Weitere Informationen
|
||
erhalten Sie im <link linkend="securelevel">FAQ Eintrag
|
||
über Sicherheitsstufen</link> und in der Online-Hilfe
|
||
&man.init.8;.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ssh-shosts">
|
||
<para>Warum funktioniert die <filename>.shosts</filename>
|
||
Authentifizierung von SSH in neueren Version von FreeBSD
|
||
nicht mehr?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die <filename>.shosts</filename>
|
||
Authentifizierung funktioniert nicht mehr, weil
|
||
&man.ssh.1; in neueren Versionen von FreeBSD nicht mehr
|
||
SUID-<username>root</username> installiert wird. Um dieses
|
||
Problem zu <quote>lösen</quote>, gibt es die folgenden
|
||
Möglichkeiten:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Um das Problem für immer zu lösen,
|
||
müssen Sie in <filename>/etc/make.conf</filename>
|
||
die Variable <makevar>ENABLE_SUID_SSH</makevar> auf
|
||
<literal>true</literal> setzen und ssh neu
|
||
übersetzen (oder <command>make world</command>
|
||
ausführen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Übergangsweise können Sie auch die
|
||
Dateirechte von <filename>/usr/bin/ssh</filename> auf
|
||
<literal>4555</literal> setzen, indem Sie den Befehl
|
||
<command>chmod 4555 /usr/bin/ssh</command> als
|
||
<username>root</username> ausführen. Fügen
|
||
Sie anschließend <makevar>ENABLE_SUID_SSH=
|
||
true</makevar> in die Datei
|
||
<filename>/etc/make.conf</filename> ein, damit diese
|
||
Änderung erhalten bleibt, wenn Sie das
|
||
nächste Mal <command>make world</command>
|
||
ausführen.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="vnlru">
|
||
<para>Was ist <literal>vnlru</literal>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><literal>vnlru</literal> schreibt vnodes auf Platte
|
||
und gibt sie wieder frei, falls das System die Grenzwert
|
||
<varname>kern.maxvnodes</varname> erreicht. Dieser Thread
|
||
des Kernel tut meistens gar nichts und wird nur aktiv,
|
||
wenn Sie extrem viel RAM haben und gleichzeitig auf viele
|
||
zehntausende kleine Dateien zugreifen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="top-memory-states">
|
||
<para>Was bedeuten die Zustände, die
|
||
<command>top</command> für Speicherseiten ausgibt?</para>
|
||
</question>
|
||
<!-- Provided by John Dyson via Usenet -->
|
||
<answer>
|
||
<para>Speicherseiten werden vom Kernel in
|
||
verschiedenen Listen verwaltet:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para><literal>Active</literal>: Seiten, die vor
|
||
Kurzem benutzt wurden.</para></listitem>
|
||
|
||
<listitem><para><literal>Inactive</literal>: Seiten, die
|
||
länger nicht benutzt wurden.</para></listitem>
|
||
|
||
<listitem><para><literal>Cache</literal>: Meistens
|
||
Seiten, die vorher im Zustand <literal>Inactive</literal>
|
||
waren und noch gültige Daten enthalten. Diese
|
||
Seiten können sofort in ihrem alten Kontext oder
|
||
in einem neuen Kontext verwendet werden. Wenn eine
|
||
Seite unverändert
|
||
(<foreignphrase>clean</foreignphrase>) ist, kann
|
||
ein Zustandswechsel direkt von <literal>Active</literal>
|
||
nach <literal>Cache</literal> erfolgen.
|
||
Ob dieser Zustandswechsel möglich ist, wird durch
|
||
die Seitenersetzungsstrategie bestimmt, die der
|
||
Entwickler des VM-Systems festgelegt hat.</para></listitem>
|
||
|
||
<listitem><para><literal>Free</literal>: Seiten, die
|
||
keine Daten enthalten. Diese Seiten können
|
||
sofort benutzt werden, wenn Seiten im Zustand
|
||
<literal>Cache</literal> nicht benutzt werden
|
||
können. Seiten im Zustand <literal>Free</literal>
|
||
können auch während eines Interrupts
|
||
angefordert werden.</listitem>
|
||
|
||
<listitem><para><literal>Wired</literal>: Seiten, die
|
||
fest im Speicher liegen und nicht ausgelagert werden
|
||
können. Normalerweise werden solche Seiten vom
|
||
Kernel benutzt, manchmal werden Sie aber auch für
|
||
spezielle Zwecke von Prozessen verwendet.</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Seiten im Zustand <literal>Inactive</literal>
|
||
werden oft auf Plattenspeicher geschrieben (sozusagen
|
||
ein <command>sync</command> des VM-Systems). Wenn
|
||
die CPU erkennen kann, das eine Seite unmodifiziert
|
||
(<foreignphrase>clean</foreignphrase>) ist, kann
|
||
auch eine <literal>Active</literal>-Seite auf den
|
||
Plattenspeicher ausgeschrieben werden. In bestimmten
|
||
Situationen ist es von Vorteil, wenn ein Block von
|
||
VM-Seiten, unabhängig von seinem Zustand,
|
||
ausgeschrieben werden kann. Die
|
||
<literal>Inactive</literal>-Liste enthält wenig
|
||
benutzte Seiten, die ausgeschrieben werden könnten.
|
||
Seiten im Zustand <literal>Cached</literal> sind
|
||
schon ausgeschrieben und stehen Prozessen für
|
||
die Verwendung im alten oder in einem neuen Kontext
|
||
zur Verfügung. Seiten im Zustand
|
||
<literal>Cache</literal> sind nicht ausreichend
|
||
geschützt und können während Unterbrechungen
|
||
nicht benutzt werden.</para>
|
||
|
||
<para>Die eben beschriebene Behandlung von Speicherseiten
|
||
kann durch weitere Zustände (wie das
|
||
das Busy-Flag) verändert werden.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="free-memory-amount">
|
||
<para>Wieviel freien Speicher hat mein System?</para>
|
||
</question>
|
||
<!-- Provided by John Dyson via Usenet -->
|
||
<answer>
|
||
<para>Es gibt verschiedene Arten von <quote>freiem
|
||
Speicher</quote>. Eine Art ist die Speichermenge,
|
||
die sofort, ohne etwas auszulagern, zur Verfügung
|
||
steht. Der gesamte <acronym>VM</acronym>-Bereich
|
||
ist eine weitere Art des <quote>freien Speichers</quote>.
|
||
Die Betrachtung ist komplex, hängt aber von
|
||
der Größe des Swap-Bereichs und der
|
||
Größe des Arbeitsspeichers ab. Es gibt
|
||
weitere Definitionen für <quote>freien Speicher</quote>,
|
||
die aber alle relativ nutzlos sind. Wichtig ist
|
||
hingegen, dass wenig Seiten ausgelagert
|
||
werden (<foreignphrase>paging</foreignphrase>) und der
|
||
Swap-Bereich ausreichend groß ist.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="var-empty">
|
||
<para>Ich kann <filename>/var/empty</filename> nicht
|
||
löschen!</para>
|
||
</question>
|
||
<answer>
|
||
<para>Das Verzeichnis <filename>/var/empty</filename>
|
||
wird von &man.sshd.8; benötigt, wenn es mit
|
||
<quote>Privilege Separation</quote> läuft.
|
||
Das Verzeichnis <filename>/var/empty</filename> ist
|
||
leer, gehört <username>root</username> und
|
||
ist durch das Dateiattribut <literal>schg</literal>
|
||
geschützt.</para>
|
||
|
||
<para>Wir empfehlen Ihnen, das Verzeichnis zu belassen.
|
||
Sollten Sie es aber trotzdem löschen wollen,
|
||
müssen Sie zuerst das <literal>schg</literal>-Attribut
|
||
entfernen. Schauen Sie sich dazu die Hilfeseite
|
||
&man.chflags.1; an und beachten Sie die Antwort auf
|
||
die Frage <link linkend="unsetting-schg">wie das
|
||
<literal>schg</literal>-Attribut entfernt wird.</link></para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="x">
|
||
<title>Das X Window System und virtuelle Konsolen</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="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 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 Sicherheitsstufe wieder zurück auf 0 (die
|
||
Einstellung erfolgt in der Regel in
|
||
<filename>/etc/rc.conf</filename>) oder starten Sie
|
||
&man.xdm.1; während des Starts des Systems, bevor die
|
||
Sicherheitsstufe erhöht wird.</para>
|
||
|
||
<para>Der Abschnitt <xref linkend="xdm-boot"> enthält
|
||
Informationen darüber, wie Sie &man.xdm.1; beim Start
|
||
des Systems starten können.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="x-and-moused">
|
||
<para>Warum funktioniert meine Maus unter X nicht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn Sie 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 <devicename>/dev/sysmouse</devicename>. Ü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> 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
|
||
<devicename>/dev/mouse</devicename> zu benutzen. Hierzu
|
||
sollte <devicename>/dev/mouse</devicename> nach
|
||
<devicename>/dev/sysmouse</devicename> 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 Maustasten 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 Sie 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>
|
||
lauten. 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
|
||
XFree86 3.3.X für Mäuse mit Rad und
|
||
Umsetzung durch
|
||
<command>moused</command></title>
|
||
|
||
<programlisting>
|
||
Section "Pointer"
|
||
Protocol "SysMouse"
|
||
Device "/dev/sysmouse"
|
||
Buttons 5
|
||
EndSection
|
||
</programlisting>
|
||
</example>
|
||
|
||
<example>
|
||
<title>Abschnitt <quote>InputDevice</quote> für
|
||
Rad-Mäuse in der XF86Config von XFree86 4.X
|
||
mit Umsetzung durch den X Server</title>
|
||
|
||
<programlisting>
|
||
Section "InputDevice"
|
||
Identifier "Mouse1"
|
||
Driver "mouse"
|
||
Option "Protocol" "auto"
|
||
Option "Device" "/dev/sysmouse"
|
||
Option "Buttons" "5"
|
||
EndSection
|
||
</programlisting>
|
||
</example>
|
||
|
||
<example>
|
||
<title><quote>.emacs</quote> Konfiguration
|
||
für seitenweises Blättern mit einer
|
||
Rad-Maus</title>
|
||
|
||
<programlisting>
|
||
;; wheel mouse
|
||
(global-set-key [mouse-4] 'scroll-down)
|
||
(global-set-key [mouse-5] 'scroll-up)
|
||
</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>
|
||
|
||
<example>
|
||
<title>Abschnitt <quote>InputDevice</quote> der
|
||
Datei XF86Config von XFree86 4.X mit Umsetzung
|
||
durch den X Server</title>
|
||
|
||
<programlisting>Section "InputDevice"
|
||
Identifier "Mouse1"
|
||
Driver "mouse"
|
||
Option "Protocol" "auto"
|
||
Option "Device" "/dev/psm0"
|
||
Option "ZAxisMapping" "4 5"
|
||
EndSection</programlisting>
|
||
</example>
|
||
|
||
<example>
|
||
<title><quote>.emacs</quote> Beispiel für
|
||
seitenweises Blättern mit einer
|
||
Rad-Maus</title>
|
||
|
||
<programlisting>;; wheel mouse
|
||
(global-set-key [mouse-4] 'scroll-down)
|
||
(global-set-key [mouse-5] 'scroll-up)</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
|
||
<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
|
||
(mwheel-install)
|
||
(setq mwheel-follow-mouse t)
|
||
;;; 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 einzugeben,
|
||
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
|
||
<quote>PID files</quote> 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="no-remote-x11">
|
||
<para>X verbietet Verbindungen von entfernten Systemen!</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Aus Sicherheitsgründen verbietet der X-Server
|
||
in der Voreinstellung Verbindungen von entfernten
|
||
Systemen.</para>
|
||
|
||
<para>Starten Sie den X-Server mit der Option
|
||
<option>-listen_tcp</option>, wenn Sie Verbindungen von
|
||
entfernten Systemen erlauben wollen:</para>
|
||
|
||
<screen>&prompt.user; <userinput>startx -listen_tcp</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="window-menu-weird">
|
||
<para>Wieso funktionieren Menüs und Dialoge in X nicht
|
||
richtig?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Versuchen Sie, die <keycap>Num Lock</keycap>-Taste
|
||
auszustellen.</para>
|
||
|
||
<para>Falls Ihre <keycap>Num Lock</keycap>-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 Paßwort
|
||
eingeben und anfangen, zu arbeiten (oder zu
|
||
spielen!).</para>
|
||
|
||
<para>Gelegentlich möchten Sie möglicherweise eine
|
||
weitere Sitzung starten wollen, vielleicht, um die
|
||
Dokumentation zu einem Programm, das Sie gerade benutzen,
|
||
einzusehen, oder, um Ihre Mails zu lesen, während Sie
|
||
auf das Ende einer FTP-Übertragung warten.
|
||
Drücken Sie einfach <keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F2</keycap>
|
||
</keycombo> (halten Sie die <keycap>Alt</keycap>-Taste
|
||
gedrückt und drücken Sie die Taste <keycap>F2</keycap>)
|
||
und Sie gelangen zur Anmelde-Aufforderung auf der zweiten
|
||
<quote>virtuellen Konsole</quote>! Wenn Sie zurück
|
||
zur ersten Sitzung möchten, drücken Sie
|
||
<keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F1</keycap>
|
||
</keycombo>.</para>
|
||
|
||
<para>Die standard Installation von FreeBSD bietet drei
|
||
aktivierte virtuelle Konsolen (acht ab der Version 3.3) und
|
||
<keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F1</keycap>
|
||
</keycombo>,
|
||
<keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F2</keycap>
|
||
</keycombo>,
|
||
<keycombo action="simul">
|
||
<keycap>Alt</keycap>
|
||
<keycap>F3</keycap>
|
||
</keycombo>
|
||
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>
|
||
|
||
<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>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>
|
||
|
||
<note>
|
||
<para>Wenn Sie mit FreeBSD 5.X <literal>DEVFS</literal>
|
||
benutzen, brauchen Sie die Gerätedateien nicht manuell
|
||
anzulegen, da sie automatisch in
|
||
<filename class="directory">/dev</filename> erstellt
|
||
werden.</para>
|
||
</note>
|
||
|
||
<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 (das heißt 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
|
||
&man.getty.8; 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
|
||
<devicename>/dev/ttyv3</devicename> nutzt. Die beiden Zahlen
|
||
weichen voneinander ab: Der X-Server beginnt die
|
||
Zählung der vty bei 1, während der
|
||
FreeBSD-Kernel bei 0 beginnt.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="xconsole-failure">
|
||
<para>Wieso erhalte ich die Meldung <errorname>Couldn't open
|
||
console</errorname>, wenn ich xconsole benutze?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn Sie <application>X</application> mit
|
||
<command>startx</command> starten, werden die
|
||
Zugriffsrechte für
|
||
<devicename>/dev/console</devicename> leider
|
||
<emphasis>nicht</emphasis> geändert, was dazu
|
||
führt, 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 &man.fbtab.5;, 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
|
||
<devicename>/dev/ttyv0</devicename> anmeldet, auch die Konsole
|
||
besitzt.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="xfree86-root">
|
||
<para>Früher konnte ich XFree86 als normaler User
|
||
starten. Warum sagt mir das System jetzt, daß ich
|
||
<username>root</username> 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 <username>root</username>). 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
|
||
<username>root</username>".</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
|
||
gute 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
|
||
Entsprechung von &man.getty.8; und &man.login.1;.
|
||
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>Warum funktioniert meine PS/2-Maus nicht
|
||
richtig?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ihre Maus und der Maustreiber sind etwas aus der
|
||
Synchronisation geraten.</para>
|
||
|
||
<para>In seltenen Fällen kann es jedoch sein,
|
||
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 Bildschirms.</para>
|
||
|
||
<para>Das Flag 0x04 des Maustreibers bringt die Maus
|
||
in den hochauflösenden Modus. Rufen Sie
|
||
<emphasis>UserConfig</emphasis> durch Angabe der Option
|
||
<option>-c</option> am Boot-Prompt auf:</para>
|
||
|
||
<screen>boot: <userinput>-c</userinput></screen>
|
||
|
||
<para>Geben sie dann in der Kommandozeile von
|
||
<emphasis>UserConfig</emphasis> folgendes ein:</para>
|
||
|
||
<screen>UserConfig> <userinput>flags psm0 0x04</userinput>
|
||
UserConfig> <userinput>quit</userinput></screen>
|
||
|
||
<para>Lesen Sie den vorigen Abschnitt über eine andere
|
||
mögliche Ursache für Probleme mit der
|
||
Maus.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="imake-tmpl">
|
||
<para>Wenn ich eine X-Anwendung 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-Anwendungen. <filename>Imake.tmpl</filename> ist
|
||
ebenso, wie viele Header-Dateien, die zur Erstellung von
|
||
X-Anwendungen 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="xfree86-version">
|
||
<para>Was kann ich tun, wenn ich XFree86 4.X installiert
|
||
habe und eine X-Anwendung compilieren will, die XFree86
|
||
3.3.X braucht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie können dem Port mitteilen, daß er die
|
||
Bibliotheken von XFree86 4.X benutzen soll, indem Sie die
|
||
folgende Zeile in die Datei
|
||
<filename>/etc/make.conf</filename> eintragen:</para>
|
||
|
||
<programlisting>XFREE86_VERSION= 4</programlisting>
|
||
|
||
<para>Wenn die Datei noch nicht existieren sollte, legen Sie
|
||
sie einfach an.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="mouse-button-reverse">
|
||
<para>Wie vertausche ich die Maustasten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Benutzen Sie den Befehl <command>xmodmap -e "pointer =
|
||
3 2 1"</command> in Ihrer <filename>.xinitrc</filename>
|
||
oder <filename>.xsession</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="install-splash">
|
||
<para>Wie installiere ich einen Splash-Screen und wo finde
|
||
ich sie?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>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.
|
||
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/"></ulink>
|
||
surfen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="windows-keys">
|
||
<para>Kann ich die <trademark
|
||
class="registered">Windows</trademark>-Tasten unter X
|
||
benutzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja, Sie müssen lediglich mit &man.xmodmap.1;
|
||
festlegen, welche Aktion diese Tasten auslösen
|
||
sollen.</para>
|
||
|
||
<para>Unter der Annahme, daß alle <quote><trademark
|
||
class="registered">Windows</trademark></quote> Tastaturen
|
||
dem Standard entsprechen, lauten die Keycodes für die
|
||
drei Tasten</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>115 - <trademark
|
||
class="registered">Windows</trademark> Taste zwischen den
|
||
<keycap>Alt</keycap>- und
|
||
<keycap>Strg</keycap>-Tasten auf der linken Seite</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>116 - <trademark
|
||
class="registered">Windows</trademark> Taste rechts von der
|
||
<keycap>AltGr</keycap>-Taste</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>117 - <keycap>Menü</keycap>-Taste, links von der
|
||
rechten <keycap>Strg</keycap>-Taste</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Nach der folgenden Anweisung erzeugt die linke
|
||
<trademark class="registered">Windows</trademark>-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 <trademark
|
||
class="registered">Windows</trademark>-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>Sie könnten die drei Tasten zum Beispiel mit den
|
||
Funktionen <keycap>F13</keycap>, <keycap>F14</keycap> und
|
||
<keycap>F15</keycap> belegen. Dadurch ist es sehr
|
||
einfach, diese Tasten mit nützlichen Funktionen eines
|
||
Programmes oder Desktops zu verknüpfen.</para>
|
||
|
||
<para>Falls Sie das auch tun wollen, sollten in Ihrer
|
||
<filename>~/.xmodmaprc</filename> die folgenden
|
||
Anweisungen stehen.</para>
|
||
|
||
<programlisting>
|
||
keycode 115 = F13
|
||
keycode 116 = F14
|
||
keycode 117 = F15
|
||
</programlisting>
|
||
|
||
<para>Falls Sie zum Beispiel <command>fvwm2</command>
|
||
benutzen, können Sie ihn so einstellen, daß
|
||
<keycap>F13</keycap> das Fenster unter dem Mauszeiger
|
||
minimiert bzw. maximiert. <keycap>F14</keycap> holt das
|
||
Fenster unter dem Mauszeiger in den Vordergrund bzw.
|
||
ganz nach hinten, wenn es bereits im Vordergrund ist.
|
||
<keycap>F15</keycap> öffnet das Arbeitsplatz
|
||
(Programme) Menü, auch wenn der Cursor nicht auf den
|
||
Hintergrund zeigt. Dies ist extrem praktisch, wenn der
|
||
gesamte Bildschirm von Fenster belegt wird; als kleiner
|
||
Bonus gibt es sogar einen Zusammenhang zwischen dem Symbol
|
||
auf der Taste und der durchgeführten Aktion.</para>
|
||
|
||
<para>Dieses Verhalten kann man mit den folgenden
|
||
Einträgen in der Datei <filename>~/.fvwmrc</filename>
|
||
erhalten:</para>
|
||
|
||
<programlisting>
|
||
Key F13 FTIWS A Iconify
|
||
Key F14 FTIWS A RaiseLower
|
||
Key F15 A A Menu Workplace Nop
|
||
</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="x-3d-acceleration">
|
||
<para>Wird 3D Hardware Beschleunigung für OpenGL
|
||
unterstützt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies hängt davon ab, welche Version von XFree86
|
||
und welche Karte Sie verwenden. Wenn Sie eine Karte mit
|
||
NVIDIA-Chipsatz besitzen, benutzen Sie die binären
|
||
Treiber für FreeBSD 4.7, die Sie auf der
|
||
<ulink url="http://www.nvidia.com/content/drivers/drivers.asp">
|
||
Drivers-Seite</ulink> von NVIDEA finden.
|
||
Wenn Sie XFree86-4 und Karten wie
|
||
die Matrox G200/G400, ATI Rage 128/Radeon, oder 3dfx
|
||
Voodoo 3, 4, 5, und Banshee einsetzen, erhalten Sie
|
||
weitere Informationen auf der Webseite <ulink
|
||
url="http://people.FreeBSD.org/~anholt/dri/">XFree86-4
|
||
Direct Rendering on FreeBSD</ulink>. Wenn Sie XFree86 in
|
||
der Version 3.3 einsetzen, erhalten Sie
|
||
eingeschränkte Unterstützung von die
|
||
Hardware-Beschleunigung bei OpenGL für die Matrox
|
||
Gx00, ATI Rage Pro, SiS 6326, i810, Savage, und Karten,
|
||
die auf älteren NVIDIA Chipsätzen beruhen, wenn
|
||
Sie den Port <filename role="package">graphics/utah-glx</filename>
|
||
installieren.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="networking">
|
||
<title>Netzwerke</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="diskless-booting">
|
||
<para>Woher kann ich Informationen über <quote>Diskless
|
||
Booting</quote> bekommen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><quote>Diskless Booting</quote> bedeutet, 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 Operation</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="router">
|
||
<para>Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
|
||
werden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Genaue Informationen zu diesem Thema finden Sie
|
||
im Kapitel <ulink url="../handbook/advanced-networking.html">
|
||
Advanced Networking</ulink>, im Abschnitt <ulink
|
||
url="../handbook/routing.html">
|
||
Gateways und Routen</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="win95-connection">
|
||
<para>Kann ich meine Windows-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 einer Windows-Variante. Die Idee ist, die
|
||
FreeBSD-Maschine an das Internet anzubinden, um in der
|
||
Lage zu sein, von der Windows-Maschine über die
|
||
FreeBSD-Maschine auf das Internet zuzugreifen. Das
|
||
ist tatsächlich nur ein Spezialfall der vorherigen
|
||
Frage.</para>
|
||
|
||
<para>Das User-Mode &man.ppp.8; von &os; kennt die Option
|
||
<option>-nat</option>. Wenn Sie &man.ppp.8; mit der Option
|
||
<option>-nat</option> starten, in
|
||
<filename>/etc/rc.conf</filename> die Variable
|
||
<literal>gateway_enable</literal> auf
|
||
<literal>YES</literal> setzen und ihre Windows-Maschine
|
||
korrekt konfigurieren, sollte das hervorragend
|
||
funktionieren. Weitere Informationen erhalten Sie
|
||
in der Hilfeseite &man.ppp.8; oder im
|
||
<ulink url="../handbook/userppp.html">Abschnitt
|
||
User-PPP des Handbuchs</ulink>.</para>
|
||
|
||
<para>Wenn Sie Kernel-Mode PPP verwenden oder ihre
|
||
Verbindung zum Internet über Ethernet erstellt
|
||
wurde, müssen Sie &man.natd.8; verwenden. Weitere
|
||
Informationen dazu finden Sie im <ulink
|
||
url="../handbook/network-natd.html">natd-Abschnitt</ulink>
|
||
des Handbuchs.</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;.
|
||
&man.ppp.8; und &man.pppd.8; liefern Unterstützung
|
||
sowohl für eingehende, als auch ausgehende
|
||
Verbindungen. &man.sliplogin.8; behandelt
|
||
ausschließlich eingehende Verbindungen und
|
||
&man.slattach.8; behandelt ausschließlich ausgehende
|
||
Verbindungen.</para>
|
||
|
||
<para>Diese Programme werden im Abschnitt <ulink
|
||
url="../handbook/ppp-and-slip.html">PPP und SLIP</ulink>
|
||
des Handbuchs beschrieben.</para>
|
||
|
||
<para>Falls Sie nur durch einen <quote>Shell-Account</quote>
|
||
Zugang zum Internet haben, sehen Sie sich einmal das
|
||
Package <filename role="package">net/slirp</filename> an.
|
||
Es kann Ihnen (eingeschränkten) Zugang zu Diensten
|
||
wie ftp und http direkt von Ihrer lokalen Maschine aus
|
||
ermöglichen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="natd">
|
||
<para>Unterstützt FreeBSD NAT oder
|
||
Masquerading?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Wenn Sie NAT über eine User-PPP-Verbindung
|
||
einsetzen wollen, lesen Sie bitte den <ulink
|
||
url="../handbook/userppp.html">User-PPP Abschnitt</ulink>
|
||
des Handbuchs. Wollen Sie NAT über eine andere
|
||
Verbindung einsetzen, lesen Sie bitte den
|
||
<ulink url="../handbook/network-natd.html">NATD Abschnit</ulink>
|
||
des Handbuchs.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="parallel-connect">
|
||
<para>Wie verbinde ich zwei FreeBSD-Maschinen mit PLIP
|
||
über die parallele Schnittstelle?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieses Thema wird im Handbuch-Kapitel <ulink
|
||
url="../handbook/plip.html">PLIP</ulink>
|
||
behandelt.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="create-dev-net">
|
||
<para>Wieso kann ich das Gerät
|
||
<devicename>/dev/ed0</devicename> nicht erstellen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Weil das nicht notwendig ist. Bei Berkeley-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>Wenn sich die zweite Adresse im gleichen Subnetz
|
||
befindet wie eine der Adressen, die bereits auf dem
|
||
Interface konfiguriert sind, benutzen Sie <literal>netmask
|
||
0xffffffff</literal> in Ihrer &man.ifconfig.8;
|
||
Befehlszeile, wie z.B.:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff</userinput></screen>
|
||
|
||
<para>Andernfalls geben sie die Adresse und die Netzmaske so
|
||
an, wie sie es bei einem normalen Interface auch tun
|
||
würden:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00</userinput></screen>
|
||
</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 &man.ifconfig.8;-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>Warum habe ich Probleme mit NFS und 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 <errorname>can't change
|
||
attributes</errorname> und <errorname>bad exports
|
||
list</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die häufigste Ursache für dieses Problem
|
||
ist, daß Sie den Aufbau der &man.exports.5; nicht
|
||
oder nicht richtig verstanden haben. Überprüfen
|
||
Sie Ihre &man.exports.5; und lesen das Kapitel <ulink
|
||
url="../handbook/nfs.html">NFS</ulink> im Handbuch,
|
||
speziell den Abschnitt <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/nfs.html#CONFIGURING-NFS">Konfiguration</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-nextstep">
|
||
<para>Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu
|
||
kommunizieren?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Versuchen Sie, die TCP-Erweiterung in
|
||
<filename>/etc/rc.conf</filename> zu deaktivieren, indem
|
||
Sie die folgende Variable auf 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 standardmäßig
|
||
unterstützt. Wenn Sie Ihre Maschine als Multicast-Router
|
||
betreiben wollen, müssen Sie Ihren Kernel mit der Option
|
||
<literal>MROUTING</literal> neu kompilieren und
|
||
&man.mrouted.8; starten. Wenn Sie die Variable
|
||
<literal>mrouted_enable</literal> in der Datei
|
||
<filename>/etc/rc.conf</filename> auf
|
||
<literal>"YES"</literal> setzen, wird &man.mrouted.8;
|
||
während des Systemstart automatisch gestartet.</para>
|
||
|
||
<para>MBONE-Tools sind in ihrer eigenen Ports-Kategorie
|
||
<ulink
|
||
url="http://www.FreeBSD.org/ports/mbone.html">mbone</ulink>
|
||
verfügbar. Schauen Sie dort nach, wenn Sie die
|
||
Konferenztools <command>vic</command> und
|
||
<command>vat</command> suchen!</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="dec-pci-chipset">
|
||
<para>Welche Netzwerkkarten basieren auf dem
|
||
DEC-PCI-Chipsatz?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Hier ist eine von Glen Foster
|
||
<email>gfoster@driver.nsta.org</email> zusammengetragene
|
||
Liste mit einigen aktuellen Ergänzungen:</para>
|
||
|
||
<table>
|
||
<title>Netzwerkkarten mit DEC-PCI-Chipsatz</title>
|
||
|
||
<tgroup cols=2>
|
||
<thead>
|
||
<row>
|
||
<entry>Vendor</entry>
|
||
|
||
<entry>Model</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>ASUS</entry>
|
||
|
||
<entry>PCI-L101-TB</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Accton</entry>
|
||
|
||
<entry>ENI1203</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Cogent</entry>
|
||
|
||
<entry>EM960PCI</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Compex</entry>
|
||
|
||
<entry>ENET32-PCI</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>D-Link</entry>
|
||
|
||
<entry>DE-530</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Dayna</entry>
|
||
|
||
<entry>DP1203, DP2100</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>DEC</entry>
|
||
|
||
<entry>DE435, DE450</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Danpex</entry>
|
||
|
||
<entry>EN-9400P3</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>JCIS</entry>
|
||
|
||
<entry>Condor JC1260</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Linksys</entry>
|
||
|
||
<entry>EtherPCI</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Mylex</entry>
|
||
|
||
<entry>LNP101</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>SMC</entry>
|
||
|
||
<entry>EtherPower 10/100 (Modell 9332)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>SMC</entry>
|
||
|
||
<entry>EtherPower (Model 8432)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>TopWare</entry>
|
||
|
||
<entry>TE-3500P</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Znyx (2.2.X)</entry>
|
||
|
||
<entry>ZX312, ZX314, ZX342, ZX345, ZX346,
|
||
ZX348</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Znyx (3.X)</entry>
|
||
|
||
<entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
|
||
ZX444, ZX474, ZX478, ZX212, ZX214
|
||
(10mbps/hd)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="fqdn-hosts">
|
||
<para>Warum 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.example.org
|
||
befinden und einen Host namens <hostid>mumble</hostid> in
|
||
der Domäne <hostid
|
||
role="domainname">example.org</hostid> erreichen wollen,
|
||
werden Sie den fully-qualified Domainnamen <hostid
|
||
role="fqdn">mumble.example.org</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.example.org</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="domainname">mumble.example.org</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.example.org example.org</programlisting>
|
||
|
||
<para>anstelle der vorherigen</para>
|
||
|
||
<programlisting>domain foo.example.org</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>Wieso erhalte ich bei allen Netzwerkoperationen die
|
||
Meldung <errorname>Permission denied</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dieses Problem kann auftreten, wenn Sie einen Kernel
|
||
mit der Option <literal>IPFIREWALL</literal> erstellt
|
||
haben. In der Voreinstellung werden alle Pakete, die
|
||
nicht explizit erlaubt wurden, blockiert.</para>
|
||
|
||
<para>Falls sie Ihr System unbeabsichtigt als Firewall
|
||
konfiguriert haben, können Sie die
|
||
Netzwerkfunktionalität wiederherstellen, indem Sie
|
||
als <username>root</username> folgendes eingeben:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen>
|
||
|
||
<para>Sie können in <filename>/etc/rc.conf</filename>
|
||
auch <literal>firewall_type="open"</literal>
|
||
setzen.</para>
|
||
|
||
<para>Weitere Informationen über die Konfiguration
|
||
einer 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>Diese Frage wird im Handbuch-Kapitel <ulink
|
||
url="../handbook/firewalls.html">Firewalls</ulink> im
|
||
Abschnitt <ulink
|
||
url="../handbook/firewalls.html#IPFW-OVERHEAD">IPFW
|
||
Overhead und Optimierung</ulink> ausführlich
|
||
behandelt.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ipfw-fwd">
|
||
<para>Warum kann ich bei &man.ipfw.8; einen Dienst nicht mit
|
||
<quote>fwd</quote> auf eine andere Maschine
|
||
umlenken?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der wahrscheinlichste Grund ist, daß Sie Network
|
||
Address Translation (NAT) brauchen und nicht die einfache
|
||
Weiterleitung von Pakete. Die <quote>fwd</quote>
|
||
Anweisung macht genau das, was da steht: Sie leitet
|
||
Pakete weiter; die Daten in den Paketen werden aber nicht
|
||
verändert. Ein Beispiel:</para>
|
||
|
||
<screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
|
||
|
||
<para>Wenn ein Paket mit dem Ziel
|
||
<replaceable>foo</replaceable> die Maschine mit dieser
|
||
Regel erreicht, wird das Paket an
|
||
<replaceable>10.0.0.1</replaceable> weitergeleitet; die
|
||
Zieladresse im Paket lautet aber immer noch
|
||
<replaceable>foo</replaceable>! Die Zieladresse wird
|
||
<emphasis>nicht</emphasis> in
|
||
<replaceable>10.0.0.1</replaceable> geändert. Die
|
||
meisten Rechner werden allerdings Pakete verwerfen, wenn
|
||
die Zieladresse des Paketes nicht mit der Adresse des
|
||
Rechners übereinstimmt. Das ist der Grund, warum
|
||
eine <quote>fwd</quote> Regel oft nicht den Effekt hat,
|
||
den der Benutzer wollte. Dieses Verhalten ist aber kein
|
||
Fehler, sondern erwünscht.</para>
|
||
|
||
<para>Wenn Sie einen Dienst auf eine andere Maschine
|
||
umleiten wollen, sollten Sie sich den <link
|
||
linkend="service-redirect">FAQ-Eintrag über die
|
||
Umleitung von Diensten</link> oder die Online-Hilfe zu
|
||
&man.natd.8; durchlesen. Auch in der <ulink
|
||
url="../../../../ports/index.html">Ports Sammlung</ulink> sind diverse
|
||
Hilfsprogramme für diesen Zweck enthalten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="service-redirect">
|
||
<para>Wie kann ich Service-Requests von einer Maschine auf
|
||
eine andere umleiten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie können FTP-Requests (und andere Dienste) mit
|
||
dem 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.example.com</replaceable> <replaceable>ftp</replaceable>
|
||
</programlisting>
|
||
|
||
<para>wobei <replaceable>ftp.example.com</replaceable> und
|
||
<replaceable>ftp</replaceable> entsprechend der Host und
|
||
der Port sind, wohin umgeleitet werden soll.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="bandwidth-mgr-tool">
|
||
<para>Woher kann ich ein Bandbreiten-Managementtool
|
||
bekommen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Für FreeBSD gibt es drei
|
||
Bandbreiten-Managementtools. &man.dummynet.4; ist in
|
||
FreeBSD (um genau zu sein, in &man.ipfw.4;) integriert.
|
||
<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 die Meldung <errorname>/dev/bpf0:
|
||
device not configured</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Berkeley-Paket-Filter (&man.bpf.4;) 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 bpf # Berkeley Packet Filter</programlisting>
|
||
|
||
<para>Unter FreeBSD 4.X und früheren Versionen
|
||
müssen Sie noch die Gerätedateien erstellen.
|
||
Wechseln Sie dazu nach dem Neustart in das Verzeichnis
|
||
<filename>/dev</filename> und führen Sie den folgenden
|
||
Befehl aus:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sh MAKEDEV bpf0</userinput></screen>
|
||
|
||
<para>Weitere Informationen über den Umgang mit 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 die Kernel-Erweiterungen und Benutzerprogramme
|
||
aus dem Programmpaket <application>SMBFS</application>. Das
|
||
Paket und weitergehende Informationen sind unter
|
||
<filename role="package">net/smbfs</filename> in den Ports
|
||
verfügbar; ab der Version 4.5 ist
|
||
<application>SMBFS</application> Bestandteil
|
||
des Basissystems.</para>
|
||
</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 (RST) Antworten zu
|
||
provozieren. ICMP Antworten sind oft das Ergebnis von
|
||
Verbindungsversuchen zu unbenutzten UDP Ports. TCP Resets
|
||
werden generiert, wenn jemand versucht, eine Verbindung zu
|
||
einem ungenutzten TCP Port aufzubauen. Die Meldungen
|
||
können unter anderem durch die folgenden Ereignisse
|
||
ausgelöst werden:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Denial of Service (DoS) Angriffe mit der
|
||
Brechstange (und nicht durch Angriffe mit einzelnen
|
||
Paketen, die gezielt eine Schwachstelle des Systems
|
||
ausnutzen sollen).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Port Scans, bei denen versucht wird, Verbindungen
|
||
zu einer großen Anzahl von Ports (und nicht nur
|
||
einigen bekannten Ports) herzustellen.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Die erste Zahl gibt an, 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> Pakete
|
||
pro Sekunde gesetzt:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen>
|
||
|
||
<para>Wenn Sie zwar die Begrenzung benutzen möchten, aber
|
||
die Meldungen nicht in Ihren Logfiles sehen möchten,
|
||
können Sie die Meldungen mit der sysctl-Variable
|
||
<varname>net.inet.icmp.icmplim_output</varname>
|
||
abschalten:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen>
|
||
|
||
<para>Falls Sie die Begrenzung ganz abschalten wollen,
|
||
können Sie die Sysctl-Variable
|
||
<varname>net.inet.icmp.icmplim</varname> auf
|
||
<literal>0</literal>. Wir raten Ihnen aus den oben
|
||
genannten Gründen dringend von diesem Schritt
|
||
ab.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="unknown-hw-addr-format">
|
||
<para>Was bedeutet die Meldung <errorname>arp: unknown
|
||
hardware address format</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ein Gerät im lokalen Ethernet verwendet eine
|
||
MAC-Adresse in einem Format, das FreeBSD nicht kennt. Der
|
||
wahrscheinlichste Grund ist, daß jemand Experimente
|
||
mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr
|
||
häufig in Netzwerken mit Cable Modems auf. Die
|
||
Meldung ist harmlos und sollte die Performance Ihres
|
||
Systems nicht negativ beeinflussen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="cvsup-missing-libs">
|
||
<para>Ich habe gerade CVSup installiert, aber das Programm bricht
|
||
mit Fehlermeldungen ab. Was ist da schief gelaufen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Schauen Sie bitte zuerst nach, ob Sie eine Fehlermeldung
|
||
wie die unten gezeigte erhalten.</para>
|
||
|
||
<programlisting>/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found</programlisting>
|
||
|
||
<para>Solche Fehlermeldungen erhalten Sie, wenn Sie den
|
||
<filename role="package">net/cvsup</filename> Port auf einer
|
||
Maschine installieren, die kein
|
||
<application>XFree86</application>-System besitzt. Wenn Sie
|
||
das <acronym>GUI</acronym> von <application>CVSup</application>
|
||
benutzen wollen, müssen Sie
|
||
<application>XFree86</application> installieren. Wenn Sie
|
||
<application>CVSup</application> nur auf der Kommandozeile
|
||
benutzen wollen, entfernen Sie bitte den Port, den Sie gerade
|
||
installiert haben. Installieren Sie stattdessen den Port
|
||
<filename role="package">net/cvsup-without-gui</filename>.
|
||
Genauere Informationen finden Sie im
|
||
<ulink url="../handbook/cvsup.html">CVSup Abschnitt</ulink>
|
||
des Handbuchs.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="security">
|
||
<title>Sicherheit</title>
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="sandbox">
|
||
<para>Was ist ein Sandkasten (sandbox)?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><quote>Sandkasten</quote> (sandbox) ist ein Ausdruck
|
||
aus dem Bereich Sicherheit. Er hat zwei
|
||
Bedeutungen:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ein Programm, das innerhalb virtueller Wände
|
||
ausgeführt wird. Wenn ein Angreifer über
|
||
eine Sicherheitslücke in diesen Programm
|
||
einbricht, verhindern diese Wände ein tieferes
|
||
Vordringen in das System.</para>
|
||
|
||
<para>Man sagt: Der Prozeß kann innerhalb der
|
||
Wände <quote>spielen</quote>, das heißt 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
|
||
<username>root</username> 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 (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 merkt, daß er sich in ihm
|
||
befindet.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Ein &unix; System implementiert zwei Arten von Sandkästen -
|
||
eine auf Prozeßebene und die andere auf der Ebene
|
||
der Benutzerkennung.</para>
|
||
|
||
<para>Jeder Prozeß auf einem &unix; System ist vollständig von
|
||
allen anderen Prozessen 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 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="securelevel">
|
||
<para>Was sind die Sicherheitsstufen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Sicherheitsstufen sind ein Sicherheitsmechanismus,
|
||
der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe
|
||
einen positiven Wert hat, verhindert der Kernel die
|
||
Ausführung bestimmter Tätigkeiten; nicht einmal
|
||
der Super-User (also <username>root</username>) darf sie
|
||
durchführen. Zur Zeit können über die
|
||
Sicherheitsstufen unter anderem die folgenden
|
||
Tätigkeiten geblockt werden:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Änderungen bestimmter Dateiattribute, wie zum
|
||
Beispiel <literal>schg</literal> (das "system immutable"
|
||
Attribut)</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Schreibender Zugriff auf die Speicherbereiche des
|
||
Kernels mittels <devicename>/dev/mem</devicename> und
|
||
<devicename>/dev/kmem</devicename>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Laden von Kernel-Modulen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Änderungen an den Firewall-Regeln.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Um die eingestellte Sicherheitsstufe eines aktiven
|
||
Systems abzufragen, reicht das folgende einfache
|
||
Kommando:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
|
||
|
||
<para>Die Ausgaben wird den Namen der
|
||
&man.sysctl.8;-Variablen (in diesem Fall
|
||
<varname>kern.securelevel</varname>) und eine Zahl
|
||
enthalten. Die Zahl ist der aktuelle Wert der
|
||
Sicherheitsstufe. Wenn die Zahl positiv
|
||
(größer als Null) ist, sind zumindestens einige
|
||
der Schutzmaßnahmen aktiviert.</para>
|
||
|
||
<para>Sie können die Sicherheitsstufe eines laufenden
|
||
Systems nicht verringern, da dies den Mechanismus wertlos
|
||
machen würden. Wenn Sie eine Tätigkeit
|
||
ausführen müssen, bei der die Sicherheitsstufe
|
||
nicht-positiv sein muß (z.B. ein
|
||
<maketarget>installworld</maketarget> oder eine
|
||
Änderung der Systemzeit), dann müssen Sie die
|
||
entsprechende Einstellung in
|
||
<filename>/etc/rc.conf</filename> ändern (suchen Sie
|
||
nach den Variablen <varname>kern_securelevel</varname> und
|
||
<varname>kern_securelevel_enable</varname>) und das System
|
||
rebooten.</para>
|
||
|
||
<para>Weitere Informationen über die Sicherheitsstufen
|
||
und genaue Informationen, was die Einstellungen bewirken,
|
||
können Sie der Online-Hilfe &man.init.8;
|
||
entnehmen.</para>
|
||
|
||
<warning>
|
||
<para>Die Sicherheitsstufen sind kein magischer
|
||
Zauberstab, der alle Ihre Problem löst; es gibt
|
||
viele bekannte Probleme. Und in der Mehrzahl der
|
||
Fälle vermitteln sie ein falsches Gefühl der
|
||
Sicherheit.</para>
|
||
|
||
<para>Eines der größten Probleme ist, daß
|
||
alle für den Start des Systems benötigten
|
||
Dateien geschützt sein müssen, damit die
|
||
Sicherheitsstufe effektiv sein können. Wenn es ein
|
||
Angreifer schafft, seine eigenen Programme
|
||
ausführen zu lassen, bevor die Sicherheitsstufe
|
||
gesetzt wird (was leider erst gegen Ende des
|
||
Startvorgangs erfolgen kann, da viele der notwendigen
|
||
Tätigkeiten für den Systemstart nicht mit
|
||
einer gesetzten Sicherheitsstufe möglich
|
||
wären), werden die Schutzmechanismen ausgehebelt.
|
||
Es ist zwar nicht technisch unmöglich, alle beim
|
||
Systemstart genutzten Dateien zu schützen;
|
||
allerdings würde in einem so geschützten
|
||
System die Administration zu einem Alptraum, da man das
|
||
System neu starten oder in den Single-User Modus bringen
|
||
müßte, um eine Konfigurationsdatei
|
||
ändern zu können.</para>
|
||
|
||
<para>Dieses und andere Probleme werden häufig auf
|
||
den Mailinglisten diskutiert, speziell auf auf der
|
||
Mailingliste &a.security;. Das <ulink
|
||
url="http://www.FreeBSD.org/search/">
|
||
verfügbare Archiv</ulink> enthält ausgiebige
|
||
Diskussionen. Einige Benutzer sind guter Hoffnung,
|
||
daß das System der Sicherheitsstufen bald durch
|
||
ein besser konfigurierbares System ersetzt wird, aber es
|
||
gibt noch keine definitiven Aussagen.</para>
|
||
|
||
<para>Fühlen Sie sich gewarnt.</para>
|
||
</warning>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="extra-named-port">
|
||
<para>Wieso wartet BIND (<command>named</command>) sowohl auf Port
|
||
53 als auch auf einem hohen Port auf Anfragen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FreeBSD benutzt seit Version 3.0 eine Version von
|
||
BIND, die einen Port mit einer hohen, zufälligen
|
||
Nummer für den Versand von Anfragen nutzt. Wenn Sie
|
||
Port 53 für abgehende Anfragen benutzen wollen, um
|
||
durch eine Firewall zu kommen oder sich einfach nur besser
|
||
zu fühlen, können die folgenden Zeilen in
|
||
<filename>/etc/namedb/named.conf</filename>
|
||
eintragen.</para>
|
||
|
||
<programlisting>options {
|
||
query-source address * port * 53;
|
||
};</programlisting>
|
||
|
||
<para>Wenn Sie möchten, können Sie statt
|
||
<literal>*</literal> auch eine einzelne IP-Adresse
|
||
eintragen, um die Dinge noch weiter
|
||
einzuschränken.</para>
|
||
|
||
<para>Ach übrigens, herzlichen Glückwunsch. Es
|
||
ist eine sehr gute Angewohnheit, die Ausgaben von
|
||
&man.sockstat.1; durchzusehen und auf merkwürdige
|
||
Dinge zu achten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="sendmail-port-587">
|
||
<para>Wieso wartet Sendmail neuerdings sowohl auf Port 587
|
||
als auch auf dem Standard-Port 25 auf Anfragen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Aktuelle Sendmail-Versionen unterstützen eine
|
||
neue Technik zur Einlieferung von Mails, die Port 587
|
||
nutzt. Diese Technik wird zwar noch nicht oft angewendet,
|
||
erfreut sich aber ständig steigenden
|
||
Popularität,</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="toor-account">
|
||
<para>Woher kommt dieser Benutzer <username>toor</username>
|
||
mit UID 0? Ist mein System gehackt worden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Keine Panik. <username>toor</username> ist ein
|
||
<quote>alternativer</quote> Account für den
|
||
Super-User (wenn man root rückwärts schreibt,
|
||
erhält man toor). Früher wurde er nur erzeugt,
|
||
wenn die Shell &man.bash.1; installiert wurde, heute wird
|
||
er auf jeden Fall erzeugt. Dieser Account ist für
|
||
die Verwendung mit einer alternativen Shell vorgesehen;
|
||
damit ist es nicht mehr erforderlich, die Shell von
|
||
<username>root</username> zu ändern. Dies ist
|
||
wichtig, wenn eine Shell verwendet wird, die nicht zum
|
||
Lieferumfang von FreeBSD gehört, zum Beispiel aus
|
||
einem Port oder einem Package. Diese Shells werden in der
|
||
Regel in <filename>/usr/local/bin</filename> installiert
|
||
und dieses Verzeichnis liegt standardmäßig auf
|
||
einem anderem Filesystem. Wenn die Shell von
|
||
<username>root</username> in
|
||
<filename>/usr/local/bin</filename> liegt und
|
||
<filename>/usr</filename> (oder das Filesystem, auf dem
|
||
<filename>/usr/local/bin</filename> liegt) nicht gemountet
|
||
werden kann, kann sich <username>root</username> nicht
|
||
mehr einloggen, um das Problem zu beheben. Es ist
|
||
allerdings möglich, das System zu rebooten und das
|
||
Problem im Single-User Modus zu lösen, da man hier
|
||
gefragt wird, welche Shell benutzt werden soll.</para>
|
||
|
||
<para>Einige Anwender benutzen <username>toor</username> mit
|
||
einer alternativen Shell für die tägliche Arbeit
|
||
und benutzen <username>root</username> (mit der
|
||
Standard-Shell) für den Single-User Modus und
|
||
für Notfälle. Standardmäßig kann man
|
||
sich nicht als <username>toor</username> anmelden, da der
|
||
Account kein gültiges Paßwort hat; Sie
|
||
müssen sich also als <username>root</username>
|
||
anmelden und ein Paßwort für
|
||
<username>toor</username> setzen, wenn Sie diesen Account
|
||
benutzen wollen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="suidperl">
|
||
<para>Warum funktioniert <command>suidperl</command> nicht
|
||
richtig?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Aus Sicherheitsgründen wird <command>suidperl</command>
|
||
standardmäßig ohne das SUID-Bit installiert.
|
||
Der Systemadministrator kann das normale Verhalten mit dem
|
||
folgenden Befehl herstellen:</para>
|
||
|
||
<screen>&prompt.root; <userinput>chmod u+s /usr/bin/suidperl</userinput></screen>
|
||
|
||
<para>Wenn Sie wollen, daß <command>suidperl</command>
|
||
auch beim Update via Sourcecode das SUID-Bit erhält,
|
||
müssen Sie in <filename>/etc/make.conf</filename> die
|
||
Zeile <varname>ENABLE_SUIDPERL=true</varname>
|
||
einfügen, bevor Sie <command>make
|
||
buildworld</command> starten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="ppp">
|
||
<title>PPP</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="userppp">
|
||
<para>Ich bekomme &man.ppp.8; nicht zum Laufen. Was mache
|
||
ich falsch?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp)
|
||
und den <ulink
|
||
url="../handbook/ppp-and-slip.html#USERPPP">Abschnitt zu
|
||
PPP im Handbuch</ulink> lesen. Aktivieren Sie das Logging
|
||
mit folgendem Befehl:</para>
|
||
|
||
<programlisting>
|
||
set log Phase Chat Connect Carrier lcp ipcp ccp command
|
||
</programlisting>
|
||
|
||
<para>Dieser Befehl kann an der Eingabeaufforderung von
|
||
&man.ppp.8; eingegeben oder in die Konfigurationsdatei
|
||
<filename>/etc/ppp/ppp.conf</filename> eingetragen werden
|
||
(der beste Ort hierfür ist der Anfang des Abschnitts
|
||
<literal>default</literal>. Stellen Sie sicher, 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 Version von &man.ppp.8; 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>Warum hängt sich ppp auf, 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, müssen Sie sicherstellen, daß die
|
||
Datei <filename>/etc/hosts</filename> von Ihrem Resolver
|
||
zuerst genutzt wird. Dazu muß in der Datei
|
||
<filename>/etc/host.conf</filename> der Eintrag
|
||
<literal>hosts</literal> an die erste Stelle gesetzt
|
||
werden. Erstellen Sie dann einfach für Ihren lokalen
|
||
Rechner einen Eintrag in der Datei
|
||
<filename>/etc/hosts</filename>. Falls Sie kein lokales
|
||
Netzwerk besitzen, ändern Sie die
|
||
<hostid>localhost</hostid>-Zeile:</para>
|
||
|
||
<programlisting>
|
||
127.0.0.1 foo.example.com foo localhost
|
||
</programlisting>
|
||
|
||
<para>Andernfalls fügen Sie einfach einen weiteren
|
||
Eintrag für Ihren lokalen Rechner hinzu. Weitere
|
||
Details finden Sie in den betreffenden
|
||
Manualpages.</para>
|
||
|
||
<para>Wenn Sie fertig sind sollten Sie <command>ping -c1
|
||
`hostname`</command> erfolgreich ausführen
|
||
können.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-nodial-auto">
|
||
<para>Warum wählt &man.ppp.8; im
|
||
<literal>-auto</literal>-Modus nicht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Überprüfen Sie zunächst, ob Sie einen
|
||
Standard-Gateway eingestellt haben. Wenn Sie
|
||
<command>netstat -rn</command> ausführen, sollten Sie
|
||
zwei Einträge ähnlich den folgenden
|
||
sehen:</para>
|
||
|
||
<programlisting>
|
||
Destination Gateway Flags Refs Use Netif Expire
|
||
default 10.0.0.2 UGSc 0 0 tun0
|
||
10.0.0.2 10.0.0.1 UH 0 0 tun0
|
||
</programlisting>
|
||
|
||
<para>Hier wird angenommen, 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 &man.ppp.8; benutzen, die das Wort
|
||
<literal>HISADDR</literal> in der Datei ppp.conf nicht
|
||
versteht. Falls Ihre &man.ppp.8;-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 <errorname>No route to
|
||
host</errorname>?</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>Wieso werden meine Verbindungen nach ca. drei Minuten
|
||
beendet?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Der Standardtimeout für &man.ppp.8; beträgt
|
||
drei Minuten. Er kann durch die 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 &man.telnet.1;
|
||
oder &man.pppctl.8; ist es auch möglich, den Timeout
|
||
bei aktiver Verbindung anzupassen. Weitere Details finden
|
||
Sie in der Manualpage &man.ppp.8;.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-drop-heavy-load">
|
||
<para>Wieso bricht meine Verbindung bei hoher Auslastung
|
||
ab?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls Sie Link-Quality-Reporting (LQR) konfiguriert
|
||
haben, ist es möglich, 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>Warum brechen meine Verbindungen nach unbestimmter
|
||
Zeit zusammen?</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>Warum hängen meine Verbindung nach einer
|
||
unbestimmten Zeit?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Viele Leute machen Erfahrungen mit hängenden
|
||
Verbindungen ohne erkennbaren Grund. Als erstes muß
|
||
festgestellt werden, welche Seite der Verbindung
|
||
hängt.</para>
|
||
|
||
<para>Wenn Sie ein externes Modem benutzen, können Sie
|
||
einfach versuchen, &man.ping.8; zu benutzen, um zu sehen,
|
||
ob die <acronym>TD</acronym>-Anzeige aufleuchtet, wenn Sie
|
||
Daten übertragen. Falls sie aufleuchtet (und die
|
||
<acronym>RD</acronym>-Anzeige nicht), liegt das Problem am
|
||
anderen Ende. Falls <acronym>TD</acronym> nicht
|
||
aufleuchtet, handelt es sich um ein lokales Problem. Bei
|
||
einem internen Modem müssen Sie den Befehl
|
||
<literal>set server</literal> in Ihrer Datei
|
||
<filename>ppp.conf</filename> benutzen. Stellen Sie
|
||
über &man.pppctl.8; eine Verbindung zu &man.ppp.8;
|
||
her, wenn die Verbindung hängt. Falls Ihre
|
||
Netzwerkverbindung plötzlich wieder funktioniert (ppp
|
||
wurde durch die Aktivität auf dem Diagnose-Socket
|
||
wiederbelebt) oder Sie keine Verbindung bekommen
|
||
(vorausgesetzt, der Befehl <literal>set socket</literal>
|
||
wurde beim Start erfolgreich ausgeführt), handelt es
|
||
sich um ein lokales Problem. Falls Sie eine Verbindung
|
||
bekommen und die externe Verbindung weiterhin hängt,
|
||
aktivieren Sie lokales asynchrones Logging mit
|
||
<literal>set log local async</literal> und benutzen Sie
|
||
&man.ping.8; von einem anderen Fenster oder Bildschirm
|
||
aus, um die externe Verbindung zu benutzen. Das
|
||
asynchrone Logging zeigt Ihnen, welche Daten über die
|
||
Verbindung gesendet und empfangen werden. Falls Daten
|
||
hinausgehen, aber nicht zurückkommen, handelt es sich
|
||
um ein externes Problem.</para>
|
||
|
||
<para>Wenn Sie festgestellt haben, ob es sich um ein lokales
|
||
oder um ein externes Problem handelt, haben Sie zwei
|
||
Möglichkeiten:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Wenn es ein externes Problem ist, lesen Sie bitte bei
|
||
<xref linkend="ppp-remote-not-responding"> weiter.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Handelt es sich um ein lokales Problem, lesen Sie bitte
|
||
<xref linkend="ppp-hung">.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-remote-not-responding">
|
||
<para>Was kann ich machen, wenn die Gegenstelle nicht
|
||
antwortet?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Hier können Sie wenig tun. Die meisten ISPs
|
||
werden ablehnen, Ihnen zu helfen, wenn Sie kein
|
||
Betriebssystem von Microsoft benutzen. Sie können
|
||
<literal>enable lqr</literal> in Ihrer Datei
|
||
<filename>ppp.conf</filename> angeben, wodurch &man.ppp.8;
|
||
ermöglicht wird, ein externes Versagen zu erkennen
|
||
und aufzulegen, aber diese Erkennung ist relativ langsam
|
||
und deshalb nicht besonders nützlich. Evtl. sagen
|
||
Sie Ihrem ISP nicht, daß Sie user-PPP
|
||
benutzen...</para>
|
||
|
||
<para>Versuchen Sie zunächst, jegliche Datenkompression
|
||
auszuschalten, indem Sie folgendes zu Ihrer Konfiguration
|
||
hinzufügen:</para>
|
||
|
||
<programlisting>
|
||
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
||
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
||
</programlisting>
|
||
|
||
<para>Stellen Sie nun wieder eine Verbindung her, um
|
||
festzustellen, ob sich etwas geändert hat. Falls es
|
||
nun besser läuft oder falls das Problem
|
||
vollständig behoben ist, versuchen Sie durch
|
||
schrittweises Ändern der Einstellungen festzustellen,
|
||
welche Einstellung den Unterschied bewirkt. Hierdurch
|
||
erhalten Sie schlüssige Fakten für ein Gespräch
|
||
mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
|
||
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>Was kann ich tun, wenn sich &man.ppp.8;
|
||
aufhängt?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>In diesem Fall erstellen Sie am besten &man.ppp.8;
|
||
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 &man.ppp.8; mit <command>ps
|
||
ajxww | fgrep ppp</command>, wenn &man.ppp.8; 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 &a.brian;.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-loginok-thennothing">
|
||
<para>Warum passiert nach der Nachricht <quote>Login
|
||
OK!</quote> nichts?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Bei Freebsd-Versionen vor 2.2.5 wartete &man.ppp.8;
|
||
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 &man.ppp.8; zu veranlassen, LCP
|
||
zu initiieren:</para>
|
||
|
||
<programlisting>
|
||
set openmode active
|
||
</programlisting>
|
||
|
||
<note>
|
||
<para>Für gewöhnlich schadet es nicht, wenn
|
||
beide Seiten versuchen, Verhandlungen einzuleiten.
|
||
Deshalb ist openmode nun standardmäßig aktiv.
|
||
Im nächsten Abschnitt wird allerdings erklärt,
|
||
in welchen Fällen es <emphasis>doch</emphasis>
|
||
schadet.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-same-magic">
|
||
<para>Ich sehe ständig Fehlermeldungen über
|
||
gleiche <quote>Magic Numbers</quote> Was heißt das?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Nach dem Aufbau einer Verbindung kann es sein,
|
||
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 &man.ppp.8; schließlich aufgibt
|
||
und die Verbindung beendet.</para>
|
||
|
||
<para>Dies geschieht normalerweise auf Servern mit langsamen
|
||
Festplatten, bei denen ein getty auf dem Port
|
||
ausgeführt und &man.ppp.8; nach dem Einloggen von
|
||
einem Login-Skript oder einem Programm aus gestartet wird.
|
||
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 &man.ppp.8; auf der Client-Seite
|
||
<quote>reflektiert</quote>.</para>
|
||
|
||
<para>Ein Teil der LCP-Verhandlungen ist die Einrichtung
|
||
einer <quote>Magic Number</quote> für jede Seite der
|
||
Verbindung, damit <quote>Echos</quote> erkannt werden können.
|
||
Das Protokoll besagt, daß, wenn der Partner
|
||
versucht, die gleiche <quote>Magic Number</quote> auszuhandeln,
|
||
ein NAK zurückgesendet und eine neue "Magic Number"
|
||
gewählt werden soll. Während der Server das
|
||
ECHO eingeschaltet hat, sendet der Client LCP Pakete,
|
||
sieht die gleiche <quote>Magic Number</quote> im reflektierten
|
||
Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK
|
||
(was bedeutet, daß &man.ppp.8; seine "Magic Number"
|
||
ändern muß). Hierdurch wird eine Vielzahl von
|
||
Änderungen der <quote>Magic Number</quote> hervorgerufen,
|
||
die sich allesamt im tty-Puffer des Servers ansammeln. Sobald
|
||
&man.ppp.8; auf dem Server startet, wird es mit
|
||
Änderungen der <quote>Magic Number</quote> überflutet
|
||
und entscheidet, 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 Partner durch
|
||
die folgende Zeile in der Datei
|
||
<filename>ppp.conf</filename> erlaubt wird, mit der
|
||
Verhandlung zu beginnen:</para>
|
||
|
||
<programlisting>
|
||
set openmode passive
|
||
</programlisting>
|
||
|
||
<para>Hierdurch wird &man.ppp.8; mitgeteilt, darauf zu
|
||
warten, 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 &man.ppp.8; für drei Sekunden
|
||
passiv und fängt dann erst an, LCP-Anforderungen zu
|
||
senden. Falls der Partner während dieser Zeit
|
||
beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt
|
||
antworten und nicht erst, nachdem die drei Sekunden
|
||
abgelaufen sind.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-lcp-constant">
|
||
<para>Die LCP-Verhandlungen dauern an, bis die Verbindung
|
||
geschlossen wird. Was mache ich falsch?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Es gibt eine Fehlfunktion in der Implementierung von
|
||
&man.ppp.8;, die darin besteht, daß LCP-, CCP- &
|
||
IPCP-Antworten nicht mit den ursprünglichen
|
||
Anforderungen assoziiert werden. Für den Fall,
|
||
daß eine Implementation von PPP 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
|
||
<acronym>REQ-SENT</acronym> und sendet eine
|
||
weitere (vierte) Anforderung entsprechend dem RFC.
|
||
<hostid>A</hostid> empfängt dann die dritte
|
||
Bestätigung und geht in den Zustand
|
||
<acronym>OPENED</acronym> über. In der Zwischenzeit
|
||
empfängt <hostid>B</hostid> die vierte Anforderung
|
||
von <hostid>A</hostid>, wechselt in den Zustand
|
||
<acronym>ACK-SENT</acronym> und sendet eine weitere
|
||
(zweite) Anforderung und (vierte) Bestätigung
|
||
entsprechend dem RFC. <hostid>A</hostid> erhält die
|
||
Anforderung, geht in den Zustand
|
||
<acronym>REQ-SENT</acronym> über, sendet eine weitere
|
||
Anforderung, erhält unverzüglich die
|
||
nächste Bestätigung und geht in
|
||
<acronym>OPENED</acronym> über.</para>
|
||
|
||
<para>Das geht so weiter, bis eine Seite erkennt, 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,
|
||
das heißt 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 &man.ppp.8; 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>Warum hängt sich &man.ppp.8; kurz nach Aufbau der
|
||
Verbindung weg?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Bei FreeBSD-Versionen vor 2.2.5 konnte es passieren,
|
||
daß Ihre Verbindung kurz nach dem Aufbau deaktiviert
|
||
wurde, weil &man.ppp.8; 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 &man.ppp.8; 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>Warum reagiert &man.ppp.8; nicht mehr, wenn ich es mit
|
||
shell verlassen habe?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Wenn Sie den Befehl <command>shell</command> oder
|
||
<command>!</command> benutzen, führt &man.ppp.8; eine
|
||
Shell aus (falls Sie Argumente übergeben haben,
|
||
führt &man.ppp.8; diese Argumente aus). &man.ppp.8;
|
||
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ß &man.ppp.8; auf die
|
||
Beendigung des Befehls wartet.</para>
|
||
|
||
<para>Falls Sie solche Befehle verwenden möchten,
|
||
benutzen Sie stattdessen den Befehl
|
||
<command>!bg</command>. Hierdurch wird der angegebene
|
||
Befehl im Hintergrund ausgeführt und &man.ppp.8; kann
|
||
fortfahren, die Verbindung zu bedienen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-nullmodem">
|
||
<para>Warum wird &man.ppp.8; niemals beendet, wenn ich es
|
||
über ein Null-Modem-Kabel benutze?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Es gibt keine Möglichkeit für &man.ppp.8;,
|
||
automatisch festzustellen, ob eine direkte Verbindung
|
||
beendet worden ist. Das liegt an den Leitungen, die bei
|
||
einem seriellen 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 &man.ppp.8; im Modus -auto ohne
|
||
Grund?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls &man.ppp.8; unerwarteterweise wählt,
|
||
müssen Sie den Grund herausfinden und Wählfilter
|
||
(dfilters) einsetzen, um dies zu verhindern.</para>
|
||
|
||
<para>Benutzen Sie die folgende Zeile, um den Grund
|
||
herauszufinden:</para>
|
||
|
||
<programlisting>
|
||
set log +tcp/ip
|
||
</programlisting>
|
||
|
||
<para>Dadurch wird jeglicher Verkehr über die
|
||
Verbindung geloggt. Wenn das nächste mal unerwartet
|
||
eine Verbindung hergestellt wird, werden Sie den Grund
|
||
zusammen mit einer hilfreichen Zeitangabe in der Logdatei
|
||
finden.</para>
|
||
|
||
<para>Sie können nun das Wählen aufgrund dieser
|
||
Bedingungen verhindern. Normalerweise wird diese Art von
|
||
Problemen durch Anfragen an den DNS verursacht. Um zu
|
||
verhindern, 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 &man.sendmail.8;. Sie sollten
|
||
sicherstellen, daß Sie sendmail in der
|
||
Konfigurationsdatei sagen, daß keine DNS-Anfragen
|
||
durchführen soll. Weitere Details enthält
|
||
der Abschnitt <ulink url="../handbook/smtp-dialup.html">E-Mail
|
||
übber Einwahl-Verbindungen</ulink> des Handbuchs.
|
||
Sie könnten z.B. die folgende Zeile in
|
||
Ihre <filename>.mc</filename>-Datei einfügen:</para>
|
||
|
||
<programlisting>
|
||
define(`confDELIVERY_MODE', `d')dnl
|
||
</programlisting>
|
||
|
||
<para>Das 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ß &man.ppp.8; versucht, die
|
||
Komprimierung Predictor1 auszuhandeln und der Partner
|
||
über keinerlei Komprimierung verhandeln will. Die
|
||
Meldungen sind harmlos, aber wenn Sie sie beseitigen
|
||
möchten, können Sie die Komprimierung Predictor1
|
||
auch lokal ausschalten:</para>
|
||
|
||
<programlisting>
|
||
disable pred1
|
||
</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-connectionspeed">
|
||
<para>Warum loggt ppp die Geschwindigkeit meiner Verbindung
|
||
nicht?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Um alle Zeilen Ihrer <quote>Modemkonversation</quote>
|
||
mitzuloggen, müssen Sie folgendes einstellen:</para>
|
||
|
||
<programlisting>
|
||
set log +connect
|
||
</programlisting>
|
||
|
||
<para>Dies veranlaßt &man.ppp.8; 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 &man.ppp.8; anweisen, die gesamte
|
||
CONNECT-Zeile zu <quote>erwarten</quote>, etwa so:</para>
|
||
|
||
<programlisting>
|
||
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
|
||
</programlisting>
|
||
|
||
<para>Hier bekommen wir unser CONNECT, senden nichts,
|
||
erwarten dann einen Line-Feed, der &man.ppp.8; zwingt, die
|
||
gesamte CONNECT-Antwort zu lesen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="ppp-ignores-backslash">
|
||
<para>Warum ignoriert &man.ppp.8; das Zeichen
|
||
<literal>\</literal> in meinem Chat-Skript?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>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>Warum gibt es die Datei <filename>ppp.core</filename>
|
||
nicht, wenn &man.ppp.8; einen Segmentation Fault erzeugt
|
||
hat?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Weder &man.ppp.8; noch andere Programme sollten
|
||
Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven
|
||
Benutzerkennung 0 ausgeführt wird, wird das
|
||
Betriebssystem &man.ppp.8;'s Coreimage nicht auf die
|
||
Festplatte schreiben, bevor es &man.ppp.8; beendet hat.
|
||
Falls &man.ppp.8; jedoch tatsächlich aufgrund einer
|
||
Speicherverletzung abbricht <emphasis>und</emphasis> Sie
|
||
die aktuellste Version (siehe Anfang dieses Kapitels)
|
||
benutzen, dann sollten Sie 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 &man.ppp.8; mit
|
||
einem Debugger ausführbar. Sie können
|
||
&man.ppp.8; nun nur noch als <username>root</username>
|
||
ausführen, da alle vorherigen Zugriffsrechte
|
||
aufgehoben worden sind. Achten Sie darauf, in welchem
|
||
Verzeichnis Sie sich gerade befinden, wenn Sie &man.ppp.8;
|
||
starten.</para>
|
||
|
||
<para>Wenn nun wieder eine Speicherverletzung auftreten
|
||
sollte, wird &man.ppp.8; einen Speicherauszug erzeugen,
|
||
den Sie in der Datei <filename>ppp.core</filename> finden.
|
||
Sie sollten dann folgendes tun:</para>
|
||
|
||
<screen>&prompt.user; <userinput>su</userinput>
|
||
&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput>
|
||
<prompt>(gdb)</prompt> <userinput>bt</userinput>
|
||
.....
|
||
<prompt>(gdb)</prompt> <userinput>f 0</userinput>
|
||
....
|
||
<prompt>(gdb)</prompt> <userinput>i args</userinput>
|
||
....
|
||
<prompt>(gdb)</prompt> <userinput>l</userinput>
|
||
.....</screen>
|
||
|
||
<para>Mit Hilfe all dieser Informationen sollte es
|
||
möglich sein, das Problem zu diagnostizieren.</para>
|
||
|
||
<para>Falls Sie mit 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>Warum bekommt das Programm, das eine automatische
|
||
Anwahl ausgelöst hat, keine Verbindung?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Dies war ein bekanntes Problem bei
|
||
&man.ppp.8;-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. &man.ppp.8; liest dann das Paket
|
||
und baut eine Verbindung auf. Falls die
|
||
Schnittstellenadresse sich nun aufgrund &man.ppp.8;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 &man.ppp.8; tut das, aber die
|
||
meisten anderen Implementierungen nicht.</para>
|
||
|
||
<para>Die einfachste Maßnahme von unserer Seite
|
||
wäre die, niemals die IP-Adresse der
|
||
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 &man.ppp.8; bewirkt wird (mit Unterstützung von
|
||
&man.libalias.3; und &man.ppp.8;'s <option>-nat</option>
|
||
Schalter) - alle Schnittstellenadressen werden beibehalten
|
||
und auf die letzte ausgehandelte Adresse
|
||
umgesetzt.</para>
|
||
|
||
<para>Eine andere Alternative (und wahrscheinlich die
|
||
zuverlässigste) wäre die, einen Systemaufruf zu
|
||
implementieren der die IP-Adressen aller verbundenen
|
||
Sockets von einer Adresse in eine andere ändert.
|
||
&man.ppp.8; würde diesen Aufruf benutzen, um die
|
||
Sockets aller laufenden Programme zu ändern, nachdem
|
||
eine neue IP-Adresse ausgehandelt worden ist. Der gleiche
|
||
Systemaufruf könnte von 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-Adresse
|
||
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 &man.ppp.8;, 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 <option>-nat</option>
|
||
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
|
||
&man.ppp.8;.</para>
|
||
|
||
<para>Wenn Sie nun das betreffende Programm starten, sollten
|
||
Sie sehen, wie Pakete den Gateway-Rechner passieren. Wenn
|
||
von außen etwas zurückkommt, wird es ignoriert
|
||
(das ist das Problem). Merken Sie sich die Portnummer
|
||
dieser Pakete und beenden Sie das betreffende Programm.
|
||
Wiederholen Sie diesen Schritt einige Male, um
|
||
festzustellen, ob die Portnummern konsistent sind. Falls
|
||
dem so ist, wird die folgende Zeile im entsprechenden
|
||
Abschnitt von <filename>/etc/ppp/ppp.conf</filename>
|
||
dafür sorgen, 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 Anwendung
|
||
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>
|
||
|
||
<para><literal>nat port udp
|
||
<replaceable>internal</replaceable>:60021
|
||
60021</literal></para>
|
||
|
||
<para><literal>nat port udp
|
||
<replaceable>internal</replaceable>:60040
|
||
60040</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><application>Red Alert</application></para>
|
||
|
||
<para><literal>nat port udp
|
||
<replaceable>internal</replaceable>:8675
|
||
8675</literal></para>
|
||
|
||
<para><literal>nat port udp
|
||
<replaceable>internal</replaceable>:5009
|
||
5009</literal></para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="fcs-errors">
|
||
<para>Was sind FCS-Fehler?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FCS steht für <literal>F</literal>rame
|
||
<literal>C</literal>heck <literal>S</literal>equence.
|
||
Jedes PPP-Paket besitzt eine Checksumme, um
|
||
sicherzustellen, 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 &man.ppp.8;
|
||
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> &man.ppp.8; 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>
|
||
|
||
<programlisting>
|
||
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
|
||
</programlisting>
|
||
|
||
<para>Der Schlüssels sollte vom Typ String sein und den
|
||
Wert <quote>1436</quote> haben, da einige ADSL-Router
|
||
nicht mit größeren Paketen umgehen können.
|
||
Wenn Sie Windows 2000 verwenden, müssen Sie dagegen
|
||
den Schlüssel
|
||
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID der
|
||
Netzwerkkarte</replaceable>\MTU</literal> benutzen,
|
||
außerdem müssen Sie als Typ DWORD
|
||
verwenden.</para>
|
||
|
||
<para>Die Knowledge Base von Microsoft enthält weitere
|
||
Informationen darüber, wie sie die MTU einer
|
||
Windows-Maschine ändern, damit diese mit einem
|
||
NAT-Router korrekt zusammenarbeitet. Vom besonderen
|
||
Interesse sind die Artikel <ulink
|
||
url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474
|
||
- Windows TCPIP Registry Entries</ulink> und <ulink
|
||
url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642
|
||
- TCPIP & NBT Configuration Parameters for Windows
|
||
NT</ulink>.</para>
|
||
|
||
<para>Bei Windows 2000 können Sie alternativ auch, wie
|
||
im Artikel 120642 beschrieben, mit regedit das DWORD
|
||
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID der
|
||
Netzwerkkarte</replaceable>\EnablePMTUBHDetect</literal>
|
||
auf 1 setzen.</para>
|
||
|
||
<para>Mit den Bordmitteln von MacOS ist es leider nicht
|
||
möglich, die TCP/IP-Einstellungen zu verändern.
|
||
Es gibt jedoch kommerzielle Lösungen 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>&man.ppp.8; kennt seit Version 2.3 den Befehl
|
||
<command>enable tcpmssfixup</command>, mit dem die MSS
|
||
automatisch korrigiert wird. Wenn Sie einen ältere
|
||
Version von &man.ppp.8; benutzen müssen, könnte
|
||
der Port <application>tcpmssd</application> für Sie
|
||
interessant sein.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="desperation">
|
||
<para>Nichts von alledem hilft - ich bin
|
||
verzweifelt! Was soll ich machen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Falls alles andere fehlschlägt, senden Sie
|
||
möglichst umfangreiche Informationen,
|
||
einschließlich Ihrer Konfigurationsdateien, wie Sie
|
||
&man.ppp.8; starten, die relevanten Teile Ihrer Logdateien
|
||
und die Ausgabe des Befehls <command>netstat -rn</command>
|
||
(vor und nach Aufbau der Verbindung) an die
|
||
Mailingliste &a.de.questions; oder die Newsgroup <ulink
|
||
url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</ulink>.
|
||
Irgend jemand sollte Ihnen dann weiterhelfen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="serial">
|
||
<!--
|
||
The FreeBSD German Documentation Project FAQ - serial
|
||
communications,
|
||
Uebersetzer: Robert S. F. Drehmel
|
||
|
||
Original revision 1.54
|
||
-->
|
||
|
||
<title>Serielle Verbindungen</title>
|
||
|
||
<para>Dieses Kapitel beantwortet häufig gestellte Fragen zu
|
||
seriellen Verbindungen mit FreeBSD. PPP und SLIP werden im
|
||
<link linkend="networking">Abschnitt Netzwerke</link> behandelt.</para>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="found-serial">
|
||
<para>Wie kann ich feststellen, ob 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 die angezeigten Nachrichten lesen,
|
||
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>
|
||
sio0: at 0x3f8-0x3ff irq 4 on isa
|
||
sio0: type 16550A
|
||
sio1: at 0x2f8-0x2ff irq 3 on isa
|
||
sio1: type 16550A
|
||
</programlisting>
|
||
|
||
<para>Es zeigt zwei serielle Schnittstellen. Die erste
|
||
verwendet Port-Adresse <literal>0x3f8</literal>, IRQ 4 und
|
||
hat einen 16550A UART Chip. Die zweite benutzt ebenfalls
|
||
einen 16550A UART, jedoch Port-Adresse
|
||
<literal>0x2f8</literal> und IRQ 3. Modemkarten werden
|
||
wie serielle Schnittstellen behandelt. Der einzige
|
||
Unterschied ist, 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 verwenden.
|
||
Wenn diese Einstellungen nicht richtig für Ihr System
|
||
sind, Sie Modemkarten hinzugefügt oder mehr serielle
|
||
Schnittstellen haben als Ihre Kernelkonfiguration
|
||
zuläßt, konfigurieren Sie Ihren Kernel einfach
|
||
neu. In dem Kapitel über die <link
|
||
linkend="make-kernel">Kernelkonfiguration</link> finden
|
||
Sie mehr Details.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="found-modem">
|
||
<para>Wie kann ich feststellen, ob FreeBSD meine Modemkarten
|
||
gefunden hat?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die vorherige Frage sollte darauf eine Antwort
|
||
geben.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="access-serial-ports">
|
||
<para>Wie kann ich auf die seriellen Schnittstellen in
|
||
FreeBSD zugreifen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die dritte serielle Schnittstelle,
|
||
<devicename>sio2</devicename> (bekannt als COM3 in
|
||
DOS/Windows), ist <devicename>/dev/cuaa2</devicename> für
|
||
Geräte mit abgehenden Verbindungen und
|
||
<devicename>/dev/ttyd2</devicename> für Geräte mit
|
||
eingehenden Verbindungen. Was ist der Unterschied
|
||
zwischen den beiden Geräteklassen?</para>
|
||
|
||
<para>Sie benutzen
|
||
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
||
für eingehende Verbindungen. Wird
|
||
<devicename>/dev/ttyd<replaceable>X</replaceable></devicename>
|
||
im blockierenden Modus geöffnet, wartet ein
|
||
Prozeß darauf, daß das entsprechende
|
||
<devicename>cuaa<replaceable>X</replaceable></devicename>
|
||
Gerät inaktiv und der Empfangssignalpegel
|
||
<footnote>
|
||
<para>Mit <quote>Empfangssignalpegel</quote> oder
|
||
<quote>Trägersignalerkennung</quote> wird hier
|
||
die <foreignphrase>carrier detect</foreignphrase>
|
||
Leitung bezeichnet.</para>
|
||
</footnote>
|
||
aktiv ist. Wird das
|
||
<devicename>cuaa<replaceable>X</replaceable></devicename>
|
||
Gerät geöffnet, vergewissert es sich, daß
|
||
die serielle Schnittstelle nicht bereits von dem
|
||
<filename>ttyd<replaceable>X</replaceable></filename>
|
||
Gerät in Gebrauch ist. Sollte die Schnittstelle
|
||
verfügbar sein, <quote>stiehlt</quote> es sie von dem
|
||
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
||
Gerät. Das
|
||
<devicename>cuaa<replaceable>X</replaceable></devicename>
|
||
Gerät kümmert sich nicht um
|
||
Trägersignalerkennung. Mit diesem Schema und einem
|
||
automatisch antwortenden Modem, können sich Benutzer
|
||
von außen einloggen, Sie können weiterhin mit
|
||
demselben Modem wählen und das System kümmert
|
||
sich um die Konflikte.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="enable-multiport-serial">
|
||
<para>Wie kann ich die Unterstützung für eine
|
||
Karte mit mehreren seriellen Schnittstellen
|
||
aktivieren?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die Sektion über die Kernelkonfiguration bietet
|
||
Informationen darüber, wie Sie Ihren Kernel
|
||
konfigurieren. Für eine Karte mit mehreren seriellen
|
||
Schnittstellen, schreiben Sie eine &man.sio.4; Zeile
|
||
für jede serielle Schnittstelle auf der Karte in die
|
||
Kernelkonfigurationsdatei. Aber achten Sie darauf, den
|
||
IRQ und die Vektorbezeichnung 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 geeignet für eine AST
|
||
Karte mit 4 seriellen Schnittstellen, die IRQ 7
|
||
benutzt:</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
|
||
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
||
(oder
|
||
<devicename>cuaa<replaceable>X</replaceable></devicename>)
|
||
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 Befehl</para>
|
||
|
||
<screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>
|
||
|
||
<para>ansehen. 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 vorgegebenen
|
||
Einstellungen vorzunehmen, können Sie das
|
||
Anfangsstatus-Gerät öffnen und dessen
|
||
Einstellungen anpassen. Um zum Beispiel den
|
||
<acronym>CLOCAL</acronym> Modus, 8 Bits und
|
||
<acronym>XON/XOFF</acronym> Datenflußkontrolle als
|
||
Standard für ttyd5 einzustellen, geben Sie</para>
|
||
|
||
<screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen>
|
||
|
||
<para>ein. Eine gute Stelle um dies zu tun ist in
|
||
<filename>/etc/rc.serial</filename>. Jetzt hat eine
|
||
Anwendung diese Einstellungen als Standardwerte, wenn sie
|
||
<devicename>ttyd5</devicename> ö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 beispielsweise die
|
||
Geschwindigkeit von <devicename>ttyd5</devicename> auf 57600
|
||
bps festzusetzen:</para>
|
||
|
||
<screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen>
|
||
|
||
<para>Wenn jetzt eine Anwendung <devicename>ttyd5</devicename>
|
||
öffnet und versucht die Geschwindigkeit zu
|
||
verändern, wird diese bei 57600 bps bleiben.</para>
|
||
|
||
<para>Natürlich sollten Sie das Schreiben auf die
|
||
Anfangsstatus- und lock state-Geräte nur
|
||
<username>root</username> erlauben. Das &man.MAKEDEV.8;
|
||
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ägersignalerkennung 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 wahrscheinlich
|
||
<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 und dem entfernten Modem aushandeln können.</para>
|
||
|
||
<para>Für viele Modems, die mit dem Hayes Befehlssatz
|
||
kompatibel sind, 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">über das
|
||
Senden von AT-Befehlen</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 Einlogversuche 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 (<devicename>/dev/ttyd1</devicename>)
|
||
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 <quote>dialup</quote>
|
||
(<literal>Einwahl</literal>). Die Schnittstelle ist
|
||
eingeschaltet (<literal>on</literal>) und
|
||
<quote>unsicher</quote> (<literal>insecure</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>ttyd<replaceable>X</replaceable></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
|
||
&man.su.1;. Wenn sie
|
||
<literal>secure</literal> (<quote>sicher</quote>) 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 &man.init.8;
|
||
senden:</para>
|
||
|
||
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
|
||
|
||
<para>Das bringt &man.init.8; dazu, die Datei
|
||
<filename>/etc/ttys</filename> neu einzulesen.
|
||
<command>init</command> startet dann an allen als
|
||
eingeschaltet (<literal>on</literal>) markierten
|
||
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 <quote>echtes</quote> (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
|
||
<devicename>/dev/ttyd4</devicename> 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
|
||
&man.tip.1; und &man.cu.1; nur von
|
||
<username>uucp</username> und der Gruppe
|
||
<groupname>dialer</groupname> ausführbar. Sie
|
||
können die Gruppe <groupname>dialer</groupname>
|
||
verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem
|
||
oder entfernte Systeme hat. Fügen Sie sich einfach
|
||
selbst zur Gruppe <groupname>dialer</groupname>
|
||
hinzu.</para>
|
||
|
||
<para>Als Alternative können Sie jeden Benutzer auf
|
||
Ihrem System &man.tip.1; und &man.cu.1; verwenden lassen,
|
||
dazu müssen Sie das folgende eingeben:</para>
|
||
|
||
<screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput>
|
||
&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="hayes-unsupported">
|
||
<para>Mein Hayes Modem wird nicht unterstützt – was
|
||
kann ich tun?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Eigentlich ist die Onlinehilfe für &man.tip.1;
|
||
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 &man.tip.1;
|
||
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 &man.tip.1; 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,
|
||
<devicename>/dev/cuaa0</devicename>, 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 <devicename>cuaa0</devicename></command> ein
|
||
und Sie sind mit Ihrem Modem verbunden.</para>
|
||
|
||
<para>Wenn auf Ihrem System keine
|
||
<devicename>/dev/cuaa0</devicename> 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 <command>cu</command> 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><replaceable>line</replaceable> steht für die
|
||
serielle Schnittstelle (<devicename>/dev/cuaa0</devicename>)
|
||
und <replaceable>speed</replaceable> 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>Wieso funktioniert das <literal><@></literal>
|
||
Zeichen für die pn Fähigkeit 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.
|
||
Sollten Sie &man.cu.1; im Gegensatz zu &man.tip.1;
|
||
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 geben Sie
|
||
auch die bps Rate an, die Ihr Modem wirklich
|
||
unterstützt. Leider denkt &man.tip.1;, 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>Wie kann ich möglichst komfortabel über
|
||
einen Terminal-Server auf verschiedene Rechner
|
||
zugreifen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie müssen nicht warten bis Sie verbunden sind,
|
||
und jedesmal <command>CONNECT
|
||
<replaceable>Rechner</replaceable></command> 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 <hostid>pain</hostid> oder
|
||
<hostid>muffin</hostid> 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
|
||
ausprobieren?</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 der Universität
|
||
in <filename>/etc/phones</filename> auf:</para>
|
||
|
||
<programlisting>
|
||
big-university 5551111
|
||
big-university 5551112
|
||
big-university 5551113
|
||
big-university 5551114
|
||
</programlisting>
|
||
|
||
<para>&man.tip.1; probiert jede der Nummern in der
|
||
aufgelisteten Reihenfolge und gibt dann auf. Möchten
|
||
Sie, daß <command>tip</command> beim Versuchen eine
|
||
Verbindung herzustellen nicht aufgibt, lassen Sie es in
|
||
einer while-Schleife laufen.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="multi-controlp">
|
||
<para>Warum muß ich zweimal
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>P</keycap>
|
||
</keycombo> tippen, um ein
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>P</keycap>
|
||
</keycombo> zu senden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>P</keycap>
|
||
</keycombo> ist das voreingestellte Zeichen, mit dem eine
|
||
Übertragung erzwungen werden kann und wird benutzt,
|
||
um &man.tip.1; zu sagen, daß das nächste
|
||
Zeichen direkt gesendet werden soll und nicht als
|
||
Fluchtzeichen interpretiert werden soll. Mit Hilfe der
|
||
<literal>~s</literal> Fluchtsequenz, mit der 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 <keycap>Enter</keycap>. Für
|
||
<replaceable>zeichen</replaceable> können Sie ein
|
||
beliebiges einzelnes Zeichen einsetzen. Wenn Sie
|
||
<replaceable>zeichen</replaceable> weglassen, ist das
|
||
<quote>force</quote>-Zeichen <quote>nul</quote>, das Sie mit
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>2</keycap>
|
||
</keycombo> oder
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>SPACE</keycap>
|
||
</keycombo> eingeben können. Ein
|
||
guter Wert für <replaceable>zeichen</replaceable> ist
|
||
<keycombo action="simul">
|
||
<keycap>Shift</keycap>
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>6</keycap>
|
||
</keycombo>, 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>Warum ist auf einmal alles was ich schreibe in
|
||
GROSSBUCHSTABEN??</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie müssen
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>A</keycap>
|
||
</keycombo> eingegeben haben, das
|
||
<quote>raise</quote>-Zeichen von &man.tip.1; das speziell
|
||
für Leute mit defekten <keycap>Caps Lock</keycap> 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 ein Muster der <filename>.tiprc</filename>
|
||
Datei, perfekt für <application>Emacs</application>
|
||
Benutzer, die oft
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>2</keycap>
|
||
</keycombo> und
|
||
<keycombo action="simul">
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>A</keycap>
|
||
</keycombo> tippen müssen:</para>
|
||
|
||
<programlisting>
|
||
force=^^
|
||
raisechar=^^
|
||
</programlisting>
|
||
|
||
<para>Das ^^ steht für
|
||
<keycombo action="simul">
|
||
<keycap>Shift</keycap>
|
||
<keycap>Ctrl</keycap>
|
||
<keycap>6</keycap>
|
||
</keycombo>.</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 &man.cat.1; und &man.echo.1;
|
||
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, deshalb sollten Sie
|
||
besser 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
|
||
<keycap>Enter</keycap> 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 <keycap>Enter</keycap> 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>
|
||
</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="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.7;.</para>
|
||
|
||
<warning>
|
||
<para>Die Option <option>-R</option> bewirkt ein
|
||
<acronym>REKURSIVES</acronym> &man.chmod.1;
|
||
Seien Sie vorsichtig, wenn Sie bei
|
||
&man.chmod.1; Verzeichnisse oder symbolische
|
||
Links zu Verzeichnissen angeben. Wenn Sie die
|
||
Zugriffsrechte eines Verzeichnisses ändern
|
||
möchten, das durch einen symbolischen Link
|
||
referenziert wird, benutzen Sie &man.chmod.1;
|
||
ohne irgendwelche Optionen und folgen dem symbolischen
|
||
Link durch einen abschließenden Schrägstrich
|
||
(<filename>/</filename>). Falls z.B.
|
||
<filename>foo</filename> ein symbolischer Link zum
|
||
Verzeichnis <filename>bar</filename> ist und Sie die
|
||
Zugriffsrechte von <filename>foo</filename>
|
||
(tatsächlich <filename>bar</filename>) ändern
|
||
möchten, dann benutzen Sie etwas ähnliches
|
||
wie:</para>
|
||
|
||
<screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen>
|
||
|
||
<para>Durch den abschließenden Schrägstrich folgt
|
||
&man.chmod.1; dem symbolischen Link
|
||
<filename>foo</filename>, um die Zugriffsrechte für
|
||
das Verzeichnis <filename>bar</filename> zu
|
||
ändern.</para>
|
||
</warning>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="dos-binaries">
|
||
<para>Kann ich DOS-Programme unter FreeBSD
|
||
ausführen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ja. Mit dem im Basissystem enthaltenen
|
||
<application>doscmd</application> können Sie
|
||
eine Untermenge der DOS-Kommandos laufen lassen.</para>
|
||
|
||
<para>Falls <application>doscmd</application> nicht ausreicht,
|
||
können Sie den Port
|
||
<filename role="package">emulators/pcemu</filename>
|
||
verwenden, der einen 8088 und genug BIOS-Funktionen emuliert,
|
||
um DOS-Textanwendungen laufen zu lassen. Der Port
|
||
benötigt das X-Window-System.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="translation">
|
||
<para>Was muß ich tun, um die FreeBSD-Dokumentation in
|
||
meine Muttersprache zu übersetzen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Informationen zu diesem Thema finden Sie in der <ulink
|
||
url="http://www.de.FreeBSD.org/de/uebersetzung.html">FAQ</ulink>
|
||
des FreeBSD German Documentation Project.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="freebsd-mail-bounces">
|
||
<para>Warum kommen alle meine Mails, die ich an @FreeBSD.org
|
||
schicke, wieder zurück?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das Mailsystem von FreeBSD.org verwendet einige der
|
||
strengeren Überprüfungen von
|
||
<application>Postfix</application> für eingehende Mails.
|
||
Mails, bei denen es Anzeichen für Konfigurationsprobleme
|
||
oder Spam gibt, werden nicht akzeptiert. Dies kann aus einem
|
||
der folgenden Gründe geschehen:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Die Mail kommt von einem System oder Netzwerk,
|
||
daß für Spam-Aktivitäten bekannt
|
||
ist.</para>
|
||
|
||
<para>Die Mailserver von FreeBSD akzeptierten keine
|
||
Mails von bekannten Spam-Quellen. Wenn Sie auf eine
|
||
Firma oder Domain benutzen, die Spam erzeugt oder
|
||
verteilt, sollten Sie sich einen anderen ISP
|
||
suchen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Der Mailtext enthält HTML.</para>
|
||
|
||
<para>Mail sollte immer im Klartext gesendet werden, Sie
|
||
sollten ihr Mailprogramm entsprechend
|
||
einstellen.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Das Mailsystem kann die IP-Adresse des
|
||
einliefernden Systems nicht in einen symbolischen
|
||
Namen umwandeln.</para>
|
||
|
||
<para>Funktionierendes reverse DNS ist eine
|
||
Vorbedingung, damit ihre Mails angenommen wird.
|
||
Sorgen Sie dafür, daß der reverse DNS
|
||
für Ihren Mailserver korrekt konfiguriert wird.
|
||
Viele Anbieter für Privatkunden geben Ihnen diese
|
||
Möglichkeit nicht. In diesem Fall sollten Sie
|
||
Ihre Mails über den Mailserver Ihres Providers
|
||
versenden.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Der Rechnername, der im EHLO/HELO Teil der SMTP
|
||
Kommunikation übergeben wird, kann nicht zu einer
|
||
IP-Adresse aufgelöst werden.</para>
|
||
|
||
<para>Damit die E-Mail akzeptiert wird, brauchen Sie einen
|
||
voll qualifizierten Rechnernamen, der im DNS eingetragen ist.
|
||
Wenn Sie diesen nicht besitzen, benutzen Sie bitte den
|
||
Mailserver Ihres Providers, um E-Mails zu verschicken.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Die Message-ID Ihrer Mail endet in
|
||
<literal>localhost</literal>.</para>
|
||
|
||
<para>Einige Mail-Clients generieren eine Message-ID, die
|
||
nicht akzeptiert wird. Sie müssen Ihren Mail-Client
|
||
so konfigurieren, daß er eine gültige Message-ID
|
||
generiert. Alternativ können Sie die Message-ID von
|
||
Ihrem Mailserver umschreiben lassen.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="free-account">
|
||
<para>Wo kann ich einen freien FreeBSD-Account bekommen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das FreeBSD-Projekt bietet zwar keinen freien Zugang
|
||
zu seinen Servern an; andere Firmen bieten jedoch frei
|
||
zugängliche &unix; Systeme. Die Kosten variieren und
|
||
es kann sein, daß nicht alle Dienste zur
|
||
Verfügung stehen.</para>
|
||
|
||
<para><ulink url="http://www.arbornet.org/">Arbornet,
|
||
Inc</ulink>, auch als M-Net bekannt, bietet seit 1983
|
||
uneingeschränkten Zugang zu &unix; Systemen.
|
||
Zunächst wurde eine Altos-Maschine mit System III
|
||
benutzt, 1991 erfolgte dann der Wechsel zu BSD/OS. Im
|
||
Juni 2000 erfolgte ein erneuter Wechsel, diesmal zu
|
||
FreeBSD. M-Net bietet Zugang mit Telnet und SSH und den
|
||
Zugang zur gesamten Software von FreeBSD. Allerdings ist
|
||
der Zugriff auf das Netzwerk auf Mitglieder und
|
||
Gönner beschränkt, die eine Spende an die
|
||
nicht-kommerzielle Organisation geleistet haben. M-Net
|
||
stellt zusätzlich ein Mailbox-System und einen
|
||
interaktiven Chat zur Verfügung.</para>
|
||
|
||
<para><ulink url="http://www.grex.org/">Grex</ulink> bietet
|
||
ein ganz ähnlichen Dienst wie M-Net an, dazu
|
||
gehören auch das Mailbox-System und der interaktive
|
||
Chat. Allerdings wird eine SUN4M mit SunOS
|
||
benutzt.</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">CVSup</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="daemon-name">
|
||
<para>Wie heißt das niedliche rote Kerlchen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Er ist namenlos, es ist einfach der <quote>der BSD
|
||
Daemon</quote>. Wenn Sie ihm unbedingt einen Namen geben
|
||
wollen, rufen Sie ihn <quote>beastie</quote>. Beachten
|
||
Sie aber, daß <quote>beastie</quote> wie
|
||
<quote>BSD</quote> ausgesprochen wird.</para>
|
||
|
||
<para>Weitere Informationen über den BSD daemon finden
|
||
Sie auf <ulink
|
||
url="http://www.mckusick.com/beastie/index.html">seiner
|
||
Homepage</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="use-beastie">
|
||
<para>Kann ich Bilder des BSD Daemon verwenden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Eventuell. Der BSD Daemon unterliegt dem Copyright
|
||
von Marshall Kirk McKusick. Wenn Sie genaue Informationen
|
||
über die Einschränkungen bei der Nutzung
|
||
brauchen, sollten Sie sein <ulink
|
||
url="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement
|
||
on the Use of the BSD Daemon Figure</ulink> lesen.</para>
|
||
|
||
<para>Kurz gesagt, können Sie den BSD Daemon benutzen,
|
||
solange es für einen privaten Zweck ist und die
|
||
Nutzung geschmackvoll bleibt. Für den kommerziellen
|
||
Einsatz brauchen Sie die Zustimmung von Kirk McKusick.
|
||
Weitere Informationen erhalten Sie auf der Webseite <ulink
|
||
url="http://www.mckusick.com/beastie/index.html">BSD
|
||
Daemon's home page</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="daemon-images">
|
||
<para>Woher kann ich Bilder des BSD Daemon bekommen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Einige Bilder in den Format xfig und eps sind unter
|
||
<filename>/usr/share/examples/BSD_daemon/</filename> zu
|
||
finden.</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>Berkeley
|
||
Software Distribution</quote>. Das ist der Name, den die
|
||
Berkeley <acronym>CSRG</acronym> (Computer Systems Research
|
||
Group) damals für ihre Distribution des &unix; Systems gewählt
|
||
hat.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="define-pola">
|
||
<para>Was bedeutet <acronym>POLA</acronym>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Prinzip der kleinsten Überraschung (engl.
|
||
<foreignphrase>Principle of Least Astonishment</foreignphrase>).
|
||
Das bedeutet, daß Änderungen in FreeBSD, die den
|
||
Endanwender betreffen, für diesen so transparent wie
|
||
möglich bleiben. Es wäre beispielsweise eine
|
||
Verletzung dieses Prinzips die Variablen in
|
||
<filename>/etc/defaults/rc.conf</filename> willkürlich
|
||
umzuordnen. Entwickler berücksichtigen dieses Prinzip,
|
||
wenn Sie über Änderungen nachdenken, die den Endanwender
|
||
betreffen.</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
|
||
Committer 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 &man.cvs.1; 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
|
||
nicht 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>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="funnies">
|
||
<title>Nicht ganz ernstgemeinte Fragen</title>
|
||
|
||
<qandaset>
|
||
<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
|
||
auß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). Keine der Gruppen hat
|
||
besondere Abweichungen der Temperatur erwähnt.
|
||
Eventuell hätten wir sämtliche Ergebnisse dieser
|
||
Untersuchung fortwerfen sollen, als wir festgestellt
|
||
haben, daß zu viele der Freiwilligen den Raum
|
||
während der Tests verlassen haben und dadurch die
|
||
Ergebnisse verfälscht haben. Wir glauben, daß
|
||
die meisten der Freiwilligen nun bei Apple sind und an
|
||
ihrer neuen <quote>scratch and sniff</quote>
|
||
Oberfläche arbeiten. Es ist ein lustiges, altes
|
||
Geschäft, in dem wir uns befinden!</para>
|
||
|
||
<para>Ernsthaft, 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. Da
|
||
Sie jetzt die Wahrheit kennen, würden Sie es
|
||
vorziehen, sich an die Geräusche zu gewöhnen,
|
||
wenn Sie die Wahl hätten.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="changing-lightbulbs">
|
||
<para>Wieviele FreeBSD-Hacker braucht man, um eine
|
||
Glühbirne auszuwechseln?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Eintausendeinhundertundneunundsechzig:</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 in das 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 &man.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 <quote>unsubscribe</quote>,
|
||
<quote>How do I unsubscribe?</quote>
|
||
oder <quote>Please remove me from the list</quote> gefolgt
|
||
von der üblichen Fußzeile abschicken;</para>
|
||
|
||
<para>Einen, der eine funktionierende Glühbirne
|
||
einbaut, während alle zu beschäftigt damit sind,
|
||
mit jedem zu streiten, um es zu bemerken;</para>
|
||
|
||
<para>Einunddreißig, die herausstellen, 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 GCC 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 <quote>Was ist MFC?</quote></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>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="dev-null">
|
||
<para>Was passiert mit den Daten, die nach
|
||
<filename>/dev/null</filename> geschrieben werden?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sie werden in einer speziellen Datensenke der CPU in
|
||
Wärme umgewandelt, die dann über den
|
||
Kühlkörper und den Lüfter abgeführt
|
||
wird. Dies ist einer der Gründe für die
|
||
Kühlung von CPUs; die Anwender gewöhnen sich an
|
||
die schnelleren Prozessoren, gehen nicht mehr so
|
||
sorgfältig mit Ihren Daten um und so landen immer
|
||
mehr Daten in <filename>/dev/null</filename>, was zur
|
||
Überhitzung der CPU führt. Wenn Sie
|
||
<filename>/dev/null</filename> löschen (was die
|
||
Datensenke ziemlich sicher abschaltet), wird Ihre CPU zwar
|
||
nicht mehr so heiß, dafür wird Ihr System aber
|
||
sehr schnell von den überzähligen Daten
|
||
überladen und merkwürdige Effekte zeigen. Wenn
|
||
Sie eine sehr schnell Netzwerkverbindung haben,
|
||
können Sie Ihre CPU kühlen, indem sie Daten aus
|
||
<filename>/dev/random</filename> lesen und in die Weite
|
||
des Netzwerkes schicken; allerdings besteht hier die
|
||
Gefahr der Überhitzung von Netzwerk und
|
||
<filename>/</filename>. Außerdem dürfte Ihr
|
||
ISP ziemlich wütend werden, da der größte
|
||
Teil der Daten von seinen Geräten in Hitze
|
||
umgewandelt werden wird; da ISPs aber über
|
||
Klimaanlagen verfügen, sollte das kein großes
|
||
Problem sein, solange Sie es nicht
|
||
übertreiben.</para>
|
||
|
||
<para><emphasis>Nachtrag Paul Robinson:</emphasis></para>
|
||
|
||
<para>Es gibt andere Mittel und Wege. Wie jeder gute
|
||
Systemadministrator weiß, gehört es zum guten
|
||
Ton, einigen Daten zum Bildschirm zu senden, damit die
|
||
Leuchtkäferchen, die das Bild anzeigen,
|
||
glücklich sind. Die Leuchtkäferchen werden nach
|
||
der Farbe Ihrer Hüte (Rot, Grün, oder Blau)
|
||
unterschieden und sie verstecken bzw. zeigen sich (wobei
|
||
man die Farbe ihrer Hüte erkennen kann) bei jeder
|
||
Nahrungsaufnahme. Grafikkarten wandeln Daten in
|
||
Leuchkäfer-Nahrung um und schicken sie dann zu den
|
||
Leuchtkäfern - teure Karten erzeugen bessere Nahrung
|
||
und sorgen so für besseres Verhalten der
|
||
Leuchtkäfer. Diese brauchen allerdings einen
|
||
konstanten Stimulus - darum gibt es
|
||
Bildschirmschoner.</para>
|
||
|
||
<para>Darum lautet mein Vorschlag, die zufälligen Daten
|
||
einfach zum Bildschirm zu schicken, damit sie von den
|
||
Leuchtkäfern verzehrt werden. Dabei entsteht keine
|
||
Hitze, die Leuchtkäfer bleiben glücklich und man
|
||
wird seine überflüssigen Daten sehr schnell los,
|
||
auch wenn der Bildschirm etwas merkwürdig
|
||
aussieht.</para>
|
||
|
||
<para>Übrigens: Als Ex-Admin eines großen ISPs,
|
||
der so seine Probleme mit der Kühlung seines
|
||
Rechenzentrums hatte, kann ich nur davon abraten,
|
||
überflüssige Daten einfach in das Netzwerk zu
|
||
schicken. Die Heinzelmännchen, die die Pakete
|
||
verteilen und versenden, regen sich darüber ganz
|
||
furchtbar auf.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter id="advanced">
|
||
<title>Weiterführende Themen</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question id="learn-advanced">
|
||
<para>Wie kann ich mehr über die Interna von FreeBSD
|
||
erfahren?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Zur Zeit gibt es kein Buch über die Interna von
|
||
FreeBSD. Allgemeines Wissen über Wissen kann
|
||
allerdings in den meisten Fällen auf FreeBSD
|
||
angewendet werden. Auch einige der BSD-spezifischen
|
||
Bücher sind für FreeBSD verwendbar.</para>
|
||
|
||
<para>Eine Liste finden Sie im entsprechenden Abschnitt der
|
||
<ulink URL="../handbook/bibliography-osinternals.html">
|
||
Bibliographie</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="how-to-contribute">
|
||
<para>Wie kann ich bei der Entwicklung von FreeBSD
|
||
mitarbeiten?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Genauere Informationen finden Sie im Artikel <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/article.html">
|
||
Contributing to FreeBSD</ulink>. Wie können Hilfe immer gut
|
||
gebrauchen!</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<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>. In früheren Zweigen
|
||
ändert sich wenig, daher gibt es nur drei
|
||
aktive Entwicklungszweige:</para>
|
||
|
||
<itemizedlist>
|
||
<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>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="custrel">
|
||
<para>Wie kann ich meine eigene, angepaßtes Release
|
||
erstellen?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Eine Anleitung dazu finden Sie im Artikel <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/article.html">
|
||
FreeBSD Release Engineering</ulink>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="makeworld-clobbers">
|
||
<para>Wieso überschreibt <command>make world</command>
|
||
das installierte System?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Das ist beabsichtigt. Wie der Name schon andeutet,
|
||
erstellt <command>make world</command> alle Systemdateien
|
||
von Grund auf neu. Sie können also sicher sein, am
|
||
Ende eine saubere, konsistente Umgebung zu haben (das ist
|
||
der Grund, warum es so lange dauert).</para>
|
||
|
||
<para>Falls die Umgebungsvariable <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>Warum meldet mein System <quote>(bus speed
|
||
defaulted)</quote> beim Start?</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 Artikel <ulink
|
||
url="http://www.de.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/article.html">
|
||
Contributing to FreeBSD</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: Frank Durda IV
|
||
<email>uhclem@nemesis.lonestar.org</email></para>
|
||
|
||
<para>Kurz gesagt gibt es nur wenige I/O-Ports über die
|
||
PnP-Karten antworten, wenn der Host fragt, ob jemand da
|
||
ist. Wenn die PnP-Erkennungsroutine startet, fragt sie,
|
||
ob irgendwelche PnP-Karten vorhanden sind und alle
|
||
PnP-Karten antworten mit ihrer Modellnummer auf demselben
|
||
Port, von dem sie auch gelesen haben. Die
|
||
Erkennungsroutine erhält also ein geodertes
|
||
<quote>Ja</quote> auf diese Frage. Mindestens ein Bit
|
||
wird bei dieser Antwort gesetzt sein. Die
|
||
Erkennungsroutine ist dann in der Lage, dafür zu
|
||
sorgen, 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 Geräten benutzte Ressourcen verwendet
|
||
werden.</para>
|
||
|
||
<para>Dann werden die PnP-Geräte nochmals besucht und
|
||
ihre I/O, DMA, IRQ und Memory-Map-Adressen werden
|
||
zugeordnet. Die Geräte werden an diesen Stellen
|
||
sichtbar werden und dort bis zum nächsten Reboot
|
||
verbleiben. Allerdings hindert Sie auch nichts daran, sie
|
||
zu verschieben, wohin Sie wollen.</para>
|
||
|
||
<para>Im obigen Teil wurde sehr viel vereinfacht, aber die
|
||
grundlegende Idee sollte klar geworden sein.</para>
|
||
|
||
<para>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="major-numbers">
|
||
<para>Wie bekomme ich eine Major-Number für einen
|
||
Gerätetreiber, den ich geschrieben habe?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>&os.current; stellt seit Februar 2003
|
||
Major-Numbers für Geräte zur Laufzeit automatisch
|
||
bereit. Nach Möglichkeit sollte diese neue
|
||
Funktion benutzt werden, anstatt eine Major-Number
|
||
statisch festzulegen. Weitere Hinweise finden Sie in
|
||
<filename>src/sys/conf/majors</filename>.</para>
|
||
|
||
<para>Wenn Sie eine statisch festgelegte Major-Number
|
||
benötigen, hägt das weitere Verfahren davon ab,
|
||
ob Sie den Treiber frei verfügbar machen wollen.
|
||
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
|
||
&man.MAKEDEV.8;, der die Gerätedateien für Ihr
|
||
Gerät erzeugt. Falls Sie nicht beabsichtigen,
|
||
den Treiber frei verfügbar zu machen, oder es
|
||
aufgrund von Lizenzbeschränkungen nicht können,
|
||
dann ist die Major-Number 32 für zeichenorientierte
|
||
und die Major-Number 8 für blockorientierte
|
||
Geräte speziell für diesen Zweck reserviert. In
|
||
jedem Fall würden wir uns freuen, auf der Mailingliste
|
||
&a.hackers; etwas über Ihren neuen Treiber zu
|
||
hören.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="alternate-directory-layout">
|
||
<para>Gibt es alternative Layoutverfahren für
|
||
Verzeichnisse?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Als Antwort auf die Frage nach alternativen
|
||
Layoutverfahren für Verzeichnisse ist das Schema, das
|
||
derzeit benutzt wird, unverändert von dem, das ich
|
||
1983 geschrieben habe. Ich habe das Vorgehen für das
|
||
originale Fast-Filesystem geschrieben und es niemals
|
||
überarbeitet. Es funktioniert gut, wenn es darum
|
||
geht, zu verhindern, 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>Wie kann ich 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
|
||
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
|
||
Cc: current@FreeBSD.org
|
||
</programlisting>
|
||
|
||
<para><emphasis>[<Ben Rosengart> 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>
|
||
|
||
<procedure>
|
||
<step>
|
||
<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>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Tun Sie folgendes, wenn das System
|
||
rebootet:</para>
|
||
|
||
<screen>&prompt.user; <userinput>nm -n /kernel.that.caused.the.panic | grep f0xxxxxx</userinput></screen>
|
||
|
||
<para>wobei <literal>0xf0xxxxxx</literal> der Wert des
|
||
Instruktionszeigers ist. Es besteht die
|
||
Möglichkeit, 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; <userinput>nm -n /kernel.that.caused.the.panic | grep f0xxxxx</userinput></screen>
|
||
|
||
<para>Falls das kein Ergebnis liefert, hacken Sie eine
|
||
weitere Ziffer ab. Wiederholen Sie die Schritte, bis
|
||
Sie irgendeine Ausgabe erhalten. Das Ergebnis wird
|
||
eine Liste möglicher Funktionen sein, die die
|
||
Panik verursacht haben. Das ist zwar kein absolut
|
||
genauer Mechanismus, um die Fehlerursache ausfindig zu
|
||
machen, aber es ist besser als gar nichts.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>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 &man.gdb.1; zu benutzen, um den Stack im Crash-Dump
|
||
zurückzuverfolgen.</para>
|
||
|
||
<para>Jedenfalls ist die Methode, die ich normalerweise
|
||
benutze, folgende:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>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>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Benutzen Sie <command>config -g
|
||
<replaceable>KERNELCONFIG</replaceable></command>, um
|
||
das Erstellungsverzeichnis einzurichten.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para><command>cd
|
||
/sys/compile/<replaceable>KERNELCONFIG</replaceable>;
|
||
make</command></para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Warten Sie, bis der Kernel fertig kompiliert
|
||
ist.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para><command>make install</command></para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>reboot</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<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 &man.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
|
||
&man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um
|
||
Crash-Dumps zu ermöglichen. Sie können
|
||
&man.dumpon.8; auch manuell ausführen. Nach einer
|
||
Panik kann der Crash-Dump mit &man.savecore.8;
|
||
wiederhergestellt werden; wenn <literal>dumpdev</literal>
|
||
in <filename>/etc/rc.conf</filename> gesetzt ist, werden
|
||
die &man.rc.8;-Skripte &man.savecore.8; automatisch
|
||
ausführen und den Crash-Dump unter
|
||
<filename>/var/crash</filename> ablegen.</para>
|
||
|
||
<note>
|
||
<para>Crash-Dumps von FreeBSD sind für
|
||
gewöhnlich genauso groß wie der physikalische
|
||
Hauptspeicher Ihres Rechners. Das heißt, 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 &man.savecore.8; manuell aus und lassen
|
||
es den Crash-Dump in einem anderen Verzeichnis
|
||
wiederherstellen, in dem Sie mehr Platz haben. Es ist
|
||
möglich, die Größe des Crash-Dumps zu
|
||
begrenzen, indem <literal>options MAXMEM=(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>Wenn Sie den Crash-Dump wiederhergestellt haben,
|
||
können Sie den Stack mit &man.gdb.1; 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 &man.script.1; 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 &man.gdb.1; 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 &man.gdb.1; auch
|
||
für entferntes Debugging konfigurieren, so daß
|
||
Sie &man.gdb.1; auf einem System benutzen können, um
|
||
den Kernel auf einem anderen System zu debuggen,
|
||
einschließlich dem Setzen von Haltepunkten und dem
|
||
Bewegen in Einzelschritten durch den Kernelcode, genauso,
|
||
wie Sie es mit einem normalen Benutzerprogramm tun
|
||
können. 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>Wieso funktioniert dlsym() nicht mehr für
|
||
ELF-Executables?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Die ELF-Werkzeuge machen die in einem Executable
|
||
definierten Symbole dem dynamischen Linker nicht
|
||
standardmäßig sichtbar. Konsequenterweise
|
||
werden <function>dlsym()</function>-Suchen nach Handlern
|
||
aus Aufrufen von <function>dlopen(NULL, flags)</function>
|
||
diese Symbole nicht finden können.</para>
|
||
|
||
<para>Wenn Sie mit <function>dlsym()</function> nach im
|
||
Hauptexecutable eines Prozesses vorhandenen Symbolen
|
||
suchen wollen, müssen Sie das Executable mit der
|
||
Option <option>-export-dynamic</option> von &man.ld.1;
|
||
linken.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question id="change-kernel-address-space">
|
||
<para>Wie kann ich den Adreßraum des Kernels
|
||
vergrössern oder verkleinern?</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ößeren 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 &man.ps.1;, &man.top.1;
|
||
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>,
|
||
&man.ps.1; und &man.top.1; 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.de.translators; 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>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>&a.dwhite;</term>
|
||
|
||
<listitem>
|
||
<para>Dienste über Pflichtbesuche in freebsd-questions
|
||
hinaus</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>&a.joerg;</term>
|
||
|
||
<listitem>
|
||
<para>Dienste über Pflichtbesuche im Usenet
|
||
hinaus</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>&a.wollman;</term>
|
||
|
||
<listitem>
|
||
<para>Netzwerke und Formatierung</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Jim Lowe</term>
|
||
|
||
<listitem>
|
||
<para>Multicast-Informationen</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>&a.pds;</term>
|
||
|
||
<listitem>
|
||
<para>Schreibmaschinenknecht der FreeBSD-FAQ</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>
|
||
&bibliography;
|
||
</book>
|