diff --git a/de_DE.ISO8859-1/books/faq/Makefile b/de_DE.ISO8859-1/books/faq/Makefile
new file mode 100644
index 0000000000..e2148ca58d
--- /dev/null
+++ b/de_DE.ISO8859-1/books/faq/Makefile
@@ -0,0 +1,30 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD German Documentation Project
+#
+# Build the FreeBSD FAQ in the German translation
+#
+# $FreeBSD$
+# $FreeBSDde: de-docproj/books/faq/Makefile,v 1.4 2001/02/01 21:24:28 alex Exp $
+#
+
+MAINTAINER=de-bsd-translators@DE.FreeBSD.org
+
+DOC?= book
+
+FORMATS?= html-split html
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+#
+# SRCS lists the individual SGML files that make up the document. Changes
+# to any of these files will force a rebuild
+#
+
+# SGML content
+SRCS= book.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml
new file mode 100644
index 0000000000..1646022c32
--- /dev/null
+++ b/de_DE.ISO8859-1/books/faq/book.sgml
@@ -0,0 +1,13672 @@
+
+%man;
+
+%authors;
+
+%translators;
+]>
+
+
+
+
+
+ Häufig gestellte Fragen zu FreeBSD 2.X, 3.X und
+ 4.X
+
+ Frequently Asked Questions für FreeBSD 2.X, 3.X und
+ 4.X
+
+
+ The FreeBSD German Documentation
+ Project
+
+
+ Deutsche Übersetzung von Robert S. F.
+ Drehmel, Dirk Gouders und Udo Erdelhoff
+
+
+
+ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.110 2001/01/29 21:14:39 ue Exp $
+
+
+ Dies ist die FAQ für die FreeBSD-Versionen 2.X, 3.X
+ und 4.X. Alle Einträge sollten für FreeBSD ab
+ Version 2.0.5 relevant sein, andernfalls wird darauf explizit
+ hingewiesen. Alle mit <XXX> gekennzeichneten
+ Einträge befinden sich in Arbeit. Falls Sie daran
+ interessiert sein sollten, an diesem Projekt mitzuhelfen,
+ senden Sie eine Mail an die Mailingliste des FreeBSD German
+ Documentation Project
+ de-bsd-translators@de.FreeBSD.org. Die
+ aktuelle Version dieses Dokuments ist ständig auf dem
+ FreeBSD
+ World-Wide-Web-Server verfügbar. Es kann auch
+ per HTTP als eine große HTML-Datei heruntergeladen werden oder
+ als Textdatei, im PostScript-, PDF- und anderen Formaten vom
+ FreeBSD
+ FTP-Server. Sie können die FAQ auch
+ durchsuchen.
+
+
+
+
+ Vorwort
+
+ Willkommen zur FreeBSD 2.X-4.X FAQ!
+
+ Wie auch bei den Usenet FAQs üblich, wird mit diesem
+ Dokument beabsichtigt, die am häufigsten gestellten Fragen
+ bezüglich des Betriebssystems FreeBSD zu umschließen
+ (und sie natürlich 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.
+
+ Wir haben uns die größte Mühe gegeben, diese
+ FAQ so lehrreich wie möglich zu gestalten; falls Sie
+ irgendwelche Vorschläge haben, wie sie verbessert werden
+ kann, senden Sie diese bitte an den &a.faq;.
+
+
+
+
+ Was ist FreeBSD?
+
+
+
+ FreeBSD ist, kurz gesagt, ein UN*X-ähnliches
+ Betriebssystem für die Plattformen i386 und
+ Alpha/AXP, das auf der 4.4BSD-Lite-Release
+ der University of California at Berkeley (UCB) basiert;
+ außerdem flossen einige Erweiterungen aus der
+ 4.4BSD-Lite2-Release mit ein. Es basiert
+ außerdem indirekt auf der von William Jolitz unter
+ dem Namen 386BSD herausgebrachten
+ Portierung der Net/2-Release der UCB auf
+ die i386-Plattform - allerdings ist nur wenig vom
+ 386BSD-Code übriggeblieben. Eine umfassendere
+ Beschreibung darüber, was FreeBSD ist und wie Sie es
+ für Ihre Zwecke verwenden können, finden Sie auf
+ der FreeBSD home
+ page.
+
+ Unternehmen, Internet Service Provider, Forscher,
+ Computerfachleute, Studenten und Privatnutzer auf der
+ ganzen Welt nutzen FreeBSD für die Arbeit, die
+ Ausbildung oder zur Freizeitgestaltung. Sie finden einige
+ von ihnen in der FreeBSD
+ Gallerie.
+
+ Ausführlichere Informationen zu FreeBSD, finden
+ Sie im FreeBSD
+ Handbuch.
+
+
+
+
+
+ Welches sind die Ziele von FreeBSD?
+
+
+
+ Die Ziele von FreeBSD sind es, Software zur Nutzung
+ für beliebige Zwecke, bedingungslos zur
+ Verfügung zu stellen. Viele von uns haben
+ entscheidend zur Erstellung des Codes (und zum Projekt)
+ beigetragen und hätten jetzt oder in Zukunft
+ sicherlich nichts gegen einen geringen finanziellen
+ Ausgleich einzuwenden, aber wir beabsichtigen definitiv
+ nicht, darauf zu bestehen. Wir sind der Meinung,
+ daß unsere Mission 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.
+
+ Der Code in unserem Quellbaum, der der GNU General
+ Public License (GPL) oder der GNU Library General Public
+ License (LGPL) unterliegt, ist mit zusätzlichen,
+ geringfügigen Bedingungen verknüpft, jedoch
+ handelt es sich dabei lediglich um erzwungene
+ Bereitstellung statt des sonst üblichen Gegenteils.
+ Auf Grund der zusätzlichen Komplexität, die
+ durch den kommerziellen Einsatz von GPL Software entstehen
+ kann, bemühen wir uns jedoch, solche Software, wo
+ möglich, durch solche, die dem etwas lockereren BSD
+ Copyright unterliegt, zu ersetzen.
+
+
+
+
+
+ Warum heißt es FreeBSD?
+
+
+
+
+
+ Es darf kostenlos genutzt werden - sogar von
+ kommerziellen Benutzern.
+
+
+
+ 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.
+
+
+
+ Jedem ist es freigestellt, Code für
+ Verbesserungen und/oder die Behebung von Fehlern
+ einzusenden und ihn zum Quellbaum hinzufügen zu
+ lassen (dies ist natürlich Gegenstand von ein
+ oder zwei offensichtlichen Klauseln).
+
+
+
+ Es wird darauf hingewiesen, daß das englisch
+ Wort free hier in den Bedeutungen
+ umsonst und Sie können tun, was
+ immer Sie möchten genutzt wird. Abgesehen
+ von ein oder zwei Dingen, die Sie mit dem FreeBSD-Code
+ nicht tun können (z.B. vorgeben,
+ ihn geschrieben zu haben), können Sie damit
+ tatsächlich tun, was auch immer Sie
+ möchten.
+
+
+
+
+
+ Welches ist die aktuelle FreeBSD-Version?
+
+
+
+ Version 4.2
+ ist die aktuelle, STABLE Version; sie
+ ist im November 2000 erschienen. Gleichzeitig ist sie
+ auch die aktuelle
+ RELEASE-Version.
+
+ Kurz erläutert, -STABLE ist
+ für ISPs und andere Benutzer gedacht, die mehr Wert
+ auf Stabilität und eine niedrige
+ Änderungsfrequenz als auf die neuesten Features im
+ aktuellen -CURRENT Snapshot legen.
+ Releases können aus jedem Zweig entstehen, Sie
+ sollten -CURRENT allerdings nur dann
+ benutzen, wenn Sie auf die erhöhte Flüchtigkeit
+ (im Vergleich zu -STABLE) auch
+ vorbereitet sind.
+
+ Releases entstehen nur alle paar Monate. Viele
+ Leute halten ihre Systeme aktueller (lesen Sie die Fragen
+ zu FreeBSD-CURRENT und
+ FreeBSD-STABLE), aber das
+ erfordert ein erhöhtes Engagement, da die Sourcen
+ sich ständig verändern.
+
+
+
+
+
+ Was ist FreeBSD-CURRENT?
+
+
+
+
+ FreeBSD-CURRENT ist die Entwicklungsversion des
+ Betriebssystems, die zu gegebener Zeit zu 5.0-RELEASE
+ werden wird. Als solche ist sie lediglich für
+ Entwickler, die am System mitarbeiten und für
+ unentwegte Bastler von Interesse. Details zum Betrieb von
+ -CURRENT finden Sie im
+ entsprechenden Abschnitt des Handbuchs.
+
+ Falls Sie nicht mit dem Betriebssystem vertraut sind
+ oder nicht in der Lage sein sollten, den Unterschied
+ zwischen einen echten und einem temporären Problem zu
+ erkennen, sollten Sie FreeBSD-CURRENT nicht verwenden.
+ Dieser Zweig entwickelt sich manchmal sehr schnell weiter
+ und kann gelegentlich für mehrere Tage hintereinander
+ nicht installierbar sein. Von Personen, die
+ FreeBSD-CURRENT verwenden, wird erwartet, daß Sie
+ dazu in der Lage sind, Probleme zu analysieren und nur
+ dann von ihnen berichten, wenn es sich um Fehler und nicht
+ um kurzzeitige Störungen handelt.
+ Fragen wie make world produziert Fehlermeldungen
+ bezüglich Gruppen werden in der -CURRENT
+ Mailingliste manchmal nicht beachtet.
+
+ Jeden Tag wird der aktuelle Entwicklungsstand in den
+ Zweigen -CURRENT und -STABLE in einer Snapshot
+ Releases festgehalten. Mittlerweile werden sogar CDROM
+ Distributionen dieser gelegentlichen Snapshots zur
+ Verfügung gestellt. Die Ziele dieser Snapshot
+ Releases sind:
+
+
+
+ Die aktuelle Version der Installationssoftware zu
+ testen.
+
+
+
+ Personen, die -CURRENT oder -STABLE benutzen
+ möchten, aber nicht über die nötige
+ Zeit und/oder Bandbreite verfügen, um
+ tagesaktuell zu bleiben, soll eine bequeme
+ Möglichkeit geboten werden, es auf ihr System zu
+ bringen.
+
+
+
+ Die Erhaltung von Referenzpunkten des fraglichen
+ Codes, für den Fall, daß wir später
+ einmal ernsthaften Schaden anrichten sollten (obwohl
+ CVS verhindern sollte, daß solche Situationen
+ entstehen :)
+
+
+
+ Sicherzustellen, daß zu testende, neue
+ Merkmale an eine möglichst großen Zahl
+ potentieller Tester gelangen.
+
+
+
+ Von keinem -CURRENT Snapshot kann
+ Produktionsqualität 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.
+
+ Snapshot Releases von 5.0-CURRENT sind unter
+ ftp://current.FreeBSD.org/pub/FreeBSD/
+ verfügbar; wenn Sie einen Snapshot von 4-STABLE
+ erhalten möchten, lautet die Adresse releng4.FreeBSD.org.
+ Zur Zeit (Mai 2000) werden keine Snapshots von 3-STABLE
+ erstellt.
+
+ In der Regel wird jeden Tag ein Snapshot jedes zur
+ Zeit aktiven Zweiges erstellt.
+
+
+
+
+
+ Was ist das Konzept von FreeBSD-STABLE?
+
+
+
+ Zur Zeit, als FreeBSD 2.0.5 herausgegeben wurde, haben
+ wir entschieden, die Entwicklung von FreeBSD zweizuteilen.
+ Ein Zweig wurde -STABLE genannt. In
+ diesem Zweige werden nur ausgetestete Fehlerbehebungen und
+ kleine, inkrementelle Änderungen aufgenommen. Dieser
+ Zweig ist für Anbieter von Internetdiensten und
+ andere kommerzielle Unternehmen gedacht, für die
+ plötzliche Veränderungen und experimentelle
+ Features unerwünscht sind. Der andere Zweig war
+ -CURRENT.
+ Im wesentlichen stellt eine ununterbrochene Linie zum
+ 4.0-RELEASE (und darüber hinaus) dar, seit 2.0
+ herausgegeben worden ist. Die folgende ASCII-Zeichnung
+ soll verdeutlichen, wie das aussieht:
+
+
+ 2.0
+ |
+ |
+ | [2.1-STABLE]
+ *ZWEIG* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-STABLE endet]
+ | (März 1997)
+ |
+ |
+ | [2.2-STABLE]
+ *ZWEIG* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [Ende]
+ | (März 1997) (Okt 97) (Apr 98) (Jul 98) (Dez 98)
+ |
+ |
+ 3.0-SNAPs (begonnen im 1. Quartal 1997)
+ |
+ |
+ 3.0-RELEASE (Okt 1998)
+ |
+ | [3.0-STABLE]
+ *ZWEIG* 3.1-RELEASE (Feb 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1
+ | (Mai 1999) (Sep 1999) (Dec 1999) (Jun 2000) (Juli 2000)
+ |
+ | [4.0-STABLE]
+ *ZWEIG* 4.0 (März 2000) -> 4.1 -> 4.1.1 -> 4.2 -> ... zukünftige 4.x Releases ...
+ | (Jul 2000) (Sep 2000) (Nov 2000)
+ |
+ |
+ \|/
+ +
+ [5.0-CURRENT wird fortgesetzt]
+
+
+ Der -CURRENT-Zweig entwickelt sich langsam in Richtung
+ 5.0 und darüber hinaus weiter. Der frühere
+ 2.2-STABLE-Zweig wurde mit der Version 2.2.8 stillgelegt
+ und wurde durch 3-STABLE ersetzt, 3.5.1 (die letzte
+ 3.x-Release) erschien im Juli 2000. Im Mai 2000 wurde der
+ Zweig 3-STABLE fast völlig von 4-STABLE ersetzt (auch
+ wenn 3.5 erst nach diesem Zeitpunkt herausgegeben wurde).
+ 4.2-RELEASE erschien im November 2000. 4-STABLE ist der
+ Zweig, auf den sich die Entwicklung zur Zeit konzentriert,
+ aber wichtige Fehlerkorrekturen (hauptsächlich im
+ Bereich Sicherheit) werden immer noch auf 3-STABLE
+ übertragen. Der 3.x-Zweig wird wahrscheinlich im
+ Sommer 2000 offiziell eingestellt. 5.0-CURRENT ist jetzt
+ der aktive Zweig, ein Datum für eine
+ Release steht noch nicht fest.
+
+
+
+
+
+ Wann werden FreeBSD-Versionen erstellt?
+
+
+
+ Prinzipiell gibt das FreeBSD Core Team nur dann neue
+ FreeBSD-Versionen heraus, wenn es der Meinung ist,
+ daß genügend neue Bestandteile und/oder
+ Fehlerkorrekturen vorliegen, die dies rechtfertigen.
+ Außerdem muß es davon überzeugt sind,
+ daß die durchgeführten Änderungen derart
+ ins System integriert sind, daß eine
+ Beeinträchtigung der Stabilität der Version
+ ausgeschlossen ist. Viele Benutzer halten dies für
+ einen großen Vorteil von FreeBSD, obwohl es manchmal
+ frustrierend sein kann, so lange auf die
+ Verfügbarkeit der aktuellsten Leckerbissen zu
+ warten...
+
+ Neue Versionen werden durchschnittlich alle vier
+ Monate erstellt.
+
+ Für diejenigen, die ein wenig mehr Spannung
+ brauchen (oder möchten), werden täglich
+ Snapshots herausgegeben... siehe oben.
+
+
+
+
+
+ Gibt es FreeBSD nur für PCs?
+
+
+
+ Seit Version 3.0 ist FreeBSD für die DEC
+ Alpha und x86 Architekturen verfügbar. Es
+ wurde auch Interesse an einer Portierung auf die
+ Plattformen SPARC, PowerPC und IA64 bekundet.
+
+ Falls Ihre Maschine eine andere Architektur aufweist
+ und Sie unbedingt sofort etwas benötigen, schlagen
+ wir vor, daß Sie sich einmal NetBSD oder OpenBSD
+ ansehen.
+
+
+
+
+
+ Wer ist für FreeBSD verantwortlich?
+
+
+
+ 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 Core
+ Team von etwa 9 Personen geführt. Es gibt
+ ein weitaus größeres Team von über 200
+ Committers,
+ die dazu autorisiert sind, Änderungen am FreeBSD
+ Quellbaum durchzuführen.
+
+ Jedoch werden die meisten nicht-trivialen
+ Änderungen zuvor in den Mailinglisten diskutiert und es
+ bestehen keinerlei Einschränkungen darüber, wer
+ sich an diesen Diskussionen beteiligen darf.
+
+
+
+
+
+ Woher kann ich FreeBSD erhalten?
+
+
+
+ Jede bedeutende Ausgabe von FreeBSD ist per
+ Anonymous-FTP vom FreeBSD FTP
+ Server erhältlich:
+
+
+
+ Die aktuelle Ausgabe von 3.X-STABLE,
+ 3.5.1-RELEASE, finden Sie im Verzeichnis
+ 3.5.1-RELEASE.
+
+
+
+ Die aktuelle Ausgabe von 4-STABLE, 4.2-RELEASE,
+ finden Sie im Verzeichnis
+ 4.2-RELEASE.
+
+
+
+ 4.X
+ Snapshots werden in der Regel einmal
+ täglich erstellt.
+
+
+
+ Einmal täglich werden 5.0
+ Snapshot Ausgaben vom -CURRENT-Zweig erstellt, die
+ allerdings nur den Testern und Entwicklern an
+ vorderster Front dienen.
+
+
+
+ FreeBSD ist außerdem auf CDROM von folgenden
+ Stellen erhältlich:
+
+ BSDi
+4041 Pike Lane, Suite F
+Concord, CA
+94520
+USA
+
+Orders: +1 800 786-9907
+Questions: +1 925 674-0783
+FAX: +1 925 674-0821
+email: BSDi Orders address
+WWW: BSDi Home page
+
+ In Australia, finden Sie es unter:
+
+ Advanced Multimedia Distributors
+Factory 1/1 Ovata Drive
+Tullamarine, Melbourne
+Victoria
+Australia
+Voice: +61 3 9338 6777
+
+CDROM Support BBS
+17 Irvine St
+Peppermint Grove, WA
+6011
+Voice: +61 9 385-3793
+Fax: +61 9 385-2360
+
+ Und in Großbritannien:
+
+ The Public Domain & Shareware Library
+Winscombe House, Beacon Rd
+Crowborough
+Sussex. TN6 1UL
+Voice: +44 1892 663-298
+Fax: +44 1892 667-473
+
+
+
+
+
+ Woher bekomme ich Informationen zu den FreeBSD
+ Mailinglisten?
+
+
+
+ Vollständige Informationen finden Sie im Handbucheintrag
+ über Mailinglisten.
+
+
+
+
+
+ Wo finde ich die FreeBSD-spezifischen Informationen
+ zum Jahr-2000-Problem?
+
+
+
+ Vollständige Informationen finden Sie auf der
+ FreeBSD
+ Jahr-2000-Seite.
+
+
+
+
+
+ Welche Newsgruppen existieren zu FreeBSD?
+
+
+
+ Sie finden alle Informationen hierzu im Handbucheintrag zu
+ Newsgruppen.
+
+
+
+
+
+ Gibt es FreeBSD IRC (Internet Relay Chat)
+ Kanäle?
+
+
+
+ Ja, die meisten großen IRC Netze bieten einen
+ FreeBSD Chat-Channel:
+
+
+
+ Channel FreeBSD im EFNet ist
+ ein FreeBSD-Forum, aber gehen Sie nicht dorthin, um
+ technische Unterstützung zu suchen, oder, um zu
+ versuchen, die Leute dort dazu zu bringen, Ihnen dabei
+ zu Helfen, das mühselige Lesen von Manuals zu
+ ersparen oder eigene Nachforschungen zu betreiben. Es
+ ist in erster Linie ein Chat-Channel und die Themen
+ dort umfassen Sex, Sport oder Kernwaffen ebensogut,
+ wie FreeBSD. Sie wurden gewarnt! Der Channel ist auf
+ dem Server irc.chat.org
+ verfügbar.
+
+
+
+ Der Channel #FreeBSDhelp im
+ EFNet hat sich dagegen auf die Unterstützung der
+ Benutzer von FreeBSD spezialisiert. In diesem Channel
+ sind Fragen deutlich willkommener als im Channel
+ #FreeBSD.
+
+
+
+ Der Channel #FreeBSD im DALNET
+ ist in den USA unter irc.dal.net und
+ in Europa unter irc.eu.dal.net
+ verfügbar.
+
+
+
+ Der Channel #FreeBSD im
+ UNDERNET ist in den USA unter
+ us.undernet.org und in Europa unter
+ eu.undernet.org verfügbar. Es
+ handelt sich hierbei um einen Hilfe-Channel, man wird
+ Sie daher auf Dokumente verweisen, die Sie selbst
+ lesen müssen.
+
+
+
+ Der Channel #FreeBSD im HybNet ist auf
+ irc.FreeBSD.org verfübar.
+ Dieser Channel ist ein
+ Hilfe-Channel.
+
+
+
+ Alle diese Kanäle unterscheiden sich voneinander
+ und sind nicht miteinander verbunden. Ebenso
+ unterscheiden sich Ihre Chat-Stile, weshalb es sein kann,
+ daß Sie zunächst alle Kanäle ausprobieren
+ müssen, um den zu Ihrem Chat-Stil passenden zu
+ finden. Hier gilt, was für *jeden* IRC-Verkehr gilt:
+ falls sie sich leicht angegriffen fühlen oder nicht
+ mit vielen jungen (und einigen älteren) Leuten,
+ verbunden mit dem nutzlosen Gezanke umgehen können,
+ dann ziehen Sie es gar nicht erst in
+ Erwägung.
+
+
+
+
+
+ Bücher über FreeBSD
+
+
+
+ Es gibt ein FreeBSD Documentation Project, das Sie
+ über die Mailingliste freebsd-doc
+ erreichen (oder an dem Sie besser noch teilnehmen)
+ können: freebsd-doc@FreeBSD.org.
+ Diese Liste dient zu Diskussionen über die
+ FreeBSD-Dokumentation. Für Fragen bezüglich
+ FreeBSD gibt es die
+ freebsd-questions-Mailingliste:
+ freebsd-questions@FreeBSD.org.
+
+ Es gibt ein FreeBSD-Handbuch, das sie
+ hier finden: Das
+ FreeBSD-Handbuch. Beachten Sie bitte, daß
+ es sich noch in Arbeit befindet, weshalb einige Teile
+ nicht vollständig oder veraltet sein
+ könnten.
+
+ The Complete FreeBSD heißt der
+ definitive Führer zu FreeBSD, verfaßt von Greg
+ Lehey und herausgegeben von BSDi (früher Walnut
+ Creek) CDROM Books. Mittlerweile in der zweiten Ausgabe,
+ enthält das Buch 1750 Seiten mit Anweisungen zur
+ Installation & Systemadministration, Hilfe zur
+ Programmeinrichtung und Manuals. Das Buch (und die
+ aktuelle FreeBSD-Ausgabe) können Sie bei BSDi, bei CheapBytes oder
+ bei Ihrem Buchhändler bestellen. Die ISBN lautet
+ 1-57176-227-2.
+
+ Da FreeBSD auf Berkeley 4.4BSD-Lite basiert, sind die
+ meisten 4.4BSD Manuals für FreeBSD anwendbar.
+ O'Reilly and Associates geben diese Manuals
+ heraus:
+
+
+
+
+
+
+
+ 4.4BSD System Manager's Manual
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 804 pages
+
+
+
+ ISBN:
+ 1-56592-080-5
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD User's Reference Manual
+
+
+
+ By Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 905 pages
+
+
+
+ ISBN:
+ 1-56592-075-9
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD User's Supplementary
+ Documents
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition July 1994, 712 pages
+
+
+
+ ISBN:
+ 1-56592-076-7
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD Programmer's Reference Manual
+
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 886 pages
+
+
+
+ ISBN:
+ 1-56592-078-3
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD Programmer's Supplementary
+ Documents
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition July 1994, 596 pages
+
+
+
+ ISBN:
+ 1-56592-079-1
+
+
+
+
+
+
+
+ Eine Beschreibung im WWW finden Sie unter: Beschreibung
+ zu 4.4BSD Büchern. Aufgrund geringer
+ Nachfrage könnten diese Manuals aber schwer zu
+ bekommen sein.
+
+ Für einen tieferen Einblick in die Organisation
+ des 4.4BSD-Kernels können Sie mit diesem Buch nichts
+ falsch machen:
+
+
+
+
+
+ McKusick, Marshall Kirk, Keith Bostic,
+ Michael J Karels, and John Quarterman
+
+
+
+ The Design and Implementation of the 4.4BSD
+ Operating System
+
+
+
+ Reading, Mass.: Addison-Wesley, 1996
+
+
+
+ ISBN
+ 0-201-54979-4
+
+
+
+
+
+ Ein gutes Buch zur Systemadministration:
+
+
+
+
+
+ Evi Nemeth, Garth Snyder, Scott Seebass &
+ Trent R. Hein
+
+
+
+ Unix System Administration Handbook
+
+
+
+ Prentice-Hall, 1995
+
+
+
+ ISBN:
+ 0-13-151051-7
+
+
+
+
+
+
+
+ Achten Sie unbedingt darauf, daß Sie die
+ zweite Ausgabe im roten Umschlag, anstatt der ersten
+ Version bekommen.
+
+
+
+ Dieses Buch umfaßt Grundlagen, sowie TCP/IP,
+ DNS, NFS, SLIP/PPP, Sendmail, INN/NNTP, Printing, usw.
+ Das Buch ist zwar teuer (etwa US$45-$55), aber
+ seinen Preis wert. Außerdem enthält es eine
+ CDROM mit dem Quellcode für verschiedene Werkzeuge;
+ allerdings sind die meisten von ihnen auch auf der FreeBSD
+ 2.2.6R CDROM (und die FreeBSD-CDROM enthält
+ häufig neuere Versionen).
+
+
+
+
+
+ Wie greife ich auf die Datenbank mit Problemberichten
+ zu?
+
+
+
+ Die Datenbank mit Problemberichten (PR - Problem
+ Report) Änderungsanfragen von Benutzern kann
+ über die Web-basierte PR- Abfrage-Schnittstelle
+ abgefragt und über das PR-Einsende-Interface
+ können Einsendungen vorgenommen werden. Der
+ send-pr(1)-Befehl kann auch dazu
+ genutzt werden, Problemberichte oder
+ Änderungsanträge per Email einzusenden.
+
+
+
+
+
+ Ist die Dokumentation auch in anderen Formaten
+ verfügbar? Zum Beispiel als einfacher Text (ASCII)
+ oder als Postscript?
+
+
+
+ Ja. Werfen Sie einen Blick auf das Verzeichnis /pub/FreeBSD/doc/
+ auf dem FreeBSD FTP-Server. Dort finden sie Dokumentation
+ in vielen verschiedenen Format.
+
+ Die Dokumentation wurde nach vielen verschiedenen
+ Kriterien sortiert. Die Kriterien sind:
+
+
+
+ Der Name des Dokumentes, z.B.
+ FAQ oder
+ Handbuch.
+
+
+
+ Die Sprache und der Zeichensatz, die in dem
+ Dokument verwendet werden. Diese entsprechen den
+ Anpassungen, die Sie auf Ihrem FreeBSD-System im
+ Verzeichnis /usr/share/locale
+ finden. Zur Zeit werden die folgenden Sprachen und
+ Zeichensätze benutzt:
+
+
+
+
+
+ Name
+
+ Bedeutung
+
+
+
+
+
+ en_US.ISO_8859-1
+
+ US Englisch
+
+
+
+ es_ES.ISO_8859-1
+
+ Spanisch
+
+
+
+ fr_FR.ISO_8859-1
+
+ Französisch
+
+
+
+ ja_JP.eucJP
+
+ Japanisch (EUC kodiert)
+
+
+
+ ru_RU.KOI8-R
+
+ Russisch (KOI8-R kodiert)
+
+
+
+ zh_TW.Big5
+
+ Chinisch (Big5 kodiert)
+
+
+
+
+
+
+ Einige Dokumente sind nicht in allen Sprachen
+ verfügbar.
+
+
+
+
+ Das Format des Dokumentes. Die Dokumentation wird
+ in verschiedenen Formaten erzeugt, um eine
+ möglichst große Flexibilität zu
+ erreichen. Zur Zeit werden die folgenden Formate
+ unterstützt.
+
+
+
+
+
+ Format
+
+ Erklärung
+
+
+
+
+
+ html-split
+
+ Viele kleine HTML-Dateien, die sich
+ gegenseitig referenzieren.
+
+
+
+ html
+
+ Eine große HTML-Datei, die das
+ komplette Dokument enthält.
+
+
+
+ pdb
+
+ Palm Pilot Datenbank für das
+ Programm iSilo.
+
+
+
+ pdf
+
+ Adobe's Portable Document Format
+
+
+
+ ps
+
+ Postscript
+
+
+
+ rtf
+
+ Microsoft's Rich Text Format
+
+ Die Seitennummern werden nicht
+ automatisch aktualisiert, wenn Sie diese
+ Datei in Word laden. Wenn Sie das
+ Dokument geladen haben, müssen Sie
+ Sie
+ CTRL+A,
+ CTRL+END,
+ F9 eingeben, um die
+ Seitennummern akualisieren zu
+ lassen.
+
+
+
+
+
+ txt
+
+ Ganz normaler Text
+
+
+
+
+
+
+
+ Das zur Komprimierung verwendete Programm. Zur
+ Zeit werden drei verschiedene Methoden
+ benutzt.
+
+
+
+ Wenn die Dokumentation im Format
+ html-split vorliegt, werden die
+ Dateien mit &man.tar.1; zusammengefaßt. Die
+ so entstandene .tar Datei
+ wird dann mit einer der unten genannten Methoden
+ komprimiert.
+
+
+
+ Bei allen anderen Formaten existiert nur eine
+ Datei mit dem Namen
+ book.format
+ (z.B., book.pdb,
+ book.html, und so
+ weiter).
+
+ Diese Dateien werden mit drei verschiedenen
+ Programmen komprimiert.
+
+
+
+
+
+ Programm
+
+ Beschreibung
+
+
+
+
+
+ zip
+
+ Das Zip Format. Wenn Sie diese
+ Dateien unter FreeBSD auspacken wollen,
+ müssen sie vorher den Port
+ archivers/unzip
+ installieren.
+
+
+
+ gz
+
+ Das GNU Zip format. Sie können
+ diese Dateien mit &man.gunzip.1;
+ entpacken, dieses Programm ist Bestandteil
+ von FreeBSD.
+
+
+
+ bz2
+
+ Das BZip2 Format. Es wird selten
+ benutzt, erzeugt aber normalerweise
+ kleinere Archive. Sie müssen den
+ Port archivers/bzip2
+ installieren, um diese Dateien entpacken
+ zu können.
+
+
+
+
+
+ Ein Beispiel: Die mit BZip2 gepackte Version
+ des Handbuchs im Postscript-Format hat den Namen
+ book.sgml.bz2 und ist im
+ Verzeichnis handbook/ zu
+ finden.
+
+
+
+ Die formatierte Dokumentation ist auch als
+ Package verfügbar, siehe unten.
+
+
+
+
+
+ Nachdem Sie das Format und das Kompressionsverfahren
+ ausgewählt haben, müssen Sie sich entscheiden,
+ ob Sie das Dokument in Form eines FreeBSD
+ Package herunterladen
+ möchten.
+
+ Der Vorteil dieser Variante, daß Sie die
+ Dokumentation mit normalen Tools wie &man.pkg.add.1; und
+ &man.pkg.delete.1; verwalten können.
+
+ Wenn Sie das Package herunterladen und installieren
+ wollen, müssen Sie den richtigen Dateinamen kennen.
+ Die Datei liegen in einem separaten Verzeichnis mit dem
+ Namen packages. Die Dateinamen
+ nutzen das Schema
+ Dokument-Name.Sprache.Zeichensatz.Format.tgz.
+
+ Ein Beispiel: Die englische Version der FAQ im
+ PDF-Format ist in dem Package mit dem Namen
+ faq.en_US.ISO_8859-1.pdf.tgz
+ enthalten.
+
+ Sie können daher das englische PDF FAQ Package
+ mit den folgenden Befehlen installieren.
+
+
+&prompt.root; pkg_add ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO_8859-1.pdf.tgz
+
+
+ Danach können Sie mit &man.pkg.info.1; nachsehen,
+ wno die Datei installiert wurde.
+
+
+&prompt.root; pkg_info -f faq.en_US.ISO_8859-1.pdf
+Information for faq.en_US.ISO_8859-1.pdf:
+
+Packing list:
+ Package name: faq.en_US.ISO_8859-1.pdf
+ CWD to /usr/share/doc/en_US.ISO_8859-1/books/faq
+File: book.pdf
+ CWD to .
+File: +COMMENT (ignored)
+File: +DESC (ignored)
+
+
+ Wie sie sehen können, wurde die Datei
+ book.pdf im Verzeichnis
+ /usr/share/doc/en_US.ISO_8859-1/books/faq
+ installiert.
+
+ Wenn sie die Packages nicht benutzen, müssen Sie
+ die komprimierten selber herunterladen, auspacken und die
+ richtigen Stellen kopieren.
+
+ Wenn Sie zum Beispiel die mit &man.gzip.1; gepackte
+ "split HTML"-Version der englischen FAQ herunterladen und
+ installieren wollten, bräuchten Sie die Datei
+ en_US.ISO_8859-1/books/faq/book.html-split.tar.gz.
+ Um diese Datei herunterzuladen und auszupacken, wären
+ die folgenden Schritte notwendig.
+
+
+&prompt.root; fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO_8859-1/books/faq/book.html-split.tar.gz
+&prompt.root; gzip -d book.html-split.tar.gz
+&prompt.root; tar xvf book.html-split.tar
+
+
+ Danach haben Sie eine Sammlung vieler kleiner
+ .html Datei. Die wichtigste Datei
+ hat Namen index.html 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.
+
+
+
+
+
+ Ich möchte einen FreeBSD-Web-Mirror
+ betreiben!
+
+
+
+ Sicherlich! Es gibt mehrere Möglichkeiten, die
+ Web-Seiten zu spiegeln.
+
+
+
+ Mit CVSUP: Sie
+ können die formatierten Dateien per
+ CVSUP von einem
+ entsprechenden Server bekommen.
+
+ Wie Sie die Webseiten erhalten können,
+ können Sie der entsprechender Beispieldatei
+ entnehmen, die auf Ihrem System als
+ /usr/share/examples/cvsup/www-supfile
+ verfübar sein sollte.
+
+
+
+ Mit einem FTP-Spiegel: Sie können sich die
+ eine Kopie der Quelldateien für den Web-Server
+ mit einem FTP-Spiegelwerkzeug Ihrer Wahl
+ herunterladen. Allerdings müssen Sie diese
+ Quelldateien erst übersetzen, bevor Sie sie
+ verwenden können. Starten Sie einfach bei
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www.
+
+
+
+
+
+
+
+ Ich möchte die Dokumentation in Friesisch
+ übersetzen.
+
+
+
+ Nun, wir können zwar nichts bezahlen, aber evtl.
+ können wir eine Gratis-CD oder ein T-Shirt und einen
+ Eintrag im Handbuch arrangieren, wenn Sie eine
+ Übersetzung der Dokumentation einsenden. Bevor Sie
+ mit der Übersetzung beginnen, sollten Sie sich
+ allerdings die Mailingliste
+ freebsd-doc wenden, die unter der
+ Adresse freebsd-doc@FreeBSD.org zu
+ erreichen ist. Es ist durchaus möglich, daß
+ Sie dort jemanden finden, der Ihnen bei der Arbeit hilft;
+ es ist genausogut möglich, daß ein Team bereits
+ an der Übersetzung in die von Ihnen gewünschte
+ Sprache arbeitet, dieses Team wird ihre Mithilfe
+ sicherlich nicht ablehnen.
+
+
+
+
+
+ Andere Informationsquellen.
+
+
+
+ In den folgenden Newsgruppen werden nützliche
+ Diskussionen für FreeBSD-Benutzer
+ geführt:
+
+
+
+ comp.unix.bsd.freebsd.announce
+ (moderiert)
+
+
+
+ comp.unix.bsd.freebsd.misc
+
+
+
+ comp.unix.bsd.misc
+
+
+
+ Webseiten:
+
+
+
+ Die FreeBSD Home
+ Page.
+
+
+
+ Falls Sie einen Laptop besitzen,
+ dann besuchen Sie auf alle Fälle Tatsumi
+ Hosokawa's Mobile Computing Page in
+ Japan.
+
+
+
+ Informationen zu SMP (Symmetric
+ MultiProcessing) finden Sie auf der SMP
+ support page.
+
+
+
+ Informationen zu
+ FreeBSD-Multimedia-Anwendungen finden Sie auf der
+ Multimedia-Seite.
+ Falls Sie speziell am Bt848
+ video capture chip interessiert sind, dann folgen Sie
+ dem Link.
+
+
+
+ Das FreeBSD-Handbuch enthält außerdem eine
+ ziemlich umfangreiche Bibliographie,
+ die es sich lohnt, anzusehen, falls Sie Bücher
+ suchen, die Sie sich kaufen möchten.
+
+
+
+
+
+
+ Installation
+
+
+
+
+ Welche Dateien muß ich herunterladen, um FreeBSD
+ zu bekommen?
+
+
+
+ Vor dem 3.1-RELEASE benötigte man nur ein
+ Floppy-Image, floppies/boot.flp, um
+ FreeBSD zu installieren. Seit dem 3.1-RELEASE haben wir
+ jedoch Unterstützung für eine Vielfalt von
+ Hardware hinzugefügt, weshalb man nun für 3.x-
+ und 4.x-RELEASE zwei Floppy-Images
+ floppies/kernel.flp und
+ floppies/mfsroot.flp benötigt.
+ Diese Images müssen mit Hilfe von Werkzeugen wie
+ fdimage oder &man.dd.1; auf Disketten
+ kopiert werden.
+
+ 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:
+
+
+
+ bin
+
+
+
+ manpages
+
+
+
+ compat*
+
+
+
+ doc
+
+
+
+ src/ssys.*
+
+
+
+ Vollständige Instruktionen für dieses
+ Vorgehen und ein wenig mehr zur Installation generell
+ finden Sie im Handbucheintrag zur
+ Installation von FreeBSD.
+
+
+
+
+
+ Hilfe! Das Floppy-Image paßt nicht auf eine
+ Diskette!
+
+
+
+ Eine 3,5-Zoll (1,44MB) Diskette kann 1474560 Byte an
+ Daten fassen und das Boot-Image ist exakt 1474560 Byte
+ groß.
+
+ Häufige Fehler bei der Erstellung der
+ Boot-Diskette sind:
+
+
+
+ Bei der Benutzung von FTP das
+ Floppy-Image nicht im
+ Binär-Modus
+ herunterzuladen.
+
+ Einige FTP-Clients benutzen als Voreinstellung den
+ ASCII-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
+ exakt mit der auf dem Server
+ übereinstimmt, hat das Herunterladen nicht
+ richtig funktioniert.
+
+ Abhilfe: geben Sie binary an
+ der FTP-Eingabeaufforderung ein, nach dem Sie mit dem
+ Server verbunden sind und bevor Sie das Image
+ herunterladen.
+
+
+
+ Die Benutzung des DOS-Befehls
+ copy (oder eines entsprechendes
+ Werkzeugs der grafischen Benutzeroberfläche), um
+ das Boot-Image auf die Diskette zu
+ übertragen.
+
+ Programme wie copy 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
+ roh mit speziellen Werkzeugen (z.B.
+ fdimage oder
+ rawrite) übertragen, wie es in
+ der Installationsanleitung
+ zu FreeBSD beschrieben ist.
+
+
+
+
+
+
+
+ Wo befinden sich die Instruktionen zur Installation
+ von FreeBSD?
+
+
+
+ Installationsanleitungen finden Sie im Handbucheintrag zur
+ Installation von FreeBSD.
+
+
+
+
+
+ Was benötige ich zum Betrieb von FreeBSD?
+
+
+
+ Sie werden einen 386er oder besseren PC mit 5MB oder
+ mehr Hauptspeicher und mindestens 60MB Festplattenspeicher
+ benötigen. Es läuft mit einer einfachen MDA
+ Grafikkarte, aber um X11R6 zu benutzen, benötigen Sie
+ eine VGA- oder bessere Videokarte.
+
+ Lesen Sie auch den Abschnitt
+
+
+
+
+
+ Ich besitze nur 4 MB Hauptspeicher. Kann ich FreeBSD
+ installieren?
+
+
+
+ FreeBSD 2.1.7 war die letzte FreeBSD-Version, die auf
+ einem 4MB-System installiert werden konnte. Neuere
+ FreeBSD-Versionen, wie 2.2, benötigen mindestens 5MB
+ zur Installation auf einem neuen System.
+
+ Alle FreeBSD-Versionen, einschließlich 3.0,
+ laufen zwar mit 4MB Hauptspeicher,
+ lediglich ihr Installationsprogramm läuft nicht mit
+ 4MB. Wenn Sie möchten, können Sie für den
+ Installationsvorgang zusätzlichen Hauptspeicher
+ hinzufügen, und nachdem das System installiert ist,
+ wieder auf 4MB zurückgehen. Sie können Ihre
+ Festplatte auch jederzeit in ein System mit >4MB
+ einbauen, dort installieren und sie dann wieder
+ umbauen.
+
+ Es gibt auch Situationen, in denen FreeBSD 2.1.7 nicht
+ mit 4 MB zu installieren ist. Um genau zu sein: man kann
+ es nicht mit 640 kB Basis- + 3MB erweitertem Speicher
+ installieren. Falls ihr Motherboard einiges vom
+ verlorenen Speicher aus der 640kB - 1MB
+ Region verschieben kann, könnten Sie trotzdem in der
+ Lage sein, FreeBSD 2.1.7 zu installieren.
+
+ Versuchen Sie in Ihr BIOS-Setup zu gelangen und suchen
+ Sie nach einer remap Option. Aktivieren
+ Sie sie. Sie sollten das ROM shadowing ebenfalls
+ ausschalten.
+
+ Es könnte einfacher sein, 4 weitere MB nur
+ für die Installation zu benutzen, einen
+ benutzerdefinierten Kernel nur mit den benötigten
+ Optionen zu generieren und dann die 4 MB wieder
+ auszubauen.
+
+ Sie können auch 2.0.5 installieren und
+ anschließend Ihr System mit der
+ upgrade Option des 2.1.7
+ Installationsprogramms nach 2.1.7 migrieren.
+
+ Wenn Sie nach der Installation einen
+ benutzerdefinierten Kernel generieren, wird er mit 4 MB
+ laufen. Irgend jemand hat es geschafft, mit 2 MB zu
+ booten (allerdings war das System nahezu unbrauchbar
+ :-))
+
+
+
+
+
+ Wie kann ich eine angepaßte
+ Installationsdiskette erstellen?
+
+
+
+ Zur Zeit gibt es keine Möglichkeit,
+ nur die angepaßten
+ Installationsdisketten zu erstellen. Sie müssen sich
+ eine ganz neues Release erstellen, das Ihre
+ Installationsdiskette enthält.
+
+ Befolgen Sie diese
+ Instruktionen, um sich eine angepaßte Ausgabe zu
+ erstellen.
+
+
+
+
+
+ Kann ich mehr als ein Betriebssystem auf meinem PC
+ unterbringen?
+
+
+
+ Sehen Sie sich Die
+ Multi-OS-Seite an.
+
+
+
+
+
+ Kann Windows 95/98 neben FreeBSD existieren?
+
+
+
+ Installieren Sie zuerst Windows 95/98, dann FreeBSD.
+ Der Bootmanager von FreeBSD kann dann entweder Win95/98
+ oder FreeBSD booten. Falls Sie Windows 95/98 nach FreeBSD
+ installieren, wird es, ohne zu fragen, Ihren Bootmanager
+ überschreiben. Lesen Sie den nächsten
+ Abschnitt, falls das passieren sollte.
+
+
+
+
+
+ Windows 95/98 hat meinen Bootmanager zerstört!
+ Wie stelle ich ihn wieder her?
+
+
+
+ Es gibt drei Möglichkeiten, den
+ FreeBSD-Bootmanager neu zu installieren:
+
+
+
+ Unter DOS wechseln Sie in das Verzeichnis tools/
+ Ihrer FreeBSD-Distribution und suchen nach
+ bootinst.exe. Rufen sie es so
+ auf:
+
+
+...\TOOLS>bootinst.exe boot.bin
+
+
+
+
+ und der Bootmanager wird neu installiert.
+
+
+
+
+
+ Booten Sie FreeBSD wieder mit der Bootdiskette und
+ wählen Sie den Menueeintrag Custom Installation.
+ Wählen Sie Partition. Wählen Sie das
+ Laufwerk, auf dem sich der Bootmanager befand
+ (wahrscheinlich der erste Eintrag) und wenn Sie in den
+ Partitioneditor gelangen, wählen Sie als aller
+ erstes (nehmen Sie z.B. keine Änderungen vor)
+ (W)rite. Sie werden nach einer Bestätigung
+ gefragt, antworten ja und vergessen Sie nicht, in der
+ Bootmanager-Auswahl Boot Manager
+ auszuwählen. Hierdurch wird der Bootmanager
+ wieder auf die Festplatte geschrieben. Verlassen Sie
+ nun das Installationsmenue und rebooten wie
+ gewöhnlich von der Festplatte.
+
+
+
+ Booten Sie FreeBSD wieder mit der Bootdiskette
+ (oder der CD-ROM) und wählen Sie den
+ Menüpunkt Fixit. Wählen Sie
+ die für Sie passende Option, entweder die
+ Fixit-Diskette oder die CD Nummer 2 (die Option
+ live Filesystem). Wechseln Sie zur
+ Fixit-Shell und geben Sie den folgenden Befehl
+ ein:
+
+
+Fixit#fdisk -B -b /boot/boot0 bootdevice
+
+
+ Als bootdevice
+ müssen Sie das von Ihrem System verwendete
+ Gerät angeben, z.B. ad0
+ (erste IDE-Platte), ad4
+ (erste IDE-Platte an einem zusätzlichen
+ Kontroller), da0 (erste
+ SCSI-Platte), usw.
+
+
+
+
+
+
+
+ Ich habe ein IBM Thinkpad Modell A, T oder X, auf dem
+ ich FreeBSD zwar installieren kann, aber beim
+ nächsten Start hängt sich das System auf. Gibt
+ es eine Lösung für dieses Problem?
+
+
+
+ IBM hat scheinbar die Partitions-ID 165 für die
+ Suspend-To-Disk-Partition verwendet. Diese ID wird auch
+ von FreeBSD verwendet; daher weigert sich das BIOS, von
+ dieser Partition zu starten. Eine der möglichen
+ Lösungen ist, FreeBSD zu installieren, die
+ Partitions-ID zu ändern und danach neue Bootblocks zu
+ installieren, die mit der geänderten ID umgehen
+ können.
+
+ Zunächst müssen Sie die Maschine so weit
+ wiederherstellen, daß sie über den Selbst-Test
+ hinauskommt. Dazu ist es erforderlich, daß das
+ System beim Start keine Partitions-ID auf seiner
+ primären Festplatte findet. Eine Variante ist, die
+ Platte auszubauen und vorübergehend in einem
+ älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit
+ einem passenden Adapter) in einen normalen PC einzubauen.
+ Sobald dies erfolgt ist, können Sie die
+ FreeBSD-Partition löschen und die Festplatte wieder
+ in das Thinkpad einbauen. Das Thinkpad sollte jetzt
+ wieder starten können.
+
+ Danach können Sie mit der nachfolgend
+ beschriebenen Anleitung eine funktionsfähige
+ FreeBSD-Installation erhalten.
+
+
+
+ Beschaffen Sie sich boot1 und
+ boot2 von http://people.freebsd.org/~bmah/ThinkPad/.
+ Legen Sie diese Dateien an einem sicheren Ort
+ ab.
+
+
+
+ Installieren Sie ganz wie gewohnt FreeBSD auf dem
+ Thinkpad. Allerdings dürfen Sie den
+ Dangerously Dedicated-Modus
+ nicht benutzen. Nach dem
+ Abschluß der Installation dürfen Sie die
+ Maschine nicht neu
+ starten.
+
+
+
+ Wechseln Sie zur Emergency Holographic
+ Shell
+ (ALTF4)
+ oder starten Sie eine fixit
+ Shell.
+
+
+
+ Benutzen Sie &man.fdisk.8;, um die Partitions-ID
+ von FreeBSD von 165 in
+ 166 zu ändern (dieser Wert
+ wird von OpenBSD benutzt).
+
+
+
+ Kopieren Sie die Dateien
+ boot1 und
+ boot2 auf die lokale
+ Festplatte.
+
+
+
+ Installieren Sie boot1 und
+ boot2 mit &man.disklabel.8; auf
+ die FreeBSD-Slice.
+
+
+&prompt.root; disklabel -B -b boot1 -s boot2 ad0sn
+
+
+ Setzen Sie für n
+ die Nummer der Slice ein, auf der sie FreeBSD
+ installiert haben.
+
+
+
+ Starten Sie das System neu. Am Boot-Prompt
+ sollten Sie die Auswahl OpenBSD
+ erhalten. Damit wird in Wirklichkeit FreeBSD
+ gestartet.
+
+
+
+ Was Sie machen müssen, wenn Sie FreeBSD und
+ OpenBSD parallel installieren wollen, sollten Sie zu
+ Übungszwecken einfach einmal selbst
+ herausfinden.
+
+
+
+
+
+ Kann ich auf einer Festplatte mit beschaedigten
+ Blöcken installieren?
+
+
+
+ Ältere Versionen von FreeBSD enthielten ein
+ Programm namens bad144, das die
+ defekten Sektoren automatisch verlagerte. Da diese
+ Funktion aber von modernen IDE-Platten selbstständig
+ durchgeführt wird, wurde bad144 in
+ der Version 3.0 aus dem System entfernt. Wenn Sie FreeBSD
+ 3.0 oder neuer installieren wollen, sollten Sie sich eine
+ neue Festplatte zulegen. Falls Sie dazu nicht bereit
+ sind, müssen Sie FreeBSD 2.X verwenden.
+
+ Wenn Ihnen bei einer modernen IDE-Platte defekte
+ Sektoren gemeldet werden, wird die Platte mit großer
+ Wahrscheinlichkeit innerhalb kurzer Zeit vollständig
+ ausfallen, da die Meldung ein Zeichen dafür ist,
+ daß die für die Korrektur reservierten Sektoren
+ bereits verbraucht wurden. Wir raten Ihnen, die Platte
+ auszutauschen.
+
+ Falls Sie ein SCSI-Laufwerk mit beschädigten
+ Blöcken besitzen, lesen Sie diese Antwort.
+
+
+
+
+
+ Wenn ich von der Installationsdiskette boote,
+ geschehen merkwürdige Dinge!
+
+
+
+ Falls Sie beobachten, daß ihr Rechner sich bis
+ zum Stillstand abmüht oder spontan rebootet,
+ während Sie versuchen, von der Installationsdiskette
+ zu booten, sollten Sie sich drei Fragen stellen:-
+
+
+
+ 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)?
+
+
+
+ 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!)
+
+
+
+ Falls Sie Windows 95 oder Windows 98 benutzen,
+ haben Sie es heruntergefahren und in einfachem, reinem
+ DOS neu gestartet? Es scheint, daß diese
+ Betriebssysteme Programme stören, die direkt auf
+ Hardware schreiben, wie es das Erstellungsprogramm
+ für die Diskette tut; selbst bei der
+ Ausführung des Programms in einem DOS-Fenster in
+ der grafischen Benutzeroberfläche kann dieses
+ Problem auftreten.
+
+
+
+ Es wurde auch darüber berichtet, daß
+ Netscape Probleme beim Herunterladen der Bootdisketten
+ verursacht. Es ist also wahrscheinlich besser, einen
+ anderen FTP-Client zu benutzen, wenn möglich.
+
+
+
+
+
+ Ich habe zur Installation von meinem ATAPI CD-ROM
+ gebootet, aber das Installationsprogramm sagt mir,
+ daß es kein CD-ROM gefunden hat. Was geht hier
+ ab?
+
+
+
+ Dieses Problem wird üblicherweise durch ein
+ falsch konfiguriertes CD-ROM verursacht. Bei vielen PCs
+ ist das CD-ROM der Slave am zweiten IDE-Kontroller, ein
+ Master ist nicht vorhanden. Laut Spezifikation ist diese
+ Konfiguration illegal, aber Windows verletzt die
+ Spezifikation und das BIOS ignoriert sie, wenn es von
+ einem CD-ROM booten soll. Daher konnten Sie zwar vom
+ CD-ROM booten, während FreeBSD es nicht für die
+ Installation nutzen kann.
+
+ Um dieses Problem zu lösen, müssen Sie
+ entweder das CD-ROM als Master an den IDE-Kontroller
+ anschließen oder dafür sorgen, daß an dem
+ vom CD-ROM genutzten IDE-Kontroller das CD-ROM als Slave
+ und ein anderes Gerät als Master angeschlossen
+ ist.
+
+
+
+
+
+ Hilfe! Ich kann nicht von Band installieren!
+
+
+
+ Falls Sie 2.1.7R von Band installieren, müssen
+ Sie bei der Erstellung des Bandes eine
+ tar-Blockgröße von 10 (5120 Byte) verwenden.
+ Die standard tar-Blockgröße beträgt 20
+ (10240 Byte) und Bänder, die mit diesem Standardwert
+ erstellt worden sind, können nicht zur Installation
+ von 2.1.7R verwendet werden. Diese Bänder
+ verursachen einen Fehler, der besagt, daß die
+ Satzlänge zu groß ist.
+
+
+
+
+
+ Verbindung von zwei FreeBSD-Maschinen über die
+ parallele Schnittstelle (PLIP).
+
+
+
+ Besorgen Sie sich ein Laplink-Kabel. Stellen Sie
+ sicher, daß Sie einen Kernel mit
+ lpt-Treiberunterstützung haben.
+
+
+&prompt.root; dmesg | grep lp
+lpt0 at 0x378-0x37f irq 7 on isa
+lpt0: Interrupt-driven
+lp0: TCP/IP capable interface
+
+
+ Schließen Sie das Kabel an die parallelen
+ Schnittstellen an.
+
+ Konfigurieren Sie die Netzwerkschnittstellenparameter
+ für lp0 auf beiden Seiten als
+ root. Falls Sie z.B. die Rechner max
+ und moritz miteinander verbinden wollen
+
+
+ max <-----> moritz
+IP-Adresse 10.0.0.1 10.0.0.2
+
+
+ Auf max geben Sie ein
+
+
+&prompt.root; ifconfig lp0 10.0.0.1 10.0.0.2
+
+
+ Auf moritz geben Sie ein
+
+
+&prompt.root; ifconfig lp0 10.0.0.2 10.0.0.1
+
+
+ Das ist alles! Lesen Sie bitte auch die Manuals
+ &man.lp.4; und &man.lpt.4;.
+
+ Sie sollten die Rechner auch in die Datei
+ /etc/hosts eintragen
+
+
+ 127.0.0.1 localhost.my.domain localhost
+ 10.0.0.1 max.my.domain max
+ 10.0.0.2 moritz.my.domain moritz
+
+
+ So überprüfen, Sie, ob es
+ funktioniert:
+
+ auf max:
+
+
+&prompt.root; ifconfig lp0
+lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+ inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
+&prompt.root; netstat -r
+Routing tables
+
+Internet:
+Destination Gateway Flags Refs Use Netif Expire
+moritz max UH 4 127592 lp0
+&prompt.root; ping -c 4 moritz
+PING moritz (10.0.0.2): 56 data bytes
+64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
+64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
+64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
+64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
+
+--- moritz ping statistics ---
+4 packets transmitted, 4 packets received, 0% packet loss
+round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
+
+
+
+
+
+
+ Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
+ installieren?
+
+
+
+ Verbinden Sie die beiden Computer hierzu mit einem
+ Laplink-Kabel:
+
+
+
+ Lesen Sie auch diesen
+ Hinweis auf der Mobile-Computing-Seite.
+
+
+
+
+
+ Welche Geometrie sollte ich für ein
+ Festplattenlaufwerk verwenden?
+
+
+
+
+
+ Unter der Geometrie einer
+ Festplatte verstehen wir die Anzahl Zylinder,
+ Schreib-/Leseköpfen und Sektoren/Spur auf einer
+ Festplatte - im folgenden werde ich hierfür kurz
+ C/H/S schreiben. Das BIOS des PCs berechnet mit
+ diesen Angaben, auf welche Bereiche der Festplatte es
+ für Schreib-/Lesezugriffe zugreifen
+ muß).
+
+
+
+ Aus einigen Gründen scheint dies für sehr
+ viel Verwirrung zu sorgen. Zunächsteinmal ist die
+ physikalische Geometrie eines
+ SCSI-Laufwerks vollkommen irrelevant, da FreeBSD mit
+ Blöcken arbeitet. Tatsächlich gibt es
+ die physikalische Geometrie nicht, da die
+ Sektordichte auf einer Festplatte variiert - was die
+ Hersteller als die wahre 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.
+
+ Wichtig ist nur die logische
+ Geometrie. Das BIOS kann die logische Geometrie der
+ Festplatte abfragen; die erhaltenen Daten werden dann vom
+ BIOS bei Zugriffen auf die Festplatte genutzt. Da FreeBSD
+ das BIOS benutzt, während es bootet, ist es sehr
+ wichtig, daß diese Angaben richtig sind.
+ Insbesondere müssen alle Betriebssysteme mit
+ derselben Geometrie arbeiten, falls Sie mehr als ein
+ Betriebssystem auf einer Festplatte haben, andernfalls
+ werden Sie ernsthafte Bootprobleme bekommen!
+
+ Bei SCSI-Festplatten hängt die zu verwendende
+ Geometrie davon ab, ob der Extended Translation Support
+ auf Ihrem Controller eingeschaltet ist (oft auch als
+ Unterstützung für DOS-Platten
+ >1GB oder ähnlich bezeichnet). Falls sie
+ ausgeschaltet ist, benutzen Sie
+ N Zylinder, 64 Köpfe und
+ 32 Sektoren/Spur, wobei N 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.
+
+ Falls sie eingeschaltet ist (was
+ oft der Fall ist, um bestimmte Einschränkungen von
+ MSDOS zu umgehen) und die Plattenkapazität mehr als
+ 1GB beträgt, benutzen Sie M Zylinder, 63
+ Sektoren/Spur (*nicht* 64) und 255 Köpfe, wobei 'M'
+ der Plattenkapazität in MB, dividiert durch 7,844238
+ entspricht (!). Also würde unsere 2GB Beispielplatte
+ 261 Zylinder, 63 Sektoren/Spur und 255 Köpfe
+ haben.
+
+ Falls Sie sich hier nicht sicher sind oder FreeBSD
+ während der Installation die Geometrie nicht richtig
+ erkennt, hilft es normalerweise, eine kleine DOS-Partition
+ auf der Festplatte anzulegen. Die richtige Geometrie
+ sollte dann erkannt werden (Sie können die Partition
+ jederzeit im Partitioneditor entfernen, falls Sie sie
+ nicht behalten möchten, oder Sie nutzen sie zur
+ Programmierung von Netzwerkkarten oder
+ ähnlichem).
+
+ Alternativ wird ein frei verfügbares Programm
+ pfdisk.exe (im Unterverzeichnis
+ tools auf der FreeBSD-CDROM oder den
+ unterschiedlichen FTP-Servern) mit FreeBSD verbreitet, das
+ dazu genutzt werden kann, herauszufinden, welche Geometrie
+ die anderen Betriebssysteme auf der Festplatte verwenden.
+ Diese Geometrie können Sie im Partitioneditor
+ eingeben.
+
+
+
+
+
+ Gibt es irgendwelche Einschränkungen, wie ich die
+ Festplatte aufteilen darf?
+
+
+
+ Ja. Sie müssen sicherstellen, daß Ihre
+ Rootpartition kleiner als 1024 Zylinder ist, damit das
+ BIOS den Kernel von Ihr booten kann. (Beachten Sie,
+ daß es sich um eine Einschränkung durch das
+ BIOS des PCs handelt und nicht durch FreeBSD).
+
+ Für ein SCSI-Laufwerk bedeutet dies
+ normalerweise, daß sich die Rootpartition in den
+ ersten 1024MB befindet (oder in den ersten 4096MB, falls
+ die Extended Translation eingeschaltet ist - siehe die
+ vorherige Frage). Der entsprechende Wert für IDE ist
+ 504MB.
+
+
+
+
+
+ Was ist mit Plattenmanagern? Oder: Ich habe ein
+ großes Laufwerk!
+
+
+
+ FreeBSD erkennt den Ontrack Plattenmanager und
+ berücksichtigt ihn. Andere Plattenmanager werden
+ nicht unterstützt.
+
+ Falls Sie die Festplatte nur mit FreeBSD benutzen
+ wollen, brauchen Sie keinen Plattenmanager. Wenn Sie Sie
+ die Platte einfach in der vom BIOS maximal
+ unterstützten Größe (normalerweise 504
+ Megabyte) konfigurieren, sollte FreeBSD erkennen, wieviel
+ Platz Sie tatsächlich haben. Falls Sie eine alte
+ Festplatte mit einem MFM-Controller verwenden, könnte
+ es sein, daß Sie FreeBSD explizit angeben
+ müssen, wieviele Zylinder es benutzen soll.
+
+ Falls Sie die Festplatte mit FreeBSD und einem anderen
+ Betriebssystem nutzen wollen, sollten Sie auch in der Lage
+ sein, ohne einen Plattenmanager auszukommen: stellen sie
+ einfach sicher, daß sich die Bootpartition von
+ FreeBSD und der Bereich für das andere Betriebssystem
+ in den ersten 1024 Zylindern befinden. Eine 20 Megabyte
+ Bootpartition sollte völlig genügen, wenn Sie
+ einigermaßen sorgfältig arbeiten.
+
+
+
+
+
+ Beim Booten von FreeBSD erscheint Missing
+ Operating System
+
+
+
+ Dies ist ein klassischer Fall von Konflikten bei den
+ verwendeten Plattengeometrien 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.
+
+
+
+
+
+ Ich komme nicht weiter als bis zum
+ F?-Prompt des Bootmanagers.
+
+
+
+ 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 >1GB drive
+ support bezeichnet), probieren Sie eine Umsetzung
+ dieser Einstellung und Neuinstallation von
+ FreeBSD.
+
+
+
+
+
+ Muß ich den vollständigen Quellcode
+ installieren?
+
+
+
+ Im allgemeinen nicht. Wir empfehlen jedoch dringend
+ die Installation des base Source-Kit,
+ das viele der hier erwähnten Dateien enthält und
+ des sys (Kernel) Source-Kit, das den
+ Quellcode für den Kernel enthält. Außer
+ dem Programm zur Konfiguration des Kernels
+ (&man.config.8;) gibt es im System nichts, zu dessen
+ Funktion der Quellcode erforderlich ist. Mit Ausnahme der
+ Kernelquellen ist unsere Build-Struktur so aufgebaut,
+ daß Sie den Quellcode von überall her per NFS
+ read-only mounten und dennoch neue Binaries erstellen
+ können. (Wegen der Einschränkung bezüglich
+ der Kernelquellen empfehlen wir, diese nicht direkt nach
+ /usr/src zu mounten, sondern
+ irgendwoanders hin mit passenden symbolischen Links, um
+ die Toplevel-Struktur des Quellbaumes zu
+ duplizieren.)
+
+ 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.
+
+ Um einen Teil der Quellen auszuwählen, verwenden
+ Sie den Menuepunkt Custom, wenn Sie sich im Menue
+ Distributions des Systeminstallationstools
+ befinden.
+
+
+
+
+
+ Muß ich einen Kernel erstellen?
+
+
+
+ Ursprünglich war die Erstellung eines neuen
+ Kernels bei fast jeder Installation von FreeBSD
+ erforderlich, aber neuere Ausgaben haben von der
+ Einführung eines weitaus benutzerfreundlicheren
+ Kernelkonfigurationswerkzeugs profitiert. Geben Sie am
+ FreeBSD Boot-Prompt (boot:) ein, um in
+ ein visuelles Konfigurationsmenue zu gelangen. Dieses
+ Programm ermöglicht Ihnen die Konfiguration der
+ Kerneleinstellungen für die gebräuchlichsten
+ ISA-Karten.
+
+ Es wird weiterhin empfohlen, gegebenenfalls einen
+ neuen Kernel zu erstellen, der nur die benötigten
+ Treiber enthält, um ein wenig Hauptspeicher zu
+ sparen, aber für die meisten Systeme ist dies ist
+ nicht länger erforderlich.
+
+
+
+
+
+ Soll ich DES oder MD5 zur Verschlüsselung der
+ Paßwörter benutzen?
+
+
+
+ FreeBSD benutzt standardmäßig
+ MD5 zur Verschlüsselung der
+ Paßwörter. Es wird angenommen, daß diese
+ Methode sicherer ist als das traditionell benutzte
+ Verfahren, das auf dem DES
+ Algorithmus basierte. Es ist immer noch möglich,
+ DES-Paßwörter zu benutzen, wenn Sie die Datei
+ mit den Paßwörtern mit älteren System
+ austauschen müssen. Ältere System verstehen
+ meist nur das unsichere Verfahren, dieses steht Ihnen zur
+ Verfügung, wenn Sie mit sysinstall die
+ crypto Distribution installieren. Sie
+ können auch die crypto Sourcecodes installieren, wenn
+ Sie Ihr System über die Sourcen aktualisieren. Das
+ für neue Paßwörter benutzte
+ Verschlüsselungsverfahren wird über die
+ Einstellung passwd_format in
+ /etc/login festgelegt. Die
+ möglichen Werte sind entweder des
+ (falls installiert) oder md5. Weitere
+ Informationen über die Einstellungen für den
+ Login erhalten Sie in &man.login.conf.5;.
+
+
+
+
+
+ Die Bootdiskette startet, bleibt aber bei
+ Probing Devices... hängen.
+
+
+
+ Falls Sie ein IDE-Zip- oder Jaz-Laufwerk eingebaut
+ haben, entfernen Sie es und versuchen Sie es erneut.
+ Solche Laufwerke könnten dem Bootvorgang stören.
+ Nach der Installation des Systems können Sie das
+ Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich
+ in einer späteren Version behoben werden.
+
+
+
+
+
+ Ich bekomme den Fehler panic: cant mount
+ root, wenn ich das System nach der Installation
+ reboote.
+
+
+
+ Dieser Fehler beruht auf Unstimmigkeiten zwischen den
+ Festplatteninformationen im Bootblock und denen im Kernel.
+ Der Fehler tritt normalerweise auf IDE-Systemen mit zwei
+ Festplatten auf, bei denen die Festplatten als Master-
+ oder Single-Device auf separaten IDE-Controllern
+ angeschlossen sind und FreeBSD auf der Platte am zweiten
+ Controller installiert wurde. Der Bootblock vermutet,
+ daß das System auf wd1 (der zweiten BIOS-Platte)
+ installiert ist, während der Kernel der ersten Platte
+ auf dem zweiten Controller die Gerätekennung wd2
+ zuteilt. Der Kernel versucht nach der
+ Geräteüberprüfung die vom Bootblock
+ angenommene Bootdisk wd1 zu mounten, obwohl sie in
+ Wirklichkeit wd2 heißt - und scheitert.
+
+ Tun Sie folgendes, um dieses Problem zu
+ beheben:
+
+
+
+ Wenn Sie FreeBSD 3.3 oder neuer benutzen,
+ müssen Sie das System rebooten und
+ Enter drücken, wenn die
+ Meldung Booting kernel in 10 seconds; hit
+ [Enter] to interrupt erscheint. Dadurch
+ gelangen Sie in den Boot Loader.
+
+ Geben Sie nun
+ root_disk_unit="disk_number"
+ ein. disk_number hat den Wert
+ 0, wenn FreeBSD auf dem Master des
+ ersten IDE-Kontrollers installiert wurde;
+ 1, wenn FreeBSD auf dem Slave des
+ ersten IDE-Kontrollers installiert wurde;
+ 2, wenn FreeBSD auf dem Master des
+ zweiten IDE-Kontrollers installiert wurde; und
+ 3, wenn FreeBSD auf dem Slave des
+ zweiten IDE-Kontrollers installiert wurde.
+
+ Nach der Eingabe von boot
+ sollte Ihr System jetzt korrekt starten.
+
+ Damit Sie dieses Ritual nicht bei jedem Start des
+ Systems durchführen müssen, sollten Sie die
+ Zeile
+ root_disk_unit="disk_number"
+ in die Datei
+ /boot/loader.conf.local
+ eintragen.
+
+
+
+ Wenn Sie FreeBSD 3.2 oder eine ältere Version
+ benutzen, geben Sie am Prompt Boot:
+ 1:wd(2,a)kernel ein und
+ betätigen Sie die Enter-Taste. Wenn das System
+ nun startet, führen Sie den Befehl echo
+ "1:wd(2,a)kernel" > /boot.config aus, um
+ diese Bootzeichenfolge zur Voreinstellung zu
+ machen.
+
+
+
+ Stellen Sie eine ununterbrochene Folge der
+ Festplatten her, indem Sie die FreeBSD-Platte am
+ ersten IDE-Controller anschließen.
+
+
+
+ Erstellen Sie
+ einen neuen Kernel: modifizieren Sie die
+ wd-Konfigurationszeilen wie folgt:
+
+
+controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
+disk wd0 at wdc0 drive 0
+# disk wd1 at wdc0 drive 1 # Kommentieren Sie diese Zeile aus
+
+controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
+disk wd1 at wdc1 drive 0 # Ändern Sie wd2 in wd1
+disk wd2 at wdc1 drive 1 # Ändern Sie wd3 in wd2
+
+
+ Installieren Sie den neuen Kernel. Falls sie Ihre
+ Festplattenanschlüsse umgesteckt haben und die
+ alte Konfiguration wiederherstellen möchten,
+ stecken Sie die Anschlüsse wie gewünscht um
+ und rebooten Sie. Ihr System sollte nun fehlerfrei
+ booten.
+
+
+
+
+
+
+
+ Gibt es eine Hauptspeicherbegrenzung?
+
+
+
+ Es werden maximal 4 Gigabyte Hauptspeicher
+ unterstützt. Details zu einer entsprechenden,
+ getesteten Konfiguration finden Sie unter Konfiguration
+ von WCArchive. Seien Sie vorsichtig, wenn Sie
+ soviel Hauptspeicher in Ihrem Rechner benutzen
+ möchten. Benutzen Sie ggfs. ECC-Speicher und Module
+ mit neun (statt der üblichen 18) Chips, um die
+ kapazitive Belastung zu reduzieren.
+
+
+
+
+
+ Wo liegen die Grenzen für
+ ffs-Dateisysteme?
+
+
+
+ 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).
+
+ Die maximale Größe einer einzelnen
+ ffs-Datei liegt bei ungefähr 1G Blöcken (4TB,
+ falls die Blockgröße 4k beträgt).
+
+
+
+ Wenn die im Dateisystem verwendete
+ Blockgröße 4k beträgt, wird mit dreifacher
+ Indirektion gearbeitet und die Limitierung sollte durch
+ die höchste Blocknummer erfolgen, die mit dreifacher
+ Indirektion dargestellt werden kann (ungefähr 1k^3 +
+ 1k^2 + 1k). In Wirklichkeit liegt das Limit aber bei der
+ (falschen) Anzahl von 1G-1 Blocknummern im Dateisystem.
+ Die maximale Anzahl Blocknummern müßte 2G-1
+ sein. Es gibt einige Fehler für Blocknummern nahe
+ 2G-1, aber solche Blocknummern sind bei einer
+ Blockgröße von 4k unerreichbar.
+
+ Bei Blocknummern von 8k und größer sollte
+ das Limit bei 2G-1 Blocknummern liegen, aber
+ tatsächlich liegt es bei bei 1G-1 Blocknummern.
+ Außer unter -STABLE sind Blöcke in der dritten
+ Indirektion unerreichbar, wodurch das Limit auf die durch
+ zweifache Indirektion maximal darstellbare Blocknummer
+ reduziert wird (ca. (Blockgröße/4)^2 +
+ (Blockgröße/4)). Unter -CURRENT könnte
+ die Überschreitung dieser Grenze Probleme
+ verursachen. Die Verwendung der korrekten Grenze von 2G-1
+ verursacht Probleme.
+
+
+
+
+
+ Wie bekomme ich 1TB-Dateien auf meine
+ Diskette?
+
+
+
+ Ich habe mehrere virtuelle auf Disketten :-). Die
+ maximale Dateigröße hat nicht unbedingt etwas
+ mit der maximalen Plattengröße zu tun. Die
+ maximale Plattengröße beträgt 1TB. Es ist
+ ein Feature, daß die Dateigröße die
+ Plattengröße übersteigen kann.
+
+ Durch das folgende Beispiel wird eine Datei der
+ Größe 8T-1 erstellt, die insgesamt 32k
+ Plattenplatz (3 indirekte Blöcke und ein Datenblock)
+ auf einer kleinen Rootpartition in Anspruch nimmt. Dieser
+ dd-Befehl setzt ein dd-Programm voraus, das große
+ Dateien unterstützt.
+
+
+&prompt.user; cat foo
+df .
+dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
+ls -l z
+du z
+df .
+&prompt.user; sh foo
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/da0a 64479 27702 31619 47% /
+1+0 records in
+1+0 records out
+1 bytes transferred in 0.000187 secs (5346 bytes/sec)
+-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
+32 z
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/da0a 64479 27734 31587 47% /
+
+
+ Bruce Evans, September 1998
+
+
+
+
+
+ Ich habe einen neuen Kernel erstellt und bekomme beim
+ Booten nun die Fehlermeldung
+ archsw.readin.failed.
+
+
+
+ Sie können den zu bootenden Kernel direkt im
+ zweiten Schritt angeben, indem Sie eine beliebige Taste
+ drücken, wenn das | erscheint und bevor der Loader
+ startet. Genauer: Sie haben die Kernelquellen erneuert,
+ und von dort ein neues Kernel-Builtin installiert,
+ ohne make world auszuführen.
+ Das geht nicht - führen Sie make world aus.
+
+
+
+
+
+ Wie führe ich ein Update von 3.X nach 4.X
+ durch?
+
+
+
+ Wir raten Ihnen dringend, dazu
+ einen der Snapshots zu verwenden. Die Snapshots von
+ 4-STABLE sind auf releng4.FreeBSD.org
+ verfügbar.
+
+ Wenn Sie den Quellcode für das Update benutzen
+ wollen, finden Sie im FreeBSD
+ Handbuch weitere Informationen.
+
+ Wenn Sie FreeBSD erst seit kurzer Zeit
+ nutzen, sollten Sie auf gar keinen Fall über den
+ Quellcode updaten, das gilt ganz besonders für das
+ Update von 3.X nach 4.X. Falls Sie es dennoch versuchen
+ wollen, sollten Sie vorher die entsprechenden Anleitungen
+ sehr sorgfältig durchlesen!
+
+
+
+
+
+
+ Hardware-Kompatibilität
+
+
+
+
+ Welche Arten von Festplatten werden von FreeBSD
+ unterstützt?
+
+
+
+ FreeBSD unterstützt EIDE- und SCSI-Laufwerke (mit
+ kompatiblen Controllern - siehe folgenden Abschnitt),
+ sowie alle Laufwerke, die die original Western
+ Digital-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
+ Clone.
+
+
+
+
+
+ Welche SCSI-Controller werden
+ unterstützt?
+
+
+
+ Sie finden eine vollständige Liste im Handbuch.
+
+
+
+
+
+ Welche CD-ROM-Laufwerke werden von FreeBSD
+ unterstützt?
+
+
+
+ Jedes an einem unterstützten Controller
+ angeschlossene SCSI-Laufwerk wird
+ unterstützt.
+
+ Die folgenden proprietären CD-ROM-Schnittstellen
+ werden ebenfalls unterstützt:
+
+
+
+ Mitsumi LU002 (8bit), LU005 (16bit) und FX001D
+ (16bit 2x Speed).
+
+
+
+ Sony CDU 31/33A
+
+
+
+ Sound Blaster Non-SCSI CD-ROM
+
+
+
+ Matsushita/Panasonic CD-ROM
+
+
+
+ ATAPI compatible IDE CD-ROMs
+
+
+
+ Von allen Nicht-SCSI-Laufwerken ist bekannt, daß
+ sie im Vergleich zu SCSI-Laufwerken extrem langsam sind.
+ Einige ATAPI-CDROMs könnten nicht
+ funktionieren.
+
+ Ab 2.2 unterstützt die FreeBSD-CDROM von BSDi das
+ direkte Booten von CD.
+
+
+
+
+
+ Unterstützt FreeBSD ZIP-Laufwerke?
+
+
+
+ FreeBSD unterstützt natürlich alle
+ gängigen SCSI-ZIP-Laufwerke. Ihr ZIP-Laufwerk darf
+ nur mit den SCSI-Ziel-IDs 5 oder 6 laufen, aber Sie
+ können sogar davon booten, falls das BIOS Ihres
+ Hostadapters dies unterstützt. Ich weiß nicht,
+ welcher Hostadapter das Booten von anderen Zielen als 0
+ oder 1 erlaubt... schauen Sie in Ihren Handbüchern
+ nach (und lassen Sie mich wissen, falls Sie es
+ herausgefunden haben).
+
+ ATAPI (IDE) Zip-Laufwerke werden von FreeBSD 2.2.6 und
+ späteren Versionen unterstützt.
+
+ Seit Version 3.0 unterstützt FreeBSD
+ ZIP-Laufwerke, die an der parallel Schnittstelle
+ angeschlossen sind. Falls Sie eine genügend aktuelle
+ Version benutzen, sollten Sie überprüfen, ob Ihr
+ Kernel die folgenden Treiber enthält:
+ scbus0,
+ da0,
+ ppbus0 und
+ vp0 (der GENERIC-Kernel
+ enthält alle, außer
+ vp0). Wenn diese Treiber
+ vorhanden sind, sollte das Laufwerk an der parallelen
+ Schnittstelle als /dev/da0s4
+ verfügbar sein. Zip-Datenträger können mit
+ mount /dev/da0s4 /mnt ODER
+ (DOS-formatierte) mount_msdos /dev/da0s4
+ /mnt gemountet werden.
+
+ Lesen Sie auch diese Anmerkung zu
+ Wechseldatenträgern und diese zur
+ Formatierung.
+
+
+
+
+
+ Unterstützt FreeBSD JAZ, EZ und andere
+ Wechsellaufwerke?
+
+
+
+ Abgesehen von der IDE-Version der EZ-Laufwerke,
+ handelt es sich ausschließlich um SCSI-Geräte.
+ Unter FreeBSD müßten sie sich also alle wie
+ SCSI-Platten und das IDE-EZ-Laufwerk müßte sich
+ wie ein IDE-Laufwerk verhalten.
+
+ Ich bin mir nicht sicher, wie gut
+ FreeBSD den Wechsel der Datenträger während des
+ Betriebs unterstützt. Sie werden die Laufwerke vor
+ einem Datenträgerwechsel natürlich unmounten und
+ sicherstellen müssen, daß externe Einheiten
+ während des Bootens eingeschaltet sind, damit FreeBSD
+ sie erkennen kann.
+
+ Lesen Sie auch diesen
+ Hinweis zur Formatierung.
+
+
+
+
+
+ Welche seriellen Multi-Port-Karten werden von FreeBSD
+ unterstützt?
+
+
+
+ Es existiert eine Liste der unterstützten Karten
+ im Abschnitt Verschiedene
+ Geräte des Handbuchs.
+
+ Von einigen nicht NoName-Nachbauten ist ebenfalls
+ bekannt, daß sie funktionieren, speziell von den
+ AST-kompatiblen.
+
+ In &man.sio.4; finden Sie weitere Informationen zur
+ Konfiguration solcher Karten.
+
+
+
+
+
+ Unterstützt FreeBSD meine Tastatur mit
+ USB-Anschluß?
+
+
+
+ Die Unterstützung für USB-Geräte ist
+ seit FreeBSD 3.1 Bestandteil des Systems. Die
+ Unterstützung war allerdings nicht ganz ausgereift;
+ einige der Probleme konnten bis zur Veröffentlichung
+ von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
+ Treiber für USB-Tastaturen selbst testen
+ möchten, sollten Sie den unten aufgeführten
+ Anweisungen folgen:
+
+
+
+ Benutzen Sie FreeBSD 3.2 oder eine neuere
+ Version.
+
+
+
+ Tragen Sie die folgenden Zeilen in die
+ Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
+ einen neuen Kernel.
+
+
+device uhci
+device ohci
+device usb
+device ukbd
+options KBD_INSTALL_CDEV
+
+
+ Falls Sie eine ältere FreeBSD-Version als
+ FreeBSD 4.0 benutzen, müssen Sie diese
+ Einträge verwenden:
+
+
+controller uhci0
+controller ohci0
+controller usb0
+controller ukbd0
+options KBD_INSTALL_CDEV
+
+
+
+
+ Erzeugen Sie im Verzeichnis
+ /dev die notwendigen
+ Dateien:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV kbd0 kbd1
+
+
+
+
+ Tragen Sie in der
+ /etc/rc.conf die folgenden Zeilen
+ ein:
+
+
+usbd_enable="YES"
+usbd_flags=""
+
+
+
+
+ Nach einem Neustart des Systems ist die AT-Tastatur
+ als /dev/kbd0 und die USB-Tastatur
+ als /dev/kbd1 verfügbar. Dies
+ gilt natürlich nur, wenn beide Tastaturen
+ angeschlossen sind; falls nur die USB-Tastatur
+ angeschlossen ist, ist diese als
+ /dev/ukbd0 verfügbar.
+
+ Wenn Sie die USB-Tastatur an der Systemkonsole
+ benutzen wollen, müssen Sie dies dem System explizit
+ mitteilen. Dazu muß das folgende Kommando
+ während des Systemstarts ausgeführt
+ werden:
+
+
+&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null
+
+
+ Wenn Sie nur die USB-Tastatur angeschlossen haben, ist
+ diese als /dev/kbd0 verfügbar;
+ daher muß in diesem Fall das folgende Kommando
+ benutzt werden:
+
+
+&prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null
+
+
+ Tragen Sie dieses Kommando in Datei
+ /etc/rc.i386 ein.
+
+ Sobald Sie diese Schritte durchgeführt haben,
+ sollte die USB-Tastatur ohne weitere Änderungen auch
+ unter X benutzbar sei.
+
+ Zur Zeit kann es noch Probleme geben, wenn Sie eine
+ USB-Tastatur im laufenden Betrieb einstecken oder
+ abziehen. Um Probleme zu vermeiden, sollten Sie die
+ Tastatur anschließen, bevor Sie das System
+ anschalten und die Tastatur nicht abziehen, solange das
+ System noch läuft.
+
+ Weitere Informationen erhalten Sie in
+ &man.ukbd.4;.
+
+
+
+
+
+ Ich habe eine unübliche Busmaus. Wie muß
+ ich sie konfigurieren?
+
+
+
+ FreeBSD unterstützt die Busmaus und
+ InPort-Busmaus von Herstellern wie Microsoft, Logitech und
+ ATI. Der Bus-Gerätetreiber ist bei FreeBSD 2.x
+ standardmäßig im GENERIC-Kernel eingebunden; ab
+ Version 3.0 müssen Sie ihn selbst in die
+ Konfigurationsdatei für Ihren angepaßten Kernel
+ einbinden. Fügen Sie die folgende Zeile in Ihre
+ Konfigurationsdatei ein, falls Sie sich einen
+ angepaßten Kernel mit dem Busmaustreiber
+ erstellen
+
+ FreeBSD 3.0 und ältere Versionen
+
+
+device mse0 at isa? port 0x23c tty irq5 vector mseintr
+
+
+ FreeBSD 3.X außer 3.0
+
+
+device mse0 at isa? port 0x23c tty irq5
+
+
+ FreeBSD 4.X
+
+
+device mse0 at isa? port 0x23c irq5
+
+
+ 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.
+
+
+
+
+
+ Wie benutze ich meine PS/2 (Mouse-Port
+ oder Tastatur)-Maus?
+
+
+
+ Falls Sie eine spätere FreeBSD-Version als 2.2.5
+ benutzen, ist der entsprechende Treiber
+ psm im Kernel enthalten und
+ aktiviert. Der Kernel sollte Ihre PS/2-Maus beim Booten
+ erkennen.
+
+ Wenn Sie eine gerigfügig frühere Version von
+ FreeBSD benutzen (2.1.x oder höher), können Sie
+ den Treiber während der Installation einfach im
+ Kernelkonfigurationsmenue aktivieren, oder später mit
+ der Option am Bootprompt
+ boot:. Da der Treiber
+ standardmäßig deaktiviert ist, werden Sie ihn
+ also explizit aktivieren müssen.
+
+ Falls Sie eine ältere FreeBSD-Version benutzen,
+ müssen Sie folgende Zeile in Ihre
+ Kernelkonfigurationsdatei einfügen und den Kernel neu
+ kompilieren.
+
+ FreeBSD 3.0 und ältere Versionen
+
+
+device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
+
+
+ FreeBSD 3.1 und neuere Versionen:
+
+
+device psm0 at isa? tty irq 12
+
+
+ Ab FreeBSD 4.0:
+
+
+device psm0 at atkbdc? irq 12
+
+
+ Lesen Sie den Handbucheintrag zur
+ Kernelkonfiguration, falls Sie sich mit der
+ Erstellung eines Kernels nicht auskennen.
+
+ Wenn Sie den Kernel soweit haben, daß er
+ psm0 beim Booten korrekt erkennt,
+ stellen Sie sicher, daß sich im Verzeichnis /dev ein
+ Eintrag für psm0 befindet.
+ Durch Eingabe von
+
+
+&prompt.root; cd /dev; sh MAKEDEV psm0
+
+
+ können Sie einen erstellen, wenn Sie als
+ root angemeldet sind.
+
+
+
+
+
+ Kann man die Maus irgendwie außerhalb von X
+ Windows benutzen?
+
+
+
+ Falls Sie den standard Konsoltreiber syscons benutzen,
+ können Sie den Mauszeiger auf Textkonsolen zum
+ Kopieren und Einfügen von Text verwenden. Starten
+ Sie den Mausdämon moused und schalten Sie den
+ Mauszeiger auf der virtuellen Konsole ein:
+
+
+&prompt.root; moused -p /dev/xxxx -t yyyy
+&prompt.root; vidcontrol -m on
+
+
+ xxxx bezeichnet hierbei den
+ Gerätename der Maus und
+ yyyy das Protokoll.
+ Unterstützte Protokolle finden Sie in der
+ &man.moused.8; Manualpage.
+
+ Wahrscheinlich wollen Sie den Mausdämon
+ automatisch beim Booten starten. In Version 2.2.1
+ müssen Sie hierzu die folgenden Variablen in
+ /etc/sysconfig setzen:
+
+
+mousedtype="yyyy"
+mousedport="xxxx"
+mousedflags=""
+
+
+ In den Versionen 2.2.2 bis 3.0 müssen Sie die
+ folgenden Variablen in /etc/rc.conf
+ setzen.
+
+
+moused_type="yyyy"
+moused_port="xxxx"
+moused_flags=""
+
+
+ Wenn Sie eine PS/2-Maus besitzen und FreeBSD 3.1 (oder
+ neuer) benutzen, brauchen Sie nur die Zeile
+ moused_enable="YES" in die Datei
+ /etc/rc.conf einzutragen.
+
+ Falls Sie den Mausdämon auf allen virtuellen
+ Bildschirmen anstatt nur während des Bootens auf der
+ Konsole benutzen wollen, tragen Sie außerdem
+ folgendes in /etc/rc.conf
+ ein.
+
+
+allscreens_flags="-m on"
+
+
+ Beginnend mit FreeBSD 2.2.6 ist der Mausdämon in
+ der Lage, das richtige Protokoll automatisch zu erkennen,
+ falls es sich nicht um ein relativ altes serielles
+ Mausmodell handelt. Geben Sie auto als
+ Protokoll an, um die automatische Erkennung zu
+ aktivieren.
+
+ Während der Mausdämon läuft, muß
+ der Zugriff auf die Maus zwischen dem Mausdämon und
+ anderen Programmen, wie z.B. X Windows koordiniert werden.
+ Lesen Sie auch einen anderen
+ Abschnitt zu diesem Thema.
+
+
+
+
+
+ Wie funktioniert das Kopieren und Einfügen von
+ Text mit der Maus auf einer Textkonsole?
+
+
+
+ Wenn Sie es geschafft haben, den Mausdämon zu
+ starten (siehe vorherigen
+ Abschnitt), halten Sie die linke Maustaste
+ gedrückt und bewegen Sie die Maus, um einen
+ Textabschnitt zu markieren. Dann drücken Sie die
+ mittlere oder rechte Maustaste, um ihn an der
+ Cursorposition einzufügen.
+
+ In den Versionen 2.2.6 und späteren bewirkt das
+ Drücken der mittleren Maustaste das Einfügen des
+ Textes. Das Drücken der rechten Maustaste
+ erweitert den markierten Textabschnitt.
+ Evtl. möchten Sie Tasten umbelegen oder die mittlere
+ Taste emulieren, falls Ihre Maus keine hat. Details
+ hierzu finden Sie in der &man.moused.8;
+ Manualpage.
+
+
+
+
+
+ Wird meine USB-Maus von FreeBSD
+ unterstützt?
+
+
+
+ Die Unterstützung für USB-Geräte ist
+ seit FreeBSD 3.1 Bestandteil des Systems. Die
+ Unterstützung war allerdings nicht ganz ausgereift;
+ einige der Probleme konnten bis zur Veröffentlichung
+ von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
+ Treiber für USB-Mäuse selbst testen
+ möchten, sollten Sie den unten aufgeführten
+ Anweisungen folgen:
+
+
+
+ Benutzen Sie FreeBSD 3.2 oder eine neuere
+ Version.
+
+
+
+ Tragen Sie die folgenden Zeilen in die
+ Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
+ einen neuen Kernel.
+
+
+device uhci
+device ohci
+device usb
+device ukbd
+options KBD_INSTALL_CDEV
+
+
+ Falls Sie eine ältere FreeBSD-Version als
+ FreeBSD 4.0 benutzen, müssen Sie diese
+ Einträge verwenden:
+
+
+controller uhci0
+controller ohci0
+controller usb0
+controller usm0
+
+
+
+
+ Erzeugen Sie im Verzeichnis
+ /dev die notwendigen
+ Dateien:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV ums0
+
+
+
+
+ Tragen Sie in der
+ /etc/rc.conf die folgenden Zeilen
+ ein:
+
+
+moused_enable="YES"
+moused_type="auto"
+moused_port="/dev/ums0"
+moused_flags=""
+usbd_enable="YES"
+usbd_flags=""
+
+
+ Weitergehende Informationen zum Thema moused
+ finden sie im vorherigen
+ Abschnitt.
+
+
+
+ Wenn Sie Ihre USB-Maus auch unter X benutzen
+ wollen, müssen sie die Datei
+ XF86Config ändern. Wenn Sie
+ XFree86 3.3.2 oder eine neuere Version benutzen,
+ müssen die folgenden Zeilen im Abschnitt
+ Pointer stehen:
+
+
+Device "/dev/sysmouse"
+Protocol "Auto"
+
+
+ Wenn sie eine ältere Version von XFree86
+ benutzen, müssen im Abschnitt
+ Pointer die folgenden Angaben
+ stehen:
+
+
+Device "/dev/sysmouse"
+Protocol "SysMouse"
+
+
+
+
+ Weitergehende Informationen zum Thema "Maus und X"
+ erhalten Sie hier.
+
+ Zur Zeit kann es noch Probleme geben, wenn Sie eine
+ USB-Maus im laufenden Betrieb einstecken oder abziehen.
+ Um Probleme zu vermeiden, sollten Sie die Maus
+ anschließen, bevor Sie das System anschalten und die
+ Maus nicht abziehen, solange das System noch
+ läuft.
+
+
+
+
+
+ Meine Maus hat ein neumodisches Rad und mehr
+ Knöpfe. Kann ich sie in FreeBSD benutzen?
+
+
+
+ Unglücklicherweise lautet die Antwort:
+ Vielleicht. 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.
+
+ Ob und wie Sie das Rad unter X nutzen können,
+ können Sie im passenden
+ Abschnitt der FAQ erfahren.
+
+
+
+
+
+ Meine Maus scheint nicht zu funktionieren. Der Cursor
+ springt wild über den Bildschirm. Die Maus hat ein
+ Rad und ist am PS/2-Port angeschlossen.
+
+
+
+ Die bis einschließlich FreeBSD 3.2 genutzte
+ Version des Treibers für PS/2-Mäuse
+ unterstützt einige Mäuse nicht richtig. Dazu
+ gehört die Logitech M-S48 und deren OEM-Version.
+ Wenden Sie die folgenden Patch auf
+ /sys/i386/isa/psm.c an und erzeugen
+ Sie einen neuen Kernel.
+
+
+Index: psm.c
+===================================================================
+RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
+retrieving revision 1.60.2.1
+retrieving revision 1.60.2.2
+diff -u -r1.60.2.1 -r1.60.2.2
+--- psm.c 1999/06/03 12:41:13 1.60.2.1
++++ psm.c 1999/07/12 13:40:52 1.60.2.2
+@@ -959,14 +959,28 @@
+ sc->mode.packetsize = vendortype[i].packetsize;
+
+ /* set mouse parameters */
++#if 0
++ /*
++ * A version of Logitech FirstMouse+ won't report wheel
+movement,
++ * if SET_DEFAULTS is sent... Don't use this command.
++ * This fix was found by Takashi Nishida.
++ */
+ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
+ if (verbose >= 2)
+ printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
++#endif
+ if (sc->config & PSM_CONFIG_RESOLUTION) {
+ sc->mode.resolution
+ = set_mouse_resolution(sc->kbdc,
+- (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ } else if (sc->mode.resolution >= 0) {
++ sc->mode.resolution
++ = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
++ }
++ if (sc->mode.rate > 0) {
++ sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
+ }
++ set_mouse_scaling(sc->kbdc, 1);
+
+ /* request a data packet and extract sync. bits */
+ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3)
+
+
+ Dieses Problem sollte ab FreeBSD 3.3 nicht mehr
+ auftreten.
+
+
+
+
+
+ Wie benutze ich Maus/Trackball/Touchpad auf meinem
+ Laptop?
+
+
+
+ Bitte lesen Sie die Antwort
+ zur vorherigen Frage und sehen Sie sich diese Anmerkung auf der
+ Mobile-Computing-Seite an.
+
+
+
+
+
+ Welche Arten von Bandlaufwerken werden
+ unterstützt?
+
+
+
+ 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.
+
+ Einige der frühen 8-mm-Laufwerke sind nicht
+ besonders kompatibel zu SCSI-2 und könnten unter
+ FreeBSD nicht einwandfrei funktionieren.
+
+
+
+
+
+ Unterstützt FreeBSD Bandwechsler?
+
+
+
+ FreeBSD 2.2 untestützt SCSI-Wechsler mit dem
+ Gerät ch und dem Befehl
+ chio. Datails zum Betrieb des
+ Wechslers können Sie in der Manualpage &man.chio.1;
+ finden.
+
+ Falls Sie nicht AMANDA oder
+ ein anderes Produkt benutzen, das den Wechsler bereits
+ kennt, bedenken Sie, daß die Programme nur wissen,
+ wie sie ein Band von einem Punkt zu einem anderen bewegen
+ müssen. Sie selbst müssen sich also merken, in
+ welchem Einschub sich ein Band befindet und zu welchem
+ Einschub das Band, das sich gerade im Laufwerk befindet,
+ zurück muß.
+
+
+
+
+
+ Welche Soundkarten werden von FreeBSD
+ unterstützt?
+
+
+
+ FreeBSD unterstützt die Soundkarten SoundBlaster,
+ SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16,
+ AdLib und Gravis UltraSound. MPU-401 und kompatible
+ MIDI-Karten werden begrenzt unterstützt. Ebenso
+ werden Karten, die der Microsoft Sound
+ System-Spezifikation entsprechen, durch den pcm-Treiber
+ unterstützt.
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Abhilfen für fehlenden Sound von es1370 mit dem
+ pcm-Treiber?
+
+
+
+ Sie können den folgenden Befehl jedesmal nach dem
+ Booten ausführen:
+
+
+&prompt.root; mixer pcm 100 vol 100 cd 100
+
+
+
+
+
+
+ Welche Netzwerkkarten unterstützt
+ FreeBSD?
+
+
+
+ Sie finden im Abschnitt Ethernet-Karten
+ des Handbuchs eine vollständige Liste.
+
+
+
+
+
+ Ich habe keinen mathematischen Co-Prozessor - ist das
+ schlimm?
+
+
+
+
+
+ Dies betrifft nur Besitzer von 386/486SX/486SLC -
+ andere Maschinen haben in ihrer CPU einen
+ integriert.
+
+
+
+ Im allgemeinen wird das keine Probleme verursachen,
+ aber es gibt Gelegenheiten bei denen es Sie betreffen wird
+ - entweder bei der Performance oder bei der Genauigkeit
+ der Emulation (lesen Sie den Abschnitt über Gleitpunkt-Emulation).
+ Insbesondere wird das Zeichnen von Bögen in X SEHR
+ langsam sein. Es wird dringend empfohlen, daß Sie
+ sich einen mathematischen Co-Prozessor kaufen - er ist
+ sein Geld wert.
+
+
+
+ Einige Co-Prozessoren sind besser als andere. Es
+ tut uns weh, es zu sagen, aber es ist noch niemand
+ dafür entlassen worden, daß er bei Intel
+ eingekauft hat. Hüten Sie sich vor Clonen, es
+ sei denn, Sie sind sicher, daß sie unter FreeBSD
+ funktionieren.
+
+
+
+
+
+
+
+ Welche Geräte werden noch von FreeBSD
+ unterstützt?
+
+
+
+ Im Handbuch
+ finden Sie eine Liste von anderen unterstützten
+ Geräten.
+
+
+
+
+
+ Unterstützt FreeBSD Power-Management auf meinem
+ Laptop?
+
+
+
+ Auf einigen Rechnern unterstützt FreeBSD APM.
+ Suchen Sie bitte in der Kernelkonfigurationdatei
+ LINT nach dem Wort
+ APM.
+
+
+
+
+
+ Mein Micron-System hängt sich beim Booten
+ auf
+
+
+
+ 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.
+
+ Deaktivieren Sie Plug and Play Operating
+ System im BIOS, um dieses Problem zu beheben.
+ Weitere Informationen können unter http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
+ gefunden werden.
+
+
+
+
+
+ Ich habe einen neueren Adaptec-Controller, den FreeBSD
+ nicht finden kann.
+
+
+
+ Die Chips der neueren Adaptec AIC789-Serie werden
+ unter dem CAM SCSI System unterstützt, das sein Debut
+ in 3.0 gemacht hat. Patches für 2.2-STABLE befinden
+ sich in ftp://ftp.de.FreeBSD.org/pub/FreeBSD/development/cam/.
+ Eine Bootdiskette mit CAM-Erweiterung ist unter http://people.FreeBSD.org/~abial/cam-boot/
+ erhältlich. Lesen Sie in beiden Fällen die
+ Datei README, bevor Sie beginnen.
+
+
+
+
+
+ Ich habe ein internes Plug & Play-Modem, das
+ FreeBSD nicht finden kann.
+
+
+
+ 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 controller
+ pnp0 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
+ /sys/i386/isa/sio.c finden Sie ab
+ Zeile 2777 (ca.) eine Tabelle, in der Sie die PnP-ID des
+ Modems eintragen müssen. Suchen Sie die Zeichenfolge
+ SUP1310 in der Struktur "siopnp_ids[]",
+ um die Tabelle zu finden. Erstellen Sie den Kernel
+ nochmals, installieren Sie ihn, rebooten Sie, und Ihr
+ Modem sollte erkannt werden.
+
+ Möglicherweise müssen Sie in der
+ boot-time-Konfiguration die PnP-Geräte manuell mit
+ einem pnp-Befehl ähnlich
+
+
+pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
+
+
+ konfigurieren, damit das Modem erkannt wird.
+
+
+
+
+
+ Wie kann ich den boot:-Prompt auf einer seriellen
+ Konsole erscheinen lassen?
+
+
+
+
+
+ Erstellen Sie einen Kernel mit options
+ COMCONSOLE.
+
+
+
+ Erstellen Sie /boot.config mit
+ als einzigem Text in der Datei.
+
+
+
+ Ziehen Sie das Tastaturkabel aus dem
+ Rechner.
+
+
+
+ Lesen Sie
+ /usr/src/sys/i386/boot/biosboot/README.serial
+ zur Information.
+
+
+
+
+
+ Warum arbeitet meine 3Com PCI-Netzwerkkarte in meinem
+ Micron-Computer nicht?
+
+
+
+ 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.
+
+ Deaktivieren Sie die Option Plug and Play
+ Operating System im BIOS, um das Problem zu
+ umgehen.
+
+ Weitere Informationen zu diesem Problem gibt es unter
+ dem URL: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron.
+
+
+
+
+
+ Unterstützt FreeBSD Symmetric Multiproccessing
+ (SMP)?
+
+
+
+ SMP wird erst ab Version 3.0 unterstützt. SMP
+ ist im Standardkernel (GENERIC) nicht
+ aktiviert, wenn Sie SMP verwenden wollen, müssen Sie
+ einen angepaßten Kernel erstellen. Die dazu
+ notwendigen Optionen können Sie der Datei
+ /sys/i386/conf/LINT
+ entnehmen.
+
+
+
+
+
+ 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?
+
+
+
+ Schalten Sie im BIOS die Option "boot virus
+ protection" aus.
+
+
+
+
+
+
+ Fehlerbehebung
+
+
+
+
+ Ich habe fehlerhafte Blöcke auf meiner
+ Festplatte!
+
+
+
+ SCSI-Laurwerke sollten in der Lage sein, diese
+ automatisch zu verlagern. Bei einigen Laufwerken ist
+ diese Eigenschaft jedoch aus unerfindlichen Gründen
+ bei der Auslieferung ausgeschaltet...
+
+ Um sie einzuschalten, müssen Sie den Page-Mode
+ des ersten Gerätes editieren. Unter FreeBSD
+ können Sie das (als root) mit
+ folgendem Befehl tun
+
+
+&prompt.root; scsi -f /dev/rsd0c -m 1 -e -P 3
+
+
+ und die Werte für AWRE und ARRE von 0 auf 1
+ ändern:-
+
+
+AWRE (Auto Write Reallocation Enbld): 1
+ARRE (Auto Read Reallocation Enbld): 1
+
+
+ Die folgenden Abschnitte wurden von Ted
+ Mittelstaedt eingesendet:
+
+ Bei IDE-Laufwerken sind fehlerhafte Blöcke
+ normalerweise ein Zeichen für potentielle Probleme.
+ Bei allen modernen IDE-Laufwerken ist eine interne
+ Verlagerung von fehlerhaften Blöcken eingeschaltet.
+ Heutzutage bieten alle IDE-Festplattenhersteller eine
+ umfassende Garantie und tauschen Laufwerke mit
+ fehlerhaften Blöcken um.
+
+ Falls Sie ein IDE-Laufwerk mit fehlerhaften
+ Blöcken trotzdem weiterbenutzen möchten,
+ können Sie versuchen, sich vom Hersteller ein
+ IDE-Diagnoseprogramm herunterzuladen und dies über
+ das Laufwerk laufen zu lassen. Manchmal können diese
+ Programme so eingestellt werden, daß sie die
+ Elektronik des Laufwerks dazu veranlassen, das Laufwerk
+ nochmals nach fehlerhaften Blöcken zu durchsuchen und
+ diese auszuschließen.
+
+ Auf ESDI-, RLL- und MFM-Laufwerken sind fehlerhafte
+ Blöcke nichts ungewöhnliches und im allgemeinen
+ kein Zeichen für Probleme. Auf einem PC
+ übernehmen der Festplatten-Controller und das BIOS
+ die Aufgabe, fehlerhafte Sektoren auszuschließen,
+ was bei Betriebssystemen wie DOS, die das BIOS benutzen,
+ um auf die Platte zuzugreifen, auch gut funktioniert. Die
+ Festplattentreiber von FreeBSD benutzen allerdings nicht
+ das BIOS, weshalb ein Mechanismus bad144 existiert, der
+ diese Funktionalität ersetzt. bad144 arbeitet nur
+ mit dem wd-Treiber (und wird damit von FreeBSD 4.x nicht
+ unterstützt) und kann NICHT für SCSI benutzt
+ werden. bad144 arbeitet, indem es alle gefundenen,
+ fehlerhaften Sektoren in eine spezielle Datei
+ schreibt.
+
+ Eine Einschränkung von bad144 ist, daß die
+ Datei mit den fehlerhaften Sektoren auf die letzte Spur
+ der Platte plaziert wird. Da diese Datei nun
+ möglicherweise eine Liste von fehlerhaften Sektoren
+ enthalten könnte, die am Anfang der Platte auftreten,
+ wo sich möglicherweise die /kernel-Datei befindet,
+ muß sie vom Bootstrap-Programm, das BIOS-Routinen
+ benutzt, um den Kernel zu lesen, erreichbar sein. Das
+ bedeutet, daß Platten, auf denen bad144 benutzt
+ wird, 1024 Zylinder, 16 Köpfe und 63 Sektoren nicht
+ überschreiten dürfen. Platten, die von bad144
+ verwaltet werden, sind also effektiv auf 500MB
+ begrenzt.
+
+ Setzen Sie Bad Block Scanning
+ während der Installation im fdisk-Menue einfach auf
+ ON, um bad144 zu verwenden. Dies funktioniert bis zu
+ FreeBSD 2.2.7. Die Platte darf nicht mehr als 1024
+ Zylinder besitzen. Generell wird empfohlen, daß die
+ Festplatte vorher mindestens vier Stunden in Betrieb war,
+ um ihr die Möglichkeit zur thermischen Ausdehnung und
+ Spurversetzung zu geben.
+
+ Falls eine Platte mehr als 1024 Zylinder besitzt (wie
+ z.B. große ESDI-Laufwerke), benutzt der Controller
+ einen speziellen Übersetzungsmodus, um den Betrieb
+ unter DOS zu ermöglichen. Der wd-Treiber kennt diese
+ Übersetzungsmodi, WENN Sie die
+ translated-Geometrie mit dem set
+ geometry-Befehl in fdisk eingeben. Sie
+ dürfen NICHT den "dangerously dedicated"-Modus zur
+ Erstellung der FreeBSD-Partition verwenden, weil dieser
+ die Geometrie ignoriert und obwohl fdisk Ihre
+ überschriebene Geometrie benutzen wird, ist die wahre
+ Größe der Platte noch bekannt und es wird
+ versucht, eine zu große FreeBSD-Partition zu
+ erstellen. Wenn die Plattengeometrie in die
+ übersetzte Geometrie geändert worden ist, dann
+ MUß die Partition manuell durch Angabe der
+ Blockanzahl erstellt werden.
+
+ Sie können mit dem ESDI-Controller auch
+ kurzerhand eine große ESDI-Platte erstellen, diese
+ dann mit DOS booten und als DOS-Partition formatieren.
+ Anschließend booten Sie mit dem
+ FreeBSD-Installationsprogramm und im fdisk-Menue notieren
+ Sie sich die Blockgröße und die Anzahl
+ Blöcke der DOS-Partition. Dann ändern Sie die
+ Geometrie in die gleiche, wie die von DOS verwendete,
+ löschen die DOS-Partition und erstellen eine
+ kooperative FreeBSD-Partition mit der
+ gleichen Blockgröße, die Sie zuvor notiert
+ haben. Machen Sie die Partition nun bootfähig und
+ schalten Sie Bad Block Scanning ein. Während der
+ tatsächen Installation wird bad144 gestartet, bevor
+ irgendwelche Dateisysteme erstellt werden (Sie können
+ das mit Alt-F2 beobachten). Falls irgendwelche Probleme
+ bei der Erstellung der Datei mit den fehlerhaften Sektoren
+ auftreten sollten, haben Sie eine zu große
+ Plattengeometrie eingestellt - rebooten Sie Ihr System und
+ beginnen Sie von vorne (die Neupartitionierung und
+ Formatierung unter DOS eingeschlossen).
+
+ Falls die Verlagerung fehlerhafter Blöcke
+ aktiviert ist und Sie trotzdem fehlerhafte Blöcke
+ bemerken, sollten Sie einen Austausch des Laufwerkes in
+ Erwägung ziehen, da die fehlerhaften Blöcke mit
+ der Zeit zunehmen werden.
+
+
+
+
+
+ FreeBSD erkennt meinen SCSI-Kontroller vom Typ Bustek
+ 742a EISA nicht!
+
+
+
+ Diese Information ist speziell für die 742a,
+ könnte aber auch andere Buslogic-Karten
+ einschließen (Bustek = Buslogic)
+
+ Es gibt zwei grundverschiedene
+ Versionen der 742a-Karte. Das sind die
+ Hardware-Revisionen A-G und Revisionen von H
+ aufwärts. Der Revisionsbuchstabe befindet sich
+ hinter der Fabriknummer am Rand der Karte. Auf der 742a
+ befinden sich zwei Chips. Einer ist der BIOS-Chip, der
+ andere der Firmware-Chip. FreeBSD achtet nicht darauf,
+ welche BIOS-Version Sie haben, aber es achtet auf die
+ Version des Firmware-Chips. Buslogic schickt Ihnen
+ Upgrade-ROMS, wenn Sie sich an den technischen Support
+ wenden. Die BIOS- und Firmware-Chips müssen als
+ passende Paare ausgeliefert werden. Für Ihre
+ Hardware-Revision benötigen Sie das aktuellste
+ Firmware-ROM auf Ihrer Adapter-Karte.
+
+ Karten der Revision A-G akzeptieren
+ BIOS/Firmware-Paare bis zu 2.41/2.21. Die Karten der
+ Revisionen H und aufwärts akzeptieren die aktuellsten
+ BIOS/Firmware-Paare 4.70/3.37. Der Unterschied der
+ Firmware-Versionen ist, daß die 3.37-Firmware
+ round robin unterstützt.
+
+ Auf den Buslogic-Karten befindet sich auch eine
+ Seriennummer. Falls Sie eine Karte mit einer alten
+ Hardwarerevisionsnummer besitzen, können Sie sich an
+ die RMA-Abteilung von Buslogic wenden, Ihre Seriennummer
+ angeben und versuchen, die Karte gegen eine neuere
+ Hardwarerevision auszutauschen. Falls Ihre Karte nicht zu
+ alt ist, wird dem Tausch zugestimmt werden.
+
+ Von FreeBSD 2.1 werden nur Firmwarerevisionen ab 2.21
+ aufwärts unterstützt. Wenn Sie eine ätere
+ Firmwarerevision besitzen, wird Ihre Karte nicht als
+ Buslogic-Karte erkannt. Sie könnte jedoch als
+ Adaptec 1540 erkannt werden. Die früe Firmware von
+ Buslogic enthält eine AHA1540
+ Emulation, wovon bei EISA-Karten jedoch
+ abzuraten ist.
+
+ Wenn sie eine Karte mit einer alten
+ Hardwarerevisionsnummer besitzen und die 2.21-Firmware
+ für sie bekommen, müssen Sie den Jumper W1 in
+ die Position B-C setzen; die Voreinstellung ist
+ A-B.
+
+
+
+
+
+ Der SCSI-Controller meines HP Netserver wird nicht
+ erkannt!
+
+
+
+ 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
+ wirklichen EISA-Slots vor ihm befinden.
+ Leider kollidiert der Adreßraum von EISA-Slots
+ >10 mit dem Adreßraum, der PCI zugeordnet ist und
+ die Autokonfiguration von FreeBSD kann mit dieser
+ Situation derzeit nicht besonders gut umgehen.
+
+ Die einfachste Alternative ist, diese Kollision
+ einfach zu leugnen. Setzen Sie dazu die Kerneloption
+ EISA_SLOTS auf den Wert 12.
+ Konfigurieren und kompilieren Sie den Kernel, wie im
+ Handbucheintrag
+ zur Kernelkonfiguration beschrieben.
+
+ 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
+ UserConfig. Benutzen Sie nicht die
+ visuelle Schnittstelle, sondern die rohe
+ Kommandozeilenschnittstelle. Geben Sie einfach
+
+
+eisa 12
+quit
+
+
+ am Prompt ein und Sie können Ihr System ganz
+ normal installieren. Sie sollten auf jeden Fall einen
+ angepaßten Kernel zu kompilieren und
+ installieren,
+
+ Zukünftige Versionen werden hoffentlich eine
+ passende Lösung für dieses Problem
+ beinhalten.
+
+
+
+ Sie können keine dangerously
+ dedicated Platte auf einem HP Netserver
+ verwenden. Lesen Sie weitere Informationen finden Sie
+ in diesem
+ Hinweis.
+
+
+
+
+
+
+
+ Was ist mit diesem CMD640-Controller los?
+
+
+
+ Er ist fehlerhaft. Er kann Befehle auf beiden
+ Kanälen nicht simultan behandeln.
+
+ Es gibt jetzt eine Abhilfe, die automatisch aktiviert
+ wird, wenn Ihr System diesen Chip benutzt. Details finden
+ Sie in der Manualpage zum Plattentreiber (man 4
+ wd).
+
+ Wenn bei Ihnen bereits FreeBSD 2.2.1 oder 2.2.2 mit
+ einem CMD640-Controller läuft und Sie den zweiten
+ Kanal benutzen möchten, erstellen Sie einen neuen
+ Kernel mit options "CMD640". Dies ist
+ seit 2.2.5 Voreinstellung.
+
+
+
+
+
+ Ich sehe ständig Meldungen wie ed1:
+ timeout.
+
+
+
+ Dies wird meistens durch einen Interruptkonflikt
+ verursacht (z.B., wenn zwei Karten den selben Interrupt
+ benutzen). Vor 2.0.5R war FreeBSD diesbezüglich
+ tolerant und die Treiber für Netzwerkkarten
+ funktionierten auch bei IRQ-Konflikten. Seit 2.0.5R
+ werden IRQ-Konflikte jedoch nicht länger toleriert.
+ Booten Sie mit der Option -c und ändern Sie die
+ Einträge zu ed0/de0/... Ihrem Board
+ entsprechend.
+
+ Wenn Sie den BNC-Anschluß Ihrer Netzwerkkarte
+ benutzen, könnte es auch sein, daß es sich
+ Geräte-Timeouts aufgrund fehlerhafter Terminierung
+ handelt. Um dies zu überprüfen, verbinden Sie
+ einen Terminator direkt mit der Netzwerkkarte (ohne Kabel)
+ und beobachten Sie, ob die Fehlermeldungen
+ verschwinden.
+
+ Einige NE2000 kompatible Karten melden diesen Fehler,
+ wenn keine Verbindung am UTP-Eingang existiert oder wenn
+ das Kabel nicht eingesteckt ist.
+
+
+
+
+
+ Beim Mounten einer CDROM erscheint Incorrect
+ super block.
+
+
+
+ Sie müssen mount mitteilen,
+ was für ein Gerät Sie mounten wollen.
+ Standardmäßig wird mount den
+ Typ ufs annehmen. Sie wollen ein
+ CDROM-Dateisystem mounten und das tun Sie, indem Sie die
+ Option für
+ mount benutzen. Natürlich unter
+ der Annahme, daß die CDROM ein ISO 9660-Dateisystem
+ enthält, wie bei den meisten CDROMs. Ab 1.1R
+ versteht FreeBSD auch automatisch die Rock Ridge
+ Erweiterungen (lange Dateinamen).
+
+ Wenn sie zum Beispiel das CDROM-Gerät
+ /dev/cd0c unter dem Dateinamen
+ /mnt mounten wollen,
+ müßten Sie:
+
+
+&prompt.root; mount -t cd9660 /dev/cd0c /mnt
+
+
+ eingeben.
+
+ Beachten Sie, daß Ihr Gerätename
+ (/dev/cd0c in diesem Beispiel)
+ abhängig von der CDROM-Schnittstelle unterschiedlich
+ sein könnte. Die Option
+ bewirkt lediglich, daß der Befehl
+ mount_cd9660 ausgeführt wird. Das
+ obige Beispiel könnte also kürzer
+ lauten:
+
+
+&prompt.root; mount_cd9660 /dev/cd0c /mnt
+
+
+
+
+
+
+ Wenn ich eine CDROM mounte, erscheint Device
+ not configured.
+
+
+
+ Das bedeutet im allgemeinen, daß sich keine
+ CDROM im Laufwerk befindet, oder, daß das Laufwerk
+ auf dem Bus nicht sichtbar ist. Legen sie etwas ins
+ Laufwerk ein und/oder überprüfen Sie den
+ Master/Slave-Status des Laufwerks, falls es sich um ein
+ IDE (ATAPI) Laufwerk handelt. Bei einem CDROM-Laufwerk
+ kann es einige Sekunden dauern, bis ein eingelegter
+ Datenträger erkannt wird. Haben Sie also
+ Geduld.
+
+ Manchmal kann ein SCSI-CDROM verfehlt werden, weil es
+ nicht genügend Zeit hatte, auf einen Bus-Reset zu
+ antworten. Falls Sie ein SCSI-CDROM besitzen, versuchen
+ Sie, folgendes in Ihre Kernelkonfigurationsdatei
+ einzufügen, und neu zu kompilieren:
+
+
+options "SCSI_DELAY=15"
+
+
+
+
+
+
+ Mein Drucker ist unglaublich langsam. Was kann ich
+ tun?
+
+
+
+ Falls es sich um einen parallelen Drucker handelt und
+ das einzige Problem ist, daß er schrecklich langsam
+ ist, probieren Sie, den Druckerausgang in den
+ gepollten Modus zu setzen:
+
+
+&prompt.root; lptcontrol -p
+
+
+ Von einigen neueren HP-Druckern wird behauptet,
+ daß sie im Interruptmodus nicht korrekt arbeiten,
+ anscheinend wegen eines (noch nicht genau verstandenen)
+ Timing-Problems.
+
+
+
+
+
+ Meine Programme brechen gelegentlich mit
+ Signal 11-Fehlern ab.
+
+
+
+ Das Signal 11 wird generiert, wenn ein Prozeß
+ versucht, auf Speicher zuzugreifen, obwohl er vom
+ Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das
+ scheinbar zufällig immer wieder passiert, sollten Sie
+ der Sache einmal auf der Grund gehen.
+
+ Das Problem hat in der Regel eine der folgenden
+ Ursachen:
+
+
+
+ Wenn das Problem nur in einer bestimmten
+ Applikation auftritt, die Sie selbst entwickeln, dann
+ ist es wahrscheinlich ein Fehler in Ihren
+ Sourcen.
+
+
+
+ Wenn das Problem in einem Teil von FreeBSD
+ auftritt, könnte es natürlich auch ein
+ Fehler sein; aber in der überwiegenden Zahl der
+ Fälle werden diese Probleme gefunden und behoben,
+ bevor die typischen Leser der FAQ (wir) diese Teile
+ der Sourcen benutzen können (dafür gibt es
+ schließlich -current).
+
+
+
+ Wenn der Fehler auftritt, wenn Sie ein Programm
+ compilieren aber dabei immer wieder an anderer Stelle
+ auftritt, dann ist das ein ganz eindeutiger Hinweis,
+ daß das Problem *nicht* bei FreeBSD liegt.
+
+ Nehmen wir zum Beispiel an, daß Sie "make
+ buildworld" ausführen und die Compilierung von ls.c
+ in ls.o abbricht. Wenn Sie nochmal "make buildworld"
+ durchführen und die Compilierung an der gleichen
+ Stelle abbricht, handelt es sich um einen Fehler in den
+ Sourcen. Aktualisieren Sie Ihre Sourcen und versuchen Sie
+ es noch einmal. Wenn der Fehler jedoch an einer anderen
+ Stelle auftritt, liegt das Problem mit an Sicherheit
+ grenzender Wahrscheinlichkeit bei Ihrer Hardware.
+
+ Was Sie tun sollten:
+
+ 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.
+
+ Im zweiten Fall müssen Sie sicherstellen,
+ daß das Problem nicht von Ihrer Hardware verursacht
+ wird.
+
+ Typische Ursachen dafür sind unter
+ anderem:
+
+
+
+ Es könnte sein, daß Ihren Festplatten
+ zu warm wird: Überprüfen Sie, ob die
+ Lüfter in Ihrem Gehäuse noch funktionieren,
+ damit Ihre Festplatten (und andere Hardware) nicht
+ heißlaufen.
+
+
+
+ Der Prozessor überhitzt, weil Sie Ihn
+ übertaktet haben oder der CPU-Kühler
+ ausgefallen ist. Sie müssen sicherstellen,
+ daß Sie Ihre Hardware unter den Bedingungen
+ betreiben, für die sie spezifiziert ist,
+ zumindestens während Sie versuchen, das Problem
+ zu lösen. Mit anderen Worten: Betreiben Sie
+ Ihre CPU mit der normalen Taktfrequenz.
+
+ Wenn Sie übertakten, sollten Sie daran
+ denken, daß ein langsames System deutlich
+ billiger ist als ein defektes System. Die große
+ Masse hat nicht sehr häufig Mitgefühl mit
+ Problemen bei übertakteten System, auch wenn Sie
+ es für ungefährlich halten.
+
+
+
+ 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.
+
+
+
+ Zu optimistische Einstellung des Mainboards: In
+ Ihrem BIOS und mit den Jumpern auf dem Mainboard
+ können Sie diverse Timings ändern. In den
+ meisten Fällen reichen die Defaults aus, aber
+ manchmal kann es durch zu wenig wait states, die
+ Einstellung "RAM Speed: Turbo" oder ähnliches zu
+ merkwürdigen Problemen kommen. Ein
+ möglicher Ansatz ist, die BIOS defaults zu laden,
+ allerdings könnte es sinnvoll sein, die aktuellen
+ Einstellungen vorher zu notieren.
+
+
+
+ Schlechte oder fehlerhafte Stromversorgung des
+ Mainboards: Wenn Sie unbenutzte Steckkarten, Platten
+ oder CD-ROMs in Ihrem System haben, sollten Sie sie
+ testweise ausbauen oder die Stromversorgung abziehen.
+ Dadurch können Sie prüfen, ob Ihr Netzteil
+ eventuell mit einer geringeren Last besser
+ zurechtkommt. Sie können auch testweise ein
+ anderes, am besten ein leistungsfähigeres,
+ Netzteil ausprobieren. Wenn Sie zur Zeit ein
+ 250W-Netzteil benutzen, sollten Sie testweise ein
+ 300W-Netzteil einbauen.
+
+
+
+ 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.
+
+ Wenn alle diese Schritte nicht helfen, ist es
+ möglich, daß Sie einen Fehler in FreeBSD
+ gefunden haben. Folgen Sie einfach den Anweisungen
+ für die Erstellung eines Problem Reports.
+
+ Es existiert eine ausführliche FAQ hierzu unter
+ der
+ SIG11-Problem-FAQ
+
+
+
+
+
+ Beim Booten wird der Bildschirm schwarz und reagiert
+ nicht mehr!
+
+
+
+ Dies ist ein bekanntes Problem mit der ATI Mach 64
+ Videokarte. Das Problem besteht darin, daß diese
+ Karte die Adresse 2e8 benutzt und die
+ vierte serielle Schnittstelle ebenfalls. Aufgrund eines
+ Fehlers (einer Besonderheit?) im Treiber
+ sio wird diese Schnittstelle
+ angesprochen, auch wenn Sie gar keine vierte serielle
+ Schnittstelle besitzen und sogar,
+ wenn sie sio3 (die vierte Schnittstelle), die
+ normalerweise diese Adresse verwendet,
+ deaktivieren.
+
+ Bis der Fehler behoben ist, können Sie folgende
+ Abhilfe verwenden:
+
+
+
+ Geben Sie am Bootprompt ein.
+ (Dies bringt den Kernel in den
+ Konfigurationsmodus).
+
+
+
+ Deaktivieren Sie sio0,
+ sio1,
+ sio2 und
+ sio3 (alle). Auf diese Weise
+ wird der sio-Treiber nicht aktiviert und das Problem
+ tritt nicht mehr auf.
+
+
+
+ Geben Sie exit ein, um den Bootvorgang
+ fortzusetzen.
+
+
+
+ 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 /usr/src/sys/i386/isa/sio.c nach
+ der Zeichenkette 0x2e8 und löschen
+ Sie sie und das vorhergehende Komma (nicht das folgende
+ Komma). Nun folgen Sie der normalen Prozedur zur
+ Erstellung eines neuen Kernels.
+
+ Auch nach Anwendung dieser Maßnahmen könnte
+ es sein, daß Ihr X Windows-System nicht einwandfrei
+ funktioniert. Wenn dies der Fall ist, stellen Sie sicher,
+ daß es sich bei der von Ihnen benutzten X
+ Windows-Version mindestens um XFree86 3.3.3 oder
+ höher handelt. Diese Version und höhere
+ besitzen eine integrierte Unterstützung für
+ Mach64-Karten und sogar einen dedizierten X-Server
+ für sie.
+
+
+
+
+
+ Ich besitze 128 MB Hauptspeicher, aber das System
+ verwendet nur 64 MB.
+
+
+
+ Aufgrund der Art und Weise, wie FreeBSD die
+ Hauptspeichergröße vom BIOS mitgeteilt bekommt,
+ kann es lediglich 16-Bit Werte in kByte-Größe
+ (65535 kByte = 64MB) erkennen (oder weniger... einige
+ BIOSe setzen die Hauptspeichergröß auf 16MB).
+ Falls Sie mehr als 64MB besitzen, wird FreeBSD versuchen,
+ das zu erkennen, was aber nicht immer
+ funktioniert.
+
+ Um dieses Problem zu umgehen, müssen Sie die
+ untenstehende Kerneloption verwenden. Es gibt einen Weg,
+ vollständige Hauptspeicherinformationen vom BIOS zu
+ erhalten, aber in den Bootblöcken ist nicht
+ genügend Platz dafür vorhanden. Wenn der
+ Platzmangel in den Bootblöcken eins Tages behoben
+ ist, werden wir die erweiterten BIOS-Funktionen dazu
+ nutzen, die vollständigen Hauptspeicherinformationen
+ zu erhalten... aber zur Zeit sind wir auf die Kerneloption
+ angewiesen.
+
+ options
+ "MAXMEM=n"
+
+ Hierbei ist n Ihre
+ Hauptspeichergröße in Kilobyte. Bei einer 128
+ MB-Maschine müßten Sie
+ 131072 benutzen.
+
+
+
+
+
+ FreeBSD 2.0 gerät mit kmem_map too
+ small! in Panik.
+
+
+
+
+
+ Die Nachricht kann auch mb_map too
+ small! lauten.
+
+
+
+ Diese Meldung zeigt an, daß der virtuelle
+ Speicher für Netzwerkpuffer (spezieller mbuf-Cluster)
+ aufgebraucht ist. Sie können die für mbuf
+ verfügbare Größe an VM erhöhen, indem
+ Sie
+
+ options
+ "NMBCLUSTERS=n"
+
+ in Ihre Kernelkonfigurationsdatei einfügen, wobei
+ n, abhängig davon,
+ wieviele gleichzeitige TCP-Verbindungen Sie
+ unterstützen müssen, eine Zahl aus dem Bereich
+ 512-4096 ist. Ich würde Ihnen empfehlen, 2048 zu
+ probieren - das sollte Sie von solchen Paniksituationen
+ vollkommen befreien. Sie können die Anzahl der
+ zugeordneten/benutzten mbuf-Cluster im System mit
+ netstat -m beobachten. Der
+ voreingestellte Wert für NMBCLUSTERS ist 512
+ + MAXUSERS * 16.
+
+
+
+
+
+ Beim Rebooten mit einem neuen Kernel erscheint
+ CMAP busy panic.
+
+
+
+ Die Logik, die versucht, veraltete
+ /var/db/kvm_*.db-Dateien zu erkennen,
+ versagt manchmal und die Benutzung einer unpassenden Datei
+ kann zu Paniksituationen führen.
+
+ Falls das passiert, rebooten Sie im Single-User-Modus
+ und löschen Sie die Dateien:
+
+
+&prompt.root; rm /var/db/kvm_*.db
+
+
+
+
+
+
+ ahc0: brkadrint, Illegal Host Access at seqaddr
+ 0x0
+
+
+
+ Dies ist ein Konflikt mit einem Ultrastor SCSI
+ Hostadapter.
+
+ Rufen Sie während des Bootprozesses das
+ Kernelkonfigurationsmenue auf und deaktivieren Sie
+ uha0, welches das Problem
+ verursacht.
+
+
+
+
+
+ Sendmail meldet mail loops back to
+ myself
+
+
+
+ Dies wird in der Sendmail-FAQ wie folgt
+ beantwortet:-
+
+ * Ich erhalte "Local configuration error" Meldungen, wie:
+
+ 553 relay.domain.net config error: mail loops back to myself
+ 554 <user@domain.net>... Local configuration error
+
+ Wie kann ich dieses Problem lösen?
+
+ Sie haben durch die Benutzung einer MX-Zeile eingestellt, daß
+ Mail für die Domäne (z.B. domain.net) an einen speziellen
+ Host (in diesem Fall relay.domain.net) weitergeleitet wird,
+ aber der Relay-Host erkennt sich selbst nicht als
+ domain.net. Fügen Sie domain.net in /etc/sendmail.cw
+ (falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
+ in /etc/sendmail.cf ein.
+
+
+ Die aktuelle Version der Sendmail-FAQ
+ wird nicht mehr mit dem Sendmail-Release verwaltet. Sie
+ wird jedoch regelmäßig nach comp.mail.sendmail,
+ comp.mail.misc,
+ comp.mail.smail,
+ comp.answers und
+ news.answers
+ gepostet. Sie können auch eine Kopie per Email
+ bekommen, indem Sie eine Mail mit dem Inhalt send
+ usenet/news.answers/mail/sendmail-faq an
+ mail-server@rtfm.mit.edu schicken.
+
+
+
+
+
+ Auf entfernten Maschinen laufende
+ Full-Screen-Applikationen verhalten sich nicht
+ richtig.
+
+
+
+ Die entfernte Maschine scheint den Terminaltyp auf
+ etwas anderes als den Typ cons25, der
+ von FreeBSD verlangt wird, zu setzen.
+
+ Es gibt mehrere mögliche Abhilfen für dieses
+ Problem:
+
+
+
+ Setzen Sie die Shell-Variable TERM nach dem
+ Einloggen auf der entfernten Maschine auf
+ ansi oder sco,
+ sofern die entfernte Maschine diese Terminaltypen
+ kennt.
+
+
+
+ Benutzen Sie einen VT100-Emulator wie
+ screen auf der
+ FreeBSD-Console. screen
+ bietet Ihnen die Möglichkeit, mehrere
+ gleichzeitige Sitzungen von einem Bildschirm aus
+ laufen zu lassen. Es ist ein sehr nettes Programm.
+ Jedes screen-Fenster
+ verhält sich, wie ein VT100-Terminal, weshalb die
+ Variable TERM am entfernten Ende auf
+ vt100 gesetzt werden
+ sollte.
+
+
+
+ Installieren Sie den Eintrag
+ cons25 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.
+
+
+
+ Starten Sie einen X-Server auf der FreeBSD-Seite
+ und benutzen Sie einen X-basierten Terminalemulator
+ wie xterm oder
+ rxvt, um sich auf der entfernten
+ Maschine einzuloggen. Die Variable TERM auf dem
+ entfernten Host sollte auf xterm
+ oder vt100 gesetzt werden.
+
+
+
+
+
+
+
+ Mein Rechner meldet calcru: negative
+ time...
+
+
+
+ Dies kann durch verschiedene Hardware- und/oder
+ Softwareprobleme in Verbindung mit Interrupts verursacht
+ werden. Das kann aufgrund von Fehlern sein, aber es kann
+ auch durch die Eigenarten bestimmter Geräte
+ passieren. TCP/IP über die parallele Schnittstelle
+ mit einer großen MTU laufen zu lassen, ist ein
+ sicherer Weg, um dieses Problem zu provozieren.
+ Grafikbeschleuniger können es auch verursachen. In
+ diesem Fall sollten Sie zunächst die
+ Interrupteinstellungen der Karte
+ überprüfen.
+
+ Ein Seiteneffekt dieses Problems sind Prozesse, die
+ mit der Meldung SIGXCPU exceeded cpu time
+ limit abbrechen.
+
+ Für FreeBSD 3.0 und spätere ab dem 29. Nov.
+ 1998: Falls das Problem nicht anders gelöst werden
+ kann, besteht die Lösung darin, diese sysctl-Variable
+ zu setzen:
+
+
+&prompt.root; sysctl -w kern.timecounter.method=1
+
+
+ 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
+ NTIMECOUNTER im Kernel auf immer
+ höhere Werte. Wenn Sie irgendwann
+ NTIMECOUNTER=20 erreicht haben sollten,
+ ist das Problem nicht gelöst. Die Interrupts auf
+ Ihrer Maschine sind für eine verläßliche
+ Zeiterhaltung nicht zu gebrauchen.
+
+
+
+
+
+ Ich erhalte die Meldung pcm0 not
+ found oder meine Soundkarte wird als
+ pcm1 eingebunden, obwohl in meiner
+ Kernel-Konfiguration device pcm0
+ steht.
+
+
+
+ Dieser Effekt tritt auf, wenn Sie FreeBSD 3.x und eine
+ PCI Soundkarte haben. Das Gerät
+ pcm0 ist für ISA Soundkarten
+ reserviert; wenn Sie eine PCI Soundkarte haben, werden Sie
+ diese Meldung erhalten und Ihre Karte wird als
+ pcm1 eingebunden.
+
+
+
+ Sie können das Problem nicht lösen,
+ indem Sie einfach in der Konfigurationsdatei für
+ Ihnen Kernel die Zeile device pcm1
+ eintragen. Wenn Sie dies tun, wird
+ pcm1 für ISA-Karten reserviert
+ und Ihre PCI-Karte wird zu pcm2.
+ Zusätzlich erhalten Sie den Hinweis pcm1
+ not found.
+
+
+
+ Wenn Sie eine PCI Sounkarte haben, müssen Sie das
+ Gerät snd1 statt des üblichen
+ snd0 verwenden:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV snd1
+
+
+ Dieses Problem tritt in FreeBSD 4.x nicht mehr auf, da
+ große Anstrengungen unternommen wurden, diese
+ Version PnP-orientiert zu machen. In
+ FreeBSD 4.x ist das Gerät pcm0
+ nicht mehr für ISA-Karten reserviert.
+
+
+
+
+
+ Meine PnP-Karte wird nicht mehr (oder nur noch als
+ unknown) erkannt, seit ich FreeBSD 4.x
+ benutze.
+
+
+
+ FreeBSD 4.x ist deutlich
+ PnP-orientierter und das führt
+ leider dazu, daß einige PnP-Geräte (wie z.B.
+ Soundkarten und interne Modems) nicht mehr funktionieren,
+ obwohl Sie von FreeBSD 3.x noch erkannt wurden.
+
+ Die Gründe für dieses Verhalten werden in
+ der unten zitierten Mail von Mail von Peter Wemm
+ erklärt. Diese Mail stammt von der Mailingliste
+ freebsd-questions und war eine Antwort auf eine Frage
+ bezüglich eines internen Modem, das nach dem Update
+ auf FreeBSD 4.x nicht mehr erkannt wurde. Die Kommentare
+ in [] wurden eingefügt, um an
+ einigen Stellen die Bezüge klarstellen.
+
+
+ Das PnP-Bios hat es [das Modem] vorkonfiguriert und
+ es dann im Adreßraum liegenlassen, daher haben es
+ die alten ISA-Erkennungsroutinen [in 3.x]
+ gefunden.
+
+ In 4.0 sind die ISA-Routinen deutlich
+ PnP-orientierter. Es war möglich [in 3.x],
+ daß eine ISA-Erkennungsroutinen ein
+ zugelaufenes Gerät fand;
+ während die PnP-Treiber zwar die ID erkannten, das
+ Gerät aber wegen des Ressourcekonfliktes nicht
+ nutzen konnten. Daher werden die programmierbaren
+ Karten zunächst einmal abgeschaltet, um diese
+ doppelte Erkennung vermeiden zu können. Das
+ bedeutet allerdings auch, daß die Treiber die
+ PnP-ID kennen muß, um PnP-Hardware
+ unterstützen zu können. Wir haben uns
+ vorgenommen, den Benutzern eine einfachere
+ Möglichkeit zur Manipulation dieser Informationen
+ zur Verfügung zu stellen.
+
+
+ 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:
+
+
+&prompt.root; pnpinfo
+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)
+
+
+ [weitere TAG Zeilen gestrichen]
+
+
+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
+
+ Sie benötigen die Information aus der Zeile
+ Vendor ID ganz im Anfang. Die in Klammern
+ ausgegebene Hexadezimale Zahl (0x3024a341 in diesem
+ Beispiel) ist die PnP ID und die unmittelbar davor
+ stehende Zeichenkette (PMC2430) ist eine eindeutige
+ Herstellerkennung. Diese Informationen müssen in die
+ Datei /usr/src/sys/isa/sio.c
+ eingetragen werden.
+
+ Sie sollten zunächst ein Backup von
+ sio.c anlegen, falls irgendwas
+ schiefgehen sollte. Sie werden auch einen Patch erzeugen
+ müssen, um ihn zusammen mit Ihrem PR einzusenden.
+ (Sie wollten doch einen PR schreiben, oder etwa nicht?)
+ Öffnen Sie nun sio.c mit einem
+ Editor und suchen Sie nach der Zeile
+
+
+static struct isa_pnp_id sio_ids[] = {
+
+
+ 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 (Device
+ Description) aus der Ausgabe von
+ &man.pnpinfo.8;:
+
+
+{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 */
+
+
+ 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
+ sio Gerät erkannt werden.
+
+
+
+
+
+
+ Kommerzielle Anwendungen
+
+
+
+ Dieser Abschnitt ist immer noch sehr dürftig, aber
+ wir hoffen natürlich, daß Unternehmen einen
+ Beitrag leisten werden! :) Die FreeBSD-Gruppe hat keinerlei
+ finanzielle Interessen an einem der hier aufgelisteten
+ Unternehmen, sondern listet sie lediglich als
+ öffentlichen Service auf (und ist der Meinung,
+ daß ein kommerzielles Interesse an FreeBSD sehr
+ positive Einfluß auf ein langfristiges Bestehen von
+ FreeBSD haben kann). Wir möchten Anbieter
+ kommerzieller Software dazu aufrufen, ihren Eintrag hier
+ aufnehmen zu lassen. Auf der
+ Anbieter-Seite finden Sie eine längere
+ Liste.
+
+
+
+
+
+
+ Woher kann ich Motif für FreeBSD
+ bekommen?
+
+
+
+ Um die günstigste ELF-Motiv 2.1.20 Distribution
+ für FreeBSD (entweder i386 oder Alpha) zu bekommen,
+ wenden Sie sich bitte an Apps2go.
+
+ Es gibt zwei Distributionen, die developement
+ edition und die runtime edition
+ (wesentlich günstiger). Diese Distributionen
+ enthalten:
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische ELF-Bibliotheken (zur
+ Benutzung mit FreeBSD 3.0 und höher).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Achten Sie darauf, daß Sie bei der Bestellung
+ angeben, daß Sie die FreeBSD-Version von Motif
+ möchten (vergessen Sie auch nicht, die Architektur
+ anzugeben)! Von Apps2go werden auch
+ Versionen für NetBSD und OpenBSD verkauft. Dieses
+ Produkt ist zur Zeit nur zum Download per FTP
+ verfügbar.
+
+
+
+ Weitere Informationen
+
+
+ Apps2go
+ Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb oder
+ Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (817) 431 8775 oder +1 817
+ 431-8775
+
+
+
+
+ Eine Motif 2.1-Distribution für FreeBSD im ELF-
+ oder a.out-Format ist bei Metro
+ Link erhältlich.
+
+ Diese Distribution enthält:
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische Bibliotheken (verlangen
+ Sie ELF zur Verwendung unter FreeBSD ab 3.0 und oder
+ a.out zur Verwendung unter FreeBSD bis
+ einschließlich 2.2.8).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Vorformatierte Manualpages.
+
+
+
+ Achten Sie darauf, bei der Bestellung anzugeben,
+ daß Sie die FreeBSD-Version von Motiv möchten!
+ Metro Link vertreibt auch Versionen
+ für Linux. Dieses Produkt ist entweder als CDROM
+ oder zum Download per FTP erhätlich.
+
+ Eine Motif 2.0 Distribution für FreeBSD im
+ a.out-Format gibt es bei Xi
+ Graphics.
+
+ Diese Distribution enthält:/
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische Bibliotheken (zur
+ Verwendung unter FreeBSD 2.2.8 und
+ frühere).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Vorformatierte Manualpages.
+
+
+
+ Achten Sie darauf, bei der Bestellung anzugeben,
+ daß Sie die FreeBSD-Version von Motiv möchten!
+ Xi Graphics 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.
+
+
+
+
+
+ Woher kann ich CDE für FreeBSD bekommen?
+
+
+
+ Xi Graphics hat einmal CDE
+ für FreeBSD verkauft, tut es aber nicht mehr.
+
+ KDE ist ein
+ Open-Source X11-Desktop, das CDE in vielen Punkten
+ ähnelt. Eventuell gefällt Ihnen auch das "Look
+ and Feel" von xfce. KDE und xfce
+ sind über das Ports-System
+ von FreeBSD verfügbar.
+
+
+
+
+
+ Gibt es irgendwelche kommerzielle leistungsfähige
+ X-Server?
+
+
+
+ Ja, Xi
+ Graphics und Metro Link
+ vertreiben beschleunigte X-Produkte für FreeBSD und
+ andere Intel-basierte Systeme.
+
+ Das Angebot von Metro Link besteht aus einem
+ leistungsfähigen X-Server, der einfache Konfiguration
+ unter Verwendung von Werkzeugen aus der
+ FreeBSD-Paketsammlung und Unterstützung für den
+ parallelen Einsatz mehrerer Videokarten bietet. Es wird
+ nur in binärer Form über ein bequemes
+ FTP-Download vertrieben. Ganz zu schweigen davon,
+ daß das Angebot von Metro Link zum sehr
+ günstigen Preis von 39 Dollar erhältlich
+ ist.
+
+ Metro Link bietet auch Motif für FreeBSD sowohl
+ im ELF-, als auch im a.out-Format an (siehe oben).
+
+
+
+ Weitere Informationen
+
+
+ Metro
+ Link Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb
+ oder Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (954) 938-0283 oder +1 954
+ 938-0283
+
+
+
+
+ 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.
+
+
+ Es gibt ein kostenloses
+ Kompatibilitäts-Demo der Version
+ 5.0.
+
+ Xi Graphics vertreibt auch Motif und CDE für
+ FreeBSD (siehe oben).
+
+
+
+ Weitere Informationen
+
+
+ Xi Graphics
+ Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb oder
+ Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (800) 946 7433 oder +1 303
+ 298-7478.
+
+
+
+
+
+
+
+
+ Gibt es irgendwelche Datenbanksysteme für
+ FreeBSD?
+
+
+
+ Ja! Lesen Sie den Abschnitt kommerzielle
+ Anbieter auf der FreeBSD-Web-Seite.
+
+ Schauen Sie auch im Abschnitt Datenbanken
+ der Ports-Sammlung nach.
+
+
+
+
+
+ Kann ich Oracle unter FreeBSD laufen lassen?
+
+
+
+ Ja. Die folgenden Seiten beschreiben genau, wie
+ Linux-Oracle unter FreeBSD einzustellen ist:
+
+
+
+ http://www.scc.nl/~marcel/howto-oracle.html
+
+
+
+ http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd
+
+
+
+
+
+
+
+
+ Benutzerprogramme
+
+
+
+
+ Nun, wo sind die ganzen Benutzerprogramme?
+
+
+
+ Werfen Sie bitte einen Blick auf die
+ Ports-Seite, um Informationen über die nach
+ FreeBSD portierten Softwarepakete zu erhalten. Die Liste
+ enthält zur Zeit 3400 Einträge und wächst
+ täglich. Schauen Sie hier also öfter nach oder
+ melden Sie sich bei der Mailinglistefreebsd-announce
+ an, um sich regelmäßig über
+ Änderungen zu informieren.
+
+ Die meisten Ports sind für die Zweige 2.2, 3.0
+ und 4.x erhältlich; viele von ihnen sollten auch auf
+ 2.1.x-Systemen laufen. Jedesmal, wenn ein FreeBSD-Release
+ erstellt wird, wird auch ein Snapshot des Port-Baumes vom
+ Zeitpunkt des Releases in das Verzeichnis
+ ports/ eingefügt.
+
+ Wir unterstützen auch das Konzept von
+ Packages - im Grunde genommen nicht mehr
+ als gezippte Binärdistributionen mit ein wenig
+ zusätzlicher Intelligenz zur Ermöglichung
+ angepaßter Installationen. Ein Package kann leicht
+ installiert und wieder deinstalliert werden, ohne,
+ daß man etwas über wissen muß, welche
+ Dateien es enthält.
+
+ Benutzen Sie das Paketinstallationsmenue in
+ /stand/sysinstall (unter dem
+ Menuepunkt post-configuration) oder führen Sie den
+ Befehl pkg_add(1) mit den speziellen
+ Paketdateien aus, die Sie installieren möchten.
+ Paketdateien können für gewöhnlich an der
+ Endung .tgz erkannt werden und
+ diejenigen, die über eine CDROM-Distribution
+ verfügen, haben auf ihrer CD ein Verzeichnis
+ packages/All, das solche Dateien
+ enthält. Für verschiedene FreeBSD-Versionen
+ können sie von folgenden Adressen auch über das
+ Netz heruntergeladen werden:
+
+
+
+ für 2.2.8-RELEASE/2.2.8-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/
+
+
+
+
+
+
+ für 3.X-RELEASE/3.X-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/
+
+
+
+
+
+
+ für 4.X-RELEASE/4-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/
+
+
+
+
+ für 5.0-CURRENT
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/
+
+
+
+
+ oder von Ihrem nächstgelegenen Mirror.
+
+ Beachten Sie, daß nicht alle Ports als Package
+ verfügbar sind, da ständig neue hinzugefügt
+ werden. Es ist immer eine gute Idee, sich
+ regelmäßig auf der ftp.de.FreeBSD.org
+ Masterseite darüber zu informieren, welche Packages
+ verfügbar sind.
+
+
+
+
+
+ Warum ist /bin/sh so spartanisch?
+ Warum benutzt FreeBSD nicht die bash
+ oder eine ähnliche Shell?
+
+
+
+ Weil der POSIX-Standard definiert, daß es so
+ eine Shell geben muß.
+
+ Die ausführlichere Antwort: Viele Leute
+ müssen Shell-Programme schreiben, die auf vielen
+ verschiedenen Systemen nutzbar sein müssen. Aus
+ diesem Grund enthält der POSIX-Standard eine sehr
+ detaillierte Definition der Shell und der Hilfsprogramme.
+ Die meisten Programme werden für die Bourne Shell
+ geschrieben; außerdem nutzen mehrere wichtige
+ Schnittstellen (&man.make.1;, &man.system.3;,
+ &man.popen.3; und ihre Entsprechungen in höheren
+ Programmiersprachen wie Perl und Tcl) die Bourne Shell, um
+ Befehle auszuführen. Da die Bourne Shell an so
+ vielen Stellen und so häufig genutzt wird, muß
+ sie die folgenden Anforderungen erfüllen: Schneller
+ Start, ein klar definiertes Verhalten und ein
+ möglichst geringer Speicherverbrauch.
+
+ Wir haben bei der vorliegenden Implementierung
+ versucht, möglichst viele dieser Anforderungen zu
+ erfüllen. Um /bin/sh 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 ps -u aufrufen und
+ sich die Angaben in den Spalten VSZ und
+ RSS ansehen.
+
+
+
+
+
+ Wo finde ich libc.so.3.0?
+
+
+
+ Sie versuchen, ein Package für 2.2 oder neuer auf
+ einem 2.1.x-System laufen zu lassen. Bitte lesen Sie den
+ vorherigen Abschnitt und besorgen Sie sich den passenden
+ Port/das passende Package für Ihr System.
+
+
+
+
+
+ Ich erhalte die Meldung Error: can't find
+ libc.so.4.0
+
+
+
+ Sie haben versehentlich ein Package für ein 4.X-
+ oder 5.X-System heruntergeladen und versucht, es auf einem
+ 2.X- oder 3.X-System zu benutzen. Bitte besorgen Sie sich
+ die für ihr System korrekte Version des
+ Packages.
+
+
+
+
+
+ ghostscript produziert einen Menge Fehler auf meinem
+ 386/486SX.
+
+
+
+ Sie haben keinen mathematischen Co-Prozessor, richtig?
+ Sie werden den alternativen mathematischen Emulator zu
+ Ihren Kernel hinzufügen müssen; tun Sie das,
+ indem Sie die folgende Zeile in Ihre
+ Kernelkonfigurationsdatei einfügen, wodurch der
+ Emulator in den Kernel kompiliert wird:
+
+
+options GPL_MATH_EMULATE
+
+
+
+
+ Sie müssen die Option
+ MATH_EMULATE hierzu
+ entfernen.
+
+
+
+
+
+
+
+ Wenn ich eine SCO/iBCS2-Anwendung laufen lasse, werden
+ mir Fehler bei socksys gemeldet (nur
+ für FreeBSD 3.0 und ältere Systeme).
+
+
+
+ Sie müssen zunächst den letzten Abschnitt
+ der Datei /etc/sysconfig (oder
+ /etc/rc.conf) editieren und die
+ folgende Variable auf YES
+ setzen:
+
+
+# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
+ibcs2=NO
+
+
+ Hierdurch wird das Kernelmodul ibcs2 beim Hochfahren
+ geladen.
+
+ Dann müssen Sie /compat/ibcs2/dev so
+ einrichten:
+
+
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
+lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
+-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
+crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
+
+
+ socksys kann einfach auf
+ /dev/null zeigen, um open & close
+ eine reguläre Datei vorzutäuschen. Der code in
+ -CURRENT wird sich um den Rest kümmern. Dieses
+ Vorgehen ist wesentlich sauberer, als bisher. Falls Sie
+ den Treiber spx für lokale
+ Socket-X-Verbindungen möchten, definieren Sie
+ SPX_HACK, wenn Sie das System
+ kompilieren.
+
+
+
+
+
+ Wie konfiguriere ich INN (Internet News) für
+ meine Maschine?
+
+
+
+ Ein idealer Startpunkt nach der Installation des
+ Packages oder Ports INN ist Dave
+ Barr's INN-Seite, wo Sie die INN-FAQ
+ finden.
+
+
+
+
+
+ Welche Version von Microsoft FrontPage sollte ich mir
+ besorgen?
+
+
+
+ Benutzen Sie den Port! Im Ports-Verzeichnis gibt es
+ eine vorbereitete Version von Apache.
+
+
+
+
+
+ Unterstützt FreeBSD Java?
+
+
+
+ Ja. Schauen Sie bitte hier http://www.de.FreeBSD.org/java/
+ nach.
+
+
+
+
+
+ Warum kann ich manche Ports auf meiner
+ 3.X-STABLE-Machine nicht erstellen?
+
+
+
+ Wenn Sie eine FreeBSD-Version benutzen, die deutlich
+ älter als das aktuelle -CURRENT oder -STABLE ist,
+ könnte es sein, daß Sie ein Ports-Upgrade-Kit
+ von http://www.de.FreeBSD.org/ports/
+ benötigen. Wenn Sie auf dem neuesten Stand sind,
+ könnte es sein, daß jemand eine Änderung
+ des Ports durchgeführt hat, die für -CURRENT
+ funktioniert, den Port für -STABLE aber unbrauchbar
+ gemacht hat. Bitte senden Sie einen Fehlerbericht mit dem
+ Befehl send-pr. Von der Ports-Sammlung
+ wird nämlich erwartet, daß sie sowohl auf
+ -CURRENT als auch auf -STABLE funktioniert.
+
+
+
+
+
+ Wo finde ich ld.so?
+
+
+
+ Wenn Sie aout-Anwendungen wie den Netscape-Navigator
+ auf einer ELF-basierten Maschine wie 3.1-R oder
+ spätere laufen lassen möchten, werden Sie
+ /usr/libexec/ld.so und einige
+ aout-Bibliotheken benötigen. Sie sind in der
+ Distribution compat22 enthalten. Benutzen Sie
+ /stand/sysinstall oder
+ install.sh im Unterverzeichnis
+ compat22, um sie zu installieren. Lesen Sie auch die
+ ERRATAs für 3.1-R und 3.2-R.
+
+
+
+
+
+
+ Kernelkonfiguration
+
+
+
+
+ Ich möchte meinen Kernel anpassen. Ist das
+ schwierig?
+
+
+
+ Überhaupt nicht! Lesen Sie den Abschnitt zur
+ Kernelkonfiguration im Handbuch.
+
+
+
+ Ich empfehle Ihnen, einen datierten Snapshot Ihres
+ Kernels als kernel.YYMMDD zu
+ erstellen, nachdem Sie alles zum Laufen gebracht
+ haben. Auf diese Weise können Sie diesen Kernel
+ hochfahren, anstatt den ganzen Weg zurück zu
+ kernel.GENERIC gehen zu
+ müssen, wenn Sie das nächste Mal mit Ihrer
+ Konfiguration herumexperimentieren und dabei etwas
+ falsch machen sollten. Das ist besonders wichtig,
+ wenn Sie nun von einem Controller booten, der vom
+ GENERIC-Kernel nicht unterstützt wird (ja, das
+ beruht auf persönlichen Erfahrungen).
+
+
+
+
+
+
+
+ Meine Kernel-Kompilierungen schlagen fehl, weil
+ _hw_float fehlt.
+
+
+
+ Lassen Sie mich raten. Sie haben
+ npx0 aus Ihrer
+ Konfigurationsdatei entfernt, weil Sie keinen
+ mathematischen Co-Prozessor besitzen, richtig? Falsch! :-)
+ npx0 ist zwingend
+ erforderlich. Auch, wenn Sie keinen
+ mathematischen Co-Prozessor besitzen,
+ müssen Sie das Gerät
+ npx0 einbinden.
+
+
+
+
+
+ Warum ist mein Kernel so groß (über 10
+ MByte)?
+
+
+
+ Sie haben Ihren Kernel wahrscheinlich im
+ Debug Modus erstellt. Ein
+ Debug-Kernel enthält viele zusätzliche
+ Informationen für die Fehlersuche, daher ist er so
+ groß. Bitte beachten Sie, daß die Verwendung
+ eines Debug-Kernels bei FreeBSD 3.0 und neueren Version
+ die Performance des Systems nicht oder nur minimal
+ reduziert; außerdem ist es für den Fall einer
+ system panic sehr praktisch, einen Debug-Kernel zur Hand
+ zu haben.
+
+ 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:
+
+
+
+ Die Konfigurationsdatei für Ihren Kernel darf
+ die folgende Zeile nicht enthalten:
+
+ makeoptions DEBUG=-g
+
+
+
+ Sie dürfen config nicht
+ mit dem Parameter starten.
+
+
+
+ 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ß.
+
+
+
+
+
+ Interrupt-Konflikte mit dem Code für die serielle
+ Multi-Port-Schnittstelle.
+
+
+
+ Wenn ich einen Kernel mit Unterstützung für
+ serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
+ den Hinweis, daß nur der erste Port geprüft
+ wird und die restlichen auf Grund von Interrupt-Konflikten
+ übersprungen werden. Wie kann ich das
+ Beheben?
+
+ Das Problem besteht darin, daß in FreeBSD Code
+ integriert ist, um den Kernel vor Abstürzen aufgrund
+ von Hardware- oder Software-Konflikten zu bewahren.
+ Behoben wird es, indem die IRQ-Angaben für alle
+ Ports, bis auf einen ausgelassen werden. Hier ist ein
+ Beispiel:
+
+
+#
+# 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
+
+
+
+
+
+
+ Ich kann überhaupt keinen Kernel compilieren,
+ nicht einmal den Standard-Kernel (GENERIC).
+
+
+
+ Es gibt eine Reihe von möglichen Ursachen
+ für dieses Problem:
+
+
+
+ Sie benutzen die neuen Kommandos make
+ buildkernel und make
+ installkernel nicht, obwohl die Sourcen auf
+ Ihrem System nicht zum laufenden System passen (z.B.
+ benutzen Sie die Sourcen von 4.2-RELEASE auf einem
+ System mit 4.0-RELEASE). Wenn Sie ein Upgrade
+ durchführen wollen, sollten Sie
+ /usr/src/UPDATING lesen, beachten
+ Sie insbesondere den Abschnitt COMMON
+ ITEMS gegen Ende des Dokuments.
+
+
+
+ Sie benutzen zwar make
+ buildkernel und make
+ installkernel, aber Sie haben nicht darauf
+ geachtet, daß vorher ein komplettes
+ make buildworld durchgelaufen sein
+ muß. Um seine Arbeit erledigen zu können,
+ benötigt make buildkernel
+ Dateien, die von make buildworld
+ erzeugt werden.
+
+
+
+ Auch wenn Sie FreeBSD-STABLE verwenden, ist
+ es durchaus möglich, daß Sie die Sourcen
+ genau zum falschen Zeitpunkt aktualisiert haben:
+ Während Sie gerade modifiziert wurden oder
+ kurzzeitig fehlerhaft waren. Eine absolute und
+ vollständige Garantie, daß Sie die Sourcen
+ compilieren können, gibt es nur für die
+ Releases, bei FreeBSD-STABLE ist das nicht
+ immer so. Wenn Sie es noch nicht versucht haben,
+ sollten Sie ihre Source nochmals aktualisieren. Es
+ ist denkbar, daß der von Ihnen genutzte Server
+ zur Zeit Probleme hat, benutzten Sie daher testweise
+ auch einmal einen anderen Server.
+
+
+
+
+
+
+
+
+ Systemadministration
+
+
+
+
+ Wo befinden sich die Konfigurationsdateien für
+ den Systemstart?
+
+
+
+ Für die Versionen 2.0.5R bis 2.2.1R heißt
+ die primäre Konfigurationsdatei
+ /etc/sysconfig. Alle Optionen
+ müssen in dieser Datei angegeben werden und andere
+ Dateien wie /etc/rc und
+ /etc/netstart übernehmen sie
+ einfach hieraus.
+
+ Sehen Sie in die Datei
+ /etc/sysconfig und ändern Sie
+ die Werte entsprechend Ihrem System. Diese Datei
+ enthält Kommentare, die die möglichen
+ Einstellungen erklären.
+
+ In den Versionen nach 2.2.1 und 3.0 erhielt
+ /etc/sysconfig den
+ aussagekräftigeren Namen rc.conf
+ und die Syntax wurde bei dieser Gelegenheit auch etwas
+ bereinigt. /etc/netstart wurde
+ ebenfalls in /etc/rc.network
+ umbenannt, so daß alle Dateien nun mit dem Befehl
+ cp /usr/src/etc/rc* /etc kopiert werden
+ können.
+
+ Seit FreeBSD 3.1 ist rc.conf als
+ /etc/defaults/rc.conf verfügbar.
+ Ändern Sie diese Datei nicht!
+ Wenn Sie den Wert einer der in
+ /etc/defaults/rc.conf gesetzten
+ Variablen ändern wollen, sollten Sie die
+ entsprechende Zeile an die Datei
+ /etc/rc.conf anfügen und sie
+ dort ändern.
+
+ Wenn Sie zum Beispiel den ab FreeBSD 3.1
+ mitgelieferten DNS Server named aktivieren wollen,
+ müssen Sie lediglich das folgende Kommando
+ eingeben:
+
+
+&prompt.root; echo named_enable="YES" >> /etc/rc.conf
+
+
+ Wenn Sie in FreeBSD 3.1 und späteren Versionen
+ lokale Server starten wollen, müssen Sie passende
+ Shellscripts im Verzeichnis
+ /usr/local/etc/rc.d/ ablegen. Die
+ Dateien müssen als ausführbar markiert sein und
+ die Endung .sh haben. Wenn Sie FreeBSD 3.0 oder eine noch
+ ältere Version benutzen, müssen Sie die Datei
+ /etc/rc.local ändern.
+
+ Die Datei /etc/rc.serial dient
+ zur Initialisierung serieller Schnittstellen (z.B.
+ Einstellung der Schnittstelleneigenschaften usw.).
+
+ Die Datei /etc/rc.i386 dient
+ für Intel-spezifische Einstellungen wie
+ iBCS2-Emulation oder Konfiguration der
+ PC-Systemkonsole.
+
+
+
+
+
+ Wie kann ich am Einfachsten einen Benutzer
+ hinzufügen?
+
+
+
+ Benutzen Sie den Befehl adduser und
+ für kompliziertere Fälle den Befehl
+ pw.
+
+ Benutzen Sie den Befehl rmuser um
+ einen Benutzer wieder zu löschen. Sie können
+ hierzu auch pw benutzen.
+
+
+
+
+
+ Wie kann ich meine neue Festplatte in mein
+ FreeBSD-System einbinden?
+
+
+
+ Lesen Sie das Tutorial zur Festplattenformatierung
+ unter www.de.FreeBSD.org.
+
+
+
+
+
+ Ich habe ein Wechsellaufwerk. Wie benutze ich
+ es?
+
+
+
+ Ob es sich um ein Wechsellaufwerk handelt, um ein ZIP-
+ oder ein EZ-Laufwerk (oder sogar ein Diskettenlaufwerk,
+ wenn Sie es auf diese Weise benutzen möchten), oder
+ um eine neue Festplatte - wenn es einmal installiert und
+ vom System erkannt ist und Sie Ihre
+ Kassete/Diskette/was_auch_immer eingelegt haben, ist das
+ Vorgehen bei allen Geräten ziemlich
+ ähnlich.
+
+ (dieser Abschnitt basiert auf
+ Mark
+ Mayo's ZIP-FAQ)
+
+ 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:
+
+
+&prompt.root; mount -t msdos /dev/fd0c /floppy
+
+
+ oder diesen:
+
+
+&prompt.root; mount -t msdos /dev/da2s4 /zip
+
+
+ für eine ZIP-Disk mit der
+ Herstellerkonfiguration.
+
+ Benutzen Sie bei anderen Platten
+ fdisk oder
+ /stand/sysinstall, um herauszufinden,
+ wie sie konfiguriert sind.
+
+ Die restlichen Beispiele sind für ein
+ ZIP-Laufwerk unter da2, der dritten SCSI-Platte.
+
+ 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
+ fdisk oder
+ /stand/sysinstall 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:
+
+
+&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2
+&prompt.root; disklabel -Brw da2 auto
+
+
+ Sie können disklabel oder
+ /stand/sysinstall 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.
+
+ Zum Schluß erstellen Sie ein neues Dateisystem -
+ dieses befindet sich auf unserem ZIP-Laufwerk und belegt
+ die gesamte Platte:
+
+
+&prompt.root; newfs /dev/rda2c
+
+
+ anschließend mounten Sie es:
+
+
+&prompt.root; mount /dev/da2c /zip
+
+
+ Und sicherlich ist es keine schlechte Idee, eine Zeile
+ ähnlich der folgenden in die Datei
+ /etc/fstab einzufügen, damit Sie
+ in Zukunft nur mount /zip einzugeben
+ brauchen:
+
+
+/dev/da2c /zip ffs rw,noauto 0 0
+
+
+
+
+
+
+ Warum erhalte ich Meldungen wie root: not
+ found, nachdem ich meine crontab geändert
+ habe?
+
+
+
+ Die übliche Ursache dieses Problems ist,
+ daß Sie die crontab des Systems
+ (/etc/crontab) geändert und dann
+ mit &man.crontab.1; installiert haben:
+
+ &prompt.root; crontab /etc/crontab
+
+ 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).
+
+ Wenn Sie crontab wie oben
+ beschrieben benutzt haben, müssen Sie
+ /var/cron/tabs/root löschen, da
+ es nur eine Kopie von /etc/crontab
+ mit dem falschen Format ist. Bei der nächsten
+ Änderung von /etc/crontab
+ sollten Sie gar nichts tun, um &man.cron.8; über die
+ Änderungen zu informieren, da diese automatisch
+ erkannt werden.
+
+ Der eigentliche Grund für den Fehler ist die
+ Tatsache, daß die crontab des Systems ein
+ zusätzliches Feld enthält; dieses Feld gibt an,
+ mit welcher Benutzerkennung der Befehl ausgeführt
+ werden soll. In der mitgelieferten crontab ist das bei
+ allen Einträgen die Benutzerkennung
+ root. Wenn diese Datei als die
+ crontab des Benutzers username (die
+ nicht mit der crontab des Systems
+ identisch ist) verwendet wird, hält &man.cron.8; die
+ Zeichenkette root für den Namen
+ des zu startenden Programmes, aber dieses Programm gibt es
+ nicht.
+
+
+
+
+
+ Ich habe einen Fehler in der
+ rc.conf oder einer der anderen
+ Dateien für den Systemstart und jetzt kann ich sie
+ nicht ändern, weil das Dateisystem
+ read-only ist. Was kann ich tun?
+
+
+
+ Wenn Sie aufgefordert werden, den Pfadnamen der Shell
+ einzugeben, drücken Sie einfach
+ ENTER. Geben Sie danach mount
+ / ein, um das root Dateisystem im
+ Schreib/Lese-Modus zu mounten. Sie werden wahrscheinlich
+ auch mount -a -t ufs 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;.
+
+ Wenn Sie einen bildschirmorientierten Editor wie zum
+ Beispiel &man.vi.1; oder &man.emacs.1; benutzen wollen,
+ werden Sie auch den Befehl export
+ TERM=cons25 ausführen müssen, damit
+ diese Editoren die richtigen Einstellungen aus der
+ Datenbank &man.termcap.5; übernehmen.
+
+ Sobald Sie diese Schritte ausgeführt, können
+ Sie den Fehler in der /etc/rc.conf
+ 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.
+
+
+
+
+
+ Wie mounte ich eine erweiterte DOS-Partition?
+
+
+
+ Die erweiterten DOS-Partitionen befinden sich hinter
+ ALLEN primären Partitionen. Wenn sich zum Beispiel
+ eine Partition E als sekundäre
+ DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet,
+ müssen Sie die speziellen Dateien für
+ Slice 5 im Verzeichnis
+ /dev erstellen und dann
+ /dev/da1s5 mouten:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV da1s5
+&prompt.root; mount -t msdos /dev/da1s5 /dos/e
+
+
+
+
+
+
+ Kann ich andere fremde Dateisysteme unter FreeBSD
+ mounten?
+
+
+
+ Digital UNIX-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.
+
+ Linux: 2.2 und spätere
+ unterstützen ext2fs-Partitionen.
+ Unter &man.mount.ext2fs.8; finden Sie weitere
+ Informationen.
+
+ NT: Es gibt einen NTFS-Treiber, der
+ nur Lesezugriffe gestattet. Weitere Informationen finden
+ Sie im Tutorium von Mark Ovens unter http://ukug.uk.freebsd.org/~mark/ntfs_install.html.
+
+ Für weitere Informationen zu diesem Thema
+ wären wir sehr dankbar.
+
+
+
+
+
+ Wie kann ich den NT-Loader zum Booten von FreeBSD
+ verwenden?
+
+
+
+ Diese Prozedur unterscheidet sich für die Systeme
+ 2.2.x and 3.x (mit dem dreistufigen Bootprozeß)
+ geringfügig.
+
+ Das grundsätzliche Vorgehen besteht darin,
+ daß Sie den ersten Sektor Ihrer eigentlichen
+ FreeBSD-Rootpartition in eine Datei auf der
+ DOS/NT-Partition kopieren. Angenommen, sie nennen die
+ Datei etwa c:\bootsect.bsd (durch
+ c:\bootsect.dos inspiriert), dann
+ können Sie die Datei c:\boot.ini
+ etwa wie folgt editieren:
+
+
+[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"
+
+
+ Bei 2.2.x-Systemen wird für diese Prozedur
+ angenommen, daß DOS, NT, FreeBSD oder was auch
+ immer, in den entsprechenden Partitionen auf
+ derselben Platte installiert wurden.
+ In meinem Fall befinden sich DOS & NT auf der ersten
+ fdisk-Partition und FreeBSD in der zweiten.
+ Außerdem habe ich FreeBSD so installiert, daß
+ es von seiner Partition bootet, und
+ nicht vom MBR.
+
+ Mounten Sie eine DOS-formatierte Diskette (falls Sie
+ nach NTFS gewechselt haben) oder die FAT-Partition z.B.
+ unter /mnt.
+
+
+&prompt.root; dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
+
+
+ Rebooten Sie mit DOS oder NT. Benutzer von NTFS
+ kopieren nun die Dateien bootsect.bsd
+ und/oder bootsect.lnx von der
+ Diskette nach C:\. Ändern Sie
+ die Attribute (Rechte) von boot.ini
+ mit:
+
+
+C:\>attrib -s -r c:\boot.ini
+
+
+ Editieren Sie nun die Datei und fügen Sie die
+ entsprechenden Einträge aus dem obigen
+ boot.ini-Beispiel hinzu und setzen
+ dann wieder die alten Attribute:
+
+
+C:\>attrib +s +r c:\boot.ini
+
+
+ Falls FreeBSD vom MBR bootet, restaurieren Sie den MBR
+ mit dem DOS-Befehl fdisk, nachdem Sie
+ FreeBSD so umkonfiguriert haben, daß es von seiner
+ Partition bootet.
+
+ Für die FreeBSD-Systeme 3.x ist die Prozedur
+ etwas einfacher.
+
+ Falls FreeBSD auf derselben Platte, wie die
+ NT-Bootpartition installiert ist, kopieren Sie einfach
+ /boot/boot1 nach
+ C:\BOOTSECT.BSD. Falls FreeBSD auf
+ einer anderen Platte installiert ist, wird
+ /boot/boot1 nicht funktionieren; Sie
+ brauchen in diesem Fall
+ /boot/boot0.
+
+
+
+ SIE DÜRFEN AUF GAR KEINEN FALL EINFACH
+ /boot/boot0 STATT
+ /boot/boot1 KOPIEREN. WENN SIE
+ DAS DOCH TUN SOLLTEN, WIRD IHRE PARTITIONSTABELLE
+ ÜBERSCHRIEBEN UND IHR RECHNER WIRD NICHT MEHR
+ STARTEN!
+
+
+
+ /boot/boot0 muß mit
+ sysinstall installiert werden. Wählen Sie dazu den
+ FreeBSD-Bootmanager aus, wenn Sie gefragt werden, ob sie
+ einen Bootmanager installieren wollen. Dieser Schritt ist
+ notwendig, weil /boot/boot0 eine
+ leere Partitionstabelle enthält, die von sysinstall
+ ausgefüllt wird, bevor
+ /boot/boot0 in den MBR kopiert
+ wird.
+
+ 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 /boot/boot0 nach
+ C:\BOOTSECT.BSD kopieren, würde
+ der Bootmanager eine leere Partitionstabelle (mit einem
+ als aktiv markiertem Eintrag) in den MBR
+ kopieren.
+
+
+
+
+
+ Wie boote ich FreeBSD und Linux mit LILO?
+
+
+
+ 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:
+
+ Booten Sie Linux und fügen Sie die folgenden
+ Zeilen in die Datei /etc/lilo.conf
+ ein:
+
+
+other=/dev/hda2
+table=/dev/hda
+label=FreeBSD
+
+
+ (hierbei wird angenommen, daß Ihre
+ FreeBSD-Partition Linux unter
+ /dev/hda2 bekannt ist; ändern
+ Sie dies entsprechend Ihren Einstellungen). Führen
+ Sie nun als root den Befehl
+ lilo aus und Sie sind fertig.
+
+ Falls FreeBSD sich auf einer anderen Platte befindet,
+ müssen Sie loader=/boot/chain.b zu
+ den LILO-Angaben hinzufügen. Zum Beispiel:
+
+
+other=/dev/dab4
+table=/dev/dab
+loader=/boot/chain.b
+label=FreeBSD
+
+
+ In einigen Fällen könnte es sein, daß
+ Sie beim FreeBSD-Bootloader die BIOS-Laufwerksnummer
+ angeben müssen, um von der zweiten Platte booten zu
+ können. Wenn Ihre FreeBSD-SCSI-Platte vom BIOS zum
+ Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
+ am Prompt des FreeBSD-Bootloaders eingeben:
+
+
+Boot: 1:da(0,a)/kernel
+
+
+ Seit Version 2.2.5 können Sie &man.boot.8; so
+ konfigurieren, daß das beim Booten automatisch
+ geschieht.
+
+ Das Linux+FreeBSD
+ mini-HOWTO ist ein guter Ratgeber bei Fragen zur
+ Interaktion von FreeBSD und Linux.
+
+
+
+
+
+ Wie boote ich FreeBSD und Linux mit BootEasy?
+
+
+
+ Installieren Sie LILO am Anfang Ihrer
+ Linux-Bootpartition, anstatt im Master Boot Record. Sie
+ können LILO dann von BootEasy aus booten.
+
+ Wenn Sie Windows-95 und Linux benutzen, wird das
+ ohnehin empfohlen, um es einfacher zu machen, Linux wieder
+ zu booten, wenn es nötig werden sollte, daß Sie
+ Windows95 neu installieren (Windows95 ist ein
+ eifersüchtiges Betriebssystem, das kein anderes
+ Betriebssystem im Master Boot Sektor duldet).
+
+
+
+
+
+ Gefährdet eine dangerously
+ dedicated Festplatte meine Gesundheit?
+
+
+
+ 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
+ slices 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.
+
+ Nun, warum wird es gefährlich
+ genannt? Eine Platte in diesem Modus enthält nichts,
+ was von normalen PC-Hilfsprogrammen als gültige
+ fdisk-Tabelle betrachtet werden würde. Abhängig
+ von der Qualität ihres Designs werden sie sich bei
+ Ihnen beschweren, sobald sie mit einer solchen Platte in
+ Kontakt kommen, oder noch schlimmer, sie könnten den
+ Bootstrap von FreeBSD beschädigen, ohne Sie zu fragen
+ oder darauf hinzuweisen. Hinzu kommt, daß vom
+ Layout von dangerously dedicated Platten
+ bekannt ist, daß es viele BIOSe verwirrt,
+ einschließlich solcher von AWARD (wie es z.B. im HP
+ Netserver oder Micronics-Systemen, sowie vielen anderen zu
+ finden ist) und Symbios/NCR (für die bekannte
+ 53C8xx-Reihe von SCSI-Controllern). Dies ist keine
+ vollständige Liste - es gibt weitere. Symptome
+ für diese Verwirrung sind read
+ error-Meldungen, die vom FreeBSD-Bootstrap
+ ausgegeben werden, wenn es sich selbst nicht finden kann,
+ sowie Systemabstürze beim Booten.
+
+ 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 Dangerously
+ dedicated Modus liegen in der Absicht, eines der
+ häufigsten Probleme, das Erstinstallierer von FreeBSD
+ plagt, zu verhindern - die BIOS-Werte für die
+ Geometrie einer Festplatte auf der
+ Festplatte selbst anzupassen.
+
+ Geometrie ist ein veraltetes Konzept,
+ das aber immer noch die Grundlage für die Interaktion
+ zwischen dem PC-BIOS und den Festplatten ist. Wenn das
+ Installationsprogramm von FreeBSD Slices erstellt,
+ muß es sich die Lage dieser Slices auf der
+ Festplatte in einer Art merken, die damit
+ übereinstimmt, wie das BIOS erwartet, sie zu finden.
+ Wenn das falsch geschieht, werden Sie nicht in der Lage
+ sein, zu booten.
+
+ Durch den Dangerously dedicated 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.
+
+ Wie vermeiden Sie also die Notwendigkeit zum
+ DD Modus, wenn Sie installieren? Beginnen
+ Sie, indem Sie sich notieren, welche Geometrie das BIOS
+ für Ihre Platten benutzt. Sie können erreichen,
+ daß der Kernel sie beim Booten ausgibt, indem Sie
+ an der Eingabeaufforderung
+ boot: angeben, oder boot
+ -v im Loader verwenden. Kurz bevor das
+ Installationprogramm startet, wird der Kernel eine Liste
+ mit den BIOS-Geometrien ausgeben. Keine Panik - warten
+ Sie, bis das Installationsprogramm gestartet wurde und
+ benutzen Sie Scrollback, um die Zahlen zu lesen.
+ Typischerweise befinden sich die BIOS-Platten in derselben
+ Reihenfolge, wie FreeBSD Ihre Platten auflistet - zuerst
+ IDE, dann SCSI.
+
+ Wenn Sie Ihre Festplatte in Slices unterteilen,
+ überprüfen Sie, ob die Plattengeometrie, die im
+ FDISK-Menue angegeben ist, korrekt ist (d.h. mit den
+ Einstellungen im BIOS übereinstimmen). Falls die
+ Werte nicht stimmen, benutzen Sie g, um
+ sie zu korrigieren. Diese Schritte sind nötig, wenn
+ sich absolut nichts auf der Festplatte befindet, oder,
+ wenn die Festplatte vorher in einem anderen System benutzt
+ worden ist. Beachten Sie, daß dies nur für die
+ Festplatte nötig ist, von der Sie booten wollen. Mit
+ weiteren vorhandenen Platten wird FreeBSD sich problemlos
+ zurechtfinden.
+
+ Wenn Sie es geschafft haben, daß das BIOS und
+ FreeBSD in der Festplattengeometrie übereinstimmen,
+ dann sind Ihre Probleme ziemlich sicher vorüber -
+ ohne, daß es nötig gewesen wäre, den
+ DD-Modus zu benutzen. Falls sie jedoch
+ immer noch mit der gefürchteten read
+ error-Meldung begrüßt werden sollten,
+ wenn Sie versuchen, zu booten, wird es Zeit, daß Sie
+ Ihre Finger kreuzen und es einfach versuchen - es gibt
+ nichts mehr zu verlieren.
+
+ Um eine dangerously dedicated
+ Festplatte wieder für einen normalen PC brauchbar zu
+ machen, gibt es zwei Möglichkeiten. Die erste ist,
+ ausreichend viele NULL-Bytes in den MBR zu schreiben, um
+ irgendwelche nachfolgenden Installation glauben zu machen,
+ daß es sich um eine leere Festplatte handelt. Sie
+ können das zum Beispiel so tun:
+
+
+&prompt.root; dd if=/dev/zero of=/dev/rda0 count=15
+
+
+ Alternativ installiert der undokumentierte
+ DOS-Befehl
+
+
+C:\>fdisk /mbr
+
+
+ einen neuen Master-Boot-Record, d.h. der BSD-Bootstrap
+ wird zestört.
+
+
+
+
+
+ Wie kann ich den Swap-Bereich
+ vergrößern?
+
+
+
+ Der beste Weg ist, Ihre Swap-Partition zu
+ vergrößern, oder sie nutzen diese bequeme
+ Ausrede, um eine weitere Festplatte einzubauen. Eine
+ gebräuchliche Faustregel ist, einen etwa doppelt so
+ großen Swap-Bereich zu nutzen, wie Hauptspeicher
+ vorhanden ist. Falls Sie jedoch nur über sehr wenig
+ Hauptspeicher verfügen, werden Sie wahrscheinlich
+ einen größeren Swap-Bereich konfigurieren
+ wollen. Es ist auch sinnvoll, genügend Swap-Bereich
+ im Hinblick auf geplante zukünftige
+ Hauptspeichererweiterungen zu konfigurieren, damit Sie
+ sich später nicht mit der Konfiguration Ihres
+ Swap-Bereiches herumärgern müssen.
+
+ Das Hinzufügen eines Swap-Bereichs auf einer
+ separaten Platte, ist effizienter, als einfach einen
+ Swap-Bereich auf derselben Platte hinzuzufügen. Wenn
+ Sie zum Beispiel Quellcode auf einer Platte kompilieren
+ und der Swap-Bereich sich auf einer anderen Platte
+ befindet, geschieht das viel schneller, als wenn beides,
+ Swapping und Kompilierung auf derselben Platte stattfinden
+ würden. Das trifft ganz besonders auf SCSI-Platten
+ zu.
+
+ Wenn Sie mehrere Festplatten besitzen, lohnt es sich
+ für gewöhnlich, auf jeder einzelnen einen
+ Swap-Bereich zu konfigurieren, auch, wenn das bedeutet,
+ einen Swap-Bereich auf einer bereits verwendeten Platte
+ einzurichten. Typischerweise sollte jede schnelle Platte
+ in Ihrem System mit etwas Swap-Bereich konfiguriert
+ werden. FreeBSD unterstützt standardmäßig
+ bis zu vier interleaved Swap-Geräte. Bei der
+ Konfiguration mehrerer Swap-Bereiche werden sie
+ grundsätzlich alle mit derselben Größe
+ anlegen wollen, aber manchmal verwenden Benutzer eine
+ größere primäre Swap-Partition, um einen
+ Hauptspeicherauszug vom Kernel darin aufnehmen zu
+ können. Ihre primäre Swap-Partition muß
+ mindestens so groß wie der Hauptspeicher sein, um
+ einen Hauptspeicherauszug vom Kernel aufnehmen zu
+ können.
+
+ IDE-Laufwerke können keinen gleichzeitigen
+ Zugriff auf beide Laufwerke auf demselben Kanal zuzulassen
+ (FreeBSD unterstützt nicht den Modus 4, also ist
+ jeglicher Lese-/Schreibzugriff auf IDE-Platten
+ programmiert). Ich würde dennoch
+ empfehlen, Ihren Swap-Bereich auf einem separaten Laufwerk
+ anzulegen; die Laufwerke sind so günstig, daß
+ es nicht lohnt, sich darüber Gedanken zu
+ machen.
+
+ Swapping über NFS ist nur zu empfehlen, wenn Sie
+ keine lokale Platte zum Swappen besitzen. Bei
+ FreeBSD-Versionen vor 4.x ist Swapping über NFS
+ langsam und ineffizient, aber erstaunlich schnell bei
+ Versionen größer oder gleich 4.0. Dennoch wird
+ es durch die verfügbare Bandbreite des Netzes
+ begrenzt sein und belastet den NFS-Server
+ zusätzlich.
+
+ Hier ist ein Beispiel für einen VN-Swap-Bereich
+ von 64MB (/usr/swap0, Sie können
+ natürlich jeden beliebigen Namen benutzen).
+
+ Stellen Sie sicher, daß Ihr Kernel mit der
+ Zeile
+
+
+pseudo-device vn 1 #Vnode driver (turns a file into a device)
+
+
+ in Ihrer Konfigurationsdatei erstellt worden ist. Der
+ Standard-Kernel enthält sie bereits.
+
+
+
+ Erstellen Sie ein vn-Gerät
+
+
+&prompt.root; cd /dev
+&prompt.root; sh ./MAKEDEV vn0
+
+
+
+
+ Erstellen Sie eine Swap-Datei
+ (/usr/swap0)
+
+
+&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
+
+
+
+
+ Setzen Sie geeignete Zugriffsrechte für
+ (/usr/swap0)
+
+
+&prompt.root; chmod 0600 /usr/swap0
+
+
+
+
+ Aktivieren Sie die Swapdatei in
+ /etc/rc.conf
+
+
+swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
+
+
+
+
+ Rebooten Sie die Maschine
+
+
+
+ Um die Swapdatei direkt zu aktivieren, geben Sie
+ folgendes ein:
+
+
+&prompt.root; vnconfig -ce /dev/vn0c /usr/swap0 swap
+
+
+
+
+
+
+ Ich habe Probleme, meinen Drucker
+ einzurichten.
+
+
+
+ Bitte sehen Sie im Handbucheintrag über Drucker
+ nach. Es sollte die meisten Ihrer Probleme behandeln.
+ Lesen sie den Handbucheintrag über
+ Drucker.
+
+
+
+
+
+ Die Tastatureinstellungen für mein System stimmen
+ nicht.
+
+
+
+ Das Programm kbdcontrol bietet eine Option zum Laden
+ einer Tastaturzuordnungsdatei. Unter
+ /usr/share/syscons/keymaps befinden
+ sich einige Tastaturzuordnungsdateien. Wählen Sie
+ die zu Ihrem System passende aus und laden Sie
+ sie:
+
+
+&prompt.root; kbdcontrol -l uk.iso
+
+
+ Die beiden Erweiterungen
+ /usr/share/syscons/keymaps und
+ .kbd werden von &man.kbdcontrol.1;
+ angenommen.
+
+ Dies kann in der Datei
+ /etc/sysconfig (oder
+ rc.conf) eingestellt werden. Lesen
+ Sie die entsprechenden Hinweise in dieser Datei.
+
+ Seit 2.0.5-RELEASE befindet sich alles, was mit
+ Textfonts und Tastaturzuordnung zu tun hat im Verzeichnis
+ /usr/share/examples/syscons.
+
+ Die folgenden Zuordnungen werden derzeit
+ unterstützt:
+
+
+
+ Belgisch ISO-8859-1
+
+
+
+ Brasilianische Tastatur 275 Codeseite 850
+
+
+
+ Brasilianische Tastatur 275 ISO-8859-1
+
+
+
+ Dänisch Codeseite 865
+
+
+
+ Dänisch ISO-8859-1
+
+
+
+ Französisch ISO-8859-1
+
+
+
+ Deutsch Codeseite 850
+
+
+
+ Deutsch ISO-8859-1
+
+
+
+ Italienisch ISO-8859-1
+
+
+
+ Japanisch 106
+
+
+
+ Japanisch 106x
+
+
+
+ Lateinamerikanisch
+
+
+
+ Norwegisch ISO-8859-1
+
+
+
+ Polnisch ISO-8859-2 (für
+ Programmierer)
+
+
+
+ Russisch Codeseite 866 (alternativ)
+
+
+
+ Russisch koi8-r (shift)
+
+
+
+ Russisch koi8-r
+
+
+
+ Spanisch ISO-8859-1
+
+
+
+ Schwedisch Codeseite 850
+
+
+
+ Schwedisch ISO-8859-1
+
+
+
+ Schweizer Deutsch ISO-8859-1
+
+
+
+ Vereinigtes Königreich Codeseite 850
+
+
+
+ Vereinigtes Königreich ISO-8859-1
+
+
+
+ Vereinigte Staaten von Amerika ISO-8859-1
+
+
+
+ Vereinigte Staaten von Amerika dvorak
+
+
+
+ Vereinigte Staaten von Amerika dvorakx
+
+
+
+
+
+
+
+ Die Benutzer-Quotas funktionieren nicht
+ richtig.
+
+
+
+
+
+ Benutzen Sie keine Quotas für
+ /,
+
+
+
+ Erstellen Sie die Quotas-Datei in dem Dateisystem,
+ für das die Quotas gelten sollen, z.B.:
+
+
+
+
+
+ Filesystem
+
+ Quota file
+
+
+
+
+
+ /usr
+
+ /usr/admin/quotas
+
+
+
+ /home
+
+ /home/admin/quotas
+
+
+
+ …
+
+ …
+
+
+
+
+
+
+
+
+
+
+
+ Was stimmt mit meinem ccd nicht?
+
+
+
+ Das Symptom hierfür ist:
+
+
+&prompt.root; ccdconfig -C
+ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
+
+
+ Das geschieht für gewöhnlich, wenn Sie
+ versuchen, die Partitionen c, die
+ standardmäß vom Typ
+ unbenutzt 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 4.2BSD.
+
+
+
+
+
+ Warum kann ich den Plattenlabel meines ccd nicht
+ editieren?
+
+
+
+ Das Symptom hierfür ist:
+
+
+&prompt.root; disklabel ccd0
+(hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren)
+&prompt.root; disklabel -e ccd0
+(editiern, speichern, beenden)
+disklabel: ioctl DIOCWDINFO: No disk label on disk;
+use "disklabel -r" to install initial label
+
+
+ Der Grund ist, daß der von ccd
+ zurückgelieferte Plattenlabel ein
+ vorgetäuschter 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:
+
+
+&prompt.root; disklabel ccd0 > /tmp/disklabel.tmp
+&prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp
+&prompt.root; disklabel -e ccd0
+(nun wird es funktionieren)
+
+
+
+
+
+
+ Unterstützt FreeBSD IPC-Grundfunktionen von
+ System V?
+
+
+
+ Ja, FreeBSD unterstützt IPC im Stil von System V
+ einschließlich gemeinsamen Speicher, Nachrichten und
+ Semaphoren. Zur Aktivierung müssen Sie die folgenden
+ Zeilen in Ihre Kernelkonfigurationsdatei
+ einfügen:
+
+
+options SYSVSHM
+options SYSVSHM # enable shared memory
+options SYSVSEM # enable for semaphores
+options SYSVMSG # enable for messaging
+
+
+
+
+ Diese Variablen sind seit FreeBSD 3.2 schon im
+ Standardkernel (GENERIC) gesetzt
+ und sollte daher Beststandteil Ihres Systems
+ sein.
+
+
+
+ Kompilieren und installieren Sie einen neuen
+ Kernel.
+
+
+
+
+
+ Wie benutze ich sendmail zum Zustellen von Mails mit
+ UUCP?
+
+
+
+ Die sendmail-Konfiguration, die mit FreeBSD
+ ausgeliefert wird, ist für Sites geeignet, die direkt
+ ans Internet angeschlossen sind. Sites, die ihre Mail per
+ UUCP austauschen wollen, müssen eine andere
+ sendmail-Konfigurationsdatei installieren.
+
+ Die manuelle Bearbeitung von
+ /etc/sendmail.cf ist nur etwas
+ für Puristen. Sendmail Version 8 bietet die neue
+ Möglichkeit der Generierung von Konfigurationsdateien
+ über eine Vorverarbeitung mit m4,
+ wobei die tatsächliche, händische Konfiguration
+ auf einer höheren Abstraktionsstufe stattfindet. Sie
+ sollten die Konfigurationsdateien unter
+ /usr/src/usr.sbin/sendmail/cf
+ benutzen.
+
+ Für den Fall, daß Sie Ihr System nicht mit
+ dem kompletten Quellcode installiert haben, wurden die
+ nötigen Dateien zur Konfiguration von sendmail in
+ einer separaten Quelldistribution für Sie extrahiert.
+ Wenn Sie Ihre CD-ROM gemountet haben, müssen Sie die
+ folgenden Schritte ausführen:
+
+
+&prompt.root; cd /cdrom/src
+&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail
+
+
+ Keine Panik, das sind nur ein paar hundert Kilobyte.
+ Die Datei README im Verzeichnis
+ cf kann zur grundlegenden
+ Einführung in die m4-Konfiguration dienen.
+
+ Zur Zustellung über UUCP sind Sie am besten damit
+ beraten, das mailertable-Feature zu
+ nutzen. Es stellt eine Datenbank dar, auf deren Basis
+ sendmail Entscheidungen zum Routing treffen kann.
+
+ Zunächst müssen Sie Ihre
+ .mc-Datei erstellen. Das Verzeichnis
+ /usr/src/usr.sbin/sendmail/cf/cf ist
+ die Basis für diese Dateien. Sehen Sie sich um, es
+ gibt bereits einige Beispiele. Wenn Sie Ihre Datei
+ foo.mc genannt haben, müssen Sie
+ die folgenden Befehle ausführen, um sie in eine
+ gültige sendmail.cf umzuwandeln,
+ ist:
+
+
+&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
+&prompt.root; make foo.cf
+&prompt.root; cp foo.cf /etc/sendmail.cf
+
+
+ Eine typische .mc-Datei
+ könnte so aussehen:
+
+
+include(`../m4/cf.m4')
+VERSIONID(`Your version number')
+OSTYPE(bsd4.4)
+
+FEATURE(nodns)
+FEATURE(nocanonify)
+FEATURE(mailertable)
+
+define(`UUCP_RELAY', your.uucp.relay)
+define(`UUCP_MAX_SIZE', 200000)
+
+MAILER(local)
+MAILER(smtp)
+MAILER(uucp)
+
+Cw your.alias.host.name
+Cw youruucpnodename.UUCP
+
+
+ Die Einstellungen nodns und
+ nocanonify werden die Benutzung von DNS
+ bei der Zustellung von Mails verhindern. Die Klausel
+ UUCP_RELAY wird aus seltsamen
+ Gründen benötigt - fragen Sie nicht, warum.
+ Setzen Sie dort einfach den Namen eines Hosts ein, der in
+ der Lage ist, Adressen mit der Pseudodomäne .UUCP zu
+ behandeln; wahrscheinlich werden Sie dort den Relayhost
+ Ihres ISP eintragen.
+
+ Wenn Sie soweit sind, müssen Sie die Datei
+ /etc/mailertable erzeugen. Hierzu
+ wieder ein typisches Beispiel:
+
+
+#
+# makemap hash /etc/mailertable.db < /etc/mailertable
+#
+horus.interface-business.de uucp-dom:horus
+.interface-business.de uucp-dom:if-bus
+interface-business.de uucp-dom:if-bus
+.heep.sax.de smtp8:%1
+horus.UUCP uucp-dom:horus
+if-bus.UUCP uucp-dom:if-bus
+. uucp-dom:
+
+
+ Wie Sie sehen können, handelt es sich um einen
+ Teil einer realen Datei. Die ersten drei Zeilen behandeln
+ spezielle Fälle, in denen an Domänen adressierte
+ Mails nicht über die Standard-Route versendet werden
+ sollen, sondern zu einem UUCP-Nachbarn, um den Zustellweg
+ abzukürzen. Die nächsten Zeilen
+ behandeln Mails Rechner in der Domain, die im lokalen
+ Ethernetz verwendet wird. Diese Mails können direkt
+ per SMTP zugestellt werden. Schließlich werden die
+ UUCP-Nachbarn in der Notation mit der Pseudodomäne
+ .UUCP aufgeführt, um die Standardregeln mit
+ uucp-neighbour!recipient
+ zu überschreiben. Die letzte Zeile besteht stets aus
+ einem einzelnen Punkt, der als Ihr Universalgateway in die
+ Welt dient. Alle Knoten hinter dem Schlüsselwort
+ uucp-dom: müssen gültige
+ UUCP-Nachbarn sein, was Sie mit dem Befehl
+ uuname überprüfen
+ können.
+
+ Als Erinnerung daran, daß diese Datei in eine
+ DBM-Datenbankdatei konvertiert werden muß, bevor sie
+ benutzt werden kann, sollte der Befehl hierzu als
+ Kommentar am Anfang der mailertable plaziert werden. Sie
+ müssen den Befehl jedesmal ausführen, wenn Sie
+ Ihre Mailertable geändert haben.
+
+ Abschließender Hinweis: wenn Sie unsicher sind,
+ ob bestimmte Mailrouten funktionieren, erinnern Sie sich
+ an die Option von sendmail. Sie
+ startet sendmail im
+ Adreß-Testmodus; geben Sie
+ einfach 0, gefolgt von der Adresse,
+ für die Sie das Routing testen möchten, ein.
+ Die letzte Zeile nennt Ihnen den benutzten Mailagenten,
+ den Zielhost, mit dem dieser Agent aufgerufen wird und die
+ (ggfs. übersetzte) Adresse. Verlassen Sie diesen
+ Modus, indem Sie Control-D eingeben.
+
+
+&prompt.user; sendmail -bt
+ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
+Enter <ruleset> <address>
+>0 foo@interface-business.de
+rewrite: ruleset 0 input: foo @ interface-business . de
+...
+rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
+< @ interface-business . de >
+>^D
+
+
+
+
+
+
+ Wie richte ich das Mailsystem konfigurieren, wenn ich
+ eine Wählverbindung zum Internet habe?
+
+
+
+ Wenn Sie eine feste IP-Adresse haben, müssen Sie
+ die Standardeinstellungen wahrscheinlich gar nicht
+ ändern. Stellen Sie Ihren Hostnamen entsprechend
+ Ihrem zugeordneten Internetnamen ein und sendmail
+ übernimmt das übrige.
+
+ Wenn Sie eine dynamische IP-Adresse haben und eine
+ ppp-Wählverbindung zum
+ Internet benutzen, bekommen Sie wahrscheinlich eine
+ Mailbox auf dem Mailserver Ihres ISPs zugeordnet. Lassen
+ Sie uns annehmen, die Domäne ihres ISPs sei myISP.com und Ihr Benutzername
+ user; außerdem nehmen wir an,
+ daß Sie Ihre Maschine bsd.home genannt haben und, daß
+ Ihr ISP ihnen gesagt hat, daß Sie relay.myISP.com als Mail-Relayhost
+ benutzen können.
+
+ Um Mails aus Ihrer Mailbox abzuholen, müssen Sie
+ einen entsprechenden Programm installieren.
+ Fetchmail ist eine gute Wahl,
+ weil es viele verschiedene Protokolle unterstützt.
+ Für gewöhnlich wird von Ihrem ISP POP3 zur
+ Verfügung gestellt werden. Falls sie sich dafür
+ entschieden haben, user-ppp zu nutzen, können Sie
+ durch folgenden Eintrag in der Datei
+ /etc/ppp/ppp.linkup Ihre Mails
+ automatisch abholen lassen, wenn eine Verbindung zum Netz
+ aufgebaut wird:
+
+
+MYADDR:
+ !bg su user -c fetchmail
+
+
+ Falls Sie (wie unten gezeigt)
+ sendmail benutzen, um Mails an
+ nicht-lokale Benutzer zu versenden, fügen Sie den
+ Befehl
+
+
+!bg su user -c "sendmail -q"
+
+
+ nach dem oben gezeigten Eintrag ein. Das
+ veranlaßt sendmail, Ihre
+ ausgehenden Mails zu verarbeiten, sobald eine Verbindung
+ zum Internet aufgebaut wird.
+
+ Ich nehme an, daß auf bsd.home ein Benutzer
+ user existiert; erstellen Sie auf
+ bsd.home im Heimatverzeichnis
+ von user eine Datei
+ .fetchmailrc:
+
+
+poll myISP.com protocol pop3 fetchall pass MySecret;
+
+
+ Ich brauche wohl nicht zu erwähnen, daß
+ diese Datei für niemandem außer
+ user lesbar sein sollte, weil sie das
+ Passwort MySecret enthält.
+
+ Um Mails mit dem richtigen
+ from:-Header zu versenden, müssen
+ Sie sendmail mitteilen,
+ daß es user@myISP.com und nicht
+ user@bsd.home benutzen soll. Evtl.
+ möchten Sie auch, daß
+ sendmail alle Mails über
+ relay.myISP.com versendet, um
+ eine schnellere Übertragung von Mails zu
+ gewährleisten.
+
+ Die folgende .mc-Datei sollte
+ ausreichen:
+
+
+VERSIONID(`bsd.home.mc version 1.0')
+OSTYPE(bsd4.4)dnl
+FEATURE(nouucp)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+Cwlocalhost
+Cwbsd.home
+MASQUERADE_AS(`myISP.com')dnl
+FEATURE(allmasquerade)dnl
+FEATURE(masquerade_envelope)dnl
+FEATURE(nocanonify)dnl
+FEATURE(nodns)dnl
+define(SMART_HOST, `relay.myISP.com')
+Dmbsd.home
+define(`confDOMAIN_NAME',`bsd.home')dnl
+define(`confDELIVERY_MODE',`deferred')dnl
+
+
+ Im vorherigen Abschnitt finden Sie Details dazu, wie
+ Sie aus dieser .mc-Datei eine Datei
+ sendmail.cf erstellen können.
+ Vergessen Sie auch nicht,
+ sendmail neu zu starten,
+ nachdem Sie sendmail.cf
+ verändert haben.
+
+
+
+
+
+ Hilfe! Ich habe das Rootpasswort vergessen!
+
+
+
+ Keine Panik! Starten Sie Ihr System einfach neu und
+ geben Sie boot -s an der
+ Eingabeaufforderung Boot: ein (bei FreeBSD-Versionen vor
+ 3.2 nur -s), 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 mount -u /
+ ein, um Ihr Root-Dateisystem für Lese- und
+ Schreibzugriffe zu remounten und dann mount
+ -a, um alle Dateisysteme zu remounten. Mit
+ passwd root können Sie das
+ Rootpasswort ändern und mit exit
+ können Sie mit dem Booten fortfahren.
+
+
+
+
+
+ Wie verhindere ich, daß das System mit
+ Control-Alt-Delete rebootet werden kann?
+
+
+
+ Falls Sie syscons (den Standard-Treiber für die
+ Konsole) unter FreeBSD ab 2.2.7-RELEASE benutzen,
+ erstellen und installieren Sie einen neuen Kernel mit der
+ Zeile
+
+ options SC_DISABLE_REBOOT
+
+ in der Konfigurationsdatei. Falls Sie den
+ Konsolen-Treiber PCVT unter FreeBSD seit 2.2.5-RELEASE
+ benutzen, benutzen Sie stattdessen die folgende
+ Kernelkonfigurationszeile:
+
+ options PCVT_CTRL_ALT_DEL
+
+ Editieren Sie bei älteren Versionen von FreeBSD
+ die Tastenzuordnungsdatei, die Sie für die Konsole
+ verwenden und ersetzen Sie die Schlüsselworte
+ boot durch nop. Die
+ standard Tastenzuordnungsdatei heißt
+ /usr/share/syscons/keymaps/us.iso.kbd.
+ Es könnte sein, daß Sie
+ /etc/rc.conf explizit instruieren
+ müssen, diese Tastenzuordnungsdatei zu laden, um die
+ Änderungen wirksam werden zu lassen. Falls Sie eine
+ andere Tastenzuordnung für Ihr Land verwenden,
+ müssen Sie natürlich diese editieren.
+
+
+
+
+
+ Wie ändere ich das Format von Textdateien von DOS
+ nach UNIX?
+
+
+
+ Benutzen Sie einfach diesen Perl-Befehl:
+
+
+&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ...
+
+
+ file ist/sind die zu verarbeitende(n) Datei(en). Die
+ Änderungen erfolgen in der Originaldatei, die zuvor
+ mit der Erweiterung .bak gesichert wird.
+
+ Alternativ können Sie den Befehl
+ tr benutzen:
+
+
+&prompt.user; tr -d '\r' < dos-text-file > unix-file
+
+
+ dos-text-file ist die
+ Datei, die den Text im DOS-Format enthält und
+ unix-file wird die konvertierte
+ Ausgabe enthalten. Diese Möglichkeit könnte
+ etwas schneller sein, als die Benutzung von Perl.
+
+
+
+
+
+ Wie beende ich Prozesse namentlich?
+
+
+
+ Benutzen Sie killall.
+
+
+
+
+
+ Warum nervt su mich damit, daß ich nicht in der
+ ACL von root bin?
+
+
+
+ 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.
+
+
+
+
+
+ Wie deinstalliere ich Kerberos?
+
+
+
+ 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:
+
+
+&prompt.root; cd /cdrom/bin
+&prompt.root; ./install.sh
+
+
+ Alternativ können Sie alle Zeilen mit
+ "MAKE_KERBEROS" aus der
+ /etc/make.conf entfernen und dann ein
+ make world durchführen.
+
+
+
+
+
+ Wie füge ich Pseudo-Terminals zum System
+ hinzu?
+
+
+
+ Wenn Sie viele Benutzer von telnet, ssh, X oder
+ screens haben, könnte es sein, daß Ihnen die
+ Pseudo-Terminals ausgehen. So fügen Sie weitere
+ hinzu:
+
+
+
+ Erstellen und installieren Sie einen neuen Kernel
+ mit der Zeile
+
+
+pseudo-device pty 256
+
+
+ in der Konfigurationsdatei.
+
+
+
+ Führen Sie die Befehle
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV pty{1,2,3,4,5,6,7}
+
+
+ aus, um 256 Geräteeinträge für die
+ neuen Terminals zu erstellen.
+
+
+
+ Editieren Sie die Datei
+ /etc/ttys und fügen Sie
+ Zeilen für jeden der 256 Terminals ein. Sie
+ sollten so aussehen, wie die existierenden
+ Einträge, also etwa so:
+
+
+ttyqc none network
+
+
+ Die Reihenfolge der Buchstabenzuordnung lautet mit
+ einem regulären Ausdruck
+ tty[pqrsPQRS][0-9a-v].
+
+
+
+ Starten Sie das System mit dem neuen Kernel
+ erneut, wenn Sie bereit sind.
+
+
+
+
+
+
+
+ Ich kann das Gerät snd0 nicht erstellen!
+
+
+
+ Es gibt kein Gerät snd.
+ Diese Bezeichnung ist nur ein Sammelbegriff für die
+ diversen Geräte, die zusammen das Soundsystem von
+ FreeBSD bilden, wie zum Beispiel
+ mixer,
+ sequencer, und
+ dsp.
+
+ So erzeugen Sie diese Geräte:;
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV snd0
+
+
+
+
+
+
+ Wie lade ich /etc/rc.conf und
+ starte /etc/rc neu, ohne zu
+ rebooten?
+
+
+
+ Gehen Sie in den Einzelbenutzermodus und dann
+ zurück in den Mehrbenutzermodus.
+
+ Geben Sie auf der Konsole folgendes ein:
+
+
+&prompt.root; shutdown now
+(Hinweis: ohne -r oder -h)
+&prompt.root; return
+&prompt.root; exit
+
+
+
+
+
+
+ Was ist ein Sandkasten (sandbox)?
+
+
+
+ Sandkasten (sandbox) ist ein Ausdruck
+ aus dem Bereich Sicherheit. Er hat zwei
+ Bedeutungen:
+
+
+
+ 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.
+
+ Man sagt: Der Prozeß kann innerhalb der
+ Wände spielen, d.h. nichts, was
+ der Prozeß in Bezug auf die Ausführung von
+ Code tut, kann die Wände durchbrechen. Es ist
+ also keine detailierte Revision des Codes
+ erforderlich, um gewisse Aussagen über seine
+ Sicherheit machen zu können.
+
+ Die Wände könnten z.B. eine
+ Benutzerkennung sein. Dies ist die Definition, die in
+ den Manualpages security und named benutzt
+ wird.
+
+ Nehmen Sie zum Beispiel den Dienst
+ ntalk (siehe auch /etc/inetd.conf).
+ Dieser Dienst ist früher mit der Benutzerkennung
+ root gelaufen; nun läuft er mit der
+ Benutzerkennung tty. Der Benutzer tty ist ein
+ Sandkasten, der dazu gedacht ist, es jemandem, der
+ über ntalk erfolgreich in das System eingebrochen
+ ist, schwer zu machen, über diese Benutzerkennung
+ hinaus vorzudringen.
+
+
+
+ Ein Prozeß, der sich innerhalb einer
+ simulierten Maschine befindet. Dies ist etwas
+ fortgeschrittener; grundsätzlich bedeutet es,
+ daß jemand, der in der Lage ist, in einen
+ Prozeß einzudringen, annehmen könnte, er
+ könnte weiter in die Maschine eindringen,
+ tatsächlich aber nur in eine Simulation der
+ Maschine einbricht und keine echten Daten
+ verändert.
+
+ Der gängigste Weg, dies zu erreichen, ist, in
+ einem Unterverzeichnis eine simulierte Umgebung zu
+ erstellen und den Prozeß in diesem Verzeichnis
+ mit chroot auszuführen (d.h. für diesen
+ Prozeß ist / dieses
+ Verzeichnis und nicht das echte /
+ des Systems).
+
+ Eine weitere gebräuchliche Anwendung ist, ein
+ untergeordnetes Dateisystem nur mit Leserechten zu
+ mounten, und dann darüber eine Dateisystemebene
+ zu erstellen, die einem Prozeß einen scheinbar
+ schreibberechtigten Blick in das Dateisystem gibt.
+ Der Prozeß mag glauben, daß er in der Lage
+ ist, diese Dateien zu verändern, aber nur der
+ Prozeß sieht diesen Effekt - andere Prozeß
+ im System natürlich nicht.
+
+ Es wird versucht, diese Art von Sandkasten so
+ transparent zu gestalten, daß der Benutzer (oder
+ Hacker) nicht realisiert, daß er sich in ihm
+ befindet.
+
+
+
+ UNIX implementiert zwei Arten von Sandkästen -
+ eine auf Prozeßebene und die andere auf der Ebene
+ der Benutzerkennung.
+
+ Jeder UNIX-Prozeß ist vollständig von jedem
+ anderen UNIX-Prozeß abgeschirmt. Ein Prozeß
+ kann den Adreßraum eines anderen Prozesses nicht
+ modifizieren. Das ist anders als bei Windows, wo ein
+ Prozeß leicht den Adreßraum eines anderen
+ überschreiben kann, was zu einem Absturz
+ führt.
+
+ Ein UNIX-Prozeß gehört einer bestimmten
+ Benutzerkennung. Falls die Benutzerkennung nicht die von
+ root ist, dient sie dazu, den
+ Prozeß von Prozessen anderer Benutzer abzuschirmen.
+ Die Benutzerkennung wird außerdem dazu genutzt,
+ Daten auf der Festplatte abzuschirmen.
+
+
+
+
+
+ Wie lasse ich normale Benutzer Disketten, CD-ROMs und
+ andere Wechseldatenträger mounten?
+
+
+
+ Normale Benutzer können dazu berechtigt werden,
+ Geräte zu mounten. Das geht so:
+
+
+
+ Setzen Sie als root die
+ sysctl-Variable vfs.usermount auf
+ 1:
+
+
+&prompt.root; sysctl -w vfs.usermount=1
+
+
+
+
+ Ordnen Sie als root den
+ Block-Geräten, die den Wechsellaufwerken
+ zugeordnet sind, die entsprechenden Zugriffsrechte
+ zu.
+
+ Wenn Sie zum Beispiel den Benutzer den Zugriff auf
+ das erste Diskettenlaufwerk zu erlauben
+ wollen:
+
+
+&prompt.root; chmod 666 /dev/fd0
+
+
+ Um den Mitgliedern der Gruppe
+ operator den Zugriff auf das
+ CD-ROM zu gestatten:
+
+
+&prompt.root; chgrp operator /dev/cd0c
+&prompt.root; chmod 640 /dev/cd0c
+
+
+
+
+ Fügen Sie zum Abschluß die Zeile
+ vfs.usermount=1 in die Datei
+ /etc/sysctl.conf ein, damit die
+ Einstellung bei einem Neustart des Systems automatisch
+ erhalten bleibt.
+
+
+
+ Alle Benutzer können nun
+ /dev/fd0 auf ein Verzeichnis, das
+ ihnen gehört, mounten:
+
+
+&prompt.user; mkdir ~/my-mount-point
+&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point
+
+
+ Die zur Gruppe operator
+ gehörenden Benutzer können nun
+ /dev/cd0c auf ein Verzeichnis, das
+ ihnen gehört, mounten:
+
+
+&prompt.user; mkdir ~/my-mount-point
+&prompt.user; mount -t msdos /dev/cd0c ~/my-mount-point
+
+
+ Das Unmounten des Gerätes ist simpel:
+
+
+&prompt.user; umount ~/my-mount-point
+
+
+ Die Aktivierung von vfs.usermount
+ hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
+ Ein besserer Weg, um auf MSDOS-formatierte
+ Datenträger zuzugreifen, ist die Benutzung des
+ Packages mtools aus der
+ Ports-Sammlung.
+
+
+
+
+
+ Wie verschiebe ich mein System auf meine neue,
+ große Platte.
+
+
+
+ Die beste Methode ist, das Betriebssystem auf der
+ neuen Platte neu zu installieren und danach die Daten zu
+ verschieben. Wenn Sie -stable über eine Release
+ hinaus genutzt haben oder eine Release aktualiert haben,
+ ist das sehr empfehlenwert. Sie können auf beiden
+ Platten &man.boot0cfg.8;i installieren und die beiden
+ Versionen so lange parallel betreiben, bis Ihnen die neue
+ Konfiguation gefällt. Wenn Sie dies tun wollen,
+ können Sie im übernächsten Absatz erfahren,
+ wie sie Ihre Daten verschieben können.
+
+ Falls Sie sich entscheiden, das nicht zu tun,
+ müssen Sie Ihre neue Platte partitionieren und
+ labeln. Benutzen Sie dafür entweder
+ /stand/sysinstall 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 formatting-media
+ tutorial finden Sie weitere Informationen zu
+ diesen Schritten.
+
+ Nachdem Sie die neue Platte eingerichtet haben,
+ können Sie Ihre Daten verschieben. Dummerweise
+ können Sie die Daten nicht einfach. Dinge wie die
+ Gerätedateien (in /dev) und
+ Symbolische Links führen dazu, daß das in die
+ Hose geht. Sie mützen Programme benutzen, die damit
+ umgehen können, und das sind &man.dump.8; and
+ &man.tar.1;. Ich empfehle Ihnen, die Daten im single user
+ mode zu verschieben, aber das ist nicht unbedingt
+ notwendig.
+
+ Sie sollten auf gar keinen Fall etwas anderes als
+ &man.dump.8; und &man.restore.8; benutzen, um Ihr root
+ file system zu verschieben. Es könnte auch mit
+ &man.tar.1; funktionieren - oder auch nicht. Sie sollten
+ ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
+ Sie eine komplette Partition auf eine andere, leere
+ Partition verschieben. Um die Daten einer Partition mit
+ dump auf eine andere Partition zu verschieben, müssen
+ Sie die folgenden Schritte ausführen:
+
+
+
+ Richten Sie in der neuen Partition mit newfs ein
+ Dateisystem ein.
+
+
+
+ Mounten Sie die Partition temporär an einer
+ geeigneten Stelle.
+
+
+
+ Wechseln Sie mit cd in dieses Verzeichnis.
+
+
+
+ Lesen Sie die alte Partition mit dump aus und
+ lenken Sie die Ausgabe auf die neue Partition
+ um.
+
+
+
+ Wenn Sie zum Beispiel root auf
+ /dev/ad1s1a verschieben wollen und
+ diese zur Zeit auf /mnt gemountet
+ ist, bedeutet das:
+
+
+ &prompt.root; newfs /dev/ad1s1a
+ &prompt.root; mount /dev/ad1s1a
+ &prompt.root; cd /mnt
+ &prompt.root; dump 0uaf - / | restore xf -
+
+
+ Wenn Sie Ihre Partitionen umorganisieren wollen, also
+ zum Beispiel aus eine alte in zwei neue aufteilen wollen
+ oder zwei alte zu einer neuen zusammenfassen wollen, dann
+ wird es frührer oder später vorkommen, daß
+ Sie nur einen Verzeichnisbaum verschieben wollen. Da
+ &man.dump.8; nur ganze Dateisysteme bearbeitet,
+ können Sie es dafür nicht nutzen. Hier sollten
+ Sie &man.tar.1; verwenden. Um mit &man.tar.1;
+ /old nach /new
+ zu verschieben, müssen Sie diesen Befehl
+ eingeben:
+
+
+&prompt.root; (cd /old; tar cf - .) | (cd /new; tar xpf -)
+
+
+ Wenn unter /old andere
+ Dateisysteme gemountet sind und Sie weder die Daten auf
+ diesen Dateisystem verschieben noch die anderen
+ Dateisysteme unmounten wollen, müssen das erste
+ &man.tar.1; mit dem Parameter
+ aufrufen:
+
+
+&prompt.root; (cd /old; tar clf - .) | (cd /new; tar xpf -).
+
+
+ Eventuell gefallen Ihnen &man.cpio.1;, &man.pax.1;
+ oder cpdup (ports/sysutils/cpdup) besser als
+ &man.tar.1;.
+
+
+
+
+
+ Ich wollte auf das aktuelle -STABLE updaten, und
+ plötzlich läuft hier ein -RC oder -BETA. Was
+ ist passiert?
+
+
+
+ Kurze Antwort: Das ist nur ein anderer Name. RC ist
+ die Abkürzung für Release
+ Candidate. Es bedeutet, daß eine neue
+ Release bevorsteht. Und -BETA bedeutet bei FreeBSD das
+ gleich wie -RC.
+
+ Ausführliche Antwort: Bei FreeBSD gibt es zwei
+ Quellen für Releases. Die Major Releases wie
+ 3.0-RELEASE und 4.0-RELEASE werden aus dem aktuellen Stand
+ des Hauptzweiges der Entwicklung (besser und kürzer
+ als -CURRENT bekannt)
+ erzeugt. Minor Releases wie 3.1-RELEASE or 4.2-RELEASE
+ stammen aus dem aktiven -STABLE Zweig.
+
+ Bevor in einem Zweig eine Release erfolgt, muß
+ in diesem Zweig ein bestimmter Prozeß ablaufen. Ein
+ Teil dieses Prozesses ist der code freeze,
+ der Stop der Weiterentwicklung. Sobald dieser Schritt
+ erfolgt ist, wird der Name des Zweiges geändert, um
+ anzuzeigen, daß demnächst eine Release erfolgen
+ wird. Wenn der Zweig zum Beispiel 4.0-STABLE genannt
+ wurde, wird der Name in 4.1-RC geändert. Damit wird
+ angezeigt, daß aus dem Zweig demnächst eine
+ Release erstellt wird. Sobald die Release (in diesem
+ Beispiel 4.1-RELEASE) erfolgt ist, wird der Zweig in
+ 4.1-STABLE umbenannt.
+
+
+
+
+
+ Als ich versucht habe, einen neuen Kernel zu
+ installieren, ist das chflags fehlgeschlagen. Was mache
+ ich jetzt?
+
+
+
+ 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.
+
+ 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:
+
+ &prompt.root; sysctl kern.securelevel
+
+ 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
+ /etc/rc.conf ä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
+ /etc/defaults/rc.conf und
+ &man.rc.conf.5;.
+
+
+
+
+
+ Ich kann die Systemzeit nicht um mehr als eine Sekunde
+ verstellen. Was mache ich jetzt?
+
+
+
+ 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.
+
+ 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:
+
+ &prompt.root; sysctl kern.securelevel
+
+ 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
+ /etc/rc.conf ä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
+ /etc/defaults/rc.conf und
+ &man.rc.conf.5;.
+
+
+
+
+
+
+ Das X Window System und virtuelle Konsolen
+
+
+
+
+ Ich möchte X benutzen, was muß ich
+ tun?
+
+
+
+ Der einfachste Weg ist der, daß Sie während
+ der Installation angeben, daß Sie X benutzen
+ möchten.
+
+ Lesen Sie dann die Dokumentation zum Tool
+ xf86config, das Sie bei der
+ Konfiguration von XFree86(tm) speziell für Ihre
+ Grafikkarte/Maus/etc. unterstützt.
+
+ Evtl. möchten Sie sich auch den Xaccel-Server
+ ansehen. Nähere Details finden Sie in den
+ Abschnitten über Xi
+ Graphics oder Metro
+ Link.
+
+
+
+
+
+ Warum funktioniert meine Maus unter X nicht?
+
+
+
+ Wenn Sie syscons (den standard Konsoltreiber)
+ benutzen, können Sie FreeBSD so konfigurieren,
+ daß auf jedem virtuellen Bildschirm ein Mauszeiger
+ unterstützt wird. Um Konflikte mit X zu vermeiden,
+ unterstützt syscons ein virtuelles Gerät mit dem
+ Namen /dev/sysmouse. Ü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 und und X
+ benutzen wollen, sollten Sie zunächst lesen und dann
+ moused installieren.
+
+ Die Datei /etc/XF86Config sollte
+ die folgenden Einträge enthalten:
+
+
+Section Pointer
+Protocol "SysMouse"
+Device "/dev/sysmouse"
+.....
+
+
+ Diese Variante kann für XFree86 3.3.2 und neuere
+ Versionen benutzt werden. Wenn Sie eine ältere
+ Versionen verwenden, muß als
+ Protocol dagegen
+ MouseSystems benutzt werden.
+
+ Einige Leute ziehen es vor, unter X
+ /dev/mouse zu benutzen. Hierzu
+ sollte /dev/mouse nach
+ /dev/sysmouse gelinkt werden:
+
+
+&prompt.root; cd /dev
+&prompt.root; rm -f mouse
+&prompt.root; ln -s sysmouse mouse
+
+
+
+
+
+
+ Kann ich meine Rad-Maus auch unter X benutzen?
+
+
+
+ Ja. Allerdings müssen Sie die X-Anwendungen
+ anpassen. Weitere Informationen erhalten Sie auf der
+ Homepage von Colas
+ Nahaboo
+ (http://www.inria.fr/koala/colas/mouse-wheel-scroll/).
+
+ Wenn Sie das Programm
+ imwheel benutzen wollen,
+ müssen Sie folgenden Arbeiten
+ durchführen.
+
+
+
+ Umsetzung der Rad-Bewegung
+
+ Das Programm imwheel
+ übersetzt die Maustasten 4 und 5 in normale
+ Tastaturkommandos. Sie müssen also nur
+ dafür sorgen, daß die Bewegung des Rades
+ vom Maustreiber als Betätigung der Maustaten 4
+ und 5 übersetzt werden. Es gibt zwei
+ Möglichkeiten, dieses Ziel zu erreichen. Zum
+ einen kann die Übersetzung von &man.moused.8;
+ durchgeführt werden, zum zweiten kann der
+ X-Server diese Aufgabe übernehmen.
+
+
+
+ Umsetzung durch &man.moused.8;
+
+ Damit &man.moused.8; die Umsetzung vornimmt,
+ müssen ihn lediglich mit dem
+ zusätzlichen Parametern
+ starten. Wenn Sie zum Beispiel &man.moused.8; mit
+ dem Befehl moused -p /dev/psm0
+ gestartet haben, würde der neue Befehl
+ moused -p /dev/psm0 -z 4
+ lautet. Wenn Sie &man.moused.8; über einen
+ Eintrag in der Datei
+ /etc/rc.conf automatisch beim
+ Start des Systems starten lassen, müssen Sie
+ in der /etc/rc.conflediglich
+ die Einstellung moused_flags um
+ ergänzen.
+
+ Nun müssen Sie X darüber
+ informieren, daß Sie eine Maus mit 5 Tasten
+ haben. Fügen sie dazu die Zeile
+ Buttons 5 in den Abschnitt
+ Pointer der Datei
+ /etc/XF86Config ein. Das
+ Beispiel zeigt, wie ein solcher Abschnitt aussehen
+ könnte.
+
+
+ Abschnitt Pointer für
+ Mäuse mit Rad
+
+
+Section "Pointer"
+ Protocol "SysMouse"
+ Device "/dev/sysmouse"
+ Buttons 5
+EndSection
+
+
+
+
+
+ Umsetzung durch den X-Server
+
+ Wenn Sie &man.moused.8; nicht benutzen oder
+ die Umsetzung nicht von &man.moused.8; vornehmen
+ lassen wollen, kann diese Aufgabe auch vom
+ X-Server übernommen werden. Dazu sind einige
+ Änderungen an der Datei
+ /etc/XF86Config notwendig.
+ Zunächst müssen Sie das von Ihrer Maus
+ verwendete Protokoll herausfinden. Die meisten
+ Radmäuse verwenden das
+ IntelliMouse Protokoll. XFree86
+ unterstützt allerdings auch andere
+ Protokolle, zum Beispiel das von der Logitech
+ Mouseman+ verwendete
+ MouseManPlusPS/2. Wenn Sie das
+ Protokoll ermittelt haben, müssen Sie eine
+ entsprechende Protocol-Zeile in
+ den Abschnitt Pointer
+ aufnehmen.
+
+ Zum zweiten müssen Sie dem X-Server
+ mitteilen, daß er die Bewegung des Rades in
+ Betätigungen der Tasten 4 und 5 umsetzen
+ soll. Dazu dient die Option
+ ZAxisMapping.
+
+ Wenn Sie zum Beispiel &man.moused.8; nicht
+ verwenden und eine IntelliMouse an den PS/2
+ Mausport angeschlossen haben, müßte in
+ Ihrer /etc/XF86Config die
+ folgenden Angaben stehen.
+
+
+ Abschnitt Pointer der Datei
+ XF86Config für eine
+ Rad-Maus und Umsetzung durch den
+ X-Server
+
+
+Section "Pointer"
+ Protocol "IntelliMouse"
+ Device "/dev/psm0"
+ ZAxisMapping 4 5
+EndSection
+
+
+
+
+
+
+
+ Installation von
+ imwheel
+
+ Der nächste Schritt ist die Installation von
+ imwheel über die
+ Ports. Das Programm ist ein Teil der Kategorie
+ x11.
+ imwheel übersetzt die
+ Bewegungen des Rades in Tastendrücken. Es
+ könnte zum Beispiel Bild auf an
+ ein Programm senden, wenn Sie das Rad nach vorne
+ bewegen. Imwheel benutzt
+ eine Konfigurationsdatei, die den Bewegungen des Rades
+ die zu simulierenden Tastendrücke zuordnet.
+ Damit ist es möglich, verschiedenen Anwendungen
+ die jeweils "richtigen" Tastendrücke zu
+ senden. Ein Prototyp der Konfigurationsdatei für
+ imwheel wird unter dem
+ Namen /usr/X11R6/etc/imwheelrc
+ installiert. Wenn Sie die Konfiguration von
+ imwheel an die von Ihnen
+ verwendeten Programme anpassen wollen, erzeugen Sie
+ eine Kopie der Datei mit dem Namen
+ ~/.imwheelrc und tragen Sie ihre
+ Anpassungen dort ein. Das Format der Datei wird in
+ &man.imwheel.1; erklärt.
+
+
+
+ Anpassung von Emacs an
+ with Imwheel
+ (Optional)
+
+ Wenn Sie emacs oder
+ Xemacs benutzen,
+ müssen Sie einen kleinen Abschnitt in die Datei
+ ~/.emacs einfügen. Für
+ emacs müssen Sie die
+ folgenden Zeilen anfügen:
+
+
+ Nutzung von Emacs
+ mit Imwheel
+
+
+;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
+(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section
+
+
+
+ Wenn Sie Xemacs
+ verwenden, müssen stattdessen die folgenden
+ Zeilen an Ihre ~/.emacs
+ anfügen:
+
+
+ Nutzung von Xemacs
+ mit Imwheel
+
+
+;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
+(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section
+
+
+
+
+
+ Imwheel
+ ausführen
+
+ Sie brauchen nach der Installation einfach nur
+ imwheel in einem xterm einzugben,
+ um das Programm zu starten. Das Programm läuft
+ dann im Hintergrund und ist sofort aktiv. Wenn Sie
+ imwheel ständig
+ benutzen wollen, sollten Sie es einfach in Ihre
+ .xinitrc oder
+ .xsession eintragen. Falls
+ imwheel Warnungen über
+ "PID files" ausgeben sollte, können Sie
+ diese ignorieren, da Sie nur die Linux-Version von
+ imwheel betreffen.
+
+
+
+
+
+
+
+ X Window Menues und Dialogfenster funktionieren nicht
+ richtig!
+
+
+
+ Versuchen Sie, die Num-Lock-Taste
+ auszustellen.
+
+ Falls Ihre Num-Lock-Taste beim Booten
+ standardmäßig eingeschaltet ist, sollten Sie
+ die folgende Zeile in den Abschnitt
+ Keyboard der Datei
+ XF86Config einfügen:
+
+
+# Let the server do the NumLock processing. This should only be
+# required when using pre-R6 clients
+ ServerNumLock
+
+
+
+
+
+
+ Was ist eine virtuelle Konsole und wie erstelle ich
+ mehr?
+
+
+
+ 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.
+
+ 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!).
+
+ Gelegentlich möchten Sie möglicherweise eine
+ weitere Sitzung starten wollen, vielleicht, um die
+ Dokumentation zu einem Programm, das Sie gerade benutzen,
+ einzusehen, oder, um Ihre Mails zu lesen, während Sie
+ auf das Ende einer FTP-Übertragung warten.
+ Drücken Sie einfach Alt-F2 (halten Sie die Alt-Taste
+ gedrückt und drücken Sie die Taste F2) und Sie
+ gelangen zur Anmelde-Aufforderung auf der zweiten
+ virtuellen Konsole! Wenn Sie zurück
+ zur ersten Sitzung möchten, drücken Sie
+ Alt-F1.
+
+ Die standard Installation von FreeBSD bietet drei
+ aktivierte virtuelle Konsolen (acht ab der Version 3.3)
+ und Alt-F1, Alt-F2 und Alt-F3 wechseln zwischen diesen
+ virtuellen Konsolen.
+
+ Um mehr von ihnen zu aktivieren, editieren Sie
+ /etc/ttys und fügen
+ Einträge für ttyv4 bis
+ zu ttyvc nach dem Kommentar zu
+ virtuellen Terminals ein:
+
+
+# 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
+
+
+ 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 secure in
+ insecure ändern.
+
+
+
+ Wenn Sie einen X-Server benutzen möchten,
+ müssen Sie mindestens ein
+ virtuelles Terminal unbenutzt (oder ausgeschaltet)
+ lassen damit der Server es benutzen kann. Das
+ heißt, daß Sie Pech haben, wenn Sie
+ für jede Ihrer 12 Alt-Funktionstasten eine
+ Anmeldeaufforderung haben möchten - Sie
+ können das nur für elf von ihnen tun, wenn
+ Sie einen X-Server auf derselben Maschine laufen
+ lassen möchten.
+
+
+
+ Der einfachste Weg, eine Konsole zu deaktivieren, ist,
+ sie auszuschalten. Wenn Sie zum Beispiel die oben
+ erwähnte volle Zuordnung aller 12 Terminals
+ hätten, müßten Sie die Einstellung
+ für das virtuelle Terminal 12 von:
+
+
+ttyvb "/usr/libexec/getty Pc" cons25 on secure
+
+
+ in:
+
+
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+
+
+ ändern.
+
+ Wenn Ihre Tastatur nur über zehn Funktionstasten
+ verfügt, bedeutet das:
+
+
+ttyv9 "/usr/libexec/getty Pc" cons25 off secure
+ttyva "/usr/libexec/getty Pc" cons25 off secure
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+
+
+ (Sie können diese Zeilen auch einfach
+ löschen.)
+
+ Nachdem Sie die Datei /etc/ttys
+ geändert haben, besteht der nächste Schritt
+ darin, sicherzustellen, daß Sie genügend
+ Geräte für virtuelle Terminal haben. Der
+ einfachste Weg, dies zu tun, ist:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV vty12
+
+
+ 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 root
+
+
+&prompt.root; kill -HUP 1
+
+
+ ausführen.
+
+ Es ist unbedingt erforderlich, daß Sie das X
+ Window System vollständig herunterfahren, falls es
+ läuft. Falls Sie es nicht tun, könnte es sein,
+ daß sich ihr System nach der Eingabe des
+ kill-Befehls aufhängt.
+
+
+
+
+
+ Wie greife ich von X aus auf virtuelle Konsolen
+ zu?
+
+
+
+ Benutzen Sie CtrlAltFn
+ um auf eine virtuelle Konsole umzuschalten. Mit CtrlAltF1
+ würden Sie zur ersten virtuellen Konsole
+ umschalten.
+
+ Sobald Sie auf eine virtuelle Konsole umgeschaltet
+ haben, können Sie ganz normal AltFn
+ benutzen, um zwischen den einzelnen virtuellen Konsolen
+ umzuschalten.
+
+ 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 startx),
+ 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 AltF9
+ umschalten.
+
+
+
+
+
+ Wie starte ich XDM beim Booten?
+
+
+
+ Es gibt zwei Denkansätze, wie
+ xdm zu starten ist. Bei dem einen wird
+ xdm von /etc/ttys
+ aus gestartet, wobei das mitgelieferte Beispiel benutzt
+ wird, während xdm bei dem anderen
+ Ansatz einfach in rc.local oder von
+ einem Skript X.sh im Verzeichnis
+ /usr/local/etc/rc.d aus gestartet
+ wird. Beide Ansätze sind gleichwertig und der eine
+ wird in Situationen funktionieren, in denen der andere es
+ nicht tut. In beiden Fällen ist das Ergebnis das
+ gleiche: X liefert eine graphische
+ Anmeldeaufforderung.
+
+ Die ttys-Methode hat den Vorteil, daß
+ dokumentiert ist, auf welchem vty X gestartet wird und der
+ Neustart des X-Servers beim Abmelden an init
+ übergeben wird. Die rc.local-Methode erleichtert ein
+ Killen von xdm, falls Probleme beim Start des X-Servers
+ auftreten sollten.
+
+ Beim Laden von rc.local sollte xdm
+ ohne irgendwelche Argumente (d.h. als Daemon) gestartet
+ werden. xdm muß gestartet werden NACHDEM getty
+ läuft, andernfalls entsteht ein Konflikt zwischen
+ getty und xdm und die Konsole bleibt gesperrt. Der beste
+ Weg, um dies zu vermeiden, ist, das Skript für etwa
+ zehn Sekunden anzuhalten und dann xdm zu starten.
+
+ Wenn Sie xdm durch einen Eintrag in
+ /etc/ttys starten lassen, kann es zu
+ einem Konflikt zwischen xdm und
+ getty kommen. Um dieses Problem zu
+ vermeiden, sollten Sie die Nummer des
+ vt in die Datei
+ /usr/X11R6/lib/X11/xdm/Xservers
+ eintragen.
+
+ :0 local /usr/X11R6/bin/X vt4
+
+ Diese Zeile führt dazu, daß der X Server
+ /dev/ttyv3 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.
+
+
+
+
+
+ Wenn ich xconsole benutze, erscheint Couldn't
+ open console.
+
+
+
+ Wenn Sie X mit
+ startx starten, werden die
+ Zugriffsrechte für
+ /dev/consolenicht
+ geändert, was dazu führt, daß Dinge wie
+ xterm -C und
+ xconsole nicht funktionieren.
+
+ Das hängt damit zusammen, wie die Zugriffsrechte
+ für die Konsole standardmäßig gesetzt
+ sind. Auf einem Mehrbenutzersystem möchte man nicht
+ unbedingt, daß jeder Benutzer einfach auf die
+ Systemkonsole schreiben kann. Für Benutzer, die sich
+ auf einer Maschine direkt mit einem VTY anmelden,
+ existiert die Datei /etc/fbtab, um
+ derartige Probleme zu lösen.
+
+ In Kürze: sorgen Sie dafür, daß sich
+ eine nicht auskommentierte Zeile der Form
+
+
+/dev/ttyv0 0600 /dev/console
+
+
+ in der Datei /etc/fbtab befindet.
+ Das sorgt dafür, daß wer auch immer sich auf
+ /dev/ttyv0 anmeldet, auch die Konsole
+ besitzt.
+
+
+
+
+
+ Meine PS/2-Maus verhält sich unter X nicht
+ richtig.
+
+
+
+ Ihre Maus und der Maustreiber sind etwas aus der
+ Synchronisation geraten.
+
+ Bis einschließlich Version 2.2.5 sorgt ein
+ Wechsel von X zu einer virtuellen Konsole und wieder
+ zurück für eine erneute Synchronisation. Falls
+ das Problem öfter auftritt, können Sie die
+ folgende Zeile in Ihre Kernelkonfigurationsdatei
+ einfügen und den Kernel neu erstellen.
+
+
+options PSM_CHECKSYNC
+
+
+ Lesen Sie den Abschnitt über die Erstellung eines Kernels,
+ falls Sie keine Erfahrung mit der Erstellung eines Kernels
+ haben.
+
+ Mit dieser Option sollten geringere Chancen für
+ Synchronisationsprobleme zwischen der Maus und dem Treiber
+ bestehen. Falls sie jedoch weiterhin auf das Problem
+ stoßen, drücken Sie eine der Maustasten,
+ während Sie die Maus nicht bewegen, um die Maus und
+ den Treiber neu zu synchronisieren.
+
+ Beachten Sie, daß diese Option leider nicht auf
+ allen Systemen funktioniert und das tap
+ Merkmal eines am PS/2-Mausanschluß angeschlossenen
+ ALPS GlidePoint Gerätes beeinträchtigt.
+
+ Ab Version 2.2.6 erfolgt die Überprüfung der
+ Synchronisation etwas besser und ist ein Standard im
+ PS/2-Maustreiber. Es sollte sogar mit GlidePoint
+ funktionieren. (Da der Code zur Überprüfung ein
+ standard Merkmal geworden ist, gibt es die Option
+ PSM_CHECKSYNC in diesen Versionen nicht mehr.) In seltenen
+ Fällen kann es jedoch sein, daß der Treiber
+ fälschlicherweise Synchronisationsprobleme meldet und
+ Sie in den Kernelmeldungen folgendes sehen:
+
+
+psmintr: out of sync (xxxx != yyyy)
+
+
+ und Ihre Maus nicht richtig zu funktionieren
+ scheint.
+
+ 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 UserConfig durch
+ Angabe der Option am Boot-Prompt
+ auf:
+
+
+boot: -c
+
+
+ Geben sie dann in der Kommandozeile von
+ UserConfig folgendes ein:
+
+
+UserConfig> flags psm0 0x100
+UserConfig> quit
+
+
+
+
+
+
+ Meine PS/2-Maus von MouseSystems scheint nicht zu
+ funktionieren.
+
+
+
+ Es wurde berichtet, daß einige Modelle der
+ PS/2-Mäuse von MouseSystems nur funktionieren, wenn
+ sie im hochauflösenden Modus betrieben
+ werden. Andernfalls springt der Mauszeiger sehr oft in
+ die linke obere Ecke des Bilschirms.
+
+ Leider gibt es hierzu keine Abhilfe für die
+ Versionen 2.0.X und 2.1.X. Verwenden Sie bei den
+ Versionen 2.2 bis 2.2.5 den folgenden Patch für die
+ Datei /sys/i386/isa/psm.c und
+ erstellen Sie den Kernel neu. Lesen Sie den Abschnitt
+ über die Erstellung eines
+ Kernels, falls Sie keine Erfahrung mit der
+ Erstellung eines Kernels haben.
+
+
+diff -u psm.c.orig psm.c
+@@ -766,6 +766,8 @@
+ if (verbose >= 2)
+ log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
+ unit, i);
++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
++
+ #if 0
+ set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
+ set_mouse_mode(sc->kbdc); /* stream mode */
+
+
+ Spezifizieren Sie ab Version 2.2.6 das Flag 0x04
+ für den Maustreiber, um die Maus in den
+ hochauflösenden Modus zu bringen. Rufen Sie
+ UserConfig durch Angabe der Option
+ am Boot-Prompt auf:
+
+
+boot: -c
+
+
+ Geben sie dann in der Kommandozeile von
+ UserConfig folgendes ein:
+
+
+UserConfig> flags psm0 0x04
+UserConfig> quit
+
+
+ Lesen Sie den vorigen Abschnitt über eine andere
+ mögliche Ursache für Probleme mit der
+ Maus.
+
+
+
+
+
+ Wenn ich eine X-Applikation erstellen will, kann
+ imake die Datei
+ Imake.tmpl nicht finden. Wo befindet
+ sie sich?
+
+
+
+ Imake.tmpl ist Teil des
+ Imake-Paketes, ein Standardwerkzeug zur Erstellung von
+ X-Applikationen. Imake.tmpl ist
+ ebenso, wie viele Header-Dateien, die zur Erstellung von
+ X-Applikationen benötigt werden, in der Distribution
+ xprog enthalten. Sie können Sie
+ per sysinstall oder aber manuell mit den X
+ Distributionsdateien installieren.
+
+
+
+
+
+ Wie vertausche ich die Maustasten?
+
+
+
+ Benutzen Sie den Befehl xmodmap -e "pointer =
+ 3 2 1" in Ihrer Datei .xinitrc oder
+ .xsession.
+
+
+
+
+
+ Wie installiere ich einen Splash-Screen und wo finde
+ ich sie?
+
+
+
+ Kurz vor der Herausgabe von FreeBSD 3.1 wurde ein
+ neues Feature eingefügt, das die Anzeige von
+ Splash-Screens während der
+ Bootmeldungen erlaubt. Die Splash-Screens dürfen
+ derzeit nur Bitmaps mit 256-Farben
+ (*.BMP) oder ZSoft-PCX-Dateien
+ *.PCX) sein. Damit sie mit normalen
+ VGA-Karten dargestellt werden können, darf die
+ Größe 320x200 Bildpunkte nicht
+ überschreiten. Wenn Sie in ihrem Kernel die
+ VESA-Unterstützung eingebunden haben, beträgt
+ die maximale Größe 1024x768 Pixel. Beachten
+ Sie, daß die VESA-Unterstützung die
+ Kerneloption VM86 benötigt, um in
+ den Kernel eingebunden werden zu können. Die
+ derzeitige VESA-Unterstützung kann entweder direkt
+ durch die Kernelkonfigurationsoption
+ VESA in den Kernel eingebunden werden,
+ oder durch das Laden des VESA-Moduls kld während des
+ Bootens.
+
+ Um eine Splash-Screen zu benutzen, müssen Sie die
+ Startdateien, die den Bootprozeß von FreeBSD
+ kontrollieren, modifizieren. Diese Dateien haben sich vor
+ der Herausgabe von FreeBSD 3.2 geändert, so daß
+ nun zwei Möglichkeiten zum Laden einer Splash-Screen
+ existieren:
+
+
+
+ FreeBSD 3.1
+
+ Der erste Schritt besteht darin, eine
+ Bitmap-Version Ihrer Splash-Screen zu finden. Von
+ Version 3.1 werden nur Windows-Bitmap Splash-Screens
+ unterstützt. Wenn Sie die Splash-Screen Ihrer
+ Wahl gefunden haben, kopieren Sie sie nach
+ /boot/splash.bmp. Als
+ nächstes benötigen Sie eine Datei
+ /boot/loader.rc, die die
+ folgenden Zeilen enthält:
+
+
+load kernel
+load -t splash_image_data /boot/splash.bmp
+load splash_bmp
+autoboot
+
+
+
+
+ seit FreeBSD 3.2
+
+ Außer der zusätzlichen
+ Unterstützung von PCX Splash-Screens bietet
+ FreeBSD 3.2 eine einfachere Möglichkeit, den
+ Bootprozeß zu konfigurieren. Wenn Sie
+ möchten, können Sie auch die obige Methode
+ für FreeBSD 3.1 benutzen. Falls Sie das tun und
+ PCX verwenden möchten, dann ersetzen Sie
+ splash_bmp durch
+ splash_pcx. Falls Sie aber die
+ neuere Bootkonfiguration benutzen möchten,
+ müssen Sie eine Datei
+ /boot/loader.rc erstellen, die
+ die folgenden Zeilen enthält:
+
+
+include /boot/loader.4th
+start
+
+
+ und eine Datei
+ /boot/loader.conf, die die
+ folgenden Zeilen enthält:
+
+
+splash_bmp_load="YES"
+bitmap_load="YES"
+
+
+ Dies setzt voraus, daß Sie
+ /boot/splash.bmp als Ihren
+ Splash-Screen benutzen. Wenn Sie lieber eine
+ PCX-Datei benutzen wollen, dann kopieren Sie sie nach
+ /boot/splash.pcx, erstellen Sie
+ eine Datei /boot/loader.rc, wie
+ oben beschrieben und eine Datei
+ /boot/loader.conf, die folgendes
+ enthält:
+
+
+splash_pcx_load="YES"
+bitmap_load="YES"
+bitmap_name="/boot/splash.pcx"
+
+
+
+
+ Alles, was Sie nun brauchen, ist ein Splash-Screen.
+ Hierzu können Sie durch die Gallerie bei http://www.baldwin.cx/splash/
+ surfen.
+
+
+
+
+
+ Kann ich die Windows(tm)-Tasten unter X
+ nutzen?
+
+
+
+ Ja, Sie müssen lediglich mit &man.xmodmap.1;
+ festlegen, welche Aktion diese Tasten auslösen
+ sollen.
+
+ Unter der Annahme, daß alle
+ Windows(tm) Tastaturen dem Standard
+ entsprechen, lauten die Keycodes für die drei
+ Tasten
+
+
+
+ 115 - Windows(tm) Taste zwischen den Alt- und
+ Strg-Tasten auf der linken Seite
+
+
+
+ 116 - Windows(tm) Taste rechts von der
+ Alt-Gr-Taste
+
+
+
+ 117 - Menü-Taste, links von der rechten
+ Strg-Taste
+
+
+
+ Nach der folgenden Anweisung erzeugt die linke
+ Windows(tm)-Taste ein Komma.
+
+
+&prompt.root; xmodmap -e "keycode 115 = comma"
+
+
+ Sie werden Ihren Window Manager wahrscheinlich neu
+ starten müssen, damit diese Einstellung wirksam
+ wird.
+
+ Um die neue Belegung der Windows(tm)-Tasten
+ automatisch beim Start von X zu erhalten, könnten Sie
+ entsprechende xmodmap Anweisungen in
+ ihre ~/.xinitrc einfügen. Die
+ bevorzugte Variante ist aber, eine Datei mit dem Namen
+ ~/.xmodmaprc zu erzeugen, die nur die
+ Parameter für den Aufruf von
+ xmodmap enthält. Wenn Sie mehrere
+ Tasten umdefinieren wollen, muß jede Definition in
+ eine eigene Zeile gesetzt werden. Weiterhin müssen
+ Sie in Ihrer ~/.xinitrc noch die
+ folgende Zeile einfügen:
+
+
+xmodmap $HOME/.xmodmaprc
+
+
+ Auf meinem System habe ich drei Tasten zu F13, F14 und
+ F15 gemacht. Dadurch ist es sehr einfach, diese Tasten
+ mit nützlichen Funktionen eines Programmes oder
+ Desktops zu verknüpfen.
+
+ Falls Sie das auch tun wollen, sollten in Ihrer
+ ~/.xmodmaprc die folgenden
+ Anweisungen stehen.
+
+
+keycode 115 = F13
+keycode 116 = F14
+keycode 117 = F15
+
+
+ Ich benutze fvwm2 und habe ihn so
+ eingestellt, daß F13 das Fenster unter dem
+ Mauszeiger minimiert bzw. maximiert. F14 holt das Fenster
+ unter dem Mauszeiger in den Vordergrund bzw. ganz nach
+ hinten, wenn es bereits im Vordergrund ist. F15
+ öffnet das Arbeitsplatz (Programme) Menü, auch
+ wenn der Cursor nicht auf den Hintergrund zeigt. Dies ist
+ extrem praktisch, wenn der gesamte Bildschirm von Fenster
+ belegt wird; als kleiner Bonus gibt es sogar einen
+ Zusammenhang zwischem dem Symbol auf der Taste und der
+ durchgeführten Aktion.
+
+ Dieses Verhalten kann man mit den folgenden
+ Einträgen in der Datei ~/.fvwmrc
+ erhalten:
+
+
+Key F13 FTIWS A Iconify
+Key F14 FTIWS A RaiseLower
+Key F15 A A Menu Workplace Nop
+
+
+
+
+
+
+
+ Netzwerke
+
+
+
+
+ Woher kann ich Informationen über Diskless
+ Booting bekommen?
+
+
+
+ Diskless Booting bedeutet, daß
+ die FreeBSD-Maschine über ein Netzwerk gebootet wird
+ und die notwendigen Dateien von einem Server anstatt von
+ der Festplatte liest. Vollständige Details finden
+ Sie im Handbucheintrag über
+ Diskless Booting
+
+
+
+
+
+ Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
+ werden?
+
+
+
+ Internetstandards und gute Ingenieurtechniken
+ verbieten uns, in FreeBSD standardmäßig eine
+ Paketweiterleitung zu aktivieren. Sie können dieses
+ Feature aber aktivieren, indem Sie in
+ /etc/rc.conf die folgende Variable
+ auf YES setzen:
+
+
+gateway_enable=YES # Set to YES if this host will be a gateway
+
+
+ Diese Option setzt die
+ sysctl-Variable
+ net.inet.ip.forwarding auf
+ 1.
+
+ In den meisten Fällen werden Sie auch einen
+ Routing-Dæmon laufen lassen müssen, um andere
+ Systeme in Ihrem Netzwerk über Ihren Router zu
+ informieren. FreeBSD enthält den standard
+ Routing-Daemon routed, für
+ komplexere Situationen möchten Sie evtl.
+ GaTeD ausprobieren
+ (erhältlich von http://www.gated.org/),
+ der FreeBSD vom Stand 3_5Alpha7 unterstützt.
+
+ Wir müssen sie allerdings warnen, daß
+ FreeBSD selbst in dieser Konfiguration nicht alle
+ Internet-Standards für Router erfüllt. Für
+ normale Anwendungszwecke kommt es diesen Standard aber
+ ausreichend nahe.
+
+
+
+
+
+ Kann ich meine Win95-Maschine über FreeBSD ans
+ Internet anbinden?
+
+
+
+ Personen, die diese Frage stellen, haben
+ typischerweise zwei PCs zu Hause: einen mit FreeBSD und
+ einen mit Win95; die Idee ist, die FreeBSD-Maschine an das
+ Internet anzubinden und dann in der Lage zu sein, von der
+ Windows95-Maschine aus über die FreeBSD-Maschine auf
+ das Internet zuzugreifen. Das ist tatsächlich nur
+ ein Spezialfall der vorherigen Frage.
+
+ ... und die Antwort ist JA! Das user-mode ppp von
+ FreeBSD kennt die Option . Wenn Sie
+ ppp mit der Option
+ starten, in
+ /etc/rc.conf die Variable
+ gateway_enable auf
+ YES setzen und ihre Windows-Maschine
+ korrekt konfigurieren, sollte das hervorragend
+ funktionieren.
+
+ Ausführlichere Informationen zur Konfiguration
+ finden Sie im Pedantic
+ PPP Primer von Steve Sims.
+
+ Wenn Sie Kernel-Mode PPP verwenden oder ihre
+ Verbindung zum Internet über Ethernet realisiert
+ wurde, müssen Sie natd verwenden.
+ Weitere Informationen dazu finden Sie im Abschnitt
+ über natd.
+
+
+
+
+
+ Warum mißlingt die Neukompilierung des neuesten
+ BIND von ISC?
+
+
+
+ Es existiert ein Konflikt zwischen der Datei
+ cdefs.h in der Distribution und der,
+ die mit FreeBSD ausgeliefert wird. Löschen Sie
+ compat/include/sys/cdefs.h
+ einfach.
+
+
+
+
+
+ Unterstützt FreeBSD SLIP und PPP?
+
+
+
+ Ja. Lesen Sie die Manualpages &man.slattach.8;,
+ &man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;.
+ pppd und ppp liefern
+ Unterstützung sowohl für eingehende, als auch
+ ausgehende Verbindungen. Sliplogin
+ behandelt ausschließlich eingehende Verbindungen und
+ slattach behandelt ausschließlich
+ ausgehende Verbindungen.
+
+ Diese Programme werden in den folgenden Abschnitten
+ des Handbuchs
+ beschrieben:
+
+
+
+ Handbucheintrag zu SLIP
+ (Serverseite)
+
+
+
+ Handbucheintrag zu SLIP
+ (Clientseite)
+
+
+
+ Handbucheintrag
+ zu PPP (Kernel-Version)
+
+
+
+ Handbucheintrag
+ zu PPP (Benutzer-Version)
+
+
+
+ Falls Sie nur durch einen Shell-Account
+ Zugang zum Internet haben, sehen Sie sich einmal das
+ Package slirp an. Es kann
+ Ihnen (eingeschränkten) Zugang zu Diensten wie ftp
+ und http direkt von Ihrer lokalen Maschine aus
+ ermöglichen.
+
+
+
+
+
+ Unterstützt FreeBSD NAT oder
+ Masquerading?
+
+
+
+ Falls Sie ein lokales Subnetz (oder mehrere lokale
+ Maschinen) besitzen, aber von Ihrem Internetprovider nur
+ eine einzige (evtl. auch dynamisch zugeteilte) IP-Adresse
+ zugewiesen bekommen haben, sehen Sie sich einmal das
+ Programm natd an.
+ natd ermöglicht es Ihnen, ein
+ vollständiges Subnetz mit nur einer einzigen
+ IP-Adresse an das Internet anzubinden.
+
+ Das Programm ppp verfügt mit
+ der eingebauten Option über
+ eine ähnliche Funktionalität. In beiden
+ Fällen wird die Alias-Bibliothek &man.libalias.3;
+ verwendet.
+
+
+
+
+
+ Ich kann kein /dev/ed0-Gerät
+ erstellen!
+
+
+
+ Bei Berkley-basierten Netzwerkimplementationen kann
+ nur vom Kernel-Code aus direkt auf Netzwerkkarten
+ zugegriffen werden. Zur weiteren Information lesen Sie
+ bitte die Datei /etc/rc.network 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.
+
+
+
+
+
+ Wie kann ich Ethernet-Aliase einrichten?
+
+
+
+ Benutzen Sie netmask 0xffffffff in
+ Ihrer ifconfig-Befehlszeile, wie
+ z.B.:
+
+
+&prompt.root; ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
+
+
+
+
+
+
+ Wie bringe ich meine 3C503 dazu, den anderen
+ Anschluß zu benutzen?
+
+
+
+ Wenn Sie die anderen Anschlüsse benutzen
+ möchten, müssen Sie einen zusätzlichen
+ Parameter in der ifconfig-Befehlszeile
+ spezifizieren. Der Standard-Anschluß ist
+ link0. Um den AUI-Anschluß
+ anstelle des BNC-Anschlusses zu verwenden, benutzen Sie
+ link2. Diese Angaben sollten durch
+ Benutzung der Variablen ifconfig_* in der Datei
+ /etc/rc.conf spezifiziert
+ werden.
+
+
+
+
+
+ Ich habe Probleme mit NFS nach/von FreeBSD.
+
+
+
+ Gewisse PC-Netzwerkkarten sind (um es gelinde
+ auszudrücken) besser als andere und können
+ manchmal Probleme mit netzwerkintensiven Anwendungen wie
+ NFS verursachen.
+
+ Weitere Informationen zu diesem Thema finden Sie
+ im Handbucheintrag zu
+ NFS.
+
+
+
+
+
+ Warum kann ich per NFS nicht von einer Linux-Maschine
+ mounten?
+
+
+
+ Einige Versionen des NFS-Codes von Linux akzeptieren
+ Mount-Requests nur von einem privilegierten Port.
+ Versuchen Sie
+
+
+&prompt.root; mount -o -P linuxbox:/blah /mnt
+
+
+
+
+
+
+ Warum kann ich per NFS nicht von einer Sun-Maschine
+ mounten?
+
+
+
+ Sun Workstations mit SunOS 4.X akzeptieren
+ Mount-Requests nur von einem privilegierten Port.
+ Versuchen Sie
+
+
+&prompt.root; mount -o -P sunbox:/blah /mnt
+
+
+
+
+
+
+ Warum meldet mir mountd auf meinem
+ FreeBSD NFS-Server ständig can't change
+ attributes und bad exports
+ list?
+
+
+
+ Die häufigste Ursache für dieses Problem
+ ist, daß Sie die folgende Passage aus
+ &man.exports.5; nicht oder nicht richtig verstanden
+ haben:
+
+
+ Jede Zeile in dieser Datei (außer den mit
+ einem # beginnenden Kommentarzeilen) definiert den Mount
+ Point und die Einstellungen für den Export
+ innerhalb eines Dateisystems auf dem Server, für
+ einen oder mehrere andere Rechner (Anmerkung des
+ Übersetzers: Clients). Jeder Rechner darf für
+ jedes lokale Dateisystem nur ein mal erwähnt werden
+ und es darf für jedes Dateisystem des Servers nur
+ einen Defaulteintrag geben, der dann für alle
+ anderen Rechner gilt.
+
+
+ Um dies zu verdeutlichen, folgt ein Beispiel eines
+ typischen Fehlers. Wenn alles oberhalb von
+ /usr Teil eines einzigen Dateisystems
+ ist (es also keine Mounts oberhalb von
+ /usr gibt), ist die folgende Datei
+ nicht korrekt:
+
+
+/usr/src client
+/usr/ports client
+
+
+ Es gibt zwei Zeilen, die Einstellungen für das
+ gleiche Dateisystem (/usr) und den
+ gleichen Host (client) definieren. Die
+ richtige Variante wäre:
+
+
+/usr/src /usr/ports client
+
+
+ Um die zitiere Passage anders auszudrücken: Die
+ Einstellungen für den Export eines Filesystems an
+ einen anderen Host (globale Exporte werden wie ein anderer
+ Host behandelt) müssen alle in einer Zeile erfolgen.
+ Ja, das schränkt ihre Möglichkeiten für den
+ Export von Dateisystemen ein, wenn Sie keine
+ häßlichen Krücken einbauen wollen.
+ Für die meisten Benutzer ist dies allerdings kein
+ Problem.
+
+ Es folgt ein Beispiel einer legalen Export-Datei;
+ dabei sind /usr und
+ /exports lokale Dateisysteme:
+
+
+# Export src and ports to client01 and client02, but only
+# client01 has root privileges on it
+/usr/src /usr/ports -maproot=0 client01
+/usr/src /usr/ports client02
+# The "client" machines have root and can mount anywhere
+# up /exports. The world can mount /exports/obj read-only
+/exports -alldirs -maproot=0 client01 client02
+/exports/obj -ro
+
+
+
+
+
+
+ Ich habe Probleme, per PPP mit NeXTStep-Maschinen zu
+ kommunizieren.
+
+
+
+ Versuchen Sie, die TCP-Erweiterung in
+ /etc/rc.conf zu deaktivieren, indem
+ Sie die folgende Variable auf NO setzen:
+
+
+tcp_extensions=NO
+
+
+ Xylogic's Annex-Maschinen arbeiten hier auch
+ fehlerhaft und Sie müssen die obige Änderung
+ benutzen, um über Sie Verbindungen
+ herzustellen.
+
+
+
+
+
+ Wie aktiviere ich die Unterstützung für
+ IP-Multicast?
+
+
+
+ Multicast-Host-Funktionen werden seit FreeBSD 2.0
+ standardmäßig voll unterstützt. Wenn Sie
+ Ihre Maschine als Multicast-Router betreiben wollen,
+ müssen Sie Ihren Kernel mit der Option
+ MROUTING rekompilieren und
+ mrouted starten. Seit Version 2.2
+ startet FreeBSD mrouted beim Booten,
+ wenn die Variable mrouted_enable in der
+ Datei /etc/rc.conf auf
+ "YES" gesetzt ist.
+
+ MBONE-Tools sind in ihrer eigenen Ports-Kategorie
+ mbone verfügbar. Schauen Sie dort nach, wenn Sie die
+ Konferenztools vic und
+ vat suchen!
+
+ Weitere Informationen finden Sie im Mbone Information
+ Web.
+
+
+
+
+
+ Welche Netzwerkkarten basieren auf dem
+ DEC-PCI-Chipsatz?
+
+
+
+ Hier ist eine von Glen Foster
+ zusammengetragene Liste mit einigen aktuellen
+ Ergänzungen:
+
+
+Hersteller Modell
+----------------------------------------------
+ASUS PCI-L101-TB
+Accton ENI1203
+Cogent EM960PCI
+Compex ENET32-PCI
+D-Link DE-530
+Dayna DP1203, DP2100
+DEC DE435, DE450
+Danpex EN-9400P3
+JCIS Condor JC1260
+Linksys EtherPCI
+Mylex LNP101
+SMC EtherPower 10/100 (Modell 9332)
+SMC EtherPower (Modell 8432)
+TopWare TE-3500P
+Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
+ (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
+ ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
+
+
+
+
+
+
+ Warum muß ich für Hosts auf meiner Site den
+ FQDN benutzen?
+
+
+
+ Sie werden wahrscheinlich feststellen, daß der
+ Host sich tatsächlich in einer anderen Domäne
+ befindet; wenn Sie sich zum Beispiel in foo.bar.edu
+ befinden und einen Host namens mumble in
+ der Domäne bar.edu
+ erreichen wollen, werden Sie den fully-qualified
+ Domainnamen mumble.bar.edu,
+ anstatt nur mumble benutzen
+ müssen.
+
+ Traditionell war dies bei BSD-BIND-Resolvern erlaubt.
+ Die aktuelle Version von bind,
+ 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
+ mumble muß also entweder als
+ mumble.foo.bar.edu gefunden
+ werden, oder er wird in der Hauptdomäne
+ gesucht.
+
+ Dies unterscheidet sich vom vorherigen Verhalten, wo
+ die Suche über mumble.bar.edu und mumble.edu 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.
+
+ Als Abhilfe können Sie die Zeile
+
+
+search foo.bar.edu bar.edu
+
+
+ anstelle der vorherigen
+
+
+domain foo.bar.edu
+
+
+ in Ihre Datei /etc/resolv.conf
+ einfügen. Stellen Sie jedoch sicher, daß die
+ Suchreihenfolge nicht über die Grenze zwischen
+ lokaler und öffentlicher Administration, wie
+ RFC 1535 sie nennt, hinausreicht.
+
+
+
+
+
+ Permission denied bei allen
+ Netzwerkoperationen.
+
+
+
+ Dieses Problem kann auftreten, wenn Sie einen Kernel
+ mit der Option IPFIREWALL erstellt
+ haben. Während der Entwicklung von FreeBSD 2.1.7
+ wurde die Semantik dieser Option geändert: Seit
+ dieser Version ist alles verboten, was nicht explizit
+ erlaubt ist.
+
+ Falls sie Ihr System unbeabsichtigt als Firewall
+ fehlkonfiguriert haben, können Sie die
+ Netzwerkfunktionalität wiederherstellen, indem Sie
+ als root folgendes eingeben:
+
+
+&prompt.root; ipfw add 65534 allow all from any to any
+
+
+ Sie können in /etc/rc.conf
+ auch firewall_type="open"
+ setzen.
+
+ Weitere Informationen über die Konfiguration
+ einer FreeBSD-Firewall finden Sie im Handbuch-Abschnitt.
+
+
+
+
+
+ Wieviele Einbußen zieht IPFW nach sich?
+
+
+
+ Die Antwort auf diese Frage hängt
+ hauptsächlich von Ihrem Rule-Set und der
+ Prozessorgeschwindigkeit ab. Für die meisten
+ Anwendungen, die mit Ethernetzen und kleinen Rule-Sets
+ arbeiten, ist die Antwort: unbedeutend. Diejenigen, die
+ tatsächliche Messungen zur Befriedigung ihrer
+ Neugierde brauchen, sollten weiterlesen.
+
+ Die folgenden Messungen wurden mit 2.2.5-STABLE auf
+ einem 486-66 durchgeführt. IPFW wurde modifiziert,
+ um die Zeit zu messen, die in der Routine
+ ip_fw_chk verbracht wurde. Das
+ Ergebnis wurde nach jeweils 1000 Paketen auf der Konsole
+ ausgegeben.
+
+ Getestet wurden zwei Regelsätze mit jeweils 1000
+ Regeln. Der erste Satz wurde zur Demonstration eines
+ Szenarios im schlimmsten Fall zusammengestellt, indem die
+ folgende Regel wiederholt wurde:
+
+
+&prompt.root; ipfw add deny tcp from any to any 55555
+
+
+ Dies demonstriert den schlimmsten Fall, indem
+ dafür gesorgt wird, daß die meisten von IPFW's
+ Paketüberprüfungsroutinen ausgeführt
+ werden, bevor letztlich entschieden wird, daß die
+ Regel für das Paket nicht zutrifft (wegen der
+ virtuellen Portnummer). Auf die 999. Iteration dieser
+ Regel folgte ein allow ip from any to
+ any.
+
+ Der zweite Regelsatz wurde so zusammengestellt,
+ daß die Überprüfung der Regeln schnell
+ abbricht:
+
+
+&prompt.root; ipfw add deny ip from 1.2.3.4 to 1.2.3.4
+
+
+ Die nichtzutreffende IP-Adresse für die obige
+ Regel sorgt dafür, daß diese Regeln sehr
+ schnell übersprungen werden. Wie zuvor war die 1000.
+ Regel ein allow ip from any to
+ any.
+
+ Der Verarbeitungsmehraufwand pro Paket im ersten Fall
+ war ungefähr 2,703 ms/Paket, oder grob 2,7
+ Mikrosekunden pro Regel. Das theoretische Limit für
+ die Verarbeitung von Paketen liegt also etwa bei 370
+ Paketen pro Sekunde. Bei einem 10Mbps Ethernet und einer
+ Paketgröße von ~1500 Byte könnte man nur
+ eine 55,5% ige Ausnutzung der Bandbreite
+ erreichen.
+
+ Im letzteren Fall wurde jedes Paket in ungefähr
+ 1,172 ms verarbeitet, oder grob 1,2 Mikrosekunden pro
+ Regel. Das theoretische Limit für die Verarbeitung
+ von Paketen läge hier bei etwa 853 Paketen pro
+ Sekunde, was ein 10Mbps Ethernet auslasten
+ könnte.
+
+ Die übermäßige Anzahl der getesteten
+ Regeln und die Beschaffenheit dieser Regeln liefern kein
+ realistisches Szenario -- sie wurden lediglich benutzt, um
+ die hier vorgestellten Meßergebnisse zu generieren.
+ Hier sind einige Dinge, die bei der Erstellung eines
+ effizienten Regelsatzes beachtet werden sollten:
+
+
+
+ Setzen Sie frühzeitig eine
+ established-Regel, um den
+ Großteil des TCP-Verkehrs abzufangen. Setzen
+ Sie keine allow tcp-Anweisungen vor
+ diese Regel.
+
+
+
+ Plazieren Sie häufig angestoßene Regeln
+ im Regelsatz vor solche, die weniger häufig
+ benutzt werden (natürlich, ohne die
+ Toleranz der Firewall zu verändern).
+ Sie können herausfinden, welche Regeln am
+ häufigsten benutzt werden, indem Sie die
+ Paketstatistik mit ipfw -a l
+ untersuchen.
+
+
+
+
+
+
+
+ Wie kann ich Service-Requests von einer Maschine auf
+ eine andere umleiten?
+
+
+
+ Sie können FTP-Requests (und andere Dienste) mit
+ dem Package socket umleiten, das im
+ Ports-Tree in der Kategorie sysutils
+ verfügbar ist. Ersetzen sie die Befehlszeile
+ für den Dienst einfach so, daß stattdessen
+ socket aufgerufen wird, zum Beispiel so:
+
+
+ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.comftp
+
+
+ wobei ftp.foo.com und
+ ftp entsprechend der Host und
+ der Port sind, wohin umgeleitet werden soll.
+
+
+
+
+
+ Woher kann ich ein Bandbreiten-Managementtool
+ bekommen?
+
+
+
+ Für FreeBSD gibt es zwei
+ Bandbreiten-Managementtools. ALTQ
+ gibt es umsonst; Bandwidth Manager von Emerging Technologies
+ ist ein kommerzielles Produkt.
+
+
+
+
+
+ Warum erhalte ich /dev/bpf0: device not
+ configured?
+
+
+
+ Der Berkeley-Paket-Filter bpf
+ muß in den Kernel eingebunden werden, bevor er von
+ einem Programme aus genutzt werden kann. Fügen Sie
+ folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
+ erstellen Sie einen neuen Kernel:
+
+
+pseudo-device bpfilter # Berkeley Packet Filter
+
+
+ Zweitens müssen Sie nach dem Rebooten den Device
+ Node erstellen. Führen Sie dazu die folgenden
+ Befehle aus:
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV bpf0
+
+
+ Weitere Informationen zur Erstellung von Geräten
+ finden Sie im Handbucheintrag
+ über Device Nodes.
+
+
+
+
+
+ Habe ich, analog zum smbmount von Linux, eine
+ Möglichkeit, auf ein freigegebenes Laufwerk einer
+ Windows-Maschine in meinem Netzwerk zuzugreifen.
+
+
+
+ Benutzen Sie das Package sharity
+ light aus der Ports-Sammlung.
+
+
+
+
+
+
+ Was bedeutet die Meldung icmp-response
+ bandwidth limit 300/200 pps in meinen
+ Logfiles?
+
+
+
+ Mit dieser Meldung teilt Ihnen der Kernel mit,
+ daß irgend jemand versucht, ihn zur Generierung von
+ zu vielen ICMP oder TCP reset (TST) Antworten zu
+ provozieren. ICMP Antworten sind oft das Ergebnis von
+ Verbindungsversuchen zu unbenutzen UDP ports. TCP resets
+ werden generiert, wenn jemand versucht, eine Verbindung zu
+ einem ungenutzten TCP Port aufzubauen. Die Meldungen
+ können unter anderem durch die folgenden Ereignisse
+ ausgelöst werden:
+
+
+
+ Denial of Service (DoS) Angriffe mit der
+ Brechstange (und nicht durch Angriffe mit einzelnen
+ Paketen, die gezielt eine Schwachstelle des Systems
+ ausnutzen sollen).
+
+
+
+ Port Scans, bei denen versucht wird, Verbindungen
+ zu einer großen Anzahl von Ports (und nicht nur
+ einigen bekannten Ports) herzustellen.
+
+
+
+ Die erste Zahl gibt an, wieviele Pakete vom Kernel
+ ohne das Limit versendet worden wären; die zweite
+ Zahl gibt das Limit an. Sie können das Limit mit
+ Hilfe der sysctl-Variable
+ net.inet.icmp.icmplim einstellen. Im
+ Beispiel wird das Limit auf 300 Packete
+ pro Sekunde gesetzt:
+
+
+&prompt.root; sysctl -w net.inet.icmp.icmplim=300
+
+
+ Wenn Sie zwar die Begrenzung nutzen möchten, aber
+ die Meldungen nicht in Ihren Logfiles sehen möchten,
+ können Sie die Meldungen mit der sysctl-Variable
+ net.inet.icmp.icmplim_output
+ abschalten:
+
+
+&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0
+
+
+ Falls Sie die Begrenzung ganz abschalten wollen,
+ können Sie die Sysctl-Variable
+ net.inet.icmp.icmplim auf
+ 0. Wir raten Ihnen aus den oben
+ genannten Gründen dringend von diesem Schritt
+ ab.
+
+
+
+
+
+
+ PPP
+
+
+
+
+ Ich bekomme ppp nicht zum Laufen. Was mache ich
+ falsch?
+
+
+
+ Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp)
+ und den Abschnitt zu
+ ppp im Handbuch lesen. Aktivieren Sie das Logging
+ mit folgendem Befehl:
+
+
+set log Phase Chat Connect Carrier lcp ipcp ccp command
+
+
+ Dieser Befehl kann an der Eingabeaufforderung von
+ ppp eingegeben oder in die
+ Konfigurationsdatei /etc/ppp/ppp.conf
+ eingetragen werden (der beste Ort hierfür ist der
+ Anfang des Abschnitts default. Stellen
+ Sie sicher, daß die Datei
+ /etc/syslog.conf die folgenden Zeilen
+ enthält:
+
+
+!ppp
+*.* /var/log/ppp.log
+
+
+ und, daß die Datei
+ /var/log/ppp.log 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.
+
+ Falls Ihre ppp-Version den set log
+ Befehl nicht versteht, sollten Sie sich die neueste
+ Version herunterladen. Sie kann auf
+ Freebsd-Version 2.1.5 und höher erstellt
+ werden.
+
+
+
+
+
+ ppp hängt, wenn ich es benutze.
+
+
+
+ Das liegt meistens daran, daß Ihr Rechnername
+ nicht aufgelöst werden kann. Um dieses Problem zu
+ lösen, muß in der Datei
+ /etc/hosts der Eintrag
+ hosts an die erste Stelle gesetzt
+ werden. Damit wird der Resolver angewiesen, für die
+ Namensauflösung zunächst einmal diese Datei zu
+ verwenden. Erstellen Sie dann einfach für Ihren
+ lokalen Rechner einen Eintrag in der Datei
+ /etc/hosts. Falls Sie kein lokales
+ Netzwerk besitzen, ändern Sie die
+ localhost-Zeile:
+
+
+127.0.0.1 foo.bar.com foo localhost
+
+
+ Andernfalls fügen Sie einfach einen weiteren
+ Eintrag für Ihren lokalen Recher hinzu. Weitere
+ Details finden Sie in den betreffenden
+ Manualpages.
+
+ Wenn Sie fertig sind sollten Sie ping -c1
+ `hostname` erfolgreich ausführen
+ können.
+
+
+
+
+
+ ppp wählt im -auto-Modus nicht.
+
+
+
+ Überprüfen Sie zunächst, ob Sie eine
+ Standard-Gateway eingestellt haben. Wenn Sie
+ netstat -rn ausführen, sollten Sie
+ zwei Einträge ähnlich den folgenden
+ sehen:
+
+
+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
+
+
+ Hier wird angenommen, daß Sie die Adressen aus
+ dem Handbuch, der Manualpage oder aus der Datei
+ ppp.conf.sample benutzt haben. Falls Sie keine
+ Standardroute haben, kann es daran liegen, daß Sie
+ eine alte Version von ppp benutzen, die
+ das Wort HISADDR in der Datei ppp.conf
+ nicht versteht. Falls Ihre
+ ppp-Version älter als
+ 2.2.5 ist, ändern Sie die Zeile
+
+
+add 0 0 HISADDR
+
+
+ in
+
+
+add 0 0 10.0.0.2
+
+
+ Ein weiterer Grund dafür, daß die Zeile
+ für die Standardroute fehlt, könnte der sein,
+ daß Sie fälschlicherweise eine Standardroute in
+ der Datei /etc/rc.conf (diese Datei
+ hieß vor Version 2.2.2
+ /etc/sysconfig) eingetragen und die
+ folgende Zeile in ppp.conf
+ ausgelassen haben:
+
+
+delete ALL
+
+
+ Lesen Sie in diesem Fall den Abschnitt Abschließende
+ Systemkonfiguration des Handbuchs.
+
+
+
+
+
+ Was bedeutet No route to host?
+
+
+
+ Dieser Fehler beruht für gewöhnlich auf
+ einem fehlenden Abschnitt
+
+
+MYADDR:
+ delete ALL
+ add 0 0 HISADDR
+
+
+ in Ihrer Datei
+ /etc/ppp/ppp.linkup. 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 packet
+ mode gelangt sind (den Paket Modus erkennen Sie
+ an PPP im Prompt):
+
+
+delete ALL
+add 0 0 HISADDR
+
+
+ Weitere Details finden Sie im Abschnitt PPP
+ und Dynamische IP-Adressen des Handbuchs.
+
+
+
+
+
+ Meine Verbindung wird nach drei Minuten
+ beendet
+
+
+
+ Der Standardtimeout für ppp beträgt drei
+ Minuten. Er kann durch die Zeile
+
+
+set timeout NNN
+
+
+ eingestellt werden, wobei
+ NNN die Inaktivität in
+ Sekunden, bevor die Verbindung geschlossen wird, angibt.
+ Falls NNN Null ist, wird die
+ Verbindung niemals aufgrund eines Timeouts geschlossen.
+ Es ist möglich, diesen Befehl in die Datei
+ ppp.conf einzubinden, oder ihn an der
+ Eingabeaufforderung im interaktiven Modus einzugeben.
+ Durch eine Verbindung zum Server-Socket von
+ ppp über
+ telnet oder pppctl
+ ist es auch möglich, den Timeout bei aktiver
+ Verbindung anzupassen. Weitere Details finden Sie in der
+ Manualpage &man.ppp.8;.
+
+
+
+
+
+ Meine Verbindung bricht bei hoher Auslastung
+ ab
+
+
+
+ Falls Sie Link-Quality-Reporting (LQR) konfiguriert
+ haben, ist es möglich, daß zu viele LQR-Pakete
+ zwischen Ihrer Maschine und dem verbundenen Rechner
+ verloren gehen. ppp folgert daraus, daß die
+ Verbindung nicht in Ordnung ist und schließt sie.
+ Vor FreeBSD Version 2.2.5 war LQR standardmäßig
+ aktiviert; nun ist es standardmäßig
+ deaktiviert. Es kann durch folgende Zeile deaktiviert
+ werden:
+
+
+disable lqr
+
+
+
+
+
+
+ Meine Verbindung bricht nach unbestimmter Zeit
+ ab
+
+
+
+ Wenn die Qualität Ihrer Telefonleitung zu
+ schlecht oder bei Ihrem Anschluß die Option
+ (Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
+ ist, kann es manchmal vorkommen, daß Ihr Modem
+ auflegt, weil es (fälschlicherweise) annimmt,
+ daß es das Trägersignal verloren hat.
+
+ 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:
+
+
+set dial "...... ATS10=10 OK ......"
+
+
+ Weitere Information sollten Sie dem Handbuch Ihres
+ Modems entnehmen können.
+
+
+
+
+
+ Meine Verbindung hängt nach einer unbestimmten
+ Zeit
+
+
+
+ Viele Leute machen Erfahrungen mit hängenden
+ Verbindungen ohne erkennbaren Grund. Als erstes muß
+ festgestellt werden, welche Seite der Verbindung
+ hängt.
+
+ Wenn Sie ein externes Modem benutzen, können Sie
+ einfach versuchen, ping zu benutzen, um
+ zu sehen, ob die TD-Anzeige
+ aufleuchtet, wenn Sie Daten übertragen. Falls sie
+ aufleuchtet (und die RD-Anzeige nicht),
+ liegt das Problem am anderen Ende. Falls
+ TD nicht aufleuchtet, handelt es sich
+ um ein lokales Problem. Bei einem internen Modem
+ müssen Sie den Befehl set server
+ in Ihrer Datei ppp.conf benutzen.
+ Stellen Sie über pppctl eine Verbindung zu ppp her,
+ wenn die Verbindung hängt. Falls Ihre
+ Netzwerkverbindung plötzlich wieder funktioniert (ppp
+ wurde durch die Aktivität auf dem Diagnose-Socket
+ wiederbelebt) oder Sie keine Verbindung bekommen
+ (vorausgesetzt, der Befehl set socket
+ 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
+ set log local async und benutzen Sie
+ ping 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.
+
+ Wenn Sie festgestellt haben, ob es sich um ein lokales
+ oder um ein externes Problem handelt, haben Sie zwei
+ Möglichkeiten:
+
+
+
+
+
+ Das externe Ende antwortet nicht
+
+
+
+ Hier können Sie wenig tun. Die meisten ISPs
+ werden ablehnen, Ihnen zu helfen, wenn Sie kein
+ Betriebssystem von Microsoft benutzen. Sie können
+ enable lqr in Ihrer Datei
+ ppp.conf angeben, wodurch ppp
+ ermöglicht wird, ein externes Versagen zu erkennen
+ und aufzulegen, aber diese Erkennung ist relativ langsam
+ und deshalb nicht besonders nützlich. Evtl. sagen
+ Sie Ihrem ISP nicht, daß Sie ein eigenes ppp
+ benutzen...
+
+ Versuchen Sie zunächst, jegliche Datenkompression
+ auszuschalten, indem Sie folgendes zu Ihrer Konfiguration
+ hinzufügen:
+
+
+disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
+deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
+
+
+ Stellen Sie nun wieder eine Verbindung her, um
+ festzustellen, ob sich etwas geändert hat. Falls es
+ nun besser läuft oder falls das Problem
+ vollständig behoben ist, versuchen Sie durch
+ schrittweises Ändern der Einstellungen festzustellen,
+ welche Einstellung den Unterschied bewirkt. Hierdurch
+ erhalten Sie schlüssige Fakten fuer ein Gespräch
+ mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
+ daß Sie kein Microsoft-Produkt benutzen).
+
+ 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 (Memory fault, core
+ dumped).
+
+ 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.
+
+
+
+
+
+ ppp hängt sich auf
+
+
+
+ In diesem Fall erstellen Sie am besten ppp neu, indem
+ Sie CFLAGS+=-g und
+ STRIP= am Ende des Makefiles
+ einfügen und dann make clean && make
+ && make install ausführen. Suchen
+ Sie die Prozeßnummer von ppp mit ps ajxww |
+ fgrep ppp, wenn ppp sich aufhängt und
+ führen Sie gdb ppp
+ PID aus. Am
+ gdb-Prompt können Sie bt benutzen,
+ um einen Auszug von Stack zu erhalten.
+
+ Senden Sie die Ergebnisse an
+ brian@Awfulhak.org.
+
+
+
+
+
+ Nach der Nachricht Login OK! geschieht nichts.
+
+
+
+ Bei Freebsd-Versionen vor 2.2.5 wartete
+ ppp darauf, daß der
+ Partner das Line Control Protocol (LCP) initiiert. Viele
+ ISPs starten nicht mit der Initiierung, sondern erwarten
+ dies vom Client. Benutzen Sie die folgende Zeile, um
+ ppp zu veranlassen, LCP zu
+ initiieren:
+
+
+set openmode active
+
+
+
+
+ Für gewöhnlich schadet es nicht, wenn
+ beide Seiten versuchen, Verhandlungen einzuleiten.
+ Deshalb ist openmode nun standardmäßig
+ aktiv. Im nächsten Abschnitt wird allerdings
+ erklärt, in welchen Fällen es dennoch
+ schadet.
+
+
+
+
+
+
+
+ Ich sehe ständig Fehlermeldungen über
+ gleiche "Magic Numbers".
+
+
+
+ Nach dem Aufbau einer Verbindung kann es sein,
+ daß Sie in der Logdatei gelegentlich Meldungen mit
+ dem Hinweis magic is the same sehen.
+ Manchmal sind diese Meldungen harmlos und manchmal bricht
+ die eine oder andere Seite die Verbindung ab. Die meisten
+ Implementationen von ppp können dieses Problem nicht
+ handhaben und Sie werden wiederholte
+ Konfigurationsanforderungen und -bestätigungen in der
+ Logdatei finden, bis ppp schließlich aufgibt und die
+ Verbindung beendet.
+
+ Dies geschieht normalerweise auf Servern mit langsamen
+ Festplatten, bei denen ein getty auf dem Port
+ ausgeführt und ppp nach dem Einloggen von einem
+ Login-Skript oder einem Programm aus gestartet wird. Ich
+ habe auch davon gehört, daß dies bei der
+ Benutzung von slirp regelmäßig auftritt. Der
+ Grund hierfür ist, daß das ppp auf der
+ Client-Seite in der Zeit, die benötigt wird, getty zu
+ beenden und ppp zu starten, bereits beginnt, Line Control
+ Protocol (LCP) Pakete zu senden. Da ECHO auf dem
+ Serverport weiterhin eingeschaltet ist, werden diese
+ Pakete zum ppp auf der Client-Seite
+ reflektiert.
+
+ Ein Teil der LCP-Verhandlungen ist die Einrichtung
+ einer "magic Number" für jede Seite der Verbindung,
+ damit Echos erkannt werden können.
+ Das Protokoll besagt, daß, wenn der Partner
+ versucht, die gleiche "Magic Number" auszuhandeln, ein NAK
+ zurückgesendet und eine neue "Magic Number"
+ gewählt werden soll. Während der Server das
+ ECHO eingeschaltet hat, sendet der Client LCP Pakete,
+ sieht die gleiche "Magic Number" im reflektierten Paket
+ und erzeugt ein NAK. Er sieht auch das reflektierte NAK
+ (was bedeutet, daß ppp seine "Magic Number"
+ ändern muß). Hierdurch wird eine Vielzahl von
+ Änderungen der "Magic Number" hervorgerufen, die sich
+ allesamt im tty-Puffer des Servers ansammeln. Sobald ppp
+ auf dem Server startet, wird es mit Änderungen der
+ "Magic Number" überflutet und entscheidet, daß
+ es sich zur Genüge mit den LCP-Verhandlungen
+ beschäftigt hat und gibt auf. Und während sich
+ der Client noch darüber freut, daß er keine
+ weiteren Reflexionen sieht, wird ihm gemeldet, daß
+ der Server auflegt.
+
+ Dies kann verhindert werden, indem dem Parter durch
+ die folgende Zeile in der Datei
+ ppp.conf erlaubt wird, mit der
+ Verhandlung zu beginnen:
+
+
+set openmode passive
+
+
+ Hierdurch wird ppp mitgeteilt, darauf zu warten,
+ daß der Server mit den LCP-Verhandlungen beginnt.
+ Einige Server starten jedoch nie mit der Verhandlungen;
+ falls dies der Fall ist, können Sie folgendes
+ tun:
+
+
+set openmode active 3
+
+
+ Hierdurch bleibt ppp für drei Sekunden passiv und
+ fängt dann erst an, LCP-Anforderungen zu senden.
+ Falls der Partner während dieser Zeit beginnt,
+ Anforderungen zu senden, wird ppp direkt antworten und
+ nicht erst, nachdem die drei Sekunden abgelaufen
+ sind.
+
+
+
+
+
+ Die LCP-Verhandlungen dauern an, bis die Verbindung
+ geschlossen wird.
+
+
+
+ Es gibt eine Fehlfunktion in der Implementierung von
+ ppp, die darin besteht,
+ daß LCP-, CCP- & IPCP-Antworten nicht mit den
+ ursprünglichen Anforderungen assoziiert werden.
+ Für den Fall, daß eine Implementation von
+ ppp mehr als sechs Sekunden
+ langsamer ist, als die andere Seite, resultiert das darin,
+ daß die andere Seite zwei weitere
+ LCP-Konfigurationsanforderungen sendet, was fatale
+ Auswirkungen hat.
+
+ Stellen Sie sich vor, wir hätten es mit zwei
+ Implementierungen A und
+ B zu tun. A beginnt
+ unmittelbar nach der Verbindung, LCP-Anforderungen zu
+ senden und B benötigt sieben
+ Sekunden, zu starten. Wenn B startet,
+ hat A bereits drei LCP-Anforderungen
+ gesendet. Wir nehmen an, daß ECHO ausgeschaltet
+ ist; andernfalls würden wir Probleme mit der "Magic
+ Number" beobachten, wie bereits im vorherigen Abschnitt
+ beschrieben. B sendet eine Anforderung
+ und anschließend eine Bestätigung der ersten
+ Anforderung von A. Dies führt dazu,
+ daß A in den Zustand
+ OPENED übergeht und eine
+ Bestätigung (die erste) zurück an
+ B sendet. In der Zwischenzeit sendet
+ B zwei weitere Bestätigungen als
+ Antwort auf die zusätzlichen Anforderungen, die von
+ A gesendet worden sind, bevor
+ B gestartet ist. B
+ empfängt dann die erste Bestätigung von
+ A und geht in den Zustand
+ OPENED über. A
+ empfängt die zweite Bestätigung von
+ B, geht zurück in den Zustand
+ Anforderung Gesendet und sendet eine
+ weitere (vierte) Anforderung entsprechend dem RFC.
+ A empfängt dann die dritte
+ Bestätigung und geht in den Zustand
+ OPENED über. In der Zwischenzeit
+ empfängt B die vierte Anforderung
+ von A, wechselt in den Zustand
+ ACK-SENT und sendet eine weitere
+ (zweite) Anforderung und (vierte) Bestätigung
+ entsprechend dem RFC. A erhält die
+ Anforderung, geht in den Zustand
+ REQ-SENT über, sendet eine weitere
+ Anforderung, erhält unverzüglich die
+ nächste Bestätigung und geht in
+ OPENED über.
+
+ Das geht so weiter, bis eine Seite erkennt, daß
+ man zu keinem Ergebnis gelangt und aufgibt.
+
+ Am besten verhindert man solche Situationen, indem man
+ eine Seite als passiv konfiguriert,
+ d.h. dafür sorgt, daß eine Seite darauf wartet,
+ daß die andere mit den Verhandlungen beginnt. Das
+ kann durch den Befehl
+
+
+set openmode passive
+
+
+ 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 ppp zu
+ begrenzen:
+
+
+set stopped N
+
+
+ Alternativ kann der Befehl
+
+
+set openmode active N
+
+
+ (wobei N die Wartezeit in
+ Sekunden vor Beginn der Verhandlungen angibt) benutzt
+ werden. Weitere Details finden Sie in den
+ Manualpages
+
+
+
+
+
+ ppp schließt kurz nach Aufbau der
+ Verbindung.
+
+
+
+ Bei FreeBSD-Versionen vor 2.2.5 konnte es passieren,
+ daß Ihre Verbindung kurz nach dem Aufbau deaktiviert
+ wurde, weil ppp die
+ Verhandlungen der Kompression Predictor1 falsch handhabte.
+ Das passiert nur dann, wenn beide Seiten versuchen, ein
+ unterschiedliches Kompressionsprotokoll (Compression
+ Control Protocol (CCP)) auszuhandeln. Dieses Problem ist
+ bereits behoben, falls Sie aber noch eine alte Version von
+ ppp verwenden, können Sie
+ es mit Hilfe der folgenden Zeile umgehen:
+
+
+disable pred1
+
+
+
+
+
+
+ ppp reagiert nicht, wenn ich shell benutze, um es zu
+ testen.
+
+
+
+ Wenn Sie den Befehl shell oder
+ ! benutzen, führt
+ ppp eine Shell aus (falls Sie Argumente
+ übergeben haben, führt ppp
+ diese Argumente aus). ppp wartet auf die Beendigung des
+ Befehls, bevor es seine Arbeit fortsetzt. Falls Sie
+ versuchen, die ppp-Verbindung während der
+ Programmausführung zu benutzen, wird es so aussehen,
+ als wäre die Verbindung eingefroren. Das liegt
+ daran, daß ppp auf die Beendigung
+ des Befehls wartet.
+
+ Falls Sie solche Befehle verwenden möchten,
+ benutzen Sie stattdessen den Befehl
+ !bg. Hierdurch wird der angegebene
+ Befehl im Hintergrund ausgeführt und ppp kann
+ fortfahren, die Verbindung zu bedienen.
+
+
+
+
+
+ ppp über ein Null-Modem-Kabel wird niemals
+ beendet.
+
+
+
+ Es gibt keine Möglichkeit für
+ ppp, automatisch festzustellen,
+ ob eine direkte Verbindung beendet worden ist. Das liegt
+ an den Leitungen, die bei einem seriellen Null-Modem-Kabel
+ benutzt werden. Wenn Sie diese Art der Verbindung
+ verwenden, sollte LQR immer aktiviert werden:
+
+
+enable lqr
+
+
+ LQR wird standardmäßig akzeptiert, wenn es
+ vom Partner ausgehandelt wird.
+
+
+
+
+
+ Warum wählt ppp im Modus -auto ohne
+ Grund?
+
+
+
+ Falls ppp unerwarteterweise
+ wählt, müssen Sie den Grund herausfinden und
+ Wählfilter (dfilters) einsetzen, um dies zu
+ verhindern.
+
+ Benutzen Sie die folgende Zeile, um den Grund
+ herauszufinden:
+
+
+set log +tcp/ip
+
+
+ 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.
+
+ Sie können nun das Wählen aufgrund dieser
+ Bedingungen verhindern. Normalerweise wird diese Art von
+ Problemen durch Anfragen an den DNS verursacht. Um zu
+ verhindern, daß DNS-Anfragen den Aufbau der
+ Verbindung hervorrufen (das verhindert
+ nicht, daß Pakete über
+ eine bestehende Verbindung gesendet werden), benutzen Sie
+ die folgenden Zeilen:
+
+
+set dfilter 1 deny udp src eq 53
+set dfilter 2 deny udp dst eq 53
+set dfilter 3 permit 0/0 0/0
+
+
+ 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.
+
+ Im Fall von DNS sollten Sie versuchen, herauszufinden,
+ welches Programm tatsächlich versucht, einen
+ Hostnamen aufzulösen. Sehr oft handelt es sich hier
+ um sendmail. Sie sollten
+ sicherstellen, daß Sie sendmail in der
+ Konfigurationsdatei sagen, daß keine DNS-Anfragen
+ durchführen soll. Lesen Sie den Abschnitt zur Mail-Konfiguration, um Details
+ zur Erstellung Ihrer eigenen Konfigurationsdatei und
+ darüber, was dort angegeben werden sollte, zu
+ erfahren. Sie könnten z.B. die folgende Zeile in
+ Ihre .mc-Datei einfügen:
+
+
+define(`confDELIVERY_MODE', `d')dnl
+
+
+ Das veranlaßt sendmail dazu, alles in eine
+ Warteschlange einzureihen, bis die Warteschlange
+ verarbeitet wird (normalerweise wird sendmail mit
+ aufgerufen, was besagt,
+ daß die Warteschlange alle 30 Minuten abgearbeitet
+ wird) oder, bis ein sendmail -q
+ ausgeführt wird (z.B. aus Ihrer Datei ppp.linkup
+ heraus).
+
+
+
+
+
+ Was bedeuten diese CCP-Fehler?
+
+
+
+ Ich sehe ständig folgende Fehler in meiner
+ Logdatei:
+
+
+CCP: CcpSendConfigReq
+CCP: Received Terminate Ack (1) state = Req-Sent (6)
+
+
+ Das liegt daran, daß ppp versucht, die
+ Komprimierung Predictor1 auszuhandeln und der Partner
+ über keinerlei Komprimierung verhandeln will. Die
+ Meldungen sind harmlos, aber wenn Sie sie beseitigen
+ möchten, können Sie die Komprimierung Predictor1
+ auch lokal ausschalten:
+
+
+disable pred1
+
+
+
+
+
+
+ ppp blockt während einer Dateiübertragung
+ mit IO-Fehlern.
+
+
+
+ Unter FreeBSD 2.2.2 und frühere gab es einen Bug
+ im Tun-Treiber, der ankommende Pakete die
+ größer als die MTU der Tun-Schnittstelle sind,
+ ablehnt. Der Empfang eines Paketes größer der
+ MTU resultiert in einem IO-Fehler, der über syslogd
+ geloggt wird.
+
+ Die ppp-Spezifikation besagt, daß eine MTU von
+ 1500 immer als Minimum akzeptiert
+ werden sollte, ungeachtet aller LCP-Verhandlungen. Es ist
+ deshalb möglich, daß Sie die MTU auf unter 1500
+ herabsetzen, Ihr ISP wird trotzdem Pakete der
+ Größe 1500 übertragen und Sie werden auf
+ diese Fehlfunktion stoßen, die Ihre Verbindung
+ lahmlegt.
+
+ Das Problem kann umgangen werden, indem unter FreeBSD
+ 2.2.2 und früher niemals eine MTU von weniger als
+ 1500 gesetzt wird.
+
+
+
+
+
+ Warum loggt ppp die Geschwindigkeit meiner Verbindung
+ nicht?
+
+
+
+ Um alle Zeilen Ihrer Modemkonversation
+ mitzuloggen, müssen Sie folgendes einstellen:
+
+
+set log +connect
+
+
+ Dies veranlaßt ppp
+ dazu, alles bis zur letzten angeforderten
+ expext-Zeile mitzuloggen.
+
+ Falls Sie die Geschwindigkeit Ihrer Verbindung
+ erfahren möchten und PAP oder CHAP (und deshalb nach
+ dem CONNECT im Wählskript nichts mehr zu
+ chatten haben - kein set
+ login-Skript), müssen Sie sicherstellen,
+ daß Sie ppp anweisen, die gesamte CONNECT-Zeile zu
+ erwarten, etwa so:
+
+
+set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
+
+
+ Hier bekommen wir unser CONNECT, senden nichts,
+ erwarten dann einen Line-Feed, der
+ ppp zwingt, die gesamte
+ CONNECT-Antwort zu lesen.
+
+
+
+
+
+ ppp ignoriert das Zeichen \ in
+ meinem Chat-Skript.
+
+
+
+ ppp analysiert jede Zeile in Ihrer
+ Konfigurationsdatei, damit es Zeichenketten wie z.B.
+ set phone "123 456 789" korrekt
+ interpretieren kann (und erkennen, daß es sich bei
+ der Nummer tatsächlich nur um
+ ein Argument handelt). Um das
+ Zeichen " anzugeben, müssen Sie
+ ihm einen Backslash (\)
+ voranstellen.
+
+ Wenn der Chat-Interpreter jedes Argument analysiert,
+ reinterpretiert er die Argumente, um irgendwelche
+ speziellen Escape-Sequenzen wie z.B. \P
+ oder \T (sehen Sie in die Manualpage)
+ zu finden. Das Ergebnis dieser Doppelanalyse ist,
+ daß Sie daran denken müssen, die richtige
+ Anzahl an Escape-Zeichen zu verwenden.
+
+ Falls Sie tatsächlich das Zeichen
+ \ z.B. zu Ihrem Modem senden
+ möchten, brauchen Sie etwas ähnliches,
+ wie:
+
+
+set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
+
+
+ woraus sich folgende Zeichen ergeben:
+
+
+ATZ
+OK
+AT\X
+OK
+
+
+ oder
+
+
+set phone 1234567
+set dial "\"\" ATZ OK ATDT\\T"
+
+
+ was folgende Zeichen ergibt:
+
+
+ATZ
+OK
+ATDT1234567
+
+
+
+
+
+
+ ppp erzeugt einen Segmentation Fault, aber ich finde
+ die Datei ppp.core nicht.
+
+
+
+ Weder ppp noch andere Programme sollten Core-Dumps
+ erzeugen. Da ppp mit der effektiven Benutzerkennung 0
+ ausgeführt wird, wird das Betriebssystem ppp's
+ Coreimage nicht auf die Festplatte schreiben, bevor es ppp
+ beendet hat. Falls ppp jedoch tatsächlich aufgrund
+ einer Speicherverletzung abbricht und
+ Sie die aktuellste Version (siehe Anfang dieses Kapitels)
+ benutzen, dann sollten Sie folgendes tun:
+
+
+&prompt.user; tar xfz ppp-*.src.tar.gz
+&prompt.user; cd ppp*/ppp
+&prompt.user; echo STRIP= >>Makefile
+&prompt.user; echo CFLAGS+=-g >>Makefile
+&prompt.user; make clean all
+&prompt.user; su
+&prompt.root; make install
+&prompt.root; chmod 555 /usr/sbin/ppp
+
+
+ Nun ist die installierte Version von ppp mit einem
+ Debugger ausführbar. Sie können ppp nun nur
+ noch als root ausführen, da alle
+ vorherigen Zugriffsrechte aufgehoben worden sind. Achten
+ Sie darauf, in welchem Verzeichnis Sie sich gerade
+ befinden, wenn Sie ppp starten.
+
+ Wenn nun wieder eine Speicherverletzung auftreten
+ sollte, wird ppp einen Speicherauszug erzeugen, den Sie in
+ der Datei ppp.core finden. Sie
+ sollten dann folgendes tun:
+
+
+&prompt.user; su
+&prompt.root; gdb /usr/sbin/ppp ppp.core
+(gdb)bt
+.....
+(gdb)f 0
+....
+(gdb)i args
+....
+(gdb)l
+.....
+
+
+ Mit Hilfe all dieser Informationen sollte es
+ möglich sein, das Problem zu diagnostizieren.
+
+ 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.
+
+
+
+
+
+ Ein Prozeß, der einen automatischen
+ Einwählmodus erzwingt, bekommt keine
+ Verbindung
+
+
+
+ Dies war ein bekanntes Problem bei
+ ppp-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
+ iface.
+
+ Das Problem bestand darin, daß, wenn das erste
+ Programm &man.connect.2; aufruft, die IP-Adresse der
+ tun-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
+ Kernel erstellt das erste ausgehende Paket und schreibt es
+ in das tun-Gerät. ppp
+ liest dann das Paket und baut eine Verbindung auf. Falls
+ die Schnittstellenadresse sich nun aufgrund
+ ppp's dynamischer
+ Adreßzuordnung ändert, wird der originale
+ Socketendpunkt ungültig. Alle weiteren Pakete, die
+ zum Partner gesendet werden, werden für
+ gewöhnlich verworfen. Selbst wenn sie nicht
+ verworfen werden würden, würden alle Antworten
+ nicht an den betreffenden Rechner gelangen, weil die
+ IP-Adresse nicht mehr zu diesem Rechner
+ gehört.
+
+ Theoretisch gibt es mehrere Möglichkeiten, dieses
+ Problem anzugehen. Am schönsten wäre es, wenn
+ der Partner die gleiche IP-Adresse wieder zuordnen
+ würde, wenn möglich :-) Die
+ derzeitige Version von ppp tut
+ das, aber die meisten anderen Implementierungen
+ nicht.
+
+ Die einfachste Maßnahme von unserer Seite
+ wäre die, niemals die IP-Adresse der
+ tun-Schnittstelle zu ändern, sondern stattdessen alle
+ ausgehenden Pakete so zu ändern, daß als
+ Absender-IP-Adresse anstelle der IP-Adresse der
+ Schnittstelle die ausgehandelte IP-Adresse gesetzt wird.
+ Das ist im wesentlichen das, was durch die Option
+ iface-alias in der aktuellsten Version
+ von ppp bewirkt wird (mit
+ Unterstützung von &man.libalias.3; und ppp's
+ Schalter) - alle
+ Schnittstellenadressen werden beibehalten und auf die
+ letzte ausgehandelte Adresse umgesetzt.
+
+ 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.
+ ppp 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.
+
+ Noch eine andere Möglichkeit wäre die, das
+ Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben.
+ Ausgehende Paketen würde die IP-Adressee
+ 255.255.255.255 gegeben, bis der erste ioctl() mit
+ SIOCAIFADDR erfolgt. Dies würde in der
+ vollständigen Verbindung des Sockets resultieren. Es
+ wäre die Aufgabe von ppp,
+ die Absender-IP-Adresse zu ändern, allerdings nur
+ dann, wenn sie 255.255.255.255 lautet und nur die
+ IP-Adresse und IP-Prüfsumme müßten
+ geändert werden. Dies wäre allerdings keine
+ besonders elegante Lösung, da der Kernel fehlerhafte
+ Pakete an eine unzureichend konfigurierte Schnittstelle
+ senden würde, in der Annahme, daß andere
+ Mechanismen in der Lage sind, diese Dinge rückwirkend
+ zu beheben.
+
+
+
+
+
+ Warum laufen die meisten Spiele mit dem -nat Schalter
+ nicht?
+
+
+
+ Der Grund dafür, daß Spiele und andere
+ Programme nicht funktionieren, wenn libalias benutzt wird,
+ ist der, daß der Rechner außerhalb des lokalen
+ Netzes versucht, eine Verbindung aufzubauen und
+ (unaufgefordert) UDP-Pakete an den Rechner innerhalb des
+ lokalen Netzes zu senden. Die Software, die für die
+ NAT zuständig ist, weiß nicht, daß sie
+ diese Pakete an den internen Rechner weiterleiten
+ soll.
+
+ Um dies zu beheben, stellen Sie zunächst sicher,
+ daß die Software, mit der Sie Probleme haben, die
+ einzige ist, die gerade läuft. Benutzen Sie dann
+ entweder tcpdump auf der tun-Schnittstelle des Gateways
+ oder aktivieren Sie auf dem Gateway das Logging von TCP/IP
+ (set log +tcp/ip) unter ppp.
+
+ 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 /etc/ppp/ppp.conf
+ dafür sorgen, daß das Programm
+ funktioniert:
+
+
+nat port protointernalmachine:portport
+
+
+ wobei für proto
+ entweder tcp oder
+ udp zu setzen ist,
+ internalmachine den Rechner
+ bezeichnet, an den die Pakete geschickt werden sollen und
+ port die betreffende
+ Portnummer.
+
+ 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.
+
+ Falls die Portnummern nicht konsistent sind, gibt es
+ drei weitere Optionen:
+
+
+
+ Ermöglichen Sie die Unterstützung durch
+ libalias. Beispiele für spezielle
+ Fälle finden Sie in
+ /usr/src/lib/libalias/alias_*.c
+ (alias_ftp.c ist ein schöner
+ Prototyp). Hierzu gehört für
+ gewöhnlich das Lesen bestimmter, erkannter,
+ ausgehender Pakete, die Identifizierung der
+ Instruktion, die den entfernten Rechner dazu
+ veranlaßt, auf einem bestimmten (wahlfreien)
+ Port eine Verbindung zurück zum lokalen Rechner
+ herzustellen, sowie das Erstellen einer
+ Route in der Aliastabelle, so daß
+ nachfolgende Pakete wissen, wohin sie
+ gehören.
+
+ Dieses ist zwar die komplizierteste Lösung,
+ aber die beste, die auch dafür sorgt, daß
+ die Software auf mehreren Rechnern
+ funktioniert.
+
+
+
+ Benutzen Sie einen Proxy. Die Applikation
+ könnte z.B. socks5 unterstützen, oder (wie
+ im Fall von cvsup) eine Option
+ passiv besitzen, die stets verhindert,
+ daß verlangt wird, daß der Partner eine
+ Verbindung zurück zur lokalen Maschine
+ aufbaut.
+
+
+
+ Leiten Sie mit nat addr alles
+ zur lokalen Maschine um. Dieses Vorgehen ähnelt
+ dem mit einem Vorschlaghammer.
+
+
+
+
+
+
+
+ Hat jemand eine Liste mit nützlichen Portnummern
+ erstellt?
+
+
+
+ Noch nicht, aber hieraus könnte eine solche
+ entstehen (falls Interesse besteht). In jedem Beispiel
+ sollte internal durch die
+ IP-Adresse der Maschine ersetzt werden, auf der das Spiel
+ laufen soll.
+
+
+
+ Asheron's Call
+
+ nat port udp
+ internal:65000
+ 65000
+
+ 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 nat port Zeile
+ ein.
+
+
+
+ Half Life
+
+ nat port udp
+ internal:27005
+ 27015
+
+
+
+ PCAnywhere 8.0
+
+ nat port udp
+ internal:5632
+ 5632
+
+ nat port tcp
+ internal:5631
+ 5631
+
+
+
+ Quake
+
+ nat port udp
+ internal:6112
+ 6112
+
+ Alternativ können sie wegen
+ Proxyunterstützung für Quake unter www.battle.net
+ nachsehen.
+
+
+
+ Quake 2
+
+ nat port udp
+ internal:27901
+ 27910
+
+
+
+ Red Alert
+
+ nat port udp
+ internal:8675
+ 8675
+
+ nat port udp
+ internal:5009
+ 5009
+
+
+
+
+
+
+
+ Was sind FCS-Fehler?
+
+
+
+ FCS steht für Frame
+ Check Sequence.
+ Jedes ppp-Paket besitzt eine Checksumme, um
+ sicherzustellen, daß die empfangenen Daten dieselben
+ sind, wie die versendeten. Falls die FCS eines
+ ankommenden Paketes fehlerhaft ist, wird das Paket
+ verworfen und der Zähler HDLC FCS wird erhöht.
+ Der HDLC-Fehlerwert kann durch den Befehl show
+ hdlc angezeigt werden.
+
+ Falls Ihre Leitung schlecht ist (oder falls Ihr
+ serieller Treiber Pakete verwirft), werden sie
+ gelegentliche FCS-Fehler sehen. Normalerweise lohnt es
+ sich nicht, sich hierüber Gedanken zu machen, obwohl
+ das Kompressionsprotokoll hierdurch wesentlich langsamer
+ wird. Wenn Sie ein externes Modem besitzen, stellen Sie
+ sicher, daß Ihr Kabel ausreichend gegen
+ Interferenzen abgeschirmt ist - das könnte das
+ Problem beseitigen.
+
+ Falls Ihre Leitung einfriert, sobald die Verbindung
+ steht, und viele FCS-Fehler auftreten, könnte das
+ daran liegen, daß Ihre Leitung nicht 8-Bit-rein ist.
+ Stellen Sie sicher, daß Ihr Modem keinen
+ Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
+ Datenschnittstelle Software-Flow-Control verwenden
+ muß, benutzen Sie den Befehl
+ set accmap 0x000a0000, um
+ ppp zu sagen, daß es die Zeichen
+ ^Q und ^S maskieren
+ soll.
+
+ Ein weiterer Grund dafür, daß zu viele
+ FCS-Fehler auftreten, könnte der sein, daß das
+ andere Ende aufgehört hat, ppp zu
+ sprechen. Aktivieren Sie async
+ 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
+ close lcp ppp zu beenden, ohne die
+ Verbindung zu beenden (ein folgender
+ term-Befehl wird Sie wieder mit der Shell auf
+ dem entfernten Rechner verbinden.
+
+ 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.
+
+
+
+
+
+ Wieso hängen die Verbindungen meiner MacOS- und
+ Windows98(tm)-Maschinen, wenn auf meinem Gateway PPPoE
+ läuft?
+
+
+
+ Vielen Dank an Michael Wozniak
+ mwozniak@netcom.ca für die
+ Erklärung und an Dan Flemming
+ danflemming@mac.com für die
+ Lösung für MacOS
+
+ Die Ursache des Problems ist ein sogenannter
+ Black Hole Router. 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) und
+ bei denen das don't fragment Bit gesetzt
+ ist (das ist bei TCP allerdings Standard). Außerdem
+ sendet der Router beim Provider nicht die eigentlich
+ notwendigen must fragment-Meldungen zu dem
+ Webserver, von dem Sie gerade eine Seite laden wollen. Es
+ ist auch möglich, daß diese Meldung zwar
+ erzeugt, aber danach von einem Firewall vor dem Webserver
+ abgefangen wird. Wenn Ihnen dieser Webserver nun ein
+ Paket schickt, das nicht in einen PPPoE-Rahmen paßt,
+ dann verwirft der Router dieses Paket und die Seite wird
+ nicht geladen (einige Seiten/Grafiken werden geladen, weil
+ ihre Größe kleiner ist als die MSS). Dies
+ scheint leider der Normalfall zu sein (wenn die Leute doch
+ nur wüßten, wie man einen Router
+ konfiguriert... stöhn...)
+
+ Eine der möglichen Lösungen für dieses
+ Problem ist die Erzeugung des folgenden Schlüssels in
+ der Registry des Windows-Clients:
+
+
+HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
+
+
+ Der Wert des Schlüssels sollte vom Typ String
+ sein und 1450 betragen. Der korrekte Wert
+ wäre eigentlich 1464, wenn die
+ TCP-Pakete den PPPoE-Rahmen komplett ausfüllen
+ sollen, aber mit 1450 erhalten Sie eine
+ Sicherheitsreserve für andere evtl. genutzte
+ IP-Protokolle. Wenn Sie Windows 2000 verwenden,
+ müssen Sie dagegen den Schlüssel
+ Tcpip\Parameters\Interfaces\ID der
+ Netzwerkkarte\MTU
+ benutzen.
+
+ Die Knowledge Base von
+ Microsoft enthält weitere Informationen
+ darüber, wie sie die MTU einer Windows-Maschine
+ ändern, damit diese mit einem
+ FreeBSD/NAT/PPPoE-Router korrekt zusammenarbeitet. Vom
+ besonderen Interesse sind die Artikel Q158474 -
+ Windows TCPIP Registry Entries und Q120642
+ - TCPIP & NBT Configuration Parameters for Windows
+ NT.
+
+ 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 Sustainable
+ Softworks, 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 ip_interface_MTU
+ auswählen und in der Dialogbox
+ 1450 statt 1500
+ eingeben. Aktivieren Sie den Punkt Save as Auto
+ Configure und klicken Sie danach auf
+ Make Active.
+
+ ppp kennt seit Version 2.3
+ den Befehl enable tcpmssfixup, mit dem
+ die MSS automatisch korrigiert wird. Wenn Sie einen
+ ältere Version von ppp
+ benutzen müssen, könnte der Port
+ tcpmssd für Sie
+ interessant sein.
+
+
+
+
+
+ Nichts von alledem hilft - ich bin
+ verzweifelt!
+
+
+
+ Falls alles andere fehlschlägt, senden Sie
+ möglichst umfangreiche Informationen,
+ einschließlich Ihrer Konfigurationsdateien, wie Sie
+ ppp starten, die relevanten
+ Teile Ihrer Logdateien und die Ausgabe des Befehls
+ netstat -rn (vor und nach Aufbau der
+ Verbindung) an die Mailingliste
+ de-bsd-questions@de.FreeBSD.org oder die
+ Newsgroup de.comp.os.unix.bsd.
+ Irgend jemand sollte Ihnen dann weiterhelfen.
+
+
+
+
+
+
+
+
+ Serielle Verbindungen
+
+ Dieses Kapitel beantwortet häufig gestellte Fragen zu
+ seriellen Verbindungen mit FreeBSD. PPP und SLIP werden in
+ behandelt.
+
+
+
+
+ Wie kann ich feststellen, ob FreeBSD meine seriellen
+ Schnittstellen gefunden hat?
+
+
+
+ Wenn der FreeBSD Kernel bootet, testet er die
+ seriellen Schnittstellen, für die er konfiguriert
+ wurde. Sie können entweder Ihrem System aufmerksam
+ beim booten zusehen und nach den Nachrichten Ausschau
+ halten, oder Sie führen den Befehl
+
+
+&prompt.user; dmesg | grep sio
+
+
+ aus, nachdem Ihr System hochgefahren ist und
+ läuft.
+
+ Hier ist ein Beispiel einer Ausgabe nach dem oben
+ genannten Befehl:
+
+
+si0: at 0x3f8-0x3ff irq 4 on isa
+si0: type 16550A
+si1: at 0x2f8-0x2ff irq 3 on isa
+si1: type 16550A
+
+
+ Es zeigt zwei serielle Schnittstellen. Die erste
+ liegt auf Port-Adresse 0x3f8, nutzt IRQ
+ 4, und hat einen 16550A UART Chip. Die zweite benutzt
+ ebenfalls einen 16550A, liegt aber auf Port-Adresse
+ 0x2f8 und nutzt IRQ 3. Modemkarten
+ werden wie serielle Schnittstellen behandelt. Der einzige
+ Unterschied ist, daß an diesen Schnittstellen immer
+ ein Modem angeschlossen ist.
+
+ Der GENERIC Kernel beinhaltet
+ Unterstützung für zwei serielle Schnittstellen,
+ die den im Beispiel genannten Port und IRQ nutzen. Wenn
+ diese Einstellungen nicht richtig für Ihr System
+ sind, Sie Modemkarten hinzugefügt haben oder mehr
+ serielle Schnittstellen haben als Ihre
+ Kernel-Konfiguration zuläßt, konfigurieren Sie
+ Ihren Kernel einfach neu. In der Sektion wie man einen Kernel erstellt
+ finden Sie mehr Details.
+
+
+
+
+
+ Wie kann ich feststellen, ob FreeBSD meine Modemkarten
+ gefunden hat?
+
+
+
+ Die vorherige Frage sollte darauf eine Antwort
+ geben.
+
+
+
+
+
+ Ich habe gerade auf 2.0.5 geupdatet und meine
+ tty0X fehlen!
+
+
+
+ Keine Sorge, die wurden mit den
+ ttydX Geräten
+ zusammengeführt. Sie müssen allerdings die
+ alten Konfigurationsdateien ändern.
+
+
+
+
+
+ Wie kann ich auf die seriellen Schnittstellen in
+ FreeBSD zugreifen?
+
+
+
+ Die dritte serielle Schnittstelle,
+ sio2 (in DOS/Windows: COM3),
+ verwendet /dev/cuaa2 für
+ dial-out Geräte und /dev/ttyd2
+ für dial-in Geräte. Was ist der Unterschied
+ zwischen den beiden Geräteklassen?
+
+ Sie benutzen ttydX für
+ dial-ins. Wenn man /dev/ttydX im
+ blockierenden Modus öffnet, wartet ein Prozeß
+ darauf, daß das entsprechende
+ cuaaX Gerät inaktiv und
+ Carrier Detect aktiv wird. Wenn Sie das
+ cuaaX Gerät öffnen,
+ vergewissert es sich, daß die serielle Schnittstelle
+ nicht bereits von dem ttydX
+ Gerät benutzt wird. Wenn die Schnittstelle
+ verfügbar ist, stiehlt es sie von dem
+ ttydX Gerät. Das
+ cuaaX Gerät kümmert sich
+ nicht um Trägersignalerkennung. Mit diesem Schema
+ und einem automatisch antwortenden Modem, können sich
+ Benutzer von außen einloggen, weiterhin mit dem
+ selben Modem wählen und das System kümmert sich
+ um die Konflikte.
+
+
+
+
+
+ Wie kann ich die Unterstützung für eine
+ Karte mit mehreren seriellen Schnittstellen
+ aktivieren?
+
+
+
+ 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
+ sio Zeile für jede serielle
+ Schnittstelle auf der Karte in die
+ Kernel-Konfigurationsdatei. Aber achten Sie darauf, den
+ IRQ und die Verktorbezeichnung nur in einem der
+ Einträge zu plazieren. Alle seriellen Schnittstellen
+ auf der Karte sollten sich einen IRQ teilen. Daher
+ sollten Sie den IRQ nur beim letzten Eintrag angeben.
+ Aktivieren Sie auch die COM_MULTIPORT
+ Option.
+
+ Das folgende Beispiel ist für eine AST Karte mit
+ 4 seriellen Schnittstellen, die IRQ 7 benutzt,
+ geeignet:
+
+
+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
+
+
+ Die Flags zeigen an, daß die
+ Master-Schnittstelle die Minor-Nummer 7
+ (0x700) hat, Diagnosen während des
+ Bootens ermöglicht sind (0x080),
+ und daß sich alle Schnittstellen einen IRQ teilen
+ (0x001).
+
+
+
+
+
+ Kann FreeBSD mehrere Karten mit mehreren seriellen
+ Schnittstellen mit den gleichen IRQs verwalten?
+
+
+
+ Noch nicht. Sie müssen für jede Karte einen
+ anderen IRQ verwenden.
+
+
+
+
+
+ Kann ich die vorgegebenen seriellen Parameter für
+ eine Schnittstelle einstellen?
+
+
+
+ Das ttydX (oder
+ cuaaX) Gerät ist das
+ reguläre Gerät, das man in Anwendungen
+ öffnet. Wenn ein Prozeß es öffnet, hat es
+ die voreingestellten Terminal
+ Eingabe/Ausgabe-Einstellungen. Sie können diese
+ Einstellungen mit dem folgenden Befehl ansehen
+
+
+&prompt.root; stty -a -f /dev/ttyd1
+
+
+ Wenn Sie die Einstellungen für dieses Gerät
+ ändern, sind die Einstellungen gültig, bis das
+ Gerät geschlossen wird. Wird es danach
+ geöffnet, hat es wieder die vorgegebenen
+ Einstellungen. Um Änderungen an den voreingestellten
+ Einstellungen vorzunehmen, können Sie die
+ Einstellungen des inital state Geräts
+ öffnen und anpassen. Beispiel: um den
+ CLOCAL Modus, 8 Bits und
+ XON/XOFF Datenflußkontrolle als
+ Standard für ttyd5 einzustellen:
+
+
+&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff
+
+
+ Eine gute Stelle um dies zu tun ist in
+ /etc/rc.serial. Jetzt hat eine
+ Anwendung diese Einstellungen als Standardwerte, wenn sie
+ ttyd5 öffnet. Die Anwendung
+ kann die Einstellungen jedoch immer noch nach Belieben
+ verändern.
+
+ Man aber kann auch bestimme Einstellungen davor
+ schützen, von einer Anwendung verändert zu
+ werden, indem man Veränderungen am lock
+ state Gerät vornimmt. Um zum Beispiel die
+ Geschwindigkeit von ttyd5 auf 57600
+ festzusetzen:
+
+
+&prompt.root; stty -f /dev/ttyld5 57600
+
+
+ Wenn jetzt eine Anwendung ttyd5
+ öffnet, und versucht die Geschwindigkeit zu
+ verändern, wird sie den Wert nicht verändern
+ können und es bleibt bei 57600 bps.
+
+ Natürlich sollten Sie das Schreiben auf die
+ initial state und lock state Geräte nur
+ root erlauben. Das MAKEDEV Skript
+ tut dies nicht, wenn es die
+ Geräte-Einträge erstellt.
+
+
+
+
+
+ Wie kann ich Einwahl-Logins über mein Modem
+ aktivieren?
+
+
+
+ Also Sie wollen ein Internet Service Provider werden,
+ ja? Als erstes brauchen Sie eines oder mehrere Modems,
+ die automatisches Antworten beherrschen. Ihr Modem sollte
+ auf Trägererkennung reagieren und nicht fortlaufend
+ die Leitung offen halten. Es muß auflegen und sich
+ neu initialisieren können, wenn die Data
+ Terminal Ready (DTR) Leitung
+ ausgeschaltet wird. Es sollte vielleicht
+ RTS/CTS oder gar keine lokale
+ Datenflußkontrolle benutzen. Zuletzt muß es
+ eine konstante Geschwindigkeit zwischen dem Computer und
+ sich selbst verwenden, aber es sollte (um die Anrufer
+ freundlich zu behandeln) eine Geschwindigkeit zwischen
+ sich selbst und dem entfernten Modem aushandeln
+ können.
+
+ Bei den meisten Hayes-kompatiblen Modems erzeugt der
+ folgende Befehl diese Einstellungen und legt sie im
+ nicht-flüchtigen Speicher ab.
+
+
+AT &C1 &D3 &K3 &Q6 S0=1 &W
+
+
+ Die Sektion wie man AT
+ Befehle sendet bietet weitere Informationen, wie
+ man diese Einstellungen vornimmt, ohne zu einem MS-DOS
+ Terminal Programm zu flüchten.
+
+ Als nächstes erstellen Sie einen Eintrag in
+ /etc/ttys für das Modem. Diese
+ Datei listet alle Schnittstellen auf, auf denen das
+ Betriebssystem logins erwartet. Fügen Sie eine
+ solche Zeile hinzu:
+
+
+ttyd1 "/usr/libexec/getty std 57600" dialup on insecure
+
+
+ Diese Zeile bedeutet, daß an der zweiten
+ seriellen Schnittstelle (/dev/ttyd1)
+ ein Modem angeschlossen ist, das mit 57600 bps läuft
+ und keine Parität besitzt
+ (std.57600, aus
+ /etc/gettytab). Der Terminal-Typ
+ für diese Schnittstelle ist Einwahl
+ (dialup). Die Schnittstelle ist
+ eingeschaltet (on) und unsicher
+ (unsecure) -- das bedeutet, man kann
+ sich über diese Schnittstelle nicht als
+ root einloggen. Für
+ Einwahlanschlüsse wie diesen, benutzen Sie den
+ ttydX Eintrag.
+
+ Es ist relativ geläufig,
+ dialup als Terminal-Typ zu verwenden.
+ Viele Benutzer richten in ihren
+ .profile oder
+ .login Dateien eine Abfrage für
+ das eigentliche Terminal ein, wenn der Start-Typ
+ dialup ist. Das Beispiel zeigt die
+ Schnittstelle als unsicher und um über diese
+ Schnittstelle root zu werden,
+ müssen Sie sich als normaler Benutzer einloggen und
+ su benutzen. Wenn sie sicher
+ (secure) als Einstellung verwenden,
+ kann sich root direkt
+ einloggen.
+
+ Nachdem Sie Modifikationen in
+ /etc/ttys vorgenommen haben,
+ müssen Sie ein hangup oder
+ HUP Signal an init
+ senden:
+
+
+&prompt.root; kill -HUP 1
+
+
+ Das bringt init dazu, die Datei
+ /etc/ttys neu einzulesen.
+ init startet dann an allen
+ eingeschalteten (on) Schnittstellen die
+ getty-Prozesse. Sie können herausfinden ob noch
+ logins für Ihre Schnittstelle verfügbar sind,
+ wenn Sie folgendes eingeben:
+
+
+&prompt.user; ps -ax | grep '[t]tyd1'
+
+
+ Sie sollten etwas sehen, das so ähnlich aussieht,
+ wie:
+
+
+747 ?? I 0:00:04 /usr/libexec/getty std.57600 ttyd1
+
+
+
+
+
+
+ Wie kann ich ein Hardware-Terminal mit meiner FreeBSD
+ Box verbinden?
+
+
+
+ Wenn Sie einen anderen Computer als Terminal für
+ Ihr FreeBSD System verwenden wollen, verbinden Sie die
+ beiden seriellen Schnittstellen mit einem Nullmodem-Kabel.
+ Wenn Sie ein "echtes" (Hardware-)Terminal benutzen, lesen
+ Sie die Begleitinformationen.
+
+ Ändern Sie /etc/ttys 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:
+
+
+ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
+
+
+ Das Beispiel zeigt, daß die Schnittstelle an
+ /dev/ttyd4 mit einem wyse50 Terminal
+ mit 38400 bps und ohne Parität
+ (std.38400 aus
+ /etc/gettytab) verbunden ist und
+ root logins möglich sind
+ (secure).
+
+
+
+
+
+ Warum kann ich tip oder
+ cu nicht laufen lassen?
+
+
+
+ Vielleicht sind auf Ihrem System die Programme
+ tip und cu nur von
+ uucp und der Gruppe
+ dialer ausführbar. Sie
+ können die Gruppe dialer
+ verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem
+ oder entfernte Systeme hat. Fügen Sie Sich einfach
+ selbst zur Gruppe dialer hinzu.
+
+ Als Alternative können Sie jeden Benutzer auf
+ Ihrem System tip und
+ cu verwenden lassen, dazu müssen
+ Sie das folgende eingeben:
+
+
+&prompt.root; chmod 4511 /usr/bin/cu
+&prompt.root; chmod 4511 /usr/bin/tip
+
+
+
+
+
+
+ Mein Hayes Modem wird nicht unterstützt -- was
+ kann ich tun?
+
+
+
+ Eigentlich ist die man page für
+ tip nicht mehr aktuell. Es gibt einen
+ eingebauten, allgemeinen Hayes Wähler. Verwenden Sie
+ einfach at=hayes in
+ /etc/remote.
+
+ Der Hayes Treiber ist nicht schlau genug, um ein paar
+ der erweiterten Merkmale von neueren Modems zu erkennen --
+ Nachrichten wie BUSY, NO
+ DIALTONE oder CONNECT 115200
+ verwirren ihn nur. Sie sollten diese Nachrichten mit
+ Hilfe von ATX0&W abschalten, wenn
+ sie tip benutzen.
+
+ Das Anwahl-Timeout von tip
+ beträgt 60 Sekunden. Ihr Modem sollte weniger
+ verwenden, oder tip denkt, daß
+ ein Kommunikationsfehler vorliegt. Versuchen Sie es mit
+ ATS7=45&W.
+
+ Tatsächlich unterstützt die ausgelieferte
+ Version von tip es noch nicht
+ vollständig. Die Lösung ist
+ tipconf.h im Verzeichnis
+ /usr/src/usr.bin/tip/tip zu
+ editieren. Dafür benötigen Sie natürlich
+ die Quellcode Distribution.
+
+ Editieren Sie die Zeile #define HAYES
+ 0 in #define HAYES 1 um.
+ Dann führen Sie make und
+ make install aus. Es sollte jetzt
+ funktionieren.
+
+
+
+
+
+ Wie soll ich die AT Befehle eingeben?
+
+
+
+ Erstellen Sie einen sogenannten
+ direct Eintrag in
+ /etc/remote. Wenn Ihr Modem zum
+ Beispiel an der ersten seriellen Schnittstelle,
+ /dev/cuaa0 angeschlossen ist, dann
+ fügen Sie die folgende Zeile hinzu:
+
+
+cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+
+
+ Verwenden Sie die höchste bps Rate, die Ihr Modem
+ in der br Fähigkeit unterstützt. Geben Sie dann
+ tip cuaa0 ein und Sie sind mit Ihrem
+ Modem verbunden.
+
+ Wenn auf Ihrem System keine
+ /dev/cuaa0 Datei existiert, geben Sie
+ folgendes ein:
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV cuaa0
+
+
+ Oder benutzen Sie cu als root mit
+ dem folgenden Befehl
+
+
+&prompt.root; cu -lline -sspeed
+
+
+ <line> steht für die serielle Schnittstelle
+ (/dev/cuaa0) und <speed>
+ für die Geschwindigkeit (57600).
+ Wenn Sie mit dem Eingeben der AT Befehle fertig sind,
+ beenden Sie mit ~..
+
+
+
+
+
+ Das <@> Zeichen für die
+ pn Fähigkeit funktioniert nicht!
+
+
+
+ Das <@> Zeichen in der
+ Telefonnummerfähigkeit sagt tip, daß es in der
+ Datei /etc/phones nach einer Nummer
+ suchen soll. Aber <@> ist auch
+ ein spezielles Zeichen in den Dateien, in denen
+ Fähigkeiten beschrieben werden, wie
+ /etc/remote. Schreiben Sie es mit
+ einem '\' (backslash):
+
+ pn=\@
+
+
+
+
+
+ Wie kann ich von der Kommandozeile eine Telefonnummer
+ wählen?
+
+
+
+ Stellen Sie einen allgemeinen Eintrag
+ in /etc/remote. Zum
+ Beispiel:
+
+
+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:
+
+
+ Mit einem Befehl wie tip -115200
+ 5551234 können Sie dann wählen. Wenn
+ Sie cu im Gegensatz zu
+ tip bevorzugen, verwenden Sie einen
+ allgemeinen cu-Eintrag:
+
+
+cu115200|Use cu to dial any number at 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
+
+
+ Zum Wählen können Sie dann cu
+ 5551234 -s 115200 eingeben.
+
+
+
+
+
+ Muß ich dabei jedes Mal die bps Rate
+ angeben?
+
+
+
+ Schreiben Sie einen tip1200 oder
+ einen cu1200 Eintrag, aber benutzen Sie
+ auch die bps Rate, die Ihr Modem wirklich
+ unterstützt. Leider denkt tip,
+ daß 1200 bps ein guter Standardwert ist und deswegen
+ sucht es nach einem tip1200-Eintrag.
+ Natürlich müssen Sie nicht wirklich 1200 bps
+ benutzen.
+
+
+
+
+
+ Ich greife auf ein paar Rechner über einen
+ Terminal-Server zu.
+
+
+
+ Sie müssen nicht warten bis Sie verbunden sind,
+ und jedesmal CONNECT
+ Rechner eingeben,
+ benutzen Sie tip's cm Fähigkeit.
+ Sie können diese Einträge in
+ /etc/remote verwenden:
+
+
+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:
+
+
+ Mit den Befehlen tip pain oder
+ tip muffin können Sie eine
+ Verbindungen zu den Rechnern pain oder muffin herstellen;
+ mit tip deep13 verbinden Sie Sich mit
+ dem Terminal Server
+
+
+
+
+
+ Kann tip mehr als eine Verbindung für jede Seite
+ testen?
+
+
+
+ Das ist oft ein Problem, wenn eine Universität
+ mehrere Telefonleitungen hat und viele tausend Studenten
+ diese benutzen wollen.
+
+ Erstellen Sie einen Eintrag für Ihre
+ Universität in /etc/remote und
+ benutzen Sie <\@> für die
+ pn Fähigkeit:
+
+
+big-university:\
+ :pn=\@:tc=dialout
+dialout:\
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
+
+
+ Listen Sie die Telefonnummern für die
+ Universitäten in /etc/phones
+ auf:
+
+
+big-university 5551111
+big-university 5551112
+big-university 5551113
+big-university 5551114
+
+
+ tip testet jede der Nummern in der
+ aufgelisteten Reihenfolge und gibt dann auf. Wenn Sie
+ wollen, daß tip immer weiter
+ probiert eine Verbindung herzustellen, lassen Sie
+ tip in einer while-schleife
+ laufen.
+
+
+
+
+
+ Warum muß ich zweimal CTRL-P tippen um ein
+ CTRL-P zu senden?
+
+
+
+ CTRL-P ist das voreingestellte Zeichen, mit dem eine
+ Uebertragung erzwungen werden kann und wird benutzt, um
+ tip zu sagen, daß das
+ nächste Zeichen direkt gesendet werden soll und kein
+ Escape ist. Mit Hilfe des ~s Escapes,
+ mit dem man Variablen setzen kann, können Sie jedes
+ andere Zeichen als force-Zeichen
+ definieren.
+
+ Geben Sie
+ ~sforce=zeichen
+ ein und drücken sie enter. Fuer
+ zeichen können sie ein
+ beliebiges einzelnes Zeichen einsetzen. Wenn Sie
+ zeichen weglassen, ist das
+ force-Zeichen der nul character, den sie
+ mit CTRL-2 oder CTRL-SPACE eingeben können. Ein
+ guter Wert für zeichen ist
+ SHIFT+CTRL+6, welches ich erst auf ein paar Terminal
+ Servern in Benutzung gesehen habe.
+
+ Sie können das force-Zeichen auch
+ bestimmen, indem Sie in
+ $HOME/.tiprc das folgende
+ einstellen:
+
+
+force=single-char
+
+
+
+
+
+
+ Auf einmal ist alles was ich schreibe in
+ GROSSBUCHSTABEN??
+
+
+
+ Sie müssen CTRL-A eingegeben haben, das
+ raise-Zeichen von tip,
+ das speziell für Leute mit defekten caps-lock Tasten
+ eingerichtet wurde. Benutzen Sie ~s
+ wie oben und setzen Sie die Variable
+ raisechar auf etwas, das Ihnen angemessen
+ erscheint. Tatsächlich kann die Variable auf das
+ gleiche Zeichen wie das force-Zeichen
+ gesetzt werden, wenn Sie diese Fähigkeiten niemals
+ benutzen wollen.
+
+ Hier ist eine Muster .tiprc
+ Datei, perfekt für emacs Benutzer die oft CTRL-2 und
+ CTRL-A tippen müssen:
+
+
+force=^^
+raisechar=^^
+
+
+ Das ^^ steht für SHIFT-CTRL-6.
+
+
+
+
+
+ Wie kann ich Dateien mit tip
+ übertragen?
+
+
+
+ Wenn Sie mit einem anderen UNIX-System kommunizieren,
+ können Sie Dateien senden und empfangen -- mit
+ ~p (put) und ~t
+ (take). Diese Befehle lassen cat und
+ echo auf dem entfernten System laufen,
+ um Dateien zu akzeptieren und zu senden. Die Syntax
+ ist:
+
+
+~p <local-file> [<remote-file>]
+~t <remote-file> [<local-file>]
+
+
+ Es gibt keine Fehlerkontrolle, also sollten Sie
+ vielleicht ein anderes Protokoll benutzen, wie
+ zmodem.
+
+
+
+
+
+ Wie kann ich zmodem mit tip
+ laufen lassen?
+
+
+
+ Zuerst installieren Sie ein zmodem Programm aus der
+ Ports-Sammlung (eines der beiden aus der comms-Kategorie,
+ lrzsz oder
+ rzsz).
+
+ Um Dateien zu empfangen, starten Sie das Programm zum
+ Senden auf dem entfernten Computer. Drücken Sie dann
+ Enter gefolgt von ~C rz (oder
+ ~C lrz, wenn Sie lrzsz installiert
+ haben), um diese lokal zu empfangen.
+
+ Um Dateien zu senden, starten Sie das Programm zum
+ empfangen auf dem entfernten Computer. Drücken Sie
+ dann Enter gefolgt von ~C sz
+ Dateien (oder
+ ~C lsz
+ Dateien), um sie zum
+ entfernten System zu senden.
+
+
+
+
+
+ FreeBSD scheint meine seriellen Schnittstellen nicht
+ zu finden, auch wenn die Einstellungen korrekt
+ sind.
+
+
+
+ Hauptplatinen und Karten mit Acer UARTs werden im
+ FreeBSD sio test nicht richtig erkannt. Sie erhalten
+ einen Patch von www.lemis.com,
+ mit dem Sie das Problem beheben können.
+
+
+
+
+
+
+ Verschiedene Fragen
+
+
+
+
+ FreeBSD benutzt viel mehr Swap-Speicher als Linux.
+ Warum?
+
+
+
+ Es sieht nur so aus, als ob FreeBSD mehr Swap benutzt,
+ als Linux. Tatsächlich ist dies nicht der Fall. In
+ dieser Hinsicht besteht der Hauptunterschied zwischen
+ FreeBSD und Linux darin, daß FreeBSD vorbeugend
+ vollkommen untätige, unbenutzte Seiten aus dem
+ Hauptspeicher in den Swap-Bereich auslagert, um mehr
+ Hauptspeicher für die aktive Nutzung zur
+ Verfügung zu stellen. Linux tendiert dazu, nur als
+ letzten Ausweg Seiten in den Swap-Bereich auszulagern.
+ Die spürbar höhere Nutzung des Swap-Speichers
+ wird durch die effizientere Nutzung des Hauptspeichers
+ wieder ausgeglichen.
+
+ Beachten Sie, daß FreeBSD in dieser Hinsicht
+ zwar vorbeugend arbeitet, es entscheidet jedoch nicht
+ willkürlich, Seiten auszulagern, wenn das System
+ vollkommen untätig ist. Deshalb werden Sie
+ feststellen, daß nicht alle Seiten Ihres Systems
+ ausgelagert wurden, wenn Sie morgens aufstehen, nachdem
+ das System eine Nacht lang nicht benutzt worden
+ ist.
+
+
+
+
+
+ Warum zeigt mir &man.top.1; so wenig freien Speicher
+ an, obwohl nur wenige Programme laufen?
+
+
+
+ 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
+ Inact, Cache und
+ Buf gemeldeten Werte stehen alle
+ für zwischengespeicherte Daten mit unterschiedlichem
+ Alter. Wenn das System wiederholt auf Daten zugreifen
+ muß, braucht es nicht auf die langsame Platte
+ zuzugreifen, da die Daten noch zwischengespeichert sind.
+ Dadurch erhöht sich die Performance. Ganz generell
+ ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen
+ Wert bei Free anzeigt, solange der Wert
+ nicht extrem klein ist.
+
+ Anmerkung des Übersetzers: Mit extrem
+ klein sind hier Werte unterhalb 512 KByte
+ gemeint.
+
+
+
+
+
+ Warum benutzt man (was sind) die Formate a.out und ELF
+ für ausführbare Dateien?
+
+
+
+ Um zu verstehen, warum FreeBSD das Format
+ ELF benutzt, müssen Sie
+ zunächst etwas über die drei gegenwärtig
+ dominanten ausführbaren Formate
+ für UNIX wissen:
+
+
+
+ FreeBSD-Version 1.x und 2.x benutzten das Format
+ a.out.
+
+
+
+
+
+ A.OUT
+
+ Das älteste und klassische
+ UNIX-Objektformat. Es benutzt einen kurzen, kompakten
+ Header mit einer magischen Nummer am Anfang, die oft
+ benutzt wird, um das Format zu charakterisieren
+ (weitere Details finden Sie unter &man.a.out.5;). Es
+ enthält drei geladene Segmente: .text, .data und
+ .bss, sowie eine Symboltabelle und eine
+ Stringtabelle.
+
+
+
+ COFF
+
+ Das Objektformat von SVR3. Der Header
+ enthält nun eine "Sectiontable". Man kann also
+ mit mehr als nur den Sections .text, .data und .bss
+ arbeiten.
+
+
+
+ ELF
+
+ Der Nachfolger von COFF.
+ Kennzeichnend sind mehrere Sections und mögliche
+ 32-Bit- oder 64-Bit-Werte. Ein wesentlicher Nachteil:
+ ELF wurde auch unter der Annahme
+ entworfen, daß es nur ein ABI (Application
+ Binary Interface) pro Systemarchitektur geben wird.
+ Tatsächlich ist diese Annahme falsch - nicht
+ einmal für die kommerzielle SYSV-Welt (in der es
+ mindestens drei ABIs gibt: SVR4, Solaris, SCO) trifft
+ sie zu.
+
+ FreeBSD versucht, dieses Problem zu umgehen, indem
+ ein Utility bereitgestellt wird, um ausführbare
+ Dateien im ELF-Format mit
+ Informationen über die ABI zu versehen, zu der
+ sie passen. Weitere Informationen finden Sie in der
+ Manualpage &man.brandelf.1;.
+
+
+
+ FreeBSD kommt aus dem klassischen Lager
+ und verwendete traditionell das
+ a.out-Format, eine Technologie, die
+ bereits über viele BSD-Releases hinweg eingesetzt und
+ geprüft worden ist. Obwohl es bereits seit einiger
+ Zeit möglich war, auf einem FreeBSD-System auch
+ Binaries (und Kernel) im ELF-Format zu
+ erstellen und auszuführen, wiedersetzte FreeBSD sich
+ anfangs dem Druck, auf
+ ELF als Standardformat umzusteigen.
+ Warum? Nun, als das Linux-Lager die schmerzhafte
+ Umstellung auf ELF durchführte,
+ ging es nicht so sehr darum, dem ausführbaren Format
+ a.out zu entkommen, als dem
+ unflexiblen, auf Sprungtabellen basierten Mechanismus
+ für "Shared Libraries", der die Konstruktion von
+ Shared Libraries für Hersteller und Entwickler
+ gleichermaßen sehr kompliziert machte. Da die
+ verfügbaren ELF-Werkzeuge eine
+ Lösung für das Problem mit den Shared Libraries
+ anboten und ohnehin generell als ein Schritt
+ vorwärts angesehen wurden, wurde der Auffand
+ für die Umstellung als notwendig akzeptiert und die
+ Umstellung wurde durchgeführt.
+
+ Im Fall von FreeBSD ist der Mechanismus von Shared
+ Libraries enger an den Mechanismus im Stil von Sun's
+ SunOS angelehnt und als solcher
+ sehr einfach zu verwenden. Seit Version 3.0
+ unterstützt FreeBSD ELF-Binaries
+ jedoch offiziell als das Standardformat. Obwohl das
+ ausführbare Format a.out uns
+ gute Dienste geleistet hat, hat das GNU-Team, das den von
+ uns verwendeten Compiler erstellt, die Unterstützung
+ des a.out-Formats eingestellt. Dies
+ zwang uns dazu, abweichende Versionen der Compiler und
+ Linker beizubehalten und hinderte uns daran, Nutzen aus
+ den aktuellen Entwicklungsergebnisen von GNU zu ziehen.
+ Auch die Anforderungen von ISO-C++, besonders
+ Konstruktoren und Destruktoren, haben zur
+ Unterstützung von ELF in
+ zukünftigen Versionen von FreeBSD
+ geführt.
+
+
+
+
+
+ Ja aber warum gibt es so viele unterschiedliche
+ Formate?
+
+
+
+ In alter, grauer Vorzeit gab es simple Hardware.
+ Diese simple Hardware unterstützte ein einfaches,
+ kleines System. a.out war absolut passend für die
+ Aufgabe, Binaries auf diesem simplen System (eine PDP-11)
+ darzustellen. Als UNIX von diesem simplen System portiert
+ wurde, wurde auch das a.out-Format beibehalten, weil es
+ für die frühen Portierungen auf Architekturen
+ wie den Motorola 68000, VAXe usw. ausreichte.
+
+ Dann dachte sich ein schlauer Hardware-Ingenieur,
+ daß wenn er Software zwingen könnte, einige
+ Tricks anzustellen, es ihm möglich wäre, ein
+ paar Gatter im Design zu sparen, und seinen CPU-Kern
+ schneller zu machen. Obgleich es dazu gebracht wurde, mit
+ dieser neuen Art von Hardware (heute als RISC bekannt) zu
+ arbeiten, war a.out für diese
+ Hardware schlecht geeignet. Deshalb wurde viele neue
+ Formate entwickelt, um eine bessere Leistung auf dieser
+ Hardware zu erreichen, als mit dem begrenzten, simplen
+ a.out-Format. Dinge wie
+ COFF, ECOFF und
+ einige andere obskure wurden erdacht und ihre Grenzen
+ untersucht, bevor die Dinge sich in Richtung
+ ELF entwickelten.
+
+ Hinzu kam, daß die Größe von
+ Programmen gewaltig wurden und Festplatten (und
+ physikalischer Speicher) immer noch relativ klein waren.
+ Also wurde das Konzept von Shared Libraries geboren. Das
+ VM-System wurde auch immer fortgeschrittener. Obwohl bei
+ jedem dieser Fortschritte das
+ a.out-Format benutzt worden ist,
+ wurde sein Nutzen mit jedem neuen Merkmal mehr und mehr
+ gedehnt. Zusätzlich wollte man Dinge dynamisch zur
+ Ausführungszeit laden, oder Teile ihres Programms
+ nach der Initialisierung wegwerfen, um Hauptspeicher
+ und/oder Swap-Speicher zu sparen. Programmiersprachen
+ wurden immer fortschrittlicher und man wollte, daß
+ Code automatisch vor der main-Funktion aufgerufen wird.
+ Das a.out-Format wurde oft
+ überarbeitet, um alle diese Dinge zu ermöglichen
+ und sie funktionierten auch für einige Zeit.
+ a.out konnte diese Probleme nicht
+ ohne ein ständiges Ansteigen eines Overheads im Code
+ und in der Komplexität handhaben. Obwohl
+ ELF viele dieser Probleme löste,
+ wäre es sehr aufwendig, ein System umzustellen, das
+ im Grunde genommen funktionierte. Also mußte
+ ELF warten, bis es aufwendiger war, bei
+ a.out zu bleiben, als zu
+ ELF überzugehen.
+
+ Im Laufe der Zeit haben sich die Erstellungswerkzeuge,
+ von denen FreeBSD seine Erstellungswerkzeuge abgeleitet
+ hat (speziell der Assembler und der Loader), in zwei
+ parallele Zweige entwickelt. Im FreeBSD-Zweig wurden
+ Shared Libraries hinzugefügt und einige Fehler
+ behoben. Das GNU-Team, das diese Programme
+ ursprünglich geschrieben hat, hat sie umgeschrieben
+ und eine simplere Unterstützung zur Erstellung von
+ Cross-Compilern durch beliebiges Einschalten verschiedener
+ Formate usw. hinzugefügt. Viele Leute wollten
+ Cross-Compiler für FreeBSD erstellen, aber sie hatten
+ kein Glück, denn FreeBSD's ältere Sourcen
+ für as und ld waren hierzu nicht geeignet. Die neuen
+ GNU-Werkzeuge (binutils) unterstützen
+ Cross-Compilierung, ELF, Shared
+ Libraries, C++-Erweiterungen usw. Weiterhin geben viele
+ Hersteller ELF-Binaries heraus und es
+ ist gut, wenn FreeBSD sie ausführen kann. Und wenn
+ es ELF-Binaries ausführt, warum
+ dann auch noch a.out behalten? Es
+ ist ein müdes, altes Pferd, daß sich für
+ eine lange Zeit als nützlich erwiesen hat, aber es
+ ist an der Zeit, es für seine langen, treuen
+ Dienstjahre auf die Weide zu schicken.
+
+ ELF ist ausdrucksfähiger als
+ a.out und gestattet eine bessere Erweiterbarkeit des
+ Basissystems. Die ELF-Werkzeuge werden
+ besser gewartet und bieten Unterstützung von
+ Cross-Compilierung, was für viele Leute wichtig ist.
+ ELF mag etwas langsamer sein, als
+ a.out, aber zu versuchen, das zu messen, könnte
+ schwierig werden. Es gibt unzählige Details, in
+ denen sich die beiden Formate unterscheiden, wie sie Pages
+ abbilden, Initialisierungscode handhaben usw. Keins davon
+ ist sehr wichtig, aber es sind Unterschiede. Irgendwann
+ wird die Unterstützung für Programme im
+ a.out-Format aus dem GENERIC Kernel
+ entfernt werden. Wenn es dann keinen oder kaum noch
+ Bedarf für die Unterstützung dieses Formates
+ gibt, werden die entsprechenden Routinen ganz entfernt
+ werden.
+
+
+
+
+
+ Warum ändert chmod die Zugriffsrechte auf
+ symbolische Links nicht?
+
+
+
+ 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
+ foo und einen auf diese Datei
+ zeigenden symbolischen Link mit dem Namen
+ bar haben, wird das folgende Kommando
+ niemals einen Fehler melden.
+
+
+prompt.user; chmod g-w bar
+
+
+ Trotzdem werden die Zugriffsrechte für
+ foo nicht geändert.
+
+ Hierzu müssen Sie entweder
+ oder zusammen mit der Option
+ benutzen. Weitere Informationen
+ finden Sie in den Manualpages &man.chmod.1; und
+ &man.symlink.2;.
+
+
+
+ Die Option bewirkt ein
+ REKURSIVESchmod.
+ Seien Sie vorsichtig, wenn Sie bei
+ chmod 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
+ chmod ohne irgendwelche Optionen
+ und folgen dem symbolischen Link durch einen
+ abschliessenden Schrägstrich
+ (/). Falls z.B.
+ foo ein symbolischer Link zum
+ Verzeichnis bar ist und Sie die
+ Zugriffsrechte von foo
+ (tatsächlich bar)
+ ändern möchten, dann benutzen Sie etwas
+ ähnliches wie:
+
+
+&prompt.user; chmod 555 foo/
+
+
+ Durch den abschliessenden Schrägstrich folgt
+ chmod dem symbolischen Link
+ foo, um die Zugriffsrechte
+ für das Verzeichnis bar zu
+ ändern.
+
+
+
+
+
+
+
+ Warum sind Loginnamen immer noch
+ auf acht Zeichen begrenzt?
+
+
+
+ Sie denken vielleicht, daß es leicht sein
+ sollte, UT_NAMESIZE zu ändern, das
+ ganze System neu zu erstellen und das dann alles
+ funktionieren müßte. Unglücklicherweise
+ gibt es oft dutzende Applikationen und Utilities
+ (einschließlich Systemwerkzeuge), bei denen kleine
+ Zahlen (nicht immer 8 oder
+ 9, sondern auch sonderbare, wie
+ 15 und 20) in
+ Strukturen und Puffern fest codiert sind. Hierdurch
+ erhalten Sie nicht nur unbrauchbare Logdateien (weil
+ variabel lange Sätze ausgegeben werden, wo Sätze
+ fester Länge erwartet werden), sondern es kann dazu
+ führen, daß Sun's NIS-Clients nicht mehr
+ funktionieren und möglicherweise andere Probleme bei
+ der Interaktion mit anderen UNIX-Systemen
+ verursachen.
+
+ In FreeBSD 3.0 und späteren wurde die maximale
+ Länge für Namen auf 16 Zeichen erweitert und die
+ unterschiedlichen Utilities mit fest codierten
+ Namenslängen wurden gefunden und bereinigt. Die
+ Tatsache, daß hiervon so viele Bereiche des Systems
+ betroffen waren, ist der Grund, warum diese Änderung
+ nicht vor 3.0 durchgeführt worden ist.
+
+ Wenn Sie sich absolut sicher sind, daß Sie diese
+ Art von Problemen selbst finden und bereinigen
+ können, wenn und falls sie auftreten, dann
+ können Sie die Länge von Loginnamen in
+ früheren Versionen ändern, indem Sie
+ /usr/include/utmp.h editieren und
+ UT_NAMESIZE entsprechend ändern. Sie müssen
+ MAXLOGNAME in
+ /usr/include/sys/param.h auch
+ entsprechend der Änderung von UT_NAMESIZE
+ ändern. Schließlich, vergessen Sie nicht,
+ daß /usr/include jedesmal aktualisiert wird, wenn
+ Sie von den Sourcen aus Erstellen! Ändern Sie
+ stattdessen die entsprechen Dateien in
+ /usr/src/...
+
+
+
+
+
+ Kann ich DOS-Programme unter FreeBSD
+ ausführen?
+
+
+
+ Ja, ab Version 3.0 können Sie die DOS-Emulation
+ doscmd der Firma BSDi benutzen,
+ die integriert und erweitert wurde. Schicken Sie eine
+ Mail an The FreeBSD
+ emulation discussion list, wenn Sie daran
+ interessiert sind, an den laufenden Bemühungen
+ teilzunehmen!
+
+ Für Systeme vor 3.0 gibt es ein nettes Utility
+ pcemu in der Ports-Sammlung,
+ das einen 8088 und genug BIOS-Dienste emuliert, um
+ DOS-Applikationen im Textmodus auszuführen. Hierzu
+ wird das X Window-System benötigt (erhältlich
+ als XFree86).
+
+
+
+
+
+ Was ist sup und wie benutze ich
+ es?
+
+
+
+ Der Name SUP 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.
+
+ SUP ist nicht sehr bandbreitenfreundlich und wurde
+ abgelöst. Die derzeit empfohlene Methode, um Ihren
+ Quellcode auf dem neuesten Stand zu halten ist Handbucheintrag zu
+ CVSup.
+
+
+
+
+
+ Wie cool ist FreeBSD?
+
+
+
+ Q. Hat irgend jemand Temperaturmessungen
+ durchgeführt, während FreeBSD läuft? Ich
+ weiß, daß Linux cooler läuft, als DOS,
+ aber niemals gesehen, daß FreeBSD erwähnt
+ wurde. Es scheint sehr heiß zu laufen.
+
+ A. Nein, aber wir haben zahlreiche Geschmackstests mit
+ verblendeten Freiwilligen durchgeführt, denen
+ ausßerdem zuvor 250 Mikrogramm LSD-25 verabreicht
+ wurden. 35% der Freiwilligen sagte, daß FreeBSD
+ nach Orange schmeckte, Linux hingegen schmecke wie
+ purple haze (Anm. d. Übersetzers: Song
+ von Jimmy Hendrix und LSD-Marke). Ich kann mich nicht
+ daran erinnern, daß eine Gruppe besondere
+ Abweichungen der Temperatur erwähnt hat. Eventuell
+ hätten wir sämtliche Ergebnisse dieser
+ Untersuchung fortwerfen sollen, als wir festgestellt
+ haben, daß zu viele der Freiwillingen den Raum
+ während der Tests verlassen haben und dadurch die
+ Ergebnisse verfälscht haben. Ich glaube die meisten
+ der Freiwilligen sind nun bei Apple und arbeiten an ihrer
+ neuen scratch and sniff Oberfläche.
+ Es ist ein lustiges, altes Geschäft, in dem wir uns
+ befinden!
+
+ Ernsthaft, FreeBSD und Linux benutzen beide die
+ Instruktion HLT (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.
+
+
+
+
+
+ Wer kratzt in meinen Speicherbänken??
+
+
+
+ Q. Gibt es irgend etwas seltsames, das
+ FreeBSD tut, wenn ich den Kernel kompiliere, das dazu
+ führt, daß der Speicher ein kratzendes
+ Geräusch macht? Bei der Kompilierung (und auch
+ für einen kurzen Moment nach der Erkennung des
+ Floppy-Laufwerks beim Hochfahren), kommt ein seltsames
+ kratzendes Geräusch von etwas das die
+ Speicherbänke zu sein scheinen.
+
+ A. Ja! In der BSD-Dokumentation finden Sie
+ häufige Verweise auf Daemons und was
+ die meisten Leute nicht wissen, ist, daß diese sich
+ auf echte, nicht-körperlichen Wesen beziehen, die
+ Besitz von Ihrem Computer ergriffen haben. Das kratzende
+ Geräusch, das von Ihrem Speicher kommt, ist in
+ Wirklichkeit hochtöniges Flüstern, das unter den
+ Daemons ausgetauscht wird, während Sie entscheiden,
+ wie Sie die verschiedenen Systemadministrationsaufgaben,
+ am besten erledigen.
+
+ Wenn Sie das Geräusch stört, wird ein
+ fdisk /mbr sie vertreiben, aber wundern
+ Sie sich nicht, wenn sie feindlich reagieren und
+ versuchen, Sie aufzuhalten. Wenn Sie während der
+ Ausführung zu irgendeinem Zeitpunkt die teuflische
+ Stimme von Bill Gates aus dem eingebauten Lautsprecher
+ kommen hören, laufen Sie weg und sehen Sie sich auf
+ keinen Fall um! Befreit von dem ausgleichenden
+ Einfluß der BSD Dämonen sind die beiden
+ Dämonen von DOS und Windows oft dazu in der Lage, die
+ totale Kontrolle über Ihre Maschine für die
+ ewige Verdammung Ihrer Seele zurückzuerlangen. Wenn
+ ich die Wahl hätte, glaube ich, daß ich es
+ vorziehen würde, mich an die Geräsche zu
+ gewöhnen!
+
+
+
+
+
+ Was bedeutet MFC?
+
+
+
+ MFC ist ein Acronym für Merged From
+ -Current. Es wird in den CVS-Logs benutzt, um zu
+ kennzeichnen, wenn eine Änderung vom CURRENT-Zweig in
+ den STABLE-Zweig übernommen worden ist.
+
+
+
+
+
+ Was bedeutet BSD?
+
+
+
+ Es steht für etwas in einer geheimen Sprache, das
+ nur Mitglieder wissen können. Es kann nicht
+ wörtlich übersetzt werden, aber wir können
+ Ihnen sagen, daß die Übersetzung von BSD etwas
+ zwischen Formel-1 Team, Pinguine
+ sind ein leckerer Imbiß und Wir haben
+ einen besseren Sinn für Humor als Linux ist
+ :-)
+
+ Ernsthaft, BSD ist ein Acronym für Berkley
+ Software Distribution. Das ist der Name, den die
+ Berkley CSRG (Computer Systems Research
+ Group) damals für ihre UNIX-Distribution gewählt
+ hat.
+
+
+
+
+
+ Was ist eine repo-copy?
+
+
+
+ Eine repo-copy (die Kurzform von repository
+ copy) bedeutet, daß Dateien direkt innerhalb
+ des CVS repository kopiert wurden.
+
+ Wenn eine Datei an einen anderen Ort im Repository
+ kopiert oder verschoben werden müsste, würde ein
+ Comitter ohne repo-copy die neue Datei mit cvs
+ add hinzufügen und die alte ggfs. mit
+ cvs rm löschen.
+
+ Damit würden allerdings die Einträge in der
+ History (die Einträge im CVS-Logfile) nicht mit
+ übertragen. Da das FreeBSD Projekt diese
+ Informationen allerdings für äußerst
+ nützlich hält, wird eine repository copy
+ durchgeführt. Bei diesem Vorgang wird einer der
+ CVS-Meister die Dateien direkt innerhalb des Repository
+ verschieben, statt das Programm cvs zu
+ benutzen.
+
+
+
+
+
+ Warum sollte mich die Farbe des Fahrradschuppens
+ interessieren?
+
+
+
+ Die ganz, ganz kurze Antwort ist überhaupt nicht.
+ Die etwas längere Antwort lautet: Nur weil Sie in der
+ Lage sind, einen Fahrradschuppen zu bauen, müssen Sie
+ noch lange nicht andere davon abhalten, nur weil Ihnen die
+ Farbe gefällt. Dies ist natürlich eine Metapher
+ dafür, daß Sie nicht eine Diskussion über
+ jede kleine Änderung beginnen sollen, nur weil Sie
+ das können. Einige Leute behaupten sogar, daß
+ die Anzahl der (nutzlosen) Kommentare über eine
+ Änderung umgekehrt proportional zu Ihrer
+ Komplexität der Änderung ist.
+
+ Die noch längere und vollständigere Antwort
+ ist, daß &a.phk; nach einen langen Diskussion
+ über das Thema "Soll &man.sleep.1; Sekundenbruchteile
+ als Parameter akzeptieren?" eine lange Mail mit dem Titel
+ A
+ bike shed (any colour will do) on greener
+ grass... schrieb. Die einschlägigen
+ Teile der Nachricht lauteten:
+
+
+ &a.phk; in freebsd-hackers,
+ 2.10.1999
+
+ Einige von Euch haben mich gefragt, Was
+ meinst Du mit dem Fahrradschuppen?
+
+ Es ist eine lange oder eigentlich eher eine sehr
+ alte und doch sehr kurze Geschichte. C. Northcote
+ Parkinson schrieb in den führen sechzigern ein Buch
+ mit dem Namen Parkinson's Law, das viele
+ Einblick in die Beziehungen innerhalb des Managements
+ gibt.
+
+ [ein paar Kommentare zum Buch gestrichen]
+
+ In dem Beispiel mit dem Fahrradschuppen ist die
+ andere wichtige Komponente ein Kernkraftwerk. Ich
+ glaube, daß zeigt schon, wie alt dieses Buch
+ ist.
+
+ Parkinson zeigte, daß man zum Vorstand gehen
+ kann und die Genehmigung für ein mehrere Millionen
+ oder sogar Milliarden Dollar teures Kernkraftwerk
+ bekommt; wenn man aber einen Fahrradschuppen bauen will,
+ wird man in endlose Diskussionen verwickelt.
+
+ Laut Parkinson liegt das daran, daß ein
+ Kernkraftwerk so groß, so teuer und so kompliziert
+ ist, daß die Leute es nicht verstehen. Und bevor
+ sie versuchen, es zu verstehen, verlassen Sie sich
+ lieber darauf, daß irgend jemand sicherlich die
+ ganzen Details geprüft hat, bevor das Projekt bis
+ zum Vorstand gekommen ist. Im Buch von Richard P.
+ Feynmann finden sich einige interessante und sehr
+ passende Beispiele aus dem Gebiet von Los
+ Alamos.
+
+ Ein Fahrradschuppen ist was anderes. Jeder kann an
+ seinem freien Wochenende einen bauen und hat trotzdem
+ noch genug Zeit für die Sportschau. Daher ist es
+ unwichtig, wie gut man sich vorbereitet und wie sinnvoll
+ der eigene Vorschlag ist. Irgend jemand wird die
+ Möglichkeit nutzen und zeigen, daß er seine
+ Arbeit tut, daß er aufmerksam ist, daß er
+ da ist.
+
+ In Dänemark nennen wir dieses Verhalten
+ Seine Fingerabdrücke hinterlassen.
+ Es geht um persönlichen Stolz und Prestige; die
+ Chance, auf irgend etwas zu zeigen und zu sagen zu
+ können: Da! Das habe
+ Ich getan. 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.
+
+
+
+
+
+
+ Wieviele FreeBSD-Hacker braucht man, um eine
+ Glühbirne auszuwechseln?
+
+
+
+ Eintausendeinhundertundzweiundsiebzig:
+
+ Dreiundzwanzig, die sich bei -CURRENT beschweren,
+ daß das Licht aus ist;
+
+ Vier, die behaupten, daß es sich um ein
+ Konfigurationsproblem handelt und daß solche Dinge
+ wirklich nach -questions gehören;
+
+ Drei, die PRs hierzu einreichen, einer von ihnen wird
+ falsch unter DOC abgelegt und fristet sein Dasein im
+ Dunkeln;
+
+ Einen, der eine ungetestete Glühbirne einreicht,
+ wonach buildworld nicht mehr funktioniert, und sie dann
+ fünf Minuten später wieder herausnimmt;
+
+ Acht, die die PR-Erzeuger beschimpfen, weil sie zu
+ ihren PRs keine Patche hinzugefügt haben;
+
+ Fünf, die sich darüber beschweren, daß
+ buildworld nicht mehr funktioniert;
+
+ Einunddreißig, die antworten, daß es bei
+ ihnen funktioniert und daß sie cvsup wohl zu einigem
+ ungünstigen Zeitpunkt durchgeführt
+ haben;
+
+ Einen, der einen Patch für eine neue
+ Glühbirne an -hackers schickt;
+
+ Einen, der sich beschwert, daß es vor drei
+ Jahren Patches hierfür hatte, aber als er sie nach
+ -CURRENT schickte, sind sie einfach ignoriert worden und
+ er hatte schlechte Erfahrungen mit dem PR-System; nebenbei
+ ist die vorgeschlagene Glühbirne nicht
+ reflexiv;
+
+ Siebenunddreißig, die schreien, daß
+ Glühbirnen nicht ins Basissystem gehören,
+ daß Committer nicht das Recht haben, solche Dinge
+ durchzuführen, ohne die Gemeinschaft zu konsultieren
+ und WAS GEDENKT -CORE HIER ZU TUN!?
+
+ Zweihundert, die sich über die Farbe des
+ Fahrradschuppens beschweren;
+
+ Drei, die darauf hinweisen, daß der Patch nicht
+ mit style(9) übereinstimmt;
+
+ Siebzehn, die sich beschweren, daß die
+ vorgeschlagene neue Glühbirne der GPL
+ unterliegt;
+
+ 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;
+
+ Sieben, die unterschiedliche Teile des Threads nach
+ -chat und -advocacy weiterleiten;
+
+ Einer, der die vorgeschlagene Glühbirne einbaut,
+ obwohl sie dunkler leuchtet, als die alte;
+
+ Zwei, die sie wieder ausbauen, und in einer
+ wütenden Nachricht argumentieren, daß FreeBSD
+ besser ganz im Dunkeln dasteht, als mit einer
+ dämmerigen Glühbirne;
+
+ Sechsundvierzig, die sich lärmend wegen des
+ Wiederausbaus der dämmerigen Glühbirne streiten
+ und eine Erklärung von -core verlangen;
+
+ Elf, die eine kleinere Glühbirne beantragen,
+ damit sie in ihr Tamagotchi paßt, falls wir
+ irgendwann beschließen, FreeBSD auf diese Plattform
+ zu portieren;
+
+ Dreiundsiebzig, die sich über die SNR auf
+ -hackers und -chat beschweren und aus Protest
+ abmelden;
+
+ Dreizehn, die "unsubscribe", "How do I unsubscribe?",
+ oder "Please remove me from the list", gefolgt von der
+ üblichen Fußzeile abschicken;
+
+ Einen, der eine funktionierende Glühbirne
+ einbaut, während alle zu beschäftigt damit sind,
+ mit jedem zu streiten, um es zu bemerken;
+
+ Einunddreiß, die herausstellen, daß die
+ neue Glühbirne 0,364% heller leuchten würde,
+ wenn sie mit TenDRA kompiliert werden würde (obwohl
+ sie ein einen Würfel umgeformt werden
+ müßte) und daß FreeBSD deshalb nach
+ TenDRA, anstatt nach EGCS wechseln sollte;
+
+ Einen, der sich beschwert, daß bei der neuen
+ Glühbirne die Verkleidung fehlt;
+
+ Neun (einschließlich der PR-Ersteller), die
+ fragen "Was ist MFC?";
+
+ Siebenundfünfzig, die sich zwei Wochen, nachdem
+ die Birne gewechselt worden ist, darüber beschweren,
+ daß das Licht aus war.
+
+ &a.nik; hat
+ hinzugefügt:
+
+ Ich habe ziemlich hierüber
+ gelacht.
+
+ Und dann dachte ich: "Halt, sollte in dieser
+ Liste nicht irgendwo 'Einer, der es dokumentiert'
+ sein?"
+
+ Und dann wurde ich erleuchtet
+ :-)
+
+ This entry is Copyright (c) 1999 &a.des;.
+ Please do not reproduce without
+ attribution.
+
+
+
+
+
+
+ Nur für ernsthafte FreeBSD-Hacker
+
+
+
+
+ Was sind SNAPs und RELEASEs?
+
+
+
+ Derzeit existieren drei aktive/halbaktive Zweige im
+
+ FreeBSD-CVS-Repository (im Zweig RELENG_2 erfolgen
+ vielleicht noch zwei Änderungen pro Jahr, daher gibt
+ es nur drei aktive Entwicklungszwenige:
+
+
+
+ RELENG_2_2 bzw.
+ 2.2-STABLE
+
+
+
+ RELENG_3 bzw.
+ 3.X-STABLE
+
+
+
+ RELENG_4 bzw.
+ 4-STABLE
+
+
+
+ HEAD bzw.
+ -CURRENT oder
+ 5.0-CURRENT
+
+
+
+ HEAD ist keine wirkliche
+ Bezeichnung für einen Zweig, wie die anderen beiden.
+ Es ist lediglich eine symbolische Konstante für
+ den aktuellen, nicht verzweigten
+ Entwicklungsstrom, auf den wir uns
+ einfach als -CURRENT beziehen.
+
+ Zur Zeit ist -CURRENT der 5.0
+ Entwicklungsstrom und der
+ 4-STABLE-Zweig
+ RELENG_4 wurde im März 2000 von
+ -CURRENT abgespalten.
+
+ Der 2.2-STABLE-Zweig
+ RELENG_2_2 verließ -CURRENT im
+ November 1996, die Weiterentwicklung wurde fast
+ vollständig eingestellt.
+
+
+
+
+
+ Wie kann ich meine eigene, angepaßtes Release
+ erstellen?
+
+
+
+ Um ein Release zu erstellen, müssen Sie drei
+ Dinge tun: erstens müssen Sie einen Kernel benutzen,
+ der das Gerät vn
+ enthält. Fügen Sie folgendes in ihre
+ Kernelkonfigurationsdatei ein und erstellen Sie einen
+ neuen Kernel:
+
+
+pseudo-device vn #Vnode driver (verwandelt eine Datei in ein Gerät)
+
+
+ Zweitens müssen Sie das vollständige
+ CVS-Repository zur Hand haben. Sie können hierzu
+ CVSUP
+ benutzen. Sie müssen in den Konfigurationsdateien
+ für cvsup als Release
+ cvs verwenden und alle evtl.
+ vorhandenen tag= und
+ date= Zeilen entfernen:
+
+
+*default prefix=/home/ncvs
+*default base=/a
+*default host=cvsup.FreeBSD.org
+*default release=cvs
+*default delete compress use-rel-suffix
+
+## Main Source Tree
+src-all
+src-eBones
+src-secure
+
+# Other stuff
+ports-all
+www
+doc-all
+
+
+ Benutzen Sie dann cvsup -g supfile,
+ um all die guten Bits auf Ihren Rechner zu
+ saugen...
+
+ Schließlich brauchen Sie eine Menge freien
+ Plattenplatz für die Erstellung. Angenommen, er
+ befindet sich unter
+ /some/big/filesystem und entsprechend
+ dem obigen Beispiel befindet sich das CVS-Repository unter
+ /home/ncvs:
+
+
+&prompt.root; setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
+&prompt.root; cd /usr/src
+&prompt.root; make buildworld
+&prompt.root; cd /usr/src/release
+&prompt.root; make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
+
+
+
+
+ Es ist nicht notwendig,
+ make buildworld auszuführen,
+ wenn Sie über ein aktuelles
+ /usr/obj verfügen.
+
+
+
+ Ein vollständiges Release wird nun unter
+ /some/big/filesystem/release
+ erstellt. Wenn der Vorgang abgeschlossen ist, finden Sie
+ unter
+ /some/big/filesystem/release/R/ftp
+ eine vollständige FTP-fähige Installlation.
+ Falls Sie Ihren SNAP von einem anderen Zweig als -CURRENT
+ erstellen wollen, können Sie auch
+ RELEASETAG=SOMETAG zu der obigen
+ Befehlszeile "make release" hinzufügen, z.B.
+ würde RELEASETAG=RELENG_2_2 einen
+ minutenaktuellen Schnappschuß von 2.2-STABLE
+ erstellen.
+
+
+
+
+
+ Wie erstelle ich eine angepaßte
+ Installationsdiskette?
+
+
+
+ Der gesamte Prozeß zur Erstellung von
+ Installationsdisketten und Quell- und Binärarchiven
+ ist durch verschiedene Targets in
+ /usr/src/release/Makefile
+ automatisiert. Die dortigen Informationen sollten
+ für einen Einstieg ausreichen. Es sollte jedoch
+ erwähnt werden, daß dies ein make
+ world einschließt und daher sehr viel Zeit
+ und Plattenplatz in Anspruch nimmt.
+
+
+
+
+
+ make world wirkt sich auf meine
+ installierten Binaries aus.
+
+
+
+ Das ist beabsichtigt. Wie der Name schon andeutet,
+ erstellt make world alle Systembinaries
+ von Grund auf neu. Sie können also sicher sein, am
+ Ende eine saubere, konsistente Umgebung zu haben (das ist
+ der Grund ist, warum es so lange dauert).
+
+ Falls die Umgebungsvariable DESTDIR
+ während der Ausführung von make
+ world oder make install
+ definiert ist, werden die neu erstellten Binaries unter
+ ${DESTDIR} 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 make
+ world verursachen.
+
+
+
+
+
+ Wenn mein System bootet, meldet es (bus speed
+ defaulted)
+
+
+
+ Die Adaptec 1542 SCSI Hostadapter erlauben dem
+ Benutzer die Buszugriffsgeschwindigkeit per Software zu
+ konfigurieren. Ältere Versionen des 1542-Treibers
+ versuchten, die schnellstmögliche Geschwindigkeit
+ herauszufinden und konfigurierten den Adapter
+ entsprechend. Wir haben festgestellt, daß dies auf
+ einigen Systemen nicht funktioniert, weshalb Sie nun die
+ Kernelkonfigurationsoption TUNE_1542
+ 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.
+
+
+
+
+
+ Kann ich -CURRENT mit begrenztem Internetzugang
+ folgen?
+
+
+
+ Ja, Sie können das tun, ohne
+ den gesamten Quellbaum herunterzuladen, indem Sie die
+ Einrichtung CTM
+ benutzen.
+
+
+
+
+
+ Wie haben Sie die Distribution in 240k-Dateien
+ aufgespalten?
+
+
+
+ Bei neueren BSD-basierten Systemen gibt es eine Option
+ zu split, die das Splitten von Dateien
+ an willkürlichen Bytegrenzen erlaubt.
+
+ Hier ist ein Beispiel aus
+ /usr/src/Makefile.
+
+
+bin-tarball:
+ (cd ${DISTDIR}; \
+ tar cf - . \
+ gzip --no-name -9 -c | \
+ split -b 240640 - \
+ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
+
+
+
+
+
+
+ Ich habe eine Kernelerweiterung geschrieben. An wen
+ sende ich sie?
+
+
+
+ Lesen Sie bitte den Handbucheintrag über
+ das Einreichen vom Code.
+
+ Und Danke, daß Sie darüber
+ Nachdenken!
+
+
+
+
+
+ Wie werden Plug&Play ISA-Karten erkannt und
+ initialisiert?
+
+
+
+ Von: Frank Durda
+ IV
+
+ 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
+ Ja auf diese Frage. Mindestens ein Bit
+ wird bei dieser Antwort gesetzt sein. Die
+ Erkennungsroutine ist dann in der Lage, dafür zu
+ sorgen, daß Karten mit Modellnummern (zugeordnet von
+ Microsoft/Intel) kleiner als X off-line
+ gesetzt werden. Sie prüft dann, ob immer noch Karten
+ da sind, die auf die Frage antworten. Falls die Antwort
+ 0 war, sind keine Karten mit IDs
+ größer X vorhanden. Nun prüft die
+ Erkennungsroutine, ob Karten unterhalb
+ X 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.
+
+ Die IDs bestehen aus zwei 32-Bit-Feldern (daher 2^64)
+ + acht Bit Prüfsumme. Die ersten 32 Bit sind die
+ Herstellerkennung. Es wurde zwar nicht bestätigt,
+ aber es wird angenommen, daß unterschiedliche
+ Kartentypen desselben Herstellers unterschiedliche 32-Bit
+ Herstellerkennungen besitzen können. 32 Bit nur
+ für eindeutige Hersteller zu benötigen, scheint
+ etwas übertrieben.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ Diese Informationen werden dann mit Informationen aus
+ allen ECU-Dateien auf der Festplatte oder mit im MLB-Bios
+ verdrahteten Informationen verknüpft. Die ECU- und
+ BIOS-PnP-Unterstützung für Hardware auf dem MLB
+ ist für gewöhnlich künstlich und was die
+ Peripheriegeräte tun ist nicht wirklich echtes PnP.
+ Durch die Untersuchung der BIOS-Informationen und der
+ ECU-Informationen können die Erkennungsroutinen
+ jedoch die von PnP-Geräten benutzten Ressourcen so
+ ändern, daß vermieden wird, daß bereits
+ von anderen Geraeten benutzte Ressourcen verwendet
+ werden.
+
+ 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.
+
+ Im obigen Teil wurde sehr viel vereinfacht, aber die
+ grundlegende Idee sollte klar geworden sein.
+
+ 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 tough gesagt. Also schreiben sie
+ auf den Druckerstatusport, um Adressen zu setzen, benutzen
+ zusätzlich diese Adresse + 0x800
+ und einen dritten I/O-Port zum Lesen, der irgendwo
+ zwischen 0x200 und
+ 0x3ff liegen kann.
+
+
+
+
+
+ Unterstützt FreeBSD andere Architekturen
+ außer x86?
+
+
+
+ Verschiedene Gruppen haben ihr Interesse daran
+ geäußert, an Multiarchitektur-Ports für
+ FreeBSD zu arbeiten. Ziemlich erfolgreich waren die
+ Anstrengungen für den Port FreeBSD/AXP (ALPHA), der
+ unter ftp://ftp.de.FreeBSD.org/pub/FreeBSD/alpha
+ erhältlich ist. Der ALPHA-Port läft nun auf
+ einer steigenden Anzahl von ALPHA-Maschinen, unter ihnen
+ die Modelle AlphaStation, AXPpci, PC164, Miata und Multia.
+ Bitte schließen Sie sich der Mailinglistefreebsd-alpha@FreeBSD.org
+ an, falls Sie an Statusinformationen interessiert
+ sind.
+
+ Außerdem wurde Interesse an einem Port von
+ FreeBSD zur SPARC-Architektur ausgedrückt.
+ Schließen Sie sich der
+ Mailinglistefreebsd-sparc@FreeBSD.org
+ an, wenn Sie bei dem Projekt teilnehmen möchten. Die
+ Neuzugänge auf der Liste der in Zukunft
+ unterstützten Plattformen sind IA-64 und PowerPC,
+ weitere Informationen erhalten Sie auf den Mailinglistenfreebsd-ia64@FreeBSD.org
+ und/oder freebsd-ppc@FreeBSD.org.
+ Schließen Sie sich dieser Mailinglistefreebsd-platforms@FreeBSD.org
+ an, wenn Sie an grundsätzlichen Diskussionen
+ über neue Architekturen interessiert sind.
+
+
+
+
+
+ Ich benötige eine major number für einen
+ Gerätetreiber, den ich geschrieben habe.
+
+
+
+ Das hängt davon ab, ob Sie beabsichtigen, den
+ Treiber frei verfügbar zu machen, oder nicht. Falls
+ dem so ist, senden Sie uns bitte eine Kopie der
+ Treiber-Sourcen und zusätzlich die entsprechenden
+ Änderungen der Datei files.i386,
+ ein Beispiel für einen Eintrag in der
+ Konfigurationsdatei und den entsprechenden Code für
+ MAKEDEV, um spezielle Geräte zu
+ erstellen, die Ihr Gerät benutzt. Falls Sie nicht
+ beabsichtigen, den Treiber frei verfügbar zu machen,
+ oder es aufgrund von Lizenzbeschränkungen nicht
+ können, dann ist die Hauptnummer 32 für
+ zeichenorientierte und die Hauptnummer 8 für
+ blockorientierte Geräte speziell für diesen
+ Zweck reserviert. In jedem Fall würden wir uns
+ freuen, in freebsd-hackers@FreeBSD.org
+ etwas über Ihren neuen Treiber zu hören.
+
+
+
+
+
+ Alternative Layoutverfahren für
+ Verzeichnisse
+
+
+
+ Als Antwort auf die Frage nach alternativen
+ Layoutverfahren für Verzeichnisse ist das Schema, das
+ derzeit benutzt wird, unverändert von dem, das ich
+ 1983 geschrieben habe. Ich habe das Vorgehen für das
+ originale Fast-Filesystem geschrieben und es niemals
+ überarbeitet. Es funktioniert gut, wenn es darum
+ geht, zu verhindern, daß Zylindergruppen volllaufen.
+ Wie viele von Ihnen angemerkt haben, funktioniert es
+ schlecht für find. Die meisten Dateisysteme werden
+ von Archiven erstellt, die mit einer Tiefensuche (also
+ ftw) erstellt wurden. Diese Verzeichnisse werden
+ über die Zylindergruppen hinweg entfaltet und
+ erzeugen denkbar ungünstigste Voraussetzungen
+ für zukünftige Tiefensuchen. Falls man die
+ Gesamtzahl der zu erstellenden Verzeichnisse wüsste,
+ wäre die Lösung die, (gesamt / fs_ncg) pro
+ Zylindergruppe zu erstellen, bevor fortgefahren wird.
+ Offensichtlich müßte man eine Heuristik
+ erstellen, um die Zahl zu schätzen. Sogar die
+ Benutzung einer kleinen, fixen Zahl, z.B. 10, würde
+ eine Verbesserung um Größenordnungen ausmachen.
+ Um Wiederherstellungen von normalem Betrieb (wo der
+ derzeitige Algorithmus vermutlich sinnvoller ist) zu
+ unterscheiden, könnten Sie die Clusterung von bis zu
+ 10 benutzen, wenn sie alle innerhalb eines
+ 10-Sekunden-Fensters durchgeführt würden.
+ Jedenfalls ist mein Schluss, daß dies ein
+ fruchtbares Gebiet für Experimente ist.
+
+ Kirk McKusick, September 1998
+
+
+
+
+
+ Optimalen Nutzen aus einer kernel panic ziehen
+
+
+
+ [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 Mailingliste freebsd-current
+ entnommen.]
+
+
+From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
+Subject: Re: the fs fun never stops
+To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
+Cc: current@FreeBSD.org
+
+
+ [<ben@rosengart.com> sendete die
+ folgende Panik-Meldung]
+
+
+> 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
+
+
+ [Wenn] Sie eine Meldung wie diese sehen, reicht es
+ nicht, sie einfach zu reproduzieren und sie einzusenden.
+ Der Wert des Instruktionszeigers, den ich oben
+ hervorgehoben habe, ist wichtig; leider ist er auch
+ konfigurationsabhängig. Mit anderen Worten variieren
+ die Werte abhängig von dem Kernel-Image, das Sie
+ tatsächlich benutzen. Wenn Sie ein GENERIC
+ Kernelimage von einem der Snapshots benutzen, dann ist es
+ für jemand anderen möglich, die fehlerhafte
+ Instruktion herauszufinden, aber wenn Sie einen
+ angepaßten Kernel benutzen, können nur
+ Sie uns sagen, wo der Fehler
+ auftrat.
+
+ Was Sie tun sollten, ist folgendes:
+
+
+
+ Notieren Sie sich den Wert des
+ Instruktionszeigers. Beachten Sie, daß der Teil
+ 0x8: am Anfang in diesem Fall nicht
+ von Bedeutung ist; der Teil
+ 0xf0xxxxxx ist der, den wir
+ wollen.
+
+
+
+ Tun Sie folgendes, wenn das System
+ rebootet:
+
+
+&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
+
+
+ wobei 0xf0xxxxxx der Wert des
+ Instruktionszeigers ist. Es besteht die
+ Möglichkeit, daß Sie keinen exakten Treffer
+ erzielen, weil die Symbole in der Symboltabelle des
+ Kernels Funktionseinstiegspunkte sind und die Adresse
+ des Instruktionszeiger irgendwo innerhalb einer
+ Funktion liegen wird und nicht am Anfang. Falls sie
+ keinen exakten Treffer erzielen, lassen Sie den
+ letzten Teil des Werts des Instruktionszeigers weg und
+ versuchen es nocheinmal, z.B.:
+
+
+&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
+
+
+ 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.
+
+
+
+ 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.
+
+ Der beste Weg, den Grund für eine Panik
+ herauszufinden, ist der, einen Crash-Dump festzuhalten und
+ dann gdb(1) zu benutzen, um den Stack
+ im Crash-Dump zurückzuverfolgen. Das setzt
+ natürlich voraus, das gdb(1) in
+ -CURRENT korrekt arbeitet, was ich nicht garantieren kann
+ (Ich erinnere mich an jemanden, der gesagt hat, daß
+ das neue ELF-gdb(1) Kernel-Crash-Dumps
+ nicht korrekt verarbeitet hat. Jemand sollte das
+ überprüfen, bevor 3.0 den Betastatus
+ verläßt, andernfalls könnte es einige rote
+ Gesichter geben, nachdem die CDs ausgeliefert worden
+ sind).
+
+ Jedenfalls ist die Methode, die ich normalerweise
+ benutze, folgende:
+
+
+
+ Richten Sie eine Kernelkonfigurationsdatei ein,
+ fügen Sie optional options DDB
+ hinzu, falls Sie glauben, daß Sie den
+ Kerneldebugger benötigen. (Ich benutze ihn
+ hauptsächlich zum Setzen von Haltepunkten, wenn
+ ich eine Endlosschleife irgendeiner Art
+ vermute.)
+
+
+
+ Benutzen Sie config -g
+ KERNELCONFIG, um
+ das Erstellungsverzeichnis einzurichten.
+
+
+
+ cd
+ /sys/compile/KERNELCONFIG;
+ make
+
+
+
+ Warten Sie, bis der Kernel fertig kompiliert
+ ist.
+
+
+
+ make install
+
+
+
+ reboot
+
+
+
+ Der &man.make.1;-Prozeß wird zwei Kernel
+ erstellt haben: kernel und
+ kernel.debug.
+ kernel wurde als
+ /kernel installiert, während
+ kernel.debug als Quelle für
+ Debuggersymbole für gdb(1) benutzt werden
+ kann.
+
+ Um sicherzustellen, daß ein Crash-Dump erhalten
+ bleibt, müssen Sie
+ /etc/rc.config editieren und
+ dumpdev so setzen, daß es auf
+ Ihre Swap-Partition zeigt. Das bewirkt, daß die
+ rc(8)-Skripte den Befehl
+ dumpon(8) benutzen, um Crash-Dumps zu
+ ermöglichen. Sie können
+ dumpon(8) auch manuell ausführen.
+ Nach einer Panik kann der Crash-Dump mit
+ savecore(8) wiederhergestellt werden;
+ wenn dumpdev in
+ /etc/rc.conf gesetzt ist, werden die
+ rc(8)-Skripte
+ savecore(8) automatisch ausführen
+ und den Crash-Dump unter /var/crash
+ ablegen.
+
+
+
+ Crash-Dumps von FreeBSD sind für
+ gewöhnlich genauso groß wie der
+ physikalische Hauptspeicher Ihres Rechners. D.h.,
+ wenn Sie 64MB RAM haben, werden sie einen 64MB
+ Crash-Dump erhalten. Deshalb müssen Sie
+ dafür sorgen, daß genügend
+ Speicherplatz in /var/crash zur
+ Verfügung steht, um den Dump aufnehmen zu
+ können. Alternativ führen Sie
+ 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 options
+ MAXMEM=(foo) benutzt wird, um den Speicher,
+ den der Kernel benutzt, auf einen etwas
+ vernünftigeren Wert zu setzen. Wenn Sie z.B.
+ 128MB RAM haben, können Sie die Speicherbenutzung
+ des Kernels auf 16MB begrenzen, so daß die
+ Größe Ihres Crash-Dumps 16MB anstatt 128MB
+ beträgen wird.
+
+
+
+ Wenn Sie den Crash-Dump wiederhergestellt haben,
+ können Sie den Stack mit gdb(1) so
+ zurückverfolgen:
+
+
+&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
+(gdb)where
+
+
+ Beachten Sie, daß es mehrere Seiten mit
+ wertvollen Informationen geben könnte; idealerweise
+ sollten Sie script(1) benutzen, um sie
+ alle festzuhalten. Wenn Sie das vollständige
+ Kernelimage mit allen Debugginginformationen benutzen,
+ müßten Sie exakt die Zeile des
+ Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
+ Für gewöhnlich müssen Sie den Stack von
+ unten an zurückverfolgen, um die genaue
+ Ereignisabfolge, die zum Crash führte,
+ zurückzuverfolgen. Sie können
+ gdb(1) auch zum Ausdrucken der Inhalte
+ verschiedener Variablen oder Strukturen benutzen, um den
+ Systemstatus zum Zeitpunkt des Absturzes zu
+ untersuchen.
+
+ Wenn Sie nun wirklich verrückt sind und einen
+ zweiten Computer haben, können Sie
+ gdb(1) auch für entferntes
+ Debugging konfigurieren, so daß Sie
+ 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.
+
+ [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]
+
+
+
+
+
+ dlsym() funktioniert nicht mehr für
+ ELF-Executables!
+
+
+
+ Die ELF-Werkzeuge machen die in einem Executable
+ definierten Symbole dem dynamischen Linker nicht
+ standardmäßig sichtbar. Konsequenterweise
+ werden dlsym()-Suchen nach Handlern
+ aus Aufrufen von dlopen(NULL, flags)
+ diese Symbole nicht finden können.
+
+ Wenn Sie mit dlsym() nach im
+ Hauptexecutable eines Prozesses vorhandenen Symbolen
+ suchen wollen, müssen Sie das Executable mit der
+ Option von &man.ld.1;
+ linken.
+
+
+
+
+
+ Erhöhung oder Verminderung des
+ Kernel-Adreßraums
+
+
+
+ Standardmäßig beträgt der
+ Adreßraum des Kernels 256MB (FreeBSD 3.x) bzw. 1 GB
+ (FreeBSD 4.x). Wenn Sie einen netzwerkintensiven Server
+ (z.B. einen großen FTP- oder HTTP-Server) betreiben,
+ kann es sein, daß Sie der Meinung sind, daß
+ 256MB nicht ausreichen.
+
+ Wie also erhöhen Sie den Adreßraum? Hier
+ gibt es zwei Aspekte. Erstens müssen Sie dem Kernel
+ sagen, daß er einen grösseren Anteil des
+ Adreßraums für sich selbst reservieren soll.
+ Da der Kernel am oberen Ende des Adreßraums geladen
+ wird, müssen Sie zweitens die Ladeadresse verringern,
+ damit er mit dem Kopf nicht gegen die Obergrenze
+ stößt.
+
+ Das erste Ziel erreicht man, indem man den Wert von
+ NKPDE in
+ src/sys/i386/include/pmap.h
+ erhöht. Für einen Adreßraum von 1 GB
+ sieht das so aus:
+
+
+#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
+
+
+ Dividieren Sie die gewünschte
+ Adreßraumgröße (in Megabyte) durch vier
+ und subtrahieren Sie dann eins für UP und zwei
+ für SMP, um den korrekten Wert für
+ NKPDE zu finden.
+
+ Um das zweite Ziel zu erreichen müssen Sie die
+ korrekte Ladeadresse berechnen: subtrahieren Sie einfach
+ die Größe des Adreßraums (in Byte) von
+ 0x100100000; für einen Adreßraum von 1 GB
+ lautet das Ergebnis 0xc0100000. Setzen Sie
+ LOAD_ADDRESS in
+ src/sys/i386/conf/Makefile.i386 auf
+ diesen Wert; setzen Sie dann den Location-Counter am
+ Anfang der Abschnittsliste in
+ src/sys/i386/conf/kernel.script auf
+ denselben Wert:
+
+
+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) }
+
+
+ Konfigurieren und erstellen Sie Ihren Kernel dann neu.
+ Sie werden vermutlich Probleme mit ps,
+ top und ähnlichen Programmen
+ haben. Ein make world sollte diese
+ beheben; alternativ können Sie die gepatchte
+ pmap.h in das Verzeichnis
+ /usr/include/vm kopieren und danach
+ libkvm, ps und
+ top neu erzeugen.
+
+ Hinweis: die Größe des
+ Kernel-Adreßraums muß ein Vielfaches von vier
+ Megabyte betragen.
+
+ [&a.dg; fügt hinzu: Ich glaube, der
+ Kerneladreßraum muß eine Zweierpotenz sein,
+ aber ich bin mir dessen nicht sicher. Der alte
+ (ältere) Bootcode pflegte die oberen Adreßbits
+ zu mißbrauchen und ich glaube, er erwartete
+ mindestens 256MB Granularität.]
+
+
+
+
+
+
+ DANKSAGUNG
+
+
+ FreeBSD Core Team
+
+ Falls Sie ein Problem in dieser FAQ entdecken, oder einen
+ Eintrag einsenden möchten, senden Sie uns bitte eine Mail
+ an &a.faq; Wir schätzen Ihr Feedback und können
+ diese FAQ ohne Ihre Hilfe nicht verbessern!
+
+
+
+ Originalversion
+
+
+ &a.jkh;
+
+
+ Gelegentliche Anpassungen von Umstrukturierungen der
+ FAQ und Aktualisierung.
+
+
+
+
+
+
+ &a.dwhite;
+
+
+ Dienste über Pflichtbesuche in freebsd-questions
+ hinaus
+
+
+
+
+
+
+ &a.joerg;
+
+
+ Dienste über Pflichtbesuche im Usenet
+ hinaus
+
+
+
+
+
+
+ &a.wollman;
+
+
+ Netzwerke und Formatierung
+
+
+
+
+
+
+ Jim Lowe
+
+
+ Multicast-Informationen
+
+
+
+
+
+
+ &a.pds;
+
+
+ Schreibmaschinenknecht der FreeBSD-FAQ
+
+
+
+
+
+
+ Das FreeBSD-Team
+
+
+ Nörgeln, Stöhnen, Einsenden von
+ Daten
+
+
+
+
+ Folgende Personen haben durch die Beantwortung von Fragen,
+ sowie durch Hinweise und Kommentare an der Entstehung der
+ deutschen Übersetzung mitgewirkt:
+
+
+
+ Ross Alexander
+
+
+
+ &a.jhb;
+
+
+
+ &a.nik;
+
+
+
+ Glen Foster
+
+
+
+ Oliver Fromme
+
+
+
+ Frank Gruender
+
+
+
+ Chris Hill
+
+
+
+ James Howard
+
+
+
+ &a.jkh;
+
+
+
+ &a.alex;
+
+
+
+ &a.jmas;
+
+
+
+ Mike Meyer
+
+
+
+ Dan O'Connor
+
+
+
+ Eric Ogren
+
+
+
+ &a.de.pierau;
+
+
+
+ Christoph Sold
+
+
+
+ Und an alle anderen, an die wir nicht gedacht haben.
+ Entschuldigung und herzlichen Dank!
+
+
diff --git a/de_DE.ISO_8859-1/books/faq/Makefile b/de_DE.ISO_8859-1/books/faq/Makefile
new file mode 100644
index 0000000000..e2148ca58d
--- /dev/null
+++ b/de_DE.ISO_8859-1/books/faq/Makefile
@@ -0,0 +1,30 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD German Documentation Project
+#
+# Build the FreeBSD FAQ in the German translation
+#
+# $FreeBSD$
+# $FreeBSDde: de-docproj/books/faq/Makefile,v 1.4 2001/02/01 21:24:28 alex Exp $
+#
+
+MAINTAINER=de-bsd-translators@DE.FreeBSD.org
+
+DOC?= book
+
+FORMATS?= html-split html
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+#
+# SRCS lists the individual SGML files that make up the document. Changes
+# to any of these files will force a rebuild
+#
+
+# SGML content
+SRCS= book.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO_8859-1/books/faq/book.sgml b/de_DE.ISO_8859-1/books/faq/book.sgml
new file mode 100644
index 0000000000..1646022c32
--- /dev/null
+++ b/de_DE.ISO_8859-1/books/faq/book.sgml
@@ -0,0 +1,13672 @@
+
+%man;
+
+%authors;
+
+%translators;
+]>
+
+
+
+
+
+ Häufig gestellte Fragen zu FreeBSD 2.X, 3.X und
+ 4.X
+
+ Frequently Asked Questions für FreeBSD 2.X, 3.X und
+ 4.X
+
+
+ The FreeBSD German Documentation
+ Project
+
+
+ Deutsche Übersetzung von Robert S. F.
+ Drehmel, Dirk Gouders und Udo Erdelhoff
+
+
+
+ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.110 2001/01/29 21:14:39 ue Exp $
+
+
+ Dies ist die FAQ für die FreeBSD-Versionen 2.X, 3.X
+ und 4.X. Alle Einträge sollten für FreeBSD ab
+ Version 2.0.5 relevant sein, andernfalls wird darauf explizit
+ hingewiesen. Alle mit <XXX> gekennzeichneten
+ Einträge befinden sich in Arbeit. Falls Sie daran
+ interessiert sein sollten, an diesem Projekt mitzuhelfen,
+ senden Sie eine Mail an die Mailingliste des FreeBSD German
+ Documentation Project
+ de-bsd-translators@de.FreeBSD.org. Die
+ aktuelle Version dieses Dokuments ist ständig auf dem
+ FreeBSD
+ World-Wide-Web-Server verfügbar. Es kann auch
+ per HTTP als eine große HTML-Datei heruntergeladen werden oder
+ als Textdatei, im PostScript-, PDF- und anderen Formaten vom
+ FreeBSD
+ FTP-Server. Sie können die FAQ auch
+ durchsuchen.
+
+
+
+
+ Vorwort
+
+ Willkommen zur FreeBSD 2.X-4.X FAQ!
+
+ Wie auch bei den Usenet FAQs üblich, wird mit diesem
+ Dokument beabsichtigt, die am häufigsten gestellten Fragen
+ bezüglich des Betriebssystems FreeBSD zu umschließen
+ (und sie natürlich 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.
+
+ Wir haben uns die größte Mühe gegeben, diese
+ FAQ so lehrreich wie möglich zu gestalten; falls Sie
+ irgendwelche Vorschläge haben, wie sie verbessert werden
+ kann, senden Sie diese bitte an den &a.faq;.
+
+
+
+
+ Was ist FreeBSD?
+
+
+
+ FreeBSD ist, kurz gesagt, ein UN*X-ähnliches
+ Betriebssystem für die Plattformen i386 und
+ Alpha/AXP, das auf der 4.4BSD-Lite-Release
+ der University of California at Berkeley (UCB) basiert;
+ außerdem flossen einige Erweiterungen aus der
+ 4.4BSD-Lite2-Release mit ein. Es basiert
+ außerdem indirekt auf der von William Jolitz unter
+ dem Namen 386BSD herausgebrachten
+ Portierung der Net/2-Release der UCB auf
+ die i386-Plattform - allerdings ist nur wenig vom
+ 386BSD-Code übriggeblieben. Eine umfassendere
+ Beschreibung darüber, was FreeBSD ist und wie Sie es
+ für Ihre Zwecke verwenden können, finden Sie auf
+ der FreeBSD home
+ page.
+
+ Unternehmen, Internet Service Provider, Forscher,
+ Computerfachleute, Studenten und Privatnutzer auf der
+ ganzen Welt nutzen FreeBSD für die Arbeit, die
+ Ausbildung oder zur Freizeitgestaltung. Sie finden einige
+ von ihnen in der FreeBSD
+ Gallerie.
+
+ Ausführlichere Informationen zu FreeBSD, finden
+ Sie im FreeBSD
+ Handbuch.
+
+
+
+
+
+ Welches sind die Ziele von FreeBSD?
+
+
+
+ Die Ziele von FreeBSD sind es, Software zur Nutzung
+ für beliebige Zwecke, bedingungslos zur
+ Verfügung zu stellen. Viele von uns haben
+ entscheidend zur Erstellung des Codes (und zum Projekt)
+ beigetragen und hätten jetzt oder in Zukunft
+ sicherlich nichts gegen einen geringen finanziellen
+ Ausgleich einzuwenden, aber wir beabsichtigen definitiv
+ nicht, darauf zu bestehen. Wir sind der Meinung,
+ daß unsere Mission 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.
+
+ Der Code in unserem Quellbaum, der der GNU General
+ Public License (GPL) oder der GNU Library General Public
+ License (LGPL) unterliegt, ist mit zusätzlichen,
+ geringfügigen Bedingungen verknüpft, jedoch
+ handelt es sich dabei lediglich um erzwungene
+ Bereitstellung statt des sonst üblichen Gegenteils.
+ Auf Grund der zusätzlichen Komplexität, die
+ durch den kommerziellen Einsatz von GPL Software entstehen
+ kann, bemühen wir uns jedoch, solche Software, wo
+ möglich, durch solche, die dem etwas lockereren BSD
+ Copyright unterliegt, zu ersetzen.
+
+
+
+
+
+ Warum heißt es FreeBSD?
+
+
+
+
+
+ Es darf kostenlos genutzt werden - sogar von
+ kommerziellen Benutzern.
+
+
+
+ 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.
+
+
+
+ Jedem ist es freigestellt, Code für
+ Verbesserungen und/oder die Behebung von Fehlern
+ einzusenden und ihn zum Quellbaum hinzufügen zu
+ lassen (dies ist natürlich Gegenstand von ein
+ oder zwei offensichtlichen Klauseln).
+
+
+
+ Es wird darauf hingewiesen, daß das englisch
+ Wort free hier in den Bedeutungen
+ umsonst und Sie können tun, was
+ immer Sie möchten genutzt wird. Abgesehen
+ von ein oder zwei Dingen, die Sie mit dem FreeBSD-Code
+ nicht tun können (z.B. vorgeben,
+ ihn geschrieben zu haben), können Sie damit
+ tatsächlich tun, was auch immer Sie
+ möchten.
+
+
+
+
+
+ Welches ist die aktuelle FreeBSD-Version?
+
+
+
+ Version 4.2
+ ist die aktuelle, STABLE Version; sie
+ ist im November 2000 erschienen. Gleichzeitig ist sie
+ auch die aktuelle
+ RELEASE-Version.
+
+ Kurz erläutert, -STABLE ist
+ für ISPs und andere Benutzer gedacht, die mehr Wert
+ auf Stabilität und eine niedrige
+ Änderungsfrequenz als auf die neuesten Features im
+ aktuellen -CURRENT Snapshot legen.
+ Releases können aus jedem Zweig entstehen, Sie
+ sollten -CURRENT allerdings nur dann
+ benutzen, wenn Sie auf die erhöhte Flüchtigkeit
+ (im Vergleich zu -STABLE) auch
+ vorbereitet sind.
+
+ Releases entstehen nur alle paar Monate. Viele
+ Leute halten ihre Systeme aktueller (lesen Sie die Fragen
+ zu FreeBSD-CURRENT und
+ FreeBSD-STABLE), aber das
+ erfordert ein erhöhtes Engagement, da die Sourcen
+ sich ständig verändern.
+
+
+
+
+
+ Was ist FreeBSD-CURRENT?
+
+
+
+
+ FreeBSD-CURRENT ist die Entwicklungsversion des
+ Betriebssystems, die zu gegebener Zeit zu 5.0-RELEASE
+ werden wird. Als solche ist sie lediglich für
+ Entwickler, die am System mitarbeiten und für
+ unentwegte Bastler von Interesse. Details zum Betrieb von
+ -CURRENT finden Sie im
+ entsprechenden Abschnitt des Handbuchs.
+
+ Falls Sie nicht mit dem Betriebssystem vertraut sind
+ oder nicht in der Lage sein sollten, den Unterschied
+ zwischen einen echten und einem temporären Problem zu
+ erkennen, sollten Sie FreeBSD-CURRENT nicht verwenden.
+ Dieser Zweig entwickelt sich manchmal sehr schnell weiter
+ und kann gelegentlich für mehrere Tage hintereinander
+ nicht installierbar sein. Von Personen, die
+ FreeBSD-CURRENT verwenden, wird erwartet, daß Sie
+ dazu in der Lage sind, Probleme zu analysieren und nur
+ dann von ihnen berichten, wenn es sich um Fehler und nicht
+ um kurzzeitige Störungen handelt.
+ Fragen wie make world produziert Fehlermeldungen
+ bezüglich Gruppen werden in der -CURRENT
+ Mailingliste manchmal nicht beachtet.
+
+ Jeden Tag wird der aktuelle Entwicklungsstand in den
+ Zweigen -CURRENT und -STABLE in einer Snapshot
+ Releases festgehalten. Mittlerweile werden sogar CDROM
+ Distributionen dieser gelegentlichen Snapshots zur
+ Verfügung gestellt. Die Ziele dieser Snapshot
+ Releases sind:
+
+
+
+ Die aktuelle Version der Installationssoftware zu
+ testen.
+
+
+
+ Personen, die -CURRENT oder -STABLE benutzen
+ möchten, aber nicht über die nötige
+ Zeit und/oder Bandbreite verfügen, um
+ tagesaktuell zu bleiben, soll eine bequeme
+ Möglichkeit geboten werden, es auf ihr System zu
+ bringen.
+
+
+
+ Die Erhaltung von Referenzpunkten des fraglichen
+ Codes, für den Fall, daß wir später
+ einmal ernsthaften Schaden anrichten sollten (obwohl
+ CVS verhindern sollte, daß solche Situationen
+ entstehen :)
+
+
+
+ Sicherzustellen, daß zu testende, neue
+ Merkmale an eine möglichst großen Zahl
+ potentieller Tester gelangen.
+
+
+
+ Von keinem -CURRENT Snapshot kann
+ Produktionsqualität 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.
+
+ Snapshot Releases von 5.0-CURRENT sind unter
+ ftp://current.FreeBSD.org/pub/FreeBSD/
+ verfügbar; wenn Sie einen Snapshot von 4-STABLE
+ erhalten möchten, lautet die Adresse releng4.FreeBSD.org.
+ Zur Zeit (Mai 2000) werden keine Snapshots von 3-STABLE
+ erstellt.
+
+ In der Regel wird jeden Tag ein Snapshot jedes zur
+ Zeit aktiven Zweiges erstellt.
+
+
+
+
+
+ Was ist das Konzept von FreeBSD-STABLE?
+
+
+
+ Zur Zeit, als FreeBSD 2.0.5 herausgegeben wurde, haben
+ wir entschieden, die Entwicklung von FreeBSD zweizuteilen.
+ Ein Zweig wurde -STABLE genannt. In
+ diesem Zweige werden nur ausgetestete Fehlerbehebungen und
+ kleine, inkrementelle Änderungen aufgenommen. Dieser
+ Zweig ist für Anbieter von Internetdiensten und
+ andere kommerzielle Unternehmen gedacht, für die
+ plötzliche Veränderungen und experimentelle
+ Features unerwünscht sind. Der andere Zweig war
+ -CURRENT.
+ Im wesentlichen stellt eine ununterbrochene Linie zum
+ 4.0-RELEASE (und darüber hinaus) dar, seit 2.0
+ herausgegeben worden ist. Die folgende ASCII-Zeichnung
+ soll verdeutlichen, wie das aussieht:
+
+
+ 2.0
+ |
+ |
+ | [2.1-STABLE]
+ *ZWEIG* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-STABLE endet]
+ | (März 1997)
+ |
+ |
+ | [2.2-STABLE]
+ *ZWEIG* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [Ende]
+ | (März 1997) (Okt 97) (Apr 98) (Jul 98) (Dez 98)
+ |
+ |
+ 3.0-SNAPs (begonnen im 1. Quartal 1997)
+ |
+ |
+ 3.0-RELEASE (Okt 1998)
+ |
+ | [3.0-STABLE]
+ *ZWEIG* 3.1-RELEASE (Feb 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1
+ | (Mai 1999) (Sep 1999) (Dec 1999) (Jun 2000) (Juli 2000)
+ |
+ | [4.0-STABLE]
+ *ZWEIG* 4.0 (März 2000) -> 4.1 -> 4.1.1 -> 4.2 -> ... zukünftige 4.x Releases ...
+ | (Jul 2000) (Sep 2000) (Nov 2000)
+ |
+ |
+ \|/
+ +
+ [5.0-CURRENT wird fortgesetzt]
+
+
+ Der -CURRENT-Zweig entwickelt sich langsam in Richtung
+ 5.0 und darüber hinaus weiter. Der frühere
+ 2.2-STABLE-Zweig wurde mit der Version 2.2.8 stillgelegt
+ und wurde durch 3-STABLE ersetzt, 3.5.1 (die letzte
+ 3.x-Release) erschien im Juli 2000. Im Mai 2000 wurde der
+ Zweig 3-STABLE fast völlig von 4-STABLE ersetzt (auch
+ wenn 3.5 erst nach diesem Zeitpunkt herausgegeben wurde).
+ 4.2-RELEASE erschien im November 2000. 4-STABLE ist der
+ Zweig, auf den sich die Entwicklung zur Zeit konzentriert,
+ aber wichtige Fehlerkorrekturen (hauptsächlich im
+ Bereich Sicherheit) werden immer noch auf 3-STABLE
+ übertragen. Der 3.x-Zweig wird wahrscheinlich im
+ Sommer 2000 offiziell eingestellt. 5.0-CURRENT ist jetzt
+ der aktive Zweig, ein Datum für eine
+ Release steht noch nicht fest.
+
+
+
+
+
+ Wann werden FreeBSD-Versionen erstellt?
+
+
+
+ Prinzipiell gibt das FreeBSD Core Team nur dann neue
+ FreeBSD-Versionen heraus, wenn es der Meinung ist,
+ daß genügend neue Bestandteile und/oder
+ Fehlerkorrekturen vorliegen, die dies rechtfertigen.
+ Außerdem muß es davon überzeugt sind,
+ daß die durchgeführten Änderungen derart
+ ins System integriert sind, daß eine
+ Beeinträchtigung der Stabilität der Version
+ ausgeschlossen ist. Viele Benutzer halten dies für
+ einen großen Vorteil von FreeBSD, obwohl es manchmal
+ frustrierend sein kann, so lange auf die
+ Verfügbarkeit der aktuellsten Leckerbissen zu
+ warten...
+
+ Neue Versionen werden durchschnittlich alle vier
+ Monate erstellt.
+
+ Für diejenigen, die ein wenig mehr Spannung
+ brauchen (oder möchten), werden täglich
+ Snapshots herausgegeben... siehe oben.
+
+
+
+
+
+ Gibt es FreeBSD nur für PCs?
+
+
+
+ Seit Version 3.0 ist FreeBSD für die DEC
+ Alpha und x86 Architekturen verfügbar. Es
+ wurde auch Interesse an einer Portierung auf die
+ Plattformen SPARC, PowerPC und IA64 bekundet.
+
+ Falls Ihre Maschine eine andere Architektur aufweist
+ und Sie unbedingt sofort etwas benötigen, schlagen
+ wir vor, daß Sie sich einmal NetBSD oder OpenBSD
+ ansehen.
+
+
+
+
+
+ Wer ist für FreeBSD verantwortlich?
+
+
+
+ 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 Core
+ Team von etwa 9 Personen geführt. Es gibt
+ ein weitaus größeres Team von über 200
+ Committers,
+ die dazu autorisiert sind, Änderungen am FreeBSD
+ Quellbaum durchzuführen.
+
+ Jedoch werden die meisten nicht-trivialen
+ Änderungen zuvor in den Mailinglisten diskutiert und es
+ bestehen keinerlei Einschränkungen darüber, wer
+ sich an diesen Diskussionen beteiligen darf.
+
+
+
+
+
+ Woher kann ich FreeBSD erhalten?
+
+
+
+ Jede bedeutende Ausgabe von FreeBSD ist per
+ Anonymous-FTP vom FreeBSD FTP
+ Server erhältlich:
+
+
+
+ Die aktuelle Ausgabe von 3.X-STABLE,
+ 3.5.1-RELEASE, finden Sie im Verzeichnis
+ 3.5.1-RELEASE.
+
+
+
+ Die aktuelle Ausgabe von 4-STABLE, 4.2-RELEASE,
+ finden Sie im Verzeichnis
+ 4.2-RELEASE.
+
+
+
+ 4.X
+ Snapshots werden in der Regel einmal
+ täglich erstellt.
+
+
+
+ Einmal täglich werden 5.0
+ Snapshot Ausgaben vom -CURRENT-Zweig erstellt, die
+ allerdings nur den Testern und Entwicklern an
+ vorderster Front dienen.
+
+
+
+ FreeBSD ist außerdem auf CDROM von folgenden
+ Stellen erhältlich:
+
+ BSDi
+4041 Pike Lane, Suite F
+Concord, CA
+94520
+USA
+
+Orders: +1 800 786-9907
+Questions: +1 925 674-0783
+FAX: +1 925 674-0821
+email: BSDi Orders address
+WWW: BSDi Home page
+
+ In Australia, finden Sie es unter:
+
+ Advanced Multimedia Distributors
+Factory 1/1 Ovata Drive
+Tullamarine, Melbourne
+Victoria
+Australia
+Voice: +61 3 9338 6777
+
+CDROM Support BBS
+17 Irvine St
+Peppermint Grove, WA
+6011
+Voice: +61 9 385-3793
+Fax: +61 9 385-2360
+
+ Und in Großbritannien:
+
+ The Public Domain & Shareware Library
+Winscombe House, Beacon Rd
+Crowborough
+Sussex. TN6 1UL
+Voice: +44 1892 663-298
+Fax: +44 1892 667-473
+
+
+
+
+
+ Woher bekomme ich Informationen zu den FreeBSD
+ Mailinglisten?
+
+
+
+ Vollständige Informationen finden Sie im Handbucheintrag
+ über Mailinglisten.
+
+
+
+
+
+ Wo finde ich die FreeBSD-spezifischen Informationen
+ zum Jahr-2000-Problem?
+
+
+
+ Vollständige Informationen finden Sie auf der
+ FreeBSD
+ Jahr-2000-Seite.
+
+
+
+
+
+ Welche Newsgruppen existieren zu FreeBSD?
+
+
+
+ Sie finden alle Informationen hierzu im Handbucheintrag zu
+ Newsgruppen.
+
+
+
+
+
+ Gibt es FreeBSD IRC (Internet Relay Chat)
+ Kanäle?
+
+
+
+ Ja, die meisten großen IRC Netze bieten einen
+ FreeBSD Chat-Channel:
+
+
+
+ Channel FreeBSD im EFNet ist
+ ein FreeBSD-Forum, aber gehen Sie nicht dorthin, um
+ technische Unterstützung zu suchen, oder, um zu
+ versuchen, die Leute dort dazu zu bringen, Ihnen dabei
+ zu Helfen, das mühselige Lesen von Manuals zu
+ ersparen oder eigene Nachforschungen zu betreiben. Es
+ ist in erster Linie ein Chat-Channel und die Themen
+ dort umfassen Sex, Sport oder Kernwaffen ebensogut,
+ wie FreeBSD. Sie wurden gewarnt! Der Channel ist auf
+ dem Server irc.chat.org
+ verfügbar.
+
+
+
+ Der Channel #FreeBSDhelp im
+ EFNet hat sich dagegen auf die Unterstützung der
+ Benutzer von FreeBSD spezialisiert. In diesem Channel
+ sind Fragen deutlich willkommener als im Channel
+ #FreeBSD.
+
+
+
+ Der Channel #FreeBSD im DALNET
+ ist in den USA unter irc.dal.net und
+ in Europa unter irc.eu.dal.net
+ verfügbar.
+
+
+
+ Der Channel #FreeBSD im
+ UNDERNET ist in den USA unter
+ us.undernet.org und in Europa unter
+ eu.undernet.org verfügbar. Es
+ handelt sich hierbei um einen Hilfe-Channel, man wird
+ Sie daher auf Dokumente verweisen, die Sie selbst
+ lesen müssen.
+
+
+
+ Der Channel #FreeBSD im HybNet ist auf
+ irc.FreeBSD.org verfübar.
+ Dieser Channel ist ein
+ Hilfe-Channel.
+
+
+
+ Alle diese Kanäle unterscheiden sich voneinander
+ und sind nicht miteinander verbunden. Ebenso
+ unterscheiden sich Ihre Chat-Stile, weshalb es sein kann,
+ daß Sie zunächst alle Kanäle ausprobieren
+ müssen, um den zu Ihrem Chat-Stil passenden zu
+ finden. Hier gilt, was für *jeden* IRC-Verkehr gilt:
+ falls sie sich leicht angegriffen fühlen oder nicht
+ mit vielen jungen (und einigen älteren) Leuten,
+ verbunden mit dem nutzlosen Gezanke umgehen können,
+ dann ziehen Sie es gar nicht erst in
+ Erwägung.
+
+
+
+
+
+ Bücher über FreeBSD
+
+
+
+ Es gibt ein FreeBSD Documentation Project, das Sie
+ über die Mailingliste freebsd-doc
+ erreichen (oder an dem Sie besser noch teilnehmen)
+ können: freebsd-doc@FreeBSD.org.
+ Diese Liste dient zu Diskussionen über die
+ FreeBSD-Dokumentation. Für Fragen bezüglich
+ FreeBSD gibt es die
+ freebsd-questions-Mailingliste:
+ freebsd-questions@FreeBSD.org.
+
+ Es gibt ein FreeBSD-Handbuch, das sie
+ hier finden: Das
+ FreeBSD-Handbuch. Beachten Sie bitte, daß
+ es sich noch in Arbeit befindet, weshalb einige Teile
+ nicht vollständig oder veraltet sein
+ könnten.
+
+ The Complete FreeBSD heißt der
+ definitive Führer zu FreeBSD, verfaßt von Greg
+ Lehey und herausgegeben von BSDi (früher Walnut
+ Creek) CDROM Books. Mittlerweile in der zweiten Ausgabe,
+ enthält das Buch 1750 Seiten mit Anweisungen zur
+ Installation & Systemadministration, Hilfe zur
+ Programmeinrichtung und Manuals. Das Buch (und die
+ aktuelle FreeBSD-Ausgabe) können Sie bei BSDi, bei CheapBytes oder
+ bei Ihrem Buchhändler bestellen. Die ISBN lautet
+ 1-57176-227-2.
+
+ Da FreeBSD auf Berkeley 4.4BSD-Lite basiert, sind die
+ meisten 4.4BSD Manuals für FreeBSD anwendbar.
+ O'Reilly and Associates geben diese Manuals
+ heraus:
+
+
+
+
+
+
+
+ 4.4BSD System Manager's Manual
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 804 pages
+
+
+
+ ISBN:
+ 1-56592-080-5
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD User's Reference Manual
+
+
+
+ By Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 905 pages
+
+
+
+ ISBN:
+ 1-56592-075-9
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD User's Supplementary
+ Documents
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition July 1994, 712 pages
+
+
+
+ ISBN:
+ 1-56592-076-7
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD Programmer's Reference Manual
+
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition June 1994, 886 pages
+
+
+
+ ISBN:
+ 1-56592-078-3
+
+
+
+
+
+
+
+
+
+
+
+ 4.4BSD Programmer's Supplementary
+ Documents
+
+
+
+ Computer Systems Research Group, UC
+ Berkeley
+
+
+
+ 1st Edition July 1994, 596 pages
+
+
+
+ ISBN:
+ 1-56592-079-1
+
+
+
+
+
+
+
+ Eine Beschreibung im WWW finden Sie unter: Beschreibung
+ zu 4.4BSD Büchern. Aufgrund geringer
+ Nachfrage könnten diese Manuals aber schwer zu
+ bekommen sein.
+
+ Für einen tieferen Einblick in die Organisation
+ des 4.4BSD-Kernels können Sie mit diesem Buch nichts
+ falsch machen:
+
+
+
+
+
+ McKusick, Marshall Kirk, Keith Bostic,
+ Michael J Karels, and John Quarterman
+
+
+
+ The Design and Implementation of the 4.4BSD
+ Operating System
+
+
+
+ Reading, Mass.: Addison-Wesley, 1996
+
+
+
+ ISBN
+ 0-201-54979-4
+
+
+
+
+
+ Ein gutes Buch zur Systemadministration:
+
+
+
+
+
+ Evi Nemeth, Garth Snyder, Scott Seebass &
+ Trent R. Hein
+
+
+
+ Unix System Administration Handbook
+
+
+
+ Prentice-Hall, 1995
+
+
+
+ ISBN:
+ 0-13-151051-7
+
+
+
+
+
+
+
+ Achten Sie unbedingt darauf, daß Sie die
+ zweite Ausgabe im roten Umschlag, anstatt der ersten
+ Version bekommen.
+
+
+
+ Dieses Buch umfaßt Grundlagen, sowie TCP/IP,
+ DNS, NFS, SLIP/PPP, Sendmail, INN/NNTP, Printing, usw.
+ Das Buch ist zwar teuer (etwa US$45-$55), aber
+ seinen Preis wert. Außerdem enthält es eine
+ CDROM mit dem Quellcode für verschiedene Werkzeuge;
+ allerdings sind die meisten von ihnen auch auf der FreeBSD
+ 2.2.6R CDROM (und die FreeBSD-CDROM enthält
+ häufig neuere Versionen).
+
+
+
+
+
+ Wie greife ich auf die Datenbank mit Problemberichten
+ zu?
+
+
+
+ Die Datenbank mit Problemberichten (PR - Problem
+ Report) Änderungsanfragen von Benutzern kann
+ über die Web-basierte PR- Abfrage-Schnittstelle
+ abgefragt und über das PR-Einsende-Interface
+ können Einsendungen vorgenommen werden. Der
+ send-pr(1)-Befehl kann auch dazu
+ genutzt werden, Problemberichte oder
+ Änderungsanträge per Email einzusenden.
+
+
+
+
+
+ Ist die Dokumentation auch in anderen Formaten
+ verfügbar? Zum Beispiel als einfacher Text (ASCII)
+ oder als Postscript?
+
+
+
+ Ja. Werfen Sie einen Blick auf das Verzeichnis /pub/FreeBSD/doc/
+ auf dem FreeBSD FTP-Server. Dort finden sie Dokumentation
+ in vielen verschiedenen Format.
+
+ Die Dokumentation wurde nach vielen verschiedenen
+ Kriterien sortiert. Die Kriterien sind:
+
+
+
+ Der Name des Dokumentes, z.B.
+ FAQ oder
+ Handbuch.
+
+
+
+ Die Sprache und der Zeichensatz, die in dem
+ Dokument verwendet werden. Diese entsprechen den
+ Anpassungen, die Sie auf Ihrem FreeBSD-System im
+ Verzeichnis /usr/share/locale
+ finden. Zur Zeit werden die folgenden Sprachen und
+ Zeichensätze benutzt:
+
+
+
+
+
+ Name
+
+ Bedeutung
+
+
+
+
+
+ en_US.ISO_8859-1
+
+ US Englisch
+
+
+
+ es_ES.ISO_8859-1
+
+ Spanisch
+
+
+
+ fr_FR.ISO_8859-1
+
+ Französisch
+
+
+
+ ja_JP.eucJP
+
+ Japanisch (EUC kodiert)
+
+
+
+ ru_RU.KOI8-R
+
+ Russisch (KOI8-R kodiert)
+
+
+
+ zh_TW.Big5
+
+ Chinisch (Big5 kodiert)
+
+
+
+
+
+
+ Einige Dokumente sind nicht in allen Sprachen
+ verfügbar.
+
+
+
+
+ Das Format des Dokumentes. Die Dokumentation wird
+ in verschiedenen Formaten erzeugt, um eine
+ möglichst große Flexibilität zu
+ erreichen. Zur Zeit werden die folgenden Formate
+ unterstützt.
+
+
+
+
+
+ Format
+
+ Erklärung
+
+
+
+
+
+ html-split
+
+ Viele kleine HTML-Dateien, die sich
+ gegenseitig referenzieren.
+
+
+
+ html
+
+ Eine große HTML-Datei, die das
+ komplette Dokument enthält.
+
+
+
+ pdb
+
+ Palm Pilot Datenbank für das
+ Programm iSilo.
+
+
+
+ pdf
+
+ Adobe's Portable Document Format
+
+
+
+ ps
+
+ Postscript
+
+
+
+ rtf
+
+ Microsoft's Rich Text Format
+
+ Die Seitennummern werden nicht
+ automatisch aktualisiert, wenn Sie diese
+ Datei in Word laden. Wenn Sie das
+ Dokument geladen haben, müssen Sie
+ Sie
+ CTRL+A,
+ CTRL+END,
+ F9 eingeben, um die
+ Seitennummern akualisieren zu
+ lassen.
+
+
+
+
+
+ txt
+
+ Ganz normaler Text
+
+
+
+
+
+
+
+ Das zur Komprimierung verwendete Programm. Zur
+ Zeit werden drei verschiedene Methoden
+ benutzt.
+
+
+
+ Wenn die Dokumentation im Format
+ html-split vorliegt, werden die
+ Dateien mit &man.tar.1; zusammengefaßt. Die
+ so entstandene .tar Datei
+ wird dann mit einer der unten genannten Methoden
+ komprimiert.
+
+
+
+ Bei allen anderen Formaten existiert nur eine
+ Datei mit dem Namen
+ book.format
+ (z.B., book.pdb,
+ book.html, und so
+ weiter).
+
+ Diese Dateien werden mit drei verschiedenen
+ Programmen komprimiert.
+
+
+
+
+
+ Programm
+
+ Beschreibung
+
+
+
+
+
+ zip
+
+ Das Zip Format. Wenn Sie diese
+ Dateien unter FreeBSD auspacken wollen,
+ müssen sie vorher den Port
+ archivers/unzip
+ installieren.
+
+
+
+ gz
+
+ Das GNU Zip format. Sie können
+ diese Dateien mit &man.gunzip.1;
+ entpacken, dieses Programm ist Bestandteil
+ von FreeBSD.
+
+
+
+ bz2
+
+ Das BZip2 Format. Es wird selten
+ benutzt, erzeugt aber normalerweise
+ kleinere Archive. Sie müssen den
+ Port archivers/bzip2
+ installieren, um diese Dateien entpacken
+ zu können.
+
+
+
+
+
+ Ein Beispiel: Die mit BZip2 gepackte Version
+ des Handbuchs im Postscript-Format hat den Namen
+ book.sgml.bz2 und ist im
+ Verzeichnis handbook/ zu
+ finden.
+
+
+
+ Die formatierte Dokumentation ist auch als
+ Package verfügbar, siehe unten.
+
+
+
+
+
+ Nachdem Sie das Format und das Kompressionsverfahren
+ ausgewählt haben, müssen Sie sich entscheiden,
+ ob Sie das Dokument in Form eines FreeBSD
+ Package herunterladen
+ möchten.
+
+ Der Vorteil dieser Variante, daß Sie die
+ Dokumentation mit normalen Tools wie &man.pkg.add.1; und
+ &man.pkg.delete.1; verwalten können.
+
+ Wenn Sie das Package herunterladen und installieren
+ wollen, müssen Sie den richtigen Dateinamen kennen.
+ Die Datei liegen in einem separaten Verzeichnis mit dem
+ Namen packages. Die Dateinamen
+ nutzen das Schema
+ Dokument-Name.Sprache.Zeichensatz.Format.tgz.
+
+ Ein Beispiel: Die englische Version der FAQ im
+ PDF-Format ist in dem Package mit dem Namen
+ faq.en_US.ISO_8859-1.pdf.tgz
+ enthalten.
+
+ Sie können daher das englische PDF FAQ Package
+ mit den folgenden Befehlen installieren.
+
+
+&prompt.root; pkg_add ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO_8859-1.pdf.tgz
+
+
+ Danach können Sie mit &man.pkg.info.1; nachsehen,
+ wno die Datei installiert wurde.
+
+
+&prompt.root; pkg_info -f faq.en_US.ISO_8859-1.pdf
+Information for faq.en_US.ISO_8859-1.pdf:
+
+Packing list:
+ Package name: faq.en_US.ISO_8859-1.pdf
+ CWD to /usr/share/doc/en_US.ISO_8859-1/books/faq
+File: book.pdf
+ CWD to .
+File: +COMMENT (ignored)
+File: +DESC (ignored)
+
+
+ Wie sie sehen können, wurde die Datei
+ book.pdf im Verzeichnis
+ /usr/share/doc/en_US.ISO_8859-1/books/faq
+ installiert.
+
+ Wenn sie die Packages nicht benutzen, müssen Sie
+ die komprimierten selber herunterladen, auspacken und die
+ richtigen Stellen kopieren.
+
+ Wenn Sie zum Beispiel die mit &man.gzip.1; gepackte
+ "split HTML"-Version der englischen FAQ herunterladen und
+ installieren wollten, bräuchten Sie die Datei
+ en_US.ISO_8859-1/books/faq/book.html-split.tar.gz.
+ Um diese Datei herunterzuladen und auszupacken, wären
+ die folgenden Schritte notwendig.
+
+
+&prompt.root; fetch ftp://ftp.de.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO_8859-1/books/faq/book.html-split.tar.gz
+&prompt.root; gzip -d book.html-split.tar.gz
+&prompt.root; tar xvf book.html-split.tar
+
+
+ Danach haben Sie eine Sammlung vieler kleiner
+ .html Datei. Die wichtigste Datei
+ hat Namen index.html 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.
+
+
+
+
+
+ Ich möchte einen FreeBSD-Web-Mirror
+ betreiben!
+
+
+
+ Sicherlich! Es gibt mehrere Möglichkeiten, die
+ Web-Seiten zu spiegeln.
+
+
+
+ Mit CVSUP: Sie
+ können die formatierten Dateien per
+ CVSUP von einem
+ entsprechenden Server bekommen.
+
+ Wie Sie die Webseiten erhalten können,
+ können Sie der entsprechender Beispieldatei
+ entnehmen, die auf Ihrem System als
+ /usr/share/examples/cvsup/www-supfile
+ verfübar sein sollte.
+
+
+
+ Mit einem FTP-Spiegel: Sie können sich die
+ eine Kopie der Quelldateien für den Web-Server
+ mit einem FTP-Spiegelwerkzeug Ihrer Wahl
+ herunterladen. Allerdings müssen Sie diese
+ Quelldateien erst übersetzen, bevor Sie sie
+ verwenden können. Starten Sie einfach bei
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www.
+
+
+
+
+
+
+
+ Ich möchte die Dokumentation in Friesisch
+ übersetzen.
+
+
+
+ Nun, wir können zwar nichts bezahlen, aber evtl.
+ können wir eine Gratis-CD oder ein T-Shirt und einen
+ Eintrag im Handbuch arrangieren, wenn Sie eine
+ Übersetzung der Dokumentation einsenden. Bevor Sie
+ mit der Übersetzung beginnen, sollten Sie sich
+ allerdings die Mailingliste
+ freebsd-doc wenden, die unter der
+ Adresse freebsd-doc@FreeBSD.org zu
+ erreichen ist. Es ist durchaus möglich, daß
+ Sie dort jemanden finden, der Ihnen bei der Arbeit hilft;
+ es ist genausogut möglich, daß ein Team bereits
+ an der Übersetzung in die von Ihnen gewünschte
+ Sprache arbeitet, dieses Team wird ihre Mithilfe
+ sicherlich nicht ablehnen.
+
+
+
+
+
+ Andere Informationsquellen.
+
+
+
+ In den folgenden Newsgruppen werden nützliche
+ Diskussionen für FreeBSD-Benutzer
+ geführt:
+
+
+
+ comp.unix.bsd.freebsd.announce
+ (moderiert)
+
+
+
+ comp.unix.bsd.freebsd.misc
+
+
+
+ comp.unix.bsd.misc
+
+
+
+ Webseiten:
+
+
+
+ Die FreeBSD Home
+ Page.
+
+
+
+ Falls Sie einen Laptop besitzen,
+ dann besuchen Sie auf alle Fälle Tatsumi
+ Hosokawa's Mobile Computing Page in
+ Japan.
+
+
+
+ Informationen zu SMP (Symmetric
+ MultiProcessing) finden Sie auf der SMP
+ support page.
+
+
+
+ Informationen zu
+ FreeBSD-Multimedia-Anwendungen finden Sie auf der
+ Multimedia-Seite.
+ Falls Sie speziell am Bt848
+ video capture chip interessiert sind, dann folgen Sie
+ dem Link.
+
+
+
+ Das FreeBSD-Handbuch enthält außerdem eine
+ ziemlich umfangreiche Bibliographie,
+ die es sich lohnt, anzusehen, falls Sie Bücher
+ suchen, die Sie sich kaufen möchten.
+
+
+
+
+
+
+ Installation
+
+
+
+
+ Welche Dateien muß ich herunterladen, um FreeBSD
+ zu bekommen?
+
+
+
+ Vor dem 3.1-RELEASE benötigte man nur ein
+ Floppy-Image, floppies/boot.flp, um
+ FreeBSD zu installieren. Seit dem 3.1-RELEASE haben wir
+ jedoch Unterstützung für eine Vielfalt von
+ Hardware hinzugefügt, weshalb man nun für 3.x-
+ und 4.x-RELEASE zwei Floppy-Images
+ floppies/kernel.flp und
+ floppies/mfsroot.flp benötigt.
+ Diese Images müssen mit Hilfe von Werkzeugen wie
+ fdimage oder &man.dd.1; auf Disketten
+ kopiert werden.
+
+ 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:
+
+
+
+ bin
+
+
+
+ manpages
+
+
+
+ compat*
+
+
+
+ doc
+
+
+
+ src/ssys.*
+
+
+
+ Vollständige Instruktionen für dieses
+ Vorgehen und ein wenig mehr zur Installation generell
+ finden Sie im Handbucheintrag zur
+ Installation von FreeBSD.
+
+
+
+
+
+ Hilfe! Das Floppy-Image paßt nicht auf eine
+ Diskette!
+
+
+
+ Eine 3,5-Zoll (1,44MB) Diskette kann 1474560 Byte an
+ Daten fassen und das Boot-Image ist exakt 1474560 Byte
+ groß.
+
+ Häufige Fehler bei der Erstellung der
+ Boot-Diskette sind:
+
+
+
+ Bei der Benutzung von FTP das
+ Floppy-Image nicht im
+ Binär-Modus
+ herunterzuladen.
+
+ Einige FTP-Clients benutzen als Voreinstellung den
+ ASCII-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
+ exakt mit der auf dem Server
+ übereinstimmt, hat das Herunterladen nicht
+ richtig funktioniert.
+
+ Abhilfe: geben Sie binary an
+ der FTP-Eingabeaufforderung ein, nach dem Sie mit dem
+ Server verbunden sind und bevor Sie das Image
+ herunterladen.
+
+
+
+ Die Benutzung des DOS-Befehls
+ copy (oder eines entsprechendes
+ Werkzeugs der grafischen Benutzeroberfläche), um
+ das Boot-Image auf die Diskette zu
+ übertragen.
+
+ Programme wie copy 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
+ roh mit speziellen Werkzeugen (z.B.
+ fdimage oder
+ rawrite) übertragen, wie es in
+ der Installationsanleitung
+ zu FreeBSD beschrieben ist.
+
+
+
+
+
+
+
+ Wo befinden sich die Instruktionen zur Installation
+ von FreeBSD?
+
+
+
+ Installationsanleitungen finden Sie im Handbucheintrag zur
+ Installation von FreeBSD.
+
+
+
+
+
+ Was benötige ich zum Betrieb von FreeBSD?
+
+
+
+ Sie werden einen 386er oder besseren PC mit 5MB oder
+ mehr Hauptspeicher und mindestens 60MB Festplattenspeicher
+ benötigen. Es läuft mit einer einfachen MDA
+ Grafikkarte, aber um X11R6 zu benutzen, benötigen Sie
+ eine VGA- oder bessere Videokarte.
+
+ Lesen Sie auch den Abschnitt
+
+
+
+
+
+ Ich besitze nur 4 MB Hauptspeicher. Kann ich FreeBSD
+ installieren?
+
+
+
+ FreeBSD 2.1.7 war die letzte FreeBSD-Version, die auf
+ einem 4MB-System installiert werden konnte. Neuere
+ FreeBSD-Versionen, wie 2.2, benötigen mindestens 5MB
+ zur Installation auf einem neuen System.
+
+ Alle FreeBSD-Versionen, einschließlich 3.0,
+ laufen zwar mit 4MB Hauptspeicher,
+ lediglich ihr Installationsprogramm läuft nicht mit
+ 4MB. Wenn Sie möchten, können Sie für den
+ Installationsvorgang zusätzlichen Hauptspeicher
+ hinzufügen, und nachdem das System installiert ist,
+ wieder auf 4MB zurückgehen. Sie können Ihre
+ Festplatte auch jederzeit in ein System mit >4MB
+ einbauen, dort installieren und sie dann wieder
+ umbauen.
+
+ Es gibt auch Situationen, in denen FreeBSD 2.1.7 nicht
+ mit 4 MB zu installieren ist. Um genau zu sein: man kann
+ es nicht mit 640 kB Basis- + 3MB erweitertem Speicher
+ installieren. Falls ihr Motherboard einiges vom
+ verlorenen Speicher aus der 640kB - 1MB
+ Region verschieben kann, könnten Sie trotzdem in der
+ Lage sein, FreeBSD 2.1.7 zu installieren.
+
+ Versuchen Sie in Ihr BIOS-Setup zu gelangen und suchen
+ Sie nach einer remap Option. Aktivieren
+ Sie sie. Sie sollten das ROM shadowing ebenfalls
+ ausschalten.
+
+ Es könnte einfacher sein, 4 weitere MB nur
+ für die Installation zu benutzen, einen
+ benutzerdefinierten Kernel nur mit den benötigten
+ Optionen zu generieren und dann die 4 MB wieder
+ auszubauen.
+
+ Sie können auch 2.0.5 installieren und
+ anschließend Ihr System mit der
+ upgrade Option des 2.1.7
+ Installationsprogramms nach 2.1.7 migrieren.
+
+ Wenn Sie nach der Installation einen
+ benutzerdefinierten Kernel generieren, wird er mit 4 MB
+ laufen. Irgend jemand hat es geschafft, mit 2 MB zu
+ booten (allerdings war das System nahezu unbrauchbar
+ :-))
+
+
+
+
+
+ Wie kann ich eine angepaßte
+ Installationsdiskette erstellen?
+
+
+
+ Zur Zeit gibt es keine Möglichkeit,
+ nur die angepaßten
+ Installationsdisketten zu erstellen. Sie müssen sich
+ eine ganz neues Release erstellen, das Ihre
+ Installationsdiskette enthält.
+
+ Befolgen Sie diese
+ Instruktionen, um sich eine angepaßte Ausgabe zu
+ erstellen.
+
+
+
+
+
+ Kann ich mehr als ein Betriebssystem auf meinem PC
+ unterbringen?
+
+
+
+ Sehen Sie sich Die
+ Multi-OS-Seite an.
+
+
+
+
+
+ Kann Windows 95/98 neben FreeBSD existieren?
+
+
+
+ Installieren Sie zuerst Windows 95/98, dann FreeBSD.
+ Der Bootmanager von FreeBSD kann dann entweder Win95/98
+ oder FreeBSD booten. Falls Sie Windows 95/98 nach FreeBSD
+ installieren, wird es, ohne zu fragen, Ihren Bootmanager
+ überschreiben. Lesen Sie den nächsten
+ Abschnitt, falls das passieren sollte.
+
+
+
+
+
+ Windows 95/98 hat meinen Bootmanager zerstört!
+ Wie stelle ich ihn wieder her?
+
+
+
+ Es gibt drei Möglichkeiten, den
+ FreeBSD-Bootmanager neu zu installieren:
+
+
+
+ Unter DOS wechseln Sie in das Verzeichnis tools/
+ Ihrer FreeBSD-Distribution und suchen nach
+ bootinst.exe. Rufen sie es so
+ auf:
+
+
+...\TOOLS>bootinst.exe boot.bin
+
+
+
+
+ und der Bootmanager wird neu installiert.
+
+
+
+
+
+ Booten Sie FreeBSD wieder mit der Bootdiskette und
+ wählen Sie den Menueeintrag Custom Installation.
+ Wählen Sie Partition. Wählen Sie das
+ Laufwerk, auf dem sich der Bootmanager befand
+ (wahrscheinlich der erste Eintrag) und wenn Sie in den
+ Partitioneditor gelangen, wählen Sie als aller
+ erstes (nehmen Sie z.B. keine Änderungen vor)
+ (W)rite. Sie werden nach einer Bestätigung
+ gefragt, antworten ja und vergessen Sie nicht, in der
+ Bootmanager-Auswahl Boot Manager
+ auszuwählen. Hierdurch wird der Bootmanager
+ wieder auf die Festplatte geschrieben. Verlassen Sie
+ nun das Installationsmenue und rebooten wie
+ gewöhnlich von der Festplatte.
+
+
+
+ Booten Sie FreeBSD wieder mit der Bootdiskette
+ (oder der CD-ROM) und wählen Sie den
+ Menüpunkt Fixit. Wählen Sie
+ die für Sie passende Option, entweder die
+ Fixit-Diskette oder die CD Nummer 2 (die Option
+ live Filesystem). Wechseln Sie zur
+ Fixit-Shell und geben Sie den folgenden Befehl
+ ein:
+
+
+Fixit#fdisk -B -b /boot/boot0 bootdevice
+
+
+ Als bootdevice
+ müssen Sie das von Ihrem System verwendete
+ Gerät angeben, z.B. ad0
+ (erste IDE-Platte), ad4
+ (erste IDE-Platte an einem zusätzlichen
+ Kontroller), da0 (erste
+ SCSI-Platte), usw.
+
+
+
+
+
+
+
+ Ich habe ein IBM Thinkpad Modell A, T oder X, auf dem
+ ich FreeBSD zwar installieren kann, aber beim
+ nächsten Start hängt sich das System auf. Gibt
+ es eine Lösung für dieses Problem?
+
+
+
+ IBM hat scheinbar die Partitions-ID 165 für die
+ Suspend-To-Disk-Partition verwendet. Diese ID wird auch
+ von FreeBSD verwendet; daher weigert sich das BIOS, von
+ dieser Partition zu starten. Eine der möglichen
+ Lösungen ist, FreeBSD zu installieren, die
+ Partitions-ID zu ändern und danach neue Bootblocks zu
+ installieren, die mit der geänderten ID umgehen
+ können.
+
+ Zunächst müssen Sie die Maschine so weit
+ wiederherstellen, daß sie über den Selbst-Test
+ hinauskommt. Dazu ist es erforderlich, daß das
+ System beim Start keine Partitions-ID auf seiner
+ primären Festplatte findet. Eine Variante ist, die
+ Platte auszubauen und vorübergehend in einem
+ älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit
+ einem passenden Adapter) in einen normalen PC einzubauen.
+ Sobald dies erfolgt ist, können Sie die
+ FreeBSD-Partition löschen und die Festplatte wieder
+ in das Thinkpad einbauen. Das Thinkpad sollte jetzt
+ wieder starten können.
+
+ Danach können Sie mit der nachfolgend
+ beschriebenen Anleitung eine funktionsfähige
+ FreeBSD-Installation erhalten.
+
+
+
+ Beschaffen Sie sich boot1 und
+ boot2 von http://people.freebsd.org/~bmah/ThinkPad/.
+ Legen Sie diese Dateien an einem sicheren Ort
+ ab.
+
+
+
+ Installieren Sie ganz wie gewohnt FreeBSD auf dem
+ Thinkpad. Allerdings dürfen Sie den
+ Dangerously Dedicated-Modus
+ nicht benutzen. Nach dem
+ Abschluß der Installation dürfen Sie die
+ Maschine nicht neu
+ starten.
+
+
+
+ Wechseln Sie zur Emergency Holographic
+ Shell
+ (ALTF4)
+ oder starten Sie eine fixit
+ Shell.
+
+
+
+ Benutzen Sie &man.fdisk.8;, um die Partitions-ID
+ von FreeBSD von 165 in
+ 166 zu ändern (dieser Wert
+ wird von OpenBSD benutzt).
+
+
+
+ Kopieren Sie die Dateien
+ boot1 und
+ boot2 auf die lokale
+ Festplatte.
+
+
+
+ Installieren Sie boot1 und
+ boot2 mit &man.disklabel.8; auf
+ die FreeBSD-Slice.
+
+
+&prompt.root; disklabel -B -b boot1 -s boot2 ad0sn
+
+
+ Setzen Sie für n
+ die Nummer der Slice ein, auf der sie FreeBSD
+ installiert haben.
+
+
+
+ Starten Sie das System neu. Am Boot-Prompt
+ sollten Sie die Auswahl OpenBSD
+ erhalten. Damit wird in Wirklichkeit FreeBSD
+ gestartet.
+
+
+
+ Was Sie machen müssen, wenn Sie FreeBSD und
+ OpenBSD parallel installieren wollen, sollten Sie zu
+ Übungszwecken einfach einmal selbst
+ herausfinden.
+
+
+
+
+
+ Kann ich auf einer Festplatte mit beschaedigten
+ Blöcken installieren?
+
+
+
+ Ältere Versionen von FreeBSD enthielten ein
+ Programm namens bad144, das die
+ defekten Sektoren automatisch verlagerte. Da diese
+ Funktion aber von modernen IDE-Platten selbstständig
+ durchgeführt wird, wurde bad144 in
+ der Version 3.0 aus dem System entfernt. Wenn Sie FreeBSD
+ 3.0 oder neuer installieren wollen, sollten Sie sich eine
+ neue Festplatte zulegen. Falls Sie dazu nicht bereit
+ sind, müssen Sie FreeBSD 2.X verwenden.
+
+ Wenn Ihnen bei einer modernen IDE-Platte defekte
+ Sektoren gemeldet werden, wird die Platte mit großer
+ Wahrscheinlichkeit innerhalb kurzer Zeit vollständig
+ ausfallen, da die Meldung ein Zeichen dafür ist,
+ daß die für die Korrektur reservierten Sektoren
+ bereits verbraucht wurden. Wir raten Ihnen, die Platte
+ auszutauschen.
+
+ Falls Sie ein SCSI-Laufwerk mit beschädigten
+ Blöcken besitzen, lesen Sie diese Antwort.
+
+
+
+
+
+ Wenn ich von der Installationsdiskette boote,
+ geschehen merkwürdige Dinge!
+
+
+
+ Falls Sie beobachten, daß ihr Rechner sich bis
+ zum Stillstand abmüht oder spontan rebootet,
+ während Sie versuchen, von der Installationsdiskette
+ zu booten, sollten Sie sich drei Fragen stellen:-
+
+
+
+ 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)?
+
+
+
+ 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!)
+
+
+
+ Falls Sie Windows 95 oder Windows 98 benutzen,
+ haben Sie es heruntergefahren und in einfachem, reinem
+ DOS neu gestartet? Es scheint, daß diese
+ Betriebssysteme Programme stören, die direkt auf
+ Hardware schreiben, wie es das Erstellungsprogramm
+ für die Diskette tut; selbst bei der
+ Ausführung des Programms in einem DOS-Fenster in
+ der grafischen Benutzeroberfläche kann dieses
+ Problem auftreten.
+
+
+
+ Es wurde auch darüber berichtet, daß
+ Netscape Probleme beim Herunterladen der Bootdisketten
+ verursacht. Es ist also wahrscheinlich besser, einen
+ anderen FTP-Client zu benutzen, wenn möglich.
+
+
+
+
+
+ Ich habe zur Installation von meinem ATAPI CD-ROM
+ gebootet, aber das Installationsprogramm sagt mir,
+ daß es kein CD-ROM gefunden hat. Was geht hier
+ ab?
+
+
+
+ Dieses Problem wird üblicherweise durch ein
+ falsch konfiguriertes CD-ROM verursacht. Bei vielen PCs
+ ist das CD-ROM der Slave am zweiten IDE-Kontroller, ein
+ Master ist nicht vorhanden. Laut Spezifikation ist diese
+ Konfiguration illegal, aber Windows verletzt die
+ Spezifikation und das BIOS ignoriert sie, wenn es von
+ einem CD-ROM booten soll. Daher konnten Sie zwar vom
+ CD-ROM booten, während FreeBSD es nicht für die
+ Installation nutzen kann.
+
+ Um dieses Problem zu lösen, müssen Sie
+ entweder das CD-ROM als Master an den IDE-Kontroller
+ anschließen oder dafür sorgen, daß an dem
+ vom CD-ROM genutzten IDE-Kontroller das CD-ROM als Slave
+ und ein anderes Gerät als Master angeschlossen
+ ist.
+
+
+
+
+
+ Hilfe! Ich kann nicht von Band installieren!
+
+
+
+ Falls Sie 2.1.7R von Band installieren, müssen
+ Sie bei der Erstellung des Bandes eine
+ tar-Blockgröße von 10 (5120 Byte) verwenden.
+ Die standard tar-Blockgröße beträgt 20
+ (10240 Byte) und Bänder, die mit diesem Standardwert
+ erstellt worden sind, können nicht zur Installation
+ von 2.1.7R verwendet werden. Diese Bänder
+ verursachen einen Fehler, der besagt, daß die
+ Satzlänge zu groß ist.
+
+
+
+
+
+ Verbindung von zwei FreeBSD-Maschinen über die
+ parallele Schnittstelle (PLIP).
+
+
+
+ Besorgen Sie sich ein Laplink-Kabel. Stellen Sie
+ sicher, daß Sie einen Kernel mit
+ lpt-Treiberunterstützung haben.
+
+
+&prompt.root; dmesg | grep lp
+lpt0 at 0x378-0x37f irq 7 on isa
+lpt0: Interrupt-driven
+lp0: TCP/IP capable interface
+
+
+ Schließen Sie das Kabel an die parallelen
+ Schnittstellen an.
+
+ Konfigurieren Sie die Netzwerkschnittstellenparameter
+ für lp0 auf beiden Seiten als
+ root. Falls Sie z.B. die Rechner max
+ und moritz miteinander verbinden wollen
+
+
+ max <-----> moritz
+IP-Adresse 10.0.0.1 10.0.0.2
+
+
+ Auf max geben Sie ein
+
+
+&prompt.root; ifconfig lp0 10.0.0.1 10.0.0.2
+
+
+ Auf moritz geben Sie ein
+
+
+&prompt.root; ifconfig lp0 10.0.0.2 10.0.0.1
+
+
+ Das ist alles! Lesen Sie bitte auch die Manuals
+ &man.lp.4; und &man.lpt.4;.
+
+ Sie sollten die Rechner auch in die Datei
+ /etc/hosts eintragen
+
+
+ 127.0.0.1 localhost.my.domain localhost
+ 10.0.0.1 max.my.domain max
+ 10.0.0.2 moritz.my.domain moritz
+
+
+ So überprüfen, Sie, ob es
+ funktioniert:
+
+ auf max:
+
+
+&prompt.root; ifconfig lp0
+lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+ inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
+&prompt.root; netstat -r
+Routing tables
+
+Internet:
+Destination Gateway Flags Refs Use Netif Expire
+moritz max UH 4 127592 lp0
+&prompt.root; ping -c 4 moritz
+PING moritz (10.0.0.2): 56 data bytes
+64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
+64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
+64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
+64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
+
+--- moritz ping statistics ---
+4 packets transmitted, 4 packets received, 0% packet loss
+round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
+
+
+
+
+
+
+ Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
+ installieren?
+
+
+
+ Verbinden Sie die beiden Computer hierzu mit einem
+ Laplink-Kabel:
+
+
+
+ Lesen Sie auch diesen
+ Hinweis auf der Mobile-Computing-Seite.
+
+
+
+
+
+ Welche Geometrie sollte ich für ein
+ Festplattenlaufwerk verwenden?
+
+
+
+
+
+ Unter der Geometrie einer
+ Festplatte verstehen wir die Anzahl Zylinder,
+ Schreib-/Leseköpfen und Sektoren/Spur auf einer
+ Festplatte - im folgenden werde ich hierfür kurz
+ C/H/S schreiben. Das BIOS des PCs berechnet mit
+ diesen Angaben, auf welche Bereiche der Festplatte es
+ für Schreib-/Lesezugriffe zugreifen
+ muß).
+
+
+
+ Aus einigen Gründen scheint dies für sehr
+ viel Verwirrung zu sorgen. Zunächsteinmal ist die
+ physikalische Geometrie eines
+ SCSI-Laufwerks vollkommen irrelevant, da FreeBSD mit
+ Blöcken arbeitet. Tatsächlich gibt es
+ die physikalische Geometrie nicht, da die
+ Sektordichte auf einer Festplatte variiert - was die
+ Hersteller als die wahre 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.
+
+ Wichtig ist nur die logische
+ Geometrie. Das BIOS kann die logische Geometrie der
+ Festplatte abfragen; die erhaltenen Daten werden dann vom
+ BIOS bei Zugriffen auf die Festplatte genutzt. Da FreeBSD
+ das BIOS benutzt, während es bootet, ist es sehr
+ wichtig, daß diese Angaben richtig sind.
+ Insbesondere müssen alle Betriebssysteme mit
+ derselben Geometrie arbeiten, falls Sie mehr als ein
+ Betriebssystem auf einer Festplatte haben, andernfalls
+ werden Sie ernsthafte Bootprobleme bekommen!
+
+ Bei SCSI-Festplatten hängt die zu verwendende
+ Geometrie davon ab, ob der Extended Translation Support
+ auf Ihrem Controller eingeschaltet ist (oft auch als
+ Unterstützung für DOS-Platten
+ >1GB oder ähnlich bezeichnet). Falls sie
+ ausgeschaltet ist, benutzen Sie
+ N Zylinder, 64 Köpfe und
+ 32 Sektoren/Spur, wobei N 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.
+
+ Falls sie eingeschaltet ist (was
+ oft der Fall ist, um bestimmte Einschränkungen von
+ MSDOS zu umgehen) und die Plattenkapazität mehr als
+ 1GB beträgt, benutzen Sie M Zylinder, 63
+ Sektoren/Spur (*nicht* 64) und 255 Köpfe, wobei 'M'
+ der Plattenkapazität in MB, dividiert durch 7,844238
+ entspricht (!). Also würde unsere 2GB Beispielplatte
+ 261 Zylinder, 63 Sektoren/Spur und 255 Köpfe
+ haben.
+
+ Falls Sie sich hier nicht sicher sind oder FreeBSD
+ während der Installation die Geometrie nicht richtig
+ erkennt, hilft es normalerweise, eine kleine DOS-Partition
+ auf der Festplatte anzulegen. Die richtige Geometrie
+ sollte dann erkannt werden (Sie können die Partition
+ jederzeit im Partitioneditor entfernen, falls Sie sie
+ nicht behalten möchten, oder Sie nutzen sie zur
+ Programmierung von Netzwerkkarten oder
+ ähnlichem).
+
+ Alternativ wird ein frei verfügbares Programm
+ pfdisk.exe (im Unterverzeichnis
+ tools auf der FreeBSD-CDROM oder den
+ unterschiedlichen FTP-Servern) mit FreeBSD verbreitet, das
+ dazu genutzt werden kann, herauszufinden, welche Geometrie
+ die anderen Betriebssysteme auf der Festplatte verwenden.
+ Diese Geometrie können Sie im Partitioneditor
+ eingeben.
+
+
+
+
+
+ Gibt es irgendwelche Einschränkungen, wie ich die
+ Festplatte aufteilen darf?
+
+
+
+ Ja. Sie müssen sicherstellen, daß Ihre
+ Rootpartition kleiner als 1024 Zylinder ist, damit das
+ BIOS den Kernel von Ihr booten kann. (Beachten Sie,
+ daß es sich um eine Einschränkung durch das
+ BIOS des PCs handelt und nicht durch FreeBSD).
+
+ Für ein SCSI-Laufwerk bedeutet dies
+ normalerweise, daß sich die Rootpartition in den
+ ersten 1024MB befindet (oder in den ersten 4096MB, falls
+ die Extended Translation eingeschaltet ist - siehe die
+ vorherige Frage). Der entsprechende Wert für IDE ist
+ 504MB.
+
+
+
+
+
+ Was ist mit Plattenmanagern? Oder: Ich habe ein
+ großes Laufwerk!
+
+
+
+ FreeBSD erkennt den Ontrack Plattenmanager und
+ berücksichtigt ihn. Andere Plattenmanager werden
+ nicht unterstützt.
+
+ Falls Sie die Festplatte nur mit FreeBSD benutzen
+ wollen, brauchen Sie keinen Plattenmanager. Wenn Sie Sie
+ die Platte einfach in der vom BIOS maximal
+ unterstützten Größe (normalerweise 504
+ Megabyte) konfigurieren, sollte FreeBSD erkennen, wieviel
+ Platz Sie tatsächlich haben. Falls Sie eine alte
+ Festplatte mit einem MFM-Controller verwenden, könnte
+ es sein, daß Sie FreeBSD explizit angeben
+ müssen, wieviele Zylinder es benutzen soll.
+
+ Falls Sie die Festplatte mit FreeBSD und einem anderen
+ Betriebssystem nutzen wollen, sollten Sie auch in der Lage
+ sein, ohne einen Plattenmanager auszukommen: stellen sie
+ einfach sicher, daß sich die Bootpartition von
+ FreeBSD und der Bereich für das andere Betriebssystem
+ in den ersten 1024 Zylindern befinden. Eine 20 Megabyte
+ Bootpartition sollte völlig genügen, wenn Sie
+ einigermaßen sorgfältig arbeiten.
+
+
+
+
+
+ Beim Booten von FreeBSD erscheint Missing
+ Operating System
+
+
+
+ Dies ist ein klassischer Fall von Konflikten bei den
+ verwendeten Plattengeometrien 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.
+
+
+
+
+
+ Ich komme nicht weiter als bis zum
+ F?-Prompt des Bootmanagers.
+
+
+
+ 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 >1GB drive
+ support bezeichnet), probieren Sie eine Umsetzung
+ dieser Einstellung und Neuinstallation von
+ FreeBSD.
+
+
+
+
+
+ Muß ich den vollständigen Quellcode
+ installieren?
+
+
+
+ Im allgemeinen nicht. Wir empfehlen jedoch dringend
+ die Installation des base Source-Kit,
+ das viele der hier erwähnten Dateien enthält und
+ des sys (Kernel) Source-Kit, das den
+ Quellcode für den Kernel enthält. Außer
+ dem Programm zur Konfiguration des Kernels
+ (&man.config.8;) gibt es im System nichts, zu dessen
+ Funktion der Quellcode erforderlich ist. Mit Ausnahme der
+ Kernelquellen ist unsere Build-Struktur so aufgebaut,
+ daß Sie den Quellcode von überall her per NFS
+ read-only mounten und dennoch neue Binaries erstellen
+ können. (Wegen der Einschränkung bezüglich
+ der Kernelquellen empfehlen wir, diese nicht direkt nach
+ /usr/src zu mounten, sondern
+ irgendwoanders hin mit passenden symbolischen Links, um
+ die Toplevel-Struktur des Quellbaumes zu
+ duplizieren.)
+
+ 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.
+
+ Um einen Teil der Quellen auszuwählen, verwenden
+ Sie den Menuepunkt Custom, wenn Sie sich im Menue
+ Distributions des Systeminstallationstools
+ befinden.
+
+
+
+
+
+ Muß ich einen Kernel erstellen?
+
+
+
+ Ursprünglich war die Erstellung eines neuen
+ Kernels bei fast jeder Installation von FreeBSD
+ erforderlich, aber neuere Ausgaben haben von der
+ Einführung eines weitaus benutzerfreundlicheren
+ Kernelkonfigurationswerkzeugs profitiert. Geben Sie am
+ FreeBSD Boot-Prompt (boot:) ein, um in
+ ein visuelles Konfigurationsmenue zu gelangen. Dieses
+ Programm ermöglicht Ihnen die Konfiguration der
+ Kerneleinstellungen für die gebräuchlichsten
+ ISA-Karten.
+
+ Es wird weiterhin empfohlen, gegebenenfalls einen
+ neuen Kernel zu erstellen, der nur die benötigten
+ Treiber enthält, um ein wenig Hauptspeicher zu
+ sparen, aber für die meisten Systeme ist dies ist
+ nicht länger erforderlich.
+
+
+
+
+
+ Soll ich DES oder MD5 zur Verschlüsselung der
+ Paßwörter benutzen?
+
+
+
+ FreeBSD benutzt standardmäßig
+ MD5 zur Verschlüsselung der
+ Paßwörter. Es wird angenommen, daß diese
+ Methode sicherer ist als das traditionell benutzte
+ Verfahren, das auf dem DES
+ Algorithmus basierte. Es ist immer noch möglich,
+ DES-Paßwörter zu benutzen, wenn Sie die Datei
+ mit den Paßwörtern mit älteren System
+ austauschen müssen. Ältere System verstehen
+ meist nur das unsichere Verfahren, dieses steht Ihnen zur
+ Verfügung, wenn Sie mit sysinstall die
+ crypto Distribution installieren. Sie
+ können auch die crypto Sourcecodes installieren, wenn
+ Sie Ihr System über die Sourcen aktualisieren. Das
+ für neue Paßwörter benutzte
+ Verschlüsselungsverfahren wird über die
+ Einstellung passwd_format in
+ /etc/login festgelegt. Die
+ möglichen Werte sind entweder des
+ (falls installiert) oder md5. Weitere
+ Informationen über die Einstellungen für den
+ Login erhalten Sie in &man.login.conf.5;.
+
+
+
+
+
+ Die Bootdiskette startet, bleibt aber bei
+ Probing Devices... hängen.
+
+
+
+ Falls Sie ein IDE-Zip- oder Jaz-Laufwerk eingebaut
+ haben, entfernen Sie es und versuchen Sie es erneut.
+ Solche Laufwerke könnten dem Bootvorgang stören.
+ Nach der Installation des Systems können Sie das
+ Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich
+ in einer späteren Version behoben werden.
+
+
+
+
+
+ Ich bekomme den Fehler panic: cant mount
+ root, wenn ich das System nach der Installation
+ reboote.
+
+
+
+ Dieser Fehler beruht auf Unstimmigkeiten zwischen den
+ Festplatteninformationen im Bootblock und denen im Kernel.
+ Der Fehler tritt normalerweise auf IDE-Systemen mit zwei
+ Festplatten auf, bei denen die Festplatten als Master-
+ oder Single-Device auf separaten IDE-Controllern
+ angeschlossen sind und FreeBSD auf der Platte am zweiten
+ Controller installiert wurde. Der Bootblock vermutet,
+ daß das System auf wd1 (der zweiten BIOS-Platte)
+ installiert ist, während der Kernel der ersten Platte
+ auf dem zweiten Controller die Gerätekennung wd2
+ zuteilt. Der Kernel versucht nach der
+ Geräteüberprüfung die vom Bootblock
+ angenommene Bootdisk wd1 zu mounten, obwohl sie in
+ Wirklichkeit wd2 heißt - und scheitert.
+
+ Tun Sie folgendes, um dieses Problem zu
+ beheben:
+
+
+
+ Wenn Sie FreeBSD 3.3 oder neuer benutzen,
+ müssen Sie das System rebooten und
+ Enter drücken, wenn die
+ Meldung Booting kernel in 10 seconds; hit
+ [Enter] to interrupt erscheint. Dadurch
+ gelangen Sie in den Boot Loader.
+
+ Geben Sie nun
+ root_disk_unit="disk_number"
+ ein. disk_number hat den Wert
+ 0, wenn FreeBSD auf dem Master des
+ ersten IDE-Kontrollers installiert wurde;
+ 1, wenn FreeBSD auf dem Slave des
+ ersten IDE-Kontrollers installiert wurde;
+ 2, wenn FreeBSD auf dem Master des
+ zweiten IDE-Kontrollers installiert wurde; und
+ 3, wenn FreeBSD auf dem Slave des
+ zweiten IDE-Kontrollers installiert wurde.
+
+ Nach der Eingabe von boot
+ sollte Ihr System jetzt korrekt starten.
+
+ Damit Sie dieses Ritual nicht bei jedem Start des
+ Systems durchführen müssen, sollten Sie die
+ Zeile
+ root_disk_unit="disk_number"
+ in die Datei
+ /boot/loader.conf.local
+ eintragen.
+
+
+
+ Wenn Sie FreeBSD 3.2 oder eine ältere Version
+ benutzen, geben Sie am Prompt Boot:
+ 1:wd(2,a)kernel ein und
+ betätigen Sie die Enter-Taste. Wenn das System
+ nun startet, führen Sie den Befehl echo
+ "1:wd(2,a)kernel" > /boot.config aus, um
+ diese Bootzeichenfolge zur Voreinstellung zu
+ machen.
+
+
+
+ Stellen Sie eine ununterbrochene Folge der
+ Festplatten her, indem Sie die FreeBSD-Platte am
+ ersten IDE-Controller anschließen.
+
+
+
+ Erstellen Sie
+ einen neuen Kernel: modifizieren Sie die
+ wd-Konfigurationszeilen wie folgt:
+
+
+controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
+disk wd0 at wdc0 drive 0
+# disk wd1 at wdc0 drive 1 # Kommentieren Sie diese Zeile aus
+
+controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
+disk wd1 at wdc1 drive 0 # Ändern Sie wd2 in wd1
+disk wd2 at wdc1 drive 1 # Ändern Sie wd3 in wd2
+
+
+ Installieren Sie den neuen Kernel. Falls sie Ihre
+ Festplattenanschlüsse umgesteckt haben und die
+ alte Konfiguration wiederherstellen möchten,
+ stecken Sie die Anschlüsse wie gewünscht um
+ und rebooten Sie. Ihr System sollte nun fehlerfrei
+ booten.
+
+
+
+
+
+
+
+ Gibt es eine Hauptspeicherbegrenzung?
+
+
+
+ Es werden maximal 4 Gigabyte Hauptspeicher
+ unterstützt. Details zu einer entsprechenden,
+ getesteten Konfiguration finden Sie unter Konfiguration
+ von WCArchive. Seien Sie vorsichtig, wenn Sie
+ soviel Hauptspeicher in Ihrem Rechner benutzen
+ möchten. Benutzen Sie ggfs. ECC-Speicher und Module
+ mit neun (statt der üblichen 18) Chips, um die
+ kapazitive Belastung zu reduzieren.
+
+
+
+
+
+ Wo liegen die Grenzen für
+ ffs-Dateisysteme?
+
+
+
+ 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).
+
+ Die maximale Größe einer einzelnen
+ ffs-Datei liegt bei ungefähr 1G Blöcken (4TB,
+ falls die Blockgröße 4k beträgt).
+
+
+
+ Wenn die im Dateisystem verwendete
+ Blockgröße 4k beträgt, wird mit dreifacher
+ Indirektion gearbeitet und die Limitierung sollte durch
+ die höchste Blocknummer erfolgen, die mit dreifacher
+ Indirektion dargestellt werden kann (ungefähr 1k^3 +
+ 1k^2 + 1k). In Wirklichkeit liegt das Limit aber bei der
+ (falschen) Anzahl von 1G-1 Blocknummern im Dateisystem.
+ Die maximale Anzahl Blocknummern müßte 2G-1
+ sein. Es gibt einige Fehler für Blocknummern nahe
+ 2G-1, aber solche Blocknummern sind bei einer
+ Blockgröße von 4k unerreichbar.
+
+ Bei Blocknummern von 8k und größer sollte
+ das Limit bei 2G-1 Blocknummern liegen, aber
+ tatsächlich liegt es bei bei 1G-1 Blocknummern.
+ Außer unter -STABLE sind Blöcke in der dritten
+ Indirektion unerreichbar, wodurch das Limit auf die durch
+ zweifache Indirektion maximal darstellbare Blocknummer
+ reduziert wird (ca. (Blockgröße/4)^2 +
+ (Blockgröße/4)). Unter -CURRENT könnte
+ die Überschreitung dieser Grenze Probleme
+ verursachen. Die Verwendung der korrekten Grenze von 2G-1
+ verursacht Probleme.
+
+
+
+
+
+ Wie bekomme ich 1TB-Dateien auf meine
+ Diskette?
+
+
+
+ Ich habe mehrere virtuelle auf Disketten :-). Die
+ maximale Dateigröße hat nicht unbedingt etwas
+ mit der maximalen Plattengröße zu tun. Die
+ maximale Plattengröße beträgt 1TB. Es ist
+ ein Feature, daß die Dateigröße die
+ Plattengröße übersteigen kann.
+
+ Durch das folgende Beispiel wird eine Datei der
+ Größe 8T-1 erstellt, die insgesamt 32k
+ Plattenplatz (3 indirekte Blöcke und ein Datenblock)
+ auf einer kleinen Rootpartition in Anspruch nimmt. Dieser
+ dd-Befehl setzt ein dd-Programm voraus, das große
+ Dateien unterstützt.
+
+
+&prompt.user; cat foo
+df .
+dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
+ls -l z
+du z
+df .
+&prompt.user; sh foo
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/da0a 64479 27702 31619 47% /
+1+0 records in
+1+0 records out
+1 bytes transferred in 0.000187 secs (5346 bytes/sec)
+-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
+32 z
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/da0a 64479 27734 31587 47% /
+
+
+ Bruce Evans, September 1998
+
+
+
+
+
+ Ich habe einen neuen Kernel erstellt und bekomme beim
+ Booten nun die Fehlermeldung
+ archsw.readin.failed.
+
+
+
+ Sie können den zu bootenden Kernel direkt im
+ zweiten Schritt angeben, indem Sie eine beliebige Taste
+ drücken, wenn das | erscheint und bevor der Loader
+ startet. Genauer: Sie haben die Kernelquellen erneuert,
+ und von dort ein neues Kernel-Builtin installiert,
+ ohne make world auszuführen.
+ Das geht nicht - führen Sie make world aus.
+
+
+
+
+
+ Wie führe ich ein Update von 3.X nach 4.X
+ durch?
+
+
+
+ Wir raten Ihnen dringend, dazu
+ einen der Snapshots zu verwenden. Die Snapshots von
+ 4-STABLE sind auf releng4.FreeBSD.org
+ verfügbar.
+
+ Wenn Sie den Quellcode für das Update benutzen
+ wollen, finden Sie im FreeBSD
+ Handbuch weitere Informationen.
+
+ Wenn Sie FreeBSD erst seit kurzer Zeit
+ nutzen, sollten Sie auf gar keinen Fall über den
+ Quellcode updaten, das gilt ganz besonders für das
+ Update von 3.X nach 4.X. Falls Sie es dennoch versuchen
+ wollen, sollten Sie vorher die entsprechenden Anleitungen
+ sehr sorgfältig durchlesen!
+
+
+
+
+
+
+ Hardware-Kompatibilität
+
+
+
+
+ Welche Arten von Festplatten werden von FreeBSD
+ unterstützt?
+
+
+
+ FreeBSD unterstützt EIDE- und SCSI-Laufwerke (mit
+ kompatiblen Controllern - siehe folgenden Abschnitt),
+ sowie alle Laufwerke, die die original Western
+ Digital-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
+ Clone.
+
+
+
+
+
+ Welche SCSI-Controller werden
+ unterstützt?
+
+
+
+ Sie finden eine vollständige Liste im Handbuch.
+
+
+
+
+
+ Welche CD-ROM-Laufwerke werden von FreeBSD
+ unterstützt?
+
+
+
+ Jedes an einem unterstützten Controller
+ angeschlossene SCSI-Laufwerk wird
+ unterstützt.
+
+ Die folgenden proprietären CD-ROM-Schnittstellen
+ werden ebenfalls unterstützt:
+
+
+
+ Mitsumi LU002 (8bit), LU005 (16bit) und FX001D
+ (16bit 2x Speed).
+
+
+
+ Sony CDU 31/33A
+
+
+
+ Sound Blaster Non-SCSI CD-ROM
+
+
+
+ Matsushita/Panasonic CD-ROM
+
+
+
+ ATAPI compatible IDE CD-ROMs
+
+
+
+ Von allen Nicht-SCSI-Laufwerken ist bekannt, daß
+ sie im Vergleich zu SCSI-Laufwerken extrem langsam sind.
+ Einige ATAPI-CDROMs könnten nicht
+ funktionieren.
+
+ Ab 2.2 unterstützt die FreeBSD-CDROM von BSDi das
+ direkte Booten von CD.
+
+
+
+
+
+ Unterstützt FreeBSD ZIP-Laufwerke?
+
+
+
+ FreeBSD unterstützt natürlich alle
+ gängigen SCSI-ZIP-Laufwerke. Ihr ZIP-Laufwerk darf
+ nur mit den SCSI-Ziel-IDs 5 oder 6 laufen, aber Sie
+ können sogar davon booten, falls das BIOS Ihres
+ Hostadapters dies unterstützt. Ich weiß nicht,
+ welcher Hostadapter das Booten von anderen Zielen als 0
+ oder 1 erlaubt... schauen Sie in Ihren Handbüchern
+ nach (und lassen Sie mich wissen, falls Sie es
+ herausgefunden haben).
+
+ ATAPI (IDE) Zip-Laufwerke werden von FreeBSD 2.2.6 und
+ späteren Versionen unterstützt.
+
+ Seit Version 3.0 unterstützt FreeBSD
+ ZIP-Laufwerke, die an der parallel Schnittstelle
+ angeschlossen sind. Falls Sie eine genügend aktuelle
+ Version benutzen, sollten Sie überprüfen, ob Ihr
+ Kernel die folgenden Treiber enthält:
+ scbus0,
+ da0,
+ ppbus0 und
+ vp0 (der GENERIC-Kernel
+ enthält alle, außer
+ vp0). Wenn diese Treiber
+ vorhanden sind, sollte das Laufwerk an der parallelen
+ Schnittstelle als /dev/da0s4
+ verfügbar sein. Zip-Datenträger können mit
+ mount /dev/da0s4 /mnt ODER
+ (DOS-formatierte) mount_msdos /dev/da0s4
+ /mnt gemountet werden.
+
+ Lesen Sie auch diese Anmerkung zu
+ Wechseldatenträgern und diese zur
+ Formatierung.
+
+
+
+
+
+ Unterstützt FreeBSD JAZ, EZ und andere
+ Wechsellaufwerke?
+
+
+
+ Abgesehen von der IDE-Version der EZ-Laufwerke,
+ handelt es sich ausschließlich um SCSI-Geräte.
+ Unter FreeBSD müßten sie sich also alle wie
+ SCSI-Platten und das IDE-EZ-Laufwerk müßte sich
+ wie ein IDE-Laufwerk verhalten.
+
+ Ich bin mir nicht sicher, wie gut
+ FreeBSD den Wechsel der Datenträger während des
+ Betriebs unterstützt. Sie werden die Laufwerke vor
+ einem Datenträgerwechsel natürlich unmounten und
+ sicherstellen müssen, daß externe Einheiten
+ während des Bootens eingeschaltet sind, damit FreeBSD
+ sie erkennen kann.
+
+ Lesen Sie auch diesen
+ Hinweis zur Formatierung.
+
+
+
+
+
+ Welche seriellen Multi-Port-Karten werden von FreeBSD
+ unterstützt?
+
+
+
+ Es existiert eine Liste der unterstützten Karten
+ im Abschnitt Verschiedene
+ Geräte des Handbuchs.
+
+ Von einigen nicht NoName-Nachbauten ist ebenfalls
+ bekannt, daß sie funktionieren, speziell von den
+ AST-kompatiblen.
+
+ In &man.sio.4; finden Sie weitere Informationen zur
+ Konfiguration solcher Karten.
+
+
+
+
+
+ Unterstützt FreeBSD meine Tastatur mit
+ USB-Anschluß?
+
+
+
+ Die Unterstützung für USB-Geräte ist
+ seit FreeBSD 3.1 Bestandteil des Systems. Die
+ Unterstützung war allerdings nicht ganz ausgereift;
+ einige der Probleme konnten bis zur Veröffentlichung
+ von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
+ Treiber für USB-Tastaturen selbst testen
+ möchten, sollten Sie den unten aufgeführten
+ Anweisungen folgen:
+
+
+
+ Benutzen Sie FreeBSD 3.2 oder eine neuere
+ Version.
+
+
+
+ Tragen Sie die folgenden Zeilen in die
+ Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
+ einen neuen Kernel.
+
+
+device uhci
+device ohci
+device usb
+device ukbd
+options KBD_INSTALL_CDEV
+
+
+ Falls Sie eine ältere FreeBSD-Version als
+ FreeBSD 4.0 benutzen, müssen Sie diese
+ Einträge verwenden:
+
+
+controller uhci0
+controller ohci0
+controller usb0
+controller ukbd0
+options KBD_INSTALL_CDEV
+
+
+
+
+ Erzeugen Sie im Verzeichnis
+ /dev die notwendigen
+ Dateien:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV kbd0 kbd1
+
+
+
+
+ Tragen Sie in der
+ /etc/rc.conf die folgenden Zeilen
+ ein:
+
+
+usbd_enable="YES"
+usbd_flags=""
+
+
+
+
+ Nach einem Neustart des Systems ist die AT-Tastatur
+ als /dev/kbd0 und die USB-Tastatur
+ als /dev/kbd1 verfügbar. Dies
+ gilt natürlich nur, wenn beide Tastaturen
+ angeschlossen sind; falls nur die USB-Tastatur
+ angeschlossen ist, ist diese als
+ /dev/ukbd0 verfügbar.
+
+ Wenn Sie die USB-Tastatur an der Systemkonsole
+ benutzen wollen, müssen Sie dies dem System explizit
+ mitteilen. Dazu muß das folgende Kommando
+ während des Systemstarts ausgeführt
+ werden:
+
+
+&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null
+
+
+ Wenn Sie nur die USB-Tastatur angeschlossen haben, ist
+ diese als /dev/kbd0 verfügbar;
+ daher muß in diesem Fall das folgende Kommando
+ benutzt werden:
+
+
+&prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null
+
+
+ Tragen Sie dieses Kommando in Datei
+ /etc/rc.i386 ein.
+
+ Sobald Sie diese Schritte durchgeführt haben,
+ sollte die USB-Tastatur ohne weitere Änderungen auch
+ unter X benutzbar sei.
+
+ Zur Zeit kann es noch Probleme geben, wenn Sie eine
+ USB-Tastatur im laufenden Betrieb einstecken oder
+ abziehen. Um Probleme zu vermeiden, sollten Sie die
+ Tastatur anschließen, bevor Sie das System
+ anschalten und die Tastatur nicht abziehen, solange das
+ System noch läuft.
+
+ Weitere Informationen erhalten Sie in
+ &man.ukbd.4;.
+
+
+
+
+
+ Ich habe eine unübliche Busmaus. Wie muß
+ ich sie konfigurieren?
+
+
+
+ FreeBSD unterstützt die Busmaus und
+ InPort-Busmaus von Herstellern wie Microsoft, Logitech und
+ ATI. Der Bus-Gerätetreiber ist bei FreeBSD 2.x
+ standardmäßig im GENERIC-Kernel eingebunden; ab
+ Version 3.0 müssen Sie ihn selbst in die
+ Konfigurationsdatei für Ihren angepaßten Kernel
+ einbinden. Fügen Sie die folgende Zeile in Ihre
+ Konfigurationsdatei ein, falls Sie sich einen
+ angepaßten Kernel mit dem Busmaustreiber
+ erstellen
+
+ FreeBSD 3.0 und ältere Versionen
+
+
+device mse0 at isa? port 0x23c tty irq5 vector mseintr
+
+
+ FreeBSD 3.X außer 3.0
+
+
+device mse0 at isa? port 0x23c tty irq5
+
+
+ FreeBSD 4.X
+
+
+device mse0 at isa? port 0x23c irq5
+
+
+ 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.
+
+
+
+
+
+ Wie benutze ich meine PS/2 (Mouse-Port
+ oder Tastatur)-Maus?
+
+
+
+ Falls Sie eine spätere FreeBSD-Version als 2.2.5
+ benutzen, ist der entsprechende Treiber
+ psm im Kernel enthalten und
+ aktiviert. Der Kernel sollte Ihre PS/2-Maus beim Booten
+ erkennen.
+
+ Wenn Sie eine gerigfügig frühere Version von
+ FreeBSD benutzen (2.1.x oder höher), können Sie
+ den Treiber während der Installation einfach im
+ Kernelkonfigurationsmenue aktivieren, oder später mit
+ der Option am Bootprompt
+ boot:. Da der Treiber
+ standardmäßig deaktiviert ist, werden Sie ihn
+ also explizit aktivieren müssen.
+
+ Falls Sie eine ältere FreeBSD-Version benutzen,
+ müssen Sie folgende Zeile in Ihre
+ Kernelkonfigurationsdatei einfügen und den Kernel neu
+ kompilieren.
+
+ FreeBSD 3.0 und ältere Versionen
+
+
+device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
+
+
+ FreeBSD 3.1 und neuere Versionen:
+
+
+device psm0 at isa? tty irq 12
+
+
+ Ab FreeBSD 4.0:
+
+
+device psm0 at atkbdc? irq 12
+
+
+ Lesen Sie den Handbucheintrag zur
+ Kernelkonfiguration, falls Sie sich mit der
+ Erstellung eines Kernels nicht auskennen.
+
+ Wenn Sie den Kernel soweit haben, daß er
+ psm0 beim Booten korrekt erkennt,
+ stellen Sie sicher, daß sich im Verzeichnis /dev ein
+ Eintrag für psm0 befindet.
+ Durch Eingabe von
+
+
+&prompt.root; cd /dev; sh MAKEDEV psm0
+
+
+ können Sie einen erstellen, wenn Sie als
+ root angemeldet sind.
+
+
+
+
+
+ Kann man die Maus irgendwie außerhalb von X
+ Windows benutzen?
+
+
+
+ Falls Sie den standard Konsoltreiber syscons benutzen,
+ können Sie den Mauszeiger auf Textkonsolen zum
+ Kopieren und Einfügen von Text verwenden. Starten
+ Sie den Mausdämon moused und schalten Sie den
+ Mauszeiger auf der virtuellen Konsole ein:
+
+
+&prompt.root; moused -p /dev/xxxx -t yyyy
+&prompt.root; vidcontrol -m on
+
+
+ xxxx bezeichnet hierbei den
+ Gerätename der Maus und
+ yyyy das Protokoll.
+ Unterstützte Protokolle finden Sie in der
+ &man.moused.8; Manualpage.
+
+ Wahrscheinlich wollen Sie den Mausdämon
+ automatisch beim Booten starten. In Version 2.2.1
+ müssen Sie hierzu die folgenden Variablen in
+ /etc/sysconfig setzen:
+
+
+mousedtype="yyyy"
+mousedport="xxxx"
+mousedflags=""
+
+
+ In den Versionen 2.2.2 bis 3.0 müssen Sie die
+ folgenden Variablen in /etc/rc.conf
+ setzen.
+
+
+moused_type="yyyy"
+moused_port="xxxx"
+moused_flags=""
+
+
+ Wenn Sie eine PS/2-Maus besitzen und FreeBSD 3.1 (oder
+ neuer) benutzen, brauchen Sie nur die Zeile
+ moused_enable="YES" in die Datei
+ /etc/rc.conf einzutragen.
+
+ Falls Sie den Mausdämon auf allen virtuellen
+ Bildschirmen anstatt nur während des Bootens auf der
+ Konsole benutzen wollen, tragen Sie außerdem
+ folgendes in /etc/rc.conf
+ ein.
+
+
+allscreens_flags="-m on"
+
+
+ Beginnend mit FreeBSD 2.2.6 ist der Mausdämon in
+ der Lage, das richtige Protokoll automatisch zu erkennen,
+ falls es sich nicht um ein relativ altes serielles
+ Mausmodell handelt. Geben Sie auto als
+ Protokoll an, um die automatische Erkennung zu
+ aktivieren.
+
+ Während der Mausdämon läuft, muß
+ der Zugriff auf die Maus zwischen dem Mausdämon und
+ anderen Programmen, wie z.B. X Windows koordiniert werden.
+ Lesen Sie auch einen anderen
+ Abschnitt zu diesem Thema.
+
+
+
+
+
+ Wie funktioniert das Kopieren und Einfügen von
+ Text mit der Maus auf einer Textkonsole?
+
+
+
+ Wenn Sie es geschafft haben, den Mausdämon zu
+ starten (siehe vorherigen
+ Abschnitt), halten Sie die linke Maustaste
+ gedrückt und bewegen Sie die Maus, um einen
+ Textabschnitt zu markieren. Dann drücken Sie die
+ mittlere oder rechte Maustaste, um ihn an der
+ Cursorposition einzufügen.
+
+ In den Versionen 2.2.6 und späteren bewirkt das
+ Drücken der mittleren Maustaste das Einfügen des
+ Textes. Das Drücken der rechten Maustaste
+ erweitert den markierten Textabschnitt.
+ Evtl. möchten Sie Tasten umbelegen oder die mittlere
+ Taste emulieren, falls Ihre Maus keine hat. Details
+ hierzu finden Sie in der &man.moused.8;
+ Manualpage.
+
+
+
+
+
+ Wird meine USB-Maus von FreeBSD
+ unterstützt?
+
+
+
+ Die Unterstützung für USB-Geräte ist
+ seit FreeBSD 3.1 Bestandteil des Systems. Die
+ Unterstützung war allerdings nicht ganz ausgereift;
+ einige der Probleme konnten bis zur Veröffentlichung
+ von FreeBSD 3.2 nicht behoben werden. Wenn Sie die
+ Treiber für USB-Mäuse selbst testen
+ möchten, sollten Sie den unten aufgeführten
+ Anweisungen folgen:
+
+
+
+ Benutzen Sie FreeBSD 3.2 oder eine neuere
+ Version.
+
+
+
+ Tragen Sie die folgenden Zeilen in die
+ Konfigurationsdatei Ihres Kernels ein und erzeugen Sie
+ einen neuen Kernel.
+
+
+device uhci
+device ohci
+device usb
+device ukbd
+options KBD_INSTALL_CDEV
+
+
+ Falls Sie eine ältere FreeBSD-Version als
+ FreeBSD 4.0 benutzen, müssen Sie diese
+ Einträge verwenden:
+
+
+controller uhci0
+controller ohci0
+controller usb0
+controller usm0
+
+
+
+
+ Erzeugen Sie im Verzeichnis
+ /dev die notwendigen
+ Dateien:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV ums0
+
+
+
+
+ Tragen Sie in der
+ /etc/rc.conf die folgenden Zeilen
+ ein:
+
+
+moused_enable="YES"
+moused_type="auto"
+moused_port="/dev/ums0"
+moused_flags=""
+usbd_enable="YES"
+usbd_flags=""
+
+
+ Weitergehende Informationen zum Thema moused
+ finden sie im vorherigen
+ Abschnitt.
+
+
+
+ Wenn Sie Ihre USB-Maus auch unter X benutzen
+ wollen, müssen sie die Datei
+ XF86Config ändern. Wenn Sie
+ XFree86 3.3.2 oder eine neuere Version benutzen,
+ müssen die folgenden Zeilen im Abschnitt
+ Pointer stehen:
+
+
+Device "/dev/sysmouse"
+Protocol "Auto"
+
+
+ Wenn sie eine ältere Version von XFree86
+ benutzen, müssen im Abschnitt
+ Pointer die folgenden Angaben
+ stehen:
+
+
+Device "/dev/sysmouse"
+Protocol "SysMouse"
+
+
+
+
+ Weitergehende Informationen zum Thema "Maus und X"
+ erhalten Sie hier.
+
+ Zur Zeit kann es noch Probleme geben, wenn Sie eine
+ USB-Maus im laufenden Betrieb einstecken oder abziehen.
+ Um Probleme zu vermeiden, sollten Sie die Maus
+ anschließen, bevor Sie das System anschalten und die
+ Maus nicht abziehen, solange das System noch
+ läuft.
+
+
+
+
+
+ Meine Maus hat ein neumodisches Rad und mehr
+ Knöpfe. Kann ich sie in FreeBSD benutzen?
+
+
+
+ Unglücklicherweise lautet die Antwort:
+ Vielleicht. 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.
+
+ Ob und wie Sie das Rad unter X nutzen können,
+ können Sie im passenden
+ Abschnitt der FAQ erfahren.
+
+
+
+
+
+ Meine Maus scheint nicht zu funktionieren. Der Cursor
+ springt wild über den Bildschirm. Die Maus hat ein
+ Rad und ist am PS/2-Port angeschlossen.
+
+
+
+ Die bis einschließlich FreeBSD 3.2 genutzte
+ Version des Treibers für PS/2-Mäuse
+ unterstützt einige Mäuse nicht richtig. Dazu
+ gehört die Logitech M-S48 und deren OEM-Version.
+ Wenden Sie die folgenden Patch auf
+ /sys/i386/isa/psm.c an und erzeugen
+ Sie einen neuen Kernel.
+
+
+Index: psm.c
+===================================================================
+RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
+retrieving revision 1.60.2.1
+retrieving revision 1.60.2.2
+diff -u -r1.60.2.1 -r1.60.2.2
+--- psm.c 1999/06/03 12:41:13 1.60.2.1
++++ psm.c 1999/07/12 13:40:52 1.60.2.2
+@@ -959,14 +959,28 @@
+ sc->mode.packetsize = vendortype[i].packetsize;
+
+ /* set mouse parameters */
++#if 0
++ /*
++ * A version of Logitech FirstMouse+ won't report wheel
+movement,
++ * if SET_DEFAULTS is sent... Don't use this command.
++ * This fix was found by Takashi Nishida.
++ */
+ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
+ if (verbose >= 2)
+ printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
++#endif
+ if (sc->config & PSM_CONFIG_RESOLUTION) {
+ sc->mode.resolution
+ = set_mouse_resolution(sc->kbdc,
+- (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ } else if (sc->mode.resolution >= 0) {
++ sc->mode.resolution
++ = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
++ }
++ if (sc->mode.rate > 0) {
++ sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
+ }
++ set_mouse_scaling(sc->kbdc, 1);
+
+ /* request a data packet and extract sync. bits */
+ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3)
+
+
+ Dieses Problem sollte ab FreeBSD 3.3 nicht mehr
+ auftreten.
+
+
+
+
+
+ Wie benutze ich Maus/Trackball/Touchpad auf meinem
+ Laptop?
+
+
+
+ Bitte lesen Sie die Antwort
+ zur vorherigen Frage und sehen Sie sich diese Anmerkung auf der
+ Mobile-Computing-Seite an.
+
+
+
+
+
+ Welche Arten von Bandlaufwerken werden
+ unterstützt?
+
+
+
+ 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.
+
+ Einige der frühen 8-mm-Laufwerke sind nicht
+ besonders kompatibel zu SCSI-2 und könnten unter
+ FreeBSD nicht einwandfrei funktionieren.
+
+
+
+
+
+ Unterstützt FreeBSD Bandwechsler?
+
+
+
+ FreeBSD 2.2 untestützt SCSI-Wechsler mit dem
+ Gerät ch und dem Befehl
+ chio. Datails zum Betrieb des
+ Wechslers können Sie in der Manualpage &man.chio.1;
+ finden.
+
+ Falls Sie nicht AMANDA oder
+ ein anderes Produkt benutzen, das den Wechsler bereits
+ kennt, bedenken Sie, daß die Programme nur wissen,
+ wie sie ein Band von einem Punkt zu einem anderen bewegen
+ müssen. Sie selbst müssen sich also merken, in
+ welchem Einschub sich ein Band befindet und zu welchem
+ Einschub das Band, das sich gerade im Laufwerk befindet,
+ zurück muß.
+
+
+
+
+
+ Welche Soundkarten werden von FreeBSD
+ unterstützt?
+
+
+
+ FreeBSD unterstützt die Soundkarten SoundBlaster,
+ SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16,
+ AdLib und Gravis UltraSound. MPU-401 und kompatible
+ MIDI-Karten werden begrenzt unterstützt. Ebenso
+ werden Karten, die der Microsoft Sound
+ System-Spezifikation entsprechen, durch den pcm-Treiber
+ unterstützt.
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Abhilfen für fehlenden Sound von es1370 mit dem
+ pcm-Treiber?
+
+
+
+ Sie können den folgenden Befehl jedesmal nach dem
+ Booten ausführen:
+
+
+&prompt.root; mixer pcm 100 vol 100 cd 100
+
+
+
+
+
+
+ Welche Netzwerkkarten unterstützt
+ FreeBSD?
+
+
+
+ Sie finden im Abschnitt Ethernet-Karten
+ des Handbuchs eine vollständige Liste.
+
+
+
+
+
+ Ich habe keinen mathematischen Co-Prozessor - ist das
+ schlimm?
+
+
+
+
+
+ Dies betrifft nur Besitzer von 386/486SX/486SLC -
+ andere Maschinen haben in ihrer CPU einen
+ integriert.
+
+
+
+ Im allgemeinen wird das keine Probleme verursachen,
+ aber es gibt Gelegenheiten bei denen es Sie betreffen wird
+ - entweder bei der Performance oder bei der Genauigkeit
+ der Emulation (lesen Sie den Abschnitt über Gleitpunkt-Emulation).
+ Insbesondere wird das Zeichnen von Bögen in X SEHR
+ langsam sein. Es wird dringend empfohlen, daß Sie
+ sich einen mathematischen Co-Prozessor kaufen - er ist
+ sein Geld wert.
+
+
+
+ Einige Co-Prozessoren sind besser als andere. Es
+ tut uns weh, es zu sagen, aber es ist noch niemand
+ dafür entlassen worden, daß er bei Intel
+ eingekauft hat. Hüten Sie sich vor Clonen, es
+ sei denn, Sie sind sicher, daß sie unter FreeBSD
+ funktionieren.
+
+
+
+
+
+
+
+ Welche Geräte werden noch von FreeBSD
+ unterstützt?
+
+
+
+ Im Handbuch
+ finden Sie eine Liste von anderen unterstützten
+ Geräten.
+
+
+
+
+
+ Unterstützt FreeBSD Power-Management auf meinem
+ Laptop?
+
+
+
+ Auf einigen Rechnern unterstützt FreeBSD APM.
+ Suchen Sie bitte in der Kernelkonfigurationdatei
+ LINT nach dem Wort
+ APM.
+
+
+
+
+
+ Mein Micron-System hängt sich beim Booten
+ auf
+
+
+
+ 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.
+
+ Deaktivieren Sie Plug and Play Operating
+ System im BIOS, um dieses Problem zu beheben.
+ Weitere Informationen können unter http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
+ gefunden werden.
+
+
+
+
+
+ Ich habe einen neueren Adaptec-Controller, den FreeBSD
+ nicht finden kann.
+
+
+
+ Die Chips der neueren Adaptec AIC789-Serie werden
+ unter dem CAM SCSI System unterstützt, das sein Debut
+ in 3.0 gemacht hat. Patches für 2.2-STABLE befinden
+ sich in ftp://ftp.de.FreeBSD.org/pub/FreeBSD/development/cam/.
+ Eine Bootdiskette mit CAM-Erweiterung ist unter http://people.FreeBSD.org/~abial/cam-boot/
+ erhältlich. Lesen Sie in beiden Fällen die
+ Datei README, bevor Sie beginnen.
+
+
+
+
+
+ Ich habe ein internes Plug & Play-Modem, das
+ FreeBSD nicht finden kann.
+
+
+
+ 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 controller
+ pnp0 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
+ /sys/i386/isa/sio.c finden Sie ab
+ Zeile 2777 (ca.) eine Tabelle, in der Sie die PnP-ID des
+ Modems eintragen müssen. Suchen Sie die Zeichenfolge
+ SUP1310 in der Struktur "siopnp_ids[]",
+ um die Tabelle zu finden. Erstellen Sie den Kernel
+ nochmals, installieren Sie ihn, rebooten Sie, und Ihr
+ Modem sollte erkannt werden.
+
+ Möglicherweise müssen Sie in der
+ boot-time-Konfiguration die PnP-Geräte manuell mit
+ einem pnp-Befehl ähnlich
+
+
+pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
+
+
+ konfigurieren, damit das Modem erkannt wird.
+
+
+
+
+
+ Wie kann ich den boot:-Prompt auf einer seriellen
+ Konsole erscheinen lassen?
+
+
+
+
+
+ Erstellen Sie einen Kernel mit options
+ COMCONSOLE.
+
+
+
+ Erstellen Sie /boot.config mit
+ als einzigem Text in der Datei.
+
+
+
+ Ziehen Sie das Tastaturkabel aus dem
+ Rechner.
+
+
+
+ Lesen Sie
+ /usr/src/sys/i386/boot/biosboot/README.serial
+ zur Information.
+
+
+
+
+
+ Warum arbeitet meine 3Com PCI-Netzwerkkarte in meinem
+ Micron-Computer nicht?
+
+
+
+ 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.
+
+ Deaktivieren Sie die Option Plug and Play
+ Operating System im BIOS, um das Problem zu
+ umgehen.
+
+ Weitere Informationen zu diesem Problem gibt es unter
+ dem URL: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron.
+
+
+
+
+
+ Unterstützt FreeBSD Symmetric Multiproccessing
+ (SMP)?
+
+
+
+ SMP wird erst ab Version 3.0 unterstützt. SMP
+ ist im Standardkernel (GENERIC) nicht
+ aktiviert, wenn Sie SMP verwenden wollen, müssen Sie
+ einen angepaßten Kernel erstellen. Die dazu
+ notwendigen Optionen können Sie der Datei
+ /sys/i386/conf/LINT
+ entnehmen.
+
+
+
+
+
+ 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?
+
+
+
+ Schalten Sie im BIOS die Option "boot virus
+ protection" aus.
+
+
+
+
+
+
+ Fehlerbehebung
+
+
+
+
+ Ich habe fehlerhafte Blöcke auf meiner
+ Festplatte!
+
+
+
+ SCSI-Laurwerke sollten in der Lage sein, diese
+ automatisch zu verlagern. Bei einigen Laufwerken ist
+ diese Eigenschaft jedoch aus unerfindlichen Gründen
+ bei der Auslieferung ausgeschaltet...
+
+ Um sie einzuschalten, müssen Sie den Page-Mode
+ des ersten Gerätes editieren. Unter FreeBSD
+ können Sie das (als root) mit
+ folgendem Befehl tun
+
+
+&prompt.root; scsi -f /dev/rsd0c -m 1 -e -P 3
+
+
+ und die Werte für AWRE und ARRE von 0 auf 1
+ ändern:-
+
+
+AWRE (Auto Write Reallocation Enbld): 1
+ARRE (Auto Read Reallocation Enbld): 1
+
+
+ Die folgenden Abschnitte wurden von Ted
+ Mittelstaedt eingesendet:
+
+ Bei IDE-Laufwerken sind fehlerhafte Blöcke
+ normalerweise ein Zeichen für potentielle Probleme.
+ Bei allen modernen IDE-Laufwerken ist eine interne
+ Verlagerung von fehlerhaften Blöcken eingeschaltet.
+ Heutzutage bieten alle IDE-Festplattenhersteller eine
+ umfassende Garantie und tauschen Laufwerke mit
+ fehlerhaften Blöcken um.
+
+ Falls Sie ein IDE-Laufwerk mit fehlerhaften
+ Blöcken trotzdem weiterbenutzen möchten,
+ können Sie versuchen, sich vom Hersteller ein
+ IDE-Diagnoseprogramm herunterzuladen und dies über
+ das Laufwerk laufen zu lassen. Manchmal können diese
+ Programme so eingestellt werden, daß sie die
+ Elektronik des Laufwerks dazu veranlassen, das Laufwerk
+ nochmals nach fehlerhaften Blöcken zu durchsuchen und
+ diese auszuschließen.
+
+ Auf ESDI-, RLL- und MFM-Laufwerken sind fehlerhafte
+ Blöcke nichts ungewöhnliches und im allgemeinen
+ kein Zeichen für Probleme. Auf einem PC
+ übernehmen der Festplatten-Controller und das BIOS
+ die Aufgabe, fehlerhafte Sektoren auszuschließen,
+ was bei Betriebssystemen wie DOS, die das BIOS benutzen,
+ um auf die Platte zuzugreifen, auch gut funktioniert. Die
+ Festplattentreiber von FreeBSD benutzen allerdings nicht
+ das BIOS, weshalb ein Mechanismus bad144 existiert, der
+ diese Funktionalität ersetzt. bad144 arbeitet nur
+ mit dem wd-Treiber (und wird damit von FreeBSD 4.x nicht
+ unterstützt) und kann NICHT für SCSI benutzt
+ werden. bad144 arbeitet, indem es alle gefundenen,
+ fehlerhaften Sektoren in eine spezielle Datei
+ schreibt.
+
+ Eine Einschränkung von bad144 ist, daß die
+ Datei mit den fehlerhaften Sektoren auf die letzte Spur
+ der Platte plaziert wird. Da diese Datei nun
+ möglicherweise eine Liste von fehlerhaften Sektoren
+ enthalten könnte, die am Anfang der Platte auftreten,
+ wo sich möglicherweise die /kernel-Datei befindet,
+ muß sie vom Bootstrap-Programm, das BIOS-Routinen
+ benutzt, um den Kernel zu lesen, erreichbar sein. Das
+ bedeutet, daß Platten, auf denen bad144 benutzt
+ wird, 1024 Zylinder, 16 Köpfe und 63 Sektoren nicht
+ überschreiten dürfen. Platten, die von bad144
+ verwaltet werden, sind also effektiv auf 500MB
+ begrenzt.
+
+ Setzen Sie Bad Block Scanning
+ während der Installation im fdisk-Menue einfach auf
+ ON, um bad144 zu verwenden. Dies funktioniert bis zu
+ FreeBSD 2.2.7. Die Platte darf nicht mehr als 1024
+ Zylinder besitzen. Generell wird empfohlen, daß die
+ Festplatte vorher mindestens vier Stunden in Betrieb war,
+ um ihr die Möglichkeit zur thermischen Ausdehnung und
+ Spurversetzung zu geben.
+
+ Falls eine Platte mehr als 1024 Zylinder besitzt (wie
+ z.B. große ESDI-Laufwerke), benutzt der Controller
+ einen speziellen Übersetzungsmodus, um den Betrieb
+ unter DOS zu ermöglichen. Der wd-Treiber kennt diese
+ Übersetzungsmodi, WENN Sie die
+ translated-Geometrie mit dem set
+ geometry-Befehl in fdisk eingeben. Sie
+ dürfen NICHT den "dangerously dedicated"-Modus zur
+ Erstellung der FreeBSD-Partition verwenden, weil dieser
+ die Geometrie ignoriert und obwohl fdisk Ihre
+ überschriebene Geometrie benutzen wird, ist die wahre
+ Größe der Platte noch bekannt und es wird
+ versucht, eine zu große FreeBSD-Partition zu
+ erstellen. Wenn die Plattengeometrie in die
+ übersetzte Geometrie geändert worden ist, dann
+ MUß die Partition manuell durch Angabe der
+ Blockanzahl erstellt werden.
+
+ Sie können mit dem ESDI-Controller auch
+ kurzerhand eine große ESDI-Platte erstellen, diese
+ dann mit DOS booten und als DOS-Partition formatieren.
+ Anschließend booten Sie mit dem
+ FreeBSD-Installationsprogramm und im fdisk-Menue notieren
+ Sie sich die Blockgröße und die Anzahl
+ Blöcke der DOS-Partition. Dann ändern Sie die
+ Geometrie in die gleiche, wie die von DOS verwendete,
+ löschen die DOS-Partition und erstellen eine
+ kooperative FreeBSD-Partition mit der
+ gleichen Blockgröße, die Sie zuvor notiert
+ haben. Machen Sie die Partition nun bootfähig und
+ schalten Sie Bad Block Scanning ein. Während der
+ tatsächen Installation wird bad144 gestartet, bevor
+ irgendwelche Dateisysteme erstellt werden (Sie können
+ das mit Alt-F2 beobachten). Falls irgendwelche Probleme
+ bei der Erstellung der Datei mit den fehlerhaften Sektoren
+ auftreten sollten, haben Sie eine zu große
+ Plattengeometrie eingestellt - rebooten Sie Ihr System und
+ beginnen Sie von vorne (die Neupartitionierung und
+ Formatierung unter DOS eingeschlossen).
+
+ Falls die Verlagerung fehlerhafter Blöcke
+ aktiviert ist und Sie trotzdem fehlerhafte Blöcke
+ bemerken, sollten Sie einen Austausch des Laufwerkes in
+ Erwägung ziehen, da die fehlerhaften Blöcke mit
+ der Zeit zunehmen werden.
+
+
+
+
+
+ FreeBSD erkennt meinen SCSI-Kontroller vom Typ Bustek
+ 742a EISA nicht!
+
+
+
+ Diese Information ist speziell für die 742a,
+ könnte aber auch andere Buslogic-Karten
+ einschließen (Bustek = Buslogic)
+
+ Es gibt zwei grundverschiedene
+ Versionen der 742a-Karte. Das sind die
+ Hardware-Revisionen A-G und Revisionen von H
+ aufwärts. Der Revisionsbuchstabe befindet sich
+ hinter der Fabriknummer am Rand der Karte. Auf der 742a
+ befinden sich zwei Chips. Einer ist der BIOS-Chip, der
+ andere der Firmware-Chip. FreeBSD achtet nicht darauf,
+ welche BIOS-Version Sie haben, aber es achtet auf die
+ Version des Firmware-Chips. Buslogic schickt Ihnen
+ Upgrade-ROMS, wenn Sie sich an den technischen Support
+ wenden. Die BIOS- und Firmware-Chips müssen als
+ passende Paare ausgeliefert werden. Für Ihre
+ Hardware-Revision benötigen Sie das aktuellste
+ Firmware-ROM auf Ihrer Adapter-Karte.
+
+ Karten der Revision A-G akzeptieren
+ BIOS/Firmware-Paare bis zu 2.41/2.21. Die Karten der
+ Revisionen H und aufwärts akzeptieren die aktuellsten
+ BIOS/Firmware-Paare 4.70/3.37. Der Unterschied der
+ Firmware-Versionen ist, daß die 3.37-Firmware
+ round robin unterstützt.
+
+ Auf den Buslogic-Karten befindet sich auch eine
+ Seriennummer. Falls Sie eine Karte mit einer alten
+ Hardwarerevisionsnummer besitzen, können Sie sich an
+ die RMA-Abteilung von Buslogic wenden, Ihre Seriennummer
+ angeben und versuchen, die Karte gegen eine neuere
+ Hardwarerevision auszutauschen. Falls Ihre Karte nicht zu
+ alt ist, wird dem Tausch zugestimmt werden.
+
+ Von FreeBSD 2.1 werden nur Firmwarerevisionen ab 2.21
+ aufwärts unterstützt. Wenn Sie eine ätere
+ Firmwarerevision besitzen, wird Ihre Karte nicht als
+ Buslogic-Karte erkannt. Sie könnte jedoch als
+ Adaptec 1540 erkannt werden. Die früe Firmware von
+ Buslogic enthält eine AHA1540
+ Emulation, wovon bei EISA-Karten jedoch
+ abzuraten ist.
+
+ Wenn sie eine Karte mit einer alten
+ Hardwarerevisionsnummer besitzen und die 2.21-Firmware
+ für sie bekommen, müssen Sie den Jumper W1 in
+ die Position B-C setzen; die Voreinstellung ist
+ A-B.
+
+
+
+
+
+ Der SCSI-Controller meines HP Netserver wird nicht
+ erkannt!
+
+
+
+ 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
+ wirklichen EISA-Slots vor ihm befinden.
+ Leider kollidiert der Adreßraum von EISA-Slots
+ >10 mit dem Adreßraum, der PCI zugeordnet ist und
+ die Autokonfiguration von FreeBSD kann mit dieser
+ Situation derzeit nicht besonders gut umgehen.
+
+ Die einfachste Alternative ist, diese Kollision
+ einfach zu leugnen. Setzen Sie dazu die Kerneloption
+ EISA_SLOTS auf den Wert 12.
+ Konfigurieren und kompilieren Sie den Kernel, wie im
+ Handbucheintrag
+ zur Kernelkonfiguration beschrieben.
+
+ 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
+ UserConfig. Benutzen Sie nicht die
+ visuelle Schnittstelle, sondern die rohe
+ Kommandozeilenschnittstelle. Geben Sie einfach
+
+
+eisa 12
+quit
+
+
+ am Prompt ein und Sie können Ihr System ganz
+ normal installieren. Sie sollten auf jeden Fall einen
+ angepaßten Kernel zu kompilieren und
+ installieren,
+
+ Zukünftige Versionen werden hoffentlich eine
+ passende Lösung für dieses Problem
+ beinhalten.
+
+
+
+ Sie können keine dangerously
+ dedicated Platte auf einem HP Netserver
+ verwenden. Lesen Sie weitere Informationen finden Sie
+ in diesem
+ Hinweis.
+
+
+
+
+
+
+
+ Was ist mit diesem CMD640-Controller los?
+
+
+
+ Er ist fehlerhaft. Er kann Befehle auf beiden
+ Kanälen nicht simultan behandeln.
+
+ Es gibt jetzt eine Abhilfe, die automatisch aktiviert
+ wird, wenn Ihr System diesen Chip benutzt. Details finden
+ Sie in der Manualpage zum Plattentreiber (man 4
+ wd).
+
+ Wenn bei Ihnen bereits FreeBSD 2.2.1 oder 2.2.2 mit
+ einem CMD640-Controller läuft und Sie den zweiten
+ Kanal benutzen möchten, erstellen Sie einen neuen
+ Kernel mit options "CMD640". Dies ist
+ seit 2.2.5 Voreinstellung.
+
+
+
+
+
+ Ich sehe ständig Meldungen wie ed1:
+ timeout.
+
+
+
+ Dies wird meistens durch einen Interruptkonflikt
+ verursacht (z.B., wenn zwei Karten den selben Interrupt
+ benutzen). Vor 2.0.5R war FreeBSD diesbezüglich
+ tolerant und die Treiber für Netzwerkkarten
+ funktionierten auch bei IRQ-Konflikten. Seit 2.0.5R
+ werden IRQ-Konflikte jedoch nicht länger toleriert.
+ Booten Sie mit der Option -c und ändern Sie die
+ Einträge zu ed0/de0/... Ihrem Board
+ entsprechend.
+
+ Wenn Sie den BNC-Anschluß Ihrer Netzwerkkarte
+ benutzen, könnte es auch sein, daß es sich
+ Geräte-Timeouts aufgrund fehlerhafter Terminierung
+ handelt. Um dies zu überprüfen, verbinden Sie
+ einen Terminator direkt mit der Netzwerkkarte (ohne Kabel)
+ und beobachten Sie, ob die Fehlermeldungen
+ verschwinden.
+
+ Einige NE2000 kompatible Karten melden diesen Fehler,
+ wenn keine Verbindung am UTP-Eingang existiert oder wenn
+ das Kabel nicht eingesteckt ist.
+
+
+
+
+
+ Beim Mounten einer CDROM erscheint Incorrect
+ super block.
+
+
+
+ Sie müssen mount mitteilen,
+ was für ein Gerät Sie mounten wollen.
+ Standardmäßig wird mount den
+ Typ ufs annehmen. Sie wollen ein
+ CDROM-Dateisystem mounten und das tun Sie, indem Sie die
+ Option für
+ mount benutzen. Natürlich unter
+ der Annahme, daß die CDROM ein ISO 9660-Dateisystem
+ enthält, wie bei den meisten CDROMs. Ab 1.1R
+ versteht FreeBSD auch automatisch die Rock Ridge
+ Erweiterungen (lange Dateinamen).
+
+ Wenn sie zum Beispiel das CDROM-Gerät
+ /dev/cd0c unter dem Dateinamen
+ /mnt mounten wollen,
+ müßten Sie:
+
+
+&prompt.root; mount -t cd9660 /dev/cd0c /mnt
+
+
+ eingeben.
+
+ Beachten Sie, daß Ihr Gerätename
+ (/dev/cd0c in diesem Beispiel)
+ abhängig von der CDROM-Schnittstelle unterschiedlich
+ sein könnte. Die Option
+ bewirkt lediglich, daß der Befehl
+ mount_cd9660 ausgeführt wird. Das
+ obige Beispiel könnte also kürzer
+ lauten:
+
+
+&prompt.root; mount_cd9660 /dev/cd0c /mnt
+
+
+
+
+
+
+ Wenn ich eine CDROM mounte, erscheint Device
+ not configured.
+
+
+
+ Das bedeutet im allgemeinen, daß sich keine
+ CDROM im Laufwerk befindet, oder, daß das Laufwerk
+ auf dem Bus nicht sichtbar ist. Legen sie etwas ins
+ Laufwerk ein und/oder überprüfen Sie den
+ Master/Slave-Status des Laufwerks, falls es sich um ein
+ IDE (ATAPI) Laufwerk handelt. Bei einem CDROM-Laufwerk
+ kann es einige Sekunden dauern, bis ein eingelegter
+ Datenträger erkannt wird. Haben Sie also
+ Geduld.
+
+ Manchmal kann ein SCSI-CDROM verfehlt werden, weil es
+ nicht genügend Zeit hatte, auf einen Bus-Reset zu
+ antworten. Falls Sie ein SCSI-CDROM besitzen, versuchen
+ Sie, folgendes in Ihre Kernelkonfigurationsdatei
+ einzufügen, und neu zu kompilieren:
+
+
+options "SCSI_DELAY=15"
+
+
+
+
+
+
+ Mein Drucker ist unglaublich langsam. Was kann ich
+ tun?
+
+
+
+ Falls es sich um einen parallelen Drucker handelt und
+ das einzige Problem ist, daß er schrecklich langsam
+ ist, probieren Sie, den Druckerausgang in den
+ gepollten Modus zu setzen:
+
+
+&prompt.root; lptcontrol -p
+
+
+ Von einigen neueren HP-Druckern wird behauptet,
+ daß sie im Interruptmodus nicht korrekt arbeiten,
+ anscheinend wegen eines (noch nicht genau verstandenen)
+ Timing-Problems.
+
+
+
+
+
+ Meine Programme brechen gelegentlich mit
+ Signal 11-Fehlern ab.
+
+
+
+ Das Signal 11 wird generiert, wenn ein Prozeß
+ versucht, auf Speicher zuzugreifen, obwohl er vom
+ Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das
+ scheinbar zufällig immer wieder passiert, sollten Sie
+ der Sache einmal auf der Grund gehen.
+
+ Das Problem hat in der Regel eine der folgenden
+ Ursachen:
+
+
+
+ Wenn das Problem nur in einer bestimmten
+ Applikation auftritt, die Sie selbst entwickeln, dann
+ ist es wahrscheinlich ein Fehler in Ihren
+ Sourcen.
+
+
+
+ Wenn das Problem in einem Teil von FreeBSD
+ auftritt, könnte es natürlich auch ein
+ Fehler sein; aber in der überwiegenden Zahl der
+ Fälle werden diese Probleme gefunden und behoben,
+ bevor die typischen Leser der FAQ (wir) diese Teile
+ der Sourcen benutzen können (dafür gibt es
+ schließlich -current).
+
+
+
+ Wenn der Fehler auftritt, wenn Sie ein Programm
+ compilieren aber dabei immer wieder an anderer Stelle
+ auftritt, dann ist das ein ganz eindeutiger Hinweis,
+ daß das Problem *nicht* bei FreeBSD liegt.
+
+ Nehmen wir zum Beispiel an, daß Sie "make
+ buildworld" ausführen und die Compilierung von ls.c
+ in ls.o abbricht. Wenn Sie nochmal "make buildworld"
+ durchführen und die Compilierung an der gleichen
+ Stelle abbricht, handelt es sich um einen Fehler in den
+ Sourcen. Aktualisieren Sie Ihre Sourcen und versuchen Sie
+ es noch einmal. Wenn der Fehler jedoch an einer anderen
+ Stelle auftritt, liegt das Problem mit an Sicherheit
+ grenzender Wahrscheinlichkeit bei Ihrer Hardware.
+
+ Was Sie tun sollten:
+
+ 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.
+
+ Im zweiten Fall müssen Sie sicherstellen,
+ daß das Problem nicht von Ihrer Hardware verursacht
+ wird.
+
+ Typische Ursachen dafür sind unter
+ anderem:
+
+
+
+ Es könnte sein, daß Ihren Festplatten
+ zu warm wird: Überprüfen Sie, ob die
+ Lüfter in Ihrem Gehäuse noch funktionieren,
+ damit Ihre Festplatten (und andere Hardware) nicht
+ heißlaufen.
+
+
+
+ Der Prozessor überhitzt, weil Sie Ihn
+ übertaktet haben oder der CPU-Kühler
+ ausgefallen ist. Sie müssen sicherstellen,
+ daß Sie Ihre Hardware unter den Bedingungen
+ betreiben, für die sie spezifiziert ist,
+ zumindestens während Sie versuchen, das Problem
+ zu lösen. Mit anderen Worten: Betreiben Sie
+ Ihre CPU mit der normalen Taktfrequenz.
+
+ Wenn Sie übertakten, sollten Sie daran
+ denken, daß ein langsames System deutlich
+ billiger ist als ein defektes System. Die große
+ Masse hat nicht sehr häufig Mitgefühl mit
+ Problemen bei übertakteten System, auch wenn Sie
+ es für ungefährlich halten.
+
+
+
+ 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.
+
+
+
+ Zu optimistische Einstellung des Mainboards: In
+ Ihrem BIOS und mit den Jumpern auf dem Mainboard
+ können Sie diverse Timings ändern. In den
+ meisten Fällen reichen die Defaults aus, aber
+ manchmal kann es durch zu wenig wait states, die
+ Einstellung "RAM Speed: Turbo" oder ähnliches zu
+ merkwürdigen Problemen kommen. Ein
+ möglicher Ansatz ist, die BIOS defaults zu laden,
+ allerdings könnte es sinnvoll sein, die aktuellen
+ Einstellungen vorher zu notieren.
+
+
+
+ Schlechte oder fehlerhafte Stromversorgung des
+ Mainboards: Wenn Sie unbenutzte Steckkarten, Platten
+ oder CD-ROMs in Ihrem System haben, sollten Sie sie
+ testweise ausbauen oder die Stromversorgung abziehen.
+ Dadurch können Sie prüfen, ob Ihr Netzteil
+ eventuell mit einer geringeren Last besser
+ zurechtkommt. Sie können auch testweise ein
+ anderes, am besten ein leistungsfähigeres,
+ Netzteil ausprobieren. Wenn Sie zur Zeit ein
+ 250W-Netzteil benutzen, sollten Sie testweise ein
+ 300W-Netzteil einbauen.
+
+
+
+ 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.
+
+ Wenn alle diese Schritte nicht helfen, ist es
+ möglich, daß Sie einen Fehler in FreeBSD
+ gefunden haben. Folgen Sie einfach den Anweisungen
+ für die Erstellung eines Problem Reports.
+
+ Es existiert eine ausführliche FAQ hierzu unter
+ der
+ SIG11-Problem-FAQ
+
+
+
+
+
+ Beim Booten wird der Bildschirm schwarz und reagiert
+ nicht mehr!
+
+
+
+ Dies ist ein bekanntes Problem mit der ATI Mach 64
+ Videokarte. Das Problem besteht darin, daß diese
+ Karte die Adresse 2e8 benutzt und die
+ vierte serielle Schnittstelle ebenfalls. Aufgrund eines
+ Fehlers (einer Besonderheit?) im Treiber
+ sio wird diese Schnittstelle
+ angesprochen, auch wenn Sie gar keine vierte serielle
+ Schnittstelle besitzen und sogar,
+ wenn sie sio3 (die vierte Schnittstelle), die
+ normalerweise diese Adresse verwendet,
+ deaktivieren.
+
+ Bis der Fehler behoben ist, können Sie folgende
+ Abhilfe verwenden:
+
+
+
+ Geben Sie am Bootprompt ein.
+ (Dies bringt den Kernel in den
+ Konfigurationsmodus).
+
+
+
+ Deaktivieren Sie sio0,
+ sio1,
+ sio2 und
+ sio3 (alle). Auf diese Weise
+ wird der sio-Treiber nicht aktiviert und das Problem
+ tritt nicht mehr auf.
+
+
+
+ Geben Sie exit ein, um den Bootvorgang
+ fortzusetzen.
+
+
+
+ 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 /usr/src/sys/i386/isa/sio.c nach
+ der Zeichenkette 0x2e8 und löschen
+ Sie sie und das vorhergehende Komma (nicht das folgende
+ Komma). Nun folgen Sie der normalen Prozedur zur
+ Erstellung eines neuen Kernels.
+
+ Auch nach Anwendung dieser Maßnahmen könnte
+ es sein, daß Ihr X Windows-System nicht einwandfrei
+ funktioniert. Wenn dies der Fall ist, stellen Sie sicher,
+ daß es sich bei der von Ihnen benutzten X
+ Windows-Version mindestens um XFree86 3.3.3 oder
+ höher handelt. Diese Version und höhere
+ besitzen eine integrierte Unterstützung für
+ Mach64-Karten und sogar einen dedizierten X-Server
+ für sie.
+
+
+
+
+
+ Ich besitze 128 MB Hauptspeicher, aber das System
+ verwendet nur 64 MB.
+
+
+
+ Aufgrund der Art und Weise, wie FreeBSD die
+ Hauptspeichergröße vom BIOS mitgeteilt bekommt,
+ kann es lediglich 16-Bit Werte in kByte-Größe
+ (65535 kByte = 64MB) erkennen (oder weniger... einige
+ BIOSe setzen die Hauptspeichergröß auf 16MB).
+ Falls Sie mehr als 64MB besitzen, wird FreeBSD versuchen,
+ das zu erkennen, was aber nicht immer
+ funktioniert.
+
+ Um dieses Problem zu umgehen, müssen Sie die
+ untenstehende Kerneloption verwenden. Es gibt einen Weg,
+ vollständige Hauptspeicherinformationen vom BIOS zu
+ erhalten, aber in den Bootblöcken ist nicht
+ genügend Platz dafür vorhanden. Wenn der
+ Platzmangel in den Bootblöcken eins Tages behoben
+ ist, werden wir die erweiterten BIOS-Funktionen dazu
+ nutzen, die vollständigen Hauptspeicherinformationen
+ zu erhalten... aber zur Zeit sind wir auf die Kerneloption
+ angewiesen.
+
+ options
+ "MAXMEM=n"
+
+ Hierbei ist n Ihre
+ Hauptspeichergröße in Kilobyte. Bei einer 128
+ MB-Maschine müßten Sie
+ 131072 benutzen.
+
+
+
+
+
+ FreeBSD 2.0 gerät mit kmem_map too
+ small! in Panik.
+
+
+
+
+
+ Die Nachricht kann auch mb_map too
+ small! lauten.
+
+
+
+ Diese Meldung zeigt an, daß der virtuelle
+ Speicher für Netzwerkpuffer (spezieller mbuf-Cluster)
+ aufgebraucht ist. Sie können die für mbuf
+ verfügbare Größe an VM erhöhen, indem
+ Sie
+
+ options
+ "NMBCLUSTERS=n"
+
+ in Ihre Kernelkonfigurationsdatei einfügen, wobei
+ n, abhängig davon,
+ wieviele gleichzeitige TCP-Verbindungen Sie
+ unterstützen müssen, eine Zahl aus dem Bereich
+ 512-4096 ist. Ich würde Ihnen empfehlen, 2048 zu
+ probieren - das sollte Sie von solchen Paniksituationen
+ vollkommen befreien. Sie können die Anzahl der
+ zugeordneten/benutzten mbuf-Cluster im System mit
+ netstat -m beobachten. Der
+ voreingestellte Wert für NMBCLUSTERS ist 512
+ + MAXUSERS * 16.
+
+
+
+
+
+ Beim Rebooten mit einem neuen Kernel erscheint
+ CMAP busy panic.
+
+
+
+ Die Logik, die versucht, veraltete
+ /var/db/kvm_*.db-Dateien zu erkennen,
+ versagt manchmal und die Benutzung einer unpassenden Datei
+ kann zu Paniksituationen führen.
+
+ Falls das passiert, rebooten Sie im Single-User-Modus
+ und löschen Sie die Dateien:
+
+
+&prompt.root; rm /var/db/kvm_*.db
+
+
+
+
+
+
+ ahc0: brkadrint, Illegal Host Access at seqaddr
+ 0x0
+
+
+
+ Dies ist ein Konflikt mit einem Ultrastor SCSI
+ Hostadapter.
+
+ Rufen Sie während des Bootprozesses das
+ Kernelkonfigurationsmenue auf und deaktivieren Sie
+ uha0, welches das Problem
+ verursacht.
+
+
+
+
+
+ Sendmail meldet mail loops back to
+ myself
+
+
+
+ Dies wird in der Sendmail-FAQ wie folgt
+ beantwortet:-
+
+ * Ich erhalte "Local configuration error" Meldungen, wie:
+
+ 553 relay.domain.net config error: mail loops back to myself
+ 554 <user@domain.net>... Local configuration error
+
+ Wie kann ich dieses Problem lösen?
+
+ Sie haben durch die Benutzung einer MX-Zeile eingestellt, daß
+ Mail für die Domäne (z.B. domain.net) an einen speziellen
+ Host (in diesem Fall relay.domain.net) weitergeleitet wird,
+ aber der Relay-Host erkennt sich selbst nicht als
+ domain.net. Fügen Sie domain.net in /etc/sendmail.cw
+ (falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
+ in /etc/sendmail.cf ein.
+
+
+ Die aktuelle Version der Sendmail-FAQ
+ wird nicht mehr mit dem Sendmail-Release verwaltet. Sie
+ wird jedoch regelmäßig nach comp.mail.sendmail,
+ comp.mail.misc,
+ comp.mail.smail,
+ comp.answers und
+ news.answers
+ gepostet. Sie können auch eine Kopie per Email
+ bekommen, indem Sie eine Mail mit dem Inhalt send
+ usenet/news.answers/mail/sendmail-faq an
+ mail-server@rtfm.mit.edu schicken.
+
+
+
+
+
+ Auf entfernten Maschinen laufende
+ Full-Screen-Applikationen verhalten sich nicht
+ richtig.
+
+
+
+ Die entfernte Maschine scheint den Terminaltyp auf
+ etwas anderes als den Typ cons25, der
+ von FreeBSD verlangt wird, zu setzen.
+
+ Es gibt mehrere mögliche Abhilfen für dieses
+ Problem:
+
+
+
+ Setzen Sie die Shell-Variable TERM nach dem
+ Einloggen auf der entfernten Maschine auf
+ ansi oder sco,
+ sofern die entfernte Maschine diese Terminaltypen
+ kennt.
+
+
+
+ Benutzen Sie einen VT100-Emulator wie
+ screen auf der
+ FreeBSD-Console. screen
+ bietet Ihnen die Möglichkeit, mehrere
+ gleichzeitige Sitzungen von einem Bildschirm aus
+ laufen zu lassen. Es ist ein sehr nettes Programm.
+ Jedes screen-Fenster
+ verhält sich, wie ein VT100-Terminal, weshalb die
+ Variable TERM am entfernten Ende auf
+ vt100 gesetzt werden
+ sollte.
+
+
+
+ Installieren Sie den Eintrag
+ cons25 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.
+
+
+
+ Starten Sie einen X-Server auf der FreeBSD-Seite
+ und benutzen Sie einen X-basierten Terminalemulator
+ wie xterm oder
+ rxvt, um sich auf der entfernten
+ Maschine einzuloggen. Die Variable TERM auf dem
+ entfernten Host sollte auf xterm
+ oder vt100 gesetzt werden.
+
+
+
+
+
+
+
+ Mein Rechner meldet calcru: negative
+ time...
+
+
+
+ Dies kann durch verschiedene Hardware- und/oder
+ Softwareprobleme in Verbindung mit Interrupts verursacht
+ werden. Das kann aufgrund von Fehlern sein, aber es kann
+ auch durch die Eigenarten bestimmter Geräte
+ passieren. TCP/IP über die parallele Schnittstelle
+ mit einer großen MTU laufen zu lassen, ist ein
+ sicherer Weg, um dieses Problem zu provozieren.
+ Grafikbeschleuniger können es auch verursachen. In
+ diesem Fall sollten Sie zunächst die
+ Interrupteinstellungen der Karte
+ überprüfen.
+
+ Ein Seiteneffekt dieses Problems sind Prozesse, die
+ mit der Meldung SIGXCPU exceeded cpu time
+ limit abbrechen.
+
+ Für FreeBSD 3.0 und spätere ab dem 29. Nov.
+ 1998: Falls das Problem nicht anders gelöst werden
+ kann, besteht die Lösung darin, diese sysctl-Variable
+ zu setzen:
+
+
+&prompt.root; sysctl -w kern.timecounter.method=1
+
+
+ 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
+ NTIMECOUNTER im Kernel auf immer
+ höhere Werte. Wenn Sie irgendwann
+ NTIMECOUNTER=20 erreicht haben sollten,
+ ist das Problem nicht gelöst. Die Interrupts auf
+ Ihrer Maschine sind für eine verläßliche
+ Zeiterhaltung nicht zu gebrauchen.
+
+
+
+
+
+ Ich erhalte die Meldung pcm0 not
+ found oder meine Soundkarte wird als
+ pcm1 eingebunden, obwohl in meiner
+ Kernel-Konfiguration device pcm0
+ steht.
+
+
+
+ Dieser Effekt tritt auf, wenn Sie FreeBSD 3.x und eine
+ PCI Soundkarte haben. Das Gerät
+ pcm0 ist für ISA Soundkarten
+ reserviert; wenn Sie eine PCI Soundkarte haben, werden Sie
+ diese Meldung erhalten und Ihre Karte wird als
+ pcm1 eingebunden.
+
+
+
+ Sie können das Problem nicht lösen,
+ indem Sie einfach in der Konfigurationsdatei für
+ Ihnen Kernel die Zeile device pcm1
+ eintragen. Wenn Sie dies tun, wird
+ pcm1 für ISA-Karten reserviert
+ und Ihre PCI-Karte wird zu pcm2.
+ Zusätzlich erhalten Sie den Hinweis pcm1
+ not found.
+
+
+
+ Wenn Sie eine PCI Sounkarte haben, müssen Sie das
+ Gerät snd1 statt des üblichen
+ snd0 verwenden:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV snd1
+
+
+ Dieses Problem tritt in FreeBSD 4.x nicht mehr auf, da
+ große Anstrengungen unternommen wurden, diese
+ Version PnP-orientiert zu machen. In
+ FreeBSD 4.x ist das Gerät pcm0
+ nicht mehr für ISA-Karten reserviert.
+
+
+
+
+
+ Meine PnP-Karte wird nicht mehr (oder nur noch als
+ unknown) erkannt, seit ich FreeBSD 4.x
+ benutze.
+
+
+
+ FreeBSD 4.x ist deutlich
+ PnP-orientierter und das führt
+ leider dazu, daß einige PnP-Geräte (wie z.B.
+ Soundkarten und interne Modems) nicht mehr funktionieren,
+ obwohl Sie von FreeBSD 3.x noch erkannt wurden.
+
+ Die Gründe für dieses Verhalten werden in
+ der unten zitierten Mail von Mail von Peter Wemm
+ erklärt. Diese Mail stammt von der Mailingliste
+ freebsd-questions und war eine Antwort auf eine Frage
+ bezüglich eines internen Modem, das nach dem Update
+ auf FreeBSD 4.x nicht mehr erkannt wurde. Die Kommentare
+ in [] wurden eingefügt, um an
+ einigen Stellen die Bezüge klarstellen.
+
+
+ Das PnP-Bios hat es [das Modem] vorkonfiguriert und
+ es dann im Adreßraum liegenlassen, daher haben es
+ die alten ISA-Erkennungsroutinen [in 3.x]
+ gefunden.
+
+ In 4.0 sind die ISA-Routinen deutlich
+ PnP-orientierter. Es war möglich [in 3.x],
+ daß eine ISA-Erkennungsroutinen ein
+ zugelaufenes Gerät fand;
+ während die PnP-Treiber zwar die ID erkannten, das
+ Gerät aber wegen des Ressourcekonfliktes nicht
+ nutzen konnten. Daher werden die programmierbaren
+ Karten zunächst einmal abgeschaltet, um diese
+ doppelte Erkennung vermeiden zu können. Das
+ bedeutet allerdings auch, daß die Treiber die
+ PnP-ID kennen muß, um PnP-Hardware
+ unterstützen zu können. Wir haben uns
+ vorgenommen, den Benutzern eine einfachere
+ Möglichkeit zur Manipulation dieser Informationen
+ zur Verfügung zu stellen.
+
+
+ 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:
+
+
+&prompt.root; pnpinfo
+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)
+
+
+ [weitere TAG Zeilen gestrichen]
+
+
+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
+
+ Sie benötigen die Information aus der Zeile
+ Vendor ID ganz im Anfang. Die in Klammern
+ ausgegebene Hexadezimale Zahl (0x3024a341 in diesem
+ Beispiel) ist die PnP ID und die unmittelbar davor
+ stehende Zeichenkette (PMC2430) ist eine eindeutige
+ Herstellerkennung. Diese Informationen müssen in die
+ Datei /usr/src/sys/isa/sio.c
+ eingetragen werden.
+
+ Sie sollten zunächst ein Backup von
+ sio.c anlegen, falls irgendwas
+ schiefgehen sollte. Sie werden auch einen Patch erzeugen
+ müssen, um ihn zusammen mit Ihrem PR einzusenden.
+ (Sie wollten doch einen PR schreiben, oder etwa nicht?)
+ Öffnen Sie nun sio.c mit einem
+ Editor und suchen Sie nach der Zeile
+
+
+static struct isa_pnp_id sio_ids[] = {
+
+
+ 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 (Device
+ Description) aus der Ausgabe von
+ &man.pnpinfo.8;:
+
+
+{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 */
+
+
+ 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
+ sio Gerät erkannt werden.
+
+
+
+
+
+
+ Kommerzielle Anwendungen
+
+
+
+ Dieser Abschnitt ist immer noch sehr dürftig, aber
+ wir hoffen natürlich, daß Unternehmen einen
+ Beitrag leisten werden! :) Die FreeBSD-Gruppe hat keinerlei
+ finanzielle Interessen an einem der hier aufgelisteten
+ Unternehmen, sondern listet sie lediglich als
+ öffentlichen Service auf (und ist der Meinung,
+ daß ein kommerzielles Interesse an FreeBSD sehr
+ positive Einfluß auf ein langfristiges Bestehen von
+ FreeBSD haben kann). Wir möchten Anbieter
+ kommerzieller Software dazu aufrufen, ihren Eintrag hier
+ aufnehmen zu lassen. Auf der
+ Anbieter-Seite finden Sie eine längere
+ Liste.
+
+
+
+
+
+
+ Woher kann ich Motif für FreeBSD
+ bekommen?
+
+
+
+ Um die günstigste ELF-Motiv 2.1.20 Distribution
+ für FreeBSD (entweder i386 oder Alpha) zu bekommen,
+ wenden Sie sich bitte an Apps2go.
+
+ Es gibt zwei Distributionen, die developement
+ edition und die runtime edition
+ (wesentlich günstiger). Diese Distributionen
+ enthalten:
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische ELF-Bibliotheken (zur
+ Benutzung mit FreeBSD 3.0 und höher).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Achten Sie darauf, daß Sie bei der Bestellung
+ angeben, daß Sie die FreeBSD-Version von Motif
+ möchten (vergessen Sie auch nicht, die Architektur
+ anzugeben)! Von Apps2go werden auch
+ Versionen für NetBSD und OpenBSD verkauft. Dieses
+ Produkt ist zur Zeit nur zum Download per FTP
+ verfügbar.
+
+
+
+ Weitere Informationen
+
+
+ Apps2go
+ Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb oder
+ Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (817) 431 8775 oder +1 817
+ 431-8775
+
+
+
+
+ Eine Motif 2.1-Distribution für FreeBSD im ELF-
+ oder a.out-Format ist bei Metro
+ Link erhältlich.
+
+ Diese Distribution enthält:
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische Bibliotheken (verlangen
+ Sie ELF zur Verwendung unter FreeBSD ab 3.0 und oder
+ a.out zur Verwendung unter FreeBSD bis
+ einschließlich 2.2.8).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Vorformatierte Manualpages.
+
+
+
+ Achten Sie darauf, bei der Bestellung anzugeben,
+ daß Sie die FreeBSD-Version von Motiv möchten!
+ Metro Link vertreibt auch Versionen
+ für Linux. Dieses Produkt ist entweder als CDROM
+ oder zum Download per FTP erhätlich.
+
+ Eine Motif 2.0 Distribution für FreeBSD im
+ a.out-Format gibt es bei Xi
+ Graphics.
+
+ Diese Distribution enthält:/
+
+
+
+ OSF/Motif manager, xmbind, panner, wsm.
+
+
+
+ Development-Kit mit uil, mrm, xm, xmcxx, Include-
+ und Imake-Dateien.
+
+
+
+ Statische und dynamische Bibliotheken (zur
+ Verwendung unter FreeBSD 2.2.8 und
+ frühere).
+
+
+
+ Demonstrations-Applets.
+
+
+
+ Vorformatierte Manualpages.
+
+
+
+ Achten Sie darauf, bei der Bestellung anzugeben,
+ daß Sie die FreeBSD-Version von Motiv möchten!
+ Xi Graphics 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.
+
+
+
+
+
+ Woher kann ich CDE für FreeBSD bekommen?
+
+
+
+ Xi Graphics hat einmal CDE
+ für FreeBSD verkauft, tut es aber nicht mehr.
+
+ KDE ist ein
+ Open-Source X11-Desktop, das CDE in vielen Punkten
+ ähnelt. Eventuell gefällt Ihnen auch das "Look
+ and Feel" von xfce. KDE und xfce
+ sind über das Ports-System
+ von FreeBSD verfügbar.
+
+
+
+
+
+ Gibt es irgendwelche kommerzielle leistungsfähige
+ X-Server?
+
+
+
+ Ja, Xi
+ Graphics und Metro Link
+ vertreiben beschleunigte X-Produkte für FreeBSD und
+ andere Intel-basierte Systeme.
+
+ Das Angebot von Metro Link besteht aus einem
+ leistungsfähigen X-Server, der einfache Konfiguration
+ unter Verwendung von Werkzeugen aus der
+ FreeBSD-Paketsammlung und Unterstützung für den
+ parallelen Einsatz mehrerer Videokarten bietet. Es wird
+ nur in binärer Form über ein bequemes
+ FTP-Download vertrieben. Ganz zu schweigen davon,
+ daß das Angebot von Metro Link zum sehr
+ günstigen Preis von 39 Dollar erhältlich
+ ist.
+
+ Metro Link bietet auch Motif für FreeBSD sowohl
+ im ELF-, als auch im a.out-Format an (siehe oben).
+
+
+
+ Weitere Informationen
+
+
+ Metro
+ Link Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb
+ oder Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (954) 938-0283 oder +1 954
+ 938-0283
+
+
+
+
+ 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.
+
+
+ Es gibt ein kostenloses
+ Kompatibilitäts-Demo der Version
+ 5.0.
+
+ Xi Graphics vertreibt auch Motif und CDE für
+ FreeBSD (siehe oben).
+
+
+
+ Weitere Informationen
+
+
+ Xi Graphics
+ Web-Seite
+
+
+
+
+
+
+ oder
+
+
+ Vertrieb oder
+ Support
+ Email-Adressen.
+
+
+
+
+
+
+ oder
+
+
+ Telefon (800) 946 7433 oder +1 303
+ 298-7478.
+
+
+
+
+
+
+
+
+ Gibt es irgendwelche Datenbanksysteme für
+ FreeBSD?
+
+
+
+ Ja! Lesen Sie den Abschnitt kommerzielle
+ Anbieter auf der FreeBSD-Web-Seite.
+
+ Schauen Sie auch im Abschnitt Datenbanken
+ der Ports-Sammlung nach.
+
+
+
+
+
+ Kann ich Oracle unter FreeBSD laufen lassen?
+
+
+
+ Ja. Die folgenden Seiten beschreiben genau, wie
+ Linux-Oracle unter FreeBSD einzustellen ist:
+
+
+
+ http://www.scc.nl/~marcel/howto-oracle.html
+
+
+
+ http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd
+
+
+
+
+
+
+
+
+ Benutzerprogramme
+
+
+
+
+ Nun, wo sind die ganzen Benutzerprogramme?
+
+
+
+ Werfen Sie bitte einen Blick auf die
+ Ports-Seite, um Informationen über die nach
+ FreeBSD portierten Softwarepakete zu erhalten. Die Liste
+ enthält zur Zeit 3400 Einträge und wächst
+ täglich. Schauen Sie hier also öfter nach oder
+ melden Sie sich bei der Mailinglistefreebsd-announce
+ an, um sich regelmäßig über
+ Änderungen zu informieren.
+
+ Die meisten Ports sind für die Zweige 2.2, 3.0
+ und 4.x erhältlich; viele von ihnen sollten auch auf
+ 2.1.x-Systemen laufen. Jedesmal, wenn ein FreeBSD-Release
+ erstellt wird, wird auch ein Snapshot des Port-Baumes vom
+ Zeitpunkt des Releases in das Verzeichnis
+ ports/ eingefügt.
+
+ Wir unterstützen auch das Konzept von
+ Packages - im Grunde genommen nicht mehr
+ als gezippte Binärdistributionen mit ein wenig
+ zusätzlicher Intelligenz zur Ermöglichung
+ angepaßter Installationen. Ein Package kann leicht
+ installiert und wieder deinstalliert werden, ohne,
+ daß man etwas über wissen muß, welche
+ Dateien es enthält.
+
+ Benutzen Sie das Paketinstallationsmenue in
+ /stand/sysinstall (unter dem
+ Menuepunkt post-configuration) oder führen Sie den
+ Befehl pkg_add(1) mit den speziellen
+ Paketdateien aus, die Sie installieren möchten.
+ Paketdateien können für gewöhnlich an der
+ Endung .tgz erkannt werden und
+ diejenigen, die über eine CDROM-Distribution
+ verfügen, haben auf ihrer CD ein Verzeichnis
+ packages/All, das solche Dateien
+ enthält. Für verschiedene FreeBSD-Versionen
+ können sie von folgenden Adressen auch über das
+ Netz heruntergeladen werden:
+
+
+
+ für 2.2.8-RELEASE/2.2.8-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/
+
+
+
+
+
+
+ für 3.X-RELEASE/3.X-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/
+
+
+
+
+
+
+ für 4.X-RELEASE/4-STABLE
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/
+
+
+
+
+ für 5.0-CURRENT
+
+
+ ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/
+
+
+
+
+ oder von Ihrem nächstgelegenen Mirror.
+
+ Beachten Sie, daß nicht alle Ports als Package
+ verfügbar sind, da ständig neue hinzugefügt
+ werden. Es ist immer eine gute Idee, sich
+ regelmäßig auf der ftp.de.FreeBSD.org
+ Masterseite darüber zu informieren, welche Packages
+ verfügbar sind.
+
+
+
+
+
+ Warum ist /bin/sh so spartanisch?
+ Warum benutzt FreeBSD nicht die bash
+ oder eine ähnliche Shell?
+
+
+
+ Weil der POSIX-Standard definiert, daß es so
+ eine Shell geben muß.
+
+ Die ausführlichere Antwort: Viele Leute
+ müssen Shell-Programme schreiben, die auf vielen
+ verschiedenen Systemen nutzbar sein müssen. Aus
+ diesem Grund enthält der POSIX-Standard eine sehr
+ detaillierte Definition der Shell und der Hilfsprogramme.
+ Die meisten Programme werden für die Bourne Shell
+ geschrieben; außerdem nutzen mehrere wichtige
+ Schnittstellen (&man.make.1;, &man.system.3;,
+ &man.popen.3; und ihre Entsprechungen in höheren
+ Programmiersprachen wie Perl und Tcl) die Bourne Shell, um
+ Befehle auszuführen. Da die Bourne Shell an so
+ vielen Stellen und so häufig genutzt wird, muß
+ sie die folgenden Anforderungen erfüllen: Schneller
+ Start, ein klar definiertes Verhalten und ein
+ möglichst geringer Speicherverbrauch.
+
+ Wir haben bei der vorliegenden Implementierung
+ versucht, möglichst viele dieser Anforderungen zu
+ erfüllen. Um /bin/sh 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 ps -u aufrufen und
+ sich die Angaben in den Spalten VSZ und
+ RSS ansehen.
+
+
+
+
+
+ Wo finde ich libc.so.3.0?
+
+
+
+ Sie versuchen, ein Package für 2.2 oder neuer auf
+ einem 2.1.x-System laufen zu lassen. Bitte lesen Sie den
+ vorherigen Abschnitt und besorgen Sie sich den passenden
+ Port/das passende Package für Ihr System.
+
+
+
+
+
+ Ich erhalte die Meldung Error: can't find
+ libc.so.4.0
+
+
+
+ Sie haben versehentlich ein Package für ein 4.X-
+ oder 5.X-System heruntergeladen und versucht, es auf einem
+ 2.X- oder 3.X-System zu benutzen. Bitte besorgen Sie sich
+ die für ihr System korrekte Version des
+ Packages.
+
+
+
+
+
+ ghostscript produziert einen Menge Fehler auf meinem
+ 386/486SX.
+
+
+
+ Sie haben keinen mathematischen Co-Prozessor, richtig?
+ Sie werden den alternativen mathematischen Emulator zu
+ Ihren Kernel hinzufügen müssen; tun Sie das,
+ indem Sie die folgende Zeile in Ihre
+ Kernelkonfigurationsdatei einfügen, wodurch der
+ Emulator in den Kernel kompiliert wird:
+
+
+options GPL_MATH_EMULATE
+
+
+
+
+ Sie müssen die Option
+ MATH_EMULATE hierzu
+ entfernen.
+
+
+
+
+
+
+
+ Wenn ich eine SCO/iBCS2-Anwendung laufen lasse, werden
+ mir Fehler bei socksys gemeldet (nur
+ für FreeBSD 3.0 und ältere Systeme).
+
+
+
+ Sie müssen zunächst den letzten Abschnitt
+ der Datei /etc/sysconfig (oder
+ /etc/rc.conf) editieren und die
+ folgende Variable auf YES
+ setzen:
+
+
+# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
+ibcs2=NO
+
+
+ Hierdurch wird das Kernelmodul ibcs2 beim Hochfahren
+ geladen.
+
+ Dann müssen Sie /compat/ibcs2/dev so
+ einrichten:
+
+
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
+lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
+-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
+crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
+
+
+ socksys kann einfach auf
+ /dev/null zeigen, um open & close
+ eine reguläre Datei vorzutäuschen. Der code in
+ -CURRENT wird sich um den Rest kümmern. Dieses
+ Vorgehen ist wesentlich sauberer, als bisher. Falls Sie
+ den Treiber spx für lokale
+ Socket-X-Verbindungen möchten, definieren Sie
+ SPX_HACK, wenn Sie das System
+ kompilieren.
+
+
+
+
+
+ Wie konfiguriere ich INN (Internet News) für
+ meine Maschine?
+
+
+
+ Ein idealer Startpunkt nach der Installation des
+ Packages oder Ports INN ist Dave
+ Barr's INN-Seite, wo Sie die INN-FAQ
+ finden.
+
+
+
+
+
+ Welche Version von Microsoft FrontPage sollte ich mir
+ besorgen?
+
+
+
+ Benutzen Sie den Port! Im Ports-Verzeichnis gibt es
+ eine vorbereitete Version von Apache.
+
+
+
+
+
+ Unterstützt FreeBSD Java?
+
+
+
+ Ja. Schauen Sie bitte hier http://www.de.FreeBSD.org/java/
+ nach.
+
+
+
+
+
+ Warum kann ich manche Ports auf meiner
+ 3.X-STABLE-Machine nicht erstellen?
+
+
+
+ Wenn Sie eine FreeBSD-Version benutzen, die deutlich
+ älter als das aktuelle -CURRENT oder -STABLE ist,
+ könnte es sein, daß Sie ein Ports-Upgrade-Kit
+ von http://www.de.FreeBSD.org/ports/
+ benötigen. Wenn Sie auf dem neuesten Stand sind,
+ könnte es sein, daß jemand eine Änderung
+ des Ports durchgeführt hat, die für -CURRENT
+ funktioniert, den Port für -STABLE aber unbrauchbar
+ gemacht hat. Bitte senden Sie einen Fehlerbericht mit dem
+ Befehl send-pr. Von der Ports-Sammlung
+ wird nämlich erwartet, daß sie sowohl auf
+ -CURRENT als auch auf -STABLE funktioniert.
+
+
+
+
+
+ Wo finde ich ld.so?
+
+
+
+ Wenn Sie aout-Anwendungen wie den Netscape-Navigator
+ auf einer ELF-basierten Maschine wie 3.1-R oder
+ spätere laufen lassen möchten, werden Sie
+ /usr/libexec/ld.so und einige
+ aout-Bibliotheken benötigen. Sie sind in der
+ Distribution compat22 enthalten. Benutzen Sie
+ /stand/sysinstall oder
+ install.sh im Unterverzeichnis
+ compat22, um sie zu installieren. Lesen Sie auch die
+ ERRATAs für 3.1-R und 3.2-R.
+
+
+
+
+
+
+ Kernelkonfiguration
+
+
+
+
+ Ich möchte meinen Kernel anpassen. Ist das
+ schwierig?
+
+
+
+ Überhaupt nicht! Lesen Sie den Abschnitt zur
+ Kernelkonfiguration im Handbuch.
+
+
+
+ Ich empfehle Ihnen, einen datierten Snapshot Ihres
+ Kernels als kernel.YYMMDD zu
+ erstellen, nachdem Sie alles zum Laufen gebracht
+ haben. Auf diese Weise können Sie diesen Kernel
+ hochfahren, anstatt den ganzen Weg zurück zu
+ kernel.GENERIC gehen zu
+ müssen, wenn Sie das nächste Mal mit Ihrer
+ Konfiguration herumexperimentieren und dabei etwas
+ falsch machen sollten. Das ist besonders wichtig,
+ wenn Sie nun von einem Controller booten, der vom
+ GENERIC-Kernel nicht unterstützt wird (ja, das
+ beruht auf persönlichen Erfahrungen).
+
+
+
+
+
+
+
+ Meine Kernel-Kompilierungen schlagen fehl, weil
+ _hw_float fehlt.
+
+
+
+ Lassen Sie mich raten. Sie haben
+ npx0 aus Ihrer
+ Konfigurationsdatei entfernt, weil Sie keinen
+ mathematischen Co-Prozessor besitzen, richtig? Falsch! :-)
+ npx0 ist zwingend
+ erforderlich. Auch, wenn Sie keinen
+ mathematischen Co-Prozessor besitzen,
+ müssen Sie das Gerät
+ npx0 einbinden.
+
+
+
+
+
+ Warum ist mein Kernel so groß (über 10
+ MByte)?
+
+
+
+ Sie haben Ihren Kernel wahrscheinlich im
+ Debug Modus erstellt. Ein
+ Debug-Kernel enthält viele zusätzliche
+ Informationen für die Fehlersuche, daher ist er so
+ groß. Bitte beachten Sie, daß die Verwendung
+ eines Debug-Kernels bei FreeBSD 3.0 und neueren Version
+ die Performance des Systems nicht oder nur minimal
+ reduziert; außerdem ist es für den Fall einer
+ system panic sehr praktisch, einen Debug-Kernel zur Hand
+ zu haben.
+
+ 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:
+
+
+
+ Die Konfigurationsdatei für Ihren Kernel darf
+ die folgende Zeile nicht enthalten:
+
+ makeoptions DEBUG=-g
+
+
+
+ Sie dürfen config nicht
+ mit dem Parameter starten.
+
+
+
+ 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ß.
+
+
+
+
+
+ Interrupt-Konflikte mit dem Code für die serielle
+ Multi-Port-Schnittstelle.
+
+
+
+ Wenn ich einen Kernel mit Unterstützung für
+ serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
+ den Hinweis, daß nur der erste Port geprüft
+ wird und die restlichen auf Grund von Interrupt-Konflikten
+ übersprungen werden. Wie kann ich das
+ Beheben?
+
+ Das Problem besteht darin, daß in FreeBSD Code
+ integriert ist, um den Kernel vor Abstürzen aufgrund
+ von Hardware- oder Software-Konflikten zu bewahren.
+ Behoben wird es, indem die IRQ-Angaben für alle
+ Ports, bis auf einen ausgelassen werden. Hier ist ein
+ Beispiel:
+
+
+#
+# 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
+
+
+
+
+
+
+ Ich kann überhaupt keinen Kernel compilieren,
+ nicht einmal den Standard-Kernel (GENERIC).
+
+
+
+ Es gibt eine Reihe von möglichen Ursachen
+ für dieses Problem:
+
+
+
+ Sie benutzen die neuen Kommandos make
+ buildkernel und make
+ installkernel nicht, obwohl die Sourcen auf
+ Ihrem System nicht zum laufenden System passen (z.B.
+ benutzen Sie die Sourcen von 4.2-RELEASE auf einem
+ System mit 4.0-RELEASE). Wenn Sie ein Upgrade
+ durchführen wollen, sollten Sie
+ /usr/src/UPDATING lesen, beachten
+ Sie insbesondere den Abschnitt COMMON
+ ITEMS gegen Ende des Dokuments.
+
+
+
+ Sie benutzen zwar make
+ buildkernel und make
+ installkernel, aber Sie haben nicht darauf
+ geachtet, daß vorher ein komplettes
+ make buildworld durchgelaufen sein
+ muß. Um seine Arbeit erledigen zu können,
+ benötigt make buildkernel
+ Dateien, die von make buildworld
+ erzeugt werden.
+
+
+
+ Auch wenn Sie FreeBSD-STABLE verwenden, ist
+ es durchaus möglich, daß Sie die Sourcen
+ genau zum falschen Zeitpunkt aktualisiert haben:
+ Während Sie gerade modifiziert wurden oder
+ kurzzeitig fehlerhaft waren. Eine absolute und
+ vollständige Garantie, daß Sie die Sourcen
+ compilieren können, gibt es nur für die
+ Releases, bei FreeBSD-STABLE ist das nicht
+ immer so. Wenn Sie es noch nicht versucht haben,
+ sollten Sie ihre Source nochmals aktualisieren. Es
+ ist denkbar, daß der von Ihnen genutzte Server
+ zur Zeit Probleme hat, benutzten Sie daher testweise
+ auch einmal einen anderen Server.
+
+
+
+
+
+
+
+
+ Systemadministration
+
+
+
+
+ Wo befinden sich die Konfigurationsdateien für
+ den Systemstart?
+
+
+
+ Für die Versionen 2.0.5R bis 2.2.1R heißt
+ die primäre Konfigurationsdatei
+ /etc/sysconfig. Alle Optionen
+ müssen in dieser Datei angegeben werden und andere
+ Dateien wie /etc/rc und
+ /etc/netstart übernehmen sie
+ einfach hieraus.
+
+ Sehen Sie in die Datei
+ /etc/sysconfig und ändern Sie
+ die Werte entsprechend Ihrem System. Diese Datei
+ enthält Kommentare, die die möglichen
+ Einstellungen erklären.
+
+ In den Versionen nach 2.2.1 und 3.0 erhielt
+ /etc/sysconfig den
+ aussagekräftigeren Namen rc.conf
+ und die Syntax wurde bei dieser Gelegenheit auch etwas
+ bereinigt. /etc/netstart wurde
+ ebenfalls in /etc/rc.network
+ umbenannt, so daß alle Dateien nun mit dem Befehl
+ cp /usr/src/etc/rc* /etc kopiert werden
+ können.
+
+ Seit FreeBSD 3.1 ist rc.conf als
+ /etc/defaults/rc.conf verfügbar.
+ Ändern Sie diese Datei nicht!
+ Wenn Sie den Wert einer der in
+ /etc/defaults/rc.conf gesetzten
+ Variablen ändern wollen, sollten Sie die
+ entsprechende Zeile an die Datei
+ /etc/rc.conf anfügen und sie
+ dort ändern.
+
+ Wenn Sie zum Beispiel den ab FreeBSD 3.1
+ mitgelieferten DNS Server named aktivieren wollen,
+ müssen Sie lediglich das folgende Kommando
+ eingeben:
+
+
+&prompt.root; echo named_enable="YES" >> /etc/rc.conf
+
+
+ Wenn Sie in FreeBSD 3.1 und späteren Versionen
+ lokale Server starten wollen, müssen Sie passende
+ Shellscripts im Verzeichnis
+ /usr/local/etc/rc.d/ ablegen. Die
+ Dateien müssen als ausführbar markiert sein und
+ die Endung .sh haben. Wenn Sie FreeBSD 3.0 oder eine noch
+ ältere Version benutzen, müssen Sie die Datei
+ /etc/rc.local ändern.
+
+ Die Datei /etc/rc.serial dient
+ zur Initialisierung serieller Schnittstellen (z.B.
+ Einstellung der Schnittstelleneigenschaften usw.).
+
+ Die Datei /etc/rc.i386 dient
+ für Intel-spezifische Einstellungen wie
+ iBCS2-Emulation oder Konfiguration der
+ PC-Systemkonsole.
+
+
+
+
+
+ Wie kann ich am Einfachsten einen Benutzer
+ hinzufügen?
+
+
+
+ Benutzen Sie den Befehl adduser und
+ für kompliziertere Fälle den Befehl
+ pw.
+
+ Benutzen Sie den Befehl rmuser um
+ einen Benutzer wieder zu löschen. Sie können
+ hierzu auch pw benutzen.
+
+
+
+
+
+ Wie kann ich meine neue Festplatte in mein
+ FreeBSD-System einbinden?
+
+
+
+ Lesen Sie das Tutorial zur Festplattenformatierung
+ unter www.de.FreeBSD.org.
+
+
+
+
+
+ Ich habe ein Wechsellaufwerk. Wie benutze ich
+ es?
+
+
+
+ Ob es sich um ein Wechsellaufwerk handelt, um ein ZIP-
+ oder ein EZ-Laufwerk (oder sogar ein Diskettenlaufwerk,
+ wenn Sie es auf diese Weise benutzen möchten), oder
+ um eine neue Festplatte - wenn es einmal installiert und
+ vom System erkannt ist und Sie Ihre
+ Kassete/Diskette/was_auch_immer eingelegt haben, ist das
+ Vorgehen bei allen Geräten ziemlich
+ ähnlich.
+
+ (dieser Abschnitt basiert auf
+ Mark
+ Mayo's ZIP-FAQ)
+
+ 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:
+
+
+&prompt.root; mount -t msdos /dev/fd0c /floppy
+
+
+ oder diesen:
+
+
+&prompt.root; mount -t msdos /dev/da2s4 /zip
+
+
+ für eine ZIP-Disk mit der
+ Herstellerkonfiguration.
+
+ Benutzen Sie bei anderen Platten
+ fdisk oder
+ /stand/sysinstall, um herauszufinden,
+ wie sie konfiguriert sind.
+
+ Die restlichen Beispiele sind für ein
+ ZIP-Laufwerk unter da2, der dritten SCSI-Platte.
+
+ 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
+ fdisk oder
+ /stand/sysinstall 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:
+
+
+&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2
+&prompt.root; disklabel -Brw da2 auto
+
+
+ Sie können disklabel oder
+ /stand/sysinstall 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.
+
+ Zum Schluß erstellen Sie ein neues Dateisystem -
+ dieses befindet sich auf unserem ZIP-Laufwerk und belegt
+ die gesamte Platte:
+
+
+&prompt.root; newfs /dev/rda2c
+
+
+ anschließend mounten Sie es:
+
+
+&prompt.root; mount /dev/da2c /zip
+
+
+ Und sicherlich ist es keine schlechte Idee, eine Zeile
+ ähnlich der folgenden in die Datei
+ /etc/fstab einzufügen, damit Sie
+ in Zukunft nur mount /zip einzugeben
+ brauchen:
+
+
+/dev/da2c /zip ffs rw,noauto 0 0
+
+
+
+
+
+
+ Warum erhalte ich Meldungen wie root: not
+ found, nachdem ich meine crontab geändert
+ habe?
+
+
+
+ Die übliche Ursache dieses Problems ist,
+ daß Sie die crontab des Systems
+ (/etc/crontab) geändert und dann
+ mit &man.crontab.1; installiert haben:
+
+ &prompt.root; crontab /etc/crontab
+
+ 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).
+
+ Wenn Sie crontab wie oben
+ beschrieben benutzt haben, müssen Sie
+ /var/cron/tabs/root löschen, da
+ es nur eine Kopie von /etc/crontab
+ mit dem falschen Format ist. Bei der nächsten
+ Änderung von /etc/crontab
+ sollten Sie gar nichts tun, um &man.cron.8; über die
+ Änderungen zu informieren, da diese automatisch
+ erkannt werden.
+
+ Der eigentliche Grund für den Fehler ist die
+ Tatsache, daß die crontab des Systems ein
+ zusätzliches Feld enthält; dieses Feld gibt an,
+ mit welcher Benutzerkennung der Befehl ausgeführt
+ werden soll. In der mitgelieferten crontab ist das bei
+ allen Einträgen die Benutzerkennung
+ root. Wenn diese Datei als die
+ crontab des Benutzers username (die
+ nicht mit der crontab des Systems
+ identisch ist) verwendet wird, hält &man.cron.8; die
+ Zeichenkette root für den Namen
+ des zu startenden Programmes, aber dieses Programm gibt es
+ nicht.
+
+
+
+
+
+ Ich habe einen Fehler in der
+ rc.conf oder einer der anderen
+ Dateien für den Systemstart und jetzt kann ich sie
+ nicht ändern, weil das Dateisystem
+ read-only ist. Was kann ich tun?
+
+
+
+ Wenn Sie aufgefordert werden, den Pfadnamen der Shell
+ einzugeben, drücken Sie einfach
+ ENTER. Geben Sie danach mount
+ / ein, um das root Dateisystem im
+ Schreib/Lese-Modus zu mounten. Sie werden wahrscheinlich
+ auch mount -a -t ufs 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;.
+
+ Wenn Sie einen bildschirmorientierten Editor wie zum
+ Beispiel &man.vi.1; oder &man.emacs.1; benutzen wollen,
+ werden Sie auch den Befehl export
+ TERM=cons25 ausführen müssen, damit
+ diese Editoren die richtigen Einstellungen aus der
+ Datenbank &man.termcap.5; übernehmen.
+
+ Sobald Sie diese Schritte ausgeführt, können
+ Sie den Fehler in der /etc/rc.conf
+ 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.
+
+
+
+
+
+ Wie mounte ich eine erweiterte DOS-Partition?
+
+
+
+ Die erweiterten DOS-Partitionen befinden sich hinter
+ ALLEN primären Partitionen. Wenn sich zum Beispiel
+ eine Partition E als sekundäre
+ DOS-Partition auf Ihrem zweiten SCSI-Laufwerk befindet,
+ müssen Sie die speziellen Dateien für
+ Slice 5 im Verzeichnis
+ /dev erstellen und dann
+ /dev/da1s5 mouten:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV da1s5
+&prompt.root; mount -t msdos /dev/da1s5 /dos/e
+
+
+
+
+
+
+ Kann ich andere fremde Dateisysteme unter FreeBSD
+ mounten?
+
+
+
+ Digital UNIX-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.
+
+ Linux: 2.2 und spätere
+ unterstützen ext2fs-Partitionen.
+ Unter &man.mount.ext2fs.8; finden Sie weitere
+ Informationen.
+
+ NT: Es gibt einen NTFS-Treiber, der
+ nur Lesezugriffe gestattet. Weitere Informationen finden
+ Sie im Tutorium von Mark Ovens unter http://ukug.uk.freebsd.org/~mark/ntfs_install.html.
+
+ Für weitere Informationen zu diesem Thema
+ wären wir sehr dankbar.
+
+
+
+
+
+ Wie kann ich den NT-Loader zum Booten von FreeBSD
+ verwenden?
+
+
+
+ Diese Prozedur unterscheidet sich für die Systeme
+ 2.2.x and 3.x (mit dem dreistufigen Bootprozeß)
+ geringfügig.
+
+ Das grundsätzliche Vorgehen besteht darin,
+ daß Sie den ersten Sektor Ihrer eigentlichen
+ FreeBSD-Rootpartition in eine Datei auf der
+ DOS/NT-Partition kopieren. Angenommen, sie nennen die
+ Datei etwa c:\bootsect.bsd (durch
+ c:\bootsect.dos inspiriert), dann
+ können Sie die Datei c:\boot.ini
+ etwa wie folgt editieren:
+
+
+[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"
+
+
+ Bei 2.2.x-Systemen wird für diese Prozedur
+ angenommen, daß DOS, NT, FreeBSD oder was auch
+ immer, in den entsprechenden Partitionen auf
+ derselben Platte installiert wurden.
+ In meinem Fall befinden sich DOS & NT auf der ersten
+ fdisk-Partition und FreeBSD in der zweiten.
+ Außerdem habe ich FreeBSD so installiert, daß
+ es von seiner Partition bootet, und
+ nicht vom MBR.
+
+ Mounten Sie eine DOS-formatierte Diskette (falls Sie
+ nach NTFS gewechselt haben) oder die FAT-Partition z.B.
+ unter /mnt.
+
+
+&prompt.root; dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
+
+
+ Rebooten Sie mit DOS oder NT. Benutzer von NTFS
+ kopieren nun die Dateien bootsect.bsd
+ und/oder bootsect.lnx von der
+ Diskette nach C:\. Ändern Sie
+ die Attribute (Rechte) von boot.ini
+ mit:
+
+
+C:\>attrib -s -r c:\boot.ini
+
+
+ Editieren Sie nun die Datei und fügen Sie die
+ entsprechenden Einträge aus dem obigen
+ boot.ini-Beispiel hinzu und setzen
+ dann wieder die alten Attribute:
+
+
+C:\>attrib +s +r c:\boot.ini
+
+
+ Falls FreeBSD vom MBR bootet, restaurieren Sie den MBR
+ mit dem DOS-Befehl fdisk, nachdem Sie
+ FreeBSD so umkonfiguriert haben, daß es von seiner
+ Partition bootet.
+
+ Für die FreeBSD-Systeme 3.x ist die Prozedur
+ etwas einfacher.
+
+ Falls FreeBSD auf derselben Platte, wie die
+ NT-Bootpartition installiert ist, kopieren Sie einfach
+ /boot/boot1 nach
+ C:\BOOTSECT.BSD. Falls FreeBSD auf
+ einer anderen Platte installiert ist, wird
+ /boot/boot1 nicht funktionieren; Sie
+ brauchen in diesem Fall
+ /boot/boot0.
+
+
+
+ SIE DÜRFEN AUF GAR KEINEN FALL EINFACH
+ /boot/boot0 STATT
+ /boot/boot1 KOPIEREN. WENN SIE
+ DAS DOCH TUN SOLLTEN, WIRD IHRE PARTITIONSTABELLE
+ ÜBERSCHRIEBEN UND IHR RECHNER WIRD NICHT MEHR
+ STARTEN!
+
+
+
+ /boot/boot0 muß mit
+ sysinstall installiert werden. Wählen Sie dazu den
+ FreeBSD-Bootmanager aus, wenn Sie gefragt werden, ob sie
+ einen Bootmanager installieren wollen. Dieser Schritt ist
+ notwendig, weil /boot/boot0 eine
+ leere Partitionstabelle enthält, die von sysinstall
+ ausgefüllt wird, bevor
+ /boot/boot0 in den MBR kopiert
+ wird.
+
+ 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 /boot/boot0 nach
+ C:\BOOTSECT.BSD kopieren, würde
+ der Bootmanager eine leere Partitionstabelle (mit einem
+ als aktiv markiertem Eintrag) in den MBR
+ kopieren.
+
+
+
+
+
+ Wie boote ich FreeBSD und Linux mit LILO?
+
+
+
+ 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:
+
+ Booten Sie Linux und fügen Sie die folgenden
+ Zeilen in die Datei /etc/lilo.conf
+ ein:
+
+
+other=/dev/hda2
+table=/dev/hda
+label=FreeBSD
+
+
+ (hierbei wird angenommen, daß Ihre
+ FreeBSD-Partition Linux unter
+ /dev/hda2 bekannt ist; ändern
+ Sie dies entsprechend Ihren Einstellungen). Führen
+ Sie nun als root den Befehl
+ lilo aus und Sie sind fertig.
+
+ Falls FreeBSD sich auf einer anderen Platte befindet,
+ müssen Sie loader=/boot/chain.b zu
+ den LILO-Angaben hinzufügen. Zum Beispiel:
+
+
+other=/dev/dab4
+table=/dev/dab
+loader=/boot/chain.b
+label=FreeBSD
+
+
+ In einigen Fällen könnte es sein, daß
+ Sie beim FreeBSD-Bootloader die BIOS-Laufwerksnummer
+ angeben müssen, um von der zweiten Platte booten zu
+ können. Wenn Ihre FreeBSD-SCSI-Platte vom BIOS zum
+ Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
+ am Prompt des FreeBSD-Bootloaders eingeben:
+
+
+Boot: 1:da(0,a)/kernel
+
+
+ Seit Version 2.2.5 können Sie &man.boot.8; so
+ konfigurieren, daß das beim Booten automatisch
+ geschieht.
+
+ Das Linux+FreeBSD
+ mini-HOWTO ist ein guter Ratgeber bei Fragen zur
+ Interaktion von FreeBSD und Linux.
+
+
+
+
+
+ Wie boote ich FreeBSD und Linux mit BootEasy?
+
+
+
+ Installieren Sie LILO am Anfang Ihrer
+ Linux-Bootpartition, anstatt im Master Boot Record. Sie
+ können LILO dann von BootEasy aus booten.
+
+ Wenn Sie Windows-95 und Linux benutzen, wird das
+ ohnehin empfohlen, um es einfacher zu machen, Linux wieder
+ zu booten, wenn es nötig werden sollte, daß Sie
+ Windows95 neu installieren (Windows95 ist ein
+ eifersüchtiges Betriebssystem, das kein anderes
+ Betriebssystem im Master Boot Sektor duldet).
+
+
+
+
+
+ Gefährdet eine dangerously
+ dedicated Festplatte meine Gesundheit?
+
+
+
+ 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
+ slices 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.
+
+ Nun, warum wird es gefährlich
+ genannt? Eine Platte in diesem Modus enthält nichts,
+ was von normalen PC-Hilfsprogrammen als gültige
+ fdisk-Tabelle betrachtet werden würde. Abhängig
+ von der Qualität ihres Designs werden sie sich bei
+ Ihnen beschweren, sobald sie mit einer solchen Platte in
+ Kontakt kommen, oder noch schlimmer, sie könnten den
+ Bootstrap von FreeBSD beschädigen, ohne Sie zu fragen
+ oder darauf hinzuweisen. Hinzu kommt, daß vom
+ Layout von dangerously dedicated Platten
+ bekannt ist, daß es viele BIOSe verwirrt,
+ einschließlich solcher von AWARD (wie es z.B. im HP
+ Netserver oder Micronics-Systemen, sowie vielen anderen zu
+ finden ist) und Symbios/NCR (für die bekannte
+ 53C8xx-Reihe von SCSI-Controllern). Dies ist keine
+ vollständige Liste - es gibt weitere. Symptome
+ für diese Verwirrung sind read
+ error-Meldungen, die vom FreeBSD-Bootstrap
+ ausgegeben werden, wenn es sich selbst nicht finden kann,
+ sowie Systemabstürze beim Booten.
+
+ 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 Dangerously
+ dedicated Modus liegen in der Absicht, eines der
+ häufigsten Probleme, das Erstinstallierer von FreeBSD
+ plagt, zu verhindern - die BIOS-Werte für die
+ Geometrie einer Festplatte auf der
+ Festplatte selbst anzupassen.
+
+ Geometrie ist ein veraltetes Konzept,
+ das aber immer noch die Grundlage für die Interaktion
+ zwischen dem PC-BIOS und den Festplatten ist. Wenn das
+ Installationsprogramm von FreeBSD Slices erstellt,
+ muß es sich die Lage dieser Slices auf der
+ Festplatte in einer Art merken, die damit
+ übereinstimmt, wie das BIOS erwartet, sie zu finden.
+ Wenn das falsch geschieht, werden Sie nicht in der Lage
+ sein, zu booten.
+
+ Durch den Dangerously dedicated 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.
+
+ Wie vermeiden Sie also die Notwendigkeit zum
+ DD Modus, wenn Sie installieren? Beginnen
+ Sie, indem Sie sich notieren, welche Geometrie das BIOS
+ für Ihre Platten benutzt. Sie können erreichen,
+ daß der Kernel sie beim Booten ausgibt, indem Sie
+ an der Eingabeaufforderung
+ boot: angeben, oder boot
+ -v im Loader verwenden. Kurz bevor das
+ Installationprogramm startet, wird der Kernel eine Liste
+ mit den BIOS-Geometrien ausgeben. Keine Panik - warten
+ Sie, bis das Installationsprogramm gestartet wurde und
+ benutzen Sie Scrollback, um die Zahlen zu lesen.
+ Typischerweise befinden sich die BIOS-Platten in derselben
+ Reihenfolge, wie FreeBSD Ihre Platten auflistet - zuerst
+ IDE, dann SCSI.
+
+ Wenn Sie Ihre Festplatte in Slices unterteilen,
+ überprüfen Sie, ob die Plattengeometrie, die im
+ FDISK-Menue angegeben ist, korrekt ist (d.h. mit den
+ Einstellungen im BIOS übereinstimmen). Falls die
+ Werte nicht stimmen, benutzen Sie g, um
+ sie zu korrigieren. Diese Schritte sind nötig, wenn
+ sich absolut nichts auf der Festplatte befindet, oder,
+ wenn die Festplatte vorher in einem anderen System benutzt
+ worden ist. Beachten Sie, daß dies nur für die
+ Festplatte nötig ist, von der Sie booten wollen. Mit
+ weiteren vorhandenen Platten wird FreeBSD sich problemlos
+ zurechtfinden.
+
+ Wenn Sie es geschafft haben, daß das BIOS und
+ FreeBSD in der Festplattengeometrie übereinstimmen,
+ dann sind Ihre Probleme ziemlich sicher vorüber -
+ ohne, daß es nötig gewesen wäre, den
+ DD-Modus zu benutzen. Falls sie jedoch
+ immer noch mit der gefürchteten read
+ error-Meldung begrüßt werden sollten,
+ wenn Sie versuchen, zu booten, wird es Zeit, daß Sie
+ Ihre Finger kreuzen und es einfach versuchen - es gibt
+ nichts mehr zu verlieren.
+
+ Um eine dangerously dedicated
+ Festplatte wieder für einen normalen PC brauchbar zu
+ machen, gibt es zwei Möglichkeiten. Die erste ist,
+ ausreichend viele NULL-Bytes in den MBR zu schreiben, um
+ irgendwelche nachfolgenden Installation glauben zu machen,
+ daß es sich um eine leere Festplatte handelt. Sie
+ können das zum Beispiel so tun:
+
+
+&prompt.root; dd if=/dev/zero of=/dev/rda0 count=15
+
+
+ Alternativ installiert der undokumentierte
+ DOS-Befehl
+
+
+C:\>fdisk /mbr
+
+
+ einen neuen Master-Boot-Record, d.h. der BSD-Bootstrap
+ wird zestört.
+
+
+
+
+
+ Wie kann ich den Swap-Bereich
+ vergrößern?
+
+
+
+ Der beste Weg ist, Ihre Swap-Partition zu
+ vergrößern, oder sie nutzen diese bequeme
+ Ausrede, um eine weitere Festplatte einzubauen. Eine
+ gebräuchliche Faustregel ist, einen etwa doppelt so
+ großen Swap-Bereich zu nutzen, wie Hauptspeicher
+ vorhanden ist. Falls Sie jedoch nur über sehr wenig
+ Hauptspeicher verfügen, werden Sie wahrscheinlich
+ einen größeren Swap-Bereich konfigurieren
+ wollen. Es ist auch sinnvoll, genügend Swap-Bereich
+ im Hinblick auf geplante zukünftige
+ Hauptspeichererweiterungen zu konfigurieren, damit Sie
+ sich später nicht mit der Konfiguration Ihres
+ Swap-Bereiches herumärgern müssen.
+
+ Das Hinzufügen eines Swap-Bereichs auf einer
+ separaten Platte, ist effizienter, als einfach einen
+ Swap-Bereich auf derselben Platte hinzuzufügen. Wenn
+ Sie zum Beispiel Quellcode auf einer Platte kompilieren
+ und der Swap-Bereich sich auf einer anderen Platte
+ befindet, geschieht das viel schneller, als wenn beides,
+ Swapping und Kompilierung auf derselben Platte stattfinden
+ würden. Das trifft ganz besonders auf SCSI-Platten
+ zu.
+
+ Wenn Sie mehrere Festplatten besitzen, lohnt es sich
+ für gewöhnlich, auf jeder einzelnen einen
+ Swap-Bereich zu konfigurieren, auch, wenn das bedeutet,
+ einen Swap-Bereich auf einer bereits verwendeten Platte
+ einzurichten. Typischerweise sollte jede schnelle Platte
+ in Ihrem System mit etwas Swap-Bereich konfiguriert
+ werden. FreeBSD unterstützt standardmäßig
+ bis zu vier interleaved Swap-Geräte. Bei der
+ Konfiguration mehrerer Swap-Bereiche werden sie
+ grundsätzlich alle mit derselben Größe
+ anlegen wollen, aber manchmal verwenden Benutzer eine
+ größere primäre Swap-Partition, um einen
+ Hauptspeicherauszug vom Kernel darin aufnehmen zu
+ können. Ihre primäre Swap-Partition muß
+ mindestens so groß wie der Hauptspeicher sein, um
+ einen Hauptspeicherauszug vom Kernel aufnehmen zu
+ können.
+
+ IDE-Laufwerke können keinen gleichzeitigen
+ Zugriff auf beide Laufwerke auf demselben Kanal zuzulassen
+ (FreeBSD unterstützt nicht den Modus 4, also ist
+ jeglicher Lese-/Schreibzugriff auf IDE-Platten
+ programmiert). Ich würde dennoch
+ empfehlen, Ihren Swap-Bereich auf einem separaten Laufwerk
+ anzulegen; die Laufwerke sind so günstig, daß
+ es nicht lohnt, sich darüber Gedanken zu
+ machen.
+
+ Swapping über NFS ist nur zu empfehlen, wenn Sie
+ keine lokale Platte zum Swappen besitzen. Bei
+ FreeBSD-Versionen vor 4.x ist Swapping über NFS
+ langsam und ineffizient, aber erstaunlich schnell bei
+ Versionen größer oder gleich 4.0. Dennoch wird
+ es durch die verfügbare Bandbreite des Netzes
+ begrenzt sein und belastet den NFS-Server
+ zusätzlich.
+
+ Hier ist ein Beispiel für einen VN-Swap-Bereich
+ von 64MB (/usr/swap0, Sie können
+ natürlich jeden beliebigen Namen benutzen).
+
+ Stellen Sie sicher, daß Ihr Kernel mit der
+ Zeile
+
+
+pseudo-device vn 1 #Vnode driver (turns a file into a device)
+
+
+ in Ihrer Konfigurationsdatei erstellt worden ist. Der
+ Standard-Kernel enthält sie bereits.
+
+
+
+ Erstellen Sie ein vn-Gerät
+
+
+&prompt.root; cd /dev
+&prompt.root; sh ./MAKEDEV vn0
+
+
+
+
+ Erstellen Sie eine Swap-Datei
+ (/usr/swap0)
+
+
+&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
+
+
+
+
+ Setzen Sie geeignete Zugriffsrechte für
+ (/usr/swap0)
+
+
+&prompt.root; chmod 0600 /usr/swap0
+
+
+
+
+ Aktivieren Sie die Swapdatei in
+ /etc/rc.conf
+
+
+swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
+
+
+
+
+ Rebooten Sie die Maschine
+
+
+
+ Um die Swapdatei direkt zu aktivieren, geben Sie
+ folgendes ein:
+
+
+&prompt.root; vnconfig -ce /dev/vn0c /usr/swap0 swap
+
+
+
+
+
+
+ Ich habe Probleme, meinen Drucker
+ einzurichten.
+
+
+
+ Bitte sehen Sie im Handbucheintrag über Drucker
+ nach. Es sollte die meisten Ihrer Probleme behandeln.
+ Lesen sie den Handbucheintrag über
+ Drucker.
+
+
+
+
+
+ Die Tastatureinstellungen für mein System stimmen
+ nicht.
+
+
+
+ Das Programm kbdcontrol bietet eine Option zum Laden
+ einer Tastaturzuordnungsdatei. Unter
+ /usr/share/syscons/keymaps befinden
+ sich einige Tastaturzuordnungsdateien. Wählen Sie
+ die zu Ihrem System passende aus und laden Sie
+ sie:
+
+
+&prompt.root; kbdcontrol -l uk.iso
+
+
+ Die beiden Erweiterungen
+ /usr/share/syscons/keymaps und
+ .kbd werden von &man.kbdcontrol.1;
+ angenommen.
+
+ Dies kann in der Datei
+ /etc/sysconfig (oder
+ rc.conf) eingestellt werden. Lesen
+ Sie die entsprechenden Hinweise in dieser Datei.
+
+ Seit 2.0.5-RELEASE befindet sich alles, was mit
+ Textfonts und Tastaturzuordnung zu tun hat im Verzeichnis
+ /usr/share/examples/syscons.
+
+ Die folgenden Zuordnungen werden derzeit
+ unterstützt:
+
+
+
+ Belgisch ISO-8859-1
+
+
+
+ Brasilianische Tastatur 275 Codeseite 850
+
+
+
+ Brasilianische Tastatur 275 ISO-8859-1
+
+
+
+ Dänisch Codeseite 865
+
+
+
+ Dänisch ISO-8859-1
+
+
+
+ Französisch ISO-8859-1
+
+
+
+ Deutsch Codeseite 850
+
+
+
+ Deutsch ISO-8859-1
+
+
+
+ Italienisch ISO-8859-1
+
+
+
+ Japanisch 106
+
+
+
+ Japanisch 106x
+
+
+
+ Lateinamerikanisch
+
+
+
+ Norwegisch ISO-8859-1
+
+
+
+ Polnisch ISO-8859-2 (für
+ Programmierer)
+
+
+
+ Russisch Codeseite 866 (alternativ)
+
+
+
+ Russisch koi8-r (shift)
+
+
+
+ Russisch koi8-r
+
+
+
+ Spanisch ISO-8859-1
+
+
+
+ Schwedisch Codeseite 850
+
+
+
+ Schwedisch ISO-8859-1
+
+
+
+ Schweizer Deutsch ISO-8859-1
+
+
+
+ Vereinigtes Königreich Codeseite 850
+
+
+
+ Vereinigtes Königreich ISO-8859-1
+
+
+
+ Vereinigte Staaten von Amerika ISO-8859-1
+
+
+
+ Vereinigte Staaten von Amerika dvorak
+
+
+
+ Vereinigte Staaten von Amerika dvorakx
+
+
+
+
+
+
+
+ Die Benutzer-Quotas funktionieren nicht
+ richtig.
+
+
+
+
+
+ Benutzen Sie keine Quotas für
+ /,
+
+
+
+ Erstellen Sie die Quotas-Datei in dem Dateisystem,
+ für das die Quotas gelten sollen, z.B.:
+
+
+
+
+
+ Filesystem
+
+ Quota file
+
+
+
+
+
+ /usr
+
+ /usr/admin/quotas
+
+
+
+ /home
+
+ /home/admin/quotas
+
+
+
+ …
+
+ …
+
+
+
+
+
+
+
+
+
+
+
+ Was stimmt mit meinem ccd nicht?
+
+
+
+ Das Symptom hierfür ist:
+
+
+&prompt.root; ccdconfig -C
+ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
+
+
+ Das geschieht für gewöhnlich, wenn Sie
+ versuchen, die Partitionen c, die
+ standardmäß vom Typ
+ unbenutzt 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 4.2BSD.
+
+
+
+
+
+ Warum kann ich den Plattenlabel meines ccd nicht
+ editieren?
+
+
+
+ Das Symptom hierfür ist:
+
+
+&prompt.root; disklabel ccd0
+(hier wird etwas vernünftiges ausgegeben; versuchen wir nun, es zu editieren)
+&prompt.root; disklabel -e ccd0
+(editiern, speichern, beenden)
+disklabel: ioctl DIOCWDINFO: No disk label on disk;
+use "disklabel -r" to install initial label
+
+
+ Der Grund ist, daß der von ccd
+ zurückgelieferte Plattenlabel ein
+ vorgetäuschter 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:
+
+
+&prompt.root; disklabel ccd0 > /tmp/disklabel.tmp
+&prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp
+&prompt.root; disklabel -e ccd0
+(nun wird es funktionieren)
+
+
+
+
+
+
+ Unterstützt FreeBSD IPC-Grundfunktionen von
+ System V?
+
+
+
+ Ja, FreeBSD unterstützt IPC im Stil von System V
+ einschließlich gemeinsamen Speicher, Nachrichten und
+ Semaphoren. Zur Aktivierung müssen Sie die folgenden
+ Zeilen in Ihre Kernelkonfigurationsdatei
+ einfügen:
+
+
+options SYSVSHM
+options SYSVSHM # enable shared memory
+options SYSVSEM # enable for semaphores
+options SYSVMSG # enable for messaging
+
+
+
+
+ Diese Variablen sind seit FreeBSD 3.2 schon im
+ Standardkernel (GENERIC) gesetzt
+ und sollte daher Beststandteil Ihres Systems
+ sein.
+
+
+
+ Kompilieren und installieren Sie einen neuen
+ Kernel.
+
+
+
+
+
+ Wie benutze ich sendmail zum Zustellen von Mails mit
+ UUCP?
+
+
+
+ Die sendmail-Konfiguration, die mit FreeBSD
+ ausgeliefert wird, ist für Sites geeignet, die direkt
+ ans Internet angeschlossen sind. Sites, die ihre Mail per
+ UUCP austauschen wollen, müssen eine andere
+ sendmail-Konfigurationsdatei installieren.
+
+ Die manuelle Bearbeitung von
+ /etc/sendmail.cf ist nur etwas
+ für Puristen. Sendmail Version 8 bietet die neue
+ Möglichkeit der Generierung von Konfigurationsdateien
+ über eine Vorverarbeitung mit m4,
+ wobei die tatsächliche, händische Konfiguration
+ auf einer höheren Abstraktionsstufe stattfindet. Sie
+ sollten die Konfigurationsdateien unter
+ /usr/src/usr.sbin/sendmail/cf
+ benutzen.
+
+ Für den Fall, daß Sie Ihr System nicht mit
+ dem kompletten Quellcode installiert haben, wurden die
+ nötigen Dateien zur Konfiguration von sendmail in
+ einer separaten Quelldistribution für Sie extrahiert.
+ Wenn Sie Ihre CD-ROM gemountet haben, müssen Sie die
+ folgenden Schritte ausführen:
+
+
+&prompt.root; cd /cdrom/src
+&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail
+
+
+ Keine Panik, das sind nur ein paar hundert Kilobyte.
+ Die Datei README im Verzeichnis
+ cf kann zur grundlegenden
+ Einführung in die m4-Konfiguration dienen.
+
+ Zur Zustellung über UUCP sind Sie am besten damit
+ beraten, das mailertable-Feature zu
+ nutzen. Es stellt eine Datenbank dar, auf deren Basis
+ sendmail Entscheidungen zum Routing treffen kann.
+
+ Zunächst müssen Sie Ihre
+ .mc-Datei erstellen. Das Verzeichnis
+ /usr/src/usr.sbin/sendmail/cf/cf ist
+ die Basis für diese Dateien. Sehen Sie sich um, es
+ gibt bereits einige Beispiele. Wenn Sie Ihre Datei
+ foo.mc genannt haben, müssen Sie
+ die folgenden Befehle ausführen, um sie in eine
+ gültige sendmail.cf umzuwandeln,
+ ist:
+
+
+&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
+&prompt.root; make foo.cf
+&prompt.root; cp foo.cf /etc/sendmail.cf
+
+
+ Eine typische .mc-Datei
+ könnte so aussehen:
+
+
+include(`../m4/cf.m4')
+VERSIONID(`Your version number')
+OSTYPE(bsd4.4)
+
+FEATURE(nodns)
+FEATURE(nocanonify)
+FEATURE(mailertable)
+
+define(`UUCP_RELAY', your.uucp.relay)
+define(`UUCP_MAX_SIZE', 200000)
+
+MAILER(local)
+MAILER(smtp)
+MAILER(uucp)
+
+Cw your.alias.host.name
+Cw youruucpnodename.UUCP
+
+
+ Die Einstellungen nodns und
+ nocanonify werden die Benutzung von DNS
+ bei der Zustellung von Mails verhindern. Die Klausel
+ UUCP_RELAY wird aus seltsamen
+ Gründen benötigt - fragen Sie nicht, warum.
+ Setzen Sie dort einfach den Namen eines Hosts ein, der in
+ der Lage ist, Adressen mit der Pseudodomäne .UUCP zu
+ behandeln; wahrscheinlich werden Sie dort den Relayhost
+ Ihres ISP eintragen.
+
+ Wenn Sie soweit sind, müssen Sie die Datei
+ /etc/mailertable erzeugen. Hierzu
+ wieder ein typisches Beispiel:
+
+
+#
+# makemap hash /etc/mailertable.db < /etc/mailertable
+#
+horus.interface-business.de uucp-dom:horus
+.interface-business.de uucp-dom:if-bus
+interface-business.de uucp-dom:if-bus
+.heep.sax.de smtp8:%1
+horus.UUCP uucp-dom:horus
+if-bus.UUCP uucp-dom:if-bus
+. uucp-dom:
+
+
+ Wie Sie sehen können, handelt es sich um einen
+ Teil einer realen Datei. Die ersten drei Zeilen behandeln
+ spezielle Fälle, in denen an Domänen adressierte
+ Mails nicht über die Standard-Route versendet werden
+ sollen, sondern zu einem UUCP-Nachbarn, um den Zustellweg
+ abzukürzen. Die nächsten Zeilen
+ behandeln Mails Rechner in der Domain, die im lokalen
+ Ethernetz verwendet wird. Diese Mails können direkt
+ per SMTP zugestellt werden. Schließlich werden die
+ UUCP-Nachbarn in der Notation mit der Pseudodomäne
+ .UUCP aufgeführt, um die Standardregeln mit
+ uucp-neighbour!recipient
+ zu überschreiben. Die letzte Zeile besteht stets aus
+ einem einzelnen Punkt, der als Ihr Universalgateway in die
+ Welt dient. Alle Knoten hinter dem Schlüsselwort
+ uucp-dom: müssen gültige
+ UUCP-Nachbarn sein, was Sie mit dem Befehl
+ uuname überprüfen
+ können.
+
+ Als Erinnerung daran, daß diese Datei in eine
+ DBM-Datenbankdatei konvertiert werden muß, bevor sie
+ benutzt werden kann, sollte der Befehl hierzu als
+ Kommentar am Anfang der mailertable plaziert werden. Sie
+ müssen den Befehl jedesmal ausführen, wenn Sie
+ Ihre Mailertable geändert haben.
+
+ Abschließender Hinweis: wenn Sie unsicher sind,
+ ob bestimmte Mailrouten funktionieren, erinnern Sie sich
+ an die Option von sendmail. Sie
+ startet sendmail im
+ Adreß-Testmodus; geben Sie
+ einfach 0, gefolgt von der Adresse,
+ für die Sie das Routing testen möchten, ein.
+ Die letzte Zeile nennt Ihnen den benutzten Mailagenten,
+ den Zielhost, mit dem dieser Agent aufgerufen wird und die
+ (ggfs. übersetzte) Adresse. Verlassen Sie diesen
+ Modus, indem Sie Control-D eingeben.
+
+
+&prompt.user; sendmail -bt
+ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
+Enter <ruleset> <address>
+>0 foo@interface-business.de
+rewrite: ruleset 0 input: foo @ interface-business . de
+...
+rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
+< @ interface-business . de >
+>^D
+
+
+
+
+
+
+ Wie richte ich das Mailsystem konfigurieren, wenn ich
+ eine Wählverbindung zum Internet habe?
+
+
+
+ Wenn Sie eine feste IP-Adresse haben, müssen Sie
+ die Standardeinstellungen wahrscheinlich gar nicht
+ ändern. Stellen Sie Ihren Hostnamen entsprechend
+ Ihrem zugeordneten Internetnamen ein und sendmail
+ übernimmt das übrige.
+
+ Wenn Sie eine dynamische IP-Adresse haben und eine
+ ppp-Wählverbindung zum
+ Internet benutzen, bekommen Sie wahrscheinlich eine
+ Mailbox auf dem Mailserver Ihres ISPs zugeordnet. Lassen
+ Sie uns annehmen, die Domäne ihres ISPs sei myISP.com und Ihr Benutzername
+ user; außerdem nehmen wir an,
+ daß Sie Ihre Maschine bsd.home genannt haben und, daß
+ Ihr ISP ihnen gesagt hat, daß Sie relay.myISP.com als Mail-Relayhost
+ benutzen können.
+
+ Um Mails aus Ihrer Mailbox abzuholen, müssen Sie
+ einen entsprechenden Programm installieren.
+ Fetchmail ist eine gute Wahl,
+ weil es viele verschiedene Protokolle unterstützt.
+ Für gewöhnlich wird von Ihrem ISP POP3 zur
+ Verfügung gestellt werden. Falls sie sich dafür
+ entschieden haben, user-ppp zu nutzen, können Sie
+ durch folgenden Eintrag in der Datei
+ /etc/ppp/ppp.linkup Ihre Mails
+ automatisch abholen lassen, wenn eine Verbindung zum Netz
+ aufgebaut wird:
+
+
+MYADDR:
+ !bg su user -c fetchmail
+
+
+ Falls Sie (wie unten gezeigt)
+ sendmail benutzen, um Mails an
+ nicht-lokale Benutzer zu versenden, fügen Sie den
+ Befehl
+
+
+!bg su user -c "sendmail -q"
+
+
+ nach dem oben gezeigten Eintrag ein. Das
+ veranlaßt sendmail, Ihre
+ ausgehenden Mails zu verarbeiten, sobald eine Verbindung
+ zum Internet aufgebaut wird.
+
+ Ich nehme an, daß auf bsd.home ein Benutzer
+ user existiert; erstellen Sie auf
+ bsd.home im Heimatverzeichnis
+ von user eine Datei
+ .fetchmailrc:
+
+
+poll myISP.com protocol pop3 fetchall pass MySecret;
+
+
+ Ich brauche wohl nicht zu erwähnen, daß
+ diese Datei für niemandem außer
+ user lesbar sein sollte, weil sie das
+ Passwort MySecret enthält.
+
+ Um Mails mit dem richtigen
+ from:-Header zu versenden, müssen
+ Sie sendmail mitteilen,
+ daß es user@myISP.com und nicht
+ user@bsd.home benutzen soll. Evtl.
+ möchten Sie auch, daß
+ sendmail alle Mails über
+ relay.myISP.com versendet, um
+ eine schnellere Übertragung von Mails zu
+ gewährleisten.
+
+ Die folgende .mc-Datei sollte
+ ausreichen:
+
+
+VERSIONID(`bsd.home.mc version 1.0')
+OSTYPE(bsd4.4)dnl
+FEATURE(nouucp)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+Cwlocalhost
+Cwbsd.home
+MASQUERADE_AS(`myISP.com')dnl
+FEATURE(allmasquerade)dnl
+FEATURE(masquerade_envelope)dnl
+FEATURE(nocanonify)dnl
+FEATURE(nodns)dnl
+define(SMART_HOST, `relay.myISP.com')
+Dmbsd.home
+define(`confDOMAIN_NAME',`bsd.home')dnl
+define(`confDELIVERY_MODE',`deferred')dnl
+
+
+ Im vorherigen Abschnitt finden Sie Details dazu, wie
+ Sie aus dieser .mc-Datei eine Datei
+ sendmail.cf erstellen können.
+ Vergessen Sie auch nicht,
+ sendmail neu zu starten,
+ nachdem Sie sendmail.cf
+ verändert haben.
+
+
+
+
+
+ Hilfe! Ich habe das Rootpasswort vergessen!
+
+
+
+ Keine Panik! Starten Sie Ihr System einfach neu und
+ geben Sie boot -s an der
+ Eingabeaufforderung Boot: ein (bei FreeBSD-Versionen vor
+ 3.2 nur -s), 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 mount -u /
+ ein, um Ihr Root-Dateisystem für Lese- und
+ Schreibzugriffe zu remounten und dann mount
+ -a, um alle Dateisysteme zu remounten. Mit
+ passwd root können Sie das
+ Rootpasswort ändern und mit exit
+ können Sie mit dem Booten fortfahren.
+
+
+
+
+
+ Wie verhindere ich, daß das System mit
+ Control-Alt-Delete rebootet werden kann?
+
+
+
+ Falls Sie syscons (den Standard-Treiber für die
+ Konsole) unter FreeBSD ab 2.2.7-RELEASE benutzen,
+ erstellen und installieren Sie einen neuen Kernel mit der
+ Zeile
+
+ options SC_DISABLE_REBOOT
+
+ in der Konfigurationsdatei. Falls Sie den
+ Konsolen-Treiber PCVT unter FreeBSD seit 2.2.5-RELEASE
+ benutzen, benutzen Sie stattdessen die folgende
+ Kernelkonfigurationszeile:
+
+ options PCVT_CTRL_ALT_DEL
+
+ Editieren Sie bei älteren Versionen von FreeBSD
+ die Tastenzuordnungsdatei, die Sie für die Konsole
+ verwenden und ersetzen Sie die Schlüsselworte
+ boot durch nop. Die
+ standard Tastenzuordnungsdatei heißt
+ /usr/share/syscons/keymaps/us.iso.kbd.
+ Es könnte sein, daß Sie
+ /etc/rc.conf explizit instruieren
+ müssen, diese Tastenzuordnungsdatei zu laden, um die
+ Änderungen wirksam werden zu lassen. Falls Sie eine
+ andere Tastenzuordnung für Ihr Land verwenden,
+ müssen Sie natürlich diese editieren.
+
+
+
+
+
+ Wie ändere ich das Format von Textdateien von DOS
+ nach UNIX?
+
+
+
+ Benutzen Sie einfach diesen Perl-Befehl:
+
+
+&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ...
+
+
+ file ist/sind die zu verarbeitende(n) Datei(en). Die
+ Änderungen erfolgen in der Originaldatei, die zuvor
+ mit der Erweiterung .bak gesichert wird.
+
+ Alternativ können Sie den Befehl
+ tr benutzen:
+
+
+&prompt.user; tr -d '\r' < dos-text-file > unix-file
+
+
+ dos-text-file ist die
+ Datei, die den Text im DOS-Format enthält und
+ unix-file wird die konvertierte
+ Ausgabe enthalten. Diese Möglichkeit könnte
+ etwas schneller sein, als die Benutzung von Perl.
+
+
+
+
+
+ Wie beende ich Prozesse namentlich?
+
+
+
+ Benutzen Sie killall.
+
+
+
+
+
+ Warum nervt su mich damit, daß ich nicht in der
+ ACL von root bin?
+
+
+
+ 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.
+
+
+
+
+
+ Wie deinstalliere ich Kerberos?
+
+
+
+ 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:
+
+
+&prompt.root; cd /cdrom/bin
+&prompt.root; ./install.sh
+
+
+ Alternativ können Sie alle Zeilen mit
+ "MAKE_KERBEROS" aus der
+ /etc/make.conf entfernen und dann ein
+ make world durchführen.
+
+
+
+
+
+ Wie füge ich Pseudo-Terminals zum System
+ hinzu?
+
+
+
+ Wenn Sie viele Benutzer von telnet, ssh, X oder
+ screens haben, könnte es sein, daß Ihnen die
+ Pseudo-Terminals ausgehen. So fügen Sie weitere
+ hinzu:
+
+
+
+ Erstellen und installieren Sie einen neuen Kernel
+ mit der Zeile
+
+
+pseudo-device pty 256
+
+
+ in der Konfigurationsdatei.
+
+
+
+ Führen Sie die Befehle
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV pty{1,2,3,4,5,6,7}
+
+
+ aus, um 256 Geräteeinträge für die
+ neuen Terminals zu erstellen.
+
+
+
+ Editieren Sie die Datei
+ /etc/ttys und fügen Sie
+ Zeilen für jeden der 256 Terminals ein. Sie
+ sollten so aussehen, wie die existierenden
+ Einträge, also etwa so:
+
+
+ttyqc none network
+
+
+ Die Reihenfolge der Buchstabenzuordnung lautet mit
+ einem regulären Ausdruck
+ tty[pqrsPQRS][0-9a-v].
+
+
+
+ Starten Sie das System mit dem neuen Kernel
+ erneut, wenn Sie bereit sind.
+
+
+
+
+
+
+
+ Ich kann das Gerät snd0 nicht erstellen!
+
+
+
+ Es gibt kein Gerät snd.
+ Diese Bezeichnung ist nur ein Sammelbegriff für die
+ diversen Geräte, die zusammen das Soundsystem von
+ FreeBSD bilden, wie zum Beispiel
+ mixer,
+ sequencer, und
+ dsp.
+
+ So erzeugen Sie diese Geräte:;
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV snd0
+
+
+
+
+
+
+ Wie lade ich /etc/rc.conf und
+ starte /etc/rc neu, ohne zu
+ rebooten?
+
+
+
+ Gehen Sie in den Einzelbenutzermodus und dann
+ zurück in den Mehrbenutzermodus.
+
+ Geben Sie auf der Konsole folgendes ein:
+
+
+&prompt.root; shutdown now
+(Hinweis: ohne -r oder -h)
+&prompt.root; return
+&prompt.root; exit
+
+
+
+
+
+
+ Was ist ein Sandkasten (sandbox)?
+
+
+
+ Sandkasten (sandbox) ist ein Ausdruck
+ aus dem Bereich Sicherheit. Er hat zwei
+ Bedeutungen:
+
+
+
+ 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.
+
+ Man sagt: Der Prozeß kann innerhalb der
+ Wände spielen, d.h. nichts, was
+ der Prozeß in Bezug auf die Ausführung von
+ Code tut, kann die Wände durchbrechen. Es ist
+ also keine detailierte Revision des Codes
+ erforderlich, um gewisse Aussagen über seine
+ Sicherheit machen zu können.
+
+ Die Wände könnten z.B. eine
+ Benutzerkennung sein. Dies ist die Definition, die in
+ den Manualpages security und named benutzt
+ wird.
+
+ Nehmen Sie zum Beispiel den Dienst
+ ntalk (siehe auch /etc/inetd.conf).
+ Dieser Dienst ist früher mit der Benutzerkennung
+ root gelaufen; nun läuft er mit der
+ Benutzerkennung tty. Der Benutzer tty ist ein
+ Sandkasten, der dazu gedacht ist, es jemandem, der
+ über ntalk erfolgreich in das System eingebrochen
+ ist, schwer zu machen, über diese Benutzerkennung
+ hinaus vorzudringen.
+
+
+
+ Ein Prozeß, der sich innerhalb einer
+ simulierten Maschine befindet. Dies ist etwas
+ fortgeschrittener; grundsätzlich bedeutet es,
+ daß jemand, der in der Lage ist, in einen
+ Prozeß einzudringen, annehmen könnte, er
+ könnte weiter in die Maschine eindringen,
+ tatsächlich aber nur in eine Simulation der
+ Maschine einbricht und keine echten Daten
+ verändert.
+
+ Der gängigste Weg, dies zu erreichen, ist, in
+ einem Unterverzeichnis eine simulierte Umgebung zu
+ erstellen und den Prozeß in diesem Verzeichnis
+ mit chroot auszuführen (d.h. für diesen
+ Prozeß ist / dieses
+ Verzeichnis und nicht das echte /
+ des Systems).
+
+ Eine weitere gebräuchliche Anwendung ist, ein
+ untergeordnetes Dateisystem nur mit Leserechten zu
+ mounten, und dann darüber eine Dateisystemebene
+ zu erstellen, die einem Prozeß einen scheinbar
+ schreibberechtigten Blick in das Dateisystem gibt.
+ Der Prozeß mag glauben, daß er in der Lage
+ ist, diese Dateien zu verändern, aber nur der
+ Prozeß sieht diesen Effekt - andere Prozeß
+ im System natürlich nicht.
+
+ Es wird versucht, diese Art von Sandkasten so
+ transparent zu gestalten, daß der Benutzer (oder
+ Hacker) nicht realisiert, daß er sich in ihm
+ befindet.
+
+
+
+ UNIX implementiert zwei Arten von Sandkästen -
+ eine auf Prozeßebene und die andere auf der Ebene
+ der Benutzerkennung.
+
+ Jeder UNIX-Prozeß ist vollständig von jedem
+ anderen UNIX-Prozeß abgeschirmt. Ein Prozeß
+ kann den Adreßraum eines anderen Prozesses nicht
+ modifizieren. Das ist anders als bei Windows, wo ein
+ Prozeß leicht den Adreßraum eines anderen
+ überschreiben kann, was zu einem Absturz
+ führt.
+
+ Ein UNIX-Prozeß gehört einer bestimmten
+ Benutzerkennung. Falls die Benutzerkennung nicht die von
+ root ist, dient sie dazu, den
+ Prozeß von Prozessen anderer Benutzer abzuschirmen.
+ Die Benutzerkennung wird außerdem dazu genutzt,
+ Daten auf der Festplatte abzuschirmen.
+
+
+
+
+
+ Wie lasse ich normale Benutzer Disketten, CD-ROMs und
+ andere Wechseldatenträger mounten?
+
+
+
+ Normale Benutzer können dazu berechtigt werden,
+ Geräte zu mounten. Das geht so:
+
+
+
+ Setzen Sie als root die
+ sysctl-Variable vfs.usermount auf
+ 1:
+
+
+&prompt.root; sysctl -w vfs.usermount=1
+
+
+
+
+ Ordnen Sie als root den
+ Block-Geräten, die den Wechsellaufwerken
+ zugeordnet sind, die entsprechenden Zugriffsrechte
+ zu.
+
+ Wenn Sie zum Beispiel den Benutzer den Zugriff auf
+ das erste Diskettenlaufwerk zu erlauben
+ wollen:
+
+
+&prompt.root; chmod 666 /dev/fd0
+
+
+ Um den Mitgliedern der Gruppe
+ operator den Zugriff auf das
+ CD-ROM zu gestatten:
+
+
+&prompt.root; chgrp operator /dev/cd0c
+&prompt.root; chmod 640 /dev/cd0c
+
+
+
+
+ Fügen Sie zum Abschluß die Zeile
+ vfs.usermount=1 in die Datei
+ /etc/sysctl.conf ein, damit die
+ Einstellung bei einem Neustart des Systems automatisch
+ erhalten bleibt.
+
+
+
+ Alle Benutzer können nun
+ /dev/fd0 auf ein Verzeichnis, das
+ ihnen gehört, mounten:
+
+
+&prompt.user; mkdir ~/my-mount-point
+&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point
+
+
+ Die zur Gruppe operator
+ gehörenden Benutzer können nun
+ /dev/cd0c auf ein Verzeichnis, das
+ ihnen gehört, mounten:
+
+
+&prompt.user; mkdir ~/my-mount-point
+&prompt.user; mount -t msdos /dev/cd0c ~/my-mount-point
+
+
+ Das Unmounten des Gerätes ist simpel:
+
+
+&prompt.user; umount ~/my-mount-point
+
+
+ Die Aktivierung von vfs.usermount
+ hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
+ Ein besserer Weg, um auf MSDOS-formatierte
+ Datenträger zuzugreifen, ist die Benutzung des
+ Packages mtools aus der
+ Ports-Sammlung.
+
+
+
+
+
+ Wie verschiebe ich mein System auf meine neue,
+ große Platte.
+
+
+
+ Die beste Methode ist, das Betriebssystem auf der
+ neuen Platte neu zu installieren und danach die Daten zu
+ verschieben. Wenn Sie -stable über eine Release
+ hinaus genutzt haben oder eine Release aktualiert haben,
+ ist das sehr empfehlenwert. Sie können auf beiden
+ Platten &man.boot0cfg.8;i installieren und die beiden
+ Versionen so lange parallel betreiben, bis Ihnen die neue
+ Konfiguation gefällt. Wenn Sie dies tun wollen,
+ können Sie im übernächsten Absatz erfahren,
+ wie sie Ihre Daten verschieben können.
+
+ Falls Sie sich entscheiden, das nicht zu tun,
+ müssen Sie Ihre neue Platte partitionieren und
+ labeln. Benutzen Sie dafür entweder
+ /stand/sysinstall 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 formatting-media
+ tutorial finden Sie weitere Informationen zu
+ diesen Schritten.
+
+ Nachdem Sie die neue Platte eingerichtet haben,
+ können Sie Ihre Daten verschieben. Dummerweise
+ können Sie die Daten nicht einfach. Dinge wie die
+ Gerätedateien (in /dev) und
+ Symbolische Links führen dazu, daß das in die
+ Hose geht. Sie mützen Programme benutzen, die damit
+ umgehen können, und das sind &man.dump.8; and
+ &man.tar.1;. Ich empfehle Ihnen, die Daten im single user
+ mode zu verschieben, aber das ist nicht unbedingt
+ notwendig.
+
+ Sie sollten auf gar keinen Fall etwas anderes als
+ &man.dump.8; und &man.restore.8; benutzen, um Ihr root
+ file system zu verschieben. Es könnte auch mit
+ &man.tar.1; funktionieren - oder auch nicht. Sie sollten
+ ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
+ Sie eine komplette Partition auf eine andere, leere
+ Partition verschieben. Um die Daten einer Partition mit
+ dump auf eine andere Partition zu verschieben, müssen
+ Sie die folgenden Schritte ausführen:
+
+
+
+ Richten Sie in der neuen Partition mit newfs ein
+ Dateisystem ein.
+
+
+
+ Mounten Sie die Partition temporär an einer
+ geeigneten Stelle.
+
+
+
+ Wechseln Sie mit cd in dieses Verzeichnis.
+
+
+
+ Lesen Sie die alte Partition mit dump aus und
+ lenken Sie die Ausgabe auf die neue Partition
+ um.
+
+
+
+ Wenn Sie zum Beispiel root auf
+ /dev/ad1s1a verschieben wollen und
+ diese zur Zeit auf /mnt gemountet
+ ist, bedeutet das:
+
+
+ &prompt.root; newfs /dev/ad1s1a
+ &prompt.root; mount /dev/ad1s1a
+ &prompt.root; cd /mnt
+ &prompt.root; dump 0uaf - / | restore xf -
+
+
+ Wenn Sie Ihre Partitionen umorganisieren wollen, also
+ zum Beispiel aus eine alte in zwei neue aufteilen wollen
+ oder zwei alte zu einer neuen zusammenfassen wollen, dann
+ wird es frührer oder später vorkommen, daß
+ Sie nur einen Verzeichnisbaum verschieben wollen. Da
+ &man.dump.8; nur ganze Dateisysteme bearbeitet,
+ können Sie es dafür nicht nutzen. Hier sollten
+ Sie &man.tar.1; verwenden. Um mit &man.tar.1;
+ /old nach /new
+ zu verschieben, müssen Sie diesen Befehl
+ eingeben:
+
+
+&prompt.root; (cd /old; tar cf - .) | (cd /new; tar xpf -)
+
+
+ Wenn unter /old andere
+ Dateisysteme gemountet sind und Sie weder die Daten auf
+ diesen Dateisystem verschieben noch die anderen
+ Dateisysteme unmounten wollen, müssen das erste
+ &man.tar.1; mit dem Parameter
+ aufrufen:
+
+
+&prompt.root; (cd /old; tar clf - .) | (cd /new; tar xpf -).
+
+
+ Eventuell gefallen Ihnen &man.cpio.1;, &man.pax.1;
+ oder cpdup (ports/sysutils/cpdup) besser als
+ &man.tar.1;.
+
+
+
+
+
+ Ich wollte auf das aktuelle -STABLE updaten, und
+ plötzlich läuft hier ein -RC oder -BETA. Was
+ ist passiert?
+
+
+
+ Kurze Antwort: Das ist nur ein anderer Name. RC ist
+ die Abkürzung für Release
+ Candidate. Es bedeutet, daß eine neue
+ Release bevorsteht. Und -BETA bedeutet bei FreeBSD das
+ gleich wie -RC.
+
+ Ausführliche Antwort: Bei FreeBSD gibt es zwei
+ Quellen für Releases. Die Major Releases wie
+ 3.0-RELEASE und 4.0-RELEASE werden aus dem aktuellen Stand
+ des Hauptzweiges der Entwicklung (besser und kürzer
+ als -CURRENT bekannt)
+ erzeugt. Minor Releases wie 3.1-RELEASE or 4.2-RELEASE
+ stammen aus dem aktiven -STABLE Zweig.
+
+ Bevor in einem Zweig eine Release erfolgt, muß
+ in diesem Zweig ein bestimmter Prozeß ablaufen. Ein
+ Teil dieses Prozesses ist der code freeze,
+ der Stop der Weiterentwicklung. Sobald dieser Schritt
+ erfolgt ist, wird der Name des Zweiges geändert, um
+ anzuzeigen, daß demnächst eine Release erfolgen
+ wird. Wenn der Zweig zum Beispiel 4.0-STABLE genannt
+ wurde, wird der Name in 4.1-RC geändert. Damit wird
+ angezeigt, daß aus dem Zweig demnächst eine
+ Release erstellt wird. Sobald die Release (in diesem
+ Beispiel 4.1-RELEASE) erfolgt ist, wird der Zweig in
+ 4.1-STABLE umbenannt.
+
+
+
+
+
+ Als ich versucht habe, einen neuen Kernel zu
+ installieren, ist das chflags fehlgeschlagen. Was mache
+ ich jetzt?
+
+
+
+ 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.
+
+ 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:
+
+ &prompt.root; sysctl kern.securelevel
+
+ 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
+ /etc/rc.conf ä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
+ /etc/defaults/rc.conf und
+ &man.rc.conf.5;.
+
+
+
+
+
+ Ich kann die Systemzeit nicht um mehr als eine Sekunde
+ verstellen. Was mache ich jetzt?
+
+
+
+ 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.
+
+ 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:
+
+ &prompt.root; sysctl kern.securelevel
+
+ 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
+ /etc/rc.conf ä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
+ /etc/defaults/rc.conf und
+ &man.rc.conf.5;.
+
+
+
+
+
+
+ Das X Window System und virtuelle Konsolen
+
+
+
+
+ Ich möchte X benutzen, was muß ich
+ tun?
+
+
+
+ Der einfachste Weg ist der, daß Sie während
+ der Installation angeben, daß Sie X benutzen
+ möchten.
+
+ Lesen Sie dann die Dokumentation zum Tool
+ xf86config, das Sie bei der
+ Konfiguration von XFree86(tm) speziell für Ihre
+ Grafikkarte/Maus/etc. unterstützt.
+
+ Evtl. möchten Sie sich auch den Xaccel-Server
+ ansehen. Nähere Details finden Sie in den
+ Abschnitten über Xi
+ Graphics oder Metro
+ Link.
+
+
+
+
+
+ Warum funktioniert meine Maus unter X nicht?
+
+
+
+ Wenn Sie syscons (den standard Konsoltreiber)
+ benutzen, können Sie FreeBSD so konfigurieren,
+ daß auf jedem virtuellen Bildschirm ein Mauszeiger
+ unterstützt wird. Um Konflikte mit X zu vermeiden,
+ unterstützt syscons ein virtuelles Gerät mit dem
+ Namen /dev/sysmouse. Ü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 und und X
+ benutzen wollen, sollten Sie zunächst lesen und dann
+ moused installieren.
+
+ Die Datei /etc/XF86Config sollte
+ die folgenden Einträge enthalten:
+
+
+Section Pointer
+Protocol "SysMouse"
+Device "/dev/sysmouse"
+.....
+
+
+ Diese Variante kann für XFree86 3.3.2 und neuere
+ Versionen benutzt werden. Wenn Sie eine ältere
+ Versionen verwenden, muß als
+ Protocol dagegen
+ MouseSystems benutzt werden.
+
+ Einige Leute ziehen es vor, unter X
+ /dev/mouse zu benutzen. Hierzu
+ sollte /dev/mouse nach
+ /dev/sysmouse gelinkt werden:
+
+
+&prompt.root; cd /dev
+&prompt.root; rm -f mouse
+&prompt.root; ln -s sysmouse mouse
+
+
+
+
+
+
+ Kann ich meine Rad-Maus auch unter X benutzen?
+
+
+
+ Ja. Allerdings müssen Sie die X-Anwendungen
+ anpassen. Weitere Informationen erhalten Sie auf der
+ Homepage von Colas
+ Nahaboo
+ (http://www.inria.fr/koala/colas/mouse-wheel-scroll/).
+
+ Wenn Sie das Programm
+ imwheel benutzen wollen,
+ müssen Sie folgenden Arbeiten
+ durchführen.
+
+
+
+ Umsetzung der Rad-Bewegung
+
+ Das Programm imwheel
+ übersetzt die Maustasten 4 und 5 in normale
+ Tastaturkommandos. Sie müssen also nur
+ dafür sorgen, daß die Bewegung des Rades
+ vom Maustreiber als Betätigung der Maustaten 4
+ und 5 übersetzt werden. Es gibt zwei
+ Möglichkeiten, dieses Ziel zu erreichen. Zum
+ einen kann die Übersetzung von &man.moused.8;
+ durchgeführt werden, zum zweiten kann der
+ X-Server diese Aufgabe übernehmen.
+
+
+
+ Umsetzung durch &man.moused.8;
+
+ Damit &man.moused.8; die Umsetzung vornimmt,
+ müssen ihn lediglich mit dem
+ zusätzlichen Parametern
+ starten. Wenn Sie zum Beispiel &man.moused.8; mit
+ dem Befehl moused -p /dev/psm0
+ gestartet haben, würde der neue Befehl
+ moused -p /dev/psm0 -z 4
+ lautet. Wenn Sie &man.moused.8; über einen
+ Eintrag in der Datei
+ /etc/rc.conf automatisch beim
+ Start des Systems starten lassen, müssen Sie
+ in der /etc/rc.conflediglich
+ die Einstellung moused_flags um
+ ergänzen.
+
+ Nun müssen Sie X darüber
+ informieren, daß Sie eine Maus mit 5 Tasten
+ haben. Fügen sie dazu die Zeile
+ Buttons 5 in den Abschnitt
+ Pointer der Datei
+ /etc/XF86Config ein. Das
+ Beispiel zeigt, wie ein solcher Abschnitt aussehen
+ könnte.
+
+
+ Abschnitt Pointer für
+ Mäuse mit Rad
+
+
+Section "Pointer"
+ Protocol "SysMouse"
+ Device "/dev/sysmouse"
+ Buttons 5
+EndSection
+
+
+
+
+
+ Umsetzung durch den X-Server
+
+ Wenn Sie &man.moused.8; nicht benutzen oder
+ die Umsetzung nicht von &man.moused.8; vornehmen
+ lassen wollen, kann diese Aufgabe auch vom
+ X-Server übernommen werden. Dazu sind einige
+ Änderungen an der Datei
+ /etc/XF86Config notwendig.
+ Zunächst müssen Sie das von Ihrer Maus
+ verwendete Protokoll herausfinden. Die meisten
+ Radmäuse verwenden das
+ IntelliMouse Protokoll. XFree86
+ unterstützt allerdings auch andere
+ Protokolle, zum Beispiel das von der Logitech
+ Mouseman+ verwendete
+ MouseManPlusPS/2. Wenn Sie das
+ Protokoll ermittelt haben, müssen Sie eine
+ entsprechende Protocol-Zeile in
+ den Abschnitt Pointer
+ aufnehmen.
+
+ Zum zweiten müssen Sie dem X-Server
+ mitteilen, daß er die Bewegung des Rades in
+ Betätigungen der Tasten 4 und 5 umsetzen
+ soll. Dazu dient die Option
+ ZAxisMapping.
+
+ Wenn Sie zum Beispiel &man.moused.8; nicht
+ verwenden und eine IntelliMouse an den PS/2
+ Mausport angeschlossen haben, müßte in
+ Ihrer /etc/XF86Config die
+ folgenden Angaben stehen.
+
+
+ Abschnitt Pointer der Datei
+ XF86Config für eine
+ Rad-Maus und Umsetzung durch den
+ X-Server
+
+
+Section "Pointer"
+ Protocol "IntelliMouse"
+ Device "/dev/psm0"
+ ZAxisMapping 4 5
+EndSection
+
+
+
+
+
+
+
+ Installation von
+ imwheel
+
+ Der nächste Schritt ist die Installation von
+ imwheel über die
+ Ports. Das Programm ist ein Teil der Kategorie
+ x11.
+ imwheel übersetzt die
+ Bewegungen des Rades in Tastendrücken. Es
+ könnte zum Beispiel Bild auf an
+ ein Programm senden, wenn Sie das Rad nach vorne
+ bewegen. Imwheel benutzt
+ eine Konfigurationsdatei, die den Bewegungen des Rades
+ die zu simulierenden Tastendrücke zuordnet.
+ Damit ist es möglich, verschiedenen Anwendungen
+ die jeweils "richtigen" Tastendrücke zu
+ senden. Ein Prototyp der Konfigurationsdatei für
+ imwheel wird unter dem
+ Namen /usr/X11R6/etc/imwheelrc
+ installiert. Wenn Sie die Konfiguration von
+ imwheel an die von Ihnen
+ verwendeten Programme anpassen wollen, erzeugen Sie
+ eine Kopie der Datei mit dem Namen
+ ~/.imwheelrc und tragen Sie ihre
+ Anpassungen dort ein. Das Format der Datei wird in
+ &man.imwheel.1; erklärt.
+
+
+
+ Anpassung von Emacs an
+ with Imwheel
+ (Optional)
+
+ Wenn Sie emacs oder
+ Xemacs benutzen,
+ müssen Sie einen kleinen Abschnitt in die Datei
+ ~/.emacs einfügen. Für
+ emacs müssen Sie die
+ folgenden Zeilen anfügen:
+
+
+ Nutzung von Emacs
+ mit Imwheel
+
+
+;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
+(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section
+
+
+
+ Wenn Sie Xemacs
+ verwenden, müssen stattdessen die folgenden
+ Zeilen an Ihre ~/.emacs
+ anfügen:
+
+
+ Nutzung von Xemacs
+ mit Imwheel
+
+
+;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
+(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section
+
+
+
+
+
+ Imwheel
+ ausführen
+
+ Sie brauchen nach der Installation einfach nur
+ imwheel in einem xterm einzugben,
+ um das Programm zu starten. Das Programm läuft
+ dann im Hintergrund und ist sofort aktiv. Wenn Sie
+ imwheel ständig
+ benutzen wollen, sollten Sie es einfach in Ihre
+ .xinitrc oder
+ .xsession eintragen. Falls
+ imwheel Warnungen über
+ "PID files" ausgeben sollte, können Sie
+ diese ignorieren, da Sie nur die Linux-Version von
+ imwheel betreffen.
+
+
+
+
+
+
+
+ X Window Menues und Dialogfenster funktionieren nicht
+ richtig!
+
+
+
+ Versuchen Sie, die Num-Lock-Taste
+ auszustellen.
+
+ Falls Ihre Num-Lock-Taste beim Booten
+ standardmäßig eingeschaltet ist, sollten Sie
+ die folgende Zeile in den Abschnitt
+ Keyboard der Datei
+ XF86Config einfügen:
+
+
+# Let the server do the NumLock processing. This should only be
+# required when using pre-R6 clients
+ ServerNumLock
+
+
+
+
+
+
+ Was ist eine virtuelle Konsole und wie erstelle ich
+ mehr?
+
+
+
+ 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.
+
+ 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!).
+
+ Gelegentlich möchten Sie möglicherweise eine
+ weitere Sitzung starten wollen, vielleicht, um die
+ Dokumentation zu einem Programm, das Sie gerade benutzen,
+ einzusehen, oder, um Ihre Mails zu lesen, während Sie
+ auf das Ende einer FTP-Übertragung warten.
+ Drücken Sie einfach Alt-F2 (halten Sie die Alt-Taste
+ gedrückt und drücken Sie die Taste F2) und Sie
+ gelangen zur Anmelde-Aufforderung auf der zweiten
+ virtuellen Konsole! Wenn Sie zurück
+ zur ersten Sitzung möchten, drücken Sie
+ Alt-F1.
+
+ Die standard Installation von FreeBSD bietet drei
+ aktivierte virtuelle Konsolen (acht ab der Version 3.3)
+ und Alt-F1, Alt-F2 und Alt-F3 wechseln zwischen diesen
+ virtuellen Konsolen.
+
+ Um mehr von ihnen zu aktivieren, editieren Sie
+ /etc/ttys und fügen
+ Einträge für ttyv4 bis
+ zu ttyvc nach dem Kommentar zu
+ virtuellen Terminals ein:
+
+
+# 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
+
+
+ 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 secure in
+ insecure ändern.
+
+
+
+ Wenn Sie einen X-Server benutzen möchten,
+ müssen Sie mindestens ein
+ virtuelles Terminal unbenutzt (oder ausgeschaltet)
+ lassen damit der Server es benutzen kann. Das
+ heißt, daß Sie Pech haben, wenn Sie
+ für jede Ihrer 12 Alt-Funktionstasten eine
+ Anmeldeaufforderung haben möchten - Sie
+ können das nur für elf von ihnen tun, wenn
+ Sie einen X-Server auf derselben Maschine laufen
+ lassen möchten.
+
+
+
+ Der einfachste Weg, eine Konsole zu deaktivieren, ist,
+ sie auszuschalten. Wenn Sie zum Beispiel die oben
+ erwähnte volle Zuordnung aller 12 Terminals
+ hätten, müßten Sie die Einstellung
+ für das virtuelle Terminal 12 von:
+
+
+ttyvb "/usr/libexec/getty Pc" cons25 on secure
+
+
+ in:
+
+
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+
+
+ ändern.
+
+ Wenn Ihre Tastatur nur über zehn Funktionstasten
+ verfügt, bedeutet das:
+
+
+ttyv9 "/usr/libexec/getty Pc" cons25 off secure
+ttyva "/usr/libexec/getty Pc" cons25 off secure
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+
+
+ (Sie können diese Zeilen auch einfach
+ löschen.)
+
+ Nachdem Sie die Datei /etc/ttys
+ geändert haben, besteht der nächste Schritt
+ darin, sicherzustellen, daß Sie genügend
+ Geräte für virtuelle Terminal haben. Der
+ einfachste Weg, dies zu tun, ist:
+
+
+&prompt.root; cd /dev
+&prompt.root; ./MAKEDEV vty12
+
+
+ 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 root
+
+
+&prompt.root; kill -HUP 1
+
+
+ ausführen.
+
+ Es ist unbedingt erforderlich, daß Sie das X
+ Window System vollständig herunterfahren, falls es
+ läuft. Falls Sie es nicht tun, könnte es sein,
+ daß sich ihr System nach der Eingabe des
+ kill-Befehls aufhängt.
+
+
+
+
+
+ Wie greife ich von X aus auf virtuelle Konsolen
+ zu?
+
+
+
+ Benutzen Sie CtrlAltFn
+ um auf eine virtuelle Konsole umzuschalten. Mit CtrlAltF1
+ würden Sie zur ersten virtuellen Konsole
+ umschalten.
+
+ Sobald Sie auf eine virtuelle Konsole umgeschaltet
+ haben, können Sie ganz normal AltFn
+ benutzen, um zwischen den einzelnen virtuellen Konsolen
+ umzuschalten.
+
+ 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 startx),
+ 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 AltF9
+ umschalten.
+
+
+
+
+
+ Wie starte ich XDM beim Booten?
+
+
+
+ Es gibt zwei Denkansätze, wie
+ xdm zu starten ist. Bei dem einen wird
+ xdm von /etc/ttys
+ aus gestartet, wobei das mitgelieferte Beispiel benutzt
+ wird, während xdm bei dem anderen
+ Ansatz einfach in rc.local oder von
+ einem Skript X.sh im Verzeichnis
+ /usr/local/etc/rc.d aus gestartet
+ wird. Beide Ansätze sind gleichwertig und der eine
+ wird in Situationen funktionieren, in denen der andere es
+ nicht tut. In beiden Fällen ist das Ergebnis das
+ gleiche: X liefert eine graphische
+ Anmeldeaufforderung.
+
+ Die ttys-Methode hat den Vorteil, daß
+ dokumentiert ist, auf welchem vty X gestartet wird und der
+ Neustart des X-Servers beim Abmelden an init
+ übergeben wird. Die rc.local-Methode erleichtert ein
+ Killen von xdm, falls Probleme beim Start des X-Servers
+ auftreten sollten.
+
+ Beim Laden von rc.local sollte xdm
+ ohne irgendwelche Argumente (d.h. als Daemon) gestartet
+ werden. xdm muß gestartet werden NACHDEM getty
+ läuft, andernfalls entsteht ein Konflikt zwischen
+ getty und xdm und die Konsole bleibt gesperrt. Der beste
+ Weg, um dies zu vermeiden, ist, das Skript für etwa
+ zehn Sekunden anzuhalten und dann xdm zu starten.
+
+ Wenn Sie xdm durch einen Eintrag in
+ /etc/ttys starten lassen, kann es zu
+ einem Konflikt zwischen xdm und
+ getty kommen. Um dieses Problem zu
+ vermeiden, sollten Sie die Nummer des
+ vt in die Datei
+ /usr/X11R6/lib/X11/xdm/Xservers
+ eintragen.
+
+ :0 local /usr/X11R6/bin/X vt4
+
+ Diese Zeile führt dazu, daß der X Server
+ /dev/ttyv3 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.
+
+
+
+
+
+ Wenn ich xconsole benutze, erscheint Couldn't
+ open console.
+
+
+
+ Wenn Sie X mit
+ startx starten, werden die
+ Zugriffsrechte für
+ /dev/consolenicht
+ geändert, was dazu führt, daß Dinge wie
+ xterm -C und
+ xconsole nicht funktionieren.
+
+ Das hängt damit zusammen, wie die Zugriffsrechte
+ für die Konsole standardmäßig gesetzt
+ sind. Auf einem Mehrbenutzersystem möchte man nicht
+ unbedingt, daß jeder Benutzer einfach auf die
+ Systemkonsole schreiben kann. Für Benutzer, die sich
+ auf einer Maschine direkt mit einem VTY anmelden,
+ existiert die Datei /etc/fbtab, um
+ derartige Probleme zu lösen.
+
+ In Kürze: sorgen Sie dafür, daß sich
+ eine nicht auskommentierte Zeile der Form
+
+
+/dev/ttyv0 0600 /dev/console
+
+
+ in der Datei /etc/fbtab befindet.
+ Das sorgt dafür, daß wer auch immer sich auf
+ /dev/ttyv0 anmeldet, auch die Konsole
+ besitzt.
+
+
+
+
+
+ Meine PS/2-Maus verhält sich unter X nicht
+ richtig.
+
+
+
+ Ihre Maus und der Maustreiber sind etwas aus der
+ Synchronisation geraten.
+
+ Bis einschließlich Version 2.2.5 sorgt ein
+ Wechsel von X zu einer virtuellen Konsole und wieder
+ zurück für eine erneute Synchronisation. Falls
+ das Problem öfter auftritt, können Sie die
+ folgende Zeile in Ihre Kernelkonfigurationsdatei
+ einfügen und den Kernel neu erstellen.
+
+
+options PSM_CHECKSYNC
+
+
+ Lesen Sie den Abschnitt über die Erstellung eines Kernels,
+ falls Sie keine Erfahrung mit der Erstellung eines Kernels
+ haben.
+
+ Mit dieser Option sollten geringere Chancen für
+ Synchronisationsprobleme zwischen der Maus und dem Treiber
+ bestehen. Falls sie jedoch weiterhin auf das Problem
+ stoßen, drücken Sie eine der Maustasten,
+ während Sie die Maus nicht bewegen, um die Maus und
+ den Treiber neu zu synchronisieren.
+
+ Beachten Sie, daß diese Option leider nicht auf
+ allen Systemen funktioniert und das tap
+ Merkmal eines am PS/2-Mausanschluß angeschlossenen
+ ALPS GlidePoint Gerätes beeinträchtigt.
+
+ Ab Version 2.2.6 erfolgt die Überprüfung der
+ Synchronisation etwas besser und ist ein Standard im
+ PS/2-Maustreiber. Es sollte sogar mit GlidePoint
+ funktionieren. (Da der Code zur Überprüfung ein
+ standard Merkmal geworden ist, gibt es die Option
+ PSM_CHECKSYNC in diesen Versionen nicht mehr.) In seltenen
+ Fällen kann es jedoch sein, daß der Treiber
+ fälschlicherweise Synchronisationsprobleme meldet und
+ Sie in den Kernelmeldungen folgendes sehen:
+
+
+psmintr: out of sync (xxxx != yyyy)
+
+
+ und Ihre Maus nicht richtig zu funktionieren
+ scheint.
+
+ 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 UserConfig durch
+ Angabe der Option am Boot-Prompt
+ auf:
+
+
+boot: -c
+
+
+ Geben sie dann in der Kommandozeile von
+ UserConfig folgendes ein:
+
+
+UserConfig> flags psm0 0x100
+UserConfig> quit
+
+
+
+
+
+
+ Meine PS/2-Maus von MouseSystems scheint nicht zu
+ funktionieren.
+
+
+
+ Es wurde berichtet, daß einige Modelle der
+ PS/2-Mäuse von MouseSystems nur funktionieren, wenn
+ sie im hochauflösenden Modus betrieben
+ werden. Andernfalls springt der Mauszeiger sehr oft in
+ die linke obere Ecke des Bilschirms.
+
+ Leider gibt es hierzu keine Abhilfe für die
+ Versionen 2.0.X und 2.1.X. Verwenden Sie bei den
+ Versionen 2.2 bis 2.2.5 den folgenden Patch für die
+ Datei /sys/i386/isa/psm.c und
+ erstellen Sie den Kernel neu. Lesen Sie den Abschnitt
+ über die Erstellung eines
+ Kernels, falls Sie keine Erfahrung mit der
+ Erstellung eines Kernels haben.
+
+
+diff -u psm.c.orig psm.c
+@@ -766,6 +766,8 @@
+ if (verbose >= 2)
+ log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
+ unit, i);
++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
++
+ #if 0
+ set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
+ set_mouse_mode(sc->kbdc); /* stream mode */
+
+
+ Spezifizieren Sie ab Version 2.2.6 das Flag 0x04
+ für den Maustreiber, um die Maus in den
+ hochauflösenden Modus zu bringen. Rufen Sie
+ UserConfig durch Angabe der Option
+ am Boot-Prompt auf:
+
+
+boot: -c
+
+
+ Geben sie dann in der Kommandozeile von
+ UserConfig folgendes ein:
+
+
+UserConfig> flags psm0 0x04
+UserConfig> quit
+
+
+ Lesen Sie den vorigen Abschnitt über eine andere
+ mögliche Ursache für Probleme mit der
+ Maus.
+
+
+
+
+
+ Wenn ich eine X-Applikation erstellen will, kann
+ imake die Datei
+ Imake.tmpl nicht finden. Wo befindet
+ sie sich?
+
+
+
+ Imake.tmpl ist Teil des
+ Imake-Paketes, ein Standardwerkzeug zur Erstellung von
+ X-Applikationen. Imake.tmpl ist
+ ebenso, wie viele Header-Dateien, die zur Erstellung von
+ X-Applikationen benötigt werden, in der Distribution
+ xprog enthalten. Sie können Sie
+ per sysinstall oder aber manuell mit den X
+ Distributionsdateien installieren.
+
+
+
+
+
+ Wie vertausche ich die Maustasten?
+
+
+
+ Benutzen Sie den Befehl xmodmap -e "pointer =
+ 3 2 1" in Ihrer Datei .xinitrc oder
+ .xsession.
+
+
+
+
+
+ Wie installiere ich einen Splash-Screen und wo finde
+ ich sie?
+
+
+
+ Kurz vor der Herausgabe von FreeBSD 3.1 wurde ein
+ neues Feature eingefügt, das die Anzeige von
+ Splash-Screens während der
+ Bootmeldungen erlaubt. Die Splash-Screens dürfen
+ derzeit nur Bitmaps mit 256-Farben
+ (*.BMP) oder ZSoft-PCX-Dateien
+ *.PCX) sein. Damit sie mit normalen
+ VGA-Karten dargestellt werden können, darf die
+ Größe 320x200 Bildpunkte nicht
+ überschreiten. Wenn Sie in ihrem Kernel die
+ VESA-Unterstützung eingebunden haben, beträgt
+ die maximale Größe 1024x768 Pixel. Beachten
+ Sie, daß die VESA-Unterstützung die
+ Kerneloption VM86 benötigt, um in
+ den Kernel eingebunden werden zu können. Die
+ derzeitige VESA-Unterstützung kann entweder direkt
+ durch die Kernelkonfigurationsoption
+ VESA in den Kernel eingebunden werden,
+ oder durch das Laden des VESA-Moduls kld während des
+ Bootens.
+
+ Um eine Splash-Screen zu benutzen, müssen Sie die
+ Startdateien, die den Bootprozeß von FreeBSD
+ kontrollieren, modifizieren. Diese Dateien haben sich vor
+ der Herausgabe von FreeBSD 3.2 geändert, so daß
+ nun zwei Möglichkeiten zum Laden einer Splash-Screen
+ existieren:
+
+
+
+ FreeBSD 3.1
+
+ Der erste Schritt besteht darin, eine
+ Bitmap-Version Ihrer Splash-Screen zu finden. Von
+ Version 3.1 werden nur Windows-Bitmap Splash-Screens
+ unterstützt. Wenn Sie die Splash-Screen Ihrer
+ Wahl gefunden haben, kopieren Sie sie nach
+ /boot/splash.bmp. Als
+ nächstes benötigen Sie eine Datei
+ /boot/loader.rc, die die
+ folgenden Zeilen enthält:
+
+
+load kernel
+load -t splash_image_data /boot/splash.bmp
+load splash_bmp
+autoboot
+
+
+
+
+ seit FreeBSD 3.2
+
+ Außer der zusätzlichen
+ Unterstützung von PCX Splash-Screens bietet
+ FreeBSD 3.2 eine einfachere Möglichkeit, den
+ Bootprozeß zu konfigurieren. Wenn Sie
+ möchten, können Sie auch die obige Methode
+ für FreeBSD 3.1 benutzen. Falls Sie das tun und
+ PCX verwenden möchten, dann ersetzen Sie
+ splash_bmp durch
+ splash_pcx. Falls Sie aber die
+ neuere Bootkonfiguration benutzen möchten,
+ müssen Sie eine Datei
+ /boot/loader.rc erstellen, die
+ die folgenden Zeilen enthält:
+
+
+include /boot/loader.4th
+start
+
+
+ und eine Datei
+ /boot/loader.conf, die die
+ folgenden Zeilen enthält:
+
+
+splash_bmp_load="YES"
+bitmap_load="YES"
+
+
+ Dies setzt voraus, daß Sie
+ /boot/splash.bmp als Ihren
+ Splash-Screen benutzen. Wenn Sie lieber eine
+ PCX-Datei benutzen wollen, dann kopieren Sie sie nach
+ /boot/splash.pcx, erstellen Sie
+ eine Datei /boot/loader.rc, wie
+ oben beschrieben und eine Datei
+ /boot/loader.conf, die folgendes
+ enthält:
+
+
+splash_pcx_load="YES"
+bitmap_load="YES"
+bitmap_name="/boot/splash.pcx"
+
+
+
+
+ Alles, was Sie nun brauchen, ist ein Splash-Screen.
+ Hierzu können Sie durch die Gallerie bei http://www.baldwin.cx/splash/
+ surfen.
+
+
+
+
+
+ Kann ich die Windows(tm)-Tasten unter X
+ nutzen?
+
+
+
+ Ja, Sie müssen lediglich mit &man.xmodmap.1;
+ festlegen, welche Aktion diese Tasten auslösen
+ sollen.
+
+ Unter der Annahme, daß alle
+ Windows(tm) Tastaturen dem Standard
+ entsprechen, lauten die Keycodes für die drei
+ Tasten
+
+
+
+ 115 - Windows(tm) Taste zwischen den Alt- und
+ Strg-Tasten auf der linken Seite
+
+
+
+ 116 - Windows(tm) Taste rechts von der
+ Alt-Gr-Taste
+
+
+
+ 117 - Menü-Taste, links von der rechten
+ Strg-Taste
+
+
+
+ Nach der folgenden Anweisung erzeugt die linke
+ Windows(tm)-Taste ein Komma.
+
+
+&prompt.root; xmodmap -e "keycode 115 = comma"
+
+
+ Sie werden Ihren Window Manager wahrscheinlich neu
+ starten müssen, damit diese Einstellung wirksam
+ wird.
+
+ Um die neue Belegung der Windows(tm)-Tasten
+ automatisch beim Start von X zu erhalten, könnten Sie
+ entsprechende xmodmap Anweisungen in
+ ihre ~/.xinitrc einfügen. Die
+ bevorzugte Variante ist aber, eine Datei mit dem Namen
+ ~/.xmodmaprc zu erzeugen, die nur die
+ Parameter für den Aufruf von
+ xmodmap enthält. Wenn Sie mehrere
+ Tasten umdefinieren wollen, muß jede Definition in
+ eine eigene Zeile gesetzt werden. Weiterhin müssen
+ Sie in Ihrer ~/.xinitrc noch die
+ folgende Zeile einfügen:
+
+
+xmodmap $HOME/.xmodmaprc
+
+
+ Auf meinem System habe ich drei Tasten zu F13, F14 und
+ F15 gemacht. Dadurch ist es sehr einfach, diese Tasten
+ mit nützlichen Funktionen eines Programmes oder
+ Desktops zu verknüpfen.
+
+ Falls Sie das auch tun wollen, sollten in Ihrer
+ ~/.xmodmaprc die folgenden
+ Anweisungen stehen.
+
+
+keycode 115 = F13
+keycode 116 = F14
+keycode 117 = F15
+
+
+ Ich benutze fvwm2 und habe ihn so
+ eingestellt, daß F13 das Fenster unter dem
+ Mauszeiger minimiert bzw. maximiert. F14 holt das Fenster
+ unter dem Mauszeiger in den Vordergrund bzw. ganz nach
+ hinten, wenn es bereits im Vordergrund ist. F15
+ öffnet das Arbeitsplatz (Programme) Menü, auch
+ wenn der Cursor nicht auf den Hintergrund zeigt. Dies ist
+ extrem praktisch, wenn der gesamte Bildschirm von Fenster
+ belegt wird; als kleiner Bonus gibt es sogar einen
+ Zusammenhang zwischem dem Symbol auf der Taste und der
+ durchgeführten Aktion.
+
+ Dieses Verhalten kann man mit den folgenden
+ Einträgen in der Datei ~/.fvwmrc
+ erhalten:
+
+
+Key F13 FTIWS A Iconify
+Key F14 FTIWS A RaiseLower
+Key F15 A A Menu Workplace Nop
+
+
+
+
+
+
+
+ Netzwerke
+
+
+
+
+ Woher kann ich Informationen über Diskless
+ Booting bekommen?
+
+
+
+ Diskless Booting bedeutet, daß
+ die FreeBSD-Maschine über ein Netzwerk gebootet wird
+ und die notwendigen Dateien von einem Server anstatt von
+ der Festplatte liest. Vollständige Details finden
+ Sie im Handbucheintrag über
+ Diskless Booting
+
+
+
+
+
+ Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
+ werden?
+
+
+
+ Internetstandards und gute Ingenieurtechniken
+ verbieten uns, in FreeBSD standardmäßig eine
+ Paketweiterleitung zu aktivieren. Sie können dieses
+ Feature aber aktivieren, indem Sie in
+ /etc/rc.conf die folgende Variable
+ auf YES setzen:
+
+
+gateway_enable=YES # Set to YES if this host will be a gateway
+
+
+ Diese Option setzt die
+ sysctl-Variable
+ net.inet.ip.forwarding auf
+ 1.
+
+ In den meisten Fällen werden Sie auch einen
+ Routing-Dæmon laufen lassen müssen, um andere
+ Systeme in Ihrem Netzwerk über Ihren Router zu
+ informieren. FreeBSD enthält den standard
+ Routing-Daemon routed, für
+ komplexere Situationen möchten Sie evtl.
+ GaTeD ausprobieren
+ (erhältlich von http://www.gated.org/),
+ der FreeBSD vom Stand 3_5Alpha7 unterstützt.
+
+ Wir müssen sie allerdings warnen, daß
+ FreeBSD selbst in dieser Konfiguration nicht alle
+ Internet-Standards für Router erfüllt. Für
+ normale Anwendungszwecke kommt es diesen Standard aber
+ ausreichend nahe.
+
+
+
+
+
+ Kann ich meine Win95-Maschine über FreeBSD ans
+ Internet anbinden?
+
+
+
+ Personen, die diese Frage stellen, haben
+ typischerweise zwei PCs zu Hause: einen mit FreeBSD und
+ einen mit Win95; die Idee ist, die FreeBSD-Maschine an das
+ Internet anzubinden und dann in der Lage zu sein, von der
+ Windows95-Maschine aus über die FreeBSD-Maschine auf
+ das Internet zuzugreifen. Das ist tatsächlich nur
+ ein Spezialfall der vorherigen Frage.
+
+ ... und die Antwort ist JA! Das user-mode ppp von
+ FreeBSD kennt die Option . Wenn Sie
+ ppp mit der Option
+ starten, in
+ /etc/rc.conf die Variable
+ gateway_enable auf
+ YES setzen und ihre Windows-Maschine
+ korrekt konfigurieren, sollte das hervorragend
+ funktionieren.
+
+ Ausführlichere Informationen zur Konfiguration
+ finden Sie im Pedantic
+ PPP Primer von Steve Sims.
+
+ Wenn Sie Kernel-Mode PPP verwenden oder ihre
+ Verbindung zum Internet über Ethernet realisiert
+ wurde, müssen Sie natd verwenden.
+ Weitere Informationen dazu finden Sie im Abschnitt
+ über natd.
+
+
+
+
+
+ Warum mißlingt die Neukompilierung des neuesten
+ BIND von ISC?
+
+
+
+ Es existiert ein Konflikt zwischen der Datei
+ cdefs.h in der Distribution und der,
+ die mit FreeBSD ausgeliefert wird. Löschen Sie
+ compat/include/sys/cdefs.h
+ einfach.
+
+
+
+
+
+ Unterstützt FreeBSD SLIP und PPP?
+
+
+
+ Ja. Lesen Sie die Manualpages &man.slattach.8;,
+ &man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;.
+ pppd und ppp liefern
+ Unterstützung sowohl für eingehende, als auch
+ ausgehende Verbindungen. Sliplogin
+ behandelt ausschließlich eingehende Verbindungen und
+ slattach behandelt ausschließlich
+ ausgehende Verbindungen.
+
+ Diese Programme werden in den folgenden Abschnitten
+ des Handbuchs
+ beschrieben:
+
+
+
+ Handbucheintrag zu SLIP
+ (Serverseite)
+
+
+
+ Handbucheintrag zu SLIP
+ (Clientseite)
+
+
+
+ Handbucheintrag
+ zu PPP (Kernel-Version)
+
+
+
+ Handbucheintrag
+ zu PPP (Benutzer-Version)
+
+
+
+ Falls Sie nur durch einen Shell-Account
+ Zugang zum Internet haben, sehen Sie sich einmal das
+ Package slirp an. Es kann
+ Ihnen (eingeschränkten) Zugang zu Diensten wie ftp
+ und http direkt von Ihrer lokalen Maschine aus
+ ermöglichen.
+
+
+
+
+
+ Unterstützt FreeBSD NAT oder
+ Masquerading?
+
+
+
+ Falls Sie ein lokales Subnetz (oder mehrere lokale
+ Maschinen) besitzen, aber von Ihrem Internetprovider nur
+ eine einzige (evtl. auch dynamisch zugeteilte) IP-Adresse
+ zugewiesen bekommen haben, sehen Sie sich einmal das
+ Programm natd an.
+ natd ermöglicht es Ihnen, ein
+ vollständiges Subnetz mit nur einer einzigen
+ IP-Adresse an das Internet anzubinden.
+
+ Das Programm ppp verfügt mit
+ der eingebauten Option über
+ eine ähnliche Funktionalität. In beiden
+ Fällen wird die Alias-Bibliothek &man.libalias.3;
+ verwendet.
+
+
+
+
+
+ Ich kann kein /dev/ed0-Gerät
+ erstellen!
+
+
+
+ Bei Berkley-basierten Netzwerkimplementationen kann
+ nur vom Kernel-Code aus direkt auf Netzwerkkarten
+ zugegriffen werden. Zur weiteren Information lesen Sie
+ bitte die Datei /etc/rc.network 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.
+
+
+
+
+
+ Wie kann ich Ethernet-Aliase einrichten?
+
+
+
+ Benutzen Sie netmask 0xffffffff in
+ Ihrer ifconfig-Befehlszeile, wie
+ z.B.:
+
+
+&prompt.root; ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
+
+
+
+
+
+
+ Wie bringe ich meine 3C503 dazu, den anderen
+ Anschluß zu benutzen?
+
+
+
+ Wenn Sie die anderen Anschlüsse benutzen
+ möchten, müssen Sie einen zusätzlichen
+ Parameter in der ifconfig-Befehlszeile
+ spezifizieren. Der Standard-Anschluß ist
+ link0. Um den AUI-Anschluß
+ anstelle des BNC-Anschlusses zu verwenden, benutzen Sie
+ link2. Diese Angaben sollten durch
+ Benutzung der Variablen ifconfig_* in der Datei
+ /etc/rc.conf spezifiziert
+ werden.
+
+
+
+
+
+ Ich habe Probleme mit NFS nach/von FreeBSD.
+
+
+
+ Gewisse PC-Netzwerkkarten sind (um es gelinde
+ auszudrücken) besser als andere und können
+ manchmal Probleme mit netzwerkintensiven Anwendungen wie
+ NFS verursachen.
+
+ Weitere Informationen zu diesem Thema finden Sie
+ im Handbucheintrag zu
+ NFS.
+
+
+
+
+
+ Warum kann ich per NFS nicht von einer Linux-Maschine
+ mounten?
+
+
+
+ Einige Versionen des NFS-Codes von Linux akzeptieren
+ Mount-Requests nur von einem privilegierten Port.
+ Versuchen Sie
+
+
+&prompt.root; mount -o -P linuxbox:/blah /mnt
+
+
+
+
+
+
+ Warum kann ich per NFS nicht von einer Sun-Maschine
+ mounten?
+
+
+
+ Sun Workstations mit SunOS 4.X akzeptieren
+ Mount-Requests nur von einem privilegierten Port.
+ Versuchen Sie
+
+
+&prompt.root; mount -o -P sunbox:/blah /mnt
+
+
+
+
+
+
+ Warum meldet mir mountd auf meinem
+ FreeBSD NFS-Server ständig can't change
+ attributes und bad exports
+ list?
+
+
+
+ Die häufigste Ursache für dieses Problem
+ ist, daß Sie die folgende Passage aus
+ &man.exports.5; nicht oder nicht richtig verstanden
+ haben:
+
+
+ Jede Zeile in dieser Datei (außer den mit
+ einem # beginnenden Kommentarzeilen) definiert den Mount
+ Point und die Einstellungen für den Export
+ innerhalb eines Dateisystems auf dem Server, für
+ einen oder mehrere andere Rechner (Anmerkung des
+ Übersetzers: Clients). Jeder Rechner darf für
+ jedes lokale Dateisystem nur ein mal erwähnt werden
+ und es darf für jedes Dateisystem des Servers nur
+ einen Defaulteintrag geben, der dann für alle
+ anderen Rechner gilt.
+
+
+ Um dies zu verdeutlichen, folgt ein Beispiel eines
+ typischen Fehlers. Wenn alles oberhalb von
+ /usr Teil eines einzigen Dateisystems
+ ist (es also keine Mounts oberhalb von
+ /usr gibt), ist die folgende Datei
+ nicht korrekt:
+
+
+/usr/src client
+/usr/ports client
+
+
+ Es gibt zwei Zeilen, die Einstellungen für das
+ gleiche Dateisystem (/usr) und den
+ gleichen Host (client) definieren. Die
+ richtige Variante wäre:
+
+
+/usr/src /usr/ports client
+
+
+ Um die zitiere Passage anders auszudrücken: Die
+ Einstellungen für den Export eines Filesystems an
+ einen anderen Host (globale Exporte werden wie ein anderer
+ Host behandelt) müssen alle in einer Zeile erfolgen.
+ Ja, das schränkt ihre Möglichkeiten für den
+ Export von Dateisystemen ein, wenn Sie keine
+ häßlichen Krücken einbauen wollen.
+ Für die meisten Benutzer ist dies allerdings kein
+ Problem.
+
+ Es folgt ein Beispiel einer legalen Export-Datei;
+ dabei sind /usr und
+ /exports lokale Dateisysteme:
+
+
+# Export src and ports to client01 and client02, but only
+# client01 has root privileges on it
+/usr/src /usr/ports -maproot=0 client01
+/usr/src /usr/ports client02
+# The "client" machines have root and can mount anywhere
+# up /exports. The world can mount /exports/obj read-only
+/exports -alldirs -maproot=0 client01 client02
+/exports/obj -ro
+
+
+
+
+
+
+ Ich habe Probleme, per PPP mit NeXTStep-Maschinen zu
+ kommunizieren.
+
+
+
+ Versuchen Sie, die TCP-Erweiterung in
+ /etc/rc.conf zu deaktivieren, indem
+ Sie die folgende Variable auf NO setzen:
+
+
+tcp_extensions=NO
+
+
+ Xylogic's Annex-Maschinen arbeiten hier auch
+ fehlerhaft und Sie müssen die obige Änderung
+ benutzen, um über Sie Verbindungen
+ herzustellen.
+
+
+
+
+
+ Wie aktiviere ich die Unterstützung für
+ IP-Multicast?
+
+
+
+ Multicast-Host-Funktionen werden seit FreeBSD 2.0
+ standardmäßig voll unterstützt. Wenn Sie
+ Ihre Maschine als Multicast-Router betreiben wollen,
+ müssen Sie Ihren Kernel mit der Option
+ MROUTING rekompilieren und
+ mrouted starten. Seit Version 2.2
+ startet FreeBSD mrouted beim Booten,
+ wenn die Variable mrouted_enable in der
+ Datei /etc/rc.conf auf
+ "YES" gesetzt ist.
+
+ MBONE-Tools sind in ihrer eigenen Ports-Kategorie
+ mbone verfügbar. Schauen Sie dort nach, wenn Sie die
+ Konferenztools vic und
+ vat suchen!
+
+ Weitere Informationen finden Sie im Mbone Information
+ Web.
+
+
+
+
+
+ Welche Netzwerkkarten basieren auf dem
+ DEC-PCI-Chipsatz?
+
+
+
+ Hier ist eine von Glen Foster
+ zusammengetragene Liste mit einigen aktuellen
+ Ergänzungen:
+
+
+Hersteller Modell
+----------------------------------------------
+ASUS PCI-L101-TB
+Accton ENI1203
+Cogent EM960PCI
+Compex ENET32-PCI
+D-Link DE-530
+Dayna DP1203, DP2100
+DEC DE435, DE450
+Danpex EN-9400P3
+JCIS Condor JC1260
+Linksys EtherPCI
+Mylex LNP101
+SMC EtherPower 10/100 (Modell 9332)
+SMC EtherPower (Modell 8432)
+TopWare TE-3500P
+Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
+ (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
+ ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
+
+
+
+
+
+
+ Warum muß ich für Hosts auf meiner Site den
+ FQDN benutzen?
+
+
+
+ Sie werden wahrscheinlich feststellen, daß der
+ Host sich tatsächlich in einer anderen Domäne
+ befindet; wenn Sie sich zum Beispiel in foo.bar.edu
+ befinden und einen Host namens mumble in
+ der Domäne bar.edu
+ erreichen wollen, werden Sie den fully-qualified
+ Domainnamen mumble.bar.edu,
+ anstatt nur mumble benutzen
+ müssen.
+
+ Traditionell war dies bei BSD-BIND-Resolvern erlaubt.
+ Die aktuelle Version von bind,
+ 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
+ mumble muß also entweder als
+ mumble.foo.bar.edu gefunden
+ werden, oder er wird in der Hauptdomäne
+ gesucht.
+
+ Dies unterscheidet sich vom vorherigen Verhalten, wo
+ die Suche über mumble.bar.edu und mumble.edu 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.
+
+ Als Abhilfe können Sie die Zeile
+
+
+search foo.bar.edu bar.edu
+
+
+ anstelle der vorherigen
+
+
+domain foo.bar.edu
+
+
+ in Ihre Datei /etc/resolv.conf
+ einfügen. Stellen Sie jedoch sicher, daß die
+ Suchreihenfolge nicht über die Grenze zwischen
+ lokaler und öffentlicher Administration, wie
+ RFC 1535 sie nennt, hinausreicht.
+
+
+
+
+
+ Permission denied bei allen
+ Netzwerkoperationen.
+
+
+
+ Dieses Problem kann auftreten, wenn Sie einen Kernel
+ mit der Option IPFIREWALL erstellt
+ haben. Während der Entwicklung von FreeBSD 2.1.7
+ wurde die Semantik dieser Option geändert: Seit
+ dieser Version ist alles verboten, was nicht explizit
+ erlaubt ist.
+
+ Falls sie Ihr System unbeabsichtigt als Firewall
+ fehlkonfiguriert haben, können Sie die
+ Netzwerkfunktionalität wiederherstellen, indem Sie
+ als root folgendes eingeben:
+
+
+&prompt.root; ipfw add 65534 allow all from any to any
+
+
+ Sie können in /etc/rc.conf
+ auch firewall_type="open"
+ setzen.
+
+ Weitere Informationen über die Konfiguration
+ einer FreeBSD-Firewall finden Sie im Handbuch-Abschnitt.
+
+
+
+
+
+ Wieviele Einbußen zieht IPFW nach sich?
+
+
+
+ Die Antwort auf diese Frage hängt
+ hauptsächlich von Ihrem Rule-Set und der
+ Prozessorgeschwindigkeit ab. Für die meisten
+ Anwendungen, die mit Ethernetzen und kleinen Rule-Sets
+ arbeiten, ist die Antwort: unbedeutend. Diejenigen, die
+ tatsächliche Messungen zur Befriedigung ihrer
+ Neugierde brauchen, sollten weiterlesen.
+
+ Die folgenden Messungen wurden mit 2.2.5-STABLE auf
+ einem 486-66 durchgeführt. IPFW wurde modifiziert,
+ um die Zeit zu messen, die in der Routine
+ ip_fw_chk verbracht wurde. Das
+ Ergebnis wurde nach jeweils 1000 Paketen auf der Konsole
+ ausgegeben.
+
+ Getestet wurden zwei Regelsätze mit jeweils 1000
+ Regeln. Der erste Satz wurde zur Demonstration eines
+ Szenarios im schlimmsten Fall zusammengestellt, indem die
+ folgende Regel wiederholt wurde:
+
+
+&prompt.root; ipfw add deny tcp from any to any 55555
+
+
+ Dies demonstriert den schlimmsten Fall, indem
+ dafür gesorgt wird, daß die meisten von IPFW's
+ Paketüberprüfungsroutinen ausgeführt
+ werden, bevor letztlich entschieden wird, daß die
+ Regel für das Paket nicht zutrifft (wegen der
+ virtuellen Portnummer). Auf die 999. Iteration dieser
+ Regel folgte ein allow ip from any to
+ any.
+
+ Der zweite Regelsatz wurde so zusammengestellt,
+ daß die Überprüfung der Regeln schnell
+ abbricht:
+
+
+&prompt.root; ipfw add deny ip from 1.2.3.4 to 1.2.3.4
+
+
+ Die nichtzutreffende IP-Adresse für die obige
+ Regel sorgt dafür, daß diese Regeln sehr
+ schnell übersprungen werden. Wie zuvor war die 1000.
+ Regel ein allow ip from any to
+ any.
+
+ Der Verarbeitungsmehraufwand pro Paket im ersten Fall
+ war ungefähr 2,703 ms/Paket, oder grob 2,7
+ Mikrosekunden pro Regel. Das theoretische Limit für
+ die Verarbeitung von Paketen liegt also etwa bei 370
+ Paketen pro Sekunde. Bei einem 10Mbps Ethernet und einer
+ Paketgröße von ~1500 Byte könnte man nur
+ eine 55,5% ige Ausnutzung der Bandbreite
+ erreichen.
+
+ Im letzteren Fall wurde jedes Paket in ungefähr
+ 1,172 ms verarbeitet, oder grob 1,2 Mikrosekunden pro
+ Regel. Das theoretische Limit für die Verarbeitung
+ von Paketen läge hier bei etwa 853 Paketen pro
+ Sekunde, was ein 10Mbps Ethernet auslasten
+ könnte.
+
+ Die übermäßige Anzahl der getesteten
+ Regeln und die Beschaffenheit dieser Regeln liefern kein
+ realistisches Szenario -- sie wurden lediglich benutzt, um
+ die hier vorgestellten Meßergebnisse zu generieren.
+ Hier sind einige Dinge, die bei der Erstellung eines
+ effizienten Regelsatzes beachtet werden sollten:
+
+
+
+ Setzen Sie frühzeitig eine
+ established-Regel, um den
+ Großteil des TCP-Verkehrs abzufangen. Setzen
+ Sie keine allow tcp-Anweisungen vor
+ diese Regel.
+
+
+
+ Plazieren Sie häufig angestoßene Regeln
+ im Regelsatz vor solche, die weniger häufig
+ benutzt werden (natürlich, ohne die
+ Toleranz der Firewall zu verändern).
+ Sie können herausfinden, welche Regeln am
+ häufigsten benutzt werden, indem Sie die
+ Paketstatistik mit ipfw -a l
+ untersuchen.
+
+
+
+
+
+
+
+ Wie kann ich Service-Requests von einer Maschine auf
+ eine andere umleiten?
+
+
+
+ Sie können FTP-Requests (und andere Dienste) mit
+ dem Package socket umleiten, das im
+ Ports-Tree in der Kategorie sysutils
+ verfügbar ist. Ersetzen sie die Befehlszeile
+ für den Dienst einfach so, daß stattdessen
+ socket aufgerufen wird, zum Beispiel so:
+
+
+ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.comftp
+
+
+ wobei ftp.foo.com und
+ ftp entsprechend der Host und
+ der Port sind, wohin umgeleitet werden soll.
+
+
+
+
+
+ Woher kann ich ein Bandbreiten-Managementtool
+ bekommen?
+
+
+
+ Für FreeBSD gibt es zwei
+ Bandbreiten-Managementtools. ALTQ
+ gibt es umsonst; Bandwidth Manager von Emerging Technologies
+ ist ein kommerzielles Produkt.
+
+
+
+
+
+ Warum erhalte ich /dev/bpf0: device not
+ configured?
+
+
+
+ Der Berkeley-Paket-Filter bpf
+ muß in den Kernel eingebunden werden, bevor er von
+ einem Programme aus genutzt werden kann. Fügen Sie
+ folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
+ erstellen Sie einen neuen Kernel:
+
+
+pseudo-device bpfilter # Berkeley Packet Filter
+
+
+ Zweitens müssen Sie nach dem Rebooten den Device
+ Node erstellen. Führen Sie dazu die folgenden
+ Befehle aus:
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV bpf0
+
+
+ Weitere Informationen zur Erstellung von Geräten
+ finden Sie im Handbucheintrag
+ über Device Nodes.
+
+
+
+
+
+ Habe ich, analog zum smbmount von Linux, eine
+ Möglichkeit, auf ein freigegebenes Laufwerk einer
+ Windows-Maschine in meinem Netzwerk zuzugreifen.
+
+
+
+ Benutzen Sie das Package sharity
+ light aus der Ports-Sammlung.
+
+
+
+
+
+
+ Was bedeutet die Meldung icmp-response
+ bandwidth limit 300/200 pps in meinen
+ Logfiles?
+
+
+
+ Mit dieser Meldung teilt Ihnen der Kernel mit,
+ daß irgend jemand versucht, ihn zur Generierung von
+ zu vielen ICMP oder TCP reset (TST) Antworten zu
+ provozieren. ICMP Antworten sind oft das Ergebnis von
+ Verbindungsversuchen zu unbenutzen UDP ports. TCP resets
+ werden generiert, wenn jemand versucht, eine Verbindung zu
+ einem ungenutzten TCP Port aufzubauen. Die Meldungen
+ können unter anderem durch die folgenden Ereignisse
+ ausgelöst werden:
+
+
+
+ Denial of Service (DoS) Angriffe mit der
+ Brechstange (und nicht durch Angriffe mit einzelnen
+ Paketen, die gezielt eine Schwachstelle des Systems
+ ausnutzen sollen).
+
+
+
+ Port Scans, bei denen versucht wird, Verbindungen
+ zu einer großen Anzahl von Ports (und nicht nur
+ einigen bekannten Ports) herzustellen.
+
+
+
+ Die erste Zahl gibt an, wieviele Pakete vom Kernel
+ ohne das Limit versendet worden wären; die zweite
+ Zahl gibt das Limit an. Sie können das Limit mit
+ Hilfe der sysctl-Variable
+ net.inet.icmp.icmplim einstellen. Im
+ Beispiel wird das Limit auf 300 Packete
+ pro Sekunde gesetzt:
+
+
+&prompt.root; sysctl -w net.inet.icmp.icmplim=300
+
+
+ Wenn Sie zwar die Begrenzung nutzen möchten, aber
+ die Meldungen nicht in Ihren Logfiles sehen möchten,
+ können Sie die Meldungen mit der sysctl-Variable
+ net.inet.icmp.icmplim_output
+ abschalten:
+
+
+&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0
+
+
+ Falls Sie die Begrenzung ganz abschalten wollen,
+ können Sie die Sysctl-Variable
+ net.inet.icmp.icmplim auf
+ 0. Wir raten Ihnen aus den oben
+ genannten Gründen dringend von diesem Schritt
+ ab.
+
+
+
+
+
+
+ PPP
+
+
+
+
+ Ich bekomme ppp nicht zum Laufen. Was mache ich
+ falsch?
+
+
+
+ Sie sollten zuerst &man.ppp.8; (die Manualpage zu ppp)
+ und den Abschnitt zu
+ ppp im Handbuch lesen. Aktivieren Sie das Logging
+ mit folgendem Befehl:
+
+
+set log Phase Chat Connect Carrier lcp ipcp ccp command
+
+
+ Dieser Befehl kann an der Eingabeaufforderung von
+ ppp eingegeben oder in die
+ Konfigurationsdatei /etc/ppp/ppp.conf
+ eingetragen werden (der beste Ort hierfür ist der
+ Anfang des Abschnitts default. Stellen
+ Sie sicher, daß die Datei
+ /etc/syslog.conf die folgenden Zeilen
+ enthält:
+
+
+!ppp
+*.* /var/log/ppp.log
+
+
+ und, daß die Datei
+ /var/log/ppp.log 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.
+
+ Falls Ihre ppp-Version den set log
+ Befehl nicht versteht, sollten Sie sich die neueste
+ Version herunterladen. Sie kann auf
+ Freebsd-Version 2.1.5 und höher erstellt
+ werden.
+
+
+
+
+
+ ppp hängt, wenn ich es benutze.
+
+
+
+ Das liegt meistens daran, daß Ihr Rechnername
+ nicht aufgelöst werden kann. Um dieses Problem zu
+ lösen, muß in der Datei
+ /etc/hosts der Eintrag
+ hosts an die erste Stelle gesetzt
+ werden. Damit wird der Resolver angewiesen, für die
+ Namensauflösung zunächst einmal diese Datei zu
+ verwenden. Erstellen Sie dann einfach für Ihren
+ lokalen Rechner einen Eintrag in der Datei
+ /etc/hosts. Falls Sie kein lokales
+ Netzwerk besitzen, ändern Sie die
+ localhost-Zeile:
+
+
+127.0.0.1 foo.bar.com foo localhost
+
+
+ Andernfalls fügen Sie einfach einen weiteren
+ Eintrag für Ihren lokalen Recher hinzu. Weitere
+ Details finden Sie in den betreffenden
+ Manualpages.
+
+ Wenn Sie fertig sind sollten Sie ping -c1
+ `hostname` erfolgreich ausführen
+ können.
+
+
+
+
+
+ ppp wählt im -auto-Modus nicht.
+
+
+
+ Überprüfen Sie zunächst, ob Sie eine
+ Standard-Gateway eingestellt haben. Wenn Sie
+ netstat -rn ausführen, sollten Sie
+ zwei Einträge ähnlich den folgenden
+ sehen:
+
+
+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
+
+
+ Hier wird angenommen, daß Sie die Adressen aus
+ dem Handbuch, der Manualpage oder aus der Datei
+ ppp.conf.sample benutzt haben. Falls Sie keine
+ Standardroute haben, kann es daran liegen, daß Sie
+ eine alte Version von ppp benutzen, die
+ das Wort HISADDR in der Datei ppp.conf
+ nicht versteht. Falls Ihre
+ ppp-Version älter als
+ 2.2.5 ist, ändern Sie die Zeile
+
+
+add 0 0 HISADDR
+
+
+ in
+
+
+add 0 0 10.0.0.2
+
+
+ Ein weiterer Grund dafür, daß die Zeile
+ für die Standardroute fehlt, könnte der sein,
+ daß Sie fälschlicherweise eine Standardroute in
+ der Datei /etc/rc.conf (diese Datei
+ hieß vor Version 2.2.2
+ /etc/sysconfig) eingetragen und die
+ folgende Zeile in ppp.conf
+ ausgelassen haben:
+
+
+delete ALL
+
+
+ Lesen Sie in diesem Fall den Abschnitt Abschließende
+ Systemkonfiguration des Handbuchs.
+
+
+
+
+
+ Was bedeutet No route to host?
+
+
+
+ Dieser Fehler beruht für gewöhnlich auf
+ einem fehlenden Abschnitt
+
+
+MYADDR:
+ delete ALL
+ add 0 0 HISADDR
+
+
+ in Ihrer Datei
+ /etc/ppp/ppp.linkup. 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 packet
+ mode gelangt sind (den Paket Modus erkennen Sie
+ an PPP im Prompt):
+
+
+delete ALL
+add 0 0 HISADDR
+
+
+ Weitere Details finden Sie im Abschnitt PPP
+ und Dynamische IP-Adressen des Handbuchs.
+
+
+
+
+
+ Meine Verbindung wird nach drei Minuten
+ beendet
+
+
+
+ Der Standardtimeout für ppp beträgt drei
+ Minuten. Er kann durch die Zeile
+
+
+set timeout NNN
+
+
+ eingestellt werden, wobei
+ NNN die Inaktivität in
+ Sekunden, bevor die Verbindung geschlossen wird, angibt.
+ Falls NNN Null ist, wird die
+ Verbindung niemals aufgrund eines Timeouts geschlossen.
+ Es ist möglich, diesen Befehl in die Datei
+ ppp.conf einzubinden, oder ihn an der
+ Eingabeaufforderung im interaktiven Modus einzugeben.
+ Durch eine Verbindung zum Server-Socket von
+ ppp über
+ telnet oder pppctl
+ ist es auch möglich, den Timeout bei aktiver
+ Verbindung anzupassen. Weitere Details finden Sie in der
+ Manualpage &man.ppp.8;.
+
+
+
+
+
+ Meine Verbindung bricht bei hoher Auslastung
+ ab
+
+
+
+ Falls Sie Link-Quality-Reporting (LQR) konfiguriert
+ haben, ist es möglich, daß zu viele LQR-Pakete
+ zwischen Ihrer Maschine und dem verbundenen Rechner
+ verloren gehen. ppp folgert daraus, daß die
+ Verbindung nicht in Ordnung ist und schließt sie.
+ Vor FreeBSD Version 2.2.5 war LQR standardmäßig
+ aktiviert; nun ist es standardmäßig
+ deaktiviert. Es kann durch folgende Zeile deaktiviert
+ werden:
+
+
+disable lqr
+
+
+
+
+
+
+ Meine Verbindung bricht nach unbestimmter Zeit
+ ab
+
+
+
+ Wenn die Qualität Ihrer Telefonleitung zu
+ schlecht oder bei Ihrem Anschluß die Option
+ (Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
+ ist, kann es manchmal vorkommen, daß Ihr Modem
+ auflegt, weil es (fälschlicherweise) annimmt,
+ daß es das Trägersignal verloren hat.
+
+ 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:
+
+
+set dial "...... ATS10=10 OK ......"
+
+
+ Weitere Information sollten Sie dem Handbuch Ihres
+ Modems entnehmen können.
+
+
+
+
+
+ Meine Verbindung hängt nach einer unbestimmten
+ Zeit
+
+
+
+ Viele Leute machen Erfahrungen mit hängenden
+ Verbindungen ohne erkennbaren Grund. Als erstes muß
+ festgestellt werden, welche Seite der Verbindung
+ hängt.
+
+ Wenn Sie ein externes Modem benutzen, können Sie
+ einfach versuchen, ping zu benutzen, um
+ zu sehen, ob die TD-Anzeige
+ aufleuchtet, wenn Sie Daten übertragen. Falls sie
+ aufleuchtet (und die RD-Anzeige nicht),
+ liegt das Problem am anderen Ende. Falls
+ TD nicht aufleuchtet, handelt es sich
+ um ein lokales Problem. Bei einem internen Modem
+ müssen Sie den Befehl set server
+ in Ihrer Datei ppp.conf benutzen.
+ Stellen Sie über pppctl eine Verbindung zu ppp her,
+ wenn die Verbindung hängt. Falls Ihre
+ Netzwerkverbindung plötzlich wieder funktioniert (ppp
+ wurde durch die Aktivität auf dem Diagnose-Socket
+ wiederbelebt) oder Sie keine Verbindung bekommen
+ (vorausgesetzt, der Befehl set socket
+ 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
+ set log local async und benutzen Sie
+ ping 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.
+
+ Wenn Sie festgestellt haben, ob es sich um ein lokales
+ oder um ein externes Problem handelt, haben Sie zwei
+ Möglichkeiten:
+
+
+
+
+
+ Das externe Ende antwortet nicht
+
+
+
+ Hier können Sie wenig tun. Die meisten ISPs
+ werden ablehnen, Ihnen zu helfen, wenn Sie kein
+ Betriebssystem von Microsoft benutzen. Sie können
+ enable lqr in Ihrer Datei
+ ppp.conf angeben, wodurch ppp
+ ermöglicht wird, ein externes Versagen zu erkennen
+ und aufzulegen, aber diese Erkennung ist relativ langsam
+ und deshalb nicht besonders nützlich. Evtl. sagen
+ Sie Ihrem ISP nicht, daß Sie ein eigenes ppp
+ benutzen...
+
+ Versuchen Sie zunächst, jegliche Datenkompression
+ auszuschalten, indem Sie folgendes zu Ihrer Konfiguration
+ hinzufügen:
+
+
+disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
+deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
+
+
+ Stellen Sie nun wieder eine Verbindung her, um
+ festzustellen, ob sich etwas geändert hat. Falls es
+ nun besser läuft oder falls das Problem
+ vollständig behoben ist, versuchen Sie durch
+ schrittweises Ändern der Einstellungen festzustellen,
+ welche Einstellung den Unterschied bewirkt. Hierdurch
+ erhalten Sie schlüssige Fakten fuer ein Gespräch
+ mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
+ daß Sie kein Microsoft-Produkt benutzen).
+
+ 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 (Memory fault, core
+ dumped).
+
+ 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.
+
+
+
+
+
+ ppp hängt sich auf
+
+
+
+ In diesem Fall erstellen Sie am besten ppp neu, indem
+ Sie CFLAGS+=-g und
+ STRIP= am Ende des Makefiles
+ einfügen und dann make clean && make
+ && make install ausführen. Suchen
+ Sie die Prozeßnummer von ppp mit ps ajxww |
+ fgrep ppp, wenn ppp sich aufhängt und
+ führen Sie gdb ppp
+ PID aus. Am
+ gdb-Prompt können Sie bt benutzen,
+ um einen Auszug von Stack zu erhalten.
+
+ Senden Sie die Ergebnisse an
+ brian@Awfulhak.org.
+
+
+
+
+
+ Nach der Nachricht Login OK! geschieht nichts.
+
+
+
+ Bei Freebsd-Versionen vor 2.2.5 wartete
+ ppp darauf, daß der
+ Partner das Line Control Protocol (LCP) initiiert. Viele
+ ISPs starten nicht mit der Initiierung, sondern erwarten
+ dies vom Client. Benutzen Sie die folgende Zeile, um
+ ppp zu veranlassen, LCP zu
+ initiieren:
+
+
+set openmode active
+
+
+
+
+ Für gewöhnlich schadet es nicht, wenn
+ beide Seiten versuchen, Verhandlungen einzuleiten.
+ Deshalb ist openmode nun standardmäßig
+ aktiv. Im nächsten Abschnitt wird allerdings
+ erklärt, in welchen Fällen es dennoch
+ schadet.
+
+
+
+
+
+
+
+ Ich sehe ständig Fehlermeldungen über
+ gleiche "Magic Numbers".
+
+
+
+ Nach dem Aufbau einer Verbindung kann es sein,
+ daß Sie in der Logdatei gelegentlich Meldungen mit
+ dem Hinweis magic is the same sehen.
+ Manchmal sind diese Meldungen harmlos und manchmal bricht
+ die eine oder andere Seite die Verbindung ab. Die meisten
+ Implementationen von ppp können dieses Problem nicht
+ handhaben und Sie werden wiederholte
+ Konfigurationsanforderungen und -bestätigungen in der
+ Logdatei finden, bis ppp schließlich aufgibt und die
+ Verbindung beendet.
+
+ Dies geschieht normalerweise auf Servern mit langsamen
+ Festplatten, bei denen ein getty auf dem Port
+ ausgeführt und ppp nach dem Einloggen von einem
+ Login-Skript oder einem Programm aus gestartet wird. Ich
+ habe auch davon gehört, daß dies bei der
+ Benutzung von slirp regelmäßig auftritt. Der
+ Grund hierfür ist, daß das ppp auf der
+ Client-Seite in der Zeit, die benötigt wird, getty zu
+ beenden und ppp zu starten, bereits beginnt, Line Control
+ Protocol (LCP) Pakete zu senden. Da ECHO auf dem
+ Serverport weiterhin eingeschaltet ist, werden diese
+ Pakete zum ppp auf der Client-Seite
+ reflektiert.
+
+ Ein Teil der LCP-Verhandlungen ist die Einrichtung
+ einer "magic Number" für jede Seite der Verbindung,
+ damit Echos erkannt werden können.
+ Das Protokoll besagt, daß, wenn der Partner
+ versucht, die gleiche "Magic Number" auszuhandeln, ein NAK
+ zurückgesendet und eine neue "Magic Number"
+ gewählt werden soll. Während der Server das
+ ECHO eingeschaltet hat, sendet der Client LCP Pakete,
+ sieht die gleiche "Magic Number" im reflektierten Paket
+ und erzeugt ein NAK. Er sieht auch das reflektierte NAK
+ (was bedeutet, daß ppp seine "Magic Number"
+ ändern muß). Hierdurch wird eine Vielzahl von
+ Änderungen der "Magic Number" hervorgerufen, die sich
+ allesamt im tty-Puffer des Servers ansammeln. Sobald ppp
+ auf dem Server startet, wird es mit Änderungen der
+ "Magic Number" überflutet und entscheidet, daß
+ es sich zur Genüge mit den LCP-Verhandlungen
+ beschäftigt hat und gibt auf. Und während sich
+ der Client noch darüber freut, daß er keine
+ weiteren Reflexionen sieht, wird ihm gemeldet, daß
+ der Server auflegt.
+
+ Dies kann verhindert werden, indem dem Parter durch
+ die folgende Zeile in der Datei
+ ppp.conf erlaubt wird, mit der
+ Verhandlung zu beginnen:
+
+
+set openmode passive
+
+
+ Hierdurch wird ppp mitgeteilt, darauf zu warten,
+ daß der Server mit den LCP-Verhandlungen beginnt.
+ Einige Server starten jedoch nie mit der Verhandlungen;
+ falls dies der Fall ist, können Sie folgendes
+ tun:
+
+
+set openmode active 3
+
+
+ Hierdurch bleibt ppp für drei Sekunden passiv und
+ fängt dann erst an, LCP-Anforderungen zu senden.
+ Falls der Partner während dieser Zeit beginnt,
+ Anforderungen zu senden, wird ppp direkt antworten und
+ nicht erst, nachdem die drei Sekunden abgelaufen
+ sind.
+
+
+
+
+
+ Die LCP-Verhandlungen dauern an, bis die Verbindung
+ geschlossen wird.
+
+
+
+ Es gibt eine Fehlfunktion in der Implementierung von
+ ppp, die darin besteht,
+ daß LCP-, CCP- & IPCP-Antworten nicht mit den
+ ursprünglichen Anforderungen assoziiert werden.
+ Für den Fall, daß eine Implementation von
+ ppp mehr als sechs Sekunden
+ langsamer ist, als die andere Seite, resultiert das darin,
+ daß die andere Seite zwei weitere
+ LCP-Konfigurationsanforderungen sendet, was fatale
+ Auswirkungen hat.
+
+ Stellen Sie sich vor, wir hätten es mit zwei
+ Implementierungen A und
+ B zu tun. A beginnt
+ unmittelbar nach der Verbindung, LCP-Anforderungen zu
+ senden und B benötigt sieben
+ Sekunden, zu starten. Wenn B startet,
+ hat A bereits drei LCP-Anforderungen
+ gesendet. Wir nehmen an, daß ECHO ausgeschaltet
+ ist; andernfalls würden wir Probleme mit der "Magic
+ Number" beobachten, wie bereits im vorherigen Abschnitt
+ beschrieben. B sendet eine Anforderung
+ und anschließend eine Bestätigung der ersten
+ Anforderung von A. Dies führt dazu,
+ daß A in den Zustand
+ OPENED übergeht und eine
+ Bestätigung (die erste) zurück an
+ B sendet. In der Zwischenzeit sendet
+ B zwei weitere Bestätigungen als
+ Antwort auf die zusätzlichen Anforderungen, die von
+ A gesendet worden sind, bevor
+ B gestartet ist. B
+ empfängt dann die erste Bestätigung von
+ A und geht in den Zustand
+ OPENED über. A
+ empfängt die zweite Bestätigung von
+ B, geht zurück in den Zustand
+ Anforderung Gesendet und sendet eine
+ weitere (vierte) Anforderung entsprechend dem RFC.
+ A empfängt dann die dritte
+ Bestätigung und geht in den Zustand
+ OPENED über. In der Zwischenzeit
+ empfängt B die vierte Anforderung
+ von A, wechselt in den Zustand
+ ACK-SENT und sendet eine weitere
+ (zweite) Anforderung und (vierte) Bestätigung
+ entsprechend dem RFC. A erhält die
+ Anforderung, geht in den Zustand
+ REQ-SENT über, sendet eine weitere
+ Anforderung, erhält unverzüglich die
+ nächste Bestätigung und geht in
+ OPENED über.
+
+ Das geht so weiter, bis eine Seite erkennt, daß
+ man zu keinem Ergebnis gelangt und aufgibt.
+
+ Am besten verhindert man solche Situationen, indem man
+ eine Seite als passiv konfiguriert,
+ d.h. dafür sorgt, daß eine Seite darauf wartet,
+ daß die andere mit den Verhandlungen beginnt. Das
+ kann durch den Befehl
+
+
+set openmode passive
+
+
+ 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 ppp zu
+ begrenzen:
+
+
+set stopped N
+
+
+ Alternativ kann der Befehl
+
+
+set openmode active N
+
+
+ (wobei N die Wartezeit in
+ Sekunden vor Beginn der Verhandlungen angibt) benutzt
+ werden. Weitere Details finden Sie in den
+ Manualpages
+
+
+
+
+
+ ppp schließt kurz nach Aufbau der
+ Verbindung.
+
+
+
+ Bei FreeBSD-Versionen vor 2.2.5 konnte es passieren,
+ daß Ihre Verbindung kurz nach dem Aufbau deaktiviert
+ wurde, weil ppp die
+ Verhandlungen der Kompression Predictor1 falsch handhabte.
+ Das passiert nur dann, wenn beide Seiten versuchen, ein
+ unterschiedliches Kompressionsprotokoll (Compression
+ Control Protocol (CCP)) auszuhandeln. Dieses Problem ist
+ bereits behoben, falls Sie aber noch eine alte Version von
+ ppp verwenden, können Sie
+ es mit Hilfe der folgenden Zeile umgehen:
+
+
+disable pred1
+
+
+
+
+
+
+ ppp reagiert nicht, wenn ich shell benutze, um es zu
+ testen.
+
+
+
+ Wenn Sie den Befehl shell oder
+ ! benutzen, führt
+ ppp eine Shell aus (falls Sie Argumente
+ übergeben haben, führt ppp
+ diese Argumente aus). ppp wartet auf die Beendigung des
+ Befehls, bevor es seine Arbeit fortsetzt. Falls Sie
+ versuchen, die ppp-Verbindung während der
+ Programmausführung zu benutzen, wird es so aussehen,
+ als wäre die Verbindung eingefroren. Das liegt
+ daran, daß ppp auf die Beendigung
+ des Befehls wartet.
+
+ Falls Sie solche Befehle verwenden möchten,
+ benutzen Sie stattdessen den Befehl
+ !bg. Hierdurch wird der angegebene
+ Befehl im Hintergrund ausgeführt und ppp kann
+ fortfahren, die Verbindung zu bedienen.
+
+
+
+
+
+ ppp über ein Null-Modem-Kabel wird niemals
+ beendet.
+
+
+
+ Es gibt keine Möglichkeit für
+ ppp, automatisch festzustellen,
+ ob eine direkte Verbindung beendet worden ist. Das liegt
+ an den Leitungen, die bei einem seriellen Null-Modem-Kabel
+ benutzt werden. Wenn Sie diese Art der Verbindung
+ verwenden, sollte LQR immer aktiviert werden:
+
+
+enable lqr
+
+
+ LQR wird standardmäßig akzeptiert, wenn es
+ vom Partner ausgehandelt wird.
+
+
+
+
+
+ Warum wählt ppp im Modus -auto ohne
+ Grund?
+
+
+
+ Falls ppp unerwarteterweise
+ wählt, müssen Sie den Grund herausfinden und
+ Wählfilter (dfilters) einsetzen, um dies zu
+ verhindern.
+
+ Benutzen Sie die folgende Zeile, um den Grund
+ herauszufinden:
+
+
+set log +tcp/ip
+
+
+ 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.
+
+ Sie können nun das Wählen aufgrund dieser
+ Bedingungen verhindern. Normalerweise wird diese Art von
+ Problemen durch Anfragen an den DNS verursacht. Um zu
+ verhindern, daß DNS-Anfragen den Aufbau der
+ Verbindung hervorrufen (das verhindert
+ nicht, daß Pakete über
+ eine bestehende Verbindung gesendet werden), benutzen Sie
+ die folgenden Zeilen:
+
+
+set dfilter 1 deny udp src eq 53
+set dfilter 2 deny udp dst eq 53
+set dfilter 3 permit 0/0 0/0
+
+
+ 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.
+
+ Im Fall von DNS sollten Sie versuchen, herauszufinden,
+ welches Programm tatsächlich versucht, einen
+ Hostnamen aufzulösen. Sehr oft handelt es sich hier
+ um sendmail. Sie sollten
+ sicherstellen, daß Sie sendmail in der
+ Konfigurationsdatei sagen, daß keine DNS-Anfragen
+ durchführen soll. Lesen Sie den Abschnitt zur Mail-Konfiguration, um Details
+ zur Erstellung Ihrer eigenen Konfigurationsdatei und
+ darüber, was dort angegeben werden sollte, zu
+ erfahren. Sie könnten z.B. die folgende Zeile in
+ Ihre .mc-Datei einfügen:
+
+
+define(`confDELIVERY_MODE', `d')dnl
+
+
+ Das veranlaßt sendmail dazu, alles in eine
+ Warteschlange einzureihen, bis die Warteschlange
+ verarbeitet wird (normalerweise wird sendmail mit
+ aufgerufen, was besagt,
+ daß die Warteschlange alle 30 Minuten abgearbeitet
+ wird) oder, bis ein sendmail -q
+ ausgeführt wird (z.B. aus Ihrer Datei ppp.linkup
+ heraus).
+
+
+
+
+
+ Was bedeuten diese CCP-Fehler?
+
+
+
+ Ich sehe ständig folgende Fehler in meiner
+ Logdatei:
+
+
+CCP: CcpSendConfigReq
+CCP: Received Terminate Ack (1) state = Req-Sent (6)
+
+
+ Das liegt daran, daß ppp versucht, die
+ Komprimierung Predictor1 auszuhandeln und der Partner
+ über keinerlei Komprimierung verhandeln will. Die
+ Meldungen sind harmlos, aber wenn Sie sie beseitigen
+ möchten, können Sie die Komprimierung Predictor1
+ auch lokal ausschalten:
+
+
+disable pred1
+
+
+
+
+
+
+ ppp blockt während einer Dateiübertragung
+ mit IO-Fehlern.
+
+
+
+ Unter FreeBSD 2.2.2 und frühere gab es einen Bug
+ im Tun-Treiber, der ankommende Pakete die
+ größer als die MTU der Tun-Schnittstelle sind,
+ ablehnt. Der Empfang eines Paketes größer der
+ MTU resultiert in einem IO-Fehler, der über syslogd
+ geloggt wird.
+
+ Die ppp-Spezifikation besagt, daß eine MTU von
+ 1500 immer als Minimum akzeptiert
+ werden sollte, ungeachtet aller LCP-Verhandlungen. Es ist
+ deshalb möglich, daß Sie die MTU auf unter 1500
+ herabsetzen, Ihr ISP wird trotzdem Pakete der
+ Größe 1500 übertragen und Sie werden auf
+ diese Fehlfunktion stoßen, die Ihre Verbindung
+ lahmlegt.
+
+ Das Problem kann umgangen werden, indem unter FreeBSD
+ 2.2.2 und früher niemals eine MTU von weniger als
+ 1500 gesetzt wird.
+
+
+
+
+
+ Warum loggt ppp die Geschwindigkeit meiner Verbindung
+ nicht?
+
+
+
+ Um alle Zeilen Ihrer Modemkonversation
+ mitzuloggen, müssen Sie folgendes einstellen:
+
+
+set log +connect
+
+
+ Dies veranlaßt ppp
+ dazu, alles bis zur letzten angeforderten
+ expext-Zeile mitzuloggen.
+
+ Falls Sie die Geschwindigkeit Ihrer Verbindung
+ erfahren möchten und PAP oder CHAP (und deshalb nach
+ dem CONNECT im Wählskript nichts mehr zu
+ chatten haben - kein set
+ login-Skript), müssen Sie sicherstellen,
+ daß Sie ppp anweisen, die gesamte CONNECT-Zeile zu
+ erwarten, etwa so:
+
+
+set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
+
+
+ Hier bekommen wir unser CONNECT, senden nichts,
+ erwarten dann einen Line-Feed, der
+ ppp zwingt, die gesamte
+ CONNECT-Antwort zu lesen.
+
+
+
+
+
+ ppp ignoriert das Zeichen \ in
+ meinem Chat-Skript.
+
+
+
+ ppp analysiert jede Zeile in Ihrer
+ Konfigurationsdatei, damit es Zeichenketten wie z.B.
+ set phone "123 456 789" korrekt
+ interpretieren kann (und erkennen, daß es sich bei
+ der Nummer tatsächlich nur um
+ ein Argument handelt). Um das
+ Zeichen " anzugeben, müssen Sie
+ ihm einen Backslash (\)
+ voranstellen.
+
+ Wenn der Chat-Interpreter jedes Argument analysiert,
+ reinterpretiert er die Argumente, um irgendwelche
+ speziellen Escape-Sequenzen wie z.B. \P
+ oder \T (sehen Sie in die Manualpage)
+ zu finden. Das Ergebnis dieser Doppelanalyse ist,
+ daß Sie daran denken müssen, die richtige
+ Anzahl an Escape-Zeichen zu verwenden.
+
+ Falls Sie tatsächlich das Zeichen
+ \ z.B. zu Ihrem Modem senden
+ möchten, brauchen Sie etwas ähnliches,
+ wie:
+
+
+set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
+
+
+ woraus sich folgende Zeichen ergeben:
+
+
+ATZ
+OK
+AT\X
+OK
+
+
+ oder
+
+
+set phone 1234567
+set dial "\"\" ATZ OK ATDT\\T"
+
+
+ was folgende Zeichen ergibt:
+
+
+ATZ
+OK
+ATDT1234567
+
+
+
+
+
+
+ ppp erzeugt einen Segmentation Fault, aber ich finde
+ die Datei ppp.core nicht.
+
+
+
+ Weder ppp noch andere Programme sollten Core-Dumps
+ erzeugen. Da ppp mit der effektiven Benutzerkennung 0
+ ausgeführt wird, wird das Betriebssystem ppp's
+ Coreimage nicht auf die Festplatte schreiben, bevor es ppp
+ beendet hat. Falls ppp jedoch tatsächlich aufgrund
+ einer Speicherverletzung abbricht und
+ Sie die aktuellste Version (siehe Anfang dieses Kapitels)
+ benutzen, dann sollten Sie folgendes tun:
+
+
+&prompt.user; tar xfz ppp-*.src.tar.gz
+&prompt.user; cd ppp*/ppp
+&prompt.user; echo STRIP= >>Makefile
+&prompt.user; echo CFLAGS+=-g >>Makefile
+&prompt.user; make clean all
+&prompt.user; su
+&prompt.root; make install
+&prompt.root; chmod 555 /usr/sbin/ppp
+
+
+ Nun ist die installierte Version von ppp mit einem
+ Debugger ausführbar. Sie können ppp nun nur
+ noch als root ausführen, da alle
+ vorherigen Zugriffsrechte aufgehoben worden sind. Achten
+ Sie darauf, in welchem Verzeichnis Sie sich gerade
+ befinden, wenn Sie ppp starten.
+
+ Wenn nun wieder eine Speicherverletzung auftreten
+ sollte, wird ppp einen Speicherauszug erzeugen, den Sie in
+ der Datei ppp.core finden. Sie
+ sollten dann folgendes tun:
+
+
+&prompt.user; su
+&prompt.root; gdb /usr/sbin/ppp ppp.core
+(gdb)bt
+.....
+(gdb)f 0
+....
+(gdb)i args
+....
+(gdb)l
+.....
+
+
+ Mit Hilfe all dieser Informationen sollte es
+ möglich sein, das Problem zu diagnostizieren.
+
+ 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.
+
+
+
+
+
+ Ein Prozeß, der einen automatischen
+ Einwählmodus erzwingt, bekommt keine
+ Verbindung
+
+
+
+ Dies war ein bekanntes Problem bei
+ ppp-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
+ iface.
+
+ Das Problem bestand darin, daß, wenn das erste
+ Programm &man.connect.2; aufruft, die IP-Adresse der
+ tun-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
+ Kernel erstellt das erste ausgehende Paket und schreibt es
+ in das tun-Gerät. ppp
+ liest dann das Paket und baut eine Verbindung auf. Falls
+ die Schnittstellenadresse sich nun aufgrund
+ ppp's dynamischer
+ Adreßzuordnung ändert, wird der originale
+ Socketendpunkt ungültig. Alle weiteren Pakete, die
+ zum Partner gesendet werden, werden für
+ gewöhnlich verworfen. Selbst wenn sie nicht
+ verworfen werden würden, würden alle Antworten
+ nicht an den betreffenden Rechner gelangen, weil die
+ IP-Adresse nicht mehr zu diesem Rechner
+ gehört.
+
+ Theoretisch gibt es mehrere Möglichkeiten, dieses
+ Problem anzugehen. Am schönsten wäre es, wenn
+ der Partner die gleiche IP-Adresse wieder zuordnen
+ würde, wenn möglich :-) Die
+ derzeitige Version von ppp tut
+ das, aber die meisten anderen Implementierungen
+ nicht.
+
+ Die einfachste Maßnahme von unserer Seite
+ wäre die, niemals die IP-Adresse der
+ tun-Schnittstelle zu ändern, sondern stattdessen alle
+ ausgehenden Pakete so zu ändern, daß als
+ Absender-IP-Adresse anstelle der IP-Adresse der
+ Schnittstelle die ausgehandelte IP-Adresse gesetzt wird.
+ Das ist im wesentlichen das, was durch die Option
+ iface-alias in der aktuellsten Version
+ von ppp bewirkt wird (mit
+ Unterstützung von &man.libalias.3; und ppp's
+ Schalter) - alle
+ Schnittstellenadressen werden beibehalten und auf die
+ letzte ausgehandelte Adresse umgesetzt.
+
+ 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.
+ ppp 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.
+
+ Noch eine andere Möglichkeit wäre die, das
+ Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben.
+ Ausgehende Paketen würde die IP-Adressee
+ 255.255.255.255 gegeben, bis der erste ioctl() mit
+ SIOCAIFADDR erfolgt. Dies würde in der
+ vollständigen Verbindung des Sockets resultieren. Es
+ wäre die Aufgabe von ppp,
+ die Absender-IP-Adresse zu ändern, allerdings nur
+ dann, wenn sie 255.255.255.255 lautet und nur die
+ IP-Adresse und IP-Prüfsumme müßten
+ geändert werden. Dies wäre allerdings keine
+ besonders elegante Lösung, da der Kernel fehlerhafte
+ Pakete an eine unzureichend konfigurierte Schnittstelle
+ senden würde, in der Annahme, daß andere
+ Mechanismen in der Lage sind, diese Dinge rückwirkend
+ zu beheben.
+
+
+
+
+
+ Warum laufen die meisten Spiele mit dem -nat Schalter
+ nicht?
+
+
+
+ Der Grund dafür, daß Spiele und andere
+ Programme nicht funktionieren, wenn libalias benutzt wird,
+ ist der, daß der Rechner außerhalb des lokalen
+ Netzes versucht, eine Verbindung aufzubauen und
+ (unaufgefordert) UDP-Pakete an den Rechner innerhalb des
+ lokalen Netzes zu senden. Die Software, die für die
+ NAT zuständig ist, weiß nicht, daß sie
+ diese Pakete an den internen Rechner weiterleiten
+ soll.
+
+ Um dies zu beheben, stellen Sie zunächst sicher,
+ daß die Software, mit der Sie Probleme haben, die
+ einzige ist, die gerade läuft. Benutzen Sie dann
+ entweder tcpdump auf der tun-Schnittstelle des Gateways
+ oder aktivieren Sie auf dem Gateway das Logging von TCP/IP
+ (set log +tcp/ip) unter ppp.
+
+ 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 /etc/ppp/ppp.conf
+ dafür sorgen, daß das Programm
+ funktioniert:
+
+
+nat port protointernalmachine:portport
+
+
+ wobei für proto
+ entweder tcp oder
+ udp zu setzen ist,
+ internalmachine den Rechner
+ bezeichnet, an den die Pakete geschickt werden sollen und
+ port die betreffende
+ Portnummer.
+
+ 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.
+
+ Falls die Portnummern nicht konsistent sind, gibt es
+ drei weitere Optionen:
+
+
+
+ Ermöglichen Sie die Unterstützung durch
+ libalias. Beispiele für spezielle
+ Fälle finden Sie in
+ /usr/src/lib/libalias/alias_*.c
+ (alias_ftp.c ist ein schöner
+ Prototyp). Hierzu gehört für
+ gewöhnlich das Lesen bestimmter, erkannter,
+ ausgehender Pakete, die Identifizierung der
+ Instruktion, die den entfernten Rechner dazu
+ veranlaßt, auf einem bestimmten (wahlfreien)
+ Port eine Verbindung zurück zum lokalen Rechner
+ herzustellen, sowie das Erstellen einer
+ Route in der Aliastabelle, so daß
+ nachfolgende Pakete wissen, wohin sie
+ gehören.
+
+ Dieses ist zwar die komplizierteste Lösung,
+ aber die beste, die auch dafür sorgt, daß
+ die Software auf mehreren Rechnern
+ funktioniert.
+
+
+
+ Benutzen Sie einen Proxy. Die Applikation
+ könnte z.B. socks5 unterstützen, oder (wie
+ im Fall von cvsup) eine Option
+ passiv besitzen, die stets verhindert,
+ daß verlangt wird, daß der Partner eine
+ Verbindung zurück zur lokalen Maschine
+ aufbaut.
+
+
+
+ Leiten Sie mit nat addr alles
+ zur lokalen Maschine um. Dieses Vorgehen ähnelt
+ dem mit einem Vorschlaghammer.
+
+
+
+
+
+
+
+ Hat jemand eine Liste mit nützlichen Portnummern
+ erstellt?
+
+
+
+ Noch nicht, aber hieraus könnte eine solche
+ entstehen (falls Interesse besteht). In jedem Beispiel
+ sollte internal durch die
+ IP-Adresse der Maschine ersetzt werden, auf der das Spiel
+ laufen soll.
+
+
+
+ Asheron's Call
+
+ nat port udp
+ internal:65000
+ 65000
+
+ 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 nat port Zeile
+ ein.
+
+
+
+ Half Life
+
+ nat port udp
+ internal:27005
+ 27015
+
+
+
+ PCAnywhere 8.0
+
+ nat port udp
+ internal:5632
+ 5632
+
+ nat port tcp
+ internal:5631
+ 5631
+
+
+
+ Quake
+
+ nat port udp
+ internal:6112
+ 6112
+
+ Alternativ können sie wegen
+ Proxyunterstützung für Quake unter www.battle.net
+ nachsehen.
+
+
+
+ Quake 2
+
+ nat port udp
+ internal:27901
+ 27910
+
+
+
+ Red Alert
+
+ nat port udp
+ internal:8675
+ 8675
+
+ nat port udp
+ internal:5009
+ 5009
+
+
+
+
+
+
+
+ Was sind FCS-Fehler?
+
+
+
+ FCS steht für Frame
+ Check Sequence.
+ Jedes ppp-Paket besitzt eine Checksumme, um
+ sicherzustellen, daß die empfangenen Daten dieselben
+ sind, wie die versendeten. Falls die FCS eines
+ ankommenden Paketes fehlerhaft ist, wird das Paket
+ verworfen und der Zähler HDLC FCS wird erhöht.
+ Der HDLC-Fehlerwert kann durch den Befehl show
+ hdlc angezeigt werden.
+
+ Falls Ihre Leitung schlecht ist (oder falls Ihr
+ serieller Treiber Pakete verwirft), werden sie
+ gelegentliche FCS-Fehler sehen. Normalerweise lohnt es
+ sich nicht, sich hierüber Gedanken zu machen, obwohl
+ das Kompressionsprotokoll hierdurch wesentlich langsamer
+ wird. Wenn Sie ein externes Modem besitzen, stellen Sie
+ sicher, daß Ihr Kabel ausreichend gegen
+ Interferenzen abgeschirmt ist - das könnte das
+ Problem beseitigen.
+
+ Falls Ihre Leitung einfriert, sobald die Verbindung
+ steht, und viele FCS-Fehler auftreten, könnte das
+ daran liegen, daß Ihre Leitung nicht 8-Bit-rein ist.
+ Stellen Sie sicher, daß Ihr Modem keinen
+ Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
+ Datenschnittstelle Software-Flow-Control verwenden
+ muß, benutzen Sie den Befehl
+ set accmap 0x000a0000, um
+ ppp zu sagen, daß es die Zeichen
+ ^Q und ^S maskieren
+ soll.
+
+ Ein weiterer Grund dafür, daß zu viele
+ FCS-Fehler auftreten, könnte der sein, daß das
+ andere Ende aufgehört hat, ppp zu
+ sprechen. Aktivieren Sie async
+ 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
+ close lcp ppp zu beenden, ohne die
+ Verbindung zu beenden (ein folgender
+ term-Befehl wird Sie wieder mit der Shell auf
+ dem entfernten Rechner verbinden.
+
+ 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.
+
+
+
+
+
+ Wieso hängen die Verbindungen meiner MacOS- und
+ Windows98(tm)-Maschinen, wenn auf meinem Gateway PPPoE
+ läuft?
+
+
+
+ Vielen Dank an Michael Wozniak
+ mwozniak@netcom.ca für die
+ Erklärung und an Dan Flemming
+ danflemming@mac.com für die
+ Lösung für MacOS
+
+ Die Ursache des Problems ist ein sogenannter
+ Black Hole Router. 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) und
+ bei denen das don't fragment Bit gesetzt
+ ist (das ist bei TCP allerdings Standard). Außerdem
+ sendet der Router beim Provider nicht die eigentlich
+ notwendigen must fragment-Meldungen zu dem
+ Webserver, von dem Sie gerade eine Seite laden wollen. Es
+ ist auch möglich, daß diese Meldung zwar
+ erzeugt, aber danach von einem Firewall vor dem Webserver
+ abgefangen wird. Wenn Ihnen dieser Webserver nun ein
+ Paket schickt, das nicht in einen PPPoE-Rahmen paßt,
+ dann verwirft der Router dieses Paket und die Seite wird
+ nicht geladen (einige Seiten/Grafiken werden geladen, weil
+ ihre Größe kleiner ist als die MSS). Dies
+ scheint leider der Normalfall zu sein (wenn die Leute doch
+ nur wüßten, wie man einen Router
+ konfiguriert... stöhn...)
+
+ Eine der möglichen Lösungen für dieses
+ Problem ist die Erzeugung des folgenden Schlüssels in
+ der Registry des Windows-Clients:
+
+
+HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
+
+
+ Der Wert des Schlüssels sollte vom Typ String
+ sein und 1450 betragen. Der korrekte Wert
+ wäre eigentlich 1464, wenn die
+ TCP-Pakete den PPPoE-Rahmen komplett ausfüllen
+ sollen, aber mit 1450 erhalten Sie eine
+ Sicherheitsreserve für andere evtl. genutzte
+ IP-Protokolle. Wenn Sie Windows 2000 verwenden,
+ müssen Sie dagegen den Schlüssel
+ Tcpip\Parameters\Interfaces\ID der
+ Netzwerkkarte\MTU
+ benutzen.
+
+ Die Knowledge Base von
+ Microsoft enthält weitere Informationen
+ darüber, wie sie die MTU einer Windows-Maschine
+ ändern, damit diese mit einem
+ FreeBSD/NAT/PPPoE-Router korrekt zusammenarbeitet. Vom
+ besonderen Interesse sind die Artikel Q158474 -
+ Windows TCPIP Registry Entries und Q120642
+ - TCPIP & NBT Configuration Parameters for Windows
+ NT.
+
+ 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 Sustainable
+ Softworks, 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 ip_interface_MTU
+ auswählen und in der Dialogbox
+ 1450 statt 1500
+ eingeben. Aktivieren Sie den Punkt Save as Auto
+ Configure und klicken Sie danach auf
+ Make Active.
+
+ ppp kennt seit Version 2.3
+ den Befehl enable tcpmssfixup, mit dem
+ die MSS automatisch korrigiert wird. Wenn Sie einen
+ ältere Version von ppp
+ benutzen müssen, könnte der Port
+ tcpmssd für Sie
+ interessant sein.
+
+
+
+
+
+ Nichts von alledem hilft - ich bin
+ verzweifelt!
+
+
+
+ Falls alles andere fehlschlägt, senden Sie
+ möglichst umfangreiche Informationen,
+ einschließlich Ihrer Konfigurationsdateien, wie Sie
+ ppp starten, die relevanten
+ Teile Ihrer Logdateien und die Ausgabe des Befehls
+ netstat -rn (vor und nach Aufbau der
+ Verbindung) an die Mailingliste
+ de-bsd-questions@de.FreeBSD.org oder die
+ Newsgroup de.comp.os.unix.bsd.
+ Irgend jemand sollte Ihnen dann weiterhelfen.
+
+
+
+
+
+
+
+
+ Serielle Verbindungen
+
+ Dieses Kapitel beantwortet häufig gestellte Fragen zu
+ seriellen Verbindungen mit FreeBSD. PPP und SLIP werden in
+ behandelt.
+
+
+
+
+ Wie kann ich feststellen, ob FreeBSD meine seriellen
+ Schnittstellen gefunden hat?
+
+
+
+ Wenn der FreeBSD Kernel bootet, testet er die
+ seriellen Schnittstellen, für die er konfiguriert
+ wurde. Sie können entweder Ihrem System aufmerksam
+ beim booten zusehen und nach den Nachrichten Ausschau
+ halten, oder Sie führen den Befehl
+
+
+&prompt.user; dmesg | grep sio
+
+
+ aus, nachdem Ihr System hochgefahren ist und
+ läuft.
+
+ Hier ist ein Beispiel einer Ausgabe nach dem oben
+ genannten Befehl:
+
+
+si0: at 0x3f8-0x3ff irq 4 on isa
+si0: type 16550A
+si1: at 0x2f8-0x2ff irq 3 on isa
+si1: type 16550A
+
+
+ Es zeigt zwei serielle Schnittstellen. Die erste
+ liegt auf Port-Adresse 0x3f8, nutzt IRQ
+ 4, und hat einen 16550A UART Chip. Die zweite benutzt
+ ebenfalls einen 16550A, liegt aber auf Port-Adresse
+ 0x2f8 und nutzt IRQ 3. Modemkarten
+ werden wie serielle Schnittstellen behandelt. Der einzige
+ Unterschied ist, daß an diesen Schnittstellen immer
+ ein Modem angeschlossen ist.
+
+ Der GENERIC Kernel beinhaltet
+ Unterstützung für zwei serielle Schnittstellen,
+ die den im Beispiel genannten Port und IRQ nutzen. Wenn
+ diese Einstellungen nicht richtig für Ihr System
+ sind, Sie Modemkarten hinzugefügt haben oder mehr
+ serielle Schnittstellen haben als Ihre
+ Kernel-Konfiguration zuläßt, konfigurieren Sie
+ Ihren Kernel einfach neu. In der Sektion wie man einen Kernel erstellt
+ finden Sie mehr Details.
+
+
+
+
+
+ Wie kann ich feststellen, ob FreeBSD meine Modemkarten
+ gefunden hat?
+
+
+
+ Die vorherige Frage sollte darauf eine Antwort
+ geben.
+
+
+
+
+
+ Ich habe gerade auf 2.0.5 geupdatet und meine
+ tty0X fehlen!
+
+
+
+ Keine Sorge, die wurden mit den
+ ttydX Geräten
+ zusammengeführt. Sie müssen allerdings die
+ alten Konfigurationsdateien ändern.
+
+
+
+
+
+ Wie kann ich auf die seriellen Schnittstellen in
+ FreeBSD zugreifen?
+
+
+
+ Die dritte serielle Schnittstelle,
+ sio2 (in DOS/Windows: COM3),
+ verwendet /dev/cuaa2 für
+ dial-out Geräte und /dev/ttyd2
+ für dial-in Geräte. Was ist der Unterschied
+ zwischen den beiden Geräteklassen?
+
+ Sie benutzen ttydX für
+ dial-ins. Wenn man /dev/ttydX im
+ blockierenden Modus öffnet, wartet ein Prozeß
+ darauf, daß das entsprechende
+ cuaaX Gerät inaktiv und
+ Carrier Detect aktiv wird. Wenn Sie das
+ cuaaX Gerät öffnen,
+ vergewissert es sich, daß die serielle Schnittstelle
+ nicht bereits von dem ttydX
+ Gerät benutzt wird. Wenn die Schnittstelle
+ verfügbar ist, stiehlt es sie von dem
+ ttydX Gerät. Das
+ cuaaX Gerät kümmert sich
+ nicht um Trägersignalerkennung. Mit diesem Schema
+ und einem automatisch antwortenden Modem, können sich
+ Benutzer von außen einloggen, weiterhin mit dem
+ selben Modem wählen und das System kümmert sich
+ um die Konflikte.
+
+
+
+
+
+ Wie kann ich die Unterstützung für eine
+ Karte mit mehreren seriellen Schnittstellen
+ aktivieren?
+
+
+
+ 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
+ sio Zeile für jede serielle
+ Schnittstelle auf der Karte in die
+ Kernel-Konfigurationsdatei. Aber achten Sie darauf, den
+ IRQ und die Verktorbezeichnung nur in einem der
+ Einträge zu plazieren. Alle seriellen Schnittstellen
+ auf der Karte sollten sich einen IRQ teilen. Daher
+ sollten Sie den IRQ nur beim letzten Eintrag angeben.
+ Aktivieren Sie auch die COM_MULTIPORT
+ Option.
+
+ Das folgende Beispiel ist für eine AST Karte mit
+ 4 seriellen Schnittstellen, die IRQ 7 benutzt,
+ geeignet:
+
+
+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
+
+
+ Die Flags zeigen an, daß die
+ Master-Schnittstelle die Minor-Nummer 7
+ (0x700) hat, Diagnosen während des
+ Bootens ermöglicht sind (0x080),
+ und daß sich alle Schnittstellen einen IRQ teilen
+ (0x001).
+
+
+
+
+
+ Kann FreeBSD mehrere Karten mit mehreren seriellen
+ Schnittstellen mit den gleichen IRQs verwalten?
+
+
+
+ Noch nicht. Sie müssen für jede Karte einen
+ anderen IRQ verwenden.
+
+
+
+
+
+ Kann ich die vorgegebenen seriellen Parameter für
+ eine Schnittstelle einstellen?
+
+
+
+ Das ttydX (oder
+ cuaaX) Gerät ist das
+ reguläre Gerät, das man in Anwendungen
+ öffnet. Wenn ein Prozeß es öffnet, hat es
+ die voreingestellten Terminal
+ Eingabe/Ausgabe-Einstellungen. Sie können diese
+ Einstellungen mit dem folgenden Befehl ansehen
+
+
+&prompt.root; stty -a -f /dev/ttyd1
+
+
+ Wenn Sie die Einstellungen für dieses Gerät
+ ändern, sind die Einstellungen gültig, bis das
+ Gerät geschlossen wird. Wird es danach
+ geöffnet, hat es wieder die vorgegebenen
+ Einstellungen. Um Änderungen an den voreingestellten
+ Einstellungen vorzunehmen, können Sie die
+ Einstellungen des inital state Geräts
+ öffnen und anpassen. Beispiel: um den
+ CLOCAL Modus, 8 Bits und
+ XON/XOFF Datenflußkontrolle als
+ Standard für ttyd5 einzustellen:
+
+
+&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff
+
+
+ Eine gute Stelle um dies zu tun ist in
+ /etc/rc.serial. Jetzt hat eine
+ Anwendung diese Einstellungen als Standardwerte, wenn sie
+ ttyd5 öffnet. Die Anwendung
+ kann die Einstellungen jedoch immer noch nach Belieben
+ verändern.
+
+ Man aber kann auch bestimme Einstellungen davor
+ schützen, von einer Anwendung verändert zu
+ werden, indem man Veränderungen am lock
+ state Gerät vornimmt. Um zum Beispiel die
+ Geschwindigkeit von ttyd5 auf 57600
+ festzusetzen:
+
+
+&prompt.root; stty -f /dev/ttyld5 57600
+
+
+ Wenn jetzt eine Anwendung ttyd5
+ öffnet, und versucht die Geschwindigkeit zu
+ verändern, wird sie den Wert nicht verändern
+ können und es bleibt bei 57600 bps.
+
+ Natürlich sollten Sie das Schreiben auf die
+ initial state und lock state Geräte nur
+ root erlauben. Das MAKEDEV Skript
+ tut dies nicht, wenn es die
+ Geräte-Einträge erstellt.
+
+
+
+
+
+ Wie kann ich Einwahl-Logins über mein Modem
+ aktivieren?
+
+
+
+ Also Sie wollen ein Internet Service Provider werden,
+ ja? Als erstes brauchen Sie eines oder mehrere Modems,
+ die automatisches Antworten beherrschen. Ihr Modem sollte
+ auf Trägererkennung reagieren und nicht fortlaufend
+ die Leitung offen halten. Es muß auflegen und sich
+ neu initialisieren können, wenn die Data
+ Terminal Ready (DTR) Leitung
+ ausgeschaltet wird. Es sollte vielleicht
+ RTS/CTS oder gar keine lokale
+ Datenflußkontrolle benutzen. Zuletzt muß es
+ eine konstante Geschwindigkeit zwischen dem Computer und
+ sich selbst verwenden, aber es sollte (um die Anrufer
+ freundlich zu behandeln) eine Geschwindigkeit zwischen
+ sich selbst und dem entfernten Modem aushandeln
+ können.
+
+ Bei den meisten Hayes-kompatiblen Modems erzeugt der
+ folgende Befehl diese Einstellungen und legt sie im
+ nicht-flüchtigen Speicher ab.
+
+
+AT &C1 &D3 &K3 &Q6 S0=1 &W
+
+
+ Die Sektion wie man AT
+ Befehle sendet bietet weitere Informationen, wie
+ man diese Einstellungen vornimmt, ohne zu einem MS-DOS
+ Terminal Programm zu flüchten.
+
+ Als nächstes erstellen Sie einen Eintrag in
+ /etc/ttys für das Modem. Diese
+ Datei listet alle Schnittstellen auf, auf denen das
+ Betriebssystem logins erwartet. Fügen Sie eine
+ solche Zeile hinzu:
+
+
+ttyd1 "/usr/libexec/getty std 57600" dialup on insecure
+
+
+ Diese Zeile bedeutet, daß an der zweiten
+ seriellen Schnittstelle (/dev/ttyd1)
+ ein Modem angeschlossen ist, das mit 57600 bps läuft
+ und keine Parität besitzt
+ (std.57600, aus
+ /etc/gettytab). Der Terminal-Typ
+ für diese Schnittstelle ist Einwahl
+ (dialup). Die Schnittstelle ist
+ eingeschaltet (on) und unsicher
+ (unsecure) -- das bedeutet, man kann
+ sich über diese Schnittstelle nicht als
+ root einloggen. Für
+ Einwahlanschlüsse wie diesen, benutzen Sie den
+ ttydX Eintrag.
+
+ Es ist relativ geläufig,
+ dialup als Terminal-Typ zu verwenden.
+ Viele Benutzer richten in ihren
+ .profile oder
+ .login Dateien eine Abfrage für
+ das eigentliche Terminal ein, wenn der Start-Typ
+ dialup ist. Das Beispiel zeigt die
+ Schnittstelle als unsicher und um über diese
+ Schnittstelle root zu werden,
+ müssen Sie sich als normaler Benutzer einloggen und
+ su benutzen. Wenn sie sicher
+ (secure) als Einstellung verwenden,
+ kann sich root direkt
+ einloggen.
+
+ Nachdem Sie Modifikationen in
+ /etc/ttys vorgenommen haben,
+ müssen Sie ein hangup oder
+ HUP Signal an init
+ senden:
+
+
+&prompt.root; kill -HUP 1
+
+
+ Das bringt init dazu, die Datei
+ /etc/ttys neu einzulesen.
+ init startet dann an allen
+ eingeschalteten (on) Schnittstellen die
+ getty-Prozesse. Sie können herausfinden ob noch
+ logins für Ihre Schnittstelle verfügbar sind,
+ wenn Sie folgendes eingeben:
+
+
+&prompt.user; ps -ax | grep '[t]tyd1'
+
+
+ Sie sollten etwas sehen, das so ähnlich aussieht,
+ wie:
+
+
+747 ?? I 0:00:04 /usr/libexec/getty std.57600 ttyd1
+
+
+
+
+
+
+ Wie kann ich ein Hardware-Terminal mit meiner FreeBSD
+ Box verbinden?
+
+
+
+ Wenn Sie einen anderen Computer als Terminal für
+ Ihr FreeBSD System verwenden wollen, verbinden Sie die
+ beiden seriellen Schnittstellen mit einem Nullmodem-Kabel.
+ Wenn Sie ein "echtes" (Hardware-)Terminal benutzen, lesen
+ Sie die Begleitinformationen.
+
+ Ändern Sie /etc/ttys 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:
+
+
+ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
+
+
+ Das Beispiel zeigt, daß die Schnittstelle an
+ /dev/ttyd4 mit einem wyse50 Terminal
+ mit 38400 bps und ohne Parität
+ (std.38400 aus
+ /etc/gettytab) verbunden ist und
+ root logins möglich sind
+ (secure).
+
+
+
+
+
+ Warum kann ich tip oder
+ cu nicht laufen lassen?
+
+
+
+ Vielleicht sind auf Ihrem System die Programme
+ tip und cu nur von
+ uucp und der Gruppe
+ dialer ausführbar. Sie
+ können die Gruppe dialer
+ verwenden, um zu kontrollieren wer Zugriff auf Ihr Modem
+ oder entfernte Systeme hat. Fügen Sie Sich einfach
+ selbst zur Gruppe dialer hinzu.
+
+ Als Alternative können Sie jeden Benutzer auf
+ Ihrem System tip und
+ cu verwenden lassen, dazu müssen
+ Sie das folgende eingeben:
+
+
+&prompt.root; chmod 4511 /usr/bin/cu
+&prompt.root; chmod 4511 /usr/bin/tip
+
+
+
+
+
+
+ Mein Hayes Modem wird nicht unterstützt -- was
+ kann ich tun?
+
+
+
+ Eigentlich ist die man page für
+ tip nicht mehr aktuell. Es gibt einen
+ eingebauten, allgemeinen Hayes Wähler. Verwenden Sie
+ einfach at=hayes in
+ /etc/remote.
+
+ Der Hayes Treiber ist nicht schlau genug, um ein paar
+ der erweiterten Merkmale von neueren Modems zu erkennen --
+ Nachrichten wie BUSY, NO
+ DIALTONE oder CONNECT 115200
+ verwirren ihn nur. Sie sollten diese Nachrichten mit
+ Hilfe von ATX0&W abschalten, wenn
+ sie tip benutzen.
+
+ Das Anwahl-Timeout von tip
+ beträgt 60 Sekunden. Ihr Modem sollte weniger
+ verwenden, oder tip denkt, daß
+ ein Kommunikationsfehler vorliegt. Versuchen Sie es mit
+ ATS7=45&W.
+
+ Tatsächlich unterstützt die ausgelieferte
+ Version von tip es noch nicht
+ vollständig. Die Lösung ist
+ tipconf.h im Verzeichnis
+ /usr/src/usr.bin/tip/tip zu
+ editieren. Dafür benötigen Sie natürlich
+ die Quellcode Distribution.
+
+ Editieren Sie die Zeile #define HAYES
+ 0 in #define HAYES 1 um.
+ Dann führen Sie make und
+ make install aus. Es sollte jetzt
+ funktionieren.
+
+
+
+
+
+ Wie soll ich die AT Befehle eingeben?
+
+
+
+ Erstellen Sie einen sogenannten
+ direct Eintrag in
+ /etc/remote. Wenn Ihr Modem zum
+ Beispiel an der ersten seriellen Schnittstelle,
+ /dev/cuaa0 angeschlossen ist, dann
+ fügen Sie die folgende Zeile hinzu:
+
+
+cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+
+
+ Verwenden Sie die höchste bps Rate, die Ihr Modem
+ in der br Fähigkeit unterstützt. Geben Sie dann
+ tip cuaa0 ein und Sie sind mit Ihrem
+ Modem verbunden.
+
+ Wenn auf Ihrem System keine
+ /dev/cuaa0 Datei existiert, geben Sie
+ folgendes ein:
+
+
+&prompt.root; cd /dev
+&prompt.root; sh MAKEDEV cuaa0
+
+
+ Oder benutzen Sie cu als root mit
+ dem folgenden Befehl
+
+
+&prompt.root; cu -lline -sspeed
+
+
+ <line> steht für die serielle Schnittstelle
+ (/dev/cuaa0) und <speed>
+ für die Geschwindigkeit (57600).
+ Wenn Sie mit dem Eingeben der AT Befehle fertig sind,
+ beenden Sie mit ~..
+
+
+
+
+
+ Das <@> Zeichen für die
+ pn Fähigkeit funktioniert nicht!
+
+
+
+ Das <@> Zeichen in der
+ Telefonnummerfähigkeit sagt tip, daß es in der
+ Datei /etc/phones nach einer Nummer
+ suchen soll. Aber <@> ist auch
+ ein spezielles Zeichen in den Dateien, in denen
+ Fähigkeiten beschrieben werden, wie
+ /etc/remote. Schreiben Sie es mit
+ einem '\' (backslash):
+
+ pn=\@
+
+
+
+
+
+ Wie kann ich von der Kommandozeile eine Telefonnummer
+ wählen?
+
+
+
+ Stellen Sie einen allgemeinen Eintrag
+ in /etc/remote. Zum
+ Beispiel:
+
+
+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:
+
+
+ Mit einem Befehl wie tip -115200
+ 5551234 können Sie dann wählen. Wenn
+ Sie cu im Gegensatz zu
+ tip bevorzugen, verwenden Sie einen
+ allgemeinen cu-Eintrag:
+
+
+cu115200|Use cu to dial any number at 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
+
+
+ Zum Wählen können Sie dann cu
+ 5551234 -s 115200 eingeben.
+
+
+
+
+
+ Muß ich dabei jedes Mal die bps Rate
+ angeben?
+
+
+
+ Schreiben Sie einen tip1200 oder
+ einen cu1200 Eintrag, aber benutzen Sie
+ auch die bps Rate, die Ihr Modem wirklich
+ unterstützt. Leider denkt tip,
+ daß 1200 bps ein guter Standardwert ist und deswegen
+ sucht es nach einem tip1200-Eintrag.
+ Natürlich müssen Sie nicht wirklich 1200 bps
+ benutzen.
+
+
+
+
+
+ Ich greife auf ein paar Rechner über einen
+ Terminal-Server zu.
+
+
+
+ Sie müssen nicht warten bis Sie verbunden sind,
+ und jedesmal CONNECT
+ Rechner eingeben,
+ benutzen Sie tip's cm Fähigkeit.
+ Sie können diese Einträge in
+ /etc/remote verwenden:
+
+
+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:
+
+
+ Mit den Befehlen tip pain oder
+ tip muffin können Sie eine
+ Verbindungen zu den Rechnern pain oder muffin herstellen;
+ mit tip deep13 verbinden Sie Sich mit
+ dem Terminal Server
+
+
+
+
+
+ Kann tip mehr als eine Verbindung für jede Seite
+ testen?
+
+
+
+ Das ist oft ein Problem, wenn eine Universität
+ mehrere Telefonleitungen hat und viele tausend Studenten
+ diese benutzen wollen.
+
+ Erstellen Sie einen Eintrag für Ihre
+ Universität in /etc/remote und
+ benutzen Sie <\@> für die
+ pn Fähigkeit:
+
+
+big-university:\
+ :pn=\@:tc=dialout
+dialout:\
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
+
+
+ Listen Sie die Telefonnummern für die
+ Universitäten in /etc/phones
+ auf:
+
+
+big-university 5551111
+big-university 5551112
+big-university 5551113
+big-university 5551114
+
+
+ tip testet jede der Nummern in der
+ aufgelisteten Reihenfolge und gibt dann auf. Wenn Sie
+ wollen, daß tip immer weiter
+ probiert eine Verbindung herzustellen, lassen Sie
+ tip in einer while-schleife
+ laufen.
+
+
+
+
+
+ Warum muß ich zweimal CTRL-P tippen um ein
+ CTRL-P zu senden?
+
+
+
+ CTRL-P ist das voreingestellte Zeichen, mit dem eine
+ Uebertragung erzwungen werden kann und wird benutzt, um
+ tip zu sagen, daß das
+ nächste Zeichen direkt gesendet werden soll und kein
+ Escape ist. Mit Hilfe des ~s Escapes,
+ mit dem man Variablen setzen kann, können Sie jedes
+ andere Zeichen als force-Zeichen
+ definieren.
+
+ Geben Sie
+ ~sforce=zeichen
+ ein und drücken sie enter. Fuer
+ zeichen können sie ein
+ beliebiges einzelnes Zeichen einsetzen. Wenn Sie
+ zeichen weglassen, ist das
+ force-Zeichen der nul character, den sie
+ mit CTRL-2 oder CTRL-SPACE eingeben können. Ein
+ guter Wert für zeichen ist
+ SHIFT+CTRL+6, welches ich erst auf ein paar Terminal
+ Servern in Benutzung gesehen habe.
+
+ Sie können das force-Zeichen auch
+ bestimmen, indem Sie in
+ $HOME/.tiprc das folgende
+ einstellen:
+
+
+force=single-char
+
+
+
+
+
+
+ Auf einmal ist alles was ich schreibe in
+ GROSSBUCHSTABEN??
+
+
+
+ Sie müssen CTRL-A eingegeben haben, das
+ raise-Zeichen von tip,
+ das speziell für Leute mit defekten caps-lock Tasten
+ eingerichtet wurde. Benutzen Sie ~s
+ wie oben und setzen Sie die Variable
+ raisechar auf etwas, das Ihnen angemessen
+ erscheint. Tatsächlich kann die Variable auf das
+ gleiche Zeichen wie das force-Zeichen
+ gesetzt werden, wenn Sie diese Fähigkeiten niemals
+ benutzen wollen.
+
+ Hier ist eine Muster .tiprc
+ Datei, perfekt für emacs Benutzer die oft CTRL-2 und
+ CTRL-A tippen müssen:
+
+
+force=^^
+raisechar=^^
+
+
+ Das ^^ steht für SHIFT-CTRL-6.
+
+
+
+
+
+ Wie kann ich Dateien mit tip
+ übertragen?
+
+
+
+ Wenn Sie mit einem anderen UNIX-System kommunizieren,
+ können Sie Dateien senden und empfangen -- mit
+ ~p (put) und ~t
+ (take). Diese Befehle lassen cat und
+ echo auf dem entfernten System laufen,
+ um Dateien zu akzeptieren und zu senden. Die Syntax
+ ist:
+
+
+~p <local-file> [<remote-file>]
+~t <remote-file> [<local-file>]
+
+
+ Es gibt keine Fehlerkontrolle, also sollten Sie
+ vielleicht ein anderes Protokoll benutzen, wie
+ zmodem.
+
+
+
+
+
+ Wie kann ich zmodem mit tip
+ laufen lassen?
+
+
+
+ Zuerst installieren Sie ein zmodem Programm aus der
+ Ports-Sammlung (eines der beiden aus der comms-Kategorie,
+ lrzsz oder
+ rzsz).
+
+ Um Dateien zu empfangen, starten Sie das Programm zum
+ Senden auf dem entfernten Computer. Drücken Sie dann
+ Enter gefolgt von ~C rz (oder
+ ~C lrz, wenn Sie lrzsz installiert
+ haben), um diese lokal zu empfangen.
+
+ Um Dateien zu senden, starten Sie das Programm zum
+ empfangen auf dem entfernten Computer. Drücken Sie
+ dann Enter gefolgt von ~C sz
+ Dateien (oder
+ ~C lsz
+ Dateien), um sie zum
+ entfernten System zu senden.
+
+
+
+
+
+ FreeBSD scheint meine seriellen Schnittstellen nicht
+ zu finden, auch wenn die Einstellungen korrekt
+ sind.
+
+
+
+ Hauptplatinen und Karten mit Acer UARTs werden im
+ FreeBSD sio test nicht richtig erkannt. Sie erhalten
+ einen Patch von www.lemis.com,
+ mit dem Sie das Problem beheben können.
+
+
+
+
+
+
+ Verschiedene Fragen
+
+
+
+
+ FreeBSD benutzt viel mehr Swap-Speicher als Linux.
+ Warum?
+
+
+
+ Es sieht nur so aus, als ob FreeBSD mehr Swap benutzt,
+ als Linux. Tatsächlich ist dies nicht der Fall. In
+ dieser Hinsicht besteht der Hauptunterschied zwischen
+ FreeBSD und Linux darin, daß FreeBSD vorbeugend
+ vollkommen untätige, unbenutzte Seiten aus dem
+ Hauptspeicher in den Swap-Bereich auslagert, um mehr
+ Hauptspeicher für die aktive Nutzung zur
+ Verfügung zu stellen. Linux tendiert dazu, nur als
+ letzten Ausweg Seiten in den Swap-Bereich auszulagern.
+ Die spürbar höhere Nutzung des Swap-Speichers
+ wird durch die effizientere Nutzung des Hauptspeichers
+ wieder ausgeglichen.
+
+ Beachten Sie, daß FreeBSD in dieser Hinsicht
+ zwar vorbeugend arbeitet, es entscheidet jedoch nicht
+ willkürlich, Seiten auszulagern, wenn das System
+ vollkommen untätig ist. Deshalb werden Sie
+ feststellen, daß nicht alle Seiten Ihres Systems
+ ausgelagert wurden, wenn Sie morgens aufstehen, nachdem
+ das System eine Nacht lang nicht benutzt worden
+ ist.
+
+
+
+
+
+ Warum zeigt mir &man.top.1; so wenig freien Speicher
+ an, obwohl nur wenige Programme laufen?
+
+
+
+ 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
+ Inact, Cache und
+ Buf gemeldeten Werte stehen alle
+ für zwischengespeicherte Daten mit unterschiedlichem
+ Alter. Wenn das System wiederholt auf Daten zugreifen
+ muß, braucht es nicht auf die langsame Platte
+ zuzugreifen, da die Daten noch zwischengespeichert sind.
+ Dadurch erhöht sich die Performance. Ganz generell
+ ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen
+ Wert bei Free anzeigt, solange der Wert
+ nicht extrem klein ist.
+
+ Anmerkung des Übersetzers: Mit extrem
+ klein sind hier Werte unterhalb 512 KByte
+ gemeint.
+
+
+
+
+
+ Warum benutzt man (was sind) die Formate a.out und ELF
+ für ausführbare Dateien?
+
+
+
+ Um zu verstehen, warum FreeBSD das Format
+ ELF benutzt, müssen Sie
+ zunächst etwas über die drei gegenwärtig
+ dominanten ausführbaren Formate
+ für UNIX wissen:
+
+
+
+ FreeBSD-Version 1.x und 2.x benutzten das Format
+ a.out.
+
+
+
+
+
+ A.OUT
+
+ Das älteste und klassische
+ UNIX-Objektformat. Es benutzt einen kurzen, kompakten
+ Header mit einer magischen Nummer am Anfang, die oft
+ benutzt wird, um das Format zu charakterisieren
+ (weitere Details finden Sie unter &man.a.out.5;). Es
+ enthält drei geladene Segmente: .text, .data und
+ .bss, sowie eine Symboltabelle und eine
+ Stringtabelle.
+
+
+
+ COFF
+
+ Das Objektformat von SVR3. Der Header
+ enthält nun eine "Sectiontable". Man kann also
+ mit mehr als nur den Sections .text, .data und .bss
+ arbeiten.
+
+
+
+ ELF
+
+ Der Nachfolger von COFF.
+ Kennzeichnend sind mehrere Sections und mögliche
+ 32-Bit- oder 64-Bit-Werte. Ein wesentlicher Nachteil:
+ ELF wurde auch unter der Annahme
+ entworfen, daß es nur ein ABI (Application
+ Binary Interface) pro Systemarchitektur geben wird.
+ Tatsächlich ist diese Annahme falsch - nicht
+ einmal für die kommerzielle SYSV-Welt (in der es
+ mindestens drei ABIs gibt: SVR4, Solaris, SCO) trifft
+ sie zu.
+
+ FreeBSD versucht, dieses Problem zu umgehen, indem
+ ein Utility bereitgestellt wird, um ausführbare
+ Dateien im ELF-Format mit
+ Informationen über die ABI zu versehen, zu der
+ sie passen. Weitere Informationen finden Sie in der
+ Manualpage &man.brandelf.1;.
+
+
+
+ FreeBSD kommt aus dem klassischen Lager
+ und verwendete traditionell das
+ a.out-Format, eine Technologie, die
+ bereits über viele BSD-Releases hinweg eingesetzt und
+ geprüft worden ist. Obwohl es bereits seit einiger
+ Zeit möglich war, auf einem FreeBSD-System auch
+ Binaries (und Kernel) im ELF-Format zu
+ erstellen und auszuführen, wiedersetzte FreeBSD sich
+ anfangs dem Druck, auf
+ ELF als Standardformat umzusteigen.
+ Warum? Nun, als das Linux-Lager die schmerzhafte
+ Umstellung auf ELF durchführte,
+ ging es nicht so sehr darum, dem ausführbaren Format
+ a.out zu entkommen, als dem
+ unflexiblen, auf Sprungtabellen basierten Mechanismus
+ für "Shared Libraries", der die Konstruktion von
+ Shared Libraries für Hersteller und Entwickler
+ gleichermaßen sehr kompliziert machte. Da die
+ verfügbaren ELF-Werkzeuge eine
+ Lösung für das Problem mit den Shared Libraries
+ anboten und ohnehin generell als ein Schritt
+ vorwärts angesehen wurden, wurde der Auffand
+ für die Umstellung als notwendig akzeptiert und die
+ Umstellung wurde durchgeführt.
+
+ Im Fall von FreeBSD ist der Mechanismus von Shared
+ Libraries enger an den Mechanismus im Stil von Sun's
+ SunOS angelehnt und als solcher
+ sehr einfach zu verwenden. Seit Version 3.0
+ unterstützt FreeBSD ELF-Binaries
+ jedoch offiziell als das Standardformat. Obwohl das
+ ausführbare Format a.out uns
+ gute Dienste geleistet hat, hat das GNU-Team, das den von
+ uns verwendeten Compiler erstellt, die Unterstützung
+ des a.out-Formats eingestellt. Dies
+ zwang uns dazu, abweichende Versionen der Compiler und
+ Linker beizubehalten und hinderte uns daran, Nutzen aus
+ den aktuellen Entwicklungsergebnisen von GNU zu ziehen.
+ Auch die Anforderungen von ISO-C++, besonders
+ Konstruktoren und Destruktoren, haben zur
+ Unterstützung von ELF in
+ zukünftigen Versionen von FreeBSD
+ geführt.
+
+
+
+
+
+ Ja aber warum gibt es so viele unterschiedliche
+ Formate?
+
+
+
+ In alter, grauer Vorzeit gab es simple Hardware.
+ Diese simple Hardware unterstützte ein einfaches,
+ kleines System. a.out war absolut passend für die
+ Aufgabe, Binaries auf diesem simplen System (eine PDP-11)
+ darzustellen. Als UNIX von diesem simplen System portiert
+ wurde, wurde auch das a.out-Format beibehalten, weil es
+ für die frühen Portierungen auf Architekturen
+ wie den Motorola 68000, VAXe usw. ausreichte.
+
+ Dann dachte sich ein schlauer Hardware-Ingenieur,
+ daß wenn er Software zwingen könnte, einige
+ Tricks anzustellen, es ihm möglich wäre, ein
+ paar Gatter im Design zu sparen, und seinen CPU-Kern
+ schneller zu machen. Obgleich es dazu gebracht wurde, mit
+ dieser neuen Art von Hardware (heute als RISC bekannt) zu
+ arbeiten, war a.out für diese
+ Hardware schlecht geeignet. Deshalb wurde viele neue
+ Formate entwickelt, um eine bessere Leistung auf dieser
+ Hardware zu erreichen, als mit dem begrenzten, simplen
+ a.out-Format. Dinge wie
+ COFF, ECOFF und
+ einige andere obskure wurden erdacht und ihre Grenzen
+ untersucht, bevor die Dinge sich in Richtung
+ ELF entwickelten.
+
+ Hinzu kam, daß die Größe von
+ Programmen gewaltig wurden und Festplatten (und
+ physikalischer Speicher) immer noch relativ klein waren.
+ Also wurde das Konzept von Shared Libraries geboren. Das
+ VM-System wurde auch immer fortgeschrittener. Obwohl bei
+ jedem dieser Fortschritte das
+ a.out-Format benutzt worden ist,
+ wurde sein Nutzen mit jedem neuen Merkmal mehr und mehr
+ gedehnt. Zusätzlich wollte man Dinge dynamisch zur
+ Ausführungszeit laden, oder Teile ihres Programms
+ nach der Initialisierung wegwerfen, um Hauptspeicher
+ und/oder Swap-Speicher zu sparen. Programmiersprachen
+ wurden immer fortschrittlicher und man wollte, daß
+ Code automatisch vor der main-Funktion aufgerufen wird.
+ Das a.out-Format wurde oft
+ überarbeitet, um alle diese Dinge zu ermöglichen
+ und sie funktionierten auch für einige Zeit.
+ a.out konnte diese Probleme nicht
+ ohne ein ständiges Ansteigen eines Overheads im Code
+ und in der Komplexität handhaben. Obwohl
+ ELF viele dieser Probleme löste,
+ wäre es sehr aufwendig, ein System umzustellen, das
+ im Grunde genommen funktionierte. Also mußte
+ ELF warten, bis es aufwendiger war, bei
+ a.out zu bleiben, als zu
+ ELF überzugehen.
+
+ Im Laufe der Zeit haben sich die Erstellungswerkzeuge,
+ von denen FreeBSD seine Erstellungswerkzeuge abgeleitet
+ hat (speziell der Assembler und der Loader), in zwei
+ parallele Zweige entwickelt. Im FreeBSD-Zweig wurden
+ Shared Libraries hinzugefügt und einige Fehler
+ behoben. Das GNU-Team, das diese Programme
+ ursprünglich geschrieben hat, hat sie umgeschrieben
+ und eine simplere Unterstützung zur Erstellung von
+ Cross-Compilern durch beliebiges Einschalten verschiedener
+ Formate usw. hinzugefügt. Viele Leute wollten
+ Cross-Compiler für FreeBSD erstellen, aber sie hatten
+ kein Glück, denn FreeBSD's ältere Sourcen
+ für as und ld waren hierzu nicht geeignet. Die neuen
+ GNU-Werkzeuge (binutils) unterstützen
+ Cross-Compilierung, ELF, Shared
+ Libraries, C++-Erweiterungen usw. Weiterhin geben viele
+ Hersteller ELF-Binaries heraus und es
+ ist gut, wenn FreeBSD sie ausführen kann. Und wenn
+ es ELF-Binaries ausführt, warum
+ dann auch noch a.out behalten? Es
+ ist ein müdes, altes Pferd, daß sich für
+ eine lange Zeit als nützlich erwiesen hat, aber es
+ ist an der Zeit, es für seine langen, treuen
+ Dienstjahre auf die Weide zu schicken.
+
+ ELF ist ausdrucksfähiger als
+ a.out und gestattet eine bessere Erweiterbarkeit des
+ Basissystems. Die ELF-Werkzeuge werden
+ besser gewartet und bieten Unterstützung von
+ Cross-Compilierung, was für viele Leute wichtig ist.
+ ELF mag etwas langsamer sein, als
+ a.out, aber zu versuchen, das zu messen, könnte
+ schwierig werden. Es gibt unzählige Details, in
+ denen sich die beiden Formate unterscheiden, wie sie Pages
+ abbilden, Initialisierungscode handhaben usw. Keins davon
+ ist sehr wichtig, aber es sind Unterschiede. Irgendwann
+ wird die Unterstützung für Programme im
+ a.out-Format aus dem GENERIC Kernel
+ entfernt werden. Wenn es dann keinen oder kaum noch
+ Bedarf für die Unterstützung dieses Formates
+ gibt, werden die entsprechenden Routinen ganz entfernt
+ werden.
+
+
+
+
+
+ Warum ändert chmod die Zugriffsrechte auf
+ symbolische Links nicht?
+
+
+
+ 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
+ foo und einen auf diese Datei
+ zeigenden symbolischen Link mit dem Namen
+ bar haben, wird das folgende Kommando
+ niemals einen Fehler melden.
+
+
+prompt.user; chmod g-w bar
+
+
+ Trotzdem werden die Zugriffsrechte für
+ foo nicht geändert.
+
+ Hierzu müssen Sie entweder
+ oder zusammen mit der Option
+ benutzen. Weitere Informationen
+ finden Sie in den Manualpages &man.chmod.1; und
+ &man.symlink.2;.
+
+
+
+ Die Option bewirkt ein
+ REKURSIVESchmod.
+ Seien Sie vorsichtig, wenn Sie bei
+ chmod 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
+ chmod ohne irgendwelche Optionen
+ und folgen dem symbolischen Link durch einen
+ abschliessenden Schrägstrich
+ (/). Falls z.B.
+ foo ein symbolischer Link zum
+ Verzeichnis bar ist und Sie die
+ Zugriffsrechte von foo
+ (tatsächlich bar)
+ ändern möchten, dann benutzen Sie etwas
+ ähnliches wie:
+
+
+&prompt.user; chmod 555 foo/
+
+
+ Durch den abschliessenden Schrägstrich folgt
+ chmod dem symbolischen Link
+ foo, um die Zugriffsrechte
+ für das Verzeichnis bar zu
+ ändern.
+
+
+
+
+
+
+
+ Warum sind Loginnamen immer noch
+ auf acht Zeichen begrenzt?
+
+
+
+ Sie denken vielleicht, daß es leicht sein
+ sollte, UT_NAMESIZE zu ändern, das
+ ganze System neu zu erstellen und das dann alles
+ funktionieren müßte. Unglücklicherweise
+ gibt es oft dutzende Applikationen und Utilities
+ (einschließlich Systemwerkzeuge), bei denen kleine
+ Zahlen (nicht immer 8 oder
+ 9, sondern auch sonderbare, wie
+ 15 und 20) in
+ Strukturen und Puffern fest codiert sind. Hierdurch
+ erhalten Sie nicht nur unbrauchbare Logdateien (weil
+ variabel lange Sätze ausgegeben werden, wo Sätze
+ fester Länge erwartet werden), sondern es kann dazu
+ führen, daß Sun's NIS-Clients nicht mehr
+ funktionieren und möglicherweise andere Probleme bei
+ der Interaktion mit anderen UNIX-Systemen
+ verursachen.
+
+ In FreeBSD 3.0 und späteren wurde die maximale
+ Länge für Namen auf 16 Zeichen erweitert und die
+ unterschiedlichen Utilities mit fest codierten
+ Namenslängen wurden gefunden und bereinigt. Die
+ Tatsache, daß hiervon so viele Bereiche des Systems
+ betroffen waren, ist der Grund, warum diese Änderung
+ nicht vor 3.0 durchgeführt worden ist.
+
+ Wenn Sie sich absolut sicher sind, daß Sie diese
+ Art von Problemen selbst finden und bereinigen
+ können, wenn und falls sie auftreten, dann
+ können Sie die Länge von Loginnamen in
+ früheren Versionen ändern, indem Sie
+ /usr/include/utmp.h editieren und
+ UT_NAMESIZE entsprechend ändern. Sie müssen
+ MAXLOGNAME in
+ /usr/include/sys/param.h auch
+ entsprechend der Änderung von UT_NAMESIZE
+ ändern. Schließlich, vergessen Sie nicht,
+ daß /usr/include jedesmal aktualisiert wird, wenn
+ Sie von den Sourcen aus Erstellen! Ändern Sie
+ stattdessen die entsprechen Dateien in
+ /usr/src/...
+
+
+
+
+
+ Kann ich DOS-Programme unter FreeBSD
+ ausführen?
+
+
+
+ Ja, ab Version 3.0 können Sie die DOS-Emulation
+ doscmd der Firma BSDi benutzen,
+ die integriert und erweitert wurde. Schicken Sie eine
+ Mail an The FreeBSD
+ emulation discussion list, wenn Sie daran
+ interessiert sind, an den laufenden Bemühungen
+ teilzunehmen!
+
+ Für Systeme vor 3.0 gibt es ein nettes Utility
+ pcemu in der Ports-Sammlung,
+ das einen 8088 und genug BIOS-Dienste emuliert, um
+ DOS-Applikationen im Textmodus auszuführen. Hierzu
+ wird das X Window-System benötigt (erhältlich
+ als XFree86).
+
+
+
+
+
+ Was ist sup und wie benutze ich
+ es?
+
+
+
+ Der Name SUP 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.
+
+ SUP ist nicht sehr bandbreitenfreundlich und wurde
+ abgelöst. Die derzeit empfohlene Methode, um Ihren
+ Quellcode auf dem neuesten Stand zu halten ist Handbucheintrag zu
+ CVSup.
+
+
+
+
+
+ Wie cool ist FreeBSD?
+
+
+
+ Q. Hat irgend jemand Temperaturmessungen
+ durchgeführt, während FreeBSD läuft? Ich
+ weiß, daß Linux cooler läuft, als DOS,
+ aber niemals gesehen, daß FreeBSD erwähnt
+ wurde. Es scheint sehr heiß zu laufen.
+
+ A. Nein, aber wir haben zahlreiche Geschmackstests mit
+ verblendeten Freiwilligen durchgeführt, denen
+ ausßerdem zuvor 250 Mikrogramm LSD-25 verabreicht
+ wurden. 35% der Freiwilligen sagte, daß FreeBSD
+ nach Orange schmeckte, Linux hingegen schmecke wie
+ purple haze (Anm. d. Übersetzers: Song
+ von Jimmy Hendrix und LSD-Marke). Ich kann mich nicht
+ daran erinnern, daß eine Gruppe besondere
+ Abweichungen der Temperatur erwähnt hat. Eventuell
+ hätten wir sämtliche Ergebnisse dieser
+ Untersuchung fortwerfen sollen, als wir festgestellt
+ haben, daß zu viele der Freiwillingen den Raum
+ während der Tests verlassen haben und dadurch die
+ Ergebnisse verfälscht haben. Ich glaube die meisten
+ der Freiwilligen sind nun bei Apple und arbeiten an ihrer
+ neuen scratch and sniff Oberfläche.
+ Es ist ein lustiges, altes Geschäft, in dem wir uns
+ befinden!
+
+ Ernsthaft, FreeBSD und Linux benutzen beide die
+ Instruktion HLT (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.
+
+
+
+
+
+ Wer kratzt in meinen Speicherbänken??
+
+
+
+ Q. Gibt es irgend etwas seltsames, das
+ FreeBSD tut, wenn ich den Kernel kompiliere, das dazu
+ führt, daß der Speicher ein kratzendes
+ Geräusch macht? Bei der Kompilierung (und auch
+ für einen kurzen Moment nach der Erkennung des
+ Floppy-Laufwerks beim Hochfahren), kommt ein seltsames
+ kratzendes Geräusch von etwas das die
+ Speicherbänke zu sein scheinen.
+
+ A. Ja! In der BSD-Dokumentation finden Sie
+ häufige Verweise auf Daemons und was
+ die meisten Leute nicht wissen, ist, daß diese sich
+ auf echte, nicht-körperlichen Wesen beziehen, die
+ Besitz von Ihrem Computer ergriffen haben. Das kratzende
+ Geräusch, das von Ihrem Speicher kommt, ist in
+ Wirklichkeit hochtöniges Flüstern, das unter den
+ Daemons ausgetauscht wird, während Sie entscheiden,
+ wie Sie die verschiedenen Systemadministrationsaufgaben,
+ am besten erledigen.
+
+ Wenn Sie das Geräusch stört, wird ein
+ fdisk /mbr sie vertreiben, aber wundern
+ Sie sich nicht, wenn sie feindlich reagieren und
+ versuchen, Sie aufzuhalten. Wenn Sie während der
+ Ausführung zu irgendeinem Zeitpunkt die teuflische
+ Stimme von Bill Gates aus dem eingebauten Lautsprecher
+ kommen hören, laufen Sie weg und sehen Sie sich auf
+ keinen Fall um! Befreit von dem ausgleichenden
+ Einfluß der BSD Dämonen sind die beiden
+ Dämonen von DOS und Windows oft dazu in der Lage, die
+ totale Kontrolle über Ihre Maschine für die
+ ewige Verdammung Ihrer Seele zurückzuerlangen. Wenn
+ ich die Wahl hätte, glaube ich, daß ich es
+ vorziehen würde, mich an die Geräsche zu
+ gewöhnen!
+
+
+
+
+
+ Was bedeutet MFC?
+
+
+
+ MFC ist ein Acronym für Merged From
+ -Current. Es wird in den CVS-Logs benutzt, um zu
+ kennzeichnen, wenn eine Änderung vom CURRENT-Zweig in
+ den STABLE-Zweig übernommen worden ist.
+
+
+
+
+
+ Was bedeutet BSD?
+
+
+
+ Es steht für etwas in einer geheimen Sprache, das
+ nur Mitglieder wissen können. Es kann nicht
+ wörtlich übersetzt werden, aber wir können
+ Ihnen sagen, daß die Übersetzung von BSD etwas
+ zwischen Formel-1 Team, Pinguine
+ sind ein leckerer Imbiß und Wir haben
+ einen besseren Sinn für Humor als Linux ist
+ :-)
+
+ Ernsthaft, BSD ist ein Acronym für Berkley
+ Software Distribution. Das ist der Name, den die
+ Berkley CSRG (Computer Systems Research
+ Group) damals für ihre UNIX-Distribution gewählt
+ hat.
+
+
+
+
+
+ Was ist eine repo-copy?
+
+
+
+ Eine repo-copy (die Kurzform von repository
+ copy) bedeutet, daß Dateien direkt innerhalb
+ des CVS repository kopiert wurden.
+
+ Wenn eine Datei an einen anderen Ort im Repository
+ kopiert oder verschoben werden müsste, würde ein
+ Comitter ohne repo-copy die neue Datei mit cvs
+ add hinzufügen und die alte ggfs. mit
+ cvs rm löschen.
+
+ Damit würden allerdings die Einträge in der
+ History (die Einträge im CVS-Logfile) nicht mit
+ übertragen. Da das FreeBSD Projekt diese
+ Informationen allerdings für äußerst
+ nützlich hält, wird eine repository copy
+ durchgeführt. Bei diesem Vorgang wird einer der
+ CVS-Meister die Dateien direkt innerhalb des Repository
+ verschieben, statt das Programm cvs zu
+ benutzen.
+
+
+
+
+
+ Warum sollte mich die Farbe des Fahrradschuppens
+ interessieren?
+
+
+
+ Die ganz, ganz kurze Antwort ist überhaupt nicht.
+ Die etwas längere Antwort lautet: Nur weil Sie in der
+ Lage sind, einen Fahrradschuppen zu bauen, müssen Sie
+ noch lange nicht andere davon abhalten, nur weil Ihnen die
+ Farbe gefällt. Dies ist natürlich eine Metapher
+ dafür, daß Sie nicht eine Diskussion über
+ jede kleine Änderung beginnen sollen, nur weil Sie
+ das können. Einige Leute behaupten sogar, daß
+ die Anzahl der (nutzlosen) Kommentare über eine
+ Änderung umgekehrt proportional zu Ihrer
+ Komplexität der Änderung ist.
+
+ Die noch längere und vollständigere Antwort
+ ist, daß &a.phk; nach einen langen Diskussion
+ über das Thema "Soll &man.sleep.1; Sekundenbruchteile
+ als Parameter akzeptieren?" eine lange Mail mit dem Titel
+ A
+ bike shed (any colour will do) on greener
+ grass... schrieb. Die einschlägigen
+ Teile der Nachricht lauteten:
+
+
+ &a.phk; in freebsd-hackers,
+ 2.10.1999
+
+ Einige von Euch haben mich gefragt, Was
+ meinst Du mit dem Fahrradschuppen?
+
+ Es ist eine lange oder eigentlich eher eine sehr
+ alte und doch sehr kurze Geschichte. C. Northcote
+ Parkinson schrieb in den führen sechzigern ein Buch
+ mit dem Namen Parkinson's Law, das viele
+ Einblick in die Beziehungen innerhalb des Managements
+ gibt.
+
+ [ein paar Kommentare zum Buch gestrichen]
+
+ In dem Beispiel mit dem Fahrradschuppen ist die
+ andere wichtige Komponente ein Kernkraftwerk. Ich
+ glaube, daß zeigt schon, wie alt dieses Buch
+ ist.
+
+ Parkinson zeigte, daß man zum Vorstand gehen
+ kann und die Genehmigung für ein mehrere Millionen
+ oder sogar Milliarden Dollar teures Kernkraftwerk
+ bekommt; wenn man aber einen Fahrradschuppen bauen will,
+ wird man in endlose Diskussionen verwickelt.
+
+ Laut Parkinson liegt das daran, daß ein
+ Kernkraftwerk so groß, so teuer und so kompliziert
+ ist, daß die Leute es nicht verstehen. Und bevor
+ sie versuchen, es zu verstehen, verlassen Sie sich
+ lieber darauf, daß irgend jemand sicherlich die
+ ganzen Details geprüft hat, bevor das Projekt bis
+ zum Vorstand gekommen ist. Im Buch von Richard P.
+ Feynmann finden sich einige interessante und sehr
+ passende Beispiele aus dem Gebiet von Los
+ Alamos.
+
+ Ein Fahrradschuppen ist was anderes. Jeder kann an
+ seinem freien Wochenende einen bauen und hat trotzdem
+ noch genug Zeit für die Sportschau. Daher ist es
+ unwichtig, wie gut man sich vorbereitet und wie sinnvoll
+ der eigene Vorschlag ist. Irgend jemand wird die
+ Möglichkeit nutzen und zeigen, daß er seine
+ Arbeit tut, daß er aufmerksam ist, daß er
+ da ist.
+
+ In Dänemark nennen wir dieses Verhalten
+ Seine Fingerabdrücke hinterlassen.
+ Es geht um persönlichen Stolz und Prestige; die
+ Chance, auf irgend etwas zu zeigen und zu sagen zu
+ können: Da! Das habe
+ Ich getan. 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.
+
+
+
+
+
+
+ Wieviele FreeBSD-Hacker braucht man, um eine
+ Glühbirne auszuwechseln?
+
+
+
+ Eintausendeinhundertundzweiundsiebzig:
+
+ Dreiundzwanzig, die sich bei -CURRENT beschweren,
+ daß das Licht aus ist;
+
+ Vier, die behaupten, daß es sich um ein
+ Konfigurationsproblem handelt und daß solche Dinge
+ wirklich nach -questions gehören;
+
+ Drei, die PRs hierzu einreichen, einer von ihnen wird
+ falsch unter DOC abgelegt und fristet sein Dasein im
+ Dunkeln;
+
+ Einen, der eine ungetestete Glühbirne einreicht,
+ wonach buildworld nicht mehr funktioniert, und sie dann
+ fünf Minuten später wieder herausnimmt;
+
+ Acht, die die PR-Erzeuger beschimpfen, weil sie zu
+ ihren PRs keine Patche hinzugefügt haben;
+
+ Fünf, die sich darüber beschweren, daß
+ buildworld nicht mehr funktioniert;
+
+ Einunddreißig, die antworten, daß es bei
+ ihnen funktioniert und daß sie cvsup wohl zu einigem
+ ungünstigen Zeitpunkt durchgeführt
+ haben;
+
+ Einen, der einen Patch für eine neue
+ Glühbirne an -hackers schickt;
+
+ Einen, der sich beschwert, daß es vor drei
+ Jahren Patches hierfür hatte, aber als er sie nach
+ -CURRENT schickte, sind sie einfach ignoriert worden und
+ er hatte schlechte Erfahrungen mit dem PR-System; nebenbei
+ ist die vorgeschlagene Glühbirne nicht
+ reflexiv;
+
+ Siebenunddreißig, die schreien, daß
+ Glühbirnen nicht ins Basissystem gehören,
+ daß Committer nicht das Recht haben, solche Dinge
+ durchzuführen, ohne die Gemeinschaft zu konsultieren
+ und WAS GEDENKT -CORE HIER ZU TUN!?
+
+ Zweihundert, die sich über die Farbe des
+ Fahrradschuppens beschweren;
+
+ Drei, die darauf hinweisen, daß der Patch nicht
+ mit style(9) übereinstimmt;
+
+ Siebzehn, die sich beschweren, daß die
+ vorgeschlagene neue Glühbirne der GPL
+ unterliegt;
+
+ 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;
+
+ Sieben, die unterschiedliche Teile des Threads nach
+ -chat und -advocacy weiterleiten;
+
+ Einer, der die vorgeschlagene Glühbirne einbaut,
+ obwohl sie dunkler leuchtet, als die alte;
+
+ Zwei, die sie wieder ausbauen, und in einer
+ wütenden Nachricht argumentieren, daß FreeBSD
+ besser ganz im Dunkeln dasteht, als mit einer
+ dämmerigen Glühbirne;
+
+ Sechsundvierzig, die sich lärmend wegen des
+ Wiederausbaus der dämmerigen Glühbirne streiten
+ und eine Erklärung von -core verlangen;
+
+ Elf, die eine kleinere Glühbirne beantragen,
+ damit sie in ihr Tamagotchi paßt, falls wir
+ irgendwann beschließen, FreeBSD auf diese Plattform
+ zu portieren;
+
+ Dreiundsiebzig, die sich über die SNR auf
+ -hackers und -chat beschweren und aus Protest
+ abmelden;
+
+ Dreizehn, die "unsubscribe", "How do I unsubscribe?",
+ oder "Please remove me from the list", gefolgt von der
+ üblichen Fußzeile abschicken;
+
+ Einen, der eine funktionierende Glühbirne
+ einbaut, während alle zu beschäftigt damit sind,
+ mit jedem zu streiten, um es zu bemerken;
+
+ Einunddreiß, die herausstellen, daß die
+ neue Glühbirne 0,364% heller leuchten würde,
+ wenn sie mit TenDRA kompiliert werden würde (obwohl
+ sie ein einen Würfel umgeformt werden
+ müßte) und daß FreeBSD deshalb nach
+ TenDRA, anstatt nach EGCS wechseln sollte;
+
+ Einen, der sich beschwert, daß bei der neuen
+ Glühbirne die Verkleidung fehlt;
+
+ Neun (einschließlich der PR-Ersteller), die
+ fragen "Was ist MFC?";
+
+ Siebenundfünfzig, die sich zwei Wochen, nachdem
+ die Birne gewechselt worden ist, darüber beschweren,
+ daß das Licht aus war.
+
+ &a.nik; hat
+ hinzugefügt:
+
+ Ich habe ziemlich hierüber
+ gelacht.
+
+ Und dann dachte ich: "Halt, sollte in dieser
+ Liste nicht irgendwo 'Einer, der es dokumentiert'
+ sein?"
+
+ Und dann wurde ich erleuchtet
+ :-)
+
+ This entry is Copyright (c) 1999 &a.des;.
+ Please do not reproduce without
+ attribution.
+
+
+
+
+
+
+ Nur für ernsthafte FreeBSD-Hacker
+
+
+
+
+ Was sind SNAPs und RELEASEs?
+
+
+
+ Derzeit existieren drei aktive/halbaktive Zweige im
+
+ FreeBSD-CVS-Repository (im Zweig RELENG_2 erfolgen
+ vielleicht noch zwei Änderungen pro Jahr, daher gibt
+ es nur drei aktive Entwicklungszwenige:
+
+
+
+ RELENG_2_2 bzw.
+ 2.2-STABLE
+
+
+
+ RELENG_3 bzw.
+ 3.X-STABLE
+
+
+
+ RELENG_4 bzw.
+ 4-STABLE
+
+
+
+ HEAD bzw.
+ -CURRENT oder
+ 5.0-CURRENT
+
+
+
+ HEAD ist keine wirkliche
+ Bezeichnung für einen Zweig, wie die anderen beiden.
+ Es ist lediglich eine symbolische Konstante für
+ den aktuellen, nicht verzweigten
+ Entwicklungsstrom, auf den wir uns
+ einfach als -CURRENT beziehen.
+
+ Zur Zeit ist -CURRENT der 5.0
+ Entwicklungsstrom und der
+ 4-STABLE-Zweig
+ RELENG_4 wurde im März 2000 von
+ -CURRENT abgespalten.
+
+ Der 2.2-STABLE-Zweig
+ RELENG_2_2 verließ -CURRENT im
+ November 1996, die Weiterentwicklung wurde fast
+ vollständig eingestellt.
+
+
+
+
+
+ Wie kann ich meine eigene, angepaßtes Release
+ erstellen?
+
+
+
+ Um ein Release zu erstellen, müssen Sie drei
+ Dinge tun: erstens müssen Sie einen Kernel benutzen,
+ der das Gerät vn
+ enthält. Fügen Sie folgendes in ihre
+ Kernelkonfigurationsdatei ein und erstellen Sie einen
+ neuen Kernel:
+
+
+pseudo-device vn #Vnode driver (verwandelt eine Datei in ein Gerät)
+
+
+ Zweitens müssen Sie das vollständige
+ CVS-Repository zur Hand haben. Sie können hierzu
+ CVSUP
+ benutzen. Sie müssen in den Konfigurationsdateien
+ für cvsup als Release
+ cvs verwenden und alle evtl.
+ vorhandenen tag= und
+ date= Zeilen entfernen:
+
+
+*default prefix=/home/ncvs
+*default base=/a
+*default host=cvsup.FreeBSD.org
+*default release=cvs
+*default delete compress use-rel-suffix
+
+## Main Source Tree
+src-all
+src-eBones
+src-secure
+
+# Other stuff
+ports-all
+www
+doc-all
+
+
+ Benutzen Sie dann cvsup -g supfile,
+ um all die guten Bits auf Ihren Rechner zu
+ saugen...
+
+ Schließlich brauchen Sie eine Menge freien
+ Plattenplatz für die Erstellung. Angenommen, er
+ befindet sich unter
+ /some/big/filesystem und entsprechend
+ dem obigen Beispiel befindet sich das CVS-Repository unter
+ /home/ncvs:
+
+
+&prompt.root; setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
+&prompt.root; cd /usr/src
+&prompt.root; make buildworld
+&prompt.root; cd /usr/src/release
+&prompt.root; make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
+
+
+
+
+ Es ist nicht notwendig,
+ make buildworld auszuführen,
+ wenn Sie über ein aktuelles
+ /usr/obj verfügen.
+
+
+
+ Ein vollständiges Release wird nun unter
+ /some/big/filesystem/release
+ erstellt. Wenn der Vorgang abgeschlossen ist, finden Sie
+ unter
+ /some/big/filesystem/release/R/ftp
+ eine vollständige FTP-fähige Installlation.
+ Falls Sie Ihren SNAP von einem anderen Zweig als -CURRENT
+ erstellen wollen, können Sie auch
+ RELEASETAG=SOMETAG zu der obigen
+ Befehlszeile "make release" hinzufügen, z.B.
+ würde RELEASETAG=RELENG_2_2 einen
+ minutenaktuellen Schnappschuß von 2.2-STABLE
+ erstellen.
+
+
+
+
+
+ Wie erstelle ich eine angepaßte
+ Installationsdiskette?
+
+
+
+ Der gesamte Prozeß zur Erstellung von
+ Installationsdisketten und Quell- und Binärarchiven
+ ist durch verschiedene Targets in
+ /usr/src/release/Makefile
+ automatisiert. Die dortigen Informationen sollten
+ für einen Einstieg ausreichen. Es sollte jedoch
+ erwähnt werden, daß dies ein make
+ world einschließt und daher sehr viel Zeit
+ und Plattenplatz in Anspruch nimmt.
+
+
+
+
+
+ make world wirkt sich auf meine
+ installierten Binaries aus.
+
+
+
+ Das ist beabsichtigt. Wie der Name schon andeutet,
+ erstellt make world alle Systembinaries
+ von Grund auf neu. Sie können also sicher sein, am
+ Ende eine saubere, konsistente Umgebung zu haben (das ist
+ der Grund ist, warum es so lange dauert).
+
+ Falls die Umgebungsvariable DESTDIR
+ während der Ausführung von make
+ world oder make install
+ definiert ist, werden die neu erstellten Binaries unter
+ ${DESTDIR} 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 make
+ world verursachen.
+
+
+
+
+
+ Wenn mein System bootet, meldet es (bus speed
+ defaulted)
+
+
+
+ Die Adaptec 1542 SCSI Hostadapter erlauben dem
+ Benutzer die Buszugriffsgeschwindigkeit per Software zu
+ konfigurieren. Ältere Versionen des 1542-Treibers
+ versuchten, die schnellstmögliche Geschwindigkeit
+ herauszufinden und konfigurierten den Adapter
+ entsprechend. Wir haben festgestellt, daß dies auf
+ einigen Systemen nicht funktioniert, weshalb Sie nun die
+ Kernelkonfigurationsoption TUNE_1542
+ 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.
+
+
+
+
+
+ Kann ich -CURRENT mit begrenztem Internetzugang
+ folgen?
+
+
+
+ Ja, Sie können das tun, ohne
+ den gesamten Quellbaum herunterzuladen, indem Sie die
+ Einrichtung CTM
+ benutzen.
+
+
+
+
+
+ Wie haben Sie die Distribution in 240k-Dateien
+ aufgespalten?
+
+
+
+ Bei neueren BSD-basierten Systemen gibt es eine Option
+ zu split, die das Splitten von Dateien
+ an willkürlichen Bytegrenzen erlaubt.
+
+ Hier ist ein Beispiel aus
+ /usr/src/Makefile.
+
+
+bin-tarball:
+ (cd ${DISTDIR}; \
+ tar cf - . \
+ gzip --no-name -9 -c | \
+ split -b 240640 - \
+ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
+
+
+
+
+
+
+ Ich habe eine Kernelerweiterung geschrieben. An wen
+ sende ich sie?
+
+
+
+ Lesen Sie bitte den Handbucheintrag über
+ das Einreichen vom Code.
+
+ Und Danke, daß Sie darüber
+ Nachdenken!
+
+
+
+
+
+ Wie werden Plug&Play ISA-Karten erkannt und
+ initialisiert?
+
+
+
+ Von: Frank Durda
+ IV
+
+ 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
+ Ja auf diese Frage. Mindestens ein Bit
+ wird bei dieser Antwort gesetzt sein. Die
+ Erkennungsroutine ist dann in der Lage, dafür zu
+ sorgen, daß Karten mit Modellnummern (zugeordnet von
+ Microsoft/Intel) kleiner als X off-line
+ gesetzt werden. Sie prüft dann, ob immer noch Karten
+ da sind, die auf die Frage antworten. Falls die Antwort
+ 0 war, sind keine Karten mit IDs
+ größer X vorhanden. Nun prüft die
+ Erkennungsroutine, ob Karten unterhalb
+ X 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.
+
+ Die IDs bestehen aus zwei 32-Bit-Feldern (daher 2^64)
+ + acht Bit Prüfsumme. Die ersten 32 Bit sind die
+ Herstellerkennung. Es wurde zwar nicht bestätigt,
+ aber es wird angenommen, daß unterschiedliche
+ Kartentypen desselben Herstellers unterschiedliche 32-Bit
+ Herstellerkennungen besitzen können. 32 Bit nur
+ für eindeutige Hersteller zu benötigen, scheint
+ etwas übertrieben.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ Diese Informationen werden dann mit Informationen aus
+ allen ECU-Dateien auf der Festplatte oder mit im MLB-Bios
+ verdrahteten Informationen verknüpft. Die ECU- und
+ BIOS-PnP-Unterstützung für Hardware auf dem MLB
+ ist für gewöhnlich künstlich und was die
+ Peripheriegeräte tun ist nicht wirklich echtes PnP.
+ Durch die Untersuchung der BIOS-Informationen und der
+ ECU-Informationen können die Erkennungsroutinen
+ jedoch die von PnP-Geräten benutzten Ressourcen so
+ ändern, daß vermieden wird, daß bereits
+ von anderen Geraeten benutzte Ressourcen verwendet
+ werden.
+
+ 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.
+
+ Im obigen Teil wurde sehr viel vereinfacht, aber die
+ grundlegende Idee sollte klar geworden sein.
+
+ 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 tough gesagt. Also schreiben sie
+ auf den Druckerstatusport, um Adressen zu setzen, benutzen
+ zusätzlich diese Adresse + 0x800
+ und einen dritten I/O-Port zum Lesen, der irgendwo
+ zwischen 0x200 und
+ 0x3ff liegen kann.
+
+
+
+
+
+ Unterstützt FreeBSD andere Architekturen
+ außer x86?
+
+
+
+ Verschiedene Gruppen haben ihr Interesse daran
+ geäußert, an Multiarchitektur-Ports für
+ FreeBSD zu arbeiten. Ziemlich erfolgreich waren die
+ Anstrengungen für den Port FreeBSD/AXP (ALPHA), der
+ unter ftp://ftp.de.FreeBSD.org/pub/FreeBSD/alpha
+ erhältlich ist. Der ALPHA-Port läft nun auf
+ einer steigenden Anzahl von ALPHA-Maschinen, unter ihnen
+ die Modelle AlphaStation, AXPpci, PC164, Miata und Multia.
+ Bitte schließen Sie sich der Mailinglistefreebsd-alpha@FreeBSD.org
+ an, falls Sie an Statusinformationen interessiert
+ sind.
+
+ Außerdem wurde Interesse an einem Port von
+ FreeBSD zur SPARC-Architektur ausgedrückt.
+ Schließen Sie sich der
+ Mailinglistefreebsd-sparc@FreeBSD.org
+ an, wenn Sie bei dem Projekt teilnehmen möchten. Die
+ Neuzugänge auf der Liste der in Zukunft
+ unterstützten Plattformen sind IA-64 und PowerPC,
+ weitere Informationen erhalten Sie auf den Mailinglistenfreebsd-ia64@FreeBSD.org
+ und/oder freebsd-ppc@FreeBSD.org.
+ Schließen Sie sich dieser Mailinglistefreebsd-platforms@FreeBSD.org
+ an, wenn Sie an grundsätzlichen Diskussionen
+ über neue Architekturen interessiert sind.
+
+
+
+
+
+ Ich benötige eine major number für einen
+ Gerätetreiber, den ich geschrieben habe.
+
+
+
+ Das hängt davon ab, ob Sie beabsichtigen, den
+ Treiber frei verfügbar zu machen, oder nicht. Falls
+ dem so ist, senden Sie uns bitte eine Kopie der
+ Treiber-Sourcen und zusätzlich die entsprechenden
+ Änderungen der Datei files.i386,
+ ein Beispiel für einen Eintrag in der
+ Konfigurationsdatei und den entsprechenden Code für
+ MAKEDEV, um spezielle Geräte zu
+ erstellen, die Ihr Gerät benutzt. Falls Sie nicht
+ beabsichtigen, den Treiber frei verfügbar zu machen,
+ oder es aufgrund von Lizenzbeschränkungen nicht
+ können, dann ist die Hauptnummer 32 für
+ zeichenorientierte und die Hauptnummer 8 für
+ blockorientierte Geräte speziell für diesen
+ Zweck reserviert. In jedem Fall würden wir uns
+ freuen, in freebsd-hackers@FreeBSD.org
+ etwas über Ihren neuen Treiber zu hören.
+
+
+
+
+
+ Alternative Layoutverfahren für
+ Verzeichnisse
+
+
+
+ Als Antwort auf die Frage nach alternativen
+ Layoutverfahren für Verzeichnisse ist das Schema, das
+ derzeit benutzt wird, unverändert von dem, das ich
+ 1983 geschrieben habe. Ich habe das Vorgehen für das
+ originale Fast-Filesystem geschrieben und es niemals
+ überarbeitet. Es funktioniert gut, wenn es darum
+ geht, zu verhindern, daß Zylindergruppen volllaufen.
+ Wie viele von Ihnen angemerkt haben, funktioniert es
+ schlecht für find. Die meisten Dateisysteme werden
+ von Archiven erstellt, die mit einer Tiefensuche (also
+ ftw) erstellt wurden. Diese Verzeichnisse werden
+ über die Zylindergruppen hinweg entfaltet und
+ erzeugen denkbar ungünstigste Voraussetzungen
+ für zukünftige Tiefensuchen. Falls man die
+ Gesamtzahl der zu erstellenden Verzeichnisse wüsste,
+ wäre die Lösung die, (gesamt / fs_ncg) pro
+ Zylindergruppe zu erstellen, bevor fortgefahren wird.
+ Offensichtlich müßte man eine Heuristik
+ erstellen, um die Zahl zu schätzen. Sogar die
+ Benutzung einer kleinen, fixen Zahl, z.B. 10, würde
+ eine Verbesserung um Größenordnungen ausmachen.
+ Um Wiederherstellungen von normalem Betrieb (wo der
+ derzeitige Algorithmus vermutlich sinnvoller ist) zu
+ unterscheiden, könnten Sie die Clusterung von bis zu
+ 10 benutzen, wenn sie alle innerhalb eines
+ 10-Sekunden-Fensters durchgeführt würden.
+ Jedenfalls ist mein Schluss, daß dies ein
+ fruchtbares Gebiet für Experimente ist.
+
+ Kirk McKusick, September 1998
+
+
+
+
+
+ Optimalen Nutzen aus einer kernel panic ziehen
+
+
+
+ [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 Mailingliste freebsd-current
+ entnommen.]
+
+
+From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
+Subject: Re: the fs fun never stops
+To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
+Cc: current@FreeBSD.org
+
+
+ [<ben@rosengart.com> sendete die
+ folgende Panik-Meldung]
+
+
+> 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
+
+
+ [Wenn] Sie eine Meldung wie diese sehen, reicht es
+ nicht, sie einfach zu reproduzieren und sie einzusenden.
+ Der Wert des Instruktionszeigers, den ich oben
+ hervorgehoben habe, ist wichtig; leider ist er auch
+ konfigurationsabhängig. Mit anderen Worten variieren
+ die Werte abhängig von dem Kernel-Image, das Sie
+ tatsächlich benutzen. Wenn Sie ein GENERIC
+ Kernelimage von einem der Snapshots benutzen, dann ist es
+ für jemand anderen möglich, die fehlerhafte
+ Instruktion herauszufinden, aber wenn Sie einen
+ angepaßten Kernel benutzen, können nur
+ Sie uns sagen, wo der Fehler
+ auftrat.
+
+ Was Sie tun sollten, ist folgendes:
+
+
+
+ Notieren Sie sich den Wert des
+ Instruktionszeigers. Beachten Sie, daß der Teil
+ 0x8: am Anfang in diesem Fall nicht
+ von Bedeutung ist; der Teil
+ 0xf0xxxxxx ist der, den wir
+ wollen.
+
+
+
+ Tun Sie folgendes, wenn das System
+ rebootet:
+
+
+&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
+
+
+ wobei 0xf0xxxxxx der Wert des
+ Instruktionszeigers ist. Es besteht die
+ Möglichkeit, daß Sie keinen exakten Treffer
+ erzielen, weil die Symbole in der Symboltabelle des
+ Kernels Funktionseinstiegspunkte sind und die Adresse
+ des Instruktionszeiger irgendwo innerhalb einer
+ Funktion liegen wird und nicht am Anfang. Falls sie
+ keinen exakten Treffer erzielen, lassen Sie den
+ letzten Teil des Werts des Instruktionszeigers weg und
+ versuchen es nocheinmal, z.B.:
+
+
+&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
+
+
+ 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.
+
+
+
+ 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.
+
+ Der beste Weg, den Grund für eine Panik
+ herauszufinden, ist der, einen Crash-Dump festzuhalten und
+ dann gdb(1) zu benutzen, um den Stack
+ im Crash-Dump zurückzuverfolgen. Das setzt
+ natürlich voraus, das gdb(1) in
+ -CURRENT korrekt arbeitet, was ich nicht garantieren kann
+ (Ich erinnere mich an jemanden, der gesagt hat, daß
+ das neue ELF-gdb(1) Kernel-Crash-Dumps
+ nicht korrekt verarbeitet hat. Jemand sollte das
+ überprüfen, bevor 3.0 den Betastatus
+ verläßt, andernfalls könnte es einige rote
+ Gesichter geben, nachdem die CDs ausgeliefert worden
+ sind).
+
+ Jedenfalls ist die Methode, die ich normalerweise
+ benutze, folgende:
+
+
+
+ Richten Sie eine Kernelkonfigurationsdatei ein,
+ fügen Sie optional options DDB
+ hinzu, falls Sie glauben, daß Sie den
+ Kerneldebugger benötigen. (Ich benutze ihn
+ hauptsächlich zum Setzen von Haltepunkten, wenn
+ ich eine Endlosschleife irgendeiner Art
+ vermute.)
+
+
+
+ Benutzen Sie config -g
+ KERNELCONFIG, um
+ das Erstellungsverzeichnis einzurichten.
+
+
+
+ cd
+ /sys/compile/KERNELCONFIG;
+ make
+
+
+
+ Warten Sie, bis der Kernel fertig kompiliert
+ ist.
+
+
+
+ make install
+
+
+
+ reboot
+
+
+
+ Der &man.make.1;-Prozeß wird zwei Kernel
+ erstellt haben: kernel und
+ kernel.debug.
+ kernel wurde als
+ /kernel installiert, während
+ kernel.debug als Quelle für
+ Debuggersymbole für gdb(1) benutzt werden
+ kann.
+
+ Um sicherzustellen, daß ein Crash-Dump erhalten
+ bleibt, müssen Sie
+ /etc/rc.config editieren und
+ dumpdev so setzen, daß es auf
+ Ihre Swap-Partition zeigt. Das bewirkt, daß die
+ rc(8)-Skripte den Befehl
+ dumpon(8) benutzen, um Crash-Dumps zu
+ ermöglichen. Sie können
+ dumpon(8) auch manuell ausführen.
+ Nach einer Panik kann der Crash-Dump mit
+ savecore(8) wiederhergestellt werden;
+ wenn dumpdev in
+ /etc/rc.conf gesetzt ist, werden die
+ rc(8)-Skripte
+ savecore(8) automatisch ausführen
+ und den Crash-Dump unter /var/crash
+ ablegen.
+
+
+
+ Crash-Dumps von FreeBSD sind für
+ gewöhnlich genauso groß wie der
+ physikalische Hauptspeicher Ihres Rechners. D.h.,
+ wenn Sie 64MB RAM haben, werden sie einen 64MB
+ Crash-Dump erhalten. Deshalb müssen Sie
+ dafür sorgen, daß genügend
+ Speicherplatz in /var/crash zur
+ Verfügung steht, um den Dump aufnehmen zu
+ können. Alternativ führen Sie
+ 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 options
+ MAXMEM=(foo) benutzt wird, um den Speicher,
+ den der Kernel benutzt, auf einen etwas
+ vernünftigeren Wert zu setzen. Wenn Sie z.B.
+ 128MB RAM haben, können Sie die Speicherbenutzung
+ des Kernels auf 16MB begrenzen, so daß die
+ Größe Ihres Crash-Dumps 16MB anstatt 128MB
+ beträgen wird.
+
+
+
+ Wenn Sie den Crash-Dump wiederhergestellt haben,
+ können Sie den Stack mit gdb(1) so
+ zurückverfolgen:
+
+
+&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
+(gdb)where
+
+
+ Beachten Sie, daß es mehrere Seiten mit
+ wertvollen Informationen geben könnte; idealerweise
+ sollten Sie script(1) benutzen, um sie
+ alle festzuhalten. Wenn Sie das vollständige
+ Kernelimage mit allen Debugginginformationen benutzen,
+ müßten Sie exakt die Zeile des
+ Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
+ Für gewöhnlich müssen Sie den Stack von
+ unten an zurückverfolgen, um die genaue
+ Ereignisabfolge, die zum Crash führte,
+ zurückzuverfolgen. Sie können
+ gdb(1) auch zum Ausdrucken der Inhalte
+ verschiedener Variablen oder Strukturen benutzen, um den
+ Systemstatus zum Zeitpunkt des Absturzes zu
+ untersuchen.
+
+ Wenn Sie nun wirklich verrückt sind und einen
+ zweiten Computer haben, können Sie
+ gdb(1) auch für entferntes
+ Debugging konfigurieren, so daß Sie
+ 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.
+
+ [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]
+
+
+
+
+
+ dlsym() funktioniert nicht mehr für
+ ELF-Executables!
+
+
+
+ Die ELF-Werkzeuge machen die in einem Executable
+ definierten Symbole dem dynamischen Linker nicht
+ standardmäßig sichtbar. Konsequenterweise
+ werden dlsym()-Suchen nach Handlern
+ aus Aufrufen von dlopen(NULL, flags)
+ diese Symbole nicht finden können.
+
+ Wenn Sie mit dlsym() nach im
+ Hauptexecutable eines Prozesses vorhandenen Symbolen
+ suchen wollen, müssen Sie das Executable mit der
+ Option von &man.ld.1;
+ linken.
+
+
+
+
+
+ Erhöhung oder Verminderung des
+ Kernel-Adreßraums
+
+
+
+ Standardmäßig beträgt der
+ Adreßraum des Kernels 256MB (FreeBSD 3.x) bzw. 1 GB
+ (FreeBSD 4.x). Wenn Sie einen netzwerkintensiven Server
+ (z.B. einen großen FTP- oder HTTP-Server) betreiben,
+ kann es sein, daß Sie der Meinung sind, daß
+ 256MB nicht ausreichen.
+
+ Wie also erhöhen Sie den Adreßraum? Hier
+ gibt es zwei Aspekte. Erstens müssen Sie dem Kernel
+ sagen, daß er einen grösseren Anteil des
+ Adreßraums für sich selbst reservieren soll.
+ Da der Kernel am oberen Ende des Adreßraums geladen
+ wird, müssen Sie zweitens die Ladeadresse verringern,
+ damit er mit dem Kopf nicht gegen die Obergrenze
+ stößt.
+
+ Das erste Ziel erreicht man, indem man den Wert von
+ NKPDE in
+ src/sys/i386/include/pmap.h
+ erhöht. Für einen Adreßraum von 1 GB
+ sieht das so aus:
+
+
+#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
+
+
+ Dividieren Sie die gewünschte
+ Adreßraumgröße (in Megabyte) durch vier
+ und subtrahieren Sie dann eins für UP und zwei
+ für SMP, um den korrekten Wert für
+ NKPDE zu finden.
+
+ Um das zweite Ziel zu erreichen müssen Sie die
+ korrekte Ladeadresse berechnen: subtrahieren Sie einfach
+ die Größe des Adreßraums (in Byte) von
+ 0x100100000; für einen Adreßraum von 1 GB
+ lautet das Ergebnis 0xc0100000. Setzen Sie
+ LOAD_ADDRESS in
+ src/sys/i386/conf/Makefile.i386 auf
+ diesen Wert; setzen Sie dann den Location-Counter am
+ Anfang der Abschnittsliste in
+ src/sys/i386/conf/kernel.script auf
+ denselben Wert:
+
+
+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) }
+
+
+ Konfigurieren und erstellen Sie Ihren Kernel dann neu.
+ Sie werden vermutlich Probleme mit ps,
+ top und ähnlichen Programmen
+ haben. Ein make world sollte diese
+ beheben; alternativ können Sie die gepatchte
+ pmap.h in das Verzeichnis
+ /usr/include/vm kopieren und danach
+ libkvm, ps und
+ top neu erzeugen.
+
+ Hinweis: die Größe des
+ Kernel-Adreßraums muß ein Vielfaches von vier
+ Megabyte betragen.
+
+ [&a.dg; fügt hinzu: Ich glaube, der
+ Kerneladreßraum muß eine Zweierpotenz sein,
+ aber ich bin mir dessen nicht sicher. Der alte
+ (ältere) Bootcode pflegte die oberen Adreßbits
+ zu mißbrauchen und ich glaube, er erwartete
+ mindestens 256MB Granularität.]
+
+
+
+
+
+
+ DANKSAGUNG
+
+
+ FreeBSD Core Team
+
+ Falls Sie ein Problem in dieser FAQ entdecken, oder einen
+ Eintrag einsenden möchten, senden Sie uns bitte eine Mail
+ an &a.faq; Wir schätzen Ihr Feedback und können
+ diese FAQ ohne Ihre Hilfe nicht verbessern!
+
+
+
+ Originalversion
+
+
+ &a.jkh;
+
+
+ Gelegentliche Anpassungen von Umstrukturierungen der
+ FAQ und Aktualisierung.
+
+
+
+
+
+
+ &a.dwhite;
+
+
+ Dienste über Pflichtbesuche in freebsd-questions
+ hinaus
+
+
+
+
+
+
+ &a.joerg;
+
+
+ Dienste über Pflichtbesuche im Usenet
+ hinaus
+
+
+
+
+
+
+ &a.wollman;
+
+
+ Netzwerke und Formatierung
+
+
+
+
+
+
+ Jim Lowe
+
+
+ Multicast-Informationen
+
+
+
+
+
+
+ &a.pds;
+
+
+ Schreibmaschinenknecht der FreeBSD-FAQ
+
+
+
+
+
+
+ Das FreeBSD-Team
+
+
+ Nörgeln, Stöhnen, Einsenden von
+ Daten
+
+
+
+
+ Folgende Personen haben durch die Beantwortung von Fragen,
+ sowie durch Hinweise und Kommentare an der Entstehung der
+ deutschen Übersetzung mitgewirkt:
+
+
+
+ Ross Alexander
+
+
+
+ &a.jhb;
+
+
+
+ &a.nik;
+
+
+
+ Glen Foster
+
+
+
+ Oliver Fromme
+
+
+
+ Frank Gruender
+
+
+
+ Chris Hill
+
+
+
+ James Howard
+
+
+
+ &a.jkh;
+
+
+
+ &a.alex;
+
+
+
+ &a.jmas;
+
+
+
+ Mike Meyer
+
+
+
+ Dan O'Connor
+
+
+
+ Eric Ogren
+
+
+
+ &a.de.pierau;
+
+
+
+ Christoph Sold
+
+
+
+ Und an alle anderen, an die wir nicht gedacht haben.
+ Entschuldigung und herzlichen Dank!
+
+