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: + + + Pinbelegung für ein Netzwerkkabel an der + parallelen Schnittstelle + + + + + A-name + + A-End + + B-End + + Descr. + + Post/Bit + + + + + + DATA0 +-ERROR + + 2 +15 + + 15 +2 + + Data + + 0/0x01 +1/0x08 + + + + DATA1 ++SLCT + + 3 +13 + + 13 +3 + + Data + + 0/0x02 +1/0x10 + + + + DATA2 ++PE + + 4 +12 + + 12 +4 + + Data + + 0/0x04 +1/0x20 + + + + DATA3 +-ACK + + 5 +10 + + 10 +5 + + Strobe + + 0/0x08 +1/0x40 + + + + DATA4 +BUSY + + 6 +11 + + 11 +6 + + Data + + 0/0x10 +1/0x80 + + + + GND + + 18-25 + + 18-25 + + GND + + - + + + +
+ + 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). + + + Maximale Dateigröße + + + + + Blockgröße + + 2.2.7-stable + + 3.0-current + + geht + + sollte gehen + + + + + + 4K + + 4T-1 + + 4T-1 + + 4T-1 + + 4+t + + + + 8K + + 32+G + + 8T-1 + + 32+G + + 32T-1 + + + + 16K + + 128+G + + 16T-1 + + 128+G + + 32T-1 + + + + 32K + + 512+G + + 32T-1 + + 512+G + + 64T-1 + + + + 64K + + 2048+G + + 64T-1 + + 2048+G + + 128T-1 + + + +
+ + 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 <quote>Pointer</quote> 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 <quote>Pointer</quote> der Datei + <filename>XF86Config</filename> 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 <application>Emacs</application> + mit <application>Imwheel</application> + + +;;; 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 <application>Xemacs</application> + mit <application>Imwheel</application> + + +;;; 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.com ftp + + + 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 proto internalmachine:port port + + + 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: + + + Pinbelegung für ein Netzwerkkabel an der + parallelen Schnittstelle + + + + + A-name + + A-End + + B-End + + Descr. + + Post/Bit + + + + + + DATA0 +-ERROR + + 2 +15 + + 15 +2 + + Data + + 0/0x01 +1/0x08 + + + + DATA1 ++SLCT + + 3 +13 + + 13 +3 + + Data + + 0/0x02 +1/0x10 + + + + DATA2 ++PE + + 4 +12 + + 12 +4 + + Data + + 0/0x04 +1/0x20 + + + + DATA3 +-ACK + + 5 +10 + + 10 +5 + + Strobe + + 0/0x08 +1/0x40 + + + + DATA4 +BUSY + + 6 +11 + + 11 +6 + + Data + + 0/0x10 +1/0x80 + + + + GND + + 18-25 + + 18-25 + + GND + + - + + + +
+ + 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). + + + Maximale Dateigröße + + + + + Blockgröße + + 2.2.7-stable + + 3.0-current + + geht + + sollte gehen + + + + + + 4K + + 4T-1 + + 4T-1 + + 4T-1 + + 4+t + + + + 8K + + 32+G + + 8T-1 + + 32+G + + 32T-1 + + + + 16K + + 128+G + + 16T-1 + + 128+G + + 32T-1 + + + + 32K + + 512+G + + 32T-1 + + 512+G + + 64T-1 + + + + 64K + + 2048+G + + 64T-1 + + 2048+G + + 128T-1 + + + +
+ + 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 <quote>Pointer</quote> 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 <quote>Pointer</quote> der Datei + <filename>XF86Config</filename> 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 <application>Emacs</application> + mit <application>Imwheel</application> + + +;;; 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 <application>Xemacs</application> + mit <application>Imwheel</application> + + +;;; 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.com ftp + + + 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 proto internalmachine:port port + + + 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! +
+