books/faq/book.sgml 1.780 -> 1.781 books/handbook/Makefile 1.98 -> 1.100 books/handbook/book.sgml 1.164 -> 1.166 books/handbook/chapters.ent 1.33 -> 1.35 books/handbook/firewalls/chapter.sgml 1.66 -> 1.67 books/handbook/mirrors/chapter.sgml 1.416 -> 1.418 books/handbook/network-servers/chapter.sgml 1.79 -> 1.81 books/handbook/preface/preface.sgml 1.30 -> 1.32 flyer/Makefile 1.1 -> 1.2 flyer/flyer.tex 1.10 -> 1.13 Obtained from: The FreeBSD German Documentation Project.
13588 lines
571 KiB
Text
13588 lines
571 KiB
Text
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.581 2006/05/14 10:38:28 jkois Exp $
|
|
|
|
basiert auf: 1.781
|
|
|
|
-->
|
|
|
|
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
|
<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//DE">
|
|
%books.ent;
|
|
<!ENTITY bibliography SYSTEM "../../share/sgml/bibliography.sgml">
|
|
]>
|
|
|
|
<book id="faq" lang="de">
|
|
<bookinfo>
|
|
<title>Häufig gestellte Fragen zu FreeBSD
|
|
4.X, 5.X und 6.X</title>
|
|
|
|
<subtitle>Frequently Asked Questions für FreeBSD
|
|
4.X, 5.X und 6.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.581 2006/05/14 10:38:28 jkois 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>
|
|
|
|
<year>2004</year>
|
|
|
|
<year>2005</year>
|
|
|
|
<year>2006</year>
|
|
|
|
<holder>The FreeBSD Documentation Project</holder>
|
|
</copyright>
|
|
|
|
<copyright>
|
|
<year>2000</year>
|
|
|
|
<year>2001</year>
|
|
|
|
<year>2002</year>
|
|
|
|
<year>2003</year>
|
|
|
|
<year>2004</year>
|
|
|
|
<year>2005</year>
|
|
|
|
<year>2006</year>
|
|
|
|
<holder>The FreeBSD German Documentation Project</holder>
|
|
</copyright>
|
|
|
|
&bookinfo.legalnotice;
|
|
|
|
<legalnotice id="trademarks" role="trademarks">
|
|
&tm-attrib.freebsd;
|
|
&tm-attrib.3com;
|
|
&tm-attrib.adobe;
|
|
&tm-attrib.creative;
|
|
&tm-attrib.cvsup;
|
|
&tm-attrib.ibm;
|
|
&tm-attrib.ieee;
|
|
&tm-attrib.intel;
|
|
&tm-attrib.iomega;
|
|
&tm-attrib.linux;
|
|
&tm-attrib.microsoft;
|
|
&tm-attrib.mips;
|
|
&tm-attrib.netscape;
|
|
&tm-attrib.opengroup;
|
|
&tm-attrib.oracle;
|
|
&tm-attrib.sgi;
|
|
&tm-attrib.sparc;
|
|
&tm-attrib.sun;
|
|
&tm-attrib.usrobotics;
|
|
&tm-attrib.xfree86;
|
|
&tm-attrib.general;
|
|
</legalnotice>
|
|
|
|
<abstract>
|
|
<para>Dies ist die FAQ für die FreeBSD-Versionen
|
|
4.X, 5.X und 6.X. Alle Einträge sollten für FreeBSD
|
|
ab Version 4.0 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.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="&url.base;/search/search.html">
|
|
durchsuchen</ulink>.</para>
|
|
</abstract>
|
|
</bookinfo>
|
|
|
|
<chapter id="introduction">
|
|
<title>Einleitung</title>
|
|
|
|
<para>Willkommen zur FreeBSD 4.X-6.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 &unix; ähnliches
|
|
Betriebssystem für die Plattformen Alpha/AXP, AMD64
|
|
sowie &intel; EM64T, &i386;, IA-64, PC-98 und &ultrasparc;,
|
|
das auf der <quote>4.4BSD-Lite</quote>-Release
|
|
der University of California at Berkeley (UCB) basiert;
|
|
außerdem flossen einige Erweiterungen aus der
|
|
<quote>4.4BSD-Lite2</quote>-Release mit ein. Es basiert
|
|
außerdem indirekt auf der von William Jolitz unter
|
|
dem Namen <quote>386BSD</quote> herausgebrachten
|
|
Portierung der <quote>Net/2</quote>-Release der UCB auf
|
|
die &i386;-Plattform - allerdings ist nur wenig vom
|
|
386BSD-Code übriggeblieben. Eine umfassendere
|
|
Beschreibung darüber, was FreeBSD ist und wie Sie es
|
|
für Ihre Zwecke verwenden können, finden Sie auf
|
|
den Internetseiten des <ulink url="&url.base;/index.html">
|
|
FreeBSD Projects</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.</para>
|
|
|
|
<para>Ausführlichere Informationen zu FreeBSD, finden
|
|
Sie im <ulink url="&url.books.handbook;/index.html">FreeBSD
|
|
Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="FreeBSD-goals">
|
|
<para>Welches Ziel hat das FreeBSD-Projekt?</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,
|
|
dass unsere <quote>Mission</quote> zuerst und
|
|
vorderst darin besteht, allen und jedem Kommenden Code
|
|
für welchen Zweck auch immer zur Verfügung zu
|
|
stellen, damit der Code möglichst weit eingesetzt
|
|
wird und den größtmöglichen Nutzen
|
|
liefert. Das ist, so glauben wir, eines der
|
|
fundamentalsten Ziele von freier Software und eines, das
|
|
wir enthusiastisch unterstützen.</para>
|
|
|
|
<para>Der Code in unserem Quellbaum, der der <ulink url="
|
|
http://www.FreeBSD.org/copyright/COPYING">GNU General
|
|
Public License (GPL)</ulink> oder der <ulink
|
|
url="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU
|
|
Library General Public License (LGPL)</ulink> unterliegt,
|
|
ist mit zusätzlichen, geringfügigen Bedingungen
|
|
verknüpft, jedoch handelt es sich dabei lediglich um
|
|
erzwungene Bereitstellung statt des sonst üblichen
|
|
Gegenteils. Auf Grund der zusätzlichen
|
|
Komplexität, die durch den kommerziellen Einsatz von
|
|
GPL Software entstehen kann, bemühen wir uns jedoch,
|
|
solche Software, wo möglich, durch solche, die der
|
|
etwas lockereren <ulink
|
|
url="http://www.FreeBSD.org/copyright/freebsd-license.html">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-Sammlung</ulink> verfügbar.</para>
|
|
|
|
<para>Wenn Sie Anwendung benutzen müssen, die es nur
|
|
für ein bestimmtes Betriebssystem gibt, dann kommen
|
|
Sie an diesem Betriebssystem nicht vorbei. Allerdings
|
|
stehen die Chancen nicht schlecht, dass es eine
|
|
vergleichbare Anwendung für 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 &macos;
|
|
ist, werden Sie zusätzliche Zeit investieren
|
|
müssen, um den &unix; Stil zu verstehen. Dieser FAQ
|
|
und das <ulink url="&url.books.handbook;/index.html">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, dass das englische
|
|
Wort <quote>free</quote> hier in den Bedeutungen
|
|
<quote>umsonst</quote> und <quote>Sie können tun, was
|
|
immer Sie möchten</quote> genutzt wird. Abgesehen
|
|
von ein oder zwei Dingen, die Sie mit dem 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://ezine.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
|
|
multiple "latest" versions of FreeBSD.
|
|
-->
|
|
|
|
<answer>
|
|
<para>Momentan gibt es drei Entwicklungszweige, von den zwei
|
|
für die Erstellung von Releases verwendet werden.
|
|
Die 5.X-RELEASEs werden auf dem
|
|
<emphasis>5-STABLE</emphasis>-Zweig erstellt, die
|
|
6.X-RELEASEs auf dem <emphasis>6-STABLE</emphasis>-Zweig.</para>
|
|
|
|
<para>Bis zur Veröffentlichung von &os; 5.3 galt
|
|
die 4.X-Serie als <emphasis>-STABLE</emphasis>. Seither
|
|
gibt es für den Zweig 4.X nur mehr eine
|
|
<quote>erweiterte Unterstützung</quote> in der Form
|
|
von Korrekturen von größeren Problemen, wie
|
|
neu entdeckten Sicherheitsheitslücken. Aus dem Zweig
|
|
<emphasis>5-STABLE</emphasis> werden zwar noch
|
|
RELEASEs erzeugt, er gilt aber als <quote>ausgereift</quote>.
|
|
Aktive Weiterentwicklungen konzentrieren sich daher auf den
|
|
Zweig <emphasis>6-STABLE</emphasis>.
|
|
|
|
<para>Version <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;</ulink>
|
|
ist das aktuelle Release des
|
|
<emphasis>6-STABLE</emphasis>-Zweigs 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>5-STABLE</emphasis>-Zweig und ist im
|
|
&rel2.current.date; erschienen.</para>
|
|
|
|
<para>Kurz gesagt, <emphasis>-STABLE</emphasis> ist
|
|
für ISPs und andere Benutzer gedacht, die mehr Wert
|
|
auf Stabilität und eine niedrige
|
|
Änderungsfrequenz als auf die neuesten und
|
|
möglicherweise unstabilen Features im
|
|
aktuellen <emphasis>-CURRENT</emphasis> Snapshot legen.
|
|
Releases können aus jedem Zweig entstehen, Sie
|
|
sollten <emphasis>-CURRENT</emphasis> allerdings nur dann
|
|
benutzen, wenn Sie auf ein erhöhtes Fehlverhalten
|
|
im Vergleich zu <emphasis>-STABLE</emphasis> auch
|
|
vorbereitet sind.</para>
|
|
|
|
<para>Releases entstehen nur <link
|
|
linkend="release-freq">alle paar Monate</link>. Viele
|
|
Leute halten ihre Systeme aktueller (lesen Sie die Fragen
|
|
zu <link linkend="current">&os;-CURRENT</link> und
|
|
<link linkend="stable">&os;-STABLE</link>), aber das
|
|
erfordert ein erhöhtes Engagement, da die Sourcen
|
|
sich ständig verändern.</para>
|
|
|
|
<para>Weitere Informationen über 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="&url.books.handbook;/cutting-edge.html#CURRENT">
|
|
&os;-CURRENT</ulink> ist die Entwicklungsversion des
|
|
Betriebssystems, aus der zu gegebener Zeit &os.stable;
|
|
werden wird. Als solche ist sie lediglich für
|
|
Entwickler, die am System mitarbeiten und für
|
|
unentwegte Bastler von Interesse. Details zum Betrieb von
|
|
-CURRENT finden Sie im <ulink
|
|
url="&url.books.handbook;/cutting-edge.html#CURRENT">
|
|
entsprechenden Abschnitt</ulink> des <ulink
|
|
url="&url.books.handbook;/index.html">Handbuchs</ulink>.</para>
|
|
|
|
<para>Falls Sie nicht mit dem Betriebssystem vertraut sind
|
|
oder nicht in der Lage sein sollten, den Unterschied
|
|
zwischen einen echten und einem temporären Problem zu
|
|
erkennen, sollten Sie &os;-CURRENT nicht verwenden.
|
|
Dieser Zweig entwickelt sich manchmal sehr schnell weiter
|
|
und kann gelegentlich für mehrere Tage hintereinander
|
|
nicht installierbar sein. Von Personen, die
|
|
&os;-CURRENT verwenden, wird erwartet, dass Sie
|
|
dazu in der Lage sind, Probleme zu analysieren und nur
|
|
dann von ihnen berichten, wenn es sich um Fehler und nicht
|
|
um <quote>kurzzeitige Störungen</quote> handelt.
|
|
Fragen wie <quote>make world produziert Fehlermeldungen
|
|
bezüglich Gruppen</quote> werden in der -CURRENT
|
|
Mailingliste manchmal nicht beachtet.</para>
|
|
|
|
<para>Jeden Tag wird der aktuelle Entwicklungsstand in den
|
|
Zweigen -CURRENT und -STABLE in einer <ulink
|
|
url="&url.base;/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, dass wir später
|
|
einmal ernsthaften Schaden anrichten sollten (obwohl
|
|
CVS verhindern sollte, dass solche Situationen
|
|
entstehen :)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sicherzustellen, dass alle zu testenden, neuen
|
|
Merkmale und Fehlerbehebungen zu möglichst vielen
|
|
potentiellen Testern gelangen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Von keinem -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 sind unter <ulink
|
|
url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots">
|
|
ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/</ulink>
|
|
verfügbar.</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 der Zeit, als FreeBSD 2.0.5 herausgegeben wurde,
|
|
wurde entschieden, die Entwicklung von FreeBSD zweizuteilen.
|
|
Ein Zweig wurde <ulink
|
|
url="&url.books.handbook;/current-stable.html#STABLE">-STABLE</ulink>
|
|
der andere <ulink
|
|
url="&url.books.handbook;/cutting-edge.html#CURRENT">-CURRENT</ulink>
|
|
genannt. 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 6.0-RELEASE (und darüber
|
|
hinaus). Unmittelbar vor der Veröffentlichung von
|
|
6.0-RELEASE wurde der 6-STABLE-Zweig erschaffen und
|
|
&os.current; wurde zu 7-CURRENT. Weitere Informationen zu
|
|
diesem Thema finden Sie unter
|
|
<quote><ulink url="&url.articles.releng.en;/release-proc.html#REL-BRANCH">
|
|
FreeBSD Release Engineering: Creating the Release
|
|
Branch</ulink></quote>.</para>
|
|
|
|
<para>Der Zweig 2.2-STABLE wurde mit der
|
|
Veröffentlichung der Version 2.2.8 eingestellt. Der
|
|
Zweig 3-STABLE endete mit Version 3.5.1, der letzten
|
|
3.X-Version. Änderungen in diesen Zweigen
|
|
beschränken sich im allgemeinen auf die Korrektur von
|
|
sicherheitsrelevanten Fehlern. Die Zweige 4-STABLE und
|
|
5-STABLE werden zwar noch unterstützt, die
|
|
Unterstützung
|
|
beschränkt sich allerdings auf das Schließen von
|
|
neu entdeckten Sicherheitslücken und die Behebung
|
|
von anderen ernsten Problemen.</para>
|
|
|
|
<para>&rel.current;-STABLE ist der Zweig, auf den sich die
|
|
Entwicklung von -STABLE zurzeit konzentriert. Das neueste
|
|
Release aus dem &rel.current;-STABLE-Zweig ist
|
|
&rel.current;-RELEASE und ist im &rel.current.date;
|
|
erschienen.</para>
|
|
|
|
<para>Aus dem 7-CURRENT-Zweig entsteht die nächste
|
|
&os;-Generation. Weitere Informationen über diesen
|
|
Zweig finden Sie unter <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, dass die neu hinzugefügten Features
|
|
nicht die Stabilität des Releases beeinträchtigen.
|
|
Viele Benutzer halten dies für einen
|
|
großen Vorteil von 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="&url.articles.contributors.en;/article.html#STAFF-CORE">Core
|
|
Team</ulink> von 9 Personen geführt. Es gibt
|
|
ein weitaus größeres Team von über 300
|
|
<ulink
|
|
url="&url.articles.contributors.en;/article.html#STAFF-COMMITTERS">Committern</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>Das aktuelle 6-STABLE-Release, &rel.current;-RELEASE,
|
|
finden Sie im Verzeichnis <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://current.FreeBSD.org/pub/FreeBSD/">
|
|
Snapshots</ulink>-Releases werden täglich aus dem
|
|
<link linkend="current">-CURRENT</link>-Zweig erzeugt. Sie
|
|
sollten aber nur von Entwicklern und sehr erfahrenen Testern
|
|
verwendet werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das aktuelle Release von 5-STABLE,
|
|
&rel2.current;-RELEASE finden Sie im Verzeichnis <ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/">5.X
|
|
Snapshots</ulink> werden in der Regel
|
|
täglich erstellt.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Wo und wie Sie FreeBSD auf CD, DVD, und anderen Medien
|
|
beziehen können, erfahren Sie im <ulink
|
|
url="&url.books.handbook;/mirrors.html">Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="access-pr">
|
|
<para>Wie greife ich auf die Datenbank mit Problemberichten
|
|
zu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Datenbank mit Problemberichten (PR,
|
|
<foreignphrase>problem report</foreignphrase>) und
|
|
Änderungsanfragen von Benutzern kann
|
|
über die webbasierte <ulink
|
|
url="http://www.de.FreeBSD.org/cgi/query-pr-summary.cgi?query">
|
|
PR-Abfrage</ulink>-Schnittstelle abgefragt werden.</para>
|
|
|
|
<para>Mit dem Programm &man.send-pr.1; können Sie
|
|
Problemberichte oder Änderungsanträge per E-Mail
|
|
einsenden. Alternativ können Sie Problemberichte
|
|
auch über Ihren Browser und die
|
|
<ulink url="http://www.freebsd.org/send-pr.html">webbasierte
|
|
PR-Eingabe</ulink>-Schnittstelle erstellen.</para>
|
|
|
|
<para>Bevor Sie einen Fehler melden, sollten Sie sich zuerst
|
|
den Artikel <ulink
|
|
url="&url.articles.problem-reports.en;/article.html">Writing
|
|
FreeBSD Problem Reports</ulink> durchlesen, damit Sie
|
|
wissen, wie Sie eine gute Fehlermeldung verfassen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="other-info-sources">
|
|
<para>Gibt es weitere Informationsquellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden eine umfassende Liste unter <ulink
|
|
url="http://www.FreeBSD.org/docs.html">Documentation</ulink>
|
|
auf der <ulink
|
|
url="http://www.FreeBSD.org">FreeBSD-Webseite</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="support">
|
|
<title>Dokumentation und Support</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="books">
|
|
<para>Gibt es gute Bücher über 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. Zurzeit werden die folgenden Sprachen und
|
|
Zeichensätze benutzt:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
|
|
<entry>Bedeutung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>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>it_IT.ISO8859-15</literal></entry>
|
|
|
|
<entry>Italienisch</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, dass unsere Leser
|
|
die für sie relevanten Teile unabhängig vom
|
|
Ausgabemedium (Bildschirm oder Papier) lesen können.
|
|
Derzeit werden die folgenden Formate
|
|
unterstützt:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Format</entry>
|
|
|
|
<entry>Erklärung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>html-split</literal></entry>
|
|
|
|
<entry>Viele kleine HTML-Dateien, die sich
|
|
gegenseitig referenzieren.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>html</literal></entry>
|
|
|
|
<entry>Eine große HTML-Datei, die das
|
|
komplette Dokument enthält.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><literal>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; zusammengefasst. Die
|
|
so entstandene <filename>.tar</filename> Datei
|
|
wird dann mit einer der unten genannten Methoden
|
|
komprimiert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Bei allen anderen Formaten existiert nur eine
|
|
Datei mit dem Namen
|
|
<filename>book.<replaceable>format</replaceable></filename>
|
|
(z.B., <filename>book.pdb</filename>,
|
|
<filename>book.html</filename>, und so
|
|
weiter).</para>
|
|
|
|
<para>Diese Dateien werden mit zwei verschiedenen
|
|
Programmen komprimiert.</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Programm</entry>
|
|
|
|
<entry>Beschreibung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>zip</literal></entry>
|
|
|
|
<entry>Das 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>bz2</literal></entry>
|
|
|
|
<entry>Das BZip2-Format. Es wird seltener
|
|
als das Zip-Format
|
|
benutzt, erzeugt aber normalerweise
|
|
kleinere Archive. Sie müssen den
|
|
Port <filename role="package">archivers/bzip2</filename>
|
|
installieren, um diese Dateien entpacken
|
|
zu können.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Ein Beispiel: Die mit 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, dass 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.bzip2.1; gepackte
|
|
<quote>split HTML</quote>Version der englischen FAQ
|
|
herunterladen und installieren wollten, bräuchten
|
|
Sie die Datei
|
|
<filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename>.
|
|
Um diese Datei herunterzuladen und auszupacken, wären
|
|
die folgenden Schritte notwendig.</para>
|
|
|
|
<screen>&prompt.root; <userinput>fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput>
|
|
&prompt.root; <userinput>gzip -d book.html-split.tar.bz2</userinput>
|
|
&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen>
|
|
|
|
<para>Danach haben Sie eine Sammlung vieler kleiner
|
|
<filename>.html</filename> Datei. Die wichtigste Datei
|
|
hat Namen <filename>index.html</filename> und enthält
|
|
das Inhaltsverzeichnis, eine Einleitung und Verweise auf
|
|
die anderen Teile des Dokumentes. Falls notwendig,
|
|
können Sie die diversen Dateien jetzt an ihren
|
|
endgültigen Bestimmungsort verschieben oder
|
|
kopieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mailing">
|
|
<para>Woher bekomme ich Informationen zu den FreeBSD
|
|
Mailinglisten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vollständige Informationen finden Sie im <ulink
|
|
url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Handbucheintrag
|
|
über Mailinglisten</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="newsgroups">
|
|
<para>Welche Newsgruppen existieren zu FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie finden alle Informationen hierzu im <ulink
|
|
url="&url.books.handbook;/eresources-news.html">Handbucheintrag zu
|
|
Newsgruppen</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="irc">
|
|
<para>Gibt es 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>#FreeBSDHelp</literal> im
|
|
<ulink url="http://www.dal.net/">DALNET</ulink>
|
|
ist in den USA unter <hostid>irc.dal.net</hostid>
|
|
sowie in Europa unter <hostid>irc.eu.dal.net</hostid>
|
|
verfügbar.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
|
url="http://www.undernet.org/">UNDERNET</ulink> ist in
|
|
den USA unter <hostid>us.undernet.org</hostid> und in
|
|
Europa unter <hostid>eu.undernet.org</hostid>
|
|
verfügbar. Es handelt sich hierbei um einen
|
|
Hilfe-Channel, man wird Sie daher auf Dokumente
|
|
verweisen, die Sie selbst lesen müssen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Channel <literal>#FreeBSD</literal> im <ulink
|
|
url="http://www.rusnet.org.ru/">RUSNET</ulink> ist ein
|
|
russischsprachiger Channel, der sich der
|
|
Unterstützung von &os;-Anwendern verschrieben hat.
|
|
Er ist auch ein guter Startpunkt für
|
|
nichttechnische Diskussionen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Alle diese Kanäle unterscheiden sich voneinander
|
|
und sind nicht miteinander verbunden. Ebenso
|
|
unterscheiden sich Ihre Chat-Stile, weshalb es sein kann,
|
|
dass Sie zunächst alle Kanäle ausprobieren
|
|
müssen, um den zu Ihrem Chat-Stil passenden zu
|
|
finden. Hier gilt, was für
|
|
<emphasis>jeden</emphasis> IRC-Verkehr gilt: falls sie
|
|
sich leicht angegriffen fühlen oder nicht mit vielen
|
|
jungen (und einigen älteren) Leuten, verbunden mit
|
|
dem nutzlosen Gezanke umgehen können, dann ziehen Sie
|
|
es gar nicht erst in Erwägung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="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>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 muss ich herunterladen, um FreeBSD
|
|
zu bekommen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für 4.X werden zwei Floppy-Images benötigt:
|
|
<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. Seit &os; 5.3 weisen die Bootdisketten
|
|
eine neue Struktur auf. Sie benötigen nun das Image
|
|
<filename>floppies/boot.flp</filename> sowie alle Dateien
|
|
mit den Namen
|
|
<filename>floppies/kern<replaceable>X</replaceable></filename>
|
|
(von denen es derzeit zwei gibt).</para>
|
|
|
|
<para>Falls Sie selbst die einzelnen Distributionen
|
|
herunterladen müssen (um z.B. von einem
|
|
DOS-Dateisystem aus zu installieren), empfehlen wir, sich
|
|
die folgenden Distributionen zu besorgen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>base/ (bin/ unter 4.X)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>manpages</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>compat*</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>doc</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>src/ssys.*</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Vollständige Instruktionen für dieses
|
|
Vorgehen und ein wenig mehr zur Installation generell
|
|
finden Sie im <ulink
|
|
url="&url.books.handbook;/install.html">Handbucheintrag zur
|
|
Installation von 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 passt?</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="&url.books.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="&url.books.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>Für &os;-Versionen vor 5.X benötigen Sie
|
|
mindestens einen 386er Prozessor mit mindestens 5 MB
|
|
Hauptspeicher und mindestens 60 MB Festplattenspeicher.
|
|
Für die Installation von &os; ist dabei mehr
|
|
Hauptspeicher als für den eigentlichen Betrieb
|
|
nötig, daher sollten 16 RAM als Minimum für
|
|
ein Standardsystem ausreichen.</para>
|
|
|
|
<para>Der Betrieb von &os; 5.X und neuer erfordert
|
|
mindestens einen 486er Prozessor mit mindestens 24 MB
|
|
RAM sowie mindestens 150 MB an Festplattenspeicher.</para>
|
|
|
|
<para>Alle &os;-Versionen laufen mit einer einfachen
|
|
MDA-Grafikkarte, für X11R6 benötigen Sie allerdings
|
|
eine VGA- oder eine bessere Videokarte.</para>
|
|
|
|
<para>Lesen Sie auch den <link linkend="hardware">Abschnitt
|
|
Hardwarekompatibilität</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="four-meg-ram-install">
|
|
<para>Ich besitze nur 4 MB Hauptspeicher. Kann ich FreeBSD
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für die Installation von FreeBSD 4.X
|
|
benötigen Sie mindestens 5MB RAM, seit &os; 5.X
|
|
mindestens 8 MB für die Installation eines neuen
|
|
Systems.</para>
|
|
|
|
<para>Alle FreeBSD-Versionen vor 5.X
|
|
<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, den Sie nach der Installation wieder
|
|
entfernen. Alternativ können Sie Ihre Platte in ein
|
|
System mit genügend Hauptspeicher transferieren und die
|
|
Platte nach erfolgreicher Installation wieder in Ihr System
|
|
einbauen.</para>
|
|
|
|
<para>Wenn Sie nur über 4 MB Hauptspeicher
|
|
verfügen, müssen Sie einen angepassten Kernel
|
|
erzeugen. Irgend jemand hat es sogar geschafft, mit 2 MB
|
|
RAM zu booten, allerdings war dieses System nahezu
|
|
unbrauchbar.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custom-boot-floppy">
|
|
<para>Wie kann ich eine angepasste
|
|
Installationsdiskette erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zurzeit gibt es keine Möglichkeit,
|
|
<emphasis>nur</emphasis> die angepassten
|
|
Installationsdisketten zu erstellen. Sie müssen sich
|
|
eine ganz neues Release erstellen, das Ihre
|
|
Installationsdiskette enthält.</para>
|
|
|
|
<para>Wenn Sie eine modifizierte Ausgabe erstellen wollen,
|
|
finden Sie eine Anleitung im Artikel <ulink
|
|
url="&url.articles.releng.en;/article.html">
|
|
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="&url.articles.multi-os.en;/article.html">Die
|
|
Multi-OS-Seite</ulink> an.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="windows-coexist">
|
|
<para>Kann &windows; neben FreeBSD existieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie zuerst &windows;, dann FreeBSD.
|
|
Der Bootmanager von FreeBSD kann dann entweder &windows;
|
|
oder FreeBSD booten. Falls Sie &windows; 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; 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, dass 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" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Gerät</entry>
|
|
|
|
<entry>BIOS Version</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>T20</entry>
|
|
|
|
<entry>IYET49WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>T21</entry>
|
|
|
|
<entry>KZET22WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A20p</entry>
|
|
|
|
<entry>IVET62WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A20m</entry>
|
|
|
|
<entry>IWET54WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21p</entry>
|
|
|
|
<entry>KYET27WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21m</entry>
|
|
|
|
<entry>KXET24WW oder neuer</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>A21e</entry>
|
|
|
|
<entry>KUET30WW</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Es ist möglich, dass neuere Version des IBM
|
|
BIOS den Fehler wieder enthalten. <ulink
|
|
url="http://docs.freebsd.org/cgi/mid.cgi?20010427133759.A71732">
|
|
Dieser Beitrag</ulink> von 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, dass sie über den Selbst-Test
|
|
hinauskommt. Dazu ist es erforderlich, dass das
|
|
System beim Start keine Partitions-ID auf seiner
|
|
primären Festplatte findet. Eine Variante ist, die
|
|
Platte auszubauen und vorübergehend in einem
|
|
älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit
|
|
einem passenden Adapter) in einen normalen PC einzubauen.
|
|
Sobald dies erfolgt ist, können Sie die
|
|
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, dass 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
|
|
Abschluss der Installation dürfen Sie die
|
|
Maschine <emphasis>nicht neu
|
|
starten</emphasis>.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Wechseln Sie zur <quote>Emergency Holographic
|
|
Shell</quote> (
|
|
<keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F4</keycap>
|
|
</keycombo>)
|
|
oder starten Sie eine <quote>fixit</quote>
|
|
Shell.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Benutzen Sie &man.fdisk.8;, um die Partitions-ID
|
|
von 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 FreeBSD auf einer Festplatte mit
|
|
beschädigten Blöcken installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Prinzipiell ja. Allerdings ist das keine gute
|
|
Idee.</para>
|
|
|
|
<para>Wenn Ihnen bei einer modernen IDE-Platte defekte
|
|
Sektoren gemeldet werden, wird die Platte mit großer
|
|
Wahrscheinlichkeit innerhalb kurzer Zeit vollständig
|
|
ausfallen, da die Meldung ein Zeichen dafür ist,
|
|
dass die für die Korrektur reservierten Sektoren
|
|
bereits verbraucht wurden. Wir raten Ihnen, die Platte
|
|
auszutauschen.</para>
|
|
|
|
<para>Falls Sie ein SCSI-Laufwerk mit beschädigten
|
|
Blöcken besitzen, lesen Sie <link
|
|
linkend="awre">diese Antwort</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-floppy-strangeness">
|
|
<para>Wenn ich von der Installationsdiskette boote,
|
|
geschehen merkwürdige Dinge! Was sollte ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie beobachten, dass ihr Rechner sich bis
|
|
zum Stillstand abmüht oder spontan rebootet,
|
|
während Sie versuchen, von der Installationsdiskette
|
|
zu booten, sollten Sie sich drei Fragen stellen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Haben Sie eine brandneue, frisch formatierte,
|
|
fehlerfreie Diskette benutzt (günstigerweise eine
|
|
brandneue, direkt aus dem Karton und nicht eine
|
|
Diskette aus einem Magazin, das schon seit drei Jahren
|
|
unter Ihrem Bett lag)?</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Haben Sie das Floppy-Image im Binär- (oder
|
|
Image) Modus heruntergeladen? (Schämen Sie sich
|
|
nicht. Sogar die besten unter uns haben wenigstens
|
|
einmal Binärdateien versehentlich im ASCII-Modus
|
|
heruntergeladen!)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Falls Sie &windows; 95 oder &windows; 98
|
|
benutzen, haben Sie es heruntergefahren und
|
|
<command>fdimage</command> bzw.
|
|
<command>rawrite</command> in einfachem, reinem DOS
|
|
neu gestartet? Es scheint, dass diese
|
|
Betriebssysteme Programme stören, die direkt auf
|
|
Hardware schreiben, wie es das Erstellungsprogramm
|
|
für die Diskette tut; selbst bei der
|
|
Ausführung des Programms in einem DOS-Fenster in
|
|
der grafischen Benutzeroberfläche kann dieses
|
|
Problem auftreten.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Es wurde auch darüber berichtet, dass
|
|
&netscape; Probleme beim Herunterladen der Bootdisketten
|
|
verursacht. Es ist also wahrscheinlich besser, einen
|
|
anderen FTP-Client zu benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-install-cdrom">
|
|
<para>Ich habe zur Installation von meinem ATAPI CDROM
|
|
gebootet, aber das Installationsprogramm sagt mir,
|
|
dass 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, dass 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="&url.books.handbook;/network-plip.html">PLIP</ulink> des
|
|
Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="geometry">
|
|
<para>Welche Geometrie sollte ich für ein
|
|
Festplattenlaufwerk verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<note>
|
|
<para>Unter der <quote>Geometrie</quote> einer Festplatte
|
|
verstehen wir die Anzahl Zylinder,
|
|
Schreib-/Leseköpfen und Sektoren/Spur auf einer
|
|
Festplatte. Im folgenden wird dafür der
|
|
Übersichtlichkeit halber der Begriff C/H/S
|
|
verwendet. Das BIOS des PCs berechnet mit diesen
|
|
Angaben, auf welche Bereiche der Festplatte es für
|
|
Schreib-/Lesezugriffe zugreifen muss).</para>
|
|
</note>
|
|
|
|
<para>Aus einigen Gründen scheint dies gerade bei
|
|
frischgebackenen Systemadministratoren für sehr viel
|
|
Verwirrung zu sorgen. Zunächst einmal ist die
|
|
<emphasis>physikalische</emphasis> Geometrie eines
|
|
SCSI-Laufwerks vollkommen irrelevant, da 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, dass diese Angaben richtig sind.
|
|
Insbesondere müssen alle Betriebssysteme mit
|
|
derselben Geometrie arbeiten, falls Sie mehr als ein
|
|
Betriebssystem auf einer Festplatte haben. Andernfalls
|
|
werden Sie ernsthafte Bootprobleme bekommen!</para>
|
|
|
|
<para>Bei SCSI-Festplatten hängt die zu verwendende
|
|
Geometrie davon ab, ob der Extended Translation Support
|
|
auf Ihrem Controller eingeschaltet ist (oft auch als
|
|
<quote>Unterstützung für DOS-Platten
|
|
>1GB</quote> oder ähnlich bezeichnet). Falls sie
|
|
ausgeschaltet ist, benutzen Sie
|
|
<replaceable>N</replaceable> Zylinder, 64 Köpfe und
|
|
32 Sektoren/Spur, wobei <replaceable>N</replaceable> die
|
|
Kapazität der Festplatte in MB ist. Zum Beispiel
|
|
sollten für eine 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
|
|
&ms-dos; 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 <literal>M</literal> 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, dass Ihre
|
|
Rootpartition innerhalb der ersten 1024 Zylinder liegt, damit
|
|
das BIOS den Kernel von Ihr booten kann. (Beachten Sie,
|
|
dass es sich um eine Einschränkung durch das
|
|
BIOS des PCs handelt und nicht durch FreeBSD).</para>
|
|
|
|
<para>Für ein SCSI-Laufwerk bedeutet dies
|
|
normalerweise, dass 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, wie viel
|
|
Platz Sie tatsächlich haben. Falls Sie eine alte
|
|
Festplatte mit einem MFM-Controller verwenden, könnte
|
|
es sein, dass Sie FreeBSD explizit angeben
|
|
müssen, wie viele 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, dass 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 ersten 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>Muss ich den vollständigen Quellcode
|
|
installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im allgemeinen nicht. Wir empfehlen jedoch dringend
|
|
die Installation des <literal>base</literal> Source-Kit,
|
|
das viele der hier erwähnten Dateien enthält und
|
|
des <literal>sys</literal> (Kernel) Source-Kit, das den
|
|
Quellcode für den Kernel enthält. Außer
|
|
dem Programm zur Konfiguration des Kernels
|
|
(&man.config.8;) gibt es im System nichts, zu dessen
|
|
Funktion der Quellcode erforderlich ist. Mit Ausnahme der
|
|
Kernelquellen ist unsere Build-Struktur so aufgebaut,
|
|
dass Sie den Quellcode von überall her per NFS
|
|
read-only mounten und dennoch neue Binaries erstellen
|
|
können. (Wegen der Einschränkung bezüglich
|
|
der Kernelquellen empfehlen wir, diese nicht direkt nach
|
|
<filename>/usr/src</filename> zu mounten, sondern
|
|
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>Muss 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 weitaus benutzerfreundlicherer
|
|
Kernelkonfigurationswerkzeuge profitiert. Unter 4.X
|
|
und älter 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. Ab &os; 5.X wurde dieses Konzept durch
|
|
die deutlich flexibleren <quote>hints</quote> ersetzt,
|
|
die am Loader-Prompt eingegeben werden können.</para>
|
|
|
|
<para>Es kann dennoch sinnvoll sein, einen neuen Kernel
|
|
zu erstellen, der nur die benötigten Treiber
|
|
enthält, um ein wenig Hauptspeicher zu sparen,
|
|
für die meisten Systeme ist dies aber nicht mehr
|
|
länger erforderlich.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="password-encryption">
|
|
<para>Soll ich DES, Blowfisch oder MD5 zur Verschlüsselung der
|
|
Passwörter benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD benutzt standardmäßig
|
|
<emphasis>MD5</emphasis> zur Verschlüsselung der
|
|
Passwörter. Es wird angenommen, dass diese
|
|
Methode sicherer ist als das traditionell benutzte
|
|
Verfahren, das auf dem <emphasis>DES</emphasis>
|
|
Algorithmus basierte. Es ist immer noch möglich,
|
|
DES-Passwörter zu benutzen, wenn Sie die Datei
|
|
mit den Passwörtern mit älteren System
|
|
austauschen müssen. Ä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 Passwörter
|
|
einzusetzen. Das für neue Passwö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, dass ich zwar von der
|
|
Diskette booten kann, aber nicht weiter als bis zur
|
|
Meldung <literal>Probing Devices...</literal>
|
|
komme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie ein IDE &iomegazip;- oder &jaz;-Laufwerk
|
|
eingebaut haben, entfernen Sie es und versuchen Sie es erneut.
|
|
Solche Laufwerke könnten dem Bootvorgang stören.
|
|
Nach der Installation des Systems können Sie das
|
|
Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich
|
|
in einer späteren Version behoben werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="panic-on-install-reboot">
|
|
<para>Wieso wird mit der Fehler <errorname>panic: cant mount
|
|
root</errorname> gemeldet, wenn ich das System nach der
|
|
Installation reboote?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler beruht auf Unstimmigkeiten zwischen den
|
|
Festplatteninformationen im Bootblock und denen im Kernel.
|
|
Der Fehler tritt normalerweise auf IDE-Systemen mit zwei
|
|
Festplatten auf, bei denen die Festplatten als Master-
|
|
oder Single-Device auf separaten IDE-Controllern
|
|
angeschlossen sind und FreeBSD auf der Platte am zweiten
|
|
Controller installiert wurde. Der Bootblock vermutet,
|
|
dass das System auf ad0 (der zweiten BIOS-Platte)
|
|
installiert ist, während der Kernel der ersten Platte
|
|
auf dem zweiten Controller die Gerätekennung ad2
|
|
zuteilt. Der Kernel versucht nach der
|
|
Geräteüberprüfung die vom Bootblock
|
|
angenommene Bootdisk ad0 zu mounten, obwohl sie in
|
|
Wirklichkeit ad2 heißt - und scheitert.</para>
|
|
|
|
<para>Tun Sie folgendes, um dieses Problem zu
|
|
beheben:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Rebooten Sie das System und drücken
|
|
Sie <keycap>Enter</keycap>, wenn die
|
|
Meldung <literal>Booting kernel in 10 seconds; hit
|
|
[Enter] to interrupt</literal> erscheint. Dadurch
|
|
gelangen Sie in den Boot Loader.</para>
|
|
|
|
<para>Geben Sie nun
|
|
<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>Stellen Sie eine ununterbrochene Folge der
|
|
Festplatten her, indem Sie die FreeBSD-Platte am
|
|
ersten IDE-Controller anschließen.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="memory-limits">
|
|
<para>Gibt es eine Hauptspeicherbegrenzung?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Bei einer &i386;-Standardinstallation werden maximal
|
|
4 Gigabyte Hauptspeicher unterstützt. Seit
|
|
&os; 4.9 und 5.1 wird auch ein größerer
|
|
Hauptspeicher unterstützt. Dazu müssen Sie die
|
|
zusätzliche Option PAE (&man.pae.4;) in Ihren Kernel
|
|
kompilieren:</para>
|
|
|
|
<programlisting>options PAE</programlisting>
|
|
|
|
<para>&os;/pc98 unterstützt maximal 4 GB Hauptspeicher,
|
|
daher kann PAE auf diesen Systemen nicht verwendet werden.
|
|
Unter &os;/alpha hängt dieses Limit von der verwendeten
|
|
Hardware ab - lesen Sie daher die Alpha Hardware Release
|
|
Notes für weitere Informationen. Sonstige von &os;
|
|
unterstützte Architekturen haben ein sehr viel
|
|
höheres theoretisches Speicherlimit (viele
|
|
Terabytes).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ffs-limits">
|
|
<para>Wo liegen die Grenzen für
|
|
ffs-Dateisysteme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Theoretisch liegt das Limit für ffs-Dateisysteme
|
|
bei 8 Terabyte (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="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Blockgröße</entry>
|
|
|
|
<entry>geht</entry>
|
|
|
|
<entry>sollte gehen</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>4K</entry>
|
|
|
|
<entry>4T-1</entry>
|
|
|
|
<entry>>4T</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>8K</entry>
|
|
|
|
<entry>>32G</entry>
|
|
|
|
<entry>32T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>16K</entry>
|
|
|
|
<entry>>128G</entry>
|
|
|
|
<entry>32T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>32K</entry>
|
|
|
|
<entry>>512G</entry>
|
|
|
|
<entry>64T-1</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>64K</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 der Blocknummern müsste 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,
|
|
tatsächlich liegt es aber bei 1G-1 Blocknummern.
|
|
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 einen neuen Kernel erstellt
|
|
habe?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ihr System und Ihr Kernel sind nicht synchron - dies
|
|
ist nicht erlaubt. Sie müssen Ihren Kernel mit
|
|
<command>make buildworld</command> und <command>make
|
|
buildkernel</command> aktualisieren.</para>
|
|
|
|
<para>Sie können den zu bootenden Kernel direkt im
|
|
zweiten Schritt angeben, indem Sie eine beliebige Taste
|
|
drücken, wenn das | erscheint und bevor der Loader
|
|
startet.</para>
|
|
</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 zusammengefasst, 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="&url.books.handbook;/install-post.html#SECURITYPROFILE">Security Profile</ulink>
|
|
des Handbuch-Kapitels <ulink
|
|
url="&url.books.handbook;/install-post.html">
|
|
Post-Installation</ulink> enthalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-acpi">
|
|
<para>Mein System stürzt beim Booten ab! Was kann ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Deaktivieren Sie die ACPI-Unterstützung. Dazu
|
|
drücken Sie beim Start des Bootloaders die Leertaste.
|
|
Das System antwortet darauf mit <screen>OK</screen> Geben
|
|
Sie nun <screen><userinput>unset acpi_load</userinput></screen>
|
|
und danach <screen><userinput>boot</userinput></screen> ein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="hardware">
|
|
<title>Hardware-Kompatibilität</title>
|
|
|
|
<sect1 id="compatibility-general">
|
|
<title>Allgemeines</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="which-hardware-to-get">
|
|
<para>Ich will mir neue Hardware für mein
|
|
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>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-processors">
|
|
<title>Architekturen und Prozessoren</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="architectures">
|
|
<para>Unterstützt FreeBSD neben x86 auch andere
|
|
Architekturen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. FreeBSD ist zurzeit für die Intel x86 und
|
|
DEC (jetzt Compaq) Alpha Architekturen verfügbar.
|
|
Seit FreeBSD 5.0 werden auch AMD64 sowie Intel EM64T,
|
|
IA-64 und &sparc64; unterstützt. Die Neuzugänge
|
|
auf der Liste der in Zukunft unterstützten Plattformen
|
|
sind &mips; und &powerpc;. Abonnieren Sie die Mailinglisten
|
|
&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, dass Sie sich einmal <ulink
|
|
url="http://www.netbsd.org/">NetBSD</ulink> oder <ulink
|
|
url="http://www.openbsd.org/">OpenBSD</ulink>
|
|
ansehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="smp-support">
|
|
<para>Unterstützt FreeBSD Symmetric-Multiproccessing
|
|
(SMP)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, seit &os;-Version 5.2 wurde SMP bereits im
|
|
<filename>GENERIC</filename>-Kernel aktiviert.</para>
|
|
|
|
<para>Dies sollte eigentlich auch für &os; 5.3
|
|
gelten. Allerdings traten bei der Entwicklung des Kernels
|
|
auf einigen Rechnern Probleme auf. Daher entschloss man
|
|
sich, SMP in der Voreinstellung zu deaktivieren, bis diese
|
|
Probleme behoben sind. Dies ist eine der vordringlichen
|
|
Aufgaben für &os; 5.4.</para>
|
|
|
|
<para>Unter &os; 4.X ist SMP im Standardkernel nicht
|
|
aktiviert. Sie müssen daher 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>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-drives">
|
|
<title>Festplatten, Bandlaufwerke, sowie CD- und DVD-Laufwerke</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="supported-hard-drives">
|
|
<para>Welche Arten von Festplatten werden von 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="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, dass die Programme nur wissen,
|
|
wie sie ein Band von einem Punkt zu einem anderen bewegen
|
|
müssen. Sie selbst müssen sich also merken, in
|
|
welchem Einschub sich ein Band befindet und zu welchem
|
|
Einschub das Band, das sich gerade im Laufwerk befindet,
|
|
zurück muss.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="supported-cdrom-drives">
|
|
<para>Welche 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, dass
|
|
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. Lesen Sie dazu auch
|
|
&man.burncd.8;.</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 &iomegazip;-Laufwerke?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt alle
|
|
gängigen SCSI- und ATAPI-&iomegazip;-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="media-change">den
|
|
FAQ-Eintrag zu Wechseldatenträgern</link> und <link
|
|
linkend="removable-drives">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>Ja. Bei den meisten dieser Geräte handelt es sich
|
|
um SCSI-Geräte, die von FreeBSD auch als solche
|
|
angesprochen werden. Lediglich das IDE-EZ-Laufwerk wird
|
|
als IDE-Laufwerk angesprochen.</para>
|
|
|
|
<para>Schalten Sie die Laufwerke ein, bevor Sie Ihr
|
|
System booten.</para>
|
|
|
|
<para><anchor id="media-change">Müssen Sie Medien im
|
|
laufenden Betrieb wechseln, sollten Sie zuvor &man.mount.8;,
|
|
&man.umount.8;, sowie &man.camcontrol.8; (für
|
|
SCSI-Laufwerke) oder &man.atacontrol.8; (für
|
|
IDE-Laufwerke), sowie den Abschnitt zur <link
|
|
linkend="removable-drives">Nutzung von Wechsellaufwerken</link>
|
|
dieser FAQ lesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-kbd-mice">
|
|
<title>Tastaturen und Mäuse</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="usbkbd">
|
|
<para>Unterstützt FreeBSD meine Tastatur mit
|
|
USB-Anschluss?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. FreeBSD unterstützt USB-Tastaturen, wenn
|
|
Sie die USB-Unterstützung
|
|
in <filename>/etc/rc.conf</filename> aktivieren.</para>
|
|
|
|
<para>Wenn Sie die Unterstützung für USB-Tastaturen
|
|
konfiguriert haben, ist die AT-Tastatur
|
|
als <devicename>/dev/kbd0</devicename> und die USB-Tastatur
|
|
als <devicename>/dev/kbd1</devicename> verfügbar. Dies
|
|
gilt natürlich nur, wenn beide Tastaturen
|
|
angeschlossen sind; falls nur die USB-Tastatur
|
|
angeschlossen ist, ist diese als
|
|
<devicename>/dev/ukbd0</devicename> verfügbar.</para>
|
|
|
|
<para>Wenn Sie die USB-Tastatur an der Systemkonsole
|
|
benutzen wollen, müssen Sie dies dem System explizit
|
|
mitteilen. Dazu muss das folgende Kommando
|
|
während des Systemstarts ausgeführt
|
|
werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null</userinput></screen>
|
|
|
|
<para>Wenn Sie nur die USB-Tastatur angeschlossen haben, ist
|
|
diese als <devicename>/dev/kbd0</devicename> verfügbar;
|
|
daher muss 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>Zurzeit kann es noch Probleme geben, wenn Sie eine
|
|
USB-Tastatur im laufenden Betrieb einstecken oder
|
|
abziehen. Um Probleme zu vermeiden, sollten Sie die
|
|
Tastatur anschließen, bevor Sie das System
|
|
anschalten und die Tastatur nicht abziehen, solange das
|
|
System noch läuft.</para>
|
|
|
|
<para>Weitere Informationen erhalten Sie in
|
|
&man.ukbd.4;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="busmouse">
|
|
<para>Ich habe eine unübliche Busmaus. Wie muss
|
|
ich sie konfigurieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD unterstützt die Busmaus und
|
|
InPort-Busmaus von Herstellern wie Microsoft, Logitech und
|
|
ATI. Der Gerätetreiber ist im GENERIC-Kernel
|
|
allerdings nicht eingebunden. Wenn Sie den
|
|
Bus-Gerätetreiber benötigen, müssen Sie daher
|
|
einen angepassten Kernel erstellen. Dazu fügen Sie die
|
|
folgende Zeile in Ihre Kernelkonfigurationsdatei ein:</para>
|
|
|
|
<programlisting>device mse0 at isa? port 0x23c irq5</programlisting>
|
|
|
|
<para>Die Busmaus wird üblicherweise zusammen mit einer
|
|
speziellen Karte ausgeliefert. Sie könnte es Ihnen
|
|
ermöglichen, andere Werte für die Port-Adresse
|
|
und den Interrupt zu setzen. Weitere Informationen finden
|
|
Sie in Handbuch zu Ihrer Maus und in der &man.mse.4;
|
|
Manualpage.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ps2mouse">
|
|
<para>Wie benutze ich meine PS/2 (<quote>Mouse-Port</quote>
|
|
oder <quote>Tastatur</quote>)-Maus?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>PS/2 Mäuse werden von FreeBSD unterstützt.
|
|
Der notwendige Gerätetreiber,
|
|
<devicename>psm</devicename>, ist bereits im
|
|
<filename>GENERIC</filename>-Kernel enthalten.</para>
|
|
|
|
<para>Wenn Sie einen angepassten Kernel ohne diesen Treiber
|
|
benutzen, müssen Sie folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei einfügen und den Kernel neu
|
|
kompilieren:</para>
|
|
|
|
<programlisting>device psm0 at atkbdc? irq 12</programlisting>
|
|
|
|
<para>Wenn der Kernel das Gerät
|
|
<devicename>psm0</devicename> beim Booten korrekt erkennt,
|
|
stellen Sie sicher, dass sich im Verzeichnis
|
|
<filename>/dev</filename> ein Eintrag für
|
|
<devicename>psm0</devicename> befindet. Durch die Eingabe von</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /dev; sh MAKEDEV psm0</userinput></screen>
|
|
|
|
<para>können Sie diesen Eintrag auch selbst erstellen.
|
|
Dazu müssen Sie allerdings 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, muss
|
|
der Zugriff auf die Maus zwischen dem Mausdämon und
|
|
anderen Programmen, wie X Windows, koordiniert werden.
|
|
Die FAQ <link linkend="x-and-moused">Warum funktioniert meine
|
|
meine Maus unter X nicht?</link> enthält weitere
|
|
Details.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="text-mode-cut-paste">
|
|
<para>Wie funktioniert das Kopieren und Einfügen von
|
|
Text mit der Maus auf einer Textkonsole?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie es geschafft haben, den Mausdämon zu
|
|
starten (wie im <link linkend="moused">vorherigen
|
|
Abschnitt</link> gezeigt), halten Sie die linke Maustaste
|
|
gedrückt und bewegen Sie die Maus, um einen
|
|
Textabschnitt zu markieren. Dann drücken Sie die
|
|
mittlere Maustaste, um den Text an der
|
|
Cursorposition einzufügen.</para>
|
|
|
|
<para>Wenn Sie keine 3-Tasten-Maus besitzen, können
|
|
Sie die mittlere Maustaste mit einer Tastenkombination
|
|
emulieren oder die Funktion der mittleren Taste auf
|
|
eine andere Taste legen. Einzelheiten dazu enthält
|
|
die Hilfeseite &man.moused.8;.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mouse-wheel-buttons">
|
|
<para>Meine Maus hat ein neumodisches Rad und mehr
|
|
Knöpfe. Kann ich sie in 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>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-networking">
|
|
<title>Netzkarten und serielle Geräte</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="network-cards">
|
|
<para>Welche Netzwerkkarten unterstützt
|
|
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="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="support-broadcom">
|
|
<para>Gibt es einen FreeBSD-Treiber für die Karten der
|
|
Serie 43xx von Broadcom?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nein, und es wird wohl auch nie einen geben.</para>
|
|
|
|
<para>Broadcom weigert sich, Informationen zu ihren drahtlosen
|
|
Chipsätzen zu veröffentlichen. Wahrscheinlich
|
|
liegt dies daran, dass Broadcom auch softwaregesteuerte
|
|
Radios herstellt. Damit ihre Produkte von der FCC
|
|
zugelassen werden, muss sichergestellt sein, dass Benutzer
|
|
nicht in der Lage sind, Betriebsfrequenzen,
|
|
Modulationsparameter, Ausgangsleistung und andere Werte
|
|
nach Belieben einzustellen. Ohne solche Informationen ist
|
|
es aber nahezu unmöglich, einen Treiber zu
|
|
programmieren.</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="&url.books.handbook;/install.html#INSTALL-MISC">Verschiedene
|
|
Geräte</ulink> des Handbuchs.</para>
|
|
|
|
<para>Von einigen nicht NoName-Nachbauten ist ebenfalls
|
|
bekannt, dass sie funktionieren, speziell von den
|
|
AST-kompatiblen.</para>
|
|
|
|
<para>In &man.sio.4; finden Sie weitere Informationen zur
|
|
Konfiguration solcher Karten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="serial-console-prompt">
|
|
<para>Wie kann ich den boot:-Prompt auf einer seriellen
|
|
Konsole erscheinen lassen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<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>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-sound">
|
|
<title>Soundkarten</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="sound-card-support">
|
|
<para>Welche Soundkarten werden von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os; unterstützt verschiedene Soundkarten wie
|
|
&soundblaster;, &soundblaster; Pro, &soundblaster; 16,
|
|
Pro Audio Spectrum 16, AdLib und Gravis UltraSound.
|
|
Lesen Sie die <ulink url="&url.base;/releases/">
|
|
&os; Release Informationen</ulink> sowie &man.snd.4;,
|
|
wenn Sie genauere Informationen benötigen. MPU-401
|
|
und kompatible MIDI-Karten werden begrenzt unterstützt.
|
|
Ebenso unterstützt werden Karten, die der µsoft;
|
|
Sound System-Spezifikation entsprechen.</para>
|
|
|
|
<note>
|
|
<para>Das gilt nur für Sound! Dieser Treiber
|
|
unterstützt keine 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 bei Verwendung des
|
|
&man.pcm.4;-Treibers?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Soundkarten, darunter solche mit es1370-Chip,
|
|
setzen die Lautstärke bei jedem Systemstart auf 0.
|
|
In diesem Fall müssen Sie nach jedem Bootvorgang
|
|
den folgenden Befehl ausführen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="compatibility-other">
|
|
<title>Sonstige Hardware</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="other-device-support">
|
|
<para>Welche Geräte werden noch von FreeBSD
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im <ulink
|
|
url="&url.books.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>FreeBSD 4.X unterstützt <acronym>APM</acronym>
|
|
auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;.</para>
|
|
|
|
<para>FreeBSD 5.X und neuer unterstützen einen
|
|
Großteil der <acronym>ACPI</acronym>-Funktionen
|
|
moderner Hardware. Lesen Sie dazu auch &man.acpi.4;.
|
|
Unterstützt Ihr System sowohl <acronym>APM</acronym>
|
|
als auch <acronym>ACPI</acronym>, können Sie beide
|
|
Systeme testen und sich für das System entscheiden,
|
|
das Ihren Anforderungen am besten entspricht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disable-acpi">
|
|
<para>Wie kann ich ACPI deaktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Fügen Sie die Zeile
|
|
<screen>hint.acpi.0.disabled="1"</screen> in die Datei
|
|
<filename>/boot/device.hints</filename> ein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-hang-boot">
|
|
<para>Wieso hängt sich mein Micron-System beim Booten
|
|
auf?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>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.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="asusk7v-boot-failure">
|
|
<para>Wenn ich ein System mit einem ASUS K7V Mainboard von
|
|
der Bootdiskette starte, hängt sich das System auf.
|
|
Wie kann ich dieses Problem lösen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Schalten Sie im BIOS die Option <quote>boot virus
|
|
protection</quote> aus.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="micron-3comnic-failure">
|
|
<para>Warum arbeitet meine &tm.3com; PCI-Netzwerkkarte in meinem
|
|
Micron-Computer nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Micron Motherboards besitzen eine
|
|
nicht-konforme PCI-BIOS-Implementierung, die die
|
|
PCI-Geräte nicht an den angegebenen Adressen
|
|
konfiguriert. Hierdurch entstehen Probleme, wenn FreeBSD
|
|
bootet.</para>
|
|
|
|
<para>Deaktivieren Sie die Option <quote>Plug and Play
|
|
Operating System</quote> im BIOS, um das Problem zu
|
|
umgehen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="newcard-does-not-work">
|
|
<para>Meine PCMCIA-Karte funktioniert nicht und ich erhalte
|
|
die Meldung:
|
|
<quote>cbb0: unsupported card type detected.</quote>. Was
|
|
kann ich tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie können die ursprüngliche
|
|
OLDCARD-Implementierung verwenden. Dazu entfernen Sie die
|
|
folgenden Zeilen aus Ihrer Kernelkonfigurationsdatei:</para>
|
|
|
|
<programlisting>device cbb
|
|
device pccard
|
|
device cardbus</programlisting>
|
|
|
|
<para>Danach fügen Sie die folgenden Zeilen ein:</para>
|
|
|
|
<programlisting>device pcic
|
|
device card 1</programlisting>
|
|
|
|
<para>Um die Änderungen zu aktivieren, müssen Sie
|
|
den neuen Kernel noch wie im Abschnitt
|
|
<ulink url="&url.books.handbook;/kernelconfig.html">
|
|
Konfiguration des FreeBSD-Kernels</ulink> des Handbuchs
|
|
beschrieben bauen und installieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|
|
|
|
<chapter id="troubleshoot">
|
|
<title>Fehlerbehebung</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="pae">
|
|
<para>Warum zeigt &os; eine falsche Speichergröße
|
|
an?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das liegt an den Unterschieden zwischen physikalischen
|
|
und virtuellen Speicheraddressen.</para>
|
|
|
|
<para>Bei moderner PC-Hardware ist es üblich, den
|
|
Speicherbereich zwischen 3,5 und 4 Gigabyte für
|
|
spezielle Aufgaben (normalerweise für PCI) zu
|
|
reservieren. Dieser Adressbereich wird dabei dazu
|
|
verwendet, um auf PCI-Hardware zuzugreifen. Dadurch
|
|
kann in diesem Speicherbereich kein physikalischer
|
|
Speicher existieren.</para>
|
|
|
|
<para>Was mit dem in diesen Bereich gehörenden
|
|
physikalischen Speicher passiert, hängt von der von
|
|
Ihnen eingesetzten Hardware ab. Unglücklicherweise
|
|
gibt es noch immer Hardware, die hier gar nichts macht.
|
|
In diesem Fall ist Ihr System nicht in der Lage, auf diese
|
|
500 Megabyte des RAMs zuzugreifen.</para>
|
|
|
|
<para>Ein Großteil der heute existierenden Hardware
|
|
ist aber inzwischen in der Lage, diesen Speicherbereich
|
|
in einen höheren Speicherbereich umzulenken, damit
|
|
Sie weiterhin darauf zugreifen können. Allerdings
|
|
kann es durch dieses Umlenken zu verwirrende Meldungen
|
|
während des Systemstarts kommen.</para>
|
|
|
|
<para>Unter 32-Bit-Versionen von &os; scheint dieser
|
|
Speicherbereich nicht verfügbar zu sein, da er in einen
|
|
Bereich oberhalb von 4 Gigabyte übertragen wurde, auf den
|
|
ein 32-Bit-Kernel allerdings nicht zugreifen kann. Ist dies
|
|
bei Ihnen der Fall, müssen Sie die PAE-Unterstützung
|
|
in Ihren Kernel kompilieren. Lesen Sie dazu auch den
|
|
entsprechenden <link
|
|
linkend="memory-limits">FAQ-Eintrag</link>.</para>
|
|
|
|
<para>Verwenden Sie hingegen eine 64-Bit-Version von &os;
|
|
oder einen 32-Bit-Kernel mit aktivierter
|
|
PAE-Unterstützung, ist &os; in der Lage, diesen
|
|
Speicherbereich korrekt zu erkennen und umzulenken, damit Sie
|
|
weiterhin darauf zugreifen können. Allerdings wird in
|
|
diesem Fall beim Systemstart mehr Speicher angezeigt, als
|
|
tatsächlich auf Ihrem System vorhanden ist. Dies ist
|
|
aber normal und wird nach dem Ende des Systemstarts
|
|
automatisch korrigiert.<para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="awre">
|
|
<para>Was sollte ich tun, wenn auf meiner Festplatte
|
|
fehlerhafte Blöcke sind?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>SCSI-Laufwerke sollten in der Lage sein, diese
|
|
automatisch zu verlagern. Bei einigen Laufwerken ist
|
|
diese Eigenschaft jedoch aus unerfindlichen Gründen
|
|
bei der Auslieferung ausgeschaltet...</para>
|
|
|
|
<para>Um sie einzuschalten, müssen Sie den Page-Mode
|
|
des ersten Gerätes editieren. Unter FreeBSD
|
|
können Sie das (als <username>root</username>) mit
|
|
folgendem Befehl tun</para>
|
|
|
|
<screen>&prompt.root; <userinput>camcontrol modepage sd0 -m 1 -e -P 3</userinput></screen>
|
|
|
|
<para>und die Werte für AWRE und ARRE von 0 auf 1
|
|
ändern:-</para>
|
|
|
|
<programlisting>
|
|
AWRE (Auto Write Reallocation Enbld): 1
|
|
ARRE (Auto Read Reallocation Enbld): 1
|
|
</programlisting>
|
|
|
|
<para>Moderne IDE-Controller sind in der Lage, fehlerhafte
|
|
Blöcke automatisch zu verlagern. Diese Funktionen
|
|
sind bereits ab Werk aktiviert.</para>
|
|
|
|
<para>Werden dennoch fehlerhafte Blöcke gemeldet (egal
|
|
auf welchem Laufwerk), sollten Sie über den Kauf einer
|
|
neuen Platte nachdenken. Zwar könnte es Ihnen mit
|
|
Diagnoseprogrammen des Plattenherstellers gelingen, diese
|
|
fehlerhaften Blöcke zu sperren. Allerdings können
|
|
Sie damit den endgültigen Ausfall der Platte bestenfalls
|
|
hinauszögern.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="hpnetserver-scsi-failure">
|
|
<para>Wieso wird der SCSI-Controller meines HP Netserver nicht
|
|
erkannt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hierbei handelt es sich um ein bekanntes Problem. Der
|
|
auf dem Board befindliche EISA-SCSI-Controller auf dem HP
|
|
Netserver belegt die EISA-Slotnummer 11, wodurch sich alle
|
|
<quote>wirklichen</quote> EISA-Slots vor ihm befinden.
|
|
Leider kollidiert der Adressraum von EISA-Slots
|
|
>=10 mit dem Adressraum, der PCI zugeordnet ist und
|
|
die Autokonfiguration von 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="&url.books.handbook;/kernelconfig.html">Handbucheintrag
|
|
zur Kernelkonfiguration</ulink> beschrieben.</para>
|
|
|
|
<para>Dies bringt Ihnen natürlich das klassische
|
|
Huhn-Ei-Problem, wenn Sie auf einer solchen Maschine
|
|
installieren wollen. Um dieses Problem zu umgehen,
|
|
existiert ein spezieller Hack in
|
|
<emphasis>UserConfig</emphasis>. Benutzen Sie nicht die
|
|
<quote>visuelle</quote> Schnittstelle, sondern die rohe
|
|
Kommandozeilenschnittstelle. Geben Sie einfach</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
|
|
angepassten Kernel zu kompilieren und
|
|
installieren.</para>
|
|
|
|
<para>Zukünftige Versionen werden hoffentlich eine
|
|
passende Lösung für dieses Problem
|
|
beinhalten.</para>
|
|
|
|
<note>
|
|
<para>Sie können keine <literal>dangerously
|
|
dedicated</literal> Platte auf einem HP Netserver
|
|
verwenden. Lesen Sie weitere Informationen finden Sie
|
|
in <link linkend="dedicate">diesem
|
|
Hinweis</link>.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ed1-timeout">
|
|
<para>Was bedeuten die ständigen Meldungen <literal>ed1:
|
|
timeout</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies wird meistens durch einen Interruptkonflikt
|
|
verursacht (z.B., wenn zwei Karten den selben Interrupt
|
|
benutzen). Booten Sie mit der Option -c und ändern
|
|
Sie die Einträge zu ed0/de0/... Ihrem Board
|
|
entsprechend.</para>
|
|
|
|
<para>Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte
|
|
benutzen, könnte es auch sein, dass es sich
|
|
Geräte-Timeouts aufgrund fehlerhafter Terminierung
|
|
handelt. Um dies zu überprüfen, verbinden Sie
|
|
einen Terminator direkt mit der Netzwerkkarte (ohne Kabel)
|
|
und beobachten Sie, ob die Fehlermeldungen
|
|
verschwinden.</para>
|
|
|
|
<para>Einige NE2000 kompatible Karten melden diesen Fehler,
|
|
wenn keine Verbindung am UTP-Eingang existiert oder wenn
|
|
das Kabel nicht eingesteckt ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bad-3c509">
|
|
<para>Warum funktioniert meine &tm.3com; 3C509 plötzlich
|
|
nicht mehr?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Karte ist dafür berüchtigt, ihre
|
|
Konfiguration zu vergessen. Sie müssen die Karte mit
|
|
dem DOS-Programm <command>3c5x9.exe</command> neu
|
|
konfigurieren.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="printer-slow">
|
|
<para>Mein an der parallel Schnittstelle angeschlossener
|
|
Drucker ist unglaublich langsam. Was kann ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls das einzige Problem ist, dass er
|
|
schrecklich langsam ist, dann sollte Sie versuchen, die
|
|
<ulink
|
|
url="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">
|
|
Kommunikationseinstellungen der parallelen Schnittstellen</ulink>
|
|
zu ändern, wie es im Kapitel <ulink
|
|
url="&url.books.handbook;/printing.html">Drucken</ulink>
|
|
des Handbuchs beschrieben ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="signal11">
|
|
<para>Wieso brechen meine Programme gelegentlich mit
|
|
<errorname>Signal 11</errorname>-Fehlern ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Signal 11 wird generiert, wenn ein Prozess
|
|
versucht, auf Speicher zuzugreifen, obwohl er vom
|
|
Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das
|
|
scheinbar zufällig immer wieder passiert, sollten Sie
|
|
der Sache einmal auf der Grund gehen.</para>
|
|
|
|
<para>Das Problem hat in der Regel eine der folgenden
|
|
Ursachen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Wenn das Problem nur in einer bestimmten
|
|
Anwendung auftritt, die Sie selbst entwickeln, dann
|
|
ist es wahrscheinlich ein Fehler in Ihren
|
|
Sourcen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn das Problem in einem Teil von 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,
|
|
dass das Problem <emphasis>nicht</emphasis> bei
|
|
FreeBSD liegt.</para>
|
|
|
|
<para>Nehmen wir zum Beispiel an, dass 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,
|
|
dass das Problem nicht von Ihrer Hardware verursacht
|
|
wird.</para>
|
|
|
|
<para>Typische Ursachen dafür sind unter
|
|
anderem:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Es könnte sein, dass Ihren Festplatten
|
|
zu warm werden: Überprüfen Sie, ob die
|
|
Lüfter in Ihrem Gehäuse noch funktionieren,
|
|
damit Ihre Festplatten (und andere Hardware) nicht
|
|
heißlaufen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Prozessor überhitzt, weil Sie Ihn
|
|
übertaktet haben oder der CPU-Kühler
|
|
ausgefallen ist. Sie müssen sicherstellen,
|
|
dass Sie Ihre Hardware unter den Bedingungen
|
|
betreiben, für die sie spezifiziert ist,
|
|
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, dass ein langsames System deutlich
|
|
billiger ist als ein defektes System. Die große
|
|
Masse hat nicht sehr häufig Mitgefühl mit
|
|
Problemen bei übertakteten System, auch wenn Sie
|
|
es für ungefährlich halten.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Unzuverlässiger Speicher: Wenn Sie mehr als
|
|
ein SIMM/DIMM installiert haben, sollten Sie sie alle
|
|
ausbauen und die Maschine testweise mit jedem SIMM
|
|
oder DIMM einzeln betreiben. So können Sie
|
|
feststellen, ob die Ursache ein einzelnes SIMM/DIMM
|
|
oder auch eine Kombination von Modulen ist.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Zu optimistische Einstellung des Mainboards: In
|
|
Ihrem BIOS und mit den Jumpern auf dem Mainboard
|
|
können Sie diverse Timings ändern. In den
|
|
meisten Fällen reichen die Defaults aus, aber
|
|
manchmal kann es durch zu wenig wait states, die
|
|
Einstellung <quote>RAM Speed: Turbo</quote> oder
|
|
ähnliches zu merkwürdigen Problemen kommen.
|
|
Ein möglicher Ansatz ist, die BIOS defaults zu
|
|
laden, allerdings könnte es sinnvoll sein, die
|
|
aktuellen Einstellungen vorher zu notieren.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schlechte oder fehlerhafte Stromversorgung des
|
|
Mainboards: Wenn Sie unbenutzte Steckkarten, Platten
|
|
oder 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 zurzeit 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, dass 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, dass diese
|
|
Karte die Adresse <literal>2e8</literal> benutzt und die
|
|
vierte serielle Schnittstelle ebenfalls. Aufgrund eines
|
|
Fehlers (einer Besonderheit?) im &man.sio.4;-Treiber wird
|
|
diese Schnittstelle angesprochen, auch wenn Sie gar keine
|
|
vierte serielle Schnittstelle besitzen und
|
|
<emphasis>sogar</emphasis>, wenn sie 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, dass Ihr X Windows-System nicht einwandfrei
|
|
funktioniert. Wenn dies der Fall ist, stellen Sie sicher,
|
|
dass 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 zurzeit 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="kmem-map-too-small">
|
|
<para>Ich habe mehr als 1 GB RAM. Trotzdem stürzt
|
|
mein System mit der Meldung <quote>kmem_map too small</quote>
|
|
ab. Was läuft hier schief?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Im Normalfall bestimmt FreeBSD einige Kernelparameter,
|
|
darunter die maximale Anzahl der Dateien, die gleichzeitig
|
|
geöffnet sein können, aus der Größe
|
|
des im System installierten Hauptspeichers. Auf Systemen
|
|
mit mindestens 1 GB Hauptspeicher kann dieser
|
|
<quote>auto sizing</quote>-Mechanismus diese Werte
|
|
fälschlicherweise zu hoch ansetzen: Beim Systemstart
|
|
fordert der Kernel dann verschiedene Tabellen und andere
|
|
Strukturen an, die den Großteil des verfügbaren
|
|
Kernelspeichers verbrauchen. Dies führt dazu, dass
|
|
der Kernel während des Betriebs keine dynamischen
|
|
Speicheranforderungen mehr ausführen kann und mit
|
|
einer Kernelpanik abstürzt.</para>
|
|
|
|
<para>Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu
|
|
setzen Sie <option>VM_KMEM_SIZE_MAX</option>
|
|
in Ihrer Kernelkonfigurationsdatei auf 400 MB
|
|
(<option>options VM_KMEM_SIZE_MAX=419430400</option>).
|
|
400 MB sollten für Maschinen bis 6 GB
|
|
Hauptspeicher ausreichend sein.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="panic-kmemmap-too-small">
|
|
<para>Ich habe weniger als 1 GB Hauptspeicher. Dennoch
|
|
stürzt mein System mit der Meldung
|
|
<errorname>kmem_map too small!</errorname> ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Meldung zeigt an, dass der virtuelle
|
|
Speicher für Netzwerkpuffer (spezieller mbuf-Cluster)
|
|
aufgebraucht ist. Sie können die für mbuf
|
|
verfügbare Größe an VM erhöhen, indem
|
|
Sie den Anweisungen des Abschnitts <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS">
|
|
Netzwerk-Limits</ulink> des Handbuchs folgen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="proc-table-full">
|
|
<para>Wieso erhalte ich die Meldung <errorname>/kernel:
|
|
proc: table is full</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der 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> beeinflusst. Wenn Ihr
|
|
System stark belastet ist, sollten Sie den Wert von
|
|
<literal>MAXUSERS</literal> erhöhen. Dadurch werden
|
|
diverse Einstellung des Systems angepasst und die
|
|
maximale Anzahl gleichzeitig laufender Prozesse
|
|
erhöht.</para>
|
|
|
|
<para>Um den Wert von <literal>MAXUSERS</literal> anzupassen,
|
|
folgen Sie den Anweisungen des Abschnitts <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">
|
|
Datei- und Prozesslimits</ulink> des Handbuchs. Dieser
|
|
Abschnitt spricht zwar nur von Dateien, für Prozesse
|
|
gelten aber die gleichen Beschränkungen.</para>
|
|
|
|
<para>Wenn Ihr System nicht besonders stark ausgelastet ist
|
|
und Sie einfach nur mehr gleichzeitig laufende Prozesse
|
|
erlauben wollen, können Sie den Wert der Variable
|
|
<varname>kern.maxproc</varname> in der Datei
|
|
<filename>/boot/loader.conf</filename> anpassen. Um die
|
|
Änderung zu aktivieren, müssen Sie Ihr System
|
|
neu starten. Wollen Sie Ihr System zusätzlich
|
|
optimieren, sollten Sie &man.loader.conf.5; und
|
|
&man.sysctl.conf.5; lesen.
|
|
Wenn diese Prozesse von einem einzigen Benutzer
|
|
ausgeführt werden, müssen Sie den Wert von
|
|
<varname>kern.maxprocperuid</varname> ebenfalls
|
|
erhöhen. Dieser Wert muss immer mindestens um
|
|
eins geringer sein als der Wert von
|
|
<varname>kern.maxproc</varname> value. (Der Grund
|
|
für diese Einschränkung ist, dass ein
|
|
Systemprogramm, &man.init.8;, immer ausgeführt werden
|
|
muss.)</para>
|
|
|
|
<para>Damit Änderungen einer sysctl-Variable dauerhaft
|
|
erhalten bleiben, nehmen Sie diese in
|
|
<filename>/etc/sysctl.conf</filename> auf. Weitere
|
|
Informationen zur Optimierung Ihres Systems finden Sie im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/configtuning-sysctl.html">
|
|
Einstellungen mit sysctl</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cmap-busy-panic">
|
|
<para>Wieso erhalte ich die Meldung <errorname>CMAP busy
|
|
panic</errorname>, wenn ich mein System mit einem neuen
|
|
Kernel starte?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Logik, die versucht, veraltete
|
|
<filename>/var/db/kvm_*.db</filename>-Dateien zu erkennen,
|
|
versagt manchmal und die Benutzung einer unpassenden Datei
|
|
kann zu Paniksituationen führen.</para>
|
|
|
|
<para>Falls das passiert, rebooten Sie 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 muss sich darauf
|
|
verlassen, dass diese vorhanden sind, wenn in der
|
|
Konfiguration <quote>automatische Terminierung</quote>
|
|
eingestellt ist. Ohne die externen Bausteine ist es sehr
|
|
wahrscheinlich, dass der Treiber die Terminierung
|
|
falsch einstellt, was die Zuverlässigkeit des
|
|
SCSI-Busses herabsetzen kann.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mail-loopback">
|
|
<para>Wieso meldet 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, dass
|
|
Mail für die Domäne (z.B. domain.net) an einen speziellen
|
|
Host (in diesem Fall relay.domain.net) weitergeleitet wird,
|
|
aber der Relay-Host erkennt sich selbst nicht als
|
|
domain.net. Fügen Sie domain.net in /etc/mail/local-host-names
|
|
(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>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ässliche
|
|
Zeiterhaltung nicht zu gebrauchen.</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, dass 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 Adressraum 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],
|
|
dass 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, dass die Treiber die
|
|
PnP-ID kennen muss, um PnP-Hardware
|
|
unterstützen zu können. Wir haben uns
|
|
vorgenommen, den Benutzern eine einfachere
|
|
Möglichkeit zur Manipulation dieser Informationen
|
|
zur Verfügung zu stellen.</para>
|
|
</blockquote>
|
|
|
|
<para>Damit Ihr Gerät wieder funktioniert, müssen
|
|
Sie seine PnP-ID herausfinden und die ID in die Listen
|
|
eintragen, die zur Erkennung von PnP-Geräten
|
|
genutzten werden. Zu diesem Zweck wird das Gerät mit
|
|
&man.pnpinfo.8; analysiert. Das Beispiel zeigt die
|
|
Ausgaben von &man.pnpinfo.8; für ein internes
|
|
Modem:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pnpinfo</userinput>
|
|
Checking for Plug-n-Play devices...
|
|
|
|
Card assigned CSN #1
|
|
Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
|
|
PnP Version 1.0, Vendor Version 0
|
|
Device Description: Pace 56 Voice Internal Plug & Play Modem
|
|
|
|
Logical Device ID: PMC2430 0x3024a341 #0
|
|
Device supports I/O Range Check
|
|
TAG Start DF
|
|
I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
|
|
[16-bit addr]
|
|
IRQ: 4 - only one type (true/edge)</screen>
|
|
|
|
<para>[weitere TAG Zeilen gestrichen]</para>
|
|
|
|
<screen>TAG End DF
|
|
End Tag
|
|
|
|
Successfully got 31 resources, 1 logical fdevs
|
|
-- card select # 0x0001
|
|
|
|
CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
|
|
|
|
Logical device #0
|
|
IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
|
|
IRQ 5 0
|
|
DMA 4 0
|
|
IO range check 0x00 activate 0x01</screen>
|
|
|
|
<para>Sie benötigen die Information aus der Zeile
|
|
<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 etwas schief
|
|
gehen sollte. Sie werden auch einen Patch erzeugen
|
|
müssen, um ihn zusammen mit Ihrem PR einzusenden.
|
|
(Sie wollten doch einen PR schreiben, oder etwa nicht?)
|
|
Öffnen Sie nun <filename>sio.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
|
|
Passwortes (bzw. der Login-Prompt bei Telnet)
|
|
erscheint.</para>
|
|
|
|
<para>Das Problem: In den meisten Fällen versucht der
|
|
Server in der Zwischenzeit, die IP-Adresse des Clients in
|
|
einen Rechnernamen zu übersetzen. Viele Server
|
|
(darunter die 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, dass er die lokal
|
|
genutzten IP-Adressen in Rechnernamen übersetzen kann.
|
|
Weitere Informationen erhalten Sie in den Onlinehilfen zu
|
|
&man.hosts.5; und &man.named.8;. Wenn dieses Problem im
|
|
Internet auftritt, könnte die Ursache auch darin
|
|
liegen, dass die Namensauflösung auf dem Server
|
|
nicht funktioniert. Versuchen Sie, einen anderen
|
|
Hostnamen wie z.B. <hostid>www.yahoo.com</hostid>
|
|
aufzulösen. Wenn das nicht funktioniert, liegt das
|
|
Problem bei Ihrem System.</para>
|
|
|
|
<para>Haben Sie &os; gerade erst installiert, kann es auch
|
|
sein, dass die Domänen- und Nameserverinformationen
|
|
noch nicht in <filename>/etc/resolv.conf</filename>
|
|
vorhanden sind. Dadurch kommt es häufig zu
|
|
Verzögerungen beim Einsatz von
|
|
<application>SSH</application>, weil die Option
|
|
<quote>UseDNS</quote> in der Voreinstellung auf
|
|
<quote>yes</quote> gesetzt ist (in der Datei
|
|
<filename>sshd_config</filename> im Verzeichnis
|
|
<filename>/etc/ssh</filename>). Ist dies bei Ihnen der
|
|
Fall, müssen Sie entweder die fehlenden Informationen
|
|
in <filename>/etc/resolv.conf</filename> eintragen oder
|
|
als temporäre Maßnahme <quote>UseDNS</quote>
|
|
auf <quote>no</quote> setzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="stray-irq">
|
|
<para>Was bedeutet <errorname>stray IRQ</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Stray IRQs sind ein Zeichen für Probleme bei der
|
|
Behandlung von Hardware-IRQs. Sie werden meistens von
|
|
Geräten verursacht, die ihren Interrupt Request
|
|
zurückziehen, obwohl gerade der interrupt request
|
|
acknowledge-Zyklus läuft.</para>
|
|
|
|
<para>Sie können drei Dinge tun:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ertragen Sie die Warnungen. Sie erhalten nur die
|
|
ersten 5 für jeden IRQ, alle anderen werden
|
|
unterdrückt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eliminieren Sie die Meldungen, indem Sie 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, dass Sie die zur
|
|
Verfügung stehenden File-Handles des Systems
|
|
verbraucht haben. Was das genau bedeutet und wie Sie
|
|
dieses Problem lösen können, steht im Abschnitt
|
|
<ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">
|
|
kern.maxfiles</ulink> im Kapitel <ulink
|
|
url="&url.books.handbook;/configtuning-kernel-limits.html">Anpassung
|
|
der Kernelkonfiguration</ulink> des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="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, dass 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, muss ihr Name in die Systemvariable
|
|
<varname>kern.timecounter.hardware</varname> geschrieben
|
|
werden.</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput>
|
|
kern.timecounter.hardware: TSC -> i8254</screen>
|
|
|
|
<para>Die Uhrzeit Ihres 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
|
|
muss stromlos sein. Gehen Sie dazu nicht in den Standby-
|
|
oder Suspend-Modus und stellen Sie sicher, dass der Laptop
|
|
wirklich ausgeschaltet ist. Warten Sie einen Moment und booten
|
|
dann, Ihre PC-Card sollte jetzt funktionieren.</para>
|
|
|
|
<para>Einige Laptops schalten sich nicht wirklich aus. Wenn der
|
|
obige Vorschlag nichts genutzt hat, entfernen Sie bitte die
|
|
Batterie, warten einen Moment und booten erneut.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="boot-read-error">
|
|
<para>Wieso hängt sich 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. 5000 Zylinder,
|
|
250 Köpfe und 60 Sektoren würden also als
|
|
<userinput>5000/250/60</userinput> eingegeben.</para>
|
|
|
|
<para>Schließen Sie die Eingabe mit <keycap>Enter</keycap>
|
|
ab und drücken Sie <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, dass alle Kabel fest
|
|
angeschlossen sind. Es gab auch schon Probleme, wenn ein altes
|
|
Laufwerk zusammen mit einem Ultra-DMA-66 oder einem schnelleren
|
|
Laufwerk auf einem Kanal betrieben wurde. Es kann aber auch
|
|
sein, dass das Laufwerk kaputt ist. Die meisten Hersteller
|
|
stellen Test-Programme für ihre Laufwerke zur
|
|
Verfügung. Überprüfen Sie damit Ihr Laufwerk und
|
|
wenn nötig, sichern Sie Ihre Daten und ersetzen das
|
|
Laufwerk.</para>
|
|
|
|
<para>&man.atacontrol.8; zeigt für jedes ATA-Gerät den
|
|
verwendeten DMA- oder PIO-Modus an. Das Kommando
|
|
<command>atacontrol mode
|
|
<replaceable>Kanal</replaceable></command>
|
|
zeigt die auf einem Kanal verwendeten Modi (die Kanäle
|
|
werden von <literal>0</literal> an nummeriert).</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="lock-order-reversal">
|
|
<para>Was ist ein <errorname>lock order
|
|
reversal</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&a.rwatson; hat diese Frage auf der Mailingliste
|
|
freebsd-current ausführlich beantwortet. Das Original
|
|
seiner Antwort finden Sie über den Thread <quote><ulink
|
|
url="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=65165+0+/usr/local/www/db/text/2003/freebsd-current/20031221.freebsd-current">
|
|
lock order reversals - what do they mean?</ulink></quote>.
|
|
</para>
|
|
|
|
<blockquote>
|
|
<attribution>&a.rwatson; am 14. Dezember 2003 auf
|
|
freebsd-current</attribution>
|
|
|
|
<para>Diese Warnungen werden von Witness, einem
|
|
Diagnosesystem, das Verklemmungen
|
|
(<foreignphrase>deadlocks</foreignphrase>) zur Laufzeit
|
|
erkennen kann, ausgegeben. Dieses System ist in
|
|
FreeBSD -CURRENT-Kerneln vorhanden (aber nicht in
|
|
Release-Kerneln) und wird in &man.witness.4; beschrieben.
|
|
Unter anderem ist Witness in der Lage, die korrekte
|
|
Reihenfolge von bekannten sowie zur Laufzeit entdeckten
|
|
Ressource-Locks zu überprüfen, und eine Warnung
|
|
auszugeben, wenn diese Reihenfolge verletzt wird. Dadurch
|
|
wird es möglich, potentielle Verklemmungen
|
|
(<foreignphrase>deadlocks</foreignphrase>) zu entdecken.
|
|
Beachten Sie, dass Witness sehr vorsichtig ist und daher
|
|
Falschmeldungen ausgeben kann. Falls Witness ein
|
|
Verklemmungsproblem meldet, bedeutet dies: <quote>Wenn
|
|
Sie Pech gehabt hätten, wäre es jetzt zu einer
|
|
Verklemmung gekommen.</quote> Es sind einige falsch
|
|
positive Meldungen bekannt, die noch besser dokumentiert
|
|
werden müssten, um unnötige Problemmeldungen zu
|
|
vermeiden. Neu auftretende Meldungen beruhen in der Regel
|
|
auf Bugs in neu hinzugefügten Ressource-Locks, und
|
|
werden meist rasch behoben, weil Witness laufend
|
|
Fehlermeldungen produziert. :-).</para>
|
|
</blockquote>
|
|
|
|
<note>
|
|
<para>Lesen Sie auch die <ulink
|
|
url="http://sources.zabbadoz.net/freebsd/lor.html">lock
|
|
order reversal page</ulink> von Bjoern Zeeb, um sich
|
|
über den Status bekannter <foreignphrase>lock order
|
|
reversals</foreignphrase> zu informieren.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="called-with-non-sleepable-locks-held">
|
|
<para>Warum erhalte ich die Meldung <errorname>Called ... with
|
|
the following non-sleepable locks held</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Meldung erscheint, wenn eine Funktion, die sich
|
|
im Ruhemodus befindet, aufgerufen wird, während ein
|
|
Mutex oder eine andere (nicht in den Ruhemodus versetzbare)
|
|
Sperre aktiv war.</para>
|
|
|
|
<para>Der Grund dafür ist, dass ein Mutex nicht für
|
|
längere Zeitspannen aktiv sein soll, sondern nur
|
|
für die Synchronisation von Gerätetreibern mit
|
|
dem Rest des Kernels während eines Interrupts. Unter
|
|
FreeBSD dürfen Interrupts nicht in den Ruhemodus
|
|
versetzt werden. Daher ist es von entscheidender Bedeutung,
|
|
dass während des Bestehens eines Mutex kein
|
|
Kernelsubsystem für einen längeren Zeitraum
|
|
blockiert ist.</para>
|
|
|
|
<para>Um solche Fehler abzufangen, können Sicherungen
|
|
(<foreignphrase>Assertions</foreignphrase>) in den Kernel
|
|
eingebaut werden, die danach mit dem Witness-Subsystem
|
|
interagieren. Dadurch wird (in Abhängigkeit von Ihrer
|
|
Systemkonfiguration) eine Warnung oder eine Fehlermeldung
|
|
ausgegeben, falls der Aufruf einer Funktion während
|
|
des Bestehens eines Mutex zu einer Blockierung führen
|
|
kann.</para>
|
|
|
|
<para>Zusammenfassend kann man sagen, dass diese Warnungen
|
|
in der Regel zwar nicht bedrohlich sind. Unter bestimmten
|
|
Umständen kann es aber dennoch zu unerwünschten
|
|
Nebenwirkungen, angefangen von einer Erhöhung der
|
|
Reaktionszeit bis hin zu einem kompletten Einfrieren des
|
|
Systems kommen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="touch-not-found">
|
|
<para>Warum bricht buildworld/installworld mit der Meldung
|
|
<errorname>touch: not found</errorname> ab?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dieser Fehler bedeutet nicht, dass &man.touch.1; nicht
|
|
auf Ihrem System vorhanden ist. Vielmehr sind Dateien die
|
|
Ursache, deren Erzeugungsdatum in der Zukunft liegt. Wenn
|
|
Ihre CMOS-Uhr auf Ihre lokale Zeit eingestellt ist,
|
|
müssen Sie <command>adjkerntz -i</command>
|
|
verwenden, um die Kerneluhr anzupassen, wenn Sie in den
|
|
Single-User-Modus booten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="commercial">
|
|
<title>Kommerzielle Anwendungen</title>
|
|
|
|
<note>
|
|
<para>Dieser Abschnitt ist immer noch sehr dürftig, aber
|
|
wir hoffen natürlich, dass Unternehmen einen Beitrag
|
|
leisten werden! :) Die FreeBSD-Gruppe hat keinerlei
|
|
finanzielle Interessen an einem der hier aufgelisteten
|
|
Unternehmen, sondern listet sie lediglich als
|
|
öffentlichen Service auf (und ist der Meinung, dass
|
|
ein kommerzielles Interesse an FreeBSD sehr positiven
|
|
Einfluss auf ein langfristiges Bestehen von FreeBSD haben
|
|
kann). Wir möchten Anbieter kommerzieller Software dazu
|
|
aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der
|
|
<ulink url="&url.base;/commercial/commercial.html">
|
|
Anbieter-Seite</ulink> finden Sie eine längere
|
|
Liste.</para>
|
|
</note>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="officesuite">
|
|
<para>Wo bekomme ich FreeBSD-Versionen der klassischen
|
|
Büro-Anwendungen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das als Open Source verfügbare Office-Paket
|
|
<ulink url="http://www.openoffice.org">OpenOffice</ulink>
|
|
läuft nativ unter FreeBSD. Die um zusätzliche
|
|
Funktionen erweiterte kommerzielle OpenOffice-Version
|
|
<ulink
|
|
url="http://www.sun.com/staroffice/">StarOffice</ulink>
|
|
läuft in der &linux;-Version ebenfalls problemlos
|
|
unter FreeBSD.</para>
|
|
|
|
<para>In der Ports-Sammlung sind weitere
|
|
Textbearbeitungsprogramme, Tabellenkalkulationen und
|
|
Zeichenprogramme enthalten.</para>
|
|
</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.2.2 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="&url.books.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-&motif; 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Demonstrations-Applets.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Achten Sie darauf, dass Sie bei der Bestellung
|
|
angeben, dass 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 zurzeit nur zum Download per FTP
|
|
verfügbar.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Weitere Informationen</term>
|
|
|
|
<listitem>
|
|
<para><ulink url="http://www.apps2go.com/">Apps2go
|
|
Web-Seite</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para><email>sales@apps2go.com</email> oder
|
|
<email>support@apps2go.com</email></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>oder</term>
|
|
|
|
<listitem>
|
|
<para>Telefon (817) 431 8775 oder +1 817
|
|
431-8775</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<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,
|
|
dass Sie die FreeBSD-Version von &motif; 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, der 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 die <ulink
|
|
url="&url.base;/ports/index.html">Ports-Sammlung</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> vertreibt beschleunigte X-Produkte für
|
|
FreeBSD und andere Intel-basierte Systeme.</para>
|
|
|
|
<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="&url.base;/commercial/software_bycat.html#CATEGORY_DATABASE">
|
|
kommerzielle Anbieter</ulink> auf der FreeBSD-Web-Seite.</para>
|
|
|
|
<para>Schauen Sie auch im Abschnitt <ulink
|
|
url="&url.base;/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 sich
|
|
&linux;-&oracle; unter FreeBSD installieren lässt:</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>
|
|
|
|
<qandaentry>
|
|
<question id="commercial-webbrowsers">
|
|
<para>Gibt es für &os; auch kommerzielle Webbrowser?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Opera ist für verschiedene Plattformen,
|
|
darunter auch &os;, verfügbar. Informieren Sie sich
|
|
bitte auf
|
|
<ulink url="http://www.opera.com/">www.opera.com</ulink>.
|
|
Eine werbefinanzierte Version von Opera ist in der
|
|
Portssammlung enthalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="applications">
|
|
<title>Benutzerprogramme</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="user-apps">
|
|
<para>Nun, wo sind die ganzen Benutzerprogramme?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Werfen Sie bitte einen Blick auf <ulink
|
|
url="&url.base;/ports/index.html">die Ports-Seite</ulink>,
|
|
um Informationen über die nach FreeBSD
|
|
portierten Softwarepakete zu erhalten. Die Liste
|
|
enthält zurzeit &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 auf den 4.X, 5.X und
|
|
6.X-Systemen laufen. Jedes Mal, 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 komprimierte Binärdistributionen mit ein wenig
|
|
zusätzlicher Intelligenz zur Ermöglichung
|
|
angepasster Installationen. Ein Package kann leicht
|
|
installiert und wieder deinstalliert werden, ohne,
|
|
dass man etwas über wissen muss, welche
|
|
Dateien es enthält.</para>
|
|
|
|
<para>Benutzen Sie das 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> oder
|
|
<filename>.tbz</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/">
|
|
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 5.X-RELEASE/5-STABLE</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable/">
|
|
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 6.X-RELEASE/6-STABLE</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable/">
|
|
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>für 7-CURRENT</term>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current/">
|
|
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current</ulink></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>oder von Ihrem nächstgelegenen Mirror.</para>
|
|
|
|
<para>Beachten Sie, dass nicht alle Ports als Package
|
|
verfügbar sind, da ständig neue hinzugefügt
|
|
werden. Es ist immer eine gute Idee, sich
|
|
regelmäßig auf der <ulink
|
|
url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/">ftp.de.FreeBSD.org</ulink>
|
|
Masterseite darüber zu informieren, welche Packages
|
|
verfügbar sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="configure-inn">
|
|
<para>Wie konfiguriere ich INN (Internet News) für
|
|
meine Maschine?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein idealer Startpunkt nach der Installation des
|
|
Packages oder Ports <filename role="package">news/inn</filename>
|
|
ist <ulink
|
|
url="http://www.visi.com/~barr/INN.html">Dave
|
|
Barr's INN-Seite</ulink>, wo Sie die INN-FAQ
|
|
finden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="java">
|
|
<para>Unterstützt FreeBSD &java;?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Informieren Sie sich bitte unter <ulink
|
|
url="&url.base;/java/">http://www.de.FreeBSD.org/java/</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-4x">
|
|
<para>Warum kann ich manche Ports auf meiner
|
|
4.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, dass Sie vorher Ihre Ports-Sammlung
|
|
aktualisieren müssen. Lesen Sie dazu den Abschnitt
|
|
<ulink
|
|
url="&url.books.porters-handbook.en;/keeping-up.html">
|
|
Keeping Up</ulink> des Porters-Handbuch. Ist Ihre
|
|
Ports-Sammlung aktuell, könnte es sein, dass jemand
|
|
eine Änderung am Port durchgeführt hat, die
|
|
für -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, dass sie sowohl auf
|
|
-CURRENT als auch auf -STABLE funktioniert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="make-index">
|
|
<para>Ich habe gerade versucht, <filename>INDEX</filename>
|
|
mit <command>make index</command> zu bauen, und es hat nicht
|
|
geklappt. Woran liegt das?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung
|
|
aktuell ist. Fehler, die einen Bau von
|
|
<filename>INDEX</filename> aus einer aktuellen Ports-Sammlung
|
|
verhindern, sind sofort sichtbar und werden daher fast immer
|
|
umgehend behoben.</para>
|
|
|
|
<para>Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie
|
|
vielleicht ein anderes Problem.
|
|
<command>make index</command> hat einen Bug im Umgang mit
|
|
unvollständigen Kopien der Ports-Sammlung. Es nimmt
|
|
an, dass Sie über eine lokale Kopie aller Ports
|
|
verfügen, von denen jeder lokale Port abhängt.
|
|
Wenn Sie also beispielsweise eine Kopie von
|
|
<filename>foo/bar</filename> auf Ihrem System haben, und
|
|
<filename>foo/bar</filename> ist von
|
|
<filename>baz/quux</filename> abhängig, dann muss auch
|
|
eine Kopie von <filename>baz/quux</filename> auf Ihrem
|
|
System vorhanden sein, sowie eine Kopie aller Ports, von
|
|
denen <filename>baz/quux</filename> abhängt.
|
|
Anderenfalls ist <command>make index</command> aufgrund
|
|
fehlender Informationen nicht in der Lage, den
|
|
Abhängigkeitsbaum zu erzeugen.</para>
|
|
|
|
<para>Dieses Problem tritt vor allem dann auf, wenn
|
|
&os;-Benutzer &man.cvsup.1; verwenden, um die Ports-Sammlung
|
|
zu aktualisieren und dabei verschiedene Kategorien durch die
|
|
Datei <filename>refuse</filename> von der Aktualisierung
|
|
ausschließen. Theoretisch ist es zwar möglich,
|
|
Kategorien auszuschließen, in der Praxis gibt es aber
|
|
zu viele Ports, die von Ports in anderen Kategorien
|
|
abhängen. Wenn Sie also <filename>INDEX</filename>
|
|
bauen wollen, <emphasis>müssen</emphasis> Sie über
|
|
eine komplette Kopie der Ports-Sammlung verfügen.</para>
|
|
|
|
<para>Es gibt seltene Fälle, in denen
|
|
<filename>INDEX</filename> nicht gebaut werden kann, wenn
|
|
bestimmte
|
|
<makevar>WITH_<replaceable>*</replaceable></makevar> oder
|
|
<makevar>WITHOUT_<replaceable>*</replaceable></makevar>
|
|
Variablen in <filename>make.conf</filename> gesetzt sind.
|
|
Wenn Sie dieses Problem haben, sollten Sie diese
|
|
make-Variablen deaktivieren und <filename>INDEX</filename>
|
|
erneut bauen, bevor Sie das Problem an &a.ports;
|
|
melden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cvsup-in-base">
|
|
<para>Warum ist CVSup nicht im FreeBSD-Basisquellbaum
|
|
enthalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das Basissystem von FreeBSD soll
|
|
<quote>selbstverwaltend</quote> sein. Es soll also
|
|
möglich sein, das komplette Betriebssystem mit einer
|
|
beschränkten Anzahl von Werkzeugen zu starten. Daher
|
|
werden die zum Bau von FreeBSD nötigen Werkzeuge mit
|
|
dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören
|
|
ein C-Compiler (&man.gcc.1;), &man.make.1;, &man.awk.1; und
|
|
andere.</para>
|
|
|
|
<para>Da CVSup in Modula-3 geschrieben wurde, müsste ein
|
|
Modula-3-Compiler ins Basissystem aufgenommen und auch
|
|
gewartet werden. Dies würde einen gestiegenen
|
|
Speicherbedarf für die FreeBSD-Quellen sowie einen
|
|
erhöhten Wartungsaufwand verursachen. Daher ist es
|
|
sowohl für Entwickler als auch Benutzer einfacher,
|
|
CVSup bei Bedarf als Port oder als Paket von einer
|
|
Installations-CD zu installieren.</para>
|
|
</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 Prozess 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>muss</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,
|
|
dass 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 Prozess mit
|
|
<command>portupgrade</command> automatisieren.
|
|
<command>portupgrade</command> umfasst 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, dass es so
|
|
eine Shell geben muss.</para>
|
|
|
|
<para>Die ausführlichere Antwort: Viele Leute
|
|
müssen Shell-Programme schreiben, die auf vielen
|
|
verschiedenen Systemen nutzbar sein müssen. Aus
|
|
diesem Grund enthält der &posix;-Standard eine sehr
|
|
detaillierte Definition der Shell und der Hilfsprogramme.
|
|
Die meisten Programme werden für die Bourne Shell
|
|
geschrieben; außerdem nutzen mehrere wichtige
|
|
Schnittstellen (&man.make.1;, &man.system.3;,
|
|
&man.popen.3; und ihre Entsprechungen in höheren
|
|
Programmiersprachen wie Perl und Tcl) die Bourne Shell, um
|
|
Befehle auszuführen. Da die Bourne Shell an so
|
|
vielen Stellen und so häufig genutzt wird, muss
|
|
sie die folgenden Anforderungen erfüllen: Schneller
|
|
Start, ein klar definiertes Verhalten und ein
|
|
möglichst geringer Speicherverbrauch.</para>
|
|
|
|
<para>Wir haben bei der vorliegenden Implementierung
|
|
versucht, möglichst viele dieser Anforderungen zu
|
|
erfüllen. Um <command>/bin/sh</command> nicht zu
|
|
groß werden zu 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, dass
|
|
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, dass Ihr System nicht an ein Netzwerk
|
|
angeschlossen ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ports-base-update">
|
|
<para>Ich habe die Ports-Sammlung mit
|
|
<application>CVSup</application> aktualisiert. Viele
|
|
Ports lassen sich danach nicht mehr bauen und geben
|
|
seltsame Fehlermeldungen aus. Was ist passiert? Ist
|
|
die Ports-Sammlung kaputt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie sollten <emphasis>immer</emphasis> die Teilsammlung
|
|
<literal>ports-base</literal> aktualisieren, wenn Sie
|
|
nur Teile der Ports-Sammlung mit Hilfe der
|
|
<application>CVSup</application>-Teilsammlungen
|
|
aktualisieren. Die Erklärung dazu finden Sie im
|
|
<ulink url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN">
|
|
Handbuch</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="midi-sound-files">
|
|
<para>Wie erzeuge ich Audio-CDs aus MIDI-Dateien?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Installieren Sie zuerst den Port <filename
|
|
role="package">audio/timidity++</filename>. Danach
|
|
müssen Sie manuell die GUS-Patche von
|
|
Eric A. Welsh von <ulink
|
|
url="http://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="&url.books.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>Sie haben wahrscheinlich
|
|
<devicename>npx0</devicename> aus Ihrer
|
|
Kernelkonfigurationsdatei entfernt, weil Sie keinen
|
|
mathematischen Co-Prozessor besitzen. Die Gerätedatei
|
|
<devicename>npx0</devicename> ist allerdings
|
|
<emphasis>VERPFLICHTEND</emphasis>. Ihre Hardware
|
|
unterstützt Gleitkommaoperationen, selbst wenn dafür
|
|
kein eigenes Bauteil (wie bei den 386er-Prozessoren) mehr
|
|
verwendet wird. Daher <emphasis>müssen</emphasis> Sie
|
|
die Gerätedatei <devicename>npx0</devicename> einbinden.
|
|
Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne
|
|
<devicename>npx0</devicename>-Unterstützung zu bauen,
|
|
werden Sie diesen nicht booten können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="why-kernel-big">
|
|
<para>Warum ist mein Kernel so groß (über 10
|
|
MByte)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie haben Ihren Kernel wahrscheinlich im
|
|
<emphasis>Debug Modus</emphasis> erstellt. Ein
|
|
Debug-Kernel enthält viele zusätzliche
|
|
Informationen für die Fehlersuche, daher ist er so
|
|
groß. Bitte beachten Sie, dass die Verwendung
|
|
eines Debug-Kernels
|
|
die Performance des Systems nicht oder nur minimal
|
|
reduziert; außerdem ist es für den Fall einer
|
|
system panic sehr praktisch, einen Debug-Kernel zur Hand
|
|
zu haben.</para>
|
|
|
|
<para>Wenn Ihnen allerdings der Plattenplatz ausgeht oder
|
|
Sie einfach rein prinzipiell keinen Debug-Kernel benutzen
|
|
wollen, müssen die beiden folgenden Bedingungen
|
|
erfüllt sein:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Die Konfigurationsdatei für Ihren Kernel darf
|
|
die folgende Zeile nicht enthalten:</para>
|
|
|
|
<programlisting>makeoptions DEBUG=-g</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie dürfen &man.config.8; nicht mit dem
|
|
Parameter <option>-g</option> starten.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Sollten Sie sich nicht an diese Einschränkungen
|
|
halten, wird Ihr Kernel im Debug-Modus erstellt. Solange
|
|
Sie sich an diese Einschränkungen halten, können
|
|
Sie Ihren Kernel ganz normal erstellen und die
|
|
Größe des Kernels sollte deutlich sinken. Ein
|
|
normaler Kernel ist nur 1.5 MByte bis 2 MByte
|
|
groß.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multiport-serial-interrupts">
|
|
<para>Wieso erhalte ich Meldungen über Interrupt-Konflikte,
|
|
wenn ich eine Karte mit mehreren seriellen Schnittstellen
|
|
einsetzen will?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn ich einen Kernel mit Unterstützung für
|
|
serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
|
|
den Hinweis, dass nur der erste Port geprüft
|
|
wird und die restlichen auf Grund von Interrupt-Konflikten
|
|
übersprungen werden. Wie kann ich das
|
|
Beheben?</para>
|
|
|
|
<para>Das Problem besteht darin, dass in 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, dass vorher ein komplettes
|
|
<command>make buildworld</command> durchgelaufen sein
|
|
muss. Um seine Arbeit erledigen zu können,
|
|
benötigt <command>make buildkernel</command>
|
|
Dateien, die von <command>make buildworld</command>
|
|
erzeugt werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Auch wenn Sie <link
|
|
linkend="stable">FreeBSD-STABLE</link> verwenden, ist
|
|
es durchaus möglich, dass Sie die Sourcen
|
|
genau zum falschen Zeitpunkt aktualisiert haben:
|
|
Während Sie gerade modifiziert wurden oder
|
|
kurzzeitig fehlerhaft waren. Eine absolute und
|
|
vollständige Garantie, dass Sie die Sourcen
|
|
compilieren können, gibt es nur für die
|
|
Releases, bei <link
|
|
linkend="stable">FreeBSD-STABLE</link> ist das nicht
|
|
immer so. Wenn Sie es noch nicht versucht haben,
|
|
sollten Sie ihre Source nochmals aktualisieren. Es
|
|
ist denkbar, dass der von Ihnen genutzte Server
|
|
zurzeit Probleme hat, 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>Wenn Sie &os; 5.2.1 oder älter verwenden,
|
|
überprüfen Sie dazu, ob auf Ihrem System die
|
|
sysctl-Variable <literal>kern.quantum</literal>
|
|
existiert. Ist dies bei Ihnen der Fall, werden Sie eine
|
|
Ausgabe ähnlich der folgenden sehen:</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.quantum</replaceable>
|
|
kern.sched.quantum: 99960</screen>
|
|
|
|
<para>Wenn die sysctl-Variable <literal>kern.quantum</literal>
|
|
existiert, dann verwenden Sie den 4BSD-Scheduler. Existiert
|
|
sie nicht, erzeugt &man.sysctl.8; eine Fehlermeldung (die Sie
|
|
aber ignorieren können):</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable>
|
|
sysctl: unknown oid 'kern.sched.quantum'</screen>
|
|
|
|
<para>Seit &os; 5.3-RELEASE wird der Name des verwendeten
|
|
Schedulers direkt als Wert der sysctl-Variable
|
|
<literal>kern.sched.name</literal> ausgegeben:</para>
|
|
|
|
<screen>&prompt.user; sysctl <replaceable>kern.sched.name</replaceable>
|
|
kern.sched.name: 4BSD</screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="scheduler-kern-quantum">
|
|
<para>Was bedeutet <literal>kern.quantum</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><literal>kern.quantum</literal> 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.
|
|
Seit &os; 5.X wird <literal>kern.quantum</literal> als
|
|
<literal>kern.sched.quantum</literal> bezeichnet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="scheduler-kern-sched-quantum">
|
|
<para>Was ist <literal>kern.sched.quantum</literal>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Lesen Sie den Abschnitt
|
|
<xref linkend="scheduler-kern-quantum"></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="&url.articles.formatting-media.en;/article.html">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="&url.articles.formatting-media.en;/article.html">Formatting-Media
|
|
Tutorial</ulink> finden Sie weitere Informationen zu
|
|
diesen Schritten.</para>
|
|
|
|
<para>Nachdem Sie die neue Platte eingerichtet haben,
|
|
können Sie Ihre Daten verschieben. Dummerweise
|
|
können Sie die Daten nicht einfach kopieren. Dinge wie
|
|
Gerätedateien (in <filename>/dev</filename>),
|
|
erweiterte Dateiattribute und symbolische Links führen
|
|
dazu, dass das in die Hose geht. Sie müssen
|
|
ein Programm benutzen, das damit umgehen kann, und das
|
|
ist &man.dump.8;. Es wird oft empfohlen, die Daten im
|
|
Single-User Modus zu verschieben, aber das ist nicht
|
|
unbedingt notwendig.</para>
|
|
|
|
<para>Sie sollten auf gar keinen Fall etwas anderes als
|
|
&man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem
|
|
zu verschieben. Es könnte auch mit
|
|
&man.tar.1; funktionieren - oder auch nicht. Sie sollten
|
|
ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
|
|
Sie eine komplette Partition auf eine andere, leere
|
|
Partition verschieben wollen. Um die Daten einer Partition mit
|
|
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 derzeit auf <filename>/mnt</filename> gemountet
|
|
ist, bedeutet das:</para>
|
|
|
|
<screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
|
|
&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
|
|
&prompt.root; <userinput>cd /mnt</userinput>
|
|
&prompt.root; <userinput>dump 0af - / | restore 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, dass sie die erweiterten Dateiattribute
|
|
nicht verstehen, daher sollten Sie bei ihrem Einsatz
|
|
aufpassen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dangerously-dedicated">
|
|
<para>Gefährdet eine <quote>dangerously
|
|
dedicated</quote> Festplatte meine Gesundheit?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><anchor id="dedicate">Die Installationsprozedur bietet
|
|
Ihnen zwei verschiedene Methoden, Ihre Festplatte(n) zu
|
|
partitionieren. Die Standardmethode macht sie kompatibel
|
|
zu anderen Betriebssystemen auf derselben Maschine, indem
|
|
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, dass vom
|
|
Layout von <quote>dangerously dedicated</quote> Platten
|
|
bekannt ist, dass es viele BIOSe verwirrt,
|
|
einschließlich solcher von AWARD (wie es z.B. im HP
|
|
Netserver oder Micronics-Systemen, sowie vielen anderen zu
|
|
finden ist) und Symbios/NCR (für die bekannte
|
|
53C8xx-Reihe von SCSI-Controllern). Dies ist keine
|
|
vollständige Liste - es gibt weitere. Symptome
|
|
für diese Verwirrung sind <errorname>read
|
|
error</errorname>-Meldungen, die vom 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,
|
|
muss es sich die Lage dieser Slices auf der
|
|
Festplatte in einer Art merken, die damit
|
|
übereinstimmt, wie das BIOS erwartet, sie zu finden.
|
|
Wenn das falsch geschieht, werden Sie nicht in der Lage
|
|
sein, zu booten.</para>
|
|
|
|
<para>Durch den <quote>Dangerously dedicated</quote> Modus
|
|
wird versucht, dies zu umgehen, indem das Problem
|
|
vereinfacht wird. In einigen Fällen klappt das zwar,
|
|
aber er ist eher als allerletzter Ausweg gedacht - in 99
|
|
von 100 Fällen gibt es bessere Möglichkeiten,
|
|
das Problem zu lösen.</para>
|
|
|
|
<para>Wie vermeiden Sie also die Notwendigkeit zum
|
|
<quote>DD</quote> Modus, wenn Sie installieren? Beginnen
|
|
Sie, indem Sie sich notieren, welche Geometrie das BIOS
|
|
für Ihre Platten benutzt. Sie können erreichen,
|
|
dass der Kernel sie beim Booten ausgibt, indem Sie
|
|
<option>-v</option> an der Eingabeaufforderung
|
|
<literal>boot:</literal> angeben, oder <command>boot
|
|
-v</command> im Loader verwenden. Kurz bevor das
|
|
Installationsprogramm startet, wird der Kernel eine Liste
|
|
mit den BIOS-Geometrien ausgeben. Keine Panik - warten
|
|
Sie, bis das Installationsprogramm gestartet wurde und
|
|
benutzen Sie Scrollback, um die Zahlen zu lesen.
|
|
Typischerweise befinden sich die BIOS-Platten in derselben
|
|
Reihenfolge, wie 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, dass 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, dass das BIOS und
|
|
FreeBSD in der Festplattengeometrie übereinstimmen,
|
|
dann sind Ihre Probleme ziemlich sicher vorüber -
|
|
ohne, dass es nötig gewesen wäre, den
|
|
<quote>DD</quote>-Modus zu benutzen. Falls sie jedoch
|
|
immer noch mit der gefürchteten <errorname>read
|
|
error</errorname>-Meldung begrüßt werden sollten,
|
|
wenn Sie versuchen, zu booten, wird es Zeit, dass Sie
|
|
Ihre Finger kreuzen und es einfach versuchen - es gibt
|
|
nichts mehr zu verlieren.</para>
|
|
|
|
<para>Um eine <quote>dangerously dedicated</quote>
|
|
Festplatte wieder für einen normalen PC brauchbar zu
|
|
machen, gibt es zwei Möglichkeiten. Die erste ist,
|
|
ausreichend viele NULL-Bytes in den MBR zu schreiben, um
|
|
irgendwelche nachfolgenden Installation glauben zu machen,
|
|
dass es sich um eine leere Festplatte handelt. Sie
|
|
können das zum Beispiel 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, dass nicht genug freier Platz
|
|
vorhanden ist, obwohl Sie ganz genau wissen, dass Sie
|
|
gerade eben Platz geschaffen haben. Wenn Sie die
|
|
Operation ein paar Sekunden später wiederholen,
|
|
funktioniert alles wie von Geisterhand. Dieser Effekt hat
|
|
mehr als einen Benutzer verwirrt und Zweifel an seiner
|
|
geistigen Stabilität oder dem 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
|
|
Passwörter ändern. Wenn das System in den
|
|
30 Sekunden nach einer solchen Änderung
|
|
abstürzt, ist es möglich, das Daten verloren
|
|
gehen. Dieses Risiko ist in den meisten Fällen
|
|
unerheblich, aber es ist vorhanden. Wenn das zu viel
|
|
Risiko ist, dann sollten Sie Soft Updates nicht auf der
|
|
Root-Partition einsetzen.</para>
|
|
|
|
<para><filename>/</filename> war schon immer eine der
|
|
kleinsten Partitionen. 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, dass 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>
|
|
<para>FreeBSD unterstützt verschiedene fremde
|
|
Dateisysteme.</para>
|
|
|
|
<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>&windowsnt;</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>
|
|
|
|
<varlistentry>
|
|
<term>FAT</term>
|
|
|
|
<listitem>
|
|
<para>FreeBSD enthält ein FAT-Treiber, der Lese-
|
|
und Schreibzugriffe ermöglicht. Weitere
|
|
Informationen entnehmen Sie bitte der Hilfeseite
|
|
&man.mount.msdosfs.8;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>FreeBSD unterstützt auch verschiedene
|
|
Netzwerk-Dateisysteme, wie NFS (&man.mount.nfs.8;), NetWare
|
|
(&man.mount.nwfs.8;), sowie die SMB-Dateisysteme von
|
|
Microsoft (&man.mount.smbfs.8;).</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>Verwenden Sie FreeBSD 5.0 oder neuer, sollten Sie
|
|
&man.gbde.8; lesen. Für ältere Versionen gibt es
|
|
den Port
|
|
<filename role="package">security/cfs</filename>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nt-bootloader">
|
|
<para>Wie kann ich den &windowsnt;-Loader zum Booten von
|
|
FreeBSD verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das grundsätzliche Vorgehen besteht darin,
|
|
dass Sie den ersten Sektor Ihrer eigentlichen
|
|
FreeBSD-Rootpartition in eine Datei auf der
|
|
DOS/&windowsnt;-Partition kopieren. Angenommen, sie nennen
|
|
die Datei etwa <filename>c:\bootsect.bsd</filename> (durch
|
|
<filename>c:\bootsect.dos</filename> inspiriert), dann
|
|
können Sie die Datei <filename>c:\boot.ini</filename>
|
|
etwa wie folgt editieren:</para>
|
|
|
|
<programlisting>
|
|
[boot loader]
|
|
timeout=30
|
|
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
|
|
[operating systems]
|
|
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
|
|
C:\BOOTSECT.BSD="FreeBSD"
|
|
C:\="DOS"
|
|
</programlisting>
|
|
|
|
<para>Falls FreeBSD auf derselben Platte, wie die
|
|
&windowsnt;-Bootpartition installiert ist, kopieren Sie
|
|
einfach <filename>/boot/boot1</filename> nach
|
|
<filename>C:\BOOTSECT.BSD</filename>. Falls FreeBSD auf
|
|
einer anderen Platte installiert ist, wird
|
|
<filename>/boot/boot1</filename> nicht funktionieren; Sie
|
|
brauchen in diesem Fall
|
|
<filename>/boot/boot0</filename>.</para>
|
|
|
|
<para><filename>/boot/boot0</filename> muss 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>
|
|
|
|
<warning>
|
|
<para><emphasis>Sie dürfen auf gar keinen Fall einfach
|
|
<filename>/boot/boot0</filename> statt
|
|
<filename>/boot/boot1</filename> kopieren. Wenn Sie das
|
|
doch tun sollten, wird Ihre Partitionstabelle
|
|
überschrieben und Ihr Rechner wird nicht mehr
|
|
starten!</emphasis></para>
|
|
</warning>
|
|
|
|
<para>Wenn der Bootmanager von 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, dass 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, dass
|
|
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, dass 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, dass Sie
|
|
&windows; 95 neu installieren (&windows; 95 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
|
|
&iomegazip; oder ein EZ-Laufwerk (oder sogar ein
|
|
Diskettenlaufwerk, wenn Sie es auf diese Weise benutzen
|
|
möchten), oder um eine neue Festplatte - wenn es
|
|
einmal installiert und vom System erkannt ist und Sie Ihre
|
|
Kassette/Diskette/was_auch_immer eingelegt haben, ist das
|
|
Vorgehen bei allen Geräten ziemlich
|
|
ähnlich.</para>
|
|
|
|
<para>(dieser Abschnitt basiert auf <ulink
|
|
url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">Mark
|
|
Mayo's ZIP-FAQ</ulink>)</para>
|
|
|
|
<para>Wenn es sich um ein ZIP- oder Diskettenlaufwerk
|
|
handelt, und sich bereits ein DOS-Dateisystem darauf
|
|
befindet, können Sie einen Befehl wie diesen für
|
|
eine Diskette benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -t 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="&url.books.handbook;/creating-cds.html">Optische
|
|
Speichermedien</ulink> des Handbuch, genauer gesagt im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cdrom-not-configured">
|
|
<para>Wieso erhalte ich die Meldung <errorname>Device not
|
|
configured</errorname>, wenn ich eine CDROM
|
|
mounte?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das bedeutet im allgemeinen, dass sich keine
|
|
CDROM im Laufwerk befindet, oder, dass das Laufwerk
|
|
auf dem Bus nicht sichtbar ist. Dieses Problem wird im
|
|
Kapitel <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink> des Handbuchs ausführlich
|
|
diskutiert.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="cdrom-unicode-filenames">
|
|
<para>Wieso werden alle Sonderzeichen in den Dateinamen auf
|
|
meinen CDs durch <quote>?</quote> ersetzt, wenn ich die CD
|
|
unter 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="&url.books.handbook;/creating-cds.html">Erzeugung von
|
|
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
|
über <ulink
|
|
url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Benutzung
|
|
von Daten-CDs</ulink>.</para>
|
|
|
|
<para>[Anmerkung des Übersetzers: Es geht hier nicht um
|
|
die deutschen Sonderzeichen, da diese schon im normalen
|
|
ISO8859-1 enthalten sind. Die Probleme treten auf, wenn
|
|
man z.B. russische CDs (ISO8859-5) verwendet.]</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="burncd-isofs">
|
|
<para>Ich habe eine CD mit 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="&url.books.handbook;/creating-cds.html">Erzeugung von
|
|
CD-ROMs</ulink> im Handbuch, speziell in den Abschnitt
|
|
über <ulink
|
|
url="&url.books.handbook;/creating-cds.html#RAWDATA-CD">reine
|
|
Daten-CDs</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="copy-cd">
|
|
<para>Wie kann ich ein Image einer Daten-CD erzeugen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Information finden Sie im Abschnitt <ulink
|
|
url="&url.books.handbook;/creating-cds.html#IMAGING-CD">Kopieren
|
|
von CD-ROMs</ulink> des Handbuchs. Weitere Informationen
|
|
über die Arbeit mit CD-ROMs finden Sie im Abschnitt
|
|
<ulink url="&url.books.handbook;/creating-cds.html">Erzeugen von
|
|
CD-ROMs</ulink> im Kapitel Speichermedien des
|
|
Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="mount-audio-CD">
|
|
<para>Wieso kommt <command>mount</command> nicht meiner
|
|
Audio-CD zurecht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie versuchen sollten, eine Audio-CD zu mounten,
|
|
erhalten Sie die Meldung <errorname>cd9660: /dev/acd0c:
|
|
Invalid argument</errorname>. Der Grund dafür ist,
|
|
dass <command>mount</command> nur für
|
|
Dateisysteme vorgehen ist. Audio CDs habe kein
|
|
Dateisystem, sondern nur Daten. Wenn Sie eine Audio CD
|
|
auslesen wollen, brauchen Sie ein entsprechendes Programm
|
|
wie z.B. <filename role="package">audio/xmcd</filename>
|
|
aus den Ports.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="multi-session-CD">
|
|
<para>Wie nutze ich <command>mount</command> für eine
|
|
Multi-Session CD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Standardmäßig benutzt &man.mount.8; den
|
|
letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine
|
|
ältere Session benutzen wollen, müssen Sie diese
|
|
mit der Option <option>-s</option> definieren. Weitere
|
|
Informationen finden Sie in der Onlinehilfe zu
|
|
&man.mount.cd9660.8;</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="user-floppymount">
|
|
<para>Wie lasse ich normale Benutzer Disketten, 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/acd0c</userinput>
|
|
&prompt.root; <userinput>chmod 640 /dev/acd0c</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ab &os; 5.X müssen Sie
|
|
zusätzlich <filename>/etc/devfs.conf</filename>
|
|
anpassen, weil diese Einstellungen ansonsten beim
|
|
Systemneustart verloren gehen.</para>
|
|
|
|
<para>Damit normale Benutzer bespielsweise das erste
|
|
Diskettenlaufwerk mounten können, fügen Sie
|
|
als <username>root</username> folgende Zeilen in
|
|
<filename>/etc/devfs.conf</filename> ein:</para>
|
|
|
|
<programlisting># Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten.
|
|
own /dev/fd0 root:operator
|
|
perm /dev/fd0 0666</programlisting>
|
|
|
|
<para>Damit alle Mitglieder der Gruppe
|
|
<groupname>operator</groupname> das CD-ROM-Laufwerk
|
|
mounten können, die folgenden Zeilen:</para>
|
|
|
|
<programlisting># Alle Mitglieder der Gruppe operator dürfen CD-ROMs mounten.
|
|
own /dev/acd0 root:operator
|
|
perm /dev/acd0 0660</programlisting>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Fügen Sie zum Abschluss die Zeile
|
|
<literal><varname>vfs.usermount=</varname>1</literal>
|
|
in die Datei <filename>/etc/sysctl.conf</filename>
|
|
ein, damit die Einstellung bei einem Neustart des
|
|
Systems automatisch erhalten bleibt.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Alle Benutzer können nun
|
|
<devicename>/dev/fd0</devicename> auf ein Verzeichnis, das
|
|
ihnen gehört, mounten:</para>
|
|
|
|
<screen>&prompt.user; <userinput> mkdir ~/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/acd0c</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/acd0c ~/my-mount-point</userinput></screen>
|
|
|
|
<para>Das Unmounten des Gerätes ist simpel:</para>
|
|
|
|
<screen>&prompt.user; <userinput>umount ~/my-mount-point</userinput></screen>
|
|
|
|
<para>Die Aktivierung von <varname>vfs.usermount</varname>
|
|
hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
|
|
Ein besserer Weg, um auf &ms-dos;-formatierte
|
|
Datenträger zuzugreifen, ist die Benutzung des
|
|
Packages
|
|
<filename role="package">emulators/mtools</filename>.</para>
|
|
|
|
<note>
|
|
<para>Denken Sie daran, dass Sie die Gerätenamen in
|
|
diesen Beispielen an Ihre Konfiguration anpassen
|
|
müssen.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="du-vs-df">
|
|
<para>Wieso geben die Befehle <command>du</command> und
|
|
<command>df</command> unterschiedliche Werte für den
|
|
freien Plattenplatz aus?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Grund ist die Funktionsweise von
|
|
<command>du</command> und <command>df</command>.
|
|
<command>du</command> geht durch einen Dateibaum,
|
|
ermittelt die Größe jeder einzelnen Datei, und
|
|
gibt die Summe aus. <command>df</command> fragt lediglich
|
|
das Dateisystem wie viel Platz noch frei ist. Das
|
|
scheint zwar auf den ersten Blick sehr ähnlich zu
|
|
sein; allerdings wird sich ein leeres Verzeichnis auf die
|
|
Ausgabe von <command>df</command> auswirken, während
|
|
es auf das Ergebnis von <command>du</command> keinen
|
|
Einfluss hat.</para>
|
|
|
|
<para>Wenn Sie eine Datei löschen, während sie von
|
|
einem Programm genutzt wird, wird diese Datei erst
|
|
gelöscht, wenn sie vom Programm freigegeben wird.
|
|
Allerdings wird die Datei sofort aus dem Verzeichnis
|
|
entfernt. Sie können dieses Verhalten mit einem
|
|
Programm wie <command>more</command> sehr einfach
|
|
nachvollziehen. Dazu brauchen Sie nur eine Datei, die
|
|
groß genug ist, um die Ausgabe von
|
|
<command>du</command> und <command>df</command> zu
|
|
beeinflussen. Bei der Größe aktueller Platten
|
|
muss diese Datei schon <emphasis>sehr</emphasis>
|
|
groß sein! Wenn Sie diese Datei löschen,
|
|
während Sie sie sich in <command>more</command>
|
|
anzeigen lassen, hat <command>more</command> kein Problem.
|
|
Der Eintrag für die Datei wird lediglich aus dem
|
|
Verzeichnis entfernt, damit kein anderes Programm mehr
|
|
darauf zugreifen kann. Laut <command>du</command> ist die
|
|
Datei verschwunden – es hat das Verzeichnis
|
|
untersucht und die Datei nicht gefunden. Laut
|
|
<command>df</command> ist die Datei aber vorhanden, da sie
|
|
im Dateisystem immer noch Platz belegt. Sobald Sie
|
|
<command>more</command> beenden, werden die Ergebnisse von
|
|
<command>du</command> und <command>df</command> wieder
|
|
übereinstimmen.</para>
|
|
|
|
<para>Bitte beachten Sie, dass die Freigabe des
|
|
Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden
|
|
verzögert werden kann.</para>
|
|
|
|
<para>Die oben beschriebene Situation tritt sehr häufig
|
|
auf Web-Servern auf. Viele Anwender installieren einen
|
|
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="&url.books.handbook;/config-tuning.html">Konfiguration und
|
|
Tuning</ulink> des Handbuches gibt es einen <ulink
|
|
url="&url.books.handbook;/adding-swap-space.html">Abschnitt</ulink>
|
|
mit einer Schritt-für-Schritt Anleitung.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="manufacturer-disk-size">
|
|
<para>Warum ist meine Festplatte unter &os; kleiner, als sie
|
|
laut Hersteller sein soll?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Festplattenhersteller definieren ein Gigabyte als eine
|
|
Milliarde Bytes, für &os; ist ein Gigabyte hingegen
|
|
1.073.741.824 Bytes groß. Aus diesem Grund wird
|
|
für eine Platte, die laut Herstellerangaben
|
|
80 GB groß ist, während des Bootvorgangs
|
|
eine Größe von 76.319 MB angezeigt.</para>
|
|
|
|
<para>Beachten Sie auch, dass &os; (in der Voreinstellung)
|
|
8 % des Plattenplatzes für sich
|
|
<link linkend="disk-more-than-full">reserviert</link>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="disk-more-than-full">
|
|
<para>Warum kann eine Partition zu mehr als 100% gefüllt
|
|
sein?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%,
|
|
ist für das Betriebssystem und den Benutzer
|
|
<username>root</username> reserviert. &man.df.1; rechnet
|
|
diesen Teil bei der Ausgabe der <literal>Capacity</literal>
|
|
Spalte nicht ein, so dass dort Werte über 100%
|
|
angezeigt werden können. Die Anzahl der Blöcke in
|
|
der <literal>blocks</literal> Spalte ist ebenfalls um 8%
|
|
größer als die Summe der benutzten und
|
|
verfügbaren Blöcke (die Spalten
|
|
<literal>Used</literal> und <literal>Avail</literal>).</para>
|
|
|
|
<para>Wie viel Platz reserviert wird, können Sie mit der
|
|
<option>-m</option> Option von &man.tunefs.8; einstellen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="admin">
|
|
<title>Systemadministration</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="startup-config-files">
|
|
<para>Wo befinden sich die Konfigurationsdateien für
|
|
den Systemstart?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><filename>/etc/defaults/rc.conf</filename> (siehe
|
|
&man.rc.conf.5;) ist die primäre Konfigurationsdatei.
|
|
Die Startskripten des Systems, wie <filename>/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,
|
|
dass Sie die crontab des Systems
|
|
(<filename>/etc/crontab</filename>) geändert und dann
|
|
mit &man.crontab.1; installiert haben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen>
|
|
|
|
<para>Diese Vorgehensweise ist falsch. Die crontab des
|
|
Systems hat ein anderes Format als die crontabs für
|
|
die einzelnen Benutzer, die mit &man.crontab.1;
|
|
aktualisiert werden (genauere Informationen über die
|
|
Unterschiede erhalten Sie in &man.crontab.5;).</para>
|
|
|
|
<para>Wenn Sie so vorgegangen sind, ist die zweite crontab
|
|
einfach nur eine Kopie von
|
|
<filename>/etc/crontab</filename>, allerdings im falschen
|
|
Format. Löschen Sie sie mit dem folgenden
|
|
Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>crontab -r</userinput></screen>
|
|
|
|
<para>Wenn Sie <filename>/etc/crontab</filename> wieder
|
|
ändern müssen, sollten Sie einfach gar nichts
|
|
tun, um &man.cron.8; über die Änderung zu
|
|
informieren, er erkennt die Änderung
|
|
automatisch.</para>
|
|
|
|
<para>Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden
|
|
Monat ausführen lassen wollen, ist es wahrscheinlich
|
|
einfacher, wenn Sie entsprechende Shell-Scripte in
|
|
<filename>/usr/local/etc/periodic</filename> ablegen.
|
|
Diese werden dann von &man.periodic.8; zusammen mit den
|
|
anderen regelmäßigen Tätigkeiten
|
|
ausgeführt.</para>
|
|
|
|
<para>Der eigentliche Grund für den Fehler ist die
|
|
Tatsache, dass die crontab des Systems ein
|
|
zusätzliches Feld enthält; dieses Feld gibt an,
|
|
mit welcher Benutzerkennung der Befehl ausgeführt
|
|
werden soll. In der mitgelieferten crontab ist das bei
|
|
allen Einträgen die Benutzerkennung
|
|
<username>root</username>. Wenn diese Datei als die
|
|
crontab des Benutzers <username>username</username> (die
|
|
<emphasis>nicht</emphasis> mit der crontab des Systems
|
|
identisch ist) verwendet wird, hält &man.cron.8; die
|
|
Zeichenkette <literal>root</literal> für den Namen
|
|
des zu startenden Programmes, aber dieses Programm gibt es
|
|
nicht.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="su-wheel-group">
|
|
<para>Wieso meldet mir &man.su.1; <errorname>you are not in
|
|
the correct group to su root</errorname>, wenn ich mit
|
|
&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 Passwort
|
|
für <username>root</username> erfährt, mit
|
|
Super-User-Rechten auf das System zugreifen. Durch dieses
|
|
Feature ist die Lage anders, wenn Sie nicht Mitglied von
|
|
<groupname>wheel</groupname> sind, können Sie nicht
|
|
einmal versuchen, dass Passwort
|
|
einzugeben.</para>
|
|
|
|
<para>Um einem Benutzer zu erlauben, mit &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="&url.books.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
|
|
so genannten <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
|
|
&windowsnt; 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="&url.books.handbook;/using-localization.html">länderspezifische
|
|
Einstellungen</ulink> des Handbuchs, insbesondere im
|
|
Abschnitt <ulink
|
|
url="&url.books.handbook;/using-localization.html#SETTING-CONSOLE">Konfiguration
|
|
der Konsole</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-resources">
|
|
<para>Wieso erhalte ich beim Start des Systems Meldungen wie
|
|
<errorname>unknown: <PNP0303> can't assign
|
|
resources</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die nachfolgende Erklärung stammt aus einer Mail
|
|
auf der Mailingliste 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>
|
|
|
|
<!-- XXX
|
|
This may be the worst answer in the entire document.
|
|
-->
|
|
|
|
<answer>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Es kann sein, dass Ihr Kernel nicht für den
|
|
Einsatz von Quotas konfiguriert ist. Damit Sie mit
|
|
Quotas arbeiten können, müssen Sie folgende
|
|
Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und
|
|
den Kernel neu bauen:</para>
|
|
|
|
<programlisting>options QUOTA</programlisting>
|
|
|
|
<para>Weitere Informationen zum Einsatz von Quotas
|
|
finden Sie im entsprechenden
|
|
<ulink
|
|
url="&url.books.handbook;/quotas.html">Abschnitt</ulink>
|
|
des Handbuchs.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie keine Quotas für
|
|
<filename>/</filename>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Erstellen Sie die Quotas-Datei in dem Dateisystem,
|
|
für das die Quotas gelten sollen, z.B.:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>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 bereits mit dem
|
|
<filename>GENERIC</filename>-Kernel. Wenn Sie einen
|
|
angepassten Kernel verwenden, müssen Sie die folgenden
|
|
Zeilen in Ihre Kernelkonfigurationsdatei einfügen:</para>
|
|
|
|
<programlisting>
|
|
options SYSVSHM
|
|
options SYSVSHM # enable shared memory
|
|
options SYSVSEM # enable for semaphores
|
|
options SYSVMSG # enable for messaging
|
|
</programlisting>
|
|
|
|
<para>Danach kompilieren und installieren Sie den neuen
|
|
Kernel.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="sendmail-alternative">
|
|
<para>Welchen Mail-Server kann ich an Stelle von 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>, sowie
|
|
<filename role="package">mail/zmailer</filename>
|
|
sind einige der beliebteren Alternativen.</para>
|
|
|
|
<para>Konkurrenz belebt das Geschäft und die Tatsache,
|
|
dass Sie die Qual der Wahl haben, ist ein Vorteil.
|
|
Daher sollten Sie Fragen wie <quote>Ist 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 neu und
|
|
geben Sie <userinput>boot -s</userinput> an der
|
|
Eingabeaufforderung Boot: ein, 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, dass das System mit
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>Alt</keycap>
|
|
<keycap>Delete</keycap>
|
|
</keycombo>
|
|
rebootet werden kann?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Falls Sie syscons (den Standard-Treiber für die
|
|
Konsole) benutzen, fügen Sie folgende Zeile in Ihre
|
|
Kernelkonfigurationsdatei ein:</para>
|
|
|
|
<programlisting>options SC_DISABLE_REBOOT</programlisting>
|
|
|
|
<para>Falls Sie den Konsolen-Treiber PCVT verwenden, benutzen
|
|
Sie stattdessen die folgende Zeile:</para>
|
|
|
|
<programlisting>options PCVT_CTRL_ALT_DEL</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-to-unix-txt">
|
|
<para>Wie kann ich Textdateien von DOS Systemen auf &unix;
|
|
Systemen verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Benutzen Sie diesen Perl-Befehl:</para>
|
|
|
|
<screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' 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, dass 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, dass 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 -BETAx, -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, dass eine neue
|
|
Release bevorsteht. Und -PRERELEASE bedeutet bei FreeBSD
|
|
normalerweise, dass 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
|
|
4.0-RELEASE und 5.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 4.1-RELEASE or 5.2-RELEASE
|
|
stammen aus dem aktiven <link
|
|
linkend="stable">-STABLE</link> Zweig. Seit 4.3-RELEASE
|
|
gibt es es nun auch einen eigenen Zweig für jede
|
|
Release, der für die Leute gedacht ist, die ein sehr
|
|
konservativ weiterentwickeltes System benötigen (im
|
|
Normalfall also nur Updates aus dem Bereich
|
|
Sicherheit).</para>
|
|
|
|
<para>Bevor in einem Zweig eine Release erfolgt, muss
|
|
in diesem Zweig ein bestimmter Prozess ablaufen. Ein
|
|
Teil dieses Prozesses ist der <quote>code freeze</quote>,
|
|
der Stop der Weiterentwicklung. Sobald dieser Schritt
|
|
erfolgt ist, wird der Name des Zweiges geändert, um
|
|
anzuzeigen, dass demnächst eine Release erfolgen
|
|
wird. Wenn der Zweig zum Beispiel 4.5-STABLE genannt
|
|
wurde, wird der Name in 4.6-PRERELEASE geändert, um
|
|
dies zu verdeutlichen. Weiterhin ist das ein Zeichen, dass
|
|
jetzt besonders intensiv getestet werden sollte. In
|
|
dieser Phase können Fehler im Sourcecode noch
|
|
korrigiert werden. Wenn der Sourcecode so weit
|
|
<quote>gereift</quote> ist, dass eine Release
|
|
erstellt werden kann, wird der Name in 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="&url.articles.releng.en;/article.html">Release
|
|
Engineering</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="kernel-chflag-failure">
|
|
<para>Als ich versucht habe, einen neuen Kernel zu
|
|
installieren, ist das 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. <command>rpc.statd</command>
|
|
projiziert nur einen übertrieben großen
|
|
Speicherbereich in seinen eigenen Adressraum.
|
|
Von einem rein technischen Standpunkt aus
|
|
ist das nichts verwerfliches, allerdings verwirrt es
|
|
Programme wie &man.top.1; und &man.ps.1;.</para>
|
|
|
|
<para>&man.rpc.statd.8; projiziert seine Statusdatei (die in
|
|
<filename>/var</filename> liegt) in seinen
|
|
Adressraum. Um die Probleme zu vermeiden, die bei
|
|
einer Vergrößerung dieser Projektion entstehen
|
|
könnten, wird gleich ein möglichst großer
|
|
Speicherbereich benutzt. Dies kann man sehr schön im
|
|
Sourcecode sehen: Die Längenangabe beim Aufruf von
|
|
&man.mmap.2; ist <literal>0x10000000</literal>, ein
|
|
sechzehntel des Adressraums bei IA32, oder genau 256
|
|
MByte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question 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
|
|
(<literal>clean</literal>) ist, kann
|
|
ein Zustandswechsel direkt von <literal>Active</literal>
|
|
nach <literal>Cache</literal> erfolgen.
|
|
Ob dieser Zustandswechsel möglich ist, wird durch
|
|
die Seitenersetzungsstrategie bestimmt, die der
|
|
Entwickler des VM-Systems festgelegt hat.</para></listitem>
|
|
|
|
<listitem><para><literal>Free</literal>: Seiten, die
|
|
keine Daten enthalten. Diese Seiten können
|
|
sofort benutzt werden, wenn Seiten im Zustand
|
|
<literal>Cache</literal> nicht benutzt werden
|
|
können. Seiten im Zustand <literal>Free</literal>
|
|
können auch während eines Interrupts
|
|
angefordert werden.</para></listitem>
|
|
|
|
<listitem><para><literal>Wired</literal>: Seiten, die
|
|
fest im Speicher liegen und nicht ausgelagert werden
|
|
können. Normalerweise werden solche Seiten vom
|
|
Kernel benutzt, manchmal werden Sie aber auch für
|
|
spezielle Zwecke von Prozessen verwendet.</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Seiten im Zustand <literal>Inactive</literal>
|
|
werden oft auf Plattenspeicher geschrieben (sozusagen
|
|
ein <command>sync</command> des VM-Systems). Wenn
|
|
die CPU erkennen kann, das eine Seite unmodifiziert
|
|
(<literal>clean</literal>) ist, kann
|
|
auch eine <literal>Active</literal>-Seite auf den
|
|
Plattenspeicher ausgeschrieben werden. In bestimmten
|
|
Situationen ist es von Vorteil, wenn ein Block von
|
|
VM-Seiten, unabhängig von seinem Zustand,
|
|
ausgeschrieben werden kann. Die
|
|
<literal>Inactive</literal>-Liste enthält wenig
|
|
benutzte Seiten, die ausgeschrieben werden könnten.
|
|
Seiten im Zustand <literal>Cached</literal> sind
|
|
schon ausgeschrieben und stehen Prozessen für
|
|
die Verwendung im alten oder in einem neuen Kontext
|
|
zur Verfügung. Seiten im Zustand
|
|
<literal>Cache</literal> sind nicht ausreichend
|
|
geschützt und können während Unterbrechungen
|
|
nicht benutzt werden.</para>
|
|
|
|
<para>Die eben beschriebene Behandlung von Speicherseiten
|
|
kann durch weitere Zustände (wie das
|
|
das Busy-Flag) verändert werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="free-memory-amount">
|
|
<para>Wie viel freien Speicher hat mein System?</para>
|
|
</question>
|
|
<!-- Provided by John Dyson via Usenet -->
|
|
<answer>
|
|
<para>Es gibt verschiedene Arten von <quote>freiem
|
|
Speicher</quote>. Eine Art ist die Speichermenge,
|
|
die sofort, ohne etwas auszulagern, zur Verfügung
|
|
steht. Der gesamte <acronym>VM</acronym>-Bereich
|
|
ist eine weitere Art des <quote>freien Speichers</quote>.
|
|
Die Betrachtung ist komplex, hängt aber von
|
|
der Größe des Swap-Bereichs und der
|
|
Größe des Arbeitsspeichers ab. Es gibt
|
|
weitere Definitionen für <quote>freien Speicher</quote>,
|
|
die aber alle relativ nutzlos sind. Wichtig ist
|
|
hingegen, dass wenig Seiten ausgelagert
|
|
werden (<foreignphrase>paging</foreignphrase>) und der
|
|
Swap-Bereich ausreichend groß ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="var-empty">
|
|
<para>Ich kann <filename>/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="whatis-X">
|
|
<para>Was ist das X Window System?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das X Window System ist das am häufigsten verwendete
|
|
Window System für &unix; oder ähnliche Systeme,
|
|
zu denen auch &os; gehört.
|
|
Der <ulink url="http://www.x.org/X11_protocol.html">X
|
|
Protokollstandard</ulink> wird von der
|
|
<ulink url= "http://www.x.org">X.org Foundation</ulink> definiert.
|
|
Die aktuelle Version 11.6 dieser Spezifikation wird als
|
|
<literal>X11R6</literal> oder auch nur als
|
|
<literal>X11</literal> bezeichnet.</para>
|
|
|
|
<para>Das X Window System wurde für viele verschiedene
|
|
Architekturen und Betriebssysteme implementiert. Eine
|
|
serverseitige Implementierung wird dabei als
|
|
<literal>X-Server</literal> bezeichnet.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="which-X">
|
|
<para>Welche X-Implementierungen sind für &os;
|
|
verfügbar?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Früher war &xfree86;, die X-Implementierung des
|
|
<ulink url="http://www.xfree86.org">XFree86
|
|
Projects, Inc.</ulink>, der Standard unter &os;. Dieser
|
|
X-Server wurde bis einschließlich &os;
|
|
Version 4.10 und 5.2 als Standard-X-Server installiert.
|
|
Die von &xorg; veröffentlichte Implementierung diente
|
|
nur als Referenzplattform, weil der verwendete Code
|
|
über die Jahre sehr ineffizient geworden war.</para>
|
|
|
|
<para>Anfang 2004 verließen einige Entwickler das
|
|
XFree86 Project, um fortan &xorg; direkt zu
|
|
unterstützen. Der Grund dafür waren
|
|
Meinungsverschiedenheiten über die Geschwindigkeit
|
|
der Weiterentwicklung, die zukünftige Ausrichtung des
|
|
Projekts sowie persönliche Differenzen. Zur gleichen
|
|
Zeit aktualisierte &xorg; ihren Quellcodebaum auf die
|
|
<application>&xfree86;-Version 4.3.99.903</application>,
|
|
brachte viele Änderungen, die bisher getrennt verwaltet
|
|
worden waren, in das Projekt ein und veröffentlichte
|
|
das Paket als <application>X11R6.7.0</application>, bevor
|
|
&xfree86; die Lizenz änderte. Ein seperates, aber
|
|
mit &xorg; verbundenes Projekt,
|
|
<ulink url="http://www.freedesktop.org">freedesktop.org</ulink>
|
|
(oder <literal>fd.o</literal>), arbeitet an einer
|
|
Überarbeitung des ursprünglichen &xfree86;-Codes,
|
|
um einerseits mehr Rechenarbeit an die Grafikkarten zu
|
|
übertragen (mit dem Ziel einer deutlich erhöhten
|
|
Geschwindigkeit) und andererseits den Code zu modularisieren
|
|
(mit dem Ziel einer verbesserten Wartung, einer schnelleren
|
|
Entwicklung sowie einer vereinfachten Konfiguration). &xorg;
|
|
plant, die Weiterentwicklungen von freedesktop.org in seine
|
|
zukünftigen Versionen zu integrieren.</para>
|
|
|
|
<para>Seit Juli 2004 ist &xorg; der Standard-X-Server für
|
|
&os.current;. Die &xfree86;-Ports
|
|
(<filename role="package">x11/XFree86-4</filename>)
|
|
verbleiben in der Ports-Sammlung und sind nach wie der
|
|
Standard für &os.stable;.</para>
|
|
|
|
<note>
|
|
<para>Der letzte Absatz beschreibt nur die
|
|
Standardeinstellung. Es ist nach wie vor möglich,
|
|
beide Implementierung unter &os; zu verwenden. Lesen
|
|
Sie dazu die Anweisungen im Eintrag vom 23.07.2004 in
|
|
der Datei <filename>/usr/ports/UPDATING</filename>.</para>
|
|
</note>
|
|
|
|
<warning>
|
|
<para>Beachten Sie, dass es derzeit nicht möglich ist,
|
|
Teile aus beiden Implementierungen parallel zu verwenden.
|
|
Sie müssen sich also für eine der beiden
|
|
Implementierungen entscheiden.</para>
|
|
</warning>
|
|
|
|
<note>
|
|
<para>Die folgenden Abschnitte beziehen sich zwar auf die
|
|
&xfree86;-Implementierung, sie sollten aber auch für
|
|
die &xorg;-Implementierung anwendbar sein. Die
|
|
Standardkonfigurationsdatei von &xorg; heißt
|
|
<filename>xorg.conf</filename>. Ist diese nicht
|
|
vorhanden, wird die Datei <filename>XF86Config</filename>
|
|
verwendet.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xorg-compatibility">
|
|
<para>Funktionieren meine Programme auch mit der
|
|
&xorg;-Implementierung noch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der &xorg;-Server basiert auf der gleichen
|
|
X11R6-Spezifikation, die auch &xfree86; verwendet, daher
|
|
sollte ein Großteil der Anwendungen problemlos
|
|
funktionieren. Einige selten verwendete Protokolle werden
|
|
allerdings nicht mehr unterstützt
|
|
(<literal>XIE</literal>, <literal>PEX</literal>, sowie
|
|
<literal>lbxproxy</literal>). Die beiden ersten Protokolle
|
|
wurden allerdings auch vom &xfree86;-Port nicht
|
|
unterstützt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xfree86-split">
|
|
<para>Warum hat sich das X Project überhaupt
|
|
aufgespalten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Frage ist nicht &os;-spezifisch. Es gibt zu
|
|
diesem Thema umfangreiche Postings in diversen
|
|
Mailinglist-Archiven. Suchen Sie daher über eine
|
|
Suchmaschine danach, statt diese Frage auf einer
|
|
&os;-Mailingliste zu stellen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="why-choose-xorg">
|
|
<para>Warum hat sich &os; für &xorg; als Standard-X-Server
|
|
entschieden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Entwickler von &xorg; geben an, dass sie neue
|
|
Versionen rascher veröffentlichen und neue Eigenschaften
|
|
schneller implementieren wollen. Außerdem verwenden
|
|
sie nach wie vor die traditionelle X-Lizenz, während
|
|
&xfree86; nun eine veränderte Version benutzt.</para>
|
|
|
|
<note>
|
|
<para>Diese Entscheidung wird nach wie vor heftig
|
|
diskutiert. Nur die Zeit wird zeigen, welche
|
|
Implementierung technisch überlegen ist. Jeder
|
|
&os;-Benutzer hat aber die freie Wahl zwischen den
|
|
beiden Implementierungen.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="running-X">
|
|
<para>Ich möchte X benutzen, was muss ich
|
|
tun?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der einfachste Weg ist der, dass Sie während
|
|
der Installation angeben, dass Sie X benutzen
|
|
möchten.</para>
|
|
|
|
<para>Wenn Sie X auf einem existierenden System installieren
|
|
wollen, sollten Sie den Meta-Port
|
|
<filename role="package">x11/xorg</filename> verwenden, der
|
|
alle benötigen Komponenten baut und installiert.</para>
|
|
|
|
<para>Lesen Sie danach die Dokumentation zu
|
|
&man.xorgconfig.1;, das Sie bei der Konfiguration des
|
|
X-Servers für Ihre Grafikkarte, Maus usw.
|
|
unterstützt. Bevorzugen Sie eine grafische
|
|
Konfigurationsoberfläche, sollten Sie sich
|
|
&man.xorgcfg.1; ansehen.</para>
|
|
|
|
<para>Weitere Informationen finden sich im Abschnitt <ulink
|
|
url="&url.books.handbook;/x11.html">X11</ulink> des
|
|
FreeBSD-Handbuchs.</para>
|
|
|
|
<para>Evtentuell möchten Sie sich auch den Xaccel-Server
|
|
ansehen. Nähere Details finden Sie im
|
|
Abschnitt über <link linkend="xig">Xi
|
|
Graphics</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>Das System läuft auf einer erhöhten
|
|
Sicherheitsstufe (<foreignphrase>securelevel</foreignphrase>).
|
|
X kann auf einer erhöhten Sicherheitsstufe nicht
|
|
gestartet werden, weil X dazu Schreibzugriff auf
|
|
<devicename>/dev/io</devicename> benötigt. Lesen Sie dazu
|
|
auch &man.init.8;.</para>
|
|
|
|
<para>Die Frage ist also eigentlich, was Sie anders machen
|
|
sollten. Sie haben zwei Möglichkeiten: Setzen Sie
|
|
die Sicherheitsstufe wieder zurück auf 0 (die
|
|
Einstellung erfolgt in der Regel in
|
|
<filename>/etc/rc.conf</filename>) oder starten Sie
|
|
&man.xdm.1; während des Starts des Systems, bevor die
|
|
Sicherheitsstufe erhöht wird.</para>
|
|
|
|
<para>Der Abschnitt <xref linkend="xdm-boot"> enthält
|
|
Informationen darüber, wie Sie &man.xdm.1; beim Start
|
|
des Systems starten können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="x-and-moused">
|
|
<para>Warum funktioniert meine Maus unter X nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie syscons (den Standard-Konsoltreiber)
|
|
benutzen, können Sie FreeBSD so konfigurieren,
|
|
dass 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/X11/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
|
|
neuer sowie für &xorg; 6.7.0 benutzt werden. Wenn
|
|
Sie eine ältere Versionen verwenden, muss als
|
|
<emphasis>Protocol</emphasis> hingegen
|
|
<emphasis>MouseSystems</emphasis> benutzt werden.</para>
|
|
|
|
<para>Verwenden Sie &xorg;, sollten Sie allerdings die Datei
|
|
<filename>/etc/X11/xorg.conf</filename> anpassen. Obwohl
|
|
aus Kompatibilitätsgründen auch das eben
|
|
beschriebene <emphasis>Section Pointer</emphasis> erlaubt
|
|
ist, sollte besser ein <emphasis>Section
|
|
<quote>InputDevice</quote></emphasis> ähnlich dem
|
|
folgenden verwendet werden:</para>
|
|
|
|
<programlisting>Section "InputDevice"
|
|
Option "Protocol" "SysMouse"
|
|
Option "Device" "/dev/sysmouse"
|
|
.....</programlisting>
|
|
|
|
<para>Einige Leute ziehen es vor, unter X
|
|
<devicename>/dev/mouse</devicename> zu benutzen. Hierzu
|
|
sollte <devicename>/dev/mouse</devicename> nach
|
|
<devicename>/dev/sysmouse</devicename> 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.</para>
|
|
|
|
<para>Dazu müssen Sie X nur mitteilen, dass Sie eine
|
|
Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen
|
|
<literal>Buttons 5</literal> sowie
|
|
<literal>ZAxisMapping 4 5</literal> in den Abschnitt
|
|
<quote>InputDevice</quote> der Datei
|
|
<filename>/etc/XF86Config</filename> ein. Das
|
|
Beispiel zeigt, wie ein solcher Abschnitt aussehen
|
|
könnte.</para>
|
|
|
|
<example>
|
|
<title>Abschnitt <quote>InputDevice</quote> für
|
|
Rad-Mäuse in den Konfigurationsdateien von
|
|
&xfree86; 4.X und &xorg;</title>
|
|
|
|
<programlisting>Section "InputDevice"
|
|
Identifier "Mouse1"
|
|
Driver "mouse"
|
|
Option "Protocol" "auto"
|
|
Option "Device" "/dev/sysmouse"
|
|
Option "Buttons" "5"
|
|
Option "ZAxisMapping" "4 5"
|
|
EndSection </programlisting>
|
|
</example>
|
|
|
|
<example>
|
|
<title><quote>.emacs</quote> Beispiel für
|
|
seitenweises Blättern mit einer
|
|
Rad-Maus (optional)</title>
|
|
|
|
<programlisting>;; wheel mouse
|
|
(global-set-key [mouse-4] 'scroll-down)
|
|
(global-set-key [mouse-5] 'scroll-up)</programlisting>
|
|
</example>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="no-remote-x11">
|
|
<para>X verbietet Verbindungen von entfernten Systemen!</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aus Sicherheitsgründen verbietet der X-Server
|
|
in der Voreinstellung Verbindungen von entfernten
|
|
Systemen.</para>
|
|
|
|
<para>Starten Sie den X-Server mit der Option
|
|
<option>-listen_tcp</option>, wenn Sie Verbindungen von
|
|
entfernten Systemen erlauben wollen:</para>
|
|
|
|
<screen>&prompt.user; <userinput>startx -listen_tcp</userinput></screen>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="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 Passwort
|
|
eingeben und anfangen, zu arbeiten (oder zu
|
|
spielen!).</para>
|
|
|
|
<para>Gelegentlich möchten Sie möglicherweise eine
|
|
weitere Sitzung starten wollen, vielleicht, um die
|
|
Dokumentation zu einem Programm, das Sie gerade benutzen,
|
|
einzusehen, oder, um Ihre Mails zu lesen, während Sie
|
|
auf das Ende einer FTP-Übertragung warten.
|
|
Drücken Sie einfach <keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F2</keycap>
|
|
</keycombo> (halten Sie die <keycap>Alt</keycap>-Taste
|
|
gedrückt und drücken Sie die Taste <keycap>F2</keycap>)
|
|
und Sie gelangen zur Anmelde-Aufforderung auf der zweiten
|
|
<quote>virtuellen Konsole</quote>! Wenn Sie zurück
|
|
zur ersten Sitzung möchten, drücken Sie
|
|
<keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F1</keycap>
|
|
</keycombo>.</para>
|
|
|
|
<para>Die Standardinstallation von FreeBSD bietet acht
|
|
aktivierte virtuelle Konsolen. Mit
|
|
<keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F1</keycap>
|
|
</keycombo>,
|
|
<keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F2</keycap>
|
|
</keycombo>,
|
|
<keycombo action="simul">
|
|
<keycap>Alt</keycap>
|
|
<keycap>F3</keycap>
|
|
</keycombo>
|
|
und so weiter wechseln Sie zwischen diesen
|
|
virtuellen Konsolen.</para>
|
|
|
|
<para>Um mehr von ihnen zu aktivieren, editieren Sie
|
|
<filename>/etc/ttys</filename> 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, dass Sie Pech haben, wenn Sie für
|
|
jede Ihrer 12 Alt-Funktionstasten eine
|
|
Anmeldeaufforderung haben möchten - Sie können
|
|
das nur für elf von ihnen tun, wenn Sie einen
|
|
X-Server auf derselben Maschine laufen lassen
|
|
möchten.</para>
|
|
</important>
|
|
|
|
<para>Der einfachste Weg, eine Konsole zu deaktivieren, ist,
|
|
sie auszuschalten. Wenn Sie zum Beispiel die oben
|
|
erwähnte volle Zuordnung aller 12 Terminals
|
|
hätten, müssten Sie die Einstellung
|
|
für das virtuelle Terminal 12 von:</para>
|
|
|
|
<programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting>
|
|
|
|
<para>in:</para>
|
|
|
|
<programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting>
|
|
|
|
<para>ändern.</para>
|
|
|
|
<para>Wenn Ihre Tastatur nur über zehn Funktionstasten
|
|
verfügt, bedeutet das:</para>
|
|
|
|
<programlisting>
|
|
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyva "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyvb "/usr/libexec/getty Pc" cons25 off secure
|
|
</programlisting>
|
|
|
|
<para>(Sie können diese Zeilen auch einfach
|
|
löschen.)</para>
|
|
|
|
<para>Nachdem Sie die Datei <filename>/etc/ttys</filename>
|
|
geändert haben, besteht der nächste Schritt
|
|
darin, sicherzustellen, dass 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>sh MAKEDEV vty12</userinput></screen>
|
|
|
|
<note>
|
|
<para>Wenn Sie FreeBSD 5.X oder neuer mit
|
|
<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, dass Sie das X
|
|
Window System vollständig herunterfahren, falls es
|
|
läuft. Falls Sie es nicht tun, könnte es sein,
|
|
dass sich ihr System nach der Eingabe des
|
|
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
|
|
&man.xdm.1; zu starten ist. Bei dem einen wird
|
|
<command>xdm</command> unter Nutzung des mitgelieferten
|
|
Beispiels über <filename>/etc/ttys</filename>
|
|
(&man.ttys.5;) gestartet, während beim zweiten Ansatz
|
|
<filename>rc.local</filename> (&man.rc.8;) oder das
|
|
Skript <filename>X.sh</filename> im Verzeichnis
|
|
<filename>/usr/local/etc/rc.d</filename> verwendet wird.
|
|
Beide Ansätze sind gleichwertig und der eine
|
|
wird in Situationen funktionieren, in denen der andere es
|
|
nicht tut. In beiden Fällen ist das Ergebnis das
|
|
gleiche: X liefert eine graphische
|
|
Anmeldeaufforderung.</para>
|
|
|
|
<para>Die ttys-Methode hat den Vorteil, dass
|
|
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 muss 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, dass der X Server
|
|
<devicename>/dev/ttyv3</devicename> nutzt. Die beiden Zahlen
|
|
weichen voneinander ab: Der X-Server beginnt die
|
|
Zählung der vty bei 1, während der
|
|
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, dass Dinge wie <command>xterm
|
|
-C</command> und <command>xconsole</command> nicht
|
|
funktionieren.</para>
|
|
|
|
<para>Das hängt damit zusammen, wie die Zugriffsrechte
|
|
für die Konsole standardmäßig gesetzt
|
|
sind. Auf einem Mehrbenutzersystem möchte man nicht
|
|
unbedingt, dass jeder Benutzer einfach auf die
|
|
Systemkonsole schreiben kann. Für Benutzer, die sich
|
|
auf einer Maschine direkt mit einem VTY anmelden,
|
|
existiert die Datei &man.fbtab.5;, um
|
|
derartige Probleme zu lösen.</para>
|
|
|
|
<para>In Kürze: sorgen Sie dafür, dass sich
|
|
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, dass wer auch immer sich auf
|
|
<devicename>/dev/ttyv0</devicename> anmeldet, auch die Konsole
|
|
besitzt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="xfree86-root">
|
|
<para>Früher konnte ich &xfree86; als normaler User
|
|
starten. Warum sagt mir das System jetzt, dass ich
|
|
<username>root</username> sein muss?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Alle X-Server müssen mit der ID
|
|
<username>root</username> laufen, um direkt auf die
|
|
Videohardware zuzugreifen. Die älteren Versionen von
|
|
&xfree86; (bis einschließlich 3.3.6) installierten
|
|
alle mitgelieferten Server so, dass 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
|
|
Versionen 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,
|
|
dass der Treiber fälschlicherweise
|
|
Synchronisationsprobleme meldet und Sie in den
|
|
Kernelmeldungen folgendes sehen:</para>
|
|
|
|
<programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting>
|
|
|
|
<para>und Ihre Maus nicht richtig zu funktionieren
|
|
scheint.</para>
|
|
|
|
<para>Falls das passiert, deaktivieren Sie den Code zur
|
|
Überprüfung der Synchronisation, indem Sie die
|
|
Treiberangaben für den PS/2-Maustreiber auf 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, dass einige Modelle der
|
|
PS/2-Mäuse von MouseSystems nur funktionieren, wenn
|
|
sie im <quote>hochauflösenden</quote> Modus betrieben
|
|
werden. Andernfalls springt der Mauszeiger sehr oft in
|
|
die linke obere Ecke des Bildschirms.</para>
|
|
|
|
<para>Das Flag 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>Wie kann ich einen anderen X-Server installieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&os;-Versionen vor 5.3 verwendeten
|
|
<application>&xfree86; 4.X</application> als
|
|
Standard-X-Server. Seither wird
|
|
<application>&xorg;</application> als
|
|
Standard-X-Server verwendet. Wenn Sie einen anderen
|
|
X-Server installieren wollen,
|
|
müssen Sie die folgende Zeile in Ihre
|
|
<filename>/etc/make.conf</filename> einfügen. (Existiert
|
|
die Datei nicht, müssen Sie sie zuvor anlegen.)</para>
|
|
|
|
<programlisting>X_WINDOW_SYSTEM= xorg</programlisting>
|
|
|
|
<para>Diese Variable kann die Werte <literal>xorg</literal>,
|
|
<literal>xfree86-4</literal>, oder
|
|
<literal>xfree86-3</literal> annehmen.</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>&os; erlaubt die Anzeige von
|
|
<quote>Splash-Screens</quote> während des
|
|
Bootvorganges. Die Splash-Screens dürfen
|
|
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-kld-Moduls während des
|
|
Bootens.</para>
|
|
|
|
<para>Um einen Splash-Screen zu benutzen, müssen Sie die
|
|
Startdateien, die den Bootprozess von &os; kontrollieren,
|
|
modifizieren.</para>
|
|
|
|
<para>Dazu müssen Sie die Datei
|
|
<filename>/boot/loader.rc</filename> erstellen, die
|
|
die folgenden Zeilen enthält:</para>
|
|
|
|
<programlisting>include /boot/loader.4th
|
|
start</programlisting>
|
|
|
|
<para>Außerdem benötigen Sie die 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, dass 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>
|
|
|
|
<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 &windows;-Tasten unter X
|
|
benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja, Sie müssen lediglich mit &man.xmodmap.1;
|
|
festlegen, welche Aktion diese Tasten auslösen
|
|
sollen.</para>
|
|
|
|
<para>Unter der Annahme, dass alle <quote>&windows;</quote>
|
|
Tastaturen dem Standard entsprechen, lauten die Keycodes
|
|
für die drei Tasten</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>115 - &windows;-Taste zwischen den
|
|
<keycap>Alt</keycap>- und
|
|
<keycap>Strg</keycap>-Tasten auf der linken Seite</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>116 - &windows;-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
|
|
&windows;-Taste ein Komma.</para>
|
|
|
|
<screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen>
|
|
|
|
<para>Sie werden Ihren Window Manager wahrscheinlich neu
|
|
starten müssen, damit diese Einstellung wirksam
|
|
wird.</para>
|
|
|
|
<para>Um die neue Belegung der &windows;-Tasten automatisch
|
|
beim Start von X zu erhalten, könnten Sie
|
|
entsprechende <command>xmodmap</command> Anweisungen in
|
|
ihre <filename>~/.xinitrc</filename> einfügen. Die
|
|
bevorzugte Variante ist aber, eine Datei mit dem Namen
|
|
<filename>~/.xmodmaprc</filename> zu erzeugen, die nur die
|
|
Parameter für den Aufruf von
|
|
<command>xmodmap</command> enthält. Wenn Sie mehrere
|
|
Tasten umdefinieren wollen, muss jede Definition in
|
|
eine eigene Zeile gesetzt werden. Weiterhin müssen
|
|
Sie in Ihrer <filename>~/.xinitrc</filename> noch die
|
|
folgende Zeile einfügen:</para>
|
|
|
|
<programlisting>xmodmap $HOME/.xmodmaprc</programlisting>
|
|
|
|
<para>Sie könnten die drei Tasten zum Beispiel mit den
|
|
Funktionen <keycap>F13</keycap>, <keycap>F14</keycap> und
|
|
<keycap>F15</keycap> belegen. Dadurch ist es sehr
|
|
einfach, diese Tasten mit nützlichen Funktionen eines
|
|
Programmes oder Desktops zu verknüpfen.</para>
|
|
|
|
<para>Falls Sie das auch tun wollen, sollten in Ihrer
|
|
<filename>~/.xmodmaprc</filename> die folgenden
|
|
Anweisungen stehen.</para>
|
|
|
|
<programlisting>
|
|
keycode 115 = F13
|
|
keycode 116 = F14
|
|
keycode 117 = F15
|
|
</programlisting>
|
|
|
|
<para>Falls Sie zum Beispiel <command>fvwm2</command>
|
|
benutzen, können Sie ihn so einstellen, dass
|
|
<keycap>F13</keycap> das Fenster unter dem Mauszeiger
|
|
minimiert bzw. maximiert. <keycap>F14</keycap> holt das
|
|
Fenster unter dem Mauszeiger in den Vordergrund bzw.
|
|
ganz nach hinten, wenn es bereits im Vordergrund ist.
|
|
<keycap>F15</keycap> öffnet das Arbeitsplatz
|
|
(Programme) Menü, auch wenn der Cursor nicht auf den
|
|
Hintergrund zeigt. Dies ist extrem praktisch, wenn der
|
|
gesamte Bildschirm von Fenster belegt wird; als kleiner
|
|
Bonus gibt es sogar einen Zusammenhang zwischen dem Symbol
|
|
auf der Taste und der durchgeführten Aktion.</para>
|
|
|
|
<para>Dieses Verhalten kann man mit den folgenden
|
|
Einträgen in der Datei <filename>~/.fvwmrc</filename>
|
|
erhalten:</para>
|
|
|
|
<programlisting>
|
|
Key F13 FTIWS A Iconify
|
|
Key F14 FTIWS A RaiseLower
|
|
Key F15 A A Menu Workplace Nop
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="x-3d-acceleration">
|
|
<para>Wird 3D Hardware Beschleunigung für &opengl;
|
|
unterstützt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Dies hängt davon ab, welche Version von &xfree86;
|
|
oder &xorg; und welche Grafikkarte Sie verwenden.
|
|
Wenn Sie eine Karte mit NVIDIA-Chipsatz besitzen, benutzen
|
|
Sie die binären Treiber für FreeBSD, die Sie auf der
|
|
<ulink url="http://www.nvidia.com/content/drivers/drivers.asp">
|
|
Drivers-Seite</ulink> von NVIDEA finden.
|
|
Wenn Sie &xfree86;-4 oder &xorg; mit Grafikkarten wie
|
|
der 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, dass
|
|
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="&url.books.handbook;/network-diskless.html">Handbucheintrag
|
|
über den plattenlosen Betrieb</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 Abschnitt
|
|
<ulink url="&url.books.handbook;/network-routing.html">
|
|
Gateways und Routen</ulink> des Handbuchkapitels
|
|
<ulink url="&url.books.handbook;/advanced-networking.html">
|
|
Weiterführende Netzwerkthemen</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="win95-connection">
|
|
<para>Kann ich meine &windows;-Maschine über 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="&url.books.handbook;/userppp.html">Abschnitt
|
|
User-PPP des Handbuchs</ulink>.</para>
|
|
|
|
<para>Wenn Sie Kernel-Mode PPP verwenden oder ihre
|
|
Verbindung zum Internet über Ethernet erstellt
|
|
wurde, müssen Sie &man.natd.8; verwenden. Weitere
|
|
Informationen dazu finden Sie im <ulink
|
|
url="&url.books.handbook;/network-natd.html">natd-Abschnitt</ulink>
|
|
des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="slip-ppp-support">
|
|
<para>Unterstützt 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="&url.books.handbook;/ppp-and-slip.html">PPP und SLIP</ulink>
|
|
des Handbuchs beschrieben.</para>
|
|
|
|
<para>Falls Sie nur durch einen <quote>Shell-Account</quote>
|
|
Zugang zum Internet haben, sehen Sie sich einmal das
|
|
Package <filename role="package">net/slirp</filename> an.
|
|
Es kann Ihnen (eingeschränkten) Zugang zu Diensten
|
|
wie ftp und http direkt von Ihrer lokalen Maschine aus
|
|
ermöglichen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="natd">
|
|
<para>Unterstützt 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="&url.books.handbook;/userppp.html">User-PPP Abschnitt</ulink>
|
|
des Handbuchs. Wollen Sie NAT über eine andere
|
|
Verbindung einsetzen, lesen Sie bitte den
|
|
<ulink url="&url.books.handbook;/network-natd.html">NATD 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="&url.books.handbook;/network-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
|
|
Anschluss zu benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Wenn Sie die anderen Anschlüsse benutzen
|
|
möchten, müssen Sie einen zusätzlichen
|
|
Parameter in der &man.ifconfig.8;-Befehlszeile
|
|
spezifizieren. Der Standard-Anschluss ist
|
|
<literal>link0</literal>. Um den AUI-Anschluss
|
|
anstelle des BNC-Anschlusses zu verwenden, benutzen Sie
|
|
<literal>link2</literal>. Diese Angaben sollten durch
|
|
Benutzung der Variablen ifconfig_* in der Datei
|
|
<filename>/etc/rc.conf</filename> spezifiziert
|
|
werden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nfs">
|
|
<para>Warum habe ich Probleme mit NFS und 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="&url.books.handbook;/network-nfs.html">im
|
|
Handbucheintrag zu NFS</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="nfs-linux">
|
|
<para>Warum kann ich per NFS nicht von einer &linux;-Maschine
|
|
mounten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Einige Versionen des NFS-Codes von &linux; akzeptieren
|
|
Mount-Requests nur von einem privilegierten Port.
|
|
Versuchen Sie</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, dass Sie den Aufbau der &man.exports.5; nicht
|
|
oder nicht richtig verstanden haben. Überprüfen
|
|
Sie Ihre &man.exports.5; und lesen das Kapitel <ulink
|
|
url="&url.books.handbook;/network-nfs.html">NFS</ulink> im
|
|
Handbuch, speziell den Abschnitt <ulink
|
|
url="&url.books.handbook;/network-nfs.html#CONFIGURING-NFS">
|
|
Konfiguration</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nextstep">
|
|
<para>Warum habe ich Probleme, per PPP mit NeXTStep-Maschinen zu
|
|
kommunizieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Versuchen Sie, die TCP-Erweiterung in
|
|
<filename>/etc/rc.conf</filename> zu deaktivieren, indem
|
|
Sie die folgende Variable auf 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 muss ich für Hosts auf meiner Site den
|
|
FQDN benutzen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sie werden wahrscheinlich feststellen, dass 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> muss 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, dass 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 Kapitel <ulink
|
|
url="&url.books.handbook;/firewalls.html">Firewalls</ulink>
|
|
des Handbuchs.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ipfw-overhead">
|
|
<para>Wie viele Einbußen zieht IPFW nach sich?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Diese Frage wird im Handbuch-Kapitel <ulink
|
|
url="&url.books.handbook;/firewalls.html">Firewalls</ulink> im
|
|
Abschnitt <ulink
|
|
url="&url.books.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, dass Sie Network
|
|
Address Translation (NAT) brauchen und nicht die einfache
|
|
Weiterleitung von Pakete. Die <quote>fwd</quote>
|
|
Anweisung macht genau das, was da steht: Sie leitet
|
|
Pakete weiter; die Daten in den Paketen werden aber nicht
|
|
verändert. Ein Beispiel:</para>
|
|
|
|
<screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
|
|
|
|
<para>Wenn ein Paket mit dem Ziel
|
|
<replaceable>foo</replaceable> die Maschine mit dieser
|
|
Regel erreicht, wird das Paket an
|
|
<replaceable>10.0.0.1</replaceable> weitergeleitet; die
|
|
Zieladresse im Paket lautet aber immer noch
|
|
<replaceable>foo</replaceable>! Die Zieladresse wird
|
|
<emphasis>nicht</emphasis> in
|
|
<replaceable>10.0.0.1</replaceable> geändert. Die
|
|
meisten Rechner werden allerdings Pakete verwerfen, wenn
|
|
die Zieladresse des Paketes nicht mit der Adresse des
|
|
Rechners übereinstimmt. Das ist der Grund, warum
|
|
eine <quote>fwd</quote> Regel oft nicht den Effekt hat,
|
|
den der Benutzer wollte. Dieses Verhalten ist aber kein
|
|
Fehler, sondern erwünscht.</para>
|
|
|
|
<para>Wenn Sie einen Dienst auf eine andere Maschine
|
|
umleiten wollen, sollten Sie sich den <link
|
|
linkend="service-redirect">FAQ-Eintrag über die
|
|
Umleitung von Diensten</link> oder die Online-Hilfe zu
|
|
&man.natd.8; durchlesen. Auch in der <ulink
|
|
url="&url.base;/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, dass 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 als
|
|
Teil von &man.ipfw.4; in FreeBSD integriert.
|
|
<ulink
|
|
url="http://www.csl.sony.co.jp/person/kjc/programs.html">ALTQ</ulink>
|
|
ist für FreeBSD 4.X kostenlos verfügbar und
|
|
seit FreeBSD 5.X als Bestandteil von &man.pf.4; im
|
|
Basissystem enthalten. Bei Bandwidth Manager von <ulink
|
|
url="http://www.etinc.com/">Emerging Technologies</ulink>
|
|
handelt es sich hingegen um ein kommerzielles Produkt.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bpf-not-configured">
|
|
<para>Warum erhalte ich die Meldung <errorname>/dev/bpf0:
|
|
device not configured</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Berkeley-Paket-Filter (&man.bpf.4;) muss in
|
|
den Kernel eingebunden werden, bevor er von einem
|
|
Programme aus genutzt werden kann. Fügen Sie
|
|
folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
|
|
erstellen Sie einen neuen Kernel:</para>
|
|
|
|
<programlisting>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="&url.books.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,
|
|
dass irgend jemand versucht, ihn zur Generierung von
|
|
zu vielen ICMP oder TCP reset (RST) Antworten zu
|
|
provozieren. ICMP Antworten sind oft das Ergebnis von
|
|
Verbindungsversuchen zu unbenutzten UDP Ports. TCP Resets
|
|
werden generiert, wenn jemand versucht, eine Verbindung zu
|
|
einem ungenutzten TCP Port aufzubauen. Die Meldungen
|
|
können unter anderem durch die folgenden Ereignisse
|
|
ausgelöst werden:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Denial of Service (DoS) Angriffe mit der
|
|
Brechstange (und nicht durch Angriffe mit einzelnen
|
|
Paketen, die gezielt eine Schwachstelle des Systems
|
|
ausnutzen sollen).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Port Scans, bei denen versucht wird, Verbindungen
|
|
zu einer großen Anzahl von Ports (und nicht nur
|
|
einigen bekannten Ports) herzustellen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Die erste Zahl gibt an, wie viele Pakete vom Kernel
|
|
ohne das Limit versendet worden wären; die zweite
|
|
Zahl gibt das Limit an. Sie können das Limit mit
|
|
Hilfe der sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim</varname> einstellen. Im
|
|
Beispiel wird das Limit auf <literal>300</literal> Pakete
|
|
pro Sekunde gesetzt:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen>
|
|
|
|
<para>Wenn Sie zwar die Begrenzung benutzen möchten, aber
|
|
die Meldungen nicht in Ihren Logfiles sehen möchten,
|
|
können Sie die Meldungen mit der sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim_output</varname>
|
|
abschalten:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen>
|
|
|
|
<para>Falls Sie die Begrenzung ganz abschalten wollen,
|
|
können Sie die Sysctl-Variable
|
|
<varname>net.inet.icmp.icmplim</varname> auf
|
|
<literal>0</literal>. Wir raten Ihnen aus den oben
|
|
genannten Gründen dringend von diesem Schritt
|
|
ab.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="unknown-hw-addr-format">
|
|
<para>Was bedeutet die Meldung <errorname>arp: unknown
|
|
hardware address format</errorname>?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ein Gerät im lokalen Ethernet verwendet eine
|
|
MAC-Adresse in einem Format, das FreeBSD nicht kennt. Der
|
|
wahrscheinlichste Grund ist, dass jemand Experimente
|
|
mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr
|
|
häufig in Netzwerken mit Cable Modems auf. Die
|
|
Meldung ist harmlos und sollte die Performance Ihres
|
|
Systems nicht negativ beeinflussen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="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="&url.books.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 Prozess kann innerhalb der
|
|
Wände <quote>spielen</quote>, das heißt nichts,
|
|
was der Prozess in Bezug auf die Ausführung von
|
|
Code tut, kann die Wände durchbrechen. Es ist
|
|
also keine 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 Hilfeseiten &man.security.7; und &man.named.8; 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 Prozess, der sich innerhalb einer
|
|
simulierten Maschine befindet. Dies ist etwas
|
|
fortgeschrittener; grundsätzlich bedeutet es,
|
|
dass jemand, der in der Lage ist, in einen
|
|
Prozess einzudringen, annehmen könnte, er
|
|
könnte weiter in die Maschine eindringen,
|
|
tatsächlich aber nur in eine Simulation der
|
|
Maschine einbricht und keine echten Daten
|
|
verändert.</para>
|
|
|
|
<para>Der gängigste Weg, dies zu erreichen, ist, in
|
|
einem Unterverzeichnis eine simulierte Umgebung zu
|
|
erstellen und den Prozess in diesem Verzeichnis
|
|
mit chroot auszuführen (für diesen
|
|
Prozess ist <filename>/</filename> dieses
|
|
Verzeichnis und nicht das echte <filename>/</filename>
|
|
des Systems).</para>
|
|
|
|
<para>Eine weitere gebräuchliche Anwendung ist, ein
|
|
untergeordnetes Dateisystem nur mit Leserechten zu
|
|
mounten, und dann darüber eine Dateisystemebene
|
|
zu erstellen, die einem Prozess einen scheinbar
|
|
schreibberechtigten Blick in das Dateisystem gibt.
|
|
Der Prozess mag glauben, dass er in der Lage
|
|
ist, diese Dateien zu verändern, aber nur der
|
|
Prozess sieht diesen Effekt - andere Prozess
|
|
im System natürlich nicht.</para>
|
|
|
|
<para>Es wird versucht, diese Art von Sandkasten so
|
|
transparent zu gestalten, dass der Benutzer (oder
|
|
Hacker) nicht merkt, dass er sich in ihm
|
|
befindet.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Ein &unix; System implementiert zwei Arten von
|
|
Sandkästen - eine auf Prozessebene und die andere auf
|
|
der Ebene der Benutzerkennung.</para>
|
|
|
|
<para>Jeder Prozess auf einem &unix; System ist komplett von
|
|
allen anderen Prozessen abgeschirmt. Ein Prozess
|
|
kann den Adressraum eines anderen Prozesses nicht
|
|
modifizieren. Das ist anders als bei &windows;, wo ein
|
|
Prozess leicht den Adressraum eines anderen
|
|
überschreiben kann, was zu einem Absturz
|
|
führt.</para>
|
|
|
|
<para>Ein Prozess gehört einer bestimmten
|
|
Benutzerkennung. Falls die Benutzerkennung nicht die von
|
|
<username>root</username> ist, dient sie dazu, den
|
|
Prozess von Prozessen anderer Benutzer abzuschirmen.
|
|
Die Benutzerkennung wird außerdem dazu genutzt,
|
|
Daten auf der Festplatte abzuschirmen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="securelevel">
|
|
<para>Was sind die Sicherheitsstufen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Sicherheitsstufen sind ein Sicherheitsmechanismus,
|
|
der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe
|
|
einen positiven Wert hat, verhindert der Kernel die
|
|
Ausführung bestimmter Tätigkeiten; nicht einmal
|
|
der Super-User (also <username>root</username>) darf sie
|
|
durchführen. Zurzeit können über die
|
|
Sicherheitsstufen unter anderem die folgenden
|
|
Tätigkeiten geblockt werden:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ä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 muss (z.B. ein
|
|
<maketarget>installworld</maketarget> oder eine
|
|
Änderung der Systemzeit), dann müssen Sie die
|
|
entsprechende Einstellung in
|
|
<filename>/etc/rc.conf</filename> ändern (suchen Sie
|
|
nach den Variablen <varname>kern_securelevel</varname> und
|
|
<varname>kern_securelevel_enable</varname>) und das System
|
|
rebooten.</para>
|
|
|
|
<para>Weitere Informationen über die Sicherheitsstufen
|
|
und genaue Informationen, was die Einstellungen bewirken,
|
|
können Sie der Online-Hilfe &man.init.8;
|
|
entnehmen.</para>
|
|
|
|
<warning>
|
|
<para>Die Sicherheitsstufen sind kein magischer
|
|
Zauberstab, der alle Ihre Problem löst; es gibt
|
|
viele bekannte Probleme. Und in der Mehrzahl der
|
|
Fälle vermitteln sie ein falsches Gefühl der
|
|
Sicherheit.</para>
|
|
|
|
<para>Eines der größten Probleme ist, dass
|
|
alle für den Start des Systems benötigten
|
|
Dateien geschützt sein müssen, damit die
|
|
Sicherheitsstufe effektiv sein können. Wenn es ein
|
|
Angreifer schafft, seine eigenen Programme
|
|
ausführen zu lassen, bevor die Sicherheitsstufe
|
|
gesetzt wird (was leider erst gegen Ende des
|
|
Startvorgangs erfolgen kann, da viele der notwendigen
|
|
Tätigkeiten für den Systemstart nicht mit
|
|
einer gesetzten Sicherheitsstufe möglich
|
|
wären), werden die Schutzmechanismen ausgehebelt.
|
|
Es ist zwar nicht technisch unmöglich, alle beim
|
|
Systemstart genutzten Dateien zu schützen;
|
|
allerdings würde in einem so geschützten
|
|
System die Administration zu einem Alptraum, da man das
|
|
System neu starten oder in den Single-User Modus bringen
|
|
müsste, um eine Konfigurationsdatei
|
|
ändern zu können.</para>
|
|
|
|
<para>Dieses und andere Probleme werden häufig auf
|
|
den Mailinglisten diskutiert, speziell auf auf der
|
|
Mailingliste &a.security;. Das <ulink
|
|
url="&url.base;/search/index.html"> verfügbare Archiv</ulink>
|
|
enthält ausgiebige Diskussionen. Einige Benutzer
|
|
sind guter Hoffnung, dass das System der Sicherheitsstufen
|
|
bald durch ein besser konfigurierbares System ersetzt
|
|
wird, aber es gibt noch keine definitiven Aussagen.</para>
|
|
|
|
<para>Fühlen Sie sich gewarnt.</para>
|
|
</warning>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="extra-named-port">
|
|
<para>Wieso wartet BIND (<command>named</command>) sowohl auf Port
|
|
53 als auch auf einem hohen Port auf Anfragen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD benutzt 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 Passwort hat; Sie
|
|
müssen sich also als <username>root</username>
|
|
anmelden und ein Passwort für
|
|
<username>toor</username> setzen, wenn Sie diesen Account
|
|
benutzen wollen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="suidperl">
|
|
<para>Warum funktioniert <command>suidperl</command> nicht
|
|
richtig?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Aus Sicherheitsgründen wird <command>suidperl</command>
|
|
standardmäßig 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, dass <command>suidperl</command>
|
|
auch beim Update via Sourcecode das SUID-Bit erhält,
|
|
müssen Sie in <filename>/etc/make.conf</filename> die
|
|
Zeile <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="&url.books.handbook;/ppp-and-slip.html#USERPPP">Abschnitt zu
|
|
PPP im Handbuch</ulink> lesen. Aktivieren Sie das Logging
|
|
mit folgendem Befehl:</para>
|
|
|
|
<programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting>
|
|
|
|
<para>Dieser Befehl kann an der Eingabeaufforderung von
|
|
&man.ppp.8; eingegeben oder in die Konfigurationsdatei
|
|
<filename>/etc/ppp/ppp.conf</filename> eingetragen werden
|
|
(der beste Ort hierfür ist der Anfang des Abschnitts
|
|
<literal>default</literal>. Stellen Sie sicher, dass
|
|
die Datei <filename>/etc/syslog.conf</filename> die
|
|
folgenden Zeilen enthält:</para>
|
|
|
|
<programlisting>
|
|
!ppp
|
|
*.* /var/log/ppp.log
|
|
</programlisting>
|
|
|
|
<para>und, dass 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>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-hangs">
|
|
<para>Warum hängt sich ppp auf, wenn ich es
|
|
benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Das liegt meistens daran, dass Ihr Rechnername
|
|
nicht aufgelöst werden kann. Um dieses Problem zu
|
|
lösen, müssen Sie sicherstellen, dass die
|
|
Datei <filename>/etc/hosts</filename> von Ihrem Resolver
|
|
zuerst genutzt wird. Dazu muss in der Datei
|
|
<filename>/etc/host.conf</filename> der Eintrag
|
|
<literal>hosts</literal> an die erste Stelle gesetzt
|
|
werden. Erstellen Sie dann einfach für Ihren lokalen
|
|
Rechner einen Eintrag in der Datei
|
|
<filename>/etc/hosts</filename>. Falls Sie kein lokales
|
|
Netzwerk besitzen, ändern Sie die
|
|
<hostid>localhost</hostid>-Zeile:</para>
|
|
|
|
<programlisting>127.0.0.1 foo.example.com foo localhost</programlisting>
|
|
|
|
<para>Andernfalls fügen Sie einfach einen weiteren
|
|
Eintrag für Ihren lokalen Rechner hinzu. Weitere
|
|
Details finden Sie in den betreffenden
|
|
Manualpages.</para>
|
|
|
|
<para>Wenn Sie fertig sind sollten Sie <command>ping -c1
|
|
`hostname`</command> erfolgreich ausführen
|
|
können.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nodial-auto">
|
|
<para>Warum wählt &man.ppp.8; im
|
|
<literal>-auto</literal>-Modus nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Überprüfen Sie zunächst, ob Sie einen
|
|
Standard-Gateway eingestellt haben. Wenn Sie
|
|
<command>netstat -rn</command> ausführen, sollten Sie
|
|
zwei Einträge ähnlich den folgenden
|
|
sehen:</para>
|
|
|
|
<programlisting>
|
|
Destination Gateway Flags Refs Use Netif Expire
|
|
default 10.0.0.2 UGSc 0 0 tun0
|
|
10.0.0.2 10.0.0.1 UH 0 0 tun0
|
|
</programlisting>
|
|
|
|
<para>Hier wird angenommen, dass Sie die Adressen aus
|
|
dem Handbuch, der Manualpage oder aus der Datei
|
|
ppp.conf.sample benutzt haben. Falls Sie keine
|
|
Standardroute haben, kann es daran liegen, dass Sie
|
|
eine alte Version von &man.ppp.8; benutzen, die das Wort
|
|
<literal>HISADDR</literal> in der Datei ppp.conf nicht
|
|
versteht.</para>
|
|
|
|
<para>Ein weiterer Grund dafür, dass die Zeile
|
|
für die Standardroute fehlt, könnte der sein,
|
|
dass Sie fälschlicherweise eine Standardroute in
|
|
der Datei <filename>/etc/rc.conf</filename> eingetragen
|
|
und die folgende Zeile in <filename>ppp.conf</filename>
|
|
ausgelassen haben:</para>
|
|
|
|
<programlisting>delete ALL</programlisting>
|
|
|
|
<para>Lesen Sie in diesem Fall den Abschnitt <ulink
|
|
url="&url.books.handbook;/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="&url.books.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, dass zu viele LQR-Pakete
|
|
zwischen Ihrer Maschine und dem verbundenen Rechner
|
|
verloren gehen. ppp folgert daraus, dass 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 Anschluss die Option
|
|
(Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
|
|
ist, kann es manchmal vorkommen, dass Ihr Modem
|
|
auflegt, weil es (fälschlicherweise) annimmt,
|
|
dass es das Trägersignal verloren hat.</para>
|
|
|
|
<para>Bei den meisten Modems gibt es eine
|
|
Einstellmöglichkeit, um anzugeben, wie tolerant es
|
|
gegenüber vorübergehenden Verlusten des
|
|
Trägersignals sein soll. Bei einem 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 muss
|
|
festgestellt werden, welche Seite der Verbindung
|
|
hängt.</para>
|
|
|
|
<para>Wenn Sie ein externes Modem benutzen, können Sie
|
|
einfach versuchen, &man.ping.8; zu benutzen, um zu sehen,
|
|
ob die <acronym>TD</acronym>-Anzeige aufleuchtet, wenn Sie
|
|
Daten übertragen. Falls sie aufleuchtet (und die
|
|
<acronym>RD</acronym>-Anzeige nicht), liegt das Problem am
|
|
anderen Ende. Falls <acronym>TD</acronym> nicht
|
|
aufleuchtet, handelt es sich um ein lokales Problem. Bei
|
|
einem internen Modem müssen Sie den Befehl
|
|
<literal>set server</literal> in Ihrer Datei
|
|
<filename>ppp.conf</filename> benutzen. Stellen Sie
|
|
über &man.pppctl.8; eine Verbindung zu &man.ppp.8;
|
|
her, wenn die Verbindung hängt. Falls Ihre
|
|
Netzwerkverbindung plötzlich wieder funktioniert (ppp
|
|
wurde durch die Aktivität auf dem Diagnose-Socket
|
|
wiederbelebt) oder Sie keine Verbindung bekommen
|
|
(vorausgesetzt, der Befehl <literal>set socket</literal>
|
|
wurde beim Start erfolgreich ausgeführt), handelt es
|
|
sich um ein lokales Problem. Falls Sie eine Verbindung
|
|
bekommen und die externe Verbindung weiterhin hängt,
|
|
aktivieren Sie lokales asynchrones Logging mit
|
|
<literal>set log local async</literal> und benutzen Sie
|
|
&man.ping.8; von einem anderen Fenster oder Bildschirm
|
|
aus, um die externe Verbindung zu benutzen. Das
|
|
asynchrone Logging zeigt Ihnen, welche Daten über die
|
|
Verbindung gesendet und empfangen werden. Falls Daten
|
|
hinausgehen, aber nicht zurückkommen, handelt es sich
|
|
um ein externes Problem.</para>
|
|
|
|
<para>Wenn Sie festgestellt haben, ob es sich um ein lokales
|
|
oder um ein externes Problem handelt, haben Sie zwei
|
|
Möglichkeiten:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Wenn es ein externes Problem ist, lesen Sie bitte bei
|
|
<xref linkend="ppp-remote-not-responding"> weiter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Handelt es sich um ein lokales Problem, lesen Sie bitte
|
|
<xref linkend="ppp-hung">.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-remote-not-responding">
|
|
<para>Was kann ich machen, wenn die Gegenstelle nicht
|
|
antwortet?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Hier können Sie wenig tun. Die meisten ISPs
|
|
werden ablehnen, Ihnen zu helfen, wenn Sie kein
|
|
Betriebssystem von 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, dass Sie user-PPP
|
|
benutzen...</para>
|
|
|
|
<para>Versuchen Sie zunächst, jegliche Datenkompression
|
|
auszuschalten, indem Sie folgendes zu Ihrer Konfiguration
|
|
hinzufügen:</para>
|
|
|
|
<programlisting>
|
|
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
|
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
|
</programlisting>
|
|
|
|
<para>Stellen Sie nun wieder eine Verbindung her, um
|
|
festzustellen, ob sich etwas geändert hat. Falls es
|
|
nun besser läuft oder falls das Problem
|
|
vollständig behoben ist, versuchen Sie durch
|
|
schrittweises Ändern der Einstellungen festzustellen,
|
|
welche Einstellung den Unterschied bewirkt. Hierdurch
|
|
erhalten Sie schlüssige Fakten für ein Gespräch
|
|
mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
|
|
dass Sie kein 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 Prozessnummer 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, dass der Partner das Line Control Protocol
|
|
(LCP) initiiert. Viele ISPs starten nicht mit der
|
|
Initiierung, sondern erwarten dies vom Client. Benutzen
|
|
Sie die folgende Zeile, um &man.ppp.8; zu veranlassen, LCP
|
|
zu initiieren:</para>
|
|
|
|
<programlisting>set openmode active</programlisting>
|
|
|
|
<note>
|
|
<para>Für gewöhnlich schadet es nicht, wenn
|
|
beide Seiten versuchen, Verhandlungen einzuleiten.
|
|
Deshalb ist openmode nun standardmäßig aktiv.
|
|
Im nächsten Abschnitt wird allerdings erklärt,
|
|
in welchen Fällen es <emphasis>doch</emphasis>
|
|
schadet.</para>
|
|
</note>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-same-magic">
|
|
<para>Ich sehe ständig Fehlermeldungen über
|
|
gleiche <quote>Magic Numbers</quote> Was heißt
|
|
das?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nach dem Aufbau einer Verbindung kann es sein,
|
|
dass Sie in der Logdatei gelegentlich Meldungen mit
|
|
dem Hinweis <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, dass dies bei der
|
|
Benutzung von slirp regelmäßig auftritt. Der
|
|
Grund hierfür ist, dass 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, dass, wenn der Partner
|
|
versucht, die gleiche <quote>Magic Number</quote> auszuhandeln,
|
|
ein NAK zurückgesendet und eine neue "Magic Number"
|
|
gewählt werden soll. Während der Server das
|
|
ECHO eingeschaltet hat, sendet der Client LCP Pakete,
|
|
sieht die gleiche <quote>Magic Number</quote> im reflektierten
|
|
Paket und erzeugt ein NAK. Er sieht auch das reflektierte NAK
|
|
(was bedeutet, dass &man.ppp.8; seine "Magic Number"
|
|
ändern muss). Hierdurch wird eine Vielzahl von
|
|
Änderungen der <quote>Magic Number</quote> hervorgerufen,
|
|
die sich allesamt im tty-Puffer des Servers ansammeln. Sobald
|
|
&man.ppp.8; auf dem Server startet, wird es mit
|
|
Änderungen der <quote>Magic Number</quote> überflutet
|
|
und entscheidet, dass es sich zur Genüge mit den
|
|
LCP-Verhandlungen beschäftigt hat und gibt auf. Und
|
|
während sich der Client noch darüber freut,
|
|
dass er keine weiteren Reflexionen sieht, wird ihm
|
|
gemeldet, dass der Server auflegt.</para>
|
|
|
|
<para>Dies kann verhindert werden, indem dem Partner durch
|
|
die folgende Zeile in der Datei
|
|
<filename>ppp.conf</filename> erlaubt wird, mit der
|
|
Verhandlung zu beginnen:</para>
|
|
|
|
<programlisting>set openmode passive</programlisting>
|
|
|
|
<para>Hierdurch wird &man.ppp.8; mitgeteilt, darauf zu
|
|
warten, dass der Server mit den LCP-Verhandlungen
|
|
beginnt. Einige Server starten jedoch nie mit der
|
|
Verhandlungen; falls dies der Fall ist, können Sie
|
|
folgendes tun:</para>
|
|
|
|
<programlisting>set openmode active 3</programlisting>
|
|
|
|
<para>Hierdurch bleibt &man.ppp.8; für drei Sekunden
|
|
passiv und fängt dann erst an, LCP-Anforderungen zu
|
|
senden. Falls der Partner während dieser Zeit
|
|
beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt
|
|
antworten und nicht erst, nachdem die drei Sekunden
|
|
abgelaufen sind.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-lcp-constant">
|
|
<para>Die LCP-Verhandlungen dauern an, bis die Verbindung
|
|
geschlossen wird. Was mache ich falsch?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt eine Fehlfunktion in der Implementierung von
|
|
&man.ppp.8;, die darin besteht, dass LCP-, CCP- &
|
|
IPCP-Antworten nicht mit den ursprünglichen
|
|
Anforderungen assoziiert werden. Für den Fall,
|
|
dass eine Implementation von PPP mehr als sechs
|
|
Sekunden langsamer ist, als die andere Seite, resultiert
|
|
das darin, dass die andere Seite zwei weitere
|
|
LCP-Konfigurationsanforderungen sendet, was fatale
|
|
Auswirkungen hat.</para>
|
|
|
|
<para>Stellen Sie sich vor, wir hätten es mit zwei
|
|
Implementierungen <hostid>A</hostid> und
|
|
<hostid>B</hostid> zu tun. <hostid>A</hostid> beginnt
|
|
unmittelbar nach der Verbindung, LCP-Anforderungen zu
|
|
senden und <hostid>B</hostid> benötigt sieben
|
|
Sekunden, zu starten. Wenn <hostid>B</hostid> startet,
|
|
hat <hostid>A</hostid> bereits drei LCP-Anforderungen
|
|
gesendet. Wir nehmen an, dass ECHO ausgeschaltet
|
|
ist; andernfalls würden wir Probleme mit der "Magic
|
|
Number" beobachten, wie bereits im vorherigen Abschnitt
|
|
beschrieben. <hostid>B</hostid> sendet eine Anforderung
|
|
und anschließend eine Bestätigung der ersten
|
|
Anforderung von <hostid>A</hostid>. Dies führt dazu,
|
|
dass <hostid>A</hostid> in den Zustand
|
|
<acronym>OPENED</acronym> übergeht und eine
|
|
Bestätigung (die erste) zurück an
|
|
<hostid>B</hostid> sendet. In der Zwischenzeit sendet
|
|
<hostid>B</hostid> zwei weitere Bestätigungen als
|
|
Antwort auf die zusätzlichen Anforderungen, die von
|
|
<hostid>A</hostid> gesendet worden sind, bevor
|
|
<hostid>B</hostid> gestartet ist. <hostid>B</hostid>
|
|
empfängt dann die erste Bestätigung von
|
|
<hostid>A</hostid> und geht in den Zustand
|
|
<acronym>OPENED</acronym> über. <hostid>A</hostid>
|
|
empfängt die zweite Bestätigung von
|
|
<hostid>B</hostid>, geht zurück in den Zustand
|
|
<acronym>REQ-SENT</acronym> und sendet eine
|
|
weitere (vierte) Anforderung entsprechend dem RFC.
|
|
<hostid>A</hostid> empfängt dann die dritte
|
|
Bestätigung und geht in den Zustand
|
|
<acronym>OPENED</acronym> über. In der Zwischenzeit
|
|
empfängt <hostid>B</hostid> die vierte Anforderung
|
|
von <hostid>A</hostid>, wechselt in den Zustand
|
|
<acronym>ACK-SENT</acronym> und sendet eine weitere
|
|
(zweite) Anforderung und (vierte) Bestätigung
|
|
entsprechend dem RFC. <hostid>A</hostid> erhält die
|
|
Anforderung, geht in den Zustand
|
|
<acronym>REQ-SENT</acronym> über, sendet eine weitere
|
|
Anforderung, erhält unverzüglich die
|
|
nächste Bestätigung und geht in
|
|
<acronym>OPENED</acronym> über.</para>
|
|
|
|
<para>Das geht so weiter, bis eine Seite erkennt, dass
|
|
man zu keinem Ergebnis gelangt und aufgibt.</para>
|
|
|
|
<para>Am besten verhindert man solche Situationen, indem man
|
|
eine Seite als <literal>passiv</literal> konfiguriert,
|
|
also dafür sorgt, dass eine Seite darauf
|
|
wartet, dass die andere mit den Verhandlungen beginnt. Das
|
|
kann durch den 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-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, dass &man.ppp.8; auf die
|
|
Beendigung des Befehls wartet.</para>
|
|
|
|
<para>Falls Sie solche Befehle verwenden möchten,
|
|
benutzen Sie stattdessen den Befehl
|
|
<command>!bg</command>. Hierdurch wird der angegebene
|
|
Befehl im Hintergrund ausgeführt und &man.ppp.8; kann
|
|
fortfahren, die Verbindung zu bedienen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nullmodem">
|
|
<para>Warum wird &man.ppp.8; niemals beendet, wenn ich es
|
|
über ein Nullmodem-Kabel benutze?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Es gibt keine Möglichkeit für &man.ppp.8;,
|
|
automatisch festzustellen, ob eine direkte Verbindung
|
|
beendet worden ist. Das liegt an den Leitungen, die bei
|
|
einem seriellen Nullmodem-Kabel benutzt werden. Wenn Sie
|
|
diese Art der Verbindung verwenden, sollte LQR immer
|
|
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, dass DNS-Anfragen den Aufbau der
|
|
Verbindung hervorrufen (das verhindert
|
|
<emphasis>nicht</emphasis>, dass Pakete über
|
|
eine bestehende Verbindung gesendet werden), benutzen Sie
|
|
die folgenden Zeilen:</para>
|
|
|
|
<programlisting>
|
|
set dfilter 1 deny udp src eq 53
|
|
set dfilter 2 deny udp dst eq 53
|
|
set dfilter 3 permit 0/0 0/0
|
|
</programlisting>
|
|
|
|
<para>Dies ist nicht immer brauchbar, weil es effektiv Ihre
|
|
Fähigkeit, auf Anforderung wählen zu können
|
|
einschränkt - die meisten Programme müssen eine
|
|
DNS-Anfrage durchführen, bevor Sie andere, das
|
|
Netzwerk betreffenden Dinge tun können.</para>
|
|
|
|
<para>Im Fall von DNS sollten Sie versuchen, herauszufinden,
|
|
welches Programm tatsächlich versucht, einen
|
|
Hostnamen aufzulösen. Sehr oft handelt es sich hier
|
|
um &man.sendmail.8;. Sie sollten
|
|
sicherstellen, dass Sie sendmail in der
|
|
Konfigurationsdatei sagen, dass keine DNS-Anfragen
|
|
durchführen soll. Weitere Details enthält
|
|
der Abschnitt
|
|
<ulink url="&url.books.handbook;/smtp-dialup.html">E-Mail
|
|
über Einwahl-Verbindungen</ulink> des Handbuchs.
|
|
Sie könnten z.B. die folgende Zeile in
|
|
Ihre <filename>.mc</filename>-Datei einfügen:</para>
|
|
|
|
<programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting>
|
|
|
|
<para>Das veranlasst sendmail dazu, alles in eine
|
|
Warteschlange einzureihen, bis die Warteschlange
|
|
verarbeitet wird (normalerweise wird sendmail mit
|
|
<option>-bd -q30m</option> aufgerufen, was besagt,
|
|
dass die Warteschlange alle 30 Minuten abgearbeitet
|
|
wird) oder, bis ein <command>sendmail -q</command>
|
|
ausgeführt wird (z.B. aus Ihrer Datei 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, dass &man.ppp.8; versucht, die
|
|
Komprimierung Predictor1 auszuhandeln und der Partner
|
|
über keinerlei Komprimierung verhandeln will. Die
|
|
Meldungen sind harmlos, aber wenn Sie sie beseitigen
|
|
möchten, können Sie die Komprimierung Predictor1
|
|
auch lokal ausschalten:</para>
|
|
|
|
<programlisting>disable pred1</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-connectionspeed">
|
|
<para>Warum loggt ppp die Geschwindigkeit meiner Verbindung
|
|
nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Um alle Zeilen Ihrer <quote>Modemkonversation</quote>
|
|
mitzuloggen, müssen Sie folgendes einstellen:</para>
|
|
|
|
<programlisting>set log +connect</programlisting>
|
|
|
|
<para>Dies veranlasst &man.ppp.8; dazu, alles bis zur
|
|
letzten angeforderten <quote>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,
|
|
dass Sie &man.ppp.8; anweisen, die gesamte
|
|
CONNECT-Zeile zu <quote>erwarten</quote>, etwa so:</para>
|
|
|
|
<programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting>
|
|
|
|
<para>Hier bekommen wir unser CONNECT, senden nichts,
|
|
erwarten dann einen Line-Feed, der &man.ppp.8; zwingt, die
|
|
gesamte CONNECT-Antwort zu lesen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-ignores-backslash">
|
|
<para>Warum ignoriert &man.ppp.8; das Zeichen
|
|
<literal>\</literal> in meinem Chat-Skript?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>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, dass es sich bei
|
|
der Nummer tatsächlich nur um
|
|
<emphasis>ein</emphasis> Argument handelt). Um das
|
|
Zeichen <literal>"</literal> anzugeben, müssen
|
|
Sie ihm einen Backslash (<literal>\</literal>)
|
|
voranstellen.</para>
|
|
|
|
<para>Wenn der Chat-Interpreter jedes Argument analysiert,
|
|
reinterpretiert er die Argumente, um irgendwelche
|
|
speziellen Escape-Sequenzen wie z.B. <literal>\P</literal>
|
|
oder <literal>\T</literal> (sehen Sie in die Manualpage)
|
|
zu finden. Das Ergebnis dieser Doppelanalyse ist,
|
|
dass Sie daran denken müssen, die richtige
|
|
Anzahl an Escape-Zeichen zu verwenden.</para>
|
|
|
|
<para>Falls Sie tatsächlich das Zeichen
|
|
<literal>\</literal> z.B. zu Ihrem Modem senden
|
|
möchten, brauchen Sie etwas ähnliches,
|
|
wie:</para>
|
|
|
|
<programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting>
|
|
|
|
<para>woraus sich folgende Zeichen ergeben:</para>
|
|
|
|
<programlisting>
|
|
ATZ
|
|
OK
|
|
AT\X
|
|
OK
|
|
</programlisting>
|
|
|
|
<para>oder</para>
|
|
|
|
<programlisting>
|
|
set phone 1234567
|
|
set dial "\"\" ATZ OK ATDT\\T"
|
|
</programlisting>
|
|
|
|
<para>was folgende Zeichen ergibt:</para>
|
|
|
|
<programlisting>
|
|
ATZ
|
|
OK
|
|
ATDT1234567
|
|
</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-segfault-nocore">
|
|
<para>Warum gibt es die Datei <filename>ppp.core</filename>
|
|
nicht, wenn &man.ppp.8; einen 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, dass, 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 Adresszuordnung ändert, wird der
|
|
originale Socketendpunkt ungültig. Alle weiteren
|
|
Pakete, die zum Partner gesendet werden, werden für
|
|
gewöhnlich verworfen. Selbst wenn sie nicht
|
|
verworfen werden würden, würden alle Antworten
|
|
nicht an den betreffenden Rechner gelangen, weil die
|
|
IP-Adresse nicht mehr zu diesem Rechner
|
|
gehört.</para>
|
|
|
|
<para>Theoretisch gibt es mehrere Möglichkeiten, dieses
|
|
Problem anzugehen. Am schönsten wäre es, wenn
|
|
der Partner die gleiche IP-Adresse wieder zuordnen
|
|
würde, wenn möglich <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, dass als
|
|
Absender-IP-Adresse anstelle der IP-Adresse der
|
|
Schnittstelle die ausgehandelte IP-Adresse gesetzt wird.
|
|
Das ist im wesentlichen das, was durch die Option
|
|
<literal>iface-alias</literal> in der aktuellsten Version
|
|
von &man.ppp.8; bewirkt wird (mit Unterstützung von
|
|
&man.libalias.3; und &man.ppp.8;'s <option>-nat</option>
|
|
Schalter) - alle Schnittstellenadressen werden beibehalten
|
|
und auf die letzte ausgehandelte Adresse
|
|
umgesetzt.</para>
|
|
|
|
<para>Eine andere Alternative (und wahrscheinlich die
|
|
zuverlässigste) wäre die, einen Systemaufruf zu
|
|
implementieren der die IP-Adressen aller verbundenen
|
|
Sockets von einer Adresse in eine andere ändert.
|
|
&man.ppp.8; würde diesen Aufruf benutzen, um die
|
|
Sockets aller laufenden Programme zu ändern, nachdem
|
|
eine neue IP-Adresse ausgehandelt worden ist. Der gleiche
|
|
Systemaufruf könnte von 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üssten geändert werden.
|
|
Dies wäre allerdings keine besonders elegante
|
|
Lösung, da der Kernel fehlerhafte Pakete an eine
|
|
unzureichend konfigurierte Schnittstelle senden
|
|
würde, in der Annahme, dass andere Mechanismen
|
|
in der Lage sind, diese Dinge rückwirkend zu
|
|
beheben.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="ppp-nat-games">
|
|
<para>Warum laufen die meisten Spiele mit dem <option>-nat</option>
|
|
Schalter nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Der Grund dafür, dass Spiele und andere
|
|
Programme nicht funktionieren, wenn libalias benutzt wird,
|
|
ist der, dass der Rechner außerhalb des lokalen
|
|
Netzes versucht, eine Verbindung aufzubauen und
|
|
(unaufgefordert) UDP-Pakete an den Rechner innerhalb des
|
|
lokalen Netzes zu senden. Die Software, die für die
|
|
NAT zuständig ist, weiß nicht, dass sie
|
|
diese Pakete an den internen Rechner weiterleiten
|
|
soll.</para>
|
|
|
|
<para>Um dies zu beheben, stellen Sie zunächst sicher,
|
|
dass die Software, mit der Sie Probleme haben, die
|
|
einzige ist, die gerade läuft. Benutzen Sie dann
|
|
entweder 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, dass das Programm
|
|
funktioniert:</para>
|
|
|
|
<programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting>
|
|
|
|
<para>wobei für <replaceable>proto</replaceable>
|
|
entweder <literal>tcp</literal> oder
|
|
<literal>udp</literal> zu setzen ist,
|
|
<replaceable>internalmachine</replaceable> den Rechner
|
|
bezeichnet, an den die Pakete geschickt werden sollen und
|
|
<replaceable>port</replaceable> die betreffende
|
|
Portnummer.</para>
|
|
|
|
<para>Sie können das Programm nicht auf einem anderen
|
|
Rechner benutzen, ohne die obige Zeile abzuändern und
|
|
die Benutzung des Programms auf zwei internen Rechnern
|
|
steht außer Frage - schließlich sieht die
|
|
Außenwelt Ihr gesamtes internes Netz so, als
|
|
wäre es ein einzelner Rechner.</para>
|
|
|
|
<para>Falls die Portnummern nicht konsistent sind, gibt es
|
|
drei weitere Optionen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Ermöglichen Sie die Unterstützung durch
|
|
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
|
|
veranlasst, auf einem bestimmten (wahlfreien)
|
|
Port eine Verbindung zurück zum lokalen Rechner
|
|
herzustellen, sowie das Erstellen einer
|
|
<quote>Route</quote> in der Aliastabelle, so dass
|
|
nachfolgende Pakete wissen, wohin sie
|
|
gehören.</para>
|
|
|
|
<para>Dieses ist zwar die komplizierteste Lösung,
|
|
aber die beste, die auch dafür sorgt, dass
|
|
die Software auf mehreren Rechnern
|
|
funktioniert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Benutzen Sie einen Proxy. Die Anwendung
|
|
könnte z.B. socks5 unterstützen, oder (wie
|
|
im Fall von <quote>cvsup</quote>) eine Option
|
|
<quote>passiv</quote> besitzen, die stets verhindert,
|
|
dass verlangt wird, dass der Partner eine
|
|
Verbindung zurück zur lokalen Maschine
|
|
aufbaut.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Leiten Sie mit <literal>nat addr</literal> alles
|
|
zur lokalen Maschine um. Dieses Vorgehen ähnelt
|
|
dem mit einem Vorschlaghammer.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="useful-port-numbers">
|
|
<para>Hat jemand eine Liste mit nützlichen Portnummern
|
|
erstellt?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Noch nicht, aber hieraus könnte eine solche
|
|
entstehen (falls Interesse besteht). In jedem Beispiel
|
|
sollte <replaceable>internal</replaceable> durch die
|
|
IP-Adresse der Maschine ersetzt werden, auf der das Spiel
|
|
laufen soll.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><application>Asheron's Call</application></para>
|
|
|
|
<para><literal>nat port udp
|
|
<replaceable>internal</replaceable>:65000
|
|
65000</literal></para>
|
|
|
|
<para>Konfigurieren Sie das Spiel manuell auf Port 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, dass die empfangenen Daten dieselben
|
|
sind, wie die versendeten. Falls die FCS eines
|
|
ankommenden Paketes fehlerhaft ist, wird das Paket
|
|
verworfen und der Zähler HDLC FCS wird erhöht.
|
|
Der HDLC-Fehlerwert kann durch den Befehl <literal>show
|
|
hdlc</literal> angezeigt werden.</para>
|
|
|
|
<para>Falls Ihre Leitung schlecht ist (oder falls Ihr
|
|
serieller Treiber Pakete verwirft), werden sie
|
|
gelegentliche FCS-Fehler sehen. Normalerweise lohnt es
|
|
sich nicht, sich hierüber Gedanken zu machen, obwohl
|
|
das Kompressionsprotokoll hierdurch wesentlich langsamer
|
|
wird. Wenn Sie ein externes Modem besitzen, stellen Sie
|
|
sicher, dass Ihr Kabel ausreichend gegen
|
|
Interferenzen abgeschirmt ist - das könnte das
|
|
Problem beseitigen.</para>
|
|
|
|
<para>Falls Ihre Leitung einfriert, sobald die Verbindung
|
|
steht, und viele FCS-Fehler auftreten, könnte das
|
|
daran liegen, dass Ihre Leitung nicht 8-Bit-rein ist.
|
|
Stellen Sie sicher, dass Ihr Modem keinen
|
|
Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
|
|
Datenschnittstelle Software-Flow-Control verwenden
|
|
<emphasis>muss</emphasis>, benutzen Sie den Befehl
|
|
<literal>set accmap 0x000a0000</literal>, um &man.ppp.8;
|
|
zu sagen, dass es die Zeichen <literal>^Q</literal>
|
|
und <literal>^S</literal> maskieren soll.</para>
|
|
|
|
<para>Ein weiterer Grund dafür, dass zu viele
|
|
FCS-Fehler auftreten, könnte der sein, dass das
|
|
andere Ende aufgehört hat, <acronym>ppp</acronym> zu
|
|
sprechen. Aktivieren Sie <literal>async</literal>
|
|
Logging, um festzustellen, ob es sich bei den eingehenden
|
|
Daten tatsächlich um einen login- oder Shell-Prompt
|
|
handelt. Wenn Sie am anderen Ende einen Shell-Prompt
|
|
haben, ist es möglich, durch den Befehl
|
|
<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
|
|
&windows; 98-Maschinen (und eventuell auch andere
|
|
µsoft; Betriebssysteme), wenn auf meinem Gateway
|
|
PPPoE läuft?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vielen Dank an Michael Wozniak
|
|
<email>mwozniak@netcom.ca</email> für die
|
|
Erklärung und an Dan Flemming
|
|
<email>danflemming@mac.com</email> für die
|
|
Lösung für &macos;.</para>
|
|
|
|
<para>Die Ursache des Problems ist ein so genannter
|
|
<quote>Black Hole Router</quote>. &macos; und &windows; 98
|
|
(und wahrscheinlich auch die anderen Betriebssysteme von
|
|
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, dass diese Meldung zwar
|
|
erzeugt, aber danach von einem Firewall vor dem Webserver
|
|
abgefangen wird. Wenn Ihnen dieser Webserver nun ein
|
|
Paket schickt, das nicht in einen PPPoE-Rahmen passt,
|
|
dann verwirft der Router dieses Paket und die Seite wird
|
|
nicht geladen (einige Seiten/Grafiken werden geladen, weil
|
|
ihre Größe kleiner ist als die MSS). Dies
|
|
scheint leider der Normalfall zu sein (wenn die Leute doch
|
|
nur wüssten, 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
|
|
hingegen 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 µsoft; enthält weitere
|
|
Informationen darüber, wie sie die MTU einer
|
|
&windows;-Maschine ändern, damit diese mit einem
|
|
NAT-Router korrekt zusammenarbeitet. Vom besonderen
|
|
Interesse sind die Artikel <ulink
|
|
url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474
|
|
- &windows; TCPIP Registry Entries</ulink> und <ulink
|
|
url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642
|
|
- TCPIP & NBT Configuration Parameters for
|
|
&windowsnt;</ulink>.</para>
|
|
|
|
<para>Bei &windows; 2000 können Sie alternativ auch, wie
|
|
im Artikel 120642 beschrieben, mit regedit das 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, dass an diesen Schnittstellen immer
|
|
ein Modem <quote>angeschlossen</quote> ist.</para>
|
|
|
|
<para>Der <filename>GENERIC</filename> Kernel beinhaltet
|
|
Unterstützung für zwei serielle Schnittstellen,
|
|
die den im Beispiel genannten Port und IRQ verwenden.
|
|
Wenn diese Einstellungen nicht richtig für Ihr System
|
|
sind, Sie Modemkarten hinzugefügt oder mehr serielle
|
|
Schnittstellen haben als Ihre Kernelkonfiguration
|
|
zulässt, konfigurieren Sie Ihren Kernel einfach
|
|
neu. In dem Kapitel über die <link
|
|
linkend="make-kernel">Kernelkonfiguration</link> finden
|
|
Sie mehr Details.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="found-modem">
|
|
<para>Wie kann ich feststellen, ob 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 in &man.sio.4; beschriebene serielle Schnittstelle
|
|
<devicename>sio2</devicename> (<devicename>COM3</devicename>
|
|
unter &ms-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
|
|
Prozess darauf, dass 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, dass
|
|
die serielle Schnittstelle nicht bereits von dem
|
|
<filename>ttyd<replaceable>X</replaceable></filename>
|
|
Gerät in Gebrauch ist. Sollte die Schnittstelle
|
|
verfügbar sein, <quote>stiehlt</quote> es sie von dem
|
|
<devicename>ttyd<replaceable>X</replaceable></devicename>
|
|
Gerät. Das
|
|
<devicename>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 aussen einloggen, Sie können weiterhin mit
|
|
demselben Modem wählen und das System kümmert
|
|
sich um die Konflikte.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="enable-multiport-serial">
|
|
<para>Wie kann ich die Unterstützung für eine
|
|
Karte mit mehreren seriellen Schnittstellen
|
|
aktivieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Sektion über die Kernelkonfiguration bietet
|
|
Informationen darüber, wie Sie Ihren Kernel
|
|
konfigurieren. Für eine Karte mit mehreren seriellen
|
|
Schnittstellen, schreiben Sie eine &man.sio.4; Zeile
|
|
für jede serielle Schnittstelle auf der Karte in die
|
|
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, dass die
|
|
Master-Schnittstelle die Minor-Nummer 7
|
|
(<literal>0x700</literal>) hat, Diagnosen während des
|
|
Bootens ermöglicht sind (<literal>0x080</literal>),
|
|
und dass 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 Prozess 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> Datenflusskontrolle 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 muss 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
|
|
Datenflusskontrolle benutzen. Zuletzt muss 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; Terminalprogramm 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, dass 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, dass 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, dass
|
|
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 so genannten
|
|
<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, dass 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>Muss 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;, dass
|
|
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 jedes Mal <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, dass <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 muss ich zweimal
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>P</keycap>
|
|
</keycombo> tippen, um ein
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>P</keycap>
|
|
</keycombo> zu senden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para><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, dass 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, dass 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, dass 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, dass nicht alle Seiten Ihres Systems
|
|
ausgelagert wurden, wenn Sie morgens aufstehen, nachdem
|
|
das System eine Nacht lang nicht benutzt worden
|
|
ist.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="top-freemem">
|
|
<para>Warum zeigt mir &man.top.1; so wenig freien Speicher
|
|
an, obwohl nur wenige Programme laufen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die Antwort ist ganz einfach: Freier Speicher ist
|
|
verschwendeter Speicher. Der 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
|
|
muss, braucht es nicht auf die langsame Platte
|
|
zuzugreifen, da die Daten noch zwischengespeichert sind.
|
|
Dadurch erhöht sich die Performance. Ganz generell
|
|
ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen
|
|
Wert bei <literal>Free</literal> anzeigt, solange der Wert
|
|
nicht <emphasis>extrem</emphasis> klein ist.</para>
|
|
|
|
<para>Anmerkung des Übersetzers: Mit <quote>extrem
|
|
klein</quote> sind hier Werte unterhalb 512 KByte
|
|
gemeint.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="chmod-symlinks">
|
|
<para>Warum ändert <command>chmod</command> die
|
|
Zugriffsrechte auf symbolische Links nicht?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Für symbolische Links gibt es keine separaten
|
|
Zugriffsrechte und standardmäßig folgt
|
|
&man.chmod.1; dem Link 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
|
|
<emphasis>rekursives</emphasis> &man.chmod.1;.
|
|
Seien Sie vorsichtig, wenn Sie bei
|
|
&man.chmod.1; Verzeichnisse oder symbolische
|
|
Links zu Verzeichnissen angeben. Wenn Sie die
|
|
Zugriffsrechte eines Verzeichnisses ändern
|
|
möchten, das durch einen symbolischen Link
|
|
referenziert wird, benutzen Sie &man.chmod.1;
|
|
ohne irgendwelche Optionen und folgen dem symbolischen
|
|
Link durch einen abschließenden Schrägstrich
|
|
(<filename>/</filename>). Falls z.B.
|
|
<filename>foo</filename> ein symbolischer Link zum
|
|
Verzeichnis <filename>bar</filename> ist und Sie die
|
|
Zugriffsrechte von <filename>foo</filename>
|
|
(tatsächlich <filename>bar</filename>) ändern
|
|
möchten, dann benutzen Sie etwas ähnliches
|
|
wie:</para>
|
|
|
|
<screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen>
|
|
|
|
<para>Durch den abschließenden Schrägstrich folgt
|
|
&man.chmod.1; dem symbolischen Link
|
|
<filename>foo</filename>, um die Zugriffsrechte für
|
|
das Verzeichnis <filename>bar</filename> zu
|
|
ändern.</para>
|
|
</warning>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="dos-binaries">
|
|
<para>Kann ich DOS-Programme unter FreeBSD
|
|
ausführen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Ja. Sie können
|
|
<filename role="package">emulators/doscmd</filename>
|
|
verwenden, das über die Ports-Sammlung verfügbar
|
|
ist.</para>
|
|
|
|
<note>
|
|
<para><application>doscmd</application> war früher
|
|
Teil des Basissystems von &os;, es wurde aber vor der
|
|
Veröffentlichung von &os; 5.3 daraus
|
|
entfernt.</para>
|
|
</note>
|
|
|
|
<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 muss 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,
|
|
dass für Spam-Aktivitäten bekannt
|
|
ist.</para>
|
|
|
|
<para>Die Mailserver von FreeBSD akzeptierten keine
|
|
Mails von bekannten Spam-Quellen. Wenn Sie eine
|
|
Firma oder Domain benutzen, die Spam erzeugt oder
|
|
verteilt, sollten Sie sich einen anderen ISP
|
|
suchen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Mailtext enthält HTML.</para>
|
|
|
|
<para>Mail sollte immer im Klartext gesendet werden, Sie
|
|
sollten ihr Mailprogramm entsprechend
|
|
einstellen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das Mailsystem kann die IP-Adresse des
|
|
einliefernden Systems nicht in einen symbolischen
|
|
Namen umwandeln.</para>
|
|
|
|
<para>Funktionierendes reverse DNS ist eine
|
|
Vorbedingung, damit ihre Mails angenommen wird.
|
|
Sorgen Sie dafür, dass der reverse DNS
|
|
für Ihren Mailserver korrekt konfiguriert wird.
|
|
Viele Anbieter für Privatkunden geben Ihnen diese
|
|
Möglichkeit nicht. In diesem Fall sollten Sie
|
|
Ihre Mails über den Mailserver Ihres Providers
|
|
versenden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Der Rechnername, der im EHLO/HELO Teil der SMTP
|
|
Kommunikation übergeben wird, kann nicht zu einer
|
|
IP-Adresse aufgelöst werden.</para>
|
|
|
|
<para>Damit die E-Mail akzeptiert wird, brauchen Sie einen
|
|
voll qualifizierten Rechnernamen, der im DNS eingetragen ist.
|
|
Wenn Sie diesen nicht besitzen, benutzen Sie bitte den
|
|
Mailserver Ihres Providers, um E-Mails zu verschicken.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Message-ID Ihrer Mail endet in
|
|
<literal>localhost</literal>.</para>
|
|
|
|
<para>Einige Mail-Clients generieren eine Message-ID, die
|
|
nicht akzeptiert wird. Sie müssen Ihren Mail-Client
|
|
so konfigurieren, dass er eine gültige Message-ID
|
|
generiert. Alternativ können Sie die Message-ID von
|
|
Ihrem Mailserver umschreiben lassen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="free-account">
|
|
<para>Wo kann ich einen freien 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, dass 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="&url.books.handbook;/synching.html#CVSUP">
|
|
CVSup</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="daemon-name">
|
|
<para>Wie heißt das niedliche rote Kerlchen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Er ist namenlos, es ist einfach der <quote>der BSD
|
|
Daemon</quote>. Wenn Sie ihm unbedingt einen Namen geben
|
|
wollen, rufen Sie ihn <quote>beastie</quote>. Beachten
|
|
Sie aber, dass <quote>beastie</quote> wie
|
|
<quote>BSD</quote> ausgesprochen wird.</para>
|
|
|
|
<para>Weitere Informationen über den BSD daemon finden
|
|
Sie auf <ulink
|
|
url="http://www.mckusick.com/beastie/index.html">seiner
|
|
Homepage</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="use-beastie">
|
|
<para>Kann ich Bilder des BSD Daemon verwenden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eventuell. Der BSD Daemon unterliegt dem Copyright
|
|
von Marshall Kirk McKusick. Wenn Sie genaue Informationen
|
|
über die Einschränkungen bei der Nutzung
|
|
brauchen, sollten Sie sein <ulink
|
|
url="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement
|
|
on the Use of the BSD Daemon Figure</ulink> lesen.</para>
|
|
|
|
<para>Kurz gesagt, können Sie den BSD Daemon benutzen,
|
|
solange es für einen privaten Zweck ist und die
|
|
Nutzung geschmackvoll bleibt. Für den kommerziellen
|
|
Einsatz brauchen Sie die Zustimmung von 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="glossary">
|
|
<para>Ich habe in den Mailinglisten eine Abkürzung oder
|
|
einen Begriff gesehen, den ich nicht kenne. Wo erhalte
|
|
ich eine Erklärung dazu?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Sehen Sie bitte im <ulink
|
|
url="&url.books.handbook;/freebsd-glossary.html">
|
|
FreeBSD-Glossar</ulink> nach.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="bikeshed-painting">
|
|
<para>Warum sollte mich die Farbe des Fahrradschuppens
|
|
interessieren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die ganz, ganz kurze Antwort ist: Überhaupt nicht.
|
|
Die etwas längere Antwort lautet: Nur weil Sie in der
|
|
Lage sind, einen Fahrradschuppen zu bauen, müssen Sie
|
|
noch lange nicht andere davon abhalten, nur weil Ihnen die
|
|
Farbe nicht gefällt. Dies ist natürlich eine
|
|
Metapher dafür, dass Sie nicht eine Diskussion über
|
|
jede kleine Änderung beginnen sollen, nur weil Sie
|
|
das können. Einige Leute behaupten sogar, dass
|
|
die Anzahl der (nutzlosen) Kommentare über eine
|
|
Änderung umgekehrt proportional zur
|
|
Komplexität der Änderung ist.</para>
|
|
|
|
<para>Die noch längere und vollständigere Antwort
|
|
ist, dass &a.phk; nach einen langen Diskussion
|
|
über das Thema "Soll &man.sleep.1; Sekundenbruchteile
|
|
als Parameter akzeptieren?" eine lange Mail mit dem Titel
|
|
<quote><ulink
|
|
url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers">A
|
|
bike shed (any colour will do) on greener
|
|
grass...</ulink></quote> schrieb. Die einschlägigen
|
|
Teile der Nachricht lauteten:</para>
|
|
|
|
<blockquote>
|
|
<attribution>&a.phk; in 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 frühen Sechzigern ein Buch
|
|
mit dem Namen <quote>Parkinson's Law</quote>, das viele
|
|
Einblick in die Beziehungen innerhalb des Managements
|
|
gibt.</para>
|
|
|
|
<para>[ein paar Kommentare zum Buch gestrichen]</para>
|
|
|
|
<para>In dem Beispiel mit dem Fahrradschuppen ist die
|
|
andere wichtige Komponente ein Kernkraftwerk. Ich
|
|
glaube, dass zeigt schon, wie alt dieses Buch
|
|
ist.</para>
|
|
|
|
<para>Parkinson zeigte, dass man zum Vorstand gehen
|
|
kann und die Genehmigung für ein mehrere Millionen
|
|
oder sogar Milliarden Dollar teures Kernkraftwerk
|
|
bekommt; wenn man aber einen Fahrradschuppen bauen will,
|
|
wird man in endlose Diskussionen verwickelt.</para>
|
|
|
|
<para>Laut Parkinson liegt das daran, dass ein
|
|
Kernkraftwerk so groß, so teuer und so kompliziert
|
|
ist, dass die Leute es nicht verstehen. Und bevor
|
|
sie versuchen, es zu verstehen, verlassen Sie sich
|
|
lieber darauf, dass irgend jemand sicherlich die
|
|
ganzen Details geprüft hat, bevor das Projekt bis
|
|
zum Vorstand gekommen ist. Im Buch von Richard P.
|
|
Feynmann finden sich einige interessante und sehr
|
|
passende Beispiele aus dem Gebiet von Los
|
|
Alamos.</para>
|
|
|
|
<para>Ein Fahrradschuppen ist was anderes. Jeder kann an
|
|
seinem freien Wochenende einen bauen und hat trotzdem
|
|
noch genug Zeit für die Sportschau. Daher ist es
|
|
unwichtig, wie gut man sich vorbereitet und wie sinnvoll
|
|
der eigene Vorschlag ist. Irgend jemand wird die
|
|
Möglichkeit nutzen und zeigen, dass er seine
|
|
Arbeit tut, dass er aufmerksam ist, dass er
|
|
<emphasis>da ist</emphasis>.</para>
|
|
|
|
<para>In Dänemark nennen wir dieses Verhalten
|
|
<quote>Seine Fingerabdrücke hinterlassen</quote>.
|
|
Es geht um persönlichen Stolz und Prestige; die
|
|
Chance, auf irgend etwas zu zeigen und zu sagen zu
|
|
können: <quote>Da! Das habe
|
|
<emphasis>Ich</emphasis> getan.</quote> Politiker leiden
|
|
sehr stark darunter, aber viele Leute verhalten sich so,
|
|
wenn sie die Chance haben. Denkt einfach mal an
|
|
Fußabdrücke in feuchtem Zement.</para>
|
|
</blockquote>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="funnies">
|
|
<title>Nicht ganz ernstgemeinte Fragen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="very-very-cool">
|
|
<para>Wie cool ist FreeBSD?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Q. Hat irgend jemand Temperaturmessungen
|
|
durchgeführt, während FreeBSD läuft? Ich
|
|
weiss, dass &linux; cooler läuft, als DOS, habe
|
|
aber niemals gesehen, dass 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, dass 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, dass zu viele der Freiwilligen den Raum
|
|
während der Tests verlassen haben und dadurch die
|
|
Ergebnisse verfälscht haben. Wir glauben, dass
|
|
die meisten der Freiwilligen nun bei Apple sind und an
|
|
ihrer neuen <quote>scratch and sniff</quote>
|
|
Oberfläche arbeiten. Es ist ein lustiges, altes
|
|
Geschäft, in dem wir uns befinden!</para>
|
|
|
|
<para>Ernsthaft, 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, dass der Speicher ein kratzendes
|
|
Geräusch macht? Bei der Kompilierung (und auch
|
|
für einen kurzen Moment nach der Erkennung des
|
|
Floppy-Laufwerks beim Hochfahren), kommt ein seltsames
|
|
kratzendes Geräusch von etwas das die
|
|
Speicherbänke zu sein scheinen.</para>
|
|
|
|
<para>A. Ja! In der BSD-Dokumentation finden Sie
|
|
häufige Verweise auf <quote>Daemons</quote> und was
|
|
die meisten Leute nicht wissen, ist, dass diese sich
|
|
auf echte, nicht-körperlichen Wesen beziehen, die
|
|
Besitz von Ihrem Computer ergriffen haben. Das kratzende
|
|
Geräusch, das von Ihrem Speicher kommt, ist in
|
|
Wirklichkeit hochtöniges Flüstern, das unter den
|
|
Daemons ausgetauscht wird, während Sie entscheiden,
|
|
wie Sie die verschiedenen Systemadministrationsaufgaben,
|
|
am besten erledigen.</para>
|
|
|
|
<para>Wenn Sie das Geräusch stört, wird ein
|
|
<command>fdisk /mbr</command> sie vertreiben, aber wundern
|
|
Sie sich nicht, wenn sie feindlich reagieren und
|
|
versuchen, Sie aufzuhalten. Wenn Sie während der
|
|
Ausführung zu irgendeinem Zeitpunkt die teuflische
|
|
Stimme von Bill Gates aus dem eingebauten Lautsprecher
|
|
kommen hören, laufen Sie weg und sehen Sie sich auf
|
|
keinen Fall um! Befreit von dem ausgleichenden
|
|
Einfluss der BSD Dämonen sind die beiden
|
|
Dämonen von DOS und &windows; oft dazu in der Lage, die
|
|
totale Kontrolle über Ihre Maschine für die
|
|
ewige Verdammung Ihrer Seele zurückzuerlangen. Da
|
|
Sie jetzt die Wahrheit kennen, würden Sie es
|
|
vorziehen, sich an die Geräusche zu gewöhnen,
|
|
wenn Sie die Wahl hätten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="changing-lightbulbs">
|
|
<para>Wie viele FreeBSD-Hacker braucht man, um eine
|
|
Glühbirne auszuwechseln?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eintausendeinhundertundneunundsechzig:</para>
|
|
|
|
<para>Dreiundzwanzig, die sich bei -CURRENT beschweren,
|
|
dass das Licht aus ist;</para>
|
|
|
|
<para>Vier, die behaupten, dass es sich um ein
|
|
Konfigurationsproblem handelt und dass solche Dinge
|
|
wirklich nach -questions gehören;</para>
|
|
|
|
<para>Drei, die PRs hierzu einreichen, einer von ihnen wird
|
|
falsch unter DOC abgelegt und fristet sein Dasein im
|
|
Dunkeln;</para>
|
|
|
|
<para>Einen, der eine ungetestete Glühbirne einreicht,
|
|
wonach buildworld nicht mehr funktioniert, und sie dann
|
|
fünf Minuten später wieder herausnimmt;</para>
|
|
|
|
<para>Acht, die die PR-Erzeuger beschimpfen, weil sie zu
|
|
ihren PRs keine Patche hinzugefügt haben;</para>
|
|
|
|
<para>Fünf, die sich darüber beschweren, dass
|
|
buildworld nicht mehr funktioniert;</para>
|
|
|
|
<para>Einunddreißig, die antworten, dass es bei
|
|
ihnen funktioniert und dass sie cvsup wohl zu einigem
|
|
ungünstigen Zeitpunkt durchgeführt
|
|
haben;</para>
|
|
|
|
<para>Einen, der einen Patch für eine neue
|
|
Glühbirne an -hackers schickt;</para>
|
|
|
|
<para>Einen, der sich beschwert, dass es vor drei
|
|
Jahren Patches hierfür hatte, aber als er sie nach
|
|
-CURRENT schickte, sind sie einfach ignoriert worden und
|
|
er hatte schlechte Erfahrungen mit dem PR-System; nebenbei
|
|
ist die vorgeschlagene Glühbirne nicht
|
|
reflexiv;</para>
|
|
|
|
<para>Siebenunddreißig, die schreien, dass
|
|
Glühbirnen nicht in das Basissystem gehören,
|
|
dass Committer nicht das Recht haben, solche Dinge
|
|
durchzuführen, ohne die Gemeinschaft zu konsultieren
|
|
und WAS GEDENKT -CORE HIER ZU TUN!?</para>
|
|
|
|
<para>Zweihundert, die sich über die Farbe des
|
|
Fahrradschuppens beschweren;</para>
|
|
|
|
<para>Drei, die darauf hinweisen, dass der Patch nicht
|
|
mit &man.style.9; übereinstimmt;</para>
|
|
|
|
<para>Siebzehn, die sich beschweren, dass die
|
|
vorgeschlagene neue Glühbirne der GPL
|
|
unterliegt;</para>
|
|
|
|
<para>Fünfhundertundsechsundachtzig, die sich in einen
|
|
Streit über die vergleichbaren Vorteile der GPL, der
|
|
BSD-Lizenz, der MIT-Lizenz, der NPL und der
|
|
persönlichen Hygiene nichtgenannter FSF-Gründer
|
|
verwickeln;</para>
|
|
|
|
<para>Sieben, die unterschiedliche Teile des Threads nach
|
|
-chat und -advocacy weiterleiten;</para>
|
|
|
|
<para>Einer, der die vorgeschlagene Glühbirne einbaut,
|
|
obwohl sie dunkler leuchtet, als die alte;</para>
|
|
|
|
<para>Zwei, die sie wieder ausbauen, und in einer
|
|
wütenden Nachricht argumentieren, dass 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 passt, 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, dass die
|
|
neue Glühbirne 0,364% heller leuchten würde,
|
|
wenn sie mit TenDRA kompiliert werden würde (obwohl
|
|
sie in einen Würfel umgeformt werden
|
|
müsste) und dass FreeBSD deshalb nach
|
|
TenDRA, anstatt nach GCC wechseln sollte;</para>
|
|
|
|
<para>Einen, der sich beschwert, dass bei der neuen
|
|
Glühbirne die Verkleidung fehlt;</para>
|
|
|
|
<para>Neun (einschließlich der PR-Ersteller), die
|
|
fragen <quote>Was ist MFC?</quote></para>
|
|
|
|
<para>Siebenundfünfzig, die sich zwei Wochen, nachdem
|
|
die Birne gewechselt worden ist, darüber beschweren,
|
|
dass das Licht aus war.</para>
|
|
|
|
<para><emphasis>&a.nik; hat
|
|
hinzugefügt:</emphasis></para>
|
|
|
|
<para><emphasis>Ich habe ziemlich hierüber
|
|
gelacht.</emphasis></para>
|
|
|
|
<para><emphasis>Und dann dachte ich: "Halt, sollte in dieser
|
|
Liste nicht irgendwo 'Einer, der es dokumentiert'
|
|
sein?"</emphasis></para>
|
|
|
|
<para><emphasis>Und dann wurde ich erleuchtet
|
|
:-)</emphasis></para>
|
|
</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 weiss, gehört es zum guten
|
|
Ton, einigen Daten zum Bildschirm zu senden, damit die
|
|
Leuchtkäferchen, die das Bild anzeigen,
|
|
glücklich sind. Die Leuchtkäferchen werden nach
|
|
der Farbe Ihrer Hüte (Rot, Grün, oder Blau)
|
|
unterschieden und sie verstecken bzw. zeigen sich (wobei
|
|
man die Farbe ihrer Hüte erkennen kann) bei jeder
|
|
Nahrungsaufnahme. Grafikkarten wandeln Daten in
|
|
Leuchkäfer-Nahrung um und schicken sie dann zu den
|
|
Leuchtkäfern - teure Karten erzeugen bessere Nahrung
|
|
und sorgen so für besseres Verhalten der
|
|
Leuchtkäfer. Diese brauchen allerdings einen
|
|
konstanten Stimulus - darum gibt es
|
|
Bildschirmschoner.</para>
|
|
|
|
<para>Darum lautet mein Vorschlag, die zufälligen Daten
|
|
einfach zum Bildschirm zu schicken, damit sie von den
|
|
Leuchtkäfern verzehrt werden. Dabei entsteht keine
|
|
Hitze, die Leuchtkäfer bleiben glücklich und man
|
|
wird seine überflüssigen Daten sehr schnell los,
|
|
auch wenn der Bildschirm etwas merkwürdig
|
|
aussieht.</para>
|
|
|
|
<para>Übrigens: Als Ex-Admin eines großen ISPs,
|
|
der so seine Probleme mit der Kühlung seines
|
|
Rechenzentrums hatte, kann ich nur davon abraten,
|
|
überflüssige Daten einfach in das Netzwerk zu
|
|
schicken. Die Heinzelmännchen, die die Pakete
|
|
verteilen und versenden, regen sich darüber ganz
|
|
furchtbar auf.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="advanced">
|
|
<title>Weiterführende Themen</title>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question id="learn-advanced">
|
|
<para>Wie kann ich mehr über die Interna von FreeBSD
|
|
erfahren?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Zurzeit gibt es nur ein Buch über die Interna von
|
|
FreeBSD, <quote>The Design and Implementation of the FreeBSD
|
|
Operating System</quote> von Marshall Kirk McKusick und
|
|
George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf
|
|
FreeBSD 5.X konzentriert.</para>
|
|
|
|
<para>Allgemeines Wissen über &unix; kann
|
|
allerdings in den meisten Fällen auf FreeBSD
|
|
angewendet werden.</para>
|
|
|
|
<para>Eine Liste finden Sie im entsprechenden Abschnitt der
|
|
<ulink url="&url.books.handbook;/bibliography-osinternals.html">
|
|
Bibliographie</ulink>.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="how-to-contribute">
|
|
<para>Wie kann ich bei der Entwicklung von FreeBSD
|
|
mitarbeiten?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Genauere Informationen finden Sie im Artikel <ulink
|
|
url="&url.articles.contributing;/article.html">FreeBSD
|
|
unterstützen</ulink>. Wir 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_5</literal> bzw.
|
|
<emphasis>5.X-STABLE</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><literal>RELENG_6</literal> bzw.
|
|
<emphasis>6-STABLE</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><literal>HEAD</literal> bzw.
|
|
<emphasis>-CURRENT</emphasis> oder
|
|
<emphasis>7.X-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>Derzeit steht <quote>-CURRENT</quote> für den
|
|
7.X-Entwicklungsstrom, der
|
|
<literal>5-STABLE</literal>-Zweig (<symbol>RELENG_5</symbol>)
|
|
wurde im Oktober 2004, der <literal>6-STABLE</literal>-Zweig
|
|
(<symbol>RELENG_6</symbol>) im November 2005 von
|
|
<quote>-CURRENT</quote> abgespalten.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="custrel">
|
|
<para>Wie kann ich meine eigene, angepasstes Release
|
|
erstellen?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Eine Anleitung dazu finden Sie im Artikel <ulink
|
|
url="&url.articles.releng.en;/article.html">
|
|
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="cvsup-round-robin">
|
|
<para>Warum ist <hostid>cvsup.FreeBSD.org</hostid>
|
|
kein Round-Robin-Eintrag im DNS, so dass Anfragen
|
|
auf alle CVsup-Server verteilt werden?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Die CVsup-Server gleichen sich stündlich
|
|
mit dem Hauptserver ab. Allerdings findet der
|
|
Abgleich nicht zur gleichen Zeit statt, daher
|
|
können einige Server neuere Quellen bereitstellen
|
|
als andere Server. Alle Server stellen jedoch
|
|
Quellen bereit, die maximal eine Stunde alt sind.
|
|
Wäre <hostid role="fqdn">cvsup.FreeBSD.org</hostid>
|
|
ein Round-Robin-Eintrag im DNS, der Benutzern einen
|
|
zufälligen Server zuteilt, könnten beim
|
|
zweiten Lauf von CVsup ältere Quellen als beim
|
|
ersten Lauf heruntergeladen werden.</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, dass 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, <emphasis>ohne</emphasis>
|
|
den gesamten Quellbaum herunterzuladen, indem Sie die
|
|
Einrichtung <ulink
|
|
url="&url.books.handbook;/synching.html#CTM">CTM</ulink>
|
|
benutzen.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="split-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 &man.split.1;, 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="&url.articles.contributing;/article.html">
|
|
FreeBSD unterstützen</ulink>.</para>
|
|
|
|
<para>Und Danke, dass Sie darüber
|
|
nachdenken!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question id="pnp-initialize">
|
|
<para>Wie werden Plug&Play ISA-Karten erkannt und
|
|
initialisiert?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Von: Frank Durda IV
|
|
<email>uhclem@nemesis.lonestar.org</email></para>
|
|
|
|
<para>Kurz gesagt gibt es nur wenige I/O-Ports über die
|
|
PnP-Karten antworten, wenn der Host fragt, ob jemand da
|
|
ist. Wenn die PnP-Erkennungsroutine startet, fragt sie,
|
|
ob irgendwelche PnP-Karten vorhanden sind und alle
|
|
PnP-Karten antworten mit ihrer Modellnummer auf demselben
|
|
Port, von dem sie auch gelesen haben. Die
|
|
Erkennungsroutine erhält also ein geodertes
|
|
<quote>Ja</quote> auf diese Frage. Mindestens ein Bit
|
|
wird bei dieser Antwort gesetzt sein. Die
|
|
Erkennungsroutine ist dann in der Lage, dafür zu
|
|
sorgen, dass Karten mit Modellnummern (zugeordnet von
|
|
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, dass unterschiedliche
|
|
Kartentypen desselben Herstellers unterschiedliche 32-Bit
|
|
Herstellerkennungen besitzen können. 32 Bit nur
|
|
für eindeutige Hersteller zu benötigen, scheint
|
|
etwas übertrieben.</para>
|
|
|
|
<para>Die niedrigen 32 Bit sind eine Seriennummer,
|
|
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, dass vermieden wird, dass bereits
|
|
von anderen Geräten benutzte Ressourcen verwendet
|
|
werden.</para>
|
|
|
|
<para>Dann werden die PnP-Geräte nochmals besucht und
|
|
ihre I/O, DMA, IRQ und Memory-Map-Adressen werden
|
|
zugeordnet. Die Geräte werden an diesen Stellen
|
|
sichtbar werden und dort bis zum nächsten Reboot
|
|
verbleiben. Allerdings hindert Sie auch nichts daran, sie
|
|
zu verschieben, wohin Sie wollen.</para>
|
|
|
|
<para>Im obigen Teil wurde sehr viel vereinfacht, aber die
|
|
grundlegende Idee sollte klar geworden sein.</para>
|
|
|
|
<para>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ängt 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, dass Zylindergruppen volllaufen.
|
|
Wie viele von Ihnen angemerkt haben, funktioniert es
|
|
schlecht für find. Die meisten Dateisysteme werden
|
|
von Archiven erstellt, die mit einer Tiefensuche (also
|
|
ftw) erstellt wurden. Diese Verzeichnisse werden
|
|
über die Zylindergruppen hinweg entfaltet und
|
|
erzeugen denkbar ungünstigste Voraussetzungen
|
|
für zukünftige Tiefensuchen. Falls man die
|
|
Gesamtzahl der zu erstellenden Verzeichnisse wüsste,
|
|
wäre die Lösung die, (gesamt / fs_ncg) pro
|
|
Zylindergruppe zu erstellen, bevor fortgefahren wird.
|
|
Offensichtlich müsste man eine Heuristik
|
|
erstellen, um die Zahl zu schätzen. Sogar die
|
|
Benutzung einer kleinen, fixen Zahl, z.B. 10, würde
|
|
eine Verbesserung um Größenordnungen ausmachen.
|
|
Um Wiederherstellungen von normalem Betrieb (wo der
|
|
derzeitige Algorithmus vermutlich sinnvoller ist) zu
|
|
unterscheiden, könnten Sie die Clusterung von bis zu
|
|
10 benutzen, wenn sie alle innerhalb eines
|
|
10-Sekunden-Fensters durchgeführt würden.
|
|
Jedenfalls ist mein Schluss, dass dies ein
|
|
fruchtbares Gebiet für Experimente ist.</para>
|
|
|
|
<para>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
|
|
angepassten Kernel benutzen, können nur
|
|
<emphasis>Sie</emphasis> uns sagen, wo der Fehler
|
|
auftrat.</para>
|
|
|
|
<para>Was Sie tun sollten, ist folgendes:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Notieren Sie sich den Wert des
|
|
Instruktionszeigers. Beachten Sie, dass der Teil
|
|
<literal>0x8:</literal> am Anfang in diesem Fall nicht
|
|
von Bedeutung ist; der Teil
|
|
<literal>0xf0xxxxxx</literal> ist der, den wir
|
|
wollen.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Tun Sie folgendes, wenn das System
|
|
rebootet:</para>
|
|
|
|
<screen>&prompt.user; <userinput>nm -n /kernel.that.caused.the.panic | grep f0xxxxxx</userinput></screen>
|
|
|
|
<para>wobei <literal>0xf0xxxxxx</literal> der Wert des
|
|
Instruktionszeigers ist. Es besteht die
|
|
Möglichkeit, dass Sie keinen exakten Treffer
|
|
erzielen, weil die Symbole in der Symboltabelle des
|
|
Kernels Funktionseinstiegspunkte sind und die Adresse
|
|
des 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, dass 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;-Prozess 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, dass ein Crash-Dump erhalten
|
|
bleibt, müssen Sie
|
|
<filename>/etc/rc.config</filename> editieren und
|
|
<literal>dumpdev</literal> so setzen, dass es auf
|
|
Ihre Swap-Partition zeigt. Das bewirkt, dass die
|
|
&man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um
|
|
Crash-Dumps zu ermöglichen. Sie können
|
|
&man.dumpon.8; auch manuell ausführen. Nach einer
|
|
Panik kann der Crash-Dump mit &man.savecore.8;
|
|
wiederhergestellt werden; wenn <literal>dumpdev</literal>
|
|
in <filename>/etc/rc.conf</filename> gesetzt ist, werden
|
|
die &man.rc.8;-Skripte &man.savecore.8; automatisch
|
|
ausführen und den Crash-Dump unter
|
|
<filename>/var/crash</filename> ablegen.</para>
|
|
|
|
<note>
|
|
<para>Crash-Dumps von 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, dass
|
|
genügend Speicherplatz in
|
|
<filename>/var/crash</filename> zur Verfügung
|
|
steht, um den Dump aufnehmen zu können. Alternativ
|
|
führen Sie &man.savecore.8; manuell aus und lassen
|
|
es den Crash-Dump in einem anderen Verzeichnis
|
|
wiederherstellen, in dem Sie mehr Platz haben. Es ist
|
|
möglich, die Größe des Crash-Dumps zu
|
|
begrenzen, indem <literal>options MAXMEM=(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
|
|
dass 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, dass es mehrere Seiten mit
|
|
wertvollen Informationen geben könnte; idealerweise
|
|
sollten Sie &man.script.1; benutzen, um sie alle
|
|
festzuhalten. Wenn Sie das vollständige Kernelimage
|
|
mit allen Debugginginformationen benutzen,
|
|
müssten Sie exakt die Zeile des
|
|
Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
|
|
Für gewöhnlich müssen Sie den Stack von
|
|
unten an zurückverfolgen, um die genaue
|
|
Ereignisabfolge, die zum Crash führte,
|
|
zurückzuverfolgen. Sie können &man.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 dass
|
|
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 Adressraum des Kernels
|
|
vergrössern oder verkleinern?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Standardmäßig beträgt der
|
|
Adressraum 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, dass Sie der Meinung sind, dass
|
|
256MB nicht ausreichen.</para>
|
|
|
|
<para>Wie also erhöhen Sie den Adressraum? Hier
|
|
gibt es zwei Aspekte. Erstens müssen Sie dem Kernel
|
|
sagen, dass er einen größeren Anteil des
|
|
Adressraums für sich selbst reservieren soll.
|
|
Da der Kernel am oberen Ende des Adressraums 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 Adressraum 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
|
|
Adressraumgröß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 Adressraums (in Byte) von
|
|
0x100100000; für einen Adressraum 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-Adressraums muss ein Vielfaches von vier
|
|
Megabyte betragen.</para>
|
|
|
|
<para>[&a.dg; fügt hinzu: <emphasis>Ich glaube, der
|
|
Kerneladressraum muss eine Zweierpotenz sein,
|
|
aber ich bin mir dessen nicht sicher. Der alte
|
|
(ältere) Bootcode pflegte die oberen Adressbits
|
|
zu mißbrauchen und ich glaube, er erwartete
|
|
mindestens 256MB Granularität.]</emphasis></para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|
|
<chapter id="acknowledgments">
|
|
<title>Danksagung</title>
|
|
|
|
<para>Dieses kleine unschuldige Dokument mit Häufig gestellten
|
|
Fragen wurde in den letzten 10 Jahren von Hunderten, wenn
|
|
nicht Tausenden, geschrieben, neu geschrieben, überarbeitet,
|
|
gefaltet, verdreht, durcheinander gebracht, wieder aufgebaut,
|
|
verstümmelt, seziert, durchgekaut, überdacht, und
|
|
wiederbelebt. Und das nicht nur einmal.</para>
|
|
|
|
<para>Wir möchten allen dafür Verantwortlichen danken
|
|
und wir fordern auch Sie auf, dieser Gruppe <ulink
|
|
url="&url.articles.contributing;/article.html">beizutreten</ulink>,
|
|
um diese FAQ noch besser zu machen.</para>
|
|
|
|
<para>Folgende Personen haben durch die Beantwortung von Fragen,
|
|
sowie durch Hinweise und Kommentare an der Entstehung der
|
|
deutschen Übersetzung mitgewirkt:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Ross Alexander</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jhb;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.nik;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Glen Foster</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Oliver Fromme</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Frank Gruender</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Chris Hill</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>James Howard</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jkh;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.alex;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.jmas;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Mike Meyer</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Dan O'Connor</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eric Ogren</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&a.de.pierau;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Oliver Schneider</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Christoph Sold</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Und an alle anderen, an die wir nicht gedacht haben.
|
|
Entschuldigung und herzlichen Dank!</para>
|
|
</chapter>
|
|
&bibliography;
|
|
</book>
|