diff --git a/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml b/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml
index 35f835ed5b..5b3f2ac2c3 100644
--- a/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml
+++ b/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml
@@ -1,699 +1,699 @@
%articles.ent;
]>
Hintergrundwissen zu BSDGregLeheygrog@FreeBSD.org
&tm-attrib.freebsd;
&tm-attrib.amd;
&tm-attrib.apple;
&tm-attrib.linux;
&tm-attrib.opengroup;
&tm-attrib.sun;
&tm-attrib.xfree86;
&tm-attrib.general;
In der Open Source-Welt steht das Wort
Linux oft synonym für
Betriebssystem, obwohl es nicht das einzige
frei verfügbare Betriebssystem ist. Laut Internet
Operating System Counter liefen im April 1999
- 31,3 Prozent der weltweit vernetzten Rechner unter Linux,
+ weltweit 31,3 Prozent der vernetzten Rechner unter Linux,
14,6 Prozent liefen hingegen unter BSD &unix;. Einige
der weltweit größten Internetdienstleister, darunter
Yahoo!, verwenden BSD.
Der im Jahre 1999 weltgrößte FTP-Server ftp.cdrom.com (inzwischen
abgeschaltet) verwendete BSD, um täglich 1,4 Terabyte
an Daten zu übertragen. Hier geht es offensichtlich nicht
um einen Nischenmarkt, BSD ist vielmehr ein gut gehütetes
Geheimnis.Worin besteht nun dieses Geheimnis? Warum ist BSD nicht
bekannter? Dieser Artikel versucht, diese und andere Fragen
zu beantworten.Unterschiede zwischen BSD und Linux werden in diesem
Artikel kursiv dargestellt.Übersetzt von Fabio Tosques.Was ist BSD?BSD steht für Berkeley Software
Distribution, also für die Verbreitung des Quellcodes
der University of California, Berkeley, und war ursprünglich
als Erweiterung für ein von AT&T's Research
entwickeltes &unix; Betriebssystem gedacht. Verschiedene
Open Source-Projekte beruhen auf dieser, als 4.4BSD-Lite
bekannten Quellcodeausgabe. In dieser Ausgabe sind auch
Softwarepakete anderer Open Source-Projekte, insbesondere jene des
GNU-Projekts, enthalten. Das komplette Betriebssystem
umfasst:Den BSD-Kernel, der sich um Prozessscheduling,
Speichermanagement, die Unterstützung mehrerer
Prozessoren
(symmetric multi-processing,
SMP), Gerätetreiber und anderes mehr
kümmert.Im Gegensatz zum Linux-Kernel gibt es
verschiedene BSD-Kernel mit unterschiedlichen
Fähigkeiten.Die C-Bibliothek, die grundlegende API des
Systems.Die C-Bibliothek von BSD basiert auf
Berkeley-Code und nicht auf Code des
GNU-Projekts.Nützliche Programme wie Shells, Programme für
Dateioperationen, Compiler und Linker.Einige Programme stammen aus dem GNU-Projekt,
andere hingegen nicht.Das X Window-System für die grafische
Benutzeroberfläche.Bei den meisten BSD-Versionen werden zwei
X Window-Systeme gepflegt, die Version des
&xfree86;-Projekts,
sowie die des
X.org-Projekts. Dieser
Code wird auch von Linux verwendet. BSD definiert keinen
Standarddesktop wie GNOME oder KDE. Beide
sind aber in der Portssammlung vorhanden.Viele weitere Programme und Werkzeuge.Ein echtes &unix;?BSD-Betriebssysteme sind keine Nachbauten, sondern
Weiterentwicklungen des &unix; Betriebssystems von
AT&T's Research, das als Vorfahre des modernen
&unix; System V gilt. Überrascht Sie diese Aussage? Wie kann
das sein, wenn AT&T seine Quellen nie als Open Source
veröffentlicht hat?Es stimmt, dass AT&T &unix; kein Open Source ist. Im
Sinne des Copyright ist BSD daher eindeutig
kein &unix;. Andererseits fügte
AT&T aber Quellcode von anderen Projekten in den eigenen Code
ein, insbesondere jenen der Computer Sciences Research Group (CSRG)
der University of California in Berkeley, CA. Im Jahr 1976
begann die CSRG damit, Bänder ihrer Software zu vertreiben,
die sie Berkeley Software Distribution oder
BSD nannten.Anfangs wurden vor allem Anwendungen veröffentlicht.
Das änderte sich schlagartig, als die CSRG von der Advanced
Projects Research Agency (DARPA) den Auftrag bekam, deren
Kommunikationsprotokolle (ARPANET) zu überarbeiten. Die
neuen Protokolle wurden als Internet Protocols
bezeichnet, und wurden später als TCP/IP
weltbekannt. Die erste Implementierung dieser Protokolle erfolgte
1982 als Teil von 4.2BSD.Im Laufe der 80er Jahre entstanden einige neue Firmen, die
Workstations vertrieben. Viele zogen es vor, &unix; zu
lizenzieren und kein eigenes Betriebssystem zu entwickeln.
Sun Microsystems lizenzierte &unix;, implementierte eine
Version von 4.2BSD und bezeichnete das fertige Produkt als
&sunos;. Als es AT&T gestattet wurde, &unix; kommerziell zu
vertreiben, verkaufte AT&T eine abgespeckte Version namens
System III, der schnell System V folgte. Im
System V-Basissystem waren keine Netzwerkfunktionen
enthalten, daher wurden alle Implementierungen zusätzlich
mit Software des BSD-Projekts, darunter TCP/IP sowie diverse
nützliche Programme wie csh oder
vi. Diese Erweiterungen wurden unter der
Bezeichnung Berkeley Extensions
zusammengefasst.Da die BSD-Bänder AT&T-Quellcode enthielten, war
eine &unix; Lizenz erforderlich. Als im Jahre 1990 die
Förderung der CSRG auslief, beschlossen einige Mitglieder
der Gruppe, den quelloffenen BSD-Code ohne den
proprietären AT&T-Code zu veröffentlichen. Das
Ergebnis dieser Bemühungen war
Networking Tape 2, besser bekannt als
Net/2. Net/2 war aber kein komplettes
Betriebssystem, da gut 20 Prozent des Kernelcodes fehlten.
William F. Jolitz, ein Mitglied der CSRG, schrieb den fehlenden
Code und veröffentlichte diesen Anfang 1992 als
386BSD. Zur gleichen Zeit gründete
eine andere Gruppe ehemaliger CSRG-Mitglieder das kommerzielle
Unternehmen Berkeley Software
Design Inc. und veröffentlichte eine Betaversion des
Betriebssystems unter dem Namen BSD/386, die auf den gleichen
Quellen basierte. Später wurde dieses Betriebssystem in
BSD/OS umbenannt.386BSD war niemals wirklich stabil. Daher spalteten sich
1993 zwei neue Projekte ab: NetBSD sowie FreeBSD. Beide Projekte
entstanden, weil sich 386BSD zu langsam weiterentwickelte.
Die erste NetBSD-Version entstand Anfang 1993, die erste
FreeBSD-Version Ende 1993. Zu dieser Zeit hatte sich der
Quellcode aber derart verändert, dass es schwer war,
ihn wieder zu verschmelzen. Zudem hatten die beiden Projekte
unterschiedliche Ziele, die dieser Artikel noch beschreiben
wird. 1996 spaltete sich ein weiteres Projekt von NetBSD ab:
OpenBSD. 2003
spaltete sich schließlich
DragonFlyBSD
von FreeBSD ab.Warum ist BSD nicht bekannter?BSD ist aus vielen Gründen relativ unbekannt:BSD-Entwickler sind eher an der Verbesserung des Codes
- interessiert, als an der Vermarktung desselben.
+ interessiert als an der Vermarktung desselben.
Die Popularität von Linux beruht auch auf externen
Faktoren wie der Presse, sowie auf Firmen, die gegründet
wurden, um Linux zu vertreiben. Bis heute fehlen den freien
BSD-Systemen solche Förderer.BSD-Entwickler sind vielleicht erfahrener als
Linux-Entwickler, und haben deshalb weniger Interesse daran,
die Benutzung des Systems einfacher zu gestalten. Einsteiger
sind bei Linux wahrscheinlich besser aufgehoben.1992 verklagte AT&T BSDI, den Verkäufer
von BSD/386, mit der Behauptung, der Quellcode enthalte
urheberrechtlich geschützten AT&T Code. Zwar kam es
1994 zu einer außergerichtlichen Einigung, die Leute
waren aber erst einmal verunsichert. Noch im März 2000
behauptete ein im Web publizierter Artikel, das Verfahren sei
erst kürzlich eingestellt worden.Bezüglich der Bezeichnung schaffte der
Gerichtsprozess jedoch Klarheit: In den 80er Jahren war
BSD unter dem Namen BSD &unix; bekannt.
Durch die Entfernung der letzten Zeilen des AT&T-Codes
verlor BSD das Recht, sich &unix; zu nennen. Deshalb finden
Sie in der Literatur sowohl Verweise auf
4.3BSD &unix; als auch auf
4.4BSD.Nach wie vor existiert das Vorurteil, die einzelnen
BSD Projekte seien gespalten und zerstritten. Das
Wall Street Journal sprach gar von einer
Balkanisierung des BSD-Projekts. Wie der
Prozess, basiert auch dieses Vorurteil hauptsächlich
auf alten Geschichten.Ein Vergleich zwischen BSD und LinuxWo sind nun die Unterschiede zwischen, sagen wir Debian
GNU/Linux und FreeBSD? Für die meisten Benutzer sind die
Unterschiede nicht groß: Beide sind &unix; ähnliche
Betriebssysteme. Beide sind nichtkommerzielle Projekte (was
für eine Vielzahl anderer Linux-Distributionen nicht gilt).
Der folgende Abschnitt betrachtet BSD näher und vergleicht es
mit Linux. Die meisten Erläuterungen beziehen sich auf
FreeBSD, da es sich dabei um das am häufigsten installierte
BSD-System handelt. Die Unterschiede zu NetBSD, OpenBSD und
DragonFlyBSD sind aber gering.Wem gehört BSD?BSD gehört weder einer einzelnen Person, noch
gehört es einem Unternehmen. Entwickelt und zur
Verfügung gestellt wird es von einer technisch
interessierten und engagierten Gemeinschaft, die über
die ganze Welt verteilt ist. Einige BSD-Komponenten sind
eigenständige Open Source-Projekte mit eigenen Rechten,
die getrennt verwaltet und gewartet werden.Wie erfolgt die Weiterentwicklung von BSD?BSD-Kernel werden nach dem Open Source-Modell
weiterentwickelt. Jedes Projekt unterhält einen
öffentlich zugänglichen
Quellcode-Baum, der mit dem Concurrent Versions System
(CVS) verwaltet wird, und alle Quellen des Projekts, die
Dokumentation und andere notwendige Dateien enthält.
CVS erlaubt es Anwendern, jede gewünschte Version des
Systems auszuchecken (mit anderen Worten, eine
Kopie des System zu erhalten).Eine Vielzahl von Entwicklern trägt weltweit zur
Verbesserung von BSD bei. Dabei werden drei Typen
unterschieden:Ein Contributor schreibt Code
oder Dokumentationen. Ihm ist es nicht gestattet, seinen
Beitrag direkt in den Quellbaum einfließen zu lassen.
Bevor dieser Code in das System eingebracht wird, muss er von
einem registrierten Entwickler, dem
Committer geprüft werden.Committer können Code in
den Quellbaum einbringen, das heißt sie besitzen
Schreibrechte für den Quellcode-Baum. Um ein
Committer zu werden, muss man zuerst seine Fähigkeiten
im gewünschten Gebiet unter Beweis stellen.Es liegt im Ermessen des Committers, ob er die
Allgemeinheit befragt, bevor er Änderungen am Quellbaum
vornimmt. In der Regel wird ein erfahrener Committer
korrekte Änderungen einfügen, ohne sich mit anderen
abzustimmen. Ein Committer des Documentation Projects
könnte etwa typografische oder grammatikalische
Korrekturen ohne lange Diskussion durchführen. Auf der
anderen Seite sollten Änderungen mit weitreichenden
Konsequenzen vor dem Commit zur Begutachtung bereitgestellt
werden. Im Extremfall kann ein Mitglied des Core Teams, das
als Principal Architect fungiert, sogar die Entfernung der
Änderung aus dem Quellcodebaum veranlassen. Dieser
Vorgang wird als backing out
bezeichnet. Alle Committer werden durch eine E-Mail
über die erfolgte Änderung informiert. Es ist
daher nicht möglich, heimlich eine Änderung
durchzuführen.Das Core Team. Sowohl FreeBSD
als auch NetBSD besitzen ein Core Team zur Betreuung des
jeweiligen Projekts. Da die Core Teams erst im
Projektverlauf entstanden, ist ihre Rolle nicht genau
definiert. Um ein Mitglied des Core Teams zu sein, muss
man kein Entwickler sein, obwohl dies die Regel ist. Die
Regeln der Core Teams unterscheiden sich von Projekt zu
Projekt, generell gilt aber, das dessen Mitglieder mehr
Einfluss auf die Richtung des Projekts haben als
Nichtmitglieder.Diese Konstellation unterscheidet sich von Linux in
einigen Punkten:Es sind stets mehrere Personen für das System
verantwortlich. In der Praxis ist dieser Unterschied aber
nicht gravierend, da zum einen der Principal Architect
verlangen kann, dass Änderungen zurückgenommen
werden, und zum anderen auch beim Linux-Projekt mehrere
Personen das Recht haben, Änderungen
vorzunehmen.Es existiert ein zentraler
Aufbewahrungsort (Repository), in dem die kompletten
Betriebssystemquellen zu finden sind, einschließlich
aller älteren Versionen.BSD-Projekte pflegen das komplette
Betriebssystem, nicht nur den Kernel. Dieser
Unterschied ist aber marginal, da weder BSD noch Linux ohne
Anwendungsprogramme sinnvoll einsetzbar sind. Die unter BSD
eingesetzten Applikationen sind oft identisch mit denen
von Linux.Da beim BSD-Projekt nur ein CVS-Quellbaum gepflegt
werden muss, ist die Entwicklung übersichtlicher, und es
ist möglich, auf jede beliebige Version einer Datei
zuzugreifen. CVS ermöglicht auch inkrementelle Updates:
Das FreeBSD-Repository wird beispielsweise etwa 100 Mal pro
Tag verändert. Viele dieser Änderungen betreffen
aber nur einen relativen kleinen Bereich von FreeBSD.BSD-VersionenFreeBSD, NetBSD und OpenBSD stellen drei verschiedene
Ausgaben (Releases) zur Verfügung. Analog
zu Linux erhalten diese Ausgaben eine Nummer, etwa 1.4.1 oder
3.5. Die Versionsnummer erhält zusätzlich ein Suffix,
das den Verwendungszweck bezeichnet:Die Entwicklerversion hat das Suffix
CURRENT. FreeBSD weist diesem Suffix
eine Nummer zu, z.B. FreeBSD 5.0-CURRENT. NetBSD verwendet
ein etwas anderes Bezeichnungsschema und hängt als
Suffix nur einen Buchstaben an die Versionsnummer an, der
Änderungen an den internen Schnittstellen anzeigt, z.B.
NetBSD 1.4.3G. OpenBSD weist der Entwicklerversion keine
Nummer zu, sie heißt also einfach OpenBSD-current.
Neue Entwicklungen werden zuerst in diesen Zweig
eingefügt.In regelmäßigen Intervallen, durchschnittlich
zwei- bis viermal im Jahr, wird eine so genannte
RELEASE-Version des Systems
veröffentlicht, die dann beispielsweise als
OpenBSD 2.6-RELEASE oder NetBSD 1.4-RELEASE
bezeichnet wird. Diese sind sowohl auf CD-ROM
als auch als freier Download von den FTP-Servern der Projekte
erhältlich. Diese RELEASE-Versionen sind für
Endbenutzer gedacht. NetBSD verwendet sogar eine dritte
Ziffer, um gepatchte Releases zu kennzeichnen
(etwa NetBSD 1.4.2).Sobald Fehler in einer RELEASE-Version gefunden werden,
werden diese beseitigt und in den CVS-Baum eingefügt.
Beim FreeBSD-Projekt wird die daraus resultierende Version
als STABLE bezeichnet, während
sie bei NetBSD und OpenBSD weiterhin RELEASE heißt.
Kleinere Änderungen, die sich nach einer Testphase im
CURRENT-Zweig als stabil erweisen, können ebenfalls
in die STABLE-Version einfließen.Bei Linux werden hingegen zwei getrennte
Code-Bäume gepflegt: Eine stabile Version und eine
Entwicklerversion. Stabile Versionen haben an der zweiten
Stelle eine gerade Ziffer (2.0, 2.2 oder 2.4).
Entwicklerversionen haben an der zweiten Stelle eine ungerade
Ziffer (2.1, 2.3 oder 2.5). In jedem Fall folgt der
zweiten Ziffer noch eine dritte, welche die Version genauer
bezeichnet. Zusätzlich fügt jeder Verkäufer
einer Linux-Distribution selbst Programme und Werkzeuge hinzu.
Daher ist auch der Name der Distribution nicht unwichtig, da
dieser ebenfalls eine Versionsnummer enthält. So kann die
vollständige Beschreibung beispielsweise so aussehen:
TurboLinux 6.0 mit
Kernel 2.2.14Welche BSD-Versionen gibt es überhaupt?Im Gegensatz zu den zahlreichen Linux-Distributionen gibt es
nur vier große frei verfügbare BSDs. Jedes BSD-Projekt
unterhält seinen eigenen Quellcode-Baum und seinen eigenen
Kernel. In der Praxis scheinen die Unterschiede im Code der
Anwenderprogramme aber geringer zu sein als bei Linux.Es ist nicht einfach, die Ziele der einzelnen BSD-Projekte
genau zu trennen, da die Unterschiede eher subtiler Natur
sind:FreeBSD will eine hohe Leistung erreichen, für
den Benutzer einfach in der Bedienung sein, und wird von
Internetanbietern bevorzugt eingesetzt. Es läuft
auf einer Vielzahl von Plattformen, darunter
i386-Systeme (PCs), Systeme mit einem
AMD 64-Bit-Prozessor, &ultrasparc;-Systeme,
Compaq Alpha-Systeme, sowie Systeme, die der
Spezifikation NEC PC-98 entsprechen. Das
FreeBSD-Projekt hat die mit Abstand größte
Anwenderzahl unter den frei verfügbaren
BSD-Systemen.Bei NetBSD ist Portabilität das oberste Ziel:
Natürlich läuft NetBSD darauf.
NetBSD kann auf vielen verschiedenen Systemen, von Palmtops
bis hin zu großen Servern, installiert werden, und
wurde sogar schon im Raumfahrtprogramm der NASA eingesetzt.
Besonders für alte Nicht-Intel-Plattformen ist NetBSD
die erste Wahl.Bei OpenBSD stehen die Sicherheit und sauberer Code im
Vordergrund. OpenBSD verbindet bei der Weiterentwicklung
des Systems Open Source-Konzepte mit rigorosen
code reviews. Dadurch
entsteht ein sehr sicheres System, das OpenBSD für
sicherheitsbewusste Unternehmen, Banken, Börsen
und die US-Regierung zu ersten Wahl macht. Auch OpenBSD
läuft, ähnlich wie NetBSD, auf vielen
verschiedenen Plattformen.Das Ziel von DragonFlyBSD ist eine hohe Leistung und
Skalierbarkeit auf allen Systemen, vom Einzelplatzrechner bis
hin zu riesigen Cluster-Systemen. DragonFlyBSD verfolgt dabei
langfristig verschiedene technische Ziele, der Schwerpunkt der
Entwicklung liegt aber auf der Bereitstellung einer
SMP-fähigen Infrastruktur, die leicht zu verstehen, zu
warten und weiterzuentwickeln ist.Es gibt noch zwei weitere BSD &unix; Systeme, die aber
nicht Open Source sind: BSD/OS sowie Apples
&macos; X:BSD/OS war das älteste, von 4.4BSD abstammende
Betriebssystem. Es war zwar nicht Open Source,
Quellcode-Lizenzen konnten aber relativ günstig
erworben werden. Es wies viele Gemeinsamkeiten mit
FreeBSD auf. Zwei Jahre, nachdem BSDi von Wind River Systems
übernommen worden war, wurde die Entwicklung von BSD/OS
als eigenständiges Produkt eingestellt. Zwar wird BSD/OS
von Wind River noch unterstützt, eine aktive Weiterentwicklung
erfolgt allerdings nur noch für das Embedded-Betriebssystem
VxWorks.Bei
&macos; X handelt es sich um die neueste
Version des Betriebssystems der &macintosh;-Linie von
Apple Computer Inc.'s.
Darwin,
der BSD-Kern des Betriebssystems ist als voll
funktionsfähiges Open Source-Betriebssystem für
x86- sowie PPC-Computer erhältlich. Die grafische
Oberfläche Aqua/Quartz und andere proprietäre
Anwendungen von &macos; X sind aber weiterhin
closed-source Software. Einige Darwin-Entwickler sind
auch FreeBSD-Committer, was auch für den umgekehrten
Fall gilt.Worin unterscheidet sich die BSD-Lizenz von der GNU
Public License?Linux steht unter der GNU General Public
License (GPL), die entworfen wurde, um closed-source
Software zu verhindern. Jede Software, die von einer Software
abgeleitet wurde, die unter der GPL steht, muss wieder unter
der GPL veröffentlicht werden. Auf Verlangen ist auch
der Quellcode zur Verfügung zu stellen. Die
BSD-Lizenz ist dagegen weniger restriktiv: Der
Quellcode muss nicht zur Verfügung gestellt werden, es
können also auch Binärdateien verbreitet werden.
Dieser Umstand ist besonders für Anwendungen im
Embedded-Bereich interessant.Was sollte ich sonst noch wissen?Da für BSD weniger Anwendungsprogramme verfügbar
waren als für Linux, wurde ein Softwarepaket entwickelt, das
die Ausführung von Linuxprogrammen unter BSD
ermöglicht. Dieses Paket enthält zwei Dinge:
Kernelmodifikationen zur korrekten Ausführung von
Linux-Systemaufrufen sowie Linuxkompatibilitätsdateien,
beispielsweise die C-Bibliothek von Linux. Unterschiede in der
Ausführungsgeschwindigkeit von Linuxanwendungen auf einem
Linuxrechner und einem vergleichbaren mit BSD ausgestatteten
Rechner sind in der Praxis so gut wie nicht feststellbar.Die Alles-aus-einer-Hand-Natur von BSD
hat den Vorteil, dass Upgrades im Vergleich zu Linux häufig
leichter durchzuführen sind. BSD aktualisiert
Bibliotheken, indem es Kompatibilitätsmodule für
ältere Versionen der Bibliotheken bereitstellt. Daher ist
es möglich, auch mehrere Jahre alte Binärdateien ohne
Probleme auszuführen.Was soll ich nun benutzen, BSD oder Linux?Was heißt das nun alles für die Praxis? Wer
sollte BSD, wer Linux benutzen?Diese Frage ist nicht einfach zu beantworten. Trotzdem
folgen nun einige Empfehlungen:Wenn es nicht kaputt ist, fass' es nicht
an!: Wenn Sie schon ein frei verfügbares
Betriebssystem verwenden und damit glücklich sind,
gibt es eigentlich keinen vernünftigen Grund für
einen Wechsel.BSD-Systeme, inbesondere FreeBSD, können eine
weitaus bessere Leistung als Linux-Systeme aufweisen. Diese
Aussage ist aber nicht allgemein gültig. In den
meisten Fällen sind die Leistungsunterschiede aber
gering oder gar nicht festzustellen. In bestimmten
Fällen kann auch Linux eine bessere Leistung
aufweisen.In der Regel haben BSD-Systeme den Ruf,
zuverlässiger zu sein. Diese Aussage beruht auf der
reiferen Codebasis.Die BSD-Projekte haben den Ruf, über qualitativ
und quantitativ bessere Dokumentation zu verfügen.
Die verschiedenen Dokumentationsprojekte haben das Ziel,
eine ständig aktualisierte und in zahlreiche Sprachen
übersetzte Dokumentation zu erstellen, die alle
Aspekte des System umfasst.Die BSD-Lizenz kann attraktiver sein als
die GPL.BSD-Systeme können die meisten Linuxprogramme
ausführen, während Linux keine BSD-Programme
ausführen kann. Viele BSD-Systeme können sogar
Programme von anderen &unix; ähnlichen Systemen
ausführen. Daraus könnte man ableiten, dass die
Migration auf ein BSD-System einfacher ist, als es bei
Linux der Fall wäre.Wo gibt es Support, Serviceleistungen und Schulungen
für BSD?BSDi / FreeBSD
Mall, Inc. bieten seit fast 10 Jahren
Support-Verträge für FreeBSD an.Darüber hinaus finden sich auf den folgenden Seiten der
einzelnen Projekte Firmen, die Supportleistungen anbieten:
FreeBSD,
NetBSD,
und OpenBSD.
diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml
index 96314a4118..756e065a06 100644
--- a/de_DE.ISO8859-1/books/faq/book.sgml
+++ b/de_DE.ISO8859-1/books/faq/book.sgml
@@ -1,13509 +1,13517 @@
%books.ent;
]>
Häufig gestellte Fragen zu FreeBSD
5.X und 6.XFrequently Asked Questions zu FreeBSD
5.X und 6.XThe FreeBSD German Documentation
ProjectDeutsche Übersetzung von Robert S. F.
Drehmel, Dirk Gouders, Udo Erdelhoff und Johann Kois
- $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.600 2007/07/25 09:04:03 jkois Exp $
+ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.602 2007/07/30 19:56:36 jkois Exp $1995199619971998199920002001200220032004200520062007The FreeBSD Documentation Project20002001200220032004200520062007The FreeBSD German Documentation Project
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.adobe;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.iomega;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.mips;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.sgi;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.usrobotics;
&tm-attrib.xfree86;
&tm-attrib.general;
Dies ist die FAQ für die FreeBSD-Versionen
5.X und 6.X. Alle Einträge sollten für FreeBSD
ab Version 5.0 relevant sein, andernfalls wird darauf explizit
hingewiesen. Falls Sie daran
interessiert sein sollten, an diesem Projekt mitzuarbeiten,
senden Sie eine Mail an die Mailingliste &a.de.translators;. Die
aktuelle Version dieses Dokuments ist ständig auf dem
FreeBSD
World-Wide-Web-Server verfügbar. Sie kann aber auch
als eine einzige große HTML-Datei, als Textdatei, als
&postscript;- oder PDF-Datei sowie in verschiedenen anderen
Formaten vom FreeBSD
FTP-Server heruntergeladen werden. Alternativ können
Sie die FAQ auch durchsuchen.EinleitungWillkommen zur FreeBSD 5.X-6.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 erfassen und sie
natürlich auch zu beantworten. Obwohl FAQs
ursprünglich lediglich dazu dienen sollten, die
Netzbelastung zu reduzieren und das ständige Wiederholen
derselben Fragen zu vermeiden, haben sie sich als wertvolle
Informationsquellen etabliert.Wir haben uns die größte Mühe gegeben, diese
FAQ so lehrreich wie möglich zu gestalten; falls Sie
irgendwelche Vorschläge haben, wie sie verbessert werden
- kann, senden Sie diese bitte an den &a.de.translators;.
+ kann, senden Sie diese bitte an die Mailingliste des
+ &a.de.translators;.
Was ist FreeBSD?FreeBSD ist, kurz gesagt, ein &unix; ähnliches
Betriebssystem für die Plattformen Alpha/AXP, AMD64
sowie &intel; EM64T, &i386;, IA-64, PC-98 und &ultrasparc;,
das auf der 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
den Internetseiten des
FreeBSD Projects.Unternehmen, Internet Service Provider, Forscher,
Computerfachleute, Studenten und Privatnutzer auf der
ganzen Welt benutzen FreeBSD für die Arbeit, die
Ausbildung oder zur Freizeitgestaltung.Ausführlichere Informationen zu FreeBSD, finden
Sie im FreeBSD
Handbuch.Welches Ziel hat das FreeBSD Project?Die Ziel von FreeBSD ist es, Software zur Nutzung
für beliebige Zwecke, bedingungslos zur
Verfügung zu stellen. Viele von uns haben
erheblich zur Erstellung des Codes (und zum Projekt)
beigetragen und hätten jetzt oder in Zukunft
sicherlich nichts gegen einen geringen finanziellen
Ausgleich einzuwenden, aber wir beabsichtigen definitiv
nicht, darauf zu bestehen. Wir sind der Meinung,
dass unsere 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 der
etwas lockereren FreeBSD
Lizenz unterliegt, zu ersetzen.Beinhaltet das FreeBSD-Copyright irgendwelche
Einschränkungen?Ja. Diese Einschränkungen regeln aber nicht, wie
Sie mit dem Sourcecode umgehen, sondern betreffen nur den
Umgang mit dem FreeBSD Project an sich. Wenn Sie sich
ernsthaft damit auseinandersetzen wollen, lesen Sie
einfach die
FreeBSD-Lizenz. Wenn Sie einfach nur neugierig
sind, sollte diese Zusammenfassung ausreichen:Behaupten Sie nicht, Sie hätten es
geschrieben.Verklagen Sie uns nicht, wenn irgend etwas nicht
funktioniert.Kann FreeBSD mein bisher verwendetes Betriebssystem
ersetzen?In den meisten Fällen lautet die Antwort ja.
Allerdings ist diese Frage nicht ganz so einfach, wie sie
scheint.Die meisten Anwender benutzen kein Betriebssystem,
sondern Anwendungen. Die Anwendungen sind es, die das
Betriebssystem benutzen. FreeBSD ist dazu gedacht, eine
stabile und vielfältige Umgebung für Anwendungen
bereitzustellen. Es unterstützt viele
unterschiedliche Web-Browser, Büroanwendungen,
E-Mail-Programme, Grafik-Programme, Entwicklungsumgebungen,
Netzwerk-Server, und so ziemlich alles andere, was Sie sich
wünschen können. Die meisten dieser Anwendungen
sind in der
Ports-Sammlung verfügbar.Wenn Sie Anwendung benutzen müssen, die es nur
für ein bestimmtes Betriebssystem gibt, dann kommen
Sie an diesem Betriebssystem nicht vorbei. Allerdings
stehen die Chancen nicht schlecht, dass es eine
vergleichbare Anwendung für FreeBSD gibt. Wenn Sie
einen verläßlichen Server für ihr
Büro oder das Internet brauchen, oder eine stabilen
Arbeitsplatz, oder einfach nur die Fähigkeit, ihre
Arbeit ohne dauernde Abstürze machen zu können,
dann kann FreeBSD genau das sein. Viele Anwender auf der
ganzen Welt, vom Anfänger bis zum erfahrenen
Administrator, benutzen an Ihren Arbeitsplätzen
ausschließlich FreeBSD.Wenn Sie von einem anderen &unix; System zu FreeBSD
wechseln, dürfte Ihnen vieles bekannt vorkommen.
Wenn Ihr Hintergrund ein Grafik-orientiertes
Betriebssystem wie &windows; oder ein älteres &macos;
ist, werden Sie zusätzliche Zeit investieren
müssen, um den &unix; Stil zu verstehen. Dieser FAQ
und das FreeBSD
Handbuch sind die besten Startpunkte.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 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, dass das englische
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.Wie unterschieden sich FreeBSD, NetBSD, OpenBSD
und andere Open-Source BSD-Systeme?James Howards Artikel
The
BSD Family Tree, der in
DaemonNews
erschienen ist, beschreibt sehr gut die Geschichte und die
Unterschiede der BSD-Varianten.Welches ist die aktuelle FreeBSD-Version?Momentan gibt es zwei Entwicklungszweige,
die für die Erstellung von Releases verwendet werden.
Die 5.X-RELEASEs werden auf dem
5-STABLE-Zweig erstellt, die
6.X-RELEASEs auf dem 6-STABLE-Zweig.Bis zur Veröffentlichung von &os; 5.3 galt
die 4.X-Serie als -STABLE. Seither
gibt es für den Zweig 4.X nur mehr eine
erweiterte Unterstützung in der Form
von Korrekturen von größeren Problemen, wie
neu entdeckten Sicherheitsheitslücken. Aus dem Zweig
5-STABLE werden zwar noch
RELEASEs erzeugt, er gilt aber als ausgereift.
Aktive Weiterentwicklungen konzentrieren sich daher auf den
Zweig 6-STABLE.
Version &rel.current;
ist das aktuelle Release des
6-STABLE-Zweigs und ist im
Januar 2007 erschienen.
Version &rel2.current;
ist das aktuelle Release aus dem
5-STABLE-Zweig und ist im
Mai 2006 erschienen.Kurz gesagt, -STABLE ist
für ISPs und andere Benutzer gedacht, die mehr Wert
auf Stabilität und eine niedrige
Änderungsfrequenz als auf die neuesten und
möglicherweise unstabilen Features im
aktuellen -CURRENT Snapshot legen.
Releases können aus jedem Zweig entstehen, Sie
sollten -CURRENT allerdings nur dann
benutzen, wenn Sie auf ein erhöhtes Fehlverhalten
im Vergleich zu -STABLE auch
vorbereitet sind.Releases entstehen nur alle paar Monate. Viele
Leute halten ihre Systeme aktueller (lesen Sie die Fragen
zu &os;-CURRENT und
&os;-STABLE), aber das
erfordert ein erhöhtes Engagement, da die Sourcen
sich ständig verändern.Weitere Informationen über Releases entnehmen
Sie der Seite Release
Engineering des FreeBSD Webauftritts.Was ist FreeBSD-CURRENT?
&os;-CURRENT ist die Entwicklungsversion des
Betriebssystems, aus der zu gegebener Zeit &os.stable;
werden wird. Als solche ist sie lediglich für
Entwickler, die am System mitarbeiten und für
unentwegte Bastler von Interesse. Details zum Betrieb von
-CURRENT finden Sie im
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 &os;-CURRENT nicht verwenden.
Dieser Zweig entwickelt sich manchmal sehr schnell weiter
und kann gelegentlich für mehrere Tage hintereinander
nicht installierbar sein. Von Personen, die
&os;-CURRENT verwenden, wird erwartet, dass Sie
dazu in der Lage sind, Probleme zu analysieren und nur
dann von ihnen berichten, wenn es sich um Fehler und nicht
um 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
Release 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 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, dass wir später
einmal ernsthaften Schaden anrichten sollten (obwohl
CVS verhindern sollte, dass solche Situationen
entstehen :)Sicherzustellen, dass alle zu testenden, neuen
Merkmale und Fehlerbehebungen zu möglichst vielen
potentiellen Testern 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 sind auf der Snapshots-Seite
verfügbar.In der Regel wird jeden Tag ein Snapshot jedes zur
Zeit aktiven Zweiges erstellt.Was ist das Konzept von FreeBSD-STABLE?Zur der Zeit, als FreeBSD 2.0.5 herausgegeben wurde,
wurde entschieden, die Entwicklung von FreeBSD zweizuteilen.
Ein Zweig wurde -STABLE,
der andere -CURRENT
genannt. FreeBSD-STABLE ist für Anbieter von
Internetdiensten und andere kommerzielle Unternehmen
gedacht, für die plötzliche Veränderungen
und experimentelle Features unerwünscht sind.
In diesem Zweige werden nur ausgetestete
Fehlerbehebungen und kleine, inkrementelle Änderungen
aufgenommen. FreeBSD-CURRENT ist eine ununterbrochene
Linie seitdem die Version 2.0 herausgegeben worden
ist. Sie führt zu 6.2-RELEASE (und darüber
hinaus). Unmittelbar vor der Veröffentlichung von
6.0-RELEASE wurde der 6-STABLE-Zweig erschaffen und
&os.current; wurde zu 7-CURRENT. Weitere Informationen zu
diesem Thema finden Sie unter
FreeBSD Release Engineering: Creating the Release
Branch.Der Zweig 2.2-STABLE wurde mit der
Veröffentlichung der Version 2.2.8 eingestellt. Der
Zweig 3-STABLE endete mit Version 3.5.1, der letzten
3.X-Version, der Zweig 4.X endete mit der Version 4.11,
der letzten 4.X-Version. Änderungen in diesen Zweigen
beschränken sich im allgemeinen auf die Korrektur von
sicherheitsrelevanten Fehlern. Der Zweig 5-STABLE wird zwar
noch unterstützt, die Unterstützung
beschränkt sich allerdings auf das Schließen von
neu entdeckten Sicherheitslücken und die Behebung
von anderen ernsten Problemen.&rel.current;-STABLE ist der Zweig, auf den sich die
Entwicklung von -STABLE zurzeit konzentriert. Das neueste
Release aus dem &rel.current;-STABLE-Zweig ist
&rel.current;-RELEASE und ist im Januar 2007
erschienen.Aus dem 7-CURRENT-Zweig entsteht die nächste
&os;-Generation. Weitere Informationen über diesen
Zweig finden Sie unter Was ist FreeBSD-CURRENT?.Wann werden FreeBSD-Versionen erstellt?Im Schnitt gibt das &a.re; alle vier Monate eine neue
FreeBSD-Version frei. Das Erscheinungsdatum
einer neuer Version wird frühzeitig bekanntgegeben,
damit die am System arbeitenden Personen wissen, bis wann
ihre Projekte abgeschlossen und ausgetestet sein
müssen. Vor jedem Release gibt es eine Testperiode um
sicherzustellen, dass die neu hinzugefügten Features
nicht die Stabilität des Releases beeinträchtigen.
Viele Benutzer halten dies für einen
großen Vorteil von FreeBSD, obwohl es manchmal
frustrierend sein kann, so lange auf die
Verfügbarkeit der aktuellsten Leckerbissen zu
warten.Weitere Informationen über die Entwicklung von
Releases, sowie eine Übersicht über kommende Releases,
erhlaten Sie auf den release
engineering Seiten der FreeBSD Webseite.Für diejenigen, die ein wenig mehr Spannung
brauchen (oder möchten), werden täglich
Snapshots herausgegeben, wie oben beschrieben.Wer ist für FreeBSD verantwortlich?Schlüsseldiskussionen, die das FreeBSD Project
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
Teams von 9 Personen geführt. Es gibt
ein weitaus größeres Team von über 350
Committern,
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.Wie kann ich FreeBSD beziehen?Jede bedeutende Ausgabe von FreeBSD ist per
Anonymous-FTP vom FreeBSD FTP
Server erhältlich:Das aktuelle 6-STABLE-Release, &rel.current;-RELEASE,
finden Sie im Verzeichnis &rel.current;-RELEASE.
Snapshots-Releases werden täglich aus dem
-CURRENT-Zweig sowie aus
dem -STABLE-Zweig erzeugt.
Sie sollten aber nur von Entwicklern und sehr erfahrenen
Testern verwendet werden.Das aktuelle Release von 5-STABLE,
&rel2.current;-RELEASE finden Sie im Verzeichnis &rel2.current;-RELEASE.Wo und wie Sie FreeBSD auf CD, DVD, und anderen Medien
beziehen können, erfahren Sie im Handbuch.Wie greife ich auf die Datenbank mit Problemberichten
zu?Die Datenbank mit Problemberichten (PR,
problem report) und
Änderungsanfragen von Benutzern kann
über die webbasierte
PR-Abfrage-Schnittstelle abgefragt werden.Mit dem Programm &man.send-pr.1; können Sie
Problemberichte oder Änderungsanträge per E-Mail
einsenden. Alternativ können Sie Problemberichte
auch über Ihren Browser und die
webbasierte
PR-Eingabe-Schnittstelle erstellen.Bevor Sie einen Fehler melden, sollten Sie sich zuerst
den Artikel Writing
FreeBSD Problem Reports durchlesen, damit Sie
wissen, wie Sie eine gute Fehlermeldung verfassen.Gibt es weitere Informationsquellen?Sie finden eine umfassende Liste unter Documentation
auf der FreeBSD-Webseite.Dokumentation und SupportGibt es gute Bücher über FreeBSD?Im Zuge des FreeBSD Projekts sind diverse gute
Dokumente entstanden, die unter der
folgenden URL abgerufen werden können:
.
Die Dokumente stehen auch als Pakete, die Sie leicht
installieren können, zur Verfügung. In den
nächsten Abschnitten erfahren Sie mehr über diese
Pakete.Zusätzlich enthalten die Bibliographien am Ende
dieser FAQ und im Handbuch Verweise auf weitere empfohlene
Bücher.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. Zurzeit werden die folgenden Sprachen und
Zeichensätze benutzt:NameBedeutungbn_BD.ISO10646-1Bengalisch (oder Bangla) da_DK.ISO8859-1Dänischde_DE.ISO8859-1Deutschen_US.ISO8859-1Amerikanisches Englisches_ES.ISO8859-1Spanischfr_FR.ISO8859-1Französischit_IT.ISO8859-15Italienischhu_HU.ISO8859-2Ungarischja_JP.eucJPJapanisch (EUC-kodiert)mn_MN.UTF-8Mongolisch (UTF-8-kodiert)nl_NL.ISO8859-1Niederländischpl_PL.ISO8859-2Polnischpt_BR.ISO8859-1Brasilianisches Portugiesischru_RU.KOI8-RRussisch (KOI8-R-kodiert)sr_YU.ISO8859-2Serbischtr_TR.ISO8859-9Türkischzh_CN.GB2312Vereinfachtes Chinesisch (GB2312-kodiert)zh_TW.Big5Chinesisch (Big5-kodiert)Einige Dokumente sind nicht in allen Sprachen
verfügbar.Das Format des Dokumentes. Die Dokumentation wird
in verschiedenen Formaten erzeugt, von denen jedes seine
eigenen Vor- und Nachteile hat. Einige Formate lassen sich
gut an einem Bildschirm lesen, während andere Formate
dafür gedacht sind, ein ansprechendes Druckbild zu
erzeugen. Das die Dokumentation in verschiedenen Formaten
verfügbar ist, stellt sicher, dass unsere Leser
die für sie relevanten Teile unabhängig vom
Ausgabemedium (Bildschirm oder Papier) lesen können.
Derzeit werden die folgenden Formate
unterstützt:FormatErklärunghtml-splitViele kleine HTML-Dateien, die sich
gegenseitig referenzieren.htmlEine große HTML-Datei, die das
komplette Dokument enthält.pdbPalm Pilot Datenbank für das
Programm iSilo.pdfAdobe's Portable Document Formatps&postscript;rtfMicrosoft'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
CtrlA,
CtrlEnd,
F9 eingeben, um die
Seitennummern aktualisieren zu
lassen.txtGanz normaler TextDas 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; zusammengefasst. 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 zwei verschiedenen
Programmen komprimiert.ProgrammBeschreibungzipDas Zip-Format. Wenn Sie diese
Dateien unter FreeBSD auspacken wollen,
müssen sie vorher den Port
archivers/unzip
installieren.bz2Das BZip2-Format. Es wird seltener
als das Zip-Format
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.ps.bz2 und ist im
Verzeichnis handbook/ zu
finden.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, dass 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 Dateien liegen in einem separaten Verzeichnis mit dem
Namen packages und werden nach dem Schema
Dokument-Name.Sprache.Zeichensatz.Format.tgz
benannt.Ein Beispiel: Die englische Version der FAQ im
PDF-Format ist in dem Package mit dem Namen
faq.en_US.ISO8859-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.ISO8859-1.pdf.tgzDanach können Sie mit &man.pkg.info.1; nachsehen,
wo die Datei installiert wurde.&prompt.root; pkg_info -f faq.en_US.ISO8859-1.pdf
Information for faq.en_US.ISO8859-1.pdf:
Packing list:
Package name: faq.en_US.ISO8859-1.pdf
CWD to /usr/share/doc/en_US.ISO8859-1/books/faq
File: book.pdf
CWD to .
File: +COMMENT (ignored)
File: +DESC (ignored)Wie Sie sehen können, wurde die Datei
book.pdf im Verzeichnis
/usr/share/doc/en_US.ISO8859-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.bzip2.1; gepackte
split HTMLVersion der englischen FAQ
herunterladen und installieren wollten, bräuchten
Sie die Datei
doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2.
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.ISO8859-1/books/faq/book.html-split.tar.bz2
&prompt.root; gzip -d book.html-split.tar.bz2
&prompt.root; tar xvf book.html-split.tarDanach 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.Woher bekomme ich Informationen zu den FreeBSD
Mailinglisten?Vollständige Informationen finden Sie im Handbucheintrag
über Mailinglisten.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 #FreeBSDHelp im
DALNET
ist in den USA unter irc.dal.net
sowie 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 RUSNET ist ein
russischsprachiger Channel, der sich der
Unterstützung von &os;-Anwendern verschrieben hat.
Er ist auch ein guter Startpunkt für
nichttechnische Diskussionen.Der Channel #BSDChat im
IRCNET
(Sprache: traditionelles Chinesisch) hat sich der
Unterstützung von &os;-Anwendern verschrieben.
Er ist auch ein guter Startpunkt für
nichttechnische Diskussionen.Alle diese Kanäle unterscheiden sich voneinander
und sind nicht miteinander verbunden. Ebenso
unterscheiden sich Ihre Chat-Stile, weshalb es sein kann,
dass Sie zunächst alle Kanäle ausprobieren
müssen, um den zu Ihrem Chat-Stil passenden zu
finden. Hier gilt, was für
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.Gibt es Firmen, die Training und Support für
FreeBSD anbieten?DaemonNews bietet Training und Support für
FreeBSD an. Weitergehende Informationen finden Sie in der
BSD
Mall.Die FreeBSD Mall bietet ebenfalls professionellen
FreeBSD support an. Weitergehende Informationen finden
Sie auf ihrer Webseite.Wenn Ihre Firma oder Organisation ebenfalls Training
und Support anbietet und hier genannt werden möchte,
wenden Sie sich bitte an das FreeBSD Project.NikClaytonnik@FreeBSD.orgInstallationWelche Dateien muss ich herunterladen, um FreeBSD
zu bekommen?Sie benötigen drei Floppy-Images:
floppies/boot.flp,
floppies/kern1.flp sowie
floppies/kern2.flp. 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:base/manpagescompat*docsrc/ssys.*Vollständige Instruktionen für dieses
Vorgehen und ein wenig mehr zur Installation generell
finden Sie im Handbucheintrag zur
Installation von FreeBSD.Was soll ich tun, wenn das Floppy-Image nicht auf eine
Diskette passt?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?Der Betrieb von &os; 5.X und neuer erfordert
mindestens einen 486er Prozessor mit mindestens 24 MB
RAM sowie mindestens 150 MB an Festplattenspeicher.Alle &os;-Versionen laufen mit einer einfachen
MDA-Grafikkarte, für &xorg; benötigen Sie allerdings
eine VGA- oder eine bessere Videokarte.Lesen Sie auch den Abschnitt
Hardwarekompatibilität.Wie kann ich eine angepasste
Installationsdiskette erstellen?Zurzeit gibt es keine Möglichkeit,
nur die angepassten
Installationsdisketten zu erstellen. Sie müssen sich
eine ganz neues Release erstellen, das Ihre
Installationsdiskette enthält.Wenn Sie eine modifizierte Ausgabe erstellen wollen,
finden Sie eine Anleitung im Artikel
FreeBSD Release Engineering.Kann ich mehr als ein Betriebssystem auf meinem PC
unterbringen?Sehen Sie sich Die
Multi-OS-Seite an.Kann &windows; neben FreeBSD existieren?Installieren Sie zuerst &windows;, dann FreeBSD.
Der Bootmanager von FreeBSD kann dann entweder &windows;
oder FreeBSD booten. Falls Sie &windows; nach FreeBSD
installieren, wird es, ohne zu fragen, Ihren Bootmanager
überschreiben. Lesen Sie den nächsten
Abschnitt, falls das passieren sollte.&windows; 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.binund der Bootmanager wird neu installiert.Booten Sie FreeBSD wieder mit der Bootdiskette und
wählen Sie den Menüeintrag Custom Installation.
Wählen Sie Partition. Wählen Sie das
Laufwerk, auf dem sich der Bootmanager befand
(wahrscheinlich der erste Eintrag) und wenn Sie in den
Partitioneditor gelangen, wählen Sie als aller
erstes (nehmen Sie z.B. keine Änderungen vor)
(W)rite. Sie werden nach einer Bestätigung
gefragt, antworten ja und vergessen Sie nicht, in der
Bootmanager-Auswahl Boot Manager
auszuwählen. Hierdurch wird der Bootmanager
wieder auf die Festplatte geschrieben. Verlassen Sie
nun das Installationsmenü und rebooten wie
gewöhnlich von der Festplatte.Booten Sie FreeBSD wieder mit der Bootdiskette
(oder der CDROM) 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 bootdeviceAls 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
Controller), da0 (erste
SCSI-Platte), usw.Mein IBM Thinkpad Modell A, T oder X, hängt sich
auf, wenn ich FreeBSD zum ersten Mal starte. Was soll ich
machen?Ein Fehler in den ersten BIOS-Versionen dieser
Geräte führt dazu, dass sie die von FreeBSD
genutzte Partition für eine Suspend-To-Disk-Partition
halten. Wenn das BIOS dann versucht, diese Partition
auszuwerten, hängt sich das System auf.Laut IBM
In einer Mail von Keith Frechette
kfrechet@us.ibm.com.
wurde der Fehler wurde in den folgenden BIOS-Versionen
behoben:GerätBIOS VersionT20IYET49WW oder neuerT21KZET22WW oder neuerA20pIVET62WW oder neuerA20mIWET54WW oder neuerA21pKYET27WW oder neuerA21mKXET24WW oder neuerA21eKUET30WWEs ist möglich, dass neuere Version des IBM
BIOS den Fehler wieder enthalten.
Dieser Beitrag von Jacques Vidrine auf der
Mailingliste &a.mobile; beschreibt eine Technik,
die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop
mit FreeBSD nicht bootet und Sie eine neuere oder
ältere BIOS-Version einspielen können.Wenn Ihr Thinkpad über eine ältere
BIOS-Version verfügt und Sie das BIOS nicht
aktualisieren können, ist eine der möglichen
Lösungen, FreeBSD zu installieren, die Partitions-ID
zu ändern und danach neue Bootblocks zu installieren,
die mit der geänderten ID umgehen
können.Zunächst müssen Sie die Maschine so weit
wiederherstellen, dass sie über den Selbst-Test
hinauskommt. Dazu ist es erforderlich, dass das
System beim Start keine Partitions-ID auf seiner
primären Festplatte findet. Eine Variante ist, die
Platte auszubauen und vorübergehend in einem
älteren Thinkpad (z.B. dem Thinkpad 600) oder (mit
einem passenden Adapter) in einen normalen PC einzubauen.
Sobald dies erfolgt ist, können Sie die
FreeBSD-Partition löschen und die Festplatte wieder
in das Thinkpad einbauen. Das Thinkpad sollte jetzt
wieder starten können.Danach können Sie mit der nachfolgend
beschriebenen Anleitung eine funktionsfähige
FreeBSD-Installation erhalten.Beschaffen Sie sich boot1 und
boot2 von .
Legen Sie diese Dateien so ab, dass Sie
während der Installation darauf zugreifen
können.Installieren Sie ganz wie gewohnt FreeBSD auf dem
Thinkpad. Allerdings dürfen Sie den
Dangerously Dedicated-Modus
nicht benutzen. Nach dem
Abschluss 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 ad0snSetzen 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 FreeBSD auf einer Festplatte mit
beschädigten Blöcken installieren?Prinzipiell ja. Allerdings ist das keine gute
Idee.Wenn Ihnen bei einer modernen IDE-Platte defekte
Sektoren gemeldet werden, wird die Platte mit großer
Wahrscheinlichkeit innerhalb kurzer Zeit vollständig
ausfallen, da die Meldung ein Zeichen dafür ist,
dass die für die Korrektur reservierten Sektoren
bereits verbraucht wurden. Wir raten Ihnen, die Platte
auszutauschen.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! Was sollte ich
tun?Falls Sie beobachten, dass ihr Rechner sich bis
zum Stillstand abmüht oder spontan rebootet,
während Sie versuchen, von der Installationsdiskette
zu booten, sollten Sie sich drei Fragen stellen: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
fdimage bzw.
rawrite in einfachem, reinem DOS
neu gestartet? Es scheint, dass diese
Betriebssysteme Programme stören, die direkt auf
Hardware schreiben, wie es das Erstellungsprogramm
für die Diskette tut; selbst bei der
Ausführung des Programms in einem DOS-Fenster in
der grafischen Benutzeroberfläche kann dieses
Problem auftreten.Es wurde auch darüber berichtet, dass
&netscape; Probleme beim Herunterladen der Bootdisketten
verursacht. Es ist also wahrscheinlich besser, einen
anderen FTP-Client zu benutzen.Ich habe zur Installation von meinem ATAPI CDROM
gebootet, aber das Installationsprogramm sagt mir,
dass es kein CDROM gefunden hat. Was geht hier
ab?Dieses Problem wird üblicherweise durch ein
falsch konfiguriertes CDROM verursacht. Bei vielen PCs
ist das CDROM der Slave am zweiten IDE-Controller, ein
Master ist nicht vorhanden. Laut Spezifikation ist diese
Konfiguration illegal, aber &windows; verletzt die
Spezifikation und das BIOS ignoriert sie, wenn es von
einem CDROM booten soll. Daher konnten Sie zwar vom
CDROM booten, während FreeBSD es nicht für die
Installation benutzen kann.Um dieses Problem zu lösen, müssen Sie
entweder das CDROM als Master an den IDE-Controller
anschließen oder dafür sorgen, dass an dem
vom CDROM genutzten IDE-Controller das CD-ROM als Slave
und ein anderes Gerät als Master angeschlossen
ist.Kann ich auf meinem Laptop per PLIP (Parallel Line IP)
installieren?Ja, Sie brauchen dazu nur ein ganz normales
Laplink-Kabel. Weitere Informationen zum Thema Netzwerke
am Druckerport finden sie im Kapitel PLIP des
Handbuchs.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 wird dafür der
Übersichtlichkeit halber der Begriff C/H/S
verwendet. Das BIOS des PCs berechnet mit diesen
Angaben, auf welche Bereiche der Festplatte es für
Schreib-/Lesezugriffe zugreifen muss).Aus einigen Gründen scheint dies gerade bei
frischgebackenen Systemadministratoren für sehr viel
Verwirrung zu sorgen. Zunächst einmal 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, dass diese Angaben richtig sind.
Insbesondere müssen alle Betriebssysteme mit
derselben Geometrie arbeiten, falls Sie mehr als ein
Betriebssystem auf einer Festplatte haben. Andernfalls
werden Sie ernsthafte Bootprobleme bekommen!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
&ms-dos; 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. Das BIOS sollte dann in der
Lage sein, die richtige Geometrie zu erkennen. Sie
können die Partition jederzeit im Partitioneditor
entfernen, falls Sie sie nicht behalten möchten.
Allerdings kann Sie ganz nützlich sein, um
Netzwerkkarten zu programmieren und
ähnliches.Alternativ können Sie das frei verfügbare
Programm pfdisk.exe verwenden. Sie
finden es im Unterverzeichnis tools
auf der FreeBSD-CDROM und allen FreeBSD FTP-Servern). Mit
diesem Programm können Sie herausfinden, welche
Geometrie die anderen Betriebssysteme auf der Festplatte
verwenden. Diese Geometrie können Sie im
Partitioneditor eingeben.Gibt es irgendwelche Einschränkungen, wie ich die
Festplatte aufteilen darf?Ja. Sie müssen sicherstellen, dass Ihre
Rootpartition innerhalb der ersten 1024 Zylinder liegt, damit
das BIOS den Kernel von Ihr booten kann. (Beachten Sie,
dass es sich um eine Einschränkung durch das
BIOS des PCs handelt und nicht durch FreeBSD).Für ein SCSI-Laufwerk bedeutet dies
normalerweise, dass sich die Rootpartition in den
ersten 1024MB befindet (oder in den ersten 4096MB, falls
die Extended Translation eingeschaltet ist - siehe die
vorherige Frage). Der entsprechende Wert für IDE ist
504MB.Verträgt sich FreeBSD mit Plattenmanagern?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, wie viel
Platz Sie tatsächlich haben. Falls Sie eine alte
Festplatte mit einem MFM-Controller verwenden, könnte
es sein, dass Sie FreeBSD explizit angeben
müssen, wie viele Zylinder es benutzen soll.Falls Sie die Festplatte mit FreeBSD und einem anderen
Betriebssystem benutzen wollen, sollten Sie auch in der Lage
sein, ohne einen Plattenmanager auszukommen: stellen sie
einfach sicher, dass sich die Bootpartition von
FreeBSD und der Bereich für das andere Betriebssystem
in den ersten 1024 Zylindern befinden. Eine 20 Megabyte
Bootpartition sollte völlig genügen, wenn Sie
einigermaßen sorgfältig arbeiten.Beim ersten Booten von FreeBSD erscheint
Missing Operating System. Was ist
passiert?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.Wieso komme ich 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.Muss 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,
dass Sie den Quellcode von überall her per NFS
read-only mounten und dennoch neue Binaries erstellen
können. (Wegen der Einschränkung bezüglich
der Kernelquellen empfehlen wir, diese nicht direkt nach
/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 Menüpunkt Custom, wenn Sie sich im Menü
Distributions des Systeminstallationstools
befinden.Muss 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 weitaus benutzerfreundlicherer
Kernelkonfigurationswerkzeuge profitiert. Seit &os; 5.X
erfolgt die Kernelkonfiguration in der Regel durch die
die deutlich flexibleren hints,
die am Loader-Prompt eingegeben werden können.Es kann dennoch sinnvoll sein, einen neuen Kernel
zu erstellen, der nur die benötigten Treiber
enthält, um ein wenig Hauptspeicher zu sparen,
für die meisten Systeme ist dies aber nicht mehr
länger erforderlich.Soll ich DES, Blowfisch oder MD5 zur Verschlüsselung der
Passwörter benutzen?FreeBSD benutzt standardmäßig
MD5 zur Verschlüsselung der
Passwörter. Es wird angenommen, dass diese
Methode sicherer ist als das traditionell benutzte
Verfahren, das auf dem DES
Algorithmus basierte. Es ist immer noch möglich,
DES-Passwörter zu benutzen, wenn Sie die Datei
mit den Passwörtern mit älteren System
austauschen müssen. Ältere System verstehen
meist nur das unsichere Verfahren, dieses steht Ihnen zur
Verfügung, wenn Sie mit sysinstall die
crypto Distribution installieren. Sie
können auch die crypto Sourcecodes installieren, wenn
Sie Ihr System über die Sourcen aktualisieren. Die crypto
Bibliotheken erlauben es Ihnen das sichere Blowfisch Verfahren
für die Verschlüsselung der Passwörter
einzusetzen. Das für neue Passwörter benutzte
Verschlüsselungsverfahren wird über die
Einstellung passwd_format in
/etc/login festgelegt. Die
möglichen Werte sind entweder des,
blf (falls sie zur Verfügung stehen)
oder md5. Weitere
Informationen über die Einstellungen für den
Login erhalten Sie in &man.login.conf.5;.Woran kann es liegen, dass ich zwar von der
Diskette booten kann, aber nicht weiter als bis zur
Meldung Probing Devices...
komme?Falls Sie ein IDE &iomegazip;- oder &jaz;-Laufwerk
eingebaut haben, entfernen Sie es und versuchen Sie es erneut.
Solche Laufwerke könnten dem Bootvorgang stören.
Nach der Installation des Systems können Sie das
Laufwerk wieder einbauen. Dieser Fehler wird hoffentlich
in einer späteren Version behoben werden.Wieso wird mit der Fehler panic: cant mount
root gemeldet, 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,
dass das System auf ad0 (der zweiten BIOS-Platte)
installiert ist, während der Kernel der ersten Platte
auf dem zweiten Controller die Gerätekennung ad2
zuteilt. Der Kernel versucht nach der
Geräteüberprüfung die vom Bootblock
angenommene Bootdisk ad0 zu mounten, obwohl sie in
Wirklichkeit ad2 heißt - und scheitert.Tun Sie folgendes, um dieses Problem zu
beheben:Rebooten Sie das System und drücken
Sie Enter, 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-Controllers installiert wurde;
1, wenn FreeBSD auf dem Slave des
ersten IDE-Controllers installiert wurde;
2, wenn FreeBSD auf dem Master des
zweiten IDE-Controllers installiert wurde; und
3, wenn FreeBSD auf dem Slave des
zweiten IDE-Controllers 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.Stellen Sie eine ununterbrochene Folge der
Festplatten her, indem Sie die FreeBSD-Platte am
ersten IDE-Controller anschließen.Gibt es eine Hauptspeicherbegrenzung?Bei einer &i386;-Standardinstallation werden maximal
4 Gigabyte Hauptspeicher unterstützt. Seit
&os; 4.9 und 5.1 wird auch ein größerer
Hauptspeicher unterstützt. Dazu müssen Sie die
zusätzliche Option PAE (&man.pae.4;) in Ihren Kernel
kompilieren:options PAE&os;/pc98 unterstützt maximal 4 GB Hauptspeicher,
daher kann PAE auf diesen Systemen nicht verwendet werden.
Unter &os;/alpha hängt dieses Limit von der verwendeten
Hardware ab - lesen Sie daher die Alpha Hardware Release
Notes für weitere Informationen. Sonstige von &os;
unterstützte Architekturen haben ein sehr viel
höheres theoretisches Speicherlimit (viele
Terabytes).Wo liegen die Grenzen für
ffs-Dateisysteme?Theoretisch liegt das Limit für ffs-Dateisysteme
bei 8 Terabyte (2G-Blöcke) oder 16TB für die
Standard-Blockgröße von 8k. In der Praxis
setzt die Software das Limit auf 1 Terabyte herab, aber
durch Modifikationen sind auch Dateisysteme mit 4 Terabyte
möglich (und existieren auch).Die maximale Größe einer einzelnen
ffs-Datei liegt bei ungefähr 1G Blöcken (4TB,
falls die Blockgröße 4k beträgt).
Wenn die im Dateisystem verwendete
Blockgröße 4k beträgt, wird mit dreifacher
Indirektion gearbeitet und die Limitierung sollte durch
die höchste Blocknummer erfolgen, die mit dreifacher
Indirektion dargestellt werden kann (ungefähr 1k^3 +
1k^2 + 1k). In Wirklichkeit liegt das Limit aber bei der
(falschen) Anzahl von 1G-1 Blocknummern im Dateisystem.
Die maximale Anzahl der Blocknummern müsste 2G-1
sein. Es gibt einige Fehler für Blocknummern nahe
2G-1, aber solche Blocknummern sind bei einer
Blockgröße von 4k unerreichbar.Bei Blocknummern von 8k und größer sollte
das Limit bei 2G-1 Blocknummern liegen,
tatsächlich liegt es aber bei 1G-1 Blocknummern.
Die Verwendung der korrekten Grenze von 2G-1
verursacht Probleme.Wieso erhalte ich die Fehlermeldung
archsw.readin.failed beim Start des
Systems, nachdem ich einen neuen Kernel erstellt
habe?Ihr System und Ihr Kernel sind nicht synchron - dies
ist nicht erlaubt. Sie müssen Ihren Kernel mit
make buildworld und make
buildkernel aktualisieren.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.Mein System stürzt beim Booten ab! Was kann ich
tun?Deaktivieren Sie die ACPI-Unterstützung. Dazu
drücken Sie beim Start des Bootloaders die Leertaste.
Das System antwortet darauf mit OK Geben
Sie nun unset acpi_load
und danach boot ein.Hardware-KompatibilitätAllgemeinesIch will mir neue Hardware für mein
FreeBSD-System zulegen, was soll ich kaufen? Diese Frage wird ständig auf den
FreeBSD-Mailinglisten diskutiert. Da sich die Hardware
ständig ändert, ist das allerdings keine
Überraschung. Trotzdem sollten
Sie unbedingt die Hardware-Informationen von &os;
(&rel.current;
oder
&rel2.current;)
und die
Archive der Mailinglisten durchsehen, bevor Sie
nach der neuesten/besten Hardware fragen. Normalerweise
gab es kurz zuvor eine Diskussion über genau die
Hardware, die Sie sich zulegen wollen.Wenn Sie sich einen Laptop zulegen wollen, sollten Sie
einen Blick in das Archiv der Mailingliste FreeBSD-mobile
werfen. Ansonsten empfiehlt sich ein Blick in das Archiv
von FreeBSD-questions oder auch einer spezialisierte
Mailingliste für diese Art von Hardware.Architekturen und ProzessorenUnterstützt FreeBSD neben x86 auch andere
Architekturen?Ja. FreeBSD ist zurzeit für die Intel x86 und
DEC (jetzt Compaq) Alpha Architekturen verfügbar.
Seit FreeBSD 5.0 werden auch AMD64 sowie Intel EM64T,
IA-64 und &sparc64; unterstützt. Die Neuzugänge
auf der Liste der in Zukunft unterstützten Plattformen
sind &mips; und &powerpc;. Abonnieren Sie die Mailinglisten
&a.ppc; oder &a.mips; wenn Sie mehr über
den Stand der Entwicklung erfahren wollen. Schließen
Sie sich der Mailingliste &a.platforms; an, wenn Sie an
grundsätzlichen Diskussionen über neue Architekturen
interessiert sind.Falls Ihre Maschine eine andere Architektur aufweist
und Sie unbedingt sofort etwas benötigen, schlagen
wir vor, dass Sie sich einmal NetBSD oder OpenBSD
ansehen.Unterstützt FreeBSD Symmetric-Multiproccessing
(SMP)?Ja, seit &os;-Version 5.2 wurde SMP bereits im
GENERIC-Kernel aktiviert.Dies sollte eigentlich auch für &os; 5.3
gelten. Allerdings traten bei der Entwicklung des Kernels
auf einigen Rechnern Probleme auf. Daher entschloss man
sich, SMP in der Voreinstellung zu deaktivieren, bis diese
Probleme behoben sind. Dies ist eine der vordringlichen
Aufgaben für &os; 5.4.Festplatten, Bandlaufwerke, sowie CD- und DVD-LaufwerkeWelche Arten von Festplatten werden von FreeBSD
unterstützt?FreeBSD unterstützt EIDE-, SATA-, SCSI- und
SAS-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
Clones.Welche SCSI- oder SAS-Controller werden
unterstützt?Sie finden eine vollständige und aktuelle Liste
in den Hardware-Informationen zu &os;
(&rel.current; oder
&rel2.current;).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?Das Gerät &man.ch.4; und das Kommando
chio unterstützen Bandwechsler.
Details zum Betrieb des Wechslers finden Sie in der
Hilfeseite &man.chio.1;.Falls Sie nicht AMANDA oder
ein anderes Produkt benutzen, das den Wechsler bereits
kennt, bedenken Sie, dass die Programme nur wissen,
wie sie ein Band von einem Punkt zu einem anderen bewegen
müssen. Sie selbst müssen sich also merken, in
welchem Einschub sich ein Band befindet und zu welchem
Einschub das Band, das sich gerade im Laufwerk befindet,
zurück muss.Welche CDROM-Laufwerke werden von FreeBSD
unterstützt?Jedes an einem unterstützten Controller
angeschlossene SCSI-Laufwerk wird
unterstützt.Die folgenden proprietären CDROM-Schnittstellen
werden ebenfalls unterstützt:Mitsumi LU002 (8bit), LU005 (16bit) und FX001D
(16bit 2x Speed).Sony CDU 31/33ASound Blaster Non-SCSI CDROMMatsushita/Panasonic CDROMATAPI compatible IDE CDROMsVon allen Nicht-SCSI-Laufwerken ist bekannt, dass
sie im Vergleich zu SCSI-Laufwerken extrem langsam sind.
Einige ATAPI-CDROMs könnten nicht
funktionieren.FreeBSD kann direkt von der offiziellen &os; CD-ROM,
sowie den CD-ROMs von Daemon News und &os; Mall,
gebootet werden.Welche CD-Brenner werden von FreeBSD
unterstützt?FreeBSD unterstützt alle ATAPI-kompatiblen IDE
CD-R und CD-RW Brenner. Lesen Sie dazu auch
&man.burncd.8;.FreeBSD unterstützt ebenfalls SCSI CD-R und CD-RW
Brenner. Installieren und benutzen Sie das Paket
cdrecord aus der Ports-Sammlung. Dazu
müssen Sie allerdings das Gerät
pass mit in Ihren Kernel
aufnehmen.Unterstützt FreeBSD &iomegazip;-Laufwerke?FreeBSD unterstützt alle
gängigen SCSI- und ATAPI-&iomegazip;-Laufwerke.
Ihr SCSI-ZIP-Laufwerk darf
nur mit den SCSI-Ziel-IDs 5 oder 6 laufen, aber Sie
können sogar davon booten, falls das BIOS Ihres
Hostadapters dies unterstützt. Es ist nicht bekannt,
welche Hostadapter das Booten von anderen Zielen als 0
oder 1 erlauben; daher werden Sie in ihren
Handbüchern nachsehen müssen, wenn Sie dieses
Merkmal benutzen möchten.FreeBSD unterstützt ZIP-Laufwerke, die an der
parallelen Schnittstelle angeschlossen sind. Der Kernel
sollte die folgenden Treiber enthalten:
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 den
FAQ-Eintrag zu Wechseldatenträgern und die Anmerkungen zum Thema
Formatierung im Kapitel
Administration.Unterstützt FreeBSD &jaz;, EZ und andere
Wechsellaufwerke?Ja. Bei den meisten dieser Geräte handelt es sich
um SCSI-Geräte, die von FreeBSD auch als solche
angesprochen werden. Lediglich das IDE-EZ-Laufwerk wird
als IDE-Laufwerk angesprochen.Schalten Sie die Laufwerke ein, bevor Sie Ihr
System booten.Müssen Sie Medien im
laufenden Betrieb wechseln, sollten Sie zuvor &man.mount.8;,
&man.umount.8;, sowie &man.camcontrol.8; (für
SCSI-Laufwerke) oder &man.atacontrol.8; (für
IDE-Laufwerke), sowie den Abschnitt zur Nutzung von Wechsellaufwerken
dieser FAQ lesen.Tastaturen und MäuseUnterstützt FreeBSD meine Tastatur mit
USB-Anschluss?Ja. FreeBSD unterstützt USB-Tastaturen, wenn
Sie die USB-Unterstützung
in /etc/rc.conf aktivieren.Wenn Sie die Unterstützung für USB-Tastaturen
konfiguriert haben, 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 muss das folgende Kommando
während des Systemstarts ausgeführt
werden:&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/nullWenn Sie nur die USB-Tastatur angeschlossen haben, ist
diese als /dev/ukbd0 verfügbar;
daher muss in diesem Fall das folgende Kommando
benutzt werden:&prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/nullTragen 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.Zurzeit kann es noch Probleme geben, wenn Sie eine
USB-Tastatur im laufenden Betrieb einstecken oder
abziehen. Um Probleme zu vermeiden, sollten Sie die
Tastatur anschließen, bevor Sie das System
anschalten und die Tastatur nicht abziehen, solange das
System noch läuft.Weitere Informationen erhalten Sie in
&man.ukbd.4;.Ich habe eine unübliche Busmaus. Wie muss
ich sie konfigurieren?FreeBSD unterstützt die Busmaus und
InPort-Busmaus von Herstellern wie Microsoft, Logitech und
ATI. Der Gerätetreiber ist im GENERIC-Kernel
allerdings nicht eingebunden. Wenn Sie den
Bus-Gerätetreiber benötigen, müssen Sie daher
einen angepassten Kernel erstellen. Dazu fügen Sie die
folgende Zeile in Ihre Kernelkonfigurationsdatei ein:device mse0 at isa? port 0x23c irq5Die 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?PS/2 Mäuse werden von FreeBSD unterstützt.
Der notwendige Gerätetreiber,
psm, ist bereits im
GENERIC-Kernel enthalten.Wenn Sie einen angepassten Kernel ohne diesen Treiber
benutzen, müssen Sie folgende Zeile in Ihre
Kernelkonfigurationsdatei einfügen und den Kernel neu
kompilieren:device psm0 at atkbdc? irq 12Wenn der Kernel das Gerät
psm0 beim Booten korrekt erkennt,
stellen Sie sicher, dass sich im Verzeichnis
/dev ein Eintrag für
psm0 befindet. Durch die Eingabe von&prompt.root; cd /dev; sh MAKEDEV psm0können Sie diesen Eintrag auch selbst erstellen.
Dazu müssen Sie allerdings als
root angemeldet sind.Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
verwenden. Die Gerätedateien werden in diesem Fall
automatisch in /dev erstellt.Kann man die Maus irgendwie außerhalb des X
Window Systems benutzen?Falls Sie den normalen Konsoltreiber &man.syscons.4; benutzen,
können Sie den Mauszeiger auf Textkonsolen zum
Kopieren und Einfügen von Text verwenden. Starten
Sie den Mausdämon &man.moused.8; und schalten Sie den
Mauszeiger auf der virtuellen Konsole ein:&prompt.root; moused -p /dev/xxxx -t yyyy
&prompt.root; vidcontrol -m onxxxx ist der
Gerätename der Maus und
yyyy ist das Protokoll.
Der Mausdämon erkennt die Protokolle der meisten
Mäuse (mit Ausnahme alter serieller Mäuse)
automatisch, wenn Sie auto für
das Protokoll angeben. Falls das Protokoll nicht
automatisch erkannt wird, finden Sie die
unterstützten Protokolle in der
&man.moused.8; Manualpage.Wenn Sie eine PS/2-Maus besitzen und diese beim
Systemstart aktivieren wollen, tragen Sie die Zeile
moused_enable="YES" in die Datei
/etc/rc.conf ein. Falls Sie den
Mausdämon auf allen virtuellen Bildschirmen anstatt
nur auf der Konsole benutzen wollen, tragen Sie außerdem
allscreens_flags="-m on" in
/etc/rc.conf ein.Während der Mausdämon läuft, muss
der Zugriff auf die Maus zwischen dem Mausdämon und
anderen Programmen, wie X Windows, koordiniert werden.
Die FAQ Warum funktioniert meine
meine Maus unter X nicht? enthält weitere
Details.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 (wie im vorherigen
Abschnitt gezeigt), halten Sie die linke Maustaste
gedrückt und bewegen Sie die Maus, um einen
Textabschnitt zu markieren. Dann drücken Sie die
mittlere Maustaste, um den Text an der
Cursorposition einzufügen.Wenn Sie keine 3-Tasten-Maus besitzen, können
Sie die mittlere Maustaste mit einer Tastenkombination
emulieren oder die Funktion der mittleren Taste auf
eine andere Taste legen. Einzelheiten dazu enthält
die Hilfeseite &man.moused.8;.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 benutzen können,
können Sie im passenden
Abschnitt der FAQ erfahren.Wie benutze ich Maus/Trackball/Touchpad auf meinem
Laptop?Bitte lesen Sie die Antwort
zur vorherigen Frage.Netzkarten und serielle GeräteWelche Netzwerkkarten unterstützt
FreeBSD?In den Hardware Informationen zu jedem FreeBSD Release
werden die unterstützten Karten aufgezählt.Unterstützt FreeBSD Software Modems, wie die
Winmodems?FreeBSD unterstützt viele Software-Modems, wenn
Sie zusätzliche Software installieren. Der Port
comms/ltmdm bietet
Unterstützung für Modems, die auf dem oft
verwendeten Lucent LT Chipsatz basieren. Der Port
comms/mwavem
bietet Unterstützung für die Modems im IBM
Thinkpad 600 und 700.Sie können FreeBSD nicht über ein
Software-Modem installieren, diese Software kann nur
installiert werden, nachdem das Betriebssystem installiert
wurde.Gibt es einen FreeBSD-Treiber für die Karten der
Serie 43xx von Broadcom?Nein, und es wird wohl auch nie einen geben.Broadcom weigert sich, Informationen zu ihren drahtlosen
Chipsätzen zu veröffentlichen. Wahrscheinlich
liegt dies daran, dass Broadcom auch softwaregesteuerte
Radios herstellt. Damit ihre Produkte von der FCC
zugelassen werden, muss sichergestellt sein, dass Benutzer
nicht in der Lage sind, Betriebsfrequenzen,
Modulationsparameter, Ausgangsleistung und andere Werte
nach Belieben einzustellen. Ohne solche Informationen ist
es aber nahezu unmöglich, einen Treiber zu
programmieren.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, dass sie funktionieren, speziell von den
AST-kompatiblen.In &man.sio.4; finden Sie weitere Informationen zur
Konfiguration solcher Karten.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.SoundkartenWelche Soundkarten werden von FreeBSD
unterstützt?&os; unterstützt verschiedene Soundkarten wie
&soundblaster;, &soundblaster; Pro, &soundblaster; 16,
Pro Audio Spectrum 16, AdLib und Gravis UltraSound.
Lesen Sie die
&os; Release Informationen sowie &man.snd.4;,
wenn Sie genauere Informationen benötigen. MPU-401
und kompatible MIDI-Karten werden begrenzt unterstützt.
Ebenso unterstützt werden Karten, die der µsoft;
Sound System-Spezifikation entsprechen.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 bei Verwendung des
&man.pcm.4;-Treibers?Einige Soundkarten, darunter solche mit es1370-Chip,
setzen die Lautstärke bei jedem Systemstart auf 0.
In diesem Fall müssen Sie nach jedem Bootvorgang
den folgenden Befehl ausführen:&prompt.root; mixer pcm 100 vol 100 cd 100Sonstige HardwareWelche 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?FreeBSD 4.X unterstützt APM
auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;.FreeBSD 5.X und neuer unterstützen einen
Großteil der ACPI-Funktionen
moderner Hardware. Lesen Sie dazu auch &man.acpi.4;.
Unterstützt Ihr System sowohl APM
als auch ACPI, können Sie beide
Systeme testen und sich für das System entscheiden,
das Ihren Anforderungen am besten entspricht.Wie kann ich ACPI deaktivieren?Fügen Sie die Zeile
hint.acpi.0.disabled="1" in die Datei
/boot/device.hints ein.Wieso hängt sich mein Micron-System 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.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.Warum arbeitet meine &tm.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.Meine PCMCIA-Karte funktioniert nicht und ich erhalte
die Meldung:
cbb0: unsupported card type detected.. Was
kann ich tun?Sie können die ursprüngliche
OLDCARD-Implementierung verwenden. Dazu entfernen Sie die
folgenden Zeilen aus Ihrer Kernelkonfigurationsdatei:device cbb
device pccard
device cardbusDanach fügen Sie die folgenden Zeilen ein:device pcic
device card 1Um die Änderungen zu aktivieren, müssen Sie
den neuen Kernel noch wie im Abschnitt
Konfiguration des FreeBSD-Kernels des Handbuchs
beschrieben bauen und installieren.FehlerbehebungWarum zeigt &os; eine falsche Speichergröße
an?Das liegt an den Unterschieden zwischen physikalischen
und virtuellen Speicheraddressen.Bei moderner PC-Hardware ist es üblich, den
Speicherbereich zwischen 3,5 und 4 Gigabyte für
spezielle Aufgaben (normalerweise für PCI) zu
reservieren. Dieser Adressbereich wird dabei dazu
verwendet, um auf PCI-Hardware zuzugreifen. Dadurch
kann in diesem Speicherbereich kein physikalischer
Speicher existieren.Was mit dem in diesen Bereich gehörenden
physikalischen Speicher passiert, hängt von der von
Ihnen eingesetzten Hardware ab. Unglücklicherweise
gibt es noch immer Hardware, die hier gar nichts macht.
In diesem Fall ist Ihr System nicht in der Lage, auf diese
500 Megabyte des RAMs zuzugreifen.Ein Großteil der heute existierenden Hardware
ist aber inzwischen in der Lage, diesen Speicherbereich
in einen höheren Speicherbereich umzulenken, damit
Sie weiterhin darauf zugreifen können. Allerdings
kann es durch dieses Umlenken zu verwirrende Meldungen
während des Systemstarts kommen.Unter 32-Bit-Versionen von &os; scheint dieser
Speicherbereich nicht verfügbar zu sein, da er in einen
Bereich oberhalb von 4 Gigabyte übertragen wurde, auf den
ein 32-Bit-Kernel allerdings nicht zugreifen kann. Ist dies
bei Ihnen der Fall, müssen Sie die PAE-Unterstützung
in Ihren Kernel kompilieren. Lesen Sie dazu auch den
entsprechenden FAQ-Eintrag.Verwenden Sie hingegen eine 64-Bit-Version von &os;
oder einen 32-Bit-Kernel mit aktivierter
PAE-Unterstützung, ist &os; in der Lage, diesen
Speicherbereich korrekt zu erkennen und umzulenken, damit Sie
weiterhin darauf zugreifen können. Allerdings wird in
diesem Fall beim Systemstart mehr Speicher angezeigt, als
tatsächlich auf Ihrem System vorhanden ist. Dies ist
aber normal und wird nach dem Ende des Systemstarts
automatisch korrigiert.Was sollte ich tun, wenn auf meiner Festplatte
fehlerhafte Blöcke sind?SCSI-Laufwerke sollten in der Lage sein, diese
automatisch zu verlagern. Bei einigen Laufwerken ist
diese Eigenschaft jedoch aus unerfindlichen Gründen
bei der Auslieferung ausgeschaltet...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; camcontrol modepage sd0 -m 1 -e -P 3und die Werte für AWRE und ARRE von 0 auf 1
ändern:-
AWRE (Auto Write Reallocation Enbld): 1
ARRE (Auto Read Reallocation Enbld): 1
Moderne IDE-Controller sind in der Lage, fehlerhafte
Blöcke automatisch zu verlagern. Diese Funktionen
sind bereits ab Werk aktiviert.Werden dennoch fehlerhafte Blöcke gemeldet (egal
auf welchem Laufwerk), sollten Sie über den Kauf einer
neuen Platte nachdenken. Zwar könnte es Ihnen mit
Diagnoseprogrammen des Plattenherstellers gelingen, diese
fehlerhaften Blöcke zu sperren. Allerdings können
Sie damit den endgültigen Ausfall der Platte bestenfalls
hinauszögern.Wieso wird der SCSI-Controller meines HP Netserver 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 Adressraum von EISA-Slots
>=10 mit dem Adressraum, der PCI zugeordnet ist und
die Autokonfiguration von FreeBSD kann mit dieser
Situation derzeit nicht besonders gut umgehen.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
angepassten 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 bedeuten die ständigen Meldungen ed1:
timeout?Dies wird meistens durch einen Interruptkonflikt
verursacht (z.B., wenn zwei Karten den selben Interrupt
benutzen). Booten Sie mit der Option -c und ändern
Sie die Einträge zu ed0/de0/... Ihrem Board
entsprechend.Wenn Sie den BNC-Anschluss Ihrer Netzwerkkarte
benutzen, könnte es auch sein, dass es sich
Geräte-Timeouts aufgrund fehlerhafter Terminierung
handelt. Um dies zu überprüfen, verbinden Sie
einen Terminator direkt mit der Netzwerkkarte (ohne Kabel)
und beobachten Sie, ob die Fehlermeldungen
verschwinden.Einige NE2000 kompatible Karten melden diesen Fehler,
wenn keine Verbindung am UTP-Eingang existiert oder wenn
das Kabel nicht eingesteckt ist.Warum funktioniert meine &tm.3com; 3C509 plötzlich
nicht mehr?Diese Karte ist dafür berüchtigt, ihre
Konfiguration zu vergessen. Sie müssen die Karte mit
dem DOS-Programm 3c5x9.exe neu
konfigurieren.Mein an der parallel Schnittstelle angeschlossener
Drucker ist unglaublich langsam. Was kann ich
tun?Falls das einzige Problem ist, dass er
schrecklich langsam ist, dann sollte Sie versuchen, die
Kommunikationseinstellungen der parallelen Schnittstellen
zu ändern, wie es im Kapitel Drucken
des Handbuchs beschrieben ist.Wieso brechen meine Programme gelegentlich mit
Signal 11-Fehlern ab?Das Signal 11 wird generiert, wenn ein Prozess
versucht, auf Speicher zuzugreifen, obwohl er vom
Betriebssystem dazu nicht befugt wurde. Wenn Ihnen das
scheinbar zufällig immer wieder passiert, sollten Sie
der Sache einmal auf der Grund gehen.Das Problem hat in der Regel eine der folgenden
Ursachen:Wenn das Problem nur in einer bestimmten
Anwendung 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 den meisten
Fällen werden diese Probleme gefunden und behoben,
bevor die typischen Leser der FAQ (wir) diese Teile
der Sourcen benutzen können (dafür gibt es
schließlich -CURRENT).Wenn der Fehler auftritt, wenn Sie ein Programm
compilieren aber dabei immer wieder an anderer Stelle
auftritt, dann ist das ein ganz eindeutiger Hinweis,
dass das Problem nicht bei
FreeBSD liegt.Nehmen wir zum Beispiel an, dass 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,
dass das Problem nicht von Ihrer Hardware verursacht
wird.Typische Ursachen dafür sind unter
anderem:Es könnte sein, dass Ihren Festplatten
zu warm werden: Überprüfen Sie, ob die
Lüfter in Ihrem Gehäuse noch funktionieren,
damit Ihre Festplatten (und andere Hardware) nicht
heißlaufen.Der Prozessor überhitzt, weil Sie Ihn
übertaktet haben oder der CPU-Kühler
ausgefallen ist. Sie müssen sicherstellen,
dass Sie Ihre Hardware unter den Bedingungen
betreiben, für die sie spezifiziert ist,
zumindestens während Sie versuchen, das Problem
zu lösen. Mit anderen Worten: Betreiben Sie
Ihre CPU mit der normalen Taktfrequenz.Wenn Sie übertakten, sollten Sie daran
denken, dass ein langsames System deutlich
billiger ist als ein defektes System. Die große
Masse hat nicht sehr häufig Mitgefühl mit
Problemen bei übertakteten System, auch wenn Sie
es für ungefährlich halten.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 CDROMs in Ihrem System haben, sollten Sie sie
testweise ausbauen oder die Stromversorgung abziehen.
Dadurch können Sie prüfen, ob Ihr Netzteil
eventuell mit einer geringeren Last besser
zurechtkommt. Sie können auch testweise ein
anderes, am besten ein leistungsfähigeres,
Netzteil ausprobieren. Wenn Sie zurzeit ein
250W-Netzteil benutzen, sollten Sie testweise ein
300W-Netzteil einbauen.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, dass 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-FAQMein System stürzt mit der Meldung
Fatal trap 12: page fault in kernel
mode oder panic: ab und
gibt eine Menge zusätzlicher Informationen aus. Was
kann ich tun?Die Entwickler von FreeBSD interessieren sich für
solchen Meldungen, allerdings brauchen Sie deutlich mehr
Informationen als die, die Ihnen angezeigt werden.
Kopieren Sie die komplette Meldungen und lesen Sie nun den
FAQ-Eintrag über kernel panics.
Erzeugen sie einen Kernel mit den zusätzlichen Daten
zur Fehlersuche, und dann einen backtrace. Das hört
sich komplizierter an, als es ist. Sie brauchen keine
Programmier-Erfahrung, Sie müssen einfach nur den
Anweisungen folgen.Wieso wird beim Booten der Bildschirm schwarz und reagiert
nicht mehr?Dies ist ein bekanntes Problem mit der ATI Mach 64
Videokarte. Das Problem besteht darin, dass diese
Karte die Adresse 2e8 benutzt und die
vierte serielle Schnittstelle ebenfalls. Aufgrund eines
Fehlers (einer Besonderheit?) im &man.sio.4;-Treiber wird
diese Schnittstelle angesprochen, auch wenn Sie gar keine
vierte serielle Schnittstelle besitzen und
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, dass Ihr X Windows-System nicht einwandfrei
funktioniert. Wenn dies der Fall ist, stellen Sie sicher,
dass es sich bei der von Ihnen benutzten
X Windows-Version mindestens um &xfree86; 3.3.3 oder
höher handelt. Diese Version und höhere
besitzen eine integrierte Unterstützung für
Mach64-Karten und sogar einen dedizierten X-Server
für sie.Wieso verwendet FreeBSD nur 64 MB Hauptspeicher,
obwohl in meinem Rechner 128 MB sind?Aufgrund der Art und Weise, wie FreeBSD die
Hauptspeichergröße vom BIOS mitgeteilt bekommt,
kann es lediglich 16-Bit Werte in kByte-Größe
(65535 kByte = 64MB) erkennen (oder weniger... einige
BIOSe setzen die Hauptspeichergröße auf 16MB).
Falls Sie mehr als 64MB besitzen, wird FreeBSD versuchen,
das zu erkennen, was aber nicht immer
funktioniert.Um dieses Problem zu umgehen, müssen Sie die
untenstehende Kerneloption verwenden. Es gibt einen Weg,
vollständige Hauptspeicherinformationen vom BIOS zu
erhalten, aber in den Bootblöcken ist nicht
genügend Platz dafür vorhanden. Wenn der
Platzmangel in den Bootblöcken eins Tages behoben
ist, werden wir die erweiterten BIOS-Funktionen dazu
nutzen, die vollständigen Hauptspeicherinformationen
zu erhalten... aber zurzeit sind wir auf die Kerneloption
angewiesen.options
"MAXMEM=n"Hierbei ist n Ihre
Hauptspeichergröße in Kilobyte. Bei einer 128
MB-Maschine müßten Sie
131072 benutzen.Ich habe mehr als 1 GB RAM. Trotzdem stürzt
mein System mit der Meldung kmem_map too small
ab. Was läuft hier schief?Im Normalfall bestimmt FreeBSD einige Kernelparameter,
darunter die maximale Anzahl der Dateien, die gleichzeitig
geöffnet sein können, aus der Größe
des im System installierten Hauptspeichers. Auf Systemen
mit mindestens 1 GB Hauptspeicher kann dieser
auto sizing-Mechanismus diese Werte
fälschlicherweise zu hoch ansetzen: Beim Systemstart
fordert der Kernel dann verschiedene Tabellen und andere
Strukturen an, die den Großteil des verfügbaren
Kernelspeichers verbrauchen. Dies führt dazu, dass
der Kernel während des Betriebs keine dynamischen
Speicheranforderungen mehr ausführen kann und mit
einer Kernelpanik abstürzt.Bauen Sie in diesem Fall Ihren eigenen Kernel. Dazu
setzen Sie
in Ihrer Kernelkonfigurationsdatei auf 400 MB
().
400 MB sollten für Maschinen bis 6 GB
Hauptspeicher ausreichend sein.Ich habe weniger als 1 GB Hauptspeicher. Dennoch
stürzt mein System mit der Meldung
kmem_map too small! ab?Diese Meldung zeigt an, dass der virtuelle
Speicher für Netzwerkpuffer (spezieller mbuf-Cluster)
aufgebraucht ist. Sie können die für mbuf
verfügbare Größe an VM erhöhen, indem
Sie den Anweisungen des Abschnitts
Netzwerk-Limits des Handbuchs folgen.Wieso erhalte ich die Meldung /kernel:
proc: table is full?Der FreeBSD-Kernel beschränkt die Anzahl der
gleichzeitig laufenden Prozesse. Die Anzahl errechnet
sich aus dem Wert der Variablen
MAXUSERS in der Konfigurationsdatei des
Kernels. Auch andere Einstellungen wie die Anzahl der
Puffer für Netzwerkoperationen (Details dazu
finden Sie in diesem
Abschnitt). werden durch
MAXUSERS beeinflusst. Wenn Ihr
System stark belastet ist, sollten Sie den Wert von
MAXUSERS erhöhen. Dadurch werden
diverse Einstellung des Systems angepasst und die
maximale Anzahl gleichzeitig laufender Prozesse
erhöht.Um den Wert von MAXUSERS anzupassen,
folgen Sie den Anweisungen des Abschnitts
Datei- und Prozesslimits des Handbuchs. Dieser
Abschnitt spricht zwar nur von Dateien, für Prozesse
gelten aber die gleichen Beschränkungen.Wenn Ihr System nicht besonders stark ausgelastet ist
und Sie einfach nur mehr gleichzeitig laufende Prozesse
erlauben wollen, können Sie den Wert der Variable
kern.maxproc in der Datei
/boot/loader.conf anpassen. Um die
Änderung zu aktivieren, müssen Sie Ihr System
neu starten. Wollen Sie Ihr System zusätzlich
optimieren, sollten Sie &man.loader.conf.5; und
&man.sysctl.conf.5; lesen.
Wenn diese Prozesse von einem einzigen Benutzer
ausgeführt werden, müssen Sie den Wert von
kern.maxprocperuid ebenfalls
erhöhen. Dieser Wert muss immer mindestens um
eins geringer sein als der Wert von
kern.maxproc value. (Der Grund
für diese Einschränkung ist, dass ein
Systemprogramm, &man.init.8;, immer ausgeführt werden
muss.)Damit Änderungen einer sysctl-Variable dauerhaft
erhalten bleiben, nehmen Sie diese in
/etc/sysctl.conf auf. Weitere
Informationen zur Optimierung Ihres Systems finden Sie im
Abschnitt
Einstellungen mit sysctl des Handbuchs.Wieso erhalte ich die Meldung CMAP busy
panic, wenn ich mein System mit einem neuen
Kernel starte?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_*.dbWas soll mir die Meldung ahc0: brkadrint,
Illegal Host Access at seqaddr 0x0
sagen?Dies ist ein Konflikt mit einem Ultrastor SCSI
Hostadapter.Rufen Sie während des Bootprozesses das
Kernelkonfigurationsmenü auf und deaktivieren Sie
uha0, welches das Problem
verursacht.Wenn ich mein System starte, erhalte ich die Meldung
ahc0: illegal cable configuration,
obwohl die Verkabelung korrekt ist. Woran liegt
das?Auf Ihrem Mainboard fehlen ein paar Logikbausteinen,
die für die Unterstützung der automatischen
Terminierung notwendig sind. Stellen Sie in Ihrem
SCSI-BIOS manuell die korrekte Terminierung für Ihr
System ein, anstatt sich auf die automatische Terminierung
zu verlassen. Der Treiber für den AIC7XXX kann nicht
erkennen, ob die externen Logikbausteine für die
Erkennung der Kabel (und damit automatische Terminierung)
vorhanden sind. Der Treiber muss sich darauf
verlassen, dass diese vorhanden sind, wenn in der
Konfiguration automatische Terminierung
eingestellt ist. Ohne die externen Bausteine ist es sehr
wahrscheinlich, dass der Treiber die Terminierung
falsch einstellt, was die Zuverlässigkeit des
SCSI-Busses herabsetzen kann.Wieso meldet Sendmail 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, dass
Mail für die Domäne (z.B. domain.net) an einen speziellen
Host (in diesem Fall relay.domain.net) weitergeleitet wird,
aber der Relay-Host erkennt sich selbst nicht als
domain.net. Fügen Sie domain.net in /etc/mail/local-host-names
(falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
in /etc/mail/sendmail.cf ein.
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 E-Mail
bekommen, indem Sie eine Mail mit dem Inhalt send
usenet/news.answers/mail/sendmail-faq an
mail-server@rtfm.mit.edu schicken.Wieso funktionieren bildschirmorientierte Anwendungen beim
Zugriff über ein Netzwerk 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.Wieso meldet mein Rechner calcru: negative
time...?Dies kann durch verschiedene Hardware- oder
Softwareprobleme in Verbindung mit Interrupts verursacht
werden. Das kann aufgrund von Fehlern sein, aber es kann
auch durch die Eigenarten bestimmter Geräte
passieren. TCP/IP über die parallele Schnittstelle
mit einer großen MTU laufen zu lassen, ist ein
sicherer Weg, um dieses Problem hervorzurufen.
Grafikbeschleuniger können es auch verursachen. In
diesem Fall sollten Sie zunächst die
Interrupteinstellungen der Karte
überprüfen.Ein Seiteneffekt dieses Problems sind Prozesse, die
mit der Meldung SIGXCPU exceeded cpu time
limit abbrechen.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=1Die Option von &man.sysctl.8;
sollte nicht mehr benutzt werden. Ab FreeBSD 4.4
wird die Option ignoriert. Sie können die Option
auch weglassen, wenn Sie mit sysctl
Variablen setzen.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ässliche
Zeiterhaltung nicht zu gebrauchen.Warum wird meine PnP-Karte 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, dass 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 mit [] gekennzeichneten Kommentare
wurden eingefügt, um an einigen Stellen die Bezüge
klarstellen.
Das PnP-BIOS hat es [das Modem] vorkonfiguriert und
es dann im Adressraum 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],
dass 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
benutzen konnten. Daher werden die programmierbaren
Karten zunächst einmal abgeschaltet, um diese
doppelte Erkennung vermeiden zu können. Das
bedeutet allerdings auch, dass die Treiber die
PnP-ID kennen muss, um PnP-Hardware
unterstützen zu können. Wir haben uns
vorgenommen, den Benutzern eine einfachere
Möglichkeit zur Manipulation dieser Informationen
zur Verfügung zu stellen.
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 0x01Sie 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.Benutzen Sie &man.pciconf.8; wenn &man.pnpinfo.8; die Karte
nicht anzeigt. Der Teil der Ausgabe von
pciconf -vl für eine auf dem
Motherboard integrierte Soundkarte sieht zum Beispiel so
aus:&prompt.root; pciconf -vl
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82801AA 8xx Chipset AC'97 Audio Controller'
class = multimedia
subclass = audioSie benötigen die Chip-ID 0x24158086,
die hinter chip aufgeführt ist.Die Herstellerkennung oder die Chip-ID müssen in die
Datei /usr/src/sys/isa/sio.c
eingetragen werden.Sie sollten zunächst ein Backup von
sio.c anlegen, falls etwas schief
gehen sollte. Sie werden auch einen Patch erzeugen
müssen, um ihn zusammen mit Ihrem PR einzusenden.
(Sie wollten doch einen PR schreiben, oder etwa nicht?)
Öffnen Sie nun sio.c mit einem
Editor und suchen Sie nach der Zeilestatic 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.Warum erhalte ich die Meldung nlist
failed, wenn ich Programme wie
top oder systat
benutze?Das Programm sucht nach einem speziellen Symbol im
Kernel, kann es aber aus irgendeinem Grunde nicht finden.
Dieser Fehler wird von einem dieser Probleme
verursacht:Ihr Kernel und die sonstigen Programme (das
Userland) sind nicht mehr auf dem
gleichen Stand. Mit anderen Worten, Sie haben zwar
einen neuen Kernel erzeugt, aber kein
installworld (oder
umgekehrt); darum weicht die Symboltabelle von dem
ab, was die Anwendung erwartet. Wenn dies der Fall ist,
müssen Sie lediglich die noch fehlenden Schritte
des Upgrades durchführen. Die richtige
Vorgehensweise kann
/usr/src/UPDATING entnommen
werden.Um Ihren Kernel zu laden, benutzen Sie nicht
/boot/loader, sondern laden ihn
direkt mit boot2 (siehe &man.boot.8;). Es ist zwar
nicht immer ein Fehler,
/boot/loader zu umgehen; allerdings
ist er in der Regel besser dazu geeignet, die Symbole des
Kernels für normale Anwendungen verfügbar zu
machen.Wieso dauert es so lange, bis eine Verbindung
(&man.ssh.1; oder &man.telnet.1;) aufgebaut wird?Das Symptom: Nach dem Aufbau des TCP-Verbindung
vergeht einige Zeit, bis endlich die Abfrage des
Passwortes (bzw. der Login-Prompt bei Telnet)
erscheint.Das Problem: In den meisten Fällen versucht der
Server in der Zwischenzeit, die IP-Adresse des Clients in
einen Rechnernamen zu übersetzen. Viele Server
(darunter die Telnet und SSH Server von FreeBSD) machen
das, um den Hostnamen z.B. für spätere
Verwendung durch den Systemadministrator in eine
Protokolldatei schreiben zu können.Die Lösung: wenn das Problem bei jedem Server
auftritt, den Sie von Ihrem Computer (dem Client)
ansprechen, dann wird das Problem vom Client verursacht.
Wenn das Problem aber nur auftritt, wenn jemand Ihren
Rechner (den Server) anspricht, dann liegt die Ursache
beim Server.Wenn das Problem vom Client verursacht wird,
müsssen Sie die Einträge im DNS korrigieren,
damit der Server Ihre IP-Adresse übersetzen kann.
Wenn das Problem in Ihrem lokalen Netzwerk auftritt,
sollten Sie es als Problem des Servers behandeln und
weiterlesen; wenn es allerdings im Internet auftritt,
werden Sie sich wahrscheinlich an Ihrem ISP wenden
müssen, damit dieser das Problem für Sie
korrigiert.Wenn das Problem vom Server verursacht wird und Sie
sich in einem lokalen Netzwerk befinden, dann müssen
Sie Ihren Server so konfigurieren, dass er die lokal
genutzten IP-Adressen in Rechnernamen übersetzen kann.
Weitere Informationen erhalten Sie in den Onlinehilfen zu
&man.hosts.5; und &man.named.8;. Wenn dieses Problem im
Internet auftritt, könnte die Ursache auch darin
liegen, dass die Namensauflösung auf dem Server
nicht funktioniert. Versuchen Sie, einen anderen
Hostnamen wie z.B. www.yahoo.com
aufzulösen. Wenn das nicht funktioniert, liegt das
Problem bei Ihrem System.Haben Sie &os; gerade erst installiert, kann es auch
sein, dass die Domänen- und Nameserverinformationen
noch nicht in /etc/resolv.conf
vorhanden sind. Dadurch kommt es häufig zu
Verzögerungen beim Einsatz von
SSH, weil die Option
UseDNS in der Voreinstellung auf
yes gesetzt ist (in der Datei
sshd_config im Verzeichnis
/etc/ssh). Ist dies bei Ihnen der
Fall, müssen Sie entweder die fehlenden Informationen
in /etc/resolv.conf eintragen oder
als temporäre Maßnahme UseDNS
auf no setzen.Was bedeutet stray IRQ?Stray IRQs sind ein Zeichen für Probleme bei der
Behandlung von Hardware-IRQs. Sie werden meistens von
Geräten verursacht, die ihren Interrupt Request
zurückziehen, obwohl gerade der interrupt request
acknowledge-Zyklus läuft.Sie können drei Dinge tun:Ertragen Sie die Warnungen. Sie erhalten nur die
ersten 5 für jeden IRQ, alle anderen werden
unterdrückt.Eliminieren Sie die Meldungen, indem Sie in
isa_strayintr() den Wert 5 auf 0
ändern, um alle Meldungen zu
unterdrücken.Eliminieren Sie die Meldungen, indem Sie Hardware
für den Parallelport installieren, die IRQ 7
nutzt und vom PPP Treiber verwendet wird (das passiert
auf den meisten Systemen), und installieren Sie eine
IDE-Platte oder andere Hardware sowie einen dazu
passenden Treiber, um IRQ 15 zu nutzen.Warum sehe ich in der Ausgabe von dmesg häufig
die Meldung file: table is
full?Diese Fehlermeldung besagt, dass Sie die zur
Verfügung stehenden File-Handles des Systems
verbraucht haben. Was das genau bedeutet und wie Sie
dieses Problem lösen können, steht im Abschnitt
kern.maxfiles im Kapitel Anpassung
der Kernelkonfiguration des Handbuchs.Warum ist die Uhrzeit auf meinem Laptop immer
falsch?Ihr Laptop verfügt über mehr als eine Uhr
und FreeBSD benutzt leider die falsche.Starten Sie &man.dmesg.8; und achten Sie auf die
Zeilen, in denen das Wort Timecounter
vorkommt. Die von FreeBSD benutzte Uhr steht in der
letzten Zeile, mit an Sicherheit grenzender
Wahrscheinlichkeit wird es TSC
sein.&prompt.root; dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 595573479 HzSie können das überprüfen, indem Sie
den Wert der Systemvariablen
kern.timecounter.hardware
abfragen.&prompt.root; sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSCEs ist durchaus möglich, dass das BIOS die
TSC Uhr ändert, um beispielsweise den CPU-Takt zu
während des Batteriebetrieb zu ändern, oder im
Stromsparmodus; leider bemerkt FreeBSD diese
Änderungen nicht und daher scheint die Uhr falsch zu
gehen.In diesem Beispiel ist die Uhr
i8254 ebenfalls verfügbar; um sie
auszuwählen, muss ihr Name in die Systemvariable
kern.timecounter.hardware geschrieben
werden.&prompt.root; sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254Die Uhrzeit Ihres Laptops sollte nun genauer
funktionieren.Damit diese Änderung automatisch beim Start des
Systems durchgeführt wird, müssen Sie die
folgende Zeile in die
/etc/sysctl.conf eintragen.kern.timecounter.hardware=i8254Warum erkennt mein Laptop PC-Cards nicht?Dieses Problem tritt häufig auf Laptops mit mehreren
Betriebssystemen auf. Einige nicht-BSD Betriebssysteme lassen
die Hardware in einem inkonsistenten Zustand. Die Karte wird
dann von pccardd als
"(null)""(null)" anstelle des
tatsächlichen Modells gefunden.Um dies zu beheben, müssen Sie die Hardware
zurücksetzen, das heißt der PC-Card Einschub
muss stromlos sein. Gehen Sie dazu nicht in den Standby-
oder Suspend-Modus und stellen Sie sicher, dass der Laptop
wirklich ausgeschaltet ist. Warten Sie einen Moment und booten
dann, Ihre PC-Card sollte jetzt funktionieren.Einige Laptops schalten sich nicht wirklich aus. Wenn der
obige Vorschlag nichts genutzt hat, entfernen Sie bitte die
Batterie, warten einen Moment und booten erneut.Wieso hängt sich FreeBSD nach dem BIOS-Bildschirm
mit der Meldung Read error
auf?Der Bootloader von FreeBSD erkennt die Geometrie Ihrer
Festplatte nicht richtig. Sie müssen die Geometrie
manuell festlegen, wenn sie mit fdisk FreeBSD-Bereiche
erzeugen oder ändern.Die richtigen Werte für die Geometrie können
Sie im BIOS des Rechners ablesen. Achten Sie auf die
Anzahl der Zylinder, Köpfe und Sektoren für Ihre
Festplatte.Im fdisk von &man.sysinstall.8; müssen Sie
G eingeben, um die Geometrie zu
definieren.Sie erhalten eine Dialogbox, in der Sie die Anzahl der
Zylinder, Köpfe und Sektoren eingeben können.
Verwenden Sie die Angaben des BIOS und setzen Sie
Schrägstriche zwischen die Zahlen. 5000 Zylinder,
250 Köpfe und 60 Sektoren würden also als
5000/250/60 eingegeben.Schließen Sie die Eingabe mit Enter
ab und drücken Sie W, um die neue
Partitionstabelle auf die Festplatte schreiben zu
lassen.Ein anderes Betriebssystem hat meinen Bootmanager
zerstört. Wie kann ich ihn wiederherstellen?Starten Sie &man.sysinstall.8; und wählen Sie
Configure, dann Fdisk. Wählen Sie die Platte, auf
der sich der Boot Manager befand, mit der
Leertaste aus. Drücken Sie
W, um die Änderungen auf die Platten
schreiben zu lassen. Nun erscheint eine Abfrage, welcher
Bootmanager installiert werden soll. Wählen Sie
diesen an und er wird wieder installiert.Was soll mir die Meldung swap_pager: indefinite
wait buffer: sagen?Ein Programm wollte Speicher auf Platte auslagern, und
dieser Vorgang konnte nicht innerhalb von 20 Sekunden
durchgeführt werden. Mögliche Gründe sind
defekte Blöcke auf der Platte, falsche oder
fehlerhafte Verkabelung sowie Probleme mit anderen
Komponenten, die am Zugriff auf die Festplatte beteiligt
sind. Wenn die Festplatte selbst fehlerhaft sind, sollten
Sie entsprechende Meldungen in
/var/log/messages und den Ausgaben
von dmesg finden. Andernfalls sollten
Sie die Kabel und Verbindungen
überprüfen.Was sind UDMA ICRC Fehler und wie behebe ich
sie?Der &man.ata.4;-Treiber meldet UDMA ICRC
Fehler wenn eine DMA-Übertragung zu oder von einem
Laufwerk fehlgeschlagen ist. Der Treiber versucht die
Übertragung mehrmals durchzuführen und schaltet,
wenn die Versuche fehlschlagen, vom DMA-Modus auf den
langsameren PIO-Modus um.Der Fehler kann viele Ursachen haben, häufig ist ein
Kabel kaputt oder die Geräte sind falsch verkabelt.
Prüfen Sie, ob die ATA-Kabel unbeschädigt sind und
für den verwendeten Ultra-DMA-Modus tauglich sind. Ebenso
müssen Wechselrahmen für den verwendeten Modus geeignet
sein. Stellen Sie sicher, dass alle Kabel fest
angeschlossen sind. Es gab auch schon Probleme, wenn ein altes
Laufwerk zusammen mit einem Ultra-DMA-66 oder einem schnelleren
Laufwerk auf einem Kanal betrieben wurde. Es kann aber auch
sein, dass das Laufwerk kaputt ist. Die meisten Hersteller
stellen Test-Programme für ihre Laufwerke zur
Verfügung. Überprüfen Sie damit Ihr Laufwerk und
wenn nötig, sichern Sie Ihre Daten und ersetzen das
Laufwerk.&man.atacontrol.8; zeigt für jedes ATA-Gerät den
verwendeten DMA- oder PIO-Modus an. Das Kommando
atacontrol mode
Kanal
zeigt die auf einem Kanal verwendeten Modi (die Kanäle
werden von 0 an nummeriert).Was ist ein lock order
reversal?&a.rwatson; hat diese Frage auf der Mailingliste
freebsd-current ausführlich beantwortet. Das Original
seiner Antwort finden Sie über den Thread
lock order reversals - what do they mean?.
&a.rwatson; am 14. Dezember 2003 auf
freebsd-currentDiese Warnungen werden von Witness, einem
Diagnosesystem, das Verklemmungen
(deadlocks) zur Laufzeit
erkennen kann, ausgegeben. Dieses System ist in
FreeBSD -CURRENT-Kerneln vorhanden (aber nicht in
Release-Kerneln) und wird in &man.witness.4; beschrieben.
Unter anderem ist Witness in der Lage, die korrekte
Reihenfolge von bekannten sowie zur Laufzeit entdeckten
Ressource-Locks zu überprüfen, und eine Warnung
auszugeben, wenn diese Reihenfolge verletzt wird. Dadurch
wird es möglich, potentielle Verklemmungen
(deadlocks) zu entdecken.
Beachten Sie, dass Witness sehr vorsichtig ist und daher
Falschmeldungen ausgeben kann. Falls Witness ein
Verklemmungsproblem meldet, bedeutet dies: Wenn
Sie Pech gehabt hätten, wäre es jetzt zu einer
Verklemmung gekommen. Es sind einige falsch
positive Meldungen bekannt, die noch besser dokumentiert
werden müssten, um unnötige Problemmeldungen zu
vermeiden. Neu auftretende Meldungen beruhen in der Regel
auf Bugs in neu hinzugefügten Ressource-Locks, und
werden meist rasch behoben, weil Witness laufend
Fehlermeldungen produziert. :-).
"Falsch-positiv"-Meldungen bedeuten, dass Witness
auf ein sehr viel ernsteres Problem gestoßen ist.
Ursachen für eine derartige Meldung können
beispielsweise Seitenfehler
(page faults) oder eine
Speicherverletzung innerhalb des Kernels sein, aber
auch Namenskollisionen mit einem Mutex.Lesen Sie auch die lock
order reversal page von Bjoern Zeeb, um sich
über den Status bekannter lock order
reversals zu informieren.Warum erhalte ich die Meldung Called ... with
the following non-sleepable locks held?Diese Meldung erscheint, wenn eine Funktion, die sich
im Ruhemodus befindet, aufgerufen wird, während ein
Mutex oder eine andere (nicht in den Ruhemodus versetzbare)
Sperre aktiv war.Der Grund dafür ist, dass ein Mutex nicht für
längere Zeitspannen aktiv sein soll, sondern nur
für die Synchronisation von Gerätetreibern mit
dem Rest des Kernels während eines Interrupts. Unter
FreeBSD dürfen Interrupts nicht in den Ruhemodus
versetzt werden. Daher ist es von entscheidender Bedeutung,
dass während des Bestehens eines Mutex kein
Kernelsubsystem für einen längeren Zeitraum
blockiert ist.Um solche Fehler abzufangen, können Sicherungen
(Assertions) in den Kernel
eingebaut werden, die danach mit dem Witness-Subsystem
interagieren. Dadurch wird (in Abhängigkeit von Ihrer
Systemkonfiguration) eine Warnung oder eine Fehlermeldung
ausgegeben, falls der Aufruf einer Funktion während
des Bestehens eines Mutex zu einer Blockierung führen
kann.Zusammenfassend kann man sagen, dass diese Warnungen
in der Regel zwar nicht bedrohlich sind. Unter bestimmten
Umständen kann es aber dennoch zu unerwünschten
Nebenwirkungen, angefangen von einer Erhöhung der
Reaktionszeit bis hin zu einem kompletten Einfrieren des
Systems kommen.Warum bricht buildworld/installworld mit der Meldung
touch: not found ab?Dieser Fehler bedeutet nicht, dass &man.touch.1; nicht
auf Ihrem System vorhanden ist. Vielmehr sind Dateien die
Ursache, deren Erzeugungsdatum in der Zukunft liegt. Wenn
Ihre CMOS-Uhr auf Ihre lokale Zeit eingestellt ist,
müssen Sie adjkerntz -i
verwenden, um die Kerneluhr anzupassen, wenn Sie in den
Single-User-Modus booten.Kommerzielle AnwendungenDieser Abschnitt ist immer noch sehr dürftig, aber
wir hoffen natürlich, dass Unternehmen einen Beitrag
leisten werden! :) Die FreeBSD-Gruppe hat keinerlei
finanzielle Interessen an einem der hier aufgelisteten
Unternehmen, sondern listet sie lediglich als
öffentlichen Service auf (und ist der Meinung, dass
ein kommerzielles Interesse an FreeBSD sehr positiven
Einfluss auf ein langfristiges Bestehen von FreeBSD haben
kann). Wir möchten Anbieter kommerzieller Software dazu
aufrufen, ihren Eintrag hier aufnehmen zu lassen. Auf der
Anbieter-Seite finden Sie eine längere
Liste.Wo bekomme ich FreeBSD-Versionen der klassischen
Büro-Anwendungen?Das als Open Source verfügbare Office-Paket
OpenOffice.org
läuft nativ unter FreeBSD. Die um zusätzliche
Funktionen erweiterte kommerzielle OpenOffice.org-Version
StarOffice
läuft in der &linux;-Version ebenfalls problemlos
unter FreeBSD.In der Ports-Sammlung sind weitere
Textbearbeitungsprogramme, Tabellenkalkulationen und
Zeichenprogramme enthalten.Woher kann ich &motif; für FreeBSD
bekommen?Der Quelltext für &motif; 2.2.2 wurde von der
Open Group herausgegeben. Sie können
entweder das Package open-motif
installieren oder es mit dem entsprechenden Port selbst
compilieren. Weitere Informationen über die
Benutzung der Ports erhalten Sie im Kapitel Ports des
Handbuchs.Die Open &motif; Distribution darf nur weitergegeben
werden, wenn sie auf einem Open Source
Betriebssystem benutzt wird.Weiterhin gibt es auch kommerzielle &motif;-Paket, die
zwar nicht kostenlos sind, aber dafür auch mit
closed source Software benutzt werden
dürfen. Um die günstigste ELF-&motif; 2.1.20
Distribution für FreeBSD (entweder &i386; oder Alpha)
zu bekommen, wenden Sie sich bitte an Apps2go.Es gibt zwei Distributionen, die development
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.Demonstrations-Applets.Achten Sie darauf, dass Sie bei der Bestellung
angeben, dass Sie die FreeBSD-Version von &motif;
möchten (vergessen Sie auch nicht, die Architektur
anzugeben)! Von Apps2go werden auch
Versionen für NetBSD und OpenBSD verkauft. Dieses
Produkt ist zurzeit nur zum Download per FTP
verfügbar.Weitere InformationenApps2go
Web-Seiteodersales@apps2go.com oder
support@apps2go.comoderTelefon (817) 431 8775 oder +1 817
431-8775Eine &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,
dass Sie die FreeBSD-Version von &motif; 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, der CDE in vielen Punkten
ähnelt. Eventuell gefällt Ihnen auch das "Look
and Feel" von xfce. KDE und xfce
sind über die Ports-Sammlung
von FreeBSD verfügbar.Gibt es irgendwelche kommerzielle leistungsfähige
X-Server?Ja, Xi
Graphics vertreibt beschleunigte X-Produkte für
FreeBSD und andere Intel-basierte Systeme.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 InformationenXi Graphics
Web-Seiteodersales@xig.com oder
support@xig.comoderTelefon (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 sich
&linux;-&oracle; unter FreeBSD installieren lässt:http://www.unixcities.com/oracle/index.htmlhttp://www.shadowcom.net/freebsd-oracle9i/BenutzerprogrammeNun, 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 zurzeit &os.numports; 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 sollten auf den 4.X, 5.X und
6.X-Systemen laufen. Jedes Mal, wenn ein FreeBSD-Release
erstellt wird, wird auch ein Snapshot des Port-Baumes vom
Zeitpunkt des Releases in das Verzeichnis
ports/ eingefügt.Wir unterstützen auch das Konzept von
Packages - im Grunde genommen nicht mehr
als komprimierte Binärdistributionen mit ein wenig
zusätzlicher Intelligenz zur Ermöglichung
angepasster Installationen. Ein Package kann leicht
installiert und wieder deinstalliert werden, ohne,
dass man etwas über wissen muss, welche
Dateien es enthält.Benutzen Sie das Paketinstallationsmenü in
/stand/sysinstall (unter dem
Menüpunkt post-configuration) oder führen Sie den
Befehl &man.pkg.add.1; mit den speziellen
Paketdateien aus, die Sie installieren möchten.
Paketdateien können für gewöhnlich an der
Endung .tgz oder
.tbz 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 4.X-RELEASE/4-STABLE
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stablefür 5.X-RELEASE/5-STABLE
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stablefür 6.X-RELEASE/6-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stablefür 7-CURRENT
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-currentoder von Ihrem nächstgelegenen Mirror.Beachten Sie, dass nicht alle Ports als Package
verfügbar sind, da ständig neue hinzugefügt
werden. Es ist immer eine gute Idee, sich
regelmäßig auf der ftp.de.FreeBSD.org
Masterseite darüber zu informieren, welche Packages
verfügbar sind.Wie konfiguriere ich INN (Internet News) für
meine Maschine?Ein idealer Startpunkt nach der Installation des
Packages oder Ports news/inn
ist Dave
Barr's INN-Seite, wo Sie die INN-FAQ
finden.Unterstützt FreeBSD &java;?Ja. Informieren Sie sich bitte unter http://www.de.FreeBSD.org/java/.Warum kann ich manche Ports auf meiner
4.X-STABLE-Maschine nicht erstellen?Wenn Sie eine FreeBSD-Version benutzen, die deutlich
älter als das aktuelle -CURRENT oder -STABLE ist,
könnte es sein, dass Sie vorher Ihre Ports-Sammlung
aktualisieren müssen. Lesen Sie dazu den Abschnitt
Keeping Up des Porters-Handbuch. Ist Ihre
Ports-Sammlung aktuell, könnte es sein, dass jemand
eine Änderung am Port durchgeführt hat, die
für -CURRENT funktioniert, den Port für
-STABLE aber unbrauchbar gemacht hat.
Bitte senden Sie einen Fehlerbericht mit dem
Befehl &man.send-pr.1;. Von der Ports-Sammlung
wird nämlich erwartet, dass sie sowohl auf
-CURRENT als auch auf -STABLE funktioniert.Ich habe gerade versucht, INDEX
mit make index zu bauen, und es hat nicht
geklappt. Woran liegt das?Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung
aktuell ist. Fehler, die einen Bau von
INDEX aus einer aktuellen Ports-Sammlung
verhindern, sind sofort sichtbar und werden daher fast immer
umgehend behoben.Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie
vielleicht ein anderes Problem.
make index hat einen Bug im Umgang mit
unvollständigen Kopien der Ports-Sammlung. Es nimmt
an, dass Sie über eine lokale Kopie aller Ports
verfügen, von denen jeder lokale Port abhängt.
Wenn Sie also beispielsweise eine Kopie von
foo/bar auf Ihrem System haben, und
foo/bar ist von
baz/quux abhängig, dann muss auch
eine Kopie von baz/quux auf Ihrem
System vorhanden sein, sowie eine Kopie aller Ports, von
denen baz/quux abhängt.
Anderenfalls ist make index aufgrund
fehlender Informationen nicht in der Lage, den
Abhängigkeitsbaum zu erzeugen.Dieses Problem tritt vor allem dann auf, wenn
&os;-Benutzer &man.cvsup.1; verwenden, um die Ports-Sammlung
zu aktualisieren und dabei verschiedene Kategorien durch die
Datei refuse von der Aktualisierung
ausschließen. Theoretisch ist es zwar möglich,
Kategorien auszuschließen, in der Praxis gibt es aber
zu viele Ports, die von Ports in anderen Kategorien
abhängen. Wenn Sie also INDEX
bauen wollen, müssen Sie über
eine komplette Kopie der Ports-Sammlung verfügen.Es gibt seltene Fälle, in denen
INDEX nicht gebaut werden kann, wenn
bestimmte
WITH_* oder
WITHOUT_*
Variablen in make.conf gesetzt sind.
Wenn Sie dieses Problem haben, sollten Sie diese
make-Variablen deaktivieren und INDEX
erneut bauen, bevor Sie das Problem an &a.ports;
melden.Warum ist CVSup nicht im FreeBSD-Basisquellbaum
enthalten?Das Basissystem von FreeBSD soll
selbstverwaltend sein. Es soll also
möglich sein, das komplette Betriebssystem mit einer
beschränkten Anzahl von Werkzeugen zu starten. Daher
werden die zum Bau von FreeBSD nötigen Werkzeuge mit
dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören
ein C-Compiler (&man.gcc.1;), &man.make.1;, &man.awk.1; und
andere.Da CVSup in Modula-3 geschrieben wurde, müsste ein
Modula-3-Compiler ins Basissystem aufgenommen und auch
gewartet werden. Dies würde einen gestiegenen
Speicherbedarf für die FreeBSD-Quellen sowie einen
erhöhten Wartungsaufwand verursachen. Daher ist es
sowohl für Entwickler als auch Benutzer einfacher,
CVSup bei Bedarf als Port oder als Paket von einer
Installations-CD zu installieren.Ich habe die Sourcen aktualisiert, wie aktualisiere
ich jetzt die installierten Ports?FreeBSD enthält zwar kein Programm, das die
installierten Ports aktualisiert, allerdings existieren
diverse Programme, die diesen Prozess etwas
vereinfachen. Weiterhin können Sie zusätzliche
Programme installieren, die Sie dabei
unterstützen.Sie können mit &man.pkg.version.1; ein Script
erzeugen, das die installieren Ports mit einer neueren
Version aus der Ports-Sammlung ersetzt:&prompt.root; pkg_version -c > /tmp/myscriptDas so erzeugte Script muss
manuell geändert werden, bevor es benutzt wird.
Neuere Versionen von &man.pkg.version.1; erzwingen dies,
indem sie ein &man.exit.1; an den Anfang des Scripts
setzen.Sie sollten die Ausgaben des Scripts abspeichern, da
sie Ihnen melden werden, welche Ports von den dem gerade
aktualisierten Port abhängen. Es ist möglich,
dass diese auch aktualisiert werden müssen. Der
typische Fall, in dem ein Update erforderlich ist, ist
eine Änderung der Versionsnummer einer shared
library; in diesem Fall müssen die abhängigen
Ports neu übersetzt werden, damit sie die neue
Library benutzen.Ab FreeBSD 5.0 steht die Option
in &man.pkg.version.1; nicht
mehr zur Verfügung.Falls Sie über genügend freien Plattenplatz
verfügen, können Sie diesen Prozess mit
portupgrade automatisieren.
portupgrade umfasst diverse
Programme, die die Arbeit mit Packages erleichtern und ist
als ports-mgmt/portupgrade
verfügbar. Da portupgrade in Ruby
geschrieben wurde, wird es wahrscheinlich nie ein Bestandteil
von FreeBSD werden. Allerdings sollte das niemanden davon
abhalten, es trotzdem zu benutzen.Wenn Ihr System rund um die Uhr läuft, kann es
jede Woche automatisch eine Liste der Ports erzeugen, die
wahrscheinlich aktualisiert werden müssen. Fügen
Sie dazu weekly_status_pkg_enable="YES"
in /etc/periodic.conf ein.Warum ist /bin/sh so spartanisch?
Warum benutzt FreeBSD nicht die bash
oder eine ähnliche Shell?Weil der &posix;-Standard definiert, dass es so
eine Shell geben muss.Die ausführlichere Antwort: Viele Leute
müssen Shell-Programme schreiben, die auf vielen
verschiedenen Systemen nutzbar sein müssen. Aus
diesem Grund enthält der &posix;-Standard eine sehr
detaillierte Definition der Shell und der Hilfsprogramme.
Die meisten Programme werden für die Bourne Shell
geschrieben; außerdem nutzen mehrere wichtige
Schnittstellen (&man.make.1;, &man.system.3;,
&man.popen.3; und ihre Entsprechungen in höheren
Programmiersprachen wie Perl und Tcl) die Bourne Shell, um
Befehle auszuführen. Da die Bourne Shell an so
vielen Stellen und so häufig genutzt wird, muss
sie die folgenden Anforderungen erfüllen: Schneller
Start, ein klar definiertes Verhalten und ein
möglichst geringer Speicherverbrauch.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.Wieso dauert es so lange, bis &netscape; und Opera
starten?In den meisten Fällen liegt es daran, dass
Ihre DNS-Einstellungen fehlerhaft sind. Sowohl &netscape;
als auch Opera stellen Anfragen an DNS, wenn Sie gestartet
werden. Das Fenster des Browsers erscheint erst, wenn das
Programm eine Antwort erhalten hat oder es festgestellt
hat, dass Ihr System nicht an ein Netzwerk
angeschlossen ist.Ich habe die Ports-Sammlung mit
CVSup aktualisiert. Viele
Ports lassen sich danach nicht mehr bauen und geben
seltsame Fehlermeldungen aus. Was ist passiert? Ist
die Ports-Sammlung kaputt?Sie sollten immer die Teilsammlung
ports-base aktualisieren, wenn Sie
nur Teile der Ports-Sammlung mit Hilfe der
CVSup-Teilsammlungen
aktualisieren. Die Erklärung dazu finden Sie im
Handbuch.Wie erzeuge ich Audio-CDs aus MIDI-Dateien?Installieren Sie zuerst den Port audio/timidity++. Danach
müssen Sie manuell die GUS-Patche von
Eric A. Welsh von
installieren. Wenn timidity++
richtig installiert wurde, können Sie mit dem folgenden
Kommando MIDI-Dateien in das WAV-Format konvertieren:&prompt.user; timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.midDie WAV-Dateien können dann in andere Formate
konvertiert werden oder auf Audio-CDs, wie im FreeBSD-Handbuch
beschrieben, gebrannt werden.KernelkonfigurationIch möchte meinen Kernel anpassen. Ist das
schwierig?Überhaupt nicht! Lesen Sie den Abschnitt zur
Kernelkonfiguration im Handbuch.Sie sollten einen datierten Snapshot Ihres Kernels
als kernel.YYMMDD zu erstellen,
nachdem Sie alles zum Laufen gebracht haben.
Außerdem sollten Sie eine Kopie des Verzeichnisses
/modules erstellen, die den Namen
/modules.YYMMDD hat. 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.Was kann ich machen, wenn meine Kernel-Kompilierungen
fehlschlagen, weil _hw_float
fehlt?Sie haben wahrscheinlich
npx0 aus Ihrer
Kernelkonfigurationsdatei entfernt, weil Sie keinen
mathematischen Co-Prozessor besitzen. Die Gerätedatei
npx0 ist allerdings
VERPFLICHTEND. Ihre Hardware
unterstützt Gleitkommaoperationen, selbst wenn dafür
kein eigenes Bauteil (wie bei den 386er-Prozessoren) mehr
verwendet wird. Daher müssen Sie
die Gerätedatei npx0 einbinden.
Selbst wenn es Ihnen gelingen sollte, einen Kernel ohne
npx0-Unterstützung zu bauen,
werden Sie diesen nicht booten können.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, dass die Verwendung
eines Debug-Kernels
die Performance des Systems nicht oder nur minimal
reduziert; außerdem ist es für den Fall einer
system panic sehr praktisch, einen Debug-Kernel zur Hand
zu haben.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=-gSie dürfen &man.config.8; 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ß.Wieso erhalte ich Meldungen über Interrupt-Konflikte,
wenn ich eine Karte mit mehreren seriellen Schnittstellen
einsetzen will?Wenn ich einen Kernel mit Unterstützung für
serielle Multi-Port-Schnittstellen kompiliere, bekomme ich
den Hinweis, dass nur der erste Port geprüft
wird und die restlichen auf Grund von Interrupt-Konflikten
übersprungen werden. Wie kann ich das
Beheben?Das Problem besteht darin, dass in FreeBSD Code
integriert ist, um den Kernel vor Abstürzen aufgrund
von Hardware- oder Software-Konflikten zu bewahren.
Behoben wird es, indem die IRQ-Angaben für alle
Ports, bis auf einen ausgelassen werden. Hier ist ein
Beispiel:
#
# 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
Wieso kann ich nicht einmal den Standard-Kernel
(GENERIC) bauen?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.3-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, dass vorher ein komplettes
make buildworld durchgelaufen sein
muss. 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, dass Sie die Sourcen
genau zum falschen Zeitpunkt aktualisiert haben:
Während Sie gerade modifiziert wurden oder
kurzzeitig fehlerhaft waren. Eine absolute und
vollständige Garantie, dass Sie die Sourcen
compilieren können, gibt es nur für die
Releases, bei FreeBSD-STABLE ist das nicht
immer so. Wenn Sie es noch nicht versucht haben,
sollten Sie ihre Source nochmals aktualisieren. Es
ist denkbar, dass der von Ihnen genutzte Server
zurzeit Probleme hat, benutzten Sie daher testweise
auch einmal einen anderen Server.Wie kann ich prüfen, welchen Scheduler das
System benutzt?Wenn Sie &os; 5.2.1 oder älter verwenden,
überprüfen Sie dazu, ob auf Ihrem System die
sysctl-Variable kern.quantum
existiert. Ist dies bei Ihnen der Fall, werden Sie eine
Ausgabe ähnlich der folgenden sehen:&prompt.user; sysctl kern.quantum
kern.sched.quantum: 99960Wenn die sysctl-Variable kern.quantum
existiert, dann verwenden Sie den 4BSD-Scheduler. Existiert
sie nicht, erzeugt &man.sysctl.8; eine Fehlermeldung (die Sie
aber ignorieren können):&prompt.user; sysctl kern.sched.quantum
sysctl: unknown oid 'kern.sched.quantum'Seit &os; 5.3-RELEASE wird der Name des verwendeten
Schedulers direkt als Wert der sysctl-Variable
kern.sched.name ausgegeben:&prompt.user; sysctl kern.sched.name
kern.sched.name: 4BSDWas bedeutet kern.quantum?kern.quantum ist die maximale
Anzahl Ticks, die ein Prozess ununterbrochen laufen kann.
Die Variable ist charakteristisch für den
4BSD Scheduler, somit kann der verwendete Scheduler
über die Existenz dieser Variablen bestimmt werden.
Seit &os; 5.X wird kern.quantum als
kern.sched.quantum bezeichnet.Was ist kern.sched.quantum?Lesen Sie den Abschnitt
Platten, Dateisysteme und Boot LoaderWie kann ich meine neue Festplatte in mein
FreeBSD-System einbinden?Lesen Sie das Tutorial zur Festplattenformatierung
unter www.de.FreeBSD.org.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 aktualisiert haben,
ist das sehr empfehlenswert. Sie können auf beiden
Platten &man.boot0cfg.8; installieren und die beiden
Versionen so lange parallel betreiben, bis Ihnen die neue
Konfiguration gefällt. Wenn Sie dies tun wollen,
können Sie im übernächsten Absatz erfahren,
wie sie Ihre Daten verschieben können.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 kopieren. Dinge wie
Gerätedateien (in /dev),
erweiterte Dateiattribute und symbolische Links führen
dazu, dass das in die Hose geht. Sie müssen
ein Programm benutzen, das damit umgehen kann, und das
ist &man.dump.8;. Es wird oft empfohlen, die Daten im
Single-User Modus zu verschieben, aber das ist nicht
unbedingt notwendig.Sie sollten auf gar keinen Fall etwas anderes als
&man.dump.8; und &man.restore.8; benutzen, um Ihr Root-Filesystem
zu verschieben. Es könnte auch mit
&man.tar.1; funktionieren - oder auch nicht. Sie sollten
ebenfalls &man.dump.8; und &man.restore.8; benutzen, wenn
Sie eine komplette Partition auf eine andere, leere
Partition verschieben wollen. Um die Daten einer Partition mit
dump auf eine andere Partition zu verschieben, müssen
Sie die folgenden Schritte ausführen: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 derzeit auf /mnt gemountet
ist, bedeutet das:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -Wenn Sie Ihre Partitionen mit &man.dump.8;
umorganisieren wollen, steht Ihnen etwas mehr Arbeit
bevor. Wenn Sie eine Partition wie
/var in die übergeordnete Partition
verschieben wollen, müssen Sie zunächst eine neue
Partition erzeugen, die die beiden alten Partitionen
aufnehmen kann. Der zweite Schritt ist, wie oben
beschrieben die übergeordnete Partition in die neue
Partition zu verschieben. Im dritten und letzten Schritt
verschieben Sie dann die untergeordnete Partition in das
leere Verzeichnis, das im zweiten Schritt entstanden
ist:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -
&prompt.root; cd var
&prompt.root; dump 0af - /var | restore xf -Wenn Sie ein Verzeichnis aus einer Partition
herauslösen wollen, also z.B.
/var auf eine eigene Partition
verlegen wollen, dann müssen Sie zunächst beide
Partitionen anlegen. Danach müssen Sie die
untergeordnete Partition im passenden Verzeichnis
unterhalb des temporären mount points mounten und zum
Abschluß die alte Partition verschieben:&prompt.root; newfs /dev/ad1s1a
&prompt.root; newfs /dev/ad1s1d
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; mkdir /mnt/var
&prompt.root; mount /dev/ad1s1d /mnt/var
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -Eventuell sagen Ihnen für Benutzerdaten
&man.cpio.1;, &man.pax.1; oder &man.tar.1; eher zu als
&man.dump.8;. Allerdings haben alle diese Programme den
Nachteil, dass sie die erweiterten Dateiattribute
nicht verstehen, daher sollten Sie bei ihrem Einsatz
aufpassen.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, dass vom
Layout von dangerously dedicated Platten
bekannt ist, dass es viele BIOSe verwirrt,
einschließlich solcher von AWARD (wie es z.B. im HP
Netserver oder Micronics-Systemen, sowie vielen anderen zu
finden ist) und Symbios/NCR (für die bekannte
53C8xx-Reihe von SCSI-Controllern). Dies ist keine
vollständige Liste - es gibt weitere. Symptome
für diese Verwirrung sind 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,
muss es sich die Lage dieser Slices auf der
Festplatte in einer Art merken, die damit
übereinstimmt, wie das BIOS erwartet, sie zu finden.
Wenn das falsch geschieht, werden Sie nicht in der Lage
sein, zu booten.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,
dass der Kernel sie beim Booten ausgibt, indem Sie
an der Eingabeaufforderung
boot: angeben, oder boot
-v im Loader verwenden. Kurz bevor das
Installationsprogramm startet, wird der Kernel eine Liste
mit den BIOS-Geometrien ausgeben. Keine Panik - warten
Sie, bis das Installationsprogramm gestartet wurde und
benutzen Sie Scrollback, um die Zahlen zu lesen.
Typischerweise befinden sich die BIOS-Platten in derselben
Reihenfolge, wie FreeBSD Ihre Platten auflistet - zuerst
IDE, dann SCSI.Wenn Sie Ihre Festplatte in Slices unterteilen,
überprüfen Sie, ob die Plattengeometrie, die im
FDISK-Menü angegeben ist, korrekt ist (das heißt
mit den Einstellungen im BIOS übereinstimmen). Falls
die Werte nicht stimmen, benutzen Sie 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, dass 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, dass das BIOS und
FreeBSD in der Festplattengeometrie übereinstimmen,
dann sind Ihre Probleme ziemlich sicher vorüber -
ohne, dass es nötig gewesen wäre, den
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, dass 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,
dass 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=15Alternativ installiert der undokumentierte
DOS-BefehlC:\>fdisk /mbreinen neuen Master-Boot-Record, das heißt der
BSD-Bootstrap wird zerstört.Auf welchen Partitionen kann ich problemlos
Soft Updates einsetzen? Ich habe gehört, das der
Einsatz von Soft Updates auf /
Probleme verursachen kann.Die schnelle Antwort: Sie können Soft Updates
bedenkenlos auf alle Partitionen benutzen.Die ausführliche Antwort: Es gab lange Zeit
Bedenken, was den Einsatz von Soft Updates auf der
root-Partition betrifft. Der Grund sind zwei
Charakteristika der Soft Updates: Zum einen kann es bei
einem Absturz des System auf einer Partition mit
Soft Updates zum Datenverlust kommen. Die Partition ist
zwar noch brauchbar, aber einige Daten können
verloren gehen. Weiterhin kann es durch Soft Updates zu
einem zeitweisen Mangel an Plattenplatz kommen.Bei der Benutzung von Soft Updates kann es bis zu
dreißig Sekunden dauern, bis der Kernel
Änderungen auf das physikalische Speichermedium
schreibt. Wenn Sie eine große Datei löschen,
ist diese Datei noch auf der Platte vorhanden, bis der
Kernel die Löschoperation tatsächlich
durchführt. Das kann zu einem sehr einfachen Problem
führen: Stellen Sie sich vor, Sie löschen eine
große Datei und legen gleich darauf eine andere
große Datei an. Da die erste Datei noch nicht
wirklich gelöscht wurde, ist eventuell nicht genug
Platz für die zweite große Datei. Sie erhalten
die Fehlermeldung, dass nicht genug freier Platz
vorhanden ist, obwohl Sie ganz genau wissen, dass Sie
gerade eben Platz geschaffen haben. Wenn Sie die
Operation ein paar Sekunden später wiederholen,
funktioniert alles wie von Geisterhand. Dieser Effekt hat
mehr als einen Benutzer verwirrt und Zweifel an seiner
geistigen Stabilität oder dem FreeBSD-Dateisystem
aufkommen lassen.Wenn der Kernel ein Datenpaket annimmt und das System
abstürzt, bevor er dies Daten auf die Platte
geschrieben hat, kann es zum Verlust oder zur
Zerstörung von Daten kommen. Dieses Risiko ist nur
sehr gering und normalerweise tragbar. Wenn Sie
allerdings einen IDE-Write-Cache verwenden, steigt das
Risiko; daher wird normalerweise empfohlen, auf den
Einsatz dieser Technik zu verzichten, wenn Sie Soft Updates
benutzen.Diese beiden Probleme betreffen alle Partitionen, die
Soft Updates verwenden. Was bedeutet das für die
Root-Partition?Die wichtigen Daten auf der Root-Partition ändern
sich nur sehr selten. Dateien wie
/kernel und der Inhalt
/etc werden nur bei der Wartung des
Systems geändert, oder wenn Benutzer ihre
Passwörter ändern. Wenn das System in den
30 Sekunden nach einer solchen Änderung
abstürzt, ist es möglich, das Daten verloren
gehen. Dieses Risiko ist in den meisten Fällen
unerheblich, aber es ist vorhanden. Wenn das zu viel
Risiko ist, dann sollten Sie Soft Updates nicht auf der
Root-Partition einsetzen./ war schon immer eine der
kleinsten Partitionen. Standardmäßig legt
FreeBSD das Verzeichnis /tmp direkt
auf /. Wenn in Ihrem
/tmp viel Betrieb ist, kann es
gelegentlich zu den oben beschriebenen Platzproblemen
kommen. Um das Problem zu lösen, sollten sie einen
symbolischen Link von /tmp nach
/var/tmp legen.Was stimmt mit meinem ccd nicht?Das Symptom hierfür ist:&prompt.root; ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or formatDas geschieht für gewöhnlich, wenn Sie
versuchen, die c Partitionen, die
standardmäßig 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 labelDer Grund ist, dass 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)Kann ich andere fremde Dateisysteme unter FreeBSD
mounten?FreeBSD unterstützt verschiedene fremde
Dateisysteme.Digital UNIXUFS-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;FreeBSD unterstützt
ext2fs-Partitionen. Unter
&man.mount.ext2fs.8; finden Sie weitere
Informationen.&windowsnt;Ein NTFS-Treiber, der nur Lesezugriffe gestattet,
ist Teil von &os;. Weitere Informationen entnehmen
Sie bitte der Hilfeseite &man.mount.ntfs.8;.FATFreeBSD enthält ein FAT-Treiber, der Lese-
und Schreibzugriffe ermöglicht. Weitere
Informationen entnehmen Sie bitte der Hilfeseite
&man.mount.msdosfs.8;.ReiserFSFreeBSD enthält einen Treiber, der Lesezugriffe
auf ReiserFS-Partitionen erlaubt. Weiter Informationen
dazu finden Sie in der Manualpage
&man.mount.reiserfs.8;.FreeBSD unterstützt auch verschiedene
Netzwerk-Dateisysteme, wie NFS (&man.mount.nfs.8;), NetWare
(&man.mount.nwfs.8;), sowie die SMB-Dateisysteme von
Microsoft (&man.mount.smbfs.8;).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 mounten:&prompt.root; cd /dev
&prompt.root; ./MAKEDEV da1s5
&prompt.root; mount -t msdos /dev/da1s5 /dos/eLassen Sie diesen Schritt aus, wenn Sie FreeBSD
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
verwenden. Die Gerätedateien werden in diesem Fall
automatisch in /dev erstellt.Gibt es ein verschlüsselndes Dateisystem
für &os;?Seit FreeBSD 5.0 können Sie &man.gbde.8;
einsetzen. Mit FreeBSD 6.0 kam &man.geli.8; hinzu.
Für ältere Versionen gibt es den Port
security/cfs.Wie kann ich den &windowsnt;-Loader zum Booten von
FreeBSD verwenden?Das grundsätzliche Vorgehen besteht darin,
dass Sie den ersten Sektor Ihrer eigentlichen
FreeBSD-Rootpartition in eine Datei auf der
DOS/&windowsnt;-Partition kopieren. Angenommen, sie nennen
die Datei etwa 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"
Falls FreeBSD auf derselben Platte, wie die
&windowsnt;-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./boot/boot0 muss mit
sysinstall installiert werden. Wählen Sie dazu den
FreeBSD-Bootmanager aus, wenn Sie gefragt werden, ob sie
einen Bootmanager installieren wollen. Dieser Schritt ist
notwendig, weil /boot/boot0 eine
leere Partitionstabelle enthält, die von sysinstall
ausgefüllt wird, bevor
/boot/boot0 in den MBR kopiert
wird.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!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, dass 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=FreeBSDIn einigen Fällen könnte es sein, dass
Sie beim FreeBSD-Bootloader die BIOS-Laufwerksnummer
angeben müssen, um von der zweiten Platte booten zu
können. Wenn Ihre FreeBSD-SCSI-Platte vom BIOS zum
Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
am Prompt des FreeBSD-Bootloaders eingeben:Boot: 1:da(0,a)/kernelSie können &man.boot.8; so
konfigurieren, dass 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 &os; und &linux; mit GRUB?Es ist sehr einfach, GRUB zum Starten von &os;
einzusetzen. Dazu müssen Sie lediglich die folgenden
Zeilen in die Konfigurationsdatei
/boot/grub/grub.conf aufnehmen:title FreeBSD 6.1
root (hd0,a)
kernel /boot/loader
Dabei steht hd0,a für die
root-Partition Ihrer ersten Festplatte. Benötigen
Sie auch die Slice-Nummer, so verwenden Sie einen Eintrag
der Form (hd0,2,a). In der
Voreinstellung ist die Angabe der Slice-Nummer aber nicht
nötig, da GRUB automatisch das erste Slice (das die
Bezeichnung 'a' hat) nutzt.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, dass Sie
&windows; 95 neu installieren (&windows; 95 ist ein
eifersüchtiges Betriebssystem, das kein anderes
Betriebssystem im Master Boot Sektor duldet).Wie kann ich das ??? des
Boot-Managers durch etwas Sinnvolles ersetzen?Solange Sie den Boot-Manager nicht komplett neu
schreiben, gar nicht. Allerdings gibt es in der Kategorie
sysutils der Ports diverse
Boot-Manager, die diese Funktionalität
bieten.Ich habe ein Wechsellaufwerk. Wie benutze ich
es?Ob es sich um ein Wechsellaufwerk handelt, um ein
&iomegazip; oder ein EZ-Laufwerk (oder sogar ein
Diskettenlaufwerk, wenn Sie es auf diese Weise benutzen
möchten), oder um eine neue Festplatte - wenn es
einmal installiert und vom System erkannt ist und Sie Ihre
Kassette/Diskette/was_auch_immer eingelegt haben, ist das
Vorgehen bei allen Geräten ziemlich
ähnlich.(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 /floppyoder diesen:&prompt.root; mount -t msdos /dev/da2s4 /zipfür eine ZIP-Disk mit der
Herstellerkonfiguration.Benutzen Sie bei anderen Platten &man.fdisk.8; oder
&man.sysinstall.8;, 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
&man.fdisk.8; 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 autoSie 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/rda2canschließend mounten Sie es:&prompt.root; mount /dev/da2c /zipUnd 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 0Wieso erhalte ich die Meldung Incorrect
super block beim Mounten einer CDROM?Sie müssen &man.mount.8; mitteilen, was für
ein Gerät Sie mounten wollen. Genauere Informationen
dazu finden Sie im Kapitel Optische
Speichermedien des Handbuch, genauer gesagt im
Abschnitt Benutzung
von Daten-CDs.Wieso erhalte ich die Meldung Device not
configured, wenn ich eine CDROM
mounte?Das bedeutet im allgemeinen, dass sich keine
CDROM im Laufwerk befindet, oder, dass das Laufwerk
auf dem Bus nicht sichtbar ist. Dieses Problem wird im
Kapitel Benutzung
von Daten-CDs des Handbuchs ausführlich
diskutiert.Wieso werden alle Sonderzeichen in den Dateinamen auf
meinen CDs durch ? ersetzt, wenn ich die CD
unter FreeBSD benutze?Wahrscheinlich werden auf der CDROM die
Joliet Erweiterungen für die
Speicherung von Datei- und Verzeichnisnamen benutzt.
Werfen Sie einen Blick in das Kapitel Erzeugung von
CD-ROMs im Handbuch, speziell in den Abschnitt
über Benutzung
von Daten-CDs.[Anmerkung des Übersetzers: Es geht hier nicht um
die deutschen Sonderzeichen, da diese schon im normalen
ISO8859-1 enthalten sind. Die Probleme treten auf, wenn
man z.B. russische CDs (ISO8859-5) verwendet.]Ich habe eine CD mit FreeBSD gebrannt und kann sie
nicht mit anderen Betriebssystemen lesen. Warum?Sie haben wahrscheinlichste eine Datei direkt auf CD
geschrieben, statt ein ISO 9660-Dateisystems erzeugt zu
haben. Werfen Sie einen Blick in das Kapitel Erzeugung von
CD-ROMs im Handbuch, speziell in den Abschnitt
über reine
Daten-CDs.Wie kann ich ein Image einer Daten-CD erzeugen?Diese Information finden Sie im Abschnitt Kopieren
von CD-ROMs des Handbuchs. Weitere Informationen
über die Arbeit mit CD-ROMs finden Sie im Abschnitt
Erzeugen von
CD-ROMs im Kapitel Speichermedien des
Handbuchs.Wieso kommt mount nicht meiner
Audio-CD zurecht?Wenn Sie versuchen sollten, eine Audio-CD zu mounten,
erhalten Sie die Meldung cd9660: /dev/acd0c:
Invalid argument. Der Grund dafür ist,
dass mount nur für
Dateisysteme vorgehen ist. Audio CDs habe kein
Dateisystem, sondern nur Daten. Wenn Sie eine Audio CD
auslesen wollen, brauchen Sie ein entsprechendes Programm
wie z.B. audio/xmcd
aus den Ports.Wie nutze ich mount für eine
Multi-Session CD?Standardmäßig benutzt &man.mount.8; den
letzten (aktuellsten) Daten-Track der CD. Wenn Sie eine
ältere Session benutzen wollen, müssen Sie diese
mit der Option definieren. Weitere
Informationen finden Sie in der Onlinehilfe zu
&man.mount.cd9660.8;Wie lasse ich normale Benutzer Disketten, CDROMs 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=1Ordnen 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/fd0Um den Mitgliedern der Gruppe
operator den Zugriff auf das
CDROM zu gestatten:&prompt.root; chgrp operator /dev/acd0c
&prompt.root; chmod 640 /dev/acd0cAb &os; 5.X müssen Sie
zusätzlich /etc/devfs.conf
anpassen, weil diese Einstellungen ansonsten beim
Systemneustart verloren gehen.Damit normale Benutzer bespielsweise das erste
Diskettenlaufwerk mounten können, fügen Sie
als root folgende Zeilen in
/etc/devfs.conf ein:# Allen Benutzern erlauben, das erste Diskettenlaufwerk zu mounten.
own /dev/fd0 root:operator
perm /dev/fd0 0666Damit alle Mitglieder der Gruppe
operator das CD-ROM-Laufwerk
mounten können, die folgenden Zeilen:# Alle Mitglieder der Gruppe operator dürfen CD-ROMs mounten.
own /dev/acd0 root:operator
perm /dev/acd0 0660Fügen Sie zum Abschluss 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-pointDie zur Gruppe operator
gehörenden Benutzer können nun
/dev/acd0c auf ein Verzeichnis, das
ihnen gehört, mounten:&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t cd9660 /dev/acd0c ~/my-mount-pointDas Unmounten des Gerätes ist simpel:&prompt.user; umount ~/my-mount-pointDie Aktivierung von vfs.usermount
hat jedoch negative Auswirkungen auf Sicherheitsaspekte.
Ein besserer Weg, um auf &ms-dos;-formatierte
Datenträger zuzugreifen, ist die Benutzung des
Packages
emulators/mtools.Denken Sie daran, dass Sie die Gerätenamen in
diesen Beispielen an Ihre Konfiguration anpassen
müssen.Wieso geben die Befehle du und
df unterschiedliche Werte für den
freien Plattenplatz aus?Der Grund ist die Funktionsweise von
du und df.
du geht durch einen Dateibaum,
ermittelt die Größe jeder einzelnen Datei, und
gibt die Summe aus. df fragt lediglich
das Dateisystem wie viel Platz noch frei ist. Das
scheint zwar auf den ersten Blick sehr ähnlich zu
sein; allerdings wird sich ein leeres Verzeichnis auf die
Ausgabe von df auswirken, während
es auf das Ergebnis von du keinen
Einfluss hat.Wenn Sie eine Datei löschen, während sie von
einem Programm genutzt wird, wird diese Datei erst
gelöscht, wenn sie vom Programm freigegeben wird.
Allerdings wird die Datei sofort aus dem Verzeichnis
entfernt. Sie können dieses Verhalten mit einem
Programm wie more sehr einfach
nachvollziehen. Dazu brauchen Sie nur eine Datei, die
groß genug ist, um die Ausgabe von
du und df zu
beeinflussen. Bei der Größe aktueller Platten
muss diese Datei schon sehr
groß sein! Wenn Sie diese Datei löschen,
während Sie sie sich in more
anzeigen lassen, hat more kein Problem.
Der Eintrag für die Datei wird lediglich aus dem
Verzeichnis entfernt, damit kein anderes Programm mehr
darauf zugreifen kann. Laut du ist die
Datei verschwunden – es hat das Verzeichnis
untersucht und die Datei nicht gefunden. Laut
df ist die Datei aber vorhanden, da sie
im Dateisystem immer noch Platz belegt. Sobald Sie
more beenden, werden die Ergebnisse von
du und df wieder
übereinstimmen.Bitte beachten Sie, dass die Freigabe des
Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden
verzögert werden kann.Die oben beschriebene Situation tritt sehr häufig
auf Web-Servern auf. Viele Anwender installieren einen
FreeBSD Web-Server und vergessen die Rotation der
Logfiles, bis irgendwann die Partition
/var überläuft. Der
Administrator löscht die Datei, aber das System
beschwert sich immer noch über fehlenden
Plattenplatz. Die Datei wird erst freigegeben, wenn der
Web-Server beendet und neu gestartet wird; dadurch kann
das System den Plattenplatz freigeben. Um solche und
ähnliche Unfälle zu verhindern, sollten Sie
&man.newsyslog.8; einsetzen.Wie kann ich den Swap-Bereich
vergrößern?Im Kapitel Konfiguration und
Tuning des Handbuches gibt es einen Abschnitt
mit einer Schritt-für-Schritt Anleitung.Warum ist meine Festplatte unter &os; kleiner, als sie
laut Hersteller sein soll?Festplattenhersteller definieren ein Gigabyte als eine
Milliarde Bytes, für &os; ist ein Gigabyte hingegen
1.073.741.824 Bytes groß. Aus diesem Grund wird
für eine Platte, die laut Herstellerangaben
80 GB groß ist, während des Bootvorgangs
eine Größe von 76.319 MB angezeigt.Beachten Sie auch, dass &os; (in der Voreinstellung)
8 % des Plattenplatzes für sich
reserviert.Warum kann eine Partition zu mehr als 100% gefüllt
sein?Ein Teil jeder UFS Partition, in der Vorgabe sind das 8%,
ist für das Betriebssystem und den Benutzer
root reserviert. &man.df.1; rechnet
diesen Teil bei der Ausgabe der Capacity
Spalte nicht ein, so dass dort Werte über 100%
angezeigt werden können. Die Anzahl der Blöcke in
der blocks Spalte ist ebenfalls um 8%
größer als die Summe der benutzten und
verfügbaren Blöcke (die Spalten
Used und Avail).Wie viel Platz reserviert wird, können Sie mit der
Option von &man.tunefs.8; einstellen.SystemadministrationWo befinden sich die Konfigurationsdateien für
den Systemstart?/etc/defaults/rc.conf (siehe
&man.rc.conf.5;) ist die primäre Konfigurationsdatei.
Die Startskripten des Systems, wie /etc/rc
und /etc/rc.d (siehe &man.rc.8;)
inkludieren diese Datei.
Ändern Sie diese Datei nicht!
Wenn Sie den Wert einer der in
/etc/defaults/rc.conf gesetzten
Variablen ändern wollen, fügen Sie die
entsprechende Zeile in die Datei
/etc/rc.conf ein und ändern
die Zeile dort.Wenn Sie zum Beispiel den mitgelieferten DNS-Server
named aktivieren wollen,
müssen Sie lediglich das folgende Kommando
eingeben:&prompt.root; echo named_enable="YES" >> /etc/rc.confWenn Sie lokale Server starten wollen, müssen
Sie passende Shellskripten im Verzeichnis
/usr/local/etc/rc.d/ ablegen. Die
Dateien müssen als ausführbar markiert sein und
die Endung .sh haben.Wie kann ich am Einfachsten einen Benutzer
hinzufügen?Benutzen Sie den Befehl &man.adduser.8; und für
kompliziertere Fälle den Befehl &man.pw.8;.Benutzen Sie den Befehl &man.rmuser.8;, um einen
Benutzer wieder zu löschen. Sie können, wenn
nötig. auch &man.pw.8; benutzen.Warum erhalte ich Meldungen wie root: not
found, nachdem ich meine crontab geändert
habe?Die übliche Ursache dieses Problems ist,
dass Sie die crontab des Systems
(/etc/crontab) geändert und dann
mit &man.crontab.1; installiert haben:&prompt.root; crontab /etc/crontabDiese 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 so vorgegangen sind, ist die zweite crontab
einfach nur eine Kopie von
/etc/crontab, allerdings im falschen
Format. Löschen Sie sie mit dem folgenden
Befehl:&prompt.root; crontab -rWenn Sie /etc/crontab wieder
ändern müssen, sollten Sie einfach gar nichts
tun, um &man.cron.8; über die Änderung zu
informieren, er erkennt die Änderung
automatisch.Wenn Sie ein Kommando jeden Tag, jede Woche oder jeden
Monat ausführen lassen wollen, ist es wahrscheinlich
einfacher, wenn Sie entsprechende Shell-Scripte in
/usr/local/etc/periodic ablegen.
Diese werden dann von &man.periodic.8; zusammen mit den
anderen regelmäßigen Tätigkeiten
ausgeführt.Der eigentliche Grund für den Fehler ist die
Tatsache, dass die crontab des Systems ein
zusätzliches Feld enthält; dieses Feld gibt an,
mit welcher Benutzerkennung der Befehl ausgeführt
werden soll. In der mitgelieferten crontab ist das bei
allen Einträgen die Benutzerkennung
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.Wieso meldet mir &man.su.1; you are not in
the correct group to su root, wenn ich mit
&man.su.1; root werden will?Das ist ein Sicherheits-Feature. Wenn Sie mit
&man.su.1; zum Account root (oder
jedem anderen Account mit Super-User-Privilegien) wechseln
wollen, müssen Sie ein Mitglied der Gruppe
wheel sein. Wenn es dieses Feature
nicht gäbe, könnte jeder, der einen Account auf
dem System hat und zufällig das Passwort
für root erfährt, mit
Super-User-Rechten auf das System zugreifen. Durch dieses
Feature ist die Lage anders, wenn Sie nicht Mitglied von
wheel sind, können Sie nicht
einmal versuchen, dass Passwort
einzugeben.Um einem Benutzer zu erlauben, mit &man.su.1;
root zu werden, müssen Sie ihn
nur in die Gruppe wheel
eintragen.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.Wieso habe 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.Einige Drucker benötigen einen auf dem Rechner
laufenden Treiber, um drucken zu können. Diese
so genannten WinPrinter oder
GDI-Drucker werden von FreeBSD nicht
unterstützt und an diesem Zustand wird sich wohl auch
nichts ändern. Wenn Ihr Drucker nicht unter DOS oder
&windowsnt; 4.0 verwendet werden kann, handelt es sich um
einen WinPrinter und wird in der Regel auch
nicht unter FreeBSD funktionieren. Ihre einzige Chance,
einen dieser Drucker benutzen können, ist der Port
ports/print/pnm2ppa.Wie kann ich die Tastaturbelegung meines Systems
korrigieren?Informationen dazu finden Sie im Kapitel länderspezifische
Einstellungen des Handbuchs, insbesondere im
Abschnitt Konfiguration
der Konsole.Wieso erhalte ich beim Start des Systems Meldungen wie
unknown: <PNP0303> can't assign
resources?Die nachfolgende Erklärung stammt aus einer Mail
auf der Mailingliste freebsd-current.
&a.wollman;, 24 April 2001Die Geräte, für die can't assign
resources-Meldungen ausgegeben werden, sind
Legacy ISAGeräte, für die ein nicht
PNP-fähiger Treiber in den Kernel eingebunden
wurde. Dabei handelt es sich um Geräte wie den
Tastaturkontroller, den programmierbaren
Interrupt-Kontroller und diverse andere
Standardkomponenten. Die Ressourcen können nicht
zugewiesen werden, weil es schon einen Treiber gibt, der
diese Ressourcen benutzt.
Wieso funktionieren die Benutzer-Quotas nicht
richtig?Es kann sein, dass Ihr Kernel nicht für den
Einsatz von Quotas konfiguriert ist. Damit Sie mit
Quotas arbeiten können, müssen Sie folgende
Zeile in Ihre Kernelkonfigurationsdatei aufnehmen und
den Kernel neu bauen:options QUOTAWeitere Informationen zum Einsatz von Quotas
finden Sie im entsprechenden
Abschnitt
des Handbuchs.Benutzen Sie keine Quotas für
/.Erstellen Sie die Quotas-Datei in dem Dateisystem,
für das die Quotas gelten sollen, z.B.:FilesystemQuota file/usr/usr/admin/quotas/home/home/admin/quotas……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 bereits mit dem
GENERIC-Kernel. Wenn Sie einen
angepassten Kernel verwenden, 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
Danach kompilieren und installieren Sie den neuen
Kernel.Welchen Mail-Server kann ich an Stelle von Sendmail
benutzen?Sendmail
ist zwar der Mail-Server, der bei FreeBSD
standardmäßig installiert wird, aber Sie
können Ihn problemlos durch einen anderen MTA (z.B.
aus den Ports) ersetzen.In der Port-Sammlung gibt es bereits viele
verschiedene MTAs, mail/exim,
mail/postfix,
mail/qmail, sowie
mail/zmailer
sind einige der beliebteren Alternativen.Konkurrenz belebt das Geschäft und die Tatsache,
dass Sie die Qual der Wahl haben, ist ein Vorteil.
Daher sollten Sie Fragen wie Ist Sendmail besser
als Qmail? besser nicht auf den Mailinglisten
stellen. Wenn Sie dieses Thema interessiert, sollten sie
zunächst die Archive durchsehen. Die Vorteile und
Nachteile jedes einzelnen der verfügbaren MTAs sind
schon mehrere Male bis zur Erschöpfung diskutiert
worden.Was kann ich machen, wenn ich das Rootpasswort
vergessen habe?Keine Panik! Starten Sie Ihr System neu und
geben Sie boot -s an der
Eingabeaufforderung Boot: ein, um in den
Einzelbenutzermodus zu gelangen. Bei der Frage danach,
welche Shell benutzt werden soll, drücken Sie einfach
ENTER. Nun erscheint die Eingabeaufforderung
&prompt.root;. Geben Sie 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 &man.exit.1;
können Sie mit dem Booten fortfahren.Wie verhindere ich, dass das System mit
CtrlAltDelete
rebootet werden kann?Falls Sie syscons (den Standard-Treiber für die
Konsole) benutzen, fügen Sie folgende Zeile in Ihre
Kernelkonfigurationsdatei ein:options SC_DISABLE_REBOOTFalls Sie den Konsolen-Treiber PCVT verwenden, benutzen
Sie stattdessen die folgende Zeile:options PCVT_CTRL_ALT_DEL
+
+ Alternativ können Sie auch die folgende
+ sysctl-Variable setzen (die aktiviert wird, ohne dass Sie
+ Ihr System dazu neu starten oder einen angepassten Kernel
+ erstellen müssen):
+
+ &prompt.root; sysctl hw.syscons.kbd_reboot=0Wie kann ich Textdateien von DOS Systemen auf &unix;
Systemen verwenden?Benutzen Sie 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 &man.tr.1;
benutzen:&prompt.user; tr -d '\r' < dos-text-file > unix-filedos-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 &man.killall.1;.Warum nervt su mich damit, dass 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.shAlternativ können Sie alle Zeilen mit
MAKE_KERBEROS aus der
/etc/make.conf entfernen und dann ein
make world durchführen.Wo ist /dev/MAKEDEV hin?Ab FreeBSD 5.X werden Geräte automatisch
von &man.devfs.8; zur Verfügung gestellt. Die
Gerätetreiber erstellen die Gerätedateien,
wenn diese benötigt werden. Das Skript
/dev/MAKEDEV wird nicht mehr
gebraucht.Wenn Sie FreeBSD 4.X oder eine frühere
Version benutzen und /dev/MAKEDEV
fehlt, dann haben Sie ein Problem. Kopieren Sie das
Skript aus den Systemquellen. Es liegt wahrscheinlich
unter /usr/src/etc/MAKEDEV.Wie füge ich Pseudo-Terminals zum System
hinzu?Wenn Sie viele Benutzer von telnet, ssh, X oder
screens haben, könnte es sein, dass Ihnen die
Pseudo-Terminals ausgehen. So fügen Sie weitere
hinzu:Erstellen und installieren Sie einen neuen Kernel
mit der Zeilepseudo-device pty 256in 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 networkDie 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.Warum kann ich 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 snd0Lassen Sie diesen Schritt aus, wenn Sie FreeBSD
5.0-RELEASE oder eine neuere Version mit &man.devfs.5;
verwenden. Die Gerätedateien werden in diesem Fall
automatisch in /dev erstellt.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; exitIch wollte auf das aktuelle -STABLE updaten, und
plötzlich läuft hier ein -BETAx, -RC oder
-PRERELEASE. Was ist passiert?Kurze Antwort: Das ist nur ein anderer Name. RC ist
die Abkürzung für Release
Candidate. Es bedeutet, dass eine neue
Release bevorsteht. Und -PRERELEASE bedeutet bei FreeBSD
normalerweise, dass die Sourcen zur Vorbereitung auf eine
Release eingefroren wurden (in einigen
Releases wurde -BETA anstelle von -PRERELEASE
verwendet).Ausführliche Antwort: Bei FreeBSD gibt es zwei
Quellen für Releases. Die Major Releases wie
4.0-RELEASE und 5.0-RELEASE werden aus dem aktuellen Stand
des Hauptzweiges der Entwicklung (besser und kürzer
als -CURRENT bekannt)
erzeugt. Minor Releases wie 4.1-RELEASE or 5.2-RELEASE
stammen aus dem aktiven -STABLE Zweig. Seit 4.3-RELEASE
gibt es es nun auch einen eigenen Zweig für jede
Release, der für die Leute gedacht ist, die ein sehr
konservativ weiterentwickeltes System benötigen (im
Normalfall also nur Updates aus dem Bereich
Sicherheit).Bevor in einem Zweig eine Release erfolgt, muss
in diesem Zweig ein bestimmter Prozess 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, dass demnächst eine Release erfolgen
wird. Wenn der Zweig zum Beispiel 4.5-STABLE genannt
wurde, wird der Name in 4.6-PRERELEASE geändert, um
dies zu verdeutlichen. Weiterhin ist das ein Zeichen, dass
jetzt besonders intensiv getestet werden sollte. In
dieser Phase können Fehler im Sourcecode noch
korrigiert werden. Wenn der Sourcecode so weit
gereift ist, dass eine Release
erstellt werden kann, wird der Name in 4.6-RC
geändert, um genau dies anzuzeigen. In dieser Phase
können nur noch extrem wichtige Korrekturen
aufgenommen werden. Sobald die Release (in diesem Beispiel
4.6-RELEASE) erfolgt ist, wird der Zweig in 4.6-STABLE
umbenannt.Weitere Informationen über Versionsnummern und die
verschiedenen Entwicklungszweige enthält der Artikel
Release
Engineering.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.securelevelSie 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.securelevelSie 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;.Warum braucht &man.rpc.statd.8; 256 MByte
Speicher?Nein, das Programm hat keinen Fehler und es verbraucht
auch nicht 256 MByte Speicher. rpc.statd
projiziert nur einen übertrieben großen
Speicherbereich in seinen eigenen Adressraum.
Von einem rein technischen Standpunkt aus
ist das nichts verwerfliches, allerdings verwirrt es
Programme wie &man.top.1; und &man.ps.1;.&man.rpc.statd.8; projiziert seine Statusdatei (die in
/var liegt) in seinen
Adressraum. Um die Probleme zu vermeiden, die bei
einer Vergrößerung dieser Projektion entstehen
könnten, wird gleich ein möglichst großer
Speicherbereich benutzt. Dies kann man sehr schön im
Sourcecode sehen: Die Längenangabe beim Aufruf von
&man.mmap.2; ist 0x10000000, ein
sechzehntel des Adressraums bei IA32, oder genau 256
MByte.Warum kann ich das Dateiattribut
schg nicht löschen?Sie betreiben Ihr System mit einer erhöhten
Sicherheitsstufe. Senken Sie die Sicherheitsstufe und
versuchen Sie es dann noch einmal. Weitere Informationen
erhalten Sie im FAQ Eintrag
über Sicherheitsstufen und in der Online-Hilfe
&man.init.8;.Warum funktioniert die .shosts
Authentifizierung von SSH in neueren Version von FreeBSD
nicht mehr?Die .shosts
Authentifizierung funktioniert nicht mehr, weil
&man.ssh.1; in neueren Versionen von FreeBSD nicht mehr
SUID-root installiert wird. Um dieses
Problem zu lösen, gibt es die folgenden
Möglichkeiten:Um das Problem für immer zu lösen,
müssen Sie in /etc/make.conf
die Variable ENABLE_SUID_SSH auf
true setzen und ssh neu
übersetzen (oder make world
ausführen.Übergangsweise können Sie auch die
Dateirechte von /usr/bin/ssh auf
4555 setzen, indem Sie den Befehl
chmod 4555 /usr/bin/ssh als
root ausführen. Fügen
Sie anschließend ENABLE_SUID_SSH=
true in die Datei
/etc/make.conf ein, damit diese
Änderung erhalten bleibt, wenn Sie das
nächste Mal make world
ausführen.Was ist vnlru?vnlru schreibt vnodes auf Platte
und gibt sie wieder frei, falls das System die Grenzwert
kern.maxvnodes erreicht. Dieser Thread
des Kernel tut meistens gar nichts und wird nur aktiv,
wenn Sie extrem viel RAM haben und gleichzeitig auf viele
zehntausende kleine Dateien zugreifen.Was bedeuten die Zustände, die
top für Speicherseiten ausgibt?Speicherseiten werden vom Kernel in
verschiedenen Listen verwaltet:Active: Seiten, die vor
Kurzem benutzt wurden.Inactive: Seiten, die
länger nicht benutzt wurden.Cache: Meistens
Seiten, die vorher im Zustand Inactive
waren und noch gültige Daten enthalten. Diese
Seiten können sofort in ihrem alten Kontext oder
in einem neuen Kontext verwendet werden. Wenn eine
Seite unverändert
(clean) ist, kann
ein Zustandswechsel direkt von Active
nach Cache erfolgen.
Ob dieser Zustandswechsel möglich ist, wird durch
die Seitenersetzungsstrategie bestimmt, die der
Entwickler des VM-Systems festgelegt hat.Free: Seiten, die
keine Daten enthalten. Diese Seiten können
sofort benutzt werden, wenn Seiten im Zustand
Cache nicht benutzt werden
können. Seiten im Zustand Free
können auch während eines Interrupts
angefordert werden.Wired: Seiten, die
fest im Speicher liegen und nicht ausgelagert werden
können. Normalerweise werden solche Seiten vom
Kernel benutzt, manchmal werden Sie aber auch für
spezielle Zwecke von Prozessen verwendet.Seiten im Zustand Inactive
werden oft auf Plattenspeicher geschrieben (sozusagen
ein sync des VM-Systems). Wenn
die CPU erkennen kann, das eine Seite unmodifiziert
(clean) ist, kann
auch eine Active-Seite auf den
Plattenspeicher ausgeschrieben werden. In bestimmten
Situationen ist es von Vorteil, wenn ein Block von
VM-Seiten, unabhängig von seinem Zustand,
ausgeschrieben werden kann. Die
Inactive-Liste enthält wenig
benutzte Seiten, die ausgeschrieben werden könnten.
Seiten im Zustand Cached sind
schon ausgeschrieben und stehen Prozessen für
die Verwendung im alten oder in einem neuen Kontext
zur Verfügung. Seiten im Zustand
Cache sind nicht ausreichend
geschützt und können während Unterbrechungen
nicht benutzt werden.Die eben beschriebene Behandlung von Speicherseiten
kann durch weitere Zustände (wie das
das Busy-Flag) verändert werden.Wie viel freien Speicher hat mein System?Es gibt verschiedene Arten von freiem
Speicher. Eine Art ist die Speichermenge,
die sofort, ohne etwas auszulagern, zur Verfügung
steht. Der gesamte VM-Bereich
ist eine weitere Art des freien Speichers.
Die Betrachtung ist komplex, hängt aber von
der Größe des Swap-Bereichs und der
Größe des Arbeitsspeichers ab. Es gibt
weitere Definitionen für freien Speicher,
die aber alle relativ nutzlos sind. Wichtig ist
hingegen, dass wenig Seiten ausgelagert
werden (paging) und der
Swap-Bereich ausreichend groß ist.Ich kann /var/empty nicht
löschen!Das Verzeichnis /var/empty
wird von &man.sshd.8; benötigt, wenn es mit
Privilege Separation läuft.
Das Verzeichnis /var/empty ist
leer, gehört root und
ist durch das Dateiattribut schg
geschützt.Wir empfehlen Ihnen, das Verzeichnis zu belassen.
Sollten Sie es aber trotzdem löschen wollen,
müssen Sie zuerst das schg-Attribut
entfernen. Schauen Sie sich dazu die Hilfeseite
&man.chflags.1; an und beachten Sie die Antwort auf
die Frage wie das
schg-Attribut entfernt wird.Das X Window System und virtuelle KonsolenWas ist das X Window System?Das X Window System (oder auch nur X11)
ist das am häufigsten verwendete
Window System für &unix;- und &unix;-ähnliche Systeme,
zu denen auch &os; gehört.
Der X
Protokollstandard wird von der
X.org Foundation definiert
und liegt aktuell in Version 11 Relase &xorg.version; vor und wird
häufig auch nur als X11 bezeichnet.Das X Window System wurde für viele verschiedene
Architekturen und Betriebssysteme implementiert. Eine
serverseitige Implementierung wird dabei als
X-Server bezeichnet.Welche X-Implementierungen sind für &os;
verfügbar?Früher war &xfree86;, die X-Implementierung des
XFree86
Projects, Inc., der Standard unter &os;. Dieser
X-Server wurde bis einschließlich &os;
Version 4.10 und 5.2 als Standard-X-Server installiert.
Die von &xorg; veröffentlichte Implementierung diente
nur als Referenzplattform, weil der verwendete Code
über die Jahre sehr ineffizient geworden war.Anfang 2004 verließen einige Entwickler das
XFree86 Project, um fortan &xorg; direkt zu
unterstützen. Der Grund dafür waren
Meinungsverschiedenheiten über die Geschwindigkeit
der Weiterentwicklung, die zukünftige Ausrichtung des
Projekts sowie persönliche Differenzen. Zur gleichen
Zeit aktualisierte &xorg; ihren Quellcodebaum auf die
&xfree86;-Version 4.3.99.903,
brachte viele Änderungen, die bisher getrennt verwaltet
worden waren, in das Projekt ein und veröffentlichte
das Paket als X11R6.7.0, bevor
&xfree86; die Lizenz änderte. Ein seperates, aber
mit &xorg; verbundenes Projekt,
freedesktop.org
(oder fd.o), arbeitet an einer
Überarbeitung des ursprünglichen &xfree86;-Codes,
um einerseits mehr Rechenarbeit an die Grafikkarten zu
übertragen (mit dem Ziel einer deutlich erhöhten
Geschwindigkeit) und andererseits den Code zu modularisieren
(mit dem Ziel einer verbesserten Wartung, einer schnelleren
Entwicklung sowie einer vereinfachten Konfiguration). &xorg;
plant, die Weiterentwicklungen von freedesktop.org in seine
zukünftigen Versionen zu integrieren.Seit Juli 2004 ist &xorg; der Standard-X-Server für
&os;. Die &xfree86;-Ports
(x11/XFree86-4)
sind aber weiterhin über die Ports-Sammlung
verfügbar.Weitere Informationen zum X Window System finden Sie im
X11-Kapitel des
FreeBSD-Handbuchs.Der vorletzte Absatz beschreibt nur die
Standardeinstellung. Es ist nach wie vor möglich,
beide Implementierungen unter &os; zu verwenden. Lesen
Sie dazu die Anweisungen im Eintrag vom 23.07.2004 in
der Datei /usr/ports/UPDATING.Beachten Sie, dass es derzeit nicht möglich ist,
Teile aus beiden Implementierungen parallel zu verwenden.
Sie müssen sich also für eine der beiden
Implementierungen entscheiden.Funktionieren meine Programme auch mit der
&xorg;-Implementierung noch?Der &xorg;-Server basiert auf der gleichen
X11R6-Spezifikation, die auch &xfree86; verwendet, daher
sollte ein Großteil der Anwendungen problemlos
funktionieren. Einige selten verwendete Protokolle werden
allerdings nicht mehr unterstützt
(XIE, PEX, sowie
lbxproxy). Die beiden ersten Protokolle
wurden allerdings auch vom &xfree86;-Port nicht
unterstützt.Warum hat sich das X Project überhaupt
aufgespalten?Diese Frage ist nicht &os;-spezifisch. Es gibt zu
diesem Thema umfangreiche Postings in diversen
Mailinglist-Archiven. Suchen Sie daher über eine
Suchmaschine danach, statt diese Frage auf einer
&os;-Mailingliste zu stellen.Warum hat sich &os; für &xorg; als Standard-X-Server
entschieden?Die Entwickler von &xorg; geben an, dass sie neue
Versionen rascher veröffentlichen und neue Eigenschaften
schneller implementieren wollen. Außerdem verwenden
sie nach wie vor die traditionelle X-Lizenz, während
&xfree86; nun eine veränderte Version benutzt.Diese Entscheidung wird nach wie vor heftig
diskutiert. Nur die Zeit wird zeigen, welche
Implementierung technisch überlegen ist. Jeder
&os;-Benutzer hat aber die freie Wahl zwischen den
beiden Implementierungen.Ich möchte X benutzen, was muss ich
tun?Wenn Sie X auf einem existierenden System installieren
wollen, sollten Sie den Meta-Port
x11/xorg verwenden, der
alle benötigen Komponenten baut und installiert.Lesen Sie danach die Dokumentation zu
&man.xorgconfig.1;, das Sie bei der Konfiguration des
X-Servers für Ihre Grafikkarte, Maus usw.
unterstützt. Bevorzugen Sie eine grafische
Konfigurationsoberfläche, sollten Sie sich
&man.xorgcfg.1; ansehen.Weitere Informationen finden sich im Abschnitt X11 des
FreeBSD-Handbuchs.Evtentuell möchten Sie sich auch den Xaccel-Server
ansehen. Nähere Details finden Sie im
Abschnitt über Xi
Graphics.Ich habe versucht, X zu starten,
aber wenn ich startx eingebe, erhalte
ich die Fehlermeldung KDENABIO failed
(Operation not permitted). Was soll ich jetzt
machen?Das System läuft auf einer erhöhten
Sicherheitsstufe (securelevel).
X kann auf einer erhöhten Sicherheitsstufe nicht
gestartet werden, weil X dazu Schreibzugriff auf
/dev/io benötigt. Lesen Sie dazu
auch &man.init.8;.Die Frage ist also eigentlich, was Sie anders machen
sollten. Sie haben zwei Möglichkeiten: Setzen Sie
die Sicherheitsstufe wieder zurück auf 0 (die
Einstellung erfolgt in der Regel in
/etc/rc.conf) oder starten Sie
&man.xdm.1; während des Starts des Systems, bevor die
Sicherheitsstufe erhöht wird.Der Abschnitt enthält
Informationen darüber, wie Sie &man.xdm.1; beim Start
des Systems starten können.Warum funktioniert meine Maus unter X nicht?Wenn Sie syscons (den Standard-Konsoltreiber)
benutzen, können Sie FreeBSD so konfigurieren,
dass auf jedem virtuellen Bildschirm ein Mauszeiger
unterstützt wird. Um Konflikte mit X zu vermeiden,
unterstützt syscons ein virtuelles Gerät mit dem
Namen /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 X
benutzen wollen, sollten Sie zunächst lesen und dann
moused installieren.Die Datei /etc/X11/xorg.conf sollte
die folgenden Einträge enthalten:Section "InputDevice"
Option "Protocol" "SysMouse"
Option "Device" "/dev/sysmouse"
.....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 mouseKann ich meine Rad-Maus auch unter X benutzen?Ja.Dazu müssen Sie X nur mitteilen, dass Sie eine
Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen
Buttons 5 sowie
ZAxisMapping 4 5 in den Abschnitt
InputDevice der Datei
/etc/X11/xorg.conf ein. Das
Beispiel zeigt, wie ein solcher Abschnitt aussehen
könnte.Abschnitt InputDevice für
Rad-Mäuse in der Konfigurationsdatei von
&xorg;Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection .emacs Beispiel für
seitenweises Blättern mit einer
Rad-Maus (optional);; wheel mouse
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)X verbietet Verbindungen von entfernten Systemen!Aus Sicherheitsgründen verbietet der X-Server
in der Voreinstellung Verbindungen von entfernten
Systemen.Starten Sie den X-Server mit der Option
, wenn Sie Verbindungen von
entfernten Systemen erlauben wollen:&prompt.user;
startx -listen_tcpWieso funktionieren Menüs und Dialoge in X 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
/etc/X11/xorg.conf 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 AltF2 (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
AltF1.Die Standardinstallation von FreeBSD bietet acht
aktivierte virtuelle Konsolen. Mit
AltF1,
AltF2,
AltF3
und so weiter wechseln Sie 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, dass Sie Pech haben, wenn Sie für
jede Ihrer 12 Alt-Funktionstasten eine
Anmeldeaufforderung haben möchten - Sie können
das nur für elf von ihnen tun, wenn Sie einen
X-Server auf derselben Maschine laufen lassen
möchten.Der einfachste Weg, eine Konsole zu deaktivieren, ist,
sie auszuschalten. Wenn Sie zum Beispiel die oben
erwähnte volle Zuordnung aller 12 Terminals
hätten, müssten Sie die Einstellung
für das virtuelle Terminal 12 von:ttyvb "/usr/libexec/getty Pc" cons25 on securein: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.)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 1ausführen.Es ist unbedingt erforderlich, dass Sie das X
Window System vollständig herunterfahren, falls es
läuft. Falls Sie es nicht tun, könnte es sein,
dass sich ihr System nach der Eingabe des
kill-Befehls aufhängt.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
&man.xdm.1; zu starten ist. Bei dem einen wird
xdm unter Nutzung des mitgelieferten
Beispiels über /etc/ttys
(&man.ttys.5;) gestartet, während beim zweiten Ansatz
rc.local (&man.rc.8;) oder das
Skript X.sh im Verzeichnis
/usr/local/etc/rc.d verwendet wird.
Beide Ansätze sind gleichwertig und der eine
wird in Situationen funktionieren, in denen der andere es
nicht tut. In beiden Fällen ist das Ergebnis das
gleiche: X liefert eine graphische
Anmeldeaufforderung.Die ttys-Methode hat den Vorteil, dass
dokumentiert ist, auf welchem vty X gestartet wird und der
Neustart des X-Servers beim Abmelden an init
übergeben wird. Die rc.local-Methode erleichtert ein
Killen von xdm, falls Probleme beim Start des X-Servers
auftreten sollten.Beim Laden von rc.local sollte xdm
ohne irgendwelche Argumente (das heißt als Daemon)
gestartet werden. xdm muss gestartet werden NACHDEM getty
läuft, andernfalls entsteht ein Konflikt zwischen
getty und xdm und die Konsole bleibt gesperrt. Der beste
Weg, um dies zu vermeiden, ist, das Skript für etwa
zehn Sekunden anzuhalten und dann xdm zu starten.Wenn Sie xdm durch einen Eintrag in
/etc/ttys starten lassen, kann es zu
einem Konflikt zwischen xdm und
&man.getty.8; kommen. Um dieses Problem zu
vermeiden, sollten Sie die Nummer des
vt in die Datei
/usr/local/lib/X11/xdm/Xservers
eintragen.:0 local /usr/local/bin/X vt4Diese Zeile führt dazu, dass 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.Wieso erhalte ich die Meldung Couldn't open
console, wenn ich xconsole benutze?Wenn Sie X mit
startx starten, werden die
Zugriffsrechte für
/dev/console leider
nicht geändert, was dazu
führt, dass 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, dass jeder Benutzer einfach auf die
Systemkonsole schreiben kann. Für Benutzer, die sich
auf einer Maschine direkt mit einem VTY anmelden,
existiert die Datei &man.fbtab.5;, um
derartige Probleme zu lösen.In Kürze: sorgen Sie dafür, dass sich
eine nicht auskommentierte Zeile der Form/dev/ttyv0 0600 /dev/consolein der Datei /etc/fbtab befindet.
Das sorgt dafür, dass wer auch immer sich auf
/dev/ttyv0 anmeldet, auch die Konsole
besitzt.Früher konnte ich &xfree86; als normaler User
starten. Warum sagt mir das System jetzt, dass ich
root sein muss?Alle X-Server müssen mit der ID
root laufen, um direkt auf die
Videohardware zuzugreifen. Die älteren Versionen von
&xfree86; (bis einschließlich 3.3.6) installierten
alle mitgelieferten Server so, dass sie automatisch
unter ID root ausgeführt werden
(setuid to root). Dies stellt
natürlich eine Gefahrenquelle dar, da die X-Server
große, komplexe Programme sind. Alle neueren
Versionen von &xfree86; installieren die Server aus genau
diesem Grund nicht mehr "setuid
root".Es ist natürlich nicht tragbar, den X-Server
immer mit der ID root laufen zu
lassen; auch aus Gründen der Sicherheit ist es keine
gute Idee. Es gibt zwei Möglichkeiten, um X auch als
normaler Benutzer starten zu können. Die erste ist
die Verwendung von xdm oder eines
ähnlichen Programms; die zweite ist die Benutzer von
Xwrapper.xdm ist ein ständig laufendes
Programm, mit dem Logins über eine graphische
Benutzeroberfläche sind. Es wird normalerweise beim
Systemstart initialisiert und für die
Authentifizierung der Benutzer und den Start ihrer
Sitzungen verantwortlich. Es ist also die graphische
Entsprechung von &man.getty.8; und &man.login.1;.
Weitere Informationen zum Thema xdm
finden Sie in der &xfree86;
Dokumentation und dem entsprechenden FAQ-Eintrag.Xwrapper ist eine
Hülle für den X-Server. Mit
diesem kleinen Utility ist es möglich, manuell den
X-Server zu starten und weiterhin eine annehmbare
Sicherheit zu haben. Das Tools prüft, ob die per
Kommandozeile übergebenen Argumente halbwegs sinnvoll
sind. Wenn dies der Fall ist, startet es den
entsprechenden X-Server. Wenn Sie (aus welchem Grund auch
immer) keine graphische Anmeldung wollen, ist
Xwrapper die optimale Lösung.
Wenn Sie die vollständige Ports-Sammlung installiert
haben, finden Sie das Tool im Verzeichnis
/usr/ports/x11/wrapper.Warum funktioniert meine PS/2-Maus nicht
richtig?Ihre Maus und der Maustreiber sind etwas aus der
Synchronisation geraten.In seltenen Fällen kann es jedoch sein,
dass 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: -cGeben sie dann in der Kommandozeile von
UserConfig folgendes ein:UserConfig> flags psm0 0x100
UserConfig> quitMeine PS/2-Maus von MouseSystems scheint nicht zu
funktionieren.Es wurde berichtet, dass 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 Bildschirms.Das Flag 0x04 des Maustreibers bringt die Maus
in den hochauflösenden Modus. Rufen Sie
UserConfig durch Angabe der Option
am Boot-Prompt auf:boot: -cGeben sie dann in der Kommandozeile von
UserConfig folgendes ein:UserConfig> flags psm0 0x04
UserConfig> quitLesen Sie den vorigen Abschnitt über eine andere
mögliche Ursache für Probleme mit der
Maus.Wie kann ich einen anderen X-Server installieren?&os;-Versionen vor 5.3 verwendeten
&xfree86; 4.X als
Standard-X-Server. Seither wird
&xorg; als
Standard-X-Server verwendet. Wenn Sie einen anderen
X-Server installieren wollen,
müssen Sie die folgende Zeile in Ihre
/etc/make.conf einfügen. (Existiert
die Datei nicht, müssen Sie sie zuvor anlegen.)X_WINDOW_SYSTEM= xorgDiese Variable kann die Werte xorg,
xfree86-4, oder
xfree86-3 annehmen.Wie vertausche ich die Maustasten?Benutzen Sie den Befehl xmodmap -e "pointer =
3 2 1" in Ihrer .xinitrc
oder .xsession.Wie installiere ich einen Splash-Screen und wo finde
ich sie?&os; erlaubt die Anzeige von
Splash-Screens während des
Bootvorganges. Die Splash-Screens dürfen
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.
Die derzeitige VESA-Unterstützung kann entweder direkt
durch die Kernelkonfigurationsoption
VESA in den Kernel eingebunden werden,
oder durch das Laden des VESA-kld-Moduls während des
Bootens.Um einen Splash-Screen zu benutzen, müssen Sie die
Startdateien, die den Bootprozess von &os; kontrollieren,
modifizieren.Dazu müssen Sie die Datei
/boot/loader.rc erstellen, die
die folgenden Zeilen enthält:include /boot/loader.4th
startAußerdem benötigen Sie die Datei
/boot/loader.conf, die die
folgenden Zeilen enthält:splash_bmp_load="YES"
bitmap_load="YES"Dies setzt voraus, dass 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
surfen.Kann ich die &windows;-Tasten unter X
benutzen?Ja, Sie müssen lediglich mit &man.xmodmap.1;
festlegen, welche Aktion diese Tasten auslösen
sollen.Unter der Annahme, dass alle &windows;
Tastaturen dem Standard entsprechen, lauten die Keycodes
für die drei Tasten115 - &windows;-Taste zwischen den
Alt- und
Strg-Tasten auf der linken Seite116 - &windows;-Taste rechts von der
AltGr-Taste117 - Menü-Taste, links von der
rechten Strg-TasteNach der folgenden Anweisung erzeugt die linke
&windows;-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;-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, muss jede Definition in
eine eigene Zeile gesetzt werden. Weiterhin müssen
Sie in Ihrer ~/.xinitrc noch die
folgende Zeile einfügen:xmodmap $HOME/.xmodmaprcSie könnten die drei Tasten zum Beispiel mit den
Funktionen F13, F14 und
F15 belegen. 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
Falls Sie zum Beispiel fvwm2
benutzen, können Sie ihn so einstellen, dass
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 zwischen 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
Wird 3D Hardware Beschleunigung für &opengl;
unterstützt?Dies hängt davon ab, welche Version von &xfree86;
oder &xorg; und welche Grafikkarte Sie verwenden.
Wenn Sie eine Karte mit NVIDIA-Chipsatz besitzen, benutzen
Sie die binären Treiber für FreeBSD, die Sie auf der
Drivers-Seite von NVIDEA finden.
Wenn Sie &xfree86;-4 oder &xorg; mit Grafikkarten wie
der Matrox G200/G400, ATI Rage 128/Radeon, oder 3dfx
Voodoo 3, 4, 5, und Banshee einsetzen, erhalten Sie
weitere Informationen auf der Webseite &xfree86;-4
Direct Rendering on FreeBSD.NetzwerkeWoher kann ich Informationen über Diskless
Booting bekommen?Diskless Booting bedeutet, dass
die FreeBSD-Maschine über ein Netzwerk gebootet wird
und die notwendigen Dateien von einem Server anstatt von
der Festplatte liest. Vollständige Details finden
Sie im Handbucheintrag
über den plattenlosen Betrieb.Kann eine FreeBSD-Maschine als Netzwerkrouter genutzt
werden?Ja. Genaue Informationen zu diesem Thema finden Sie
im Abschnitt
Gateways und Routen des Handbuchkapitels
Weiterführende Netzwerkthemen.Kann ich meine &windows;-Maschine über FreeBSD ans
Internet anbinden?Personen, die diese Frage stellen, haben
typischerweise zwei PCs zu Hause: einen mit FreeBSD und
einen mit einer &windows;-Variante. Die Idee ist, die
FreeBSD-Maschine an das Internet anzubinden, um in der
Lage zu sein, von der &windows;-Maschine über die
FreeBSD-Maschine auf das Internet zuzugreifen. Das
ist tatsächlich nur ein Spezialfall der vorherigen
Frage.Das User-Mode &man.ppp.8; von &os; kennt die Option
. Wenn Sie &man.ppp.8; 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. Weitere Informationen erhalten Sie
in der Hilfeseite &man.ppp.8; oder im
Abschnitt
User-PPP des Handbuchs.Wenn Sie Kernel-Mode PPP verwenden oder ihre
Verbindung zum Internet über Ethernet erstellt
wurde, müssen Sie &man.natd.8; verwenden. Weitere
Informationen dazu finden Sie im natd-Abschnitt
des Handbuchs.Unterstützt FreeBSD SLIP und PPP?Ja. Lesen Sie die Manualpages &man.slattach.8;,
&man.sliplogin.8;, &man.pppd.8; und &man.ppp.8;.
&man.ppp.8; und &man.pppd.8; liefern Unterstützung
sowohl für eingehende, als auch ausgehende
Verbindungen. &man.sliplogin.8; behandelt
ausschließlich eingehende Verbindungen und
&man.slattach.8; behandelt ausschließlich ausgehende
Verbindungen.Diese Programme werden im Abschnitt PPP und SLIP
des Handbuchs beschrieben.Falls Sie nur durch einen Shell-Account
Zugang zum Internet haben, sehen Sie sich einmal das
Package net/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?Ja. Wenn Sie NAT über eine User-PPP-Verbindung
einsetzen wollen, lesen Sie bitte den User-PPP Abschnitt
des Handbuchs. Wollen Sie NAT über eine andere
Verbindung einsetzen, lesen Sie bitte den
NATD Abschnit
des Handbuchs.Wie verbinde ich zwei FreeBSD-Maschinen mit PLIP
über die parallele Schnittstelle?Dieses Thema wird im Handbuch-Kapitel PLIP
behandelt.Wieso kann ich das Gerät
/dev/ed0 nicht erstellen?Weil das nicht notwendig ist. Bei Berkeley-basierten
Netzwerkimplementationen kann nur vom Kernel-Code aus
direkt auf Netzwerkkarten zugegriffen werden. Zur
weiteren Information lesen Sie bitte die Datei
/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?Wenn sich die zweite Adresse im gleichen Subnetz
befindet wie eine der Adressen, die bereits auf dem
Interface konfiguriert sind, benutzen Sie netmask
0xffffffff in Ihrer &man.ifconfig.8;
Befehlszeile, wie z.B.:&prompt.root; ifconfig ed0 alias 204.141.95.2 netmask 0xffffffffAndernfalls geben sie die Adresse und die Netzmaske so
an, wie sie es bei einem normalen Interface auch tun
würden:&prompt.root; ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00Wie bringe ich meine 3C503 dazu, den anderen
Anschluss zu benutzen?Wenn Sie die anderen Anschlüsse benutzen
möchten, müssen Sie einen zusätzlichen
Parameter in der &man.ifconfig.8;-Befehlszeile
spezifizieren. Der Standard-Anschluss ist
link0. Um den AUI-Anschluss
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.Warum habe ich Probleme mit NFS und 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 /mntWarum 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 /mntWarum 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, dass Sie den Aufbau der &man.exports.5; nicht
oder nicht richtig verstanden haben. Überprüfen
Sie Ihre &man.exports.5; und lesen das Kapitel NFS im
Handbuch, speziell den Abschnitt
Konfiguration.Warum habe ich 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=NOXylogic'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 standardmäßig
unterstützt. Wenn Sie Ihre Maschine als Multicast-Router
betreiben wollen, müssen Sie Ihren Kernel mit der Option
MROUTING neu kompilieren und
&man.mrouted.8; starten. Wenn Sie die Variable
mrouted_enable in der Datei
/etc/rc.conf auf
"YES" setzen, wird &man.mrouted.8;
während des Systemstart automatisch gestartet.MBONE-Tools sind in ihrer eigenen Ports-Kategorie
mbone
verfügbar. Schauen Sie dort nach, wenn Sie die
Konferenztools vic und
vat suchen!Welche Netzwerkkarten basieren auf dem
DEC-PCI-Chipsatz?Hier ist eine von Glen Foster
gfoster@driver.nsta.org zusammengetragene
Liste mit einigen aktuellen Ergänzungen:
Warum muss ich für Hosts auf meiner Site den
FQDN benutzen?Sie werden wahrscheinlich feststellen, dass der
Host sich tatsächlich in einer anderen Domäne
befindet; wenn Sie sich zum Beispiel in foo.example.org
befinden und einen Host namens mumble in
der Domäne example.org erreichen wollen,
werden Sie den fully-qualified Domainnamen mumble.example.org, 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 muss also entweder als
mumble.foo.example.org gefunden
werden, oder er wird in der Hauptdomäne
gesucht.Dies unterscheidet sich vom vorherigen Verhalten, wo
die Suche über mumble.example.org 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 Zeilesearch foo.example.org example.organstelle der vorherigendomain foo.example.orgin Ihre Datei /etc/resolv.conf
einfügen. Stellen Sie jedoch sicher, dass die
Suchreihenfolge nicht über die Grenze zwischen
lokaler und öffentlicher Administration, wie
RFC 1535 sie nennt, hinausreicht.Wieso erhalte ich bei allen Netzwerkoperationen die
Meldung Permission denied?Dieses Problem kann auftreten, wenn Sie einen Kernel
mit der Option IPFIREWALL erstellt
haben. In der Voreinstellung werden alle Pakete, die
nicht explizit erlaubt wurden, blockiert.Falls sie Ihr System unbeabsichtigt als Firewall
konfiguriert haben, können Sie die
Netzwerkfunktionalität wiederherstellen, indem Sie
als root folgendes eingeben:&prompt.root; ipfw add 65534 allow all from any to anySie können in /etc/rc.conf
auch firewall_type="open"
setzen.Weitere Informationen über die Konfiguration
einer FreeBSD-Firewall finden Sie im Kapitel Firewalls
des Handbuchs.Wie viele Einbußen zieht IPFW nach sich?Diese Frage wird im Handbuch-Kapitel Firewalls im
Abschnitt IPFW
Overhead und Optimierung ausführlich
behandelt.Warum kann ich bei &man.ipfw.8; einen Dienst nicht mit
fwd auf eine andere Maschine
umlenken?Der wahrscheinlichste Grund ist, dass Sie Network
Address Translation (NAT) brauchen und nicht die einfache
Weiterleitung von Pakete. Die fwd
Anweisung macht genau das, was da steht: Sie leitet
Pakete weiter; die Daten in den Paketen werden aber nicht
verändert. Ein Beispiel:01000 fwd 10.0.0.1 from any to foo 21Wenn ein Paket mit dem Ziel
foo die Maschine mit dieser
Regel erreicht, wird das Paket an
10.0.0.1 weitergeleitet; die
Zieladresse im Paket lautet aber immer noch
foo! Die Zieladresse wird
nicht in
10.0.0.1 geändert. Die
meisten Rechner werden allerdings Pakete verwerfen, wenn
die Zieladresse des Paketes nicht mit der Adresse des
Rechners übereinstimmt. Das ist der Grund, warum
eine fwd Regel oft nicht den Effekt hat,
den der Benutzer wollte. Dieses Verhalten ist aber kein
Fehler, sondern erwünscht.Wenn Sie einen Dienst auf eine andere Maschine
umleiten wollen, sollten Sie sich den FAQ-Eintrag über die
Umleitung von Diensten oder die Online-Hilfe zu
&man.natd.8; durchlesen. Auch in der Ports Sammlung sind diverse
Hilfsprogramme für diesen Zweck enthalten.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, dass stattdessen
socket aufgerufen wird, zum Beispiel so:ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.comftpwobei ftp.example.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 drei
Bandbreiten-Managementtools. &man.dummynet.4; ist als
Teil von &man.ipfw.4; in FreeBSD integriert.
ALTQ
ist für FreeBSD 4.X kostenlos verfügbar und
seit FreeBSD 5.X als Bestandteil von &man.pf.4; im
Basissystem enthalten. Bei Bandwidth Manager von Emerging Technologies
handelt es sich hingegen um ein kommerzielles Produkt.Warum erhalte ich die Meldung /dev/bpf0:
device not configured?Der Berkeley-Paket-Filter (&man.bpf.4;) muss in
den Kernel eingebunden werden, bevor er von einem
Programme aus genutzt werden kann. Fügen Sie
folgendes zu Ihrer Kernelkonfigurationsdatei hinzu und
erstellen Sie einen neuen Kernel:pseudo-device bpf # Berkeley Packet FilterUnter FreeBSD 4.X und früheren Versionen
müssen Sie noch die Gerätedateien erstellen.
Wechseln Sie dazu nach dem Neustart in das Verzeichnis
/dev und führen Sie den folgenden
Befehl aus:&prompt.root; sh MAKEDEV bpf0Weitere Informationen über den Umgang mit 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 die Kernel-Erweiterungen und Benutzerprogramme
aus dem Programmpaket SMBFS. Das
Paket und weitergehende Informationen sind unter
net/smbfs in den Ports
verfügbar; ab der Version 4.5 ist
SMBFS Bestandteil
des Basissystems.Was bedeutet die Meldung icmp-response
bandwidth limit 300/200 pps in meinen
Logfiles?Mit dieser Meldung teilt Ihnen der Kernel mit,
dass irgend jemand versucht, ihn zur Generierung von
zu vielen ICMP oder TCP reset (RST) Antworten zu
provozieren. ICMP Antworten sind oft das Ergebnis von
Verbindungsversuchen zu unbenutzten UDP Ports. TCP Resets
werden generiert, wenn jemand versucht, eine Verbindung zu
einem ungenutzten TCP Port aufzubauen. Die Meldungen
können unter anderem durch die folgenden Ereignisse
ausgelöst werden: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, wie viele Pakete vom Kernel
ohne das Limit versendet worden wären; die zweite
Zahl gibt das Limit an. Sie können das Limit mit
Hilfe der sysctl-Variable
net.inet.icmp.icmplim einstellen. Im
Beispiel wird das Limit auf 300 Pakete
pro Sekunde gesetzt:&prompt.root; sysctl -w net.inet.icmp.icmplim=300Wenn Sie zwar die Begrenzung benutzen möchten, aber
die Meldungen nicht in Ihren Logfiles sehen möchten,
können Sie die Meldungen mit der sysctl-Variable
net.inet.icmp.icmplim_output
abschalten:&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0Falls 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.Was bedeutet die Meldung arp: unknown
hardware address format?Ein Gerät im lokalen Ethernet verwendet eine
MAC-Adresse in einem Format, das FreeBSD nicht kennt. Der
wahrscheinlichste Grund ist, dass jemand Experimente
mit einer Ethernet-Karte anstellt. Die Meldung tritt sehr
häufig in Netzwerken mit Cable Modems auf. Die
Meldung ist harmlos und sollte die Performance Ihres
Systems nicht negativ beeinflussen.Ich habe gerade CVSup installiert, aber das Programm bricht
mit Fehlermeldungen ab. Was ist da schief gelaufen?Schauen Sie bitte zuerst nach, ob Sie eine Fehlermeldung
wie die unten gezeigte erhalten./usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not foundSolche Fehlermeldungen erhalten Sie, wenn Sie den
net/cvsup Port auf einer
Maschine installieren, die kein
&xfree86;-System besitzt. Wenn Sie
das GUI von CVSup
benutzen wollen, müssen Sie
&xfree86; installieren. Wenn Sie
CVSup nur auf der Kommandozeile
benutzen wollen, entfernen Sie bitte den Port, den Sie gerade
installiert haben. Installieren Sie stattdessen den Port
net/cvsup-without-gui.
Genauere Informationen finden Sie im
CVSup Abschnitt
des Handbuchs.SicherheitWas 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 Prozess kann innerhalb der
Wände spielen, das heißt nichts,
was der Prozess in Bezug auf die Ausführung von
Code tut, kann die Wände durchbrechen. Es ist
also keine detailierte Revision des Codes
erforderlich, um gewisse Aussagen über seine
Sicherheit machen zu können.Die Wände könnten z.B. eine
Benutzerkennung sein. Dies ist die Definition, die in
den Hilfeseiten &man.security.7; und &man.named.8; benutzt
wird.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 Prozess, der sich innerhalb einer
simulierten Maschine befindet. Dies ist etwas
fortgeschrittener; grundsätzlich bedeutet es,
dass jemand, der in der Lage ist, in einen
Prozess einzudringen, annehmen könnte, er
könnte weiter in die Maschine eindringen,
tatsächlich aber nur in eine Simulation der
Maschine einbricht und keine echten Daten
verändert.Der gängigste Weg, dies zu erreichen, ist, in
einem Unterverzeichnis eine simulierte Umgebung zu
erstellen und den Prozess in diesem Verzeichnis
mit chroot auszuführen (für diesen
Prozess ist / 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 Prozess einen scheinbar
schreibberechtigten Blick in das Dateisystem gibt.
Der Prozess mag glauben, dass er in der Lage
ist, diese Dateien zu verändern, aber nur der
Prozess sieht diesen Effekt - andere Prozess
im System natürlich nicht.Es wird versucht, diese Art von Sandkasten so
transparent zu gestalten, dass der Benutzer (oder
Hacker) nicht merkt, dass er sich in ihm
befindet.Ein &unix; System implementiert zwei Arten von
Sandkästen - eine auf Prozessebene und die andere auf
der Ebene der Benutzerkennung.Jeder Prozess auf einem &unix; System ist komplett von
allen anderen Prozessen abgeschirmt. Ein Prozess
kann den Adressraum eines anderen Prozesses nicht
modifizieren. Das ist anders als bei &windows;, wo ein
Prozess leicht den Adressraum eines anderen
überschreiben kann, was zu einem Absturz
führt.Ein Prozess gehört einer bestimmten
Benutzerkennung. Falls die Benutzerkennung nicht die von
root ist, dient sie dazu, den
Prozess von Prozessen anderer Benutzer abzuschirmen.
Die Benutzerkennung wird außerdem dazu genutzt,
Daten auf der Festplatte abzuschirmen.Was sind die Sicherheitsstufen?Die Sicherheitsstufen sind ein Sicherheitsmechanismus,
der im Kernel angesiedelt ist. Wenn die Sicherheitsstufe
einen positiven Wert hat, verhindert der Kernel die
Ausführung bestimmter Tätigkeiten; nicht einmal
der Super-User (also root) darf sie
durchführen. Zurzeit können über die
Sicherheitsstufen unter anderem die folgenden
Tätigkeiten geblockt werden:Änderungen bestimmter Dateiattribute, wie zum
Beispiel schg (das "system immutable"
Attribut)Schreibender Zugriff auf die Speicherbereiche des
Kernels mittels /dev/mem und
/dev/kmem.Laden von Kernel-Modulen.Änderungen an den Firewall-Regeln.Um die eingestellte Sicherheitsstufe eines aktiven
Systems abzufragen, reicht das folgende einfache
Kommando:&prompt.root; sysctl kern.securelevelDie Ausgaben wird den Namen der
&man.sysctl.8;-Variablen (in diesem Fall
kern.securelevel) und eine Zahl
enthalten. Die Zahl ist der aktuelle Wert der
Sicherheitsstufe. Wenn die Zahl positiv
(größer als Null) ist, sind zumindestens einige
der Schutzmaßnahmen aktiviert.Sie können die Sicherheitsstufe eines laufenden
Systems nicht verringern, da dies den Mechanismus wertlos
machen würden. Wenn Sie eine Tätigkeit
ausführen müssen, bei der die Sicherheitsstufe
nicht-positiv sein muss (z.B. ein
installworld oder eine
Änderung der Systemzeit), dann müssen Sie die
entsprechende Einstellung in
/etc/rc.conf ändern (suchen Sie
nach den Variablen kern_securelevel und
kern_securelevel_enable) und das System
rebooten.Weitere Informationen über die Sicherheitsstufen
und genaue Informationen, was die Einstellungen bewirken,
können Sie der Online-Hilfe &man.init.8;
entnehmen.Die Sicherheitsstufen sind kein magischer
Zauberstab, der alle Ihre Problem löst; es gibt
viele bekannte Probleme. Und in der Mehrzahl der
Fälle vermitteln sie ein falsches Gefühl der
Sicherheit.Eines der größten Probleme ist, dass
alle für den Start des Systems benötigten
Dateien geschützt sein müssen, damit die
Sicherheitsstufe effektiv sein können. Wenn es ein
Angreifer schafft, seine eigenen Programme
ausführen zu lassen, bevor die Sicherheitsstufe
gesetzt wird (was leider erst gegen Ende des
Startvorgangs erfolgen kann, da viele der notwendigen
Tätigkeiten für den Systemstart nicht mit
einer gesetzten Sicherheitsstufe möglich
wären), werden die Schutzmechanismen ausgehebelt.
Es ist zwar nicht technisch unmöglich, alle beim
Systemstart genutzten Dateien zu schützen;
allerdings würde in einem so geschützten
System die Administration zu einem Alptraum, da man das
System neu starten oder in den Single-User Modus bringen
müsste, um eine Konfigurationsdatei
ändern zu können.Dieses und andere Probleme werden häufig auf
den Mailinglisten diskutiert, speziell auf auf der
Mailingliste &a.security;. Das verfügbare Archiv
enthält ausgiebige Diskussionen. Einige Benutzer
sind guter Hoffnung, dass das System der Sicherheitsstufen
bald durch ein besser konfigurierbares System ersetzt
wird, aber es gibt noch keine definitiven Aussagen.Fühlen Sie sich gewarnt.Wieso wartet BIND (named) sowohl auf Port
53 als auch auf einem hohen Port auf Anfragen?FreeBSD benutzt eine Version von
BIND, die einen Port mit einer hohen, zufälligen
Nummer für den Versand von Anfragen nutzt. Wenn Sie
Port 53 für abgehende Anfragen benutzen wollen, um
durch eine Firewall zu kommen oder sich einfach nur besser
zu fühlen, können die folgenden Zeilen in
/etc/namedb/named.conf
eintragen.options {
query-source address * port * 53;
}; Wenn Sie möchten, können Sie statt
* auch eine einzelne IP-Adresse
eintragen, um die Dinge noch weiter
einzuschränken.Ach übrigens, herzlichen Glückwunsch. Es
ist eine sehr gute Angewohnheit, die Ausgaben von
&man.sockstat.1; durchzusehen und auf merkwürdige
Dinge zu achten.Wieso wartet Sendmail neuerdings sowohl auf Port 587
als auch auf dem Standard-Port 25 auf Anfragen?Aktuelle Sendmail-Versionen unterstützen eine
neue Technik zur Einlieferung von Mails, die Port 587
nutzt. Diese Technik wird zwar noch nicht oft angewendet,
erfreut sich aber ständig steigenden
Popularität,Woher kommt dieser Benutzer toor
mit UID 0? Ist mein System gehackt worden?Keine Panik. toor ist ein
alternativer Account für den
Super-User (wenn man root rückwärts schreibt,
erhält man toor). Früher wurde er nur erzeugt,
wenn die Shell &man.bash.1; installiert wurde, heute wird
er auf jeden Fall erzeugt. Dieser Account ist für
die Verwendung mit einer alternativen Shell vorgesehen;
damit ist es nicht mehr erforderlich, die Shell von
root zu ändern. Dies ist
wichtig, wenn eine Shell verwendet wird, die nicht zum
Lieferumfang von FreeBSD gehört, zum Beispiel aus
einem Port oder einem Package. Diese Shells werden in der
Regel in /usr/local/bin installiert
und dieses Verzeichnis liegt standardmäßig auf
einem anderem Filesystem. Wenn die Shell von
root in
/usr/local/bin liegt und
/usr (oder das Filesystem, auf dem
/usr/local/bin liegt) nicht gemountet
werden kann, kann sich root nicht
mehr einloggen, um das Problem zu beheben. Es ist
allerdings möglich, das System zu rebooten und das
Problem im Single-User Modus zu lösen, da man hier
gefragt wird, welche Shell benutzt werden soll.Einige Anwender benutzen toor mit
einer alternativen Shell für die tägliche Arbeit
und benutzen root (mit der
Standard-Shell) für den Single-User Modus und
für Notfälle. Standardmäßig kann man
sich nicht als toor anmelden, da der
Account kein gültiges Passwort hat; Sie
müssen sich also als root
anmelden und ein Passwort für
toor setzen, wenn Sie diesen Account
benutzen wollen.Warum funktioniert suidperl nicht
richtig?Aus Sicherheitsgründen wird suidperl
standardmäßig ohne das SUID-Bit installiert.
Der Systemadministrator kann das normale Verhalten mit dem
folgenden Befehl herstellen:&prompt.root; chmod u+s /usr/bin/suidperlWenn Sie wollen, dass suidperl
auch beim Update via Sourcecode das SUID-Bit erhält,
müssen Sie in /etc/make.conf die
Zeile ENABLE_SUIDPERL=true
einfügen, bevor Sie make
buildworld starten.PPPIch bekomme &man.ppp.8; 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 commandDieser Befehl kann an der Eingabeaufforderung von
&man.ppp.8; 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, dass
die Datei /etc/syslog.conf die
folgenden Zeilen enthält:
!ppp
*.* /var/log/ppp.log
und, dass 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.Warum hängt sich ppp auf, wenn ich es
benutze?Das liegt meistens daran, dass Ihr Rechnername
nicht aufgelöst werden kann. Um dieses Problem zu
lösen, müssen Sie sicherstellen, dass die
Datei /etc/hosts von Ihrem Resolver
zuerst genutzt wird. Dazu muss in der Datei
/etc/host.conf der Eintrag
hosts an die erste Stelle gesetzt
werden. 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.example.com foo localhostAndernfalls fügen Sie einfach einen weiteren
Eintrag für Ihren lokalen Rechner hinzu. Weitere
Details finden Sie in den betreffenden
Manualpages.Wenn Sie fertig sind sollten Sie ping -c1
`hostname` erfolgreich ausführen
können.Warum wählt &man.ppp.8; im
-auto-Modus nicht?Überprüfen Sie zunächst, ob Sie einen
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, dass Sie die Adressen aus
dem Handbuch, der Manualpage oder aus der Datei
ppp.conf.sample benutzt haben. Falls Sie keine
Standardroute haben, kann es daran liegen, dass Sie
eine alte Version von &man.ppp.8; benutzen, die das Wort
HISADDR in der Datei ppp.conf nicht
versteht.Ein weiterer Grund dafür, dass die Zeile
für die Standardroute fehlt, könnte der sein,
dass Sie fälschlicherweise eine Standardroute in
der Datei /etc/rc.conf eingetragen
und die folgende Zeile in ppp.conf
ausgelassen haben:delete ALLLesen 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.Wieso werden meine Verbindungen nach ca. drei Minuten
beendet?Der Standardtimeout für &man.ppp.8; beträgt
drei Minuten. Er kann durch die Zeileset timeout NNNeingestellt 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 &man.telnet.1;
oder &man.pppctl.8; ist es auch möglich, den Timeout
bei aktiver Verbindung anzupassen. Weitere Details finden
Sie in der Manualpage &man.ppp.8;.Wieso bricht meine Verbindung bei hoher Auslastung
ab?Falls Sie Link-Quality-Reporting (LQR) konfiguriert
haben, ist es möglich, dass zu viele LQR-Pakete
zwischen Ihrer Maschine und dem verbundenen Rechner
verloren gehen. ppp folgert daraus, dass die
Verbindung nicht in Ordnung ist und schließt sie.
Vor FreeBSD Version 2.2.5 war LQR standardmäßig
aktiviert; nun ist es standardmäßig
deaktiviert. Es kann durch folgende Zeile deaktiviert
werden:disable lqrWarum brechen meine Verbindungen nach unbestimmter
Zeit zusammen?Wenn die Qualität Ihrer Telefonleitung zu
schlecht oder bei Ihrem Anschluss die Option
(Telekomdeutsch: das Leistungsmerkmal) Anklopfen aktiviert
ist, kann es manchmal vorkommen, dass Ihr Modem
auflegt, weil es (fälschlicherweise) annimmt,
dass es das Trägersignal verloren hat.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.Warum hängen meine Verbindung nach einer
unbestimmten Zeit?Viele Leute machen Erfahrungen mit hängenden
Verbindungen ohne erkennbaren Grund. Als erstes muss
festgestellt werden, welche Seite der Verbindung
hängt.Wenn Sie ein externes Modem benutzen, können Sie
einfach versuchen, &man.ping.8; 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 &man.pppctl.8; eine Verbindung zu &man.ppp.8;
her, wenn die Verbindung hängt. Falls Ihre
Netzwerkverbindung plötzlich wieder funktioniert (ppp
wurde durch die Aktivität auf dem Diagnose-Socket
wiederbelebt) oder Sie keine Verbindung bekommen
(vorausgesetzt, der Befehl 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
&man.ping.8; von einem anderen Fenster oder Bildschirm
aus, um die externe Verbindung zu benutzen. Das
asynchrone Logging zeigt Ihnen, welche Daten über die
Verbindung gesendet und empfangen werden. Falls Daten
hinausgehen, aber nicht zurückkommen, handelt es sich
um ein externes Problem.Wenn Sie festgestellt haben, ob es sich um ein lokales
oder um ein externes Problem handelt, haben Sie zwei
Möglichkeiten:Wenn es ein externes Problem ist, lesen Sie bitte bei
weiter.Handelt es sich um ein lokales Problem, lesen Sie bitte
.Was kann ich machen, wenn die Gegenstelle nicht
antwortet?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 &man.ppp.8;
ermöglicht wird, ein externes Versagen zu erkennen
und aufzulegen, aber diese Erkennung ist relativ langsam
und deshalb nicht besonders nützlich. Evtl. sagen
Sie Ihrem ISP nicht, dass Sie user-PPP
benutzen...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 für ein Gespräch
mit Ihrem ISP (andererseits wird hierdurch offensichtlich,
dass 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.Was kann ich tun, wenn sich &man.ppp.8;
aufhängt?In diesem Fall erstellen Sie am besten &man.ppp.8;
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 Prozessnummer von &man.ppp.8; mit ps
ajxww | fgrep ppp, wenn &man.ppp.8; 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 &a.brian;.Warum passiert nach der Nachricht Login
OK! nichts?Bei Freebsd-Versionen vor 2.2.5 wartete &man.ppp.8;
darauf, dass der Partner das Line Control Protocol
(LCP) initiiert. Viele ISPs starten nicht mit der
Initiierung, sondern erwarten dies vom Client. Benutzen
Sie die folgende Zeile, um &man.ppp.8; zu veranlassen, LCP
zu initiieren:set openmode activeFü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 doch
schadet.Ich sehe ständig Fehlermeldungen über
gleiche Magic Numbers Was heißt
das?Nach dem Aufbau einer Verbindung kann es sein,
dass 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 &man.ppp.8; 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 &man.ppp.8; nach dem Einloggen von
einem Login-Skript oder einem Programm aus gestartet wird.
Ich habe auch davon gehört, dass dies bei der
Benutzung von slirp regelmäßig auftritt. Der
Grund hierfür ist, dass das ppp auf der
Client-Seite in der Zeit, die benötigt wird, getty zu
beenden und ppp zu starten, bereits beginnt, Line Control
Protocol (LCP) Pakete zu senden. Da ECHO auf dem
Serverport weiterhin eingeschaltet ist, werden diese
Pakete zum &man.ppp.8; auf der Client-Seite
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, dass, 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, dass &man.ppp.8; seine "Magic Number"
ändern muss). Hierdurch wird eine Vielzahl von
Änderungen der Magic Number hervorgerufen,
die sich allesamt im tty-Puffer des Servers ansammeln. Sobald
&man.ppp.8; auf dem Server startet, wird es mit
Änderungen der Magic Number überflutet
und entscheidet, dass es sich zur Genüge mit den
LCP-Verhandlungen beschäftigt hat und gibt auf. Und
während sich der Client noch darüber freut,
dass er keine weiteren Reflexionen sieht, wird ihm
gemeldet, dass der Server auflegt.Dies kann verhindert werden, indem dem Partner durch
die folgende Zeile in der Datei
ppp.conf erlaubt wird, mit der
Verhandlung zu beginnen:set openmode passiveHierdurch wird &man.ppp.8; mitgeteilt, darauf zu
warten, dass der Server mit den LCP-Verhandlungen
beginnt. Einige Server starten jedoch nie mit der
Verhandlungen; falls dies der Fall ist, können Sie
folgendes tun:set openmode active 3Hierdurch bleibt &man.ppp.8; für drei Sekunden
passiv und fängt dann erst an, LCP-Anforderungen zu
senden. Falls der Partner während dieser Zeit
beginnt, Anforderungen zu senden, wird &man.ppp.8; direkt
antworten und nicht erst, nachdem die drei Sekunden
abgelaufen sind.Die LCP-Verhandlungen dauern an, bis die Verbindung
geschlossen wird. Was mache ich falsch?Es gibt eine Fehlfunktion in der Implementierung von
&man.ppp.8;, die darin besteht, dass LCP-, CCP- &
IPCP-Antworten nicht mit den ursprünglichen
Anforderungen assoziiert werden. Für den Fall,
dass eine Implementation von PPP mehr als sechs
Sekunden langsamer ist, als die andere Seite, resultiert
das darin, dass die andere Seite zwei weitere
LCP-Konfigurationsanforderungen sendet, was fatale
Auswirkungen hat.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, dass 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,
dass 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
REQ-SENT 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, dass
man zu keinem Ergebnis gelangt und aufgibt.Am besten verhindert man solche Situationen, indem man
eine Seite als passiv konfiguriert,
also dafür sorgt, dass eine Seite darauf
wartet, dass die andere mit den Verhandlungen beginnt. Das
kann durch den Befehlset openmode passivegeschehen. Diese Option sollten Sie mit Vorsicht
genießen. Folgenden Befehl sollten Sie benutzen, um
die Wartezeit auf den Beginn der Verhandlungen des
Partners von &man.ppp.8; zu begrenzen:set stopped NAlternativ kann der Befehlset openmode active N(wobei N die Wartezeit in
Sekunden vor Beginn der Verhandlungen angibt) benutzt
werden. Weitere Details finden Sie in den
Manualpages.Warum reagiert &man.ppp.8; nicht mehr, wenn ich es mit
shell verlassen habe?Wenn Sie den Befehl shell oder
! benutzen, führt &man.ppp.8; eine
Shell aus (falls Sie Argumente übergeben haben,
führt &man.ppp.8; diese Argumente aus). &man.ppp.8;
wartet auf die Beendigung des Befehls, bevor es seine
Arbeit fortsetzt. Falls Sie versuchen, die PPP-Verbindung
während der Programmausführung zu benutzen, wird
es so aussehen, als wäre die Verbindung eingefroren.
Das liegt daran, dass &man.ppp.8; auf die
Beendigung des Befehls wartet.Falls Sie solche Befehle verwenden möchten,
benutzen Sie stattdessen den Befehl
!bg. Hierdurch wird der angegebene
Befehl im Hintergrund ausgeführt und &man.ppp.8; kann
fortfahren, die Verbindung zu bedienen.Warum wird &man.ppp.8; niemals beendet, wenn ich es
über ein Nullmodem-Kabel benutze?Es gibt keine Möglichkeit für &man.ppp.8;,
automatisch festzustellen, ob eine direkte Verbindung
beendet worden ist. Das liegt an den Leitungen, die bei
einem seriellen Nullmodem-Kabel benutzt werden. Wenn Sie
diese Art der Verbindung verwenden, sollte LQR immer
aktiviert werden:enable lqrLQR wird standardmäßig akzeptiert, wenn es
vom Partner ausgehandelt wird.Warum wählt &man.ppp.8; im Modus -auto ohne
Grund?Falls &man.ppp.8; 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/ipDadurch 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, dass DNS-Anfragen den Aufbau der
Verbindung hervorrufen (das verhindert
nicht, dass 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 &man.sendmail.8;. Sie sollten
sicherstellen, dass Sie sendmail in der
Konfigurationsdatei sagen, dass keine DNS-Anfragen
durchführen soll. Weitere Details enthält
der Abschnitt
E-Mail
über Einwahl-Verbindungen des Handbuchs.
Sie könnten z.B. die folgende Zeile in
Ihre .mc-Datei einfügen:define(`confDELIVERY_MODE', `d')dnlDas veranlasst sendmail dazu, alles in eine
Warteschlange einzureihen, bis die Warteschlange
verarbeitet wird (normalerweise wird sendmail mit
aufgerufen, was besagt,
dass 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, dass &man.ppp.8; versucht, die
Komprimierung Predictor1 auszuhandeln und der Partner
über keinerlei Komprimierung verhandeln will. Die
Meldungen sind harmlos, aber wenn Sie sie beseitigen
möchten, können Sie die Komprimierung Predictor1
auch lokal ausschalten:disable pred1Warum loggt ppp die Geschwindigkeit meiner Verbindung
nicht?Um alle Zeilen Ihrer Modemkonversation
mitzuloggen, müssen Sie folgendes einstellen:set log +connectDies veranlasst &man.ppp.8; 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,
dass Sie &man.ppp.8; 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 &man.ppp.8; zwingt, die
gesamte CONNECT-Antwort zu lesen.Warum ignoriert &man.ppp.8; 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, dass 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,
dass 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
Warum gibt es die Datei ppp.core
nicht, wenn &man.ppp.8; einen Segmentation Fault erzeugt
hat?Weder &man.ppp.8; noch andere Programme sollten
Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven
Benutzerkennung 0 ausgeführt wird, wird das
Betriebssystem &man.ppp.8;'s Coreimage nicht auf die
Festplatte schreiben, bevor es &man.ppp.8; beendet hat.
Falls &man.ppp.8; jedoch tatsächlich aufgrund einer
Speicherverletzung abbricht 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/pppNun ist die installierte Version von &man.ppp.8; mit
einem Debugger ausführbar. Sie können
&man.ppp.8; 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 &man.ppp.8;
starten.Wenn nun wieder eine Speicherverletzung auftreten
sollte, wird &man.ppp.8; 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.Warum bekommt das Programm, das eine automatische
Anwahl ausgelöst hat, keine Verbindung?Dies war ein bekanntes Problem bei
&man.ppp.8;-Konfigurationen, bei denen automatisch
dynamische, lokale IP-Adressen mit dem Partner
ausgehandelt werden. In der aktuellsten Version ist das
Problem behoben - suchen Sie in den Manualpages nach
iface.Das Problem bestand darin, dass, wenn das erste
Programm &man.connect.2; aufruft, die IP-Adresse der
tun-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
Kernel erstellt das erste ausgehende Paket und schreibt es
in das tun-Gerät. &man.ppp.8; liest dann das Paket
und baut eine Verbindung auf. Falls die
Schnittstellenadresse sich nun aufgrund &man.ppp.8;s
dynamischer Adresszuordnung ändert, wird der
originale Socketendpunkt ungültig. Alle weiteren
Pakete, die zum Partner gesendet werden, werden für
gewöhnlich verworfen. Selbst wenn sie nicht
verworfen werden würden, würden alle Antworten
nicht an den betreffenden Rechner gelangen, weil die
IP-Adresse nicht mehr zu diesem Rechner
gehört.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 &man.ppp.8; 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, dass als
Absender-IP-Adresse anstelle der IP-Adresse der
Schnittstelle die ausgehandelte IP-Adresse gesetzt wird.
Das ist im wesentlichen das, was durch die Option
iface-alias in der aktuellsten Version
von &man.ppp.8; bewirkt wird (mit Unterstützung von
&man.libalias.3; und &man.ppp.8;'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.
&man.ppp.8; würde diesen Aufruf benutzen, um die
Sockets aller laufenden Programme zu ändern, nachdem
eine neue IP-Adresse ausgehandelt worden ist. Der gleiche
Systemaufruf könnte von DHCP-Clients benutzt werden,
wenn sie gezwungen werden, einen re-bind() auf ihren
Sockets auszuführen.Noch eine andere Möglichkeit wäre die, das
Aktivieren von Schnittstellen ohne IP-Adresse zu erlauben.
Ausgehende Paketen würde die IP-Adresse
255.255.255.255 gegeben, bis der erste ioctl() mit
SIOCAIFADDR erfolgt. Dies würde in der
vollständigen Verbindung des Sockets resultieren. Es
wäre die Aufgabe von &man.ppp.8;, die
Absender-IP-Adresse zu ändern, allerdings nur dann,
wenn sie 255.255.255.255 lautet und nur die IP-Adresse und
IP-Prüfsumme müssten geändert werden.
Dies wäre allerdings keine besonders elegante
Lösung, da der Kernel fehlerhafte Pakete an eine
unzureichend konfigurierte Schnittstelle senden
würde, in der Annahme, dass andere Mechanismen
in der Lage sind, diese Dinge rückwirkend zu
beheben.Warum laufen die meisten Spiele mit dem
Schalter nicht?Der Grund dafür, dass Spiele und andere
Programme nicht funktionieren, wenn libalias benutzt wird,
ist der, dass der Rechner außerhalb des lokalen
Netzes versucht, eine Verbindung aufzubauen und
(unaufgefordert) UDP-Pakete an den Rechner innerhalb des
lokalen Netzes zu senden. Die Software, die für die
NAT zuständig ist, weiß nicht, dass sie
diese Pakete an den internen Rechner weiterleiten
soll.Um dies zu beheben, stellen Sie zunächst sicher,
dass die Software, mit der Sie Probleme haben, die
einzige ist, die gerade läuft. Benutzen Sie dann
entweder tcpdump auf der tun-Schnittstelle des Gateways
oder aktivieren Sie auf dem Gateway das Logging von TCP/IP
(set log +tcp/ip) unter
&man.ppp.8;.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, dass das Programm
funktioniert:nat port protointernalmachine:portportwobei 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
veranlasst, auf einem bestimmten (wahlfreien)
Port eine Verbindung zurück zum lokalen Rechner
herzustellen, sowie das Erstellen einer
Route in der Aliastabelle, so dass
nachfolgende Pakete wissen, wohin sie
gehören.Dieses ist zwar die komplizierteste Lösung,
aber die beste, die auch dafür sorgt, dass
die Software auf mehreren Rechnern
funktioniert.Benutzen Sie einen Proxy. Die Anwendung
könnte z.B. socks5 unterstützen, oder (wie
im Fall von cvsup) eine Option
passiv besitzen, die stets verhindert,
dass verlangt wird, dass 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 Callnat port udp
internal:65000
65000Konfigurieren 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 Lifenat port udp
internal:27005
27015PCAnywhere 8.0nat port udp
internal:5632
5632nat port tcp
internal:5631
5631Quakenat port udp
internal:6112
6112Quake 2nat port udp
internal:27901
27910nat port udp
internal:60021
60021nat port udp
internal:60040
60040Red Alertnat port udp
internal:8675
8675nat port udp
internal:5009
5009Was sind FCS-Fehler?FCS steht für Frame
Check Sequence.
Jedes PPP-Paket besitzt eine Checksumme, um
sicherzustellen, dass die empfangenen Daten dieselben
sind, wie die versendeten. Falls die FCS eines
ankommenden Paketes fehlerhaft ist, wird das Paket
verworfen und der Zähler HDLC FCS wird erhöht.
Der HDLC-Fehlerwert kann durch den Befehl 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, dass 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, dass Ihre Leitung nicht 8-Bit-rein ist.
Stellen Sie sicher, dass Ihr Modem keinen
Software-Flow-Control (XON/XOFF) verwendet. Falls Ihre
Datenschnittstelle Software-Flow-Control verwenden
muss, benutzen Sie den Befehl
set accmap 0x000a0000, um &man.ppp.8;
zu sagen, dass es die Zeichen ^Q
und ^S maskieren soll.Ein weiterer Grund dafür, dass zu viele
FCS-Fehler auftreten, könnte der sein, dass 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 &man.ppp.8; 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
&windows; 98-Maschinen (und eventuell auch andere
µsoft; Betriebssysteme), 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 so genannter
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, dass diese Meldung zwar
erzeugt, aber danach von einem Firewall vor dem Webserver
abgefangen wird. Wenn Ihnen dieser Webserver nun ein
Paket schickt, das nicht in einen PPPoE-Rahmen passt,
dann verwirft der Router dieses Paket und die Seite wird
nicht geladen (einige Seiten/Grafiken werden geladen, weil
ihre Größe kleiner ist als die MSS). Dies
scheint leider der Normalfall zu sein (wenn die Leute doch
nur wüssten, wie man einen Router
konfiguriert... stöhn...)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\MaxMTUDer Schlüssels sollte vom Typ String sein und den
Wert 1436 haben, da einige ADSL-Router
nicht mit größeren Paketen umgehen können.
Wenn Sie &windows; 2000 verwenden, müssen Sie
hingegen den Schlüssel
Tcpip\Parameters\Interfaces\ID der
Netzwerkkarte\MTU benutzen,
außerdem müssen Sie als Typ DWORD
verwenden.Die Knowledge Base von µsoft; enthält weitere
Informationen darüber, wie sie die MTU einer
&windows;-Maschine ändern, damit diese mit einem
NAT-Router korrekt zusammenarbeitet. Vom besonderen
Interesse sind die Artikel Q158474
- &windows; TCPIP Registry Entries und Q120642
- TCPIP & NBT Configuration Parameters for
&windowsnt;.Bei &windows; 2000 können Sie alternativ auch, wie
im Artikel 120642 beschrieben, mit regedit das DWORD
Tcpip\Parameters\Interfaces\ID der
Netzwerkkarte\EnablePMTUBHDetect
auf 1 setzen.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.&man.ppp.8; kennt seit Version 2.3 den Befehl
enable tcpmssfixup, mit dem die MSS
automatisch korrigiert wird. Wenn Sie einen ältere
Version von &man.ppp.8; benutzen müssen, könnte
der Port tcpmssd für Sie
interessant sein.Nichts von alledem hilft - ich bin
verzweifelt! Was soll ich machen?Falls alles andere fehlschlägt, senden Sie
möglichst umfangreiche Informationen,
einschließlich Ihrer Konfigurationsdateien, wie Sie
&man.ppp.8; starten, die relevanten Teile Ihrer Logdateien
und die Ausgabe des Befehls netstat -rn
(vor und nach Aufbau der Verbindung) an die
Mailingliste &a.de.questions; oder die Newsgroup de.comp.os.unix.bsd.
Irgend jemand sollte Ihnen dann weiterhelfen.Serielle VerbindungenDieses Kapitel beantwortet häufig gestellte Fragen zu
seriellen Verbindungen mit FreeBSD. PPP und SLIP werden im
Abschnitt Netzwerke 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 die angezeigten Nachrichten lesen,
oder Sie führen den Befehl&prompt.user; dmesg | grep sioaus, nachdem Ihr System hochgefahren ist und
läuft.Hier ist ein Beispiel einer Ausgabe nach dem oben
genannten Befehl:
sio0: at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1: at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
Es zeigt zwei serielle Schnittstellen. Die erste
verwendet Port-Adresse 0x3f8, IRQ 4 und
hat einen 16550A UART Chip. Die zweite benutzt ebenfalls
einen 16550A UART, jedoch Port-Adresse
0x2f8 und IRQ 3. Modemkarten werden
wie serielle Schnittstellen behandelt. Der einzige
Unterschied ist, dass 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 verwenden.
Wenn diese Einstellungen nicht richtig für Ihr System
sind, Sie Modemkarten hinzugefügt oder mehr serielle
Schnittstellen haben als Ihre Kernelkonfiguration
zulässt, konfigurieren Sie Ihren Kernel einfach
neu. In dem Kapitel über die Kernelkonfiguration finden
Sie mehr Details.Wie kann ich feststellen, ob FreeBSD meine Modemkarten
gefunden hat?Die vorherige Frage sollte darauf eine Antwort
geben.Wie kann ich auf die seriellen Schnittstellen in
FreeBSD zugreifen?Die in &man.sio.4; beschriebene serielle Schnittstelle
sio2 (COM3
unter &ms-dos;/&windows;), ist
/dev/cuaa2 für
Geräte mit abgehenden Verbindungen und
/dev/ttyd2 für Geräte mit
eingehenden Verbindungen. Was ist der Unterschied
zwischen den beiden Geräteklassen?Sie benutzen
ttydX
für eingehende Verbindungen. Wird
/dev/ttydX
im blockierenden Modus geöffnet, wartet ein
Prozess darauf, dass das entsprechende
cuaaX
Gerät inaktiv und der Empfangssignalpegel
Mit Empfangssignalpegel oder
Trägersignalerkennung wird hier
die carrier detect
Leitung bezeichnet.
aktiv ist. Wird das
cuaaX
Gerät geöffnet, vergewissert es sich, dass
die serielle Schnittstelle nicht bereits von dem
ttydX
Gerät in Gebrauch ist. Sollte die Schnittstelle
verfügbar sein, 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 aussen einloggen, Sie können weiterhin mit
demselben 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 &man.sio.4; Zeile
für jede serielle Schnittstelle auf der Karte in die
Kernelkonfigurationsdatei. Aber achten Sie darauf, den
IRQ und die Vektorbezeichnung nur in einem der
Einträge zu plazieren. Alle seriellen Schnittstellen
auf der Karte sollten sich einen IRQ teilen. Daher
sollten Sie den IRQ nur beim letzten Eintrag angeben.
Aktivieren Sie auch die COM_MULTIPORT
Option.Das folgende Beispiel ist geeignet für eine AST
Karte mit 4 seriellen Schnittstellen, die IRQ 7
benutzt:
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, dass die
Master-Schnittstelle die Minor-Nummer 7
(0x700) hat, Diagnosen während des
Bootens ermöglicht sind (0x080),
und dass 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 Prozess es
öffnet, hat es die voreingestellten Terminal
Eingabe/Ausgabe-Einstellungen. Sie können diese
Einstellungen mit dem Befehl&prompt.root; stty -a -f /dev/ttyd1ansehen. Wenn Sie die Einstellungen für dieses
Gerät ändern, sind die Einstellungen
gültig, bis das Gerät geschlossen wird. Wird es
danach geöffnet, hat es wieder die vorgegebenen
Einstellungen. Um Änderungen an den vorgegebenen
Einstellungen vorzunehmen, können Sie das
Anfangsstatus-Gerät öffnen und dessen
Einstellungen anpassen. Um zum Beispiel den
CLOCAL Modus, 8 Bits und
XON/XOFF Datenflusskontrolle als
Standard für ttyd5 einzustellen, geben Sie&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoffein. 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 beispielsweise die
Geschwindigkeit von ttyd5 auf 57600
bps festzusetzen:&prompt.root; stty -f /dev/ttyld5 57600Wenn jetzt eine Anwendung ttyd5
öffnet und versucht die Geschwindigkeit zu
verändern, wird diese bei 57600 bps bleiben.Natürlich sollten Sie das Schreiben auf die
Anfangsstatus- und lock state-Geräte nur
root erlauben. Das &man.MAKEDEV.8;
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ägersignalerkennung reagieren und nicht fortlaufend
die Leitung offen halten. Es muss auflegen und sich
neu initialisieren können, wenn die Data
Terminal Ready (DTR) Leitung
ausgeschaltet wird. Es sollte wahrscheinlich
RTS/CTS oder gar keine lokale
Datenflusskontrolle benutzen. Zuletzt muss es
eine konstante Geschwindigkeit zwischen dem Computer und
sich selbst verwenden, aber es sollte (um die Anrufer
freundlich zu behandeln) eine Geschwindigkeit zwischen
sich und dem entfernten Modem aushandeln können.Für viele Modems, die mit dem Hayes Befehlssatz
kompatibel sind, erzeugt der folgende Befehl diese
Einstellungen und legt sie im nicht-flüchtigen
Speicher ab:AT &C1 &D3 &K3 &Q6 S0=1 &WDie Sektion über das
Senden von AT-Befehlen bietet weitere
Informationen, wie man diese Einstellungen vornimmt, ohne
zu einem &ms-dos; Terminalprogramm 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 Einlogversuche erwartet. Fügen Sie
eine solche Zeile hinzu:ttyd1 "/usr/libexec/getty std 57600" dialup on insecureDiese Zeile bedeutet, dass 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 dialup
(Einwahl). Die Schnittstelle ist
eingeschaltet (on) und
unsicher (insecure) –
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
&man.su.1;. Wenn sie
secure (sicher) 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 &man.init.8;
senden:&prompt.root; kill -HUP 1Das bringt &man.init.8; dazu, die Datei
/etc/ttys neu einzulesen.
init startet dann an allen als
eingeschaltet (on) markierten
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 ttyd1Wie 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 secureDas Beispiel zeigt, dass 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
&man.tip.1; und &man.cu.1; 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 &man.tip.1; und &man.cu.1; verwenden lassen,
dazu müssen Sie das folgende eingeben:&prompt.root; chmod 4511 /usr/bin/cu
&prompt.root; chmod 4511 /usr/bin/tipMein Hayes Modem wird nicht unterstützt – was
kann ich tun?Eigentlich ist die Onlinehilfe für &man.tip.1;
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 &man.tip.1;
beträgt 60 Sekunden. Ihr Modem sollte weniger
verwenden, oder tip denkt, dass
ein Kommunikationsfehler vorliegt. Versuchen Sie es mit
ATS7=45&W.Tatsächlich unterstützt die ausgelieferte
Version von &man.tip.1; 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 so genannten
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=noneVerwenden 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 cuaa0Oder benutzen Sie cu als
root mit dem folgenden Befehl:&prompt.root; cu -lline -sspeedline 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
~..Wieso funktioniert das <@>
Zeichen für die pn Fähigkeit nicht?Das <@> Zeichen in der
Telefonnummerfähigkeit sagt tip, dass 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.
Sollten Sie &man.cu.1; im Gegensatz zu &man.tip.1;
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.Muss ich dabei jedes Mal die bps Rate
angeben?Schreiben Sie einen tip1200 oder
einen cu1200 Eintrag, aber geben Sie
auch die bps Rate an, die Ihr Modem wirklich
unterstützt. Leider denkt &man.tip.1;, dass
1200 bps ein guter Standardwert ist und deswegen sucht es
nach einem tip1200-Eintrag.
Natürlich müssen Sie nicht wirklich 1200 bps
benutzen.Wie kann ich möglichst komfortabel über
einen Terminal-Server auf verschiedene Rechner
zugreifen?Sie müssen nicht warten bis Sie verbunden sind,
und jedes Mal 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
ausprobieren?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 der Universität
in /etc/phones auf:
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
&man.tip.1; probiert jede der Nummern in der
aufgelisteten Reihenfolge und gibt dann auf. Möchten
Sie, dass tip beim Versuchen eine
Verbindung herzustellen nicht aufgibt, lassen Sie es in
einer while-Schleife laufen.Warum muss ich zweimal
CtrlP tippen, um ein
CtrlP zu senden?CtrlP ist das voreingestellte Zeichen, mit dem eine
Übertragung erzwungen werden kann und wird benutzt,
um &man.tip.1; zu sagen, dass das nächste
Zeichen direkt gesendet werden soll und nicht als
Fluchtzeichen interpretiert werden soll. Mit Hilfe der
~s Fluchtsequenz, mit der man Variablen
setzen kann, können Sie jedes andere Zeichen als
force-Zeichen definieren.Geben Sie
~sforce=zeichen
ein und drücken Sie Enter. Für
zeichen können Sie ein
beliebiges einzelnes Zeichen einsetzen. Wenn Sie
zeichen weglassen, ist das
force-Zeichen nul, das Sie mit
Ctrl2 oder
CtrlSPACE eingeben können. Ein
guter Wert für zeichen ist
ShiftCtrl6, 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-charWarum ist auf einmal alles was ich schreibe in
GROSSBUCHSTABEN??Sie müssen
CtrlA eingegeben haben, das
raise-Zeichen von &man.tip.1; 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 ein Muster der .tiprc
Datei, perfekt für Emacs
Benutzer, die oft
Ctrl2 und
CtrlA tippen müssen:
force=^^
raisechar=^^
Das ^^ steht für
ShiftCtrl6.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 &man.cat.1; und &man.echo.1;
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, deshalb sollten Sie
besser 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.Verschiedene FragenFreeBSD 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, dass FreeBSD vorbeugend
vollkommen untätige, unbenutzte Seiten aus dem
Hauptspeicher in den Swap-Bereich auslagert, um mehr
Hauptspeicher für die aktive Nutzung zur
Verfügung zu stellen. &linux; tendiert dazu, nur als
letzten Ausweg Seiten in den Swap-Bereich auszulagern.
Die spürbar höhere Nutzung des Swap-Speichers
wird durch die effizientere Nutzung des Hauptspeichers
wieder ausgeglichen.Beachten Sie, dass FreeBSD in dieser Hinsicht
zwar vorbeugend arbeitet, es entscheidet jedoch nicht
willkürlich, Seiten auszulagern, wenn das System
vollkommen untätig ist. Deshalb werden Sie
feststellen, dass nicht alle Seiten Ihres Systems
ausgelagert wurden, wenn Sie morgens aufstehen, nachdem
das System eine Nacht lang nicht benutzt worden
ist.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
muss, braucht es nicht auf die langsame Platte
zuzugreifen, da die Daten noch zwischengespeichert sind.
Dadurch erhöht sich die Performance. Ganz generell
ist es ein gutes Zeichen, wenn &man.top.1; einen kleinen
Wert bei Free anzeigt, solange der Wert
nicht extrem klein ist.Anmerkung des Übersetzers: Mit extrem
klein sind hier Werte unterhalb 512 KByte
gemeint.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 barTrotzdem 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.7;.Die Option bewirkt ein
rekursives &man.chmod.1;.
Seien Sie vorsichtig, wenn Sie bei
&man.chmod.1; Verzeichnisse oder symbolische
Links zu Verzeichnissen angeben. Wenn Sie die
Zugriffsrechte eines Verzeichnisses ändern
möchten, das durch einen symbolischen Link
referenziert wird, benutzen Sie &man.chmod.1;
ohne irgendwelche Optionen und folgen dem symbolischen
Link durch einen abschließenden Schrägstrich
(/). 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 abschließenden Schrägstrich folgt
&man.chmod.1; dem symbolischen Link
foo, um die Zugriffsrechte für
das Verzeichnis bar zu
ändern.Kann ich DOS-Programme unter FreeBSD
ausführen?Ja. Sie können
emulators/doscmd
verwenden, das über die Ports-Sammlung verfügbar
ist.doscmd war früher
Teil des Basissystems von &os;, es wurde aber vor der
Veröffentlichung von &os; 5.3 daraus
entfernt.Falls doscmd nicht ausreicht,
können Sie den Port
emulators/pcemu
verwenden, der einen 8088 und genug BIOS-Funktionen emuliert,
um DOS-Textanwendungen laufen zu lassen. Der Port
benötigt das X-Window-System.Was muss ich tun, um die FreeBSD-Dokumentation in
meine Muttersprache zu übersetzen?Informationen zu diesem Thema finden Sie in der FAQ
des FreeBSD German Documentation Project.Warum kommen alle meine Mails, die ich an @FreeBSD.org
schicke, wieder zurück?Das Mailsystem von FreeBSD.org verwendet einige der
strengeren Überprüfungen von
Postfix für eingehende Mails.
Mails, bei denen es Anzeichen für Konfigurationsprobleme
oder Spam gibt, werden nicht akzeptiert. Dies kann aus einem
der folgenden Gründe geschehen:Die Mail kommt von einem System oder Netzwerk,
dass für Spam-Aktivitäten bekannt
ist.Die Mailserver von FreeBSD akzeptierten keine
Mails von bekannten Spam-Quellen. Wenn Sie eine
Firma oder Domain benutzen, die Spam erzeugt oder
verteilt, sollten Sie sich einen anderen ISP
suchen.Der Mailtext enthält HTML.Mail sollte immer im Klartext gesendet werden, Sie
sollten ihr Mailprogramm entsprechend
einstellen.Das Mailsystem kann die IP-Adresse des
einliefernden Systems nicht in einen symbolischen
Namen umwandeln.Funktionierendes reverse DNS ist eine
Vorbedingung, damit ihre Mails angenommen wird.
Sorgen Sie dafür, dass der reverse DNS
für Ihren Mailserver korrekt konfiguriert wird.
Viele Anbieter für Privatkunden geben Ihnen diese
Möglichkeit nicht. In diesem Fall sollten Sie
Ihre Mails über den Mailserver Ihres Providers
versenden.Der Rechnername, der im EHLO/HELO Teil der SMTP
Kommunikation übergeben wird, kann nicht zu einer
IP-Adresse aufgelöst werden.Damit die E-Mail akzeptiert wird, brauchen Sie einen
voll qualifizierten Rechnernamen, der im DNS eingetragen ist.
Wenn Sie diesen nicht besitzen, benutzen Sie bitte den
Mailserver Ihres Providers, um E-Mails zu verschicken.Die Message-ID Ihrer Mail endet in
localhost.Einige Mail-Clients generieren eine Message-ID, die
nicht akzeptiert wird. Sie müssen Ihren Mail-Client
so konfigurieren, dass er eine gültige Message-ID
generiert. Alternativ können Sie die Message-ID von
Ihrem Mailserver umschreiben lassen.Wo kann ich einen freien FreeBSD-Account bekommen?Das FreeBSD Project bietet zwar keinen freien Zugang
zu seinen Servern an; andere Firmen bieten jedoch frei
zugängliche &unix; Systeme. Die Kosten variieren und
es kann sein, dass nicht alle Dienste zur
Verfügung stehen.Arbornet,
Inc, auch als M-Net bekannt, bietet seit 1983
uneingeschränkten Zugang zu &unix; Systemen.
Zunächst wurde eine Altos-Maschine mit System III
benutzt, 1991 erfolgte dann der Wechsel zu BSD/OS. Im
Juni 2000 erfolgte ein erneuter Wechsel, diesmal zu
FreeBSD. M-Net bietet Zugang mit Telnet und SSH und den
Zugang zur gesamten Software von FreeBSD. Allerdings ist
der Zugriff auf das Netzwerk auf Mitglieder und
Gönner beschränkt, die eine Spende an die
nicht-kommerzielle Organisation geleistet haben. M-Net
stellt zusätzlich ein Mailbox-System und einen
interaktiven Chat zur Verfügung.Grex bietet
ein ganz ähnlichen Dienst wie M-Net an, dazu
gehören auch das Mailbox-System und der interaktive
Chat. Allerdings wird eine SUN4M mit &sunos;
benutzt.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
CVSup.Wie heißt das niedliche rote Kerlchen?Er ist namenlos, es ist einfach der der BSD
Daemon. Wenn Sie ihm unbedingt einen Namen geben
wollen, rufen Sie ihn beastie. Beachten
Sie aber, dass beastie wie
BSD ausgesprochen wird.Weitere Informationen über den BSD daemon finden
Sie auf seiner
Homepage.Kann ich Bilder des BSD Daemon verwenden?Eventuell. Der BSD Daemon unterliegt dem Copyright
von Marshall Kirk McKusick. Wenn Sie genaue Informationen
über die Einschränkungen bei der Nutzung
brauchen, sollten Sie sein Statement
on the Use of the BSD Daemon Figure lesen.Kurz gesagt, können Sie den BSD Daemon benutzen,
solange es für einen privaten Zweck ist und die
Nutzung geschmackvoll bleibt. Für den kommerziellen
Einsatz brauchen Sie die Zustimmung von Kirk McKusick.
Weitere Informationen erhalten Sie auf der Webseite BSD
Daemon's home page.Woher kann ich Bilder des BSD Daemon bekommen?Einige Bilder in den Format xfig und eps sind unter
/usr/share/examples/BSD_daemon/ zu
finden.Ich habe in den Mailinglisten eine Abkürzung oder
einen Begriff gesehen, den ich nicht kenne. Wo erhalte
ich eine Erklärung dazu?Sehen Sie bitte im
FreeBSD-Glossar nach.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 nicht gefällt. Dies ist natürlich eine
Metapher dafür, dass Sie nicht eine Diskussion über
jede kleine Änderung beginnen sollen, nur weil Sie
das können. Einige Leute behaupten sogar, dass
die Anzahl der (nutzlosen) Kommentare über eine
Änderung umgekehrt proportional zur
Komplexität der Änderung ist.Die noch längere und vollständigere Antwort
ist, dass &a.phk; nach einen langen Diskussion
über das Thema "Soll &man.sleep.1; Sekundenbruchteile
als Parameter akzeptieren?" eine lange Mail mit dem Titel
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.1999Einige 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 frühen 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, dass zeigt schon, wie alt dieses Buch
ist.Parkinson zeigte, dass man zum Vorstand gehen
kann und die Genehmigung für ein mehrere Millionen
oder sogar Milliarden Dollar teures Kernkraftwerk
bekommt; wenn man aber einen Fahrradschuppen bauen will,
wird man in endlose Diskussionen verwickelt.Laut Parkinson liegt das daran, dass ein
Kernkraftwerk so groß, so teuer und so kompliziert
ist, dass die Leute es nicht verstehen. Und bevor
sie versuchen, es zu verstehen, verlassen Sie sich
lieber darauf, dass irgend jemand sicherlich die
ganzen Details geprüft hat, bevor das Projekt bis
zum Vorstand gekommen ist. Im Buch von Richard P.
Feynmann finden sich einige interessante und sehr
passende Beispiele aus dem Gebiet von Los
Alamos.Ein Fahrradschuppen ist was anderes. Jeder kann an
seinem freien Wochenende einen bauen und hat trotzdem
noch genug Zeit für die Sportschau. Daher ist es
unwichtig, wie gut man sich vorbereitet und wie sinnvoll
der eigene Vorschlag ist. Irgend jemand wird die
Möglichkeit nutzen und zeigen, dass er seine
Arbeit tut, dass er aufmerksam ist, dass er
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.
Nicht ganz ernstgemeinte FragenWie cool ist FreeBSD?Q. Hat irgend jemand Temperaturmessungen
durchgeführt, während FreeBSD läuft? Ich
weiss, dass &linux; cooler läuft, als DOS, habe
aber niemals gesehen, dass FreeBSD erwähnt
wurde. Es scheint sehr heiß zu laufen.A. Nein, aber wir haben zahlreiche Geschmackstests mit
verblendeten Freiwilligen durchgeführt, denen
außerdem zuvor 250 Mikrogramm LSD-25 verabreicht
wurden. 35% der Freiwilligen sagte, dass FreeBSD
nach Orange schmeckte, &linux; hingegen schmecke wie
purple haze (Anm. d. Übersetzers: Song
von Jimmy Hendrix und LSD-Marke). Keine der Gruppen hat
besondere Abweichungen der Temperatur erwähnt.
Eventuell hätten wir sämtliche Ergebnisse dieser
Untersuchung fortwerfen sollen, als wir festgestellt
haben, dass zu viele der Freiwilligen den Raum
während der Tests verlassen haben und dadurch die
Ergebnisse verfälscht haben. Wir glauben, dass
die meisten der Freiwilligen nun bei Apple sind und an
ihrer neuen scratch and sniff
Oberfläche arbeiten. 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, dass der Speicher ein kratzendes
Geräusch macht? Bei der Kompilierung (und auch
für einen kurzen Moment nach der Erkennung des
Floppy-Laufwerks beim Hochfahren), kommt ein seltsames
kratzendes Geräusch von etwas das die
Speicherbänke zu sein scheinen.A. Ja! In der BSD-Dokumentation finden Sie
häufige Verweise auf Daemons und was
die meisten Leute nicht wissen, ist, dass diese sich
auf echte, nicht-körperlichen Wesen beziehen, die
Besitz von Ihrem Computer ergriffen haben. Das kratzende
Geräusch, das von Ihrem Speicher kommt, ist in
Wirklichkeit hochtöniges Flüstern, das unter den
Daemons ausgetauscht wird, während Sie entscheiden,
wie Sie die verschiedenen Systemadministrationsaufgaben,
am besten erledigen.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
Einfluss der BSD Dämonen sind die beiden
Dämonen von DOS und &windows; oft dazu in der Lage, die
totale Kontrolle über Ihre Maschine für die
ewige Verdammung Ihrer Seele zurückzuerlangen. Da
Sie jetzt die Wahrheit kennen, würden Sie es
vorziehen, sich an die Geräusche zu gewöhnen,
wenn Sie die Wahl hätten.Wie viele FreeBSD-Hacker braucht man, um eine
Glühbirne auszuwechseln?Eintausendeinhundertundneunundsechzig:Dreiundzwanzig, die sich bei -CURRENT beschweren,
dass das Licht aus ist;Vier, die behaupten, dass es sich um ein
Konfigurationsproblem handelt und dass 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, dass
buildworld nicht mehr funktioniert;Einunddreißig, die antworten, dass es bei
ihnen funktioniert und dass 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, dass es vor drei
Jahren Patches hierfür hatte, aber als er sie nach
-CURRENT schickte, sind sie einfach ignoriert worden und
er hatte schlechte Erfahrungen mit dem PR-System; nebenbei
ist die vorgeschlagene Glühbirne nicht
reflexiv;Siebenunddreißig, die schreien, dass
Glühbirnen nicht in das Basissystem gehören,
dass Committer nicht das Recht haben, solche Dinge
durchzuführen, ohne die Gemeinschaft zu konsultieren
und WAS GEDENKT -CORE HIER ZU TUN!?Zweihundert, die sich über die Farbe des
Fahrradschuppens beschweren;Drei, die darauf hinweisen, dass der Patch nicht
mit &man.style.9; übereinstimmt;Siebzehn, die sich beschweren, dass 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, dass 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 passt, 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ßig, die herausstellen, dass die
neue Glühbirne 0,364% heller leuchten würde,
wenn sie mit TenDRA kompiliert werden würde (obwohl
sie in einen Würfel umgeformt werden
müsste) und dass FreeBSD deshalb nach
TenDRA, anstatt nach GCC wechseln sollte;Einen, der sich beschwert, dass 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,
dass 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
:-)Was passiert mit den Daten, die nach
/dev/null geschrieben werden?Sie werden in einer speziellen Datensenke der CPU in
Wärme umgewandelt, die dann über den
Kühlkörper und den Lüfter abgeführt
wird. Dies ist einer der Gründe für die
Kühlung von CPUs; die Anwender gewöhnen sich an
die schnelleren Prozessoren, gehen nicht mehr so
sorgfältig mit Ihren Daten um und so landen immer
mehr Daten in /dev/null, was zur
Überhitzung der CPU führt. Wenn Sie
/dev/null löschen (was die
Datensenke ziemlich sicher abschaltet), wird Ihre CPU zwar
nicht mehr so heiß, dafür wird Ihr System aber
sehr schnell von den überzähligen Daten
überladen und merkwürdige Effekte zeigen. Wenn
Sie eine sehr schnell Netzwerkverbindung haben,
können Sie Ihre CPU kühlen, indem sie Daten aus
/dev/random lesen und in die Weite
des Netzwerkes schicken; allerdings besteht hier die
Gefahr der Überhitzung von Netzwerk und
/. Außerdem dürfte Ihr
ISP ziemlich wütend werden, da der größte
Teil der Daten von seinen Geräten in Hitze
umgewandelt werden wird; da ISPs aber über
Klimaanlagen verfügen, sollte das kein großes
Problem sein, solange Sie es nicht
übertreiben.Nachtrag Paul Robinson:Es gibt andere Mittel und Wege. Wie jeder gute
Systemadministrator weiss, gehört es zum guten
Ton, einigen Daten zum Bildschirm zu senden, damit die
Leuchtkäferchen, die das Bild anzeigen,
glücklich sind. Die Leuchtkäferchen werden nach
der Farbe Ihrer Hüte (Rot, Grün, oder Blau)
unterschieden und sie verstecken bzw. zeigen sich (wobei
man die Farbe ihrer Hüte erkennen kann) bei jeder
Nahrungsaufnahme. Grafikkarten wandeln Daten in
Leuchkäfer-Nahrung um und schicken sie dann zu den
Leuchtkäfern - teure Karten erzeugen bessere Nahrung
und sorgen so für besseres Verhalten der
Leuchtkäfer. Diese brauchen allerdings einen
konstanten Stimulus - darum gibt es
Bildschirmschoner.Darum lautet mein Vorschlag, die zufälligen Daten
einfach zum Bildschirm zu schicken, damit sie von den
Leuchtkäfern verzehrt werden. Dabei entsteht keine
Hitze, die Leuchtkäfer bleiben glücklich und man
wird seine überflüssigen Daten sehr schnell los,
auch wenn der Bildschirm etwas merkwürdig
aussieht.Übrigens: Als Ex-Admin eines großen ISPs,
der so seine Probleme mit der Kühlung seines
Rechenzentrums hatte, kann ich nur davon abraten,
überflüssige Daten einfach in das Netzwerk zu
schicken. Die Heinzelmännchen, die die Pakete
verteilen und versenden, regen sich darüber ganz
furchtbar auf.Weiterführende ThemenWie kann ich mehr über die Interna von FreeBSD
erfahren?Zurzeit gibt es nur ein Buch über die Interna von
FreeBSD, The Design and Implementation of the FreeBSD
Operating System von Marshall Kirk McKusick und
George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf
FreeBSD 5.X konzentriert.Allgemeines Wissen über &unix; kann
allerdings in den meisten Fällen auf FreeBSD
angewendet werden.Eine Liste finden Sie im entsprechenden Abschnitt der
Bibliographie.Wie kann ich bei der Entwicklung von FreeBSD
mitarbeiten?Genauere Informationen finden Sie im Artikel FreeBSD
unterstützen. Wir können Hilfe
immer gut gebrauchen!Was sind SNAPs und RELEASEs?Derzeit existieren drei aktive/halbaktive Zweige im
FreeBSD-CVS-Repository. In früheren Zweigen
ändert sich wenig, daher gibt es nur drei
aktive Entwicklungszweige:RELENG_5 bzw.
5.X-STABLERELENG_6 bzw.
6-STABLEHEAD bzw.
-CURRENT oder
7.X-CURRENTHEAD 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.Derzeit steht -CURRENT für den
7.X-Entwicklungsstrom, der
5-STABLE-Zweig (RELENG_5)
wurde im Oktober 2004, der 6-STABLE-Zweig
(RELENG_6) im November 2005 von
-CURRENT abgespalten.Wie kann ich meine eigene, angepasstes Release
erstellen?Eine Anleitung dazu finden Sie im Artikel
FreeBSD Release Engineering.Wieso überschreibt make world
das installierte System?Das ist beabsichtigt. Wie der Name schon andeutet,
erstellt make world alle Systemdateien
von Grund auf neu. Sie können also sicher sein, am
Ende eine saubere, konsistente Umgebung zu haben (das ist
der Grund, warum es so lange dauert).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.Warum ist cvsup.FreeBSD.org
kein Round-Robin-Eintrag im DNS, so dass Anfragen
auf alle CVsup-Server verteilt werden?Die CVsup-Server gleichen sich stündlich
mit dem Hauptserver ab. Allerdings findet der
Abgleich nicht zur gleichen Zeit statt, daher
können einige Server neuere Quellen bereitstellen
als andere Server. Alle Server stellen jedoch
Quellen bereit, die maximal eine Stunde alt sind.
Wäre cvsup.FreeBSD.org
ein Round-Robin-Eintrag im DNS, der Benutzern einen
zufälligen Server zuteilt, könnten beim
zweiten Lauf von CVsup ältere Quellen als beim
ersten Lauf heruntergeladen werden.Warum meldet mein System (bus speed
defaulted) beim Start?Die Adaptec 1542 SCSI Hostadapter erlauben dem
Benutzer die Buszugriffsgeschwindigkeit per Software zu
konfigurieren. Ältere Versionen des 1542-Treibers
versuchten, die schnellstmögliche Geschwindigkeit
herauszufinden und konfigurierten den Adapter
entsprechend. Wir haben festgestellt, dass dies auf
einigen Systemen nicht funktioniert, weshalb Sie nun die
Kernelkonfigurationsoption 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 &man.split.1;, 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 Artikel
FreeBSD unterstützen.Und Danke, dass Sie darüber
nachdenken!Wie werden Plug&Play ISA-Karten erkannt und
initialisiert?Von: Frank Durda IV
uhclem@nemesis.lonestar.orgKurz 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, dass 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, dass unterschiedliche
Kartentypen desselben Herstellers unterschiedliche 32-Bit
Herstellerkennungen besitzen können. 32 Bit nur
für eindeutige Hersteller zu benötigen, scheint
etwas übertrieben.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, dass vermieden wird, dass bereits
von anderen Geräten 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.Wie bekomme ich eine Major-Number für einen
Gerätetreiber, den ich geschrieben habe?&os.current; stellt seit Februar 2003
Major-Numbers für Geräte zur Laufzeit automatisch
bereit. Nach Möglichkeit sollte diese neue
Funktion benutzt werden, anstatt eine Major-Number
statisch festzulegen. Weitere Hinweise finden Sie in
src/sys/conf/majors.Wenn Sie eine statisch festgelegte Major-Number
benötigen, hängt das weitere Verfahren davon ab,
ob Sie den Treiber frei verfügbar machen wollen.
Falls dem so ist, senden Sie uns bitte eine Kopie der
Treiber-Sourcen und zusätzlich die entsprechenden
Änderungen der Datei files.i386,
ein Beispiel für einen Eintrag in der
Konfigurationsdatei und den entsprechenden Code für
&man.MAKEDEV.8;, der die Gerätedateien für Ihr
Gerät erzeugt. Falls Sie nicht beabsichtigen,
den Treiber frei verfügbar zu machen, oder es
aufgrund von Lizenzbeschränkungen nicht können,
dann ist die Major-Number 32 für zeichenorientierte
und die Major-Number 8 für blockorientierte
Geräte speziell für diesen Zweck reserviert. In
jedem Fall würden wir uns freuen, auf der Mailingliste
&a.hackers; etwas über Ihren neuen Treiber zu
hören.Gibt es 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, dass Zylindergruppen volllaufen.
Wie viele von Ihnen angemerkt haben, funktioniert es
schlecht für find. Die meisten Dateisysteme werden
von Archiven erstellt, die mit einer Tiefensuche (also
ftw) erstellt wurden. Diese Verzeichnisse werden
über die Zylindergruppen hinweg entfaltet und
erzeugen denkbar ungünstigste Voraussetzungen
für zukünftige Tiefensuchen. Falls man die
Gesamtzahl der zu erstellenden Verzeichnisse wüsste,
wäre die Lösung die, (gesamt / fs_ncg) pro
Zylindergruppe zu erstellen, bevor fortgefahren wird.
Offensichtlich müsste man eine Heuristik
erstellen, um die Zahl zu schätzen. Sogar die
Benutzung einer kleinen, fixen Zahl, z.B. 10, würde
eine Verbesserung um Größenordnungen ausmachen.
Um Wiederherstellungen von normalem Betrieb (wo der
derzeitige Algorithmus vermutlich sinnvoller ist) zu
unterscheiden, könnten Sie die Clusterung von bis zu
10 benutzen, wenn sie alle innerhalb eines
10-Sekunden-Fensters durchgeführt würden.
Jedenfalls ist mein Schluss, dass dies ein
fruchtbares Gebiet für Experimente ist.Kirk McKusick, September 1998Wie kann ich 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
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
Cc: current@FreeBSD.org
[<Ben Rosengart> 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
angepassten 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, dass 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 f0xxxxxxwobei 0xf0xxxxxx der Wert des
Instruktionszeigers ist. Es besteht die
Möglichkeit, dass Sie keinen exakten Treffer
erzielen, weil die Symbole in der Symboltabelle des
Kernels Funktionseinstiegspunkte sind und die Adresse
des Instruktionszeiger irgendwo innerhalb einer
Funktion liegen wird und nicht am Anfang. Falls sie
keinen exakten Treffer erzielen, lassen Sie den
letzten Teil des Werts des Instruktionszeigers weg und
versuchen es nocheinmal, z.B.:&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxFalls 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 &man.gdb.1; zu benutzen, um den Stack im Crash-Dump
zurückzuverfolgen.Jedenfalls ist die Methode, die ich normalerweise
benutze, folgende:Richten Sie eine Kernelkonfigurationsdatei ein,
fügen Sie optional options DDB
hinzu, falls Sie glauben, dass Sie den
Kerneldebugger benötigen. (Ich benutze ihn
hauptsächlich zum Setzen von Haltepunkten, wenn
ich eine Endlosschleife irgendeiner Art
vermute.)Benutzen Sie config -g
KERNELCONFIG, um
das Erstellungsverzeichnis einzurichten.cd
/sys/compile/KERNELCONFIG;
makeWarten Sie, bis der Kernel fertig kompiliert
ist.make installrebootDer &man.make.1;-Prozess 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 &man.gdb.1; benutzt werden
kann.Um sicherzustellen, dass ein Crash-Dump erhalten
bleibt, müssen Sie
/etc/rc.config editieren und
dumpdev so setzen, dass es auf
Ihre Swap-Partition zeigt. Das bewirkt, dass die
&man.rc.8;-Skripte den Befehl &man.dumpon.8; benutzen, um
Crash-Dumps zu ermöglichen. Sie können
&man.dumpon.8; auch manuell ausführen. Nach einer
Panik kann der Crash-Dump mit &man.savecore.8;
wiederhergestellt werden; wenn dumpdev
in /etc/rc.conf gesetzt ist, werden
die &man.rc.8;-Skripte &man.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. Das heißt, wenn Sie
64MB RAM haben, werden sie einen 64MB Crash-Dump
erhalten. Deshalb müssen Sie dafür sorgen, dass
genügend Speicherplatz in
/var/crash zur Verfügung
steht, um den Dump aufnehmen zu können. Alternativ
führen Sie &man.savecore.8; manuell aus und lassen
es den Crash-Dump in einem anderen Verzeichnis
wiederherstellen, in dem Sie mehr Platz haben. Es ist
möglich, die Größe des Crash-Dumps zu
begrenzen, indem 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
dass 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 &man.gdb.1; so
zurückverfolgen:&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0(gdb)whereBeachten Sie, dass es mehrere Seiten mit
wertvollen Informationen geben könnte; idealerweise
sollten Sie &man.script.1; benutzen, um sie alle
festzuhalten. Wenn Sie das vollständige Kernelimage
mit allen Debugginginformationen benutzen,
müssten Sie exakt die Zeile des
Kernel-Sourcecodes finden, wo die Panik aufgetreten ist.
Für gewöhnlich müssen Sie den Stack von
unten an zurückverfolgen, um die genaue
Ereignisabfolge, die zum Crash führte,
zurückzuverfolgen. Sie können &man.gdb.1; auch
zum Ausdrucken der Inhalte verschiedener Variablen oder
Strukturen benutzen, um den Systemstatus zum Zeitpunkt des
Absturzes zu untersuchen.Wenn Sie nun wirklich verrückt sind und einen
zweiten Computer haben, können Sie &man.gdb.1; auch
für entferntes Debugging konfigurieren, so dass
Sie &man.gdb.1; auf einem System benutzen können, um
den Kernel auf einem anderen System zu debuggen,
einschließlich dem Setzen von Haltepunkten und dem
Bewegen in Einzelschritten durch den Kernelcode, genauso,
wie Sie es mit einem normalen Benutzerprogramm tun
können. Ich habe noch nicht damit gespielt weil ich
nicht oft Gelegenheit habe, zwei Rechner nebeneinander
für Debuggingzwecke einzurichten.[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]Wieso funktioniert dlsym() 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.Wie kann ich den Adressraum des Kernels
vergrössern oder verkleinern?Standardmäßig beträgt der
Adressraum des Kernels 256MB (FreeBSD 3.X) bzw. 1 GB
(FreeBSD 4.X). Wenn Sie einen netzwerkintensiven Server
(z.B. einen großen FTP- oder HTTP-Server) betreiben,
kann es sein, dass Sie der Meinung sind, dass
256MB nicht ausreichen.Wie also erhöhen Sie den Adressraum? Hier
gibt es zwei Aspekte. Erstens müssen Sie dem Kernel
sagen, dass er einen größeren Anteil des
Adressraums für sich selbst reservieren soll.
Da der Kernel am oberen Ende des Adressraums geladen
wird, müssen Sie zweitens die Ladeadresse verringern,
damit er mit dem Kopf nicht gegen die Obergrenze
stößt.Das erste Ziel erreicht man, indem man den Wert von
NKPDE in
src/sys/i386/include/pmap.h
erhöht. Für einen Adressraum 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
Adressraumgröße (in Megabyte) durch vier
und subtrahieren Sie dann eins für UP und zwei
für SMP, um den korrekten Wert für
NKPDE zu finden.Um das zweite Ziel zu erreichen müssen Sie die
korrekte Ladeadresse berechnen: subtrahieren Sie einfach
die Größe des Adressraums (in Byte) von
0x100100000; für einen Adressraum von 1 GB
lautet das Ergebnis 0xc0100000. Setzen Sie
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 &man.ps.1;, &man.top.1;
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,
&man.ps.1; und &man.top.1; neu erzeugen.Hinweis: die Größe des
Kernel-Adressraums muss ein Vielfaches von vier
Megabyte betragen.[&a.dg; fügt hinzu: Ich glaube, der
Kerneladressraum muss eine Zweierpotenz sein,
aber ich bin mir dessen nicht sicher. Der alte
(ältere) Bootcode pflegte die oberen Adressbits
zu mißbrauchen und ich glaube, er erwartete
mindestens 256MB Granularität.]DanksagungDieses kleine unschuldige Dokument mit Häufig gestellten
Fragen wurde in den letzten 10 Jahren von Hunderten, wenn
nicht Tausenden, geschrieben, neu geschrieben, überarbeitet,
gefaltet, verdreht, durcheinander gebracht, wieder aufgebaut,
verstümmelt, seziert, durchgekaut, überdacht, und
wiederbelebt. Und das nicht nur einmal.Wir möchten allen dafür Verantwortlichen danken
und wir fordern auch Sie auf, dieser Gruppe beizutreten,
um diese FAQ noch besser zu machen.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 FosterOliver FrommeFrank GruenderChris HillJames Howard&a.jkh;&a.alex;&a.jmas;Mike MeyerDan O'ConnorEric Ogren&a.de.pierau;Oliver SchneiderChristoph SoldUnd an alle anderen, an die wir nicht gedacht haben.
Entschuldigung und herzlichen Dank!
&bibliography;
diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
index ecd070fa54..094e3aed96 100644
--- a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
+++ b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
@@ -1,3012 +1,3012 @@
SGML-Dokumente erstellenIn diesem Kapitel werden die beiden vom FDP eingesetzen
Auszeichnungssprachen HTML und DocBook behandelt. Hierbei
beschränkt sich dieses Kapitel auf die Elemente, die bei der
täglichen Arbeit am ehesten zum Einsatz kommen werden.Beide Sprachen besitzen eine große Anzahl von Elementen.
Das erschwert es, das richtige Element in der richtigen Situation
auszuwählen. Aus diesem Grund werden zu jedem Element auch
immer Beispiele angeboten, die den richtigen Einsatz des Elements
verdeutlichen sollen.Es ist nicht das Ziel dieses Kapitels möglichst viele
Elemente beider Sprachen zu behandeln – dies wäre nur
eine Wiederholung der eigentlichen Sprachreferenz. Sofern es
Unklarheiten zur Verwendung einzelner Elemente und Auszeichnung
von bestimmten Sachverhalten gibt, können diese an &a.doc;
geschickt werden.Fluß- kontra BlockelementeWenn im folgenden von
Flußelementen die Rede ist, sind
damit Elemente gemeint, die in einem Blockelement auftreten
können und keinen Zeilenumbruch hervorrufen.
Blockelemente hingegen erzeugen unter
anderem einen ZeilenumbruchDie englische
Bezeichnung inline element
wurde in Anlehnung an das Wort Fließtext
mit Flußelement
übersetzt..HTMLHTML, die HyperText Markup
Language, ist die Auszeichnungssprache des
Internets. Weitere Informationen zu HTML finden sich unter
.Sie kommt bei der Erstellung der Webseiten des
FreeBSD-Projektes zum Einsatz. Für technische Dokumentationen
sollte HTML jedoch nicht eingesetzt werden, da DocBook eine
größere und bessere Auswahl an Elementen bietet. Folglich
sollte HTML nur für die FreeBSD-Webseiten verwendet werden.Die HTML-Spezifikation liegt bis jetzt in mehreren Versionen
vor: 1, 2, 3.0, 3.2 und (die aktuelle) 4.0. Von letzterer
existieren zwei Varianten: streng (HTML 4.0
Strict) und locker (HTML 4.0
Transitional).Die HTML-DTDs sind über den Port textproc/html verfügbar und werden
automatisch als Teil des Metaports textproc/docproj
mitinstalliert.Formale Öffentliche BezeichnerDa es mehrere Version von HTML gibt, existieren auch
mehrere FÖPs, zu denen ein HTML-Dokument konform
erklärt werden kann. Die Mehrzahl der sich auf der
FreeBSD-Webseite befindenen HTML-Seiten sind zu der lockeren
Version von HTML 4.0 konform.PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"Die Elemente head und
bodyEin HTML-Dokument unterteilt sich normalerweise in zwei
Bereiche: head und body. Der
Kopf (head) enthält Metadaten
wie den Dokumententitel und Angaben zum Autor. Der Rumpf
(body) umfaßt den eigentlichen
Dokumenteninhalt, der für den Leser bestimmt ist. In einem
HTML-Dokument werden diese Bereiche über die Elemente
head und body
voneinander abgegrenzt. Beide sind Kinder des Wurzelelementes
html.Die Struktur eines HTML-Dokumentes<html>
<head>
<title>Der Dokumententitel</title>
</head>
<body>
…
</body>
</html>BlockelementeÜberschriftenHTML kennt sechs verschiedene Elemente, mit denen
Überschriften ausgezeichnet werden können. Das bekannteste
Element ist h1, das sich am Anfang der
Überschriftenhierarchie befindet. h1
folgen die Überschriftenelemente h2 bis
h6. Der Inhalt von
hN stellt den
Text der Überschrift dar.h1, h2…Fügen Sie in eine der existierenden Übungsdateien folgendes ein:Erstes Kapitel
Das ist die Überschrift des ersten Kapitels
Das ist die Überschrift des ersten Unterkapitels
Das ist die Überschrift des zweiten Kapitels
]]>Eine HTML-Seite sollte immer nur eine Überschrift
h1 haben. Dieser Überschrift können
beliebig viele Kapitel mit einer Überschrift
h2 folgen, die selbst wiederum eine
beliebige Anzahl von Kapiteln mit einer Überschrift
h3 enthalten können. Diese
Verschachtelung setzt sich bis zu Kapiteln mit einer
h6-Überschrift fort. Es sollte vermieden
werden, Elemente in der Überschriftenhierarchie
auszulassen.Falsche Verschachtelung von ÜberschriftenFügen Sie in eine der existierenden Übungsdateien folgendes ein:Erstes Kapitel
Unterkapitel
]]>AbsätzeAbsätze können in HTML mit Hilfe des Elementes
p ausgezeichnet werden.Absätze mit dem Element pFügen Sie in eine der existierenden Übungsdateien folgendes ein:Das hier, das ist ein Absatz. Absätze können
andere Elemente enhalten.
]]>
BlockzitateEin Blockzitat ist ein etwas umfangreicheres Zitat aus
einem anderen Text, das nicht zum aktuellen Absatz
gehört.BlockzitatFügen Sie in eine der existierenden Übungsdateien
folgendes ein:
Artikel 1: Menschenwürde; Grundrechtsbindung der
staatlichen Gewalt
Die Würde des Menschen ist unantastbar. Sie zu achten
und zu schützen ist Verpflichtung aller staatlichen
Gewalten.
Das Deutsche Volk bekennt sich darum zu unverletzlichen
und unveräußerlichen Menschenrechten als Grundlage jeder
menschlichen Gemeinschaft, des Friedens und der
Gerechtigkeit in der Welt.
Die nachfolgenden Grundrechte binden Gesetzgebung,
vollziehende Gewalt und Rechtsprechung als
unmittelbar geltendes Recht.
]]>ListenHTML kennt drei Arten von Listen: sortierte, unsortierte
und Definitionslisten. Ein Eintrag in einer sortierten Liste
wird üblicherweise mit einer Nummer versehen, Einträge in
unsortierten Listen hingegen mit einem Aufzählungspunkt.
Definitionslisten wiederum bestehen aus zwei Teilen: Der
erste enthält den Begriff der definiert werden soll und der
zweite dessen Erläuterung.Sortierte Listen werden mit dem Element
ol (für
ordered
list) ausgezeichnet,
unsortierte Listen mit ul (für
unordered
list) und
Definitionslisten mit dl.Listenpunkte sortierter und unsortierter Listen werden
mit dem Element li ausgezeichnet,
welches Text oder andere Blockelemente enthalten kann.
Begriffe, die in einer Definitionslisten enthalten sind,
werden mit dem Element dt (für
definition
term) ausgezeichnet.
Die Erklärung zu diesem Begriff wird mit Hilfe des Elementes
dd (für definition
description) markiert. So wie
li, kann das Element
dd ebenfalls andere Blockelemente
aufnehmen.Listen mit ul und
ol erstellenFügen Sie in eine der existierenden Übungsdateien
folgendes ein:Jetzt folgt eine unsortierte Liste. Wahrscheinlich werden
die einzelnen Einträge mit einem vorangehenden Punkt dargestellt.
Erster Eintrag
Zweiter Eintrag
Dritter Eintrag
Die zweite Liste ist sortiert und ihre Einträge bestehen aus mehreren Absätzen.
Jeder Listeneintrag ist nummeriert.
Das ist der erste Eintrag mit nur einem Absatz.
Das ist der erste Absatz des zweiten Eintrags.
Und das ist der zweite Absatz des zweiten Eintrags.
Der dritte Eintrag besteht ebenfalls nur aus einem Eintrag.
]]>Definitionslisten mit dl erstellenFügen Sie in eine der existierenden Übungsdateien folgendes ein:
Erster Begriff
Erster Absatz der Erklärung
Zweiter Absatz der Erklärung.
Zweiter Begriff
Erster Absatz der Erklärung.
Dritter Begriff
Erster Absatz der Erklärung zum dritten Begriff.
]]>Vorformatierter Text
- In einigen Fällen ist es gewollt, daß die Formatierung
- eines Textes im Quelldokument erhalten bleibt, so daß der
+ In einigen Fällen ist es gewollt, dass die Formatierung
+ eines Textes im Quelldokument erhalten bleibt, damit der
Leser diesen genau so sieht, wie ihn der Autor erstellt hat.
In der HTML-Spezifikation ist dafür das Element
- pre vorgesehen, welches dafür sorgt, daß
+ pre vorgesehen, welches dafür sorgt, dass
Zeilenumbrüche erhalten bleiben und Leerzeichen nicht
zusammengefaßt werden. Browser verwenden für den
Inhalt des Elementes pre
üblicherweise eine Fixschrift.Vorformatierten Text mit pre erstellenDer Originaltext einer E-Mail läßt sich beispielsweise
wie folgt einbinden: From: nik@FreeBSD.org
To: freebsd-doc@FreeBSD.org
Subject: Neue Version verfügbar
Es ist eine neue Version der Fibel für neue Mitarbeiter am
FreeBSD-Dokumentationsprojekt verfügbar:
<URL:http://people.FreeBSD.org/~nik/primer/index.html>
Kommentare und Anmerkungen sind willkommen.
N]]>Beachten Sie, dass < und
& nach wie vor als Sonderzeichen
erkannt werden. Daher wird in diesem Beispiel auch
< an Stelle von
< verwendet. Aus dem gleichen
Grund wurde auch > an Stelle
von > verwendet. Achten Sie also
stets auf Sonderzeichen, wenn Sie normalen Text
aus E-Mails, Programmcode oder einer anderen Quelle
kopieren.TabellenDie meisten Textbrowser, beispielsweise Lynx, können
Tabellen nicht besonders gut darstellen. Deshalb sollten
Auszeichnungsalternativen in Betracht gezogen werden, um
eine angemessene Darstellung sicherzustellen.Tabellen lassen sich in HTML mit Hilfe des Elements
table auszeichnen. Eine Tabelle setzt
sich aus einer oder mehreren Zeilen (tr)
zusammen, von denen jede mindestens eine Zelle
(td) enthält. Zellen können wiederum
andere Blockelemente, wie Absätze oder Listen, enthalten.
Auch können sie auch andere Tabellen aufnehmen, wobei die
Verschachtelungstiefe unbegrenzt ist. Soll die Tabellenzelle
nur einen Textabsatz enthalten, ist es nicht notwendig den
Text mit einem p zu umschließen.Einfache Tabelle mit tableFügen Sie in eine der existierenden Übungsdateien folgendes ein:Eine einfache 2x2 Tabelle.
Obere linke Zelle
Obere rechte Zelle
Untere linke Zelle
Untere rechte Zelle
]]>
- HTML kennt die Möglichkeit, daß sich eine
+ HTML kennt die Möglichkeit, dass sich eine
Zelle mehrere Zeilen und/oder Spalten erstrecken kann.
Sollen beispielsweise mehrere Spalten zusammenfassen werden,
kann dies mit mit Hilfe des Attributes
colspan erreicht werden, indem man ihm
die Anzahl der zusammenzufassenden Spalten zuweist.
Ähnliches gilt für die Zusammenfassung von Zeilen:
Hierfür wird dem Attribut rowspan
die Anzahl der zusammenzufassenden Zeilen zugewiesen.Anwendung des Attributes rowspanDiese Tabelle besteht aus einer langen Zelle auf der
linken Seite und zwei kleineren Zellen auf der rechten.
Lang und dünn
Obere Zelle
Untere Zelle
]]>Anwendung des Attributes colspanEine breite Zeile oben und zwei schmalere Zeilen
darunter.
Obere Zelle
Linke untere Zelle
Rechte untere Zelle
]]>Gemeinsame Anwendung der Attrbute rowspan und
colspanEine Tablle mit 3-mal-3 Zellen. Oben links
werden 2 mal 2 Zelle zusammengezogen.
Große obere linke Zelle
Obere rechte Zelle
Mittlere rechte Zelle
Untere linke Zelle
Untere mittlere Zelle
Untere rechte Zelle
]]>FlußelementeHervorheben von InformationSollen sich bestimmte Informationen von anderen optisch
abheben, kann dies mit den HTML-Tags
strong und em erreicht
werden. strong stellt dabei eine
stärkere Hervorhebung als em dar,
wobei mit strong ausgezeichnete Elemente
fett und mit em ausgezeichnete Elemente
kursiv dargestellt werden. Allerdings ist diese Aussage
nicht verläßlich, da die Darstellung vom Browser
abhängig ist.Text mit em und strong
hervorhebenDieses Wort ist hervorgehoben,
während dieses noch stärker hervorgehoben ist.]]>Fett- und SchrägschriftDa mittels HTML auch Festlegungen über die
Darstellung getroffen werden können, gibt es die
- Möglichkeit direkt zu bestimmen, daß bestimmte
+ Möglichkeit direkt zu bestimmen, dass bestimmte
Inhalte fett oder kursiv dargestellt werden sollen. Mit
b eingefaßte Inhalte werden fett
und mit i eingefaßte kursiv
dargestellt.Text mit b und i
formatierenDieses Wort wird fett dargestellt,
während dieses kursiv dargestellt wird.]]>Nicht-proportionale Schrift für TexteDer Tag tt erlaubt es,
Text in einer schreibmaschinenähnlichen
Schrift darzustellen.Nicht-proportionale Schrift mit
ttDieses Dokument wurde ursprünglich von
Nik Clayton geschrieben. Nick Clayton kann unter der E-Mail-Adresse
nik@FreeBSD.org erreicht werden.]]>Änderung der SchriftgrößeHTML bietet auch Möglichkeiten, um Einfluß
auf die Schriftgröße zu nehmen, das heißt,
zu bestimmen, ob die Schrift größer oder kleiner
als die Standardschrift dargestellt werden soll. Es gibt
drei verschiedene Wege, dies zu erreichen:Mittels der Tags big und
small kann die
Darstellungsgröße des eingeschlossenen Textes
vergrößert respektive verkleinert werden.
HTML erlaubt es zudem, diese Tags zu verschachteln, so
- daß auch <big><big>Das ist
+ dass auch <big><big>Das ist
wesentlich
größer.</big></big>
geschrieben werden kann.Das gleiche Ergebnis kann über die Zuweisung der
Werte 1 und -1 an
das Attribut size
des Tags font erreicht werden. Diese
Vorgehensweise sollte allerdings als veraltet betrachtet
werden, da der Einsatz eines CSS hierfür die bessere
Lösung darstellt.Über die Zuweisung von absoluten Werten im Bereich
von 1 bis 7 an das
Attribut size des Tags
fontDer Standardwert für size ist
3.. Diese
Herangehensweise ist ebenfalls veraltet und sollte nicht
mehr angewandt werden.Schriftgröße ändern mit
big, small und
fontDie folgenden HTML-Schnipsel bewirken alle das gleiche:Dieser Text ist etwas kleiner. Dieser
jedoch ein wenig größer.
Dieser Text ist etwas kleiner. Dieser
jedoch ein wenig größer.
Dieser Text ist etwas kleiner. Dieser
jedoch ein wenig größer.
]]>LinksBei Links handelt es sich ebenfalls Flußelemente.Auf andere Dokumente im WWW verweisenUm auf ein anderes Dokument im WWW zu verweisen,
müssen Sie die URL dieses Dokuments kennen.Links auf andere Dokumente im WWW werden in HTML durch
den Tag a und dessen Attribute href, das die Zieladresse
enthält, angelegt. Der Inhalt des Elementes wird selbst
zum Link und seine Darstellung erfolgt verschieden vom
übrigen Text. Meist geschieht das durch eine andere
- Schriftfarbe oder dadurch, daß der Linktext
+ Schriftfarbe oder dadurch, dass der Linktext
unterstrichen wird.<a href="..."> benutzenWeitere Informationen stehen auf der
FreeBSD-Webseite zur Verfügung.]]>Beim Aufruf dieses Links wird das referenzierte Dokument vom
Browser geladen und mit dessen Seitenanfang dargestellt.Auf bestimmte Dokumentenabschnitte verweisenHTML unterstützt neben einfachen Links auch solche, die
auf einen bestimmten Abschnitt innerhalb eines Dokumentes
verweisen. Dazu müssen die Abschnitte, auf die verwiesen
werden soll, mit Hilfe von sogenannten Ankern
markiert werden. Diese Anker können ebenfalls mit Hilfe des
Tags a gesetzt werden, nur das anstelle
von href das Attribut
name gesetzt werden
muss.Anwendung von <a name="...">Auf diesen Absatz kann mit
Hilfe seines Namens (absatz1) verwiesen werden.]]>Um auf einen so gekennzeichneten Abschnitt zu verweisen,
muss die URL des Dokumentes um das Zeichen
# und den Namen des Zielankers erweitert
werden.Auf einen Abschnitt eines anderen Dokumentes
verweisen
- Für dieses Beispiel wird davon ausgegangen, daß der mit
+ Für dieses Beispiel wird davon ausgegangen, dass der mit
absatz1 gekennzeichnete Absatz sich in
der HTML-Datei foo.html
befindet.Weitere Informationen können im
ersten Absatz der Datei
foo.html gefunden werden.]]>Die DocBook DTDDocBook wurde ursprüglich von HaL Computer Systems and
O'Reilly & Associates als DTD für das Erstellen von
technischen Dokumenten entwickelt
Einen kurzen historischen Abriss finden Sie unter
..
Seit 1998 wird es vom
DocBook Technical Committee gewartet. DocBook ist sehr
stark auf die Beschreibung von Inhalten, und nicht auf die
Darstellung des Inhalts ausgerichtet. Damit steht es im Gegensatz
zu LinuxDoc und HTML.Formelle und informelle ElementeEinige Elemente der DocBook DTD sind in zwei Varianten
vorhanden: formell und
informell. Üblicherweise besitzt die
formelle Variante einen Titel, dem der eigentliche
Elementeninhalt folgt. Die informelle Variante hingegen hat
keinen Titel.Die DocBook DTD ist in der Portssammlung im Port textproc/docbook enthalten und wird
bei der Installation von textproc/docproj automatisch
mitinstalliert.Die FreeBSD-ErweiterungenFür das FDP wurde die DocBook DTD durch das
FreeBSD-Dokumentationsproject um zusätzliche Elemente
erweitert, um damit präzisiere
Auszeichnungsmöglichkeiten zur Verfügung zu haben.
Sofern im folgenden FreeBSD-spezifische Elemente genutzt
werden, wird explizit darauf hingewiesen werden.Wenn nachfolgend im Text der Begriff
DocBook verwendet wird, ist damit die durch das
FDP erweiterte Version der DocBook DTD gemeint.Die durch das FDP vorgenommenen Erweiterungen sind nicht
FreeBSD-spezifisch. Sie wurden lediglich vorgenommen, da sie
für die Arbeit des FDPs als nützlich erschienen.
Für den Fall, das in den anderen *nix-Lagern (NetBSD,
OpenBSD, Linux,…) Interesse daran besteht, gemeinsam
eine Standarderweiterung für die DocBook DTD zu
entwickeln, kann mit dem &a.doceng; Verbindung aufgenommen
werden.Zum jetzigen Zeitpunkt sind die FreeBSD-Erweiterungen
nicht Bestandteil der Portssammlung. Sie werden im
FreeBSD-CVS-Archiv (doc/share/sgml/freebsd.dtd)
verwaltet.Formelle Öffentliche BezeichnerIn Übereinstimmung mir der DocBook-Richtlinie zur
Erstellung von Bezeichnern für DocBook-Erweiterungen lautet
der Bezeichner der erweiterten FreeBSD-Variante:PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"Die Struktur von DocBook-DokumentenDocBook erlaubt es, Dokumente auf verschiedene Weise zu
strukturieren. Innerhalb des FDPs werden hauptsächlich zwei
Arten von DocBook-Dokumenten verwendet: Buch und Artikel.
- Beide unterscheiden sich darin, daß ein Buch auf der obersten
+ Beide unterscheiden sich darin, dass ein Buch auf der obersten
Ebene durch chapter-Elemente strukturiert
wird. Sollte das noch nicht ausreichend sein, können die
einzelnen Kapitel eines Buches mit Hilfe des Elementes
part in Teile aufgespalten werden. Das
Handbuch zum Beispiel ist auf diese Weise aufgebaut.Kapitel (chapter) können weiterhin in
Unterkapitel unterteilt werden. Diese werden durch die
Elemente sect1 ausgezeichnet. Soll ein
Unterkapitel selbst weitere Unterkapitel enthalten, kann das
über das Element sect2 geschehen. Diese
Unterteilung kann bis zur Tiefe von fünf Unterkapiteln –
über die Elemente sect3,
sect4 und sect5 –
fortgeführt werden. Der eigentliche Inhalt, um den es ja in
dem Artikel oder Buch geht, wird unterhalb der hier genannten
Elemente eingefügt.Vom Aufbau her ist ein Artikel ist einfacher strukturiert
als ein Buch. So kann ein Artikel beispielsweise keine Kapitel
(chapter) enthalten. Stattdessen kann der
Inhalt eines Artikels nur durch die schon bekannten
sectN-Elemente
in einen oder mehrere Abschnitte gegliedert werden.
Überlegen Sie sich vor dem Schreiben eines Textes,
ob der zu schreibende Text am
besten als Buch oder als Artikel angelegt wird. Artikel eignen
sich besser für Texte, die nicht in mehrere Kapitel
aufgeteilt werden müssen und mit einem Umfang von
ungefähr 20 bis 25 Seiten vergleichsweise kurz sind.
Natürlich ist das nur eine Richtlinie. Bücher sind
dementsprechend am besten für lange Texte geeignet, die
sich sinnvoll in Kapitel unterteilen lassen und
möglichweiser noch Anhänge und ähnliches
enthalten können.Alle Tutorien von
FreeBSD sind als Artikel verfaßt, während
hingegen die FreeBSD-FAQ und das FreeBSD-Handbuch als
Bücher verfaßt wurden.Bücher schreibenDer Inhalt eines Buches wird in einem
book-Element abgelegt. Neben dem
Textteil des Buches kann dieses Element weitergehende
Informationen über das Buch selbst,
wie Meta-Informationen zum Erstellen eines
Stichwortverzeichnisses oder zusätzliche
Inhalte zum Erstellen einer Titelei, enthalten. Diese
zusätzlichen Inhalte sollten in einem
bookinfo-Element abgelegt werden.Buchvorlage book mit
bookinfo<book>
<bookinfo>
<title>Titel</title>
<author>
<firstname>Vorname</firstname>
<surname>Nachname</surname>
<affiliation>
<address><email>E-Mail-Adresse</email></address>
</affiliation>
</author>
<copyright>
<year>1998</year>
<holder role="mailto:E-Mail-Adresse">Vollständiger Name</holder>
</copyright>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>Kurze Zusammenfassung des Buchinhaltes.</para>
</abstract>
</bookinfo>
…
</book>Artikel schreibenDer Inhalt eines Artikels wird in einem
article-Element abgelegt. Neben
dem Textteil kann dieses Element weitere Teile,
wie Meta-Informationen zum Erstellen eines
Stichwortverzeichnisses oder zusätzliche
Inhalte zum Erstellen einer Titelei, enthalten.
Analog zu einem Buch, sollten diese Informationen in einem
articleinfo-Element abgelegt
werden.Artikelvorlage article mit
articleinfo<article>
<articleinfo>
<title>Titel</title>
<author>
<firstname>Vorname</firstname>
<surname>Nachname</surname>
<affiliation>
<address><email>E-Mail-Adresse</email></address>
</affiliation>
</author>
<copyright>
<year>1998</year>
<holder role="mailto:E-Mail-Adresse">Vollständiger Name</holder>
</copyright>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>Kurze Zusammenfassung des Artikelinhalts.</para>
</abstract>
</articleinfo>
…
</article>KapitelKapitel werden mit dem
chapter-Element angelegt und müssen ein
title-Element enthalten. Verwendet werden
können sie nur in Büchern.Ein einfaches KapitelKapitelüberschrift
…
]]>Kapitel können nicht leer sein. Nebem einem
title-Element müssen sie weiteren Inhalt
beinhalten. Falls ein leeres Kapitel benötig wird, kann dies
durch das Einfügen eines leeren Absatzes
(para) erreicht werden.Ein leeres KapitelDas ist ein leeres Kapitel
]]>UnterkapitelBücher werden auf der obersten Gliederungsebene
durch chapter-Elemente in Kapitel
unterteilt. Eine weitergehende Untergliederung kann durch
das Anlegen von Unterkapiteln erreicht werden. Im Gegensatz
zu Kapiteln, die durch chapter-Elemente
ausgezeichnet werden, erfolgt die Auszeichnung von
Unterkapitel mit dem Element
sectn. Das
n in Elementnamen trifft eine
Aussage über die Gliederungstiefe, auf der sich das
Unterkapitel befindet. Ein sect1-Element
kann mehrere Elemente vom Typ sect2
enthalten, die die Unterkapitel der
nächsten Gliederungsebene darstellen.
sect5 ist das letzte Element, das auf
diese Art zur Gliederung eingesetzt werden kann.UnterkapitelEin BeispielkapitelEin beliebiger Text.Erster Abschnitt (1.1)
…
Zweiter Abschnitt (1.2)Erster Unterabschnitt (1.2.1)Erster Unterunterabschnitt (1.2.1.1)
…
Zweiter Unterabschnitt (1.2.2)
…
]]>Die Unterkapitel dieses Beispiels wurden zu
Demonstrationszwecken manuell durchnummeriert. In
normalen Dokumenten wird diese Aufgabe von
den Stylesheets übernommen.Bücher mittels part
unterteilenIn den Fällen, in denen die Unteilung eines Buches in
Kapitel nicht ausreichend ist, können mehrere
Kapitel mit dem Element part zu
einem Teil zusammengefasst werden.EinführungÜberblick
…
Was ist FreeBSD?
…
Die Geschichte von FreeBSD
…
]]>BlockelementeAbsätzeDocBook kennt drei Arten von Absätzen: Absätze
mit Überschrift (formalpara),
normale Absätze (para) und einfache
Absätze (simpara).Normale Absätze und einfache Absätze
- unterscheiden sich dadurch, daß innerhalb von
+ unterscheiden sich dadurch, dass innerhalb von
para Blockelemente erlaubt sind,
innerhalb von simpara hingegen nicht. Es
ist empfehlenswert, para den Vorzug
zu geben.Absatz mit paraDas ist ein Absatz. Absätze können fast jedes andere
Element aufnehmen.]]>Darstellung:Das ist ein Absatz. Absätze können fast jedes andere
Element aufnehmen.BlockzitateBlockzitate sind textlich umfangreichere Zitate aus
einem anderen Text, die nicht innerhalb des aktuellen
Absatzes angezeigt werden sollen. Wahlweise können
Blockzitate eine Überschrift haben und die Zitatquelle
nennen.blockquoteEin Auszug aus dem Grundgesetz:
Menschenwürde; Grundrechtsbindung der staatlichen GewaltAus dem GrundgesetzDie Würde des Menschen ist unantastbar. Sie zu achten
und zu schützen ist Verpflichtung aller staatlichen
Gewalten.Das Deutsche Volk bekennt sich darum zu unverletzlichen
und unveräußerlichen Menschenrechten als Grundlage jeder
menschlichen Gemeinschaft, des Friedens und der
Gerechtigkeit in der Welt.Die nachfolgenden Grundrechte binden Gesetzgebung,
vollziehende Gewalt und Rechtsprechung als
unmittelbar geltendes Recht.
]]>Darstellung:
Menschenwürde; Grundrechtsbindung der
staatlichen GewaltAus dem GrundgesetzDie Würde des Menschen ist unantastbar. Sie
zu achten und zu schützen ist Verpflichtung
aller staatlichen Gewalten.Das Deutsche Volk bekennt sich darum zu
unverletzlichen und unveräußerlichen
Menschenrechten als Grundlage jeder menschlichen
Gemeinschaft, des Friedens und der Gerechtigkeit in
der Welt.Die nachfolgenden Grundrechte binden
Gesetzgebung, vollziehende Gewalt und Rechtsprechung
als unmittelbar geltendes Recht.
Tipps, Anmerkungen, Warnungen, wichtige Informationen
und RandbemerkungenIn bestimmten Fällen kann es nützlich sein,
dem Leser zusätzliche Informationen zu geben, die sich
vom Haupttext abheben, damit der Leser sie besser wahrnimmt.
Abhängig von der Art der Information, können
solche Stellen mit einem der Elemente tip
(für Tipps), note (für
Anmerkungen), warning (für
Warnungen), caution (für besonders
ernstzunehmende Warnungen) und important
(für wichtige Anmerkungen) ausgezeichnet werden. Trifft
keines dieser Element für die auszuzeichnende Stelle
zu, sollte diese mit dem Element sidebar
ausgezeichnet werden.Da die richtige Einordnung einer auszuzeichnenden
Textstelle nicht immer leicht zu treffen ist, werden in der
DocBook-Dokumentation folgende Empfehlungen gegeben:Eine Anmerkung (note) ist eine
Information, die von jedem Leser beachtet werden
sollte.Eine wichtige Anmerkung
(important) eine Variation einer
Anmerkung.Eine Warnung (warning)
betrifft einen möglichen Hardwareschaden
oder weist auf eine Gefahr für Leib und Leben
hin.Eine besonders ernstzunehmende Warnung
(caution) betrifft einen möglichen
Datenverlust oder Softwareschaden.warningWenn Sie FreeBSD auf Ihrer Festplatte installieren,
kann es sein, daß Sie Windows nie mehr benutzen wollen.
]]>Wenn Sie FreeBSD auf Ihrer Festplatte installieren,
- kann es sein, daß Sie Windows nie mehr benutzen wollen.
+ kann es sein, dass Sie Windows nie mehr benutzen wollen.
Listen und HandlungsanweisungenListen sind ein oft gebrauchtes Hilfsmittel, wenn es
darum geht, Informationen für den Benutzer
übersichtlich darzustellen oder eine Abfolge von
Arbeitsschritten zu beschreiben, die notwendig sind, um ein
bestimmtes Ziel zu erreichen. Zur Auszeichnung von Listen
stellt DocBook die Elemente itemizedlist,
orderedlist und
procedure zur Verfügung.DocBook kennt noch andere Elemente für die
Auszeichnung von Listen, die an dieser Stelle jedoch
nicht behandelt werden..itemizedlist und
orderedlist ähneln sehr stark ihren
HTML-Gegenstücken ul und
ol. Beide Listenarten müssen
mindestens ein Element listitem
enthalten. Das listitem Element
muss mindestens ein weiteres Blockelement
enthalten.procedure unterscheidet sich ein
wenig von den vorhergehenden. Es enthält
step-Elemente, die wiederum
step- oder
substel-Elemente enthalten können.
Ein step-Element kann nur Blockelemente
aufnehmen.itemizedlist,
orderedlist und
procedureDas ist das erste Listenelement.Das ist das zweite Listenelement.Das ist das erste Aufzählungselement.Das ist das zweite Aufzählungselement.Machen Sie zuerst dies.Und dann machen Sie das..Und jetzt noch das…]]>Darstellung:Das ist das erste Listenelement.Das ist das zweite Listenelement.Das ist das erste Aufzählungselement.Das ist das zweite Aufzählungselement.Machen Sie zuerst dies.Und dann machen Sie das..Und jetzt noch das…Dateiinhalte auszeichnenTechnische Dokumente enthalten oft auch
Konfigurationsbeispiele oder Quellcodeschnipsel. Zur
Auszeichnung dieser Inhalte, stellt Docbook das Element
programmlisting zur Verfügung. Im
Gegensatz zu anderen DocBook-Elementen wird der
Elementinhalt von programmlistingnicht normalisiert, das heißt,
- daß alle Leerzeichen, Tabulatoren und
+ dass alle Leerzeichen, Tabulatoren und
Zeilenumbrüche unverändert übernommen werden.
- Aus diesem Grund ist es unter anderem wichtig, daß
+ Aus diesem Grund ist es unter anderem wichtig, dass
sich der öffende Tag in der selben Zeile wie der Anfang
des darzustellenden Textes befindet. Gleiches gilt für
den schließenden Tag: Er muss sich am Ende der
letzten Zeile befinden. Wird das nicht beachtet, kann es
- sein, daß unerwartete Leerzeichen und Leerzeilen in
+ sein, dass unerwartete Leerzeichen und Leerzeilen in
der Ausgabe auftauchen.programlistingAm Ende sollte Ihr Programm wie folgt
aussehen:
#include <stdio.h>
int
main(void)
{
printf("Hallo Welt!\n");
}]]>Die spitzen Klammern der
#include-Anweisung können nicht direkt
verwendet werden, sondern müssen über ihre Entitäten
eingebunden werden.Darstellung:Am Ende sollte Ihr Programm wie folgt aussehen:#include <stdio.h>
int
main(void)
{
printf("Hallo Welt!\n");
}TextanmerkungenTextanmerkungen
auf Englisch:
callout
sind ein Mechanismus, um auf bestimmte Stellen in einem
vorhergehenden Beispiel oder Text zu verweisen.Um solche Verweise anzulegen, müssen die betreffenden
Stellen in den Beispielen
(programlisting,
literallayout, …) mit
co-Elementen markiert werden, wobei jedes
Element ein eindeutiges id-Attribut
besitzen muss. Anschließend sollte ein
calloutlist-Element eingefügt werden,
dessen Elemente sich auf die co-Elemente
des Beispiels beziehen und die jeweiligen Anmerkungen
enthalten.Das co- und das
calloutlist-ElementAm Ende sollte Ihr Programm wie folgt
aussehen:
#include <stdio.h>
int
main(void)
{
printf("Hallo Welt\n");
}Bindet die Headerdatei stdio.h ein.Bestimmt den Typ des Rückgabewertes von main().Ruft die Funktion printf() auf, die
Hallo Welt! auf der Standardausgabe ausgibt]]>Darstellung:Am Ende sollte Ihr Programm wie folgt aussehen:#include <stdio.h>
int
main(void)
{
printf("Hallo Welt\n");
}Bindet die Headerdatei stdio.h ein.Bestimmt den Typ des Rückgabewertes von main().Ruft die Funktion printf() auf, die
Hallo Welt! auf der Standardausgabe ausgibtTabellenIm Gegensatz zu HTML ist es nicht notwendig, Tabellen zu
Layoutzwecken einzusetzen, da die Layoutaufgabe von den
Stylesheets übernommen wird. Stattdessen sollten Tabellen
nur für die Auszeichnung von Daten in Tabellenform genutzt
werden.Vereinfacht betrachtet (für Details sollte die
DocBook-Dokumentation zu Rate gezogen werden) besteht eine
Tabelle, die entweder als formelle oder als informelle
Tabelle angelegt werden kann, aus einem
table-Element. Dieses Element selbst
beinhaltet mindestens ein Element tgroup,
das über ein Attribut die Spaltenanzahl der Tabelle
bestimmt. Innerhalb des Elementes tgroup
kann sich ein Element thead mit den
Spaltenüberschriften und ein Element
tbody mit dem eigentlichen Tabelleninhalt
befinden. Beide Elemente beinhalten
row-Elemente, die wiederum
entry-Elemente beinhalten. Jedes
entry-Element stellt eine einzelne
Tabellenzelle dar.Tabellen mittels informaltable
auszeichnenSpaltenüberschrift 1Spaltenüberschrift 2Zeile 1, Spalte 1Zeile 1, Spalte 2Zeile 2, Spalte 1Zeile 2, Spalte 2
]]>Darstellung:Spaltenüberschrift 1Spaltenüberschrift 2Zeile 1, Spalte 1Zeile 1, Spalte 2Zeile 2, Spalte 1Zeile 2, Spalte 2Verwenden Sie stets das Attribut pgwide
mit dem Wert 1, wenn Sie das Element
informaltable benutzen. Ein Bug des
Internet Explorers verhindert ansonsten die korrekte
Darstellung dieser Tabellen.Soll die Tabelle keinen Rand haben, kann das Attribut
frame mit dem Wert
none dem Element
informaltable hinzugefügt werden
(<informaltable frame="none">)).Tabelle mit Attribut
frame="none"Darstellung:Spaltenüberschrift 1Spaltenüberschrift 2Zeile 1, Spalte 1Zeile 1, Spalte 2Zeile 2, Spalte 1Zeile 2, Spalte 2Beispiele für den LeserOft gilt es, für dem Benutzer Beispiele
zu geben, die er dann selber nachvollziehen soll. Meist
handelt es sich dabei um interaktive Dialoge zwischen Mensch
und Maschine: Der Benutzer gibt einen Befehl ein und
erhält eine Antwort vom System. Ein Satz
von speziellen Elementen und Entitäten unterstützt
den Autor bei der Auszeichnung solcher Textstellen:screenGedacht zur Auszeichnung von Bildschirminhalten.
Im Unterschied zu anderen Elementen werden Leerzeichen
innerhalb des Elementes screen
unverändert übernommen.prompt,
&prompt.root; und
&prompt.user;Eingabeaufforderungen des Rechners
(Betriebssysten, Shell oder Anwendung) sind ein häufig
auftretender Teil dessen, was der Benutzer auf dem
Bildschirm zu sehen bekommt. Sie sollten mit
prompt ausgezeichnet werden.Ein Spezialfall sind die beiden
Eingabeaufforderungen der Shell für normale
Benutzer und den Superuser root.
Jedesmal wenn auf eine von diesen beiden Nutzerrollen
hingewiesen werden soll, sollte entweder
&prompt.root; oder
&prompt.user; eingesetzt
werden. Beide Entitäten können auch
außerhalb von screen
verwendet werden.&prompt.root; und
&prompt.user; sind
FreeBSD-spezifische Erweiterungen der DocBook DTD
und nicht in der originalen DocBook DTD
enthalten.userinputDas Element userinput ist
für die Auszeichnung von Benutzereingaben
gedacht.screen, prompt
und userinput&prompt.user; ls -1
foo1
foo2
foo3
&prompt.user; ls -1 | grep foo2
foo2
&prompt.user; suPassword:
&prompt.root; cat foo2
This is the file called 'foo2']]>Darstellung:&prompt.user; ls -1
foo1
foo2
foo3
&prompt.user; ls -1 | grep foo2
foo2
&prompt.user; suPassword:
&prompt.root; cat foo2
This is the file called 'foo2'Obgleich der Inhalt der Datei
foo2 in dem obigen Beispiel angezeigt
wird, sollte dieser nicht mit
programlisting ausgezeichnet werden.
Vielmehr sollte programlisting einzig
und allein für die Darstellung von Dateifragmenten
außerhalb von Benutzeraktionen gewählt
werden.FlußelementeHervorhebungenWenn es darum geht bestimmte Wörter oder Textstellen
hervorzuheben, sollte dafür das Element
emphasis verwendet werden. Das so
ausgezeichnete Text wird dann kursiv oder fett dargestellt;
im Falle einer Sprachausgabe würde es anders betont
werden.Im Gegensatz zu den HTML mit seinen Elementen
b und i, kennt DocBook
keinen Weg, um diese Darstellung zu
ändernAnmerkung des
Übersetzers: Hier sollte man sich noch einmal ins
- Gedächtnis rufen, daß mittels der DocBook DTD nur
+ Gedächtnis rufen, dass mittels der DocBook DTD nur
Inhalte ausgezeichnet werden und nicht das Layout
bestimmt wird.. Handelt es sich bei
dem darzustellenden um eine wichtige Information, kann
alternativ important verwendet
werden.Das Element emphasisFreeBSD ist zweifelslos das führende
Unix-artige Bestriebssystem für die Intel-Plattform.]]>Darstellung:FreeBSD ist zweifelslos das führende
Unix-artige Bestriebssystem für die Intel-Plattform.ZitateUm einen Auszug aus einer anderen Quelle zu zitieren
- oder kenntlich zu machen, daß eine bestimmte Wendung
+ oder kenntlich zu machen, dass eine bestimmte Wendung
im übertragenen Sinne zu verstehen ist, kann der
betreffende Text mit Hilfe des Elementes
quote ausgezeichnet werden. Innerhalb von
quote können die meisten der
normalerweise zur Verfügung stehenden Elemente genutzt
werden.Richtig zitieren
- Es sollte immer sichergestellt werden, daß die Suche die Grenzen
+ Es sollte immer sichergestellt werden, dass die Suche die Grenzen
zwischen lokaler und öffentlicher Administration
(RFC 1535) einhält.]]>Darstellung:Es sollte immer sichergestellt werden, das die Suche
die Grenzen zwischen lokaler und öffentlicher
Administration (RFC 1535) einhält.Tasten, Maustasten und TastenkombinationenDas Element keycap beschreibt
eine bestimmte Taste der Tastatur.
Für die Auszeichnung von Maustasten
steht analog das Element mousebutton zur
Verfügung. Mit Hilfe von keycombo
können beliebige Tasten- und Maustastenkombinationen
beschrieben werden.Das Element keycombo besitzt ein
Attribut action, dem einer der Werte
click, double-click,
other, press,
seq oder simul
zugewiesen werden kann. Die letzten beiden Werte deuten an,
- daß die genannte Kombination nacheinander oder
+ dass die genannte Kombination nacheinander oder
gleichzeitig gedrückt werden soll. Die Stylesheets
fügen zwischen die einzelnen Unterelemente von
keycombo+-Zeichen
ein.Tasten, Maustasten und TastenkombinationenDiese Eingaben zeichnen Sie wie folgt aus:Mit der Tastenkombination AltF1 kann auf die zweite virtuelle Konsole
umgeschaltet werden.
Um vi zu beenden, ohne die Änderungen zu
speichern, muss Esc:q! eingegeben werden.
-Der Fenstermanager ist so konfiguriert, daß mittels
+Der Fenstermanager ist so konfiguriert, dass mittels
Altrechter Maustaste
Fenster verschoben werden können.]]>Darstellung:Mit der Tastenkombination AltF1 kann auf die zweite
virtuelle Konsole umgeschaltet werden.Um vi zu beenden, ohne die
Änderungen zu speichern, muss Esc:q! eingegeben werden.
- Der Fenstermanager ist so konfiguriert, daß mittels
+ Der Fenstermanager ist so konfiguriert, dass mittels
Altrechter Maustaste
Fenster verschoben werden können.Anwendungen, Befehle, Optionen und HilfeseitenOft besteht die Notwendigkeit auf bestimmte Anwendungen
und Befehle zu verweisen. Der Unterschied zwischen einer
- Anwendung und einem Befehl liegt darin, daß eine
+ Anwendung und einem Befehl liegt darin, dass eine
Anwendung ein einzelnes oder eine Gruppe von Programmen ist,
mit denen eine bestimmte Aufgabe erledigt werden kann. Ein
- Befehl hingegen ist der Name eines Programmes, daß der
+ Befehl hingegen ist der Name eines Programmes, dass der
Benutzer aufrufen kannDer Befehl
mozilla startet das Programm
mozilla..
- Desweiteren kann es auch vorkommen, daß die
+ Desweiteren kann es auch vorkommen, dass die
von einem Programm (in einem bestimmten Fall)
akzeptierten Optionen genannt werden müssen.Schlußendlich ist es oft gewünscht, zu einem
Befehl dessen Abschnitt der Manualseiten im
Unix-üblichen Stil Befehl(Zahl)
anzugeben.Anwendungsnamen können mit application
ausgezeichnet werden.Befehle können zusammen mit der betreffenden
Hilfeseite über das DocBook-Element
citerefentry ausgezeichnet werden.
citerefentry muss zwei weitere
Elemente enthalten: refentrytitle,
für den Befehlsnamen, und manvolnum,
für die Kategorie der Hilfeseite.Diese Art auf Befehle zu verweisen kann sehr
ermüdent sein. Daher gibt es einen Satz von
Allgemeinen
Entitäten, der diese Arbeit erleichtert. Er
ist in der Datei
doc/share/sgml/man-refs.ent enhalten
und kann über den folgenden Bezeichner eingebunden
werden:PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"Jede Entität in dieser Datei ist wie folgt aufgebaut:
&man.Hilfeseite.Kategorie;.Der Anfang eines Dokumentes, das diese Entitäten
einbindet, könnte so aussehen:<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man; … ]>Um Befehle innerhalb des Fließtextes auszuzeichen,
kann das Element command genutzt werden.
Die Optionen eines Befehles können mit Hilfe von
option ausgezeichnet werden.Wenn man sich mehrmals hintereinander auf den gleichen
Befehl bezieht, sollte man beim ersten Auftreten die Notation
&man.command.section;
verwenden. Für alle folgenden Referenzen sollte hingegen
command verwendet werden. Dadurch
verbessert sich das Erscheinungsbild, insbesondere von HTML,
deutlich.Die Unterscheidung zwischen command
und application kann schwer sein, und
manchmal ist die Entscheidung, welches Element das richtige
ist, nicht leicht. Das folgende Beispiel soll diese
Unterscheidung erleichtern.Anwendungen, Befehle und OptionenSendmail ist der verbreitetste
UNIX-Mailserver.Sendmail besteht aus den Programmen
sendmail8, &man.mailq.8;, und &man.newaliases.8;.Mittels der Option kann
sendmail8 den Status der Mailwarteschlange ausgeben.
Der Status der Mailwarteschlange kann durch den Befehl
sendmail -bp überprüft werden.]]>
Darstellung:Sendmail ist der
verbreitetste UNIX-Mailserver.Sendmail besteht aus den
Programmen
sendmail8,
mailq8 und
newaliases8.Mittels der Option kann
sendmail8 den Status der Mailwarteschlange ausgeben.
Der Status der Mailwarteschlange kann durch den Befehl
sendmail -bp überprüft
werden.Die Schreibweise
&man.Hilfeseite.Kategorie;
ist leichter lesbar.Dateien, Verzeichnisse und ErweiterungenImmer wenn in einem Text der Name einer Datei, eines
Verzeichnisses oder eine Dateierweiterung vorkommt, sollte
die betreffende Stelle mit dem Element
filename ausgezeichnet werden.Das Element filenameDie SGML-Quellen des
englischen Handbuches befinden sich im Verzeichnis
/usr/doc/en/handbook/. In
diesem Verzeichnis befindet sich eine Datei
handbook.sgml. Desweiteren sollte
sich eine Datei mit dem Namen
Makefile zusammen mit mehreren
Dateien mit der Endung .ent in diesem
Verzeichnis befinden.]]>Darstellung:Die SGML-Quellen des englischen Handbuches befinden
sich im Verzeichnis
/usr/doc/en/handbook/. In diesem
Verzeichnis befindet sich eine Datei
handbook.sgml. Desweiteren sollte
sich eine Datei mit dem Namen
Makefile zusammen mit mehreren
Dateien mit der Endung .ent in diesem
Verzeichnis befinden.PortnamenFreeBSD-ErweiterungDie hier genannten Elemente sind Bestandteil der
FreeBSD-Erweiterung für DocBook und sind nicht in der
originalen DocBook DTD enthalten.An einigen Stellen ist es notwendig, den Namen eines
Ports aus FreeBSDs Portssammlung in Dokumenten zu verwenden.
In diesem Fall sollte ebenfalls das Element
filename eingesetzt werden, dabei aber
dem Element das Attribut role mit dem
Wert package zugewiesen werden. Da die
Portssammlung an jeder beliebigen Stelle im Dateisystem
installiert werden kann, sollte filename
nur die Kategorie und den Namen des Ports enthalten, aber
nicht das Verzeichnis
/usr/ports.Portsnamen und das Element filenameWenn Sie Ihr Netz und dessen Datenverkehr analysieren
möchten, dann installieren Sie bitte den Port net/ethereal.]]>Darstellung:Wenn Sie Ihr Netz und dessen Datenverkehr analysieren
möchten, dann installieren Sie bitte den Port net/ethereal.Gerätedateien unterhalb von
/devFreeBSD-ErweiterungDie hier genannten Elemente sind Bestandteil der
FreeBSD-Erweiterung für DocBook und sind nicht in der
originalen DocBook DTD enthalten.Wird in einem Dokument Bezug auf Gerätedateien
unterhalb von dev
genommen, dann gibt es zwei Möglichkeiten diese
auszuzeichnen. Zum einen kann man sich auf das Gerät
beziehen, so wie es unter /dev zu
finden ist, und zum anderen kann man sich auf den
Gerätenamen beziehen, wie es innerhalb des Kerns
verwendet wird. Für letztere Möglichkeit sollte
das Element devicename genutzt
werden.Allerdings besteht nicht immer diese
Wahlmöglichkeit. Einige Geräte, wie zum Beispiel
Netzwerkkartenm haben keinen Eintrag unter
/dev oder werden anders
dargestellt.Gerätenamen per devicename
auszeichnenUnter FreeBSD wird die serielle Datenübertragung über
sio abgewickelt, das unterhalb von
/dev eine Reihe von Einträgen anlegt.
Zu diesen Einträgen behören beispielsweise
/dev/ttyd0 und
/dev/cuaa0.
Andererseits erscheinen Geräte wie beispielsweise
ed0 nicht unterhalb von
/dev.Unter MS-DOS wird das erste Diskettelaufwerk als
a: bezeichnet. FreeBSD
bezeichnet es als /dev/fd0.]]>Darstellung:Unter FreeBSD wird die serielle Datenübertragung
über sio abgewickelt, das
unterhalb von /dev eine Reihe von
Einträgen anlegt. Zu diesen Einträgen
behören beispielsweise
/dev/ttyd0 und
/dev/cuaa0.Andererseits erscheinen Geräte wie beispielsweise
ed0 nicht unterhalb von
/dev.
Unter MS-DOS wird das erste Diskettelaufwerk als
a: bezeichnet. FreeBSD bezeichnet
es als /dev/fd0.Rechner, Domains, IP-Adressen und mehrFreeBSD-ErweiterungDie hier genannten Elemente sind Bestandteil der
FreeBSD-Erweiterung für DocBook und sind nicht in der
originalen DocBook DTD enthalten.Bezeichner für Rechner können in Abhängigkeit
der Bezeichnungsweise auf verschiedene Art und Weise
- ausgezeichnet werden. Gemeinsam ist allen, daß sie
+ ausgezeichnet werden. Gemeinsam ist allen, dass sie
das Element hostid benutzen. Über das
Attribut role wird die Art des Bezeichners
genauer bestimmt.Kein Rollenattribut oder
role="hostname"Ohne Rollenattribut stellt der umschlossene Text
einen normlen Rechnernamen wie
freefall oder
wcarchive dar. Wenn es
gewünscht ist, kann mittels
role="hostname" explizit angegeben
- werden, daß es sich um einen Rechnernamen
+ werden, dass es sich um einen Rechnernamen
handelt.role="domainname"Ein Domainname wie FreeBSD.org
oder ngo.org.uk. Er enthält keinen
Rechnernamen.role="fqdn"Vollqualifizierter Domainname wie
www.FreeBSD.org. Enthält sowohl
einen Domainnamen als auch einen Rechnernamen.role="ipaddr"Eine IP-Adresse, meistens als durch Doppelpunkte
getrenntes Tupel von vier Zahlen dargestellt.role="ip6addr"Eine IPv6-Adresse.role="netmask"Eine Netzwerkmaske, dargestellt als ein durch
Doppelpunkte getrenntes Vierzahlentupel, einer Hexzahl
oder als ein /, dem eine Zahl
folgt.role="mac"Eine MAC-Adresse, dargestellt durch zweistellige
Hexzahlen, die durch Doppelpunkte getrennt
sind.role und
hostidDer lokale Rechner kann immer über den Namen
localhost angesprochen werden, dem immer
die IP-Adresse
127.0.0.1 zugeordnet ist.
Zur Domain FreeBSD.org
gehören verschiedene Rechner, inklusive freefall.FreeBSD.org und bento.FreeBSD.org.Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet wird,
was mit der Hilfe von ifconfig geschieht,
sollte immer die Netzmaske
255.255.255.255, die auch
hexadezimal als 0xffffffff
abgegeben werden kann, benutzt werden.Die MAC-Adresse ist für jede existierende Netzwerkkarte
auf der Welt eindeutig. Eine typische MAC-Adresse ist
beispielsweise 08:00:20:87:ef:d0.]]>Darstellung:Der lokale Rechner kann immer über den Namen
localhost angesprochen werden, dem immer
die IP-Adresse 127.0.0.1
zugeordnet ist.Zur Domain FreeBSD.org gehören
verschieden Rechner, inklusive freefall.FreeBSD.org und bento.FreeBSD.org.Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet
wird, was mit der Hilfe von ifconfig
geschieht, sollte immer die Netzmaske
255.255.255.255, die auch
hexadezimal als 0xffffffff
abgegeben werden kann, benutzt werden.Die MAC-Adresse ist für jede existierende
Netzwerkkarte auf der Welt eindeutig. Eine typische
MAC-Adresse ist beispielsweise 08:00:20:87:ef:d0.BenutzernamenFreeBSD-ErweiterungDie hier genannten Elemente sind Bestandteil der
FreeBSD-Erweiterung für DocBook und sind nicht in der
originalen DocBook DTD enthalten.Namen von Benutzern, wie
root oder bib,
können mit dem Element username
ausgezeichnet werden.Das Element usernameFür die meisten Administrationsaufgaben müssen
Sie als root angemeldet sein.]]>Darstellung:Für die meisten Administrationsaufgaben müssen Sie als
root angemeldet sein.Beschreibung von MakefilesFreeBSD-ErweiterungDie hier genannten Elemente sind Bestandteil der
FreeBSD-Erweiterung für DocBook und sind nicht in der
originalen DocBook DTD enthalten.Zur Beschreibung von Teilen einer Makedatei stehen die
beiden Elemente marketarget und
makevar zur Verfügung.
maketarget bezeichnet ein Ziel eines
Makefiles, das als Parameter beim
Aufruf von make angegeben werden kann.
makevar hingegen bezeichnet eine
Variable, die entweder in einem
Makefile definiert oder
make auf der Befehlszeile übergeben
werden kann, um so den Bauprozess zu beeinflussen.maketarget und
makevarZwei übliche Ziele in einem Makefile
sind all und
clean.
Üblicherweise wird, wenn das Ziel all
aufgerufen wird, die gesamte Anwendung neu erstellt. Der Aufruf
des Zieles clean veranlaßt das
Löschen aller temporären Dateien (zum Beispiel
.o), die während der Übersetzung erzeugt
wurden.Das genaue Verhalten von clean
kann von einer Reihe von Variablen beeinflußt werden.
Stellvertretend seien hier CLOBBER und
RECURSE genannt.]]>Darstellung:Zwei übliche Ziele in einem
Makefile sind
all und
clean.Üblicherweise wird, wenn das Ziel
all aufgerufen wird, die gesamte
Anwendung neu erstellt. Der Aufruf des Zieles
clean veranlaßt das
Löschen aller temporären Dateien (zum Beispiel
.o), die während der
Übersetzung erzeugt wurden.Das genaue Verhalten von
clean kann von einer Reihe von
Variablen beeinflußt werden. Stellvertretend seien
hier CLOBBER und
RECURSE genannt.Text buchstabengetreu übernehmenFür das Handbuch ist es oft notwendig, Textausschnitte
buchstabengetreu darzustellen. Hierbei kann es sich um Texte
handeln, die aus einer anderen Datei stammen oder die der
Leser eins-zu-eins aus dem Handbuch kopieren können
soll.In einigen Fällen ist zu diesem Zwecke
programlisting ausreichend, jedoch nicht
immer. So ist programlisting zum Beispiel
nicht einsetzbar, wenn es darum geht einen Auszug aus einer
Datei innerhalb eines Absatzes einzufügen. In solchen Fällen
sollte das Element literal zum Einsatz
kommen.literalDie Zeile maxusers 10 in der
Kernelkonfigurationsdatei beeinflußt die Größe vieler
Systemtabellen und kann als ungefähr als Richtwert dafür
gelten, wie viele paralle Anmeldungen das System handhaben
kann.]]>Darstellung:Die Zeile maxusers 10 in der
Kernelkonfigurationsdatei beeinflußt die Größe vieler
Systemtabellen und kann als ungefähr als Richtwert dafür
gelten, wie viele paralle Anmeldungen das System handhaben
kann.Benutzerspezifische Eingaben darstellen
- Es kommt oft vor, daß der Leser Beispiele,
+ Es kommt oft vor, dass der Leser Beispiele,
Dateinamen oder Kommandozeilen verändern muss.
Für einen solchen Anwendungsfall
ist das Element replaceable gedacht. Es
kann innerhalb von anderen Elementen
genutzt werden, um die Teile auszuzeichnen, die es zu
ersetzen gilt.Das Element replaceable&prompt.user; man command
]]>Darstellung:&prompt.user; man command
- Dieses Beispiel zeigt, daß nur der Text mit
+ Dieses Beispiel zeigt, dass nur der Text mit
replaceable umschlossen werden soll,
den der Benutzer einzusetzen hat. Sämtlicher anderer
Text sollte wie üblich ausgezeichnet werden.Die Zeile
maxusers n
in der Kernelkonfigurationsdatei bestimmt die Größe vieler Systemtabellen
und stellt einen groben Richtwert dafür dar, wie viele gleichzeitige Anmeldungen
das System unterstützt.Für einen Arbeitsplatzrechner stellt 32 einen guten
Wert für n dar.]]>
Darstellung:Die Zeile maxusers
n in der
Kernelkonfigurationsdatei bestimmt die Größe
vieler Systemtabellen und stellt einen groben Richtwert
dafür dar, wie viele gleichzeitige Anmeldungen das
System unterstützt.Für einen Arbeitsplatzrechner stellt
32 einen guten Wert für
n dar.Fehlermeldungen des Systems darstellenIn manchen Fällen kann es nötig sein,
Fehlermeldungen darzustellen, die von FreeBSD erzeugt werden
können. Für solche Fälle ist das Element
errorname vorgesehen.Das Element errornamePanic: cannot mount root ]]>Darstellung:Panic: cannot mount rootBilder und GrafikenDie Verwendung von Grafiken innerhalb der Dokumentation
ist momentan noch in einem experimentellen Stadium. Es ist
- daher wahrscheinlich, daß sich die hier beschriebenen
+ daher wahrscheinlich, dass sich die hier beschriebenen
Mechanismen noch ändern werden.Für die Verwendung von Grafiken ist es notwendig,
den Port graphics/ImageMagick
zusätzlich zu installieren, da er
nicht vom Port textproc/docproj mitinstalliert
wird.Das beste Beispiel für den Einsatz von Grafiken ist
der unter
doc/en_US.ISO8859-1/articles/vm-design/
zu findene Artikel Design elements of the FreeBSD VM
system. Falls beim Lesen der folgenden Kapitel
Fragen unbeantwortet oder unklar bleiben, empfiehlt es sich,
die unter dem genannten Verzeichnis befindlichen Dateien zu
studieren und anhand ihrer zu verstehen, wie alles
zusammenhängt. Es empfiehlt sich, den Artikel in
verschiedenen Ausgabeformaten zu erzeugen, da man so sehen
kann, wie die Grafiken in Abhängigkeit vom
Ausgabemedium angeordnet werden.Unterstütze GrafikformateZur Zeit werden nur zwei Grafikformate unterstützt.
Welches von beiden Formaten zum Einsatz kommen sollte,
hängt von der Art der Grafik ab.Für Bilder, die vorrangig Vektorelemente wie
Netzwerkdiagramme, Zeitlinien und ähnliches beinhalten,
sollte Encapsulated Postscript als Format gewählt
- werden. Wichtig ist es in diesem Fall, daß die
+ werden. Wichtig ist es in diesem Fall, dass die
Grafikdatei die Endung .eps hat.
Für Bitmapgrafiken, wie zum Beispiel Bildschirmfotos,
steht das Portable Network Grafic Format zur
Verfügung. In diesem Fall, sollte die Grafikdatei immer
die Endung .png haben.In das CVS-Archiv sollten nur
Grafiken in diesen beiden Formaten übernommen
werden.Es sollte darauf sehr darauf geachtet werden, das
richtige Format für das richtige Bild zu wählen.
Erwartungsgemäß wird es Dokumente geben, die eine
Mischung aus PNG- und EPS-Grafiken enthalten. In solchen
Fällen, stellen die Makedateien die Verwendung des
richtigen Formats in Abhängigkeit vom Ausgabeformat
sicher. Deshalb sollte die gleiche Grafik niemals
in zwei unterschiedlichen Formaten in das CVS-Archiv
übernommen werden.
- Es ist absehbar, daß das Dokumentationsprojekt
+ Es ist absehbar, dass das Dokumentationsprojekt
in Zukunft das Scalable Vector Graphic-Format (SVG) als
Standardformat für Vektorgrafiken übernehmen
wird. Zum jetzigen Zeitpunkt ist dieser Wechsel noch nicht
möglich, da der Stand der jetzigen SVG-Anwendungen
noch nicht den dafür notwendigen Erfordernissen
entspricht.DocBook-Elemente für den GrafikeinsatzDas Auszeichnen von Bildern mittels DocBook ist relativ
einfach. Zuerst wird ein
mediaobject-Element eingefügt, das
als Container für medienspezifische Elemente fungieren
kann. Für die Zwecke des FDPs sind das die Elemente
imageobject und
textobject.In das mediaobject-Element sollten
ein Element vom Typ imageobject und zwei
textobject-Elemente eingefügt
werden. Das imageobject-Element verweist
auf die eigentliche Grafikdatei. Dabei ist allerdings nur
der Dateipfad ohne Erweiterung anzugegeben. Die
textobject-Elemente werden dafür
genutzt, Texte aufzunehmen, die dem Leser anstelle des
Bildes oder zusammen mit dem Bild angezeigt werden.Dies kann unter zwei Umständen geschehen:Wenn ein Dokument als HTML-Datei durch einem Browser
angezeigt wird. In diesem Falle muss jeder Grafik
ein Alternativtext zugeordnet werden, der dem Leser
angezeigt werden kann. Meist ist das notwendig, wenn der
Browser die Grafik noch nicht geladen hat oder wenn der
Benutzer den Mauszeiger über die Grafik
führt.Wenn das Dokument als Textdatei gelesen wird. Da in
einer Textdatei keine Grafiken angezeigt werden können,
sollte es für die Grafik eine Textentsprechung geben,
die alternativ angezeigt werden kann.Das folgende Beispiel soll das bisher geschriebene
illustrieren. Angenommen es liegt eine einzubindene Grafik
in der Datei bild1 vor, die die
Darstellung eines As in einem Rechteck enthält. Die
ASCII-Alternative könnte so ausgezeichnet werden:<mediaobject>
<imageobject>
<imagedata fileref="bild1">
</imageobject>
<textobject>
<literallayout class="monospaced">+ - - - - - - - - - - - - - - -+
| A |
+- - - - - - - - - - - - - - -+</literallayout>
</textobject>
<textobject>
<phrase>Ein Bild</phrase>
</textobject>
</mediaobject>Innerhalb vom Element imageobject
befindet sich ein Element imagedata,
welches mit Hilfe des Attributes
fileref den Namen der Grafikdatei
(ohne Erweiterung) angibt. Die Bestimmung der
Dateierweiterung wird von den Stylesheets
übernommen.Das erste textobject-Element
enthält ein literallayout-Element,
dessen Attribut class den Wert
monospaced zugewiesen bekommt. Der
Inhalt dieses Elements wird genutzt, wenn das Dokument
in Textform ausgegeben wird. An dieser Stelle hat der
Autor die Möglichkeit seine
Textzeichenkünste unter Beweis zu
stellen.
- Wichtig ist, daß die erste und die letzte
+ Wichtig ist, dass die erste und die letzte
Zeile sich gleichauf mit dem öffenden und dem
schließenden Tag befindet. Dadurch wird
- sichergestellt, daß keine unnötigen
+ sichergestellt, dass keine unnötigen
Leerzeichen in die Ausgabe aufgenommen werden.Das zweite textobject-Element
sollte lediglich ein phrase-Element
enthalten. Wird das Dokument nach HTML konvertiert, wird
dessen Inhalt für das Attribut
alt des img-Tags
verwendet.Die Makefile-EinträgeAlle in einem Dokument verwendeten Grafiken müssen in
dem zugehörigen Makefile in der Variable
IMAGES enthalten sein.
IMAGES sollte immer die Namen der
Quellgrafiken enthalten. Werden in
einem Dokument beispielsweise die drei Grafiken
bild1.eps,
bild2.png und
bild3.png referenziert, sollte das
Makefile die folgende Zeile
enthalten:…
IMAGES= bild1.eps bild2.png bild3.png
…Eine andere Möglichkeit wäre:…
IMAGES= bild1.eps
IMAGES+= bild2.png
IMAGES+= bild3.png
…Es kann nicht oft genug betont werden: Welche
Grafikdateien für das zu erzeugende Dokument benötigt
werden, wird von dem Makefiles bestimmt.
IMAGES darf nur die Originaldateien
enthalten.Grafiken und Kapitel in UnterverzeichnissenWenn Sie Ihre Dokumentation in mehrere kleine
Dateien aufspalten (siehe
),
müssen Sie sorgfältig vorgehen.Angenommen es handelt sich um ein Buch, dessen drei
Kapitel in separaten Verzeichnissen angelegt wurden
(kapitel1/kapitel.sgml,
kapitel2/kapitel.sgml und
kapitel3/kapitel.sgml). Enthalten die
Kapitel Grafiken, empfiehlt es sich, diese in den gleichen
Verzeichnisses abzulegen, wie die Kapitel selbst. In diesem
- Falle gilt es jedoch zu beachten, daß die Pfade der
+ Falle gilt es jedoch zu beachten, dass die Pfade der
Grafikdateien in der Variable IMAGES und
in den imagedata-Elementen immer auch den
Verzeichnisnamen mitenthalten.Soll beispielsweise die Datei
kapitel1/bild1.png in das in
kapitel1/kapitel.sgml enthaltene
Kapitel eingebunden werden, sollte dies so erfolgen:<mediaobject>
<imageobject>
<imagedata fileref="kapitel1/bild1">
</imageobject>
…
</mediaobject>fileref muss den
Datei- und den Verzeichnisnamen enthalten.Das Makefile muss dementsprechend
die Zeile
…
IMAGES= kapitel1/bild1.png
…
enthalten.Wird dies beachtet, sollte es zu keinen Problemen
kommen.QuerverweiseQuerverweise sind auch Flußelemente.Querverweise innerhalb eines DokumentesUm innerhalb eines Dokumentes Verweise anzulegen, muss
angegeben werden, von welcher Textstelle aus wohin verwiesen
werden soll.Jedes DocBook-Element besitzt ein Attribut
id, über das seinem Element ein
eindeutiger Bezeichner zugewiesen werden kann.In den meisten Fällen werden Querverweise nur zu
Kapiteln gesetzt. Die chaper- und
sect*-Elemente sollten aus diesem Grunde
ein gesetztes id-Attribut
besitzen.chapter und section
mit dem Attribut idEinführungDas ist eine Einführung. Sie enthält ein Unterkapitel, das
ebenfalls einen eigenen Bezeichner hat.Unterkapitel 1Das ist ein Unterkapitel.
]]>Als Wert für das Attribut id
sollte immer ein selbsterklärender Bezeichner gewählt
- werden. Zudem ist es notwendig, daß dieser Bezeichner
+ werden. Zudem ist es notwendig, dass dieser Bezeichner
innerhalb des Dokumentes eindeutig ist. Im obigen Beispiel
wurde der Bezeichner für das Unterkapitel gebildet,
indem der Bezeichner des übergeordneten Kapitels um den
Titel des Unterkapitels erweitert wurde. Diese
- Vorgehensweise hilft sicherzustellen, daß Bezeichner
+ Vorgehensweise hilft sicherzustellen, dass Bezeichner
eindeutig sind und bleiben.Manchmal soll jedoch nicht auf den Anfang eines Kapitels
verwiesen werden, sondern zum Beispiel auf eine Stelle in
einem Absatz oder auf ein bestimmtes Beispiel. In solchen
Fällen kann an der Stelle, auf die verwiesen werden
soll, das Element anchor mit gesetztem
Attribut id eingefügt werden.
anchor kann selber keinen weiteren Inhalt
aufnehmen.Querverweise und das Element
anchorDieser Absatz enthält ein
Ziel für Querverweise, was jedoch keine
Auswirkung auf dessen Darstellung hat.]]>Zum Anlegen des eigentlichen Querverweises selbst kann
eines der beiden Elemente xref oder
link genutzt werden. Beide besitzen das
Attribut linkend, dem der
id-Wert des Verweiszieles zugewiesen
wird. Ob sich das Ziel vor oder nach dem Verweis befindet,
spielt keine Rolle.xref und link
unterscheiden sich jedoch hinsichtlich der Art und Weise,
auf die der Text erzeugt wird, auf dem der Querverweis
liegt. Kommt xref zum Einsatz, hat der
Autor keine Kontrolle darüber – der Text wird
automatisch für ihn erzeugt.Einsatz von xref
- Für dieses Beispiel wird davon ausgegangen, daß sich
+ Für dieses Beispiel wird davon ausgegangen, dass sich
folgendes Textfragment irgendwo innerhalb eines Dokumentes
- auftaucht, daß das vorherige
+ auftaucht, dass das vorherige
id-Beispiel enthält.Weitere Informationen gibt
es im .Genauere Informationen können im
gefunden werden.]]>
Der Verweistext wird automatisch von den Stylesheets
- erzeugt und so hervorgehoben, daß ersichtlich ist,
- daß es sich bei dem Text um einen Verweis
+ erzeugt und so hervorgehoben, dass ersichtlich ist,
+ dass es sich bei dem Text um einen Verweis
handelt.
Weitere Informationen können in der
Einführung gefunden
werden.Genauere Informationen können im
Unterkapitel 1 gefunden
werden.
Der Text, auf dem der HTML-Link für den Querverweis
liegt, wurde von den Kapitelüberschriften
übernommen.
- Das bedeutet, daß es nicht
+ Das bedeutet, dass es nicht
möglich ist, mit der Hilfe von
xref einen Querverweis zu einer mit
anchor gekennzeichneten Stelle
anzulegen. Da anchor keinen Inhalt
aufnehmen kann, können die Stylesheets nicht
automatisch einen Text für den Verweis
erzeugen.Möchte man selber den für den Verweis
benutzten Text bestimmen können, sollte das Element
link verwendet werden. Im Gegensatz zu
xref kann link Inhalt
aufnehmen, der dann für den Verweis verwendet
wird.link beutzen
- Für dieses Beispiel wird davon ausgegangen, daß
+ Für dieses Beispiel wird davon ausgegangen, dass
es sich in dem Dokument befindet, das auch
das id-Beispiel enthält.Weitere Informationen können
im ersten Kapitel gefunden
werden.Genauere Informationen können in
diesem Kapitel
gefunden werden.]]>
Aus diesem SGML-Fragment würden die Stylesheets
folgendes generieren (der hervorgehobene Text deutet den
erzeugten Verweis an):
Weitere Informationen können im ersten
Kapitel gefunden werden.Genauere Informationen können in
diesem Kapitel gefunden
werden.
Das letzte Beispiel ist schlecht. Es sollten niemals
Wörter wie dieses oder
hier als Linktext benutzt werden. Solche
Wörter zwingen den Leser dazu, den Kontext des
Verweises zu lesen, um zu verstehen, wohin der Verweis
führt.Mit dem Element linkkann auf mit
anchor gekennzeichnete Stellen im
Dokument verwiesen werden, da der Inhalt von
link als Text für den Querverweise
genutzt wird.Verweise auf Dokumente im WWWDas Anlegen von Verweisen auf externe Dokumente ist
wesentlich einfacher – solange die URL des zu
referenzierenden Dokumentes bekannt ist. Um von einem
bestimmten Textabschnitt auf das gewünschte externe
Dokument zu verweisen, muss die jeweilige Stelle mit
dem Element ulink ausgezeichnet werden.
Mittels des Attributes url kann die
Adresse des Zieldokumentes angegeben werden. Bei der
Umformung des Quelldokumentes in die verschiedenen
Ausgabeformate wird der sich zwischen Start- und Endtag
befindliche Text für den Verweis übernommen, den
der Leser aufrufen kann.Verweise mit ulinkNatürlich ist es möglich, anstatt diesen Text
weiterzulesen, sofort die
FreeBSD-Homepage
aufzurufen.]]>Darstellung:Natürlich ist es möglich, anstatt diesen Text
weiterzulesen, sofort die FreeBSD-Homepage
aufzurufen.
diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index b1c96842f1..b9350929eb 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -1,245 +1,246 @@
#
# $FreeBSD$
-# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.57 2007/07/10 07:12:14 jkois Exp $
-# basiert auf: 1.106
+# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.58 2007/07/29 18:12:00 jkois Exp $
+# basiert auf: 1.107
#
# Build the FreeBSD Handbook in its German translation.
#
.PATH: ${.CURDIR}/../../share/sgml/glossary
MAINTAINER=de-bsd-translators@de.FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
+IMAGES_EN+= install/boot-loader-menu.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/config-country.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
IMAGES_EN+= virtualization/parallels-freebsd1.png
IMAGES_EN+= virtualization/parallels-freebsd2.png
IMAGES_EN+= virtualization/parallels-freebsd3.png
IMAGES_EN+= virtualization/parallels-freebsd4.png
IMAGES_EN+= virtualization/parallels-freebsd5.png
IMAGES_EN+= virtualization/parallels-freebsd6.png
IMAGES_EN+= virtualization/parallels-freebsd7.png
IMAGES_EN+= virtualization/parallels-freebsd8.png
IMAGES_EN+= virtualization/parallels-freebsd9.png
IMAGES_EN+= virtualization/parallels-freebsd10.png
IMAGES_EN+= virtualization/parallels-freebsd11.png
IMAGES_EN+= virtualization/parallels-freebsd12.png
IMAGES_EN+= virtualization/parallels-freebsd13.png
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= jails/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SRCS+= newsgroups.ent
# alle Kapitel bauen
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index ff888d908e..0c71afdb1e 100644
--- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,5487 +1,5487 @@
JohannKoisÜbersetzt von Weiterführende NetzwerkthemenÜbersichtDieses Kapitel beschreibt verschiedene
weiterführende Netzwerkthemen.Nachdem Sie dieses Kapitel gelesen haben, werden SieDie Grundlagen von Gateways und Routen kennen.Bluetooth- sowie drahtlose, der Norm IEEE 802.11
entsprechende, Geräte mit FreeBSD verwenden
können.Eine Bridge unter FreeBSD einrichten können.Einen plattenlosen Rechner über das Netzwerk starten
können.Wissen, wie man NAT (Network Address Translation)
einrichtet.Zwei Computer über PLIP verbinden können.IPv6 auf einem FreeBSD-Rechner einrichten
können.ATM einrichten können.CARP, das Common Access Redundancy Protocol, unter
&os; einsetzen können.Bevor Sie dieses Kapitel lesen, sollten SieDie Grundlagen der /etc/rc-Skripte
verstanden haben.Mit der grundlegenden Netzwerkterminologie vertraut
sein.Einen neuen FreeBSD-Kernel konfigurieren und installieren
können ().Wissen, wie man zusätzliche Softwarepakete von
Drittherstellern installiert ().CoranthGryphonBeigetragen von Gateways und RoutenRoutingGatewaySubnetzDamit ein Rechner einen anderen über ein Netzwerk
finden kann, muss ein Mechanismus vorhanden sein, der
beschreibt, wie man von einem Rechner zum anderen gelangt.
Dieser Vorgang wird als Routing
bezeichnet. Eine Route besteht aus einem
definierten Adressenpaar: Einem Ziel und einem
Gateway. Dieses Paar zeigt an, dass Sie
über das Gateway zum
Ziel gelangen wollen. Es gibt drei Arten
von Zielen: Einzelne Rechner (Hosts), Subnetze und das
Standardziel. Die Standardroute
wird verwendet, wenn keine andere Route zutrifft. Wir werden
Standardrouten später etwas genauer behandeln.
Außerdem gibt es drei Arten von Gateways: Einzelne Rechner
(Hosts), Schnittstellen (Interfaces, auch als Links
bezeichnet), sowie Ethernet Hardware-Adressen (MAC-Adressen).
Ein BeispielUm die verschiedenen Aspekte des Routings zu
veranschaulichen, verwenden wir folgende Ausgaben von
netstat:&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0
DefaultrouteDie ersten zwei Zeilen geben die Standardroute (die wir
im nächsten
Abschnitt behandeln), sowie die
localhost Route an.Loopback-GerätDas in der Routingtabelle für
localhost festgelegte Interface
(Netif-Spalte)
lo0, ist auch als loopback-Gerät
(Prüfschleife) bekannt. Das heißt, dass der ganze
Datenverkehr für dieses Ziel intern (innerhalb des
Gerätes) bleibt, anstatt ihn über ein Netzwerk (LAN)
zu versenden, da das Ziel dem Start entspricht.EthernetMAC-AdresseDer nächste auffällige Punkt sind die mit
0:e0: beginnenden Adressen. Es
handelt sich dabei um Ethernet Hardwareadressen, die auch als
MAC-Adressen bekannt sind. FreeBSD identifiziert Rechner im
lokalen Netz automatisch (im Beispiel test0)
und fügt eine direkte Route zu diesem Rechner hinzu. Dies
passiert über die Ethernet-Schnittstelle
ed0. Außerdem existiert ein Timeout
(in der Spalte Expire) für diese Art
von Routen, der verwendet wird, wenn dieser Rechner in einem
definierten Zeitraum nicht reagiert. Wenn dies passiert, wird
die Route zu diesem Rechner automatisch gelöscht.
Rechner im lokalen Netz werden durch einen als RIP (Routing
Information Protocol) bezeichneten Mechanismus identifiziert,
der den kürzesten Weg zu den jeweiligen Rechnern
bestimmt.SubnetzFreeBSD fügt außerdem Subnetzrouten für das
lokale Subnetz hinzu (10.20.30.255 ist die Broadcast-Adresse
für das Subnetz 10.20.30,
example.com ist der zu
diesem Subnetz gehörige Domainname). Das Ziel
link#1 bezieht sich auf die erste
Ethernet-Karte im Rechner. Sie können auch feststellen,
dass keine zusätzlichen Schnittstellen angegeben
sind.Routen für Rechner im lokalen Netz und lokale
Subnetze werden automatisch durch den
routed Daemon konfiguriert. Ist
dieser nicht gestartet, sind nur statisch definierte
(explizit eingegebene) Routen vorhanden.Die Zeile host1 bezieht sich auf
unseren Rechner, der durch seine Ethernetadresse bekannt ist.
Da unser Rechner der Sender ist, verwendet FreeBSD automatisch
das Loopback-Gerät (lo0),
anstatt den Datenverkehr über die Ethernetschnittstelle
zu senden.Die zwei host2 Zeilen sind ein Beispiel
dafür, was passiert, wenn wir ein &man.ifconfig.8; Alias
verwenden (Lesen Sie dazu den Abschnitt über Ethernet,
wenn Sie wissen wollen, warum wir das tun sollten.). Das
Symbol => (nach der
lo0-Schnittstelle) sagt aus, dass wir
nicht nur das Loopbackgerät verwenden (da sich die
Adresse auf den lokalen Rechner bezieht), sondern dass es sich
zusätzlich auch um ein Alias handelt. Solche Routen sind
nur auf Rechnern vorhanden, die den Alias bereitstellen;
alle anderen Rechner im lokalen Netz haben für solche
Routen nur eine einfache link#1
Zeile.Die letzte Zeile (Zielsubnetz 224)
behandelt das Multicasting, das wir in einem anderen Abschnitt
besprechen werden.Schließlich gibt es für Routen noch
verschiedene Attribute, die Sie in der Spalte
Flags finden. Nachfolgend finden Sie eine
kurze Übersicht von einigen dieser Flags und ihrer
Bedeutung:UUp: Die Route ist aktiv.HHost: Das Ziel der Route ist ein einzelner
Rechner (Host).GGateway: Alle Daten, die an dieses Ziel gesendet
werden, werden von diesem System an ihr jeweiliges
Ziel weitergeleitet.SStatic: Diese Route wurde manuell konfiguriert,
das heißt sie wurde nicht
automatisch vom System erzeugt.CClone: Erzeugt eine neue Route, basierend auf der
Route für den Rechner, mit dem wir uns verbinden.
Diese Routenart wird normalerweise für lokale
Netzwerke verwendet.WWasCloned: Eine Route, die automatisch
konfiguriert wurde. Sie basiert auf einer lokalen
Netzwerkroute (Clone).LLink: Die Route beinhaltet einen Verweis auf eine
Ethernetkarte (MAC-Adresse).StandardroutenDefaultrouteStandardrouteDefaultrouteWenn sich der lokale Rechner mit einem entfernten Rechner
verbinden will, wird die Routingtabelle überprüft,
um festzustellen, ob bereits ein bekannter Pfad vorhanden ist.
Gehört dieser entfernte Rechner zu einem Subnetz, dessen
Pfad uns bereits bekannt ist
(Cloned route), dann versucht der
lokale Rechner über diese Schnittstelle eine Verbindung
herzustellen.Wenn alle bekannten Pfade nicht funktionieren, hat der
lokale Rechner eine letzte Möglichkeit: Die
Standardroute (Defaultroute). Bei dieser
Route handelt es sich um eine spezielle Gateway-Route
(gewöhnlich die einzige im System vorhandene), die im
Flags-Feld immer mit C gekennzeichnet ist.
Für Rechner im lokalen Netzwerk ist dieses Gateway auf
welcher Rechner auch immer eine Verbindung nach
außen hat gesetzt (entweder über eine
PPP-Verbindung, DSL, ein Kabelmodem, T1 oder eine beliebige
andere Netzwerkverbindung).Wenn Sie die Standardroute für einen Rechner
konfigurieren, der selbst als Gateway zur Außenwelt
funktioniert, wird die Standardroute zum Gateway-Rechner Ihres
Internetanbieter (ISP) gesetzt.Sehen wir uns ein Beispiel für Standardrouten an. So
sieht eine übliche Konfiguration aus:
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
Die Rechner Local1 und
Local2 befinden sich auf Ihrer Seite.
Local1 ist mit einem ISP über eine
PPP-Verbindung verbunden. Dieser PPP-Server ist über ein
lokales Netzwerk mit einem anderen Gateway-Rechner verbunden,
der über eine Schnittstelle die Verbindung des ISP zum
Internet herstellt.Die Standardrouten für Ihre Maschinen lauten:HostStandard GatewaySchnittstelleLocal2Local1EthernetLocal1T1-GWPPPEine häufig gestellte Frage lautet: Warum (oder
wie) sollten wir T1-GW als Standard-Gateway
für Local1 setzen, statt den (direkt
verbundenen) ISP-Server zu verwenden?.Bedenken Sie, dass die PPP-Schnittstelle für die
Verbindung eine Adresse des lokalen Netzes des ISP verwendet.
Daher werden Routen für alle anderen Rechner im lokalen
Netz des ISP automatisch erzeugt. Daraus folgt, dass Sie
bereits wissen, wie Sie T1-GW erreichen
können! Es ist also unnötig, einen Zwischenschritt
über den ISP-Server zu machen.Es ist üblich, die Adresse X.X.X.1 als Gateway-Adresse für
ihr lokales Netzwerk zu verwenden. Für unser Beispiel
bedeutet dies Folgendes: Wenn Ihr lokaler Klasse-C-Adressraum
10.20.30 ist und Ihr ISP
10.9.9 verwendet, sehen die
Standardrouten so aus:Rechner (Host)StandardrouteLocal2 (10.20.30.2)Local1 (10.20.30.1)Local1 (10.20.30.1, 10.9.9.30)T1-GW (10.9.9.1)Sie können die Standardroute ganz einfach in der Datei
/etc/rc.conf festlegen. In unserem
Beispiel wurde auf dem Rechner Local2
folgende Zeile in /etc/rc.conf
eingefügt:defaultrouter="10.20.30.1"Die Standardroute kann über &man.route.8; auch direkt
gesetzt werden:&prompt.root; route add default 10.20.30.1Weitere Informationen zum Bearbeiten von
Netzwerkroutingtabellen finden Sie in &man.route.8;.Rechner mit zwei HeimatnetzenDual-Homed-HostsEs gibt noch eine Konfigurationsmöglichkeit, die wir
besprechen sollten, und zwar Rechner, die sich in zwei
Netzwerken befinden. Technisch gesehen, zählt jeder als
Gateway arbeitende Rechner zu den Rechnern mit zwei
Heimatnetzen (im obigen Beispiel unter Verwendung einer
PPP-Verbindung). In der Praxis meint man damit allerdings nur
Rechner, die sich in zwei lokalen Netzen befinden.Entweder verfügt der Rechner über zwei
Ethernetkarten und jede dieser Karten hat eine Adresse in
einem separaten Subnetz, oder der Rechner hat nur eine
Ethernetkarte und verwendet &man.ifconfig.8; Aliasing. Die
erste Möglichkeit wird verwendet, wenn zwei physikalisch
getrennte Ethernet-Netzwerke vorhanden sind, die zweite, wenn
es nur ein physikalisches Ethernet-Netzwerk gibt, das aber aus
zwei logisch getrennten Subnetzen besteht.In beiden Fällen werden Routingtabellen erstellt,
damit jedes Subnetz weiß, dass dieser Rechner als Gateway
zum anderen Subnetz arbeitet (inbound
route). Diese Konfiguration (der
Gateway-Rechner arbeitet als Router zwischen den Subnetzen) wird
häufig verwendet, wenn es darum geht, Paketfilterung oder
eine Firewall (in eine oder beide Richtungen) zu implementieren.
Soll dieser Rechner Pakete zwischen den beiden
Schnittstellen weiterleiten, müssen Sie diese Funktion
manuell konfigurieren und aktivieren. Lesen Sie den
nächsten Abschnitt, wenn Sie weitere Informationen zu
diesem Thema benötigen.Einen Router konfigurierenRouterEin Netzwerkrouter ist einfach ein System, das Pakete von
einer Schnittstelle zur anderen weiterleitet.
Internetstandards und gute Ingenieurspraxis sorgten
dafür, dass diese Funktion in FreeBSD in der Voreinstellung
deaktiviert ist. Sie können diese Funktion aktivieren,
indem Sie in &man.rc.conf.5; folgende Änderung
durchführen:gateway_enable=YES # Auf YES setzen, wenn der Rechner als Gateway arbeiten sollDiese Option setzt die &man.sysctl.8;-Variable
net.inet.ip.forwarding auf
1. Wenn Sie das Routing kurzzeitig
unterbrechen wollen, können Sie die Variable auf
0 setzen.BGPRIPOSPFIhr neuer Router benötigt nun noch Routen, um zu
wissen, wohin er den Verkehr senden soll. Haben Sie ein
(sehr) einfaches Netzwerk, können Sie statische Routen
verwenden. FreeBSD verfügt über den Standard
BSD-Routing-Daemon &man.routed.8;, der RIP (sowohl Version 1
als auch Version 2) und IRDP versteht. BGP v4,
OSPF v2 und andere Protokolle werden von
net/zebra
unterstützt. Es stehen auch kommerzielle Produkte
wie gated zur Verfügung.AlHoangBeigetragen von Statische Routen einrichtenManuelle KonfigurationNehmen wir an, dass wir über folgendes Netzwerk
verfügen:
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2
RouterA, ein &os;-Rechner, dient als
Router für den Zugriff auf das Internet. Die
Standardroute ist auf 10.0.0.1
gesetzt, damit ein Zugriff auf das Internet möglich wird.
Wir nehmen nun an, dass RouterB bereits
konfiguriert ist und daher weiß, wie er andere Rechner
erreichen kann. Dazu wird die Standardroute von
RouterB auf
192.168.1.1 gesetzt, da dieser
Rechner als Gateway fungiert.Sieht man sich die Routingtabelle für
RouterA an, erhält man folgende Ausgabe:
&prompt.user; netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1Mit dieser Routingtabelle kann RouterA
unser internes Netz 2 nicht erreichen, da keine Route zum
Rechner 192.168.2.0/24
vorhanden ist. Um dies zu korrigieren, kann die Route manuell
gesetzt werden. Durch den folgenden Befehl wird das
interne Netz 2 in die Routingtabelle des Rechners
RouterA aufgenommen, indem
192.168.1.2 als nächster
Zwischenschritt verwenden wird:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Ab sofort kann RouterA alle Rechner des
Netzwerks 192.168.2.0/24
erreichen.Routen dauerhaft einrichtenDas obige Beispiel ist für die Konfiguration einer
statischen Route auf einem laufenden System geeignet. Diese
Information geht jedoch verloren, wenn der &os;-Rechner neu
gestartet werden muss. Um dies zu verhindern, wird diese
Route in /etc/rc.conf eingetragen:# Add Internal Net 2 as a static route
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"Die Variable static_routes enthält
eine Reihe von Strings, die durch Leerzeichen getrennt sind.
Jeder String bezieht sich auf den Namen einer Route. In
unserem Beispiel hat static_routesinternalnet2 als einzigen String.
Zusätzlich verwendet man die Konfigurationsvariable
route_internalnet2,
in der alle sonstigen an &man.route.8; zu übergebenden
Parameter festgelegt werden. In obigen Beispiel hätte
man folgenden Befehl verwendet:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Daher wird
"-net 192.168.2.0/24 192.168.1.2" als
Parameter der Variable route_ angegeben.
Wie bereits erwähnt, können bei
static_routes auch mehrere Strings
angegeben werden. Dadurch lassen sich mehrere statische
Routen anlegen. Durch folgende Zeilen werden auf einem
imaginären Rechner statische Routen zu den Netzwerken
192.168.0.0/24 sowie 192.168.1.0/24 definiert:static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"Verteilung von Routing-Informationenrouting propagationWir haben bereits darüber gesprochen, wie wir unsere
Routen zur Außenwelt definieren, aber nicht darüber,
wie die Außenwelt uns finden kann.Wir wissen bereits, dass Routing-Tabellen so erstellt
werden können, dass sämtlicher Verkehr für
einen bestimmten Adressraum (in unserem Beispiel ein
Klasse-C-Subnetz) zu einem bestimmten Rechner in diesem
Netzwerk gesendet wird, der die eingehenden Pakete im Subnetz
verteilt.Wenn Sie einen Adressraum für Ihre Seite zugewiesen
bekommen, richtet Ihr Diensteanbieter seine Routingtabellen so
ein, dass der ganze Verkehr für Ihr Subnetz entlang Ihrer
PPP-Verbindung zu Ihrer Seite gesendet wird. Aber woher
wissen die Seiten in der Außenwelt, dass sie die Daten an
Ihren ISP senden sollen?Es gibt ein System (ähnlich dem verbreiteten DNS),
das alle zugewiesenen Adressräume verwaltet und ihre
Verbindung zum Internet-Backbone definiert und dokumentiert.
Der Backbone ist das Netz aus
Hauptverbindungen, die den Internetverkehr in der ganzen Welt
transportieren und verteilen. Jeder Backbone-Rechner
verfügt über eine Kopie von Haupttabellen, die den
Verkehr für ein bestimmtes Netzwerk hierarchisch vom
Backbone über eine Kette von Diensteanbietern bis hin zu
Ihrer Seite leiten.Es ist die Aufgabe Ihres Diensteanbieters, den
Backbone-Seiten mitzuteilen, dass sie mit Ihrer Seite
verbunden wurden. Durch diese Mitteilung der Route ist nun
auch der Weg zu Ihnen bekannt. Dieser Vorgang wird als
Bekanntmachung von Routen
(routing propagation)
bezeichnet.ProblembehebungtracerouteManchmal kommt es zu Problemen bei der Bekanntmachung von
Routen, und einige Seiten sind nicht in der Lage, Sie zu
erreichen. Vielleicht der nützlichste Befehl, um
festzustellen, wo das Routing nicht funktioniert, ist
&man.traceroute.8;. Er ist außerdem sehr nützlich,
wenn Sie einen entfernten Rechner nicht erreichen können
(lesen Sie dazu auch &man.ping.8;).&man.traceroute.8; wird mit dem zu erreichenden Rechner
(Host) ausgeführt. Angezeigt werden die Gateway-Rechner
entlang des Verbindungspfades. Schließlich wird der
Zielrechner erreicht oder es kommt zu einem Verbindungsabbruch
(beispielsweise durch Nichterreichbarkeit eines
Gateway-Rechners).Weitere Informationen finden Sie in
&man.traceroute.8;.Multicast-RoutingMulticast-RoutingKerneloptionenMROUTING&os; unterstützt sowohl Multicast-Anwendungen als
auch Multicast-Routing. Multicast-Anwendungen müssen
nicht konfiguriert werden, sie laufen einfach.
Multicast-Routing muss in der Kernelkonfiguration aktiviert
werden:options MROUTINGZusätzlich muss &man.mrouted.8;, der
Multicast-Routing-Daemon, über die Datei
/etc/mrouted.conf eingerichtet werden,
um Tunnel und DVMRP zu aktivieren. Weitere
Informationen zu diesem Thema finden Sie in
&man.mrouted.8;.LoaderMarcFonvieilleMurrayStokelyDrahtlose NetzwerkeNetzwerke, drahtlos802.11drahtlose NetzwerkeGrundlagenDie meisten drahtlosen Netzwerke basieren auf dem
Standard IEEE 802.11. Sie bestehen aus Stationen, die
in der Regel im 2,4 GHz- oder im 5 GHz-Band
miteinander kommunizieren. Es ist aber auch
möglich, dass regional andere Frequenzen,
beispielsweise im 2,3 GHz- oder 4,9 GHz-Band,
verwendet werden.802.11-Netzwerke können auf zwei verschiedene
Arten aufgebaut sein: Im
Infrastruktur-Modus agiert eine
Station als Master, mit dem sich alle andere Stationen
verbinden. Die Summe aller Stationen wird als BSS
(Basic Service Set), die Master-Station hingegen als
Access Point (AP) bezeichnet. In einem BSS läuft
jedwede Kommunikation über den Access Point. Die
zweite Form drahtloser Netzwerke sind die sogenannten
Ad-hoc-Netzwerke (auch als IBSS
bezeichnet), in denen es keinen Access Point gibt und
in denen die Stationen direkt miteinander
kommunizieren.Die ersten 802.11-Netzwerke arbeiteten im
2,4 GHz-Band und nutzten dazu Prokolle der
IEEE-Standards 802.11 sowie 802.11b. Diese Standards
legen unter anderem Betriebsfrequenzen sowie Merkmale
des MAC-Layers (wie Frames und Transmissionsraten) fest.
Später kam der Standard 802.11a hinzu, der im
5 GHz-Band, im Gegensatz zu den ersten beiden
Standards aber mit unterschiedlichen Signalmechanismen
und höheren Transmissionsraten arbeitet. Der
neueste Standard 802.11g implementiert die Signal- und
Transmissionsmechanismen von 802.11a im 2,4 GHz-Band,
ist dabei aber abwärtskompatibel zu
802.11b-Netzwerken.Unabhängig von den zugrundeliegenden
Transportmechanismen verfügen 802.11-Netzwerke
über diverse Sicherheitsmechanismen. Der
ursprüngliche 802.11-Standard definierte lediglich
ein einfaches Sicherheitsprotokoll namens WEP. Dieses
Protokoll verwendet einen fixen (gemeinsam verwendeten)
Schlüssel sowie die RC4-Kryptografie-Chiffre,
um Daten verschlüsselt über das drahtlose
Netzwerk zu senden. Alle Stationen des Netzwerks
müssen sich auf den gleichen fixen Schlüssel
einigen, um miteinander kommunizieren zu können. Dieses
Schema ist sehr leicht zu knacken und wird deshalb heute
kaum mehr eingesetzt. Aktuelle Sicherheitsmechanismen
bauen auf dem Standard IEEE 802.11i auf, der neue
kryptografische Schlüssel (Chiffren), ein neues
Protokoll für die Anmeldung von Stationen an einem
Access Point sowie Mechanismen zum Austausch von
Schlüsseln als Vorbereitung der Kommunikation zwischen
verschiedenen Geräten festlegt. Kryptografische
Schlüssel werden regelmäßig getauscht.
Außerdem gibt es Mechanismen, um Einbruchsversuche
zu entdecken (und Gegenmaßnahmen ergreifen zu können).
Ein weiteres häufig verwendetes Sicherheitsprotokoll ist
WPA. Dabei handelt es sich um einen Vorläufer von 802.11i,
der von einem Industriekonsortium als Zwischenlösung bis
zur endgültigen Verabschiedung von 802.11i entwickelt
wurde. WPA definiert eine Untergruppe der Anforderungen des
802.11i-Standards und ist für den Einsatz in älterer
Hardware vorgesehen. WPA benötigt nur den (auf dem
ursprünglichen WEP-Code basierenden) TKIP-Chiffre. 802.11i
erlaubt zwar auch die Verwendung von TKIP, fordert aber
zusätzlich eine stärkere Chiffre (AES-CCM)
für die Datenverschlüsselung. (AES war für
WPA nicht vorgesehen, weil man es als zu rechenintensiv
für den Einsatz in älteren Geräten ansah.)Neben den weiter oben erwähnten Standards ist auch
der Standard 802.11e von großer Bedeutung. Dieser
definiert Protokolle zur Übertragung von
Multimedia-Anwendungen wie das Streaming von Videodateien
oder Voice-over-IP (VoIP) in einem 802.11-Netzwerk. Analog
zu 802.11i verfügt auch 802.11e über eine
vorläufige Spezifikation namens WMM (ursprünglich
WME), die von einem Industriekonsortium als Untergruppe
von 802.11e spezifiziert wurde, um Multimedia-Anwendungen
bereits vor der endgültigen Verabschiedung des
802.11e-Standards implementieren zu können. 802.11e
sowie WME/WMM erlauben eine Prioritätenvergabe beim
Datentransfer im einem drahtlosen Netzwerk. Möglich
wird dies durch den Einsatz von Quality of Service-Protokollen
(QoS) und erweiterten Medienzugriffsprotokollen. Werden
diese Protokolle korrekt implementiert, erlauben sie daher
hohe Datenübertragungsraten und einen priorisierten
Datenfluss.&os; unterstützt seit der Version 6.0 die Standards
802.11a, 802.11b, sowie 802.11g. Ebenfalls unterstützt
werden WPA sowie die Sicherheitsprotokolle gemäß
802.11i (dies sowohl für 11a, 11b als auch 11g). QoS und
Verkehrpriorisierung, die von den WME/WMM-Protokollen
benötigt werden, werden ebenfalls (allerdings nicht
für alle drahtlosen Geräte) unterstützt.BasiskonfigurationKernelkonfigurationUm ein drahtloses Netzwerk zu nutzen, benötigen
Sie eine drahtlose Netzkarte und einen Kernel, der
drahtlose Netzwerke unterstützt. Der &os;-Kernel
unterstützt den Einsatz von Kernelmodulen. Daher
müssen Sie nur die Unterstützung für die
von Ihnen verwendeten Geräte aktivieren.Als Erstes benötigen Sie ein drahtloses Gerät.
Die meisten drahtlosen Geräte verwenden Bauteile von
Atheros und werden deshalb vom &man.ath.4;-Treiber
unterstützt. Um diesen Treiber zu verwenden,
nehmen Sie die folgende Zeile in die Datei
/boot/loader.conf auf:if_ath_load="YES"Der Atheros-Treiber besteht aus drei Teilen:
dem Treiber selbst (&man.ath.4;), dem
Hardware-Support-Layer für die
chip-spezifischen Funktionen (&man.ath.hal.4;)
sowie einem Algorithmus zur Auswahl der korrekten
Frame-Übertragungsrate (ath_rate_sample).
Wenn Sie die Unterstützung für diesen
Treiber als Kernelmodul laden, kümmert sich
dieses automatisch um diese Aufgaben. Verwenden
Sie ein Nicht-Atheros-Gerät, so müssen
Sie hingegen das für dieses Gerät geeignete
Modul laden, beispielsweiseif_wi_load="YES"für Geräte, die auf Bauteilen von
Intersil Prism basieren und daher den Treiber
&man.wi.4; voraussetzen.In den folgenden Abschnitten wird der
&man.ath.4;-Treiber verwendet. Verwenden Sie ein
anderes Gerät, müssen Sie diesen Wert
daher an Ihre Konfiguration anpassen. Eine Liste aller
verfügbaren Treiber für drahtlose Geräte
finden Sie in der Manualpage &man.wlan.4;. Gibt es
keinen nativen &os;-Treiber für Ihr drahtloses
Gerät, können Sie möglicherweise mit
NDIS einen
&windows;-Treiber verwenden.Neben dem korrekten Treiber benötigen Sie auch
die Unterstützung für 802.11-Netzwerke. Für
den &man.ath.4;-Treiber wird dazu automatisch das
Kernelmodul &man.wlan.4; geladen. Zusätzlich
benötigen Sie noch Module zur Verschlüsselung
ihres drahtlosen Netzwerks. Diese werden normalerweise
dynamisch vom &man.wlan.4;-Modul geladen. Im folgenden
Beispiel erfolgt allerdings eine manuelle Konfiguration.
Folgende Module sind verfügbar: &man.wlan.wep.4;,
&man.wlan.ccmp.4; sowie &man.wlan.tkip.4;. Sowohl
&man.wlan.ccmp.4; als auch &man.wlan.tkip.4; werden nur
benötigt, wenn Sie WPA und/oder die Sicherheitsprotokolle
von 802.11i verwenden wollen. Wollen Sie Ihr Netzwerk
hingegen offen betreiben (also völlig ohne
Verschlüsselung), benötigen Sie nicht einmal
die &man.wlan.wep.4;-Unterstützung. Um alle drei
Module beim Systemstart zu laden, fügen Sie folgende
Zeilen in die Datei /boot/loader.conf
ein:wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"Danach müssen Sie Ihr &os;-System neu starten.
Alternativ können Sie die Kernelmodule aber auch
manuell mit &man.kldload.8; laden.Wollen Sie keine Kernelmodule verwenden, können
Sie die benötigten Treiber auch in Ihren Kernel
kompilieren. Daz nehmen Sie folgende Zeilen in Ihre
Kernelkonfigurationsdatei auf:device ath # Atheros IEEE 802.11 wireless network driver
device ath_hal # Atheros Hardware Access Layer
device ath_rate_sample # John Bicket's SampleRate control algorithm.
device wlan # 802.11 support (Required)
device wlan_wep # WEP crypto support for 802.11 devices
device wlan_ccmp # AES-CCMP crypto support for 802.11 devices
device wlan_tkip # TKIP and Michael crypto support for 802.11 devicesDanach bauen Sie den neuen Kernel und starten Ihr
&os;-System neu.Während des Systemstarts sollten nun einige
Informationen ähnlich den folgenden über das von
Ihnen verwendete drahtlose Gerät ausgegeben
werden:ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
ath0: mac 7.9 phy 4.5 radio 5.6Infrastruktur-ModusDrahtlose Netzwerke werden in der Regel im
Infrastruktur-Modus (auch BSS-Modus genannt) betrieben.
Dazu werden mehrere drahtlose Access Points zu einem
gemeinsamen drahtlosen Netzwerk verbunden. Jedes dieser
drahtlosen Netzwerke hat einen eigenen Namen, der als
SSID bezeichnet wird. Alle Clients
eines drahtlosen Netzwerks verbinden sich in diesem Modus
mit einem Access Point.&os;-ClientsEinen Access Point findenUm nach drahtlosen Netzwerken zu suchen, verwenden Sie
ifconfig. Dieser Scanvorgang kann einige
Zei in Anspruch nehmen, da dazu jede verfügbare
Frequenz auf verfügbare Access Points hin
überprüft werden muss. Um die Suche zu starten,
müssen Sie als Super-User angemeldet sein:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPAIhre Netzwerkkarte muss in den Status
versetzt werden, bevor Sie den ersten
Scanvorgang starten können. Für spätere
Scans ist dies aber nicht mehr erforderlich.Als Ergebnis erhalten Sie eine Liste mit allen
gefundenen BSS/IBSS-Netzwerken. Zusätzlich zur
SSID (dem Namen des Netzwerks) wird
auch die BSSID ausgegeben. Dabei
handelt es sich um MAC-Adresse des Access Points. Das
Feld CAPS gibt den Typ des Netzwerks
sowie die Fähigkeiten der Stationen innerhalb des
Netzwerks an:EExtended Service Set (ESS). Zeigt an, dass die
Station Teil eines Infrastruktur-Netzwerks ist (und
nicht eines IBSS/Ad-hoc-Netzwerks).IIBSS/Ad-hoc-Netzwerk. Die Station ist Teil eines
Ad-hoc-Netzwerks (und nicht eines
ESS-Netzwerks).PPrivacy. Alle Datenframes, die innerhalb des
BSS ausgetauscht werden, sind verschlüsselt.
Dieses BSS verwendet dazu kryptografische Verfahren
wie WEP, TKIP oder AES-CCMP.SShort Preamble. Das Netzwerk verwendet eine
kurze Präambel (definiert in 802.11b High
Rate/DSSS PHY). Eine kurze Präambel verwendet
ein 56 Bit langes Sync-Feld (im Gegensatz
zu einer langen Präambel, die ein
128 Bit langes Sync-Feld verwendet).sShort slot time. Das 802.11g-Netzwerk verwendet
eine kurze Slotzeit, da es in diesem Netzwerk keine
veralteten (802.11b) Geräte gibt.Um eine Liste der bekannten Netzwerke auszugeben,
verwenden Sie den folgenden Befehl:&prompt.root; ifconfig ath0 list scanDiese Liste kann entweder automatisch durch das
drahtlose Gerät oder manuell durch eine
-Aufforderung aktualisiert werden.
Veraltete Informationen werden dabei automatisch
entfernt.BasiseinstellungenDieser Abschnitt beschreibt, wie Sie ein einfaches
drahtloses Netzerk ohne Verschlüsselung unter &os;
einrichten. Nachdem Sie sich mit den Informationen dieses
Abschnitts vertraut gemacht haben, sollten Sie Ihr
drahtloses Netzwerk mit WPA
verschlüsseln.Das Einrichten eines drahtlosen Netzwerks erfolgt
in drei Schritten: Der Auswahl eines Access Points, der
Anmeldung Ihrer Station sowie der Konfiguration Ihrer
IP-Adresse.Einen Access Point auswählenIm Normalfall wird sich Ihre Station automatisch mit
einem der zur Verfügung stehenden Access Points
verbinden. Sie müssen dazu lediglich Ihr
drahtloses Gerät aktivieren. Alternativ können
Sie auch einen Eintrag ähnlich dem folgenden in
/etc/rc.conf aufnehmen:ifconfig_ath0="DHCP"Wollen Sie sich hingegen mit einem bestimmten
Access Point verbinden, müssen Sie dessen
SSID angeben:ifconfig_ath0="ssid Ihre_SSID DHCP"Gibt es in Ihrem Netzwerk mehrere Access Points
mit der gleichen SSID (was der Einfachheit wegen
häufig der Fall ist), können Sie sich dennoch
mit einem bestimmten Access Point verbinden. Dazu
müssen Sie lediglich die BSSID des Access Points
angeben (die Angabe der SSID ist in diesem Fall nicht
erforderlich):ifconfig_ath0="ssid Ihre_SSID bssid xx:xx:xx:xx:xx:xx DHCP"Es gibt noch weitere Möglichkeiten, den Zugriff
auf bestimmte Access Point zu beschränken,
beispielsweise durch die Begrenzung der Frequenzen, auf
denen eine Station nach einem Acces Point sucht. Sinnvoll
ist ein solches Vorgehen beispielsweise, wenn Ihr
drahtloses Gerät in verschiedenen Frequenzbereichen
arbeiten kann, da in diesem Fall das Prüfen aller
Frequenzen sehr zeitintensiv ist. Um nur innerhalb eines
bestimmten Frequenzbereichs nach einem Access Point zu
suchen, verwenden Sie die Option :ifconfig_ath0="mode 11g ssid Ihre_SSID DHCP"Dadurch sucht Ihr drahtloses Gerät nur im
2,4 GHz-Band (802.11g), aber nicht innerhalb des
5 GHz-Bandes nach einem Access Point. Mit der
Option können Sie eine
bestimmte Frequenz vorgeben, auf der gesucht werden
soll. Die Option erlaubt
die Angabe mehrerer erlaubter Frequenzen. Eine
umfassende Beschreibung dieser Optionen finden Sie in
der Manualpage &man.ifconfig.8;.AuthentifizierungWenn Sie einen Access Point gefunden haben, muss
sich Ihrem Station am Access Point anmelden, bevor
Sie Daten übertragen kann. Dazu gibt es
verschiedene Möglichkeiten. Am häufigsten
wird nach wie vor die sogenannte offene
Authentifizierung verwendet. Dabei wird
es jeder Station erlaubt, sich mit einem Netzwerk
zu verbinden und Daten zu übertragen. Aus
Sicherheitsgründen sollte diese Methode allerdings
nur zu Testzwecken bei der erstmaligen Einrichtung
eines drahtlosen Netzwerks verwendet werden. Andere
Authentifizierungsmechanismen erfordern den Austausch
kryptografischer Informationen, bevor Sie die
Übertragung von Daten erlauben. Dazu gehören
der Austausch fixer (vorher vereinbarter) Schlüssel
oder Kennwörter sowie der Einsatz komplexerer
Verfahren mit Backend-Diensten wie RADIUS. Die meisten
Netzwerke nutzen allerdings nach wie vor die offene
Authentifizierung, da dies die Voreinstellung ist. Am
zweithäufigsten kommt das weiter unten beschriebene
WPA-PSK
(das auch als WPA Personal
bezeichnet wird) zum Einsatz.Verwenden Sie eine
&apple; &airport; Extreme-Basisstation als Access Point,
benötigen Sie wahrscheinlich sowohl die
Shared-Key-Authentifizierung als auch einen
WEP-Schlüssel. Die entsprechende Konfiguration
erfolgt entweder in der Datei
/etc/rc.conf oder über das
Programm &man.wpa.supplicant.8;. Verwenden Sie nur
eine einzige &airport;-Basisstation, benötigen
Sie einen Eintrag ähnlich dem folgenden:ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"Normalerweise sollten Sie
Shared-Key-Authentifizierung aber nicht verwenden,
da diese die Sicherheit des WEP-Schlüssel noch
weiter verringert. Müssen Sie WEP einsetzen
(beispielsweise weil Sie zu veralteten Geräten
kompatibel bleiben müssen), sollten Sie WEP
nur zusammen mit der offenen Authentifizierung
(open authentication) verwenden.
WEP wird im näher
beschrieben.Eine IP-Adresse über DHCP beziehenNachdem Sie einen Access Point gefunden und sich
authentifiziert haben, benötigen Sie noch eine
IP-Adresse, die Sie in der Regel über DHCP
zugewiesen bekommen. Dazu müssen Sie lediglich
die Option DHCP in Ihre
in der Datei /etc/rc.conf
vorhandene Konfiguration Ihres drahtlosen Geräts
aufnehmen:ifconfig_ath0="DHCP"Nun können Sie Ihr drahtloses Gerät
starten:&prompt.root; /etc/rc.d/netif startNachdem Sie das Gerät aktiviert haben,
können Sie mit ifconfig den
Status des Geräts ath0
abfragen:&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid dlinkap channel 6 bssid 00:13:46:49:41:76
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100status: associated besagt, dass
sich Ihr Gerät mit dem drahtlosen Netzwerk verbunden
hat (konkret mit dem Netzwerk dlinkap).
bssid 00:13:46:49:41:76 gibt die
MAC-Adresse Ihres Access Points aus und die Zeile mit
authmode informiert Sie darüber,
dass Ihre Kommunikation nicht verschlüsselt wird
(OPEN).Statische IP-AdressenAlternativ zu dynamischen IP-Adressen
können Sie auch eine statische IP-Adresse verwenden.
Dazu ersetzen Sie in Ihrer Konfiguration
DHCP durch die zu verwendende
IP-Adresse. Beachten Sie dabei, dass Sie die anderen
Konfigurationsparameter nicht versehentlich
verändern:ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid Ihre_SSID"WPABei WPA (Wi-Fi Protected Access) handelt es sich um ein
Sicherheitsprotokoll, das in 802.11-Netzwerken verwendet
wird, um die Nachteile von WEP (fehlende
Authentifizierung und schwache Verschlüsselung)
zu vermeiden. WPA stellt das aktuelle
802.1X-Authentifizierungsprotokoll dar und verwendet
eine von mehreren Chiffren, um die Datensicherheit
zu gewährleisten. Die einzige Chiffre, die von
WPA verlangt wird, ist TKIP (Temporary
Key Integrity Protocol), eine Chiffre,
die die von WEP verwendete RC4-Chiffre um Funktionen
zur Prüfung der Datenintegrität und zur
Erkennung und Bekämpfung von Einbruchsversuchen
erweitert.
TKIP ist durch Softwaremodifikationen auch unter
veralteter Hardware lauffähig. Im Vergleich zu
WEP ist WPA zwar sehr viel sicherer, es ist aber dennoch
nicht völlig immun gegen Angriffe. WPA definiert
mit AES-CCMP noch eine weitere Chiffre als Alternative
zu TKIP. AES-CCMP (das häufig als WPA2 oder RSN
bezeichnet wird) sollte, wenn möglich, eingesetzt
werden.WPA definiert Authentifizierungs- und
Verschlüsselungsprotokolle. Die Authentifizierung
erfolgt in der Regel über eine der folgenden
Techniken: 802.1X gemeinsam mit einem
Backend-Authentifizierungsdienst wie RADIUS, oder durch
einen Minimal-Handshake zwischen der Station und dem
Access Point mit einem vorher vereinbarten gemeinsamen
Schlüssel. Die erste Technik wird als
WPA Enterprise, die zweite
hingegen als WPA Personal
bezeichnet. Da sich der Aufwand für das Aufsetzen
eines RADIUS-Backend-Servers für die meisten
drahtlosen Netzwerke nicht lohnt, wird WPA in der Regel
als WPA-PSK (WPA, Pre-Shared-Key) konfiguriert.Die Kontrolle der drahtlosen Verbindung sowie die
vorangehende Authentifizierung (über Schlüssel
oder durch die Kommunikation mit einem Server) erfolgt
über das Programm &man.wpa.supplicant.8;, das
über die Datei
/etc/wpa_supplicant.conf
eingerichtet wird. Ausführliche Informationen
zur Konfiguration des Programms finden sich in der
Manualpage &man.wpa.supplicant.conf.5;.WPA-PSKWPA-PSK oder WPA-Personal basiert auf einem
gemeinsamen (vorher vereinbarten) Schlüssel (PSK),
der aus einem Passwort generiert und danach als
Master-Key des drahtlosen Netzwerks verwendet wird.
Jeder Benutzer des drahtlosen Netzwerks verwendet daher
den gleichen Schlüssel. WPA-PSK
sollte nur in kleinen Netzwerken eingesetzt werden, in
denen die Konfiguration eines Authentifizierungsservers
nicht möglich oder erwünscht ist.Achten Sie darauf, dass Sie immer starke
Passwörter verwenden, die ausreichend lang
sind und, wenn möglich, auch Sonderzeichen
enthalten, damit diese nicht leicht erraten und/oder
geknackt werden können.Der erste Schritt zum Einsatz von WPA-PSK ist die
Konfiguration der SSID und des gemeinsamen Schlüssels
Ihres Netzwerks in der Datei
/etc/wpa_supplicant.conf:network={
ssid="freebsdap"
psk="freebsdmall"
}Danach geben Sie in /etc/rc.conf
an, dass WPA zur Verschlüsselung eingesetzt werden
soll und dass die IP-Adresse über DHCP bezogen
wird:ifconfig_ath0="WPA DHCP"Nun können Sie Ihr Netzgerät aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Alternativ können Sie die Konfiguration von
WPA-PSK
auch manuell durchführen, wobei Sie wiederum die
Konfigurationsdatei
/etc/wpa_supplicant.conf
verwenden:&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
Associated with 00:11:95:c3:0d:ac
WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]Im zweiten Schritt starten Sie nun
dhclient, um eine IP-Adresse vom
DHCP-Server zu beziehen:&prompt.root; dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Enthält Ihre /etc/rc.conf
bereits die Zeile ifconfig_ath0="DHCP",
müssen Sie dhclient nicht mehr
manuell aufrufen, da dhclient in
diesem Fall automatisch gestartet wird, nachdem
wpa_supplicant die Schlüssel
übergibt.Sollte der Einsatz von DHCP nicht möglich sein,
können Sie auch eine statische IP-Adresse
angeben, nachdem wpa_supplicant Ihre
Station authentifiziert hat:&prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Verwenden Sie DHCP nicht, müssen Sie
zusätzlich noch das Standard-Gateway sowie
den/die Nameserver manuell festlegen:&prompt.root; route add default your_default_router
&prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.confWPA und EAP-TLSDie zweite Möglichkeit, WPA einzusetzen, ist
die Verwendung eines
802.1X-Backend-Authentifizierungsservers. Diese
Variante wird als WPA-Enterprise bezeichnet, um sie
vom weniger sicheren WPA-Personal abzugrenzen, das
auf dem Austausch gemeinsamer (und vorher vereinbarter
Schlüssel) basiert. Die bei WPA-Enterprise
verwendete Authentifizierung basiert auf EAP
(Extensible Authentication
Protocol).EAP selbst bietet keine Verschlüsselung,
sondern operiert in einem verschlüsselten
Tunnel. Es gibt verschiedene, auf EAP basierende
Authentifizierungsmethoden, darunter EAP-TLS,
EAP-TTLS sowie EAP-PEAP.Bei EAP-TLS (EAP with Transport Layers
Security) handelt es sich um sehr gut
unterstütztes Authentifizierungsprotokoll, da es
sich dabei um die erste EAP-Methode handelt, die von
der Wi-Fi
Alliance zertifiziert wurde. EAP-TLS
erfordert drei Zertifikate: Das (auf allen Rechnern
installierte) CA-Zertifikat, das Server-Zertifikat
Ihres Authentifizierungsservers, sowie ein
Client-Zertifikat für jeden drahtlosen Client.
Sowohl der Authentifizierungsservers als auch die
drahtlosen Clients authentifizieren sich gegenseitig
durch ihre Zertifikate, wobei sie überprüfen,
ob diese Zertifikate auch von der
Zertifizierungs-Authorität (CA) des jeweiligen
Unternehmens signiert wurden.Die Konfiguration erfolgt (analog zu WPA-PSK)
über die Datei
/etc/wpa_supplicant.conf:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TLS
identity="loader"
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/clientcert.pem"
private_key="/etc/certs/clientkey.pem"
private_key_passwd="freebsdmallclient"
}Der Name des Netzwerks (die SSID).Das RSN/WPA2-Protokoll (IEEE 802.11i) wird
verwendet.Die key_mgmt-Zeile bezieht
sich auf das verwendete Key-Management-Protokoll.
In diesem Beispiel wird WPA gemeinsam mit der
EAP-Authentifizierung verwendet
(WPA-EAP).Die für die Verbindung verwendete
EAP-Methode.Das identity-Feld enthält
den von EAP verwendeten Identifizierungsstring.Das Feld ca_cert gibt den Pfad
zum CA-Zertifikat an. Dieses Datei wird benötigt,
um das Server-Zertifikat zu verifizieren.Die client_cert-Zeile gibt den
Pfad zum Client-Zertifikat an. Jeder Client hat ein
eigenes, innerhalb des Netzwerks eindeutiges
Zertifikat.Das Feld private_key gibt den
Pfad zum privaten Schlüssel des
Client-Zertifikat an.Das Feld private_key_passwd
enthält die Passphrase für den privaten
Schlüssel.Danach fügen Sie die folgende Zeile in
/etc/rc.conf ein:ifconfig_ath0="WPA DHCP"Nun können Sie Ihr drahtloses Gerät
über das rc.d-System
aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100Alternativ können Sie Ihr drahtloses Gerält
wiederum manuell über
wpa_supplicant und
ifconfig aktivieren.WPA und EAP-TTLSBei EAP-TLS müssen sowohl der
Authentifizierungsserver als auch die Clients jeweils
ein eigenes Zertifikat aufweisen. Setzen Sie hingegen
EAP-TTLS (EAP-Tunneled
Transport Layer Security) ein, ist das
Client-Zertifikat optional. EAP-TTLS geht dabei
ähnlich vor wie verschlüsselte Webseiten,
bei denen der Webserver einen sicheren SSL-Tunnel
erzeugen kann, ohne dass der Besucher dabei über
ein client-seitiges Zertifikat verfügen muss.
EAP-TTLS verwendet einen verschlüsselten
TLS-Tunnel zum sicheren Transport der
Authentifizierungsdaten.Die Konfiguration von EAP-TTLS erfolgt in der
Datei /etc/wpa_supplicant.conf:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase2="auth=MD5"
}Die für die Verbindung verwendete
EAP-Methode.Das identity-Feld enthält
den Identifizierungsstring für die
EAP-Authentifizierung innerhalb des
verschlüsselten TlS-Tunnels.Das password-Feld enthält
die Passphrase für die
EAP-Authentifizierung.Das Feld ca_cert gibt den
Pfad zum CA-Zertifikat an, das benötigt wird,
um das Server-Zertifikat zu verifizieren.Die innerhalb des verschlüsselten TLS-Tunnels
verwendete Authentifizierungsmethode. In unserem
Beispiel handelt es sich dabei um EAP und MD5. Diese
Phase der inneren Authentifizierung wird
oft als phase2 bezeichnet.Folgende Zeile muss zusätzlich in die Datei
/etc/rc.conf aufgenommen werden:ifconfig_ath0="WPA DHCP"Nun können Sie Ihr drahtloses Gerät
aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WPA und EAP-PEAPPEAP (Protected EAP)
wurde als Alternative zu EAP-TTLS entwickelt. Es gibt
zwei verschiedene PEAP-Methoden, wobei es sich bei
PEAPv0/EAP-MSCHAPv2 um die häufiger verwendete
Methode handelt. In den folgenden Ausführungen
wird der Begriff PEAP synonym für diese
EAP-Methode verwendet. PEAP ist nach EAP-TLS der
am häufigsten verwendete und am besten
unterstützte EAP-Standard.PEAP arbeitet ähnlich wie EAP-TTLS: Es
verwendet ein server-seitiges Zertifikat, um
einen verschlüsselten TLS-Tunnel zu erzeugen,
über den die sichere Authentifizierung zwischen
den Clients und dem Authentifizierungsserver erfolgt.
In Sachen Sicherheit unterscheiden sich EAP-TTLS und
PEAP allerdings: PEAP überträgt den
Benutzernamen im Klartext und verschlüsselt nur
das Passwort, während EAP-TTLS sowohl den
Benutzernamen als auch das Passwort über den
TLS-Tunnel überträgt.Um EAP-PEAP einzurichten, müssen Sie die
Konfigurationsdatei
/etc/wpa_supplicant.conf
anpassen:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}Die für die Verbindung verwendete
EAP-Methode.Das identity-Feld enthält
den Identifizierungsstring für die innerhalb
des verschlüsselten TLS-Tunnels erfolgende
EAP-Authentifizierung.Das Feld password enthält
die Passphrase für die EAP-Authentifizierung.Das Feld ca_cert gibt den Pfad
zum CA-Zertifikat an, das zur Verifizierung des
Server-Zertifikats benötigt wird.Dieses Feld enthält die Parameter für
die erste Phase der Authentifizierung (also den
TLS-Tunnel). Je nach dem, welchen
Authentifizierungsserver Sie verwenden, müssen
Sie hier einen unterschiedlichen Wert angeben.
In den meisten Fällen wird dieses Feld den
Wert client EAP encryption aufweisen,
der durch die Angabe von
peaplabel=0 gesetzt wird. Weitere
Informationen zur Konfiguration von PEAP finden Sie
in der Manualpage &man.wpa.supplicant.conf.5;.Das innerhalb des verschlüsselten TLS-Tunnels
verwendete Authentifizierungsprotokoll. In unserem
Beispiel handelt es sich dabei um
auth=MSCHAPV2.Danach fügen Sie die folgende Zeile in
/etc/rc.conf ein:ifconfig_ath0="WPA DHCP"Zuletzt müssen Sie die Netzkarte noch
aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WEPWEP (Wired Equivalent Privacy) ist Teil des
ursprünglichen 802.11-Standards. Es enthält
keinen Authentifzierungsmechanismus und verfügt
lediglich über eine schwache Zugriffskontrolle,
die sehr leicht geknackt werden kann.WEP kann über ifconfig
aktiviert werden:&prompt.root; ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \
wepmode on weptxkey 3 wepkey 3:0x3456789012 Mit weptxkey geben Sie an,
welcher WEP-Schlüssel für für die
Datenübertragung verwendet wird (in unserem
Beispiel ist dies der dritte Schlüssel). Der
gleiche Schlüssel muss auch am Access Point
eingestellt sein.Mit wepkey legen Sie den zu
verwendenden WEP-Schlüssel in der Form
Nummer:Schlüssel fest.
Ist der Schlüssel "Nummer" nicht vorhanden, wird
automatisch Schlüssel 1
verwendet. Die Angabe von "Nummer" ist zwingend
nötig, wenn Sie einen anderen als den ersten
Schlüssel verwenden wollen.In Ihrer Konfiguration müssen Sie
0x3456789012 durch den an
Ihrem Access Point konfigurierten Schlüssel
ersetzen.Weitere Informationen finden Sie in der Manualpage
&man.ifconfig.8;.Das Programm wpa_supplicant
eignet sich ebenfalls dazu, WEP für Ihr drahtloses
Gerät zu aktivieren. Obige Konfiguration lässt
sich dabei durch die Aufnahme der folgenden Zeilen in die
Datei /etc/wpa_supplicant.conf
realisieren:network={
ssid="my_net"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}Danach müssen Sie das Programm noch aufrufen:&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76Ad-hoc-ModusDer IBSS-Modus (auch als Ad-hoc-Modus bezeichnet), ist
für Punkt-zu-Punkt-Verbindungen vorgesehen. Um
beispielsweise eine Ad-hoc-Verbindung zwischen den Rechnern
A und B aufzubauen,
benötigen Sie lediglich zwei IP-Adressen und eine
SSID.Auf dem Rechner A geben Sie Folgendes
ein:&prompt.root; ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Der adhoc-Parameter gibt an, dass die
Schnittstelle im IBSS-Modus läuft.Rechner B sollte nun in der Lage sein,
Rechner A zu finden:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 ISDer Wert I (Spalte CAPS) gibt an,
dass sich Rechner A im Ad-hoc-Modus befindet.
Nun müssen Sie nur noch Rechner B eine
unterschiedliche IP-Adresse zuweisen:&prompt.root; ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Damit sind die Rechner A und
B bereit und können untereinander
Daten austauschen.ProblembehandlungDie folgenden Auflistung zeigt, wie Sie einige
häufig auftretende Probleme bei der Einrichtung
Ihres drahtlosen Netzwerks beheben können.Wird Ihr Access Point bei der Suche nicht gefunden,
sollten Sie überprüfen, ob Sie bei Konfiguration
Ihres drahtlosen Geräts die Anzahl der Kanäle
beschränkt haben.Wenn Sie sich nicht mit Ihrem Access Point verbinden
können, sollten Sie überprüfen, ob die
Konfiguration Ihrer Station auch der des Access Points
entspricht. Achten Sie dabei speziell auf die
Authentifzierungsmethode und die Sicherheitsprotokolle.
Halten Sie Ihre Konfiguration so einfach wie möglich.
Verwenden Sie ein Sicherheitsprotokoll wie WPA oder WEP,
sollten Sie testweise Ihren Access Point auf
offene Authentifizierung und
keine Sicherheit einstellen.
Danach versuchen Sie sich erneut mit Ihren Access Point
zu verbinden.Nachdem Sie sich mit dem Access Point verbinden
können, prüfen Sie die Sicherheitseinstellungen,
beginnend mit einfachen Werkzeugen wie &man.ping.8;.Das Programm wpa_supplicant
kann Ihnen bei der Fehlersuche helfen. Dazu starten
Sie es manuell mit der Option und
durchsuchen anschließend die Protokollinformationen
nach eventuellen Fehlermeldungen.Zusätzlich gibt es auch zahlreiche
Low-Level-Debugging-Werkzeuge. Die Ausgabe von
Debugging-Informationen des 802.11 Protocol Support Layers
lassen sich mit dem Programm wlandebug
(das sich unter
/usr/src/tools/tools/net80211
befindet) aktivieren. Um beispielsweise während
der Suche nach Access Points und des Aufbaus von
802.11-Verbindungen
(Handshake) auftretende
Systemmeldungen auf die Konsole auszugeben, verwenden
Sie den folgenden Befehl:&prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>Der 802.11-Layer liefert umfangreiche Statistiken,
die Sie mit dem Werkzeug wlanstats
abrufen können. Diese Statistiken sollten alle
Fehler identifizieren, die im 802.11-Layer auftreten.
Beachten Sie aber, dass einige Fehler bereits im
darunterliegenden Gerätetreiber auftreten und
daher in diesen Statistiken nicht enthalten sind. Wie
Sie Probleme des Gerätetreibers identifizieren,
entnehmen Sie bitte der Dokumentation Ihres
Gerätetreibers.Können Sie Ihr Problem durch diese
Maßnahmen nicht lösen, sollten Sie einen
Problembericht (PR) erstellen und die Ausgabe der weiter
oben genannten Werkzeuge in den Bericht aufnehmen.PavLucistnikBeigetragen von pav@FreeBSD.orgBluetoothBluetoothÜbersichtBluetooth ermöglicht die Bildung von persönlichen
Netzwerken über drahtlose Verbindungen bei einer maximalen
Reichweite von 10 Metern und operiert im unlizensierten
2,4-GHz-Band. Solche Netzwerke werden normalerweise spontan
gebildet, wenn sich mobile Geräte, wie Mobiltelefone,
Handhelds oder Notebooks miteinander verbinden. Im Gegensatz zu
Wireless LAN ermöglicht Bluetooth auch höherwertige
Dienste, wie FTP-ähnliche Dateiserver, Filepushing,
Sprachübertragung, Emulation von seriellen Verbindungen
und andere mehr.Der Bluetooth-Stack von &os; verwendet das
Netgraph-Framework (&man.netgraph.4;). Viele
Bluetooth-USB-Adapter werden durch den &man.ng.ubt.4;-Treiber
unterstützt. Auf dem Chip BCM2033
von Broadcom basierende Bluetooth-Geräte werden von den
Treibern &man.ubtbcmfw.4; sowie &man.ng.ubt.4; unterstützt.
Die Bluetooth-PC-Card 3CRWB60-A von 3Com verwendet den
&man.ng.bt3c.4;-Treiber. Serielle sowie auf UART basierende
Bluetooth-Geräte werden von &man.sio.4;, &man.ng.h4.4;
sowie &man.hcseriald.8; unterstützt. Dieses Kapitel
beschreibt die Verwendung von USB-Bluetooth-Adaptern.Die Bluetooth-Unterstützung aktivierenBluetooth-Unterstützung ist in der Regel als
Kernelmodul verfügbar. Damit ein Gerät funktioniert,
muss der entsprechende Treiber im Kernel geladen werden:&prompt.root; kldload ng_ubtIst das Bluetooth-Gerät beim Systemstart angeschlossen,
kann das entsprechende Modul auch von
/boot/loader.conf geladen werden:ng_ubt_load="YES"Schließen Sie Ihren USB-Adapter an, sollte eine
Meldung ähnlich der folgenden auf der Konsole (oder in
syslog) erscheinen:ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294Verwenden Sie &os; 6.0 oder eine 5.X-Version vor 5.5,
müssen Sie den Bluetooth-Stack manuell starten. Ab
&os; 5.5 beziehungsweise 6.1 und neuer wird der Stack hingegen
automatisch von &man.devd.8; gestartet.Kopieren Sie
/usr/share/examples/netgraph/bluetooth/rc.bluetooth
nach /etc/rc.bluetooth. Über dieses
Skript wird der Bluetooth-Stack gestartet und beendet. Es ist
empfehlenswert, den Bluetooth-Stack zu beenden, bevor Sie den
Adapter entfernen. Selbst wenn Sie dies nicht tun, kommt es
(normalerweise) zu keinem fatalen Fehler. Wenn Sie den
Bluetooth-Stack starten, erhalten Sie eine Meldung ähnlich
der folgenden:&prompt.root; /etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
<3-Slot> <5-Slot> <Encryption> <Slot offset>
<Timing accuracy> <Switch> <Hold mode> <Sniff mode>
<Park mode> <RSSI> <Channel quality> <SCO link>
<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
<Paging scheme> <Power control> <Transparent SCO data>
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8HCIDas Host Controller Interface (HCI)Das Host Controller Interface
(HCI) bietet eine Befehlsschnittstelle zum Basisbandcontroller
und Linkmanager, sowie Zugriff auf den Hardwarestatus und die
Kontrollregister. Dadurch wird ein einheitlicher Zugriff auf
die Fähigkeiten des Bluetooth-Basisbands möglich. Die
HCI-Layer des Rechners tauschen Daten und Befehle mit der
HCI-Firmware der Bluetooth-Geräte aus. Über den
Host Controller Transport Layer-Treiber (also den physikalischen
Bus) können beide HCI-Layer miteinander
kommunizieren.Eine einzelne Netgraph-Gerätedatei vom Typ
hci wird für ein einzelnes
Bluetooth-Gerät erzeugt. Die HCI-Gerätedatei ist
normalerweise mit der Bluetooth-Gerätetreiberdatei
(downstream) sowie der L2CAP-Gerätedatei (upstream)
verbunden. Alle HCI-Operationen müssen über die
HCI-Gerätedatei und nicht über die Treiberdatei
erfolgen. Der Standardname für die HCI-Gerätedatei
(die in &man.ng.hci.4; beschrieben wird) lautet
devicehci.Eine der wichtigsten Aufgaben ist das Auffinden von sich
in Reichweite befindenden Bluetooth-Geräten. Diese
Funktion wird als inquiry bezeichnet.
Inquiry sowie andere mit HCI in Verbindung stehende Funktionen
werden von &man.hccontrol.8; zur Verfügung gestellt. Das
folgende Beispiel zeigt, wie man herausfindet, welche
Bluetooth-Geräte sich in Reichweite befinden. Eine solche
Abfrage dauert nur wenige Sekunden. Beachten Sie, dass ein
Gerät nur dann antwortet, wenn es sich im Modus
discoverable befindet.&prompt.user; hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:80:37:29:19:a4
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x78ef
Inquiry complete. Status: No error [00]BD_ADDR stellt, ähnlich der
MAC-Adresse einer Netzkarte, die eindeutige Adresse eines
Bluetooth-Gerätes dar. Diese Adresse ist für die
Kommunikation mit dem Gerät nötig. Es ist aber auch
möglich, BD_ADDR einen Klartextnamen zuzuweisen. Die
Datei /etc/bluetooth/hosts enthält
Informationen über die bekannten Bluetooth-Rechner. Das
folgende Beispiel zeigt, wie man den Klartextnamen eines
entfernten Geräts in Erfahrung bringen kann:&prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39Wenn Sie ein entferntes Bluetooth-Gerät abfragen, wird
dieses Ihren Rechner unter dem Namen
your.host.name (ubt0) finden. Dieser Name kann
aber jederzeit geändert werden.Bluetooth ermöglicht Punkt-zu-Punkt-Verbindungen (an
denen nur zwei Bluetooth-Geräte beteiligt sind), aber auch
Punkt-zu-Multipunkt-Verbindungen, bei denen eine Verbindung von
mehreren Bluetooth-Geräten gemeinsam genutzt wird. Das
folgende Beispiel zeigt, wie man die aktiven
Basisbandverbindungen des lokalen Gerätes anzeigen kann:&prompt.user; hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPENEin connection handle ist für die
Beendigung einer Basisbandverbindung nützlich. Im
Normalfall werden inaktive Verbindungen aber automatisch vom
Bluetooth-Stack getrennt.&prompt.root; hccontrol -n ubt0hci disconnect 41
Connection handle: 41
Reason: Connection terminated by local host [0x16]Rufen Sie hccontrol help auf, wenn Sie
eine komplette Liste aller verfügbaren HCI-Befehle
benötigen. Die meisten dieser Befehle müssen nicht
als root ausgeführt werden.L2CAPDas Logical Link Control and Adaptation Protocol (L2CAP)Das Logical Link Control and Adaptation
Protocol (L2CAP) bietet
höherwertigen Protokollen verbindungsorientierte und
verbindungslose Datendienste an. Dazu gehören auch
Protokollmultiplexing, Segmentierung und Reassemblierung.
L2CAP erlaubt höherwertigen Protokollen und Programmen den
Versand und Empfang von L2CAP-Datenpaketen mit einer Länge
von bis zu 64 Kilobytes.L2CAP arbeitet kanalbasiert. Ein
Kanal ist eine logische Verbindung innerhalb einer
Basisbandverbindung. Jeder Kanal ist dabei an ein einziges
Protokoll gebunden. Mehrere Geräte können an das
gleiche Protokoll gebunden sein, es ist aber nicht möglich,
einen Kanal an mehrere Protokolle zu binden. Jedes über
einen Kanal ankommende L2CAP-Paket wird an das entsprechende
höherwertige Protokoll weitergeleitet. Mehrere Kanäle
können sich die gleiche Basisbandverbindung teilen.Eine einzelne Netgraph-Gerätedatei vom Typ
l2cap wird für ein einzelnes
Bluetooth-Gerät erzeugt. Die L2CAP-Gerätedatei ist
normalerweise mit der Bluetooth-HCI-Gerätedatei
(downstream) sowie der Bluetooth-Socket-Gerätedatei
(upstream) verbunden. Der Standardname für die
L2CAP-Gerätedatei, die in &man.ng.l2cap.4; beschrieben
wird, lautet devicel2cap.Ein nützlicher Befehl zum Anpingen von anderen
Geräten ist &man.l2ping.8;. Einige Bluetooth-Geräte
senden allerdings nicht alle erhaltenen Daten zurück. Die
Ausgabe 0 bytes ist also kein Fehler:&prompt.root; l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0Das Programm &man.l2control.8; liefert Informationen
über L2CAP-Dateien. Das folgende Beispiel zeigt, wie man
die Liste der logischen Verbindungen (Kanäle) sowie die
Liste der Basisbandverbindungen abfragen kann:&prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPEN&man.btsockstat.1; ist ein weiteres Diagnoseprogramm. Es
funktioniert analog zu &man.netstat.1;, arbeitet aber mit
Bluetooth-Datenstrukturen. Das folgende Beispiel zeigt die
gleiche Liste der logischen Verbindungen wie &man.l2control.8;
im vorherigen Beispiel.&prompt.user; btsockstat
Active L2CAP sockets
PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
Active RFCOMM sessions
L2PCB PCB Flag MTU Out-Q DLCs State
c2afe900 c2b53380 1 127 0 Yes OPEN
Active RFCOMM sockets
PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPENDas RFCOMM-ProtokollRFCOMMDas RFCOMM-Protokoll emuliert serielle Verbindungen
über das L2CAP-Protokoll. Es basiert auf dem ETSI-Standard
TS 07.10. Bei RFCOMM handelt es sich um ein einfaches
Transportprotokoll, das um Funktionen zur Emulation der
9poligen Schaltkreise von mit RS-232 (EIATIA-232-E) kompatiblen
seriellen Ports ergänzt wurde. RFCOMM erlaubt bis zu 60
simultane Verbindungen (RFCOMM-Kanäe) zwischen zwei
Bluetooth-Geräten.Eine RFCOMM-Kommunikation besteht aus zwei Anwendungen (den
Kommunikationsendpunkten), die über das
Kommunikationssegment miteinander verbunden sind. RFCOMM
unterstützt Anwendungen, die auf serielle Ports angewiesen
sind. Das Kommunikationssegment entspricht der (direkten)
Bluetooth-Verbindung zwischen den beiden Geräten.RFCOMM kümmert sich um die direkte Verbindung von zwei
Geräten, oder um die Verbindung zwischen einem Gerät
und einem Modem (Netzwerkverbindung). RFCOMM unterstützt
auch andere Konfigurationen. Ein Beispiel dafür sind
Module, die drahtlose Bluetooth-Geräte mit einer
verkabelten Schnittstelle verbinden können.Unter &os; wurde das RFCOMM-Protokoll im Bluetooth Socket-Layer
implementiert.PairingErstmaliger Verbindungsaufbau zwischen zwei
Bluetooth-Geräten (Pairing)
In der Voreinstellung nutzt Bluetooth keine
Authentifizierung, daher kann sich jedes Bluetoothgerät mit
jedem anderen Gerät verbinden. Ein Bluetoothgerät
(beispielsweise ein Mobiltelefon) kann jedoch für einen
bestimmten Dienst (etwa eine Einwählverbindung) eine
Authentifizierung anfordern. Bluetooth verwendet zu diesem
Zweck PIN-Codes. Ein PIN-Code ist ein
maximal 16 Zeichen langer ASCII-String. Damit eine Verbindung
zustande kommt, muss auf beiden Geräten der gleiche
PIN-Code verwendet werden. Nachdem der Code eingegeben wurde,
erzeugen beide Geräte einen link key,
der auf den Geräten gespeichert wird. Beim nächsten
Verbindungsaufbau wird der zuvor erzeugte Link Key verwendet.
Diesen Vorgang bezeichnet man als
Pairing. Geht der Link Key auf
einem Gerät verloren, muss das Pairing wiederholt
werden.Der &man.hcsecd.8;-Daemon verarbeitet alle
Bluetooth-Authentifzierungsanforderungen und wird über die
Datei /etc/bluetooth/hcsecd.conf
konfiguriert. Der folgende Ausschnitt dieser Datei zeigt die
Konfiguration für ein Mobiltelefon, das den PIN-Code
1234 verwendet:device {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}Von der Länge abgesehen, unterliegen PIN-Codes keinen
Einschränkungen. Einige Geräte, beispielsweise
Bluetooth-Headsets, haben einen festen PIN-Code eingebaut. Die
Option sorgt dafür, dass der
&man.hcsecd.8;-Daemon im Vordergrund läuft. Dadurch kann
der Ablauf einfach verfolgt werden. Stellen Sie das entfernte
Gerät auf receive pairing
und initiieren Sie die Bluetoothverbindung auf dem entfernten
Gerät. Sie erhalten die Meldung, dass Pairing akzeptiert
wurde und der PIN-Code benötigt wird. Geben Sie den
gleichen PIN-Code ein, den Sie in
hcsecd.conf festgelegt haben. Ihr Computer
und das entfernte Gerät sind nun miteinander verbunden.
Alternativ können Sie das Pairing auch auf dem entfernten
Gerät initiieren.Unter &os; 5.5, 6.1 und neuer können Sie
hcsecd durch das Einfügen der
folgenden Zeile in /etc/rc.conf
beim Systemstart automatisch aktivieren:hcsecd_enable="YES"Es folgt nun eine beispielhafte Ausgabe
des hcsecd-Daemons:hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4SDPDas Service Discovery Protocol (SDP)Das Service Discovery Protocol
(SDP) erlaubt es Clientanwendungen, von Serveranwendungen
angebotene Dienste sowie deren Eigenschaften abzufragen. Zu
diesen Eigenschaften gehören die Art oder die Klasse der
angebotenen Dienste sowie der Mechanismus oder das Protokoll,
die zur Nutzung des Dienstes notwendig sind.SDP ermöglicht Verbindungen zwischen einem SDP-Server
und einem SDP-Client. Der Server enthält eine Liste mit
den Eigenschaften der vom Server angebotenen Dienste. Jeder
Eintrag beschreibt jeweils einen einzigen Serverdienst. Ein
Client kann diese Informationen durch eine SDP-Anforderung
vom SDP-Server beziehen. Wenn der Client oder eine Anwendung
des Clients einen Dienst nutzen will, muss eine seperate
Verbindung mit dem Dienstanbieter aufgebaut werden. SDP bietet
einen Mechanismus zum Auffinden von Diensten und deren
Eigenschaften an, es bietet aber keine Mechanismen zur Verwendung
dieser Dienste.Normalerweise sucht ein SDP-Client nur nach Diensten, die
bestimmte geforderte Eigenschaften erfüllen. Es ist aber
auch möglich, anhand der Dienstbeschreibungen eine
allgemeine Suche nach den von einem Server angebotenen Diensten
durchzuführen. Diesen Vorgang bezeichnet man als
Browsing.Der Bluetooth-SDP-Server &man.sdpd.8; und der
Kommandozeilenclient &man.sdpcontrol.8; sind bereits in der
Standardinstallation von &os; enthalten. Das folgende Beispiel
zeigt, wie eine SDP-Abfrage durchgeführt wird:&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000
Service Class ID List:
Service Discovery Server (0x1000)
Protocol Descriptor List:
L2CAP (0x0100)
Protocol specific parameter #1: u/int/uuid16 1
Protocol specific parameter #2: u/int/uuid16 1
Record Handle: 0x00000001
Service Class ID List:
Browse Group Descriptor (0x1001)
Record Handle: 0x00000002
Service Class ID List:
LAN Access Using PPP (0x1102)
Protocol Descriptor List:
L2CAP (0x0100)
RFCOMM (0x0003)
Protocol specific parameter #1: u/int8/bool 1
Bluetooth Profile Descriptor List:
LAN Access Using PPP (0x1102) ver. 1.0
... und so weiter. Beachten Sie, dass jeder Dienst eine
Liste seiner Eigenschaften (etwa den RFCOMM-Kanal)
zurückgibt. Je nach dem, welche Dienste Sie
benötigen, sollten Sie sich einige dieser Eigenschaften
notieren. Einige Bluetooth-Implementationen unterstützen
kein Service Browsing und geben
daher eine leere Liste zurück. Ist dies der Fall, ist es
dennoch möglich, nach einem bestimmten Dienst zu suchen.
Das folgende Beispiel demonstriert die Suche nach dem
OBEX Object Push (OPUSH) Dienst:&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSHUnter &os; ist es die Aufgabe des &man.sdpd.8;-Servers,
Bluetooth-Clients verschiedene Dienste anzubieten. Unter
&os; 5.5, 6.1 und neuer können Sie dazu die folgende
Zeile in die Datei /etc/rc.conf
einfügen:sdpd_enable="YES"Nun kann der sdpd-Daemon durch
folgene Eingabe gestartet werden:&prompt.root; /etc/rc.d/sdpd startUnter &os; 6.0 und &os; 5.X-Versionen vor 5.5 ist
sdpd nicht in die &os;-Startskripten
integriert. Daher müssen Sie den Damon durch folgende
Eingabe manuell starten:&prompt.root; sdpdDer lokale Server, der den entfernten Clients
Bluetooth-Dienste anbieten soll, bindet diese Dienste an den
lokalen SDP-Daemon. Ein Beispiel für eine solche
Anwendung ist &man.rfcomm.pppd.8;. Einmal gestartet, wird der
Bluetooth-LAN-Dienst an den lokalen SDP-Daemon gebunden.Die Liste der vorhandenen Dienste, die am lokalen SDP-Server
registriert sind, lässt sich durch eine SDP-Abfrage
über einen lokalen Kontrollkanal abfragen:&prompt.root; sdpcontrol -l browseEinwahlverbindungen (Dial-Up Networking (DUN)) oder
Netzwerkverbindungen mit PPP (LAN)-Profilen einrichtenDas
Dial-Up Networking (DUN)-Profil
wird vor allem für Modems und Mobiltelefone verwendet.
Dieses Profil ermöglicht folgende Szenarien:Die Verwendung eines Mobiltelefons oder eines
Modems durch einen Computer als drahtloses Modem, um sich
über einen Einwahlprovider mit dem Internet zu verbinden
oder andere Einwahldienste zu benutzen.Die Verwendung eines Mobiltelefons oder eines
Modems durch einen Computers, um auf Datenabfragen zu
reagieren.Der Zugriff auf ein Netzwerk über das PPP (LAN)-Profil
kann in folgenden Situationen verwendet werden:Den LAN-Zugriff für ein einzelnes
Bluetooth-GerätDen LAN-Zugriff für mehrere
Bluetooth-GeräteEine PC-zu-PC-Verbindung (unter Verwendung
einer PPP-Verbindung über eine emulierte serielle
Verbindung)Beide Profile werden unter &os; durch &man.ppp.8; sowie
&man.rfcomm.pppd.8; implementiert - einem Wrapper, der
RFCOMM Bluetooth-Verbindungen unter PPP nutzbar macht. Bevor
ein Profil verwendet werden kann, muss ein neuer PPP-Abschnitt
in /etc/ppp/ppp.conf erzeugt werden.
Beispielkonfigurationen zu diesem Thema finden Sie in
&man.rfcomm.pppd.8;.Im folgenden Beispiel verwenden wir &man.rfcomm.pppd.8;, um
eine RFCOMM-Verbindung zu einem entfernten Gerät mit der
BD_ADDR 00:80:37:29:19:a4 auf dem
RFCOMM-Kanal DUN aufzubauen. Die aktuelle
RFCOMM-Kanalnummer erhalten Sie vom entfernten Gerät
über SDP. Es ist auch möglich, manuell einen
RFCOMM-Kanal festzulegen. In diesem Fall führt
&man.rfcomm.pppd.8; keine SDP-Abfrage durch. Verwenden Sie
&man.sdpcontrol.8;, um die RFCOMM-Kanäle des entfernten
Geräts herauszufinden.&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialupDer &man.sdpd.8;-Server muss laufen, damit ein Netzzugriff
mit dem PPP (LAN)-Profil möglich ist. Außerdem muss
für den LAN-Client ein neuer Eintrag in
/etc/ppp/ppp.conf erzeugt werden.
Beispielkonfigurationen zu diesem Thema finden Sie in
&man.rfcomm.pppd.8;. Danach starten Sie den RFCOMM PPP-Server
über eine gültige RFCOMM-Kanalnummer. Der
RFCOMM PPP-Server bindet dadurch den Bluetooth-LAN-Dienst an den
lokalen SDP-Daemon. Das folgende Beispiel zeigt Ihnen, wie man
den RFCOMM PPP-Server startet.&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-serverOBEXDas Profil OBEX-Push (OPUSH)OBEX ist ein häufig verwendetes Protokoll für den
Dateitransfer zwischen Mobilgeräten. Sein Hauptzweck ist
die Kommunikation über die Infrarotschnittstelle. Es dient
daher zum Datentransfer zwischen Notebooks oder PDAs sowie zum
Austausch von Visitenkarten oder Kalendereinträgen zwischen
Mobiltelefonen und anderen Geräten mit PIM-Funktionen.Server und Client von OBEX werden durch das Softwarepaket
obexapp bereitgestellt, das als Port
comms/obexapp verfügbar
ist.Mit dem OBEX-Client werden Objekte zum OBEX-Server geschickt
oder angefordert. Ein Objekt kann etwa eine Visitenkarte oder
ein Termin sein. Der OBEX-Client fordert über SDP die
Nummer des RFCOMM-Kanals vom entfernten Gerät an. Dies
kann auch durch die Verwendung des Servicenamens anstelle der
RFCOMM-Kanalnummer erfolgen. Folgende Dienste werden
unterstützt: IrMC, FTRN und OPUSH. Es ist möglich,
den RFCOMM-Kanal als Nummer anzugeben. Es folgt nun ein
Beispiel für eine OBEX-Sitzung, bei der ein
Informationsobjekt vom Mobiltelefon angefordert und ein neues
Objekt (hier eine Visitenkarte) an das Telefonbuch des
Mobiltelefons geschickt wird:&prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt
Success, response: OK, Success (0x20)
obex> put new.vcf
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)Um OBEX-Push-Dienste anbieten zu können, muss der
sdpd-Server gestartet sein. Ein
Wurzelverzeichnis, in dem alle ankommenden Objekt gespeichert
werden, muss zusätzlich angelegt werden. In der
Voreinstellung ist dies /var/spool/obex.
Starten Sie den OBEX-Server mit einer gültigen Kanalnummer.
Der OBEX-Server registriert nun den OBEX-Push-Dienst mit dem
lokalen SDP-Daemon. Um den OBEX-Server zu starten, geben Sie
Folgendes ein:&prompt.root; obexapp -s -C 10Das Profil Serial-Port (SPP)Durch dieses Profil können Bluetooth-Geräte RS232-
(oder damit kompatible) serielle Kabelverbindungen emulieren.
Anwendungen sind dadurch in der Lage, über eine virtuelle
serielle Verbindung Bluetooth als Ersatz für eine
Kabelverbindung zu nutzen.Das Profil Serial-Port wird durch &man.rfcomm.sppd.1;
verwirklicht. Pseudo-tty wird hier als virtuelle serielle
Verbindung verwendet. Das folgende Beispiel zeigt, wie man sich
mit einem entfernten Serial-Port-Dienst verbindet. Beachten
Sie, dass Sie den RFCOMM-Kanal nicht angeben müssen, da
&man.rfcomm.sppd.1; diesen über SDP vom entfernten
Gerät abfragen kann. Wenn Sie dies nicht wollen,
können Sie einen RFCOMM-Kanal auch manuell festlegen.&prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...Sobald die Verbindung hergestellt ist, kann pseudo-tty als
serieller Port verwenden werden.&prompt.root; cu -l ttyp6ProblembehandlungEin entferntes Gerät kann keine Verbindung
aufbauenEinige ältere Bluetooth-Geräte unterstützen
keinen Rollentausch. Wenn &os; eine neue Verbindung
akzeptiert, wird versucht, die Rolle zu tauschen, um zum
Master zu werden. Geräte, die dies nicht
unterstützen, können keine Verbindung aufbauen.
Beachten Sie, dass der Rollentausch ausgeführt wird,
sobald eine neue Verbindung aufgebaut wird, daher ist es
nicht möglich, das entfernte Gerät zu fragen, ob es
den Rollentausch unterstützt. Dieses Verhalten von &os;
kann aber durch eine HCI-Option geändert werden:&prompt.root; hccontrol -n ubt0hci write_node_role_switch 0Wo finde ich genaue Informationen darüber, was
schiefgelaufen ist?Verwenden Sie hcidump,
das Sie über den Port comms/hcidump installieren
können. hcidump hat
Ähnlichkeiten mit &man.tcpdump.1;. Es dient zur Anzeige
der Bluetooth-Pakete in einem Terminal oder zur Speicherung
der Pakete in einer Datei (Dump).StevePetersonGeschrieben von LAN-Kopplung mit einer BridgeEinführungSubnetzBridgeManchmal ist es nützlich, ein physikalisches Netzwerk
(wie ein Ethernetsegment) in zwei separate Netzwerke
aufzuteilen, ohne gleich IP-Subnetze zu erzeugen, die über
einen Router miteinander verbunden sind. Ein Gerät, das
zwei Netze auf diese Weise verbindet, wird als
Bridge bezeichnet. Jedes FreeBSD-System
mit zwei Netzkarten kann als Bridge fungieren.Die Bridge arbeitet, indem sie die MAC Layeradressen
(Ethernet Adressen) der Geräte in ihren Netzsegmenten
lernt. Der Verkehr wird nur dann zwischen zwei Netzsegmenten
weitergeleitet, wenn sich Sender und Empfänger in
verschiedenen Netzsegmenten befinden.In vielerlei Hinsicht entspricht eine Bridge daher einem
Ethernet-Switch mit sehr wenigen Ports.Situationen, in denen Bridging
angebracht istEine Bridge wird vor allem in folgenden zwei Situationen
verwendet:Hohes Datenaufkommen in einem SegmentIn der ersten Situation wird Ihr physisches Netz
mit Datenverkehr überschwemmt. Aus irgendwelchen
Gründen wollen Sie allerdings keine Subnetze verwenden,
die über einen Router miteinander verbunden sind.Stellen Sie sich einen Zeitungsverlag vor, in dem sich die
Redaktions- und Produktionsabteilungen in verschiedenen
Subnetzen befinden. Die Redaktionsrechner verwenden den
Server A für Dateioperationen, und die
Produktionsrechner verwenden den Server B.
Alle Benutzer sind über ein gemeinsames Ethernet-LAN
miteinander verbunden. Durch das hohe Datenaufkommen sinkt
die Geschwindigkeit des gesamten Netzwerks.Würde man die Redaktionsrechner und die
Produktionsrechner in separate Netzsegmente auslagern,
könnte man diese beiden Segmente über eine Bridge
verbinden. Nur der für Rechner im jeweils
anderen Segment bestimmte Verkehr wird
dann über die Brigde in das andere Netzsegment geleitet.
Dadurch verringert sich das Gesamtdatenaufkommen in beiden
Segmenten.Filtering/Traffic Shaping FirewallFirewallNATDie zweite häufig anzutreffende Situation tritt auf,
wenn Firewallfunktionen benötigt werden, ohne dass
Network Adress Translation
(NAT) verwendet wird.Ein Beispiel dafür wäre ein kleines Unternehmen,
das über DSL oder ISDN an seinen ISP angebunden ist. Es
verfügt über 13 weltweit erreichbare IP-Adressen,
sein Netzwerk besteht aus 10 Rechnern. In dieser Situation
ist die Verwendung von Subnetzen sowie einer routerbasierten
Firewall schwierig.RouterDSLISDNEine brigdebasierte Firewall kann konfiguriert und in den
ISDN/DSL-Downstreampfad ihres Routers eingebunden werden, ohne
sich um IP-Adressen kümmern zu müssen.Die LAN-Kopplung konfigurierenAuswahl der NetzkartenEine Bridge benötigt mindestens zwei Netzkarten.
Leider sind unter FreeBSD nicht alle verfügbaren
Netzkarten dafür geeignet. Lesen Sie &man.bridge.4;
für Informationen zu unterstützten Karten.Installieren und testen Sie beide Netzkarten, bevor Sie
fortfahren.Anpassen der KernelkonfigurationKerneloptionenBRIDGEUm die Kernelunterstützung für die LAN-Kopplung
zu aktivieren, fügen Sieoptions BRIDGEin Ihre Kernelkonfigurationsdatei ein, und erzeugen einen
neuen Kernel.FirewallunterstützungFirewallWenn Sie die Bridge als Firewall verwenden wollen,
müssen Sie zusätzlich die Option
IPFIREWALL einfügen. Die
Konfiguration einer Firewall wird in
des Handbuchs beschrieben.Wenn Sie Nicht-IP-Pakete (wie ARP-Pakete) durch Ihre
Bridge leiten wollen, haben Sie drei Möglichkeiten.
Eine Mögleichkeit wäre es, die folgende Option
in Ihre Kernelkonfigurationsdatei aufzunehmen und den
Kernel neu zu bauen:option IPFIREWALL_DEFAULT_TO_ACCEPTAlternativ können Sie den Firewall-Typ in der Datei
rc.conf auf "open" setzen:firewall_type="open"Beachten Sie aber, dass Ihre Firewall durch diese Optionen
per Voreinstellung alle Pakete und Verbindungen akzeptiert!
Der Einsatz dieser Optionen erfordert also umfangreiche
Anpassungen Ihrer Firewallregeln.Die dritte Möglichkeit ist der Einsatz der folgenden
&man.ipfw.8;-Regel:&prompt.root; ipfw add allow mac-type arp layer2Diese Regel können Sie auch in Ihren bereits
existierenden Regelsatz aufnehmen. Da diese Regel
&man.arp.8;-Pakete durchlassen soll, muss Sie am Beginn
Ihrer Firewallregeln platziert werden.Unterstützung für Traffic ShapingWenn Sie die Bridge als Traffic-Shaper verwenden wollen,
müssen Sie die Option DUMMYNET in
Ihre Kernelkonfigurationsdatei einfügen. Lesen Sie
&man.dummynet.4;, um weitere Informationen zu erhalten.Die LAN-Kopplung aktivierenFügen Sie die Zeilenet.link.ether.bridge.enable=1in /etc/sysctl.conf ein, um die Bridge
zur Laufzeit zu aktivieren, sowie die Zeilenet.link.ether.bridge.config=if1,if2um die LAN-Kopplung für die festgelegten Geräte
zu ermöglichen (ersetzen Sie dazu
if1 und
if2 durch die Namen Ihrer
Netzkarten). Wenn Sie die Datenpakete via &man.ipfw.8; filtern
wollen, sollten Sie zusätzlich folgende Zeile
einfügen:net.link.ether.bridge.ipfw=1Vor &os; 5.2-RELEASE verwenden Sie die
folgenden Zeilen:net.link.ether.bridge=1
net.link.ether.bridge_cfg=if1,if2
net.link.ether.bridge_ipfw=1Sonstige InformationenWenn Sie via &man.ssh.1; auf die Bridge zugreifen wollen,
können Sie einer der Netzkarten eine IP-Adresse zuzuweisen.
Es besteht Einigkeit darüber, dass es eine schlechte Idee
ist, beiden Karten eine IP-Adresse zuzuweisen.
Wenn Sie verschiedene Bridges in Ihrem Netzwerk haben, kann
es dennoch nicht mehr als einen Weg zwischen zwei
Arbeitsplätzen geben. Das heißt,
Spanning tree link Management
wird nicht unterstützt.Eine Bridge kann, besonders für Verkehr über
Segmente, die Laufzeiten von Paketen erhöhen.Jean-FrançoisDockèsAktualisiert von AlexDupreReorganisiert und erweitert von Start und Betrieb von FreeBSD über ein Netzwerkplattenloser Arbeitsplatzplattenloser BetriebFreeBSD kann über ein Netzwerk starten und arbeiten, ohne
eine lokale Festplatte zu verwenden, indem es Dateisysteme eines
NFS-Servers in den eigenen Verzeichnisbaum
einhängt. Dazu sind, von den Standardkonfigurationsdateien
abgesehen, keine Systemänderungen nötig. Ein solches
System kann leicht installiert werden, da alle notwendigen
Elemente bereits vorhanden sind:Es gibt mindestens zwei Möglichkeiten, den Kernel
über das Netzwerk zu laden:PXE: Das
Preboot eXecution Environment System von
&intel; ist eine Art intelligentes Boot-ROM, das in
einigen Netzkarten oder Hauptplatinen verwendet wird.
Weitere Informationen finden Sie in &man.pxeboot.8;.
Der Port
Etherboot
(net/etherboot)
erzeugt ROM-fähigen Code, um einen Kernel über
das Netzwerk zu laden. Dieser Code kann entweder auf ein
Boot-PROM einer Netzkarte gebrannt werden, was von vielen
Netzkarten unterstützt wird. Oder er kann von einer
lokalen Diskette, Festplatte oder von einem laufenden
&ms-dos;-System geladen werden.Das Beispielskript
/usr/share/examples/diskless/clone_root
erleichtert die Erzeugung und die Wartung des
root-Dateisystems auf dem Server. Das Skript muss
wahrscheinlich angepasst werden, dennoch werden Sie schnell zu
einem Ergebnis kommen.Die Startdateien, die einen plattenlosen Systemstart
erkennen und unterstützen, sind nach der Installation
in /etc vorhanden.Dateiauslagerungen können sowohl via
NFS als auch auf die lokale Platte
erfolgen.Es gibt verschiedene Wege, einen plattenlosen Rechner
einzurichten. Viele Elemente sind daran beteiligt, die fast
immer an den persönlichen Geschmack angepasst werden
können. Im folgenden Abschnitt wird die Installation
eines kompletten Systems beschrieben, wobei der
Schwerpunkt auf Einfachheit und Kompatibilität zu den
Standardstartskripten von FreeBSD liegt. Das beschriebene
System hat folgende Eigenschaften:Die plattenlosen Rechner haben ein gemeinsames
/- sowie ein gemeinsames
/usr-Dateisystem, die jeweils
schreibgeschützt sind.Das root-Dateisystem ist eine Kopie
eines Standardwurzelverzeichnisses von FreeBSD
(üblicherweise das des Servers), bei dem einige
Konfigurationsdateien durch für den plattenlosen
Betrieb geeignete Versionen ersetzt wurden.Für die Bereiche des root-Dateisystems, die
beschreibbar sein müssen, werden mit &man.md.4;
virtuelle Dateisysteme erzeugt. Dies bedeutet aber auch, dass
alle Veränderungen verloren gehen, wenn das System neu
gestartet wird.Der Kernel wird, in Abhängigkeit von der jeweiligen
Situation, entweder von Etherboot
oder von PXE transferiert und geladen.
Das hier beschriebene System ist nicht sicher. Es
sollte nur in einem gesicherten Bereich eines Netzwerks verwendet
werden und für andere Rechner nicht erreichbar sein.Alle Informationen in diesem Abschnitt wurden unter
&os; 5.2.1-RELEASE getestet.HintergrundinformationenDie Einrichtung von plattenlosen Rechnern ist einfach, aber
auch fehleranfällig. Der Grund dafür sind auftretende
Fehler, die sich oft nur schwer zuordnen lassen. Unter anderem
sind dafür folgende Umstände verantwortlich:Kompilierte Optionen haben zur Laufzeit unterschiedliche
Auswirkungen.Fehlermeldungen sind oft kryptisch oder fehlen
vollständig.Daher ist es nützlich, über die im Hintergrund
ablaufenden Mechanismen Bescheid zu wissen. Dadurch wird es
einfacher, eventuell auftretende Fehler zu beheben.Verschiedene Operationen müssen ausgeführt werden,
um ein System erfolgreich zu starten:Der Rechner benötigt einige Startparameter, wie
seine IP-Adresse, die Namen ausführbarer Dateien, den
Servernamen sowie den root-Pfad. Für die
Übermittlung dieser Informationen wird entweder das
DHCP- oder das BOOTP-Protokoll verwendet.
Bei DHCP handelt es sich um eine
abwärtskompatible Erweiterung von BOOTP, die die
gleichen Portnummern und das gleiche Paketformat verwendet.
Es ist möglich, das System so zu konfigurieren,
dass es nur BOOTP verwendet. Das Serverprogramm
&man.bootpd.8; ist bereits im &os;-Basissystem enthalten.
DHCP hat im Vergleich zu BOOTP
allerdings mehrere Vorteile (bessere Konfigurationsdateien,
die Möglichkeit zur Verwendung von
PXE, sowie viele andere, die nicht in
direktem Zusammenhang mit dem plattenlosen Betrieb stehen).
Dieser Abschnitt beschreibt die Konfiguration mittels
DHCP. Wenn möglich, werden aber
entsprechende Beispiele für &man.bootpd.8;
angeführt. Die Beispielkonfiguration nutzt das
Softwarepaket ISC DHCP.Der Rechner muss ein oder mehrere Programme in den
lokalen Speicher laden. Dazu wird entweder
TFTP oder NFS
verwendet. Die Auswahl zwischen TFTP und
NFS erfolgt über das Setzen von
verschiedenen Kompilieroptionen. Ein häufig gemachter
Fehler ist es, Dateinamen für das falsche Protokoll
anzugeben: TFTP transferiert
normalerweise alle Dateien aus einem einzigen Verzeichnis
des Servers, und erwartet einen Pfad relativ zu diesem
Verzeichnis. NFS verlangt hingegen
absolute Dateipfade.Die möglichen Bootstrap-Programme und der Kernel
müssen initialisiert und ausgeführt werden. Dabei
gibt es zwei Möglichkeiten:PXE lädt &man.pxeboot.8;.
Dabei handelt es sich um eine modifizierte Version des
&os;-Laders der Boot-Phase drei. Der &man.loader.8;
beschafft alle für den Systemstart notwendigen
Parameter, und hinterlegt diese in der Kernelumgebung,
bevor er die Kontrolle übergibt. Es ist hier
möglich, den GENERIC-Kernel
zu verwenden.Etherboot lädt den
Kernel hingegen direkt. Dafür müssen Sie
allerdings einen Kernel mit spezifischen Optionen
erzeugen.PXE und
Etherboot sind zwar im
Großen und Ganzen gleichwertig, da der Kernel
aber viele Aufgaben an &man.loader.8; übergibt, sollte
bevorzugt PXE eingesetzt werden.Wenn Ihr BIOS und Ihre Netzkarten
PXE unterstützen, sollten Sie es
auch verwenden.Zuletzt muss der Rechner auf seine Dateisysteme
zugreifen können. Dafür wird stets
NFS verwendet.Weitere Informationen finden Sie in &man.diskless.8;.InstallationsanweisungenKonfiguration unter Verwendung von
ISC DHCPDHCPplattenloser BetriebDer ISC DHCP-Server kann
Anfragen sowohl von BOOTP als auch von DHCP beantworten.
isc-dhcp 3.0 ist nicht Teil
des Basissystems. Sie müssen es daher zuerst
installieren. Verwenden Sie dazu den Port
net/isc-dhcp3-server
oder das entsprechende Paket.Nachdem ISC DHCP installiert
ist, muss das Programm konfiguriert werden (normalerweise in
/usr/local/etc/dhcpd.conf). Im
folgenden Beispiel verwendet Rechner margauxEtherboot, während Rechner
corbieres PXE verwendet:
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "example.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.example.com;
next-server 192.168.4.4;
filename "/tftpboot/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
host corbieres {
hardware ethernet 00:02:b3:27:62:df;
fixed-address corbieres.example.com;
next-server 192.168.4.4;
filename "pxeboot";
option root-path "192.168.4.4:/data/misc/diskless";
}
}
Diese Option
weist dhcpd an, den Wert der
host-Deklaration als Rechnernamen des
plattenlosen Rechners zu senden. Alternativ kann man der
host-Deklaration Folgendes
hinzufügen: option host-name
margauxDie Anweisung
next-server bestimmt den
TFTP- oder
NFS-Server, von dem der Loader oder
der Kernel geladen werden (in der Voreinstellung ist das
der DHCP-Server selbst).Die Anweisung
filename bestimmt die Datei, die
Etherboot als nächstes
lädt. Das genaue Format hängt von der
gewählten Transfermethode ab.
Etherboot kann sowohl mit
NFS als auch mit
TFTP kompiliert werden. In der
Voreinstellung wird der &os;-Port mit
NFS-Unterstützung kompiliert.
PXE verwendet TFTP,
daher wird im Beispiel ein relativer Dateipfad verwendet.
Dies kann aber, je nach Konfiguration des
TFTP-Servers, auch anders sein.
Beachten Sie, dass PXE
pxeboot lädt, und nicht den
Kernel. Es ist auch möglich, das Verzeichnis
/boot einer
&os;-CD-ROM von pxeboot laden zu
lassen. &man.pxeboot.8; kann einen
GENERIC-Kernel laden, dadurch ist es
möglich, PXE von einer entfernten
CD-ROM zu starten.Die Option
root-path bestimmt den Pfad des
root-Dateisystems in normaler NFS-Schreibweise. Wird
PXE verwendet, ist es möglich,
die IP-Adresse des Rechners wegzulassen, solange nicht
die Kerneloption BOOTP aktiviert wird. Der
NFS-Server entspricht in diesem Fall
dem TFTP-Server.Konfiguration bei Verwendung von BOOTPBOOTPplattenloser BetriebEs folgt nun eine der Konfiguration von DHCP
entsprechende Konfiguration (für einen Client) für
bootpd. Zu finden ist die
Konfigurationsdatei unter /etc/bootptab.
Beachten Sie bitte, dass
Etherboot mit der Option
NO_DHCP_SUPPORT kompiliert werden muss,
damit BOOTP verwendet werden kann. PXE
hingegen benötigt
DHCP. Der einzige offensichtliche
Vorteil von bootpd ist, dass es
bereits im Basissystem vorhanden ist..def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100Ein Startprogramm unter Verwendung von
Etherboot erstellenEtherbootDie
Internetseite von Etherboot enthält
ausführliche Informationen, die zwar vor allem
für Linux gedacht sind, aber dennoch nützliche
Informationen enthalten. Im Folgenden wird daher nur grob
beschrieben, wie Sie Etherboot auf
einem FreeBSD-System einsetzen können.Als Erstes müssen Sie
net/etherboot als Paket
oder als Port installieren.Sie können Etherboot so
konfigurieren, dass TFTP anstelle von
NFS verwendet wird, indem Sie die Datei
Config im Quellverzeichnis von
Etherboot bearbeiten.Für unsere Installation verwenden wir eine
Startdiskette. Für Informationen zu anderen Methoden
(PROM oder &ms-dos;-Programme) lesen Sie bitte die
Dokumentation zu Etherboot.Um eine Startdiskette zu erzeugen, legen Sie eine Diskette
in das Laufwerk des Rechners ein, auf dem Sie
Etherboot installiert haben. Danach
wechseln Sie in das Verzeichnis src des
Etherboot-Verzeichnisbaums und geben
Folgendes ein:&prompt.root; gmake bin32/devicetype.fd0devicetype hängt vom Typ
der Ethernetkarte ab, über die der plattenlose Rechner
verfügt. Lesen Sie dazu NIC im
gleichen Verzeichnis, um den richtigen Wert für
devicetype zu bestimmen.Das System mit PXE startenIn der Voreinstellung lädt der
&man.pxeboot.8;-Loader den Kernel über
NFS. Soll stattdessen
TFTP verwendet werden, muss beim
Kompilieren die Option
LOADER_TFTP_SUPPORT in der Datei
/etc/make.conf eingetragen sein. Sehen
Sie sich die Datei
/usr/share/examples/etc/make.conf
für weitere Anweisungen an.Es gibt zwei Optionen für
make.conf, die nützlich sein
können, wenn Sie eine plattenlose serielle Konsole
einrichten wollen:
BOOT_PXELDR_PROBE_KEYBOARD, und
BOOT_PXELDR_ALWAYS_SERIAL.Um PXE beim Systemstart zu verwenden,
müssen Sie im BIOS des Rechner die
Option Über das Netzwerk starten
aktivieren. Alternativ können Sie während der
PC-Initialisierung auch eine Funktionstaste drücken.
Serverkonfiguration - TFTP und
NFSTFTPplattenloser BetriebNFSplattenloser BetriebWenn Sie PXE oder
Etherboot so konfiguriert haben,
dass diese TFTP verwenden, müssen
Sie auf dem Dateiserver tftpd
aktivieren:Erzeugen Sie ein Verzeichnis, in dem
tftpd seine Dateien ablegt,
beispielsweise /tftpboot.Fügen Sie folgende Zeile in
/etc/inetd.conf ein:tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpbootAnscheinend benötigen zumindest einige
PXE-Versionen die
TCP-Version von
TFTP. Sollte dies bei Ihnen der
Fall sein, fügen Sie eine zweite Zeile ein, in der
Sie dgram udp durch
stream tcp ersetzen.Weisen Sie inetd an, seine
Konfiguration erneut einzulesen (Damit der folgende
Befehl funktioniert, muss die Option
in der Datei
/etc/rc.conf vorhanden sein.):&prompt.root; /etc/rc.d/inetd restartSie können das Verzeichnis
/tftpboot an einem beliebigen Ort auf dem
Server ablegen. Stellen Sie aber sicher, dass Sie diesen Ort
sowohl in inetd.conf als auch in
dhcpd.conf eingetragen haben.Außerdem müssen Sie NFS aktivieren und die
entsprechenden Verzeichnisse exportieren.Fügen Sie folgende Zeile in
/etc/rc.conf ein:nfs_server_enable="YES"Exportieren Sie das Verzeichnis, in dem sich das
Wurzelverzeichnis für den plattenlosen Betrieb
befindet, indem Sie folgende Zeile in
/etc/exports einfügen (passen
Sie dabei den mountpoint
an und ersetzen Sie
margaux corbieres durch den
Namen Ihres plattenlosen Rechners):/data/misc -alldirs -ro margauxWeisen sie nun mountd an,
seine Konfigurationsdatei erneut einzulesen. Wenn Sie
NFS erst in der Datei
/etc/rc.conf aktivieren mussten,
sollten Sie stattdessen den Rechner neu starten. Dadurch
wird die Konfigurationsdatei ebenfalls neu eingelesen.
&prompt.root; /etc/rc.d/mountd restartEinen plattenlosen Kernel erzeugenplattenloser BetriebKernelkonfigurationWenn Sie Etherboot verwenden,
müssen Sie in die Kernelkonfigurationsdatei Ihres
plattenlosen Clients zusätzlich folgende Optionen
einfügen:options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root file system using BOOTP infoAußerdem können Sie die Optionen
BOOTP_NFSV3,
BOOT_COMPAT sowie
BOOTP_WIRED_TO verwenden (sehen Sie sich
dazu auch die Datei NOTES an).Die Namen dieser Optionen sind historisch bedingt.
Sie ermöglichen eine unterschiedliche Verwendung von
DHCP und BOOTP innerhalb des Kernels.
Es ist auch möglich, eine strikte Verwendung von BOOTP
oder DHCP zu erzwingen.Erzeugen Sie den neuen Kernel (lesen Sie dazu auch
) und kopieren Sie ihn an den
in dhcpd.conf festgelegten Ort.Wenn Sie PXE verwenden, ist die
Erzeugung eines Kernels zwar nicht unbedingt nötig, sie
wird allerdings dennoch empfohlen. Die Aktivierung dieser
Optionen bewirkt, dass die Anzahl der möglichen
DHCP-Anforderungen während des
Kernelstarts erhöht wird. Ein kleiner Nachteil sind
eventuell auftretende Inkonsistenzen zwischen den neuen
Werten und den von &man.pxeboot.8; erhaltenen Werten. Der
große Vorteil dieser Variante ist es, dass dabei der
Rechnername gesetzt wird, den Sie ansonsten durch eine
andere Methode, beispielsweise in einer clientspezifischen
rc.conf-Datei festlegen müssten.
Damit der Kernel von
Etherboot geladen werden kann,
müssen device hints im
Kernel einkompiliert sein. Dazu setzen Sie normalerweise
folgende Option in die Kernelkonfigurationsdatei (sehen Sie
sich dazu auch die kommentierte Datei
NOTES an):hints "GENERIC.hints"Das root-Dateisystem erzeugenRoot-Dateisystemplattenloser BetriebSie müssen für den plattenlosen Rechner ein
root-Dateisystem erzeugen, und zwar an dem in
dhcpd.conf als
root-path festgelegten Ort.make world zum Füllen des
Dateisystems einsetzenDiese schnelle Methode installiert ein komplettes
jungfräuliches System (und nicht nur ein
root-Dateisystem) nach DESTDIR. Dazu
müssen Sie lediglich das folgende Skript
ausführen:#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make buildworld && make buildkernel
cd /usr/src/etc; make distributionDanach müssen Sie noch die dadurch in
DESTDIR erzeugten Dateien
/etc/rc.conf sowie
/etc/fstab Ihren Wünschen
anpassen.Den Auslagerungsbereich konfigurierenFalls nötig, kann eine auf dem
NFS-Server liegende Datei als
Auslagerungsdatei eingerichtet werden.Eine NFS-Auslagerungsdatei
einrichtenDer Kernel unterstützt beim Systemstart keine
NFS-Auslagerungsdatei. Diese muss daher
in den Startskripten aktiviert werden, indem ein
beschreibbares Dateisystem eingehängt wird, um dort
die Auslagerungsdatei zu erzeugen und zu aktivieren. Um
eine Auslagerungsdatei zu erzeugen, gehen Sie wie folgt
vor:&prompt.root; dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000Um die Auslagerungsdatei zu aktivieren, fügen Sie
folgende Zeile in rc.conf ein:swapfile=/path/to/swapfileVerschiedenesSchreibgeschütztes Dateisystem
/usrplattenloser Betrieb/usr schreibgeschütztWenn am plattenlosen Rechner X läuft, müssen
Sie die Konfigurationsdatei von
XDM anpassen, da Fehlermeldungen
in der Voreinstellung auf /usr
geschrieben werden.Der Server läuft nicht unter FreeBSDWenn das root-Dateisystem nicht auf einem
FreeBSD-Rechner liegt, muss das Dateisystem zuerst unter
FreeBSD erzeugt werden. Anschließend wird es
beispielsweise mit tar oder
cpio an den gewünschten Ort
kopiert.Dabei kann es Probleme mit den Gerätedateien
in /dev geben, die durch eine
unterschiedliche Darstellung der Major- und Minor-Number
von Geräten auf beiden Systemen hervorgerufen werden.
Eine Problemlösung besteht darin, das root-Verzeichnis
auf einem FreeBSD-Rechner einzuhängen und die
Gerätedateien dort mit &man.devfs.5; zu erzeugen.ISDN – diensteintegrierendes digitales NetzwerkISDNEine gute Quelle für Informationen zu ISDN ist die
ISDN-Seite von Dan Kegel.Welche Informationen finden Sie in diesem Abschnitt?Wenn Sie in Europa leben, könnte der Abschnitt
über ISDN-Karten für Sie interessant sein.Wenn Sie ISDN hauptsächlich dazu verwenden wollen, um
sich über einen Anbieter ins Internet einzuwählen,
sollten Sie den Abschnitt über Terminaladapter lesen.
Dies ist die flexibelste Methode, die auch die wenigsten
Probleme verursacht.Wenn Sie zwei Netzwerke miteinander verbinden, oder sich
über eine ISDN-Standleitung mit dem Internet verbinden
wollen, finden Sie entsprechende Informationen im Abschnitt
über Router und Bridges.Bei der Wahl der gewünschten Lösung sind die
entstehenden Kosten ein entscheidender Faktor. Die folgenden
Beschreibungen reichen von der billigsten bis zur teuersten
Variante.HellmuthMichaelisBeigetragen von ISDN-KartenISDNKartenDas ISDN-Subsystem von FreeBSD unterstützt den
DSS1/Q.931- (oder Euro-ISDN)-Standard nur für passive
Karten. Zusätzlich werden aber auch einige
aktive Karten unterstützt, bei denen die Firmware auch
andere Signalprotokolle unterstützt; dies schließt
auch die erste ISDN-Karte mit
Primärmultiplex-Unterstützung mit ein.isdn4bsd ermöglicht es
Ihnen, sich unter Nutzung von
IP over raw HDLC oder
synchronem PPP mit anderen ISDN-Routern zu
verbinden. Dazu verwenden Sie entweder Kernel-&man.ppp.8;
(via isppp, einem modifizierten
sppp-Treiber), oder Sie benutzen User-&man.ppp.8;. Wenn Sie
User-&man.ppp.8; verwenden, können Sie zwei oder mehrere
ISDN-B-Kanäle bündeln. Im Paket enthalten ist auch
ein Programm mit Anrufbeantworterfunktion sowie verschiedene
Werkzeuge, wie ein Softwaremodem, das 300 Baud
unterstützt.FreeBSD unterstützt eine ständig wachsende Anzahl
von PC-ISDN-Karten, die weltweit erfolgreich eingesetzt werden.
Von FreeBSD unterstützte passive ISDN-Karten enthalten
fast immer den ISAC/HSCX/IPAC ISDN-Chipsatz von Infineon
(ehemals Siemens). Unterstützt werden aber auch Karten mit
Cologne Chip (diese allerdings nur für den ISA-Bus),
PCI-Karten mit Winbond W6692 Chipsatz, einige Karten mit dem
Tiger 300/320/ISAC Chipsatz sowie einige Karten mit einem
herstellerspezifischen Chipsatz, wie beispielsweise die
Fritz!Card PCI V.1.0 und die Fritz!Card PnP von AVM.An aktiven ISDN-Karten werden derzeit die AVM B1 BRI-Karten
(ISA und PCI-Version) sowie die AVM T1 PRI-Karten (PCI-Version)
unterstützt.Informationen zu isdn4bsd finden
Sie im Verzeichnis
/usr/share/examples/isdn/ Ihres
FreeBSD-Systems, oder auf der
Internetseite
von isdn4bsd. Dort finden Sie auch
Verweise zu Tipps, Korrekturen, sowie weiteren Informationen,
wie dem
isdn4bsd-Handbuch.
Falls Sie an der Unterstützung eines zusätzlichen
ISDN-Protokolls, einer weiteren ISDN-Karte oder an einer anderen
Erweiterung von isdn4bsd interessiert
sind, wenden Sie sich bitte an &a.hm;.Für Fragen zur Installation, Konfiguration und zu
sonstigen Problemen von isdn4bsd gibt
es die Mailingliste &a.isdn.name;.ISDN-TerminaladapterTerminaladapterTerminaladapter (TA) sind für ISDN, was Modems für
analoge Telefonleitungen sind.ModemDie meisten Terminaladapter verwenden den
Standardbefehlssatz für Modems von Hayes (AT-Kommandos) und
können daher als Modemersatz verwendet werden.Ein Terminaladapter funktioniert prinzipiell wie ein Modem,
allerdings erfolgt der Verbindungsaufbau um einiges schneller.
Die Konfiguration von PPP entspricht
dabei exakt der eines Modems. Stellen Sie dabei allerdings
die serielle Geschwindigkeit so hoch wie möglich ein.
PPPDer Hauptvorteil bei der Verwendung eines Terminaladapters
zur Verbindung mit einem Internetanbieter ist die
Möglichkeit zur Nutzung von dynamischem PPP. Da
IP-Adressen immer knapper werden, vergeben die meisten Provider
keine statischen IP-Adressen mehr. Die meisten Router
unterstützen allerdings keine dynamische Zuweisung von
IP-Adressen.Der PPP-Daemon bestimmt die Stabilität und
Eigenschaften der Verbindung, wenn Sie einen Terminaladapter
verwenden. Daher können Sie unter FreeBSD einfach von
einer Modemverbindung auf eine ISDN-Verbindung wechseln, wenn
Sie PPP bereits konfiguriert haben. Allerdings bedeutet
dies auch, das bereits bestehende Probleme mit PPP auch unter
ISDN auftreten werden.Wenn Sie an maximaler Stabilität interessiert sind,
verwenden Sie Kernel-PPP, und
nicht das User-PPP.Folgende Terminaladapter werden von FreeBSD
unterstützt:Motorola BitSurfer und Bitsurfer ProAdtranDie meisten anderen Terminaladapter werden wahrscheinlich
ebenfalls funktionieren, da die Hersteller von Terminaladaptern
darauf achten, dass ihre Produkte den Standardbefehlssatz
möglichst gut unterstützen.Das wirkliche Problem mit einem externen Terminaladapter ist,
dass, ähnlich wie bei Modems, eine gute serielle Karte
eine Grundvoraussetzung ist.Sie sollten sich die
Anleitung für die Nutzung serieller Geräte unter
FreeBSD ansehen, wenn Sie detaillierte Informationen
über serielle Geräte und die Unterschiede zwischen
asynchronen und synchronen seriellen Ports benötigen.
Ein Terminaladapter, der an einem (asynchronen)
seriellen Standardport angeschlossen ist, beschränkt
Sie auf 115,2 Kbs. Dies
selbst dann, wenn Sie eine Verbindung mit 128 Kbs haben.
Um die volle Leistungsfähigkeit von ISDN (128 Kbs)
nutzen zu können, müssen Sie den Terminaladapter
daher an eine synchrone serielle Karte anschließen.Kaufen Sie keinen internen Terminaladapter in der Hoffnung,
damit das synchron/asynchron-Problem vermeiden zu können.
Interne Terminaladapter haben einen (asynchronen) seriellen
Standardportchip eingebaut. Der einzige Vorteil interner
Terminaladapter ist es, dass Sie ein serielles sowie ein
Stromkabel weniger benötigen.Eine synchrone Karte mit einem Terminaladapter ist
mindestens so schnell wie ein autonomer ISDN-Router,
und, in Kombination mit einem einfachen 386-FreeBSD-System,
wahrscheinlich flexibler.Die Entscheidung zwischen synchroner Karte/Terminaladapter
und einem autonomen ISDN-Router ist beinahe eine religiöse
Angelegenheit. Zu diesem Thema gibt es viele Diskussionen
in den Mailinglisten. Suchen Sie in den
Archiven
danach, wenn Sie an der kompletten Diskussion interessiert
sind.ISDN-Bridges und RouterISDNAutonome Bridge/RouterISDN-Bridges und Router sind keine Eigenheit von
FreeBSD oder eines anderen Betriebssystems. Für eine
vollständigere Beschreibung von Routing und
Netzwerkkopplungen mit einer Bridge informieren Sie sich
bitte durch weiterführende Literatur.In diesem Abschnitt werden die Begriffe Router und
Bridge synonym verwendet.ISDN-Router und Bridges werden immer günstiger und
damit auch immer beliebter. Ein ISDN-Router ist eine kleine
Box, die direkt an Ihr lokales Ethernet-Netzwerk angeschlossen
wird und sich mit einem Router oder einer Bridge verbindet.
Die eingebaute Software ermöglicht die Kommunikation
über PPP oder andere beliebte Protokolle.Ein Router ermöglicht einen deutlich höheren
Datendurchsatz als ein herkömmlicher Terminaladapter,
da er eine vollsynchrone ISDN-Verbindung nutzt.Das Hauptproblem mit ISDN-Routern und Bridges ist,
dass die Zusammenarbeit zwischen Geräten verschiedener
Hersteller nach wie vor ein Problem ist. Wenn Sie sich auf
diese Weise mit einem Internetanbieter verbinden wollen,
klären Sie daher vorher ab, welche Anforderungen Ihre
Geräte erfüllen müssen.Eine ISDN-Bridge ist eine einfache und wartungsarme
Lösung, zwei Netze, beispielsweise Ihr privates Netz
und Ihr Firmennetz, miteinander zu verbinden. Da Sie die
technische Ausstattung für beide Seiten kaufen müssen,
ist sichergestellt, dass die Verbindung funktionieren
wird.Um beispielsweise einen privaten Computer oder eine
Zweigstelle mit dem Hauptnetzwerk zu verbinden, könnte
folgende Konfiguration verwendet werden:Kleines Netzwerk (Privatnetz)10 base 2Das Netzwerk basiert auf der Bustopologie mit 10base2
Ethernet (Thinnet). Falls nötig, stellen
Sie die Verbindung zwischen Router und Netzwerkkabel mit einem
AUI/10BT-Transceiver her.
---Sun Workstation
|
---FreeBSD Rechner
|
---Windows 95
|
Autonomer Router
|
ISDN BRI Verbindung
10Base2 - EthernetWenn Sie nur einen einzelnen Rechner verbinden wollen,
können Sie auch ein Twisted-Pair-Kabel (Cross-Over)
verwenden, das direkt an den Router angeschlossen wird.Großes Netzwerk (Firmennetz)10 base TDieses Netzwerk basiert auf der Sterntopologie und 10baseT
Ethernet (Twisted Pair).
-------Novell Server
| H |
| ---Sun
| |
| U ---FreeBSD
| |
| ---Windows 95
| B |
|___---Autonomer Router
|
ISDN BRI Verbindung
ISDN NetzwerkdiagrammEin großer Vorteil der meisten Router und Bridges
ist es, dass man gleichzeitig zwei
unabhängige PPP-Verbindungen
zu zwei verschiedenen Zielen aufbauen kann. Diese
Funktion bieten die meisten Terminaladapter nicht. Die
Ausnahme sind spezielle (meist teure) Modelle, die über
zwei getrennte serielle Ports verfügen. Verwechseln Sie
dies aber nicht mit Kanalbündelung oder MPP.Dies kann sehr nützlich sein, wenn Sie eine
ISDN-Standleitung in Ihrem Büro haben, die sie
aufteilen wollen, ohne eine zusätzliche ISDN-Leitung
zu installieren. Ein ISDN-Router kann über einen B-Kanal
(64 Kbps) eine dedizierte Verbindung ins Internet aufbauen,
und gleichzeitig den anderen B-Kanal für eine separate
Datenverbindung nutzen. Der zweite B-Kanal kann beispielsweise
für ein- oder ausgehende Verbindungen verwendet werden.
Sie können ihn aber auch dynamisch mit dem ersten B-Kanal
bündeln, um Ihre Bandbreite zu erhöhen.IPX/SPXEine Ethernet-Bridge kann Daten nicht nur im IP-Protokoll,
sondern auch in beliebigen anderen Protokollen versenden.ChernLeeBeigetragen von NAT - Network Address TranslationÜberblicknatd&man.natd.8;, der Network-Address-Translation-Daemon von
FreeBSD, akzeptiert ankommende Raw-IP-Pakete, ändert den
Sender der Daten in den eigenen Rechner und leitet diese Pakete
in den ausgehenden IP-Paketstrom um, indem IP-Adresse und Port
des Senders so geändert werden, dass bei einer Antwort der
ursprüngliche Sender wieder bestimmt und die Daten an
ihn weitergeleitet werden können.Internet connection sharingNATDer häufigste Grund für die Verwendung von NAT ist
die gemeinsame Nutzung einer Internetverbindung.EinrichtungWegen der begrenzten Verfügbarkeit von IPv4-Adressen
und der gestiegenen Anzahl von Breitbandverbindungen über
Kabelmodem oder DSL, wird die gemeinsame Nutzung von
Internetverbindungen immer wichtiger. Der &man.natd.8;-Daemon
ermöglicht die Anbindung von mehreren Rechnern an das
Internet unter Nutzung einer gemeinsamen Verbindung und einer
IP-Adresse.Häufig soll ein über Kabelmodem oder DSL und eine
IP-Adresse an das Internet angebundener Rechner mehreren
Rechnern eines lokalen Netzwerks Internetdienste anbieten.Um dies zu ermöglichen, muss der FreeBSD-Rechner als
Gateway fungieren. Dazu sind zwei Netzkarten notwendig. Eine
für die Verbindung zum Internet, die zweite für die
Verbindung mit dem lokalen Netzwerk. Sämtliche Rechner
des lokalen Netzwerks sind über einen Hub oder einen Switch
miteinander verbunden.Es gibt verschiedene Möglichkeiten, ein LAN über
ein &os;-Gateway an das Internet anzubinden. Das folgende
Beispiel beschreibt ein Gateway, das zumindest zwei
Netzwerkkarten enthält. _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|Network LayoutEine derartige Netzwerkkonfiguration wird vor allem zur
gemeinsamen Nutzung einer Internetverbindung verwendet. Ein
Rechner des lokalen Netzwerks (LAN) ist mit
dem Internet verbunden. Alle anderen Rechner des lokalen
Netzwerks haben nur über diesen
Gateway-Rechner Zugriff auf das Internet.KernelKonfigurationKernelkonfigurationFolgende Optionen müssen in die
Kernelkonfigurationsdatei eingetragen werden:options IPFIREWALL
options IPDIVERTDie folgende Optionen können ebenfalls eingetragen
werden:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSEIn /etc/rc.conf tragen Sie Folgendes
ein:gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="" Richtet den Rechner als Gateway ein. Die
Ausführung von
sysctl net.inet.ip.forwarding=1
hätte den gleichen Effekt.Aktiviert die Firewallregeln in
/etc/rc.firewall beim
Systemstart.Ein vordefinierter Satz von Firewallregeln, der alle
Pakete durchlässt. Sehen Sie sich
/etc/rc.firewall an, wenn Sie diese
Option verwenden wollen.Die Netzkarte, die Pakete weiterleitet (und mit dem
Internet verbunden ist).Zusätzliche Konfigurationsoptionen, die beim
Systemstart an &man.natd.8; übergeben werden.Durch die Definition dieser Optionen in
/etc/rc.conf wird die Anweisung
natd -interface fxp0 beim Systemstart
ausgeführt. Dies kann aber auch manuell erfolgen.Falls Sie viele Optionen an &man.natd.8; übergeben
müssen, können Sie auch eine Konfigurationsdatei
verwenden. Dazu fügen Sie folgende Zeile in
/etc/rc.conf ein:natd_flags="-f /etc/natd.conf"Die Datei /etc/natd.conf enthält
verschiedene Konfigurationsoptionen, wobei jede Option in einer
Zeile steht. Das Beispiel im nächsten Abschnitt würde
folgende Konfigurationsdatei verwenden:redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80Wenn Sie eine Konfigurationsdatei verwenden wollen, sollten
Sie sich die Handbuchseite zu &man.natd.8; durchlesen,
insbesondere den Abschnitt über die Nutzung der Option
.Jedem Rechner und jeder Schnittstelle des lokalen Netzwerks
sollte eine IP-Adresse des im RFC 1918
definierten privaten Adressraums zugewiesen werden. Der
Standardgateway entspricht der internen IP-Adresse des
natd-Rechners.Im Beispiel werden den LAN-Clients A und
B die IP-Adressen
192.168.0.2 und
192.168.0.3 zugewiesen,
während die LAN-Netzkarte des
natd-Rechners die IP-Adresse
192.168.0.1 erhält. Der
natd-Rechner mit der IP-Adresse
192.168.0.1 wird als
Standardgateway für die Clients A und
B gesetzt. Die externe Netzkarte des
natd-Rechners muss für die
korrekte Funktion von &man.natd.8; nicht konfiguriert
werden.Ports umleitenWenn Sie &man.natd.8; verwenden, sind Ihre LAN-Clients von
aussen nicht erreichbar. LAN-Clients können zwar
Verbindungen nach aussen aufbauen, sind aber für
ankommende Verbindungen nicht erreichbar. Wenn Sie
Internetdienste auf einem LAN-Client anbieten wollen, haben Sie
daher ein Problem. Eine einfache Lösung ist die Umleitung
von bestimmten Internetports des
natd-Rechners auf einen LAN-Client.Beispielsweise könnte ein IRC-Server auf Client
A und ein Webserver auf Client
B laufen. Damit diese Konfiguration
funktioniert, müssen Verbindungen, die auf den Ports 6667
(IRC) und 80 (Web) ankommen, auf die entsprechenden Clients
umgeleitet werden.Dazu wird die Option unter
Nutzung folgender Syntax an &man.natd.8; übergeben: -redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]Für unser Beispiel heißt das: -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80Dadurch werden die entsprechenden
tcp-Ports auf die jeweiligen LAN-Clients
umgeleitet.Mit können auch ganze
Portbereiche statt einzelner Ports umgeleitet werden. So werden
mit tcp 192.168.0.2:2000-3000
2000-3000 alle Verbindungen, die auf den Ports
2000 bis 3000 ankommen, auf die entsprechenden Ports des Clients
A umgeleitet.Diese Optionen können während des Betriebs von
&man.natd.8; oder über die Option
natd_flags="" in
/etc/rc.conf gesetzt werden.Eine ausführliche Konfigurationsanleitung finden Sie
in &man.natd.8;.Adressen umleitenaddress redirectionDie Umleitung von Adressen ist nützlich, wenn mehrere
IP-Adressen verfügbar sind, die aber alle auf einem Rechner
verbleiben sollen. In diesem Fall kann &man.natd.8; jedem
LAN-Client eine eigene externe IP-Adresse zuweisen. Ausgehende
Pakete eines LAN-Clients werden so der entsprechenden
externen IP-Adresse des Clients zugeordnet. Ankommender Verkehr
für diese IP-Adresse wird automatisch an den entsprechenden
LAN-Client weitergeleitet. Diesen Vorgang bezeichnet man
auch als statisches NAT. Dem
natd-Gatewayrechner könnten
beispielsweise die IP-Adressen
128.1.1.1,
128.1.1.2 sowie
128.1.1.3 zugewiesen werden.
128.1.1.1 wird als die externe
IP-Adresse des natd-Gatewayrechners
verwendet, während 128.1.1.2
und 128.1.1.3 an die LAN-Clients
A und B weitergegeben werden.
benutzt folgende
Syntax:-redirect_address localIP publicIPlocalIPDie interne IP-Adresse des LAN-ClientspublicIPDie externe IP-Adresse des LAN-ClientsFür unser Beispiel hieße dies:-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3Analog zur Option
können Sie diese Argumente auch in der Option
natd_flags="" in
/etc/rc.conf angeben. Bei der Nutzung
der Adressumleitung ist die Portumleitung überflüssig,
weil alle für eine bestimmte IP-Adresse ankommenden Daten
umgeleitet werden.Die externe IP-Adresse des
natd-Rechners muss aktiv sein und
der externen Netzkarte zugewiesen sein. Weitere Informationen
zu diesem Thema finden Sie in &man.rc.conf.5;.PLIP – Parallel Line IPPLIPParallel Line IPPLIPPLIP ermöglicht TCP/IP-Verbindungen zwischen zwei
Rechnern, die über ihre parallelen Schnittstellen
verbunden sind. Eine solche Verbindung ist nützlich,
wenn zwei Rechner nicht mit Netzkarten ausgestattet sind,
oder wenn eine Installation auf einem Laptop erfolgen soll.
Dieser Abschnitt behandelt folgende Themen:Die Herstellung eines parallelen (Laplink-) KabelsDie Verbindung von zwei Computern über PLIPEin paralleles Kabel herstellenEin paralleles (Laplink-)Kabel können Sie in fast jedem
Computergeschäft kaufen. Falls dies nicht möglich
sein sollte, oder Sie einfach wissen wollen, wie ein solches
Kabel aufgebaut ist, sollten Sie sich die folgende Tabelle
ansehen. Sie beschreibt die Herstellung eines parallelen
Netzwerkkabels aus einem gewöhnlichen parallelen
Druckerkabel.
PLIP einrichtenAls Erstes benötigen Sie ein Laplink-Kabel. Danach
müssen Sie sicherstellen, dass beide Computerkernel den
&man.lpt.4;-Treiber unterstützen:&prompt.root; grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven portDer Parallelport muss Interrupt-gesteuert sein, daher
sollte die Datei /boot/device.hints
zwei Zeilen ähnlich den folgenden enthalten:hint.ppc.0.at="isa"
hint.ppc.0.irq="7"Danach überprüfen Sie, ob die
Kernelkonfigurationsdatei die Zeile
device plip enthält, oder ob das
Kernelmodul plip.ko geladen wurde. In
beiden Fällen sollte die parallele Schnittstelle
von &man.ifconfig.8; angezeigt werden:&prompt.root; ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500Verbinden Sie die parallelen Schnittstellen der beiden
Computer über das (Laplink-)Kabel.Konfigurieren Sie die Netzwerkparameter auf beiden Rechnern
als root. Wenn Sie beispielsweise den Rechner
host1 mit dem Rechner host2
verbinden wollen, gehen Sie folgendermaßen vor: host1 <-----> host2
IP Address 10.0.0.1 10.0.0.2Richten Sie die parallele Schnittstelle von
host1 ein, indem Sie Folgendes eingeben:&prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2Danach richten Sie die parallele Schnittstelle von
host2 ein:&prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1Sie sollten nun über eine funktionierende Verbindung
verfügen. Bei Problemen lesen Sie bitte die Hilfeseiten
&man.lp.4; sowie &man.lpt.4;.Zusätzlich sollten beide Rechner in
/etc/hosts eingetragen werden:127.0.0.1 localhost.my.domain localhost
10.0.0.1 host1.my.domain host1
10.0.0.2 host2.my.domainUm die Verbindung zu überprüfen, pingen Sie jeden
Rechner vom anderen Rechner aus an. Auf host1
gehen Sie dazu folgendermaßen vor:&prompt.root; ifconfig plip0
plip0: 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
host2 host1 UH 0 0 plip0
&prompt.root; ping -c 4 host2
PING host2 (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
--- host2 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 msAaronKaplanBeigetragen von TomRhodesÜberarbeitet und erweitert von BradDavisErweitert von IPv6 – Internet Protocol Version 6Bei IPv6 (auch als IPng oder
IP next generation
bekannt) handelt es sich um die neueste Version des bekannten
IP-Protokolls (das auch als IPv4 bezeichnet
wird). FreeBSD enthält, genauso wie die anderen frei
erhältlichen BSD-Systeme, die IPv6-Referenzimplementation
von KAME. FreeBSD erfüllt damit bereits
alle für die Nutzung von IPv6 nötigen Voraussetzungen.
Dieser Abschnitt konzentriert sich daher auf die Konfiguration
und den Betrieb von IPv6.Anfang der 90er Jahre wurde man auf den stark steigenden
Verbrauch von IPv4-Adressen aufmerksam. Im Hinblick auf das
Wachstums des Internets gab es zwei Hauptsorgen:Die drohende Knappheit von IPv4-Adressen. Dieses Problem
konnte durch die Einführung von privaten
Adressräumen gemäß RFC1918 (mit Adressen wie
10.0.0.0/8,
172.16.0.0/12, oder
192.168.0.0/16) sowie der
Entwicklung von Network Address
Translation (NAT)
weitestgehend entschärft werden.Die immer größer werdenden Einträge in
Router-Tabellen. Dieses Problem ist auch heute noch
aktuell.IPv6 ist in der Lage, diese, aber auch viele andere Probleme
zu lösen:IPv6 hat einen 128 Bit großen Adressraum. Es sind
also theoretisch
340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen
verfügbar. In anderen Worten: Für jeden
Quadratmeter der Erdoberfläche sind etwa
6,67 * 10^27 IPv6-Adressen verfügbar.Router speichern nur noch Netzwerk-Aggregationsadressen in
Ihren Routingtabellen. Dadurch reduziert sich die
durchschnittliche Größe einer Routingtabelle auf
8192 Einträge.Weitere nützliche Eigenschaften von IPv6 sind:Die automatische Konfiguration von Adressen, die im
RFC2462
beschrieben wird.Anycast-Adressen (eine-von-vielen)Verpflichtende Multicast-AdressenDie Unterstützung von IPsec (IP-Security)Eine vereinfachte HeaderstrukturMobile IP-AdressenDie Umwandlung von IPv4- in IPv6-AdressenWeitere Informationsquellen:Beschreibung von IPv6 auf
playground.sun.comKAME.netHintergrundinformationen zu IPv6-AdressenEs gibt verschiedene Arten von IPv6-Adressen: Unicast-,
Anycast- und Multicast-Adressen.Unicast-Adressen sind die herkömlichen Adressen. Ein
Paket, das an eine Unicast-Adresse gesendet wird, kommt nur an
der Schnittstelle an, die dieser Adresse zugeordnet ist.Anycast-Adressen unterscheiden sich in ihrer Syntax nicht
von Unicast-Adressen, sie wählen allerdings aus
mehreren Schnittstellen eine Schnittstelle aus.
Ein für eine Anycast-Adresse
bestimmtes Paket kommt an der nächstgelegenen
(entsprechend der Router-Metrik) Schnittstelle
an. Anycast-Adressen werden nur von Routern verwendet.Multicast-Adressen bestimmen Gruppen, denen mehrere
Schnittstellen angehören. Ein
Paket, das an eine Multicast-Adresse geschickt wird, kommt an
allen Schnittstellen an, die zur Multicast-Gruppe gehören.Die von IPv4 bekannte Broadcast-Adresse
(normalerweise
xxx.xxx.xxx.255) wird bei IPv6
durch Multicast-Adressen verwirklicht.
Reservierte IPv6-AdressenIPv6-AdressePräfixlängeBeschreibungAnmerkungen::128 Bitnicht festgelegtentspricht 0.0.0.0
bei IPv4::1128 BitLoopback-Adresseentspricht 127.0.0.1
bei IPv4::00:xx:xx:xx:xx96 BitEingebettete IPv4-AdresseDie niedrigen 32 Bit entsprechen der IPv4-Adresse.
Wird auch als IPv4-kompatible IPv6-Adresse
bezeichnet.::ff:xx:xx:xx:xx96 BitEine auf IPv6 abgebildete IPv4-AdresseDie niedrigen 32 Bit entsprechen der IPv4-Adresse.
Notwendig für Rechner, die IPv6 nicht
unterstützen.fe80:: - feb::10 Bitlink-localEntspricht der Loopback-Adresse bei IPv4fec0:: - fef::10 Bitsite-localff::8 BitMulticast001
(im Dualsystem)3 BitGlobaler UnicastAlle globalen Unicastadressen stammen aus diesem
Pool. Die ersten 3 Bit lauten 001.
IPv6-Adressen verstehenDie kanonische Form von IPv6-Adressen lautet
x:x:x:x:x:x:x:x, jedes
x steht dabei für einen
16-Bit-Hexadezimalwert. Ein Beispiel für eine IPv6-Adresse
wäre etwa
FEBC:A574:382B:23C1:AA49:4592:4EFE:9982.Eine IPv6-Adresse enthält oft Teilzeichenfolgen aus lauter
Nullen. Eine solche Zeichenfolge kann zu ::
verkürzt werden. Bis zu drei führende Nullen eines
Hexquads können ebenfalls weggelassen werden.
fe80::1 entspricht also der Adresse
fe80:0000:0000:0000:0000:0000:0000:0001.
Eine weitere Möglichkeit ist die Darstellung der
letzten 32 Bit in der bekannten (dezimalen) IPv4-Darstellung,
bei der Punkte (.) zur Trennung verwendet werden.
2002::10.0.0.1 ist also nur eine
andere Schreibweise für die (hexadezimale) kanonische Form
2002:0000:0000:0000:0000:0000:0a00:0001,
die wiederum der Adresse
2002::a00:1 entspricht.Sie sollten nun in der Lage sein, die folgende Ausgabe zu
verstehen:&prompt.root; ifconfig
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
ether 00:00:21:03:08:e1
media: Ethernet autoselect (100baseTX )
status: activeBei
fe80::200:21ff:fe03:8e1%rl0
handelt es sich um eine automatisch konfigurierte
link-local-Adresse. Sie
wird im Rahmen der automatischen Konfiguration aus der
MAC-Adresse erzeugt.Weitere Informationen zum Aufbau von IPv6-Adressen finden
Sie im
RFC3513.Eine IPv6-Verbindung herstellenEs gibt derzeit drei Möglichkeiten, sich mit anderen
IPv6-Rechnern oder Netzwerken zu verbinden:Die Teilnahme am IPv6-Netzwerk Ihres Providers.
Wenn Sie daran interessiert sind, wenden Sie sich an Ihren
Provider.Die Verwendung eines 6-nach-4-Tunnels
(RFC3068).Die Verwendung des Ports
/usr/ports/net/freenet6 bei der Einwahl
ins Internet.DNS in der IPv6-WeltUrsprünglich gab es zwei verschiedene DNS-Einträge
für IPv6. Da A6-Einträge von der IETF für
obsolet erklärt wurden, sind AAAA-Einträge nun
Standard.Weisen Sie die erhaltene IPv6-Adresse Ihrem Rechnernamen zu,
indem Sie den EintragMYHOSTNAME AAAA MYIPv6ADDRin Ihre primäre DNS-Zonendatei einfügen. Falls
Sie nicht für Ihre DNS-Zone
verantwortlich sind, bitten Sie den dafür
Zuständigen, diese Änderung durchzuführen.
Die aktuellen Versionen von bind
(Version 8.3 oder 9) sowie
dns/djbdns (bei Verwendung
des IPv6-Patches) unterstützen AAAA-Einträge./etc/rc.conf für die Nutzung von
IPv6 anpassenEinen Client unter IPv6 einrichtenDieser Abschnitt beschreibt die Konfiguration eines
Rechners, der in Ihrem LAN als Client, aber nicht als Router
verwendet wird. Um die Schnittstelle während des
Systemstarts mit &man.rtsol.8; automatisch einzurichten,
fügen Sie folgende Zeile in
/etc/rc.conf ein:ipv6_enable="YES"Durch die folgende Zeile weisen Sie Ihrer Schnittstelle
fxp0 die statische IP-Adresse 2001:471:1f11:251:290:27ff:fee0:2093
zu:ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"Um 2001:471:1f11:251::1
als Standardrouter festzulegen, fügen Sie folgende Zeile
in /etc/rc.conf ein:ipv6_defaultrouter="2001:471:1f11:251::1"Gateways und Router unter IPv6 einrichtenDieser Abschnitt beschreibt, wie Sie Ihren Rechner mit
Hilfe der von Ihrem Tunnel-Anbieter erhaltenen
Anweisungen dauerhaft für die Nutzung von IPv6
einrichten. Um den Tunnel beim Systemstart
wiederherzustellen, passen Sie
/etc/rc.conf wie folgt an:Listen Sie die einzurichtenden Tunnelschnittstellen
(hier gif0) auf:gif_interfaces="gif0"Um den lokalen Endpunkt
MY_IPv4_ADDR über diese
Schnittstelle mit dem entfernten Endpunkt
REMOTE_IPv4_ADDR zu
verbinden, verwenden Sie folgende Zeile:gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"Um die Ihnen zugewiesene IPv6-Adresse als Endpunkt Ihres
IPv6-Tunnels zu verwenden, fügen Sie folgende Zeile
ein:ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"Nun müssen Sie nur noch die IPv6-Standardroute
angeben. Diese legt das andere Ende des IPv6-Tunnels
fest.ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"Einen IPv6-Tunnel einrichtenWenn Ihr Server IPv6-Verkehr zwischen Ihrem Netzwerk und
der Außenwelt routen muss, benötigen Sie
zusätzlich die folgenden Zeilen in Ihrer
/etc/rc.conf:ipv6_gateway_enable="YES"Bekanntmachung von Routen und automatische
RechnerkonfigurationDieser Abschnitt beschreibt die Einrichtung von
&man.rtadvd.8;, das Sie bei der Bekanntmachung der
IPv6-Standardroute unterstützt.Um &man.rtadvd.8; zu aktivieren, fügen Sie folgende
Zeile in /etc/rc.conf ein:rtadvd_enable="YES"Es ist wichtig, die Schnittstelle anzugeben, über die
IPv6-Routen bekanntgemacht werden sollen. Soll &man.rtadvd.8;
fxp0 verwenden, ist folgender Eintrag
nötig:rtadvd_interfaces="fxp0"Danach erzeugen Sie die Konfigurationsdatei
/etc/rtadvd.conf. Dazu ein Beispiel:fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:Ersetzen Sie dabei fxp0 durch die
zu verwendende Schnittstelle.Anschließend ersetzen Sie
2001:471:1f11:246:: durch das
Präfix der Ihnen zugewiesenen Verbindung.Wenn Sie eine /64-Netzmaske
verwenden, müssen Sie keine weiteren Anpassungen vornehmen.
Anderenfalls müssen Sie prefixlen#
auf den korrekten Wert setzen.HartiBrandtBeigetragen von ATM - Asynchronous Transfer ModeClassical IP over ATM
als PVC-Verbindung einrichtenClassical IP over ATM
(CLIP) ist die einfachste Möglichkeit,
um IP-Verkehr über ATM (Asynchronous
Transfer Mode-Verbindungen zu übertragen.
CLIP kann sowohl mit geschalteten Verbindungen (SVCs) als auch
mit permanenten Verbindungen (PVCs) verwendet werden. Dieser
Abschnitt beschreibt die Einrichtung eines PVC-basierten
Netzwerks.Ein vollständig vermaschtes Netzwerk aufbauenBei einem vollständig vermaschten
(fully meshed) Netzwerk ist
jeder Rechner über eine dezidierte Verbindung mit jedem
anderen Rechner des Netzwerks verbunden. Die Konfiguration
ist - vor allem für kleinere Netzwerke - relativ einfach.
Unser Beispielnetzwerk besteht aus vier Rechnern, die jeweils
über eine
ATM-Adapterkarte
mit dem
ATM-Netzwerk
verbunden sind. Als ersten Konfigurationsschritt planen wir
die Vergabe von IP-Adressen sowie die anzulegenden
ATM-Verbindungen:
RechnerIP-AdressehostA192.168.173.1hostB192.168.173.2hostC192.168.173.3hostD192.168.173.4Um ein vollständiges Netz aufzubauen, benötigen
wir für jedes Rechnerpaar eine eigene ATM-Verbindung:RechnerpaarVPI.VCI-PaarhostA - hostB0.100hostA - hostC0.101hostA - hostD0.102hostB - hostC0.103hostB - hostD0.104hostC - hostD0.105Die Werte VPI und VCI an den Verbindungsenden können
natürlich unterschiedlich sein. Wir nehmen hier aber an,
dass sie gleich sind. Nun müssen wir die
ATM-Schnittstellen auf jedem Rechner einrichten:hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 upDabei setzen wir voraus, dass
hatm0 auf allen Rechnern die
ATM-Schnittstelle darstellt. Danach werden, beginnend mit
hostA, die PVCs auf den einzelnen Rechnern
eingerichtet (Wir nehmen an, dass die PVCs auf den
ATM-Switches bereits eingerichet sind. Lesen Sie die
entsprechenden Handbücher, wenn Sie einen Switch
einrichten müssen.):hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubrStatt UBR können auch andere
traffic contracts verwendet
werden. Voraussetzung ist allerdings, dass diese von Ihrem
ATM-Adapter unterstützt werden. Ist dies der Fall,
folgen auf den Namen des
traffic contracts die
entsprechenden Konfigurationsparameter. Weitere Informationen
zur Konfiguration von ATM-Adapterkarten erhalten Sie über
den Befehl&prompt.root; atmconfig help natm addoder durch das Lesen von &man.atmconfig.8;.Die Konfiguration von ATM-Adaptern kann auch über die
Datei /etc/rc.conf erfolgen. Für
hostA sähe die Konfiguration so
aus:network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"Mit dem folgenden Befehl lässt sich der derzeitige
Status aller CLIP-Routen anzeigen:hostA&prompt.root; atmconfig natm showTomRhodesBeigetragen von CARP - Common Access Redundancy ProtocolCARPCommon Access Redundancy Protocol (CARP)Das Common Access Redundancy
Protocol (CARP) erlaubt es,
mehreren Rechnern die gleiche IP-Adresse
zuzuweisen. Durch ein solches Vorgehen läßt sich
beispielsweise die Verfügbarkeit bestimmter Dienste
verbessern oder die Last zwischen einzelnen Systemen besser
verteilen. Den auf diese Art und Weise konfigurierten Systemen
kann zusätzlich eine eigene (im Netzwerk eindeutige)
IP-Adresse zugewiesen werden (wie dies auch
im folgenden Beispiel erfolgt).Um CARP zu aktivieren, müssen Sie die
&os;-Kernelkonfigurationsdatei um die folgende Option erweitern
und danach den &os;-Kernel neu bauen:device carpDanach ist CARP auf Ihrem System
verfügbar und kann über verschiedene
sysctl-Optionen (OIDs)
gesteuert werden. Zuerst müssen Sie CARP
jedoch mit ifconfig aktivieren:&prompt.root; ifconfig carp0 createDamit Sie dieses Protokoll in Ihrem Netzwerk einsetzen
können, muss jede Netzkarte eine eindeutige
Identifikationsnummer, die sogenannte VHID
(Virtual Host Identification),
besitzen, da sich ansonsten die Rechner Ihres Netzwerks nicht
voneinander unterscheiden lassen.Die Serververfügbarkeit mit CARP
verbessernWie bereits weiter oben erwähnt wurde, können Sie
CARP dazu verwenden, die Verfübarkeit
Ihrer Server zu verbessern. Im folgenden Bespiel werden
insgesamt drei Server (mit jeweils eigener, eindeutiger
IP-Adresse), die alle den gleichen Inhalt
anbieten, in einer Round Robin
DNS-Konfiguration eingerichtet.
Der Backup-Server verfügt über zwei
CARP-Schnittstellen (für die beiden
IP-Adressen der Content-Server). Tritt bei
einem Content-Server ein Problem auf, übernimmt der
Backup-Server die IP-Adresse des
ausgefallenen Servers. Dadurch sollte die Auswahl eines Servers
vom Anwender nicht bemerkt werden. Der Backup-Server muss
identisch konfiguriert sein und die gleichen Daten und Dienste
anbieten wie das System, das er ersetzen soll.Die beiden Content-Server werden (abgesehen von ihren
jeweiligen Hostnamen und VHIDs) identisch
konfiguriert und heißen in unserem Beispiel
hosta.example.org beziehungsweise
hostb.example.org. Damit Sie
CARP einsetzen können, müssen
Sie als Erstes die Datei rc.conf auf
beiden Systemen anpassen. Für das System
hosta.example.org nehmen Sie dazu folgende
Zeilen in rc.conf auf:hostname="hosta.example.org"
ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24"Für das System hostb.example.org
benötigen Sie zusätzlich folgende Zeilen in
rc.conf:hostname="hostb.example.org"
ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"Achten Sie unbedingt darauf, dass die durch die Option
an ifconfig
übergebenen Passwörter auf beiden Systemen
identisch sind, da
carp-Geräte nur mit Systemen
kommunizieren können, die über ein korrektes Passwort
verfügen. Beachten Sie weiters, dass sich die
VHIDs der beiden Systeme unterscheiden
müssen.Nun richten Sie noch das dritte System,
provider.example.org, ein, das aktiviert
wird, wenn eines der beiden zuvor konfigurierten Systeme
ausfällt. Dieses dritte System benötigt zwei
carp-Geräte, um bei Bedarf
eines der beiden anderen
Systeme ersetzen zu können. Dazu konfigurieren Sie
rc.conf analog zur folgenden
Beispielkonfiguration:hostname="provider.example.org"
ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
cloned_interfaces="carp0 carp1"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"Durch die beiden carp-Geräte
ist es provider.example.org möglich,
festzustellen, ob eines der beiden anderen Systeme nicht mehr
reagiert. In diesem Fall übernimmt
provider.example.org die
IP-Adresse des betroffenen Systems.Ist im installierten &os;-Kernel die Option
"preemption" aktiviert, kann es sein, dass
provider.example.org die übernommene
IP-Adresse nicht mehr an den
Content-Server zurückgibt (wenn dieser wieder
funktioniert). In diesem Fall muss ein Administrator die
entsprechende Schnittstelle zurücksetzen.
Dazu gibt er auf dem Rechner
provider.example.org den folgenden
Befehl ein:&prompt.root; ifconfig carp0 down && ifconfig carp0 upDieser Befehl muss auf das
carp-Gerät ausgeführt
werden, das dem betroffenen System zugeordnet ist.Damit ist CARP vollständig
konfiguriert und der Testbetrieb kann beginnen. Zuvor
müssen Sie allerdings noch alle Systeme neu starten
(beziehungsweise die Netzwerkkonfiguration auf allen
Systemen neu einlesen), um die Einstelllungen zu
übernehmen.Für weitere Informtionen lesen Sie bitte die Manualpage
&man.carp.4;.
diff --git a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
index 7033e69bda..1ad4eb750c 100644
--- a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
@@ -1,5177 +1,5187 @@
JimMockÜberarbeitet und teilweise neu
geschrieben von RandyPrattDer Gang durch sysinstall und alle
Bildschirmabzüge von MartinHeinenÜbersetzt von &os; installierenÜbersichtInstallation&os; wird mit dem textorientierten Programm
sysinstall installiert. Distributoren
können ein anderes Installationsprogramm verwenden,
voreingestellt ist jedoch sysinstall.
Dieses Kapitel zeigt Ihnen, wie Sie mithilfe von
sysinstall &os; installieren.Dieses Kapitel behandelt folgende Punkte:Das Erzeugen von &os;-Startdisketten.Wie &os; Platten anspricht und aufteilt.Wie sysinstall
ausgeführt wird.Die Menüs von sysinstall
und die erforderlichen Eingaben in den Menüs.Bevor Sie dieses Kapitel lesen, sollten SieDie Hardware-Notes der &os;-Release, die Sie
installieren wollen, lesen und sicherstellen, dass
Ihre Hardware unterstützt wird.Diese Installationsanleitung gilt für Rechner
mit &i386;-Architektur (PC-kompatible Rechner). Abweichende
Anweisungen für andere Plattformen (beispielsweise Alpha)
werden wo notwendig gegeben. Obwohl diese Anleitung so aktuell
wie möglich ist, kann das Installationsverfahren
von dem hier gezeigten geringfügig abweichen.
Legen Sie bitte daher diese Anleitung nicht
wortwörtlich aus, sondern lassen Sie sich von
diesem Kapitel durch den Installationsprozess leiten.Hardware-AnforderungenMinimalkonfigurationDie zur Installation von &os; erforderliche
Minimalkonfiguration hängt von der zu installierenden
&os;-Version sowie von der Hardware-Architektur ab.Informationen zur jeweiligen Minimalkonfiguration finden
Sie in Installation Notes auf der Unterseite Release
Information der &os;-Internetseiten. Die folgenden
Abschnitte fassen diese Informationen zusammen. Je nachdem,
wie Sie &os; installieren, benötigen Sie eventuell auch
ein Diskettenlaufwerk, ein unterstütztes CD-ROM-Laufwerk,
oder auch eine Netzwerkkarte. des Handbuchs enthält
weitere Informationen zu den verschiedenen
Installationsarten.Die i386- und pc98-ArchitekturSowohl &os;/i386 als auch &os;/pc98 benötigen
jeweils mindestens einen 486-Prozessor sowie mindestens
24 MB RAM. Außerdem benötigen Sie für
eine Minimalinstallation mindestens 150 MB freien
Platz auf Ihrer Festplatte.In den meisten derartigen Konfigurationen ist es
besser, für mehr RAM und mehr Plattenplatz zu sorgen,
statt einen schnelleren Prozessor einzubauen.Die Alpha-ArchitekturUm &os;/alpha zu installieren, benötigen Sie
eine unterstützte Plattorm (lesen Sie dazu auch
des
Handbuchs) sowie eine
seperate Festplatte für die &os;-Installation.
Es ist nicht derzeit möglich, die Platte mit einem
weiteren Betriebssystem zu teilen. Diese seperate Platte
muss an einen SCSI-Controller angeschlossen sein, der von
der SRM-Firmware unterstützt wird. Alternativ
können Sie auch eine IDE-Platte verwenden, wenn Ihr
SRM das Starten von IDE-Platten unterstützt.Für die &os;-Installation benötigen Sie die
SRM-Konsolen-Firmware für Ihre Plattform. Manchmal
ist es möglich, zwischen der AlphaBIOS-Firmware
(auch ARC genannt) und SRM zu wechseln. Ist dies bei
Ihnen nicht möglich, müssen Sie sich die neue
Firmware von der Internetseite Ihres Herstellers
herunterladen.Die amd64-Architektur&os;/amd64 benötigt für den Betrieb
mindestens einen AMD Athlon 64-,
AMD Athlon 64-FX-, oder einen
AMD Opteron-Prozessor.Wenn Sie einen auf dem Chipsatz nVidia nForce3 Pro-150
basierenden Rechner haben, müssen
Sie im BIOS das IO-APIC deaktivieren. Erlaubt ihr BIOS
dies nicht, müssen Sie stattdessen ACPI deaktivieren.
Der Grund dafür sind Fehler im Pro-150-Chipsatz, die
bis jetzt nicht behoben werden konnten.Die &sparc64;-ArchitekturUm &os;/&sparc64; zu installieren, benötigen Sie
eine unterstützte Plattform (lesen Sie dazu auch
des
Handbuchs).Sie benötigen außerdem eine seperate
Festplatte, wenn Sie &os;/&sparc64; installieren wollen,
da es derzeit leider noch nicht möglich ist, die
Platte mit einem weiteren Betriebssystem zu teilen.Unterstützte HardwareDie Hardware-Notes, die mit jedem &os;-Release
ausgeliefert werden, enthalten eine Liste lauffähiger
Hardware. Die Hardware-Notes befinden sich üblicherweise
in der Datei HARDWARE.TXT im
Wurzelverzeichnis der Distribution (CD-ROM oder FTP).
Sie können die Hardware-Notes außerdem im
Dokumentationsmenü von
sysinstall oder auf der Webseite
Release Information
lesen.Vor der InstallationErstellen Sie eine GerätelisteBevor Sie &os; installieren, erfassen Sie die Komponenten
Ihres Rechners. Die &os;-Installation wird die Komponenten
(Festplatten, Netzwerkkarten, CD-ROM-Laufwerke) zusammen
mit der Modellbezeichnung und des Herstellers anzeigen.
&os; wird auch versuchen, die richtige Konfiguration der
Geräte zu ermitteln. Dazu gehören die benutzten
Interrupts (IRQ) und IO-Ports. Wegen der Unwägbarkeiten
von PC-Hardware kann die Konfiguration der Geräte
allerdings fehlschlagen. In diesem Fall müssen Sie
die von &os; ermittelte Konfiguration korrigieren.Wenn Sie schon ein anderes Betriebssystem, wie &windows;
oder Linux installiert haben, können Sie die
Hardware-Konfiguration mit den Mitteln dieses Betriebssystems
bestimmen. Wenn Sie nicht sicher sind, welche Einstellungen
eine Erweiterungskarte besitzt, sehen Sie auf der Karte
selbst nach. Manchmal sind die Einstellungen dort
aufgedruckt. Gebräuchliche IRQs sind 3,
5 und 7. Die
Adressen von IO-Ports werden normalerweise hexadezimal,
zum Beispiel 0x330, angegeben.Halten Sie die Gerätekonfiguration vor der
Installation in einer Tabelle wie der nachstehenden fest:
GerätekonfigurationGerätIRQIO-PortsAnmerkungerste Festplatte--40 GB, Seagate, erster IDE-MasterCD-ROM--erster IDE-Slavezweite Festplatte--20 GB, IBM, zweiter IDE-Mastererster IDE-Controller140x1f0Netzwerkkarte--&intel; 10/100Modem--&tm.3com; 56K Faxmodem, an COM1…
Nachdem Sie wissen, über welche Hardware Ihr Rechner
verfügt, müssen Sie diese Informationen mit den
Hardwareanforderungen der zu installierenden &os;-Version
abgleichen.Sichern Sie Ihre DatenWenn der Rechner, auf dem Sie &os; installieren wollen,
wichtige Daten enthält, sichern Sie bitte diese Daten.
Prüfen Sie auch, dass Sie die Daten aus der Sicherung
wiederherstellen können, bevor Sie &os; installieren.
Die &os;-Installation fragt zwar nach, bevor Sie Daten auf Ihre
Festplatte schreibt, Ihre Daten sind allerdings unwiderruflich
verloren, wenn der Installationsvorgang einmal angelaufen
ist.Den Installationsort von &os; festlegenWenn Sie die gesamte Festplatte für &os; verwenden
wollen, müssen Sie sich an dieser Stelle keine weiteren
Gedanken machen – lesen Sie bitte im nächsten Abschnitt
weiter.Wenn Sie allerdings &os; neben anderen Betriebssystemen
betreiben wollen, müssen Sie wissen, wie Daten auf
einer Festplatte abgelegt werden und welche Auswirkungen
dies hat.Platteneinteilung von &i386;-SystemenEine PC-Festplatte wird in einzelne Bereiche unterteilt,
die Partitionen heißen.
&os; verwendet intern ebenfalls Partitionen. Um
Verwechslungen und Unklarheiten zu vermeiden, werden diese
Plattenbereiche unter &os; als Slices bezeichnet. So
verwendet beispielsweise das Werkzeug
fdisk den Begriff Slices, um sich auf
PC-Partitionen zu beziehen. Auf
einer PC-Festplatte können maximal vier Partitionen,
die primäre Partitionen genannt
werden, angelegt werden. Eine
erweiterte Partition hebt diese
Beschränkung auf. Eine Festplatte kann nur eine
erweiterte Partition enthalten, die wiederum weitere
so genannte logische Partitionen
enthalten kann.Jede Partition besitzt eine Partitions-ID
– eine Zahl, die den Typ der Partition festlegt.
&os;-Partitionen tragen die Partitions-ID
165.Üblicherweise kennzeichnen Betriebssysteme Partitionen
in einer besonderen Art und Weise. Beispielsweise werden
jeder primären und logischen Partition unter DOS
und dem verwandten &windows; Laufwerksbuchstaben beginnend
mit C: zugewiesen.&os; muss auf einer primären Partition installiert
werden. In dieser Partition hält &os; alle Daten
einschließlich der Dateien, die Sie anlegen.
Verfügt das System über mehrere Festplatten,
können Sie auf allen oder einigen Platten eine
&os;-Partition einrichten. Zur Installation von &os;
benötigen Sie eine freie Partition: Dies kann eine
extra für die Installation eingerichtete Partition
sein oder eine existierende Partition, die nicht mehr
benötigte Daten enthält.Wenn auf allen Platten bereits sämtliche Partitionen
benutzt werden, müssen Sie eine der Partitionen
für &os; frei machen. Benutzen Sie dazu die Werkzeuge
des eingesetzten Betriebssystems (fdisk
unter DOS oder &windows;).Verfügt das System über eine freie Partition,
benutzen Sie diese Partition. Es kann allerdings sein,
dass Sie eine oder mehrere der vorhandenen Partitionen
vorher verkleinern müssen.Eine minimale &os;-Installation benötigt nur
100 MB Plattenplatz. Diese Installation ist
allerdings sehr begrenzt und
lässt wenig Platz für Ihre eigenen Dateien.
Realistischer sind 250 MB für &os; ohne
graphische Benutzeroberfläche und 350 MB
für &os; mit einer graphischen Benutzeroberfläche.
Sie benötigen weiteren Platz für die Installation
zusätzlicher Software.Um die Partitionen zu verkleinern, können Sie
beispielsweise das kommerzielle
&partitionmagic; oder das freie
GParted benutzen. Alternativ
enthält das Verzeichnis
tools
der CD-ROM für diesen Zweck bereits die freien
Werkzeuge FIPS und
PResizer. Die Dokumentation
zu beiden Werkzeugen befindet sich ebenfalls in diesem
Verzeichnis. FIPS und
PResizer können
nur die Größen von FAT16-
und FAT32-Partitionen verändern,
während GParted und
&partitionmagic; auch
NTFS-Partitionen verändern
können.Der falsche Gebrauch dieser Werkzeuge kann
Daten auf der Festplatte löschen. Vor dem
Einsatz dieser Werkzeuge stellen Sie bitte sicher,
dass Sie frische, funktionierende Datensicherungen
besitzen.Eine bestehende Partition verwendenNehmen wir an, Sie haben einen Rechner mit einer
4 GB Festplatte auf der schon eine Version von
&windows; installiert ist. Weiterhin haben Sie die
Platte in zwei Laufwerke C:
und D: unterteilt, die jeweils
2 GB groß sind. Auf C:
wird 1 GB benutzt und 0,5 GB von Laufwerk
D: werden benutzt.Sie haben also eine Festplatte mit zwei Partitionen
und könnten alle Daten von Laufwerk
D: auf das Laufwerk
C: kopieren. Damit wäre
die zweite Partition für &os; frei.Eine bestehende Partition verkleinernNehmen wir an, Sie haben einen Rechner mit einer
4 GB Festplatte auf der schon eine Version von
&windows; installiert ist. Während der Installation
von &windows; haben sie eine große Partition
C: angelegt, die 4 GB
groß ist. Von den 4 GB werden 1,5 GB
benutzt und Sie wollen 2 GB für &os; verwenden.Sie haben zwei Möglichkeiten, &os; zu
installieren:Sichern Sie die Daten der &windows;-Partition und
installieren Sie &windows; erneut auf einer 2 GB
großen Partition.Verkleinern Sie die &windows;-Partition mit
einem der oben aufgeführten Werkzeuge.Platteneinteilung von Alpha-SystemenAlphaAuf einer Alpha müssen Sie &os; auf einer
eigenen Festplatte installieren. Zurzeit können
Sie diese Festplatte nicht mit einem anderen Betriebssystem
zusammen benutzen. Abhängig von der Alpha-Maschine,
die Sie besitzen, können Sie eine SCSI- oder eine
IDE-Festplatte verwenden; Voraussetzung ist, dass Sie
das System von der gewählten Platte starten
können.Entsprechend den Konventionen der Handbücher
von Digital/Compaq werden Eingaben im SRM in
Großbuchstaben dargestellt. Der SRM beachtet
Groß- und Kleinschreibung nicht.Das SRM-Kommando SHOW DEVICE
zeigt die Art und die Namen der Laufwerke des Systems
an. Geben Sie das Kommando an der SRM-Eingabeaufforderung
ein:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEDie Ausgabe stammt von einer Digital Personal Workstation
433au und zeigt drei an das System angeschlossene Laufwerke.
Das erste Laufwerk ist ein CD-ROM mit dem Namen
DKA0, die anderen beiden sind
Festplatten mit den Namen DKC0
und DKC100.Laufwerke mit Namen wie DKx
sind SCSI-Laufwerke. Der Name DKA100
zeigt ein SCSI-Laufwerk mit der SCSI-ID 1 auf dem ersten
SCSI-Bus (A) an. DKC300 zeigt
ein SCSI-Laufwerk mit der SCSI-ID 3 auf dem dritten
SCSI-Bus (C) an. SCSI Host-Bus-Adapter werden mit
dem Namen PKx bezeichnet.
Wie in der Ausgabe von SHOW DEVICE
gezeigt, werden SCSI-CD-ROM-Laufwerke wie andere
SCSI-Festplatten behandelt.IDE-Laufwerke werden mit DQx
bezeichnet, der dazugehörige IDE-Controller
heißt PQx.Netzwerkparameter ermittelnWird während der Installation ein
Netzwerk benötigt (weil Sie über
FTP oder von einem NFS-Server installieren wollen),
müssen Sie die Konfiguration des Netzwerks kennen.
Während der Installation werden Netzwerkparameter
abgefragt, damit sich &os; mit dem Netzwerk verbinden
und die Installation abschließen kann.Verbindung über Ethernet oder ein Kabel/DSL-ModemWenn Sie sich mit einem Ethernet verbinden oder eine
Internet-Verbindung mit einem Ethernet-Adapter über
Kabel oder DSL herstellen, benötigen Sie die nachstehenden
Daten:IP-AdresseIP-Adresse des Default-GatewaysHostnameIP-Adressen der DNS-ServerSubnetzmaskeWenn Sie die Daten nicht besitzen, fragen Sie bitte
Ihren Systemadministrator oder Ihren Service-Provider.
Können die Daten über DHCP
bezogen werden, merken Sie sich diese Tatsache.Verbindung über ein ModemAuch wenn Sie sich mit einem normalen Modem bei
einem ISP einwählen, können Sie &os; aus
dem Internet installieren. Die Installation über
ein Modem dauert nur sehr lange.Sie benötigen die nachstehenden Daten:Die Telefonnummer des ISPs.Die COM-Schnittstelle, an der das Modem
angeschlossen ist.Den Benutzernamen und das Passwort für
Ihr Konto.Lesen Sie die &os;-ErrataAuch wenn das &os;-Project bemüht ist, ein
Release so stabil wie möglich herzustellen, treten
ab und an Fehler auf. In seltenen Fällen betrifft
ein Fehler die Installations-Prozedur. Die Fehler und
deren Behebungen werden in den
&os;-Errata
festgehalten. Lesen Sie bitte die Errata bevor Sie &os;
installieren, damit Sie nicht in frisch entdeckte
Probleme laufen.Dokumentation zu jedem Release, inklusive der Errata
zu jedem Release, finden Sie im
Release-Abschnitt
des FreeBSD
Webauftritts..Die Installationsdateien beschaffen&os; kann von Dateien aus irgendeiner der
nachstehenden Quellen installiert werden:Lokale Medienvon einer CD-ROM oder einer DVDvon einer DOS-Partition auf demselben Rechnervon einem SCSI- oder QIC-Bandlaufwerkvon DiskettenNetzwerkvon einem FTP-Server, wenn erforderlich auch durch
eine Firewall oder durch einen HTTP-Proxyvon einem NFS-Serverüber eine feste serielle oder
eine feste parallele VerbindungWenn Sie eine &os;-CD oder &os;-DVD gekauft haben,
besitzen Sie schon alles, was Sie zur Installation
benötigen. Lesen Sie bitte im nächsten
Abschnitt () weiter.Wenn Sie sich die &os;-Installationsdateien noch nicht
besorgt haben, lesen Sie bitte zuerst den
. Dort werden die
notwendigen Vorbereitungen für eine Installation
von den eben genannten Medien beschrieben. Wenn Sie
den Abschnitt durchgearbeitet haben, lesen Sie bitte
in weiter.Das Startmedium vorbereitenUm &os; zu installieren, müssen Sie Ihren Rechner
mit einem speziellen Startmedium hochfahren, das die
Installationsroutine startet. Sie können das
Installationsprogramm nicht unter einem anderen Betriebssystem
ausführen. Ein Rechner startet normalerweise das
auf der Festplatte installierte Betriebssystem, er kann
aber auch von Disketten gestartet werden. Heutige Rechner
können ebenfalls mit einer CD-ROM gestartet werden.Wenn Sie eine &os; CD-ROM oder DVD besitzen (gekauft
oder selbst erstellt) und Ihr Rechner von CD-ROM oder DVD
starten kann (üblicherweise können Sie das
mit der BIOS-Option einstellen),
können Sie diesen Abschnitt überspringen.
Eine &os; CD-ROM oder DVD lässt sich direkt starten;
Sie können damit &os; ohne weitere Vorbereitungen
installieren.Um Startdisketten zu erzeugen, benutzen Sie die
nachstehende Anleitung:Abbilder der Startdisketten besorgenDie Abbilder Startdisketten befinden sich auf dem
Installationsmedium im Verzeichnis
floppies/; sie
können auch aus dem Internet heruntergeladen werden:
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
Ersetzen Sie <arch> und
<version> durch die
passende Architektur und die passende Version.
Beispielsweise stehen die Startdisketten von
&os; &rel.current;-RELEASE für &i386; unter
.Die Abbilder besitzen die Dateinamenerweiterung
.flp. Im Verzeichnis
floppies/ befinden
sich verschiedene Abbilder; welches Sie benutzen,
hängt von der zu installierenden &os;-Version
und in einigen Fällen vom Zielrechner ab. In den
- meisten Fällen werden Sie drei Disketten benötigen:
+ meisten Fällen werden Sie vier Disketten benötigen:
boot.flp,
- kern1.flp, sowie
- kern2.flp.
+ kern1.flp,
+ kern2.flp sowie
+ kern3.flp.
Lesen Sie bitte die Datei README.TXT
im Verzeichnis floppies/,
- sie enthält aktuelle Informationen über die
- Abbilder.
+ sie enthält aktuelle Informationen zu den
+ Abbildern.
Wenn Sie die Abbilder aus dem Internet herunterladen,
benutzen Sie bitte den Binärmodus
des FTP-Programms. Einige Web-Browser verwenden den
Textmodus (oder
ASCII-Modus), was dazu führt,
dass sich die erstellten Disketten nicht starten
lassen.Die Disketten vorbereitenPro Abbild benötigen Sie eine Diskette.
Es ist wichtig, dass die verwendeten Disketten fehlerfrei
sind. Sie können dies sicherstellen, indem Sie die
Disketten selbst formatieren, verlassen Sie sich bitte
nicht auf vorformatierte Disketten. Das Formatierprogramm
von &windows; zeigt fehlerhafte Blöcke nicht an,
es markiert die Blöcke einfach als fehlerhaft und
ignoriert sie dann. Benutzen Sie neue Disketten, wenn
Sie diese Installationsart verwenden.Wenn Sie &os; installieren und das Installationsprogramm
abstürzt, einfriert oder sich merkwürdig
verhält, sind oft fehlerbehaftete Disketten
die Ursache. Schreiben Sie die Abbilder auf neue
Disketten und versuchen Sie, noch mal zu installieren.Die Abbilder auf Disketten schreibenDie .flp-Dateien sind
keine normalen Dateien, die
Sie auf eine Diskette kopieren. Sie können
die Abbilder nicht von einem
Laufwerk auf ein anderes Laufwerk kopieren. Die
Abbilder werden mit einem speziellen Werkzeug direkt
auf die Diskette geschrieben.DOSWenn Sie die Startdisketten unter &ms-dos; oder
&windows; erstellen, können Sie das mitgelieferte
Werkzeug fdimage verwenden.Wenn Sie die Abbilder auf der CD-ROM verwenden und
das CD-ROM-Laufwerk den Laufwerksbuchstaben
E: besitzt, führen Sie
den nachstehenden Befehl aus:E:\>tools\fdimage floppies\boot.flp A:Führen Sie das Kommando für jede
.flp-Datei aus. Wechseln Sie
bitte jedes Mal die Diskette und beschriften Sie die
Diskette mit dem Namen der kopierten Datei. Falls Sie
die Abbilder an anderer Stelle liegen haben, passen Sie
bitte die Kommandozeile an. Wenn Sie keine CD-ROM
besitzen, können Sie fdimage
aus dem Verzeichnis
tools
des &os;-FTP-Servers herunterladen.Wenn Sie Startdisketten auf einem &unix; System
(zum Beispiel einem anderen &os; System) erstellen,
schreiben Sie die Abbilder mit dem Befehl &man.dd.1;
direkt auf die Disketten. Auf einem &os;-System
lautet die Kommandozeile:&prompt.root; dd if=boot.flp of=/dev/fd0Unter &os; spricht /dev/fd0
das erste Diskettenlaufwerk an (das Laufwerk
A:), /dev/fd1
spricht das Laufwerk B: an.
Andere &unix; Varianten verwenden unter Umständen
andere Gerätenamen, die in der Dokumentation
des jeweiligen Systems beschrieben sind.Nun ist alles für die &os;-Installation
vorbereitet.Die Installation startenDie Installationsprozedur lässt die Daten auf
Ihren Laufwerken solange unverändert bis die
nachstehende Meldung erscheint:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Vor dieser Meldung kann die Installationsprozedur
jederzeit abgebrochen werden, ohne die Daten auf der
Festplatte zu verändern. Wenn Sie meinen, etwas
falsch konfiguriert zu haben, können Sie vor
diesem Zeitpunkt einfach den Rechner ausschalten.Der SystemstartSystemstart von &i386;-SystemenSchalten Sie zunächst Ihren Rechner aus.Schalten Sie den Rechner ein. Während des
Starts sollte angezeigt werden, wie Sie das
Systemeinstellungsmenü (oder BIOS)
erreichen. Meist drücken Sie dazu die Tasten
F2, F10,
Del oder
AltS. Benutzen Sie die angezeigte Tastenkombination.
Viele Rechner zeigen beim Systemstart eine Grafik an.
Typischerweise können Sie die Grafik mit der
Taste Esc entfernen und so die
angezeigten Meldungen lesen.Suchen Sie Option, die einstellt von welchem Gerät
der Rechner startet. Normalerweise wird die Option
genannt und zeigt eine
Geräteliste, beispielsweise Floppy,
CD-ROM, First Hard Disk
an.Wenn Sie Startdisketten erstellt haben, wählen
Sie Floppy aus, wenn Sie von CD-ROM
starten, stellen Sie sicher, dass die CD-ROM ausgewählt
ist. Wenn Sie nicht sicher sind, lesen Sie bitte im
Handbuch des Rechners oder im Handbuch der Systemplatine
nach.Stellen Sie das gewünschte Startmedium ein
und sichern Sie die Einstellungen. Der Rechner sollte
dann neu starten.Wenn Sie, wie in
beschrieben, Startdisketten vorbereitet haben,
benötigen Sie nun die erste Diskette,
die boot.flp enthält.
Legen Sie diese Diskette in das Diskettenlaufwerk ein.Wenn Sie den Rechner von einer CD-ROM starten,
legen Sie die CD-ROM so früh wie möglich
in das Laufwerk ein.Wenn Ihr Rechner wie normal startet und das
existierende Betriebssystem lädt, kann das
folgende Ursachen haben:Das Startmedium (Diskette, CD-ROM) ist nicht schnell
genug eingelegt worden. Belassen Sie das Startmedium
im Laufwerk und starten Sie Ihren Rechner neu.Die BIOS-Einstellungen sind falsch vorgenommen
worden. Wiederholen Sie diesen Schritt, bis Sie
die richtige Einstellung gefunden haben.Das verwendete BIOS kann nicht von dem
gewünschten Medium starten.&os; startet jetzt. Wenn Sie von einer CD-ROM
starten, sehen Sie die folgenden Meldungen
(Versionsangaben entfernt):
- Verifying DMI Pool Data ........
-Boot from ATAPI CD-ROM :
- 1. FD 2.88MB System Type-(00)
-Uncompressing ... done
+ Booting from CD-Rom...
+CD Loader 1.2
+
+Building the boot loader arguments
+Looking up /BOOT/LOADER... Found
+Relocating the loader and the BTX
+Starting the BTX loader
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
-BIOS drive A: is disk0
-BIOS drive B: is disk1
-BIOS drive C: is disk2
-BIOS drive D: is disk3
+BIOS CD is cd0
+BIOS drive C: is disk0
+BIOS drive D: is disk1
BIOS 639kB/261120kB available memory
-FreeBSD/i386 bootstrap loader, Revision 0.8
+FreeBSD/i386 bootstrap loader, Revision 1.1
-/kernel text=0x277391 data=0x3268c+0x332a8 |
-
-|
-Hit [Enter] to boot immediately, or any other key for command prompt.
-Booting [kernel] in 9 seconds... _
+Loading /boot/defaults/loader.conf
+/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
+\ Wenn Sie mit Startdisketten hochfahren, sehen
Sie folgende Meldungen (Versionsangaben entfernt):
- Verifying DMI Pool Data ........
+ Booting from Floppy...
+Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
-FreeBSD/i386 bootstrap loader, Revision 0.8
+FreeBSD/i386 bootstrap loader, Revision 1.1
+Loading /boot/defaults/loader.conf
/kernel text=0x277391 data=0x3268c+0x332a8 |
Insert disk labelled "Kernel floppy 1" and press any key...Folgen Sie der Anweisung und entfernen Sie die
boot.flp-Diskette,
anschließend legen Sie die
kern1.flp-Diskette ein
und drücken Enter.
Starten Sie das System mit der ersten
Diskette und legen Sie, wenn Sie dazu aufgefordert
werden, die anderen Disketten ein.Unabhängig davon, ob Sie von Disketten
- oder von CD-ROM gestartet haben, wird folgende
- Meldung erscheinen:
+ oder von CD-ROM gestartet haben, erscheint danach das
+ &os; Bootloader-Menü:
- Hit [Enter] to boot immediately, or any other key for command prompt.
-Booting [kernel] in 9 seconds... _
+
+ &os; Boot Loader Menu
+
+
+
+
+
+
+ Warten Sie entweder zehn Sekunden oder drücken
Sie Enter.Systemstart von Alpha-SystemenAlphaSchalten Sie zunächst Ihren Rechner aus.Schalten Sie den Rechner ein und warten Sie
auf die Eingabeaufforderung des Boot-Monitors.Wenn Sie, wie in
beschrieben, Startdisketten vorbereitet haben,
benötigen Sie nun die erste Diskette,
die boot.flp enthält.
Legen Sie diese Diskette in das Diskettenlaufwerk ein.
Das nachstehende Kommando startet den Rechner von
der Diskette (falls nötig, passen Sie den
Gerätenamen der Diskette an):>>>BOOT DVA0 -FLAGS '' -FILE ''Wenn Sie den Rechner von einer CD-ROM starten,
legen Sie die CD-ROM in das Laufwerk ein und
führen das folgende Kommando aus (wenn
nötig, passen Sie den Gerätenamen
des CD-ROM-Laufwerks an):>>>BOOT DKA0 -FLAGS '' -FILE ''&os; wird jetzt starten. Wenn Sie den Rechner
mit einer Diskette gestartet haben, wird irgendwann
die nachstehende Meldung erscheinen:Insert disk labelled "Kernel floppy 1" and press any key...Folgen Sie der Anweisung und entfernen Sie die
boot.flp-Diskette,
anschließend legen Sie die
kern1.flp-Diskette ein
und drücken Enter.Unabhängig davon, ob Sie von Disketten
oder von CD-ROM gestartet haben, wird folgende
Meldung erscheinen:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Warten Sie entweder zehn Sekunden oder drücken
Sie Enter, danach erscheint das
Kernelkonfigurationsmenü.Die Geräteerkennung prüfenDie letzten paar Hundert Zeilen der Bildschirmausgabe
werden gesichert und können geprüft werden.Um sich den Bildschirmpuffer anzusehen, drücken
Sie die Taste Scroll-Lock. Im Puffer
können Sie mit den Pfeiltasten oder den Tasten
PageUp und PageDown
blättern. Um zur normalen Bildschirmausgabe
zurückzukehren, drücken Sie nochmals die Taste
Scroll-Lock.Prüfen Sie mit diesem Verfahren nun die Ausgaben
der Geräteerkennung. Sie werden einen Text ähnlich
wie in sehen. Die
genauen Ausgaben sind abhängig von den in Ihrem
System installierten Geräten.Ausgabe der Geräteerkennungavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Prüfen Sie die Ausgabe der Geräteerkennung
sorgfältig und stellen Sie sicher, dass &os; alle
erwarteten Geräte gefunden hat. Wenn ein Gerät
nicht gefunden wurde, wird es nicht angezeigt. Ist dies
bei Ihnen der Fall, müssen Sie einen angepassten Kernel erstellen,
da das betroffene Gerät (beispielsweise eine Soundkarte)
in diesem Fall vom GENERIC-Kernel nicht
unterstützt wird.Ab &os; 6.2 gelangen Sie im nächsten Schritt
in ein Menü, in dem Sie über die Cursortasten das
Land, in dem Sie sich befinden, auswählen können
(). Durch die Bestätigung
mit der Enter-Taste wird automatisch das
von Ihnen gewählte Land sowie die dazu passende
Tastaturbelegung gewählt. Alternativ ist es auch hier
möglich, sysinstall zu verlassen
und von vorne zu beginnen.Ihr Land auswählensysinstall beendenWählen Sie mit den Pfeiltasten den Punkt
Exit Install des Hauptmenüs
aus. Nach der Auswahl wird die folgende Meldung
angezeigt: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoWenn Sie die Auswahl mit &gui.yes;
bestätigen, wird das Installationsprogramm erneut
starten, falls sich die CD-ROM noch im Laufwerk befindet.Wenn Sie mit Disketten gestartet haben, müssen
Sie vor dem Neustart die
boot.flp-Diskette entfernen.Das Werkzeug sysinstallZum Installieren von &os; stellt das &os;-Project das
Werkzeug sysinstall zur
Verfügung. Das Werkzeug arbeitet textorientiert
und bietet eine Reihe von Menüs und Bildschirmen,
um den Installationsprozess zu konfigurieren und zu
steuern.Die Menüs von sysinstall
werden mit Tasten wie den Pfeiltasten, Enter,
Tab oder Space bedient.
Eine ausführliche
Beschreibung der Tastenbelegung ist in der Gebrauchsanweisung
von sysinstall enthalten.Die Gebrauchsanweisung können Sie lesen, indem
Sie den Menüpunkt Usage
auswählen. Stellen Sie sicher, dass die Schaltfläche
[Select], wie in
gezeigt, aktiviert ist
und drücken Sie die Taste Enter.Es erscheinen Anweisungen wie das Menüsystem zu
bedienen ist. Wenn Sie diese gelesen haben, drücken
Sie Enter, um in das Hauptmenü
zurückzukehren.Die Gebrauchsanweisung von sysinstall auswählenDie Dokumentation abrufenAus dem Hauptmenü wählen Sie mit den
Pfeiltasten Doc aus
und drücken Enter.Die Dokumentation abrufenEs wird das Dokumentationsmenü angezeigt.Das Dokumentationsmenü von sysinstallLesen Sie bitte unbedingt die mitgelieferte Dokumentation.Um ein Dokument zu lesen, wählen Sie das Dokument
mit den Pfeiltasten aus und drücken Enter.
Wenn Sie das Dokument gelesen haben, kommen Sie mit der
Taste Enter in das Dokumentationsmenü
zurück.Um in das Hauptmenü zurückzukommen,
wählen Sie mit den Pfeiltasten Exit
aus und drücken die Taste Enter.Die Tastaturbelegung ändernUm die Tastaturbelegung zu ändern, wählen
Sie den Menüpunkt Keymap
und drücken Enter. Dies ist nur
erforderlich wenn Sie eine nicht standard-konforme Tastatur
oder eine andere als eine amerikanische Tastatur einsetzen.Das Hauptmenü von sysinstallEine andere Tastaturbelegung können Sie mit den
Pfeiltasten markieren und der Taste Space
auswählen. Wenn Sie die Taste Space
nochmals drücken wird die Auswahl aufgehoben. Haben
Sie eine Tastaturbelegung ausgewählt, markieren Sie
mit den Pfeiltasten &gui.ok; und drücken Sie
Enter.Der Bildschirmabzug zeigt nur einen der verfügbaren
Belegungen an. Mit der Taste Tab markieren
Sie die Schaltfläche &gui.cancel;, die mit der
Vorgabe-Belegung wieder in das Hauptmenü
zurückführt.Sysinstall Keymap MenuInstallationsoptionen einstellenWählen Sie Options
aus und rücken die Taste Enter.Das Hauptmenü von sysinstallOptionen von sysinstallFür die meisten Benutzer sind die voreingestellten
Werte völlig ausreichend und brauchen daher nicht
geändert werden. Der Name des Releases variiert mit
der zu installierenden Version von &os;.Eine Beschreibung der ausgewählten Option
erscheint blau hervorgehoben am unteren Ende des
Bildschirms. Mit der Option
Use Defaults können
Sie alle Optionen auf die Vorgabewerte zurückstellen.Wenn Sie die Hilfeseite zu den verschiedenen Optionen
lesen wollen, drücken Sie die Taste
F1.Die Taste Q führt in das
Hauptmenü zurück.Eine Standard-Installation startenDie Standard-Installation
sollte von allen &unix;- oder &os;-Anfängern
benutzt werden. Markieren Sie mit den Pfeiltasten
Standard und drücken
Sie Enter, um die Installation zu
starten.Die Standard-Installation startenPlattenplatz für &os; bereitstellenIhre erste Aufgabe ist, &os; Plattenplatz bereitzustellen und
den Plattenplatz für sysinstall
kenntlich zu machen (label).
Sie müssen daher wissen, wie &os; mit Platten
umgeht.Nummerierung der Laufwerke im BIOSBevor Sie &os; installieren und konfigurieren, sollten
Sie Sie einen wichtigen Punkt beachten, besonders wenn Sie
mehrere Festplatten besitzen.DOSMicrosoft WindowsIn einem PC, der unter einem vom BIOS abhängigen
Betriebssystem, wie &ms-dos; oder µsoft.windows;
läuft, kann das BIOS die normale Reihenfolge der
Laufwerke verändern und das Betriebssystem beachtet
diese Änderung. Mit dieser Funktion kann der
Rechner von einem anderen Laufwerk als dem so genannten
primären Laufwerk gestartet werden.
Die Funktion ist sehr zweckmäßig für Benutzer,
die Datensicherungen auf einer zweiten Platte erstellen
und dafür Werkzeuge wie
Ghost oder xcopy
einsetzen. Wenn die erste Platte ausfällt, von einem
Virus befallen wird oder durch einen Fehler des
Betriebssystems verunstaltet wird, können die
Platten im BIOS logisch getauscht werden. Es sieht so
aus, als wären die Laufwerke, ohne Öffnen des
Gehäuses getauscht worden.SCSIBIOSTeurere Systeme mit SCSI-Controllern haben oft BIOS
Erweiterungen, mit denen die Reihenfolge von bis zu sieben
SCSI-Platten in ähnlicher Weise verändert werden
kann.Ein Benutzer, der es gewohnt ist, diese BIOS-Funktionen
zu benutzen, mag überrascht sein, dass &os; sich nicht
wie erwartet verhält. &os; verwendet das BIOS nicht
und weiß daher nichts von der logischen Plattenordnung
im BIOS. Dies kann zu sehr verwirrenden Situationen
führen, insbesondere wenn die Platten identische
Geometrien besitzen und Kopien voneinander sind.Vor der Installation von &os; sollte im BIOS die
normale Nummerierung der Laufwerke eingestellt und so belassen
werden. Ist es nötig, die Reihenfolge der Laufwerke zu
verändern, so sollte das immer auf dem schweren Weg, also
durch Öffnen des Gehäuses und Verändern der
Jumper und Kabel, erfolgen.Von Bills und Freds ungewöhnlichen
AbenteuernBill macht aus einer älteren Wintel Kiste ein
neues &os;-System für Fred. Auf einer SCSI-Platte,
die er mit der SCSI-ID 0 konfiguriert, installiert Bill
&os;.Nachdem Fred das System einige Tage benutzt hat, bemerkt
er, dass die ältere SCSI-Platte viele Fehler meldet
und beschwert sich bei Bill.Nach einigen Tagen entschließt sich Bill,
die Sache in die Hand zu nehmen. Er schnappt sich
eine identische SCSI-Platte aus dem Lager im Hinterzimmer
und baut diese, nachdem Sie einen Oberflächenscan
überstanden hat, mit der SCSI-ID 4 ein.
Anschließend kopiert er die Daten von der Platte
mit der SCSI-ID 0 auf die Platte mit der SCSI-ID 4.
Da die neue Platte zufriedenstellend läuft, stellt
Bill im SCSI-BIOS die Reihenfolge der Platten so um,
dass das System von der neuen Platte startet. Nach
einem problemlosen Start von &os; läuft das
System und Fred ist zufrieden.Nach einiger Zeit haben Bill und Fred Lust auf ein
weiteres Abenteuer – Sie wollen das System auf
eine neue &os;-Version aktualisieren. Bill ersetzt
die angeschlagene Platte mit der SCSI-ID 0 durch
eine gleiche Platte aus dem Lager. Auf der ausgetauschten
Platte installiert er problemlos mithilfe von
Freds Startdisketten die neue Version von &os;.Fred braucht ein paar Tage, um die neue &os;-Version
zu testen und entscheidet, dass Sie für den
produktiven Einsatz geeignet ist. Nun müssen die
Daten von der alten Platte (mit der SCSI-ID 4)
kopiert werden. Fred hängt dazu die alte Platte
ein und stellt bestürzt fest, dass alle Daten
verschwunden sind.Wo sind die Daten hin?Bill kopierte die Daten von der Platte mit der
SCSI-ID 0 auf die Platte mit der SCSI-ID 4.
Als Bill die Startreihenfolge im SCSI-BIOS änderte,
führte er sich nur selbst an der Nase herum. &os;
lief weiterhin auf der Platte mit der SCSI-ID 0.
Durch die Änderung der Startreihenfolge wurde nur
ein Teil des Boot- und Loader-Codes von der Platte mit
der SCSI-ID 4 geladen. Die Kernel-Treiber von
&os; ignorieren die BIOS-Einstellungen und benutzen
die normale Nummerierung. Das System lief also weiterhin
auf der Platte mit der SCSI-ID 0 und alle Daten von
Fred befanden sich auf dieser Platte. Es schien nur
so, als würde das System auf der Platte mit der
SCSI-ID 4 laufen.Wir sind erleichtert zu bemerken, dass keine Daten
verloren gingen oder verändert wurden. Die alte
Platte wurde im Müll wiedergefunden und Freds Daten
konnten wiederhergestellt werden (Bill weiß jetzt,
dass er noch viel zu lernen hat).Obwohl in diesem Beispiel SCSI-Platten verwendet
wurden, gelten die Konzepte gleichermaßen für
IDE-Platten.Slices mit Fdisk erstellenZu diesem Zeitpunkt werden noch keine Änderungen
auf die Festplatte ausgeschrieben. Sie können daher
sysinstall jederzeit verlassen,
und erneut beginnen, wenn Sie denken, einen Fehler gemacht
zu haben. Sie können sysinstall
über die Menüs verlassen, die Taste U
drücken oder die Option Undo
wählen. Wenn Sie einmal nicht wissen, wie Sie ein
Menü verlassen, können Sie den Rechner auch
einfach ausschalten.Nachdem Sie in sysinstall
die Standard-Installation ausgewählt haben, werden
Sie folgende Meldung sehen: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Drücken Sie, wie angegeben, Enter.
Im nächsten Bildschirm werden alle Festplatten
angezeigt, die der Kernel während der Geräteerkennung
gefunden hat.
zeigt ein Beispiel von einem System mit zwei IDE-Platten,
die als ad0 und
ad2 erkannt wurden.Ein Laufwerk für Fdisk aussuchenSie fragen sich vielleicht, warum ad1
nicht angezeigt wird. Wurde die Platte vielleicht
nicht erkannt?Stellen Sie sich ein System mit zwei IDE-Platten vor.
Eine Platte ist als Master am ersten Controller, die andere
als Master am zweiten Controller angeschlossen. Wenn &os;
die Platten in der Reihenfolge, in der sie gefunden werden,
nummerieren würde, hießen die Platten
ad0 und ad1
und alles würde funktionieren.Wenn Sie nun am ersten IDE-Controller eine dritte
Platte als Slave anschließen würden, wäre
diese Platte ad1. Die vorher
ad1 genannte Platte würde
nun ad2 heißen. Dateisysteme
werden auf Geräten wie ad1s1a
angelegt. Daher könnte es passieren, dass auf
einmal Dateisysteme nicht mehr gefunden werden und Sie
&os; umkonfigurieren müssten.Um diese Probleme zu umgehen, kann der Kernel so
eingestellt werden, dass er Platten nach ihrem Anschlussort
anstelle der gefundenen Reihenfolge benennt. Nach diesem
Schema ist die Master-Platte am zweiten IDE-Controller
immerad2,
auch wenn es die Geräte ad0
oder ad1 gar nicht gibt.Dieses Verhalten ist in &os; voreingestellt und der
Grund warum im Beispiel die Geräte
ad0 und ad2
angezeigt werden. Der Rechner, von dem die gezeigte
Ausgabe stammt, hatte zwei IDE-Platten, die beide als
Master konfiguriert waren, und keine Slave-Platten.Wählen Sie die Platte aus, auf die Sie &os;
installieren wollen und drücken Sie &gui.ok;.
Anschließend startet Fdisk
und zeigt einen Bildschirm wie den in
.Der Bildschirm von Fdisk
ist in drei Abschnitte unterteilt.Der erste Abschnitt umfasst die ersten beiden Zeilen
der Anzeige. Er enthält Einzelheiten über die
aktuell ausgewählte Platte, unter anderem den
&os;-Gerätenamen, die Plattengeometrie und die
Kapazität der Platte.Der zweite Abschnitt zeigt die auf der Platte befindlichen
Slices. Angezeigt wird der Anfang und das Ende der Slice,
die Größe der Slice, der &os;-Gerätename,
eine Beschreibung und der Subtyp. Im Beispiel sehen Sie
zwei unbenutzte Slices, die durch die Plattenbelegung auf
PCs entstehen. Weiterhin sehen Sie eine große
FAT-Slice, die ziemlich sicher unter
&ms-dos;/&windows; als Laufwerk C:
auftaucht und eine erweiterte Slice, die unter &ms-dos;/&windows;
weitere Laufwerke enthalten kann.Im dritten Abschnitt sind die Kommandos von
Fdisk zusammengefasst.Typischer Fdisk-Bildschirm vor dem EditierenDie nächsten Schritte hängen von der
beabsichtigten Einteilung der Festplatte ab.Wenn Sie die gesamte Festplatte für &os; verwenden
wollen, drücken Sie die Taste A
(entspricht dem Menüpunkt
Use Entire Disk). Später
im Installationsverlauf müssen Sie diese Auswahl
bestätigen, danach werden alle bisherigen Daten von
der Festplatte gelöscht. Diese Auswahl löscht
vorher vorhandene Slices und ersetzt sie durch einen
kleinen unbenutzten Bereich (der wieder durch das PC-Design
bedingt ist) und eine große Slice für &os;.
Wählen Sie dann die neu erstellte Slice mit den Pfeiltasten
aus und drücken Sie die Taste S, um
die Slice als startfähig (bootbar) zu markieren.
zeigt den Bildschirm zu
diesem Zeitpunkt. Beachten Sie das A
in der Spalte Flags. Dies zeigt an,
dass die Slice aktiv ist und das System
von dieser Slice starten wird.Um Platz für &os; zu schaffen, können Sie
auch bestehende Slices löschen. Markieren Sie dazu
die Slice mit den Pfeiltasten und drücken Sie die Taste
D. Danach legen Sie eine neue Slice
mit der Taste C an. Sie werden nach der
Größe der zu erstellenden Slice gefragt; der
Vorgabewert entspricht der größten Slice, die
angelegt werden kann (entspricht entweder dem
größten freien Bereich auf der Festplatte oder
der ganzen Festplatte).Wenn Sie schon Platz für &os; geschaffen haben
(beispielsweise mit &partitionmagic;),
können Sie eine neue Slice direkt mit der Taste
C anlegen. Sie werden wieder nach der
Größe der anzulegenden Slice gefragt.Eine Partition über die gesamte PlatteDrücken Sie die Taste Q, wenn Sie
fertig sind. Sysinstall merkt
sich die Änderungen, schreibt sie aber noch nicht
auf die Festplatte.Einen Boot-Manager installierenSie können nun einen Boot-Manager installieren.
Unter folgenden Umständen sollten Sie den
&os;-Boot-Manager installieren:Das System besitzt mehr als ein Laufwerk und
&os; ist auf einem anderen Laufwerk als dem ersten
Laufwerk installiert.&os; teilt sich das Laufwerk mit einem anderen
Betriebssystem. Beim Systemstart wollen Sie auswählen,
welches Betriebssystem gestartet wird.Wird der Rechner ausschließlich mit &os; betrieben
und &os; ist auf dem ersten Laufwerk installiert, dann
genügt der Standard-Boot-Manager.
Wenn Sie einen anderen Boot-Manager benutzen, der &os;
starten kann, wählen Sie bitte None
aus.Nachdem Sie die Auswahl getroffen haben, drücken
Sie die Taste Enter.Sysinstall Boot-Manager-MenüIn der Hilfe, die Sie mit der Taste F1
aufrufen, werden Probleme beschrieben, die entstehen
können, wenn sich zwei Betriebssysteme ein Laufwerk
teilen.Slices auf einem anderen Laufwerk anlegenWenn das System mehr als ein Laufwerk besitzt, kehrt
die Installationsprozedur nach der Auswahl des Boot-Managers
zum Bildschirm Select Drives zurück.
Sie können hier ein anderes Laufwerk auswählen
und auf diesem Laufwerk mit Fdisk
weitere Slices anlegen.Wenn Sie &os; auf einem anderen Laufwerk als dem ersten
Laufwerk installieren, müssen Sie den &os;-Boot-Manager
auf beiden Laufwerken installieren.Die Laufwerksauswahl verlassenDie Taste Tab wechselt zwischen dem
zuletzt ausgewählten Laufwerk und den Schaltflächen
&gui.ok; und &gui.cancel;.Drücken Sie einmal die Taste Tab,
um &gui.ok; auszuwählen und drücken Sie
anschließend Enter um die
Installation weiterzuführen.Partitionen mit Bsdlabel
anlegenIn jeder angelegten Slice müssen Sie Partitionen
anlegen. Die Partitionen werden mit Buchstaben von
a bis h gekennzeichnet.
Die Buchstaben b, c
und d haben eine besondere Bedeutung,
die Sie beachten sollten.Einige Anwendungen profitieren von einer besonderen
Aufteilung der Partitionen, insbesondere wenn das System
mehr als ein Laufwerk besitzt. Bei der ersten &os;-Installation
sollten Sie sich allerdings nicht zu viele Gedanken über
die Partitionen machen. Wichtiger ist, dass Sie &os;
installieren und benutzen. Wenn Sie mehr Erfahrung mit
&os; gesammelt haben, können Sie &os; jederzeit mit
anderen Partitionen installieren.Das folgende Schema legt vier Partitionen an: Eine
Partition für den Auslagerungsbereich
(swap space) und drei
Partitionen für Dateisysteme.
Partitionen auf dem ersten LaufwerkPartitionDateisystemGrößeBeschreibunga/100 MBDas Root-Dateisystem. Jedes andere Dateisystem
wird irgendwo unterhalb von diesem Dateisystem
eingehangen. 100 MB ist eine vernünftige
Größe für dieses Dateisystem.
Sie werden hier wenig Daten speichern und &os;
benötigt ungefähr 40 MB Platz auf
diesem Dateisystem. Der Rest ist für temporäre
Daten und die Reserve, falls künftige Versionen
von &os; mehr Platz in /
benötigen.bN/A2-3 x RAMDer Auslagerungsbereich befindet sich auf der
b-Partition. Es ist schon fast
eine Kunst, die Größe des Auslagerungsbereichs
richtig zu bestimmen. Eine gute Daumenregel ist,
den Auslagerungsbereich zwei bis dreimal
größer als den Hauptspeicher (RAM)
anzulegen. Sie sollten mindestens 64 MB
für den Auslagerungsbereich vorsehen. Wenn
das System also weniger als 32 MB Hauptspeicher
besitzt, richten Sie einen 64 MB großen
Auslagerungsbereich ein.
Besitzt das System mehr als ein Laufwerk,
können Sie auf jedem Laufwerk Auslagerungsbereiche
anlegen. Da &os; alle Auslagerungsbereiche
benutzt, wird der Vorgang des Auslagerns durch
mehrere Bereiche beschleunigt. Berechnen Sie
in diesem Fall die Größe des benötigten
Auslagerungsbereichs, beispielsweise 128 MB,
und teilen Sie die Größe durch die
Anzahl der Laufwerke. Dies gibt die Größe
des Auslagerungsbereichs auf jedem Laufwerk.
Mit zwei Platten ergibt das in diesem Beispiel
64 MB Auslagerungsbereich pro Platte.e/var50 MBDas Verzeichnis /var
enthält Dateien, die sich dauernd
ändern (Protokolldateien und Dateien für
Verwaltungszwecke) und auf die im Normalbetrieb
oft zugegriffen wird. Liegen diese Dateien in
einem gesonderten Dateisystem, kann &os; den Zugriff
auf die Dateien optimieren, ohne den Zugriff auf
Dateien mit einem anderen Zugriffmuster zu
stören.f/usrDer Rest des LaufwerksAlle anderen Dateien werden normalerweise
im Verzeichnis /usr oder
einem Unterverzeichnis von /usr
abgelegt.
Wenn Sie &os; auf mehr als einem Laufwerk installieren,
müssen Sie noch weitere Partitionen in den Slices
auf den anderen Laufwerken anlegen. Am einfachsten legen
Sie pro Laufwerk zwei Partitionen an: eine für den
Auslagerungsbereich und eine andere für ein
Dateisystem.
Partitionen auf weiteren LaufwerkenPartitionDateisystemGrößeBeschreibungb--Wie schon besprochen, können Sie den
Auslagerungsbereich auf mehrere Platten verteilen.
Auch wenn die a-Partition frei
ist, sollte der Auslagerungsbereich entsprechend
der Konvention auf der b-Partition
angelegt werden.e/disknDer Rest des LaufwerksDer Rest der Platte wird von einer großen
Partition eingenommen. Sie könnten für
diese Partition die a-Partition
anstelle der e-Partition benutzen.
Allerdings ist die a-Partition
per Konvention für das Root-Dateisystem
(/) reserviert. Sie brauchen
die Konvention nicht zu beachten, da aber
sysinstall die Konvention
beachtet, ist die Installation sauberer, wenn Sie
das auch tun. Sie können das Dateisystem
irgendwo einhängen. Das Beispiel schlägt
die Verzeichnisse
/diskn
vor, wobei n die Laufwerke
nummeriert. Sie können ein anderes Schema
verwenden, wenn Sie möchten.
Wenn Sie die Aufteilung der Partitionen festgelegt haben,
können Sie die Partitionen mit
sysinstall anlegen. Es erscheint
die nachstehende Meldung: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Drücken Sie Enter, um den
&os;-Partitionseditor, der Disklabel
heißt, zu starten. zeigt den
Einstiegsbildschirm von Disklabel.
Der Bildschirm ist in drei Bereiche geteilt.Die ersten Zeilen zeigen den Namen des Laufwerks, das
Sie gerade bearbeiten und die Slice, die die erstellten
Partitionen enthält (Disklabel
spricht hier von Partitionen anstatt von Slices). Der
freie Platz einer Slice, der noch keiner Partition zugeordnet
ist, wird ebenfalls angezeigt.In der Mitte des Bildschirms werden die angelegten
Partitionen, der Name des Dateisystems, das sich in
der Partition befindet, dessen Größe und
die Optionen zum Erstellen des Dateisystems angezeigt.Das untere Drittel des Bildschirms zeigt die in
Disklabel gültigen
Tastenkombinationen.Sysinstall Disklabel-EditorDisklabel kann für Sie
automatisch Partitionen mit vorgegebenen Größen
erstellen. Probieren Sie das bitte jetzt aus und drücken
Sie die Taste A. Der Bildschirm sieht
danach ähnlich wie in
aus. Abhängig von der Größe des Laufwerks
können die Vorgabewerte richtig oder falsch sein.
Da Sie die Vorgaben nicht akzeptieren müssen, spielt
das keine Rolle.&os; legt das Verzeichnis /tmp
in einer eigenen Partition an. Dies verhindert,
dass sich die Root-Partition mit temporären
Dateien füllt.Sysinstall Disklabel-Editor mit automatischen VorgabenWollen Sie die vorgegebenen Partitionen nicht verwenden
und durch eigene ersetzen, markieren Sie mit den Pfeiltasten
die erste Partition und drücken Sie die Taste
D, um die Partition zu löschen.
Wiederholen Sie dies für alle vorgegebenen Partitionen.Um die erste Partition (a), die als
/ eingehangen wird, zu erstellen,
drücken Sie die Taste C. Stellen Sie
dabei sicher, dass die richtige Slice im oberen Teil des
Bildschirms markiert ist. Wie in
, erscheint ein Fenster,
in dem Sie die Größe der Partition angeben
müssen. Sie können die Größe in
Blöcken oder einer Zahl gefolgt von M
für Megabyte, G für Gigabyte
oder C für Zylinder angeben.Ab &os; 5.X gibt es den Menüpunkt
Custom Newfs (Taste Z).
Sie können dort Dateisysteme vom Typ
UFS2 anlegen (dies ist ab &os; 5.1
die Vorgabe), die Einstellungen von
mit Auto Defaults angelegten
Dateisystemen ändern oder die Option
für zu
erstellende Dateisysteme voreinstellen.
Vergessen Sie nicht, Soft Updates mit der Option
zu aktivieren.Die Größe einer Partition festlegenDie vorgegebene Größe erstellt eine Partition,
die den Rest der Slice ausfüllt. Wenn Sie die
Größen aus dem früheren Beispiel verwenden,
löschen Sie die vorgeschlagene Größe mit
der Taste Backspace und tragen Sie die
neue Größe, wie in
gezeigt, ein. Drücken Sie anschließend
&gui.ok;.Die Größe einer Partition
ändernNachdem Sie die Größe der Partition festgelegt
haben, werden Sie gefragt, ob die Partition ein Dateisystem
oder einen Auslagerungsbereich enthalten soll (siehe
). Die erste Partition
enthält ein Dateisystem, wählen Sie
FS aus und drücken Sie
die Taste Enter.Den Partitionstyp festlegenAbschließend müssen Sie, weil Sie ein
Dateisystem erstellen, angeben, wo das Dateisystem
eingehangen wird. Die Eingabe ist in
dargestellt.
Das Root-Dateisystem wird in /
eingehangen, geben Sie daher /
ein und drücken Sie die Taste Enter.Den Mountpoint festlegenAuf dem Bildschirm wird jetzt die neu angelegte Partition
angezeigt. Wiederholen Sie diese Prozedur für die
restlichen Partitionen. Beim Anlegen des Auslagerungsbereichs
werden Sie nicht nach einem Mountpoint gefragt, da
ein Auslagerungsbereich nie eingehangen wird. Wenn
Sie die letzte Partition anlegen, /usr,
können Sie die vorgeschlagene Größe
stehen lassen. Das Dateisystem wird dann den Rest der
Slice einnehmen.Der letzte Bildschirm von Disklabel
sieht wie in aus (Ihre
Werte werden von den gezeigten Werten abweichen).
Drücken Sie die Taste Q, um
Disklabel zu verlassen.Sysinstall Disklabel-EditorDen Installationsumfang bestimmenDie Distribution auswählenWelche Software Sie installieren, hängt
hauptsächlich vom Zweck des Rechners und dem zur
Verfügung stehenden Plattenplatz ab. Die vorgegebenen
Distributionen reichen von der minimalen Installation
bis hin zu einer kompletten Installation. Anfänger
sollten eine der vorgegebenen Distributionen auswählen,
erfahrene Benutzer können die zu installierende
Distribution anpassen.Die Taste F1 führt zu einem
Hilfebildschirm, der die Distributionen und deren Inhalte
beschreibt. Drücken Sie Enter, um
die Hilfe zu verlassen und zur Auswahl der Distribution
zurückzukehren.Wenn Sie eine graphische Benutzeroberfläche
installieren wollen, sollten Sie eine Distribution
auswählen, deren Name mit X
anfängt. Die Konfiguration des X-Servers
und die Auswahl der Benutzeroberfläche ist
Teil der Nacharbeiten. Die Konfiguration des X-Servers
wird in besprochen.Seit &os; 5.3 wird &xorg;
als Standard-X-Server installiert.Wenn Sie einen angepassten Kernel erstellen wollen,
wählen Sie eine Distribution aus, die den Quellcode
(source code) enthält.
Warum und wie Sie einen angepassten Kernel erstellen, erfahren
Sie in .Natürlich ist das flexibelste System das, auf
dem alles installiert ist. Wenn das System über
ausreichend Plattenplatz verfügt, wählen
Sie mit den Pfeiltasten die Option All
aus (siehe )
und drücken die Taste Enter.
Wenn Sie Bedenken haben, dass der Plattenplatz nicht
ausreicht, wählen Sie eine Distribution, die weniger
Software enthält. Machen Sie sich keine unnötigen
Sorgen um die richtige Distribution, ausgelassene Distribution
können später nachinstalliert werden.Die Distribution auswählenDie Ports-Sammlung installierenNach der Auswahl der Distribution haben Sie Gelegenheit,
die &os;-Ports-Sammlung zu installieren. Mit der
Ports-Sammlung lässt sich Software Dritter auf
einfache Art und Weise installieren. Der Quellcode
der zu installierenden Software ist nicht in der
Ports-Sammlung enthalten. Stattdessen enthält die
Ports-Sammlung Dateien, die den Installationsprozess
(herunterladen, übersetzen und installieren) automatisieren.
Die Ports-Sammlung wird in
besprochen.Der Installationsprozess prüft nicht, ob ausreichend
Platz für die Ports-Sammlung vorhanden ist. Wählen
Sie die Ports-Sammlung bitte nur aus, wenn das System
über ausreichenden Platz verfügt. In
&os; &rel.current; nimmt die Ports-Sammlung ungefähr
&ports.size; Plattenplatz in Anspruch. Neuere Versionen
von &os; benötigen mit Sicherheit noch mehr Platz. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The ports collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the ports collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoWählen Sie mit den Pfeiltasten
&gui.yes; aus, um die Ports-Sammlung
zu installieren. Wählen Sie &gui.no;
aus, um die Ports-Sammlung auszulassen. Drücken
Sie danach die Taste Enter, es erscheint
wieder das Distributionsmenü.Die Distributionen bestätigenWenn Sie mit den ausgewählten Optionen zufrieden
sind, wählen Sie mit den Pfeiltasten
Exit aus (stellen Sie sicher,
dass &gui.ok; aktiv ist) und drücken Sie
die Taste Enter.Das Installationsmedium auswählenWenn Sie von einer CD-ROM oder einer DVD installieren,
wählen Sie bitte
Install from a FreeBSD CD/DVD aus.
Stellen Sie sicher, dass &gui.ok; aktiv ist und drücken
Sie dann die Taste Enter, um mit der
Installation fortzufahren.Wenn Sie ein anderes Installationsmedium benutzen,
wählen Sie die passende Option aus und folgen
den angezeigten Anweisungen.Die Hilfeseiten über Installationsmedien erreichen
Sie mit der Taste F1. Drücken Sie
Enter, um zur Auswahl des Installationsmediums
zurückzukehren.Das Installationsmedium auswählenFTP-InstallationsmodiInstallationFTPSie können zwischen drei FTP-Installationsmodi
wählen: Active-FTP, Passive-FTP oder über einen
HTTP-Proxy.FTP Active: Install from an FTP
serverDiese Option führt alle FTP-Operationen
im Active-Mode aus. Dieser Modus
funktioniert nicht durch Firewalls, er funktioniert
aber mit alten FTP-Servern, die den Passive-Mode
nicht beherrschen. Wenn die Verbindung im
Passive-Mode (das ist die Vorgabe) hängt,
versuchen Sie den Active-Mode.FTP Passive: Install from an FTP server through a
firewallFTPPassive-ModeMit dieser Option benutzt
sysinstall den
Passive-Mode für alle FTP-Operationen.
In diesem Modus funktionieren Verbindungen durch
Firewalls, die einkommende Pakete auf beliebigen
TCP-Ports blockieren.FTP via a HTTP proxy: Install from an FTP server
through a http proxyFTPüber einen HTTP-ProxyDiese Option weist sysinstall
an, alle FTP-Operationen mit HTTP über einen
Proxy (wie ein Web-Browser) durchzuführen.
Der Proxy leitet die Anfragen an den richtigen
FTP-Server weiter. Mit dieser Option passieren
Sie eine Firewall, die FTP-Verbindungen verbietet,
aber einen HTTP-Proxy anbietet. Neben dem FTP-Server
müssen Sie in diesem Fall den Proxy-Server
angeben.Bei einem FTP-Proxy-Server müssen Sie normalerweise
den Ziel-FTP-Server als Teil des Benutzernamens hinter dem
Klammeraffen (@) angeben. Der Proxy-Server
übernimmt die Kommunikation mit dem Ziel-FTP-Server.
Nehmen wir an, Sie wollen von
ftp.FreeBSD.org über
den FTP-Proxy foo.example.com
auf Port 1234 installieren.Wählen Sie das Menü
Options aus und setzen Sie
dort den FTP-Benutzernamen (username)
auf ftp@ftp.FreeBSD.org. Als Passwort
geben Sie bitte Ihre E-Mail-Adresse an. Setzen Sie das
Installationsmedium auf Active-FTP oder Passive-FTP, je
nachdem welchen Modus der Proxy-Server unterstützt.
Für die URL geben Sie
ftp://foo.example.com:1234/pub/FreeBSD an.Der Proxy-Server foo.example.com
leitet Zugriffe auf das Verzeichnis
/pub/FreeBSD
an den Server ftp.FreeBSD.org
weiter. Daher können
foo.example.com als
FTP-Server angeben.Die Installation festschreibenWenn Sie wünschen, kann die Installation nun
beginnen. Dies ist die letzte Gelegenheit, die
Installation abzubrechen und Änderungen auf der
Festplatte zu vermeiden. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoWählen Sie &gui.yes; aus
und drücken Sie Enter, um weiter
zu machen.Die Installationsdauer hängt von den ausgewählten
Distributionen, dem Installationsmedium und der Geschwindigkeit
des Rechners ab. Während der Installation wird der
Fortgang mit Statusmeldungen angezeigt.Die Installation ist beendet, wenn die folgende
Meldung erscheint: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.
[ OK ]
- [ Press enter to continue ]
+ [ Press enter or space ]
Drücken Sie die Taste Enter,
um die Nacharbeiten durchzuführen.Wenn Sie &gui.no; auswählen und
Enter drücken wird die Installation
abgebrochen und das System wird nicht verändert.
Die nachstehende Meldung wird angezeigt: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Die Meldung wird angezeigt, weil nichts installiert
wurde. Drücken Sie Enter, um
in das Hauptmenü zurückzukehren. Dort können
Sie die Installationsprozedur verlassen.Arbeiten nach der InstallationNach einer erfolgreichen Installation wird das System
konfiguriert. Sie können das System direkt konfigurieren
oder nach einem Neustart. Nach einem Neustart rufen Sie
sysinstall (vor &os; 5.2
/stand/sysinstall) auf und wählen
den Menüpunkt Configure.NetzwerkkonfigurationWenn Sie schon PPP für eine FTP-Installation
konfiguriert haben, erscheint dieser Bildschirm nicht.
Sie können die Konfiguration später in
sysinstall vornehmen.Netzwerke und die Konfiguration von &os; als
Gateway oder Router werden eingehend im Kapitel
Weiterführende
Netzwerkthemen behandelt. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoWenn Sie eine Netzwerkkarte konfigurieren wollen,
wählen Sie &gui.yes; aus und
drücken Sie die Taste Enter.
Wählen Sie &gui.no;, um die
Netzwerkkonfiguration zu überspringen.Eine Netzwerkkarte auswählenWählen Sie die zu konfigurierende Karte mit den
Pfeiltasten aus und drücken Sie die Taste
Enter. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Für das gezeigte Installationsbeispiel genügte
das momentan verwendete Internet-Protokoll
(IPv4). Daher wurde mit den Pfeiltasten
&gui.no; ausgewählt und mit der
Taste Enter bestätigt.Wenn Sie durch einen RA-Server mit
einem IPv6-Netzwerk verbunden sind,
wählen Sie bitte &gui.yes; und
drücken die Taste Enter. Die Suche
nach den RA-Servern dauert
einige Sekunden. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Falls Sie das Dynamic Host Configuration Protocol
(DHCP) nicht verwenden, wählen
Sie &gui.no; aus und drücken
Sie Enter.Wenn Sie &gui.yes; auswählen,
wird das Programm dhclient
ausgeführt und bei Erfolg die Netzwerkkarte
konfiguriert. Mehr über
DHCP können Sie in
nachlesen.Der nächste Bildschirmabzug zeigt die
Netzwerkkonfiguration eines Systems, das Gateway für
das lokale Netz ist.Die Netzwerkkarte ed0 konfigurierenTragen Sie in die Felder, die Sie mit der Taste
Tab auswählen können, die
richtige Konfiguration ein.HostDer vollständige Rechnername
(fully-qualified hostname),
wie in diesem Beispiel
k6-2.example.com.DomainDer Domain-Name, in dem sich der Rechner befindet.
Im Beispiel ist das
example.com.IPv4 GatewayDie IP-Adresse des Rechners, der Pakete an entfernte
Netze weiterleitet. Sie müssen dieses Feld
ausfüllen, wenn der sich der Rechner in
einem Netzwerk befindet. Lassen Sie das
Feld leer, wenn der Rechner der Gateway
in das Internet ist. Der IPv4-Gateway wird
auch default gateway
oder default route
genannt.Name serverDie IP-Adresse des lokalen DNS-Servers. Im Beispiel
gibt es keinen lokalen DNS-Server, daher wurde der
DNS-Server des Providers
(208.163.10.2) benutzt.IPv4 addressDie IP-Adresse der Netzwerkkarte
(192.168.0.1).Netmask (Netzmaske)Im Beispiel werden Adressen aus einem Klasse C
Netz (192.168.0.0 bis
192.168.0.255) benutzt.
Standardmäßig besitzt ein Klasse C Netz
die Netzmaske
255.255.255.0.Extra options to ifconfig (Optionen für ifconfig)Zusätzliche Optionen für den Befehl
ifconfig, die spezifisch für die
verwendete Netzwerkkarte sind. Im Beispiel sind
keine Optionen angegeben.Wenn Sie alle Werte eingegeben haben, wählen
Sie mit Tab &gui.ok; aus und drücken
Sie Enter. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoWenn Sie &gui.yes; auswählen
und Enter drücken, wird die
Netzwerkkonfiguration aktiviert. Allerdings bringt dies
zu diesem Zeitpunkt nicht viel, da der Rechner noch
neu gestartet werden muss.Gateway einrichten User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoWählen Sie &gui.yes;, wenn der
Rechner ein Gateway für ein lokales Netz ist und
Pakete an andere Netze weiterleitet. Wenn der Rechner
ein normaler Netzknoten ist, wählen Sie
&gui.no; aus. Bestätigen Sie
die auswahl mit der Taste Enter.IP-Dienste einrichten User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Wenn &gui.no; ausgewählt wird,
werden Dienste wie telnetd nicht
aktiviert. Benutzer können sich dann von entfernten
Rechnern nicht mit telnet an
dieser Maschine anmelden. Lokale Benutzer können aber
auf entfernte Rechner mit telnet
zugreifen.Die Dienste können Sie nach der Installation
aktivieren, indem Sie die Datei /etc/inetd.conf
editieren. Dies wird in
beschrieben.Wenn Sie jetzt weitere Dienste aktivieren möchten,
wählen Sie &gui.yes; aus.
Es erscheint die nachstehende Rückfrage: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoBestätigen Sie die Rückfrage mit
&gui.yes;. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoWenn Sie &gui.yes; auswählen,
können Sie Dienste aktivieren, in dem Sie das Zeichen
# am Zeilenanfang entfernen.inetd.conf editierenWenn Sie die gewünschten Dienste aktiviert haben,
drücken Sie die Taste Esc. Es erscheint
ein Menü, in dem Sie die Änderungen abspeichern
und den Editor verlassen können.Anonymous-FTPFTPanonymous User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Anonymous-FTP verbietenWenn Sie die vorgegebene Auswahl
&gui.no; mit der Taste
Enter bestätigen, können
Benutzer, die ein Konto und ein Passwort auf dem
System besitzen, immer noch mit FTP auf das System
zugreifen.Anonymous-FTP erlaubenWenn Sie Anonymous-FTP erlauben, darf jeder auf Ihr
System zugreifen. Bedenken Sie die Folgen für die
Systemsicherheit (siehe ) bevor
Sie diese Option aktivieren.Um Anonymous-FTP zu aktivieren, wählen Sie
mit den Pfeiltasten &gui.yes; aus
und drücken Sie die Taste Enter.
Es erscheint ein ähnlicher Bildschirm wie der
folgende:Anonymous-FTP konfigurierenMit der Taste F1 rufen Sie die
Hilfe auf:This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.Das FTP-Wurzelverzeichnis wird per Voreinstellung
in /var angelegt.
Wenn in /var
zu wenig Platz vorhanden ist, können Sie das
FTP-Wurzelverzeichnis beispielsweise nach
/usr/ftp verlegen.Wenn Sie mit den Einstellungen zufrieden sind,
drücken Sie die Taste Enter. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoWenn Sie &gui.yes; auswählen
und mit Enter bestätigen, können
Sie die Begrüßungsmeldung des FTP-Servers
in einem Editor ändern.Begrüßungsmeldung des FTP-Servers
editierenDer Editor, in dem Sie sich befinden, heißt
ee. Folgen Sie den Anweisungen,
um die Meldung zu editieren. Sie können die
Meldung auch später in einem Editor Ihrer
Wahl editieren. Merken Sie sich dazu den Dateinamen,
der im Editor unten angezeigt wird.Wenn Sie die Taste Esc drücken,
erscheint ein Menü, in dem
a) leave editor vorgewählt
ist. Drücken Sie die Taste Enter,
um den Editor zu verlassen. Falls Sie Änderungen
vorgenommen haben, bestätigen Sie die Änderungen
nochmals mit Enter.Network-File-System einrichtenMit dem Network-File-System (NFS)
können Sie über ein Netzwerk auf Dateien zugreifen.
Ein Rechner kann NFS-Server,
NFS-Client oder beides sein.
NFS wird in
besprochen.NFS-Server einrichten User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]Wenn Sie keinen NFS-Server
benötigen, wählen Sie &gui.no;
aus und bestätigen Sie mit Enter.Wenn Sie &gui.yes; auswählen,
erscheint der Hinweis, dass die Datei
exports angelegt werden muss. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Drücken Sie Enter und es
wird ein Editor gestartet, in dem Sie die Datei
exports editieren können.exports editierenFolgen Sie den Anweisungen, um Dateisysteme
zu exportieren. Sie können die Datei
auch später in einem Editor Ihrer
Wahl editieren. Merken Sie sich dazu den Dateinamen,
der im Editor unten angezeigt wird.Drücken Sie die Taste Esc
und es erscheint ein Menü, in dem
a) leave editor vorgewählt
ist. Drücken Sie die Taste Enter,
um den Editor zu verlassen.NFS-Client einrichtenMit einem NFS-Client können
Sie auf NFS-Server zugreifen. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]Wählen Sie entweder &gui.yes;
oder &gui.no; aus und drücken
Sie Enter.Die Systemkonsole einrichtenSie können verschiedene Merkmale der
Systemkonsole anpassen. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoWenn Sie die Merkmale der Systemkonsole anpassen wollen,
wählen Sie &gui.yes; aus und
drücken Sie die Taste Enter.Merkmale der SystemkonsoleOft wird ein Bildschirmschoner auf der Konsole aktiviert.
Wälen Sie mit den Pfeiltasten
Saver aus und drücken Sie
die Taste Enter.Bildschirmschoner auswählenWählen Sie den gewünschten Bildschirmschoner
mit den Pfeiltasten aus und drücken Sie
Enter. Das Konfigurationsmenü der
Systemkonsole erscheint wieder.In der Voreinstellung wird der Bildschirmschoner nach
300 Sekunden aktiviert. Um diese Zeitspanne zu
ändern, wählen Sie wieder
Saver aus. Mit den Pfeiltasten
wählen Sie dann Timeout
aus und drücken Enter. Es
erscheint ein Eingabefenster:Den Bildschirmschoner einstellenÄndern Sie die Zeitspanne und wählen Sie &gui.ok;
aus. Mit Enter kehren Sie in das
Konfigurationsmenü der Systemkonsole zurück.Die Konfiguration der Systemkonsole verlassenUm die Nacharbeiten fortzuführen, wählen Sie
Exit aus und drücken Sie
Enter.Die Zeitzone einstellenWenn Sie die Zeitzone richtig einstellen, kann Ihr
Rechner automatisch regional bedingte Zeitumstellungen
ausführen und andere von der Zeitzone abhängige
Funktionen handhaben.Das folgende Beispiel gilt für den Osten der USA.
Ihre Auswahl hängt vom geographischen Standort
Ihres Rechners ab. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoUm die Zeitzone einzustellen, wählen Sie
&gui.yes; und drücken
Enter. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Je nachdem ob die Systemzeit die Zeitzone UTC verwendet,
wählen Sie &gui.yes; oder
&gui.no; aus. Bestätigen Sie
die Auswahl mit der Taste Enter.Das Gebiet auswählenWählen Sie mit den Pfeiltasten das richtige
Gebiet aus und drücken Sie Enter.Das Land auswählenWählen Sie mit den Pfeiltasten das richtige
Land aus und drücken Sie Enter.Die Zeitzone auswählenWählen Sie mit den Pfeiltasten die richtige
Zeitzone aus drücken Sie Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoWenn die angezeigte Abkürzung der Zeitzone richtig
ist, bestätigen Sie diese mit der Taste
Enter.Linux-Kompatibilität User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoWenn Sie &gui.yes; auswählen
und Enter drücken, können Sie
Linux-Software auf &os; laufen lassen. Später wird
dazu die notwendige Software installiert.Wenn Sie über FTP installieren, müssen Sie
mit dem Internet verbunden sein. Einige FTP-Server bieten
nicht alle verfügbare Software an. Es kann sein, dass
die nötige Software für die Linux-Kompatibilität
nicht installiert werden kann, dies können Sie später
jedoch nachholen.Die Maus konfigurierenMit einer 3-Tasten-Maus können Sie Texte auf der
Konsole und in Programmen markieren und einfügen
(cut and paste). Wenn Sie
eine 2-Tasten-Maus besitzen, können Sie eine 3-Tasten-Maus
emulieren. Lesen Sie dazu nach der Installation die
Hilfeseite &man.moused.8;. Das folgende Beispiel zeigt
die Konfiguration einer nicht-USB-Maus (PS/2 oder serielle
Maus): User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Wählen Sie &gui.no; für
eine USB-Maus und &gui.yes; für
eine andere Maus aus und drücken Sie
Enter.Das Mausprotokoll festlegenMarkieren Sie mit den Pfeiltasten
Type und drücken Sie
press Enter.Das Mausprotokoll festlegenIm Beispiel wurde eine PS/2-Maus verwendet, sodass die
Vorgabe Auto passend war.
Sie können das Protokoll mit den Pfeiltasten ändern.
Stellen Sie sicher, dass &gui.ok; aktiviert ist und
verlassen Sie das Menü mit der Taste
Enter.Den Mausport einstellenWählen Sie mit den Pfeiltasten
Port und drücken Sie die Taste
Enter.Den Mausport einstellenIm Beispiel wurde eine PS/2-Maus verwendet, sodass die
Vorgabe PS/2 richtig war.
Sie können den Port mit den Pfeiltasten ändern.
Bestätigen Sie die Auswahl mit der Taste
Enter.Den Mouse-Daemon aktivierenWählen Sie nun mit den Pfeiltasten
Enable aus und drücken Sie
die Taste Enter, um den Mouse-Daemon
zu aktivieren und zu testen.Den Mouse-Daemon testenBewegen Sie die Maus hin und her und prüfen Sie,
dass sich der Mauszeiger entsprechend bewegt. Wenn alles
in Ordnung ist, wählen Sie &gui.yes;
aus und drücken Sie Enter. Wenn sich
die Maus nicht richtig verhält, wurde sie nicht korrekt
konfiguriert. Wählen Sie in diesem Fall
&gui.no; und versuchen Sie, die
Einstellungen zu korrigieren.Um mit den Nacharbeiten fortzufahren, wählen Sie
mit den Pfeiltasten Exit aus
und drücken Sie Enter.TomRhodesBeigetragen von Weitere Netzwerkdienste einrichtenAnfänger ohne Vorwissen finden das Einrichten
von Netzwerkdiensten oft deprimierend. Netzwerke und
das Internet sind für moderne Betriebssysteme von
entscheidender Bedeutung. Es ist daher wichtig, die
Netzwerkfunktionen von &os; zu kennen. Die von &os;
angebotenen Netzwerkdienste können Sie während
der Installation kennen lernen.Netzwerkdienste sind Programme, die Eingaben aus dem
Netzwerk entgegennehmen. Es wird große Mühe
darauf verwendet, dass diese Programme keinen Schaden
verursachen. Leider können auch Programmierern
Fehler unterlaufen und es gibt Fälle, in denen Fehler
in Netzwerkdiensten von Angreifern ausgenutzt wurden.
Es ist daher wichtig, dass Sie nur Dienste aktivieren,
die Sie benötigen. Im Zweifallsfall sollten Sie
einen Dienst solange nicht aktivieren, bis Sie herausfinden,
dass Sie den Dienst benötigen. Einen Dienst können
Sie später immer noch mit sysinstall
oder in der Datei /etc/rc.conf
aktivieren.Wählen Sie den Menüpunkt
Networking und es erscheint ein Menü
wie das nachstehende:Netzwerkdienste – obere HälfteDie erste Option, Interfaces,
wurde schon in konfiguriert.
Sie können daher diesen Punkt überspringen.Der Punkt AMD aktiviert
einen Dienst, der automatisch Dateisysteme einhängt.
Normalerweise wird der Dienst zusammen mit dem
NFS-Protokoll (siehe unten) verwendet,
um automatisch entfernte Dateisysteme einzuhängen.
Dieser Menüpunkt erfordert keine weitere
Konfiguration.Der nächste Menüpunkt ist
AMD Flags. Wenn Sie den Punkt
auswählen, erscheint ein Fenster, in dem Sie
AMD-spezifische Optionen eingeben
können. Die nachstehenden Optionen sind schon
vorgegeben:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapDie Option legt das Verzeichnis
fest (hier /.amd_mnt),
unter dem Dateisysteme eingehangen werden. Die
Option legt die Protokolldatei
fest. Wenn syslogd verwendet
wird, werden alle Meldungen an den Daemon
syslogd gesendet. Das Verzeichnis
/host dient zum
Zugriff auf exportierte Verzeichnisse von entfernten Rechnern,
das Verzeichnis /net
dient zum Zugriff auf exportierte Verzeichnisse von entfernten
IP-Adressen. Die Datei /etc/amd.map
enthält die Einstellungen für von
AMD verwaltete Dateisysteme.FTPanonymousDie Auswahl Anon FTP erlaubt
Anonymous-FTP-Verbindungen. Wählen Sie diese Option,
wenn Sie einen Anonymous-FTP-Server einrichten wollen.
Seien Sie sich über die Sicherheitsrisiken bewusst,
wenn Sie Anonymous-FTP erlauben. Die Sicherheitsrisiken
und die Konfiguration von Anonymous-FTP werden in einem
gesonderten Fenster erklärt, das aufgeht, wenn Sie
diese Option auswählen.Der Menüpunkt Gateway
konfiguriert das System, wie vorher erläutert, als
Gateway. Wenn Sie während der Installation den Rechner
aus Versehen als Gateway konfiguriert haben, können
Sie dies hier wieder rückgängig machen.Der Menüpunkt Inetd
konfiguriert, wie schon oben besprochen, den Daemon
&man.inetd.8;.Die Auswahl Mail konfiguriert
den Mail Transfer Agent (MTA) des
Systems. Wenn Sie diesen Punkt auswählen, erscheint
das folgende Menü:Den MTA festlegenIn diesem Menü wählen Sie aus, welcher
MTA installiert und benutzt wird.
Ein MTA ist ein Mail-Server, der
E-Mails an lokale Empfänger oder an Empfänger
im Internet ausliefert.Die Auswahl Sendmail
installiert das verbreitete sendmail
(in &os; die Voreinstellung). Die Auswahl
Sendmail local verwendet
sendmail als MTA,
deaktiviert aber den Empfang von E-Mails aus dem Internet.
Postfix und
Exim sind ähnlich wie
Sendmail. Beide Programme
liefern E-Mails aus und einige Anwender verwenden lieber eines
der beiden Programme als MTA.Nachdem Sie einen MTA ausgewählt
haben (oder beschlossen haben, keinen MTA
zu benutzen), erscheint wieder das Menü Netzwerkdienste.
Der nächste Menüpunkt ist
NFS client.Die Auswahl NFS client
erlaubt es dem System, mit einem NFS-Server
zu kommunizieren. Ein NFS-Server
stellt mithilfe des NFS-Protokolls
Dateisysteme für andere Systeme auf dem Netzwerk
bereit. Wenn der Rechner alleine für sich steht,
können Sie diesen Menüpunkt auslassen.
Wahrscheinlich müssen Sie noch weitere Einstellungen
vornehmen; der beschreibt
die Einstellungen für NFS-Server
und NFS-Clients.Der Menüpunkt NFS server
richtet einen NFS-Server auf dem
Rechner ein. Durch die Auswahl dieses Punktes werden
die für Remote-Procedure-Call (RPC)
benötigten Dienste gestartet. Mit RPC
werden Routinen auf entfernten Rechnern aufgerufen.Der nächste Punkt, Ntpdate,
konfiguriert die Zeitsynchronisation. Wenn Sie diesen
Punkt auswählen, erscheint das folgende Menü:Ntpdate konfigurierenWählen Sie aus diesem Menü einen nahe
liegenden Server aus. Die Zeitsynchronisation mit
einem nahe liegenden Server ist, wegen der geringeren
Latenzzeit, genauer als die Synchronisation mit einem
weiter entfernten Server.Der nächste Menüpunkt ist
PCNFSD. Wenn Sie diesen Punkt
auswählen, wird net/pcnfsd
aus der Ports-Sammlung installiert.
Dieses nützliche Werkzeug stellt
NFS-Authentifizierungsdienste für
Systeme bereit, die diese Dienste nicht anbieten
(beispielsweise Microsofts &ms-dos;).Um die nächsten Menüpunkte zu sehen,
müssen Sie herunterblättern:Netzwerkdienste – untere HälfteDie Programme &man.rpcbind.8;, &man.rpc.statd.8; und
&man.rpc.lockd.8; werden für Remote-Procedure-Calls
(RPC) benutzt. Das Programm
rpcbind verwaltet die Kommunikation
zwischen NFS-Servern und
NFS-Clients und ist für den
Betrieb eines NFS-Servers erforderlich.
Der Daemon rpc.statd hält
zusammen mit dem Daemon rpc.statd
des entfernten Rechners den Status der Verbindung. Der
Status einer Verbindung wird normalerweise in der Datei
/var/db/statd.status festgehalten.
Der nächste Menüpunkt ist
rpc.lockd, der Dateisperren
(file locks) bereitstellt.
rpc.lockd wird normalerweise
zusammen mit dem Daemon rpc.statd
benutzt, der festhält welche Rechner Sperren anfordern
und wie oft Sperren angefordert werden. Beide Dienste
sind wunderbar zur Fehlersuche geeignet, doch werden
Sie zum Betrieb von NFS-Servern und
NFS-Clients nicht benötigt.Der nächste Punkt in der Auswahl ist
Routed, der Routing-Daemon.
Das Programm &man.routed.8; verwaltet die Routing-Tabelle,
entdeckt Multicast-Router und stellt die Routing-Tabelle
auf Anfrage jedem mit dem Netz verbundenen Rechner zur
Verfügung. Der Daemon wird hauptsächlich auf
Gateways eines lokalen Netzes eingesetzt.
Wenn Sie den Punkt auswählen müssen Sie
den Ort des Programms angeben. Die Vorgabe können
Sie mit der Taste Enter übernehmen.
Anschließend werden Sie nach den Kommandozeilenoptionen
für routed gefragt. Vorgegeben
ist die Option .Der nächste Menüpunkt ist
Rwhod. Wenn Sie diesen Punkt
auswählen, wird während des Systemstarts der
Daemon &man.rwhod.8; gestartet. Das Kommando
rwhod schickt Broadcast-Meldungen
in das Netz oder empfängt diese im Consumer-Mode.
Die Funktion der Werkzeuge wird in den Hilfeseiten
&man.ruptime.1; und &man.rwho.1; beschrieben.Der vorletzte Menüpunkt aktiviert den Daemon
&man.sshd.8;, den OpenSSH
Secure-Shell-Server. Wo möglich sollte
SSH anstelle von
telnet und FTP
eingesetzt werden. Der Secure-Shell-Server erstellt
verschlüsselte und daher sichere Verbindungen
zwischen zwei Rechnern.TCP Extensions ist der
letzte Menüpunkt. Diese Auswahl aktiviert die
TCP-Erweiterungen aus
RFC 1323 und
RFC 1644. Obwohl dies auf
vielen Rechnern die Verbindungsgeschwindigkeit erhöht,
können durch diese Option auch Verbindungsabbrüche
auftreten. Auf Servern sollte diese Option nicht aktiviert
werden, auf Einzelmaschinen kann diese Option nützlich
sein.Wenn Sie die Netzwerkdienste eingerichtet haben,
blättern Sie zum Menüpunkt
Exit hoch, um die Nacharbeiten
fortzusetzen.Den X-Server einrichtenDer X-Server kann erst nach einer erfolgreichen
Installation von &os; eingerichtet werden. Weitere
Informationen zur Installation und Konfiguration des X-Servers
enthält des Handbuchs.Wenn Sie eine graphische Benutzeroberfläche,
wie KDE oder
GNOME verwenden wollen,
müssen Sie einen X-Server einrichten.Pakete installierenPakete (packages) sind
schon übersetzte Programme und sind ein
zweckmäßiger Weg, Programme zu installieren.Beispielhaft wird im Folgenden die Installation
eines Paketes gezeigt. In diesem Schritt können
auch weitere Pakete installiert werden. Nach der
Installation können Sie mit
sysinstall (vor &os; 5.2
/stand/sysinstall) zusätzliche
Pakete installieren. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoNachdem Sie [ Yes ]
ausgewählt und Enter gedrückt
haben, gelangen Sie in die Paketauswahl:Die Paketkategorie aussuchenEs stehen nur die Pakete zur Auswahl, die sich
auf dem momentanen Installationsmedium befinden.Wenn Sie All auswählen,
werden alle Pakete angezeigt. Sie können die
Anzeige auf die Pakete einer Kategorie beschränken.
Wählen Sie mit den Pfeiltasten die Kategorie
aus und drücken Sie die Taste
Enter.Ein Menü mit allen Paketen der ausgewählten
Kategorie erscheint:Pakete auswählenIm gezeigten Bildschirm ist das Paket
bash ausgewählt. Sie
können weitere Pakete auswählen, indem Sie
die Pakete mit den Pfeiltasten markieren und die Taste
Space drücken. In der unteren
linken Ecke des Bildschirms wird eine Kurzbeschreibung
des ausgewählten Pakets angezeigt.Die Taste Tab wechselt zwischen
dem zuletzt ausgesuchten Paket, &gui.ok; und
&gui.cancel;.Wenn Sie die zu installierenden Pakete ausgewählt
haben, drücken Sie einmal Tab, um
&gui.ok; zu markieren. Drücken Sie dann
Enter, um wieder in die Paketauswahl
zu gelangen.Die rechte und die linke Pfeiltaste wechseln ebenfalls
zwischen &gui.ok; und &gui.cancel;. Mit diesen Tasten
können Sie auch &gui.ok; auswählen und dann mit
Enter zur Paketauswahl
zurückkehren.Pakete installierenBenutzen Sie die Taste Tab und
die Pfeiltasten um [ Install ]
auszuwählen. Drücken Sie anschließend
die Taste Enter. Sie müssen jetzt
die Installation der Pakete bestätigen:Paketinstallation bestätigenDie Paketinstallation wird gestartet, wenn Sie
&gui.ok; auswählen und Enter
drücken. Den Verlauf der Installation können
Sie anhand der angezeigten Meldungen verfolgen; achten
Sie dabei auf Fehlermeldungen.Nach der Paketinstallation können Sie die
Nacharbeiten fortsetzen. Wenn Sie keine Pakete
ausgewählt haben und die Nacharbeiten fortsetzen
möchten, wählen Sie trotzdem
[ Install ] aus.Benutzer und Gruppen anlegenWährend der Installation sollten Sie mindestens
ein Benutzerkonto anlegen, sodass Sie das System
ohne das Konto root benutzen
können. Normalerweise ist die Root-Partition
recht klein und läuft schnell voll, wenn Sie
Anwendungen unter dem root-Konto
laufen lassen. Vor der größten Gefahr
warnt der nachstehende Hinweis: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] NoDer Bildschirm auf Deutsch: Bestätigung erforderlich
Wollen Sie Benutzerkonten anlegen? Wir empfehlen, mindestens
ein Konto für sich selbst anzulegen, da es gefährlich
ist, unter "root" zu arbeiten (es ist leicht, Befehle einzugeben,
die das System nachhaltig beeinträchtigen).
[ Yes ] NoUm ein Benutzerkonto anzulegen, wählen Sie
&gui.yes; aus und drücken
Enter.Benutzerkonto auswählenMarkieren Sie User mit
den Pfeiltasten und drücken Sie die Taste
Enter.Benutzerkonto anlegenWählen Sie die Felder zum Ausfüllen mit
der Taste Tab aus. Zur Hilfe werden
die nachstehenden Beschreibungen werden im unteren
Teil des Bildschirms angezeigt:Login IDDer Name des Benutzerkontos (verpflichtend).UIDDie numerische ID dieses Kontos. Wenn Sie das
Feld leer lassen, wird eine ID automatisch
zugeteilt.GroupDie diesem Konto zugeordnete Login-Gruppe.
Wenn Sie das Feld leer lassen, wird automatisch
eine Gruppe zugeteilt.PasswordDas Passwort des Benutzerkontos.
Füllen Sie dieses Feld sehr sorgfätig
aus.Full nameDer vollständige Name des Benutzers
(Kommentarfeld).Member groupsDie Gruppen, in denen dieses Konto Mitglied
ist (das Konto erhält Zugriffsrechte auf
Dateien dieser Gruppe).Home directoryDas Heimatverzeichnis des Benutzerkontos.
Wenn Sie das Feld leer lassen, wird das Verzeichnis
automatisch festgelegt.Login shellDie Login-Shell des Kontos. Wenn Sie das
Feld leer lassen, wird /bin/sh
als Login-Shell festgesetzt.Im Beispiel wurde die Login-Shell von
/bin/sh zu der vorher installierten
/usr/local/bin/bash geändert.
Tragen Sie keine Shell ein, die nicht existiert, da sich
sonst nicht anmelden können. In der BSD-Welt wird
häufig die C-Shell benutzt, die Sie mit
/bin/tcsh angeben können.Damit ein Wechsel auf den Superuser
root möglich ist, wurde dem
Benutzerkonto die Gruppe wheel
zugeordnet.Wenn Sie zufrieden sind, drücken Sie &gui.ok;.
Es erscheint wieder das Benutzer-Menü:Benutzermenü verlassenWeitere Gruppen können, wenn Sie die Anforderungen
schon kennen, zu diesem Zeitpunkt angelegt werden.
Nach der Installation können Sie Gruppen mit
dem Werkzeug sysinstall (vor &os; 5.2
/stand/sysinstall) anlegen.Wenn Sie alle Benutzer angelegt haben, wählen
Sie mit den Pfeiltasten Exit
aus und drücken Sie die Taste
Enter.Das root-Passwort festlegen Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]Um das root-Passwort festzulegen,
drücken Sie die Taste Enter.Sie müssen das Passwort zweimal eingeben.
Stellen Sie sicher, dass Sie das Passwort nicht
vergessen. Beachten Sie, dass bei der Eingabe
das Passwort weder ausgegeben wird noch Sterne
angezeigt werden.Changing local password for root.
New password :
Retype new password :Nach der erfolgreichen Eingabe des Passworts
kann die Installation fortgesetzt werden.Die Installation beendenWenn Sie noch weitere Netzwerkkarten konfigurieren
oder weitere Einstellungen vornehmen wollen, können
Sie das jetzt tun. Sie können die Einstellungen auch
nach der Installation mit sysinstall
(/stand/sysinstall vor &os; 5.2)
vornehmen. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Um in das Hauptmenü zurückzukehren, wählen
Sie mit den Pfeiltasten &gui.no; aus
und drücken Sie Enter.Die Installation beendenWählen Sie mit den Pfeiltasten
[X Exit Install] aus und drücken
Sie die Taste Enter. Sie müssen
das Beenden der Installation bestätigen: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] NoWählen Sie &gui.yes; aus
und entfernen Sie die Diskette aus dem Laufwerk, wenn
Sie von einer Diskette gestartet haben. Das CD-Laufwerk
ist bis zum Neustart des Systems verriegelt. Entfernen
Sie die CD zügig wenn der Rechner startet.Achten Sie beim Neustart des Systems auf eventuell
auftauchende Fehlermeldungen.&os; startenStart von &os; auf einem &i386;Wenn alles funktioniert hat, laufen viele Meldungen
über den Bildschirm und schließlich erscheint
ein Anmeldeprompt. Um sich die Meldungen anzusehen.
drücken Sie die Taste Scroll-Lock.
Sie können dann mit den Tasten PgUp
und PgDn blättern. Wenn Sie erneut
Scroll-Lock drücken, kehren
Sie zum Anmeldeprompt zurück.Es kann sein, dass der Puffer zu klein ist, um alle
Meldungen anzuzeigen. Nachdem Sie sich angemeldet haben,
können Sie sich mit dem Kommando dmesg
alle Meldungen ansehen.Melden Sie sich bitte mit dem Benutzerkonto an
(rpratt im Beispiel),
das Sie während der Installation eingerichtet haben.
Arbeiten Sie mit root nur dann
wenn es erforderlich ist.Die nachfolgende Abbildung zeigt typische
Startmeldungen (Versionsangaben entfernt):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Das Erzeugen der RSA- und DSA-Schlüssel kann auf
langsamen Maschinen lange dauern. Die Schlüssel
werden nur beim ersten Neustart erzeugt, spätere
Neustarts sind schneller.Wenn der X-Server konfiguriert ist und eine
Oberfläche ausgewählt wurde, können Sie
X mit dem Kommando startx starten.Start von &os; auf einer AlphaAlphaNach der Installation können Sie &os; von
der SRM-Eingabeaufforderung mit einem Befehl wie
dem folgenden starten:>>>BOOT DKC0Der Befehl weist die Firmware an, von dem
angegebenen Laufwerk zu starten. Damit &os; künftig
automatisch startet, geben Sie die folgenden Befehle
ein:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTBeim Start von &os; erscheinen ähnliche
Meldungen, wie beim Start von &os; auf einem
&i386;-System.&os; herunterfahrenEs ist wichtig, dass Sie das Betriebssystem richtig
herunterfahren. Wechseln Sie zunächst mit dem
Befehl su zum Superuser; Sie müssen
dazu das root-Passwort eingeben.
Der Wechsel auf den Superuser gelingt nur, wenn der
Benutzer ein Mitglied der Gruppe wheel
ist. Ansonsten melden Sie sich direkt als Benutzer
root an. Der Befehl
shutdown -h now hält das System
an.The operating system has halted.
Please press any key to reboot.Sie können den Rechner ausschalten, nachdem die
Meldung Please press any key to reboot
erschienen ist. Wenn Sie stattdessen eine Taste drücken,
startet das System erneut.Sie können das System auch mit der Tastenkombination
CtrlAltDel
neu starten. Sie sollten diese Tastenkombination
allerdings nicht gewohnheitsmäßig benutzen.FehlersucheInstallationFehlersucheDieser Abschnitt behandelt häufig auftretende
Installationsprobleme. Weiterhin enthält er Hinweise
wie &os; parallel mit &ms-dos; oder &windows; betrieben wird.Wenn etwas schief gehtAufgrund der Beschränkungen der PC-Architektur
ist eine zuverlässige Geräteerkennung nicht
möglich. Falls die Geräteerkennung
fehlschlägt, können Sie einige Dinge
versuchen.Sehen Sie in den Hardware
Notes Ihrer &os;-Version nach, ob Ihre Hardware
unterstützt wird.Wenn Ihre Hardware unterstützt wird und sich
der Installationsprozess aufhängt oder sonstige
Probleme auftauchen, müssen Sie einen angepassten Kernel
erstellen, da Ihre Hardware in diesem Fall nicht vom
GENERIC-Kernel unterstützt wird.
Der Kernel auf den Startdisketten
verwendet die Werkseinstellungen für IRQs,
IO-Adressen und DMA-Kanäle. Geänderte
Einstellungen müssen Sie daher in der
Kernelkonfigurationsdatei angeben, damit &os; diese
Geräte korrekt erkennt.Es ist auch möglich, dass die Suche nach einem
nicht vorhandenen Gerät dazu führt, dass die
Erkennung eines vorhandenen Geräts fehlschlägt.
In diesem Fall sollten Sie nicht vorhandene Geräte,
deren Einstellungen sich mit vorhandenen Geräten
überschneiden, deaktivieren.Einige Installationsprobleme können Sie vermeiden
oder umgehen, indem Sie die Firmware der Hardware,
insbesondere die Firmware der Systemplatine, aktualisieren.
Die Firmware der Systemplatine ist das
BIOS. Die meisten Hardware-Hersteller
bieten aktuelle Firmware und Anleitungen zur
Aktualisierung der Firmware auf dem Internet an.Viele Hersteller raten davon ab, ohne guten
Grund das BIOS zu aktualisieren.
Die Aktualisierung kann fehlschlagen
und den BIOS-Chip dauerhaft
beschädigen.Vorhandene &ms-dos;-Partitionen bearbeitenPartitionen&ms-dos;Viele Benutzer wollen &os; auf PCs
installieren, auf denen sich schon ein
µsoft;-Betriebssystem befindet. Bei diesem Vorhaben
unterstützt das Werkzeug FIPS.
Das Werkzeug befindet sich auf der Installations-CD-ROM im
Verzeichnis tools
oder kann von den &os;-Spiegeln
heruntergeladen werden.Das Werkzeug FIPS teilt
eine bestehende &ms-dos;-Partition auf. Der erste Teil
enthält die Daten der alten Partition, der zweite
Teil steht für die Installation von &os; zur
Verfügung. Vorher muss die &ms-dos;-Partition
defragmentiert werden. Klicken Sie im Explorer mit
der rechten Maustaste das Laufwerk an und wählen
Sie Defragmentieren aus. Alternativ können Sie
die Norton Disk Tools benutzen.
Nachdem das Laufwerk defragmentiert ist, können Sie
FIPS aufrufen. Folgen Sie einfach
den Anweisungen des Werkzeugs. Nach einem Neustart
können Sie &os; in die freie Slice installieren.
Den Platzbedarf der Installation können Sie im
Menü Distributions von
sysinstall abschätzen.Von PowerQuest
stammt das nützliche Werkzeug
&partitionmagic;. Diese
Anwendung bietet weit mehr Funktionen als
FIPS. Benutzen Sie
&partitionmagic;, wenn Sie
die verwendeten Betriebssysteme oft wechseln wollen.
Das Produkt kostet allerdings Geld; wenn Sie &os;
installieren und beibehalten wollen, ist wahrscheinlich
FIPS das Richtige für
Sie.&ms-dos;- und &windows;-Dateisysteme benutzenMit Double Space™
komprimierte Dateisysteme werden zurzeit von &os; nicht
unterstützt. Damit &os; auf die Daten zugreifen kann,
müssen Sie das Dateisystem daher dekomprimieren.
Rufen Sie dazu den Compression Agent
aus dem Menü Start >
Programs >
System Tools auf.Unter &os; hängen Sie &ms-dos;-Dateisysteme
(FAT16 sowie FAT32) mit dem Kommando &man.mount.msdosfs.8; ein.
Dazu ein Beispiel:&prompt.root; mount_msdosfs /dev/ad0s1 /mntDas &ms-dos;-Dateisystem befindet sich hier auf
der ersten Partition der primären Platte. Dies kann
bei Ihnen anders sein. Die Anordnung der Partitionen
entnehmen Sie den Ausgaben von dmesg
und mount.Erweiterte &ms-dos;-Partitionen werden für
gewöhnlich hinter die &os;-Partitionen gelegt:
Die Nummern der von &ms-dos; benutzten Slices ist
höher als die der Slices von &os;. Beispielsweise
kann /dev/ad0s1 die erste
&ms-dos; Partition sein, /dev/ad0s2
die &os;-Partition sein und /dev/ad0s3
eine erweiterte &ms-dos;-Partition. Einige Anfänger
verwirrt diese Situation zunächst.Analog werden NTFS-Partitionen mit dem
Kommando &man.mount.ntfs.8; eingehangen.Fragen und Antworten für Alpha-BenutzerAlphaDieser Abschnitt beantwortet häufig gestellte
Fragen zur &os;-Installation auf Alpha-Systemen.Kann ich &os; von der ARC- oder Alpha-BIOS-Konsole
starten?ARCAlpha-BIOSSRMNein, wie Compaq Tru64 und VMS startet
&os; nur von der SRM-Konsole.Hilfe, ich habe keinen Platz! Muss ich
zuerst alles löschen?Leider ja.Kann ich Compaq Tru64- oder VMS-Dateisysteme
einhängen?Zurzeit nicht.ValentinoVaschettoBeigetragen von Anspruchsvollere InstallationenDieser Abschnitt beschreibt die Installation von &os;
in besonderen Situationen.&os; auf einem System ohne Monitor oder Tastatur
installierenInstallationheadless (serielle Konsole)serielle KonsoleDiese Methode wird als headless install
(kopflose Installation) bezeichnet, da die Maschine, auf
die &os; installiert werden soll, entweder keinen Monitor
angeschlossen hat oder über keine VGA-Karte verfügt.
Wie kann &os; dennoch installiert werden? Eben
mithilfe einer seriellen Konsole. Im Wesentlichen ist
eine serielle Konsole eine andere Maschine, die Ein- und
Ausgaben für eine andere Maschine bereitstellt.
Um über eine serielle Konsole zu installieren, erstellen
Sie zunächst die Startdisketten, wie in
beschrieben.Damit ein Systemstart mit der seriellen Konsole
möglich ist, müssen die Disketten entsprechend
der nachstehenden Anleitung angepasst werden:Die Startdisketten für eine serielle Konsole
anpassenmountWenn Sie ein System mit den frisch erstellten
Disketten starten, läuft der normale
&os;-Installationsprozess an. Diese Installation
soll aber über die serielle Konsole gesteuert
werden. Hängen Sie mit dem Kommando &man.mount.8;
die Diskette boot.flp ein:&prompt.root; mount /dev/fd0 /mntWechseln Sie in das Verzeichnis
/mnt:&prompt.root; cd /mntIn diesem Verzeichnis können Sie den
Start über eine serielle Konsole einstellen.
Erstellen Sie die Datei boot.config
mit dem Inhalt /boot/loader -h.
Diese Zeile weist den Bootloader an, mit der seriellen
Konsole zu starten.&prompt.root; echo "/boot/loader -h" > boot.configNachdem Sie die Diskette angepasst haben, hängen
Sie die Diskette mit dem Kommando &man.umount.8;
wieder aus:&prompt.root; cd /
&prompt.root; umount /mntSie können die Diskette nun aus dem
Laufwerk entfernen.Das Nullmodemkabel anschließenNullmodemkabelSie müssen beide Maschinen mit einem
Nullmodemkabel
verbinden. Schließen Sie
das Nullmodemkabel an die seriellen Schnittstellen
beider Maschinen an. Sie können
kein direktes serielles Kabel verwenden,
Nullmodemkabel besitzen gekreuzte Leitungen.Die Installation startenSie können die Installation jetzt starten.
Legen Sie die boot.flp-Diskette
in das Laufwerk der Maschine ein, auf der Sie &os;
installieren wollen. Schalten Sie anschließend
die Maschine ein.Die Verbindung mit der zur installierenden
Maschine herstellencuMit dem Kommando &man.cu.1; verbinden Sie sich
mit der zu installierenden Maschine:&prompt.root; cu -l /dev/cuad0Unter &os; 5.X müssen Sie
/dev/cuaa0 anstelle von
/dev/cuad0 verwenden.Fertig! Über die cu-Sitzung
können Sie nun die zu installierende Maschine steuern.
Sie erhalten die Aufforderung die Diskette
kern1.flp einzulegen.
Anschließend legen Sie den Terminaltyp fest.
Wählen Sie die FreeBSD color console
aus und fahren wie gewohnt mit der Installation fort.Eigene Installationsmedien herstellenIm Folgenden ist mit Installations-CD
eine CD-ROM oder DVD gemeint, die Sie gekauft oder selbst
hergestellt haben.Oft müssen Sie eigene Installationsmedien erzeugen.
Dies können physische Medien wie Bänder sein oder
Installationsquellen sein, aus denen
sysinstall Dateien herunterlädt,
beispielsweise ein lokaler FTP-Server oder eine
&ms-dos;-Partition.Beispiele:Im lokalen Netzwerk befinden sich viele Maschinen,
Sie besitzen allerdings nur eine Installations-CD.
Den Inhalt der Installations-CD wollen Sie auf
einem lokalem FTP-Server bereitstellen. Zur Installation
wird der lokale FTP-Server anstelle eines Internet-Servers
benutzt.Sie haben eine Installations-CD, allerdings erkennt
&os; im Gegensatz zu &ms-dos;/&windows; das CD- oder
DVD-Laufwerk nicht. Sie können die
Installationsdateien auf eine DOS-Partition desselben
Rechners kopieren und &os; von der DOS-Partition
installieren.Der Rechner, auf dem Sie &os; installieren wollen,
besitzt kein CD- oder DVD-Laufwerk. Ein anderer Rechner,
zu dem eine serielle oder parallele Verbindung besteht,
besitzt allerdings ein CD- oder DVD-Laufwerk.Sie wollen ein Band erzeugen, mit dem Sie &os;
installieren können.Eine Installations-CD-ROM erzeugenMit jeder Release stellt das &os;-Project für
jede unterstützte Architektur mindestens zwei
CD-Abbilder (ISO-Images) zur Verfügung.
Wenn Sie einen CD-Brenner besitzen, können Sie
diese Abbilder brennen und damit &os; installieren.
Wenn Sie einen CD-Brenner besitzen und über eine
gute Internet-Verbindung verfügen, ist das die
preiswerteste Art, &os; zu installieren.Das richtige Abbild herunterladenDie ISO-Abbilder für jedes Releases
können Sie von
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version
oder einem nahe gelegenen Spiegel herunterladen.
Ersetzen Sie arch und
version durch passende
Werte.Das Verzeichnis enthält die folgenden
Abbilder:
FreeBSD 5.X sowie
6.X-ISO-AbbilderDateinameInhaltVersion-RELEASE-Architektur-bootonly.isoEnthält alles, was Sie benötigen, um
um den FreeBSD-Kernel zu laden und die
Installationsoberfläche zu starten. Die zu
installierenden Dateien müssen über
FTP oder eine andere geeignete Quelle bezogen
werden.version-RELEASE-Architektur-disc1.isoAlles, was Sie für die Installation von
FreeBSD benötigen. Zusätzlich ist ein
Live-Dateisystem enthalten, das
gemeinsam mit der Repair-Funktion
von sysinstall
verwendet werden kann.version-RELEASE-Architektur-disc2.isoDie &os;-Dokumentation (bis einschließlich
&os; 6.1) und so viele Pakete Dritter, wie auf dem
Installationsmedium Platz hatten.version-RELEASE-arch-docs.isoDie &os;-Dokumentation (ab &os; 6.2).
Sie benötigen nur eines der beiden Abbilder
bootonly oder
disc1. Laden Sie bitte nicht
beide Abbilder herunter, das disc1-Abbild
enthält alles, was das bootonly-Abbild
enthält.Benutzen Sie das bootonly-Abbild,
wenn Sie eine preiswerte Internet-Anbindung besitzen.
Mit diesem Abbild können Sie &os; installieren.
Software Dritter können Sie anschließend
mithilfe des Ports-Systems ()
herunterladen.Benutzen Sie das disc1-Abbild,
wenn Sie &os; installieren wollen und das
Installationsmedium eine angemessene Auswahl an Software
Dritter enthalten soll.Die zusätzlichen Abbilder sind nützlich
aber nicht notwendig, insbesondere wenn Sie eine
schnelle Internet-Verbindung besitzen.Die CDs brennenSie müssen die Abbilder auf eine CD
brennen. Das Brennen von CDs unter &os;
wird in erläutert
(sehen Sie sich insbesondere
und an).Wenn Sie die CDs unter einem anderen Betriebssystem
erstellen, benutzen Sie die entsprechenden Werkzeuge
des Betriebssystems. Die Abbilder sind
Standard-ISO-Abbilder und können von vielen
Brennprogrammen verarbeitet werden.Wenn Sie eine angepasste Version von FreeBSD
erstellen wollen, sollten Sie den Release Engineering
Article lesen.Einen lokalen FTP-Server einrichtenInstallationNetzwerkinstallationFTPDie Dateien auf der Installations-CD sind genauso
angeordnet wie auf den &os;-FTP-Servern. Daher ist es
einfach, einen lokalen FTP-Server für die
&os;-Installation über ein Netzwerk einzurichten.Hängen Sie auf dem FTP-Server die CD-ROM in
das Verzeichnis /cdrom
ein:&prompt.root; mount /cdromLegen Sie ein Konto für Anonymous-FTP an.
Dazu editieren Sie die Datei
/etc/passwd mit dem Kommando
&man.vipw.8; und fügen die nachstehende Zeile
hinzu:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentStellen Sie sicher, dass der FTP-Dienst in der Datei
/etc/inetd.conf aktiviert ist.Jeder, der Ihren Rechner über das Netzwerk
erreicht, kann nun &os; über FTP installieren.
In sysinstall wird dazu
FTP als Installationsmedium wählt. Der
FTP-Server wird durch die Auswahl
Other (andere als die vorgegebenen
Server) und anschließende Eingabe von
ftp://Ihr Rechner
festgelegt.Wenn die Version der für die FTP-Installation
Ihrer Clients verwendeten Bootmedien (normalerweise Disketten)
nicht exakt der von Ihnen auf Ihrem lokalen FTP-Server
angebotenen Version entspricht, ist
sysinstall nicht in der
Lage, die Installation abzuschließen. Sind die
Versionsnummern unterschiedlich, können Sie durch
das Aufrufen des Punktes Optionssysinstall dazu zwingen, die
Installation dennoch abzuschließen. Dazu setzen
Sie den Namen der Distribution auf
any.Diese Vorgehensweise ist in Ihrem lokalen Netzwerk,
das durch eine Firewall geschützt ist, völlig
in Ordnung. Wenn Sie FTP für Rechner auf dem
Internet (und nicht für lokale Rechner) anbieten,
zieht Ihr Server die Aufmerksamkeit von Crackern und
andere Unannehmlichkeiten auf sich. Achten Sie in
diesem Fall darauf, dass Sie gute Sicherheitsverfahren
anwenden.Installationsdisketten erstellenInstallationDiskettenWenn Sie, was wir nicht empfehlen,
von Disketten installieren müssen, weil Disketten das
einzig unterstützte Installationsmedium sind oder
Sie es sich einfach schwer machen wollen, müssen
Sie zunächst einige Disketten vorbereiten.Sie müssen mindestens den Inhalt des Verzeichnisses
base auf
1.44 MB Disketten kopieren.
Wenn Sie die Disketten unter &ms-dos; erstellen,
müssen
Sie die Disketten mit dem DOS-Kommando
FORMAT formatieren. Unter &windows;
können Sie Disketten mithilfe des Explorers
formatieren (klicken Sie mit der rechten Maustaste auf
das A:-Laufwerk und wählen
Sie Format aus).Vertrauen Sie vorformatierten Disketten nicht; formatieren
Sie die Disketten zur Sicherheit immer selbst. In der
Vergangenheit waren vorformatierte Disketten der Verursacher
vieler Probleme.Falls Sie die Disketten auf einer &os;-Maschine
erstellen, sollten Sie immer noch formatieren. Allerdings
brauchen Sie kein DOS-Dateisystem auf den Disketten
anzulegen. Mit den Kommandos bsdlabel
und newfs können Sie das Dateisystem
UFS verwenden, wie im nachstehenden Beispiel für
3.5" 1.44 MB Disketten gezeigt:&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; bsdlabel -w fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Anschließend können Sie die Disketten
wie ein normales Dateisystem einhängen und
beschreiben.Nachdem Sie die Disketten formatiert haben, kopieren
Sie die Dateien der Distribution auf die Disketten. Die
Dateien der Distribution sind in Stücke geteilt, sodass
fünf Dateien auf eine 1.44 MB Diskette passen.
Kopieren Sie die gewünschten Distribution auf
Disketten, wobei Sie so viele Dateien wie möglich
auf eine Diskette kopieren. Jede Distribution wird auf
der Diskette in einem eigenen Verzeichnis abgelegt,
beispielsweise a:\base\base.aa,
a:\base\base.ab und so weiter.Die Datei base.inf muss
unbedingt auf die erste Diskette des
base-Diskettensatzes kopiert werden,
damit das Installationsprogramm feststellen kann, wie viele
Disketten geladen werden müssen, um die Distribution
wieder zusammenzusetzen.Im Installationsprozess wählen Sie als
Installationsmedium Floppy
aus. Folgen Sie dann den gegebenen Anweisungen.Von einer &ms-dos;-Partition installierenInstallationvon einer &ms-dos;-PartitionUm eine Installation von einer &ms-dos;-Partition
vorzubereiten, kopieren Sie Dateien der Distributionen
in das Verzeichnis freebsd
direkt unterhalb des Wurzelverzeichnisses (zum Beispiel
c:\freebsd).
In diesem Verzeichnis muss sich dieselbe Verzeichnisstruktur
wie auf dem Installationsmedium befinden. Wenn Sie
die Dateien von einer Installations-CD kopieren, empfehlen
wir den DOS-Befehl xcopy. Das
nachstehende Beispiel bereitet eine minimale Installation
von &os; vor:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sIm Beispiel wurde angenommen, dass auf Laufwerk
C: ausreichend Platz vorhanden
ist und die CD-ROM Laufwerk E:
ist.Wenn Sie kein CD-Laufwerk besitzen, können Sie
die Distributionen von
ftp.FreeBSD.org
herunterladen. Jede Distribution liegt in einem eigenen
Verzeichnis. Beispielsweise liegt die Base-Distribution
im Verzeichnis
&rel.current;/base/.Kopieren Sie jede Distribution, die Sie von einer
&ms-dos;-Partition installieren wollen (und für
die Platz ist) in das Verzeichnis
c:\freebsd.
Für eine minimale Installation benötigen
Sie nur die Base-Distribution.Ein Installationsband erstellenInstallationvon einem QIC/SCSI-BandFalls Sie nicht über FTP oder von einer CD-ROM
installieren können, ist die Installation von Band
wahrscheinlich die einfachste Methode. Das
Installationsprogramm erwartet, dass sich die Distributionen
im tar-Format auf dem Band befinden.
Von den Distributions-Dateien erstellen Sie das
Installationsband einfach mit dem Kommando
tar:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Stellen Sie während der Installation sicher, dass
Sie über genügend freien Platz in einem
temporären Verzeichnis (das Sie festlegen können)
verfügen. Das temporäre Verzeichnis muss
den gesamten Inhalt des Bands
aufnehmen können. Da auf Bänder nicht wahlfrei
zugegriffen werden kann, benötigt diese
Installationsmethode temporär sehr viel Platz.Das Band muss sich vor dem Neustart mit der
Startdiskette im Laufwerk befinden. Ansonsten
wird das Band während der Geräteerkennung
vielleicht nicht erkannt.Eine Netzwerkinstallation vorbereitenInstallationNetzwerkinstallationseriell (SLIP oder PPP)InstallationNetzwerkinstallationparallel (PLIP)InstallationNetzwerkinstallationEthernetSie können drei Verbindungsarten für eine
Netzwerkinstallation benutzen: Eine Ethernet-Verbindung,
eine serielle Verbindung (SLIP oder PPP), oder eine
parallele Verbindung (PLIP, Laplink-Kabel).Die schnellste Netzwerkinstallation ist natürlich
mit einer Netzwerkkarte möglich. &os; unterstützt
die meisten der üblichen Netzwerkkarten. Eine Liste
der unterstützten Netzwerkkarten ist in den
Hardware-Notes jedes Releases enthalten. Wenn Sie eine
unterstützte PCMCIA-Netzwerkkarte benutzen, stellen
Sie sicher, dass die Karte eingesteckt ist,
bevor der Laptop eingeschaltet wird.
Leider unterstützt &os; das Einstecken von PCMCIA-Karten
während der Installation noch nicht.Für eine Netzwerkinstallation müssen Sie
Ihre IP-Adresse, die Netzwerkmaske und den Namen Ihres
Rechner kennen. Wenn Sie über eine PPP-Verbindung
installieren und keine feste IP-Adresse besitzen, braucht
Sie der vorgehende Satz nicht zu beunruhigen. Sie
können eine IP-Adresse dynamisch von Ihrem ISP
beziehen. Fragen Sie Ihren Systemadministrator nach
den richtigen Netzwerkeinstellungen.
Wenn Sie andere Rechner über Namen anstatt über
IP-Adressen erreichen wollen, brauchen Sie zudem einen
Nameserver und möglicherweise die Adresse eines
Gateways (mit PPP ist das die Adresse des ISPs), über
den Sie den Nameserver erreichen. Wenn Sie von einem
FTP-Server über einen HTTP-Proxy installieren wollen,
benötigen Sie außerdem noch die Adresse des
Proxy-Servers. Wenn Sie nicht alle oder zumindest
die meisten der benötigten Daten kennen, sollten
Sie wirklich vor der Installation
mit Ihrem Systemadministrator oder ISP reden!Die SLIP-Unterstützung ist recht einfach und
auf feste Verbindungen, beispielsweise ein serielles Kabel
zwischen einem Laptop und einem anderen Rechner, beschränkt.
Die Verbindung muss fest sein, da die Installation mit
SLIP keine Einwahl unterstützt. Eine Einwahl ist mit
PPP möglich, das Sie, wenn möglich, gegenüber
SLIP bevorzugen sollten.Wenn Sie ein Modem benutzen, ist PPP ziemlich sicher
die einzige Wahl. Stellen Sie sicher, dass Sie die
Daten Ihres Service Providers bereitliegen haben,
da Sie während der Installation die Daten früh
benötigen.Wenn Sie PAP oder CHAP benutzen, um sich mit Ihrem ISP
zu verbinden (wenn Sie unter &windows; kein Skript
benötigen, um die Verbindung herzustellen), brauchen
Sie an der ppp-Eingabeaufforderung
nur das Kommando dial abzusetzen.
Ansonsten müssen Sie sich mit Modem-spezifischen
AT-Kommandos bei Ihrem ISP einwählen (PPP stellt
nur einen einfachen Terminal-Emulator zur Verfügung).
Weiteres über PPP erfahren Sie im Abschnitt
User-PPP des Handbuchs
und im PPP-Abschnitt
der FAQ. Bei Problemen können Sie mit dem Kommando
set log local Meldungen auf den Bildschirm
umleiten.Wenn eine feste Verbindung zu einer anderen &os;-Maschine
besteht (2.0 Release oder neuer), sollten Sie ein
paralleles Laplink-Kabel in Betracht ziehen. Über
eine parallele Verbindung sind höhrere Geschwindigkeiten
als über eine serielle Verbindung (typischerweise
bis zu 50 kByte/s) möglich. Daher ist die
Installation über eine parallele Verbindung schneller
als eine Installation über eine serielle Verbindung.Eine NFS-Installation vorbereitenInstallationNetzwerkinstallationNFSEine NFS-Installation ist unkompliziert. Kopieren
Sie einfach die Distributionen auf einen NFS-Server
und wählen Sie NFS als Installationsmedium aus.Wenn der NFS-Server nur Verbindungen über
privilegierte Ports (Ports kleiner 1024) annimmt,
setzen Sie vor der Installation die Option
NFS Secure im Menü
Options.Wenn Sie eine schlechte Netzwerkkarte besitzen,
die sehr langsam ist, wählen Sie die Option
NFS Slow.Damit die NFS-Installation funktioniert, muss der
NFS-Server auch Unterverzeichnisse von exportierten
Verzeichnissen zum Einhängen freigeben. Wenn
beispielsweise die Distribution von &os; &rel.current;
unter ziggy:/usr/archive/stuff/FreeBSD
liegt, muss der Rechner ziggy erlauben,
das Verzeichnis
/usr/archive/stuff/FreeBSD
einzuhängen. Es reicht nicht, dass
ziggy erlaubt das Verzeichnis
/usr oder
/usr/archive/stuff
einzuhängen.Unter &os; werden diese Freigaben in der Datei
/etc/exports mit der Option
eingestellt. Die nötigen
Einstellungen können auf einem anderen NFS-Server
unterschiedlich sein. Wenn Sie vom NFS-Server die
Fehlermeldung permission denied
erhalten, dann haben Sie wahrscheinlich die Freigaben
nicht richtig konfiguriert.
diff --git a/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml b/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
index c4de313dc2..c930b4de94 100644
--- a/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,1932 +1,1932 @@
RossLippertÜberarbeitet von MultimediaÜbersichtFreeBSD unterstützt viele unterschiedliche Soundkarten,
die Ihnen den Genuss von Highfidelity-Klängen auf Ihrem
Computer ermöglichen. Dazu gehört unter anderem die
Möglichkeit, Tonquellen in den Formaten MPEG Audio Layer 3
(MP3), WAV, Ogg Vorbis und vielen weiteren Formaten aufzunehmen
und wiederzugeben. Darüber hinaus enthält die FreeBSD
Ports-Sammlung Anwendungen, die Ihnen das Bearbeiten Ihrer
aufgenommenen Tonspuren, das Hinzufügen von Klangeffekten
und die Kontrolle der angeschlossenen MIDI-Geräte
erlauben.Wenn Sie etwas Zeit investieren, können Sie
mit &os; auch Videos und DVDs abspielen. Im Vergleich
zu Audio-Anwendungen gibt es weniger Anwendungen zum
Kodieren, Konvertieren und Abspielen von Video-Formaten.
Es gab, als dieses Kapitel geschrieben wurde, keine
Anwendung, die einzelne Video-Formate ähnlich wie
audio/sox konvertieren
konnte. Allerdings ändert sich die Software in
diesem Umfeld sehr schnell.In diesem Kapitel wird das Einrichten von Soundkarten
besprochen. beschreibt die Installation
und Konfiguration von X11 und das Einrichten von Videokarten.
Hinweise zur Verbesserung der Wiedergabe finden sich
in diesem Kapitel.Dieses Kapitel behandelt die folgenden Punkte:Die Konfiguration des Systems damit Ihre
Soundkarte erkannt wird.
- Wie Sie mit Beispielanwendungen die
- Funktion einer Soundkarte prüfen.
+ Wie Sie die Funktion einer Soundkarte testen
+ können.Wie Sie Fehler in den Einstellungen von
Soundkarten finden.Wie Sie MP3s und andere Audio-Formate wiedergeben
und erzeugen.Die Video-Unterstützung des X-Servers.Gute Anwendungen, die Videos abspielen und
kodieren.Die Wiedergabe von DVDs, .mpg-
und .avi-Dateien.Wie Sie CDs und DVDs in Dateien rippen.Die Konfiguration von TV-Karten.Das Einrichten von Scannern.Bevor Sie dieses Kapitel lesen, sollten Sie:Wissen, wie Sie einen neuen Kernel konfigurieren
und installieren ().Der Versuch eine Audio-CD mit &man.mount.8;
einzuhängen erzeugt mindestens einen Fehler;
schlimmstenfalls kann es zu einer Kernel-Panic
kommen. Die Medien besitzen eine andere Kodierung
als normale ISO-Dateisysteme.MosesMooreVon MarcFonvieilleAktualisiert für &os; 5.X von BenediktKöhlerÜbersetzt von UwePierauSoundkarten einrichtenDen Soundtreiber einrichtenPCIISASoundkartenZunächst sollten Sie in Erfahrung bringen,
welches Soundkartenmodell Sie besitzen, welchen Chip
die Karte benutzt und ob es sich um eine PCI- oder
ISA-Karte handelt. &os; unterstützt eine Reihe
von PCI- als auch von ISA-Karten. Die
Hardware-Notes
zählen alle unterstützten Karten und deren
Treiber auf.KernelKonfigurationUm Ihre Soundkarte benutzen zu können, müssen Sie
den richtigen Gerätetreiber laden. Sie haben zwei
Möglichkeiten, den Treiber zu laden: Am einfachsten
ist es, das Modul mit &man.kldload.8; zu laden. Sie
können dazu die Kommandozeile verwenden:&prompt.root; kldload snd_emu10k1Alternativ können Sie auch einen Eintrag
in der Datei /boot/loader.conf
erstellen:snd_emu10k1_load="YES"Beide Beispiele gelten für eine Creative &soundblaster;
Live! Soundkarte. Weitere ladbare Soundmodule sind in
der Datei /boot/defaults/loader.conf
aufgeführt. Wenn Sie nicht sicher sind, welchen
Gerätetreiber Sie laden müssen, laden Sie den
Treiber snd_driver:&prompt.root; kldload snd_driverDer Treiber snd_driver ist ein
Meta-Treiber, der alle gebräuchlichen Treiber lädt
und die Suche nach dem richtigen Treiber vereinfacht.
Weiterhin können alle Treiber über
/boot/loader.conf geladen werden.Wollen Sie feststellen, welcher Treiber für Ihre
Soundkarte vom Metatreiber snd_driver
geladen wurde, sollten Sie sich mit
cat /dev/sndstat den Inhalt der Datei
/dev/sndstat ansehen.Alternativ können Sie die Unterstützung
für die Soundkarte direkt in den Kernel einkompilieren.
Diese Methode im nächsten Abschnitt beschrieben.
Weiteres über den Bau eines Kernels
erfahren Sie im Kapitel
Kernelkonfiguration.Soundkarten in der Kernelkonfiguration
einrichten
- Zuerst müssen Sie den allgemeinen Audio-Treiber
- &man.sound.4; in die Kernelkonfiguration aufnehmen.
+ Zuerst müssen Sie &man.sound.4;, den Treiber für
+ das Audio-Framework in die Kernelkonfiguration aufnehmen.
Fügen Sie dazu die folgende Zeile in die
Kernelkonfigurationsdatei ein:device sound
- Als nächstes müssen Sie den richtigen
+ Als Nächstes müssen Sie den richtigen
Treiber in die Kernelkonfiguration einfügen.
Den Treiber entnehmen Sie bitte der Liste der
unterstützen Soundkarten aus den
Hardware-Notes.
Zum Beispiel wird die Creative &soundblaster; Live!
Soundkarte vom Treiber &man.snd.emu10k1.4;
unterstützt. Für diese Karte verwenden
Sie die nachstehende Zeile:device snd_emu10k1Die richtige Syntax für die Zeile lesen
Sie bitte in der Hilfeseite des entsprechenden
- Treibers nach. Die Syntax finden Sie ebenfalls
+ Treibers nach. Die korrekte Syntax für alle
+ unterstützten Treiber finden Sie außerdem
in der Datei
/usr/src/sys/conf/NOTES.
- Nicht PnP-fähige ISA-Karten benötigen
- weiterhin Angaben zu den Karteneinstellungen
- (IRQ, I/O-Port). Die Karteneinstellungen tragen
+ Nicht PnP-fähige ISA-Soundkarten benötigen
+ (wie alle anderen ISA-Karten auch) weiterhin Angaben zu
+ den Karteneinstellungen (wie IRQ und I/O-Port).
+ Die Karteneinstellungen tragen
Sie in die Datei /boot/device.hints
ein. Während des Systemstarts liest der
&man.loader.8; diese Datei und reicht die Einstellungen
an den Kernel weiter. Für eine alte Creative
&soundblaster; 16 ISA-Karte, die sowohl den
- &man.snd.sbc.4;- als auch den snd_sb16(4)-Treiber
+ &man.snd.sbc.4;- als auch den
+ snd_sb16-Treiber
benötigt, fügen Sie folgende Zeilen in die
Kernelkonfigurationsdatei ein:device snd_sbc
device snd_sb16In die Datei /boot/device.hints
- tragen Sie beispielsweise die folgenden Einstellungen
- ein:
+ tragen Sie für diese Karte zusätzlich die
+ folgenden Einstellungen ein:hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"In diesem Beispiel benutzt die Karte den
I/O-Port 0x220 und den
IRQ 5.
- Die Hilfeseite des jeweiligen Treibers beschreibt
- die Syntax der Einträge in der Datei
- /boot/device.hints.
+ Die Manualpage &man.sound.4; sowie des jeweiligen
+ Treibers beschreiben die Syntax der Einträge in der
+ Datei /boot/device.hints.Das Beispiel verwendet die vorgegebenen Werte.
Falls Ihre Karteneinstellungen andere Werte vorgeben,
müssen Sie die Werte in der Kernelkonfiguration
- anpassen. Weiteres entnehmen Sie bitte der Hilfeseite
+ anpassen. Weitere Informationen zu dieser Soundkarte
+ entnehmen Sie bitte der Manualpage
&man.snd.sbc.4;.Die Soundkarte testenNachdem Sie den neuen Kernel gestartet oder das
erforderliche Modul geladen haben, sollte Ihre
Soundkarte in den Systemmeldungen (&man.dmesg.8;)
auftauchen. Zum Beispiel:pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>Den Status der Karte können Sie über
die Datei /dev/sndstat
prüfen:&prompt.root; cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz
16384
kld snd_ich (1p/2r/0v channels duplex default)Die Ausgaben können auf Ihrem System anders
aussehen. Wenn das Gerät pcm
nicht erscheint, prüfen Sie bitte Ihre Konfiguration.
Stellen sie sicher, dass Sie den richtigen Treiber
gewählt haben.
beschreibt häufig auftretende Probleme.Wenn alles glatt lief, haben Sie nun eine
funktionierende Soundkarte. Wenn ein CD-ROM
oder DVD-ROM-Laufwerk an Ihrer Soundkarte angeschlossen
ist, können Sie jetzt mit &man.cdcontrol.1; eine
CD abspielen:&prompt.user; cdcontrol -f /dev/acd0 play 1Es gibt viele Anwendungen, wie
audio/workman, die
eine bessere Benutzerschnittstelle besitzen. Um sich
MP3-Audiodateien anzuhören, können Sie
- eine Anwendung wie
- audio/mpg123 installieren.
- Eine schnelle Möglichkeit die Karte zu prüfen,
- ist es, Daten an das Gerät /dev/dsp
- zu senden:
+ eine Anwendung wie audio/mpg123 installieren.
+
+ Eine weitere schnelle Möglichkeit die Karte zu
+ prüfen, ist es, Daten an das Gerät
+ /dev/dsp zu senden:&prompt.user; cat Datei > /dev/dspFür Datei können
Sie eine beliebige Datei verwenden. Wenn Sie einige
Geräusche hören, funktioniert die Soundkarte.Die Einstellungen des Mixers können Sie
mit dem Kommando &man.mixer.8; verändern.
Weiteres lesen Sie bitte in der Hilfeseite
&man.mixer.8; nach.Häufige ProblemeDevice NodeGerätedateiI/O portIRQDSPFehlerLösung
-
- unsupported subdevice XX
- Ein oder mehrere Device Nodes wurden nicht
- korrekt angelegt. Wiederholen Sie die oben angegebenen
- Schritte.
-
-
sb_dspwr(XX) timed outDer I/O Port ist nicht korrekt angegeben.bad irq XXDer IRQ ist falsch angegeben. Stellen Sie
sicher, dass der angegebene IRQ mit dem Sound IRQ
übereinstimmt.xxx: gus pcm not attached, out of memoryEs ist nicht genug Speicher verfügbar,
um das Gerät zu betreiben.xxx: can't open /dev/dsp!Überprüfen Sie mit fstat |
grep dsp ob eine andere Anwendung das
Gerät geöffnet hat. Häufige
Störenfriede sind esound
oder die Sound-Unterstützung von
KDE.MunishChopraBeigetragen von Mehrere Tonquellen abspielenOft sollen mehrere Tonquellen gleichzeitig
abgespielt werden, auch wenn
beispielsweise esound oder
artsd das Audiogerät
nicht mit einer anderen Anwendung teilen können.Unter FreeBSD können mit &man.sysctl.8;
virtuelle Tonkanäle
eingerichtet werden. Virtuelle Kanäle mischen
die Tonquellen im Kernel (so können mehr
Kanäle als von der Hardware unterstützt
benutzt werden).Die Anzahl der virtuellen Kanäle können
Sie als Benutzer root wie folgt
einstellen:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4Im Beispiel werden vier virtuelle Kanäle
eingerichtet, eine im Normalfall ausreichende Anzahl.
hw.snd.pcm0.vchans ist die Anzahl
der virtuellen Kanäle des Geräts
pcm0. Die Anzahl kann konfiguriert
werden, sobald das Gerät existiert.
hw.snd.maxautovchans ist die Anzahl der
virtuellen Kanäle, die einem Gerät zugewiesen
werden, wenn es durch &man.kldload.8; eingerichtet
wird. Da das Modul pcm
unabhängig von den Hardware-Treibern geladen werden kann,
gibt hw.snd.maxautovchans die Anzahl
der virtuellen Kanäle an, die später eingerichtete
Geräte erhalten.Sie können die Anzahl der virtuellen Kanäle
nur ändern, wenn das Gerät nicht genutzt wird.
Schließen Sie daher zuerst alle Programme (etwa
Musikabspielprogramme oder Sound-Daemonen), die auf
dieses Gerät zugreifen.Wenn Sie ein System ohne &man.devfs.5; einsetzen,
müssen Anwendungen die Geräte
/dev/dsp0.x
verwenden. Wenn hw.snd.pcm.0.vchans wie
oben auf 4 gesetzt wurde, läuft
x von 0
bis 4. Auf Systemen mit
&man.devfs.5; werden die Geräte automatisch
- zugeteilt.
+ zugeteilt, wenn ein Programm das Gerät
+ /dev/dsp0 anfordert.
JosefEl-RayesBeigetragen von Den Mixer einstellenDie Voreinstellungen des Mixers sind im Treiber
&man.pcm.4; fest kodiert. Es gibt zwar viele Anwendungen
und Dienste, die den Mixer einstellen können
und die eingestellten Werte bei jedem Start wieder
- setzen, am einfachsten ist es allerdings, die Werte
+ setzen, am einfachsten ist es allerdings, die
+ Standardwerte für den Mixer
direkt im Treiber einzustellen. Der Mixer kann in
der Datei /boot/device.hints
eingestellt werden:
- hint.pcm.0.vol="100"
+ hint.pcm.0.vol="50"Die Zeile setzt die Lautstärke des Mixers
beim Laden des Moduls &man.pcm.4; auf den Wert
- 100.
+ 50.
ChernLeeEin Beitrag von BenediktKöhlerÜbersetzt von MP3-AudioMP3 (MPEG Layer 3 Audio) ermöglicht eine
Klangwiedergabe in CD-ähnlicher Qualität, was Sie sich
auf Ihrem FreeBSD-Rechner nicht entgehen lassen sollten.MP3-PlayerXMMS (X Multimedia System) ist
bei weitem der beliebteste MP3-Player für X11.
WinAmp-Skins können auch mit
XMMS genutzt werden, da die
Benutzerschnittstelle fast identisch mit der von Nullsofts
WinAmp ist. Daneben
unterstützt XMMS auch eigene
Plugins.XMMS kann als
multimedia/xmms Port oder Package installiert
werden.Die Benutzerschnittstelle von
XMMS ist leicht zu erlernen und
enthält eine Playlist, einen graphischen Equalizer und
vieles mehr. Diejenigen, die mit WinAmp vertraut sind, werden
XMMS sehr leicht zu benutzen
finden.Der Port audio/mpg123 ist
ein alternativer, kommandozeilenorientierter MP3-Player.mpg123 kann ausgeführt
werden, indem man das zu benutzende Sound Device und die
abzuspielende MP3-Datei auf der Kommandozeile wie unten
angibt:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
/dev/dsp1.0 sollten Sie dabei mit dem
dsp-Device Ihres Systems ersetzen.CD-Audio Tracks rippenBevor man eine ganze CD oder einen CD-Track in das
MP3-Format umwandeln kann, müssen die Audiodaten von der
CD auf die Festplatte gerippt werden. Dabei werden die CDDA
(CD Digital Audio) Rohdaten in WAV-Dateien kopiert.Die Anwendung cdda2wav die im
sysutils/cdrtools Paket enthalten
ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs
genutzt werden.Wenn die Audio CD in dem Laufwerk liegt, können Sie
mit folgendem Befehl (als root) eine
ganze CD in einzelne WAV-Dateien (eine Datei für jeden
Track) rippen:&prompt.root; cdda2wav -D 0,1,0 -Bcdda2wav unterstützt
auch ATAPI (IDE) CD-ROM-Laufwerke. Um von einem IDE-Laufwerk
zu rippen, übergeben Sie auf der Kommandozeile
statt der SCSI-IDs den Gerätenamen. Das folgende
Kommando rippt den 7. Track:&prompt.root; cdda2wav -D /dev/acd0 -t 7Der Schalter bezieht sich auf
das SCSI Device 0,1,0, das sich aus
dem Ergebnis des Befehls cdrecord -scanbus
ergibt.Um einzelne Tracks zu rippen, benutzen Sie den
Schalter wie folgt:&prompt.root; cdda2wav -D 0,1,0 -t 7Dieses Beispiel rippt den siebten Track der Audio
CD-ROM. Um mehrere Tracks zu rippen, zum Beispiel die Tracks
eins bis sieben, können Sie wie folgt einen Bereich
angeben:&prompt.root; cdda2wav -D 0,1,0 -t 1+7Mit &man.dd.1; können Sie ebenfalls Audio-Stücke
von ATAPI-Laufwerken kopieren. Dies wird in
erläutert.MP3-Dateien kodierenGegenwärtig ist Lame der
meistbenutzte MP3-Encoder. Lame
finden Sie unter audio/lame im
Ports-Verzeichnis.Benutzen Sie die WAV-Dateien, die sie von CD gerippt
haben, und wandeln sie mit dem folgenden Befehl die Datei
audio01.wav in
audio01.mp3 um:&prompt.root; lame -h -b 128 \
--tt "Foo Liedtitel" \
--ta "FooBar Künstler" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Geripped und kodiert von Foo" \
--tg "Musikrichtung" \
audio01.wav audio01.mp3128 kbits ist die gewöhnliche MP3-Bitrate. Viele
bevorzugen mit 160 oder 192 kbits eine höhere Qualität.
Je höher die Bitrate ist, desto mehr Speicherplatz
benötigt die resultierende MP3-Datei, allerdings wird die
Qualität dadurch auch besser. Der Schalter
verwendet den higher quality but a
little slower (höhere Qualität, aber etwas
langsamer) Modus. Die Schalter, die mit
beginnen, sind ID3-Tags, die in der Regel
Informationen über das Lied enthalten und in die
MP3-Datei eingebettet sind. Weitere Optionen können in
der Manualpage von Lame nachgelesen
werden.MP3-Dateien dekodierenUm aus MP3-Dateien eine Audio CD zu erstellen, müssen
diese in ein nicht komprimiertes WAV-Format umgewandelt
werden. Sowohl XMMS als auch
mpg123 unterstützen die Ausgabe
der MP3-Dateien in unkomprimierte Dateiformate.Dekodieren mit XMMS:Starten Sie XMMS.Klicken Sie mit der rechten Maustaste, um das
XMMS-Menu zu öffnen.Wählen Sie Preference im
Untermenü Options.Ändern Sie das Output-Plugin in Disk
Writer Plugin.Drücken Sie Configure.Geben Sie ein Verzeichnis ein (oder wählen Sie
browse), in das Sie die unkomprimierte Datei schreiben
wollen.Laden Sie die MP3-Datei wie gewohnt in
XMMS mit einer Lautstärke
von 100% und einem abgeschalteten EQ.Drücken Sie Play und es wird
so aussehen, als spiele XMMS
die MP3-Datei ab, aber keine Musik ist zu hören. Der
Player überspielt die MP3-Datei in eine Datei.Vergessen Sie nicht, das Output-Plugin wieder in den
Ausgangszustand zurückzusetzen um wieder MP3-Dateien
anhören zu können.Mit mpg123 nach stdout schreiben:Geben Sie mpg123 -s
audio01.mp3 > audio01.pcm
ein.XMMS schreibt die Datei im
WAV-Format aus während mpg123 die
MP3-Datei in rohe PCM-Audiodaten umwandelt.
cdrecord kann mit beiden Formaten
Audio-CDs erstellen, &man.burncd.8; kann nur rohe
PCM-Audiodaten verarbeiten. Der Dateikopf von WAV-Dateien
erzeugt am Anfang des Stücks ein Knacken. Sie können
den Dateikopf mit dem Werkzeug SoX,
das sich als Paket oder aus dem Port
audio/sox installieren
lässt, entfernen:&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawLesen Sie in diesem Handbuch,
um mehr Informationen zur Benutzung von CD-Brennern mit FreeBSD zu
erhalten.RossLippertBeigetragen von Videos wiedergebenDie Wiedergabe von Videos ist ein neues, sich schnell
entwickelndes, Anwendungsgebiet. Seien Sie geduldig, es
wird nicht alles so glatt laufen, wie bei den
Audio-Anwendungen.Bevor Sie beginnen, sollten Sie das Modell Ihrer
Videokarte und den benutzten Chip kennen. Obwohl
&xorg; und
&xfree86; viele Vidiokarten
unterstützt, können nur einige Karten Videos
schnell genug wiedergeben. Eine Liste der Erweiterungen,
die der X-Server für eine Videokarte unterstützt,
erhalten Sie unter laufendem X11 mit dem Befehl
&man.xdpyinfo.1;.Halten Sie eine kurze MPEG-Datei bereit, mit der
Sie Wiedergabeprogramme und deren Optionen testen
können. Da einige DVD-Spieler in der Voreinstellung
das DVD-Gerät mit /dev/dvd ansprechen
oder diesen Namen fest einkodiert haben, wollen Sie
vielleicht symbolische Links auf die richtigen
Geräte anlegen:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdWegen &man.devfs.5; gehen gesondert angelegte Links
wie diese bei einem Neustart des Systems verloren.
Damit die symbolischen Links automatisch beim Neustart
des Systems angelegt werden, fügen Sie die
folgenden Zeilen in /etc/devfs.conf
ein:link acd0 dvd
link acd0 rdvdZum Entschlüsseln von DVDs müssen bestimmte
DVD-ROM-Funktionen aufgerufen werden und schreibender
Zugriff auf das DVD-Gerät erlaubt sein.X11 benutzt Shared-Memory und Sie sollten die
nachstehenden &man.sysctl.8;-Variablen auf die
gezeigten Werte erhöhen:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Video-SchnittstellenXVideoSDLDGAEs gibt einige Möglichkeiten, Videos unter
X11 abzuspielen. Welche Möglichkeit funktioniert,
hängt stark von der verwendeten Hardware ab.
Ebenso hängt die erzielte Qualität von der
Hardware ab. Die Videowiedergabe unter X11 ist ein
aktuelles Thema, sodass jede neue Version von
&xorg; oder von
&xfree86; wahrscheinlich
erhebliche Verbesserung enthält.Gebräuchliche Video-Schnittstellen sind:X11: normale X11-Ausgabe über Shared-Memory.XVideo: Eine Erweiterung der X11-Schnittstelle,
die Videos in jedem X11-Drawable anzeigen kann.SDL: Simple Directmedia Layer.DGA: Direct Graphics Access.SVGAlib: Eine Schnittstelle zur Grafikausgabe auf
der Konsole.XVideoDie Erweiterung XVideo (auch Xvideo,
Xv oder xv) von &xorg; und
&xfree86; 4.X,
erlaubt die beschleunigte Wiedergabe von Videos in
jedem Drawable. Diese Erweiterung liefert auch auf
weniger leistungsfähigen Systemen
(beispielsweise einem PIII 400 MHz Laptop)
eine gute Wiedergabe.Ob die Erweiterung läuft, entnehmen Sie der
Ausgabe von xvinfo:&prompt.user; xvinfoXVideo wird untertsützt, wenn die Ausgabe wie
folgt aussieht:X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0Einige der aufgeführten Formate (wie YUV2 oder YUV12)
existieren in machen XVideo-Implementierungen nicht.
Dies kann zu Problemen mit einigen Spielern führen.XVideo wird wahrscheinlich von Ihrer Karte
nicht unterstützt, wenn die die Ausgabe wie
folgt aussieht:X-Video Extension version 2.2
screen #0
no adaptors presentWenn die XVideo-Erweiterung auf Ihrer Karte nicht
läuft, wird es nur etwas schwieriger, die
Anforderungen für die Wiedergabe von Videos zu
erfüllen. Abhängig von Ihrer Videokarte
und Ihrem Prozessor können Sie dennoch zufriedenstellende
Ergebnisse erzielen. Sie sollten vielleicht die
weiterführenden Quellen in zu Rate ziehen,
um die Geschwindigkeit Ihres Systems zu steigern.Simple Directmedia LayerDie Simple Directmedia Layer, SDL,
ist eine zwischen µsoft.windows;, BeOS und &unix;
portable Schnittstelle. Mit dieser Schnittstelle
können Anwendungen plattformunabhängig und
effizient Ton und Grafik benutzen. SDL
bietet eine hardwarenahe Schnittstelle, die manchmal
schneller als die X11-Schnittstelle sein kann.SDL finden Sie in den Ports
im Verzeichnis devel/sdl12.Direct Graphics AccessDie X11-Erweiterung
Direct Graphics Access (DGA) erlaubt es
Anwendungen, am X-Server vorbei direkt in den Framebuffer
zu schreiben. Da die Anwendung und der X-Server auf gemeinsame
Speicherbereiche zugreifen, müssen die Anwendungen
unter dem Benutzer root laufen.Die DGA-Erweiterung kann mit &man.dga.1; getestet
werden. Das Kommando dga wechselt,
jedes Mal wenn eine Taste gedrückt wird, die Farben
der Anzeige. Sie können das Programm mit der
Taste q verlassen.Video-AnwendungenVideo-AnwendungenDieser Abschnitt behandelt Anwendungen aus der
&os;-Ports-Sammlung, die Videos abspielen. An der
Videowiedergabe wird derzeit aktiv gearbeitet, sodass
der Funktionsumfang der Anwendungen von dem hier beschriebenen
abweichen kann.Viele unter &os; laufende Videoanwendungen wurden
unter Linux entwickelt und befinden
sich noch im Beta-Status. Der Betrieb dieser Anwendungen
unter &os; stößt vielleicht auf einige der
nachstehenden Probleme:Eine Anwendung kann eine Datei einer anderen
Anwendung nicht abspielen.Eine Anwendung kann eine selbst produzierte
Datei nicht abspielen.Wenn dieselbe Anwendung auf unterschiedlichen
Maschinen gebaut wird, wird ein Video unterschiedlich
wiedergegeben.Ein vergleichsweise einfacher Filter, wie die
Skalierung eines Bildes, führt zu deutlichen
Artefakten in der Darstellung.Eine Anwendung stürzt häufig ab.Die Dokumentation wird bei der Installation des Ports
nicht installiert. Sie befindet sich entweder auf
dem Internet oder im Verzeichnis
work des Ports.Viele Anwendungen sind zudem sehr Linux-lastig.
Probleme entstehen durch die Implementierung von
Standard-Bibliotheken in Linux-Distributionen oder
dadurch, dass die Anwendung bestimmte Linux-Kernelfunktionen
voraussetzt. Diese Probleme werden nicht immer
vom Betreuer eines Ports bemerkt und umgangen.
In der Praxis entstehen dadurch folgende Probleme:Eigenschaften des Prozessors werden über
/proc/cpuinfo ermittelt.Die falsche Anwendung von Threads führt dazu,
dass sich ein Programm aufhängt statt sich
zu beenden.Die Anwendung hängt von anderen Anwendungen
ab, die sich noch nicht in der &os;-Ports-Sammlung
befinden.Allerdings arbeiten die Anwendungsentwickler bislang mit
den Betreuern der Ports zusammen, sodass zusätzlicher
Portierungsaufwand minimiert wird.MPlayerMPlayer ist ein kürzlich
entstandener und sich stark weiterentwickelnder Video-Spieler.
Das Hauptaugenmerk des MPlayer-Teams
liegt auf Geschwindigkeit und Flexibilität auf
Linux und anderen &unix; Systemen. Das Projekt entstand
weil der Gründer des Teams unzufrieden mit der
Geschwindigkeit bestehender Video-Spieler war. Kritiker
behaupten, dass die Benutzeroberfläche der einfachen
Gestaltung zum Opfer fiel. Wenn Sie sich allerdings erstmal
an die Kommandozeilenoptionen und die Tastensteuerung
gewöhnt haben, funktioniert die Anwendung sehr gut.MPlayer bauenMPlayerbauenMPlayer finden Sie in der
Ports-Sammlung unter
multimedia/mplayer.
Der Bau von MPlayer
berücksichtigt die vorhandene Harware und erzeugt
ein Programm, das nicht auf ein anderes System übertragbar
ist. Es ist daher wichtig, dass Sie das Programm aus
den Ports bauen und nicht das fertige Paket installieren.
Zusätzlich können Sie auf der Kommandozeile
von make noch einige Optionen angeben,
die im Makefile beschrieben sind
und am die Anfang des Baus ausgegeben werden:&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.htmlFür die meisten Benutzer sind die
voreingestellten Option in Ordnung. Wenn Sie
den XviD-Codec benötigen, müssen
Sie auf der Kommandozeile die Option
WITH_XVID angeben. Das
DVD-Gerät können Sie mit der
Option WITH_DVD_DEVICE
angeben. Wenn Sie die Option nicht angeben,
wird /dev/acd0 benutzt.Als dieser Abschnitt verfasst wurde, baute der
MPlayer-Port die
HTML-Dokumentation sowie die beiden Programme
mplayer und
mencoder. Mit
mencoder können Sie
Videodateien umwandeln.Die HTML-Dokumentation von
MPlayer ist sehr lehrreich.
Wenn Sie in diesem Kapitel Informationen über
Video-Hardware oder Schnittstellen vermissen, ist
die MPlayer-Dokumentation
eine ausgezeichnete Quelle. Wenn Sie Informationen
über die Video-Unterstützung unter &unix;
benötigen, sollten Sie die
MPlayer-Dokumentation
auf jeden Fall lesen.MPlayer benutzenMPlayerbenutzenJeder Benutzer von MPlayer
muss in seinem Heimatverzeichnis das Verzeichnis
.mplayer
anlegen. Dieses Verzeichnis können Sie
wie folgt anlegen:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userDie Kommandozeilenoptionen von mplayer
sind in der Hilfeseite aufgeführt. Eine genaue
Beschreibung befindet sich in der HTML-Dokumentation.
In diesem Abschnitt wird nur der normale Gebrauch
von mplayer beschrieben.Um eine Datei, wie
testfile.avi,
unter verschiedenen Video-Schnittstellen abzuspielen,
benutzen Sie die Option :&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviEs lohnt sich, alle Option zu testen. Die
erzielte Geschwindigkeit hängt von vielen
Faktoren ab und variiert beträchtlich je nach
eingesetzter Hardware.Wenn Sie eine DVD abspielen wollen, ersetzen Sie
testfile.avi durch
.
N ist die Nummer des
Stücks, das Sie abspielen wollen und
Gerät gibt den
Gerätenamen des DVD-ROMs an. Das nachstehende
Kommando spielt das dritte Stück von
/dev/dvd:&prompt.root; mplayer -vo dga -dvd://3 /dev/dvdDas standardmäßig verwendete
DVD-Laufwerk kann beim Bau des
MPlayer-Ports
mit der Option WITH_DVD_DEVICE
festgelegt werden. Die Voreinstellung verwendet
das Gerät /dev/acd0.
Genaueres finden Sie im Makefile
des Ports.Die Tastenkombinationen zum Abbrechen, Anhalten
und Weiterführen der Wiedergabe entnehmen Sie
bitte der Ausgabe von mplayer -h
oder der Hilfeseite.Weitere nützliche Optionen für die
Wiedergabe sind zur Wiedergabe
im Vollbild-Modus und
zur Steigerung der Geschwindigkeit.Damit die Kommandozeile von mplayer
kurz bleibt, kann ein Benutzer Vorgaben in der Datei
.mplayer/config hinterlegen:vo=xv
fs=yes
zoom=yesSchließlich kann mplayer
noch DVD-Stücke in .vob-Dateien
rippen. Das zweite Stück einer DVD wandeln Sie
wie folgt in eine Datei um:&prompt.root; mplayer -dumpstream -dumpfile out.vob -dvd://2 /dev/dvdDie Ausgabedatei out.vob
wird im MPEG-Format abgespeichert und kann mit
anderen Werkzeugen aus diesem Abschnitt bearbeitet
werden.mencodermencoderSie sollten die HTML-Dokumentation lesen, bevor
Sie mencoder benutzen. Es gibt
zwar eine Hilfeseite, die aber ohne die HTML-Dokumentation
nur eingeschräkt nützlich ist. Es gibt
viele Möglichkeiten die Qualität zu verbessern,
die Bitrate zu verringern und Formate zu konvertieren.
Einige davon haben erhebliche Auswirkungen auf die
Geschwindigkeit der Wiedergabe. Zum Start finden
Sie im Folgenden einige Kommandozeilen. Die erste
kopiert einfach eine Datei:&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviFalsche Kombinationen von Kommandozeilenparametern
ergeben eventuell Dateien, die selbst
mplayer nicht mehr abspielen kann.
Wenn Sie in eine Datei rippen, sollten Sie daher auf
jeden Fall die Option von
mplayer verwenden.Die nachstehende Kommandozeile wandelt die Datei
input.avi nach MPEG4 mit MPEG3
für den Ton um (hierfür wird der Ports
audio/lame
benötigt):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviDie Ausgabedatei lässt sowohl mit
mplayer als auch
xine abspielen.Wenn Sie input.avi durch
ersetzen und das
Kommando unter root laufen lassen,
können Sie ein DVD-Stück direkt konvertieren.
Da Sie wahrscheinlich beim ersten Mal unzufrieden mit
den Ergebnissen sind, sollten Sie das Stück zuerst
in eine Datei schreiben und anschließend
die Datei weiterverarbeiten.Der Video-Spieler xineDer Video-Spieler xine
ist ein Projekt mit großem Umfang. Das Projekt
will nicht nur ein Programm für alle Video-Anwendungen
bieten, sondern auch eine wiederverwendbare Bibliothek
und ein Programm, das durch Plugins erweiterbar ist.
Das Programm steht als fertiges Paket oder als Port
unter multimedia/xine
zur Verfügung.Der multimedia/xine-Spieler
hat noch ein paar Ecken und Kanten, macht aber insgesamt
einen guten Eindruck. Für einen reibungslosen
Betrieb benötigt xine
entweder eine schnelle CPU oder
die XVideo-Erweiterung. Das GUI
ist etwas schwerfällig.Zurzeit gibt es kein xine-Modul,
das CSS-kodierte DVDs abspielen kann und sich in
der &os; Ports-Sammlung befindet.xine ist benutzerfreundlicher
als MPlayer, bietet allerdings
nicht soviele Möglichkeiten. Am schnellsten läuft
xine mit der
XVideo-Erweiterung.In der Voreinstellung startet xine
eine grafische Benutzeroberfläche. Über
Menüs können Sie Dateien öffnen:&prompt.user; xineAlternativ können Sie das Programm auch ohne
GUI aufrufen und Dateien direkt abspielen:&prompt.user; xine -g -p mymovie.aviDie transcode-Werkzeugetranscode ist kein Spieler,
sondern eine Sammlung von Werkzeugen zur Umwandlung von
Video- und Sounddateien.
transcode mischt Video-Dateien
und kann kaputte Video-Dateien reparieren. Die
Werkzeuge werden als Filter verwendet, das heißt
die Ein- und Ausgaben verwenden
stdin/stdout.Beim Bau von transcode
über den Port multimedia/transcode können
zwar zahreiche Optionen angegeben werden. Empfehlenswert
ist es aber, den Bau mit folgendem Befehl zu starten:&prompt.root; make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yesDiese Einstellungen sollen für die meisten Anwender
ausreichend sein.Um die Fähigkeiten von
transcode zu illustrieren, wird im
folgenden Beispiel eine DivX-Datei in eine PAL MPEG-1-Datei
konvertiert:&prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
&prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpaDie daraus resultierende MPEG-Datei,
output_vcd.mpg, kann beispielsweise mit
MPlayer abgespielt werden. Sie
können sie sogar als Video-CD auf eine CD-R brennen.
Wenn Sie diese Funktion benötigen, müssen Sie
zusätzlich die beiden Programme multimedia/vcdimager und sysutils/cdrdao installieren.Zwar gibt es eine Manualpage zu
transcode, Sie sollen aber auf jeden Fall
auch die Informationen und Beispiele im
transcode-Wiki lesen.Weiterführende QuellenDie Video-Software für &os; entwickelt sich
sehr schnell. Es ist wahrscheinlich, dass die hier
angesprochenen Probleme bald gelöst sind. Bis dahin
müssen Anwender, die das meiste aus den Audio- und
Video-Fähigkeiten von &os; machen wollen, Informationen
aus mehreren FAQs und Tutorien zusammensuchen und
verschiedene Anwendungen nebeneinander betreiben. Dieser
Abschnitt weist auf weitere Informationsquellen hin.Die
MPlayer-Dokumentation
ist sehr aufschlussreich. Die Dokumente sollten wahrscheinlich
von jedem gelesen werden, der hohe Fachkenntnisse über
Video auf &unix; Systemen erlangen will. Die
MPlayer-Mailinglisten reagiert
feindselig auf Personen, die es nicht für nötig
halten, die Dokumentation zu lesen. Wenn Sie Fehlerberichte
an die Liste schicken wollen, lesen Sie bitte vorher die
ausgezeichnete Dokumentation (RTFM).Das
xine HOWTO
enthält allgemein gültige Hinweise zur
Verbesserung der Wiedergabegeschwindigkeit.Schließlich gibt es noch weitere vielversprechende
Anwendungen, die Sie vielleicht ausprobieren wollen:Avifile
gibt es schon als Port
multimedia/avifile.Ogle
wurde ebenfalls schon portiert:
multimedia/ogle.Xtheater.multimedia/dvdauthor,
ist ein Open-Source-Paket, mit dem Sie DVDs erstellen
können.JosefEl-RayesBeigetragen von MarcFonvieilleÜberarbeitet von TV-Karten einrichtenTV-KartenEinführungMit TV-Karten können Sie mit Ihrem Rechner
über Kabel oder Antenne fernsehen. Die meisten
Karten besitzen einen RCA- oder S-Video-Eingang.
Einige Karten haben auch einen FM-Radio-Empfänger.Der &man.bktr.4;-Treiber von &os; unterstützt
PCI-TV-Karten mit einem Brooktree Bt848/849/878/879 oder
einem Conexant CN-878/Fusion 878a Chip. Die Karte sollte
einen der unterstützten Empfänger besitzen, die in
der Hilfeseite &man.bktr.4; aufgeführt sind.Den Treiber einrichtenUm Ihre Karte zu benutzen, müssen Sie den
&man.bktr.4;-Treiber laden. Fügen Sie die
nachstehende Zeile in die Datei
/boot/loader.conf ein:bktr_load="YES"Sie können den Treiber für die TV-Karte
auch fest in den Kernel compilieren. Erweitern Sie
dazu Ihre Kernelkonfiguration um die folgenden Zeilen:device bktr
device iicbus
device iicbb
device smbusDie zusätzlichen Treiber werden benötigt,
da die Komponenten der Karte über einen I2C-Bus
verbunden sind. Bauen und installieren Sie dann den
neuen Kernel.Anschließend müssen Sie Ihr System
neu starten. Während des Neustarts sollte
Ihre TV-Karte erkannt werden:bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.Abhängig von Ihrer Hardware können die
Meldungen natürlich anders aussehen. Sie sollten
aber prüfen, dass der Empfänger richtig erkannt wird.
Die entdeckten Geräte lassen sich mit &man.sysctl.8;
oder in der Kernelkonfigurationsdatei überschreiben.
Wenn Sie beispielsweise einen Philips-SECAM-Empfänger
erzwingen wollen, fügen Sie die folgende Zeile
zur Kernelkonfigurationsdatei hinzu:options OVERRIDE_TUNER=6Alternativ können Sie direkt &man.sysctl.8; benutzen:&prompt.root; sysctl hw.bt848.tuner=6Weitere Informationen zu den verschiedenen Optionen finden
Sie in &man.bktr.4; sowie in der Datei
/usr/src/sys/conf/NOTES.Nützliche AnwendungenUm die TV-Karte zu benutzen, müssen Sie eine
der nachstehenden Anwendungen installieren:multimedia/fxtv
lässt das Fernsehprogramm in einem Fenster laufen
und kann Bilder, Audio und Video aufzeichnen.multimedia/xawtv
eine weitere TV-Anwendung, mit den gleichen Funktionen
wie fxtv.misc/alevt dekodiert
und zeigt Videotext/Teletext an.Mit audio/xmradio
lässt sich der FM-Radio-Empfänger, der sich
auf einigen TV-Karten befindet, benutzen.audio/wmtune
ein leicht zu bedienender Radio-Empfänger.Weitere Anwendungen finden Sie in der &os;
Ports-Sammlung.FehlersucheWenn Sie Probleme mit Ihrer TV-Karte haben, prüfen
Sie zuerst, ob der Video-Capture-Chip und der Empfänger
auch wirklich vom &man.bktr.4;-Treiber unterstützt
werden. Prüfen Sie dann, ob Sie die richtigen
Optionen verwenden. Weitere Hilfe erhalten Sie auf
der Mailingliste &a.multimedia.name; und in deren
Archiven.MarcFonvieilleBeigetragen von ScannerScannerEinführungUnter &os; stellt
SANE (Scanner Access Now Easy)
aus der Ports-Sammlung eine einheitliche Schnittstelle
(API)
für den Zugriff auf Scanner bereit.
SANE wiederum greift auf Scanner
mithilfe einiger &os;-Treiber zu.&os; unterstützt sowohl SCSI- als auch USB-Scanner.
Prüfen Sie vor der Konfiguration mithilfe der
Liste der unterstützten Geräte ob Ihr Scanner
von SANE unterstützt wird.
Die Hilfeseite &man.uscanner.4; zählt ebenfalls die
unterstützten USB-Scanner auf.Den Kernel für Scanner einrichtenDa sowohl SCSI- als auch USB-Scanner unterstützt
werden, werden abhängig von der Schnittstelle
unterschiedliche Treiber benötigt.USB-ScannerIm GENERIC-Kernel sind
schon alle, für einen USB-Scanner notwendigen,
Treiber enthalten. Wenn Sie einen angepassten Kernel
benutzen, prüfen Sie, dass die Kernelkonfiguration
die nachstehenden Zeilen enthält:device usb
device uhci
device ohci
device uscannerAbhängig vom Chipsatz Ihrer Systemplatine
benötigen Sie in der Kernelkonfiguration entweder
die Option device uhci oder die
Option device ohci. Die
Kernelkonfiguration kann allerdings auch beide Optionen
enthalten.Wenn Sie den Kernel nicht neu bauen wollen
und einen angepassten Kernel verwenden, können
Sie den Treiber &man.uscanner.4; direkt mit dem
Kommando &man.kldload.8; laden:&prompt.root; kldload uscannerWenn Sie das Modul bei jedem Systemstart laden
wollen, fügen Sie in der Datei
/boot/loader.conf die nachstehende
Zeile hinzu:uscanner_load="YES"Nachdem Sie das System mit dem richtigen Kernel
neu gestartet oder das Modul geladen haben, stecken
Sie den USB-Scanner ein. Danach sollte in den
Systemmeldungen (die Sie mit &man.dmesg.8; betrachten
können) eine Zeile ähnlich der folgenden
erscheinen:uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2Diese Meldung besagt, dass der Scanner die
Gerätedatei /dev/uscanner0
benutzt.SCSI-ScannerWenn Ihr Scanner eine SCSI-Schnittstelle besitzt,
ist die Kernelkonfiguration abhängig vom
verwendeten SCSI-Controller. Der
GENERIC-Kernel unterstützt
die gebräuchlichen SCSI-Controller. Den richtigen
Treiber finden Sie in der Datei NOTES.
Neben dem Treiber muss Ihre Kernelkonfiguration
noch die nachstehenden Zeilen enthalten:device scbus
device passNachdem Sie einen Kernel gebaut und installiert haben,
sollte der Scanner beim Neustart in den Systemmeldungen
erscheinen:pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfersWenn der Scanner während des Systemstarts
ausgeschaltet war, können Sie die Geräteerkennung
erzwingen, indem Sie den SCSI-Bus erneut absuchen.
Verwenden Sie dazu das Kommando &man.camcontrol.8;:&prompt.root; camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulDer Scanner wird anschließend in der
SCSI-Geräteliste angezeigt:&prompt.root; camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Weiteres über SCSI-Geräte lesen Sie
bitte in den Hilfeseiten &man.scsi.4; und &man.camcontrol.8;
nach.SANE konfigurierenSANE besteht aus zwei
Teilen, den Backends
(graphics/sane-backends)
und den Frontends
(graphics/sane-frontends).
Das Backend greift auf den Scanner zu. Welches Backend
welchen Scanner unterstützt, entnehmen Sie der
Liste der unterstützten Geräte..
Der Betrieb eines Scanners ist nur dem richtigen
Backend möglich. Die Frontends sind die Anwendungen,
mit denen gescannt wird (xscanimage).Installieren Sie zuerst den Port oder das Paket
graphics/sane-backends.
Anschließend können Sie mit dem Befehl
sane-find-scanner prüfen, ob
SANE Ihren Scanner erkennt:&prompt.root; sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3Die Ausgabe zeigt die Schnittstelle und die verwendete
Gerätedatei des Scanners. Der Hersteller und das
Modell können in der Ausgabe fehlen.Bei einigen USB-Scannern müssen Sie die
Firmware aktualisieren, dies wird in der Hilfeseite
des Backends erklärt. Lesen Sie bitte auch
die Hilfeseiten &man.sane-find-scanner.1; und
&man.sane.7;.Als nächstes müssen Sie prüfen, ob
der Scanner vom Frontend erkannt wird. Die
SANE-Backends werden
mit dem Kommandozeilenwerkzeug &man.scanimage.1;
geliefert. Mit diesem Werkzeug können Sie
sich Scanner anzeigen lassen und den Scan-Prozess
von der Kommandozeile starten. Die Option
zeigt die Scanner an:&prompt.root; scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerErscheint die Meldung, dass kein Scanner gefunden
wurde oder wird gar keine Ausgabe erzeugt, konnte
&man.scanimage.1; keinen Scanner erkennen. In diesem
Fall müssen Sie in der Konfigurationsdatei des Backends
das zu benutzende Gerät eintragen. Die
Konfigurationsdateien der Backends befinden sich
im Verzeichnis
/usr/local/etc/sane.d/.
Erkennungsprobleme treten bei bestimmten USB-Scannern
auf.Mit dem USB-Scanner aus
zeigt sane-find-scanner die
folgende Ausgabe:&prompt.root; sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Der Scanner wurde richtig erkennt, er benutzt eine
USB-Schnittstelle und verwendet die Gerätedatei
/dev/uscanner0. Ob der Scanner
vom Frontend erkannt wird, zeigt das nachstehende
Kommando:&prompt.root; scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Da der Scanner nicht erkannt wurde, muss die Datei
/usr/local/etc/sane.d/epson.conf editiert
werden. Der verwendete Scanner war ein
&epson.perfection; 1650, daher wird das
epson-Backend benutzt. Lesen Sie
bitte alle Kommentare in der Konfigurationsdatei des
Backends. Die durchzuführenden Änderungen
sind einfach. Kommentieren Sie zunächst alle
Zeilen mit der falschen Schnittstelle aus. Da der
Scanner eine USB-Schnittstelle besitzt, wurden im
Beispiel alle Zeilen, die mit scsi
anfingen, auskommentiert. Fügen Sie dann die
Schnittstelle und den Gerätenamen am Ende der
Datei ein. In diesem Beispiel wurde die nachstehende
Zeile eingefügt:usb /dev/uscanner0Weitere Hinweise entnehmen Sie bitte der Hilfeseite
des Backends. Jetzt können Sie prüfen,
ob der Scanner richtig erkannt wird:&prompt.root; scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerDer Scanner wurde nun erkannt. Es ist nicht wichtig,
ob der Hersteller oder das Modell Ihres Scanners korrekt
angezeigt werden. Wichtig ist nur die Ausgabe
`epson:/dev/uscanner0',
die das richtige Backend und den richtigen Gerätenamen
anzeigt.Wenn scanimage -L den Scanner erkannt
hat, ist der Scanner eingerichtet und bereit, zu
scannen.Obwohl wir mit &man.scanimage.1; von der Kommandozeile
scannen können, ist eine graphische Anwendung
zum Scannen besser geeignet. SANE
bietet ein einfaches und effizientes Werkzeug:
xscanimage (graphics/sane-frontends).Xsane
(graphics/xsane)
ist eine weitere beliebte graphische Anwendung.
Dieses Frontend besitzt erweiterte Funktionen
wie den Scan-Modus (beispielsweise Photo, Fax),
eine Farbkorrektur und Batch-Scans. Beide Anwendungen
lassen sich als
GIMP-Plugin verwenden.Den Scanner für Benutzerkonten freigebenVorher wurden alle Tätigkeiten mit
root-Rechten ausgeführt.
Wenn andere Benutzer den Scanner benutzen sollen,
müssen sie Lese- und Schreibrechte auf die
Gerätedatei des Scanners besitzen. Im
Beispiel wird die Datei /dev/uscanner0
verwendet, die der Gruppe operator
gehört. Damit der Benutzer joe
auf den Scanner zugreifen kann, muss das Konto in
die Gruppe operator aufgenommen
werden:&prompt.root; pw groupmod operator -m joeWeiteres entnehmen Sie bitte der Hilfeseite
&man.pw.8;. Da Mitglieder der Gruppe
operator in der Voreinstellung nur
Leserechte für die Gerätedatei
/dev/uscanner0 besitzen, müssen
Sie ebenfalls die Schreibbrechtigung (0660
oder 0664) vergeben. Dazu fügen Sie
in die Datei /etc/devfs.rules
die nachstehenden Zeilen ein:[system=5]
add path uscanner0 mode 660In die Datei /etc/rc.conf
fügen Sie noch die folgende Zeile ein:devfs_system_ruleset="system"Starten Sie anschließend Ihr System neu.Weitere Informationen finden Sie in &man.devfs.8;.Aus Sicherheitsgründen sollten Sie genau darauf
achten, wen Sie in eine Gruppe aufnehmen, besonders
wenn es sich um die Gruppe operator
handelt.
diff --git a/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml b/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml
index 8c6ee09691..e883a96ef5 100644
--- a/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml
@@ -1,5299 +1,5299 @@
MurrayStokelyÜberarbeitet von JohannKoisÜbersetzt von NetzwerkserverÜbersichtDieses Kapitel beschreibt einige der häufiger verwendeten
Netzwerkdienste auf &unix;-Systemen. Beschrieben werden
Installation und Konfiguration sowie Test und Wartung
verschiedener Netzwerkdienste. Zusätzlich sind im ganzen
Kapitel Beispielkonfigurationsdateien vorhanden, von denen Sie
sicherlich profitieren werden.Nachdem Sie dieses Kapitel gelesen haben, werden SieDen inetd-Daemon konfigurieren
können.Wissen, wie man ein Netzwerkdateisystem einrichtet.Einen Network Information
Server einrichten können, um damit
Benutzerkonten im Netzwerk zu verteilen.Rechner durch Nutzung von DHCP automatisch für ein
Netzwerk konfigurieren können.In der Lage sein, einen Domain Name
Server einzurichten.Den Apache HTTP-Server
konfigurieren können.Wissen, wie man einen File Transfer
Protocol (FTP)-Server einrichtet.Mit Samba einen Datei- und
Druckserver für &windows;-Clients konfigurieren
können.Unter Nutzung des NTP-Protokolls Datum und Uhrzeit
synchronisieren sowie einen Zeitserver installieren
können.Bevor Sie dieses Kapitel lesen, sollten SieDie Grundlagen der /etc/rc-Skripte
verstanden haben.Mit der grundlegenden Netzwerkterminologie vertraut sein.Wissen, wie man zusätzliche Softwarepakete von
Drittherstellern installiert ().ChernLeeBeigetragen von Aktualisiert für &os; 6.1-RELEASE vom &os; Documentation ProjectDer inetdSuper-ServerÜberblick&man.inetd.8; wird manchmal auch als Internet
Super-Server bezeichnet, weil er Verbindungen für
mehrere Dienste verwaltet. Wenn eine Verbindung eintrifft,
bestimmt inetd, welches Programm
für die eingetroffene Verbindung zuständig ist,
aktiviert den entsprechenden Prozess und reicht den Socket an
ihn weiter (der Socket dient dabei als Standardein- und -ausgabe
sowie zur Fehlerbehandlung). Der Einsatz des
inetd-Daemons an Stelle
viele einzelner Daemonen kann auf nicht komplett ausgelasteten
Servern zu einer Verringerung der Systemlast führen.inetd wird vor allem dazu
verwendet, andere Daemonen zu aktivieren, einige Protokolle
werden aber auch direkt verwaltet. Dazu gehören
chargen,
auth, sowie
daytime.Dieser Abschnitt beschreibt die Konfiguration von
inetd durch Kommandozeilenoptionen
sowie die Konfigurationsdatei
/etc/inetd.conf.Einstellungeninetd wird durch das
&man.rc.8;-System initialisiert. Die Option
inetd_enable ist in der Voreinstellung zwar
auf NO gesetzt, sie kann aber in
Abhängigkeit von der vom Benutzer bei der Installation
gewählten Konfiguration von
sysinstall aktiviert werden.
Die Verwendung von
inetd_enable="YES" oder
inetd_enable="NO" in
/etc/rc.conf deaktiviert oder startet
inetd beim Systemstart. Über
den Befehl /etc/rc.d/inetd rcvar
können Sie die aktuelle Konfiguration abfragen.Weitere Optionen können über die Option
inetd_flags an
inetd übergeben werden.KommandozeilenoptionenWie die meisten anderen Server-Daemonen lässt
sich auch inetd über
verschiedene Optionen steuern. Die vollständige Syntax
für inetd lautet:inetdDie verschiedenen Optionen können über die Option
inetd_flags der Datei
/etc/rc.conf an
inetd übergeben werden. In
der Voreinstellung hat diese Option den Wert
-wW -C 60. Durch das Setzen dieser Werte
wird das TCP-Wrapping für alle
inetd-Dienste aktiviert.
Zusätzlich kann eine einzelne IP-Adresse jeden Dienst
nur maximal 60 Mal pro Minute anfordern.Für Einsteiger ist es erfreulich, dass diese Parameter
in der Regel nicht angepasst werden müssen. Da diese
Parameter aber dennoch von Interesse sein können
(beispielsweise, wenn Sie eine enorme Anzahl von
Verbindungsanfragen erhalten), werden einige dieser
einschränkenden Parameter im Folgenden näher
erläutert. Eine vollständige Auflistung aller
Optionen finden Sie hingegen in &man.inetd.8;.-c maximumLegt die maximale Anzahl von parallen Aufrufen eines
Dienstes fest; in der Voreinstellung gibt es keine
Einschränkung. Diese Einstellung kann für jeden
Dienst durch Setzen des
-Parameters festgelegt werden.-C rateLegt fest, wie oft ein Dienst von einer einzelnen
IP-Adresse in einer Minute aufgerufen werden kann; in der
Voreinstellung gibt es keine Einschränkung. Dieser
Wert kann für jeden Dienst durch Setzen des
Parameters
festgelegt werden.-R rateLegt fest, wie oft ein Dienst in der Minute aktiviert
werden kann; in der Voreinstellung sind dies 256
Aktivierungen pro Minute. Ein Wert von 0 erlaubt
unbegrenzt viele Aktivierungen.-s maximumLegt fest, wie oft ein Dienst in der Minute von einer
einzelnen IP-Adresse aus aktiviert werden kann; in der
Voreinstellung gibt es hier keine Beschränkung. Diese
Einstellung kann für jeden Dienst durch die Angabe
angepasst werden.inetd.confDie Konfiguration von inetd
erfolgt über die Datei
/etc/inetd.conf.Wenn /etc/inetd.conf geändert
wird, kann inetd veranlasst werden,
seine Konfigurationsdatei neu einzulesen.Die inetd-Konfiguration neu
einlesen&prompt.root; /etc/rc.d/inetd reloadJede Zeile der Konfigurationsdatei beschreibt jeweils einen
Daemon. Kommentare beginnen mit einem #. Ein
Eintrag der Datei /etc/inetd.conf hat
folgenden Aufbau:service-name
socket-type
protocol
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
user[:group][/login-class]
server-program
server-program-argumentsEin Eintrag für den IPv4 verwendenden
&man.ftpd.8;-Daemon könnte so aussehen:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lservice-nameDer Dienstname eines bestimmten Daemons. Er muss
einem in /etc/services aufgelisteten
Dienst entsprechen. In dieser Datei wird festgelegt,
welchen Port inetd abhören
muss. Wenn ein neuer Dienst erzeugt wird, muss er zuerst
in die Datei /etc/services
eingetragen werden.socket-typeEntweder stream,
dgram, raw, oder
seqpacket. stream
muss für verbindungsorientierte TCP-Daemonen
verwendet werden, während dgram
das UDP-Protokoll verwaltet.protocolEines der folgenden:ProtokollBedeutungtcp, tcp4TCP (IPv4)udp, udp4UDP (IPv4)tcp6TCP (IPv6)udp6UDP (IPv6)tcp46TCP sowohl unter IPv4 als auch unter IPv6udp46UDP sowohl unter IPv4 als auch unter IPv6{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] gibt an, ob der von
inetd aktivierte Daemon seinen
eigenen Socket verwalten kann oder nicht.
-Sockets müssen die Option
verwenden, während Daemonen mit
Stream-Sockets, die normalerweise auch aus mehreren
Threads bestehen, die Option
verwenden sollten. Die Option
gibt in der Regel mehrere Sockets an einen einzelnen
Daemon weiter, während
für jeden neuen Socket einen Childdaemon erzeugt.Die maximale Anzahl an Child-Daemonen, die
inetd erzeugen kann, wird durch
die Option festgelegt. Wenn
ein bestimmter Daemon 10 Instanzen benötigt, sollte
der Wert /10 hinter die Option
gesetzt werden. Geben Sie
hingegen den Wert /0 an, gibt es
keine Beschränkung.Zusätzlich zu kann
die maximale Anzahl von Verbindungen eines Rechners mit
einem bestimmten Daemon durch zwei weitere Optionen
beschränkt werden. Die Option
legt die maximale Anzahl von Verbindungsversuchen fest,
die von einer bestimmten IP-Adresse aus unternommen werden
können. Ein Wert von zehn würde die maximale
Anzahl von Verbindungsversuchen einer IP-Adresse mit einem
bestimmten Dienst auf zehn Versuche in der Minute
beschränken. Durch die Angabe der Option
können Sie hingegen
festlegen, wieviele Child-Daemonen von einer bestimmten
IP-Adresse aus gestartet werden können. Durch diese
Optionen lassen sich ein absichtlicher oder unabsichtlicher
Ressourcenverbrauch sowie die Auswirkungen eines
Denial of Service (DoS)-Angriffs auf
einen Rechner begrenzen.Sie müssen hier entweder
oder angeben. Die Angabe von
,
und
ist hingegen
optional.Ein multithread-Daemon vom Streamtyp ohne die Optionen
,
oder
sieht so aus:
nowaitDer gleiche Daemon mit einer maximal möglichen
Anzahl von 10 parallelen Daemonen würde so aussehen:
nowait/10Wird zusätzlich die Anzahl der möglichen
Verbindungen pro Minute für jede IP-Adresse auf
20 sowie die mögliche Gesamtzahl von Childdaemonen
auf 10 begrenzt, so sieht der Eintrag so aus:
nowait/10/20All diese Optionen werden vom
&man.fingerd.8;-Daemon bereits in der Voreinstellung
verwendet:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -sWill man die maximale Anzahl von Child-Daemonen auf
100 beschränken, wobei von jeder IP-Adresse aus
maximal 5 Child-Daemonen gestartet werden dürfen,
verwendet man den folgenden Eintrag:
nowait/100/0/5.userDer Benutzername, unter dem der jeweilige Daemon
laufen soll. Meistens laufen Daemonen als User
root. Aus Sicherheitsgründen
laufen einige Server aber auch als User
daemon, oder als am wenigsten
privilegierter User nobody.server-programDer vollständige Pfad des Daemons, der eine
Verbindung entgegennimmt. Wird der Daemon von
inetd intern bereitgestellt,
sollte die Option verwendet
werden.server-program-argumentsDieser Eintrag legt (gemeinsam mit
und beginnend mit
argv[0]), die Argumente fest, die bei
der Aktivierung an den Daemon übergeben werden.
Wenn die Anweisung auf der Kommandozeile also
mydaemon -d lautet, wäre
mydaemon -d auch der Wert der Option
. Wenn es sich
beim Daemon um einen internen Dienst handelt, sollte
wiederum die Option verwendet
werden.SicherheitAbhängig von der bei der Installation festgelegten
Konfiguration werden viele der von
inetd verwalteten Dienste automatisch
aktiviert! Wenn Sie einen bestimmten Daemon nicht
benötigen, sollten Sie ihn deaktivieren! Dazu kommentieren
Sie den jeweiligen Daemon in /etc/inetd.conf
mit einem # aus, um danach die
inetd-Konfiguration neu
einzulesen. Einige Daemonen, zum Beispiel
fingerd, sollten generell deaktiviert
werden, da sie zu viele Informationen an einen potentiellen
Angreifer liefern.Einige Daemonen haben unsichere Einstellungen, etwa
große oder nichtexistierende Timeouts für
Verbindungsversuche, die es einem Angreifer erlauben, über
lange Zeit langsam Verbindungen zu einem bestimmten Daemon
aufzubauen, um dessen verfügbare Ressourcen zu verbrauchen.
Es ist daher eine gute Idee, diese Daemonen durch die Optionen
,
sowie
zu beschränken, wenn
Sie sehr viele Verbindungsversuche mit Ihrem System
registrieren.TCP-Wrapping ist in der Voreinstellung aktiviert. Lesen Sie
&man.hosts.access.5;, wenn Sie weitere Informationen zum
Setzen von TCP-Beschränkungen für verschiedene von
inetd aktivierte Daemonen
benötigen.VerschiedenesBei daytime,
time,
echo,
discard,
chargen, und
auth handelt es sich um intern
von inetd bereitgestellte Dienste.
Der auth-Dienst bietet
Identifizierungsdienste über das Netzwerk
an und ist bis zu einem bestimmten Grad konfigurierbar,
während die meisten anderen Dienste nur aktiviert
oder deaktiviert werden können.Eine ausführliche Beschreibung finden Sie in
&man.inetd.8;.TomRhodesReorganisiert und erweitert von BillSwingleGeschrieben von NFS – Network File SystemNFSEines der vielen von FreeBSD unterstützten Dateisysteme
ist das Netzwerkdateisystem, das auch als NFS
bekannt ist. NFS
ermöglicht es einem System, Dateien und Verzeichnisse
über ein Netzwerk mit anderen zu teilen. Über
NFS können
Benutzer und Programme auf Daten entfernter Systeme zugreifen, und
zwar genauso, wie wenn es sich um lokale Daten handeln würde.
Einige der wichtigsten Vorteile von NFS
sind:Lokale Arbeitsstationen benötigen weniger
Plattenplatz, da gemeinsam benutzte Daten nur auf einem
einzigen Rechner vorhanden sind. Alle anderen Stationen
greifen über das Netzwerk auf diese Daten zu.Benutzer benötigen nur noch ein zentrales
Heimatverzeichnis auf einem NFS-Server.
Diese Verzeichnisse sind über das Netzwerk auf allen
Stationen verfügbar.Speichergeräte wie Disketten-, CD-ROM- oder
&iomegazip;-Laufwerke können über das Netzwerk von
anderen Arbeitstationen genutzt werden. Dadurch sind für
das gesamte Netzwerk deutlich weniger Speichergeräte
nötig.Wie funktioniert NFS?NFS besteht aus zwei Hauptteilen: Einem
Server und einem oder mehreren Clients. Der Client greift
über das Netzwerk auf die Daten zu, die auf dem Server
gespeichert sind. Damit dies korrekt funktioniert, müssen
einige Prozesse konfiguriert und gestartet werden:Der Server benötigt folgende Daemonen:NFSServerDateiserverUnix-ClientsrpcbindmountdnfsdDaemonBeschreibungnfsdDer NFS-Daemon. Er bearbeitet
Anfragen der NFS-Clients.mountdDer NFS-Mount-Daemon. Er
bearbeitet die Anfragen, die &man.nfsd.8; an ihn
weitergibt.rpcbind Der Portmapper-Daemon. Durch ihn erkennen die
NFS-Clients, welchen Port der
NFS-Server verwendet.Der Client kann ebenfalls einen Daemon aufrufen, und zwar
den nfsiod-Daemon. Der
nfsiod-Daemon bearbeitet Anfragen vom
NFS-Server. Er ist optional und verbessert
die Leistung des Netzwerks. Für eine normale und korrekte
Arbeit ist er allerdings nicht erforderlich. Mehr erfahren
Sie in der Hilfeseite &man.nfsiod.8;.NFS einrichtenNFSeinrichtenNFS lässt sich leicht
einrichten. Die nötigen Prozesse werden durch einige
Änderungen in /etc/rc.conf bei
jedem Systemstart gestartet.Stellen Sie sicher, dass auf dem
NFS-Server folgende Optionen in der Datei
/etc/rc.conf gesetzt sind:rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"mountd läuft automatisch,
wenn der NFS-Server aktiviert ist.Auf dem Client muss in /etc/rc.conf
folgende Option gesetzt sein:nfs_client_enable="YES"/etc/exports legt fest, welche
Dateisysteme NFS exportieren (manchmal auch
als teilen bezeichnet) soll. Jede Zeile in
/etc/exports legt ein Dateisystem sowie
die Arbeitsstationen, die darauf Zugriff haben, fest.
Außerdem ist es möglich, Zugriffsoptionen
festzulegen. Es gibt viele verschiedene Optionen, allerdings
werden hier nur einige von ihnen erwähnt. Wenn Sie
Informationen zu weiteren Optionen benötigen, lesen Sie
&man.exports.5;.Nun folgen einige Beispieleinträge für
/etc/exports:NFSExport von DateisystemenDie folgenden Beispiele geben Ihnen Anhaltspunkte zum
Exportieren von Dateisystemen, obwohl diese Einstellungen
natürlich von Ihrer Arbeitsumgebung und Ihrer
Netzwerkkonfiguration abhängen. Das nächste
Beispiel exportiert das Verzeichnis /cdrom
für drei Rechner, die sich in derselben Domäne wie
der Server befinden oder für die entsprechende
Einträge in /etc/hosts existieren.
Die Option kennzeichnet das
exportierte Dateisystem als schreibgeschützt. Durch dieses
Flag ist das entfernte System nicht in der Lage, das exportierte
Dateisystem zu verändern./cdrom -ro host1 host2 host3Die nächste Zeile exportiert /home
auf drei durch IP-Adressen bestimmte Rechner. Diese Einstellung
ist nützlich, wenn Sie über ein privates Netzwerk ohne
DNS-Server verfügen. Optional
könnten interne Rechnernamen auch in
/etc/hosts konfiguriert werden.
Benötigen Sie hierzu weitere Informationen, lesen Sie bitte
&man.hosts.5;. Durch das Flag wird es
möglich, auch Unterverzeichnisse als Mountpunkte
festzulegen. Dies bedeutet aber nicht, dass alle
Unterverzeichnisse eingehängt werden, vielmehr wird es dem
Client ermöglicht, nur diejenigen Verzeichnisse
einzuhängen, die auch benötigt werden./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4Die nächste Zeile exportiert /a,
damit Clients von verschiedenen Domänen auf das Dateisystem
zugreifen können. Das -Flag
erlaubt es dem Benutzer root des entfernten
Systems, als root auf das exportierte
Dateisystem zu schreiben. Wenn dieses Flag nicht gesetzt ist,
kann selbst root nicht auf das exportierte
Dateisystem schreiben./a -maproot=root host.example.com box.example.orgDamit ein Client auf ein exportiertes Dateisystem zugreifen
kann, muss ihm dies explizit gestattet werden. Stellen Sie also
sicher, dass der Client in /etc/exports
aufgeführt wird.Jede Zeile in /etc/exports entspricht
der Exportinformation für ein Dateisystem auf einen
Rechner. Ein entfernter Rechner kann für jedes Dateisystem
nur einmal festgelegt werden, und kann auch nur einen
Standardeintrag haben. Nehmen wir an, dass
/usr ein einziges Dateisystem ist. Dann
wären folgende Zeilen ungültig:#Nicht erlaubt, wenn /usr ein einziges Dateisystem ist
/usr/src client
/usr/ports clientDas Dateisystem /usr wird hier zweimal
auf den selben Rechner (client)
exportiert. Dies ist aber nicht zulässig. Der korrekte
Eintrag sieht daher so aus:/usr/src /usr/ports clientDie Eigenschaften eines auf einen anderen Rechner
exportierten Dateisystems müssen alle in einer Zeile
stehen. Zeilen, in denen kein Rechner festgelegt wird, werden
als einzelner Rechner behandelt. Dies schränkt die
Möglichkeiten zum Export von Dateisystemen ein, für
die meisten Anwender ist dies aber kein Problem.Eine gültige Exportliste, in der
/usr und /exports
lokale Dateisysteme sind, sieht so aus:# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -roDer Daemon mountd muss
die Datei /etc/exports nach jeder
Änderung neu einlesen, damit die Änderungen
wirksam werden. Dies kann durch das Senden des
HUP-Signals an den mountd-Prozess
erfolgen:&prompt.root; kill -HUP `cat /var/run/mountd.pid`Alternativ können Sie das
mountd-&man.rc.8;-Skript auch mit dem
passenden Parameter aufrufen:&prompt.root; /etc/rc.d/mountd onereloadLesen Sie bitte
des Handbuchs für Informationen zum Einsatz der
rc-Skripte.Eine weitere Möglichkeit, diese Änderungen zu
übernehmen, wäre der Neustart des Systems. Dies ist
allerdings nicht nötig. Wenn Sie die folgenden
Befehle als root ausführen, sollte
alles korrekt gestartet werden.Auf dem NFS-Server:&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rAuf dem NFS-Client:&prompt.root; nfsiod -n 4Nun sollte alles bereit sein, um ein entferntes Dateisystem
einhängen zu können. In unseren Beispielen nennen wir
den Server server, den Client
client. Wenn Sie ein entferntes Dateisystem
nur zeitweise einhängen wollen, oder nur Ihre Konfiguration
testen möchten, führen Sie auf dem Client als
root einen Befehl ähnlich dem
folgenden aus:NFSDateisysteme einhängen&prompt.root; mount server:/home /mntDadurch wird das Verzeichnis /home des
Servers auf dem Client unter /mnt
eingehängt. Wenn alles korrekt konfiguriert wurde, sehen
Sie auf dem Client im Verzeichnis /mnt alle
Dateien des Servers.Wenn Sie ein entferntes Dateisystem nach jedem Systemstart
automatisch einhängen wollen, fügen Sie das
Dateisystem in /etc/fstab ein. Dazu ein
Beispiel:server:/home /mnt nfs rw 0 0Eine Beschreibung aller Optionen enthält
die Hilfeseite &man.fstab.5;.Dateien sperren (Locking)Einige Anwendungen (beispielsweise
mutt) erfordern die Sperrung von
Dateien, damit sie korrekt arbeiten. Verwenden Sie
NFS, so können Sie für die
Sperrung von Dateien rpc.lockd
einsetzen. Um diesen Daemon zu aktivieren, müssen Sie
in /etc/rc.conf (sowohl auf Client- als
auch auf Serverseite) folgende Zeilen aufnehmen (wobei
vorausgesetzt wird, dasss NFS auf beiden
Systemen bereits konfiguriert ist):rpc_lockd_enable="YES"
rpc_statd_enable="YES"Danach starten Sie die Anwendung zur Verwaltung der
Dateisperren durch folgenden Befehl:&prompt.root; /etc/rc.d/nfslocking startBenötigen Sie keine echten Dateisperren zwischen den
NFS-Clients und dem
NFS-Server, können Sie den
NFS-Client durch die Übergabe der
Option an &man.mount.nfs.8; zu einer lokalen
Sperrung von Dateien zwingen. Lesen Sie dazu auch die
Manualpage &man.mount.nfs.8;.Praktische AnwendungenNFS ist in vielen Situationen
nützlich. Einige Anwendungsbereiche finden Sie in der
folgenden Liste:NFSAnwendungsbeispieleMehrere Maschinen können sich ein CD-ROM-Laufwerk
oder andere Medien teilen. Dies ist billiger und
außerdem praktischer, um Programme auf mehreren
Rechnern zu installieren.In größeren Netzwerken ist es praktisch,
einen zentralen NFS-Server einzurichten,
auf dem die Heimatverzeichnisse der Benutzer gespeichert
werden. Diese Heimatverzeichnisse werden über das
Netzwerk exportiert. Dadurch haben die Benutzer immer das
gleiche Heimatverzeichnis zur Verfügung,
unabhängig davon, an welchem Arbeitsplatz sie sich
anmelden.Verschiedene Rechner können auf ein gemeinsames
Verzeichnis /usr/ports/distfiles
zugreifen. Wenn Sie nun einen Port auf mehreren Rechnern
installieren wollen, greifen Sie einfach auf dieses
Verzeichnis zu, ohne die Quelldateien auf jede Maschine
zu kopieren.WylieStilwellBeigetragen von ChernLeeÜberarbeitet von AMDamdAutomatic Mounter Daemon&man.amd.8; (Automatic Mounter Daemon) hängt ein
entferntes Dateisystem automatisch ein,
wenn auf eine Datei oder ein Verzeichnis in diesem Dateisystem
zugegriffen wird. Dateisysteme, die über einen gewissen
Zeitraum inaktiv sind, werden von amd
automatisch abgehängt.
amd ist eine einfache
Alternative zum dauerhaften Einhängen von Dateisystemen
in /etc/fstab.In der Voreinstellung stellt amd
die Verzeichnisse /host und
/net als NFS-Server bereit. Wenn auf eine
Datei in diesen Verzeichnissen zugegriffen wird, sucht
amd den entsprechenden Mountpunkt
und hängt das Dateisystem automatisch ein.
/net wird zum Einhängen von
exportierten Dateisystemen von einer IP-Adresse verwendet,
während /host zum Einhängen
von exportierten Dateisystemen eines durch seinen Namen
festgelegten Rechners dient.Ein Zugriff auf eine Datei in
/host/foobar/usr würde
amd veranlassen,
das von foobar exportierte Dateisystem
/usr einzuhängen.Ein exportiertes Dateisystem mit
amd in den Verzeichnisbaum
einhängenSie können sich die verfügbaren Mountpunkte
eines entfernten Rechners mit showmount
ansehen. Wollen Sie sich die Mountpunkte des Rechners
foobar ansehen, so verwenden Sie:&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrWie Sie an diesem Beispiel erkennen können, zeigt
showmount/usr
als exportiertes Dateisystem an. Wenn man in das Verzeichnis
/host/foobar/usr wechselt, versucht
amd den Rechnernamen
foobar aufzulösen und den gewünschten
Export in den Verzeichnisbaum einzuhängen.amd kann durch das Einfügen
der folgenden Zeile in /etc/rc.conf
automatisch gestartet werden:amd_enable="YES"Mit der Option amd_flags kann
amd angepasst werden.
Die Voreinstellung für amd_flags sieht
so aus:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"/etc/amd.map legt die Standardoptionen
fest, mit denen exportierte Dateisysteme in den Verzeichnisbaum
eingehängt werden. /etc/amd.conf
hingegen legt einige der erweiterten Optionen von
amd fest.Weitere Informationen finden Sie in den Hilfeseiten
&man.amd.8; und &man.amd.conf.5;.JohnLindBeigetragen von Integrationsprobleme mit anderen SystemenBestimmte ISA-Ethernetadapter haben Beschränkungen, die
zu ernsthaften Netzwerkproblemen, insbesondere mit NFS
führen können. Es handelt sich dabei nicht um ein
FreeBSD-spezifisches Problem, aber FreeBSD-Systeme sind davon
ebenfalls betroffen.Das Problem tritt fast ausschließlich dann auf, wenn
(FreeBSD)-PC-Systeme mit Hochleistungsrechnern verbunden werden,
wie Systemen von Silicon Graphics, Inc. oder
Sun Microsystems, Inc. Das Einhängen via NFS
funktioniert problemlos, auch einige Dateioperationen
können erfolgreich sein. Plötzlich aber wird der
Server nicht mehr auf den Client reagieren, obwohl Anfragen von
anderen Rechnern weiterhin bearbeitet werden. Dieses
Problem betrifft stets den Client, egal ob es sich beim Client
um das FreeBSD-System oder den Hochleistungsrechner handelt.
Auf vielen Systemen gibt es keine Möglichkeit mehr, den
Client ordnungsgemäß zu beenden. Die einzige
Lösung ist es oft, den Rechner neu zu starten, da dieses
NFS-Problem nicht mehr behoben werden kann.Die korrekte Lösung für dieses
Problem ist es, sich eine schnellere Ethernetkarte für
FreeBSD zu kaufen. Allerdings gibt es auch eine einfache und
meist zufriedenstellende Lösung, um dieses Problem zu
umgehen. Wenn es sich beim FreeBSD-System um den
Server handelt, verwenden Sie beim
Einhängen in den Verzeichnisbaum auf der Clientseite
zusätzlich die Option . Wenn es
sich beim FreeBSD-System um den Client
handelt, dann hängen Sie das NFS-Dateisystem mit der
zusätzlichen Option ein.
Diese Optionen können auf der Clientseite auch durch
das vierte Feld der Einträge in
/etc/fstab festgelegt werden, damit die
Dateisysteme automatisch eingehängt werden. Um die
Dateisysteme manuell einzuhängen, verwendet man bei
&man.mount.8; zusätzlich die Option
.Es gibt ein anderes Problem, das oft mit diesem verwechselt
wird. Dieses andere Problem tritt auf, wenn sich über NFS
verbundene Server und Clients in verschiedenen Netzwerken
befinden. Wenn dies der Fall ist, stellen Sie
sicher, dass Ihre Router die
nötigen UDP-Informationen weiterleiten,
oder Sie werden nirgends hingelangen, egal was Sie machen.In den folgenden Beispielen ist fastws der
Name des Hochleistungsrechners (bzw. dessen Schnittstelle),
freebox hingegen ist der Name des
FreeBSD-Systems, das über eine Netzkarte mit geringer
Leistung verfügt. /sharedfs ist das
exportierte NFS -Dateisystem (lesen Sie dazu auch
&man.exports.5;). Bei /project handelt es
sich um den Mountpunkt, an dem das exportierte Dateisystem auf
der Clientseite eingehängt wird. In allen Fällen
können zusätzliche Optionen, wie z.B.
, oder
wünschenswert sein.FreeBSD als Client (eingetragen in
/etc/fstab auf freebox):
fastws:/sharedfs /project nfs rw,-r=1024 0 0Manuelles Einhängen auf
freebox:&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /project&os; als Server (eingetragen in
/etc/fstab auf fastws):
freebox:/sharedfs /project nfs rw,-w=1024 0 0Manuelles Einhängen auf fastws:&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectNahezu alle 16-bit Ethernetadapter erlauben Operationen
ohne obengenannte Einschränkungen auf die Lese- oder
Schreibgröße.Für alle technisch Interessierten wird nun beschrieben,
was passiert, wenn dieser Fehler auftritt, und warum er
irreversibel ist. NFS arbeitet üblicherweise mit einer
Blockgröße von 8 kByte (obwohl
es kleinere Fragmente zulassen würde). Da die maximale
Rahmengröße von Ethernet 1500 Bytes
beträgt, wird der NFS-Block in einzelne
Ethernetrahmen aufgeteilt, obwohl es sich nach wie vor um eine
Einheit handelt, die auch als Einheit empfangen, verarbeitet
und bestätigt werden muss. Der
Hochleistungsrechner verschickt die Pakete, aus denen der
NFS-Block besteht, so eng hintereinander, wie es der Standard
erlaubt. Auf der anderen Seite (auf der sich die langsamere
Netzkarte befindet), überschreiben die späteren
Pakete ihre Vorgänger, bevor diese vom System verarbeitet
werden (Überlauf!). Dies hat zur Folge, dass der NFS-Block
nicht mehr rekonstruiert und bestätigt werden kann. Als
Folge davon glaubt der Hochleistungsrechner, dass der andere
Rechner nicht erreichbar ist (Timeout!) und versucht die
Sendung zu wiederholen. Allerdings wird wiederum der komplette
NFS-Block verschickt, so dass sich der ganze Vorgang wiederholt,
und zwar immer wieder (oder bis zum Systemneustart).Indem wir die Einheitengröße unter der maximalen
Größe der Ethernetpakete halten, können wir
sicherstellen, dass jedes vollständig erhaltene
Ethernetpaket individuell angesprochen werden kann und vermeiden
die Blockierung des Systems.Überläufe können zwar nach wie vor auftreten,
wenn ein Hochleistungsrechner Daten auf ein PC-System
transferiert. Durch die besseren (und schnelleren) Netzkarten
treten solche Überläufe allerdings nicht mehr
zwingend auf, wenn
NFS-Einheiten übertragen werden. Tritt nun
ein Überlauf auf, wird die betroffene Einheit erneut
verschickt, und es besteht eine gute Chance, dass sie nun
erhalten, verarbeitet und bestätigt werden kann.BillSwingleBeigetragen von EricOgrenErweitert von UdoErdelhoffNIS/YP – Network Information ServiceWas ist NIS?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDNIS
wurde von Sun Microsystems entwickelt, um &unix;-Systeme
(ursprünglich &sunos;) zentral verwalten zu können.
Mittlerweile hat es sich zu einem Industriestandard entwickelt,
der von allen wichtigen &unix;-Systemen (&solaris;, HP-UX,
&aix;, Linux, NetBSD, OpenBSD, FreeBSD und anderen)
unterstützt wird.yellow pagesNISNIS war
ursprünglich als Yellow Pages bekannt,
aus markenrechtlichen Gründen wurde der Name aber
geändert. Die alte Bezeichnung (sowie die Abkürzung YP)
wird aber nach wie vor häufig verwendet.NISDomänenBei NIS handelt es sich um ein RPC-basiertes
Client/Server-System. Eine Gruppe von Rechnern greift dabei
innerhalb einer NIS-Domäne auf gemeinsame
Konfigurationsdateien zu. Ein Systemadministrator wird dadurch
in die Lage versetzt, NIS-Clients mit minimalem Aufwand
einzurichten, sowie Änderungen an der Systemkonfiguration
von einem zentralen Ort aus durchzuführen.Windows NTDie Funktion entspricht dem Domänensystem von
&windowsnt;; auch wenn sich die interne Umsetzung unterscheidet,
sind die Basisfunktionen vergleichbar.Wichtige Prozesse und BegriffeEs gibt verschiedene Begriffe und Anwenderprozesse, auf die
Sie stoßen werden, wenn Sie NIS unter FreeBSD einrichten,
egal ob Sie einen Server oder einen Client konfigurieren:rpcbindBegriffBeschreibungNIS-DomänennameEin NIS-Masterserver sowie alle Clients
(inklusive der Slaveserver) haben einen
NIS-Domänennamen. Dieser hat (ähnlich den
&windowsnt;-Domänennamen) nichts mit DNS zu tun.
rpcbindMuss laufen, damit RPC (Remote Procedure Call, ein
von NIS verwendetes Netzwerkprotokoll) funktioniert.
NIS-Server sowie Clients funktionieren ohne
rpcbind nicht.ypbindBindet einen NIS-Client an seinen
NIS-Server. Der Client bezieht den
NIS-Domänennamen vom System und stellt über
das RPC-Protokoll eine Verbindung zum NIS-Server her.
ypbind ist der zentrale
Bestandteil der Client-Server-Kommunikation in einer
NIS-Umgebung. Wird >ypbind
auf einem Client beendet, ist dieser nicht mehr in der
Lage, auf den NIS-Server zuzugreifen.ypservSollte nur auf dem NIS-Server laufen, da es sich um
den Serverprozess selbst handelt. Wenn &man.ypserv.8;
nicht mehr läuft, kann der Server nicht mehr auf
NIS-Anforderungen reagieren (wenn ein Slaveserver
existiert, kann dieser als Ersatz fungieren). Einige
NIS-Systeme (allerdings nicht das von FreeBSD) versuchen
allerdings erst gar nicht, sich mit einem anderen Server
zu verbinden, wenn der bisher verwendete Server nicht
mehr reagiert. Die einzige Lösung dieses Problems
besteht dann darin, den Serverprozess (oder gar den
Server selbst) oder den
ypbind-Prozess auf dem Client
neu zu starten.rpc.yppasswddEin weiterer Prozess, der nur auf dem
NIS-Masterserver laufen sollte. Es handelt sich um einen
Daemonprozess, der es NIS-Clients ermöglicht, sich
auf dem NIS-Masterserver anzumelden, um ihr Passwort zu
ändern.Wie funktioniert NIS?In einer NIS-Umgebung gibt es drei Rechnerarten:
Masterserver, Slaveserver und Clients. Server dienen als
zentraler Speicherort für Rechnerkonfigurationen.
Masterserver speichern die maßgebliche Kopie dieser
Informationen, während Slaveserver diese Informationen
aus Redundanzgründen spiegeln. Die Clients beziehen
ihre Informationen immer vom Server.Auf diese Art und Weise können Informationen aus
verschiedenen Dateien von mehreren Rechnern gemeinsam
verwendet werden. master.passwd,
group, und hosts
werden oft gemeinsam über NIS verwendet. Immer, wenn
ein Prozess auf einem Client auf Informationen zugreifen will,
die normalerweise in lokalen Dateien vorhanden wären,
wird stattdessen eine Anfrage an den NIS-Server gestellt, an
den der Client gebunden ist.Arten von NIS-RechnernNISMasterserverEin NIS-Masterserver verwaltet,
ähnlich einem &windowsnt;-Domänencontroller, die
von allen NIS-Clients gemeinsam verwendeten Dateien.
passwd, group,
sowie verschiedene andere von den Clients verwendete
Dateien existieren auf dem Masterserver.Ein Rechner kann auch für mehrere
NIS-Domänen als Masterserver fungieren. Dieser
Abschnitt konzentriert sich im Folgenden allerdings auf
eine relativ kleine NIS-Umgebung.NISSlaveserverNIS-Slaveserver. Ähnlich
einem &windowsnt;-Backupdomänencontroller, verwalten
NIS-Slaveserver Kopien der Daten des NIS-Masterservers.
NIS-Slaveserver bieten die Redundanz, die für
kritische Umgebungen benötigt wird. Zusätzlich
entlasten Slaveserver den Masterserver: NIS-Clients
verbinden sich immer mit dem NIS-Server, der zuerst
reagiert. Dieser Server kann auch ein Slaveserver sein.
NISClientNIS-Clients. NIS-Clients
identifizieren sich gegenüber dem NIS-Server
(ähnlich den &windowsnt;-Workstations), um sich am
Server anzumelden.NIS/YP konfigurierenDieser Abschnitt beschreibt an Hand eines Beispiels die
Einrichtung einer NIS-Umgebung.PlanungNehmen wir an, Sie seien der Administrator eines kleinen
Universitätsnetzes. Dieses Netz besteht aus
fünfzehn FreeBSD-Rechnern, für die derzeit keine
zentrale Verwaltung existiert, jeder Rechner hat also eine
eigene Version von /etc/passwd und
/etc/master.passwd. Diese Dateien werden
manuell synchron gehalten; legen Sie einen neuen Benutzer an,
so muss dies auf allen fünfzehn Rechnern manuell
erledigt werden (unter Verwendung von
adduser). Da diese Lösung sehr
ineffizient ist, soll das Netzwerk in Zukunft NIS verwenden,
wobei zwei der Rechner als Server dienen sollen.In Zukunft soll das Netz also wie folgt aussehen:RechnernameIP-AdresseRechneraufgabeellington10.0.0.2NIS-Mastercoltrane10.0.0.3NIS-Slavebasie10.0.0.4Workstation der Fakultätbird10.0.0.5Clientrechnercli[1-11]10.0.0.[6-17]Verschiedene andere ClientsWenn Sie NIS das erste Mal einrichten, ist es ratsam, sich
zuerst über die Vorgangsweise Gedanken zu machen.
Unabhängig von der Größe Ihres Netzwerks
müssen Sie stets einige Entscheidungen treffen.Einen NIS-Domänennamen wählenNISDomänennameDies muss nicht der Domainname sein. Es
handelt sich vielmehr um den NIS-Domainnamen.
Wenn ein Client Informationen anfordert, ist in dieser
Anforderung der Name der NIS-Domäne enthalten.
Dadurch weiß jeder Server im Netzwerk, auf welche
Anforderung er antworten muss. Stellen Sie sich den
NIS-Domänennamen als den Namen einer Gruppe von
Rechnern vor, die etwas gemeinsam haben.Manchmal wird der Name der Internetdomäne auch
für die NIS-Domäne verwendet. Dies ist allerdings
nicht empfehlenswert, da dies bei der Behebung von Problemen
verwirrend sein kann. Der Name der NIS-Domäne sollte
innerhalb Ihres Netzwerks einzigartig sein. Hilfreich ist
es, wenn der Name die Gruppe der in ihr zusammengefassten
Rechner beschreibt. Die Kunstabteilung von Acme Inc.
hätte daher die NIS-Domäne
acme-art. Für unser Beispiel verwenden
wir den NIS-Domänennamen
test-domain.SunOSEs gibt jedoch auch Betriebssysteme (vor allem &sunos;),
die als NIS-Domänennamen den Name der
Internetdomäne verwenden. Wenn dies für einen
oder mehrere Rechner Ihres Netzwerks zutrifft,
müssen Sie den Namen der
Internetdomäne als Ihren NIS-Domänennamen
verwenden.Anforderungen an den ServerWenn Sie einen NIS-Server einrichten wollen, müssen
Sie einige Dinge beachten. Eine unangenehme Eigenschaft
von NIS ist die Abhängigkeit der Clients vom Server.
Wenn sich der Client nicht über den Server mit seiner
NIS-Domäne verbinden kann, wird der Rechner oft
unbenutzbar, da das Fehlen von Benutzer- und
Gruppeninformationen zum Einfrieren des Clients führt.
Daher sollten Sie für den Server einen Rechner
auswählen, der nicht regelmäßig neu
gestartet werden muss und der nicht für Testversuche
verwendet wird. Idealerweise handelt es sich um einen
alleinstehenden Rechner, dessen einzige Aufgabe es ist, als
NIS-Server zu dienen. Wenn Sie ein Netzwerk haben, das
nicht zu stark ausgelastet ist, ist es auch möglich,
den NIS-Server als weiteren Dienst auf einem anderen Rechner
laufen zu lassen. Denken Sie aber daran, dass ein Ausfall
des NIS-Servers alle NIS-Clients
betrifft.NIS-ServerDie verbindlichen Kopien aller NIS-Informationen befinden
sich auf einem einzigen Rechner, dem NIS-Masterserver. Die
Datenbanken, in denen die Informationen gespeichert sind,
bezeichnet man als NIS-Maps. Unter FreeBSD werden diese
Maps unter /var/yp/[domainname]
gespeichert, wobei [domainname] der
Name der NIS-Domäne ist. Ein einzelner NIS-Server
kann gleichzeitig mehrere NIS-Domänen verwalten, daher
können auch mehrere Verzeichnisse vorhanden sein. Jede
Domäne verfügt über ein eigenes Verzeichnis
sowie einen eigenen, von anderen Domänen
unabhängigen Satz von NIS-Maps.NIS-Master- und Slaveserver verwenden den
ypserv-Daemon, um NIS-Anfragen zu
bearbeiten. ypserv empfängt
eingehende Anfragen der NIS-Clients, ermittelt aus der
angeforderten Domäne und Map einen Pfad zur
entsprechenden Datenbank, und sendet die angeforderten
Daten von der Datenbank zum Client.Einen NIS-Masterserver einrichtenNISServerkonfigurationAbhängig von Ihren Anforderungen ist die
Einrichtung eines NIS-Masterservers relativ einfach, da
NIS von FreeBSD bereits in der Standardkonfiguration
unterstützt wird. Sie müssen nur folgende
Zeilen in /etc/rc.conf einfügen:
nisdomainname="test-domain"Diese Zeile setzt den NIS-Domänennamen auf
test-domain, wenn Sie das Netzwerk
initialisieren (beispielsweise nach einem Systemstart).
nis_server_enable="YES"
Dadurch werden die NIS-Serverprozesse gestartet.nis_yppasswdd_enable="YES"
Durch diese Zeile wird der
rpc.yppasswdd-Daemon aktiviert, der,
wie bereits erwähnt, die Änderung von
NIS-Passwörtern von einem Client aus
ermöglicht.In Abhängigkeit von Ihrer NIS-Konfiguration
können weitere Einträge erforderlich sein.
Weitere Informationen finden Sie im Abschnitt
NIS-Server, die
auch als NIS-Clients arbeiten.Nun müssen Sie nur noch
/etc/netstart als Superuser
ausführen, um alles entsprechend Ihren Vorgaben in
/etc/rc.conf einzurichten.Die NIS-Maps initialisierenNISmapsNIS-Maps sind Datenbanken, die
sich im Verzeichnis /var/yp befinden.
Sie werden am NIS-Masterserver aus den Konfigurationsdateien
unter /etc erzeugt. Einzige Ausnahme:
/etc/master.passwd. Dies ist auch
sinnvoll, da Sie die Passwörter für Ihr
root- oder andere
Administratorkonten nicht an alle Server der NIS-Domäne
verteilen wollen. Bevor Sie also die NIS-Maps des
Masterservers einrichten, sollten Sie Folgendes tun:&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdEntfernen Sie alle Systemkonten
(wie bin, tty,
kmem oder games),
sowie alle Konten, die Sie nicht an die NIS-Clients
weitergeben wollen (beispielsweise root
und alle Konten mit der UID 0 (=Superuser).Stellen Sie sicher, dass
/var/yp/master.passwd weder von der
Gruppe noch von der Welt gelesen werden kann (Zugriffsmodus
600)! Ist dies nicht der Fall, ändern Sie dies mit
chmod.Tru64 UNIXNun können Sie die NIS-Maps initialisieren.
FreeBSD verwendet dafür das Skript
ypinit (lesen Sie dazu auch
&man.ypinit.8;). Dieses Skript ist auf fast allen
UNIX-Betriebssystemen verfügbar. Bei
Digitals Unix/Compaq Tru64 UNIX nennt es sich allerdings
ypsetup. Da wir Maps für einen
NIS-Masterserver erzeugen, verwenden wir
ypinit mit der Option
. Nachdem Sie die beschriebenen
Aktionen durchgeführt haben, erzeugen Sie nun die
NIS-Maps:ellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
At this point, we have to construct a list of this domains YP servers.
rod.darktech.org is already known as master server.
Please continue to add any slave servers, one per line. When you are
done with the list, type a <control D>.
master server : ellington
next host to add: coltrane
next host to add: ^D
The current list of NIS servers looks like this:
ellington
coltrane
Is this correct? [y/n: y] y
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.Dadurch erzeugt ypinit/var/yp/Makefile aus der Datei
/var/yp/Makefile.dist.
Durch diese Datei wird festgelegt, dass Sie in einer
NIS-Umgebung mit nur einem Server arbeiten und dass alle
Clients unter FreeBSD laufen. Da
test-domain aber auch über einen
Slaveserver verfügt, müssen Sie
/var/yp/Makefile entsprechend anpassen:
ellington&prompt.root; vi /var/yp/MakefileSie sollten die ZeileNOPUSH = "True"auskommentieren (falls dies nicht bereits der Fall ist).Einen NIS-Slaveserver einrichtenNISSlaveserverEin NIS-Slaveserver ist noch einfacher einzurichten als
ein Masterserver. Melden Sie sich am Slaveserver an und
ändern Sie /etc/rc.conf analog
zum Masterserver. Der einzige Unterschied besteht in der
Verwendung der Option , wenn Sie
ypinit aufrufen. Die Option
erfordert den Namen des
NIS-Masterservers, daher sieht unsere Ein- und Ausgabe wie
folgt aus:coltrane&prompt.root; ypinit -s ellington test-domain
Server Type: SLAVE Domain: test-domain Master: ellington
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
There will be no further questions. The remainder of the procedure
should take a few minutes, to copy the databases from ellington.
Transferring netgroup...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byuser...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byhost...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring group.bygid...
ypxfr: Exiting: Map successfully transferred
Transferring group.byname...
ypxfr: Exiting: Map successfully transferred
Transferring services.byname...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.byname...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.byname...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring netid.byname...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring ypservers...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byname...
ypxfr: Exiting: Map successfully transferred
coltrane has been setup as an YP slave server without any errors.
Don't forget to update map ypservers on ellington.Sie sollten nun über das Verzeichnis
/var/yp/test-domain verfügen.
Die Kopien der NIS-Masterserver-Maps sollten sich in diesem
Verzeichnis befinden. Allerdings müssen Sie diese
auch aktuell halten. Die folgenden Einträge in
/etc/crontab erledigen diese Aufgabe:
20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidDiese zwei Zeilen zwingen den Slaveserver, seine Maps
mit denen des Masterservers zu synchronisieren. Diese
Einträge sind nicht zwingend, da der Masterserver
versucht, alle Änderungen seiner NIS-Maps an seine
Slaveserver weiterzugeben. Da Passwortinformationen aber
für vom Server abhängige Systeme vital sind, ist
es eine gute Idee, diese Aktualisierungen zu erzwingen.
Besonders wichtig ist dies in stark ausgelasteten Netzen,
in denen Map-Aktualisierungen unvollständig sein
könnten.Führen Sie nun /etc/netstart
auch auf dem Slaveserver aus, um den NIS-Server erneut zu
starten.NIS-ClientsEin NIS-Client bindet sich unter
Verwendung des ypbind-Daemons an einen
NIS-Server. ypbind prüft die
Standarddomäne des Systems (die durch
domainname gesetzt wird), und beginnt
RPCs über das lokale Netzwerk zu verteilen (broadcast).
Diese Anforderungen legen den Namen der Domäne fest,
für die ypbind eine Bindung erzeugen
will. Wenn der Server der entsprechenden Domäne eine
solche Anforderung erhält, schickt er eine Antwort an
ypbind. ybind speichert
daraufhin die Adresse des Servers. Wenn mehrere Server
verfügbar sind (beispielsweise ein Master- und mehrere
Slaveserver), verwendet ypbind die erste
erhaltene Adresse. Ab diesem Zeitpunkt richtet der Client alle
Anfragen an genau diesen Server. ypbindpingt den Server gelegentlich an, um
sicherzustellen, dass der Server funktioniert. Antwortet der
Server innerhalb eines bestimmten Zeitraums nicht (Timeout),
markiert ypbind die Domäne als
ungebunden und beginnt erneut, RPCs über das Netzwerk zu
verteilen, um einen anderen Server zu finden.Einen NIS-Client konfigurierenNISClient konfigurierenEinen FreeBSD-Rechner als NIS-Client einzurichten, ist
recht einfach.Fügen Sie folgende Zeilen in
/etc/rc.conf ein, um den
NIS-Domänennamen festzulegen, und um
ypbind bei der Initialisierung des
Netzwerks zu starten:nisdomainname="test-domain"
nis_client_enable="YES"Um alle Passworteinträge des NIS-Servers zu
importieren, löschen Sie alle Benutzerkonten in
/etc/master.passwd und fügen
mit vipw folgende Zeile am Ende der
Datei ein:+:::::::::Diese Zeile legt für alle gültigen
Benutzerkonten der NIS-Server-Maps einen Zugang an.
Es gibt verschiedene Wege, Ihren NIS-Client durch
Änderung dieser Zeile zu konfigurieren. Lesen
Sie dazu auch den Abschnitt über
Netzgruppen weiter
unten. Weitere detaillierte Informationen finden Sie
im Buch Managing NFS and NIS von
O'Reilly.Sie sollten zumindest ein lokales Benutzerkonto,
das nicht über NIS importiert wird, in Ihrer
/etc/master.passwd behalten.
Dieser Benutzer sollte außerdem ein Mitglied der
Gruppe wheel sein. Wenn es
mit NIS Probleme gibt, können Sie diesen Zugang
verwenden, um sich anzumelden,
root zu werden und das Problem
zu beheben.Um alle möglichen Gruppeneinträge vom
NIS-Server zu importieren, fügen sie folgende Zeile
in /etc/group ein:+:*::Nachdem Sie diese Schritte erledigt haben, sollten Sie
mit ypcat passwd die
passwd-Map des NIS-Servers anzeigen
können.Sicherheit unter NISNISSicherheitIm Allgemeinen kann jeder entfernte Anwender einen RPC an
&man.ypserv.8; schicken, um den Inhalt Ihrer NIS-Maps abzurufen,
falls er Ihren NIS-Domänennamen kennt. Um solche
unautorisierten Transaktionen zu verhindern, unterstützt
&man.ypserv.8; securenets, durch die man den
Zugriff auf bestimmte Rechner beschränken kann.
&man.ypserv.8; versucht, beim Systemstart die Informationen
über securenets aus der Datei
/var/yp/securenets zu laden.Die Datei securenets kann auch
in einem anderen Verzeichnis stehen, das mit der Option
angegeben wird. Diese Datei
enthält Einträge, die aus einer Netzwerkadresse und
einer Netzmaske bestehen, die durch Leerzeichen getrennt
werden. Kommentarzeilen beginnen mit #.
/var/yp/securnets könnte
beispielsweise so aussehen:# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
# this includes the machines in the testlab
10.0.0.0 255.255.240.0Wenn &man.ypserv.8; eine Anforderung von einer zu diesen
Regeln passenden Adresse erhält, wird die Anforderung
bearbeitet. Gibt es keine passende Regel, wird die
Anforderung ignoriert und eine Warnmeldung aufgezeichnet. Wenn
/var/yp/securenets nicht vorhanden ist,
erlaubt ypserv Verbindungen von jedem Rechner
aus.ypserv unterstützt auch das
TCP-Wrapper-Paket von Wietse Venema.
Mit diesem Paket kann der Administrator für
Zugriffskontrollen die Konfigurationsdateien von
TCP-Wrapper anstelle von
/var/yp/securenets verwenden.Während beide Kontrollmechanismen einige Sicherheit
gewähren, beispielsweise durch privilegierte Ports, sind
sie gegenüber IP spoofing-Attacken
verwundbar. Jeder NIS-Verkehr sollte daher von Ihrer Firewall
blockiert werden.Server, die /var/yp/securenets
verwenden, können Schwierigkeiten bei der Anmeldung von
Clients haben, die ein veraltetes TCP/IP-Subsystem
besitzen. Einige dieser TCP/IP-Subsysteme setzen alle
Rechnerbits auf Null, wenn Sie einen
Broadcast durchführen und/oder
können die Subnetzmaske nicht auslesen, wenn sie die
Broadcast-Adresse berechnen. Einige Probleme können
durch Änderungen der Clientkonfiguration behoben werden.
Andere hingegen lassen sich nur durch das Entfernen des
betreffenden Rechners aus dem Netzwerk oder den Verzicht auf
/var/yp/securenets umgehen.Die Verwendung von /var/yp/securenets
auf einem Server mit einem solch veralteten
TCP/IP-Subsystem ist eine sehr schlechte Idee, die zu
einem Verlust der NIS-Funktionalität für große
Teile Ihres Netzwerks führen kann.TCP-WrapperDie Verwendung der TCP-Wrapper
verlangsamt die Reaktion Ihres NIS-Servers. Diese
zusätzliche Reaktionszeit kann in Clientprogrammen zu
Timeouts führen. Dies vor allem in Netzwerken, die
stark ausgelastet sind, oder nur über langsame NIS-Server
verfügen. Wenn ein oder mehrere Ihrer Clientsysteme
dieses Problem aufweisen, sollten Sie die betreffenden Clients
in NIS-Slaveserver umwandeln, und diese an sich selbst binden.
Bestimmte Benutzer an der Anmeldung hindernNISBenutzer blockierenIn unserem Labor gibt es den Rechner basie,
der nur für Mitarbeiter der Fakultät bestimmt ist.
Wir wollen diesen Rechner nicht aus der NIS-Domäne
entfernen, obwohl passwd des
NIS-Masterservers Benutzerkonten sowohl für
Fakultätsmitarbeiter als auch für Studenten
enthält. Was können wir also tun?Es gibt eine Möglichkeit, bestimmte Benutzer an der
Anmeldung an einem bestimmten Rechner zu hindern, selbst wenn
diese in der NIS-Datenbank vorhanden sind. Dazu müssen
Sie lediglich an diesem Rechner den Eintrag
-Benutzername an
das Ende von /etc/master.passwd setzen,
wobei Benutzername der zu
blockierende Benutzername ist. Diese Änderung sollte
bevorzugt durch vipw erledigt werden, da
vipw Ihre Änderungen an
/etc/master.passwd auf Plausibilität
überprüft und nach erfolgter Änderung die
Passwortdatenbank automatisch aktualisiert. Um also den
Benutzer bill an der Anmeldung am Rechner
basie zu hindern, gehen wir wie folgt vor:
basie&prompt.root; vipw[add -bill to the end, exit]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
+:::::::::
-bill
basie&prompt.root;UdoErdelhoffBeigetragen von Netzgruppen verwendenNetzgruppenDie im letzten Abschnitt beschriebene Methode eignet sich
besonders, wenn Sie spezielle Regeln für wenige
Benutzer oder wenige Rechner benötigen. In großen
Netzwerken werden Sie allerdings
mit Sicherheit vergessen, einige Benutzer
von der Anmeldung an bestimmten Rechnern auszuschließen.
Oder Sie werden gezwungen sein, jeden Rechner einzeln zu
konfigurieren. Dadurch verlieren Sie aber den Hauptvorteil von
NIS, die zentrale Verwaltung.Die Lösung für dieses Problem sind
Netzgruppen. Ihre Aufgabe und Bedeutung
ist vergleichbar mit normalen, von UNIX-Dateisystemen
verwendeten Gruppen. Die Hauptunterschiede sind das Fehlen
einer numerischen ID sowie die Möglichkeit, Netzgruppen
zu definieren, die sowohl Benutzer als auch andere Netzgruppen
enthalten.Netzgruppen wurden entwickelt, um große, komplexe
Netzwerke mit Hunderten Benutzern und Rechnern zu verwalten.
Sie sind also von Vorteil, wenn Sie von dieser Situation
betroffen sind. Andererseits ist es dadurch beinahe
unmöglich, Netzgruppen mit einfachen Beispielen zu
erklären. Das hier verwendete Beispiel veranschaulicht
dieses Problem.Nehmen wir an, dass Ihre erfolgreiche Einführung von
NIS die Aufmerksamkeit Ihrer Vorgesetzten geweckt hat. Ihre
nächste Aufgabe besteht nun darin, Ihre NIS-Domäne
um zusätzliche Rechner zu erweitern. Die folgenden
Tabellen enthalten die neuen Benutzer und Rechner inklusive
einer kurzen Beschreibung.Benutzername(n)Beschreibungalpha,
betaBeschäftigte der IT-Abteilungcharlie,
deltaDie neuen Lehrlinge der IT-Abteilungecho,
foxtrott,
golf, ...Normale Mitarbeiterable,
baker, ...Externe MitarbeiterRechnername(n)Beschreibungwar, death,
famine, pollutionIhre wichtigsten Server. Nur IT-Fachleute
dürfen sich an diesen Rechnern anmelden.pride, greed,
envy, wrath,
lust, slothWeniger wichtige Server. Alle Mitarbeiter der
IT-Abteilung dürfen sich auf diesen Rechnern
anmelden.one, two,
three, four, ...Gewöhnliche Arbeitsrechner. Nur die
wirklichen Mitarbeiter dürfen
diese Rechner verwenden.trashcanEin sehr alter Rechner ohne kritische Daten. Sogar
externe Mitarbeiter dürfen diesen Rechner
verwenden.Wollten Sie diese Einschränkungen umsetzen, indem Sie
jeden Benutzer einzeln blockieren, müssten Sie auf jedem
System für jeden Benutzer eine entsprechende Zeile in
passwd einfügen. Wenn Sie nur einen
Eintrag vergessen, haben Sie ein Problem. Es mag noch angehen,
dies während der ersten Installation zu erledigen, im
täglichen Betrieb werden Sie allerdings
mit Sicherheit einmal vergessen, die
entsprechenden Einträge anzulegen. Vergessen Sie nicht:
Murphy war Optimist.Die Verwendung von Netzgruppen hat in dieser Situation
mehrere Vorteile. Sie müssen nicht jeden Benutzer einzeln
verwalten; weisen Sie stattdessen den Benutzer einer Netzgruppe
zu und erlauben oder verbieten Sie allen Mitglieder dieser
Gruppe die Anmeldung an einem Server. Wenn Sie einen neuen
Rechner hinzufügen, müssen Sie
Zugangsbeschränkungen nur für die Netzgruppen
festlegen. Legen Sie einen neuen Benutzer an, müssen Sie
ihn nur einer oder mehrere Netzgruppen zuweisen. Diese
Veränderungen sind voneinander unabhängig; Anweisungen
der Form für diese Kombination aus Benutzer und
Rechner mache Folgendes ... sind nicht mehr nötig.
Wenn Sie die Einrichtung von NIS sorgfältig geplant haben,
müssen Sie nur noch eine zentrale Konfigurationsdatei
bearbeiten, um den Zugriff auf bestimmte Rechner zu erlauben
oder zu verbieten.Der erste Schritt ist die Initialisierung der NIS-Maps
der Netzgruppe. &man.ypinit.8; kann dies unter FreeBSD nicht
automatisch durchführen. Sind die Maps aber erst einmal
erzeugt, werden sie jedoch von NIS problemlos unterstützt.
Um eine leere Map zu erzeugen, geben Sie Folgendes ein:ellington&prompt.root; vi /var/yp/netgroupDanach legen Sie die Einträge an. Für unser
Beispiel benötigen wir mindestens vier Netzgruppen:
IT-Beschäftige, IT-Lehrlinge, normale Beschäftigte
sowie Externe.IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)Bei IT_EMP, IT_APP
usw. handelt es sich um Netzgruppennamen. In den Klammern
werden diesen Netzgruppen jeweils ein oder mehrere
Benutzerkonten hinzugefügt. Die drei Felder in der
Klammer haben folgende Bedeutung:Der Name des Rechners, auf dem die folgenden Werte
gültig sind. Legen Sie keinen Rechnernamen fest, ist
der Eintrag auf allen Rechnern gültig. Dadurch
gehen Sie vielen Problemen aus dem Weg.Der Name des Benutzerkontos, der zu dieser Netzgruppe
gehört.Die NIS-Domäne für das Benutzerkonto. Sie
können Benutzerkonten von anderen NIS-Domänen in
Ihre Netzgruppe importieren, wenn Sie mehrere
NIS-Domänen verwalten.Jedes Feld kann Wildcards enthalten. Die Einzelheiten
entnehmen Sie bitte &man.netgroup.5;.NetzgruppenNetzgruppennamen sollten nicht länger als 8 Zeichen
sein, vor allem dann, wenn Sie Rechner mit verschiedenen
Betriebssystemen in Ihrer NIS-Domäne haben. Es wird
zwischen Groß- und Kleinschreibung unterschieden.
Die Verwendung von Großbuchstaben für
Netzgruppennamen ermöglicht eine leichte Unterscheidung
zwischen Benutzern, Rechnern und Netzgruppen.Einige NIS-Clients (dies gilt nicht für FreeBSD)
können keine Netzgruppen mit einer großen Anzahl
von Einträgen verwalten. Einige ältere Versionen
von &sunos; haben beispielsweise Probleme, wenn Netzgruppen
mehr als fünfzehn Einträge
enthalten. Sie können dieses Problem umgehen, indem Sie
mehrere Subnetzgruppen mit weniger als fünfzehn Benutzern
anlegen und diese Subnetzgruppen wiederum in einer Netzgruppe
zusammenfassen:BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3Sie können diesen Vorgang wiederholen, wenn Sie mehr
als 255 Benutzer in einer einzigen Netzgruppe benötigen.
Das Aktivieren und Verteilen Ihre neuen NIS-Map ist
einfach:ellington&prompt.root; cd /var/yp
ellington&prompt.root; makeDadurch werden die NIS-Maps netgroup,
netgroup.byhost und
netgroup.byuser erzeugt. Prüfen Sie
die Verfügbarkeit Ihrer neuen NIS-Maps mit &man.ypcat.1;.
ellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuserDie Ausgabe des ersten Befehls gibt den Inhalt von
/var/yp/netgroup wieder. Der zweite Befehl
erzeugt nur dann eine Ausgabe, wenn Sie rechnerspezifische
Netzgruppen erzeugt haben. Der dritte Befehl gibt die
Netzgruppen nach Benutzern sortiert aus.Die Einrichtung der Clients ist einfach. Sie müssen
lediglich auf dem Server war
&man.vipw.8; aufrufen und die Zeile+:::::::::durch+@IT_EMP:::::::::ersetzen.Ab sofort werden nur noch die Daten der in der Netzgruppe
IT_EMP vorhandenen Benutzer in die
Passwortdatenbank von war importiert.
Nur diese Benutzer dürfen sich am Server anmelden.Unglücklicherweise gilt diese Einschränkung auch
für die ~-Funktion der Shell und
für alle Routinen, die auf Benutzernamen und numerische
Benutzer-IDs zugreifen. Oder anders formuliert,
cd ~user ist nicht
möglich, ls -l zeigt die numerische
Benutzer-ID statt dem Benutzernamen und
find . -user joe -print erzeugt die
Fehlermeldung No such user. Um dieses
Problem zu beheben, müssen Sie alle Benutzereinträge
importieren, ohne ihnen jedoch zu erlauben, sich an
Ihrem Server anzumelden.Dazu fügen Sie eine weitere Zeile in
/etc/master.passwd ein. Diese Zeile sollte
ähnlich der folgenden aussehen:+:::::::::/sbin/nologin, was in etwa
Importiere alle Einträge, aber ersetze die Shell in
den importierten Einträgen durch
/sbin/nologin entspricht. Sie
können jedes Feld dieses Eintrages ersetzen, indem Sie
einen Standardwert in /etc/master.passwd
eintragen.Stellen Sie sicher, dass die Zeile
+:::::::::/sbin/nologinnach der Zeile
+@IT_EMP::::::::: eingetragen ist. Sonst
haben alle via NIS importierten Benutzerkonten
/sbin/nologin als Loginshell.Danach müssen Sie nur mehr eine einzige NIS-Map
ändern, wenn ein neuer Mitarbeiter berücksichtigt
werden muss. Für weniger wichtige Server gehen Sie analog
vor, indem Sie den alten Eintrag +:::::::::
in den lokalen Versionen von
/etc/master.passwd durch folgende
Einträge ersetzen:+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologinDie entsprechenden Zeilen für normale Arbeitsplätze
lauten:+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologinAb jetzt wäre alles wunderbar, allerdings ändert
sich kurz darauf die Firmenpolitik: Die IT-Abteilung beginnt
damit, externe Mitarbeiter zu beschäftigen. Externe
dürfen sich an normalen Arbeitsplätzen sowie an den
weniger wichtigen Servern anmelden. Die IT-Lehrlinge
dürfen sich nun auch an den Hauptservern anmelden. Sie
legen also die neue Netzgruppe IT_INTERN an,
weisen Ihr die neuen IT-Externen als Benutzer zu und beginnen
damit, die Konfiguration auf jedem einzelnen Rechner zu
ändern ... Halt. Sie haben gerade die alte Regel
Fehler in der zentralisierten Planung führen zu
globaler Verwirrung. bestätigt.Da NIS in der Lage ist, Netzgruppen aus anderen Netzgruppen
zu bilden, lassen sich solche Situationen leicht vermeiden.
Eine Möglichkeit ist die Erzeugung rollenbasierter
Netzgruppen. Sie könnten eine Netzgruppe
BIGSRV erzeugen, um den Zugang zu
den wichtigsten Servern zu beschränken, eine weitere
Gruppe SMALLSRV für die weniger
wichtigen Server und eine dritte Netzgruppe
USERBOX für die normalen
Arbeitsplatzrechner. Jede dieser Netzgruppen enthält die
Netzgruppen, die sich auf diesen Rechnern anmelden dürfen.
Die Einträge der Netzgruppen in der NIS-Map sollten
ähnlich den folgenden aussehen:BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERSDiese Methode funktioniert besonders gut, wenn Sie
Rechner in Gruppen mit identischen Beschränkungen einteilen
können. Unglücklicherweise ist dies die Ausnahme und
nicht die Regel. Meistens werden Sie die Möglichkeit zur
rechnerspezischen Zugangsbeschränkung benötigen.
Rechnerspezifische Netzgruppen sind die zweite
Möglichkeit, um mit den oben beschriebenen Änderungen
umzugehen. In diesem Szenario enthält
/etc/master.passwd auf jedem Rechner zwei
mit + beginnende Zeilen. Die erste Zeile
legt die Netzgruppe mit den Benutzern fest, die sich auf diesem
Rechner anmelden dürfen. Die zweite Zeile weist allen
anderen Benutzern /sbin/nologin als Shell
zu. Verwenden Sie auch hier (analog zu den Netzgruppen)
Großbuchstaben für die Rechnernamen. Die Zeilen
sollten also ähnlich den folgenden aussehen:+@BOXNAME:::::::::
+:::::::::/sbin/nologinWenn Sie dies für alle Rechner erledigt haben, werden
Sie die lokalen Versionen von
/etc/master.passwd nie mehr verändern
müssen. Alle weiteren Änderungen geschehen über
die NIS-Maps. Nachfolgend ein Beispiel für eine
mögliche Netzgruppen-Map, die durch einige Besonderheiten
erweitert wurde:# Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Now, define some groups based on roles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# And a groups for a special tasks
# Allow echo and golf to access our anti-virus-machine
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# machine-based netgroups
# Our main servers
WAR BIGSRV
FAMINE BIGSRV
# User india needs access to this server
POLLUTION BIGSRV (,india,test-domain)
#
# This one is really important and needs more access restrictions
DEATH IT_EMP
#
# The anti-virus-machine mentioned above
ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
# [...more groups to follow]
Wenn Sie eine Datenbank verwenden, um Ihre Benutzerkonten zu
verwalten, sollten Sie den ersten Teil der NIS-Map mit Ihren
Datenbanktools erstellen können. Auf diese Weise haben
neue Benutzer automatisch Zugriff auf die Rechner.Eine letzte Warnung: Es ist nicht immer ratsam,
rechnerbasierte Netzgruppen zu verwenden. Wenn Sie Dutzende
oder gar Hunderte identische Rechner einrichten müssen,
sollten Sie rollenbasierte Netzgruppen verwenden, um die
Grösse der NISs-Maps in Grenzen zu halten.Weitere wichtige PunkteNachdem Sie Ihre NIS-Umgebung eingerichtet haben,
müssen Sie einige Dinge anders als bisher erledigen.Jedes Mal, wenn Sie einen neuen Benutzer anlegen wollen,
tun Sie dies ausschließlich am
NIS-Masterserver. Außerdem
müssen Sie anschließend die
NIS-Maps neu erzeugen. Wenn Sie diesen Punkt vergessen,
kann sich der neue Benutzer nur am
NIS-Masterserver anmelden. Wenn Sie also den neuen Benutzer
jsmith anlegen, gehen Sie
folgerndermassen vor:&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domainStatt pw useradd jsmith könnten
Sie auch adduser jsmith verwenden.Tragen Sie die Administratorkonten nicht
in die NIS-Maps ein. Administratorkonten und
Passwörter dürfen nicht auf Rechnern verbreitet
werden, auf denen sich Benutzer anmelden können, die
auf diese Konten keine Zugriff haben sollen.Sichern Sie die NIS-Master- und Slaveserver
und minimieren Sie die Ausfallzeiten. Wenn
diese Rechner gehackt oder einfach nur ausgeschaltet werden,
haben viele Leute keinen Netzwerkzugriff mehr.Dies ist die größte Schwäche
jeder zentralen Verwaltung. Wenn Sie Ihre NIS-Server nicht
schützen, werden Sie viele verärgerte Anwender
haben.Kompatibilität zu NIS v1NISKompatibilität zu NIS v1ypserv unterstützt NIS v1
unter FreeBSD nur eingeschränkt. Die NIS-Implementierung
von FreeBSD verwendet nur NIS v2, andere Implementierungen
unterstützen aus Gründen der
Abwärtskompatibilität mit älteren Systemen auch
NIS v1. Die mit diesen Systemen gelieferten
ypbind-Daemonen versuchen, sich an
einen NIS-v1-Server zu binden (Dies selbst dann, wenn sie ihn
nie benötigen. Außerdem versuchen Sie auch dann,
einen v1-Server zu erreichen, wenn Sie zuvor eine Antwort von
einem v2-Server erhalten.). Während normale Clientaufrufe
unter FreeBSD unterstützt werden, sind Anforderungen zum
Transfer von v1-Maps nicht möglich. Daher kann FreeBSD
nicht als Client oder Server verwendet werden, wenn ein
NIS-Server vorhanden ist, der nur NIS v1 unterstützt.
Glücklicherweise sollte es heute keine Server mehr geben,
die nur NIS v1 unterstützen.NIS-Server, die auch als NIS-Clients arbeitenWenn Sie ypserv in einer
Multi-Serverdomäne verwenden, in der NIS-Server
gleichzeitig als NIS-Clients arbeiten, ist es eine gute Idee,
diese Server zu zwingen, sich an sich selbst zu binden. Damit
wird verhindert, dass Bindeanforderungen gesendet werden und
sich die Server gegenseitig binden. Sonst könnten seltsame
Fehler auftreten, wenn ein Server ausfällt, auf den andere
Server angewiesen sind. Letztlich werden alle Clients einen
Timeout melden, und versuchen, sich an andere Server zu binden.
Die dadurch entstehende Verzögerung kann beträchtlich
sein. Außerdem kann der Fehler erneut auftreten, da sich
die Server wiederum aneinander binden könnten.Sie können einen Rechner durch die Verwendung von
ypbind sowie der Option
zwingen, sich an einen bestimmten Server zu binden. Um diesen
Vorgang zu automatisieren, können Sie folgende Zeilen in
/etc/rc.conf einfügen:nis_client_enable="YES" # run client stuff as well
nis_client_flags="-S NIS domain,server"Lesen Sie &man.ypbind.8;, wenn Sie weitere Informationen
benötigen.PasswortformateNISPasswortformateUnterschiedliche Passwortformate sind das Hauptproblem,
das beim Einrichten eines NIS-Servers auftreten kann.
Wenn der NIS-Server mit DES verschlüsselte Passwörter
verwendet, werden nur Clients unterstützt, die ebenfalls
DES benutzen. Wenn sich auf Ihrem Netzwerk beispielsweise
&solaris; NIS-Clients befinden, müssen die Passwörter
mit DES verschlüsselt werden.Welches Format die Server und Clients verwenden,
steht in /etc/login.conf. Wenn ein
System Passwörter mit DES verschlüsselt,
enthält die default-Klasse einen
Eintrag wie den folgenden:default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[weitere Einträge]Mögliche Werte für
passwd_format sind unter anderem
blf und md5 (mit
Blowfish und MD5 verschlüsselte Passwörter).Wenn die Datei /etc/login.conf
geändert wird, muss die Login-Capability Datenbank
neu erstellt werden. Geben Sie dazu als
root den folgenden Befehl ein:&prompt.root; cap_mkdb /etc/login.confDas Format der schon in
/etc/master.passwd befindlichen
Passwörter wird erst aktualisiert, wenn ein Benutzer
sein Passwort ändert, nachdem
die Datenbank neu erstellt wurde.Damit die Passwörter auch im gewählten
Format abgespeichert werden, muss mit
crypt_default in der Datei
/etc/auth.conf die richtige
Priorität der Formate eingestellt werden. Das
gewählte Format sollte als Erstes in der Liste
stehen. Sollen die Passwörter mit DES verschlüsselt
werden, verwenden Sie den folgenden Eintrag:crypt_default = des blf md5Wenn Sie alle &os; NIS-Server und NIS-Clients entsprechend
den obigen Schritten eingestellt haben, wird im ganzen
Netzwerk dasselbe Passwortformat verwendet. Falls Sie
Probleme mit der Authentifizierung eines NIS-Clients
haben, kontrollieren Sie die verwendeten Passwortformate.
In einer heterogenen Umgebung werden Sie DES benutzen
müssen, da dies der meist unterstützte Standard
ist.GregSutterGeschrieben von Automatische Netzwerkkonfiguration mit DHCPWas ist DHCP?Dynamic Host Configuration ProtocolDHCPInternet Software Consortium (ISC)Über DHCP, das Dynamic Host Configuration Protocol,
kann sich ein System mit einem Netzwerk verbinden und die
für die Kommunikation mit diesem Netzwerk nötigen
Informationen beziehen. &os;-Versionen vor 6.0 verwenden
die DHCP-Client-Implementierung (&man.dhclient.8;) von ISC
(Internet Software Consortium). Ab 6.0 wird der von
OpenBSD 3.7 stammende dhclient
zum Einsatz kommen. Die Informationen in diesem Abschnitt
beziehen sich daher sowohl auf den dhclient
von ISC als auch auf den von OpenBSD. Als DHCP-Server wird
in beiden Fällen der DHCP-Server der ISC-Distribution
verwendet.ÜbersichtDieser Abschnitt beschreibt sowohl die Clientseite des
ISC- als auch des OpenBSD-Clients sowie die
Serverseite des DHCP-Systems von ISC. Das Clientprogramm
dhclient ist in FreeBSD integriert, das
Serverprogramm kann über den Port
net/isc-dhcp3-server
installiert werden. Weiter Informationen finden Sie in
&man.dhclient.8;, &man.dhcp-options.5; sowie
&man.dhclient.conf.5;.Wie funktioniert DHCP?UDPDer DHCP-Client dhclient beginnt von
einem Clientrechner aus über den UDP-Port 68
Konfigurationsinformationen anzufordern. Der Server antwortet
auf dem UDP-Port 67, indem er dem Client eine IP-Adresse
zuweist und ihm weitere wichtige Informationen über das
Netzwerk, wie Netzmasken, Router und DNS-Server mitteilt. Diese
Informationen werden als
DHCP-Lease bezeichnet und
sind nur für eine bestimmte Zeit, die vom Administrator des
DHCP-Servers vorgegeben wird, gültig. Dadurch fallen
verwaiste IP-Adressen, deren Clients nicht mehr mit dem Netzwerk
verbunden sind, automatisch an den Server zurück.DHCP-Clients können sehr viele Informationen von einem
DHCP-Server erhalten. Eine ausführliche Liste finden Sie
in &man.dhcp-options.5;.Integration in FreeBSDIn Abhängigkeit von der eingesetzten &os;-Version wird
entweder der ISC-DHCP-Client oder der DHCP-Client von OpenBSD
in FreeBSD integriert. Sowohl während der Installation als
auch im Basissystem steht der DHCP-Client zur Verfügung.
In Netzen mit DHCP-Servern wird dadurch die Konfiguration von
Systemen erheblich vereinfacht. dhclient
ist seit der Version 3.2 in &os; enthalten.sysinstallDHCP wird von sysinstall
unterstützt. Wenn Sie eine Netzwerkkarte mit
sysinstall konfigurieren, lautet
die zweite Frage Do you want to try DHCP configuration
of the interface?. Wenn Sie diese Frage bejahen, wird
dhclient aufgerufen, und die Netzkarte wird
automatisch eingerichtet.Um DHCP beim Systemstart zu aktivieren, müssen Sie zwei
Dinge erledigen:DHCPAnforderungenStellen Sie sicher, dass bpf in
Ihren Kernel kompiliert ist. Dazu fügen Sie die Zeile
device bpf
in Ihre Kernelkonfigurationsdatei ein und erzeugen einen
neuen Kernel. Weitere Informationen zur Kernelkonfiguration
finden Sie in des Handbuchs.
Das Gerät bpf ist im
GENERIC-Kernel bereits enthalten.
Für die Nutzung von DHCP muss also kein angepasster
Kernel erzeugt werden.Wenn Sie um die Sicherheit Ihres Systems besorgt
sind, sollten Sie wissen, dass
bpf auch zur Ausführung
von Paketsniffern erforderlich ist (obwohl diese dennoch
als root ausgeführt werden
müssen). bpfmuss vorhanden sein, damit DHCP
funktioniert. Sind Sie sehr sicherheitsbewusst, sollten
Sie bpf aus Ihrem Kernel
entfernen, wenn Sie DHCP nicht verwenden.Fügen Sie folgende Zeile in
/etc/rc.conf ein:ifconfig_fxp0="DHCP"Ersetzen Sie fxp0 durch den
Eintrag für die Netzkarte, die Sie dynamisch
einrichten wollen. Lesen Sie dazu auch
.Wenn Sie dhclient an einem anderen
Ort installiert haben, oder zusätzliche Flags an
dhclient übergeben wollen,
fügen Sie auch folgende (entsprechend angepasste)
Zeilen ein:dhcp_program="/sbin/dhclient"
dhcp_flags=""DHCPServerDer DHCP-Server dhcpd ist als
Teil des Ports
net/isc-dhcp3-server
verfügbar. Dieser Port enthält die komplette
ISC-DHCP-Distribution, inklusive der Dokumentation.DateienDHCPKonfigurationsdateien/etc/dhclient.confdhclient benötigt die
Konfigurationsdatei /etc/dhclient.conf.
Diese Datei enthält normalerweise nur Kommentare, da
die Vorgabewerte zumeist ausreichend sind. Lesen Sie dazu
auch &man.dhclient.conf.5;./sbin/dhclientdhclient ist statisch gelinkt und
befindet sich in /sbin. Weitere
Informationen finden Sie in &man.dhclient.8;./sbin/dhclient-scriptBei dhclient-script handelt es sich
um das FreeBSD-spezifische Konfigurationsskript des
DHCP-Clients. Es wird in &man.dhclient-script.8;
beschrieben und kann meist unverändert übernommen
werden./var/db/dhclient.leasesDer DHCP-Client verfügt über eine Datenbank,
die alle derzeit gültigen Leases enthält und als
Logdatei erzeugt wird. Weitere Informationen finden Sie in
&man.dhclient.8;.Weitere InformationenDas DHCP-Protokoll wird vollständig im
RFC 2131
beschrieben. Eine weitere, lehrreiche Informationsquelle
existiert unter
.Einen DHCP-Server installieren und einrichtenÜbersichtDieser Abschnitt beschreibt die Einrichtung eines
FreeBSD-Systems als DHCP-Server. Dazu wird die
DHCP-Implementation von ISC (Internet Software Consortium)
verwendet.Der DHCP-Server ist nicht im Basissystem von FreeBSD
enthalten, daher müssen Sie als Erstes den Port
net/isc-dhcp3-server
installieren. Lesen Sie , wenn Sie
weitere Informationen zur Ports-Sammlung benötigen.
Den DHCP-Server installierenDHCPinstallierenStellen Sie sicher, dass &man.bpf.4; in Ihren Kernel
kompiliert ist. Dazu fügen Sie die Zeile
device bpf
Ihre Kernelkonfigurationsdatei ein und erzeugen einen neuen
Kernel. Die Kernelkonfiguration wird in
beschrieben.Das Gerät bpf ist im
GENERIC-Kernel bereits enthalten.
Für die Nutzung von DHCP muss also kein angepasster
Kernel erzeugt werden.Wenn Sie um die Sicherheit Ihres Systems besorgt
sind, sollten Sie wissen, dass
bpf auch zur Ausführung
von Paketsniffern erforderlich ist (obwohl diese dennoch
als root ausgeführt werden
müssen). bpfmuss vorhanden sein, damit DHCP
funktioniert. Sind Sie sehr sicherheitsbewusst, sollten
Sie bpf aus Ihrem Kernel
entfernen, wenn Sie DHCP nicht verwenden.Danach müssen Sie die vom Port
net/isc-dhcp3-server
erzeugte Vorlage für dhcpd.conf
anpassen. Die bei der Installation erzeugte Datei
/usr/local/etc/dhcpd.conf.sample
sollten Sie nach
/usr/local/etc/dhcpd.conf kopieren,
bevor Sie Veränderungen vornehmen.Den DHCP-Server einrichtenDHCPdhcpd.confdhcpd.conf besteht aus Festlegungen
zu Subnetzen und Rechnern und lässt sich am besten an
einem Beispiel erklären:option domain-name "example.com";
option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;
fixed-address mailhost.example.com;
}Diese Option beschreibt die Domäne, die den
Clients als Standardsuchdomäne zugewiesen wird.
Weitere Informationen finden Sie in man.resolv.conf.5;.
Diese Option legt eine, durch Kommata getrennte
Liste von DNS-Servern fest, die von den Clients
verwendet werden sollen.Die den Clients zugewiesene Netzmaske.Ein Client kann eine Lease einer bestimmten Dauer
anfordern. Geschieht dies nicht, weist der Server eine
Lease mit einer vorgegebenen Ablaufdauer (in Sekunden)
zu.Die maximale Zeitdauer, für die der Server
Konfigurationsinformationen vergibt. Sollte ein Client
eine längere Zeitspanne anfordern, wird dennoch
nur der Wert max-lease-time in
Sekunden zugewiesen.Diese Option legt fest, ob der DHCP-Server eine
DNS-Aktualisierung versuchen soll, wenn
Konfigurationsdateien vergeben oder zurückgezogen
werden. In der ISC-Implementation
muss diese Option gesetzt sein.
Dadurch werden die IP-Adressen festgelegt, die den
Clients zugewiesen werden können. IP-Adressen
zwischen diesen Grenzen sowie die einschließenden
Adressen werden den Clients zugewiesen.Legt das Standard-Gateway fest, das den Clients
zugewiesen wird.Die (Hardware-)MAC-Adresse eines Rechners (durch die
der DHCP-Server den Client erkennt, der eine Anforderung
an ihn stellt).Einem Rechner soll immer die gleiche IP-Adresse
zugewiesen werden. Beachten Sie, dass hier auch ein
Rechnername gültig ist, da der DHCP-Server den
Rechnernamen auflöst, bevor er die
Konfigurationsinformationen zuweist.Nachdem Sie dhcpd.conf fertig
konfiguriert haben, sollten Sie den DHCP-Server aktivieren,
indem Sie folgende Zeilen in
/etc/rc.conf aufnehmen:dhcpd_enable="YES"
dhcpd_ifaces="dc0"Dabei müssen Sie den Geräteeintrag
dc0 durch die Gerätedatei (mehrere
Gerätedateien müssen durch Leerzeichen getrennt
werden) ersetzen, die Ihr DHCP-Server auf Anfragen von
DHCP-Clients hin überwachen soll.Danach können Sie den Server durch Eingabe des
folgenden Befehls starten:&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh startSollten Sie die Konfiguration Ihres Servers einmal
verändern müssen, reicht es nicht aus, ein
SIGHUP-Signal an
dhcpd zu senden, weil damit die
Konfiguration nicht erneut geladen wird
(im Gegensatz zu den meisten Daemonen). Sie müssen
den Prozess vielmehr mit dem Signal
SIGTERM stoppen, um ihn
anschließend neu zu starten.DateienServerKonfigurationsdateien/usr/local/sbin/dhcpddhcpd ist statisch
gelinkt und befindet sich in
/usr/local/sbin. Lesen Sie auch die
mit dem Port installierte Hilfeseite &man.dhcpd.8;, wenn
Sie weitere Informationen zu
dhcpd benötigen./usr/local/etc/dhcpd.confdhcpd benötigt die
Konfigurationsdatei
/usr/local/etc/dhcpd.conf, damit
der Server den Clients seine Dienste anbieten kann.
Diese Datei muss alle Informationen enthalten, die an
die Clients weitergegeben werden soll. Außerdem
sind hier Informationen zur Konfiguration des Servers
enthalten. Die mit dem Port installierte Hilfeseite
&man.dhcpd.conf.5; enthält weitere Informationen.
/var/db/dhcpd.leasesDer DHCP-Server hat eine Datenbank, die alle
vergebenen Leases enthält. Diese wird als Logdatei
erzeugt. Weitere Informationen finden Sie in der vom
Port installierten Hilfeseite &man.dhcpd.leases.5;./usr/local/sbin/dhcrelaydhcrelay wird in
komplexen Umgebungen verwendet, in denen ein DHCP-Server
eine Anfrage eines Clients an einen DHCP-Server in einem
separaten Netzwerk weiterleitet. Wenn Sie diese
Funktion benötigen, müssen Sie den Port
net/isc-dhcp3-relay
installieren. Weitere Informationen zu diesem Thema
finden Sie in &man.dhcrelay.8;.ChernLeeBeigetragen von TomRhodesDanielGerzoDNS – Domain Name ServiceÜberblickBINDDNS ist das für die Umwandlung von Rechnernamen in
IP-Adressen zuständige Protokoll. &os; verwendet dazu
BIND (Berkeley Internet Name Domain), die am häufigsten
verwendete Implementierung von DNS).
Eine Anfrage nach www.FreeBSD.org gibt die
IP-Adresse des &os;-Webservers, eine Anfrage
nach ftp.FreeBSD.org die
IP-Adresse des entsprechenden
FTP-Servers zurück. Der umgekehrte Weg
ist ebenso möglich, eine IP-Adresse
kann also auch in ihren Rechnernamen aufgelöst werden. Um
eine DNS-Abfrage durchzuführen, muss auf
dem jeweiligen Rechner kein Nameserver installiert sein.&os; verwendet derzeit in der Voreinstellung
BIND9 als
DNS-Serversoftware. Unsere Installation
bietet Ihnen eine erhöhte Sicherheit, ein neues
Dateisystemlayout sowie eine automatisierte
&man.chroot.8;-Konfiguration.DNSIm Internet wird DNS durch ein komplexes
System von autoritativen Root-Nameservern,
Top Level Domain-Servern (TLD) sowie anderen
kleineren Nameservern verwaltet, die individuelle Rechnerinformationen
speichern und untereinander abgleichen.Derzeit wird BIND vom Internet Software Consortium
() verwaltet.BegriffsbestimmungenUm dieses Dokument besser verstehen zu können,
müssen einige DNS-spezifische
Begriffe genauer definiert werden.ResolverReverse-DNSRoot-ZoneBegriffBedeutungForward-DNSRechnernamen in IP-Adressen
umwandeln.Origin (Ursprung)Die in einer bestimmten Zonendatei beschriebene
Domäne.named, BIND,
NameserverGebräuchliche Namen für das unter &os;
verwendete BIND-Nameserverpaket.ResolverEin Systemprozess, durch den ein Rechner
Zoneninformationen von einem Nameserver anfordert.Reverse-DNSDas Gegenteil von Forward-DNS;
die Umwandlung von IP-Adressen in
RechnernamenRoot-ZoneDer Beginn der Internet-Zonenhierarchie. Alle
Zonen befinden sich innerhalb der Root-Zone. Dies ist
analog zu einem Dateisystem, in dem sich alle Dateien
und Verzeichnisse innerhalb des Wurzelverzeichnisses
befinden.ZoneEine individuelle Domäne, Unterdomäne,
oder ein Teil von DNS, der von der
gleichen Autorität verwaltet wird.ZonenBeispieleEs folgen nun einige Zonenbeispiele:. ist die Root-Zone.org. ist eine Top level Domain
(TLD) innerhalb der Root-Zone.example.org.
ist eine Zone innerhalb der
org.-TLD.1.168.192.in-addr.arpa. ist die Zone mit
allen IP-Adressen des 192.168.1.*-IP-Adressraums.Wie man an diesen Beispielen erkennen kann, befindet sich
der spezifischere Teil eines Rechnernamens auf der linken Seite
der Adresse. example.org.
beschreibt einen Rechner also genauer als org.,
während org. genauer als die Root-Zone
ist. Jeder Teil des Rechnernamens hat Ähnlichkeiten mit
einem Dateisystem, in dem etwa /dev dem
Wurzelverzeichnis untergeordnet ist.Gründe für die Verwendung eines
NameserversEs gibt zwei Arten von Nameservern: Autoritative Nameserver
sowie zwischenspeichernde (cachende) Nameserver.Ein autoritativer Nameserver ist notwendig, wennSie anderen verbindliche
DNS-Auskünfte erteilen wollen.eine Domain, beispielsweise
example.org, registriert
wird, und den zu dieser Domain gehörenden Rechnern
IP-Adressen zugewiesen werden
müssen.ein IP-Adressblock
reverse-DNS-Einträge benötigt,
um IP-Adressen in Rechnernamen
auflösen zu können.ein Backup-Nameserver (auch Slaveserver genannt) oder
ein zweiter Nameserver auf Anfragen antworten soll.Ein cachender Nameserver ist notwendig, weilein lokaler DNS-Server Daten zwischenspeichern und daher
schneller auf Anfragen reagieren kann als ein entfernter
Server.Wird nach www.FreeBSD.org
gesucht, leitet der Resolver diese Anfrage an den Nameserver des
ISPs weiter und nimmt danach das Ergebnis der
Abfrage entgegen. Existiert ein lokaler, zwischenspeichernder
DNS-Server, muss dieser die Anfrage nur einmal
nach außen weitergeben. Für alle weiteren Anfragen
ist dies nicht mehr nötig, da diese Information nun lokal
gespeichert ist.Wie funktioniert DNS?Unter &os; wird der BIND-Daemon als
named bezeichnet.DateiBeschreibungnamedDer BIND-Daemon.&man.rndc.8;Das Steuerprogramm für
named./etc/namedbDas Verzeichnis, in dem sich die Zoneninformationen
für BIND befinden./etc/namedb/named.confDie Konfigurationsdatei für
named.Je nachdem, wie eine Zone auf dem Server konfiguriert wurde,
finden sich die zur Zone gehörendenden Dateien in den
Unterverzeichnissen master, slave, oder dynamic des Verzeichnisses
/etc/namedb. Diese
Dateien enthalten die DNS-Informationen,
die der Nameserver für die Beantwortung von Anfragen
benötigt.BIND startenBINDStartDa BIND automatisch installiert wird, ist die Konfiguration
relativ einfach.In der Voreinstellung wird ein in einer &man.chroot.8;-Umgebung
betriebener named-Server eingerichtet.
Um den Server manuell zu starten, verwenden Sie den folgenden
Befehl:&prompt.root; /etc/rc.d/named forcestartUm den named-Daemon beim
Systemstart automatisch zu starten, fügen Sie folgende
Zeile in /etc/rc.conf ein:named_enable="YES"/etc/namedb/named.conf bietet zahlreiche
Konfigurationsoptionen, die in diesem Dokument nicht alle
beschrieben werden können. Wollen Sie die Startoptionen
von named unter &os; anpassen, sollten
Sie sich die
named_*-Flags in der
Datei /etc/defaults/rc.conf sowie die
Manualpage zu &man.rc.conf.5; näher ansehen. Zusätzliche
Informationen bietet Ihnen auch der Abschnitt des Handbuchs.KonfigurationsdateienBINDKonfigurationsdateienDie Konfigurationsdateien von
named finden sich unter
/etc/namedb und müssen
in der Regel an Ihre Bedürfnisse angepasst werden. Es sei
denn, Sie benötigen nur einen einfachen Resolver. Ein
Großteil der Konfigurationsarbeiten erfolgt dabei in
diesem Verzeichnis.make-localhost verwendenUm eine Master-Zone für den lokalen Rechner zu
erstellen, wechseln Sie in das Verzeichnis
/etc/namedb und
führen dort den folgenden Befehl aus:&prompt.root; sh make-localhostWenn es keine Probleme gab, sollte nun eine neue Datei
im Unterverzeichnis master vorhanden sein. Diese
heißt entweder localhost.rev
(für den lokalen Domain-Namen) oder
localhost-v6.rev (wenn Sie
IPv6 einsetzen). Als
Standardkonfigurationsdatei wird dabei
named.conf verwendet./etc/namedb/named.conf// $FreeBSD$
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works. Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver. To give access to the network, specify
// an IPv6 address, or the keyword "any".
// listen-on-v6 { ::1; };
// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
// forward only;
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the
Internet.
/*
forwarders {
127.0.0.1;
};
*/Um vom Cache Ihres Internetproviders zu profitieren,
können hier forwarders aktiviert
werden. Normalerweise sucht ein Nameserver das Internet
rekursiv ab, bis er die gesuchte Antwort findet. Durch
diese Option wird stets der Nameserver Ihres
Internetproviders zuerst abgefragt, um von dessen
Cache zu profitieren. Wenn es sich um einen schnellen,
viel benutzten Nameserver handelt, kann dies zu einer
Geschwindigkeitssteigerung führen.127.0.0.1 funktioniert
hier nicht. Ändern Sie diese
Adresse in einen Nameserver Ihres Einwahlproviders. /*
* If there is a firewall between you and name servers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND versions 8 and later
* use a pseudo-random unprivileged UDP port by default.
*/
// query-source address * port 53;
};
// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};
// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries. It can be convenient to become
// a slave at least for the zone your own domain is in. Ask
// your network administrator for the IP address of the responsible
// primary.
//
// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
// (This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended.)
//
// Before starting to set up a primary zone, make sure you fully
// understand how DNS and BIND works. There are sometimes
// non-obvious pitfalls. Setting up a slave zone is simpler.
//
// NB: Don't blindly enable the examples below. :-) Use actual names
// and addresses instead.
/* An example master zone
zone "example.net" {
type master;
file "master/example.net";
};
*/
/* An example dynamic zone
key "exampleorgkey" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
type master;
allow-update {
key "exampleorgkey";
};
file "dynamic/example.org";
};
*/
/* Examples of forward and reverse slave zones
zone "example.com" {
type slave;
file "slave/example.com";
masters {
192.168.1.1;
};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "slave/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
};
*/ Hierbei handelt es sich um Slave-Einträge für
eine Reverse- und Forward-DNS-Zone, die in der Datei
named.conf definiert sind.Für jede neue Zone muss ein zusätzlicher Eintrag
in named.conf erstellt werden.Ein einfacher Eintrag für eine Zone
example.org könnte
beispielsweise so aussehen:zone "example.org" {
type master;
file "master/example.org";
}; Die Option legt fest, dass es sich
um eine Master-Zone handelt, deren Zoneninformationen sich in
der Datei /etc/namedb/master/example.org
befinden. Diese Datei wird durch die Option
festgelegt.zone "example.org" {
type slave;
file "slave/example.org";
}; Hier handelt es sich um einen Slaveserver, der seine
Informationen vom Masterserver der betreffenden Zone bezieht
und diese in der angegebenen Datei speichert. Wenn der
Masterserver nicht erreichbar ist, verfügt der
Slaveserver über die transferierten Zoneninformationen
und kann diese an andere Rechner weitergeben.ZonendateienBINDZonendateiDie in der Datei
/etc/namedb/master/example.org definierte
Zonendatei für
example.org könnte
etwa so aussehen:
$TTL 3600 ; 1 hour
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
; DNS Servers
IN NS ns1.example.org.
IN NS ns2.example.org.
; MX Records
IN MX 10 mx.example.org.
IN MX 20 mail.example.org.
IN A 192.168.1.1
; Machine Names
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5
; Aliases
www IN CNAME @Beachten Sie, dass jeder mit einem .
endende Rechnername ein exakter Rechnername ist, während
sich alles ohne einen abschließenden .
auf den Ursprung bezieht. www steht daher
für
www.Ursprung.
In unserer fiktiven Zonendatei ist
example.org. der Ursprung, daher steht
www für
www.example.org.Eine Zonendatei hat folgenden Aufbau:recordname IN recordtype valueDNSEinträgeDie am häufigsten verwendeten DNS-Einträge sind:SOAStart der ZonenautoritätNSEin autoritativer NameserverAEine RechneradresseCNAMEDer kanonische Name eines AliasMXMail ExchangerPTREin (bei Reverse-DNS verwendeter) Domain Name
Pointerexample.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 dayexample.org.Der Name der Domäne und damit der
Ursprung dieser Zonendatei.ns1.example.org.Der primäre/autoritative Nameserver
dieser Zone.admin.example.org.Die für diese Zone verantwortliche
Person. Das Zeichen @ wird dabei
ersetzt (admin@example.org wird also zu
admin.example.org).2006051501Die Seriennummer der Datei. Sie muss
stets inkrementiert werden, wenn die Zonendatei
geändert wird. Viele Administratoren bevorzugen
ein JJJJMMTTRR-Format, um die
Seriennummer festzulegen.
2006051501 steht also für
den 15.05.2006, die beiden letzten Stellen für die
erste Modifikation der Zonendatei an diesem Tag. Die
Seriennummer ist von großer Bedeutung, da
Slaveserver daran eine aktualisierte Zonendatei erkennen
können.
IN NS ns1.example.org.Ein NS-Eintrag. Jeder Nameserver, der für eine Zone
verantwortlich ist, muss über einen solchen Eintrag
verfügen.
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5Der Eintrag A bezieht sich auf
Rechnernamen. ns1.example.org
würde also zu 192.168.1.2
aufgelöst werden.
IN A 192.168.1.1Diese Zeile weist die IP-Adresse
192.168.1.1 dem aktuellen
Ursprung, in unserem Fall also
example.org, zu.
www IN CNAME @Der Eintrag für den kanonischen Namen wird dazu
verwendet, Aliase für einen Rechner zu vergeben. Im
Beispiel ist www ein Alias für den
Master-Rechner localhost.example.org oder
192.168.1.1). Durch die Option
CNAME können Aliasnamen vergeben werden. Ein Rechnername
kann aber auch abwechselnd verschiedenen Rechnern zugewiesen
werden.MX-Eintrag
IN MX 10 mail.example.org.Die Option MX legt fest, welcher Mailserver für
eintreffende Mails der Zone verantwortlich ist.
mail.example.org ist der
Rechnername des Mailservers, der eine Priorität von 10
hat.Es können auch mehrere Mailserver mit verschiedener
Priorität (10, 20, ...) vorhanden sein. Ein Mailserver,
der eine Mail an example.org
verschicken will, verwendet zuerst den MX mit der höchsten
Priorität (das heißt den mit der niedrigsten
Prioritätsnummer), danach den mit der
nächsthöheren Priorität. Und dies solange,
bis die E-Mail zugestellt werden kann.Für (bei Reverse-DNS verwendete)
in-addr.arpa-Zonendateien wird das gleiche
Format verwendet. Der einzige Unterschied besteht in der
Verwendung der Option PTR an Stelle der Optionen A und
CNAME.
$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
4 IN PTR mx.example.org.
5 IN PTR mail.example.org.Durch diese Datei werden den Rechnernamen der fiktiven
Domäne IP-Adressen zugewiesen.Zwischenspeichernde (cachende) NameserverBINDZwischenspeichernde NameserverEin cachender Nameserver ist für keine Zonen
verantwortlich. Er stellt lediglich eigene Anfragen und
speichert deren Ergebnisse ab. Um einen solchen Nameserver
einzurichten, gehen Sie wie gewohnt vor, allerdings definieren
Sie keine Zonen.SicherheitObwohl BIND die am meisten verwendete (und kontrollierte)
Implementierung von DNS darstellt, werden dennoch manchmal neue
Sicherheitsprobleme entdeckt.Zwar startet &os; named
automatisch in einer &man.chroot.8;-Umgebung, es gibt aber
noch weitere Sicherheitsmechanismen, mit denen Sie potentielle
DNS-Serviceattacken erschweren
können.Es ist daher eine gute Idee, die Sicherheitshinweise von
CERT zu lesen sowie
die Mailingliste &a.security-notifications; zu abonnieren, um
sich über Sicherheitsprobleme im Zusammenhang mit dem
Internet und FreeBSD zu informieren.Tritt ein Problem auf, kann es nie schaden, die
Quellen zu aktualisieren und named
neu zu kompilieren.Weitere InformationsquellenHilfeseiten zu BIND/named:
&man.rndc.8;, &man.named.8;, &man.named.conf.5;Offizielle ISC-Seite
zu BINDOffizielles Forum zu
ISC- BIND
BIND FAQsO'Reilly
DNS and BIND 5th EditionRFC1034
- Domain Names - Concepts and FacilitiesRFC1035
- Domain Names - Implementation and SpecificationMurrayStokelyBeigetragen von Der Apache HTTP-ServerWebserverkonfigurierenApacheÜberblickEinige der weltgrößten Internetauftritte laufen
unter &os;. Die Mehrzahl der Webserver im Internet nutzt
den Apache HTTP-Server. Die
Installationspakete für den
Apache sollten auf Ihrem
Installationsmedium vorhanden sein. Wenn Sie den
Apache noch nicht installiert haben,
können Sie dies jederzeit über den Port
www/apache13 oder
www/apache20 nachholen.Nachdem der Apache erfolgreich
installiert wurde, muss er noch konfiguriert werden.Dieser Abschnitt beschreibt die Version 1.3.X des
Apache HTTP-Servers, da diese Version
unter &os; am häufigsten verwendet wird.
Apache 2.X bringt zwar viele
Verbesserungen mit sich, wird hier aber nicht beschrieben.
Sollten Sie an Apache 2.X
interessiert sein, informieren Sie sich bitte auf
.KonfigurationApacheKonfigurationsdateiDer Apache HTTP-Server wird unter
&os; primär über die Datei
/usr/local/etc/apache/httpd.conf
konfiguriert. Bei dieser Datei handelt es sich um eine typische
&unix;-Konfigurationsdatei, in der Kommentarzeilen mit einem
#-Zeichen beginnen. Eine komplette
Beschreibung aller Optionen würde den Rahmen dieses
Handbuchs sprengen, daher beschreiben wir hier nur die am
häufigsten verwendeten Optionen.ServerRoot "/usr/local"Legt das Standardwurzelverzeichnis für die
Apache-Installation fest.
Binärdateien werden in die Verzeichnisse
bin und
sbin unterhalb des
Serverwurzelverzeichnisses installiert, während sich
Konfigurationsdateien im Verzeichnis
etc/apache
befinden.ServerAdmin you@your.addressDie E-Mail-Adresse, an die Mitteilungen über
Serverprobleme geschickt werden sollen. Diese Adresse
erscheint auf vom Server erzeugten Seiten, beispielsweise
auf Fehlerseiten.ServerName www.example.comÜber die Option ServerName
können Sie einen Rechnernamen festlegen, den Ihr
Server an die Clients sendet, wenn sich dieser von
tatsächlichen Rechnernamen unterscheidet (sie
könnten etwa www statt des richtigen
Rechnernamens verwenden).DocumentRoot "/usr/local/www/data"DocumentRoot: Das Verzeichnis, in
dem Sie Ihre Dokumente ablegen. In der Voreinstellung
befinden sich alle Seiten in diesem Verzeichnis, durch
symbolische Links oder Aliase lassen sich aber auch andere
Orte festlegen.Es ist empfehlenswert, eine Sicherungskopie Ihrer
Konfigurationsdatei anzulegen, bevor Sie Änderungen
durchführen. Nachdem Sie die Konfiguration beendet
haben, können Sie den
Apache starten.Den Apache betreibenApacheStarten oder BeendenDer Apache wird, im Gegensatz zu
vielen anderen Netzwerkservern, nicht vom
inetd-Super-Server verwaltet, sondern
wird als eigenständiger Server betrieben, um die
Leistung für eintreffende HTTP-Anfragen von den Clients
(also von Internetbrowsern) zu verbessern. Gestartet, beendet
oder neu gestartet wird der Server über einen
Shellskript-Wrapper. Um den Apache
erstmals zu starten, geben Sie einfach Folgendes ein:&prompt.root; /usr/local/sbin/apachectl startWenn Sie den Server beenden wollen, geben Sie Folgendes ein:&prompt.root; /usr/local/sbin/apachectl stopWenn Sie die Konfigurationsdatei verändern, müssen
Sie den Server neu starten:&prompt.root; /usr/local/sbin/apachectl restartUm den Apache ohne den Abbruch
bestehender Verbindungen neu zu starten, geben Sie Folgendes
ein:&prompt.root; /usr/local/sbin/apachectl gracefulDiese und weitere Optionen werden in
&man.apachectl.8; beschrieben.Um den Apache beim Systemstart
zu starten, fügen Sie folgende Zeile in
/etc/rc.conf ein:apache_enable="YES"Wenn Sie während des Systemstarts weitere Parameter an
den
Apache-httpd-Daemon
übergeben wollen, können Sie diese durch eine
zusätzliche Zeile in rc.conf
angeben:apache_flags=""Nachdem der Webserver gestartet ist, können Sie sich
Ihre Internetseite ansehen, indem Sie in Ihren Browser die
Adresse http://localhost/ eingeben. Die
vordefinierte Standardstartseite ist
/usr/local/www/data/index.html.Virtual HostingDer Apache unterstützt zwei
Formen des Virtual Hostings. Die
erste Möglichkeit bezeichnet man als namenbasiertes
virtuelles Hosting. Dabei wird der HTTP/1.1-Header der Clients
dazu verwendet, den Rechnernamen zu bestimmen. Dadurch wird es
möglich, mehrere Domains unter der gleichen IP-Adresse zu
betreiben.Damit der Apache namenbasierte
virtuelle Domains verwalten kann, fügen Sie die folgende
Zeile in httpd.conf ein:NameVirtualHost *Wenn Ihr Webserver
www.domain.tld heißt und Sie die
virtuelle Domain
www.someotherdomain.tld einrichten
wollen, ergänzen Sie httpd.conf um
folgende Einträge:<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
</VirtualHost>
<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>Ersetzen Sie dabei die Adressen sowie den Pfad zu den
Dokumenten durch Ihre eigenen Einstellungen.Ausführliche Informationen zum Einrichten von
virtuellen Domains finden Sie in der offiziellen
Apache-Dokumentation unter
.Häufig verwendete Apache-ModuleApacheModuleEs gibt viele verschiedene
Apache-Module, die den Server
um zusätzliche Funktionen erweitern. Die
FreeBSD-Ports-Sammlung ermöglicht es Ihnen, den
Apache gemeinsam mit einigen der
beliebtesten Zusatzmodule zu installieren.mod_sslWebserverVerschlüsselungSSLVerschlüsselungDas Modul mod_ssl verwendet die
OpenSSL-Bibliothek, um, unter Nutzung der Protokolle Secure
Sockets Layer (SSL v2/v3) sowie Transport Layer Security
(TLS v1) starke Verschlüsselung zu ermöglichen.
Durch dieses Modul können Sie ein signiertes Zertifikat
von einer Zertifizierungsstelle anfordern, damit Sie einen
sicheren Webserver unter &os; betreiben können.Wenn Sie den Apache 1.3.X noch
nicht installiert haben, können Sie über den
Port www/apache13-modssl eine
Apache-Version installieren, in die
mod_ssl als Modul einkompiliert
wurde. Bevorzugen Sie den
Apache 2.X, installieren Sie
stattdessen den Port
www/apache20, bei dem die
SSL-Unterstützung bereits in der Voreinstellung aktiviert
ist.Dynamische Webseiten mit Perl & PHPIn den vergangenen Jahren haben immer mehr Unternehmen
das Internet als Mittel für die Steigerung ihrer
Einnahmen sowie für die Erhöhung ihrer Reichweite
entdeckt. Dadurch stieg auch die Nachfrage nach interaktiven
Internetinhalten. Neben einigen Unternehmen, darunter
µsoft;, die dafür proprietäre Produkte
entwickelt haben, hat auch die Open Source Community auf
diesen Umstand reagiert und unter anderem mit
mod_perl und
mod_php Möglichkeiten zur
Generierung dynamischer Internetseiten geschaffen.mod_perlmod_perlPerlDie Kombination Apache/Perl
vereinigt die Vorteile der Programmiersprache Perl und des
Apache HTTP-Servers. Durch
das Modul mod_perl ist es
möglich, vollständig in Perl geschriebene
Apache-Module zu erzeugen.
Da der Perl-Interpreter in den Server eingebettet wird,
müssen Sie weder einen externen Interpreter noch
Perl zusätzlich aufrufen.mod_perl ist in verschiedenen
Versionen erhältlich. Bevor Sie
mod_perl einsetzen,denken Sie
bitte daran, dass mod_perl 1.0
nur mit Apache 1.3 und
mod_perl 2.0 nur mit
Apache 2 zusammenarbeitet.
mod_perl 1.0 kann über
den Port www/mod_perl,
eine statisch kompilierte Version hingegen über den
Port www/apache13-modperl
installiert werden. Für die Installation von
mod_perl 2.0 schließlich
verwenden Sie den Port www/mod_perl2.TomRhodesGeschrieben von mod_phpmod_phpPHPBei PHP, dem Hypertext Preprocessor,
handelt es sich um eine vielseitig verwendbare Skriptsprache,
die besonders für die Internetprogrammierung geeignet
ist. PHP kann in HTML eingebettet werden
und ähnelt von der Syntax her Sprachen wie C, &java; und
Perl. Das Hauptanliegen von PHP ist es, Internetprogrammierern
die rasche Erstellung von dynamisch erzeugten Internetseiten zu
ermöglichen.Damit Ihr System PHP5 unterstützt,
müssen Sie als Erstes den Apache
Webserver über den Port
lang/php5
installieren.Wenn Sie den Port lang/php5
das erste Mal installieren, werden die verfügbaren Optionen
(OPTIONS) automatisch angezeigt. Erscheint das
Konfigurationsmenü bei Ihnen nicht, so liegt dies daran,
dass Sie den Port lang/php5
schon einmal auf Ihrem System installiert hatten. Es ist aber
jederzeit möglich, dieses Menü aus dem
Ports-Verzeichnis heraus über folgenden Befehl erneut
aufzurufen:&prompt.root; make configIn diesem Konfigurationsmenü müssen Sie die
Option APACHE auswählen, damit
mod_php5 als ein vom
Apache-Webserver ladbares Modul
gebaut wird.Viele Seiten verwenden nach wie vor (beispielsweise wegen
der benötigten Kompatibilität zu bereits
vorhandenen Web-Applikationen) PHP4.
Ist dies bei Ihnen der Fall, so müssen Sie statt
mod_php5mod_php4 über den Port
lang/php4 installieren.
Der Port lang/php4
unterstützt viele der Konfigurations- und
Laufzeitoptionen von lang/php5.Dieser Port installiert und konfiguriert die Module, die
für die Unterstützung von dynamischen
PHP-Anwendungen benötigt werden.
Stellen Sie danach sicher, dass Ihre
/usr/local/etc/apache/httpd.conf die
folgenden Abschnitte enthält:LoadModule php5_module libexec/apache/libphp5.soAddModule mod_php5.c
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>Nachdem dies erledigt ist, rufen Sie
apachectl auf, um das
PHP-Modul zu laden:&prompt.root; apachectl gracefulBei künftigen Upgrades von PHP
wird make config nicht mehr benötigt,
da die von Ihnen ursprünglich ausgewählten
Optionen (OPTIONS) vom
&os;-Ports-Framework automatisch gespeichert werden.Die PHP-Unterstützung von &os; ist
stark modular aufgebaut, daher verfügt eine
Basisinstallation nur über wenige Funktionen. Eine
Erweiterung um zusätzliche Funktionen ist allerdings sehr
einfach über den Port lang/php5-extensions möglich.
Der Port bietet Ihnen ein Auswahlmenü, über das Sie
verschiedene PHP-Erweiterungen installieren
können. Alternativ können Sie einzelne Erweiterungen
aber weiterhin direkt über den jeweiligen Port
installieren.Um beispielsweise die Unterstützung des
Datenbankservers MySQL in
PHP5 zu aktivieren, installieren Sie
den Port databases/php5-mysql.Nachdem Sie eine Erweiterung installiert haben,
müssen Sie den
Apache-Server neu starten, damit
die Erweiterung auch erkannt wird:&prompt.root; apachectl gracefulAb nun wird MySQL von
PHP unterstützt.MurrayStokelyBeigetragen von FTP – File Transfer ProtocolFTP-ServerÜberblickDas File Transfer Protocol (FTP) ermöglicht
auf einfache Art und Weise den Dateiaustausch mit einem
FTP-Server.
Der
FTP-Server
ftpd ist bei &os; bereits im
Basisystem enthalten. Daher sind Konfiguration und Betrieb
eines
FTP-Servers
unter FreeBSD relativ einfach.KonfigurationDer wichtigste Punkt ist hier die Entscheidung darüber,
welche Benutzer auf Ihren FTP-Server zugreifen dürfen.
Ein FreeBSD-System verfügt über diverse
Systembenutzerkonten, um einzelnen Daemonen den Zugriff auf
das System zu ermöglichen. Anonyme Benutzer sollten sich
allerdings nicht über diese Benutzerkonten anmelden
dürfen. Die Datei /etc/ftpusers
enthält alle Benutzer, die vom FTP-Zugriff ausgeschlossen
sind. In der Voreinstellung gilt dies auch die gerade
erwähnten Systembenutzerkonten. Sie können über
diese Datei weitere Benutzer vom FTP-Zugriff
ausschließen.Sie können den Zugriff für einige Benutzer
einschränken, ohne FTP komplett zu verbieten. Dazu
passen Sie /etc/ftpchroot entsprechend an.
Diese Datei enthält Benutzer und Gruppen sowie die für
sie geltenden FTP-Einschränkungen und wird in
&man.ftpchroot.5; ausführlich beschrieben.FTPanonymousWenn Sie einen anonymen FTP-Zugriff auf Ihren Server
ermöglichen wollen, müssen Sie den Benutzer
ftp auf Ihrem &os;-System anlegen.
Danach können sich Benutzer mit dem Benutzernamen
ftp oder anonymous
auf Ihrem FTP-Server anmelden. Das Passwort ist dabei
beliebig (allerdings wird dazu in der Regel eine E-Mail-Adresse
verwendet). Meldet sich ein anonymer Benutzer an, aktiviert
der FTP-Server &man.chroot.2;, um den Zugriff auf das
Heimatverzeichnis des Benutzers ftp
zu beschränken.Es gibt zwei Textdateien, deren Inhalt Sie bei der Anmeldung
an Ihrem FTP-Server anzeigen lassen können. Der Inhalt von
/etc/ftpwelcome wird angezeigt, bevor der
Login-Prompt erscheint. Nach einer erfolgreichen Anmeldung wird
der Inhalt von /etc/ftpmotd angezeigt.
Beachten Sie aber, dass es dabei um einen Pfad relativ zur
Umgebung des anzumeldenden Benutzers handelt. Bei einer
anonymen Anmeldung würde also die Datei
~ftp/etc/ftpmotd angezeigt.Nachdem Sie den FTP-Server konfiguriert haben, müssen
Sie Ihn in /etc/inetd.conf aktivieren.
Dazu müssen Sie lediglich das Kommentarsymbol
# am Beginn der bereits vorhandenen
ftpd-Zeile entfernen:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lNachdem Sie diese Änderung durchgeführt haben,
müssen Sie, wie in
beschrieben, die inetd-Konfiguration
neu einlesen.Danach können Sie sich auf Ihrem FTP-Server anmelden:&prompt.user; ftp localhostWartungsyslogLogdateienFTPDer ftpd-Daemon verwendet
&man.syslog.3;, um Protokolldateien zu erstellen. In der
Voreinstellung werden alle FTP betreffenden Nachrichten
in die Datei /var/log/xferlog
geschrieben. Dies lässt sich aber durch das Einfügen
der folgenden Zeile in /etc/syslog.conf
ändern:ftp.info /var/log/xferlogFTPanonymousBeachten Sie, dass mit dem Betrieb eines anonymen
FTP-Servers verschiedene Sicherheitsrisiken verbunden sind.
Problematisch ist hier vor allem die Erlaubnis zum anonymen
Upload von Dateien. Dadurch könnte Ihr Server zur
Verbreitung von illegaler oder nicht lizensierter Software
oder noch Schlimmeren missbraucht werden. Wollen Sie
anonyme Uploads dennoch erlauben, sollten Sie die
Zugriffsrechte so setzen, dass solche Dateien erst nach Ihrer
Zustimmung von anderen Benutzern heruntergeladen werden
können.MurrayStokelyBeigetragen von Mit Samba einen Datei- und Druckserver für
µsoft.windows;-Clients einrichtenSamba-ServerMicrosoft WindowsDateiserverWindows-ClientsDruckserverWindows-ClientsÜberblickSamba ist ein beliebtes
Open Source-Softwarepaket, das es Ihnen ermöglicht,
einen Datei- und Druckserver für
µsoft.windows;-Clients einzurichten. Clients können
sich dadurch mit einem FreeBSD-System verbinden und dessen
Speicherplatz oder dessen Drucker verwenden. Dies genauso, als
wenn es sich um lokale Drucker oder Festplatten handeln
würde.Samba sollte als Softwarepaket
auf Ihren Installationsmedien vorhanden sein. Wenn Sie
Samba noch nicht installiert haben,
können Sie dies jederzeit über den Port oder das
Paket net/samba3
nachholen.KonfigurationDie Standardkonfigurationsdatei von
Samba heißt
/usr/local/share/examples/smb.conf.default.
Diese Datei muss nach /usr/local/etc/smb.conf
kopiert und angepasst werden, bevor
Samba verwendet werden kann.Die Datei smb.conf enthält
Laufzeitinformationen für
Samba, beispielsweise
Druckerdefinitionen oder
filesystem shares, also Bereiche
des Dateisystems, die Sie mit &windows;-Clients teilen wollen.
Die Konfiguration der Datei smb.conf
erfolgt webbasiert über das im
Samba-Paket enthaltene Programm
swat.Das Samba Web Administration Tool (SWAT) verwendenDas
Samba Web Administration Tool
(SWAT) wird als Daemon von inetd
aktiviert. Daher müssen Sie den Kommentar vor der
folgenden Zeile in /etc/inetd.conf
entfernen, bevor Sie swat zur
Konfiguration von Samba verwenden
können:
- swat stream tcp nowait/400 root /usr/local/sbin/swat
+ swat stream tcp nowait/400 root /usr/local/sbin/swat swatWie bereits in
beschrieben, müssen Sie die
inetd-Konfiguration neu einlesen,
nachdem Sie diese Änderung durchgeführt haben.Nachdem swat in der Datei
inetd.conf aktiviert wurde, rufen Sie
in Ihrem Internetbrowser die Adresse
auf und melden sich
mit dem root-Benutzerkonto an.Nachdem Sie sich erfolgreich angemeldet haben, wird die
Hauptkonfigurationseite von Samba
geladen. Sie können nun die Dokumentation lesen, oder
durch einen Klick auf die
Globals-Karteikarte mit der Konfiguration
beginnen. Die Einstellungen, die Sie hier vornehmen
können, entsprechen denen des Abschnitts
[global] von
/usr/local/etc/smb.conf.Globale EinstellungenUnabhängig davon, ob Sie
swat verwenden, oder
/usr/local/etc/smb.conf direkt
editieren, sollten Sie zuerst folgende Einstellungen
anpassen:workgroupDer NT-Domänenname oder der Arbeitsgruppenname der
Rechner, die auf den Server Zugriff haben sollen.netbios nameNetBIOSLegt den NetBIOS-Namen fest, unter dem der
Samba-Server bekannt ist.
In der Regel handelt es sich dabei um den ersten
Teil des DNS-Namens des Servers.server stringLegt die Beschreibung fest, die angezeigt werden
soll, wenn mit net view oder
über andere Netzwerkprogramme Informationen
über den Server angefordert werden.Samba absichernZwei der wichtigsten Einstellungen in
/usr/local/etc/smb.conf betreffen
das zu verwendende Sicherheitsmodell sowie das
Backend-Passwortformat für die Benutzer der
Samba-Clients. Folgende Optionen sind dafür
verantwortlich:securityDie häufigsten Optionen sind
security = share und
security = user. Wenn Ihre Clients
Benutzernamen verwenden, die den Benutzernamen auf Ihrem
&os;-Rechner entsprechen, dann sollten Sie die
Einstellung user level
verwenden. Dies ist auch die Standardeinstellung.
Allerdings ist es dazu erforderlich, dass sich die
Clients auf Ihrem Rechner anmelden, bevor sie auf
gemeinsame Ressourcen zugreifen können.In der Einstellung
share level müssen
sich Clients nicht unter Verwendung eines gültigen
Logins auf Ihrem Rechner anmelden, bevor sie auf
gemeinsame Ressourcen zugreifen können. In
früheren Samba-Versionen
war dies die Standardeinstellung.passdb backendNIS+LDAPSQL databaseSamba erlaubt
verschiedene Backend-Authentifizierungsmodelle. Sie
können Clients durch LDAP, NIS+, eine SQL-Datenbank
oder eine Passwortdatei authentifizieren. In der
Voreinstellung wird smbpasswd
verwendet. Diese Methode wird im folgenden Abschnitt
näher beschrieben.Wenn Sie smbpasswd verwenden, müssen
Sie die Datei /usr/local/private/smbpasswd
erzeugen, damit Samba in der Lage
ist, Clients zu authentifizieren. Wenn Sie auf Ihrem
&unix;-Rechner vorhandenen Benutzern den Zugriff von einem
&windows;-Client aus ermöglichen wollen, verwenden Sie den
folgenden Befehl:&prompt.root; smbpasswd -a usernameAusführliche Informationen zur Konfiguration
von Samba finden Sie im
Official Samba HOWTO. Sie sollten aber bereits
nach dem Lesen dieses Abschnitts in der Lage sein,
Samba zu starten.Samba startenDer Port net/samba3
legt ein neues Startskript an, mit dem
Samba gesteuert (also etwa
gestartet oder beendet) werden kann. Um dieses Skript
zu aktivieren, fügen Sie folgende Zeile in
/etc/rc.conf ein:samba_enable="YES"Alternativ können Sie auch die folgenden
beiden Einträge verwenden:nmbd_enable="YES"smbd_enable="YES"Durch diese Einträge
Samba beim Systemstart
automatisch aktiviert.Danach können Sie Samba
jederzeit durch folgenden Befehl starten:&prompt.root; /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.Weitere Informationen zu den rc-Startskripten finden
Sie im des Handbuchs.Samba verwendet drei Daemonen.
Beachten Sie, dass sowohl nmbd als
auch smbd durch das Skript
samba gestartet werden. Wenn Sie die
winbind name resolution services
in smb.conf aktiviert haben, wird
zusätzlich der winbindd-Daemon
gestartet.Sie können Samba jederzeit
durch den folgenden Befehl beenden:&prompt.root; /usr/local/etc/rc.d/samba stopSamba ist ein komplexes
Softwarepaket mit umfassenden Funktionen, die eine weitreichende
Integration von µsoft.windows;-Netzwerken ermöglichen.
Für eine Beschreibung dieser Zusatzfunktionen sollten Sie
sich auf umsehen.TomHukinsBeigetragen von Die Uhrzeit mit NTP synchronisierenNTPÜberblickDa die interne Uhrzeit eines Computers nie ganz exakt ist,
wurde mit NTP
(Network Time Protocol) eine
Möglichkeit geschaffen, die exakte Uhrzeit zu ermitteln
und festzulegen.Viele Internetdienste sind von einer exakten Uhrzeit
abhängig. Ein Webserver könnte beispielsweise die
Anforderung erhalten, eine Datei zu versenden, wenn sich diese
in einer bestimmten Zeitspanne geändert hat. In einem
lokalen Netzwerk ist es unbedingt notwendig, dass Rechner, die
Dateien von einem gemeinsamen Dateiserver beziehen, ihre
Uhrzeit synchronisieren, damit die Zeitstempel der Dateien
konstistent bleiben. Dienste wie &man.cron.8; führen
Befehle zu einem bestimmten Zeitpunkt aus. Ist die Uhrzeit
nicht korrekt, kann dies zu Problemen führen.NTPntpd&os; verwendet den &man.ntpd.8;-
NTP-Server,
um die genaue Uhrzeit von anderen
NTP-Servern
abzufragen, die eigene Systemzeit zu setzen, oder um diese
anderen Rechnern anzubieten.Einen passenden NTP-Server auswählenNTPServerwahlUm die Uhrzeit zu synchronisieren, müssen Sie sich mit
einem
NTP-Server
verbinden. Ihr Netzwerkadministrator oder Ihr Internetprovider
haben vielleicht schon einen NTP-Server eingerichtet. Lesen Sie
deren Dokumentation, um dies zu überprüfen. Es gibt
im Internet eine
Liste mit frei zugänglichen NTP-Servern, aus der
Sie sich einen in Ihrer Nähe gelegenen Server
auswählen können. Beachten Sie aber auf jeden Fall
die Nutzungsbedingungen des entsprechenden Servers, und fragen
Sie um Erlaubnis, wenn dies nötig ist.Die Auswahl von mehreren NTP-Servern kann sinnvoll sein,
wenn ein Server ausfällt oder falsche Zeiten liefert.
&man.ntpd.8; verwendet die Antworten anderer Server, um
zuverlässige Server zu bestimmen, die dann bevorzugt
abgefragt werden.NTP unter &os; einrichtenNTPKonfigurationNTP aktivierenntpdateWenn Sie Ihre Uhrzeit nur beim Systemstart
synchronisieren wollen, können Sie &man.ntpdate.8;
verwenden. Für Desktoprechner, die regelmäßig
neu gestartet werden und keine ständige Synchronisation
benötigen, ist dies akzeptabel. In allen anderen
Fällen sollten Sie jedoch &man.ntpd.8; verwenden.Die Ausführung von &man.ntpdate.8; während des
Systemstarts ist aber auch für Rechner, die &man.ntpd.8;
verwenden, sinnvoll. &man.ntpd.8; passt die Systemzeit nur
bei größeren Abweichungen an, während
&man.ntpdate.8; die Zeit immer synchronisiert, egal wie
groß die Differenz zwischen Systemzeit und korrekter
Zeit ist.Um &man.ntpdate.8; beim Systemstart zu aktivieren,
fügen Sie den Eintrag
ntpdate_enable="YES" in
/etc/rc.conf ein. Außerdem müssen
Sie alle Server, mit denen Sie sich synchronisieren wollen,
sowie alle an &man.ntpdate.8; zu übergebenden Optionen
in den ntpdate_flags angeben.NTPntp.confNTP einrichtenDie Konfiguration von NTP erfolgt über die Datei
/etc/ntp.conf, und wird in der
Hilfeseite &man.ntp.conf.5; beschrieben. Dazu ein
einfaches Beispiel:server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.driftDie Option server legt die zu
verwendenden Server fest, wobei jeder Server in einer eigenen
Zeile steht. Wenn ein Server mit der Option
prefer versehen ist, wie dies hier bei
ntplocal.example.com der Fall
ist, wird dieser Server bevorzugt verwendet. Eine Antwort von
einem bevorzugten Server wird nur dann verworfen, wenn sie
signifikant von denen anderer Server abweicht, ansonsten wird
sie ohne Abfrage weiterer Server verwendet. Die Option
prefer wird gewöhnlich nur für
sehr zuverlässige und genaue Server verwendet, die
über spezielle Hardware zur Zeitüberwachung
verfügen.Die Option driftfile legt fest, in
welcher Datei die Abweichungen der Systemuhr protokolliert
werden. &man.ntpd.8; verwendet diese Datei, um die Systemzeit
automatisch anzupassen, selbst wenn kurzzeitig kein NTP-Server
zur Synchronisation verfügbar ist.Weiterhin legt die Option driftfile fest,
wo Informationen über frühere Antworten des von
Ihnen verwendeten NTP-Servers gespeichert werden sollen.
Diese Datei enthält NTP-interne Informationen, sie sollte
daher von anderen Prozessen nicht verändert werden.Den Zugang zu Ihrem NTP-Server beschränkenIn der Voreinstellung ist Ihr NTP-Server für alle
Rechner im Internet erreichbar. Über die Option
restrict in der Datei
/etc/ntp.conf können Sie den
Zugang zu Ihrem Server beschränken.Wenn Sie alle Rechner vom Zugriff auf Ihren NTP-Server
ausschließen wollen, fügen Sie folgende Zeile in
/etc/ntp.conf ein:restrict default ignoreDurch diesen Eintrag verhindern Sie den Zugriff Ihres
Servers auf alle auf Ihrem System konfigurierten Server.
Müssen Sie Ihren NTP-Server mit einem externen
NTP-Server synchronisieren, müssen Sie dies daher
dezidiert zulassen. Lesen Sie in diesem Fall die
Manualpage &man.ntp.conf.5;.Wenn Sie nur Rechnern Ihres eigenen Netzwerks die
Synchronisation mit Ihrem NTP-Server erlauben, gleichzeitig
aber verhindern wollen, dass diese den NTP-Server
konfigurieren oder als Server für andere Rechner dienen
können, fügen Sie folgende Zeile ein:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrapBei 192.168.1.0 handelt es
sich um einen Rechner Ihres Netzwerks.
255.255.255.0 ist die
Netzmaske Ihres Netzwerks./etc/ntp.conf kann verschiedene
restrict-Optionen enthalten.
Weiteres erfahren Sie im Abschnitt
Access Control Support der
Hilfeseite &man.ntp.conf.5;.Den NTP-Server startenDamit der NTP-Server beim Systemstart automatisch gestartet
wird, fügen Sie den Eintrag
ntpd_enable="YES" in
/etc/rc.conf ein. Wenn Sie weitere
Argumente an &man.ntpd.8; übergeben wollen, passen Sie
die Option ntpd_flags in der Datei
/etc/rc.conf entsprechend an.Um den NTP-Server ohne einen Systemneustart zu starten,
rufen Sie ntpd mit den unter
ntpd_flags in
/etc/rc.conf festgelegten Parametern auf.
Hierzu ein Beispiel:&prompt.root; ntpd -p /var/run/ntpd.pidntpd mit einer Einwahlverbindung verwenden&man.ntpd.8; benötigt keine ständige
Internetverbindung. Wenn Sie sich ins Internet einwählen,
ist es sinnvoll, zu verhindern, dass NTP-Verkehr eine Verbindung
aufbauen oder aufrechterhalten kann. Wenn Sie user-PPP
verwenden, können Sie dies in den
filter-Direktiven von
/etc/ppp/ppp.conf festlegen. Sehen Sie
sich dazu das folgende Beispiel ein:set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0Weitere Informationen finden Sie im Abschnitt
PACKET FILTERING von &man.ppp.8; sowie in den
Beispielen unter /usr/share/examples/ppp/.Einige Internetprovider blockieren Ports mit niedrigen
Nummern. In solchen Fällen funktioniert NTP leider
nicht, da Antworten eines NTP-Servers Ihren Rechner nicht
erreichen werden.Weitere InformationenWeiterführende Dokumentation (im HTML-Format)
zum NTP-Server finden Sie unter
/usr/share/doc/ntp/.