diff --git a/de_DE.ISO8859-1/articles/linux-comparison/article.sgml b/de_DE.ISO8859-1/articles/linux-comparison/article.sgml
index ce620be548..54529a03e3 100644
--- a/de_DE.ISO8859-1/articles/linux-comparison/article.sgml
+++ b/de_DE.ISO8859-1/articles/linux-comparison/article.sgml
@@ -1,760 +1,768 @@
%articles.ent;
]>
&os;: Eine Open Source-Alternative zu &linux;DruLavignedru@isecom.org2005Dru Lavigne$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.linux;
&tm-attrib.unix;
&tm-attrib.general;
&legalnotice;
Das Ziel dieses Artikels ist es, einige der Funktionen und
Vorzüge, die &os; bietet, zu erläutern und an
geeigneten Stellen mit denen von &linux; zu vergleichen.
Dieses Dokument stellt damit einen Ausgangspunkt für
diejenigen dar, die sich für
Open Source-Alternativen zu &linux; interessieren.Übersetzt von Fabian Ruch.Einleitung&os; ist ein &unix;-ähnliches Betriebssystem, das auf
der
Berkeley Software Distribution (BSD)
basiert. Während &os; und &linux; häufig als sehr
ähnlich empfunden werden, gibt es doch Unterschiede:&linux; selbst ist ein Kernel. Distributionen (z.B.
Red Hat, Debian, SUSE) stellen dem Benutzer ein
Installationswerkzeug und Programme zur Verfügung. Auf
der &linux;-Projektseite befindet sich eine Auflistung verschiedener
Distributionen mit mehr als 300 Einträgen.
Während dem Benutzer ein Höchstmaß an
Flexibilität geboten wird, erhöht das Bestehen
dieser Vielzahl an Distributionen auch die Schwierigkeit,
die eigenen Kenntnisse von einer Distribution auf eine
andere zu übertragen. Distributionen unterscheiden sich
nicht nur in der Einfachheit der Installation und der zur
Verfügung stehenden Programme, sie unterscheiden sich
auch in der Verzeichnisstruktur, in den verfügbaren
Shells und Window Managern sowie in den Vorgehensweisen
bei der Installation und Aktualisierung von Software.&os; ist ein komplettes Betriebssystem (Kernel und
Userland) mit einem hoch angesehenem Erbe, das bis in die
Wurzeln der &unix;-Entwicklung
&os;-Historie
zurückreicht. Da der Kernel und die bereitgestellten
Programme unter der Aufsicht desselben
Release Engineering Teams stehen, ist die
Wahrscheinlichkeit gering, dass Inkompatibilitäten
zwischen Bibliotheken auftreten. Mit Sicherheitslücken
kann sich das Security Team zeitnah befassen. Wenn neue
Programm- oder Kernel-Funktionen hinzugefügt werden,
braucht der Benutzer nur die Release Notes lesen, die
auf der &os;-Projektseite
veröffentlicht werden.&os; verfügt über eine großen und gut
organisierten Entwicklerstamm, der gewährleistet, dass
Änderungen auf schnelle und geregelte Art und Weise
durchgeführt werden. Dazu gehören mehrere tausend
Entwickler, die regelmäßig Code beisteuern, von
denen jedoch nur etwa 300 ein sogenanntes Commit Bit
besitzen, das es ihnen erlaubt, direkt Änderungen am
Kernel, den Programmen und der offiziellen Dokumentation
durchzuführen. Das Release Engineering Team
ist zuständig für die Qualitätssicherung und
das Security Team für die Behandlung von
Sicherheitsproblemen. Des Weiteren existiert eine
gewählte Core Group, die aus
8 Senior Committern besteht und die Gesamtleitung
des Projekts übernimmt.Im Gegensatz dazu müssen Änderungen am
&linux;-Kernel erst vom Kernel Source Maintainer
Linus Torvalds bewilligt werden. Wie Änderungen an
Distributionen erfolgen, kann von Projekt zu Projekt stark
variieren und ist abhängig von der Größe des
jeweiligen Entwicklerstamms sowie dessen
Organisation.Während &os; und &linux; beide ein
Open Source-Lizenzmodell verwenden, weichen die
tatsächlichen Lizenzen voneinander ab. Der
&linux;-Kernel steht unter der GPL-Lizenz,
&os; dagegen unter der BSD-Lizenz.
Diese und andere Open Source-Lizenzen sind auf der
Website der Open Source-Initiative
näher beschrieben.Die Philosophie hinter der GPL will sicherstellen, dass
lizenzierter Code Open Source bleibt. Dies wird
bewerkstelligt, indem die Verteilung von solchem Code
eingeschränkt ist. Dagegen enthält die
BSD-Lizenz keine vergleichbaren
Einschränkungen, wodurch jeder die Freiheit hat,
lizenzierten Code Open Source zu belassen oder für
ein proprietäres kommerzielles Produkt zu
schließen
Übersicht über die Vorzüge der beiden
Lizenzen GPL
und BSDL, ohne Partei zu beziehen.
. Stabilen und sicheren Code unter die BSD-Lizenz zu stellen
ermöglicht, dass viele Betriebssysteme wie Mac OS X
auf &os;-Code basieren. Daneben bedeutet die Nutzung von
Code unter der BSD-Lizenz in eigenen Projekten auch, dies
tun zu können, ohne Angst vor einer zukünftigen
gesetzlichen Haftung haben zu müssen.Merkmale von &os;Unterstützte Plattformen&os; hat sich den guten Ruf erworben, ein sicheres und
stabiles Betriebssystem für die &i386;-Plattform von
&intel; zu sein. Jedoch unterstützt &os; auch die
folgenden Architekturen:alphaamd64ia64&i386;pc98&sparc64;Außerdem wird laufend an Portierungen von &os;
gearbeitet, welche die folgenden Architekturen
unterstützen:&arm;&mips;&powerpc;Ständig aktualisierte Listen mit unterstützter
Hardware werden für jede Architektur einzeln gepflegt,
sodass auf einen Blick festgestellt werden kann, ob bestimmte
Hardware unterstützt wird. Für Server gibt es zum
Beispiel ausgezeichnete Unterstützung von
Hardware RAIDs und Netzwerkkarten.&os; stellt auch ein großartiges Betriebssystem
für Arbeitsplatzrechner und Laptops dar. Es ist unter
anderem das X Window System verfügbar, das auch
&linux;-Distributionen mitliefern, um dem Benutzer eine
grafische Benutzeroberfläche bieten zu können.
Außerdem stehen mehr als 18.000 Programme Dritter
zur einfachen Installation bereit
&os;-Ports: Zur
Installation von Software genügt ein einfaches
pkg_add -r
Paketname
. Darunter finden sich KDE, GNOME und OpenOffice.Es existieren verschiedene Projekte, welche die
Installation von &os; als Betriebssystem für den
Arbeitsplatz einfacher gestalten wollen. Die nennenswertesten
sind:DesktopBSD strebt
ein stabiles und leistungsfähiges Betriebssystem
für den Arbeitsplatz anFreeSBIE
ist als Live-CD von &os; verfügbarPC-BSD ist
mit seinem einfach zu bedienenden grafischen
Installationswerkzeug gerade für Anwender
geeignetErweiterbare Frameworks&os; verfügt über viele solcher Frameworks,
sodass es problemlos an die eigenen Bedürfnisse angepasst
werden kann. Einige wichtige sind:NetgraphNetgraph ist ein baukastenartiges
Netzwerkteilsystem, das verwendet werden kann, um die
bestehende Netzwerkinfrastruktur des Kernels zu
erweitern. Entwickler haben durch Hooks die
Möglichkeit, eigene Komponenten abzuleiten.
Infolgedessen gestaltet sich der kurzfristige Bau von
Prototypen und die anschließende
Produktionsentwicklung bei erweiterten Netzwerkdiensten
viel einfacher und weniger fehleranfällig. Viele
funktionsfähige Komponenten werden mit &os;
mitgeliefert, die unter anderem Unterstützung
bieten für:PPPoEATMISDNBluetoothHDLCEtherchannelFrame RelayL2TPGEOMGEOM ist ein baukastenartiges Framework zur
Umsetzung von I/O-Anfragen bei Festplatten. Da es sich
um eine ein- und ausschaltbare Speicherebene handelt,
ist es möglich, neue Speicherdienste schnell zu
entwickeln und sauber in das Speicherteilsystem von &os;
zu integrieren. Einige Beispiele, bei denen dies von
Nutzen sein kann, sind:Gestaltung von RAID-LösungenBereitstellung kompletter kryptographischer
Sicherung gespeicherter DatenNeuere &os;-Versionen beinhalten viele
Administrationswerkzeuge, um die bestehenden
GEOM-Komponenten zu verwenden. Zum Beispiel kann mit
Hilfe von &man.gmirror.8; ein Festplattenspiegel, mit
&man.gstripe.8; ein Festplattenzusammenschluss und mit
&man.gshsec.8; ein Shared Secret gesichertes
Gerät erstellt werden.GEOM Based Disk Encryption (GBDE)GBDE bietet starken
kryptographischen Schutz für Dateisysteme,
Swap-Geräte und andere Anwendungen von
Speichermedien. Darüber hinaus verschlüsselt
GBDE transparent das gesamte
Dateisystem und nicht nur einzelne Dateien. Es wird
niemals Klartext auf die Festplatte geschrieben.Mandatory Access Control (MAC)MAC
ermöglicht eine bessere Zugriffskontrolle für
Dateien und soll die herkömmliche
Betriebssystemautorisierung durch Dateizugriffsrechte
erweitern. Da MAC als
baukastenartiges Framework implementiert ist, kann ein
&os;-System entsprechend der geforderten Richtlinien
konfiguriert werden; von der Erfüllung des HIPAA
bis hin zu den Bedürfnissen eines Systems nach
militärischen Standards.&os; beinhaltet Komponenten, die folgende
Richtlinien umsetzen (das Framework ermöglicht
jedoch die Entwicklung von Komponenten zur Umsetzung
jeder geforderten Richtlinie):Biba-SicherheitsmodellPort ACLsVertraulichkeit:
Multi Level Security (MLS)Datenintegrität:
Low Watermark Mandatory Access Control (LOMAC)ProzessabschottungPluggable Authentication Modules (PAM)Sowohl &linux; als auch &os; unterstützen PAM.
Damit hat ein Administrator die Möglichkeit, die
herkömmliche &unix;-Authentifizierung über
Benutzername und Passwort zu erweitern. &os; stellt
Komponenten zur Einbindung vieler
Authentifizierungsmechanismen zur Verfügung;
darunter befinden sich:Kerberos 5OPIERADIUSTACACS+Der Administrator hat damit auch die
Möglichkeit, Richtlinien festzulegen, die Probleme
wie die Sicherheit des Benutzerpasswortes
betreffen.SicherheitSicherheit ist von großer Bedeutung für das
&os; Release Engineering Team.
Dies äußert sich in einigen konkreten
Bereichen:Alle Sicherheitsfragen und Problemlösungen werden
vom Security Team bearbeitet und in Form von
öffentlichen Warnhinweisen bekanntgegeben. Bekannte
Sicherheitsprobleme werden vom Security Team schnell
gelöst. Weitere Informationen zur Vorgehensweise des
&os;-Projekts in Sicherheitsfragen und Verweise auf
Sicherheitsinformationen sind hier verfügbar.Eines der Probleme im Zusammenhang mit
Open Source-Software ist die riesige Auswahl an
verfügbaren Programmen. Es gibt buchstäblich
zehntausende Open Source-Projekte, wobei jedes
unterschiedlich empfindlich auf Sicherheitsprobleme
reagiert. &os; ist dieser Herausforderung mit VuXML
entgegengetreten. Alle Programme, die zusammen mit &os;
ausgeliefert werden oder in den Ports zur Verfügung
stehen, werden mit einer Datenbank verglichen, die bekannte
und nicht behobene Sicherheitslücken enthält. Ein
Administrator kann &man.portaudit.1; verwenden, um sofort
festzustellen, ob ein installiertes Programm
Sicherheitslücken aufweist, und gegebenenfalls eine
Beschreibung des Problems sowie einen Verweis auf eine
detailliertere Darstellung der Schwachstelle zu
erhalten.&os; bietet ebenfalls viele Mechanismen, die es einem
Administrator erlauben, das Betriebssystem an die eigenen
Sicherheitsansprüche anzupassen:&man.jail.8; bietet die Möglichkeit, Prozesse
einzusperren; dies eignet sich besonders für Programme,
die keine eigene Chroot-Umgebung besitzen.&man.chflags.1; erhöhen die Sicherheit durch
herkömmliche &unix;-Zugriffsrechte. Zum Beispiel kann
festgelegt werden, dass bestimmte Dateien selbst vom
Superuser nicht bearbeitet oder gelöscht werden
können.&os; stellt drei eingebaute Firewalls mit States- und
NAT-Unterstützung zur Verfügung, um flexibel den
richtigen Regelwerk für die eigenen
Sicherheitsbedürfnisse auswählen zu
können.Der &os;-Kernel kann schnell und einfach angepasst
werden, um nicht gebrauchte Funktionalität zu
entfernen. Es stehen auch ladbare Module und Werkzeuge zur
Verfügung, um Module aufzulisten, zu laden und zu
entladen.Der sysctl-Mechanismus erlaubt es einem Administrator,
den Kernel-Status (ohne einen Neustart) anzuzeigen und
und zu ändern.HilfestellungWie &linux; bietet auch &os; viele Anlaufstellen für
Hilfesuchende, die teilweise kostenlos und teilweise kommerziell
sind.Kostenlose Angebote&os; ist eines der am besten dokumentierten
Betriebssysteme und die Dokumentation ist sowohl als Teil
des Betriebssystems als auch im Internet verfügbar.
Die Manualpages sind übersichtlich, präzise und
enthalten funktionsfähige Beispiele. Das &os;-Handbuch
bietet Hintergrundinformationen und
Konfigurationsbeispiele zu so ziemlich jeder Anwendung von
&os;.Es existieren viele Mailinglisten
zu &os;. Der Nachrichtenverkehr wird archiviert und ist
durchsuchbar. Falls eine Frage mit Hilfe des Handbuchs
nicht beantwortet werden konnte, wurde sie mit
größer Wahrscheinlichkeit schon auf einer der
Mailinglisten beantwortet. Handbuch und Mailinglisten
stehen in verschiedenen Sprachen zur Verfügung, die
alle auf der Startseite des &os; Projects
auswählbar sind.Es gibt viele IRC-Kanäle, Foren und
Benutzergruppen zu &os;. Eine Auswahl finden Sie
hier.Falls ein &os;-Administrator, -Entwickler oder -Berater
gebraucht wird, sollte eine Aufgabenbeschreibung zusammen mit
dem Einsatzort an freebsd-jobs@FreeBSD.org
gesendet werden.Kommerzielle AngeboteEs gibt viele Anbieter kommerzieller Hilfestellung
für &os;. Um einen Anbieter in der Nähe zu finden,
stehen unter anderem folgende Quellen zur
Verfügung:Eine Liste kommerzieller Anbieter
auf der &os;-ProjektseiteFreeBSDMall, die
schon beinahe 10 Jahre kommerzielle Hilfestellung
anbietetBSDTracker-DatenbankEs gibt außerdem die Initiative, eine Zertifizierung von
BSD-Systemadministratoren anzubieten. Weitere Informationen dazu
finden Sie unter .Projekte, die eine Common Criteria-Zertifizierung
benötigen, können die Hilfe von TrustedBSD in
Anspruch nehmen, um (beispielsweise durch den Einsatz des
&os; MAC Frameworks) diesen Prozess zu erleichtern.Vorteile durch die Wahl von &os;Es gibt viele Vorteile, die für den Einsatz von &os; in
einer bestehenden Infrastruktur sprechen:&os; verfügt über gute Dokumentation und
richtet sich nach vielen Standards. Das bedeutet für
vorhandene fortgeschrittene Benutzer und erfahrene
Systemadministratoren, dass bestehende &linux;- und
&unix;-Fähigkeiten kurzerhand mit in die
&os;-Administration übernommen werden
können.Betriebsinterne Entwickler haben vollen Zugriff auf den
gesamten Code
Ferner ist der gesamte Code unter Verwendung einer
Webschnittstelle
durchsuchbar.
für jedes einzelne &os; Release; bis hin zum
ersten Release. Zusammen mit dem Code sind alle
Protokolleinträge verfügbar, die den Zusammenhang
für Änderungen und Fehlerbehebungen liefern.
Außerdem kann ein Entwickler jedes Release ohne
Probleme reproduzieren, indem der gewünschte Code nach
Kennzeichnung ausgewählt und geladen wird. Dagegen hat
&linux; dieses Modell traditionell nicht umgesetzt, jedoch
ist inzwischen ein durchdachteres Entwicklungsmodell
Es ist ein interessanter Überblick über
das sich entwickelnde Entwicklungsmodell
von &linux; verfügbar.
eingeführt worden.Betriebsinterne Entwickler haben auch vollen Zugriff auf
die GNATS-Fehlerdatenbank
von &os;. Es besteht die Möglichkeit, die Einträge
zu bekannten Fehlern zu durchsuchen und zu verfolgen sowie
eigene Korrekturen zur Abnahme und zum möglichen
Einpflegen in den &os;-Code einzusenden.Die BSD-Lizenz erlaubt die uneingeschränkte
Anpassung des Codes, damit dieser dem Geschäftszweck
entspricht. Im Gegensatz zur GPL gibt es keine
Einschränkungen, was die Verbreitung des angepassten
Codes angeht.Fazit&os; ist ein ausgereiftes &unix;-ähnliches
Betriebssystem, das viele der Eigenschaften besitzt, die von
einem modernen &unix;-System erwartet werden. Für
diejenigen, die eine Open Source-Lösung für eine
bestehende Infrastruktur suchen, ist &os; gewiss eine exzellente
Wahl.
+
diff --git a/de_DE.ISO8859-1/books/faq/book.sgml b/de_DE.ISO8859-1/books/faq/book.sgml
index b8e57852c6..2d9e1f3326 100644
--- a/de_DE.ISO8859-1/books/faq/book.sgml
+++ b/de_DE.ISO8859-1/books/faq/book.sgml
@@ -1,12727 +1,12716 @@
%books.ent;
]>
Häufig gestellte Fragen zu &os;
6.X, 7.X und
8.XFrequently Asked Questions zu &os;
6.X, 7.X und
8.XThe &os; German Documentation
ProjectDeutsche Übersetzung von Robert S. F.
Drehmel, Dirk Gouders, Udo Erdelhoff, Johann Kois
und Benedict Reuschling
- $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.757 2010/07/29 14:51:23 jkois Exp $
+ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.764 2010/08/29 14:33:13 jkois Exp $1995199619971998199920002001200220032004200520062007200820092010The &os; Documentation Project200020012002200320042005200620072007200820092010The &os; 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 &os;-Versionen
6.X 7.X und
8.X. Alle Einträge sollten für
&os; ab Version 6.X 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 &os; 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 &os; FTP-Server
heruntergeladen werden. Alternativ können Sie die FAQ auch durchsuchen.EinleitungWillkommen zur &os;
6.X-7.X- und
8.X FAQ!Wie auch bei den Usenet FAQs üblich, wird mit diesem
Dokument beabsichtigt, die am häufigsten gestellten Fragen
bezüglich des Betriebssystems &os; 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 die Mailingliste des
&a.de.translators;.Was ist &os;?&os; ist, kurz gesagt, ein &unix; ähnliches
Betriebssystem für die Plattformen AMD64
sowie &intel; EM64T, &i386;, IA-64, &arm;, &powerpc;, 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 &os; ist und wie Sie es
für Ihre Zwecke verwenden können, finden Sie auf
den Internetseiten des &os; Projects.Unternehmen, Internet Service Provider, Forscher,
Computerfachleute, Studenten und Privatnutzer auf der
ganzen Welt benutzen &os; für die Arbeit, die
Ausbildung oder zur Freizeitgestaltung.Ausführlichere Informationen zu &os;, finden
Sie im &os; Handbuch.Welches Ziel hat das &os; Project?Die Ziel von &os; 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 &os;
Lizenz unterliegt, zu ersetzen.Beinhaltet das &os;-Copyright irgendwelche
Einschränkungen?Ja. Diese Einschränkungen regeln aber nicht, wie
Sie mit dem Sourcecode umgehen, sondern betreffen nur den
Umgang mit dem &os; Project an sich. Wenn Sie sich
ernsthaft damit auseinandersetzen wollen, lesen Sie
einfach die
&os;-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 &os; 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. &os; 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 &os; 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 &os; genau das sein. Viele Anwender auf der
ganzen Welt, vom Anfänger bis zum erfahrenen
Administrator, benutzen an Ihren Arbeitsplätzen
ausschließlich &os;.Wenn Sie von einem anderen &unix; System zu &os;
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 &os;
Handbuch sind die besten Startpunkte.Warum heißt es &os;?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 &os;-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 &os;, NetBSD, OpenBSD
und andere Open-Source BSD-Systeme?James Howards Artikel, genannt The
BSD Family Tree, beschreibt sehr gut die Geschichte
und die Unterschiede der BSD-Varianten.Welches ist die aktuelle &os;-Version?Momentan gibt es zwei Entwicklungszweige,
die für die Erstellung von Releases verwendet werden.
Die 7.X-RELEASEs werden auf dem
7-STABLE-Zweig erstellt, die
8.X-RELEASEs auf dem
8-STABLE-Zweig.Bis zur Veröffentlichung von &os; 8.0 galt
die 7.X-Serie als
-STABLE. Seither
gibt es für den Zweig 7.X nur mehr
eine erweiterte Unterstützung in der Form
von Korrekturen von größeren Problemen, wie
neu entdeckten Sicherheitsheitslücken. Aus dem Zweig
7-STABLE werden zwar noch
RELEASEs erzeugt, er gilt aber als ausgereift.
Aktive Weiterentwicklungen konzentrieren sich daher auf den
Zweig 8-STABLE.Version &rel.current;
ist das aktuelle Release des
8-STABLE-Zweigs und ist im
Januar 2009 erschienen.
Version &rel2.current;
ist das aktuelle Release aus dem
7-STABLE-Zweig und ist im
November 2008 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 &os;-Releases entnehmen
Sie der Seite Release
Engineering des &os; Webauftritts.Was ist &os;-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 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 &a.current;
Mailingliste manchmal nicht beachtet.Jeden Monat wird der aktuelle Entwicklungsstand in den
Zweigen -CURRENT und
-STABLE in einer Snapshot
Release festgehalten. 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.Offizielle Snapshots werden in der Regel jeden Monat für
jeden aktiven Zweig erstellt. Es gibt auch täglich erstellte
Snapshots der populären &arch.i386; und &arch.amd64; Zweige,
die auf bereitliegen.Was ist das Konzept von &os;-STABLE?Zur der Zeit, als &os; 2.0.5 herausgegeben wurde,
wurde entschieden, die Entwicklung von &os; zweizuteilen.
Ein Zweig wurde -STABLE,
der andere -CURRENT
genannt. &os;-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. &os;-CURRENT ist eine
ununterbrochene Linie seitdem die Version 2.0 herausgegeben
worden ist. Sie führt zu &rel.current;-RELEASE (und darüber
hinaus). Weitere Informationen zu diesen Zweigen finden Sie unter
&os; Release Engineering: Creating the Release
Branch, der Status der Zweige und der Zeitplan zur
anstehenden Veröffentlichung kann unter der Seite Release Engineering
Information gefunden werden.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
wurde mit 5.5, der letzten 5.X Version,
beendet. 6-STABLE wird 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 zur Zeit konzentriert.
Das neueste Release aus dem &rel.current;-STABLE-Zweig ist
&rel.current;-RELEASE und ist im Januar 2007
erschienen.Aus dem 9-CURRENT-Zweig entsteht die nächste
&os;-Generation. Weitere Informationen über diesen
Zweig finden Sie unter Was ist &os;-CURRENT?.Wann werden &os;-Versionen erstellt?Im Schnitt gibt das &a.re; alle 18 Monate eine neue
Haupt-Version und etwa alle 8 Monate eine Unter-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 &os;, 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,
erhalten Sie auf den Release
Engineering Seiten der &os; 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 &os; verantwortlich?Schlüsseldiskussionen, die das &os; 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 &os;
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 &os; beziehen?Jede bedeutende Ausgabe von &os; ist per
Anonymous-FTP vom &os; FTP
Server erhältlich:Das aktuelle 8-STABLE-Release, &rel.current;-RELEASE,
finden Sie im Verzeichnis &rel.current;-RELEASE.Snapshots-Releases werden
monatlich 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 7-STABLE,
&rel2.current;-RELEASE finden Sie im Verzeichnis &rel2.current;-RELEASE.Wo und wie Sie &os; 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
&os; 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 &os;-Webseite.Dokumentation und SupportGibt es gute Bücher über &os;?Im Zuge des &os; Projekts sind diverse gute
Dokumente entstanden, die unter der
folgenden URL abgerufen werden können: . Zusätzlich
enthält die Bibliographie am Ende
dieser FAQ und diejenige 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 &os; 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 &os;-System im
Verzeichnis /usr/share/locale
finden. Zurzeit werden die folgenden Sprachen und
Zeichensätze benutzt:NameBedeutungbn_BD.ISO10646-1Bengalisch oder Bangla (Bangladesh) da_DK.ISO8859-1Dänisch (Dänemark)de_DE.ISO8859-1Deutsch (Deutschland)en_US.ISO8859-1Englisch (Vereinigte Staaten)el_GR.ISO8859-7Griechisch (Griechenland)es_ES.ISO8859-1Spanisch (Spanien)fr_FR.ISO8859-1Französisch (Frankreich)it_IT.ISO8859-15Italienisch (Italien)hu_HU.ISO8859-2Ungarisch (Ungarn)ja_JP.eucJPJapanisch (Japan, EUC-kodiert)mn_MN.UTF-8Mongolisch (Mongolei, UTF-8-kodiert)nl_NL.ISO8859-1Niederländisch (Holland)no_NO.ISO8859-1Norwegisch (Norwegen)pl_PL.ISO8859-2Polnisch (Polen)pt_BR.ISO8859-1Brasilianisches Portugiesisch (Brasilien)ru_RU.KOI8-RRussisch (Russland, KOI8-R-kodiert)sr_YU.ISO8859-2Serbisch (Serbien)tr_TR.ISO8859-9Türkisch (Türkei)zh_CN.GB2312Vereinfachtes Chinesisch (China,
GB2312-kodiert)zh_TW.Big5Chinesisch (Taiwan, 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.
-
- pdb
-
- Palm Pilot Datenbank für das
- Programm iSilo.
-
-
pdfAdobe's Portable Document Formatps&postscript;rtfMicrosoft's Rich Text FormattxtGanz normaler TextDie Seitennummern werden nicht automatisch aktualisiert,
wenn Sie das Rich Text Format in Word laden. Wenn Sie das
Dokument geladen haben, müssen Sie Sie CtrlA,
CtrlEnd,
F9 eingeben, um die Seitennummern
aktualisieren zu lassen.Das zur Komprimierung verwendete Programm. Zur
Zeit werden drei verschiedene Methoden
benutzt.Wenn die Dokumentation im Format
html-split vorliegt, werden die
Dateien mit &man.tar.1; 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
type.format
(z.B. article.pdf,
book.html, und so
weiter).Diese Dateien werden mit zwei verschiedenen
Programmen komprimiert.ProgrammBeschreibungzipDas zip-Format. Wenn Sie
diese Dateien unter &os; entpacken 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 die komprimierten Dateien
selber herunterladen, entpacken und an 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 &os;
Mailinglisten?Vollständige Informationen finden Sie im Handbucheintrag
über Mailinglisten.Welche Newsgruppen existieren zu &os;?Sie finden alle Informationen hierzu im Handbucheintrag zu
Newsgruppen.Gibt es &os; IRC (Internet Relay Chat)
Kanäle?Ja, die meisten großen IRC Netze bieten einen
&os; Chat-Channel:Channel FreeBSD im EFNet ist
ein &os;-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 &os;. Sie wurden gewarnt! Der Channel ist auf
dem Server irc.efnet.org
verfügbar.Der Channel #FreeBSDhelp im
EFNet hat
sich dagegen auf die Unterstützung der Benutzer
von &os; spezialisiert. In diesem Channel sind
Fragen deutlich willkommener als im Channel
#FreeBSD.Der Channel ##FreeBSD auf
Freenode bietet allgemeine
Hilfe zu &os;-Themen. Es sind immer viele Benutzer online.
Zwar werden auch nicht-&os;-spezifische Themen diskutiert, den
Hauptteil der Diskussionen dreht sich aber um die Lösung
der Probleme von &os;-Anwendern. Die Teilnehmer dieses
Channels helfen Ihnen auch bei Fragen zu elementaren Dingen und
zeigen Ihnen auch, wo Sie die entsprechenden Erklärungen
im &os;-Handbuch oder anderen Ressourcen finden können.
Obwohl die Teilnehmer des Channels über die ganze Welt
verstreut sind, werden alle Diskussionen auf Englisch
geführt. Wollen Sie die Diskussion in Ihrer Sprache
führen, sollten Sie Ihre Frage trotzdem auf Englisch
stellen und danach gegebenenfalls einen neuen Channel in der
Form
##freebsd-Ihre_Sprache
eröffnen.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 auf Freenode
(Sprache: traditionelles Chinesisch, UTF-8-kodiert)
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
&os; anbieten?
- DaemonNews bietet Training und Support für
- &os; an. Weitergehende Informationen finden Sie in der BSD Mall.
-
Die &os; Mall bietet ebenfalls professionellen
&os; Support an. Weitergehende Informationen finden
Sie auf ihrer Webseite.
+ url="http://www.freebsdmall.com/cgi-bin/fm">Webseite.
Die BSD Certification Group, Inc. bietet Zertifizierungen zur
Systemadministration für DragonFly BSD, &os;, NetBSD und
OpenBSD. Wenn Sie daran interessiert sind, besuchen Sie
deren Webseite.Wenn Ihre Firma oder Organisation ebenfalls Training
und Support anbietet und hier genannt werden möchte,
wenden Sie sich bitte an das &os; Project.NikClaytonnik@FreeBSD.orgInstallationWelche Dateien muss ich herunterladen, um &os;
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 &os;.Was soll ich tun, wenn das Floppy-Image nicht auf eine
Diskette passt?Eine 3,5-Zoll (1,44 MB) Diskette kann 1.474.560 Byte
an Daten fassen und das Boot-Image ist exakt 1.474.560 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 &os; beschrieben ist.Wo befinden sich die Instruktionen zur Installation
von &os;?Installationsanleitungen finden Sie im Handbucheintrag zur
Installation von &os;.Was benötige ich zum Betrieb von &os;?Der Betrieb von &os; 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
&os; Release Engineering.Kann ich mehr als ein Betriebssystem auf meinem PC
unterbringen?Sehen Sie sich Die
Multi-OS-Seite an.Kann &windows; neben &os; existieren?Installieren Sie zuerst &windows;, dann &os;.
Der Bootmanager von &os; kann dann entweder &windows;
oder &os; booten. Falls Sie &windows; nach &os;
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
&os;-Bootmanager neu zu installieren:Unter DOS wechseln Sie in das Verzeichnis
tools/ Ihrer &os;-Distribution und
suchen nach bootinst.exe. Rufen sie es so
auf:...\TOOLS>bootinst.exe boot.binund der Bootmanager wird neu installiert.Booten Sie &os; 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, drücken Sie als aller
erstes (nehmen Sie z.B. keine Änderungen vor)
(W)rite. Sie werden nach einer Bestätigung
gefragt, wählen Sie &gui.yes; und vergessen Sie nicht, in der
Bootmanager-Auswahl den &os; 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 &os; wieder mit der Bootdiskette
(oder der CD-ROM) und wählen Sie den
Menüpunkt Fixit. Wählen
Sie die für Sie passende Option, entweder die
Fixit-Diskette oder die CD-ROM 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 &os; 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 &os;
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 &a.nectar; auf der
Mailingliste &a.mobile; beschreibt eine Technik,
die Ihnen weiterhelfen könnte, wenn Ihr IBM Laptop
mit &os; 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, &os; 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
&os;-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
&os;-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 &os; 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 &os; 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 &os;-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 &os;
gestartet.Was Sie machen müssen, wenn Sie &os; und
OpenBSD parallel installieren wollen, sollten Sie zu
Übungszwecken einfach einmal selbst
herausfinden.Kann ich &os; 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 CD-ROM
gebootet, aber das Installationsprogramm sagt mir,
dass es kein CD-ROM gefunden hat. Was geht hier
ab?Dieses Problem wird üblicherweise durch ein
falsch konfiguriertes CD-ROM verursacht. Bei vielen PCs
ist das CD-ROM der Slave am zweiten IDE-Controller, ein
Master ist nicht vorhanden. Laut Spezifikation ist diese
Konfiguration ungültig, aber &windows; verletzt die
Spezifikation und das BIOS ignoriert sie, wenn es von
einem CD-ROM booten soll. Daher konnten Sie zwar vom
CD-ROM booten, während &os; es nicht für die
Installation benutzen kann.Um dieses Problem zu lösen, müssen Sie
entweder das CD-ROM als Master an den IDE-Controller
anschließen oder dafür sorgen, dass an dem
vom CD-ROM 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 &os; 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 &os; 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 &os;
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 2 GB 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
1 GB 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 2 GB Beispielplatte
261 Zylinder, 63 Sektoren/Spur und 255 Köpfe haben.Falls Sie sich hier nicht sicher sind oder &os;
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 &os; CD-ROM
und allen &os; 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 &os;).Für ein SCSI-Laufwerk bedeutet dies
normalerweise, dass sich die Rootpartition in den
ersten 1024 MB befindet (oder in den ersten 4096 MB,
falls die Extended Translation eingeschaltet ist - siehe die
vorherige Frage). Der entsprechende Wert für IDE ist
504 MB.Verträgt sich &os; mit Plattenmanagern?&os; erkennt den Ontrack Disk
Manager und berücksichtigt ihn. Andere
Plattenmanager werden nicht unterstützt.Falls Sie die Festplatte nur mit &os; 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 &os; erkennen, wie viel
Platz Sie tatsächlich haben. Falls Sie eine alte
Festplatte mit einem MFM-Controller verwenden, könnte
es sein, dass Sie &os; explizit angeben
müssen, wie viele Zylinder es benutzen soll.Falls Sie die Festplatte mit &os; 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
&os; 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 &os; erscheint
Missing Operating System. Was ist
passiert?Dies ist ein klassischer Fall von Konflikten bei den
verwendeten Plattengeometrien von &os;
und DOS oder anderen Betriebssystemen. Sie werden &os;
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 &os; stimmen
nicht überein! Falls Ihr Controller oder BIOS
Zylinderumsetzung (oft als >1GB drive
support bezeichnet), probieren Sie eine Umsetzung
dieser Einstellung und Neuinstallation von &os;.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
irgendwo anders 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 &os; 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 &os;
erforderlich, aber neuere Ausgaben haben von der
Einführung weitaus benutzerfreundlicherer
Kernelkonfigurationswerkzeuge profitiert. Die Kernelkonfiguration
erfolgt 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, Blowfish oder MD5 zur Verschlüsselung der
Passwörter benutzen?&os; 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. &os; erlaubt es Ihnen, auch das sichere
Blowfish-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 &os; 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
set root_disk_unit="disk_number"
ein. disk_number hat den Wert
0, wenn &os; auf dem Master des
ersten IDE-Controllers installiert wurde;
1, wenn &os; auf dem Slave des
ersten IDE-Controllers installiert wurde;
2, wenn &os; auf dem Master des
zweiten IDE-Controllers installiert wurde; und
3, wenn &os; 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 &os;-Platte am
ersten IDE-Controller anschließen.Gibt es eine Hauptspeicherbegrenzung?Hauptspeicherbegrenzung sind von der verwendeten Plattform
abhängig. Bei einer &i386;-Standardinstallation werden
maximal 4 GB Hauptspeicher unterstützt, mehr Speicher
ist mittels &man.pae.4; verfügbar. Lesen Sie dazu die Anleitung, um 4 GB oder mehr
Speicher auf &i386; zu verwenden.&os;/pc98 unterstützt maximal 4 GB Hauptspeicher,
daher kann PAE auf diesen Systemen nicht verwendet werden.
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 (2 G-Blöcke) oder 16 TB für
die Standard-Blockgröße von 8 KB. In der Praxis
setzt die Software das Limit auf 1 TB herab, aber
durch Modifikationen sind auch Dateisysteme mit 4 TB
möglich (und existieren auch).Die maximale Größe einer einzelnen
FFS-Datei liegt bei ungefähr 1 G Blöcken (4 TB,
falls die Blockgröße 4 KB beträgt).
Wenn die im Dateisystem verwendete
Blockgröße 4 KB 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
10243 + 10242 + 1024).
In Wirklichkeit liegt das Limit aber bei der (falschen) Anzahl von
1 G - 1 Blocknummern im Dateisystem.
Die maximale Anzahl der Blocknummern müsste
2 G - 1 sein. Es gibt einige Fehler für
Blocknummern nahe 2 G - 1, aber solche Blocknummern
sind bei einer Blockgröße von 4 KB
unerreichbar.Bei Blocknummern von 8 KB und größer sollte
das Limit bei 2 G - 1 Blocknummern liegen,
tatsächlich liegt es aber bei 1 G - 1
Blocknummern. Die Verwendung der korrekten Grenze von
2 G - 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 zeigt folgendes an:OKGeben Sie nununset acpi_loadund danachbootein.Hardware-KompatibilitätAllgemeinesIch will mir neue Hardware für mein
&os;-System zulegen, was soll ich kaufen? Diese Frage wird ständig auf den
&os;-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 &a.mobile;
werfen. Ansonsten empfiehlt sich ein Blick in das Archiv
von &a.questions; oder auch einer spezialisierte
Mailingliste für diese Art von Hardware.HauptspeicherUnterstützt &os; mehr als 4 GB Speicher
(RAM)? Mehr als 16 GB? Mehr als 48 GB?Ja. Generell unterstützt &os; als
Betriebssystem so viel physischen Speicher (RAM), wie
die Plattform auf der es läuft. Achten Sie darauf,
dass verschiedene Plattformen unterschiedliche
Speichergrenzen besitzen. So wird z.B. &i386; ohne
PAE höchstens 4 GB Speicher
(normalerweise weniger als das wegen des
PCI-Addressraums), dagegen wird &i386; mit PAE
höchstens 64 GB Speicher bereitstellen.
Momentan erhältliche AMD64 Plattformen können
bis zu 1 TB physischen Speicher ansprechen.Warum zeigt &os; weniger als 4 GB Speicher an,
wenn es auf einer &i386; Maschine installiert
wird?Der Gesamtadressraum beträgt auf &i386;
Maschinen 32-Bit, was bedeutet, dass maximal
4 GB Speicher addressiert (verwaltet) werden
kann. Weiterhin sind viele Adressen in diesem Bereich
von der Hardware für bestimmte Aufgaben reserviert,
um z.B. PCI-Geräte zu benutzen und zu steuern, auf
Videospeicher zuzugreifen und so weiter. Aus diesem
Grund ist die Gesamtmenge an Speicher, die vom
Betriebssystem für den Kernel und Anwendungen
verwendet werden kann, auf wesentlich weniger als
4 GB begrenzt. Normalerweise sind 3.2 GB bis
3.7 GB das Maximum an verfügbarem Speicher in
dieser Konfiguration.Um auf mehr als 3.2 GB bis 3.7 GB
des installierten Speichers (was bis zu 4 GB, aber
aber auch mehr als 4 GB bedeuten kann)
zuzugreifen, muss eine spezielle Manipulation, genannt
PAE, benutzt werden. PAE steht
für Physical Address Extension und ist eine
Möglichkeit für 32-Bit x86-CPUs mehr als
4 GB Speicher zu addressieren. Es organisiert
den Speicher, der andererseits wegen
Addressreservierungen für Hardwaregeräte
oberhalb der 4 GB Grenze liegt, um und benutzt
diesen als zusätzlichen physischen Speicher (lesen
Sie dazu &man.pae.4;). Der Einsatz von PAE ist mit ein
paar Nachteilen verbunden: diese Speicherzugriffsmethode
ist ein bisschen langsamer als die normale Methode (ohne
PAE) und ladbare Module (beschrieben in &man.kld.4;)
werden nicht unterstützt. Das bedeutet, dass alle
Treiber in den Kernel eingebaut sein müssen.Die am häufigsten verwendete Vorgehensweise,
PAE zu aktivieren ist die, einen neuen Kernel mit der
speziell dafür vorgesehenen
Kernelkonfigurationsdatei, PAE
genannt, zu bauen, die bereits so eingestellt ist, dass
ein funktionierender Kernel erstellt wird. Beachten
Sie, dass manche Einträge in dieser
Kernelkonfigurationsdatei zu konservativ eingestellt
sind und dass manche Treiber, die nicht für den
Einsatz mit PAE vorgesehen sind, trotzdem funktionieren.
Als Faustregel kann man sagen, dass wenn der Treiber
auf 64-Bit Architekturen (like AMD64) läuft, er
auch mit PAE lauffähig ist. Wenn Sie ihre eigene
Kernelkonfigurationsdatei erstellen möchten,
können Sie PAE aktivieren, indem Sie die folgende
Zeile zu ihrer Konfiguration hinzufügen:options PAEPAE wird heutzutage nicht sehr häufig
angewendet, da die Mehrzahl an neuer x86-Hardware auch
den Betrieb im 64-Bit Modus erlaubt, auch als AMD64 oder
&intel; 64 bekannt. Es hat viel mehr Adressraum
und benötigt solche Manipulationen nicht. &os;
unterstützt AMD64 und es wird empfohlen, diese
&os; Version anstatt der &i386; Version einzusetzen,
wenn 4 GB oder mehr Speicher gebraucht
werden.Architekturen und ProzessorenUnterstützt &os; neben x86 auch andere
Architekturen?Ja. &os; ist zurzeit für die Intel x86 und
AMD64 Architekturen verfügbar.
Intel EM64T, IA-64, &arm;, &powerpc;, sun4v und &sparc64;
werden ebenfalls unterstützt. Die Neuzugänge
auf der Liste der in Zukunft unterstützten Plattformen
sind &mips; und &s390;. Abonnieren Sie die Mailingliste
&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 &os; Symmetric-Multiproccessing
(SMP)?Symmetric-Multiproccessing (SMP) Systeme werden generell
von &os; unterstützt, obwohl in manchen Fällen durch
Fehler im BIOS oder Mainboard Probleme auftreten. Lesen Sie
die Mailingliste &a.smp;, wenn Sie weitere Hinweise
benötigen.&os; nutzt die Vorteile von HyperThreading (HTT)
Unterstützung von Intel-Prozessoren, die diese Eigenschaft
besitzen. Ein Kernel mit der options SMP
Zeile wird automatisch die zusätzlichen logischen
Prozessoren erkennen. Der Standard &os;-Scheduler behandelt die
logischen Prozessoren auf die gleiche Weise wie zusätzliche
physische Prozessoren. Mit anderen Worten, es wird nicht der
Versuch unternommen, die Entscheidungen des Schedulers zu
optimieren, da sich die logischen Prozessoren innerhalb der
gleichen CPU die Ressourcen teilen. Weil diese naive Planung
in schlechterer Leistung resultieren kann, ist es unter
Umständen hilfreich, die logischen Prozessoren über die
sysctl Variable machdep.hlt_logical_cpus zu
deaktivieren. Es ist auch möglich, jede CPU in der
Warteschleife mit der sysctl Variable
machdep.hlt_cpus anzuhalten. Weitere
Informationen finden Sie in der Manualpage &man.smp.4;.Festplatten, Bandlaufwerke, sowie CD- und DVD-LaufwerkeWelche Arten von Festplatten werden von &os;
unterstützt?&os; 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?&os; 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
&os; nicht einwandfrei funktionieren.Unterstützt &os; 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 CD-ROM-Laufwerke werden von &os;
unterstützt?Jedes an einem unterstützten Controller
angeschlossene SCSI-Laufwerk wird
unterstützt.Die folgenden proprietären CD-ROM-Schnittstellen
werden ebenfalls unterstützt:Mitsumi LU002 (8-Bit), LU005 (16-Bit) und FX001D
(16-Bit 2x Speed).Sony CDU 31/33ASound Blaster Non-SCSI CD-ROMMatsushita/Panasonic CD-ROMATAPI compatible IDE CD-ROMsVon allen Nicht-SCSI-Laufwerken ist bekannt, dass
sie im Vergleich zu SCSI-Laufwerken extrem langsam sind.
Einige ATAPI-CD-ROMs könnten nicht
funktionieren.&os; 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 &os; unterstützt?&os; unterstützt alle ATAPI-kompatiblen IDE
CD-R und CD-RW Brenner. Lesen Sie dazu auch
&man.burncd.8;.&os; 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 &os; &iomegazip;-Laufwerke?&os; 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.&os; 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 -t msdosfs /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 &os; &jaz;, EZ und andere
Wechsellaufwerke?Ja. Bei den meisten dieser Geräte handelt es sich
um SCSI-Geräte, die von &os; 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 &os; meine Tastatur mit
USB-Anschluss?Ja. &os; unterstützt USB-Tastaturen.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/console > /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/console > /dev/nullUm diese Änderung auch noch nach dem Neustarten
verfügbar zu haben, nehmen Sie den Eintrag
keyboard="/dev/ukbd0" in die Datei
/etc/rc.conf auf.Sobald Sie diese Schritte durchgeführt haben,
sollte die USB-Tastatur ohne weitere Änderungen auch
unter X benutzbar sei.Benutzen Sie dieses Kommando, wenn Sie wieder zur
Standardtastatur wechseln wollen:&prompt.root; kbdcontrol -k /dev/kbd0 > /dev/nullUm die gleichzeitige Verwendung der zweiten USB-Tastatur und
der AT-Tastatur auf der selben Konsole mittels des &man.kbdmux.4;
Treibers zu ermöglichen, geben Sie folgendes ein:&prompt.root; kbdcontrol -K < /dev/console > /dev/null
&prompt.root; kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
&prompt.root; kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
&prompt.root; kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/nullLesen Sie die &man.ukbd.4;, &man.kbdcontrol.1; und
&man.kbdmux.4; Manualpages, um weitere Informationen zu
erhalten.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.Ich habe eine unübliche Busmaus. Wie muss
ich sie konfigurieren?&os; 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 &os; 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.
Kann man die Maus irgendwie außerhalb des X
Window Systems benutzen?Falls Sie den normalen Konsolentreiber &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 &os; 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.Wie kann ich die Delete-Taste in der sh und
csh einsetzen?Für die Bourne Shell
fügen Sie die folgende Zeile in die Datei
.shrc ein (lesen Sie dazu auch die
Manualpages &man.sh.1; sowie &man.editrc.5;).bind ^? ed-delete-next-char # for console
bind ^[[3~ ed-delete-next-char # for xtermFür die C Shell nehmen
Sie hingegen die folgende Zeile in die Datei
.cshrc auf (lesen Sie dazu auch die
Manualpage &man.csh.1;).bindkey ^? delete-char # for console
bindkey ^[[3~ delete-char # for xtermWeitere Informationen zu diesem Thema finden sich auch
hier.Netzkarten und serielle GeräteWelche Netzwerkkarten unterstützt &os;?In den Hardware Informationen zu jedem &os; Release
werden die unterstützten Karten aufgezählt.Unterstützt &os; Software Modems, wie die
Winmodems?&os; unterstützt viele Software-Modems, wenn
Sie zusätzliche Software installieren. Der Port
comms/ltmdm bietet zum
Beispiel Unterstützung für Modems, die auf dem oft
verwendeten Lucent LT Chipsatz basieren.Sie können &os; nicht über ein
Software-Modem installieren, diese Software kann nur
installiert werden, nachdem das Betriebssystem installiert
wurde.Gibt es einen &os;-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 &os;
unterstützt?Es existiert eine Liste der unterstützten Karten
im Abschnitt Serielle
Datenübertragung des Handbuchs.Von einigen 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?Lesen Sie
diesen Abschnitt des Handbuchs.SoundkartenWelche Soundkarten werden von &os; unterstützt?&os; unterstützt verschiedene Soundkarten.
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 CD-ROMs, SCSI oder Joysticks auf
diesen Karten, außer der &soundblaster;. Die
&soundblaster;-SCSI-Schnittstelle und einige
Nicht-SCSI-CD-ROMs 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 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 HardwareUnterstützt &os; Power-Management auf meinem
Laptop?&os; unterstützt APM
auf einigen Systemen. Lesen Sie dazu auch &man.apm.4;.&os; unterstützt 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?Lesen Sie die vorherige Antwort.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 &os;
bootet.Deaktivieren Sie die Option Plug and Play
Operating System im BIOS, um das Problem zu
umgehen.FehlerbehebungWarum zeigt &os; eine falsche Speichergröße auf
&i386; Hardware an?Das liegt sehr wahrscheinlich 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 verwaltet werden.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 die
entsprechenden Einträge über
Speicherbegrenzungen und unterschiedliche
Speicherbegrenzungen auf verschiedenen Plattformen.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, aufgrund
der beschriebenen Umbelegung, 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 &os;
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 &os; 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 den folgenden
Befehl am Prompt ein und Sie können Ihr System ganz
normal installieren:eisa 12
quit
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
und ändern Sie die Einträge zu
ed0/de0/...
(d.h. 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 &os;
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
&os; 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.
&man.gdb.1; 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,
zumindest 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 CD-ROMs in Ihrem System haben, sollten Sie sie
testweise ausbauen oder die Stromversorgung abziehen.
Dadurch können Sie prüfen, ob Ihr Netzteil
eventuell mit einer geringeren Last besser
zurechtkommt. Sie können auch testweise ein
anderes, am besten ein leistungsfähigeres,
Netzteil ausprobieren. Wenn Sie zurzeit ein
250 W-Netzteil benutzen, sollten Sie testweise ein
300 W-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 &os;
gefunden haben. Folgen Sie einfach den Anweisungen
für die Erstellung eines Problem Reports.Es existiert eine ausführliche FAQ hierzu unter
der
SIG11-Problem-FAQ.Mein 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 &os; 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 Mach64
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 &man.sio.4;-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/sio/sio.c (oder in
/usr/src/sys/pc98/cbus/sio.c für pc98)
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.Wieso verwendet &os; nur 64 MB Hauptspeicher,
obwohl in meinem Rechner 128 MB sind?Aufgrund der Art und Weise, wie &os; die
Hauptspeichergröße vom BIOS mitgeteilt bekommt,
kann es lediglich 16-Bit Werte in kByte-Größe
(65535 kByte = 64 MB) erkennen (oder weniger... einige
BIOSe setzen die Hauptspeichergröße auf 16 MB).
Falls Sie mehr als 64 MB besitzen, wird &os; 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=nHierbei 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 &os; 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 &os;-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 (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 in den 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 Logikbausteine,
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 &man.ahc.4;-Treiber 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 sendmailmail loops back to myself?Sie finden eine detaillierte Antwort auf diese Frage im
Handbuch.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 &os; 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
&os;-Konsole. 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 &os;-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.Warum wird meine PnP-Karte nicht (oder nur noch als
unknown) erkannt?Die Gründe für dieses Verhalten werden in
der unten zitierten Mail von &a.peter;
erklärt. Diese Mail stammt von der Mailingliste
&a.questions; und war eine Antwort auf eine Frage
bezüglich eines internen Modem, das nach dem Update
auf &os; 4.X nicht mehr
erkannt wurde.Die mit [] gekennzeichneten Kommentare
wurden eingefügt, um an einigen Stellen die Bezüge
klarzustellen.
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-Erkennungsroutine
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 am 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 Vendor ID oder
chip-ID müssen in die
Datei /usr/src/sys/dev/sio/sio_isa.c
eingetragen werden.Sie sollten zunächst ein Backup von
sio_isa.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_isa.c mit einem
Editor und suchen Sie nach der Zeile:static struct isa_pnp_id sio_ids[] = {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 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 &os;) 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 den Wert von
MAX_STRAY_LOG von 5
auf 0 in der für ihre Plattform
(z.B. &i386;) zuständigen Datei
intr_machdep.c ändern. Bauen Sie
anschliessend den Kernel neu, 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 &man.dmesg.8; 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 werden ständig Meldungen wie
calcru: negative runtime oder
calcru: runtime went backwards auf die
Konsole geschrieben?Es existiert ein bekanntes Problem wenn &intel; Enhanced
SpeedStep im BIOS aktiviert wird. Das führt dazu, dass der
Kernel calcru-Nachrichten wie die folgende
ausgibt:calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero)
calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon)
calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon)
calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue)
calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event)
calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net)
calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init)
calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init)
calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper)Der Grund dafür besteht darin, dass &intel; SpeedStep
(EIST) in manchen Mainboards inkompatibel ist.Abhilfe: Deaktivieren Sie die EIST-Eigenschaft im BIOS. Sie
können trotzdem noch ihre Prozessorfrequenz ACPI-basiert
mittels &man.powerd.8; drosseln.Warum ist die Uhrzeit auf meinem Computer immer
falsch?Ihr Computer verfügt über mehr als eine Uhr
und &os; benutzt leider die falsche.Starten Sie &man.dmesg.8; und achten Sie auf die
Zeilen, in denen das Wort Timecounter
vorkommt. Die von &os; benutzte Uhr findet sich in der Zeile
mit dem höchsten quality-Wert.&prompt.root; dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
Timecounter "TSC" frequency 2998570050 Hz quality 800
Timecounters tick every 1.000 msecSie können das überprüfen, indem Sie
den Wert der Systemvariablen
kern.timecounter.hardware
abfragen.&prompt.root; sysctl kern.timecounter.hardware
kern.timecounter.hardware: ACPI-fastEs kann sich um einen defekten ACPI Timer handeln. Die
einfachste Lösung besteht darin, den ACPI Timer in
/etc/loader.conf zu deaktivieren:debug.acpi.disabled="timer"Es ist aber auch 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 &os; 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 Computers 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 &man.pccardd.8; 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 &os; nach dem BIOS-Bildschirm
mit der Meldung Read error
auf?Der Bootloader von &os; erkennt die Geometrie Ihrer
Festplatte nicht richtig. Sie müssen die Geometrie
manuell festlegen, wenn sie mit &man.fdisk.8; &os;-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?Eine Antwort auf diese Frage findet sich im &os;-Glossar
unter LOR.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
&os; 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 &man.witness.4;-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 &os;-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 &os; sehr positiven
Einfluss auf ein langfristiges Bestehen von &os; 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 &os;-Versionen der klassischen
Büro-Anwendungen?Das als Open Source verfügbare Office-Paket
OpenOffice.org
läuft nativ unter &os;. Die um zusätzliche
Funktionen erweiterte kommerzielle OpenOffice.org-Version
StarOffice
+ url="http://www.oracle.com/us/products/applications/open-office/index.html">
+ Oracle Open Office
läuft in der &linux;-Version ebenfalls problemlos
unter &os;.In der Ports-Sammlung sind weitere
Textbearbeitungsprogramme, Tabellenkalkulationen und
Zeichenprogramme enthalten.Woher kann ich &motif; für
&os; bekommen?Der Quelltext für &motif; 2.2.2
wurde von der Open Group herausgegeben. Sie können
entweder das Package x11-toolkits/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;-Pakete, 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 &os; (&i386;) 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 &os;-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-8775Woher kann ich CDE für
&os; bekommen?Xi Graphics hat einmal
CDE für &os; 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 &os; verfügbar.Gibt es irgendwelche Datenbanksysteme für
&os;?Ja! Lesen Sie den Abschnitt
kommerzielle Anbieter auf der &os;-Web-Seite.Schauen Sie auch im Abschnitt Datenbanken
der Ports-Sammlung nach.Kann ich &oracle; unter &os; laufen lassen?
- Ja. Die folgenden Seiten beschreiben genau, wie sich
+ Ja. Informationen zur Installation von
&linux;-&oracle; unter &os;
- installieren lässt:
-
-
-
- http://www.unixcities.com/oracle/index.html
-
-
-
- http://www.shadowcom.net/freebsd-oracle9i/
-
-
+ finden Sie unter http://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 &os;
portierten Softwarepakete zu erhalten. Die Liste
enthält zurzeit &os.numports; Einträge und
wächst täglich. Informieren Sie sich daher
regelmäßig auf dieser Seite oder abonnieren
Sie die Mailingliste &a.announce;, um sich über
Änderungen zu informieren.Die meisten Ports sollten auf den
6.X,
7.X und
8.X-Systemen laufen. Jedes Mal, wenn ein
&os;-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 Packages Menü
in &man.sysinstall.8; (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 CD-ROM-Distribution
verfügen, haben auf ihrer CD ein Verzeichnis packages/All, das solche Dateien
enthält. Für verschiedene &os;-Versionen
können sie von folgenden Adressen auch über das
Netz heruntergeladen werden:für 6.X-RELEASE/6-STABLE
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stablefür 7.X-RELEASE/7-STABLE
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stablefür 8.X-RELEASE/8-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-stablefür 9-CURRENT
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-9-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
+ url="http://www.eyrie.org/~eagle/faqs/inn.html">Dave Barr's
INN-Seite, wo Sie die INN-FAQ finden.Unterstützt &os; &java;?Ja. Informieren Sie sich bitte unter http://www.de.FreeBSD.org/java/.Warum kann ich manche Ports auf meiner
6.X, 7.X oder
8.X-STABLE-Maschine nicht erstellen?Wenn Sie eine &os;-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; (oder &man.csup.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
&os;-Basisquellbaum enthalten?Das Basissystem von &os; 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 &os; 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 &os;-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.Wie dem auch sei, &os;-Benutzer müssen seit
&os; 6.2-RELEASE nicht mehr ohne einen kompatiblen
CVSup-Client auskommen. Dank &a.mux;
wurde CVSup als &man.csup.1; in C neu
geschrieben und ist mittlerweile Teil des Basissystems. Obwohl zur
Zeit noch nicht alle Eigenschaften von
CVSup implementiert sind, ist es gut
genug (und sehr schnell!) darin, ihre Quellen zu synchronisieren.
Für &os;-Systeme vor 6.2 kann es als Port oder Paket
(siehe net/csup) installiert werden.Ich habe die Sourcen aktualisiert, wie aktualisiere
ich jetzt die installierten Ports?&os; 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, siehe Ports
aktualisieren im &os; Handbuch.Muss ich nach der Aktualisierung einer &os;-Hauptversionsnummer
jedes Mal alle Ports neu erstellen lassen?Auf jeden Fall! Während ein aktuelles System mit Software
für eine ältere Version funktionieren wird, werden Sie
mit zufälligen Abstürzen und nicht funktionierenden Ports
zurückbleiben, sobald Sie anfangen, andere Ports zu
installieren oder diejenigen, die Sie bereits haben, aktualisieren
möchten.Wenn das System aktualisiert wird, werden verschiedene
Shared-Libraries, ladbare Module und andere Systembestandteile
mit neueren Versionen ersetzt. Anwendungen, die gegen die älteren Versionen gelinkt sind, werden nicht starten oder in anderen
Fällen nicht korrekt funktionieren.Für weitere Informationen, lesen Sie den Abschnitt über
Betriebssystemupgrades im &os; Handbuch.Muss ich nach der Aktualisierung einer &os;-Unterversionsnummer
jedes Mal alle Ports neu erstellen lassen?Generell nicht. Die &os;-Entwickler tun ihr möglichstes,
um die Binärkompatibilität über alle
Veröffentlichungen mit der gleichen Hauptversionsnummer zu
garantieren. Ausnahmen werden in den Release Notes dokumentiert
und die darin enthaltenen Hinweise sollten befolgt werden.Warum ist /bin/sh so spartanisch?
Warum benutzt &os; 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 lassen, 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 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.wav01.midDie WAV-Dateien können dann in andere Formate
konvertiert werden oder (wie im &os;-Handbuch
beschrieben) auf Audio-CDs gebrannt werden.KernelkonfigurationIch möchte meinen Kernel anpassen. Ist das
schwierig?Überhaupt nicht! Lesen Sie den Abschnitt zur
Kernelkonfiguration im Handbuch.Der neue kernel wird zusammen mit seinen
Modulen im Verzeichnis /boot/kernel installiert werden.
Der alte Kernel und dessen Module wird in das Verzeichnis
/boot/kernel.old
verschoben, damit Sie, wenn Sie einen Fehler beim
herumexperimentieren mit Ihrer Konfiguration gemacht haben, die
vorherige Version Ihres Kernels starten können.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 &os; 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
&rel.current;-RELEASE auf einem System mit
&rel2.current;-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 &os;-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 &os;-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, benutzen Sie daher testweise
auch einmal einen anderen Server.Wie kann ich prüfen, welchen Scheduler das
System benutzt?Überprüfen Sie dazu, ob auf Ihrem System die
sysctl-Variable kern.sched.quantum
existiert. Ist dies bei Ihnen der Fall, werden Sie eine
Ausgabe ähnlich der folgenden sehen:&prompt.user; sysctl kern.sched.quantum
kern.sched.quantum: 99960Wenn die sysctl-Variable kern.sched.quantum
existiert, dann verwenden Sie den 4BSD-Scheduler
(&man.sched.4bsd.4;). 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.sched.quantum?kern.sched.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.Platten, Dateisysteme und Boot LoaderWie kann ich meine neue Festplatte in mein
&os;-System einbinden?Lesen Sie den Abschnitt Hinzufügen
von Laufwerken im Handbuch.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
&man.sysinstall.8; 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 rf -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 rf -
&prompt.root; cd var
&prompt.root; dump 0af - /var | restore rf -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 rf -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
&man.fdisk.8;-Tabelleneinträge (unter &os;
slices genannt) mit einem &os;-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 &os; 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
&man.fdisk.8;-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 &os; 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 &os;-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 &os;
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 &os; 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 &os; 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 &os; sich problemlos
zurechtfinden.Wenn Sie es geschafft haben, dass das BIOS und
&os; 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 mit diesem Befehl 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 &os;-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
/boot/kernel/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. Wenn Sie das Verzeichnis
/tmp direkt auf
/ und 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 &man.ccd.4; 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
&man.ccd.4;-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 &man.ccd.4; 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
(editieren, speichern, beenden)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial labelDer Grund ist, dass der von &man.ccd.4;
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 &os;
mounten?&os; unterstützt verschiedene fremde
Dateisysteme.UFSUFS-CD-ROMs können unter &os; 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.ext2/ext3&os; unterstützt
ext2fs und
ext3fs-Partitionen. Unter
&man.mount.ext2fs.8; finden Sie weitere
Informationen.NTFSEin NTFS-Treiber, der nur Lesezugriffe gestattet,
ist Teil von &os;. Weitere Informationen entnehmen
Sie bitte der Hilfeseite &man.mount.ntfs.8;. Ein Port von
ntfs-3g
+ url="http://www.tuxera.com/community/">ntfs-3g
unterstützt Schreiboperationen auf NTFS (siehe sysutils/fusefs-ntfs).FAT&os; enthält ein FAT-Treiber, der Lese-
und Schreibzugriffe ermöglicht. Weitere
Informationen entnehmen Sie bitte der Hilfeseite
&man.mount.msdosfs.8;.ReiserFS&os; enthält einen Treiber, der Lesezugriffe
auf ReiserFS-Partitionen erlaubt. Weitere Informationen
dazu finden Sie in der Manualpage
&man.mount.reiserfs.8;.ZFSZum jetzigen Zeitpunkt enthält &os; eine
Portierung von &sun;s ZFS Treiber. Die aktuelle Empfehlung
ist, es nur auf &arch.amd64; Plattformen mit ausreichend
Hauptspeicher zu verwenden. Mehr Informationen
finden Sie in der Manualpage &man.zfs.8;.&os; 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;). In Ports die auf FUSE
(sysutils/fusefs-kmod) basieren,
können Sie viele weitere Dateisysteme finden.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,
wird eine Gerätedatei für
Slice 5 im Verzeichnis /dev erstellt, also mounten Sie diese
einfach:&prompt.root; mount -t msdosfs /dev/da1s5 /dos/eGibt es ein verschlüsselndes Dateisystem
für &os;?Ja. Sie können entweder &man.gbde.8; oder &man.geli.8;
einsetzen. Lesen Sie dazu auch den Abschnitt
Partitionen
verschlüsseln des Handbuchs.Wie kann ich den &windowsnt;-Loader zum Booten von
&os; verwenden?Das grundsätzliche Vorgehen besteht darin,
dass Sie den ersten Sektor Ihrer eigentlichen
&os;-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="&os;"
C:\="DOS"
Falls &os; auf derselben Platte, wie die
&windowsnt;-Bootpartition installiert ist, kopieren Sie
einfach /boot/boot1 nach
C:\BOOTSECT.BSD. Falls &os; auf
einer anderen Platte installiert ist, wird
/boot/boot1 nicht funktionieren; Sie
brauchen in diesem Fall
/boot/boot0./boot/boot0 muss mit
&man.sysinstall.8; installiert werden. Wählen Sie dazu den
&os;-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 &man.sysinstall.8;
mit NULL-Zeichen 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 &os; 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 &os; und &linux; mit LILO?Falls sich &os; 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=&os;(hierbei wird angenommen, dass Ihre
&os;-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 &os; 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=&os;In einigen Fällen könnte es sein, dass
Sie beim &os;-Bootloader die BIOS-Laufwerksnummer
angeben müssen, um von der zweiten Platte booten zu
können. Wenn Ihre &os;-SCSI-Platte vom BIOS zum
Beispiel als BIOS-Platte 1 erkannt wird, müssen Sie
am Prompt des &os;-Bootloaders eingeben:Boot: 1:da(0,a)/boot/kernel/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 &os; 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/menu.lst (oder
/boot/grub/grub.conf bei manchen Systemen wie
z.B. Red Hat Linux und dessen Abkömmlinge) aufnehmen.title &os; 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 &os; 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; 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; neu installieren (&windows; 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 msdosfs /dev/fd0c /floppyoder diesen:&prompt.root; mount -t msdosfs /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 &man.sysinstall.8;
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 &man.disklabel.8; oder
&man.sysinstall.8; 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 CD-ROM?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 CD-ROM
mounte?Das bedeutet im allgemeinen, dass sich keine
CD-ROM 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 &os; benutze?Wahrscheinlich werden auf der CD-ROM 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 &os; gebrannt und kann sie
nicht mit anderen Betriebssystemen lesen. Warum?Sie haben wahrscheinlichste eine Datei direkt auf CD
geschrieben, statt ein ISO 9660-Dateisystem 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, CD-ROMs und
andere Wechseldatenträger mounten?Normale Benutzer können dazu berechtigt werden,
Geräte zu mounten. Das geht so:Setzen Sie als root die
sysctl-Variable vfs.usermount auf
1:&prompt.root; sysctl -w vfs.usermount=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
CD-ROM zu gestatten:&prompt.root; chgrp operator /dev/acd0c
&prompt.root; chmod 640 /dev/acd0cSie müssen
zusätzlich /etc/devfs.conf
anpassen, weil diese Einstellungen ansonsten beim
Systemneustart verloren gehen.Damit normale Benutzer beispielsweise 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 msdosfs /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
&os; 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
&man.named.8 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 Dateiberechtigungen 555 besitzen.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 cron
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
suroot werden will?Das ist ein Sicherheits-Feature. Wenn Sie mit
su 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 suroot 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?Starten Sie das System mittels boot -s
an der Loader-Eingabeaufforderung neu, um in den Single-User-Modus
zu gelangen. Wenn Sie aufgefordert werden, den Pfadnamen
der Shell einzugeben, drücken Sie einfach
Enter. Geben Sie danach mount -urw
/ 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?Lesen sie den Handbucheintrag über
Drucker. Es sollte die meisten Ihrer Probleme
behandeln.Einige Drucker benötigen einen auf dem Rechner
laufenden Treiber, um drucken zu können. Diese
so genannten WinPrinter oder
GDI-Drucker werden von &os; nicht
unterstützt und an diesem Zustand wird sich wohl auch
nichts ändern. Wenn Ihr Drucker nicht unter DOS oder
&windows; verwendet werden kann, handelt es sich um
einen WinPrinter und wird in der Regel auch
nicht unter &os; 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 &a.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.:File SystemQuota file/usr/usr/admin/quotas/home/home/admin/quotas……Unterstützt &os; IPC-Grundfunktionen von
System V?Ja, &os; 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 &os;
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
Single-User-Modus 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 -urw /
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.Wenn Sie immer noch dazu aufgefordert werden, das
root Passwort beim Betreten des
Single-User-Modus einzugeben, bedeutet das, dass die Konsole
als insecure in
/etc/ttys markiert wurde. In diesem Fall
ist es notwendig, von einem &os; Installationsmedium zu booten,
die Fixit-Shell auszuwählen und
die oben beschriebenen Befehle einzugeben.Wenn Sie ihre root Partition im Single-User-Modus
nicht mounten können, liegt es möglicherweise
daran, dass die Partionen verschlüsselt sind und es
damit unmöglich ist, sie ohne die
dazugehörigen Schlüssel zu mounten. Ihre
Chancen hängen von der jeweiligen Implementierung
ab. Für weitere Informationen lesen Sie den
Abschnittt über verschlüsselte Partitionen im
&os; Handbuch.Wie verhindere ich, dass das System mit CtrlAltDelete
rebootet werden kann?Falls Sie &man.syscons.4; (der Standard-Treiber für die
Konsole) benutzen, fügen Sie folgende Zeile in Ihre
Kernelkonfigurationsdatei ein:options SC_DISABLE_REBOOTAlternativ können Sie auch die folgende
&man.sysctl.8;-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=0Die beiden oben genannten Methoden schliessen sich
gegenseitig aus: &man.sysctl.8; existiert nicht, wenn Sie ihren
Kernel mit der Option SC_DISABLE_REBOOT
bauen.Falls Sie den &man.pcvt.4; Konsolentreiber verwenden, fügen
Sie die folgende Zeile in die Kernelkonfigurationsdatei hinzu und
bauen Sie einen neuen Kernel:options PCVT_CTRL_ALT_DELWie 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(s)Wobei file(s) eine oder mehrere
zu verarbeitende(n) Datei(en) ist/sind. 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.Die Verwendung des Ports converters/dosunix aus der Ports-Sammlung
stellt eine weitere Möglichkeit dar, DOS-Textdateien neu zu
formatieren. Konsultieren Sie die Dokumentation für weitere
Informationen.Wie beende ich Prozesse namentlich?Benutzen Sie &man.killall.1;.Warum nervt &man.su.1; 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
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 base-Distribution
der von Ihnen benutzten RELEASE neu installieren. Wenn Sie die
CD-ROM besitzen, können Sie sie mounten (wir nehmen an, unter
/cdrom) und folgende Befehle
ausführen:&prompt.root; cd /cdrom/base
&prompt.root; ./install.shAlternativ können Sie mit der Option
NO_KERBEROS in der
/etc/make.conf ein make world
durchführen.Wo ist /dev/MAKEDEV hin?Ab &os; 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.Wie füge ich Pseudo-Terminals zum System
hinzu?Wenn Sie viele Benutzer von telnet,
ssh, X oder screen haben,
werden Ihnen eventuell die Pseudo-Terminals ausgehen.
Standardmässig unterstützt &os; 6.2 und vorherige
Versionen 256 Pseudo-Terminals, während &os; 6.3 und
höher 512 Pseudo-Terminals zur Verfügung stellt.Wenn nötig, können mehr Pseudo-Terminals
hinzugefügt werden. Allerdings muss dafür die
C-Blibliothek, der Kernel und /etc/ttys
erweitert werden. Zum Beispiel erhöht
die Anzahl an Pseudo-Terminals auf 1152. Beachten Sie, dass die
Erweiterung nur für &os; 6.3 oder höher problemlos
funktioniert.Wie lade ich /etc/rc.conf und
starte /etc/rc neu, ohne zu
rebooten?Gehen Sie in den Single-User-Modus und dann
zurück in den Multi-User-Modus.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 &os; normalerweise, dass die Sourcen zur Vorbereitung auf eine
Release eingefroren wurden (in einigen
Releases wurde -BETA anstelle von
-PRERELEASE verwendet).Ausführliche Antwort: Bei &os; gibt es zwei
Quellen für Releases. Die Major Releases wie
7.0-RELEASE und 8.0-RELEASE werden aus dem aktuellen Stand
des Hauptzweiges der Entwicklung (besser und kürzer
als -CURRENT bekannt)
erzeugt. Minor Releases wie 6.3-RELEASE oder 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 6.2-STABLE genannt
wurde, wird der Name in 6.3-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 6.3-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
6.3-RELEASE) erfolgt ist, wird der Zweig in 6.3-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 &man.chflags.1; 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 installieren.Ausführliche Antwort: Wenn die
Sicherheitseinstellung größer als 0 ist,
erlaubt Ihnen &os; 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-Modus installieren oder die
Sicherheitseinstellung in
/etc/rc.conf ändern und dann das
System neu starten. Weitere Details zu
securelevel 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 &os; 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-Modus ändern oder die
Sicherheitseinstellung in
/etc/rc.conf ändern und dann das
System neu starten. Weitere Details zu
securelevel 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 MB
Speicher?Nein, das Programm hat keinen Fehler und es verbraucht
auch nicht 256 MB 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
Versionen von &os; nicht mehr?Die .shosts
Authentifizierung funktioniert nicht mehr, weil
&man.ssh.1; in neueren Versionen von &os; 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 danach &man.ssh.1; 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
+ X.org Foundation
+ definiert und liegt
aktuell in Version 11 Release &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 separates, aber
mit &xorg; verbundenes Projekt, freedesktop.org
+ url="http://www.freedesktop.org/wiki/">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;. Seitdem ist &xorg; in &os; als Standard-X11
implementiert.Weitere Informationen zum X Window System finden Sie im
X11-Kapitel des
&os;-Handbuchs.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; gaben 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; eine veränderte Version benutzt.Ich möchte X benutzen, was muss ich tun?Wenn Sie X auf einem existierenden System installieren
wollen, sollten Sie entweder den Meta-Port
x11/xorg verwenden, der alle
benötigen Komponenten baut und installiert, oder
Sie installieren die &os; &xorg;-Pakete:&prompt.root; pkg_add -r xorgEs ist auch möglich, &xorg; aus &man.sysinstall.8; heraus
zu installieren, indem Sie Configure,
dann Distributions und anschliessend
The X.Org Distribution aufrufen.Lesen Sie nach erfolgreicher Installation von &xorg; den
Abschnitt X11
konfigurieren im &os; Handbuch.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
&man.io.4; 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 &man.syscons.4; (den Standard-Konsolentreiber)
benutzen, können Sie &os; so konfigurieren,
dass auf jedem virtuellen Bildschirm ein Mauszeiger
unterstützt wird. Um Konflikte mit X zu vermeiden,
unterstützt &man.syscons.4; ein virtuelles Gerät mit dem
Namen /dev/sysmouse. Alle Mausbewegungen
und Mausklicks werden in das &man.sysmouse.4; Gerät über
&man.moused.8; geschrieben. Falls Sie Ihre Maus auf einer oder
mehreren virtuellen Konsolen und X
benutzen wollen, sollten Sie zunächst lesen und dann
&man.moused.8; installieren.Die Datei /etc/X11/xorg.conf sollte
die folgenden Einträge enthalten:Section "InputDevice"
Option "Protocol" "SysMouse"
Option "Device" "/dev/sysmouse"
.....
+ Beginnend mit &xorg; 7.4 werden Angaben im Abschnitt
+ InputDevice von
+ xorg.conf ignoriert. Stattdessen wird
+ die automatisch detektierten Werte zurückgegriffen. Um
+ das alte Verhalten zu reaktivieren, fügen Sie die
+ folgende Zeile entweder in den Abschnitt
+ ServerLayout oder
+ ServerFlags ein:
+
+ Option "AutoAddDevices" "false"
+
Einige Leute ziehen es vor, unter X
/dev/mouse zu benutzen. Hierzu
sollte /dev/mouse nach
/dev/sysmouse
(lesen Sie &man.sysmouse.4;) gelinkt werden, indem Sie die folgende
Zeile in /etc/devfs.conf (siehe auch
&man.devfs.conf.5;) hinzufügen:link sysmouse mouseDie Verknüpfung kann durch Neustart von &man.devfs.5;
über das folgende Kommando (als root)
erzeugt werden:&prompt.root; /etc/rc.d/devfs restartKann 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_tcpWas 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 &os; 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 (siehe &man.ttys.5;) und fügen
Einträge für ttyv8 bis
zu ttyvc nach dem Kommentar zu
virtuellen Terminals ein:
# Edit the existing entry for ttyv8 in /etc/ttys and change
# "off" to "on".
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 so viele, wie Sie
möchten. Je mehr virtuelle Terminals Sie benutzen,
desto mehr Ressourcen werden gebraucht; das kann wichtig
sein, wenn Sie 8 MB 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 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 &man.ttys.5;-Methode hat den Vorteil, dass
dokumentiert ist, auf welchem vty X gestartet wird und der
Neustart des X-Servers beim Abmelden an &man.init.8;
übergeben wird. Die &man.rc.8;-Methode erleichtert
den Aufruf von killxdm,
falls Probleme beim Start des X-Servers auftreten sollten.Beim Laden von &man.rc.8; sollte xdm
ohne irgendwelche Argumente (das heißt als Daemon)
gestartet werden. Das Kommando xdm muss
gestartet werden nachdem &man.getty.8;
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
&os;-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
in der Datei /etc/fbtab eine nicht
auskommentierte Zeile der folgenden Art befindet:/dev/ttyv0 0600 /dev/consoleDas 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
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 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?Die detaillierte Antwort auf diese Frage können Sie im
Abschnitt Splash-Screens
während des Systemstarts des Handbuchs
nachlesen.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 Tasten wie folgt:115 - Windows-Taste
zwischen den Ctrl- und
Alt-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 den x11-wm/fvwm2 Port 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 &xorg; und welche
Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz
besitzen, benutzen Sie die binären Treiber für &os;,
indem Sie einen der folgenden Ports installieren:Die aktuelle Version von NVIDIA-Karten wird durch den Port
x11/nvidia-driver
unterstützt.NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch
die 96XX Treiber unterstützt, die im x11/nvidia-driver-96xx Port
bereitgestellt werden.Sogar ältere Karten wie die GeForce und RIVA TNT
sind durch die 71XX Treiberserie verfügbar, die im Port
x11/nvidia-driver-71xx enthalten
ist.Tatsächlich liefert NVIDIA detaillierte Informationen
darüber, welche Karte von welchem Treiber unterstützt
wird. Diese Information finden Sie auf der Website von NVIDIA:
.Für Matrox G200/400 sehen Sie sich den Port x11-servers/mga_hal an.Bei ATI Rage 128 und Radeon lesen Sie die
Anleitungen &man.ati.4x;, &man.r128.4x; und &man.radeon.4x;.Fü 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen
x11-servers/driglide Port.NetzwerkeWoher kann ich Informationen über Diskless
Booting bekommen?Diskless Booting bedeutet, dass
die &os;-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 &os;-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 &os; ans
Internet anbinden?Personen, die diese Frage stellen, haben
typischerweise zwei PCs zu Hause: einen mit &os; und
einen mit einer &windows;-Variante. Die Idee ist, die
&os;-Maschine an das Internet anzubinden, um in der
Lage zu sein, von der &windows;-Maschine über die
&os;-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 &os; 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 &os; 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-Abschnitt
des Handbuchs.Wie verbinde ich zwei &os;-Maschinen mit PLIP
über die parallele Schnittstelle?Dieses Thema wird im Handbuch-Kapitel PLIP
behandelt.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 192.0.2.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 0xffffff00Sie können mehr darüber im &os; Handbuch
nachlesen.Wie 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 &os;?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 den folgenden Befehl:&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 dieses Kommando:&prompt.root; mount -o -P sunbox:/blah/mntWarum meldet mir mountd auf meinem
&os; 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
von &os; 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 &os;-Systemstarts automatisch gestartet.In aktuellen Versionen von &os; sind die Programme
&man.mrouted.8;, der Multicast Routing Dienst, &man.map-mbone.8;
und &man.mrinfo.8; nicht mehr im Basissystem enthalten. In der
&os; Ports-Sammlung sind diese Programme unter net/mrouted erhältlich.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?Lesen Sie die Antwort im &os; Handbook.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 &os;-Firewall finden Sie im Kapitel Firewalls
des Handbuchs.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 Port sysutils/socket umleiten. 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 &os; gibt es drei
Bandbreiten-Managementtools. &man.dummynet.4; ist als
Teil von &man.ipfw.4; in &os; integriert.
ALTQ
+ url="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ
ist in &os; Bestandteil von &man.pf.4;. 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:device bpf # Berkeley Packet FilterHabe 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
&man.mount.smbfs.8; im Basissystem verfügbar.Was bedeutet die Meldung
Limiting icmp/open port/closed port response
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 &os; 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.Warum sehe ich ständig Nachrichten wie:
192.168.0.10 is on fxp1 but got reply from
00:15:17:67:cf:82 on rl0 und wie stelle ich
das ab?Weil ein Paket unerwartet von ausserhalb des Netzwerks
empfangen wurde. Um die Nachrichten abzustellen, ändern Sie
net.link.ether.inet.log_arp_wrong_iface auf
0.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 &xorg;-System
besitzt. Wenn Sie das GUI von
CVSup benutzen wollen, müssen Sie
&xorg; 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 oder den net/csup Port. Falls Sie ein aktuelles
&os; Release besitzen, können Sie &man.csup.1;
verwenden. 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 detaillierte 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 &man.inetd.8;).
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:Zurücksetzen 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 zumindest 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) auf hohen Ports
auf Anfragen?&os; benutzt eine Version von BIND, die einen Port mit einer
hohen, zufälligen Nummer für den Versand von Anfragen
nutzt. Aktuelle Versionen wählen einen neuen, zufälligen
UDP-Port für jeden Query. Das kann für manche
Netzwerkkonfigurationen Probleme verursachen, besonders wenn eine
Firewall eingehende UDP-Pakete auf bestimmten Ports blockiert.
Wenn Sie durch eine solche Firewall wollen, können Sie die
avoid-v4-udp-ports und
avoid-v6-udp-ports Optionen ausprobieren, um
ein zufälliges Auswählen von Portnummern innerhalb eines
blockierten Bereiches zu verhindern.Wenn eine Portnummer (wie 53) über die Optionen
query-source oder
query-source-v6 in
/etc/namedb/named.conf spezifiziert ist,
wird zufällige Portauswahl nicht verwendet. Es wird
dringend empfohlen, dass diese Optionen nicht für die
Spezifikation von festen Portnummern verwendet wird.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 der sendmail-Dienst
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 steigender
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 &os; 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 nicht installiert. Wenn 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 perl bauen.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 und die Datei
/var/log/ppp.log existiert:!ppp
*.* /var/log/ppp.log
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
vergessen haben, die Zeile HISADDR in der Datei
ppp.conf hinzuzufügen.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 in Ihrer Datei
/etc/ppp/ppp.linkup:MYADDR:
delete ALL
add 0 0 HISADDR
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 folgende Zeile eingestellt werden,
wobei NNN die Inaktivität in
Sekunden angibt, bevor die Verbindung geschlossen wird:set timeout NNNFalls 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. Das &man.ppp.8;-Programm folgert daraus, dass die
Verbindung nicht in Ordnung ist und schließt sie.
Vor &os; Version 2.2.5 war LQR standardmäßig
aktiviert; nun ist es standardmäßig
deaktiviert. Es kann durch die 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
&usrobotics; &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 µsoft; 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 µsoft;-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;
mit Debugging-Informationen neu und benutzen dann &man.gdb.1;, um
von dem hängenden ppp Prozess eine
Aufzeichnung des Stacks zu erstellen. Um die
ppp Anwendung mit
Debugging-Informationen zu übersetzen, geben Sie folgendes
ein:&prompt.root; cd /usr/src/usr.sbin/ppp&prompt.root; env DEBUG_FLAGS='-g' make clean
&prompt.root; env DEBUG_FLAGS='-g' make installAnschliessend sollten Sie ppp neu
starten und darauf warten, dass es wieder hängt. Wenn die
Debug-Version von ppp hängt,
starten Sie gdb für den
steckengebliebenen Prozess, indem Sie folgendes eingeben:&prompt.root; gdb ppp `pgrep ppp`An der Eingabeaufforderung von gdb
können Sie die Befehle bt oder
where benutzen, um eine Aufzeichnung des Stacks
zu erhalten. Speichern Sie die Ausgabe der
gdb-Sitzung und
trennen Sie den laufenden Prozess über den
quit Befehl von
gdb.Schicken Sie zum Schluss das Log der
gdb-Sitzung an &a.brian;.Warum passiert nach der Nachricht Login
OK! nichts?Bei &os;-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.
Es wurde auch schon berichtet, dass dies bei der
Benutzung von slirp regelmäßig auftritt. Der
Grund hierfür ist, dass das &man.ppp.8; auf der
Client-Seite in der Zeit, die benötigt wird, &man.getty.8; zu
beenden und &man.ppp.8; 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 folgenden Befehl geschehen:set openmode passiveDiese 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 folgende Befehl (wobei
N die Wartezeit in Sekunden vor Beginn
der Verhandlungen angibt) benutzt werden:set openmode active NWeitere 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). Das Programm
ppp wartet auf die Beendigung des
Befehls, bevor es seine Arbeit fortsetzt. Falls Sie versuchen,
die PPP-Verbindung während der Programmausführung zu
benutzen, wird es so aussehen, als wäre die Verbindung
eingefroren. Das liegt daran, 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 mit der
folgenden Zeile aktiviert werden:enable lqrLQR wird standardmäßig akzeptiert, wenn es
vom Partner ausgehandelt wird.Warum wählt &man.ppp.8; im Modus
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
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 expect-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?Das Programm 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 ppp noch andere Programme
sollten Core-Dumps erzeugen. Da &man.ppp.8; mit der effektiven
Benutzerkennung 0 ausgeführt wird, wird das
Betriebssystem das Coreimage von &man.ppp.8; 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 die Systemquellen installieren und
folgendes tun:&prompt.root; cd/usr/src/usr.sbin/ppp
&prompt.root; echoSTRIP= >> /etc/make.conf
&prompt.root; echoCFLAGS+= >> /etc/make.conf
&prompt.root; makeinstallcleanNun 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 &man.gdb.1; vertraut sind,
könnten Sie weitere Einzelheiten herausfinden, z.B.
wodurch der Fehler tatsächlich hervorgerufen wurde
oder die Adressen und Werte der betreffenden Variablen.Warum bekommt das Programm, das eine Anwahl im Modus
ausgelöst hat, keine Verbindung?Dies war ein bekanntes Problem bei
&man.ppp.8;-Konfigurationen, bei denen im Modus
dynamische, lokale IP-Adressen mit dem
Partner ausgehandelt werden. Das Problem ist bereits seit einiger
Zeit 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
&man.tun.4;-Schnittstelle dem Socketendpunkt zugeordnet wird. Der
Kernel erstellt das erste ausgehende Paket und schreibt es
in das &man.tun.4;-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
&man.tun.4;-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, die
bind()-Funktion 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 &man.ioctl.2; 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 &man.libalias.3; 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 &man.tcpdump.1; auf der &man.tun.4;-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
&man.libalias.3;. Beispiele für spezielle
Fälle finden Sie in
/usr/src/sys/netinet/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
µsoft;) 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.Eine der möglichen Lösungen für dieses
Problem ist die Erzeugung des folgenden Schlüssels in
der Registry des Windows-Clients mit
regedit: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
DWORDTcpip\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, mit denen man die
TCP/IP-Einstellungen bearbeiten kann. Wenn Sie als
&macos;-Anwender NAT benutzen, suchen Sie ihre MTU-Einstellungen
und geben Sie dort 1450 statt
1500 ein.&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 net/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 &os;. PPP und SLIP werden im
Abschnitt Netzwerke behandelt.Wie kann ich feststellen, ob &os; meine seriellen
Schnittstellen gefunden hat?Wenn der &os; 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 folgenden Befehl aus, nachdem Ihr System
hochgefahren ist und läuft:&prompt.user; dmesg | grep -E "^sio[0-9]"Hier ist ein Beispiel einer Ausgabe nach dem oben
genannten Befehl:
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550AEs 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 &os; meine Modemkarten
gefunden hat?Die vorherige Frage sollte darauf eine Antwort geben.Wie kann ich auf die seriellen Schnittstellen in
&os; zugreifen?Die in &man.sio.4; beschriebene serielle Schnittstelle
sio2 (COM3
unter &ms-dos;/&windows;), ist
/dev/cuad2 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
cuadX
Gerät inaktiv und der Empfangssignalpegel
Mit Empfangssignalpegel oder
Trägersignalerkennung wird hier
die carrier detect
Leitung bezeichnet.
aktiv ist. Wird das
cuadX
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
cuadX
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 Datei
&man.device.hints.5;. Aber achten Sie darauf, den
IRQ nur in einem der Einträge zu platzieren. 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 folgende Option in der
Kernelkonfigurationsdatei:options COM_MULTIPORTDas folgende /boot/device.hints Beispiel
ist geeignet für eine AST Karte mit 4 seriellen
Schnittstellen, die IRQ 12 benutzt:hint.sio.4.at="isa"
hint.sio.4.port="0x2a0"
hint.sio.4.flags="0x701"
hint.sio.5.at="isa"
hint.sio.5.port="0x2a8"
hint.sio.5.flags="0x701"
hint.sio.6.at="isa"
hint.sio.6.port="0x2b0"
hint.sio.6.flags="0x701"
hint.sio.7.at="isa"
hint.sio.7.port="0x2b8"
hint.sio.7.flags="0x701"
hint.sio.7.irq="12"Die Flags zeigen an, dass die Master-Schnittstelle die
Minor-Nummer 7 (0x700) hat
und dass sich alle Schnittstellen einen IRQ teilen
(0x001).Kann &os; 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?Lesen Sie den Abschnitt Serielle
Datenübertragung im &os; Handbuch.Wie kann ich Einwahl-Logins über mein Modem
aktivieren?Lesen Sie dazu bitte den Abschnitt über Einwählverbindungen
im &os; Handbuch.Wie kann ich ein Hardware-Terminal mit meiner &os; Box
verbinden?Diese Information können Sie im Abschnitt Terminals im &os;
Handbuch finden.Warum kann ich tip oder
cu nicht laufen lassen?Auf Ihrem System können die Programme
&man.tip.1; und &man.cu.1; auf das Verzeichnis /var/spool/lock nur über den
Benutzer uucp und die Gruppe
dialer zugreifen. 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?Lesen Sie diese
Antwort im &os; Handbuch.Wie soll ich die AT Befehle eingeben?Im &os; Handbuch finden Sie dazu diese
Antwort.Wieso funktioniert das @
Zeichen für die pn Fähigkeit
nicht?Lesen Sie dazu diese
Antwort im &os; Handbuch.Wie kann ich von der Kommandozeile eine Telefonnummer
wählen?Lesen Sie diese
Antwort im &os; Handbuch.Muss ich dabei jedes Mal die bps Rate
angeben?Im &os; Handbuch finden Sie dazu diese
Antwort.Wie kann ich möglichst komfortabel über
einen Terminal-Server auf verschiedene Rechner
zugreifen?Lesen Sie im &os; Handbuch diese
Antwort.Kann tip mehr als eine Verbindung für jede Seite
ausprobieren?Lesen Sie diese
Antwort im &os; Handbuch.Warum muss ich zweimal CtrlP
tippen, um ein CtrlP
zu senden?Im &os; Handbuch finden Sie dazu diese
Antwort.Warum ist auf einmal alles was ich schreibe in
GROSSBUCHSTABEN??Lesen Sie im &os; Handbuch diese
Antwort.Wie kann ich Dateien mit tip
übertragen?Lesen Sie diese
Antwort im &os; Handbuch.Wie kann ich zmodem mit tip
laufen lassen?Sie finden dazu diese
Antwort im &os; Handbuch.Verschiedene Fragen&os; benutzt viel mehr Swap-Speicher als &linux;.
Warum?Es sieht nur so aus, als ob &os; mehr Swap benutzt,
als &linux;. Tatsächlich ist dies nicht der Fall. In
dieser Hinsicht besteht der Hauptunterschied zwischen
&os; und &linux; darin, dass &os; 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 &os; 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 &os; 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, wenn möglich; die Zugriffsrechte
für die Datei, auf die der symbolische Link zeigt, werden also
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
bar nicht geändert.Wenn Sie die Zugriffsrechte in der Dateihierarchie an der
Wurzeldatei anstatt der Datei selbst ändern möchten,
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 &os; ausführen?Ja. Sie können
emulators/doscmd
verwenden, das über die Ports-Sammlung verfügbar
ist.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.Sie können auch emulators/dosbox aus der &os; Ports
Sammlung ausprobieren. Der Hauptaugenmerk liegt bei dieser
Anwendung auf der Emulation alter DOS Spiele, deren Dateien sich im
lokalen Dateisystem befinden.Was muss ich tun, um die &os;-Dokumentation in
meine Muttersprache zu übersetzen?Informationen zu diesem Thema finden Sie auf der Webseite des
&os; 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 &os; 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 &os;-Account bekommen?Das &os; 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
&os;. M-Net bietet Zugang mit
Telnet und
SSH
und den Zugang zur gesamten Software von &os;. 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 SUN 4M 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. Es wurde benutzt, um entfernte
Sites mit den zentralen Quellcodeentwicklungen des Projekts 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 &a.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
&os;-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 &a.hackers.name;,
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 &os;?Q. Hat irgend jemand Temperaturmessungen
durchgeführt, während &os; läuft? Ich
weiss, dass &linux; cooler läuft, als DOS, habe
aber niemals gesehen, dass &os; 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 &os;
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, &os; 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 &os; Ihre CPU auch in einen Low-Power-Modus bringen.Wer kratzt in meinen Speicherbänken??Q. Gibt es irgend etwas seltsames, das
&os; 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 &os;-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 &os;
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, &os; 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 &os; 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
:-)&a.tabthorpe; sagt: Keine,
echte &os; Hacker fürchten sich nicht
vor der Dunkelheit!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 &os;
erfahren?Zurzeit gibt es nur ein Buch über die Interna von
&os;, The Design and Implementation of the &os;
Operating System von Marshall Kirk McKusick und
George V. Neville-Neil, ISBN 0-201-70245-2, das sich auf
&os; 5.X konzentriert.Allgemeines Wissen über &unix; kann
allerdings in den meisten Fällen auf &os;
angewendet werden.Eine Liste finden Sie im entsprechenden Abschnitt der
Bibliographie.Wie kann ich bei der Entwicklung von &os; mitarbeiten?Genauere Informationen finden Sie im Artikel &os;
unterstützen. Wir können Hilfe
immer gut gebrauchen!Was sind Snapshots und RELEASEs?Derzeit existieren drei aktive/halbaktive Zweige im
&os;-CVS-Repository. In früheren Zweigen
ändert sich wenig, daher gibt es nur drei
aktive Entwicklungszweige:RELENG_7 bzw.
6-STABLERELENG_8 bzw.
7-STABLEHEAD bzw.
-CURRENT oder
9-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
9.X-Entwicklungsstrom. Der
7-STABLE-Zweig (RELENG_7)
wurde von -CURRENT im Februar 2008 und der
8-STABLE-Zweig (RELENG_7) im
November 2009 von -CURRENT abgespalten.Wie kann ich meine eigene, angepasstes Release
erstellen?Eine Anleitung dazu finden Sie im Artikel
&os; 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.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 1392 KB-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/release/Makefile.ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k -Ich habe eine Kernelerweiterung geschrieben. An wen
sende ich sie?Lesen Sie bitte den Artikel
&os; 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
µsoft;/&intel;) kleiner als Xoff-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. Die
Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb
X vorhanden sind. Schließlich 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
264.Die IDs bestehen aus zwei 32-Bit-Feldern (daher
264) + 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 oder etwas
anderes, 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.µsoft; 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 µsoft;
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; Versionen stellen seit Februar 2003
Major-Numbers für Geräte automatisch zur Laufzeit
bereit (lesen Sie &man.devfs.5;), damit ist das nicht mehr
nötig.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.&a.mckusick;, September 1998Wie kann ich optimalen Nutzen aus einer kernel panic
ziehen?Hier ist eine typische Kernel-PanicFatal 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 faultWenn Sie eine Meldung wie diese sehen, reicht es
nicht, sie einfach zu reproduzieren und sie einzusenden.
Der Wert des Instruktionszeigers 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/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 Instruktionszeigers 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 noch einmal, z.B.:&prompt.user; nm/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.Wie dem auch sei, der beste Weg, den Grund für eine Panik
herauszufinden, ist der, einen Crash-Dump festzuhalten und
dann &man.kgdb.1; zu benutzen, um den Stack im Crash-Dump
zurückzuverfolgen.Jedenfalls ist die Methode, die ich normalerweise
benutze, folgende:Sorgen Sie dafür, dass die folgende Zeile in der
Kernelkonfigurationsdatei
(/usr/src/sys/arch/conf/MYKERNEL) enthalten ist:makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbolsWechseln Sie in das Verzeichnis usr/src:&prompt.root; cd/usr/srcErstellen Sie den Kernel:&prompt.root; makebuildkernelKERNCONF=MYKERNELWarten Sie, bis &man.make.1; den Kernel fertig kompiliert
hat.&prompt.root; makeinstallkernelKERNCONF=MYKERNELStarten Sie das System neu.Falls Sie die make-Variable KERNCONF
nicht verwenden, wird ein GENERIC Kernel
gebaut und installiert.Der &man.make.1;-Prozess wird zwei Kernel
erstellt haben:
/usr/obj/usr/src/sys/MYKERNEL/kernel
und
/usr/obj/usr/src/sys/MYKERNEL/kernel.debug.
kernel wurde als
/boot/kernel installiert, während
kernel.debug als Quelle für
Debuggersymbole für &man.kgdb.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 &os; sind für
gewöhnlich genauso groß wie der physikalische
Hauptspeicher Ihres Rechners. Das heißt, wenn Sie
512MB RAM haben, werden sie einen 512MB 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=N, wobei
N die Größe des verwendeten
Kernelspeichers in KBs ist. Wenn Sie z.B. 1 GB RAM haben,
können Sie die Speicherbenutzung des Kernels damit auf
128 MB begrenzen, so dass die Größe Ihres
Crash-Dumps 128 MB anstatt 1 GB betragen wird.Wenn Sie den Crash-Dump wiederhergestellt haben,
können Sie den Stack mit &man.kgdb.1; so
zurückverfolgen:&prompt.user; kgdb/usr/obj/usr/src/sys/MYKERNEL/kernel.debug/var/crash/vmcore.0(kgdb)backtraceBeachten 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.kgdb.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.kgdb.1; auch
für entferntes Debugging konfigurieren, so dass
Sie &man.kgdb.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.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.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 auf i386
vergrössern oder verkleinern?Standardmäßig beträgt der
Adressraum des Kernels 1 GB (2 GB für PAE)
auf i386. Wenn Sie einen netzwerkintensiven Server
(z.B. einen großen FTP- oder HTTP-Server) betreiben, oder
ZFS verwenden möchten, kann es sein, dass Sie der Meinung
sind, dass das nicht ausreichen.Fügen Sie die folgende Zeile zu ihrer
Kernelkonfigurationsdatei hinzu, um den verfügbaren Speicher
zu erhöhen und erstellen Sie dann einen neuen Kernel:options KVA_PAGES=NUm den richtigen Wert von N zu
bestimmen, teilen Sie den gewünschte Größe
des Addressraumes (in Megabyte) durch vier (z.B. beträgt er
512 für 2 GB).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/book.sgml b/de_DE.ISO8859-1/books/fdp-primer/book.sgml
index cd9418e597..d56bf82bbd 100644
--- a/de_DE.ISO8859-1/books/fdp-primer/book.sgml
+++ b/de_DE.ISO8859-1/books/fdp-primer/book.sgml
@@ -1,305 +1,307 @@
%books.ent;
%chapters;
]>
Die Fibel für neue Mitarbeiter des
FreeBSD-Dokumentationsprojekts199819992000200120022003200420052006200720082009
+ 2010The FreeBSD Documentation Project199819992000200120022003200420052006200720082009
+ 2010The FreeBSD German Documentation Project$FreeBSD$$FreeBSD$
&bookinfo.legalnotice;
Vielen Dank für Ihr Interesse und Ihre Mitarbeit an
der FreeBSD-Dokumentation. Jeder Beitrag ist für uns sehr
wichtig.In dieser Fibel wird von der eingesetzten Software bis hin
zu den Vorstellungen des FreeBSD-Dokumentationsprojekts alles
behandelt, was Sie wissen müssen, wenn Sie sich am
FreeBSD-Dokumentationsprojekt beteiligen wollen.Bitte beachten Sie, dass diese Fibel
jederzeit unter Bearbeitung und noch
nicht vollständig ist.BenutzungshinweiseDie EingabeaufforderungenDie folgende Tabelle zeigt die normale Eingabeaufforderung
des Systems und die Eingabeaufforderung des Superusers. Die in
diesem Buch vorkommenden Beispiele benutzen die jeweilige
Eingabeaufforderung, um zu zeigen, unter welchem Benutzer die
Beispiele ausgeführt werden sollten.BenutzerEingabeaufforderungNormaler Benutzer&prompt.user;Superuser&prompt.root;Typographische FestlegungenUm die Lesbarkeit zu erhöhen, werden in diesem
Dokument die im folgenden genannten typographischen
Festlegungen verwendet:BedeutungBeispielKommandonamenGeben Sie ls -a ein, um alle
Dateien anzuzeigen.Datei- und VerzeichnisnamenBearbeiten Sie die Datei
.login.Bildschirmein- und ausgabenYou have mail.Referenzen auf HilfeseitenMit &man.su.1; können Sie sich als ein anderer
Benutzer anmelden.Benutzer- und GruppennamenIch bin root, ich darf
das.HervorhebungenHier müssen Sie
vorsichtig sein.Argumente auf der Kommandozeile, die durch
existierende Namen, Dateien oder Variablen ersetzt
werden müssenDateien können Sie mit dem Befehl
rm
Dateiname
löschen.Umgebungsvariablen$HOME ist Ihr
Benutzerverzeichnis.Anmerkungen, Tips, wichtige Hinweise, Warnungen und
BeispielAn einigen Stellen innerhalb dieses Buchs werden
wichtige oder nützliche Hinweise gegeben, die besonders
hervorgehoben sind. Hier ein kurzer Überblick über
die verwendeten Darstellungen.Anmerkungen werden so dargestellt. Sie enthalten
Informationen die Sie nur zu lesen brauchen, wenn Sie direkt
davon betroffen sind.Tipps sind Informationen, die vielleicht hilfreich sein
könnten oder aufzeigen, wie bestimmte Dinge einfacher
zu bewerkstelligen sind.Besonders wichtige Punkte werden so hervorgehoben. Meist
enthalten sie Hinweise auf vielleicht zusätzlich auszuführende
Schritte oder Dinge, die besonders zu beachten sind.Warnungen werden wie dieser Abschnitt dargestellt und
weisen auf mögliche Schäden hin, die entstehen
können, falls die beschriebenen Schritte nicht genau
befolgt oder Hinweise nicht beachtet werden. Die Palette der
möglichen Schäden reicht von Hardwareschäden
bis hin zu Datendatenverlust durch ein versehentliches
Löschen von wichtigen Dateien oder ganzen
Verzeichnissen.Ein BeispielBeispiele, die so wie hier dargestellt werden, enthalten
meist kleine Übungen, die nachvollzogen werden sollten,
um das vorher beschriebene besser zu verinnerlichen oder mit
den erzeugten Ausgaben vertraut zu werden.DanksagungenIch möchte mich bei Sue Blake, Patrick Durusau, Jon
Hamilton, Peter Flynn und Christopher Maden bedanken, die sich
die Zeit genommen haben, die frühen Entwürfe dieses
Dokuments zu lesen und viele hilfreiche Hinweise und
Ratschläge gegeben haben.
&chap.overview;
&chap.tools;
&chap.sgml-primer;
&chap.sgml-markup;
&chap.stylesheets;
&chap.structure;
&chap.doc-build;
&chap.the-website;
&chap.translations;
&chap.writing-style;
&chap.psgml-mode;
&chap.see-also;
&app.examples;
diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
index 2ab00ca754..f8304bf378 100644
--- a/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
+++ b/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
@@ -1,1970 +1,1970 @@
Die SGML-FibelDie Mehrzahl der Dokumente des FDPs sind in SGML geschrieben.
Ziel dieses Kapitels ist es, genau zu erklären, was
das bedeutet und wie man die SGML-Quellen liest und versteht.
Ebenso werden die in den Quellen genutzten Kniffe erklärt,
auf die man beim Lesen der Dokumente stoßen wird.Teile dieses Kapitels basieren auf Mark Galassis Get
Going With DocBook.ÜberblickIn den guten alten Zeiten war der Umgang mit
elektronischem Text einfach. Man musste
lediglich wissen, welcher Zeichensatz (ASCII, EBCDIC oder ein
anderer) vorlag. Text war einfach Text und sah so aus, wie man
ihn sah. Keine Extras, keine Formatierungen und kein sonstiger
Schnickschnack.Für viele Zwecke war dies allerdings nicht ausreichend.
Von einem machinenlesbaren Text wird erwartet, dass er auch von
Maschinen gelesen und intelligent weiterverarbeitet werden kann.
Einzelne Stellen sollen hervorgehoben werden, andere sollen in ein
Glossar aufgenommen werden oder auf andere Textstellen
verweisen. Dateinamen wiederum sollen in einer
schreibmaschinenähnlichen Schrift auf dem
Bildschirm dargestellt werden, der Ausdruck soll jedoch in
Schrägschrift oder in einer beliebigen anderen
Darstellungsform erfolgen.Anfänglich gab es die Hoffnung, dass die
Künstliche Intelligenz (KI) helfen würde, dieses Ziel
zu erreichen. Computer sollte den Text lesen und dazu in der Lage
sein, selbstständig wichtige Formulierungen, Dateinamen,
Benutzereingaben oder Beispiele zu erkennen. Leider verlief die
Entwicklung in diesem Bereich nicht wie gewünscht und Computer
benötigen nach wie vor etwas Unterstützung, bevor sie
Texte vernünftig verarbeiten können.Genauer gesagt, man muss ihnen sagen, was was ist. Sehen
wir uns folgende Zeilen an:
Löschen Sie /tmp/foo mittels &man.rm.1;.&prompt.user; rm /tmp/foo
Es fällt uns leicht, zu erkennen, was ein Dateiname, ein
einzugebender Befehl oder ein Verweis auf eine Hilfeseite ist. Das
kann ein Computer, der einen Text verarbeitet, nicht. Aus diesem
Grund ist es notwendig, Texte mit weiteren Informationen
auszuzeichnen.Der Begriff AuszeichnungIm
angelsächischschen Sprachraum wird von
markup
gesprochen. bedeutet, dass
sich der Wert eines Textes erhöht, aber auch seine Kosten.
Durch Auszeichnungen wird einem Dokument zusätzlicher Text
hinzugefügt, der aber von dem eigentlichen Dokumenteninhalt
auf eine bestimmte Art und Weise unterschieden werden kann, so
dass Programme die Auszeichnung erkennen können und
mittels dieser Informationen während der Verarbeitung in
der Lage sind, Entscheidungen zu treffen. Texteditoren
können diese Auszeichnungselemente vor dem Benutzer
verbergen, um zu vermeiden, dass er durch sie abgelenkt
wird.Die durch die Auszeichnungselemente im Textdokument
zusätzlich abgelegten Informationen erhöhen den Wert
des Dokuments. Allerdings muss diese Arbeit in den meisten
Fällen von einem Menschen getan werden – wären
Maschinen dazu fähig, wären zusätzliche
Auszeichnungselemente unnötig. Der damit verbundene Aufwand
erhöht die Kosten, die durch die
Erstellung des Dokuments entstehen.Das etwas weiter oben gegebene Beispiel sieht im Quelltext
so aus:Löschen Sie /tmp/foo mittels &man.rm.1;.
&prompt.user; rm /tmp/foo]]>Die Auszeichnungselemente sind deutlich vom eigentlichen
Inhalt zu unterscheiden.Die Einführung von Auszeichnungselementen setzt voraus,
dass festgelegt wird, welche Bedeutung einzelne Elemente haben
und wie diese interpretiert werden. Sie brauchen daher eine
Auszeichnungssprache, der Sie folgen, wenn Sie eigene
Dokumente verfassen.Natürlich kann es keine universelle
Auszeichnungssprache geben und eine einzige mag nicht
ausreichend für alle möglichen Anwendungsfälle
sein. Eine Sprache für technische Dokumente wird sich
wahrscheinlich stark von einer für Kochrezepte
unterscheiden. Die universelle Lösung ist eine
Basissprache, mit deren Hilfe weitere Sprachen entwickelt werden
können – eine
Meta-Auszeichungssprache also.Genau diese Anforderung wird von der Standard Generalized
Markup Language (SGML) erfüllt. Mit ihrer
Hilfe wurden viele andere Auszeichungssprachen wie
beispielsweise HTML und DocBook, welche beide von FDP genutzt
werden, entwickelt.Die eigentliche Sprachdefinition erfolgt in einer
Dokumenten-Typ-Definition (DTD). Innerhalb dieser DTD werden die
Namen der einzelnen Elemente, deren mögliche Reihenfolge
und Verschachtelung sowie weitere Informationen
festgelegt.Eine DTD ist eine
vollständige Definition aller
möglichen Sprachelemente, ihrer
ReihenfolgeBei natürlichen Sprachen spricht
man vom Satzbau – demjenigen Konstrukt, das unter
anderem die Position des Subjekts, Objekts und
Prädikats in einem Satz festlegt.,
optionaler Elemente und so weiter und so weiter. Dank dieser
recht formalen Festlegung ist es möglich,
SGML-Parser zu entwickeln, die sowohl ein
Dokument als auch seine DTD einlesen und anhand dieser DTD
prüfen können, ob das Dokument allen Anforderungen der
DTD entspricht. Dieser Vorgang wird allgemein als
Validierung des Dokuments
bezeichnet.Das Validieren eines SGML-Dokuments gegen eine DTD
überprüft lediglich die korrekte Syntax des
Dokuments, dass heißt, ob nur gültige
Auszeichnungselemente verwendet wurden und ihre Reihenfolge
stimmt. Dabei wird nicht geprüft, ob
die Elemente der DTD sinngemäß
verwandt wurden. Sollten beispielsweise alle Dateinamen als
Funktionsnamen ausgezeichnet worden sein, so würde der
Parser keinen Fehler signalisieren. Formaler ausgedrückt:
Der Parser prüft die Syntax, aber nicht die
Semantik.Es ist anzunehmen, dass, wenn man selber vor hat
Dokumentation für das FDP zu schreiben, der
größte Teil davon mit Hilfe von HTML oder DocBook
geschrieben werden wird. Aus diesem Grunde wird an dieser Stelle
nicht erklärt, wie eine DTD entwickelt wird.Von Elementen, Tags und AttributenAlle in SGML geschriebenen DTDs haben bestimmte gemeinsame
Eigenschaften. Das ist nicht verwunderlich, da sich die hinter
SGML stehende Idee unweigerlich bemerkbar macht. Zwei der
markantesten Merkmale dieser Idee sind die Begriffe
Inhalt und
Element.Von einem Dokument, unabhängig, ob es sich um eine
einzelne Webseite oder ein langes Buch handelt, wird angenommen,
dass es einen wie auch immer gearteten Inhalt hat. Dieser
lässt sich selbst wiederum in Teilelemente
aufspalten, die ebenso zerlegbar sind. Durch die Aufnahme von
Auszeichnungselementen in einen Text, werden diese einzelnen
Elemente eindeutig benannt und voneinander abgegrenzt.Nimmt man zum Beispiel ein typisches Buch, so kann man es
auf der obersten Ebene als ein Ganzes, als ein Element
betrachten. Dieses Buch-Element enthält nun
Kapitel, die wiederum selbst als Elemente bezeichnet werden
können. Jedes einzelne Kapitel enthält weitere
Elemente. So gibt es beispielsweise Absätze, Zitate und
Fußnoten. Jeder Absatz kann wiederum selbst Elemente
enthalten, die helfen, den Absatzinhalt als direkte Rede oder
als Namen eines der Protagonisten einer Geschichte zu
identifizieren.Wenn man möchte, kann man sich das als
UnterteilungIm
angelsächsichen Sprachraum wird hier von
chunking gesprochen. des
Inhalts vorstellen. Auf der obersten Ebene gibt es ein Element:
das Buch selbst. Schaut man ein wenig tiefer, findet man weitere
Teilelemente: die einzelnen Kapitel. Diese sind wiederum
unterteilt in Absätze, Fußnoten, Namen und so weiter
und so weiter.Anzumerken ist an dieser Stelle, dass das eben gesagte
ohne weiteres auf jeden Inhaltstyp angewandt werden kann, auch
ohne dass von SGML die Rede ist. Man
könnte beispielsweise einfach verschiedene Stifte nehmen
und einen Ausdruck dieser Fibel vor sich hinlegen und dann mit
verschiedenen Farben die einzelnen Abschnitte des Buchinhalts
markieren.Leider gibt es keinen elektronischen Stift, um das zu tun.
Deshalb muss ein anderer Weg gewählt werden, um zu
bestimmen, zu welchem Element die einzelnen Inhalte
gehören. In SGML-basierten Auszeichnungssprachen wie HTML
und DocBook werden dafür so genannte
Tags eingesetzt.Mit einem solchen Tag wird eindeutig festgelegt, wo ein
bestimmtes Element beginnt und wo es endet. Allerdings
gehört der Tag selber nicht zum Element. Er
legt lediglich die Grenzen des Elements fest. Da jede DTD mit dem Ziel
entwickelt wurde, einen speziellen Inhaltstyp auszuzeichnen,
wird jede DTD verschiedene Elemente kennen, die daher
natürlich auch unterschiedlich benannt sein werden.Der Starttag für ein imaginäres Element mit dem
Namen elementname ist
<elementname>.
Sein Gegenstück, der schließende Endtag, ist
</elementname>.Verwendung eines Elements (Start- und Endtag)HTML kennt das Element p, um
festzulegen, dass ein bestimmter abgegrenzter Bereich
einen Absatz darstellt. Dieses Element hat sowohl einen Start-
als auch einen Endtag.Das ist ein Absatz. Er beginnt mit Starttag
für das Element 'p' und endet mit dem Endtag für
das Element 'p'.
Das ist ein etwas kürzerer Absatz.
]]>
Elemente müssen nicht notwendigerweise einen Endtag
haben. Ebenso ist es nicht notwendig, dass Elemente einen
Inhalt haben. Beispielsweise kann in HTML-Dokumenten mittels
eines speziellen Elements festgelegt werden, dass eine
horizontale Linie an einer bestimmten Stelle erscheinen soll. Da
dieses Element offensichtlich keinen Inhalt hat, wird auch kein
Endtag benötigt.Verwendung eines Elements (nur Starttag)In HTML kann man mit dem Element hr
festlegen, dass an einer bestimmten Stelle eine
horizontale Linie angezeigt werden soll. Da dieses Element
keinen Inhalt umschließt, hat es nur einen
Starttag.Das ist ein Abschnitt.
Das ist ein weiterer Absatz. Eine horizontale Linie
trennt ihn vom vorherigen Absatz.
]]>Elemente können andere Elemente enthalten. Im
anfangs erwähnten Buch enthielt das Buch-Element
alle Kapitel-Elemente, die wiederum alle Absatz-Elemente
enthielten und so fort.Verschachtelte Elemente: emDas ist ein einfacher Abschnitt, in dem
einige Wortehervorgehoben wurden.]]>Welche Elemente andere Elemente enthalten können und
welche das sind, wird innerhalb der DTD eines Dokuments
festgelegt.Viele Leute sind oft verwirrt, wenn es um die richtige
Benutzung der Begriffe Tag und Element geht. Im Ergebnis werden
sie oft so genutzt, als wären sie austauschbar.
Allerdings sind sie das nicht.Ein Element ist ein konzeptioneller Teil eines Dokuments
und hat einen festgelegten Anfang und ein festgelegtes
Ende. Ein Tag hingegen markiert die Stelle, an der ein Element
beginnt und endet.Wenn in diesem Dokument vom Tag p
gesprochen wird, ist damit der Text
gemeint, der aus den drei Zeichen <,
p und > besteht. Wird
hingegen von dem Element p
gesprochen, ist damit das gesamte Element gemeint.Diese Unterscheidung ist sicherlich subtil. Trotzdem
sollte man sie sich vergegenwärtigen.Elemente können selber Attribute haben, die aus einem
Namen und einem Wert bestehen. Die Attribute haben die Aufgabe,
dem Element zusätzliche Informationen hinzuzufügen.
Denkbar sind hier Festlegungen über die Darstellung,
Bezeichner, über die das Element eindeutig identifiziert
werden kann, oder beliebige andere Informationen.Elementattribute werden in den Starttag
eingefügt und haben die Form
Attributename="Wert".Bei einigen HTML-Versionen kennt das Element
p das Attribut align, mit
dessen Hilfe die Textausrichtung eines Absatzes bestimmt werden
kann.align akzeptiert einen von vier
vorgegebenen Werten: left,
center, right und
justify. Ist align nicht
angegeben, wird vom Standardwert left
ausgegangen.Elemente mit Attributen nutzenDie Verwendung des align-Attributs
für diesen Absatz ist überflüssig, da left
der Standardwert ist.
Dieser Absatz wird hoffentlich mittig dargestellt.
]]>Einige Attribute akzeptieren nur bestimmte Werte, wie
beispielsweise left oder
justify. Andere akzeptieren jeden beliebigen
Wert. Enthält Attributwert doppelte Anführungszeichen
("), wird der Wert in einfachen
Anführungszeichen eingeschlossen.Attribute mit einfachen AnführungszeichenIch stehe rechts!]]>Manchmal können die Anführungszeichen um den
Attributwert weggelassen werden. Allerdings sind die Regeln,
die festlegen wann dies zulässig ist, sehr spitzfindig.
Am besten schließen Sie Attributwerte
immer in Anführungszeichen ein.Die Informationen über Attribute, Elemente und Tags
sind in SGML-Katalogen abgelegt und werden von den verschiedenen
Werkzeugen des Dokumentationsprojektes genutzt, um die
geschriebenen Dokumente zu validieren. Die Programme die durch
textproc/docproj installiert
werden, bringen ihre eigenen Katalogvarianten mit, zudem pflegt
das FDP seine eigenen Kataloge. Beide Katalogarten müssen
von allen Programmen gefunden werden können.Was dafür getan werden muss;…Damit die Beispiele dieser Fibel ausgeführt werden
können, ist es notwendig, dass einige Programme auf
dem Rechner installiert sind und das eine Umgebungsvariable
korrekt gesetzt wird.Der erste Schritt ist die Installation des Ports
textproc/docproj
über das FreeBSD-Portsystem. textproc/docproj ist ein
Metaport, der alle vom FDP
benötigten Programme und Daten aus dem Netz laden und
installieren sollte.Anschließend muss in den Shellkonfigurationsdateien die
Variable SGML_CATALOG_FILESSofern man nicht an der deutschen
Dokumentation arbeitet, müssen die
Verzeichnisangaben entsprechend angepasst
werden. gesetzt werden..profile, für &man.sh.1; und
&man.bash.1; BenutzerSGML_ROOT=/usr/local/share/sgml
SGML_CATALOG_FILES=${SGML_ROOT}/jade/catalog
SGML_CATALOG_FILES=${SGML_ROOT}/docbook/4.1/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=/usr/doc/share/sgml/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=/usr/doc/en_US.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
SGML_CATALOG_FILES=/usr/doc/de_DE.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
export SGML_CATALOG_FILES.cshrc, für &man.csh.1;- und
&man.tcsh.1;-Benutzersetenv SGML_ROOT /usr/local/share/sgml
setenv SGML_CATALOG_FILES ${SGML_ROOT}/jade/catalog
setenv SGML_CATALOG_FILES ${SGML_ROOT}/docbook/4.1/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES ${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES ${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES /usr/doc/share/sgml/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES /usr/doc/en_US.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
setenv SGML_CATALOG_FILES /usr/doc/de_DE.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILESDamit die Änderungen wirksam werden, meldet man
sich ab und anschließend wieder an – oder man
führt die obigen Anweisungen direkt in der Shell
aus und setzt so die benötigten Umgebungsvariablen.Nun sollte man eine Datei
beispiel.sgml anlegen, die den
folgenden Text enthält:Eine Beispieldatei in HTML
Das ist ein Absatz mit etwas Text.
Das ist ein Absatz mit anderem Text.
Dieser Absatz wird rechtsbündig
ausgerichtet.
]]>Nachdem die Datei abgespeichert wurde, kann sie
mit Hilfe eines SGML-Parsers validiert werden.Bestandteil von textproc/docproj
- ist nsgmls - ein onsgmls - ein validierender Parser.
- nsgmls liest ein Dokument entsprechend einer SGML-DTD
+ onsgmls liest ein Dokument entsprechend einer SGML-DTD
ein und gibt anschließend ein Element-Structure-Information-Set
(ESIS) aus. Allerdings ist das an dieser Stelle nicht weiter
wichtig.
- Wird nsgmls mit der Option
+ Wird onsgmls mit der Option
aufgerufen, werden nur Fehlermeldungen ausgegeben. Dadurch
kann leicht geprüft werden, ob ein Dokument gültig
ist oder nicht.
- So prüft man mit nsgmls, ob die neuangelegte
+ So prüft man mit onsgmls, ob die neuangelegte
Beispieldatei gültig ist:
- &prompt.user; nsgmls -s beispiel.sgml
+ &prompt.user; onsgmls -s beispiel.sgmlSofern das Beispiel korrekt abgetippt wurde, wird sich
- nsgmls ohne jegliche Ausgabe beenden. Das bedeutet,
+ onsgmls ohne jegliche Ausgabe beenden. Das bedeutet,
dass das Dokument erfolgreich validiert werden konnte
und somit gültig ist.Jetzt sollten die Tags title und
/title aus dem Dokument gelöscht
und das Dokument erneut validiert werden:
- &prompt.user; nsgmls -s beispiel.sgml
-nsgmls:beispiel.sgml:5:4:E: character data is not allowed here
-nsgmls:beispiel.sgml:6:8:E: end tag for "HEAD" which is not finished
+ &prompt.user; onsgmls -s beispiel.sgml
+onsgmls:beispiel.sgml:5:4:E: character data is not allowed here
+onsgmls:beispiel.sgml:6:8:E: end tag for "HEAD" which is not finished
- Die Fehlermeldungen, die von nsgmls
+ Die Fehlermeldungen, die von onsgmls
ausgegeben werden, sind in durch Doppelpunkte getrennte
Spalten unterteilt.SpalteBedeutung1Der Name des Programms, das den Fehler
- meldet. Hier wird immer nsgmls
+ meldet. Hier wird immer onsgmls
stehen.2Der Name der fehlerhaften Datei.3Die Zeilennummer des Fehlers.4Die Spaltenummer des Fehlers.5Ein einbuchstabiger Code, der über die
Art des Fehlers informiert. I
steht für eine informelle Meldung,
W für eine Warnung und
E für FehlerNicht immer besteht eine Meldung aus
fünf Spalten. Die Ausgabe von
- nsgmls -sv ist
- beispielsweise nsgmls:I: SP version
+ onsgmls -sv ist
+ beispielsweise onsgmls:I: SP version
"1.3" (natürlich
abhängig von der Version). Wie man sehen
kann, handelt es sich hier um eine informelle
Meldung. und X für
einen Querverweis. Bei den oben stehenden Ausgaben
handelt es sich also um Fehlermeldungen.6Die Meldung.Durch das Weglassen des Tags title
sind zwei unterschiedliche Fehler entstanden.Der erste Fehler besagt, dass Inhalt (in diesem
Falle Zeichen anstatt eines Starttags) an einer Stelle
gefunden wurde, an der der Parser etwas anderes erwartet
hat. Genauer gesagt wurde der Starttag eines Elements
erwartet, das innerhalb von head
auftreten kann.Der zweite Fehler wurde dadurch verursacht, dass
das Element head ein
Element title enthalten
- muss und nsgmls
+ muss und onsgmls
nicht berücksichtigt, dass dieser Fehler auf dem
vorhergehenden beruht. Es wird lediglich festgestellt,
dass der Endtag von head auftritt,
obwohl nicht alle notwendigen Elemente vorhanden sind.Zum Schluß sollte der Tag
title wieder in die Beispieldatei
eingefügt werden.Die DOCTYPE-DeklarationAm Anfang jedes Dokuments muss der Name der dem
Dokument zugrundeliegenden DTD angegeben werden. Mit Hilfe
dieser Information können SGML-Parser die verwendete DTD
feststellen und prüfen, ob das Dokument zu ihr konform ist.Üblicherweise steht diese Information in einer Zeile,
die als DOCTYPE-Deklaration bezeichnet wird.Eine Deklaration für ein HTML-Dokument, das nach den
Vorgaben der DTD für HTML 4.0 geschrieben wurde, sieht so
aus:]]>und besteht aus verschiedenen Teilen.<!Die Zeichenkette <! dient hier
als Indikator, dass es sich bei
diesem Ausdruck um eine SGML-Deklaration handelt und diese
Zeile den Dokumententyp festlegt.DOCTYPEZeigt an, dass dies die SGML-Deklaration für
den Dokumententyp ist.htmlNennt das erste Element, das im
Dokument auftaucht.PUBLIC "-//W3C//DTD HTML 4.0//EN"Nennt den Formalen Öffentlichen Bezeichner
auf Englisch Formal Public
Identifier (FPI) der DTD des Dokuments. Diese Information wird
von SGML-Parsern ausgewertet, um die von dem Dokument
referenzierte DTD zu bestimmen.Das Schlüsselwort PUBLIC
gehört nicht zum öffentlichen Bezeichner,
sondern legt fest, wie ein SGML-Parser die DTD finden
kann. Alternative Wege eine DTD zu referenzieren werden
später
gezeigt.>Schließt den mit <! begonnenen
Ausdruck ab.Formale Öffentliche BezeichnerDieser Abschnitt braucht nicht unbedingt zu gelesen zu
werden. Dennoch ist es empfehlenswert, da er nützliche
Hintergrundinformationen enthält, die hilfreich sein
können, falls der SGML-Prozessor die genutzte DTD nicht
finden kann.Jeder öffentliche Bezeichner muss eine bestimmte Syntax
haben, die wie folgt lautet:"Besitzer//SchlüsselwortBeschreibung//Sprache"BesitzerNennt den Besitzer des öffentlichen Bezeichners.Falls diese Zeichenkette mit ISO
beginnt, gehört der Bezeichner dem ISO-Kommitee.
Der Bezeichner "ISO 8879:1986//ENTITIES Greek
Symbols//EN" nennt ISO
8879:1986 als den Besitzer des Satzes von
Entitäten für griechische Zeichen. ISO
8879:1986 ist die ISO-Bezeichnung für den
SGML-Standard.Beginnt die Zeichenkette nicht mit
ISO, sieht sie entweder so
-//Besitzer
oder so
+//Besitzer
aus. Beide Varianten unterscheiden sich also nur durch
das anfängliche + bzw.
-.Sofern am Anfang ein - steht, ist
der Bezeichner nicht öffentlich registriert, steht
hingegen ein + am Anfang, ist er
registriert.Im ISO-Standard ISO 9070:1991 wurde festgelegt, wie
registrierte Namen erzeugt werden können. Unter
anderem können sie von den Bezeichnungen von
ISO-Publikationen, von ISBN-Nummern oder einer
Organisationsbezeichnungen entsprechend ISO 6523
abgeleitet werden. Anträge für neue offiziell
registrierte Bezeichner werden vom ISO-Kommitee an das
American National Standards Institute (ANSI)
weitergeleitet.Da das FreeBSD-Projekt seine Bezeichner nicht hat
registrieren lassen, ist der Besitzer
-//FreeBSD. Unter anderem kann man
daran auch sehen, dass das W3C sich nicht hat
registrieren lassen.SchlüsselwortEs gibt verschiedene Schlüsselwörter mit
denen man die Art der gegebenen Informationen beschreiben
kann. Einige der üblichsten sind
DTD, ELEMENT,
ENTITIES und TEXT.
DTD wird nur für Dateien mit
DTDs verwandt, ELEMENT findet
für Dateien mit Fragmenten von DTDs Verwendung, die
nur Deklarationen für Entitäten und Elemente
enthalten. TEXT wird für
SGML-Inhalte (Texte und Tags) verwendet.BeschreibungEine frei wählbare Beschreibung des Inhalts der
referenzierten Datei. Möglich sind hier
Versionsnummern oder ein kurzer und sinnvoller Text, der
innerhalb der SGML-Welt eindeutig ist.SpracheEin ISO-Code aus zwei Buchstaben, der die für
die Datei verwendete Sprache nennt.
EN steht hier für Englisch,
DE für Deutsch.Die catalog-DateienWenn man die oben beschriebene Syntax für
Bezeichner verwendet und ein Dokument durch einen
SGML-Prozessor schickt, muss dieser die
Möglichkeit haben, den Bezeichner auf eine real
existierende Datei abzubilden, die die benötigte DTD
enthält.Einer der möglichen Wege hierfür sind
Katalogdateien. Eine solche Datei, die üblicherweise
catalog heißt, besteht aus
einzelnen Zeilen, die Bezeichner auf Dateinamen abbilden.
Enthält ein Katalog beispielsweise die ZeilePUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"kann ein SGML-Prozessor darüber feststellen, dass die
benötigte DTD in der Datei strict.dtd
im Unterverzeichnis 4.0
des Verzeichnisses des Katalogs zu finden ist.Ein gutes Beispiel für einen Katalog ist
/usr/local/share/sgml/html/catalog.
Diese Datei enthält den Katalog für alle HTML
DTDs, die im Zuge der Installation von textproc/docproj installiert
wurden.Die Variable SGML_CATALOG_FILESNatürlich muss einem SGML-Prozessor noch
mitgeteilt werden können, wo er seine Kataloge finden
kann. Viele Programme bieten hierfür
Kommandozeilenoptionen an, über die man einen oder
mehrere Kataloge angeben kann.Zusätzlich besteht noch die Möglichkeit mit
der Umgebungsvariablen SGML_CATALOG_FILES auf
SGML-Kataloge zu verweisen. Die Einträge von
SGML_CATALOG_FILES müssen aus den
vollständigen Pfadnamen der Kataloge, jeweils durch
Komma getrennt, bestehen.Üblicherweise werden die folgenden Kataloge über
SGML_CATALOG_FILES für
die Arbeit an den Dokumenten des FDPs eingebunden:/usr/local/share/sgml/docbook/4.1/catalog/usr/local/share/sgml/html/catalog/usr/local/share/sgml/iso8879/catalog/usr/local/share/sgml/jade/catalogAllerdings sollte das
schon geschehen
sein.Alternativen zu Formalen Öffentlichen BezeichnernAnstatt mit einem Bezeichner die zum Dokument
gehörende DTD zu referenzieren, kann auch explizit auf
die Datei der DTD verwiesen werden.Die Syntax des DOCTYPE-Deklaration ist in diesem Falle
anders:]]>Das Schlüsselwort SYSTEM legt
fest, dass ein SGML-Prozessor die DTD auf
systemspezifische Art und Weise bestimmen soll.
Meistens, aber nicht immer, wird so auf eine Datei im
Dateisystem verwiesen.Allerdings sollte man öffentliche Bezeichner aus
Gründen der Portabilität bevorzugen, da man so
nicht eine Kopie der DTD mit dem Dokument selber verteilen
muss, beziehungsweise da man, wenn man mit
SYSTEM arbeitet, nicht davon ausgehen kann,
dass die benötigte DTD auf anderen Systemen genau
unter dem gleichen Pfad verfügbar ist.Die Rückkehr zu SGMLAn einer früheren Stelle wurde erwähnt, dass
man SGML nur benötigt, falls man selbst eine DTD entwickeln
möchte. Genaugenommen ist das nicht 100%ig richtig. Einige
Teile der SGML-Syntax können auch in normalen Dokumenten
verwendet werden, falls dies gewünscht oder notwendig
ist.In diesem Falle muss dafür Sorge getragen werden,
dass ein SGML-Prozessor feststellen kann, dass ein
bestimmter Abschnitt des Inhalts SGML ist, das er verarbeiteten
muss.Solche SGML-Abschnitte werden mittels
<! ... > in Dokumenten
besonders gekennzeichnet. Alles, was sich zwischen diesen
Begrenzungen befindet, ist SGML, wie es auch in DTDs gefunden
werden kann.Demnach ist die DOCTYPE-Deklaration
ein gutes Beispiel für SGML, das in Dokumenten verwendet
werden muss…KommentareKommentare sind SGML-Konstrukte, die normalerweise nur
in DTDs gültig sind. Dennoch ist es, wie in
gezeigt,
möglich Fragmente mit SGML-Syntax in Dokumenten zu
verwenden.Zum Abgrenzen von SGML-Kommentaren wird ein doppelter
Bindestrich -- verwendet. Mit
seinem ersten Auftreten öffnet er einen Kommentar, mit
seinem zweiten schließt er ihn wieder.Beispiele für Kommentare in SGML<!-- Testkommentar -->
]]>Es sind zwei BindestricheEs gibt ein Problem mit den PostScript- oder
PDF-Versionen dieses Dokuments. Das obige Beispiel
zeigt vielleicht nur einen Bindestrich (-)
hinter <! und vor
>.Es müssen zwei Bindestriche
und nicht nur einer benutzt werden.
Die PostScript- und PDF-Versionen haben vielleicht
beide Bindestriche zu einem längeren Strich, dem
em-dash, zusammengefasst.Die HTML-, nur-Text und RTF-Versionen dieses Dokuments
sind nicht von diesem Problem betroffen.
]]>
Hat man früher schon Erfahrungen mit HTML gesammelt,
wird man vielleicht andere Regeln für den Gebrauch von
Kommentaren kennengelernt haben. Beispielsweise wird oft
angenommen, dass Kommentare mit <!--
begonnen und nur mit --> beendet
werden.Dies ist nicht der Fall. Viele
Webbrowser haben fehlerhafte HTML-Parser, die dies akzeptieren.
Die SGML-Parser, die vom FDP verwendet werden, halten sich
strenger an die SGML-Spezifikation und verwerfen Dokumente mit
solchen Fehlern.Fehlerhafte SGML-Kommentare]]>SGML-Parser würden die mittlere Zeile wie folgt
interpretieren:<!DIES IST NICHT TEIL EINES KOMMENTARS>Da es sich hierbei nicht um gültiges SGML handelt, kann
diese Zeile zur verwirrenden Fehlermeldungen führen.]]>Wie das Beispiel zeigt, sollten solche Kommentare
tunlichst vermieden werden.]]>Ein solcher Kommentar ist (ein wenig) besser, kann aber
jemanden, der mit SGML noch nicht so vertraut ist,
verwirren.Fingerübungen…Zur Übung können Sie einige Kommentare in
die Datei beispiel.sgml einfügen
und überprüfen, ob die Datei nun noch erfolgreich
- von nsgmls validiert werden kann.
+ von onsgmls validiert werden kann.
Zu Testzwecken sollten Sie
auch noch ein paar fehlerhafte Kommentare hinzufügen
und sich die resultierenden Fehlermeldungen von
- nsgmls ansehen.
+ onsgmls ansehen.
EntitätenEntitäten stellen einen Mechanismus dar, mit dem
einzelnen Dokumententeilen ein Name zugewiesen werden kann.
Findet ein SGML-Parser während des Parsens eine
Entität, ersetzt er diese durch den ihr zugewiesenen
Inhalt.Dadurch steht eine einfache Möglichkeit zur
Verfügung, mit der variabler Inhalt in SGML-Dokumenten
eingebunden werden kann. Zusätzlich sind Entitäten der
einzige Weg, über den eine Datei in eine andere Datei mit
SGML-Mitteln eingebunden werden kann.Es werden zwei Arten von Entitäten unterschieden:
Allgemeine Entitäten und
Parameterentitäten.Allgemeine EntitätenAllgemeine Entitäten können nur in
Dokumenten benutzt werden. Sie können zwar im
SGML-Kontext definiert aber dort nicht benutzt
werden. Vergleichen Sie dies mit
Im Parameterentitäten.Jede allgemeine Entität hat einen Namen, über
den sie angesprochen werden kann, um den von ihr
referenzierten Inhalt in ein Dokument einzubinden. Dafür
muss an der betreffenden Stelle der Namen der
Entität per
&entitaetenname;
einfügt werden. Eine Entität
current.version könnte beispielsweise
durch die aktuelle Versionsnummer eines Programms ersetzt
werden. Man könnte also schreiben:Die aktuelle Version des
Programms ist ¤t.version;.]]>Wenn sich die Versionsnummer ändert, muss
nur die Entität angepasst und anschließend
das Dokument neu erzeugt werden.Eine weitere Einsatzmöglichkeit für Allgemeine
Entitäten ist das Einbinden von Zeichen, die auf andere
Weise nicht in ein SGML-Dokument eingefügt werden
könnten. Ein Beispiel für solche Zeichen sind
< und &, die
normalerweise nicht direkt in
SGML-Dokumenten erlaubt sind. Stößt ein SGML-Parser
bei seiner Arbeit auf das Symbol <,
nimmt er an, dass der Anfang eines Start- oder Endtags
gefunden wurde. Bei einem & wird er
annehmen, den Anfang einer Entität gefunden zu haben.Wenn eines der beiden Zeichen benötigt wird, werden
daher die allgemeinen Entitäten <
und & verwendet.Allgemeine Entitäten können nur in einem
SGML-Kontext definiert werden. Üblich ist es, dies direkt
nach der DOCTYPE-Deklaration zu tun:Allgemeine Entitäten festlegen
]>]]>Wichtig ist an dieser Stelle, dass die
DOCTYPE-Deklaration durch eine eckige Klammer am Ende der
ersten Zeile erweitert wurde. Die beiden Entitäten
selber werden in den folgenden zwei Zeilen definiert, bevor
in der letzten Zeile die eckige Klammer und die
DOCTYPE-Deklaration wieder geschlossen werden.Die eckigen Klammern sind notwendig um festzulegen, dass
man die über DOCTYPE genannte DTD erweitern möchte.ParameterentitätenGenau wie Allgemeine
Entitäten werden Parameterentitäten
eingesetzt um wiederverwendbare Inhaltsteile mit Namen zu
versehen. Im Gegensatz zu Allgemeinen Entitäten
können sie aber nur innerhalb eines SGML-Kontextes
genutzt werden.Die Definition von Parameterentitäten erfolgt
ähnlich zu der Allgemeiner Entitäten. Sie werden
lediglich mit
%entitaetenname;
anstelle von
&entitaetenname;
referenziertEs wird das Prozentzeichen anstelle des
kaufmännischen Unds verwendet.. Wichtig ist, dass das
%-Zeichen zwischen
ENTITY und dem Entitätennamen ein Teil
der Definition ist.Parameterentitäten festlegen
]>]]>Fingerübungen…Fügen Sie in beispiel.sgml
eine Allgemeine Entität ein.
]>
Eine HTML-Beispieldatei
Das ist ein Absatz mit etwas Text.
Das ist ein Absatz mit anderem Text.
Dieser Absatz wird rechtsbündig
ausgerichtet.
Die aktuelle Version ist: &version;
]]>Validieren Sie diese Datei mit
- nsgmls
+ onsgmlsÖffnen Sie nun beispiel.sgml
mit Ihrem Webbrowser. Es kann notwendig sein, dass
Sie die Datei vorher in beispiel.html
umbenennen müssen, damit die Datei auch als
HTML-Dokument erkannt wird.Nur wenn Sie einen sehr modernen Browser haben, werden
Sie sehen können, dass
&version; durch die Versionsnummer
ersetzt wurde. Leider haben die meisten Webbrowser
sehr einfache SGML-Parser, die nicht richtig mit SGML
umgehen könnenEigentlich ist das eine Schande. Man stelle sich
vor, welche Probleme und Hacks, wie beispielsweise
Server Side Includes, man an dieser Stelle hätte
vermeiden können..Die Lösung hierfür ist, das Dokument zu
normalisieren. Zu diesem Zweck liest
ein Normer
das Dokument ein und gibt anschließend semantisch
gleichwertiges SGML wieder aus, dass auf verschiedene
Arten transformiert worden sein kann. Eine dieser
möglichen Transformationen ist das Ersetzen der
Referenzen auf Entitäten mit dem von ihnen
präsentierten Inhalt.Versuchen Sie, die Beispieldatei mittels
- sgmlnorm zu normalisieren:
+ osgmlnorm zu normalisieren:
- &prompt.user; sgmlnorm beispiel.sgml > beispiel.html
+ &prompt.user; osgmlnorm beispiel.sgml > beispiel.htmlAnschließend sollten Sie eine normalisierte
Version, dass heißt eine, bei der die
Entitäten gegen ihren Inhalt ersetzt wurden, in der
Datei beispiel.html finden. Diese
Datei können Sie sich nun mit Ihrem Browser
ansehen.
- Wenn Sie sich die Ausgaben von sgmlnorm
+ Wenn Sie sich die Ausgaben von osgmlnorm
ansehen, werden Sie feststellen, dass
die DOCTYPE-Deklaration am Anfang der Datei nicht mehr
enthalten ist. Möchten Sie die Deklaration behalten,
- muss sgmlnorm mit der Option
+ muss osgmlnorm mit der Option
aufrufen werden:
- &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+ &prompt.user; osgmlnorm -d beispiel.sgml > beispiel.htmlDateien mit Entitäten einbindenSowohl Allgemeine als
auch Parameterentitäten
sind nützliche Helfer, wenn es darum geht, eine Datei in
eine andere einzubinden.Dateien mit Allgemeinen Entitäten einbindenAngenommen man hat ein Buch geschrieben, dessen Inhalt
auf mehrere Dateien aufgeteilt und mittels SGML
ausgezeichnet. Jedes Kapitel wurde dazu in einer eigenen Datei
(kapitel1.sgml,
kapitel2.sgml usw.) abgelegt und
über eine Datei buch.sgml sollen
alle physischen Dateien wieder mit der Hilfe von
Entitäten zu einem logischen Dokument
zusammengeführt werden.Damit der Inhalt der Dateien mit Entitäten
eingebunden werden kann, muss die Deklaration der
Entitäten das Schlüsselwort
SYSTEM enthalten. SGML-Parser werden so
angewiesen, den Inhalt der referenzierten Datei als Wert
für die jeweilige Entität zu nehmen.Dateien mit Allgemeinen Entitäten einbinden
]>
&kapitel.1;
&kapitel.2;
&kapitel.3;
]]>Wenn man Allgemeine Entitäten benutzt, um andere
Dateien einzubinden, dürfen diese Dateien
(kapitel1.sgml,
kapitel2.sgml, ...)
keine eigene DOCTYPE-Deklaration
haben.Dateien mit Parameterentitäten einbindenWie bereits festgestellt, können
Parameterentitäten nur innerhalb eines SGML-Kontexts
genutzt werden. Warum möchte man aber Dateien innerhalb
eines SGML-Kontexts einbinden? Der Vorteil liegt in der
Möglichkeit, die Deklaration von Entitäten in eine
andere Datei auslagern zu können, wodurch diese leichter
wiederverwendbar sind.Angenommen das Buch aus dem vorherigen Kapitel besteht aus
sehr vielen Kapiteln und diese sollen auch in einem anderen
Buch, aber in einer anderen Reihenfolge, verwendet werden.
Eine Möglichkeit wäre es, die dafür notwendigen
Entitäten am Anfang jedes Buches einzeln festzulegen
– was allerdings mit der Zeit unhandlich und
fehlerträchtig wird.Alternativ bietet sich dazu an, die Deklarationen in eine
separate Datei auszulagern und deren Inhalt anschließend
in beide Bücher über Parameterentitäten
einzubinden.Dateien mit Parameterentitäten einbindenZuerst werden die Entitäten in einer separaten
Datei namens kapitel.ent deklariert.
kapitel.ent enthält für
dieses Beispiel die folgenden Zeilen:
]]>Im zweiten Schritt fügt man in beide Bücher
eine Parameterentität ein, die den Inhalt von
kapitel.ent referenziert, und lädt
über diese dann die Deklarationen. Anschließend
können die so geladenen Entitäten wie gewohnt
genutzt werden.
%kapitel;
]>
&kapitel.1;
&kapitel.2;
&kapitel.3;
]]>Fingerübungen…Binden Sie Dateien über Allgemeine Entitäten einLegen Sie drei Dateien (absatz1.sgml,
absatz2.sgml und absatz3.sgml)
mit jeweils einer Zeile wie
Erster Absatz.]]>
an.Ändern Sie beispiel.sgml so
ab, dass sie wie folgt aussieht:
]>
Eine HTML-Beispieldatei
Die aktuelle Version dieses Dokuments ist &version;
&absatz1;
&absatz2;
&absatz3;
]]>Erzeugen Sie nun die Datei
beispiel.html, indem Sie
beispiel.sgml normalisieren:
- &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+ &prompt.user; osgmlnorm -d beispiel.sgml > beispiel.htmlÖffnen Sie beispiel.html
nun mit einem Webbrowser und vergewissern Sie sich,
dass der Inhalt der Dateien
absatzN.sgml
in beispiel.html übernommen
wurde.Binden Sie Dateien mit Parameterentitäten einHierfür müssen Sie die vorherige Fingerübung gemacht haben.Ändern Sie beispiel.sgml so
ab, dass es wie folgt aussieht: %entitaeten;
]>
Eine HTML-Beispieldatei
Die aktuelle Version dieses Dokuments ist &version;
&absatz1;
&absatz2;
&absatz3;
]]>Legen Sie eine weitere Datei entitaeten.sgml an,
die folgenden Inhalt hat:
]]>Erzeugen Sie die Datei
beispiel.html, indem Sie
beispiel.sgml normalisieren:
- &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+ &prompt.user; osgmlnorm -d beispiel.sgml > beispiel.htmlÖffnen Sie beispiel.html
nun mit einem Webbrowser und vergewissern Sie sich,
dass der Inhalt der Dateien
absatzN.sgml
in beispiel.html übernommen
wurde.Markierte BereicheSGML erlaubt es, dass bestimmte Dokumentabschnitte
während der Verarbeitung besonders behandelt werden sollen.
Diese Abschnitte werden als markierte Bereicheauf Englisch marked
sections
bezeichnet.Aufbau eines markierten Bereiches<![ SCHLÜSSELWORT [
Inhalt des markierten Bereiches
]]>Da es sich bei markierten Bereichen um SGML-Konstrukte
handelt, werden sie mit <! eingeleitet.
Der eigentliche Anfang des markierten Bereiches wird von der
folgenden eckigen Klammer bestimmt. Das darauf folgende
SCHLÜSSELWORT legt fest, wie der
markierte Inhalt durch einen SGML-Prozessor
während der Verarbeitung behandelt werden soll. Der
markierte Inhalt selbst beginnt erst nach der
zweiten eckigen Klammer und erstreckt sich bis zu den zwei
schließenden eckigen Klammern am Ende des Bereiches. Mit
Hilfe des > Zeichens wird der mit
<! begonnene SGML-Kontext wieder
verlassen.Schlüsselworte für markierte BereicheCDATA und RCDATADie Schlüsselworte CDATA und
RCDATA bestimmen das
Inhaltsmodell für markierte
Bereiche. Dadurch ist es möglich, vom Standardmodell
abzuweichen.Ein SGML-Prozessor muss während der
Verarbeitung eines Dokuments zu jedem Zeitpunkt wissen,
welches Inhaltsmodell gerade anzuwenden
ist.Was ist ein Inhaltsmodell? Kurz gesagt beschreibt das
Inhaltsmodell, welche Art von Inhalt der Parser zu erwarten
und wie er damit umzugehen hat.Bei CDATA und
RCDATA handelt es sich wahrscheinlich um
die nützlichsten Inhaltsmodelle.
CDATA steht für
Zeichendatenauf Englisch character
data. Trifft ein
Parser auf dieses Inhaltsmodell, wird er annehmen, dass
sich im zugehörigen Dokumentenbereich nur
gewöhnliche Zeichen befinden. Das
bedeutet, dass < und
& ihre besondere Bedeutung
verlieren und als einfache Zeichen behandelt werden.RCDATA steht für
Entitätenreferenzen und Zeichendatenauf
Englisch
Entity references and character
data. Für einen
Bereich mit diesem Inhaltsmodell, wird ein Parser davon
ausgehen, dass er sowohl Zeichen als auch
Enitätenreferenzen finden kann. <
verliert hier zwar auch seine besondere Bedeutung, doch
& wird weiterhin als Anfang einer
Entität interpretiert.Nützlich ist das CDATA-Modell
vor allem dann, wenn es darum geht Texte eins-zu-eins zu
übernehmen, in denen < und
& gehäuft
auftreten. Zwar kann man solche Texte überarbeiten und
jedes < durch ein
< und jedes
& durch ein &
ersetzen, doch es wird in den meisten Fällen
einfacher sein, für den betreffenden Text
CDATA als Inhaltsmodell festzulegen. Ein
SGML-Parser wird dann, sobald er auf
< oder & trifft,
diese als Zeichen in einem Text betrachten.Bei der Verwendung von CDATA und
RCDATA als Inhaltsmodell für
SGML-Beispiele, wie sie in diesem Dokument enthalten sind,
muss bedacht werden, dass der Inhalt eines
CDATA-Bereiches nicht validiert wird.
dass das SGML in diesen Bereichen gültig ist,
muss auf andere Weise sichergestellt werden. Denkbar ist
beispielsweise, es in einem separaten Dokument zu
erstellen, dort zu prüfen und erst dann in das
eigentliche Dokument einzufügen.CDATA als Inhaltsmodell für markierte Bereiche<para>Das ist ein Beispiel, wie man einen Text,
der viele <- und &-
Entitäten enthält, in ein Dokument einbinden kann.
Das Beispiel selbst, das sich innerhalb des markierten Bereiches befindet,
ist ein HTML-Fragment. Der diesen Text umschließende Tag, beginnend mit
mit para und endend mit /para, stammt aus der DocBook DTD.</para>
<programlisting>
<![ RCDATA [ Dieses Beispiel demonstriert die Verwendung von HTML-Elementen.
Da spitze Klammern so oft vorkommen, ist es einfacher, das
gesamte Beispiel als CDATA Abschnitt auszuweisen, als die
entsprechenden Entitäten zu nutzen.
Das ist ein Listenelement.
Das ist ein zweites Listenelement.
Das ist ein drittes Listenelement.
Und das hier, das ist das Ende des Beispiels.
]]>
]]>
</programlisting>Liest man die Quellen dieser Fibel, wird man
feststellen, dass diese Technik durchgängig
angewandt wurde.INCLUDE und
IGNOREDas Schlüsselwort INCLUDE legt
fest, dass der Inhalt des betreffenden Abschnittes
mitverarbeitet wird. Demgegenüber bestimmt
IGNORE, dass er ignoriert wird,
dass heißt, dass er bei der Verarbeitung
übergangen wird und in der Ausgabe nicht enthalten
ist.Anwendung von INCLUDE und
IGNORE in markierten
Abschnitten<![ INCLUDE [
Dieser Text wird verarbeitet und eingebunden.
]]>
<![ IGNORE [
Dieser Text wird weder verarbeitet noch eingebunden.
]]>Für sich alleine ist IGNORE als
Anweisung nicht besonders nützlich, da ein Bereich, der
von der Verarbeitung ausgenommen sein soll, auch
auskommentiert werden kann.Kombiniert man IGNORE hingegen mit
Parameterentitäten,
steht so ein Weg zur Verfügung, um dessen Anwendung
besser steuern zu können. Zwar können
Parameterentitäten nur in einem SGML-Kontext einsetzt
werden, da aber markierte Bereiche ebenfalls SGML-Konstrukte
sind, ist diese Einschränkung irrelevant.Soll beispielsweise ein und dasselbe Dokument in zwei
unterschiedlichen Varianten produziert werden, einer
gedruckten und einer digitalen, und soll nur die digitale
zusätzliche Informationen enthalten, kann dies mit
einem Trick erreicht werden.Man definiert eine Parameterentität, der man als
Wert die Zeichenkette INCLUDE zuweist und
deklariert den betreffenden Bereich, der nur in der
digitalen Variante erscheinen soll, als markierten Abschnitt
und setzt als Schlüsselwort die zuvor definierte
Parameterentität ein.Soll anstelle der digitalen die gedruckte Variante
produziert werden, muss lediglich der Entität
IGNORE als Wert zugewiesen und das
Ursprungsdokument erneut durch den SGML-Prozessor geschickt
werden.Kontrolle von markierten Bereichen über
Parameterentitäten<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % digitale.kopie "INCLUDE">
]]>
...
<![ %digitale.kopie [
Dieser Satz sollte nur in der digitalen Version enthalten sein.
]]>Bei der Produktion der gedruckten Variante muss
der Wert der Entität geändert werden.<!ENTITY % digitale.kopie "IGNORE">Bei der Verarbeitung wird als Schlüsselwort in
beiden Fällen der von
%digitale.kopie repräsentierte
Wert verwendet. Im ersten Fall wird der Inhalt des
markierten Bereichs mitverarbeitet, im zweiten Fall
nicht.Fingerübung…Legen Sie eine neue Datei
abschnitt.sgml an, die folgenden
Inhalt hat:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
<!ENTITY % text.ausgabe "INCLUDE">
]>
<html>
<head>
<title>Ein Beispiel mit markierten Abschnitten</title>
</head>
<body>
<p>Dieser Absatz <![ CDATA [beinhaltet viele <
Zeichen (< < < < <). Weshalb es einfacher ist,
ihn als CDATA Bereich auszuweisen. ]]></p>
<![ IGNORE [
<p>Dieser Absatz wird NICHT in der Ausgabe enthalten sein.</p>
]]>
<![ [
<p>Dieser Absatz wird in Abhängigkeit von %text.ausgabe
mitausgegeben.</p>
]]>
</body>
</html>Normalisieren Sie den Inhalt dieser Datei mit Hilfe
- von sgmlnorm und sehen Sie sich das
+ von osgmlnorm und sehen Sie sich das
Ergebnis an. Achten Sie dabei darauf, welche Absätze
enthalten beziehungsweise nicht enthalten sind und was aus
den CDATA-Bereichen geworden ist.Ändern Sie die Definition von
text.ausgabe so, dass es den
Wert IGNORE zugewiesen bekommt.
Verarbeiten Sie dann die Datei erneut mit
- sgmlnorm und vergleichen die Ausgabe mit
- der vom ersten sgmlnorm Lauf.
+ osgmlnorm und vergleichen die Ausgabe mit
+ der vom ersten osgmlnorm Lauf.
SchlußbemerkungAus Platzgründen, und um der Verständlichkeit
Willen, wurden viele Gesichtspunkte nicht in aller Tiefe
beziehungsweise gar nicht besprochen. Trotzdem sollte in den
bisherigen Kapiteln genügend Wissen über SGML
vermittelt worden sein, um den Aufbau der Dokumentation des FDPs
zu verstehen.
diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index 3ff4b41622..fc31dc36b9 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -1,281 +1,282 @@
#
# $FreeBSD$
-# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.62 2008/12/27 12:14:01 jkois Exp $
-# basiert auf: 1.112
+# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.63 2010/08/20 18:09:14 jkois Exp $
+# basiert auf: 1.113
#
# Build the FreeBSD Handbook in its German translation.
#
# ------------------------------------------------------------------------
#
# To add a new chapter to the Handbook:
#
# - Update this Makefile, chapters.ent and book.sgml
# - Add a descriptive entry for the new chapter in preface/preface.sgml
#
# ------------------------------------------------------------------------
.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/config-keymap.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_EN+= virtualization/virtualpc-freebsd1.png
IMAGES_EN+= virtualization/virtualpc-freebsd2.png
IMAGES_EN+= virtualization/virtualpc-freebsd3.png
IMAGES_EN+= virtualization/virtualpc-freebsd4.png
IMAGES_EN+= virtualization/virtualpc-freebsd5.png
IMAGES_EN+= virtualization/virtualpc-freebsd6.png
IMAGES_EN+= virtualization/virtualpc-freebsd7.png
IMAGES_EN+= virtualization/virtualpc-freebsd8.png
IMAGES_EN+= virtualization/virtualpc-freebsd9.png
IMAGES_EN+= virtualization/virtualpc-freebsd10.png
IMAGES_EN+= virtualization/virtualpc-freebsd11.png
IMAGES_EN+= virtualization/virtualpc-freebsd12.png
IMAGES_EN+= virtualization/virtualpc-freebsd13.png
IMAGES_EN+= virtualization/vmware-freebsd01.png
IMAGES_EN+= virtualization/vmware-freebsd02.png
IMAGES_EN+= virtualization/vmware-freebsd03.png
IMAGES_EN+= virtualization/vmware-freebsd04.png
IMAGES_EN+= virtualization/vmware-freebsd05.png
IMAGES_EN+= virtualization/vmware-freebsd06.png
IMAGES_EN+= virtualization/vmware-freebsd07.png
IMAGES_EN+= virtualization/vmware-freebsd08.png
IMAGES_EN+= virtualization/vmware-freebsd09.png
IMAGES_EN+= virtualization/vmware-freebsd10.png
IMAGES_EN+= virtualization/vmware-freebsd11.png
IMAGES_EN+= virtualization/vmware-freebsd12.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+= dtrace/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= filesystems/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/cutting-edge/chapter.sgml b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
index fd092c997c..40545a1ce6 100644
--- a/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -1,3384 +1,3388 @@
JimMockUmstrukturiert und aktualisiert von
-
+
JordanHubbardIm Original von Poul-HenningKampJohnPolstraNikClayton
-
+
MartinHeinenÜbersetzt von &os; aktualisierenÜbersicht
- &os; wird zwischen einzelnen Releases ständig weiter
+ &os; wird zwischen einzelnen Releases ständig weiter
entwickelt. Manche Leute bevorzugen die offiziellen Release-Versionen,
während andere wiederum lieber auf dem aktuellen Stand der
Entwicklung bleiben möchten. Wie dem auch sei, sogar offizielle
Release-Versionen werden oft mit Sicherheitsaktualisierungen und
anderen kritischen Fehlerbereinigungen versorgt. Unabhängig von
der eingesetzten Version bringt &os; alle nötigen Werkzeuge mit,
- um ihr System aktuell zu halten und es innerhalb verschiedener
+ um ihr System aktuell zu halten und es innerhalb verschiedener
Versionen zu aktualisieren. Dieses Kapitel hilft Ihnen bei der
Entscheidung, ob Sie mit dem Entwicklungssystem Schritt halten oder
ein Release verwenden wollen. Die zugrundeliegenden Werkzeuge um
Ihr System aktuell zu halten werden ebenfalls vorgestellt.Nachdem Sie dieses Kapitel gelesen haben, werden Siewissen, welche Werkzeuge verwendet werden können, um das
System und die Port-Sammlung zu aktualisieren.wissen, wie Sie Ihr System mit
- freebsd-update,
+ freebsd-update,
CVSup,
CVS oder
CTM
aktualisieren.wissen, wie man das aktuell installierte System mit einer
ursprünglichen Version vergleicht.
- wissen, wie Sie ihre Dokumentation mit
+ wissen, wie Sie ihre Dokumentation mit
CVSup oder Dokumentations-Ports
aktuell halten können.den Unterschied zwischen den beiden Entwicklungszweigen
&os.stable; und &os.current; kennen.Wissen, wie Sie das komplette Basissystem mit make
buildworld neu bauen und installieren.Bevor Sie dieses Kapitel lesen, sollten SieIhr Netzwerk richtig konfiguriert haben
() undwissen, wie Sie Software Dritter installieren
().
-
+
Im gesamten Kapitel wird der Befehl cvsup
verwendet, um die &os; Quellen zu beziehen und zu aktualisieren. Um es
zu verwenden, benötigen Sie einen Port oder ein Paket wie
net/cvsup (falls Sie den
graphischen cvsup-Client nicht benötigen,
können Sie auch nur den Port
net/cvsup-without-gui installieren). Wenn Sie
&os; 6.2-RELEASE oder eine spätere Version einsetzen,
können Sie dieses Programm durch &man.csup.1; ersetzen, das
- nun Teil des Basissystems ist.
-
+ nun Teil des Basissystems ist.
+
TomRhodesGeschrieben von ColinPercivalBasierend auf bereitgestellten Mitschriften von BenedictReuschlingÜbersetzt von &os;-UpdateUpdating and Upgradingfreebsd-updateupdating-upgradingDas Einspielen von Sicherheitsaktualisierungen ist ein wichtiger
Bestandteil bei der Wartung von Computersoftware, besonders wenn es um
das Betriebssystem geht. Für lange Zeit war dieser Prozess unter
&os; nicht einfach. Fehlerbehebungen mussten auf den Quellcode
angewendet werden, danach wurde der Code zu neuen Binärdateien
übersetzt und schliesslich mussten diese Dateien neu installiert
werden.Das ist seit längerem nicht mehr der Fall, da &os; jetzt ein
Werkzeug namens freebsd-update enthält. Dieses
Werkzeug bringt zwei getrennte Funktionen mit sich. Die erste Funktion
ermöglicht die Anwendung von Sicherheitsaktualisierungen im
Binärformat auf das &os; Basissystem, ohne dieses neu zu
übersetzen und zu installieren. Die zweite Funktion
unterstützt Aktualisierungen zwischen Haupt- und
Unterversionen.Binäre Aktualisierungen sind für alle Architekturen und
- Releases verfügbar, die aktuell vom &os; Security Team betreut
- werden. Allerdings benötigen manche Eigenschaften, wie die &os;
+ Releases verfügbar, die aktuell vom &os; Security Team betreut
+ werden. Allerdings benötigen manche Eigenschaften, wie die &os;
Betriebssystemaktualisierungen, die zu dieser Zeit aktuellste Version
von &man.freebsd-update.8; sowie &os; 6.3 oder höher. Vor
der Aktualisierung auf eine neue Release-Version sollten die aktuellen
Ankündigungen zu dem Release gelesen werden, da diese wichtige
Informationen zu der gewünschten Version enthalten. Diese
Ankündigungen finden Sie unter dem folgenden Link: .Wenn eine crontab existiert, welche die
Eigenschaften von freebsd-update verwendet, muss diese
deaktiviert werden, bevor die folgende Aktion gestartet wird.Die KonfigurationsdateiManche Anwender möchten sicherlich Einstellungen in der
- Standard-Konfigurationsdatei unter
- /etc/freebsd-update.conf vornehmen, um
+ Standard-Konfigurationsdatei unter
+ /etc/freebsd-update.conf vornehmen, um
bessere Kontrolle über den
gesamten Prozess zu besitzen. Die Optionen sind sehr gut dokumentiert,
jedoch benötigen die folgenden ein paar zusätzliche
Erklärungen:# Components of the base system which should be kept updated.
Components src world kernelDieser Parameter kontrolliert, welche Teile von &os; auf dem
aktuellen Stand gehalten werden sollen. Die Voreinstellung ist es, den
Quellcode zu aktualisieren, das gesamte Basissystem sowie den Kernel.
Die Komponenten sind die gleichen wie während der Installation,
also würde beispielsweise das hinzufügen von "world/games" an
dieser Stelle es erlauben, Aktualisierungen für Spiele anzuwenden.
Die Verwendung von "src/bin" erlaubt es, den Quellcode in src/bin aktuell zu halten.Die beste Einstellung ist, diese Option so zu belassen, da eine
Änderung es bedingt, dass man als Benutzer jede Komponente
auflisten muss, die aktualisiert werden soll. Dies könnte
katastrophale Folgen nach sich ziehen, da der Quellcode und die
Binärdateien dadurch nicht mehr synchron wären.# Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePathsFügen Sie Pfade wie /bin oder /sbin hinzu, um diese speziellen
Verzeichnisse während des Aktualisierungsprozesses unberührt
zu lassen. Diese Option kann verwendet werden, um zu verhindern, dass
freebsd-update lokale Änderungen
überschreibt.# Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profileAktualisieren Sie Konfigurationsdateien in den angegebenen
Verzeichnissen nur, wenn diese nicht geändert wurden. Jegliche
Äderung, die der Benutzer daran vorgenommen hat, wird die
automatische Aktualisierung dieser Dateien ungültig machen.
Es gibt eine weitere Option KeepModifiedMetadata,
die freebsd-update instruiert, die Änderungen
während der Zusammenführung zu speichern.# When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/Eine Liste von Verzeichnissen mit Konfigurationsdateien, in denen
freebsd-update Zusammenführungen versuchen
soll. Dieser Verschmelzungsprozess von Dateien ist eine Serie von
&man.diff.1;-Korrekturen, ähnlich wie &man.mergemaster.8; mit
weniger Optionen. Die Änderungen werden entweder akzeptiert,
öffnen einen Editor oder freebsd-update bricht
ab. Wenn Sie im Zweifel sind, sichern Sie das /etc Verzeichnis und akzeptieren einfach
die Änderungen. Lesen Sie , um
Informationen über das mergemaster-Kommando
zu erhalten.# Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-updateIn diesem Verzeichnis werden alle Korrekturen und temporären
Dateien abgelegt. Für Fälle in denen der Anwender eine
Versionsaktualisierung vornimmt, sollte diesem Verzeichnis mindestens
ein Gigabyte Festplattenspeicher zur Verfügung stehen.# When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents noWenn dies auf yes gesetzt ist, wird
freebsd-update annehmen, dass die
Components-Liste vollständig ist und nicht
versuchen, Änderungen ausserhalb dieser Liste zu tätigen.
Tatsächlich wird freebsd-update versuchen, jede
Datei zu aktualisieren, die zu der Components-Liste
gehöhrt.SicherheitsaktualisierungenSicherheitsaktualisierungen sind auf einer entfernten Maschine
abgelegt und können durch das folgende Kommando heruntergeladen
und installiert werden:&prompt.root; freebsd-update fetch
&prompt.root; freebsd-update installWenn irgendeine Änderung auf den Kernel angewendet wurde
benötigt das System einen Neustart. Wenn alles gut verlaufen ist,
sollte das System aktualisiert sein und
freebsd-update kann als nächtlicher
&man.cron.8;-Job ablaufen. Ein Eintrag in der Datei
- /etc/crontab ist für diese Aufgabe
+ /etc/crontab ist für diese Aufgabe
ausreichend:@daily root freebsd-update cronDieser Eintrag besagt, dass einmal am Tag
freebsd-update ausgeführt wird. Auf diese
Weise kann freebsd-update nur durch die Verwendung
des -Arguments prüfen, ob Aktualisierungen
vorliegen. Wenn Korrekturen existieren, werden diese automatisch auf
die lokale Festplatte heruntergeladen, aber nicht eingespielt. Der
root-Benutzer bekommt eine Nachricht, damit dieser
die Korrekturen manuell installiert.Sollte irgendetwas schief gelaufen sein, kann
freebsd-update den letzten Satz von Änderungen
mit dem folgenden Befehl zurückrollen:&prompt.root; freebsd-update rollbackSobald dieser Vorgang abgeschlossen ist, sollte das System neu
gestartet werden, wenn der Kernel oder ein beliebiges Kernelmodul
geändert wurde. Dies ermöglicht es &os;, die neuen
Binärdateien in den Hauptspeicher zu laden.
-
+
Das freebsd-update-Werkzeug kann nur den
GENERIC-Kernel automatisch aktualisieren. Wenn ein
selbstkonfigurierter Kernel verwendet wird, muss dieser neu erstellt
und installiert werden, nachdem freebsd-update den
Rest der Aktualisierungen durchgeführt hat. Allerdings wird
freebsd-update den GENERIC-Kernel
in /boot/GENERIC erkennen und
aktualisieren (falls dieser existiert), sogar dann, wenn dies nicht der
aktuell verwendete Kernel des Systems ist.Es ist eine gute Idee, immer eine Kopie des
GENERIC-Kernels in /boot/GENERIC aufzubewahren. Das wird
bei der Diagnose von verschiedenen Problemen eine grosse Hilfe sein,
sowie bei der Durchführung von Versionsaktualisierungen mit
freebsd-update, wie in beschrieben ist.Solange die Standardkonfiguration in
/etc/freebsd-update.conf nicht geändert
wurde, wird freebsd-update die aktualisierten
- Quellcodedateien des Kernels zusammen mit dem Rest der Neuerungen
+ Quellcodedateien des Kernels zusammen mit dem Rest der Neuerungen
installieren. Die erneute Übersetzung und Installation ihres
neuen, selbstkonfigurierten Kernels kann dann auf die übliche
Art und Weise durchgeführt werden.Die Aktualisierungen, die über
freebsd-update verteilt werden, betreffen nicht
immer den Kernel. Es ist nicht notwendig, den selbstkonfigurierten
Kernel neu zu erstellen, wenn die Kernelquellen nicht durch die
Ausführung von freebsd-update install
geändert wurden. Allerdings wird
freebsd-update auf alle Fälle die Datei
/usr/src/sys/conf/newvers.sh aktualisieren.
Der aktuelle Patch-Level (angegeben durch die
-p-Nummer, die von dem Kommando uname
-r ausgegeben wird) wird aus dieser Datei ausgelesen.
Die Neuinstallation des selbstkonfigurierten Kernels, selbst wenn
sich daran nichts geädert hat, erlaubt es &man.uname.1;, den
aktuellen Patch-Level des Systems korrekt wiederzugeben. Dies ist
- besonders hilfreich, wenn mehrere Systeme gewartet werden, da es
+ besonders hilfreich, wenn mehrere Systeme gewartet werden, da es
eine schnelle Einschätzung der installierten Aktualisierungen in
jedem einzelnen System ermöglicht.Aktualisierungen an Haupt- und UnterversionenDieser Prozess entfernt alte Objekt-Dateien und Bibliotheken, was
dazu führt, dass die meisten Anwendungen von Drittherstellern
nicht mehr funktionieren. Es wird empfohlen, dass alle installierten
Ports entweder entfernt und neu installiert oder zu einem späteren
Zeitpunkt mittels ports-mgmt/portupgrade aktualisiert werden.
Die meisten Anwender werden wahrscheinlich einen Testlauf mittels des
folgenden Kommandos durchführen wollen:&prompt.root; portupgrade -afDies sorgt dafür, dass alles korrekt neu installiert wird.
Beachten Sie, dass das Setzen der
BATCH-Umgebungsvariable auf yes
während dieses Prozesses auf jede Eingabe mit
- ja antwortet, was es nicht mehr notwendig macht,
+ ja antwortet, was es nicht mehr notwendig macht,
manuell eingreifen zu müssen.Wenn ein selbstkonfigurierter Kernel verwendet wird, ist der
Aktualisierungsprozess ein kleines bisschen aufwändiger. Eine
Kopie des GENERIC-Kernels wir benötigt und
sollte in /boot/GENERIC abgelegt
sein. Wenn der GENERIC-Kernel nicht bereits im
System vorhanden ist, kann dieser über eine der folgenden Methoden
bezogen werden:
-
+
Wenn ein eigener Kernel genau einmal gebaut wurde, ist der
Kernel im Verzeichnis /boot/kernel.old in Wirklichkeit der
GENERIC-Kernel. Benennen Sie einfach dieses
Verzeichnis in /boot/GENERIC um.
-
+
Angenommen, direkter Zugriff auf die Maschine ist möglich,
so kann eine Kopie des GENERIC-Kernels von den
CD-ROM-Medien installiert werden. Legen Sie die Installations-CD
ein und benutzen Sie die folgenden Befehle:&prompt.root; mount /cdrom
&prompt.root; cd /cdrom/X.Y-RELEASE/kernels
&prompt.root; ./install.sh GENERICErsetzen Sie X.Y-RELEASE
- mit der richtigen Version der Veröffentlichung, die Sie
- verwenden. Der GENERIC-Kernel wird
+ mit der richtigen Version der Veröffentlichung, die Sie
+ verwenden. Der GENERIC-Kernel wird
standardmässig in /boot/GENERIC installiert.
-
+
Falls alle obigen Schritte fehlschlagen, kann der
GENERIC-Kernel folgendermassen aus den Quellen
neu gebaut und installiert werden:
-
+
&prompt.root; cd /usr/src
&prompt.root; env DESTDIR=/boot/GENERIC make kernel
&prompt.root; mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
&prompt.root; rm -rf /boot/GENERIC/bootDamit dieser Kernel als GENERIC-Kernel von
freebsd-update erkannt wird, darf die
GENERIC-Konfigurationsdatei in keinster Weise
geändert worden sein. Es wird ebenfalls empfohlen, dass
dieser ohne irgendwelche speziellen Optionen erstellt wird
(bevorzugt mit einer leeren
/etc/make.conf).Der Neustart in den GENERIC-Kernel ist zu diesem
Zeitpunkt nicht notwendig.Aktualisierungen an Haupt- und Unterversionen können
durchgeführt werden, wenn man freebsd-update
eine Release-Version als Ziel übergibt. Beispielsweise wird das
folgende Kommando das System auf &os; 6.4 aktualisieren:&prompt.root; freebsd-update -r 6.4-RELEASE upgradeNachdem das Kommando empfangen wurde, überprüft
freebsd-update die Konfigurationsdatei und das
aktuelle System, um die nötigen Informationen für die
Systemaktualisierung zu sammeln. Eine Bildschirmausgabe wird anzeigen,
welche Komponenten erkannt und welche nicht erkannt wurden.
Zum Beispiel:Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 6.3-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
The following components of FreeBSD seem to be installed:
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/info world/lib32 world/manpages
The following components of FreeBSD do not seem to be installed:
kernel/generic world/catpages world/dict world/doc world/games
world/proflibs
Does this look reasonable (y/n)? yAn diesem Punkt wird freebsd-update versuchen,
alle notwendigen Dateien für die Aktualisierung herunter zu laden.
In manchen Fällen wird der Benutzer mit Fragen konfrontiert, um
festzustellen, was installiert werden soll oder auf welche Art und
Weise fortgesetzt werden soll.
-
+
Wenn ein selbstkonfigurierter Kernel benutzt wird, produziert der
vorherige Schritt eine Warnung ähnlich zu der folgenden:
-
+
WARNING: This system is running a "MYKERNEL" kernel, which is not a
kernel configuration distributed as part of FreeBSD 6.3-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"Diese Warnung kann an dieser Stelle problemlos ignoriert
werden. Der aktualisierte GENERIC-Kernel wird als
ein Zwischenschritt im Aktualisierungsprozess verwendet.Nachdem alle Korrekturen auf das lokale System heruntergeladen
wurden, werden diese nun eingespielt. Dieser Prozess kann eine gewisse
Zeit in Anspruch nehmen, abhängig von der Geschwindigkeit und
Auslastung der Maschine. Konfigurationsdateien werden ebenfalls
zusammengefügt - dieser Teil der Prozedur benötigt einige
Benutzereingaben, da eine Datei möglicherweise von Hand
zusammengefasst werden muss oder ein Editor erscheint auf dem
Bildschirm zum manuellen bearbeiten. Die Ergebnisse von jeder
erfolgreichen Zusammenfassung werden dem Benutzer angezeigt,
während der Prozess weiterläuft. Eine fehlgeschlagene oder
ignorierte Zusammenfassung wird den Prozess sofort beenden. Benutzer
sollten eine Sicherung von /etc
anlegen und wichtige Dateien später manuell vereinen,
beispielsweise master.passwd oder
group.Das System ist noch nicht verändert worden, alle Korrekturen
und Vereinigungen sind in einem anderen Verzeichnis vorgenommen
worden. Wenn alle Korrekturen erfolgreich eingespielt, alle
Konfigurationsdateien zusammengefügt wurden und es den Anschein
hat, dass der Prozess problemlos verlaufen wird, müssen die
Änderungen vom Anwender noch angewendet werden.Sobald dieser Prozess abgeschlossen ist, können die
Aktualisierungen über das folgende Kommando auf die Platte
geschrieben werden:&prompt.root; freebsd-update installDer Kernel und die Module werden zuerst aktualisiert. Zu diesem
Zeitpunkt muss die Maschine neu gestartet werden. Wenn das System
einen selbstkonfigurierten Kernel verwendet, benutzen Sie das
&man.nextboot.8;-Kommando, um den Kernel für den nächsten
Neustart auf /boot/GENERIC zu
setzen (welcher aktualisiert wurde):
-
+
&prompt.root; nextboot -k GENERIC
-
+
Bevor mit dem GENERIC-Kernel das System neu
gestartet wird, vergewissern Sie sich, dass alle notwendigen Treiber
für ihr System enthalten sind, um korrekt zu starten (und
schliessen Sie ihn ans Netzwerk an, falls auf die Maschine, die
aktualisiert wird, von der Ferne aus zugegriffen wird). Achten Sie
besonders darauf, dass wenn der vorherige selbstkonfigurierte Kernel
Funktionalität beinhaltet, die von Kernelmodulen zur
- Verfügung gestellt wurde, dass diese temporär in den
+ Verfügung gestellt wurde, dass diese temporär in den
GENERIC-Kernel über die Datei
/boot/loader.conf übernommen werden.
Sie sollten ebenfalls nicht benötigte Dienste, eingehängte
Platten, verbundene Netzlaufwerke, usw. deaktivieren, bis der
Aktualisierungsprozess abgeschlossen ist.Die Maschine sollte nun mit dem aktualisierten Kernel neu
gestartet werden:&prompt.root; shutdown -r nowSobald das System wieder hochgefahren wurde, muss
freebsd-update erneut gestartet werden. Der Zustand
des Prozesses wurde zuvor gesichert und deshalb wird
freebsd-update nicht von vorne beginnen, jedoch alle
alten Shared-Libraries und Objektdateien löschen. Um zu diesem
Zustand zu gelangen, setzen Sie das folgende Kommando ab:&prompt.root; freebsd-update installAbhängig davon, ob irgendwelche Bibliotheksversionen
erhöht wurden, kann es sein, dass nur zwei Installationsphasen
anstatt drei durchlaufen werden.Nun muss alle Drittanbieter-Software neu erstellt und neu
installiert werden. Dies ist notwendig, da die installierte Software
möglicherweise Abhängigkeiten zu Bibliotheken enthält,
die während der Aktualisierung entfernt wurden. Der ports-mgmt/portupgrade-Befehl kann verwendet
werden, um diesen Vorgang zu automatisieren. Die folgenden Kommandos
können verwendet werden, um diesen Prozess zu starten:&prompt.root; portupgrade -f ruby
&prompt.root; rm /var/db/pkg/pkgdb.db
&prompt.root; portupgrade -f ruby18-bdb
&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
&prompt.root; portupgrade -afSobald dies abgeschlossen ist, beenden Sie den
Aktualisierungsprozess mit einem letzten Aufruf von
freebsd-update. Geben Sie den folgenden Befehl ein,
um alle losen Enden des Aktualisierungsprozesses miteinander zu
verknüpfen:&prompt.root; freebsd-update installWenn der GENERIC-Kernel temporär Verwendung
fand, ist dies der richtige Zeitpunkt, einen neuen,
selbstkonfigurierten Kernel zu bauen und über die übliche
Methode zu installieren.Booten Sie anschliessend die Maschine in die neue &os;-Version.
Der Prozess ist damit abgeschlossen.Vergleich des SystemzustandsDas freebsd-update-Werkzeug kann verwendet
werden, um den Zustand der installierten &os;-Version gegenüber
einer bekannten und funktionierenden Kopie zu vergleichen. Diese
Option vergleicht die aktuelle Version von Systemwerkzeugen,
Bibliotheken und Konfigurationsdateien. Um diesen Vergleich zu
starten, geben Sie den folgenden Befehl ein:&prompt.root; freebsd-update IDS >> outfile.idsObwohl der Befehlsname IDS lautet, sollte er
in keiner Weise als Ersatz für ein Intrusion Detection System
wie security/snort angesehen
werden. Da freebsd-update seine Daten auf Platte
ablegt, ist die Möglichkeit von Verfälschungen
offensichtlich. Obwohl diese Möglichkeit durch die Verwendung
von kern.securelevel oder die Ablage von
freebsd-update auf einem Nur-Lese Dateisystem,
wenn es gerade nicht gebraucht wird, eingedämmt werden kann,
besteht eine bessere Lösung darin, das System gegen ein
gesichertes Medium, wie eine DVD oder einen
externen, separat aufbewahrten
USB-Plattenspeicher, zu vergleichen.Das System wird jetzt untersucht und eine Liste von Dateien
ausgegeben, zusammen mit deren &man.sha256.1;-Hashwerten, sowohl der
von der Release-Version bekannte Wert als auch der des aktuell
installierten Systems. Das ist der Grund dafür, warum die Ausgabe
an die Datei outfile.ids geschickt wurde. Es
scrollt zu schnell vorbei, um diese mit den Augen zu vergleichen und
bald wird auch der Konsolenpuffer damit überfüllt.Diese Zeilen sind dazu noch extrem lang, aber das Ausgabeformat
kann sehr einfach verarbeitet werden. Um beispielsweise eine Liste von
allen Dateien zu erhalten, die sich vom aktuellen Release
unterscheiden, geben Sie das folgende Kommando ein:&prompt.root; cat outfile.ids | awk '{ print $1 }' | more
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.confDiese Ausgabe wurde abgeschnitten, es existieren noch viel mehr
Dateien dazu. Manche dieser Dateien besitzen ganz
selbstverständliche Veränderungen,
/etc/passwd wurde beispielsweise geändert,
um Benutzer zum System hinzuzufügen. In manchen Fällen kann
es anderen Dateien wie Kernelmodule geben, welche sich geändert
haben, weil freebsd-update diese aktualisiert hat.
Um bestimmte Dateien oder Verzeichnisse auszuschliessen, hängen
Sie diese an die IDSIgnorePaths-Option in
/etc/freebsd-update.conf an.Diese Vorgehensweise kann als Teil einer ausgeklügelten
Aktualisierungsmethode benutzt werden, unabhängig von der zuvor
angesprochenen Variante.TomRhodesGeschrieben von ColinPercivalBasierend auf bereitgestellten Mitschriften von BenedictReuschlingÜbersetzt von Portsnap: Ein Werkzeug zur Aktualisierung der Ports-SammlungUpdating and UpgradingPortsnapUpdating and UpgradingDas Basissystem von &os; enthält auch ein Programm zum
Aktualisieren der Ports-Sammlung: das &man.portsnap.8; Werkzeug. Wenn
- es ausgeführt wird, verbindet es sich mit einem entfernten Rechner,
+ es ausgeführt wird, verbindet es sich mit einem entfernten Rechner,
überprüft den Sicherungsschlüssel und lädt eine neue
Kopie der Ports-Sammlung herunter. Der Schlüssel wird dazu
verwendet, um die Integrität aller heruntergeladenen Dateien zu
prüfen und um sicherzustellen, dass diese unterwegs nicht
verändert wurden. Um die aktuellsten Dateien der Ports-Sammlung
herunter zu laden, geben Sie das folgende Kommando ein:&prompt.root; portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
Fetching snapshot tag from portsnap1.FreeBSD.org... done.
Fetching snapshot metadata... done.
Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
Fetching 3 metadata patches.. done.
Applying metadata patches... done.
Fetching 3 metadata files... done.
Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
Applying patches... done.
Fetching 133 new ports or files... done.Dieses Beispiel zeigt, dass &man.portsnap.8; mehrere Korrekturen
für die aktuellen Ports-Daten gefunden und verifiziert hat. Es
zeigt auch, dass das Programm zuvor schon einmal gestartet wurde.
Wäre es das erste Mal, würde nur die Ports-Sammlung
heruntergeladen werden.Wenn &man.portsnap.8; erfolgreich die
fetch-Operation abgeschlossen hat, befinden sich die
Ports-Sammlung und die dazugehörigen Korrekturen auf dem lokalen
- System, welches die Überprüfung bestanden hat. Wenn
- portsnap das erste Mal ausgeführt wird,
- verwenden Sie extract, um die aktualisierten Dateien
- zu installieren:
+ System, welches die Überprüfung bestanden hat. Wenn Sie
+ portsnap das erste Mal ausgeführt haben,
+ müssen Sie den Befehl portsnap extract
+ verwenden, um die Ports-Sammlung zu installieren:
&prompt.root; portsnap extract
/usr/ports/.cvsignore
/usr/ports/CHANGES
/usr/ports/COPYRIGHT
/usr/ports/GIDs
/usr/ports/KNOBS
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
/usr/ports/Mk/bsd.apache.mk
/usr/ports/Mk/bsd.autotools.mk
/usr/ports/Mk/bsd.cmake.mk
...
- Für weitere Aufrufe von portsnap fetch
- sollte stattdessen update verwendet werden:
+ Um Ihre bereits installierte Ports-Sammlung zu aktualisieren,
+ verwenden Sie hingegen den Parameter update:&prompt.root; portsnap updateDer Prozess ist jetzt abgeschlossen und Anwendungen können
mittels der aktuellen Ports-Sammlung installiert oder aktualisiert
werden.Die Operationen fetch und
extract oder update können
auch nacheinander ausgeführt werden, wie im folgenden Beispiel
gezeigt:&prompt.root; portsnap fetch update
+
+ Dieser Befehl lädt die aktuelle Version der Ports-Sammlung
+ herunter und aktualisiert anschließend Ihre lokale Version
+ im Verzeichnis /usr/ports.BenedictReuschlingÜbersetzt von Aktualisieren der DokumentationssammlungUpdating and UpgradingDocumentationUpdating and UpgradingNeben dem Basissystem und der Ports-Sammlung ist die Dokumentation
ein wichtiger Bestandteil des &os; Betriebssystems. Obwohl eine aktuelle
Version der &os; Dokumentation jederzeit auf der &os; Webseite verfügbar
ist, verfügen manche Benutzer nur über eine langsame oder
überhaupt keine Netzwerkverbindung. Glücklicherweise gibt es
mehrere Möglichkeiten, die Dokumentation, welche mit jeder Version
ausgeliefert wird, zu aktualisieren, indem eine lokale Kopie der
aktuellen &os;-Dokumentationssammlung verwendet wird.Verwenden von CVSup um die Dokumentation zu aktualisierenDie Quellen und die installierte Kopie der &os; Dokumentation
kann mittels CVSup aktualisiert werden,
indem ein ähnlicher Mechanismus angewendet wird, wie derjenige
für die Betriebssystemquellen (vergleichen Sie mit ). Dieser Abschnitt beschreibt:Wie die Dokumentations-Werkzeugsammlung installiert wird,
welche die Werkzeuge enthält, die nötig sind, um die
&os; Dokumentation aus den Quellen neu zu erstellen.Wie man eine Kopie der Dokumentationsquellen nach /usr/doc herunterlädt, unter
Verwendung von CVSup.Wie man die &os; Dokumentation aus den Quellen baut und unter
/usr/share/doc
installiert.
- Manche der Optionen zum Erstellen, die vom System zum Bauen der
+ Manche der Optionen zum Erstellen, die vom System zum Bauen der
Dokumentation unterstützt werden, z.B. die Optionen welche nur
ein paar der unterschiedlichen Sprachübersetzungen der
Dokumentation erstellen oder die Optionen, die ein bestimmtes
Ausgabeformat auswählen.
- CVSup und die Werkzeugsammlung der Dokumentation
+ CVSup und die Werkzeugsammlung der Dokumentation
installierenDie &os; Dokumentation aus dem Quellen zu erstellen benötigt
- eine ziemlich grosse Anzahl an Werkzeugen. Diese Werkzeuge sind nicht
+ eine ziemlich grosse Anzahl an Werkzeugen. Diese Werkzeuge sind nicht
Teil des &os; Basissystems, da sie eine grosse Menge an Plattenplatz
- verbrauchen und nicht von allen &os;-Anwendern benötigt werden.
+ verbrauchen und nicht von allen &os;-Anwendern benötigt werden.
Sie sind nur für diejenigen Benutzer notwendig, die aktiv an neuer
Dokumentation fü &os; schreiben oder häufig ihre
Dokumentation aus den Quellen bauen lassen.Alle benötigten Werkzeuge sind als Teil der Ports-Sammlung
verfügbar. Der Port textproc/docproj dient als Masterport, der
vom &os; Documentation Project entwickelt wurde, um die initiale
Installation und zukünftige Aktualisierungen dieser Werkzeuge zu
vereinfachen.Wenn Sie die Dokumentation nicht als &postscript; oder PDF
benötigen, können Sie alternativ die Installation des
textproc/docproj-nojadetex-Ports
in Erwägung ziehen. Diese Version der
Dokumentations-Werkzeugsammlung enthält alles ausser das
teTeX-Textsatzsystem.
teTeX ist eine sehr grosse Sammlung an
Werkzeugen, deshalb ist es vernünftig, deren Installation
auszulassen, wenn die Ausgabe von PDF nicht unbedingt gebraucht
wird.Für weitere Informationen über das Installieren und
Verwenden von CVSup, lesen Sie CVSup verwenden.Die Dokumentationsquellen aktualisierenDas Programm CVSup kann eine saubere
Kopie der Dokumentationsquellen holen, indem es die Datei
/usr/share/examples/cvsup/doc-supfile als
Konfigurationsvorlage verwendet. Der Standard-Host zum Aktualisieren
ist auf einen Platzhalterwert im doc-supfile
gesetzt, aber &man.cvsup.1; akzeptiert auch einen Hostnamen über
die Kommandozeile. Somit können die Dokumentationsquellen von
einem der CVSup-Server geholt werden, indem
man eingibt:&prompt.root; cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/share/examples/cvsup/doc-supfileÄndern Sie cvsup.FreeBSD.org auf
den Ihnen am nächsten gelegenen
CVSup-Server. Eine vollständige Liste
von Spiegelservern finden Sie unter .Es dauert eine Weile, wenn die Dokumentationsquellen das allererste
Mal heruntergeladen werden. Lassen Sie es laufen, bis es fertig
ist.Zukünftige Aktualisierungen der Dokumentationsquellen
können Sie über den gleichen Befehl bekommen. Das Programm
CVSup lädt und kopiert nur diejenigen
Aktualisierungen herunter, die seit seinem letzten Aufruf hinzugekommen
sind. Deshalb sollte jeder weitere Aufruf von
CVSup nach dem Ersten wesentlich schneller
abgeschlossen sein.Nachdem die Quellen einmal ausgecheckt wurden, besteht ein anderer
Weg, die Dokumentation zu aktualisieren, darin, das
Makefile im Verzeichnis /usr/doc anzupassen. Durch setzen von
SUP_UPDATE, SUPHOST und
DOCSUPFILE in der Datei
/etc/make.conf ist es jetzt möglich,
folgendes zu tun:&prompt.root; cd /usr/doc
&prompt.root; make updateEin typischer Satz dieser &man.make.1;-Optionen für
/etc/make.conf ist:SUP_UPDATE= yes
SUPHOST?= cvsup.freebsd.org
DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfileDas Setzen des Werts von SUPHOST und
DOCSUPFILE auf ?= erlaubt es,
diese in der Kommandozeile von make zu überschreiben. Diese
Methode wird empfohlen, um Optionen zu make.conf
hinzuzufügen, um zu verhinden, dass man die Datei jedes Mal
bearbeiten muss, um einen anderen Wert für die Option
auszuprobieren.Einstellbare Optionen der DokumentationsquellenDas System zum aktualisieren und erstellen der &os;-Dokumentation
unterstützt ein paar Optionen, welche den Prozess der
Aktualisierung von Teilen der Dokumentation oder einer bestimmten
Übersetzung erleichtert. Diese Optionen lassen sich entweder
systemweit in der Datei /etc/make.conf setzen,
oder als Kommandozeilenoptionen, die dem &man.make.1;-Werkzeug
übergeben werden.Die folgenden Optionen sind ein paar davon:DOC_LANGEine Liste von Sprachen und Kodierungen, die gebaut und
installiert werden sollen, z.B.
en_US.ISO8859-1, um nur die englische
Dokumentation zu erhalten.FORMATSEin einzelnes Format oder eine Liste von Ausgabeformaten, das
gebaut werden soll. Momentan werden html,
html-split, txt,
ps, pdf,
und rtf unterstützt.SUPHOSTDer Hostname des CVSup-Servers,
der verwendet werden soll, um Aktualisierungen zu holen.DOCDIRWohin die Dokumentation installiert werden soll. Der
Standardpfad ist /usr/share/doc.Für weitere make-Variablen, die als systemweite Optionen
in &os; unterstützt werden, lesen Sie &man.make.conf.5;.Für weitere make-Variablen, die vom System zum Erstellen der
&os;-Dokumentation unterstützt werden, lesen Sie die Fibel für neue
Mitarbeiter des &os;-Dokumentationsprojekts.Die &os;-Dokumentation aus den Quellen installierenWenn ein aktueller Schnappschuss der Dokumentationsquellen nach
/usr/doc heruntergeladen wurde,
ist alles bereit für eine Aktualisierung der bestehenden
Dokumentation.Eine komplette Aktualisierung aller Sprachoptionen, definiert durch
die DOC_LANG Makefile-Option, kann durch folgende
Eingabe erreicht werden:&prompt.root; cd /usr/doc
&prompt.root; make install cleanWenn make.conf mit den richtigen Optionen
DOCSUPFILE, SUPHOST und
SUP_UPDATE eingerichtet wurde, kann der
Installationsschritt mit einer Aktualisierung der Dokumentationsquellen
kombiniert werden, indem man eingibt:&prompt.root; cd /usr/doc
&prompt.root; make update install cleanWenn nur eine Aktualisierung einer bestimmten Sprache
gewünscht wird, kann &man.make.1; in einem sprachspezifischen
Unterverzeichnis von /usr/doc
aufgerufen werden, z.B.:&prompt.root; cd /usr/doc/en_US.ISO8859-1
&prompt.root; make update install cleanDie zu installierenden Ausgabeformate können durch das Setzen
der make-Variablen FORMATS angegeben werden,
z.B.:&prompt.root; cd /usr/doc
&prompt.root; make FORMATS='html html-split' install cleanMarcFonvieilleBasierend auf der Arbeit von Verwendung von Dokumentations-PortsUpdating and Upgradingdocumentation packageUpdating and UpgradingIm vorherigen Abschnitt wurde eine Methode gezeigt, wie die
&os;-Dokumentation aus den Quellen gebaut werden kann. Allerdings sind
quellbasierte Aktualisierungen möglicherweise nicht für alle
&os;-Systeme geeignet oder praktikabel. Das Erstellen der
Dokumentationsquellen benötigt eine grosse Anzahl an Werkzeugen,
Programmen und Hilfsmitteln, die documentation
toolchain, ein gewisser Grad an Vertrautheit mit
CVS und ausgecheckte Quellen von einem
Repository, sowie ein paar manuelle Schritte, um diese ausgecheckten
Quellen zu bauen. In diesem Abschnitt wird eine alternative Art und
Weise vorgestellt, wie man die installierte Kopie der
&os;-Dokumentation aktualisieren kann. Diese Methode verwendet die
Ports-Sammlung und erlaubt es:vorgefertige Schnappschüsse der Dokumentation herunter zu
laden und zu installieren, ohne vorher irgendetwas lokal zu
erstellen (dadurch ist es nicht mehr notwenig, den kompletten
Werkzeugkasten der Dokumentation zu installieren).die Dokumentationsquellen herunterzuladen und durch das
Ports-System erstellen zu lassen (was die Schritte zum Auschecken
und Erstellen etwas erleichtert).Diese beiden Methoden der Aktualisierung der &os;-Dokumentation
werden durch eine Menge von Dokumentations-Ports
- unterstützt, die von &a.doceng; monatlich aktualisiert wird.
+ unterstützt, die von &a.doceng; monatlich aktualisiert wird.
Diese sind in der Ports-Sammlung unter der virtuellen Kategorie, docs genannt,
gelistet.Erstellen und Installieren von Dokumentations-PortsDie Dokumentations-Ports nutzen das Ports-System, um das
Erstellen von Dokumentation wesentlich einfacher zu machen. Es
automatisiert den Prozess des Auscheckens der Dokumentationsquellen,
aufrufen von &man.make.1; mit den passenden Umgebungsvariablen und
Kommandozeilenoptionen und macht die Installation und Deinstallation
von Dokumentation so einfach wie die Installation von jedem anderen
Port oder Paket.Als zusätzliche Eigenschaft zeichnen sie eine
Abhängigkeit zum
Dokumentations-Werkzeugsatz auf, wenn die
Dokumentations-Ports lokal erstellt werden, weshalb dieser auch
automatisch mitinstalliert wird.Die Dokumentations-Ports sind wie folgt organisiert:Es existiert ein Master-Port, misc/freebsd-doc-en, in dem alle
Dateien zu den Dokumentations-Ports abgelegt sind. Es dient als
Basis für alle Dokumentations-Ports. Als Voreinstellung
wird nur die englische Dokumentation gebaut.Es gibt einen Alles-in-Einem-Port, misc/freebsd-doc-all, welcher die
komplette Dokumentation in allen verfügbaren Sprachen
erstellt und installiert.Schliesslich gibt es noch einen sogenannten slave
port f&¨r jede Übersetzung, z.B.: misc/freebsd-doc-hu für
Dokumentation in ungarischer Sprache. All diese benötigen
den Master-Port und installieren die übersetzte
Dokumentation in der entsprechenden Sprache.Um einen Dokumentations-Port aus den Quellen zu installieren,
geben Sie das folgende Kommando (als root)
ein:&prompt.root; cd /usr/ports/misc/freebsd-doc-en
&prompt.root; make install cleanAuf diese Weise wird die englische Dokumentation gebaut und als
getrenntes HTML-Format im Verzeichnis /usr/local/share/doc/freebsd installiert
(genau wie unter zu
finden).Gebräuchliche Schalter und OptionenEs gibt viele Optionen, um das Standarderhalten der
Dokumentations-Ports zu verändern. Im Folgenden sind nur ein
paar davon aufgeführt:WITH_HTMLErlaubt das Erstellen im HTML-Format: eine einzige
HTML-Datei pro Dokument. Die formatierte Dokumentation wird
als Datei mit dem Namen article.html
gespeichert, oder, je nachdem, als
book.html, zuzuüglich der
Bilder.WITH_PDFErlaubt das Erstellen von &adobe; Portable Document
Format, für die Verwendung mit &adobe; &acrobat.reader;,
Ghostscript oder anderen
PDF-Betrachtern. Die formatierte Dokumentation wird als Datei
mit dem Namen article.pdf oder, soweit
angemessen, als book.pdf
gespeichert.DOCBASEWohin die Dokumentation installiert werden soll. Der
Standardpfad ist /usr/local/share/doc/freebsd.Beachten Sie, dass sich der Standardpfad von dem
Verzeichnis unterscheidet, das von der
CVSup-Methode verwendet wird.
Das liegt daran, dass ein Port installiert wird und diese
überlicherweise im Verzeichnis /usr/local abgelegt werden.
Durch setzen der PREFIX-Variablen kann
dieses Verhalten geändert werden.Es folgt ein kurzes Beispiel, wie die Variablen verwendet
werden, um die oben erwähnte ungarische Dokumentation als
Portable Document Format zu installieren:&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install cleanVerwendung von Dokumentations-PaketenDas Erstellen der Dokumentations-Ports aus den Quellen, wie im
vorherigen Abschnitt beschrieben, benötigt die lokale
Installation der Dokumentations-Werkzeugsammlung und ein wenig
Festplattenspeicher für das Bauen der Ports. Sollten die
Ressourcen zum Bauen der Dokumentations-Werkzeugsammlung nicht zur
Verfügung stehen, oder weil das erstellen zuviel Plattenplatz
benötigen würde, ist es trotzdem möglich, bereits
zuvor gebaute Schnappschüsse der Dokumentations-Ports zu
installieren.&a.doceng; erstellt monatliche Schnappschüsse der
Dokumentations-Pakete von &os;. Diese Binärpakete können
mit jedem der mitgelieferten Paketwerkzeuge installiert werden,
beispielsweise &man.pkg.add.1;, &man.pkg.delete.1; und so
weiter.Wenn Binärpakete zu Einsatz kommen, wird die
&os;-Dokumentation in allen verfügbaren
Formaten in der gegebenen Sprache installiert.Zum Beispiel installiert das folgende Kommando das aktuelle,
vorgefertigte Paket der ungarischen Dokumentation:&prompt.root; pkg_add -r hu-freebsd-docPakete haben das folgende Namensformat, welches sich von dem
Namen des dazugehörigen Ports unterscheidet:
lang-freebsd-doc.
lang entspricht hier der Kurzform des
Sprachcodes, z.B. hu für Ungarisch, oder
zh_cn für vereinfachtes Chinesisch.Dokumentations-Ports aktualisieren
- Um einen zuvor installierten Dokumentations-Port zu aktualisieren,
+ Um einen zuvor installierten Dokumentations-Port zu aktualisieren,
kann jedes Werkzeug, das auch zum Aktualisieren von Ports verwendet
wird, eingesetzt werden. Beispielsweise aktualisiert das folgende
Kommando die installierte ungarische Dokumentation mittels des
Programms ports-mgmt/portupgrade indem nur Pakete
verwendet werden sollen:&prompt.root; portupgrade -PP hu-freebsd-docPavLucistnikBased on information provided by Using DocsnapUpdating and UpgradingDocsnapUpdating and UpgradingDocsnap is an &man.rsync.1;
repository for updating installed &os; Documentation in a
relatively easy and fast way. A
Docsnap server tracks
the documentation sources, and builds them in HTML format every
hour. The textproc/docproj
is unneeded with Docsnap as only
patches to the built documentation exist.The only requirement for using this technique is
the net/rsync port or
package. To add it, use the following command:&prompt.root; pkg_add -r rsyncDocsnap has been originally
developed for updating documentation installed
to /usr/share/doc, but
the following examples could be adapted for other directories
as well. For user directories, it does not require
root privileges.To update the documentation set, issue the following
command:&prompt.root; rsync -rltvz docsnap.sk.FreeBSD.org::docsnap /usr/share/docThere is only one Docsnap
server at the moment;
the docsnap.sk.FreeBSD.org shown
above.Do not use the flag here as there
are some items installed
into /usr/share/doc
during make installworld, which would
accidentally be removed. To clean up, use this command
instead:&prompt.root; rsync -rltvz --delete docsnap.sk.FreeBSD.org::docsnap/??_??\.\* /usr/share/docIf a subset of documentation needs to be updated, for
example, the English documentation only, the following command
should be used:&prompt.root; rsync -rltvz docsnap.sk.FreeBSD.org::docsnap/en_US.ISO8859-1 /usr/share/doc
]]>
Einem Entwicklungszweig folgen-CURRENT-STABLEFreeBSD besitzt zwei Entwicklungszweige: &os.current; und
&os.stable;. Dieser Abschnitt beschreibt beide Zweige und
erläutert, wie Sie Ihr System auf dem aktuellen Stand
eines Zweiges halten. Zuerst wird &os.current; vorgestellt, dann
&os.stable;.&os.current;Beachten Sie im Folgenden, dass &os.current; die Spitze
der Entwicklung von &os; ist. Benutzer von &os.current; sollten
über sehr gute technische Fähigkeiten verfügen und
in der Lage sein, schwierige Probleme alleine zu lösen. Wenn
&os; neu für Sie ist, überlegen Sie sich genau, ob Sie
&os.current; benutzen wollen.Was ist &os.current;?Snapshot&os.current; besteht aus den neuesten Quellen des
FreeBSD-Systems. Es enthält Sachen, an denen gerade
gearbeitet wird, experimentelle Änderungen und
Übergangsmechanismen, die im nächsten offiziellen
Release der Software enthalten sein können oder nicht.
Obwohl &os.current; täglich von vielen Entwicklern gebaut
wird, gibt es Zeiträume, in denen sich das System nicht
bauen lässt. Diese Probleme werden so schnell wie
möglich gelöst, aber ob Sie mit &os.current;
Schiffbruch erleiden oder die gewünschten Verbesserungen
erhalten, kann von dem Zeitpunkt abhängen, an dem Sie sich
den Quelltext besorgt haben!Wer braucht &os.current;?&os.current; wird hauptsächlich für 3
Interessengruppen zur Verfügung gestellt:Entwickler, die an einem Teil des Quellbaums arbeiten und
daher über die aktuellen Quellen verfügen
müssen.Tester, die bereit sind, Zeit in das Lösen von
Problemen zu investieren und sicherstellen, dass
&os.current; so stabil wie möglich bleibt. Weiterhin
Leute, die Vorschläge zu Änderungen oder der
generellen Entwicklung von &os; machen und Patches
bereitstellen, um diese Vorschläge zu realisieren.Für Leute, die die Entwicklung im Auge behalten
wollen, oder die Quellen zu Referenzzwecken (zum Beispiel
darin lesen, aber nicht verwenden) benutzen wollen. Auch diese
Gruppe macht Vorschläge oder steuert Quellcode
bei.Was &os.current; nicht ist!Der schnellste Weg, neue Sachen vor dem offiziellen
Release auszuprobieren. Bedenken Sie, dass der erste,
der die neuen Sachen ausprobiert, auch der erste ist, der die
neuen Fehler findet.Ein schneller Weg, um an Fehlerbehebungen (engl.
bug fixes) zu kommen. Jede
Version von &os.current; führt mit gleicher
Wahrscheinlichkeit neue Fehler ein, mit der sie alte
behebt.In irgendeiner Form offiziell
unterstützt. Wir tun unser Bestes, um Leuten
aus den drei legitimen Benutzergruppen von
&os.current; zu helfen, aber wir haben einfach nicht
die Zeit, technische Unterstützung zu
erbringen. Das kommt nicht daher, dass wir kleinliche,
gemeine Leute sind, die anderen nicht helfen wollen (wenn
wir das wären, würden wir &os; nicht machen), wir
können einfach nicht jeden Tag Hunderte Nachrichten
beantworten und an &os; arbeiten! Vor
die Wahl gestellt, &os; zu verbessern oder jede Menge Fragen
zu experimentellem Code zu beantworten, haben sich die
Entwickler für ersteres entschieden.Benutzen von &os.current;-CURRENTbenutzenEs ist essentiell, die Mailinglisten
&a.current.name; und &a.svn-src-head.name; zu lesen. Wenn Sie
&a.current.name; nicht lesen, verpassen Sie
die Kommentare anderer über den momentanen Zustand des
Systems und rennen demzufolge in viele bekannte Probleme, die
schon gelöst sind. Noch kritischer ist, dass Sie wichtige
Bekanntmachungen verpassen, die erhebliche Auswirkungen
auf die Stabilität Ihres Systems haben können.In der &a.svn-src-head.name; Mailingliste sehen Sie zu jeder
Änderung das Commit-Log, das Informationen zu
möglichen Seiteneffekten enthält.Um diese Listen zu abonnieren (oder zu lesen)
besuchen Sie bitte die Seite &a.mailman.lists.link;.
Weitere Informationen erhalten Sie, wenn Sie dort
auf die gewünschte Liste klicken. Wenn Sie daran
interessiert sind, die Änderungen am gesamten Quellbaum
mit zu verfolgen, schlagen wir vor, die Liste
&a.svn-src-all.name; zu abonnieren.Beschaffen Sie sich die Quellen von einem
&os;-Spiegel. Sie haben
dazu zwei Möglichkeiten:cvsupcron-CURRENTmit CVSup
synchronisierenBenutzen Sie das Programm
cvsup
mit der Datei standard-supfile
aus dem Verzeichnis
/usr/share/examples/cvsup.
Dies ist die empfohlene Methode, da Sie die ganzen
Quellen nur einmal herunterladen und danach nur noch
Änderungen beziehen. Viele lassen
cvsup aus cron
heraus laufen, um ihre Quellen automatisch auf Stand
zu bringen. Sie müssen die obige Sup-Datei
anpassen und cvsup
in Ihrer Umgebung konfigurieren.
-
+
Die standard-supfile-Beispieldatei
ist dafür vorgesehen, einen bestimmten
Sicherheitszweig zu verfolgen und nicht &os.current;. Sie
müssen diese Datei bearbeiten und die folgende
Zeile:
-
+
*default release=cvs tag=RELENG_X_Ydurch diese ersetzen:
-
+
*default release=cvs tag=.
-
+
Lesen Sie den Abschnitt über CVS Tags im Handbuch, um eine
genaue Beschreibung von verwendbaren Tags zu
erhalten.-CURRENTmit CTM synchronisierenCTM
kommt in Frage, wenn Sie
über eine schlechte Internet-Anbindung (hoher Preis
oder nur E-Mail Zugriff) verfügen. Der Umgang mit
CTM ist allerdings recht
mühsam und Sie können beschädigte Dateien
erhalten. Daher wird es selten benutzt, was wiederum
dazu führt, dass es über längere Zeit
nicht funktioniert. Wir empfehlen jedem mit einem
9600 bps oder schnellerem Modem,
CVSup
zu benutzen.Wenn Sie die Quellen einsetzen und nicht nur darin
lesen wollen, besorgen Sie sich bitte die
kompletten Quellen von &os.current; und
nicht nur ausgesuchte Teile. Der Grund hierfür ist,
dass die verschiedenen Teile der Quellen voneinander
abhängen. Es ist ziemlich sicher, dass Sie in
Schwierigkeiten geraten, wenn Sie versuchen, nur einen Teil
der Quellen zu übersetzen.-CURRENTübersetzenSehen Sie sich das Makefile in
/usr/src genau an, bevor Sie
&os.current; übersetzen. Wenn Sie
&os; das erste Mal aktualisieren, sollten Sie sowohl
einen Kernel als auch das
System neu installieren.
Lesen Sie bitte die Mailingliste &a.current;
und /usr/src/UPDATING, um über
Änderungen im Installationsverfahren, die manchmal
vor der Einführung eines neuen Releases notwendig sind,
informiert zu sein.Seien Sie aktiv! Wenn Sie &os.current; laufen lassen,
wollen wir wissen, was Sie darüber denken, besonders
wenn Sie Verbesserungsvorschläge oder Fehlerbehebungen
haben. Verbesserungsvorschläge, die Code enthalten,
werden übrigens begeistert entgegengenommen.&os.stable;Was ist &os.stable;?-STABLE&os.stable; ist der Entwicklungszweig, auf dem Releases
erstellt werden. Dieser Zweig ändert sich langsamer als
&os.current; und alle Änderungen hier sollten zuvor in
&os.current; ausgetestet sein. Beachten Sie, dass dies
immer noch ein Entwicklungszweig ist und
daher zu jedem Zeitpunkt die Quellen von &os.stable; verwendbar
sein können oder nicht. &os.stable; ist Teil des
Entwicklungsprozesses und nicht für Endanwender
gedacht.Wer braucht &os.stable;?Wenn Sie den FreeBSD-Entwicklungsprozess, besonders im
Hinblick auf das nächste Release, verfolgen oder
dazu beitragen wollen, sollten Sie erwägen, &os.stable; zu
benutzen.Auch wenn sicherheitsrelevante Fehlerbehebungen in den
&os.stable; Zweig einfließen, müssen Sie deswegen
noch lange nicht &os.stable; verfolgen. Jeder der FreeBSD
Sicherheitshinweise beschreibt für jedes betroffene Release,
Das stimmt nicht ganz. Obwohl wir alte FreeBSD
Releases für einige Jahre unterstützen, können
wir sie nicht ewig unterstützen. Eine vollständige
Beschreibung der Sicherheitspolitik für alte FreeBSD
Releases entnehmen Sie bitte http://www.FreeBSD.org/security/.
wie sie einen sicherheitsrelevanten Fehler beheben.
Wenn Sie den Entwicklungszweig aus Sicherheitsgründen
verfolgen wollen, bedenken Sie, dass Sie neben
Fehlerbehebungen auch eine Vielzahl unerwünschter
Änderungen erhalten werden.Obwohl wir versuchen sicherzustellen, dass der
&os.stable; Zweig sich jederzeit übersetzen lässt
und läuft, können wir dafür keine Garantie
übernehmen. Auch wenn Neuentwicklungen in &os.current;
stattfinden, ist es jedoch so, dass mehr Leute
&os.stable; benutzen als &os.current; und es daher unvermeidlich
ist, dass Fehler und Grenzfälle erst in &os.stable;
auffallen.Aus diesen Gründen empfehlen wir Ihnen
nicht, blindlings &os.stable; zu benutzen.
Es ist wichtig, dass Sie &os.stable; zuerst sorgfältig
in einer Testumgebung austesten, bevor Sie Ihre Produktion
auf &os.stable; migrieren.Wenn Sie dies nicht leisten können, empfehlen wir Ihnen,
das aktuelle FreeBSD-Release zu verwenden. Benutzen Sie dann den
binären Update-Mechanismus, um auf neue Releases
zu migrieren.Benutzen von &os.stable;-STABLEbenutzenLesen Sie Mailingliste &a.stable.name;, damit Sie über
Abhängigkeiten beim Bau von &os.stable; und Sachen, die
besondere Aufmerksamkeit erfordern, informiert sind.
Umstrittene Fehlerbehebungen oder Änderungen werden von
den Entwicklern auf dieser Liste bekannt gegeben. Dies
erlaubt es den Benutzern, Einwände gegen die
vorgeschlagenen Änderungen vorzubringen.Abonnieren Sie die passende
SVN-Liste für den jeweiligen
Branch, den Sie verfolgen. Wenn Sie beispielsweise den Zweig
7-STABLE verfolgen, lesen Sie die &a.svn-src-stable-7.name;.
Dort sehen Sie zu jeder Änderung das Commit-Log, das
Informationen zu möglichen Seiteneffekten
enthält.Um diese Listen oder andere Listen zu abonnieren
besuchen Sie bitte die Seite &a.mailman.lists.link;.
Weitere Informationen erhalten Sie, wenn Sie dort
auf die gewünschte Liste klicken. Wenn Sie daran
interessiert sind, Änderungen am gesamten Quellbaum zu
verfolgen, dann empfehlen wir, dass Sie &a.svn-src-all.name;
abonnieren.Wenn Sie ein neues System installieren und dazu einen
der monatlich aus &os.stable; erzeugten Snapshots verwenden
wollen, sollten Sie zuerst die Snapshot Website auf
aktuelle Informationen überprüfen. Alternativ
können Sie auch das neueste &os.stable;-Release von
den Spiegeln beziehen
und Ihr System nach den folgenden Anweisungen
aktualisieren.Wenn Sie schon ein älteres Release von &os;
und das System mit dem Quellcode aktualisieren wollen,
benutzen Sie einen der &os;-Spiegel. Sie haben
dazu zwei Möglichkeiten:cvsupcron-STABLEmit CVSup
synchronisierenBenutzen Sie das Programm
cvsup
mit der Datei stable-supfile
aus dem Verzeichnis
/usr/share/examples/cvsup.
Dies ist die empfohlene Methode, da Sie die ganzen
Quellen nur einmal herunterladen und danach nur noch
Änderungen beziehen. Viele lassen
cvsup aus cron
heraus laufen, um ihre Quellen automatisch auf Stand
zu bringen. Sie müssen das oben erwähnte
supfile anpassen und cvsup konfigurieren.-STABLEmit CTM synchronisierenBenutzen Sie
CTM. Wenn Sie über
keine schnelle und billige Internet-Anbindung
verfügen, sollten Sie diese Methode in Betracht
ziehen.Benutzen Sie cvsup oder
ftp, wenn Sie schnellen Zugriff auf die
Quellen brauchen und die Bandbreite keine Rolle spielt,
andernfalls benutzen Sie
CTM.-STABLEübersetzenBevor Sie &os.stable; übersetzen, sollten Sie sich
das Makefile in
/usr/src genau anschauen. Wenn Sie
&os; das erste Mal aktualisieren, sollten Sie sowohl
einen Kernel als auch das
System neu installieren.
Lesen Sie bitte die Mailingliste &a.stable;
und /usr/src/UPDATING, um über
Änderungen im Installationsverfahren, die manchmal
vor der Einführung eines neuen Releases notwendig sind,
informiert zu sein.Synchronisation der QuellenSie können eine Internet-Verbindung (oder E-Mail) dazu
nutzen, Teile von &os;, wie die Quellen zu einzelnen Projekten, oder
das Gesamtsystem, aktuell zu halten. Dazu bieten wir die Dienste
AnonymousCVS,
CVSup und
CTM an.Obwohl es möglich ist, nur Teile des Quellbaums zu
aktualisieren, ist die einzige unterstütze Migrationsprozedur,
den kompletten Quellbaum zu aktualisieren und alles, das
heißt das Userland (z.B. alle Programme in
/bin und /sbin) und die
Kernelquellen, neu zu übersetzen. Wenn Sie nur einen Teil der
Quellen, zum Beispiel nur den Kernel oder nur die Programme aus dem
Userland, aktualisieren, werden Sie oft Probleme haben, die von
Übersetzungsfehlern über Kernel-Panics bis hin zu
Beschädigungen Ihrer Daten reichen können.CVSanonymousAnonymous CVS und
CVSup benutzen die
Pull-Methode
Von engl. to pull =
ziehen. Der Client holt sich bei dieser
Methode die Dateien ab., um die Quellen zu aktualisieren. Im Fall von
CVSup ruft der Benutzer oder ein
cron-Skript cvsup auf, das
wiederum mit einem cvsupd Server interagiert, um
Ihre Quellen zu aktualisieren. Mit beiden Methoden erhalten Sie
aktuelle Updates zu einem genau von Ihnen bestimmten Zeitpunkt. Sie
können die Prozedur auf bestimmte Dateien oder Verzeichnisse
einschränken, so dass Sie nur die Updates bekommen, die
für Sie von Interesse sind. Die Updates werden zur Laufzeit,
abhängig von den Sachen, die Sie schon haben und den Sachen, die
Sie haben wollen, auf dem Server generiert. Anonymous
CVS ist eine Erweiterung von
CVS, die es Ihnen erlaubt, Änderungen
direkt aus einem entfernten CVS-Repository zu ziehen.
Anonymous CVS ist leichter zu handhaben
als CVSup, doch ist letzteres sehr viel
effizienter.CTMIm Gegensatz dazu vergleicht CTM Ihre
Quellen nicht mit denen auf einem Server. Stattdessen läuft auf
dem Server ein Skript, das Änderungen an Dateien gegenüber
seinem vorigen Lauf bemerkt, die Änderungen komprimiert, mit
einer Sequenznummer versieht und für das Verschicken per E-Mail
kodiert (es werden nur druckbare ASCII-Zeichen verwendet). Wenn Sie
diese CTM-Deltas erhalten haben, können Sie sie
mit &man.ctm.rmail.1; benutzen, welches die Deltas dekodiert,
verifiziert und dann die Änderungen an Ihren Quellen vornimmt.
Dieses Verfahren ist viel effizienter als
CVSup und erzeugt auch weniger Last auf
unseren Servern, da es die
Push-Methode
Von engl. to push =
schieben. Der Server schickt dem Client die
Dateien. verwendet.Es gibt natürlich noch weitere Unterschiede, die Sie
beachten sollten. Wenn Sie unabsichtlich Teile Ihres Archivs
löschen, wird das von CVSup
wie Anonymous CVS erkannt
und repariert. Wenn sich fehlerhafte Dateien in Ihrem Quellbaum
befinden, löschen Sie diese einfach und synchronisieren erneut.
CTM leistet das nicht,
wenn Sie Teile des Quellbaums gelöscht haben und keine Sicherung
besitzen, müssen Sie von neuem, das heißt vom letzten
Basis-Delta, starten und die Änderungen wieder
mit CTM nachziehen.Das komplette Basissystem neu bauenBau des BasissystemsWenn Sie Ihren lokalen Quellbaum mit einer bestimmten FreeBSD
Version (&os.stable;, &os.current;, usw.) synchronisiert haben,
können Sie diesen benutzen, um das System neu zu
bauen.Erstellen Sie eine Sicherungskopie!Es kann nicht oft genug betont werden, wie wichtig es ist, Ihr
System zu sichern, bevor Sie die nachfolgenden
Schritte ausführen. Obwohl der Neubau des Systems eine
einfache Aufgabe ist, wenn Sie sich an die folgende Anleitung
halten, kann es dennoch vorkommen, dass Sie einen Fehler machen,
oder dass Ihr System nicht mehr bootet, weil andere Entwickler
Fehler in den Quellbaum eingeführt haben.Stellen Sie sicher, dass Sie eine Sicherung erstellt haben
und über eine Fixit-Floppy oder eine startfähige CD
verfügen. Wahrscheinlich werden Sie die Startmedien
nicht benötigen, aber gehen Sie auf Nummer Sicher!Abonnieren Sie die richtige MailinglisteMailinglisteDie &os.stable; und &os.current; Zweige befinden sich in
ständiger Entwicklung. Die Leute, die zu
&os; beitragen, sind Menschen und ab und zu machen sie
Fehler.Manchmal sind diese Fehler harmlos und lassen Ihr System eine
Warnung ausgeben. Die Fehler können allerdings auch
katastrophal sein und dazu führen, dass Sie Ihr System
nicht mehr booten können, Dateisysteme beschädigt
werden oder Schlimmeres passiert.Wenn solche Probleme auftauchen, wird ein
heads up an die passende Mailingliste geschickt, welches
das Problem erklärt und die betroffenen Systeme benennt. Eine
all clear Meldung wird versendet, wenn das
Problem gelöst ist.Wenn Sie &os.stable; oder &os.current; benutzen und nicht die
Mailinglisten &a.stable; beziehungsweise &a.current; lesen, bringen
Sie sich nur unnötig in Schwierigkeiten.Finger weg von make worldÄltere Dokumentationen empfehlen, das Kommando
make world für den Neubau.
Das Kommando überspringt wichtige Schritte. Setzen
Sie es nur ein, wenn Sie wissen was Sie tun. In fast
allen Fällen ist make world
falsch, benutzen Sie stattdessen die nachstehende
Anleitung.Richtig aktualisierenUm Ihr System zu aktualisieren, sollten Sie zuerst
/usr/src/UPDATING lesen, und
eventuelle, für Ihre Quellcodeversion nötigen
Aufgaben erledigen, bevor Sie das System bauen. Danach
aktualisieren Sie Ihr System mit den folgenden
Schritten.
-
+
Bei den hier dargestellten Aktualisierungsschritten wird davon
ausgegangen, dass Sie momentan eine alte &os;-Version verwenden, die
aus einem alten Compiler, Kernel, sowie einem alten Basissystem und
veralteten Konfigurationsdateien besteht. Mit
Basissystem sind hier die zentralen Binärdateien,
Bibliotheken und Entwicklerdateien gemeint. Der Compiler ist Teil
des Basissystems, beinhaltet aber ein paar
Besonderheiten.
-
+
Es wird ausserdem davon ausgegangen, dass Sie bereits die Quellen
für ein neues System bezogen haben. Falls die Quellen in dem
vorliegenden System zu alt sind, lesen Sie ,
um detaillierte Hilfe über die Aktualisierung der Quellen zu
erhalten.
-
+
Die Aktualisierung des Systems aus den Quellen ist ein wenig
ausgetüftelter als es zunächst den Anschein hat. Die
Entwickler von &os; haben es über die Jahre für Nötig
befunden, den vorgeschlagenen Ablauf ziemlich stark zu
verändern, da neue Arten von unvermeidlichen Abhängigkeiten
mit der Zeit ans Licht kamen. Der übrige Teil dieses Abschnitts
beschreibt die Überlegungen hinter der aktuell empfohlenen
Aktualisierungsreihenfolge.
-
+
Jede erfolgreiche Aktualisierung muss sich mit den folgenden
Sachverhalten auseinandersetzen:Der alte Compiler ist möglicherweise nicht in der Lage,
den neuen Kernel zu übersetzen (alte Compiler besitzen
manchmal Fehler). Deshalb sollte der neue Kernel mit dem neuen
Compiler übersetzt werden. Ganz besonders muss darauf
geachtet werden, dass der neue Compiler vor dem neuen Kernel
gebaut wird. Das bedeutet nicht unbedingt, dass der neue
Compiler auch installiert werden muss, bevor
der neue Kernel gebaut wird.
-
+
Das neue Basissystem benötigt eventuell neue
Eigenschaften des Kernels. Also muss der neue Kernel installiert
sein, bevor das neue Basissystem installiert wird.
-
+
Diese ersten beiden Sachverhalte sind die Grundlage für die
zentrale Sequenz von buildworld,
buildkernel,
installkernel und
installworld, die in den folgenden
Abschnitten beschrieben wird. Dies ist keine vollständige Liste
all der Gründe, warum Sie den aktuell empfohlenen Prozess der
Aktualisierung bevorzugen sollten. Ein paar der weniger
naheliegenden Gründe sind im folgenden aufgezählt:
-
+
Das alte Basissystem wird möglicherweise nicht korrekt
mit dem neuen Kernel funktionieren, weshalb Sie das neue
Basissystem sofort nach der Installation des neuen Kernels
installieren müssen.
-
+
Manche Änderungen an der Konfiguration müssen
erledigt worden sein, bevor das neue Basissystem installiert wird,
jedoch können andere die Funktionalität des alten
Basissystems beeinträchtigen. Aus diesem Grund sind zwei
verschiedene Schritte notwendig, um eine Aktualisierung der
Konfiguration durchzuführen.
-
+
Der Aktualisierungsprozess ersetzt zum Grossteil Dateien oder
fügt neue hinzu, bestehende Dateien werden nicht
gelöscht. In wenigen Ausnahmefällen kann dies Probleme
verursachen. Aus diesem Grund wird der Aktualisierungsprozess
manchmal bestimmte Dateien zum manuellen Löschen vorschlagen.
Dies wird eventuell in der Zukunft automatisch
durchgeführt.
-
- Diese Bedenken haben zu der folgenden Reihenfolge geführt.
+
+ Diese Bedenken haben zu der folgenden Reihenfolge geführt.
Beachten Sie, dass der genaue Ablauf für bestimmte
Aktualisierungen zusätzliche Schritte nach sich zieht, jedoch
sollte der Kernprozess davon nicht beeinträchtigt werden:make
buildworld
-
+
Dieser Schritt übersetzt zuerst den neuen Compiler und
ein paar damit zusammenhängende Werkzeuge und verwendet dann
den neuen Compiler, um den Rest des Basissystems zu erstellen.
Das Ergebnis landet dann in /usr/obj.make
buildkernel
- Statt dem alten Ansatz, &man.config.8; und
+ Statt dem alten Ansatz, &man.config.8; und
&man.make.1; zu verwenden, nutzt dieser den
neuen Compiler, der in /usr/obj abgelegt ist.
Das schützt Sie vor falschen
Compiler-Kernel-Kombinationen.
-
+
make
installkernelPlatziert den neuen Kernel und Kernelmodule auf der Platte,
was es erlaubt, mit dem frisch aktualisierten Kernel zu
starten.Starten Sie das System neu in den Single-User-Modus.
- Der Single-User-Modus minimiert Probleme mit der
+ Der Single-User-Modus minimiert Probleme mit der
Aktualisierung von Programmen, die bereits gestartet sind. Ebenso
minimiert es Probleme, die mit der Verwendung des alten
Basissystems und des neuen Kernels zu tun haben
könnten.mergemaster Dieser Schritt aktualisiert ein paar initiale
Konfigurationsdateien als Vorbereitung für das neue
Basissystem. Beispielsweise fügt es neue Benutzergruppen
zum System oder neue Benutzernamen in die Passwortdatenbank hinzu.
Dies wird oftmals benötigt, wenn neue Gruppen oder bestimmte
Systembenutzerkonten seit der letzten Aktualisierung hinzu gekommen
sind, so dass der installworld-Schritt
in der Lage ist, auf dem neu installierten System die Benutzer
oder Systemgruppennamen ohne Probleme zu verwenden.make
installworld
-
+
Kopiert das Basissystem aus /usr/obj. Sie haben jetzt den
neuen Kernel und das neue Basissystem auf der Festplatte.
-
+
mergemasterSie können nun die verbleibenden Konfigurationsdateien
aktualisieren, da Sie nun das neue Basissystem auf der Platte
haben.Starten Sie das System neu.
- Ein kompletter Systemneustart ist notwendig, um den neuen
+ Ein kompletter Systemneustart ist notwendig, um den neuen
Kernel und das neue Basissystem mit den neuen
Konfigurationsdateien zu laden.Beachten Sie, dass wenn Sie von einem Release des gleichen
&os;-Zweigs auf ein aktuelleres Release des gleichen Zweigs, z.B.
von 7.0 auf 7.1, aktualisieren, dann ist diese Vorgehensweise nicht
unbedingt notwendig, da Sie nur sehr unwahrscheinlich in
ungünstige Kombinationen zwischen Compiler, Kernel, Basissystem
und den Konfigurationsdateien geraten werden. Die ältere
Vorgehensweise von make
world, gefolgt von der Erstellung
und Installation des neuen Kernels funktioniert möglicherweise
gut genug, um kleinere Aktualisierungen vorzunehmen.Wenn Sie allerdings zwischen Hauptversionen aktualisieren wollen
und befolgen diese Schritte nicht, sollten Sie sich auf Probleme
gefasst machen.Es ist auch wichtig zu wissen, dass viele Aktualisierungen, z.B.
von 4.X auf 5.0, viele spezielle und
zusätzliche Schritte benötigt, wie beispielsweise das
- umbennen oder löschen von speziellen Dateien vor installworld.
+ umbennen oder löschen von speziellen Dateien vor installworld.
Lesen Sie die Datei /usr/src/UPDATING
gründlich, besonders am Ende, wo die aktuell vorgeschlagene
Aktualisierungssequenz explizit aufgelistet ist.
-
+
Diese Prozedur hat sich mit der Zeit weiterentwickelt, da die
Entwickler es für unmöglich erachtet haben, bestimmte
Arten von Kombinationsproblemen vollständig auszuschliessen.
Hoffentlich wird die aktuelle Aktualisierungsprozedur für lange
Zeit stabil bleiben.
-
+
Aktualisierungen von&os; 3.X
oder noch früheren Releases ist ein wenig trickreicher. Lesen
- Sie dazu UPDATING sorgfältig, wenn Sie
+ Sie dazu UPDATING sorgfältig, wenn Sie
diese Art von Aktualisierung durchführen müssen.
-
+
Als Zusammenfassung ist hier nochmal die aktuell vorgeschlagene
Vorgehensweise für die Aktualisierung von &os; aus den Quellen
aufgelistet:&prompt.root; cd /usr/src
&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; shutdown -r nowEs gibt einige, sehr seltene Situationen, in denen Sie
mergemaster -p zusätzlich
ausführen müssen, bevor Sie das System mit
buildworld bauen. Diese Situationen
werden in UPDATING beschrieben. Solche
Situationen treten aber in der Regel nur dann auf, wenn Sie
Ihr &os;-System um eine oder mehrere Hauptversionen
aktualisieren.Nachdem installkernel erfolgreich
abgeschlossen wurde, starten Sie das System im Single-User-Modus
(etwa durch die Eingabe von boot -s am
Loaderprompt). Danach führen Sie die folgenden Anweisungen
aus:&prompt.root; adjkerntz -i
&prompt.root; mount -a -t ufs
&prompt.root; mergemaster -p
&prompt.root; cd /usr/src
&prompt.root; mergemaster
&prompt.root; rebootLesen Sie bitte weiterDie obige Vorschrift ist nur eine
Gedächtnisstütze. Um die einzelnen
Schritte zu verstehen, lesen Sie bitte die
folgenden Abschnitte, insbesondere wenn Sie
einen angepassten Kernel erstellen.Lesen Sie /usr/src/UPDATINGBevor Sie etwas anderes tun, lesen Sie bitte
/usr/src/UPDATING (oder die entsprechende
Datei, wenn Sie den Quellcode woanders installiert haben). Die
Datei enthält wichtige Informationen zu Problemen, auf die Sie
stoßen könnten oder gibt die Reihenfolge vor, in der Sie
bestimmte Kommandos laufen lassen müssen. Die Anweisungen in
UPDATING sind aktueller als die in diesem
Handbuch. Im Zweifelsfall folgen Sie bitte den Anweisungen aus
UPDATING.Das Lesen von UPDATING ersetzt nicht das
Abonnieren der richtigen Mailingliste. Die beiden Voraussetzungen
ergänzen sich, es reicht nicht aus, nur eine zu
erfüllen.Überprüfen Sie
/etc/make.confmake.confÜberprüfen Sie die Dateien
/usr/share/examples/etc/make.conf
und /etc/make.conf. Die erste enthält
Vorgabewerte, von denen die meisten auskommentiert sind. Um diese
während des Neubaus des Systems zu nutzen, tragen Sie die
Werte in /etc/make.conf ein. Beachten Sie,
dass alles, was Sie in /etc/make.conf
eintragen, bei jedem Aufruf von make angezogen
wird. Es ist also klug, hier etwas Sinnvolles einzutragen.Typischerweise wollen Sie die Zeilen, die
CFLAGS und NO_PROFILE
enthalten, aus
/usr/share/examples/etc/make.conf
nach /etc/make.conf übertragen und dort
aktivieren.Sehen Sie sich auch die anderen Definitionen, wie
COPTFLAGS oder NOPORTDOCS an
und entscheiden Sie, ob Sie diese aktivieren wollen.Aktualisieren Sie die Dateien in /etcDas Verzeichnis /etc enthält den
Großteil der Konfigurationsdateien des Systems und Skripten,
die beim Start des Systems ausgeführt werden. Einige dieser
Skripten ändern sich bei einer Migration auf eine neue
FreeBSD-Version.Einige der Konfigurationsdateien, besonders
/etc/group, werden für den Normalbetrieb
des Systems gebraucht.Es gab Fälle, in denen das Kommando
make installworld auf bestimmte
Accounts oder Gruppen angewiesen war, die aber während
der Aktualisierung fehlten. Demzufolge kam es zu Problemen
bei der Aktualisierung. In einigen Fällen prüft
make buildworld ob die Accounts oder
Gruppen vorhanden sind.Ein Beispiel dafür trat beim Anlegen des Benutzers
smmsp auf. Die Installationsprozedur
schlug an der Stelle fehl, an der &man.mtree.8;
versuchte, /var/spool/clientmqueue
anzulegen.Um dieses Problem zu umgehen,rufen Sie &man.mergemaster.8;
prä-buildworld-Modus auf, der mit aktiviert
wird. In diesem Modus werden nur Dateien verglichen, die für
den Erfolg von buildworld oder
installworld essentiell sind. Wenn Ihre
alte Version von mergemaster die Option
noch nicht unterstützt, nehmen Sie beim
ersten Lauf die neue Version aus dem Quellbaum:&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -pWenn Sie besonders paranoid sind, sollten Sie Ihr System nach
Dateien absuchen, die der Gruppe, die Sie umbenennen oder
löschen, gehören:&prompt.root; find / -group GID -printDas obige Kommando zeigt alle Dateien an, die der Gruppe
GID (dies kann entweder ein
Gruppenname oder eine numerische ID sein) gehören.Wechseln Sie in den Single-User-ModusSingle-User-ModusSie können das System im Single-User-Modus
übersetzen. Abgesehen davon, dass dies etwas schneller
ist, werden bei der Installation des Systems viele wichtige Dateien,
wie die Standard-Systemprogramme, die Bibliotheken und
Include-Dateien, verändert. Sie bringen sich in
Schwierigkeiten, wenn Sie diese Dateien auf einem laufenden System
verändern, besonders dann, wenn zu dieser Zeit Benutzer auf
dem System aktiv sind.MehrbenutzermodusEine andere Methode übersetzt das System im
Mehrbenutzermodus und wechselt für die Installation in den
Single-User-Modus. Wenn Sie diese Methode benutzen wollen, warten
Sie mit den folgenden Schritten, bis der Bau des Systems fertig
ist und Sie mit installkernel oder
installworld installieren wollen.Als Superuser können Sie mit dem folgenden Kommando ein
laufendes System in den Single-User-Modus bringen:&prompt.root; shutdown nowAlternativ können Sie das System mit der Option
single user in den Single-User-Modus booten.
Danach geben Sie die folgenden Befehle ein:&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aDie Kommandos überprüfen die Dateisysteme,
hängen / wieder beschreibbar ein,
hängen dann alle anderen UFS Dateisysteme aus
/etc/fstab ein und aktivieren den
Swap-Bereich.Zeigt Ihre CMOS-Uhr die lokale Zeit und nicht GMT an, dies
erkennen Sie daran, dass &man.date.1; die
falsche Zeit und eine flasche Zeitzone anzeigt, setzen Sie das
folgende Kommando ab:&prompt.root; adjkerntz -iDies stellt sicher, dass Ihre Zeitzone richtig
eingestellt ist. Ohne dieses Kommando werden Sie
vielleicht später Probleme bekommen.Entfernen Sie /usr/objDie neugebauten Teile des Systems werden in der Voreinstellung
unter /usr/obj gespeichert. Die Verzeichnisse
dort spiegeln die Struktur unter
/usr/src.Sie können den make buildworld Prozess
beschleunigen, indem Sie dieses Verzeichnis entfernen. Dies
erspart Ihnen zudem einigen Ärger aufgrund von
Abhängigkeiten.Einige Dateien unter /usr/obj sind
vielleicht durch die -Option
(siehe &man.chflags.1;) schreibgeschützt, die vor dem
Löschen entfernt werden muss.&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Übersetzen der Quellen des BasissystemsSichern der AusgabenFür den Fall, dass etwas schief geht, sollten Sie
die Ausgaben von &man.make.1; in einer Datei sichern, damit Sie
eine Kopie der Fehlermeldung besitzen. Das mag Ihnen nicht
helfen, den Fehler zu finden, kann aber anderen helfen, wenn Sie
Ihr Problem in einer der &os;-Mailinglisten schildern.Dazu können Sie einfach das Kommando &man.script.1;
benutzen, dem Sie beim Aufruf als Parameter den Dateinamen
für die Ausgaben mitgeben. Setzen Sie das Kommando
unmittelbar vor dem Neubau ab und geben Sie
exit ein, wenn der Bau abgeschlossen
ist:&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make TARGET… Ausgaben des Kommandos …
&prompt.root; exit
Script done, …Sichern Sie die Ausgaben nicht in /tmp,
da dieses Verzeichnis beim nächsten Boot aufgeräumt
werden kann. Ein geeigneteres Verzeichnis ist
/var/tmp, wie im vorigen Beispiel gezeigt,
oder das Heimatverzeichnis von root.Übersetzen des BasissystemsWechseln Sie in das Verzeichnis, in dem die Quellen liegen
(in der Voreinstellung ist das
/usr/src):&prompt.root; cd /usr/srcmakeZum Neubau der Welt benutzen Sie &man.make.1;. Dieses
Kommando liest ein Makefile, das Anweisungen
enthält, wie die Programme, aus denen &os; besteht, zu bauen
sind und in welcher Reihenfolge diese zu bauen sind.Ein typischer Aufruf von make sieht wie
folgt aus:&prompt.root; make -x -DVARIABLEtargetIn diesem Beispiel ist
eine Option, die
Sie an &man.make.1; weitergeben wollen. Eine Liste gültiger
Optionen finden Sie in der &man.make.1; Manualpage.Das Verhalten eines Makefiles wird von
Variablen bestimmt. Mit
setzen Sie
eine Variable. Diese Variablen sind dieselben, die auch in
/etc/make.conf gesetzt werden, dies ist nur
ein alternativer Weg, Variablen zu setzen.Um zu verhindern, dass die profiled
Bibliotheken gebaut werden, rufen Sie make wie
folgt auf:&prompt.root; make -DNO_PROFILE targetDieser Aufruf entspricht dem folgenden Eintrag in
/etc/make.conf:NO_PROFILE= true # Avoid compiling profiled librariesJedes Makefile definiert einige
Ziele, die festlegen, was genau zu tun ist. Mit
target wählen Sie eins dieser
Ziele aus.Einige Ziele im Makefile sind nicht
für den Endanwender gedacht, sondern unterteilen den
Bauprozess in eine Reihe von Einzelschritten.Im Regelfall müssen Sie &man.make.1; keine Parameter
mitgeben, so dass Ihre Kommandozeile wie folgt aussehen
wird:&prompt.root; make targettarget steht dabei für
die verschiedenen Ziele. Das erste Ziel sollte immer
buildworld sein.Mit buildworld wird ein kompletter
Baum unterhalb von /usr/obj gebaut, der mit
installworld, einem weiteren Ziel, auf
dem System installiert werden kann.Über seperate Optionen zu verfügen, ist aus
mehreren Gründen nützlich. Erstens
können Sie das System auf einem laufenden System bauen, da die
Bauprozedur abgekapselt vom Rest des Systems ist. Das System
lässt sich im Mehrbenutzermodus ohne negative
Seiteneffekte bauen. Die Installation mit
installworld sollte aber immer noch im
Single-User-Modus erfolgen.Zweitens können Sie NFS benutzen, um mehrere Maschinen
in Ihrem Netzwerk zu aktualisieren. Wenn Sie die Maschinen
A, B und C
aktualisieren wollen, lassen sie make
buildworld und make installworld auf
A laufen. Auf den Maschinen B
und C können Sie die
Verzeichnisse /usr/src und
/usr/obj von A einhängen
und brauchen dort nur noch make installworld
auszuführen, um die Bauresultate zu installieren.Obwohl das Ziel world noch
existiert, sollten Sie es wirklich nicht mehr benutzen.Um das System zu bauen, setzen Sie das folgende Kommando
ab:&prompt.root; make buildworldMit können Sie
make anweisen, mehrere Prozesse zu starten.
Besonders effektiv ist das auf Mehrprozessor-Systemen. Da aber
der Übersetzungsprozess hauptsächlich von IO statt
der CPU bestimmt wird, ist diese Option auch auf
Einprozessor-Systemen nützlich.Auf einem typischen Einprozessor-System können Sie den
folgenden Befehl absetzen:&prompt.root; make -j4 buildworld&man.make.1; wird dann bis zu vier Prozesse gleichzeitig
laufen lassen. Erfahrungsberichte aus den Mailinglisten zeigen,
dass dieser Aufruf typischerweise den besten
Geschwindigkeitsgewinn bringt.Wenn Sie ein Mehrprozessor-System besitzen und SMP in Ihrem
Kernel konfiguriert ist, probieren Sie Werte zwischen 6 und 10
aus.LaufzeitenBau des BasissystemsLaufzeitenDie Laufzeit eines Baus wird von vielen Faktoren
beeinflusst, ein aktuelles System benötigt aber etwa
zwei Stunden um &os.stable; zu bauen. Der Bau von
&os.current; dauert etwas länger.Übersetzen und Installation des KernelsKernelÜbersetzenUm das Beste aus Ihrem System zu holen, sollten Sie einen neuen
Kernel kompilieren. Praktisch gesehen ist das sogar notwendig, da
sich einige Datenstrukturen geändert haben und Programme wie
&man.ps.1; oder &man.top.1; nur mit einem Kernel zusammen arbeiten,
der auch zu dem entsprechenden Quellcode passt.Am einfachsten und sichersten bauen Sie dazu den
GENERIC Kernel. Obwohl der
GENERIC Kernel vielleicht nicht alle
Ihre Geräte unterstützt, sollte er alles enthalten,
um das System in den Single-User-Modus zu booten. Dies ist auch
ein guter Test, um zu sehen, dass das System
ordnungsgemäß funktioniert. Nachdem Sie mit
GENERIC gebootet und sichergestellt haben,
dass Ihr System funktioniert, können Sie einen neuen
Kernel mit Ihrer Konfigurationsdatei bauen.In aktuellen &os;-Versionen müssen Sie das
Basissystem neu bauen,
bevor Sie einen neuen Kernel erstellen.Wenn Sie einen angepassten Kernel erstellen wollen und
bereits über eine Konfigurationsdatei verfügen,
geben Sie diese, wie im folgenden Beispiel gezeigt, auf der
Kommandozeile an:&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELWenn kern.securelevel einen Wert
größer als 1 besitzt
und der Kernel mit noschg
oder ähnlichen Optionen geschützt ist, müssen Sie
installkernel im Einbenutzermodus
ausführen. Wenn das nicht der Fall ist, sollten die beiden
Kommandos problemlos im Mehrbenutzermodus laufen. Weitere
Informationen über kern.securelevel finden
Sie in &man.init.8; und &man.chflags.1; erläutert Optionen, die
Sie auf Dateien setzen können.Booten Sie in den Single-User-ModusSingle-User-ModusUm zu prüfen, ob der neue Kernel funktioniert, sollten Sie
in den Single-User-Modus booten. Folgen Sie dazu der Anleitung aus
.Installation des SystemsWenn Sie make buildworld benutzt haben, um
das System zu bauen, sollten Sie jetzt
installworld benutzen, um es zu
installieren. Rufen Sie dazu das folgende Kommando auf:&prompt.root; cd /usr/src
&prompt.root; make installworldWenn Sie mit dem make buildworld Kommando
Variablen verwenden haben, müssen Sie dieselben Variablen
auch bei dem make installworld Kommando
angeben. Auf die anderen Optionen trifft das nur bedingt zu:
darf mit installworld
nicht benutzt werden.Sie haben zum Bauen die folgende Kommandozeile
verwendet:&prompt.root; make -DNO_PROFILE buildworldBei der Installation setzen Sie dann das folgende Kommando
ab:&prompt.root; make -DNO_PROFILE installworldWürden Sie die Variable bei der Installation weglassen,
so würde das System versuchen, die profiled
Bibliotheken, die aber gar nicht gebaut wurden, zu
installieren.Aktualisieren der von make installworld
ausgelassenen DateienNeue oder geänderte Konfigurationsdateien aus einigen
Verzeichnissen, besonders /etc,
/var und /usr werden bei
der Installationsprozedur nicht berücksichtigt.Sie können diese Dateien mit &man.mergemaster.8;
aktualisieren. Alternativ können Sie das auch manuell
durchführen, obwohl wir diesen Weg nicht empfehlen. Egal
welchen Weg Sie beschreiten, sichern Sie vorher den Inhalt von
/etc für den Fall, dass etwas schief
geht.TomRhodesBeigetragen von mergemastermergemasterDas Bourne-Shell Skript &man.mergemaster.8; hilft Ihnen dabei,
die Unterschiede zwischen den Konfigurationsdateien in
/etc und denen im Quellbaum unter
/usr/src/etc zu finden.
mergemaster ist der empfohlene Weg, Ihre
Systemkonfiguration mit dem Quellbaum abzugleichen.Rufen Sie mergemaster einfach auf und
schauen Sie zu. Ausgehend von / wird
mergemaster einen virtuellen Root-Baum
aufbauen und darin die neuen Konfigurationsdateien ablegen.
Diese Dateien werden dann mit den auf Ihrem System installierten
verglichen. Unterschiede zwischen den Dateien werden im
&man.diff.1;-Format dargestellt. Neue oder geänderte Zeilen
werden mit gekennzeichnet. Zeilen die
gelöscht oder ersetzt werden, sind mit einem
gekennzeichnet. Das Anzeigeformat wird in
&man.diff.1; genauer erklärt.&man.mergemaster.8; zeigt Ihnen jede geänderte Datei an
und Sie haben die Wahl, die neue Datei (in
mergemaster wird sie temporäre Datei
genannt) zu löschen, sie unverändert zu installieren,
den Inhalt der neuen Datei mit dem Inhalt der alten Datei
abzugleichen, oder die &man.diff.1; Ausgabe noch einmal zu
sehen. Sie können die aktuelle Datei auch
überspringen, sie wird dann noch einmal angezeigt, nachdem
alle anderen Dateien abgearbeitet wurden. Sie erhalten Hilfe,
wenn Sie bei der Eingabeaufforderung von
mergemaster ein ?
eingeben.Wenn Sie die temporäre Datei löschen, geht
mergemaster davon aus, dass Sie Ihre
aktuelle Datei behalten möchten. Wählen Sie die Option
bitte nur dann, wenn Sie keinen Grund sehen, die aktuelle Datei
zu ändern.Wenn Sie die temporäre Datei installieren, wird Ihre
aktuelle Datei mit der neuen Datei überschrieben. Sie
sollten alle unveränderten Konfigurationsdateien auf diese
Weise aktualisieren.Wenn Sie sich entschließen den Inhalt beider Dateien
abzugleichen, wird ein Texteditor aufgerufen, indem Sie beide
Dateien nebeneinander betrachten können. Mit der Taste
l übernehmen Sie die aktuelle Zeile der
links dargestellten Datei, mit der Taste r
übernehmen Sie die Zeile der rechts dargestellten Datei.
Das Ergebnis ist eine Datei, die aus Teilen der beiden
ursprünglichen Dateien besteht und installiert werden kann.
Dieses Verfahren wird gewöhnlich bei veränderten
Dateien genutzt.Haben Sie sich entschieden die Differenzen noch einmal
anzuzeigen, zeigt Ihnen &man.mergemaster.8; dieselbe Ausgabe, die
Sie gesehen haben, bevor die Eingabeaufforderung ausgegeben
wurde.Wenn &man.mergemaster.8; alle Systemdateien abgearbeitet hat,
werden weitere Optionen abgefragt. Sie werden unter
Umständen gefragt, ob Sie die Passwort-Datei neu bauen
lassen wollen. Am Ende haben Sie die Möglichkeit, den Rest
der temporären Dateien zu löschen.Manueller Abgleich der KonfigurationsdateienWenn Sie den Abgleich lieber selbst ausführen wollen,
beachten Sie bitte, dass Sie nicht einfach die Dateien aus
/usr/src/etc nach /etc
kopieren können. Einige dieser Dateien müssen zuerst
installiert werden, bevor sie benutzt werden
können. Das liegt daran, dass
/usr/src/etc keine exakte Kopie von
/etc ist. Zudem gibt es Dateien, die sich
in /etc befinden aber nicht in
/usr/src/etc.Wenn Sie, wie empfohlen, mergemaster
benutzen, können Sie direkt in den nächsten
Abschnitt
wechseln.Am einfachsten ist es, wenn Sie die neuen Dateien in ein
temporäres Verzeichnis installieren und sie nacheinander auf
Differenzen zu den bestehenden Dateien durchsehen.Sichern Sie die Inhalte von /etcObwohl bei dieser Prozedur keine Dateien in
/etc automatisch verändert werden,
sollten Sie dessen Inhalt an einen sicheren Ort
kopieren:&prompt.root; cp -Rp /etc /etc.oldMit wird rekursiv kopiert und
erhält die Attribute der kopierten
Dateien, wie Zugriffszeiten und Eigentümer.Sie müssen die neuen Dateien in einem temporären
Verzeichnis installieren. /var/tmp/root ist
eine gute Wahl für das temporäre Verzeichnis, in dem
auch noch einige Unterverzeichnisse angelegt werden
müssen.&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionDie obigen Kommandos bauen die nötige
Verzeichnisstruktur auf und installieren die neuen Dateien in
diese Struktur. Unterhalb von /var/tmp/root
wurden einige leere Verzeichnisse angelegt, die Sie am besten wie
folgt entfernen:&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/nullIm obigen Beispiel wurde die Fehlerausgabe nach
/dev/null umgeleitet, um die Warnungen
über nicht leere Verzeichnisse zu unterdrücken./var/tmp/root enthält nun alle
Dateien, die unterhalb von / installiert
werden müssen. Sie müssen nun jede dieser Dateien mit
den schon existierenden Dateien vergleichen.Einige der installierten Dateien unter
/var/tmp/root beginnen mit einem
..
Als dieses Kapitel verfasst wurde, waren das nur die
Startdateien für die Shells in
/var/tmp/root/ und
/var/tmp/root/root/. Abhängig davon,
wann Sie dieses Handbuch lesen, können mehr Dateien dieser
Art existieren. Verwenden Sie ls -a um
sicherzustellen, dass Sie alle derartigen Dateien
finden.Benutzen Sie &man.diff.1; um Unterschiede zwischen zwei
Dateien festzustellen:&prompt.root; diff /etc/shells /var/tmp/root/etc/shellsDas obige Kommando zeigt Ihnen die Unterschiede zwischen der
installierten Version von /etc/shells und
der neuen Version in /var/tmp/root/etc/shells.
Entscheiden Sie anhand der Unterschiede, ob
Sie beide Dateien abgleichen oder die neue Version über die
alte kopieren wollen.Versehen Sie das temporäre Verzeichnis mit einem
ZeitstempelWenn Sie das System oft neu bauen, müssen Sie
/etc genauso oft aktualisieren. Dies kann
mit der Zeit sehr lästig werden.Sie können das Verfahren beschleunigen, wenn Sie sich
eine Kopie der Dateien behalten, die Sie zuletzt nach
/etc installiert haben. Das folgende
Verfahren zeigt Ihnen, wie das geht.Folgen Sie der normalen Prozedur um das System zu
bauen. Wenn Sie /etc und die anderen
Verzeichnisse aktualisieren wollen, geben Sie dem
temporären Verzeichnis einen Namen, der das aktuelle
Datum enthält. Wenn Sie dies zum Beispiel am
14. Februar 1998 durchführten, hätten Sie die
folgenden Kommandos abgesetzt:&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distributionGleichen Sie die Änderungen entsprechend der
Anleitung von oben ab.Wenn Sie fertig sind, entfernen Sie das Verzeichnis
/var/tmp/root-19980214nicht.Wenn Sie nun neue Quellen heruntergeladen und gebaut
haben, folgen Sie bitte Schritt 1. Wenn Sie zwischen den
Updates eine Woche gewartet haben, haben Sie nun ein
Verzeichnis mit dem Namen
/var/tmp/root-19980221.Sie können nun die Unterschiede, die sich in einer
Woche ergeben haben, sehen, indem Sie &man.diff.1; rekursiv
anwenden:&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221Üblicherweise sind die Differenzen, die Sie jetzt
sehen, kleiner als die Differenzen zwischen
/var/tmp/root-19980221/etc und
/etc. Da die angezeigten Differenzen
kleiner sind, ist es jetzt einfacher den Abgleich der
Dateien durchzuführen.Sie können nun das älteste der beiden
/var/tmp/root-* Verzeichnisse
entfernen:&prompt.root; rm -rf /var/tmp/root-19980214Wiederholen Sie diesen Prozess jedes Mal wenn Sie
Dateien in /etc abgleichen
müssen.Mit &man.date.1; können Sie den Verzeichnisnamen
automatisch erzeugen:&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`Das System neu startenSie sind nun am Ende der Prozedur angelangt. Nachdem Sie sich
davon überzeugt haben, dass Ihr System funktioniert,
starten Sie Ihr System mit &man.shutdown.8; neu:&prompt.root; shutdown -r nowEndeHerzlichen Glückwunsch! Sie haben gerade erfolgreich Ihr
&os; System aktualisiert.Es ist übrigens leicht einen Teil des Systems
wiederherzustellen, für den Fall, dass Ihnen ein kleiner
Fehler unterlaufen ist. Wenn Sie beispielsweise während des
Updates oder Abgleichs /etc/magic aus Versehen
gelöscht haben, wird &man.file.1; nicht mehr funktionieren.
In diesem Fall können Sie das Problem mit dem folgenden
Kommando beheben:&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installFragenMuss ich wirklich immer alles neu bauen, wenn sich
etwas geändert hat?Darauf gibt es keine einfache Antwort. Was zu tun ist,
hängt von den Änderungen ab. Es lohnt
wahrscheinlich nicht, alles neu zu bauen, wenn sich bei einem
CVSup-Lauf nur die folgenden
Dateien geändert haben:src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mkIn diesem Fall können Sie in die entsprechenden
Unterverzeichnisse wechseln und dort make all
install ausführen. Wenn sich allerdings etwas
Wichtiges, wie src/lib/libc/stdlib,
geändert hat, sollten Sie die Welt oder
mindestens die statisch gelinkten Teile des Systems (sowie
Ihre statisch gelinkten Ergänzungen) neu bauen.Letztendlich ist das Ihre Entscheidung. Sie sind
vielleicht damit zufrieden, das System alle zwei Wochen neu
zu bauen und in der Zwischenzeit die anfallenden
Änderungen zu sammeln. Wenn Sie sich zutrauen, alle
Abhängigkeiten zu erkennen, bauen Sie vielleicht auch
nur die geänderten Sachen neu.Das hängt natürlich auch noch davon ab, wie oft
Sie ein Update durchführen wollen und ob Sie &os.stable;
oder &os.current; benutzen.Der Bau bricht mit vielen
Signal 11-Fehlern (oder anderen
Signalnummern) ab. Was ist da passiert?Signal 11Normalerweise zeigen diese Meldungen Hardwarefehler an.
Ein Neubau der Welt ist ein guter Belastungstest für
Ihre Hardware und zeigt oft Probleme mit dem Speicher auf.
Dies äußert sich darin, dass der Kompiler
mit dem Erhalt von seltsamen Signalen abbricht.Es liegt garantiert ein Hardwarefehler vor, wenn ein
neuer Übersetzungslauf an einer anderen Stelle
abbricht.In diesem Fall können Sie nur einzelne Komponenten
Ihres Systems tauschen, um zu bestimmen, welche Komponente den
Fehler verursacht.Kann ich /usr/obj löschen, wenn
ich fertig bin?Kurze Antwort: Ja.In /usr/obj werden alle Dateien
abgelegt, die während der Übersetzungsphase erstellt
wurden. Dieses Verzeichnis wird in einem der ersten Schritte
der Bauprozedur entfernt. Es macht daher
wenig Sinn, dieses Verzeichnis zu behalten und Sie setzen
eine Menge Plattenplatz, momentan ungefähr 340 MB,
frei, wenn Sie es löschen.Wenn Sie allerdings genau wissen, was Sie tun, können
Sie diesen Schritt bei make buildworld
auslassen. Nachfolgende Bauprozeduren werden dadurch erheblich
schneller, da die meisten Quelldateien nicht mehr neu
übersetzt werden. Dafür können aber subtile
Abhängigkeitsprobleme entstehen, die dazu führen,
dass der Bau auf merkwürdige Weise abbrechen kann.
Dies führt häufig zu unnötigen Diskussionen auf
den &os; Mailinglisten, wenn sich jemand über einen
kaputten Bau beschwert, aber nicht sieht, dass er
Probleme hat, weil er eine Abkürzung genommen hat.Kann ein abgebrochener Bau weitergeführt
werden?Das hängt davon ab, wieweit der Bauprozess
fortgeschritten ist.Üblicherweise werden
essentielle Werkzeuge, wie &man.gcc.1; und &man.make.1;,
und die Systembibliotheken während des Bauprozesses
neu erstellt (dies ist aber keine allgemein gültige
Regel). Die neu erstellen Werkzeuge und Bibliotheken werden
dann benutzt, um sich selbst noch einmal zu bauen, und wieder
installiert. Anschließend wird das Gesamtsystem mit
den neu erstellten Systemdateien gebaut.Wenn Sie sich im letzten Schritt befinden und Sie wissen,
dass Sie dort sind, weil Sie durch die Ausgaben, die Sie
ja sichern, der Bauprozedur gesehen haben, können Sie
mit ziemlicher Sicherheit den Bau weiterführen:… Fehler beheben …
&prompt.root; cd /usr/src
&prompt.root; make -DNO_CLEAN allDiese Variablen verhindern,
dass make buildworld die vorher erstellten
Dateien löscht.Das Sie sich im letzten Schritt der Bauprozedur
befinden, erkennen Sie daran, dass Sie in der Ausgabe die
folgenden Zeilen finden:--------------------------------------------------------------
Building everything..
--------------------------------------------------------------Wenn Sie diese Meldung nicht finden, oder sich nicht sicher
sind, dann ist es besser, noch einmal ganz von Vorne
anzufangen.Wie kann ich den Bauprozesss beschleunigen?Bauen Sie im Single-User-Modus.Legen Sie /usr/src und
/usr/obj in getrennte Dateisysteme auf
unterschiedliche Festplatten. Benutzen Sie nach
Möglichkeit auch getrennte Platten-Controller.Noch besser ist es, diese Dateisysteme auf mehrere
Festplatten mit &man.ccd.4; zu verteilen.Bauen Sie die profiled-Bibliotheken,
die Sie wahrscheinlich sowieso nicht brauchen, nicht.
/etc/make.conf sollte dazu
NO_PROFILE=true enthalten.Setzen Sie die CFLAGS in
/etc/make.conf auf . Die Optimierungsstufe
ist deutlich langsamer und die
Performance-Unterschiede zwischen und
sind vernachlässigbar klein.
veranlasst den Kompiler Pipes
anstelle von Dateien für die Kommunikation zu
benutzen. Dies spart einige Plattenzugriffe, geht aber
auf Kosten des Speichers.Benutzen Sie
, um
mehrere Prozesse parallel laufen zu lassen.
Normalerweise beschleunigt dies den Bauprozess
unabhängig davon, ob Sie ein Einprozessor oder
Mehrprozessor System einsetzen.Sie können das Dateisystem
/usr/src mit der Option
einhängen. Dies
verhindert, dass die Zugriffszeiten der Dateien
aktualisiert werden (eine Information, die Sie vielleicht
gar nicht brauchen).&prompt.root; mount -u -o noatime /usr/srcDas Beispiel geht davon aus, dass sich
/usr/src auf einem separaten
Dateisystem befindet. Wenn das nicht der Fall ist,
weil das Verzeichnis beispielsweise Teil des
/usr Dateisystems ist,
müssen Sie anstelle von
/usr/src den Mountpoint des
Dateisystems angeben.Das Dateisystem, in dem sich
/usr/obj befindet, kann mit der
Option eingehangen werden. Dies
bewirkt, dass Schreibzugriffe auf die Platte
asynchron stattfinden, das heißt ein Schreibzugriff
ist sofort beendet, die Daten werden allerdings erst einige
Sekunden später geschrieben. Dadurch können
Schreibzugriffe zusammengefasst werden, was einen
erheblichen Geschwindigkeitszuwachs mit sich bringen
kann.Beachten Sie, dass dies Ihr Dateisystem
anfälliger für Fehler macht. Im Fall eines
Stromausfalls besteht eine erhöhte
Wahrscheinlichkeit, dass das Dateisystem beim
Start der Maschine zerstört ist.Wenn sich /usr/obj auf einem
extra Dateisystem befindet, ist das kein Problem. Wenn
sich allerdings auf diesem Dateisystem noch andere
wertvolle Daten befinden, stellen Sie sicher, dass
Sie aktuelle Sicherungen besitzen.&prompt.root; mount -u -o async /usr/objErsetzen Sie /usr/obj durch
den Mountpoint des entsprechenden Dateisystems, wenn es
sich nicht auf einem eigenen Dateisystem
befindet.Was mache ich, wenn etwas nicht funktioniert?Stellen Sie sicher, dass sich in Ihrer Umgebung
keine Reste eines vorherigen Baus befinden. Das geht ganz
einfach:&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandirJa, make cleandir muss wirklich
zweimal aufgerufen werden.Nachdem Sie aufgeräumt haben, starten Sie den
Bauprozess wieder mit make
buildworld.Wenn Sie immer noch Probleme haben, schicken Sie die
Fehlermeldungen und die Ausgabe von uname
-a an die Mailingliste &a.de.questions;. Bereiten
Sie sich darauf vor, weitere Fragen zu Ihrer Umgebung zu
beantworten.MikeMeyerBeigetragen von Installation mehrerer MaschinenWenn Sie mehrere Maschinen besitzen, die Sie alle auf dem
gleichen Stand halten wollen, ist es eine Verschwendung von
Ressourcen, die Quellen auf jeder Maschine vorzuhalten und zu
übersetzen. Die Lösung dazu ist, eine Maschine den
Großteil der Arbeit durchführen zu lassen und den anderen
Maschinen das Ergebnis mit NFS zur Verfügung zu stellen. Dieser
Abschnitt zeigt Ihnen wie das geht.VoraussetzungenStellen Sie zuerst eine Liste der Maschinen zusammen, die auf
demselben Stand sein sollen. Wir nennen diese Maschinen die
Baugruppe. Jede dieser Maschinen kann mit
einem eigenen Kernel laufen, doch sind die Programme des Userlands
auf allen Maschinen gleich. Wählen Sie aus der Baugruppe eine
Maschine aus, auf der der Bau durchgeführt wird, den
Bau-Master. Dies sollte eine Maschine sein,
die über die nötigen Ressourcen für
make buildworld und
make installworld verfügt.
Sie brauchen auch eine
Testmaschine, auf der Sie die Updates testen,
bevor Sie sie in Produktion installieren. Dies sollte eine
Maschine, eventuell der Bau-Master, sein, die über einen
längeren Zeitraum nicht zur Verfügung stehen kann.Alle Maschinen der Baugruppe müssen
/usr/obj und /usr/src von
derselben Maschine an gleichem Ort einhängen. Idealerweise
befinden sich die beiden Verzeichnisse auf dem Bau-Master auf
verschiedenen Festplatten, sie können allerdings auch auf dem
Bau-Master über NFS zur Verfügung gestellt werden. Wenn
Sie mehrere Baugruppen haben, sollte sich
/usr/src auf einem Bau-Master befinden und
über NFS für den Rest der Maschinen zur Verfügung
gestellt werden.Stellen Sie sicher, dass
/etc/make.conf und
/etc/src.conf auf allen Maschinen einer
Baugruppe mit der Datei des Bau-Masters übereinstimmt. Der
Bau-Master muss jeden Teil des Systems bauen, den irgendeine
Maschine der Baugruppe benötigt. Auf dem Bau-Master
müssen in /etc/make.conf alle zu bauenden
Kernel mit der Variablen KERNCONF bekannt gegeben
werden. Geben Sie dabei den Kernel des Bau-Masters zuerst an.
Für jeden zu bauenden Kernel muss auf dem Bau-Master die
entsprechende Konfigurationsdatei unter
/usr/src/sys/arch/conf
abgelegt werden.Installation des BasissystemsNach diesen Vorbereitungen können Sie mit dem Bau
beginnen. Bauen Sie auf dem Bau-Master, wie in beschrieben, den Kernel und die Welt,
installieren Sie aber nichts. Wechseln Sie auf die Testmaschine
und installieren Sie den gerade gebauten Kernel. Wenn diese
Maschine /usr/src und
/usr/obj über NFS bekommt, müssen
Sie das Netzwerk im Single-User-Modus aktivieren und die beiden
Dateisysteme einhängen. Am einfachsten ist dies, wenn Sie
auf der Testmaschine ausgehend vom Mehrbenutzermodus mit
shutdown now in den Single-User-Modus wechseln.
Sie können dann mit der normalen Prozedur den neuen Kernel
und das System installieren und anschließend
mergemaster laufen lassen. Wenn Sie damit
fertig sind, können Sie die Maschine wieder in den
Mehrbenutzermodus booten.Nachdem Sie sichergestellt haben, dass die Testmaschine
einwandfrei funktioniert, wiederholen Sie diese Prozedur für
jede Maschine in der Baugruppe.Die Ports-SammlungDasselbe Verfahren können Sie auch für die
Ports-Sammlung anwenden. Zuerst müssen alle Maschinen einer
Baugruppe /usr/ports von derselben Maschine
über NFS zur Verfügung gestellt bekommen. Setzen Sie
dann ein Verzeichnis für die Quellen auf, das sich alle
Maschinen teilen. Dieses Verzeichnis können Sie in
/etc/make.conf mit der Variablen
DISTDIR angeben. Das Verzeichnis sollte
für den Benutzer beschreibbar sein, auf den der Benutzer
root vom NFS Subsystem abgebildet wird. Jede
Maschine sollte noch WRKDIRPREFIX auf ein
lokales Bauverzeichnis setzen. Wenn Sie vorhaben, Pakete zu bauen
und zu verteilen, sollten Sie PACKAGES auf ein
Verzeichnis mit den gleichen Eigenschaften wie
DISTDIR setzen.
diff --git a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
index 3418f478b0..5290937550 100644
--- a/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/install/chapter.sgml
@@ -1,5484 +1,5539 @@
JimMockÜberarbeitet und teilweise neu
geschrieben von RandyPrattDer Gang durch sysinstall und alle
Bildschirmabzüge von MartinHeinenÜbersetzt von JohannKois&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
+ Anweisungen für andere Plattformen werden,
+ falls 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
+ linkend="install-boot-media"> des Handbuchs enthält
weitere Informationen zu den verschiedenen
Installationsarten.Die &os;/&arch.i386;- und &os;/&arch.pc98;-ArchitekturenSowohl &os;/&arch.i386; als auch &os;/&arch.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 &os;/&arch.alpha;-ArchitekturAlpha
- Um &os;/&arch.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.
-
- ARC
- Alpha BIOS
- SRM
-
- 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 Unterstützung für die Alpha-Plattform
- wurde mit &os; 7.0 eingestellt. Die
+ wurde beginnend mit &os; 7.0 eingestellt. Die
&os; 6.X-Serie ist damit
die letzte Serie, die diese Architektur noch
- unterstützt.
+ unterstützt. Weitere Informationen hierzu finden
+ Sie auf der Seite Release
+ Information der &os;-Homepage.
Die &os;/&arch.amd64;-ArchitekturEs gibt zwei Klassen von Prozessoren, auf denen Sie
&os;/&arch.amd64; ausführen können. Die erste
Klasse bilden die AMD64-Prozessoren (zu denen
AMD Athlon 64-, AMD Athlon 64-FX-, oder
AMD Opteron-Prozessoren gehören).Die zweite Klasse von Prozessoren, auf denen Sie diese
&os;/&arch.amd64; einsetzen können, ist die
&intel; EM64T-Architektur. Prozessoren dieser Klasse sind
beispielsweise &intel; &core; 2 Duo-, Quad-, und
Extreme-Prozessoren sowie die
&intel; &xeon;-Prozessorreihen 3000, 5000, und 7000.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 &os;/&arch.sparc64;-ArchitekturUm &os;/&arch.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;/&arch.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 &os;/&arch.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. GParted ist auf
+ GParted benutzen. Sowohl
+ GParted als auch
+ &partitionmagic; können
+ auch NTFS-Partitionen verändern.
+ GParted ist auf
vielen Linux-Live-CDs, beispielsweise der SystemRescueCD,
verfügbar.Bei der Veränderung von µsoft; Vista-Partionen
kommt es manchmal zu Problemen. In einem solchen Fall ist es
von Vorteil, wenn Sie eine Vista-Installations-CD zur
Verfügung haben. Wie bei jeder Änderung an Ihrer
Festplatte sollten Sie auch hier zuerst ein aktuelles Backup
anlegen.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-Systemen
-
- Alpha
-
- Auf 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 EIDE
-
- Die 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-Bereich
des FreeBSD
Webauftritts.Die Installationsdateien beschaffen&os; kann von Dateien aus irgendeiner der
nachstehenden Quellen installiert werden:Lokale Medienvon einer CD-ROM oder einer DVD
+
+ von einem USB-Stick
+
+
von 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.
+ 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.
+ 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.
+ aber auch von Disketten gestartet werden. Aktuelle Rechner
+ können in der Regel auch von einer CD-ROM oder von einem
+ USB-Stick starten.
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 einen bootbaren USB-Stick zu erstellen, gehen Sie wie
+ folgt vor:
+
+
+
+ Das Speicherabbild für den USB-Stick
+ herunterladen
+
+ Das Speicherabbild finden Sie auf dem &os;-FTP-Server
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/&os;-&rel.current;-RELEASE-arch-memstick.img
+ (oder einem Spiegelserver) im Verzeichnis ISO-IMAGES/. Ersetzen Sie
+ arch und
+ version durch die von
+ Ihnen verwendete Architektur und die &os;-Version, die Sie
+ einsetzen wollen. Für
+ &os;/&arch.i386; &rel.current;-RELEASE finden Sie das
+ Speicherabbild für den USB-Stick beispielsweise unter
+ folgenden Link: .
+
+ Das benötigte Speicherabbild hat den Dateityp
+ .img. Das Verzeichnis ISO-IMAGES/ enthält
+ verschiedene Speicherabbilder. Sie müssen also
+ (basierend auf der zu installierenden &os;-Version
+ und/oder Ihrer Hardware) das für Sie passende
+ Speicherabbild herunterladen.
+
+
+ Sichern Sie Ihre Daten, bevor
+ Sie fortfahren, da im nächsten Schritt alle
+ auf dem USB-Stick befindlichen Daten
+ gelöscht werden.
+
+
+
+
+ Den USB-Stick vorbereiten
+
+
+ Das Beispiel im nächsten Schritt verwendet
+ /dev/da0
+ als die Gerätedatei,
+ über die Sie den USB-Stick ansprechen. Achten
+ Sie besonders darauf, dass Sie die richtige
+ Gerätedatei verwenden, da Sie ansonsten unbeabsichtigt
+ Daten löschen könnten.
+
+
+ Setzen Sie die sysctl-Variable
+ kern.geom.debugflags, damit Sie einen
+ Master Boot Record auf
+ das Zielgerät schreiben können.
+
+ &prompt.root; sysctl kern.geom.debugflags=16
+
+
+
+ Das Speicherabbild auf den USB-Stick schreiben
+
+ Bei der .img-Datei handelt es sich
+ nicht um eine normale Datei, die Sie
+ einfach auf den USB-Stick kopieren können. Sie
+ beinhaltet vielmehr das komplette Startsystem. Daher
+ müssen Sie &man.dd.1; verwenden, um den Inhalt der
+ Datei direkt auf den USB-Stick zu schreiben:
+
+ &prompt.root; dd if=&os;-&rel.current;-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k
+
+
+
Um Startdisketten zu erzeugen, benutzen Sie die
nachstehende Anleitung:Abbilder der Startdisketten besorgen
- Die Abbilder Startdisketten befinden sich auf dem
+
+ Beachten Sie, dass ab &os; 8.0 Startdisketten
+ nicht mehr unterstützt werden. Lesen Sie bitte
+ weiter oben in diesem Kapitel, wie Sie &os; von einer
+ CD-ROM, einer DVD oder einem USB-Stick installieren
+ können.
+
+
+ Die Abbilder der 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
+ 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;/&arch.i386; &rel.current;-RELEASE unter
- .
+ &os;/&arch.i386; &rel2.current;-RELEASE 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 vier Disketten benötigen:
boot.flp,
kern1.flp,
kern2.flp sowie
kern3.flp.
Lesen Sie bitte die Datei README.TXT
im Verzeichnis floppies/,
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
+ Wenn Sie von einer CD-ROM starten, stellen Sie sicher,
+ das das CD-ROM-Laufwerk ausgewählt ist. Starten Sie
+ hingegen von einem USB-Stick oder von einer Startdiskette,
+ wählen Sie ebenfalls den entsprechenden Eintrag aus.
+ 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 (wie in
+ beschrieben) ein bootbaren USB-Stick vorbereitet haben,
+ stöpseln Sie diesen bitte ein, bevor Sie Ihren
+ Rechner einschalten.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
+
+ Bis einschließlich &os; 7.3 kann &os;
+ auch von einer Startdiskette aus installiert werden.
+ Eine Anleitung hierzu finden Sie in ). Legen Sie die erste
+ Diskette (diese enthält das Abbild
+ boot.flp) in das Diskettenlaufwerk
+ ein und starten Sie den Rechner.
+
+
+ Wenn Ihr Rechner wieder 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):Booting from CD-Rom...
+645MB medium detected
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
+BTX loader 1.00 BTX version is 1.02
+Consoles: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
-BIOS 639kB/261120kB available memory
+BIOS 636kB/261056kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
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):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 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, erscheint danach das
&os; Bootloader-Menü:Warten Sie entweder zehn Sekunden oder drücken
Sie Enter.
-
- Systemstart von Alpha-Systemen
-
-
- Alpha
-
-
-
-
- Schalten 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ü.
-
-
-
-
Systemstart bei &sparc64;-SystemenDie meisten &sparc64;-Systeme sind so konfiguriert, dass sie
automatisch von der Festplatte starten. Um &os; auf einem
solchen System zu installieren, müssen Sie das System aber
über das Netzwerk oder von einer CD-ROM starten. Daher
müssen Sie den Bootprozess unterbrechen und das System
über das PROM (OpenFirmware) starten.Dazu starten Sie Ihr System neu und warten, bis die
Startmeldung erscheint. Der genaue Wortlaut hängt vom
eingesetzten Modell ab, die Nachricht sollte aber ähnlich
der folgenden aussehen:Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.Um den Startvorgang zu unterbrechen, drücken Sie nun
die Tastenkombination L1A
oder StopA.
Verwenden Sie eine serielle Verbindung, senden Sie das Signal
BREAK über die serielle Konsole
(etwa durch die Eingabe von ~# in den
Programmen &man.tip.1; oder &man.cu.1;). In beiden Fällen
landen Sie anschließend am PROM-Prompt:ok ok {0} Der auf Einprozessorsystemen verwendete Prompt.Der Prompt auf Mehrprozessorsystemen. Die Zahl steht
dabei für die Anzahl der vorhandenen Prozessoren.Nun legen Sie Ihre CD-ROM in das Laufwerk ein und geben am
PROM-Prompt boot cdrom ein. Danach startet Ihr
System von der eingelegten CD-ROM.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.Prü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.
+ Haben Sie als Land United States
+ gewählt, wird automatisch die amerikanische
+ Standardtastatur verwendet. Haben Sie hingegen ein anderes
+ Land angegeben, erscheint das folgende Menü, in dem
+ Sie Ihre Tastaturbelegung auswählen können
+ (bestätigen Sie Ihre Auswahl mit der
+ Enter-Taste).
+
+
+
Wä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/CDs/DVDs from the drives).
+ Are you sure you wish to exit? The system will reboot.
[ 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 Dokumentation abrufenAus dem Hauptmenü wählen Sie mit den
Pfeiltasten Doc aus
und drücken Enter.Es wird das Dokumentationsmenü angezeigt.Lesen 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.Eine 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.Installationsoptionen einstellenWählen Sie Options
aus und rücken die Taste Enter.Fü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.Plattenplatz 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. Dies gilt insbesondere
dann, 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.Sie 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.Die 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.Drü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.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 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/1 GBDas Root-Dateisystem. Jedes andere Dateisystem
wird irgendwo unterhalb von diesem Dateisystem
eingehangen. 1 GB ist eine vernünftige
Größe für dieses Dateisystem.
Sie werden hier wenig Daten speichern und &os;
benötigt ungefähr 128 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/var512 MB bis 4096 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 Laufwerks (mindestens 8 GB)Alle anderen Dateien werden normalerweise
im Verzeichnis /usr oder
einem Unterverzeichnis von /usr
abgelegt.
Die eben genannten Werte dienen nur als Beispiel und sollten
nur von erfahrenen Benutzern editiert werden. Wir empfehlen Ihnen,
die vom Partitionseditor vorgeschlagene Aufteilung
(Auto Defaults) zu verwenden.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
+ space (1GB 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.Disklabel kann für Sie
automatisch Partitionen mit vorgegebenen Größen
erstellen (diese Standardgrößen werden durch einen
internen Partitionierungsalgorithmus ermittelt, der auf der
Plattengröße beruht). 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.Wollen 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.Die 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
512M ein, wie in
gezeigt. Drücken
Sie anschließend &gui.ok;.Nachdem 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.Abschließ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.Auf 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.Den 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
+ installieren wollen, müssen Sie die Konfiguration
+ des X-Servers und die Auswahl der Benutzeroberfläche
+ nach erfolgreicher Installation durchführen. Die
+ Installation und 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 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ü.Wenn 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.FTP-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 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 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 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.Wä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.Tragen 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?
+ Would you like to bring the ed0 interface up 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.Wenn 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.SSH aktivierenSSHsshd User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]Durch die Auswahl von &gui.yes;, wird &man.sshd.8;, der
OpenSSH-Daemon aktiviert. Danach
ist es möglich, sich über eine verschlüsselte
Verbindung auf Ihrem System anzumelden. Weitere Informationen
über OpenSSH finden Sie in
des &os;-Handbuchs.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 folgende Meldung: User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] NoDiese Nachricht informiert Sie darüber, dass der
FTP-Dienst auch in der Datei
/etc/inetd.conf aktiviert werden muss,
wenn Sie anonyme FTP-Verbindungen erlauben wollen (lesen Sie
dazu auch des &os;-Handbuchs).
Wählen Sie &gui.yes; und drücken Sie
Enter, um fortzufahren. Danach erscheint der
folgende Bildschirm:Mit der Taste Tab wechseln Sie zwischen
den Feldern, in die Sie die benötigten Informationen
eingeben.UIDDie User-ID, die dem anonymen FTP-Benutzer zugewiesen
werden soll. Alle hochgeladenen Dateien werden diesem
User-ID gehören.GroupDie Gruppe, zu der der anonyme FTP-Benutzer gehören
soll.CommentEine Beschreibung dieses Benutzers in der Datei
/etc/passwd.FTP Root DirectoryOrt, an dem Dateien für anonymen FTP-Zugang
bereitgestellt werden sollen.Upload SubdirectoryDas Verzeichnis, in dem von einem anonymen FTP-Benutzer
hochgeladene Dateien gespeichert werden.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.Der 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.Folgen 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.Oft wird ein Bildschirmschoner auf der Konsole aktiviert.
Wälen Sie mit den Pfeiltasten
Saver aus und drücken Sie
die Taste Enter.Wä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:Ändern Sie die Zeitspanne und wählen Sie &gui.ok;
aus. Mit Enter kehren Sie in das
Konfigurationsmenü der Systemkonsole zurück.Um 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.Wählen Sie mit den Pfeiltasten das richtige
Gebiet aus und drücken Sie Enter.Wählen Sie mit den Pfeiltasten das richtige
Land aus und drücken Sie Enter.Wä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
+
+ Die folgenden Anweisungen sind für &os; 7.X
+ gültig. Installieren Sie eine &os; 8.X-Version,
+ wird der folgende Bildschirm nicht angezeigt.
+
+
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 PS/2, serial, or bus mouse?
[ Yes ] No Wählen Sie &gui.yes; für eine PS/2-, eine
serielle oder eine Bus-Maus. Haben Sie hingegen eine USB-Maus,
wählen Sie &gui.no;. Danach drücken Sie
Enter.Markieren Sie mit den Pfeiltasten
Type und drücken Sie
press Enter.Im 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.Wählen Sie mit den Pfeiltasten
Port und drücken Sie die Taste
Enter.Im 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.Wählen Sie nun mit den Pfeiltasten
Enable aus und drücken Sie
die Taste Enter, um den Mouse-Daemon
zu aktivieren und zu testen.Bewegen 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.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 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:Es 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:Im 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.Benutzen 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:Die 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.Markieren Sie User mit
den Pfeiltasten und drücken Sie die Taste
Enter.Wä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ü:Weitere 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 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 or space ]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.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
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.Wä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/CDs/DVDs from the drives).
+ Are you sure you wish to exit? The system will reboot.
[ Yes ] No
- Wä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.
+ Wählen Sie &gui.yes;. Wenn Sie von einer CD-ROM
+ gestartet haben, erhalten Sie die folgende Meldung, die
+ Sie daran erinnert, die CD-ROM aus dem Laufwerk zu
+ entfernen:
+
+ Message
+Be sure to remove the media from the drive.
+
+ [ OK ]
+ [ Press enter or space ]
+
+ 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 (lesen Sie für weitere Informationen).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:Die 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ü:In 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ü:Wä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:Die 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 oder verlassen Sie
sysinstall, indem Sie zweimal
X Exit und danach
[X Exit Install] wählen.&os; startenStart von &os; auf &os;/&arch.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 &os;/&arch.alpha;
-
-
- Alpha
-
-
- Nach der Installation können Sie &os; von
- der SRM-Eingabeaufforderung mit einem Befehl wie
- dem folgenden starten:
-
- >>>BOOT DKC0
-
- Der 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 BOOT
-
- Beim 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.&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.&os; unterstützt &ms-dos;-Dateisysteme
(manchmal auch als FAT-Dateisysteme bezeichnet). Der
Befehl &man.mount.msdosfs.8; bindet diese Dateisysteme in den
&os;-Verzeichnisbaum ein und erlaubt dadurch den Zugriff auf
die darin enthaltenen Daten. &man.mount.msdosfs.8; wird
normalerweise nicht direkt, sondern über einen Eintrag
in der Datei /etc/fstab oder durch den
Aufruf des Befehls &man.mount.8; (in Kombination mit den
korrekten Parametern).Ein typischer Eintrag in /etc/fstab
sieht so aus:/dev/ad0sN /dos msdosfs rw 0 0Das Verzeichnis /dos muss bereits
vorhanden sein, damit dieser Eintrag funktioniert. Weitere
Informationen zu den Einstellungen in der Datei
/etc/fstab finden sich in der Manualpage
&man.fstab.5;.Ein typischer Aufruf von &man.mount.8; zum Einhängen
eines &ms-dos;-Dateisystems sieht so aus:&prompt.root; mount -t 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.&os; numeriert Platten (genauer &ms-dos;-Partitionen)
anders als andere Betriebssysteme. Die Nummern von
erweiterten Partitionen sind in der Regel höher als
die Nummern von primären Partitionen. Das Werkzeug
&man.fdisk.8; kann Ihnen dabei helfen, festzustellen,
welche Partitionen zu &os; und welche zu einem anderen
Betriebssystem gehören.Analog werden NTFS-Partitionen mit dem
Kommando &man.mount.ntfs.8; eingehangen.Fragen und Antworten zu häufig auftretenden
ProblemenMein System hängt sich beim Testen der Hardware
auf, oder es verhält sich seltsam während der
Installation oder das Diskettenlaufwerk wird nicht
getestet.&os; 5.0 und neuer machen ausgiebig Gebrauch
von den ACPI-Systemdiensten zur Systemkonfiguration
der i386-, amd64- und ia64-Plattformen, falls diese
während des Bootvorgangs gefunden werden.
Leider enthalten sowohl der ACPI-Treiber
als auch manche Motherboard- und BIOS-Implementierungen
für ACPI noch einige Fehler. Kommt es auf Ihrem
System zu Problemen, können Sie ACPI daher
deaktivieren, indem während des Bootvorganges
den Hinthint.acpi.0.disabled aktivieren:set hint.acpi.0.disabled="1"Da diese Einstellung bei jedem Neustart verloren geht,
aktivieren Sie sie dauerhaft, indem Sie die Zeile
hint.acpi.0.disabled="1" in die Datei
/boot/loader.conf. Weitere Informationen
über den Bootloader finden Sie in des &os;-Handbuchs.Direkt nach der Installation beginnt das System zwar
zu booten, der Kernel wird geladen und meine Hardware
getestet. Dann bricht der Bootvorgang aber mit der
folgenden (oder einer ähnlichen) Fehlermeldung
ab:changing root device to ad1s1a panic: cannot mount rootWas läuft hier falsch? Was kann/muss ich tun?Was soll ich mit diesem
bios_drive:interface(unit,partition)kernel_name
anfangen, das mir die Hilfefunktion ausgibt?Dabei handelt es sich um ein lange bekanntes Problem,
das nur dann auftritt, wenn es sich bei der Bootplatte nicht
um die erste Platte im System handelt. Das BIOS numeriert
die Festplatten anders als &os;, daher ist das System
manchmal nicht in der Lage, diese Numerierungen selbst
automatisch in Einklang zu bringen.Sollte Ihre Bootplatte nicht die erste Platte im System
sein, können Sie &os; dabei helfen, diese Platte zu
finden. Es gibt zwei Situationen, in denen Sie &os;
mitteilen müssen, wo sich das root-Dateisystem befindet.
Dazu müssen Sie die Nummer der Platte im BIOS, den
Plattentyp sowie die Nummer der Platte unter &os;
angeben.Im ersten Fall verfügen Sie über zwei
IDE-Platten, die beide als Master an ihrem jeweiligen
IDE-Controller konfiguriert sind. &os; soll dabei
von der zweiten Platte booten. Ihr BIOS erkennt die
beiden Platten als Platte 1 und
Platte 2, während &os; die
Platten als ad0 und
ad2 erkennt.Für das BIOS befindet sich &os; auf der Platte
Nummer 1, der Typ ist ad, und &os;
erkennt die Platte als Platte Nummer 2. Daher geben Sie
Folgendes ein:1:ad(2,a)kernelBeachten Sie, dass dieser Eintrag nicht notwendig ist,
wenn die zweite Platte als Slave am primären
IDE-Controller konfiguriert ist (sondern sogar falsch
wäre).Die zweite Situation entsteht, wenn Sie von einer
SCSI-Platte booten und zusätzlich eine oder mehrere
IDE-Platten installiert haben. In diesem Fall ist die
Plattennummer unter &os; kleiner als die Plattennummer im
BIOS. Verfügen Sie über zwei IDE-Platten und
eine SCSI-Platte, hat die SCSI-Platte im BIOS die Nummer
2, den Typ da, und wird von &os; als
Platte Nummer 0 erkannt. In diesem Fall geben Sie daher
Folgendes ein:2:da(0,a)kernelDurch diese Zeile teilen Sie &os; mit, dass Sie von
der BIOS-Platte Nummer 2 booten wollen (bei der es sich um
die erste SCSI-Platte Ihres Systems handelt). Verfügen
Sie nur über eine IDE-Platte, geben Sie hingegen
1: ein.Nachdem Sie die korrekten Werte ermittelt haben,
können Sie die entsprechende Zeile in exakt der gleichen
Form in die Datei /boot.config
aufnehmen. In der Voreinstellung verwendet &os; den
Inhalt dieser Datei als Standardantwort am
boot:-Prompt.Nach der Installation beginnt das System zu booten,
der Bootmanager zeigt im Bootmenü aber immer nur
F? an und das System startet
nicht.Sie haben bei der &os;-Installation eine falsche
Plattengeometrie angegeben. Starten Sie den
Partitionseditor neu und geben Sie die korrekte
Plattengeometrie an. Danach installieren Sie &os;
erneut (diesmal mit der korrekten Plattengeometrie).Ist es Ihnen nicht möglich, die korrekte
Plattengeometrie herauszufinden, hilft Ihnen vielleicht
der folgende Tipp weiter: Legen Sie eine kleine
DOS-Partition am Beginn Ihrer Bootplatte an und installieren
Sie anschließend &os; auf diese Platte. Das
&os;-Installationsprogramm wird die DOS-Partition erkennen
und ist dadurch normalerweise in der Lage, die korrekte
Plattenkonfiguration automatisch zu erkennen.Die Vorgangsweise im folgenden Tipp wird zwar nicht
länger empfohlen, soll aber trotzdem dokumentiert
werden:
Wenn Sie ein reines &os;-System aufsetzen wollen (als
Server oder als Workstation) und daher nie auf
Kompatibilitält zu DOS, Linux oder anderen
Betriebssystemen angewiesen sein werden, haben Sie auch
die Möglichkeit, die komplette Platte (durch die
Wahl von A im Partitionseditor)
für &os; zu
verwenden. Danach wird &os; die komplette Platte vom
ersten bis zum letzten Sektor verwenden und die
tatsächliche Plattengeometrie ignorieren. Danach
ist es allerdings nicht mehr möglich, ein anderes
Betriebssystem auf die gleiche Platte zu installieren
(ohne auch &os; neu zu installieren).
&os; erkennt meine &man.ed.4;-Netzwerkkarte. Trotzdem
erhalte ich weiterhein Timeout-Meldungen für dieses
Gerät.Ihre Karte verwendet wahrscheinlich einen anderen IRQ
als den, der in der Datei
/boot/device.hints angegeben wurde.
Der &man.ed.4;-Treiber verwendet in der Voreinstellung
keine Soft-Konfiguration (also Werte, die
durch EZSETUP unter
DOS eingeben wurden). Sie können dies allerdings
erzwingen, indem Sie die Option -1
in den Hints für dieses Gerät
angeben.Entweder verändern Sie die Jumper-Konfiguration
der Karte (und, falls notwendig, die Kerneleinstellungen).
Oder Sie geben den IRQ als -1 an, indem
Sie hint.ed.0.irq="-1" eingeben. Dadurch
wird der Kernel angewiesen, die
Soft-Konfiguration zu verwenden.Prüfen Sie auch, ob Ihre Karte nicht etwa IRQ 9
verwendet, da dieser mit IRQ 2 geteilt wird. Diese
Einstellung verursacht häufig Probleme (insbesondere
dann, wenn IRQ 2 durch eine VGA-Grafikkarte belegt ist!).
Wenn irgend möglich, sollten Sie daher IRQ 2 oder 9
nicht verwenden.FarbenKontrastWenn ich sysinstall aus
einen X-Terminal starte, ist die gelbe Schritt auf dem
grauen Hintergrund nur schwer zu erkennen. Gibt es
eine Möglichkeit, den Kontrast für dieses
Programm zu erhöhen?Haben Sie X11 bereits installiert und die von
sysinstall verwendeten Farben
bereiten Ihnen beim Lesen von Text Probleme (wenn Sie
ein X-Terminal verwenden), sollten Sie die Zeile
XTerm*color7: #c0c0c0 in die Datei
~/.Xdefaults aufnehmen. Dadurch
wird der Hintergrund in einem dunkleren Grauton
dargestellt.ValentinoVaschettoBeigetragen von
+
+
+ Marc
+ Fonvieille
+ Aktualisiert 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.
+ Sie zunächst (wie in beschrieben) einen bootbaren
+ USB-Stick oder laden Sie das passende CD-ISO-Abbild
+ herunter.
- Damit ein Systemstart mit der seriellen Konsole
- möglich ist, müssen die Disketten entsprechend
- der nachstehenden Anleitung angepasst werden:
+ Um von diesen Medien in eine serielle Konsole booten zu
+ können, müssen Sie die folgenden Schritte
+ durchführen (bei Verwendung einer Boot-CD kann der
+ erste Schritt entfallen):
- Die Startdisketten für eine serielle Konsole
+ Den USB-Stick für eine serielle Konsole
anpassenmountWenn Sie ein System mit den frisch erstellten
- Disketten starten, läuft der normale
+ USB-Stick 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:
+ werden. Daher müssen Sie den USB-Stick mit
+ dem Befehl &man.mount.8; in den Verzeichnisbaum
+ einhängen:
- &prompt.root; mount /dev/fd0 /mnt
+ &prompt.root; mount /dev/da0a/mnt
- Wechseln Sie in das Verzeichnis
- /mnt:
+
+ Passen Sie den Mountpunkt und die Gerätedatei
+ falls nötig an Ihre Gegebenheiten an.
+
- &prompt.root; cd /mnt
+ Nachdem Sie den USB-Stick eingehängt haben,
+ müssen Sie ihn rekonfigurieren, damit er in eine
+ serielle Konsole startet. Dazu nehmen Sie in die
+ Datei loader.conf des USB-Sticks eine
+ Zeile auf, die die serielle Konsole als Systemkonsole
+ festlegt:
- In 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 'console="comconsole"' >> /mnt/boot/loader.conf
- &prompt.root; echo "/boot/loader -h" > boot.config
+ Damit ist Ihr USB-Stick für die Installation
+ vorbereitet. Sie können ihn daher wieder aus dem
+ Dateisystem aushängen:
- Nachdem Sie die Diskette angepasst haben, hängen
- Sie die Diskette mit dem Kommando &man.umount.8;
- wieder aus:
+ &prompt.root; umount /mnt
- &prompt.root; cd /
-&prompt.root; umount /mnt
+ Entfernen Sie nun den USB-Stick und machen Sie direkt
+ mit Schritt 3 weiter.
+
- Sie können die Diskette nun aus dem
- Laufwerk entfernen.
+
+ Die Installations-CD für eine serielle Konsole
+ anpassen
+
+
+ mount
+
+
+ Wenn Sie von dem soeben heruntergeladenen CD-ISO-Abbild
+ (siehe ) starten,
+ gelangen Sie in den normalen Installationsmodus von &os;.
+ Da wir aber in eine serielle Konsole booten wollen, muss das
+ CD-Image extrahiert, modifiziert und neu erzeugt werden,
+ bevor Sie es auf eine CD-R brennen.
+
+ Entpacken Sie alle Dateien des CD-ISO-Abbilds
+ (beispielsweise
+ &os;-8.1-RELEASE-i386-disc1.iso)
+ auf dem System, auf das Sie das Abbild heruntergeladen
+ haben unter Verwendung von &man.tar.1;:
+
+ &prompt.root; mkdir /path/to/headless-iso
+&prompt.root; tar -C /path/to/headless-iso -pxvf &os;-8.1-RELEASE-i386-disc1.iso
+
+ Nun müssen Sie das entpackte ISO-Abbild
+ rekonfigurieren, damit es künftig in eine
+ serielle Konsole startet. Dazu nehmen Sie in die
+ Datei loader.conf des entpackten
+ ISO-Abbild eine Zeile auf, die die serielle Konsole als
+ Systemkonsole festlegt:
+
+ &prompt.root; echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf
+
+ Damit ist der Dateibaum des entpackten ISO-Abbilds
+ für die Installation vorbereitet und Sie können
+ über den Befehl &man.mkisofs.8; (das Sie über
+ den Port sysutils/cdrtools installieren
+ können) ein neues CD-ISO-Abbild erzeugen:
+
+ &prompt.root; mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
+ -o Headless-&os;-8.1-RELEASE-i386-disc1.iso /path/to/headless-iso
+
+ Dieses rekonfigurierte ISO-Abbild brennen Sie nun mit
+ dem Brennprogramm Ihrer Wahl auf eine CD-R.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.
+ Stöpseln Sie den vorbereiteten USB-Stick ein
+ und starten Sie Ihren Computer. Alternativ starten
+ Sie Ihren Computer und legen die vorbereitete
+ Installations-CD 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/cuau0
+
+ Unter &os; 7.X verwenden Sie hingegen den
+ folgenden Befehl:
+
&prompt.root; cu -l /dev/cuad0Fertig! Ü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.
+ Der Kernel wird automatisch geladen und Sie können
+ anschließend den Terminaltyp festlegen.
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 6.X sowie
- 7.X-ISO-Abbilder
+ &os; 7.X und 8.X
+ ISO-Abbilder
-
- Dateiname
+
+ Dateiname
- Inhalt
-
-
+ Inhalt
+
+
-
- Version-RELEASE-Architektur-bootonly.iso
-
- Enthä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.iso
-
- Alles, 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.iso
-
- So viele Pakete Dritter, wie auf dem
- Installationsmedium Platz hatten.
-
-
-
- version-RELEASE-arch-docs.iso
-
- Die &os;-Dokumentation.
+
+ &os;-version-RELEASE-arch-bootonly.iso
+
+ Enthält alles, was Sie benötigen, um
+ um den FreeBSD-Kernel zu laden und das
+ Installationsprogramm zu starten. Die zu
+ installierenden Dateien müssen allerdings
+ über FTP oder eine andere geeignete Quelle
+ bezogen werden, da sie in diesem Abbild nicht
+ enthalten sind.
+
+
+
+ &os;-version-RELEASE-arch-dvd1.iso.gz
+
+ Dieses DVD-Abbild enthält alle zur
+ Installation von &os; nötigen Dateien, eine
+ Auswahl an Paketen Dritter sowie die Dokumentation.
+ Zusätzlich ermöglicht es Ihnen dieses
+ Abbild, einen livefs-basierten
+ Rettungsmodus zu starten.
+
+
+
+ &os;-version-RELEASE-arch-memstick.img
+
+ Dieses Abbild kann auf einen USB-Stick
+ geschrieben werden. Dieser kann danach als
+ Installationsmedium verwendet werden (wenn Ihr
+ System dies unterstützt). Zusätzlich
+ ermöglicht es Ihnen dieses Abbild, einen
+ livefs-basierten Rettungsmodus zu
+ starten. Die &os;-Dokumentation ist ebenfalls
+ enthalten, aber keine Pakete Dritter. Dieses
+ Abbild ist erst ab &os; 8.0
+ verfügbar.
+
+
+
+ &os;-version-RELEASE-arch-disc1.iso
+
+ Dieses CD-Abbild enthält alle für die
+ Installation von &os; nötigen Dateien sowie
+ die Dokumentation. Es sind allerdings keine Pakete
+ Dritter enthalten.
+
+
+
+ &os;-version-RELEASE-arch-disc2.iso
+
+ So viele Pakete Dritter, wie auf dem
+ Installationsmedium Platz hatten. Dieses Abbild ist
+ ab &os; 8.0 nicht mehr verfügbar.
+
+
+
+ &os;-version-RELEASE-arch-disc3.iso
+
+ Ein weiteres Abbild mit so vielen Paketen
+ Dritter, wie auf dem Installationsmedium Platz
+ hatten. Dieses Abbild ist ab &os; 8.0 nicht
+ mehr verfügbar.
+
+
+
+ version-RELEASE-arch-docs.iso
+
+ Die &os;-Dokumentation.
+
+
+
+ &os;-version-RELEASE-arch-livefs.iso
+
+ Dieses Abbild enthät einen
+ livefs-basierten Rettungsmodus. Eine
+ Installation von &os; ist mit diesem Abbild allerdings
+ nicht möglich.
+
+
+ Die Abbilder für &os; 7.X-Releases vor
+ &os; 7.3 und &os; 8.X-Releases vor &os; 8.1
+ wurden noch unterschiedlich benannt. Bei Ihnen fehlt die
+ Bezeichnung &os;- am Anfang des
+ Abbildnamens.
+
+
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
+ 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,
+ 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,
+ Benutzen Sie das dvd1-Abbild,
wenn Sie &os; installieren wollen und das
Installationsmedium eine angemessene Auswahl an Software
Dritter enthalten soll.
- Die zusätzlichen Abbilder sind nützlich
+ 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 (PPP)InstallationNetzwerkinstallationparallel (PLIP)InstallationNetzwerkinstallationEthernetSie können drei Verbindungsarten für eine
Netzwerkinstallation benutzen: Eine Ethernet-Verbindung,
eine serielle Verbindung (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!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/introduction/chapter.sgml b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
index d8b7c96d67..e4450e6bd5 100644
--- a/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml
@@ -1,1304 +1,1305 @@
JimMockNeu zusammengestellt, umstrukturiert und um
Abschnitte erweitert durch SaschaEdelburgÜbersetzt von EinführungÜbersichtHerzlichen Dank für Ihr Interesse an &os;! Das
folgende Kapitel behandelt verschiedene Aspekte des
&os; Projects wie dessen geschichtliche Entwicklung,
dessen Ziele oder dessen Entwicklungsmodell.Nach dem Durcharbeiten des Kapitels wissen Sie über
folgende Punkte Bescheid:Wo &os; im Vergleich zu anderen Betriebssystemen
stehtDie Geschichte des &os; ProjectsDie Ziele des &os; ProjectsDie Grundlagen des
&os;-Open-Source-EntwicklungsmodellsUnd natürlich wo der Name &os;
herrührtWillkommen bei &os;!4.4BSD-Lite&os; ist ein auf 4.4BSD-Lite basierendes Betriebssystem
für Intel (x86 und &itanium;), AMD64, Alpha
und Sun &ultrasparc; Rechner. An
Portierungen zu anderen Architekturen wird derzeit gearbeitet.
Mehr zu Geschichte von &os; können Sie im kurzen geschichtlichen Abriss zu &os;
oder im Abschnitt Das aktuelle
&os;-Release nachlesen.
Falls Sie das &os; Project unterstützen wollen
(mit Quellcode, Hardware- oder Geldspenden), sollten Sie den
Artikel
&os; unterstützen lesen.Was kann &os;?&os; hat zahlreiche bemerkenswerte Eigenschaften.
Um nur einige zu nennen:Präemptives MultitaskingPräemptives Multitasking mit
dynamischer Prioritätsanpassung zum reibungslosen und
ausgeglichenen Teilen der Systemressourcen zwischen
Anwendungen und Anwendern, selbst unter schwerster
Last.MehrbenutzerbetriebDer Mehrbenutzerbetrieb von
&os; erlaubt es, viele Anwender gleichzeitig am System
mit verschiedenen Aufgaben arbeiten zu lassen.
Beispielsweise Geräte wie Drucker oder Bandlaufwerke,
die sich nur schwerlich unter allen Anwendern des Systems
oder im Netzwerk teilen lassen, können durch Setzen
von Verwendungsbeschränkungen auf Benutzer oder
Benutzergruppen wichtige Systemressourcen vor
Überbeanspruchung schützen.TCP/IP-NetzwerkfähigkeitHervorragende
TCP/IP-Netzwerkfähigkeit mit
Unterstützung von Industriestandards wie SCTP, DHCP,
NFS, NIS, PPP, SLIP, IPsec und IPv6. Das heißt,
Ihr &os;-System kann in einfachster Weise mit anderen
Systemen interagieren. Zudem kann es als Server-System im
Unternehmen wichtige Aufgaben übernehmen,
beispielsweise als NFS- oder E-Mail-Server oder es kann
Ihren Betrieb durch HTTP- und FTP-Server beziehungsweise
durch Routing und Firewalling Internet-fähig machen.SpeicherschutzDer Speicherschutz stellt sicher,
dass Anwendungen (oder Anwender) sich nicht gegenseitig
stören. Stürzt eine Anwendung ab, hat das
keine Auswirkung auf andere Prozesse.&os; ist ein
32-Bit-Betriebssystem
(64-Bit auf Alpha, &itanium;, AMD64,
und &ultrasparc;) und wurde als solches von Grund auf
neu entworfen.X-Window-SystemXFree86Das X-Window-System (X11R7) als
Industriestandard bietet eine grafische Benutzeroberfläche
(GUI). Minimale Voraussetzung zur Verwendung ist
lediglich eine Grafikkarte und ein Bildschirm, die beide
den VGA-Modus unterstützen.BinärkompatibilitätLinuxBinärkompatibilitätSCOBinärkompatibilitätSVR4BinärkompatibilitätBSD/OSBinärkompatibilitätNetBSDBinärkompatibilität mit
vielen unter verschiedenen Betriebssystemen erstellten
Programmen wie Linux, SCO, SVR4, BSDI und NetBSD.Tausende von sofort
lauffähigen Anwendungen sind aus den
Ports- und
Packages-Sammlungen für &os;
verfügbar. Warum mühselig im Netz Software
suchen, wenn sie bereits hier vorhanden ist?Tausende zusätzliche leicht zu
portierende Anwendungen sind über das
Internet zu beziehen. &os; ist Quellcode-kompatibel
mit den meisten kommerziellen &unix; Systemen. Daher
bedürfen Anwendungen häufig nur geringer oder
gar keiner Anpassung, um auf einem &os;-System zu
kompilieren.virtueller SpeicherSeitenweise anforderbarer Virtueller
Speicher und der merged VM/buffer
cache-Entwurf bedient effektiv den großen
Speicherhunger mancher Anwendungen bei gleichzeitigem
Aufrechterhalten der Bedienbarkeit des Systems für
weitere Benutzer.Symmetrisches Multi-Processing (SMP)SMP-Unterstützung für
MehrprozessorsystemeKompilerCKompilerC++KompilerFORTRANEin voller Satz von C,
C++ und Fortran-
Entwicklungswerkzeugen. Viele
zusätzliche Programmiersprachen für Wissenschaft
und Entwicklung sind aus der Ports- und Packages-Sammlung
zu haben.QuellcodeQuellcode für das gesamte
System bedeutet größtmögliche Kontrolle
über Ihre Umgebung. Warum sollte man sich durch
proprietäre Lösungen knebeln und sich auf Gedeih
und Verderb der Gnade eines Herstellers ausliefern, wenn
man doch ein wahrhaft offenes System haben kann?Umfangreiche
Online-Dokumentation.4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. Berkeley&os; basiert auf dem 4.4BSD-Lite-Release der Computer
Systems Research Group (CSRG) der Universität von
Kalifornien in Berkeley und führt die namhafte
Tradition der Entwicklung von BSD-Systemen fort.
Zusätzlich zu der herausragenden Arbeit der CSRG hat das
&os; Project tausende weitere Arbeitsstunden investiert,
um das System zu verfeinern und maximale Leistung und
Zuverlässigkeit bei Alltagslast zu bieten. Während
viele kommerzielle Riesen Probleme haben PC-Betriebssysteme
mit derartigen Funktionen, Leistungpotential und
Zuverlässigkeit anzubieten, kann &os; damit schon
jetzt aufwarten! Die Anwendungsmöglichkeiten von &os; werden nur
durch Ihre Vorstellungskraft begrenzt. Von
Software-Entwicklung bis zu Produktionsautomatisierung, von
Lagerverwaltung über Abweichungskorrektur bei Satelliten;
Falls etwas mit kommerziellen &unix; Produkten machbar ist, dann
ist es höchstwahrscheinlich auch mit &os;
möglich. &os; profitiert stark von tausenden
hochwertigen Anwendungen aus wissenschaftlichen Instituten und
Universitäten in aller Welt. Häufig sind diese
für wenig Geld oder sogar kostenlos zu bekommen.
Kommerzielle Anwendungen sind ebenso verfügbar und es
werden täglich mehr.Durch den freien Zugang zum Quellcode von &os; ist es
in unvergleichbarer Weise möglich, das System für
spezielle Anwendungen oder Projekte anzupassen. Dies ist
mit den meisten kommerziellen Betriebssystemen einfach nicht
möglich. Beispiele für Anwendungen, die unter
&os; laufen, sind:Internet-Dienste: Die robuste
TCP/IP-Implementierung in &os; macht es zu einer
idealen Plattform für verschiedenste
Internet-Dienste, wie zum Beispiel:FTP-ServerFTP-ServerHTTP-ServerHTTP-Server (Standard-Web-Server oder mit
SSL-Verschlüsselung)IPv4- und IPv6-RoutingFirewallNATFirewalls und NAT-Gateways
(IP-Masquerading)E-MailE-Mail-ServerUsenetUsenet-News und Foren (BBS)Zum Betreiben von &os; reicht schon ein
günstiger 386-PC. Wenn es das Wachstum Ihres
Unternehmens verlangt, kann &os; aber auch auf einem
hochgerüsteten 4-Wege-System mit Xeon-Prozessoren
und RAID-Plattenspeicher Verwendung finden.Bildung: Sind Sie
Informatikstudent oder Student eines verwandten
Studiengangs? Die praktischen Einblicke in &os; sind
die beste Möglichkeit etwas über Betriebssysteme,
Rechnerarchitektur und Netzwerke zu lernen. Einige frei
erhältliche CAD-, mathematische und grafische Anwendungen
sind sehr nützlich, gerade für diejenigen, die
&os; nicht zum Selbstzweck, sondern als
Arbeitsmittel einsetzen.Wissenschaft: Mit dem frei
verfügbaren Quellcode für das gesamte System
bildet &os; ein exzellentes Studienobjekt in der
Disziplin der Betriebssysteme, wie auch in anderen Zweigen
der Informatik. Es ist beispielsweise denkbar, das
räumlich getrennte Gruppen gemeinsam an einer Idee
oder Entwicklung arbeiten. Das Konzept der freien
Verfügbarkeit und -nutzung von &os;
ermöglicht so einen Gebrauch, auch ohne sich
groß Gedanken über Lizenzbedingungen oder
-beschränkungen machen zu müssen.RouterDNS-ServerNetzwerkfähigkeit: Brauchen
Sie einen neuen Router? Oder einen Name-Server (DNS)? Eine
Firewall zum Schutze Ihres Intranets vor Fremdzugriff?
&os; macht aus dem in der Ecke verstaubenden 386- oder
486-PC im Handumdrehen einen leistungsfähigen Router
mit anspruchsvollen Packet-Filter-Fähigkeiten.X-Window-SystemXFree86X-Window-SystemAccelerated-XX-Window-Workstation: &os; ist
eine gute Wahl für kostengünstige X-Terminals
mit dem frei verfügbaren X11-Server.
Im Gegensatz zu einem X-Terminal erlaubt es &os;, viele
Anwendungen lokal laufen zu lassen, was die Last eines
zentralen Servers erleichtern kann. &os; kann selbst
plattenlos starten, was einzelne
Workstations noch günstiger macht und die Wartung
erleichtert.GNU-Compiler-CollectionSoftware-Entwicklung: Das
Standard-System von &os; wird mit einem kompletten Satz
an Entwicklungswerkzeugen bereitgestellt, unter anderem
mit dem bekannten GNU C/C++-Kompiler und -Debugger.&os; ist sowohl in Form von Quellcode als auch in
Binärform auf CD-ROM, DVD und über anonymous FTP
erhältlich. Näheres zum Bezug von &os;
enthält .Wer benutzt &os;?AnwenderBekannte &os;-Anwender&os; dient als Plattform für Geräte und Produkte
einiger der weltgrößten IT-Firmen, darunter:AppleAppleCiscoCiscoJuniperJuniperNetAppNetAppAußerdem laufen einige der größten
Internet-Auftritte unter &os;, beispielsweise:Yahoo!Yahoo!Yandex/primary>YandexApacheApacheRamblerRamblerSinaSinaPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftNetEaseNetEaseWeathernewsWeathernewsTELEHOUSE AmericaTELEHOUSE
America
-
+
Experts ExchangeExperts
Exchange
-
+
und viele andere.Das &os; ProjectDer folgende Abschnitt bietet einige
Hintergrundinformationen zum &os; Project,
einschließlich einem kurzen geschichtlichen Abriss,
den Projektzielen und dem Entwicklungsmodell.JordanHubbardBeigesteuert von Kurzer geschichtlicher Abriss zu &os;386BSD PatchkitHubbard, JordanWilliams, NateGrimes, Rod&os; ProjectGeschichteDas &os; Project erblickte das Licht der Welt Anfang
1993 teils als Auswuchs des Unofficial 386BSD
Patchkit unter der Regie der letzten drei
Koordinatoren des Patchkits: Nate Williams, Rod Grimes und
mir.386BSDUnser eigentliches Ziel war es, einen zwischenzeitlichen
Abzug von 386BSD zu erstellen, um ein paar Probleme zu
beseitigen, die das Patchkit-Verfahren nicht lösen
konnte. Einige von Ihnen werden sich in dem Zusammenhang noch
an die frühen Arbeitstitel 386BSD 0.5 oder
386BSD Interim erinnern.Jolitz, Bill386BSD war das Betriebssystem von Bill Jolitz. Dieses
litt bis zu diesem Zeitpunkt heftig unter fast
einjähriger Vernachlässigung. Als das Patchkit mit
jedem Tag anschwoll und unhandlicher wurde, waren wir
einhellig der Meinung, es müsse etwas geschehen. Wir
entschieden uns Bill Jolitz zu helfen, indem wir den
übergangsweise bereinigten Abzug zur
Verfügung stellten. Diese Pläne wurden unschön
durchkreuzt als Bill Jolitz plötzlich seine Zustimmung
zu diesem Projekt zurückzog, ohne einen Hinweis darauf,
was stattdessen geschehen sollte.Greenman, DavidWalnut Creek CDROMEs hat nicht lange gedauert zu entscheiden, dass das Ziel
es wert war, weiterverfolgt zu werden, selbst ohne Bills
Unterstützung. Also haben wir den von David Greenman
geprägten Namen &os; angenommen.
Unsere anfänglichen Ziele setzten wir nach
Rücksprache mit den damaligen Benutzern des Systems fest.
Und als deutlich wurde, das Projekt würde
möglicherweise Realität, nahm ich Kontakt mit Walnut
Creek CDROM auf, mit einem Auge darauf, den Vertriebsweg
für die vielen Missbegünstigten zu verbessern,
die keinen einfachen Zugang zum Internet hatten. Walnut Creek
CDROM unterstützte nicht nur die Idee des
CD-ROM-Vertriebs, sondern stellte sogar dem Projekt einen
Arbeitsrechner und eine schnelle Internetverbindung zur
Verfügung. Ohne den beispiellosen Glauben von Walnut
Creek CDROM in ein zu der Zeit absolut unbekanntes Projekt,
gäbe es &os; in der heutigen Form wohl nicht.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationDie erste auf CD-ROM (und netzweit) verfügbare
Veröffentlichung war &os; 1.0 im Dezember
1993. Diese basierte auf dem Band der 4.3BSD-Lite
(Net/2) der Universität von Kalifornien in
Berkeley. Viele Teile stammten aus 386BSD und von der Free
Software Foundation. Gemessen am ersten Angebot, war
das ein ziemlicher Erfolg und wir ließen dem das extrem
erfolgreiche &os; 1.1 im Mai 1994 folgen.NovellU.C. BerkeleyNet/2AT&TZu dieser Zeit formierten sich unerwartete Gewitterwolken am
Horizont, als Novell und die Universität von Kalifornien
in Berkeley (UCB) ihren langen Rechtsstreit über den
rechtlichen Status des Berkeley Net/2-Bandes mit einem
Vergleich beilegten. Eine Bedingung dieser Einigung war es,
dass die UCB große Teile des Net/2-Quellcodes als
belastet zugestehen musste, und dass diese
Besitz von Novell sind, welches den Code selbst einige Zeit vorher
von AT&T bezogen hatte. Im Gegenzug bekam die UCB den
Segen von Novell, dass sich das 4.4BSD-Lite-Release
bei seiner endgültigen Veröffentlichung als
unbelastet bezeichnen darf. Alle Net/2-Benutzer sollten
auf das neue Release wechseln. Das betraf auch &os;. Dem
Projekt wurde eine Frist bis Ende Juli 1994 eingeräumt,
das auf Net/2-basierende Produkt nicht mehr zu vertreiben.
Unter den Bedingungen dieser Übereinkunft war es dem
Projekt noch erlaubt ein letztes Release vor diesem
festgesetzten Zeitpunkt herauszugeben. Das war
&os; 1.1.5.1.&os; machte sich dann an die beschwerliche Aufgabe,
sich Stück für Stück, aus einem neuen und
ziemlich unvollständigen Satz von 4.4BSD-Lite-Teilen,
wieder aufzubauen. Die
Lite-Veröffentlichungen waren deswegen
leicht, weil Berkeleys CSRG große Code-Teile,
die für ein start- und lauffähiges System gebraucht
wurden, aufgrund diverser rechtlicher Anforderungen entfernen
musste und weil die 4.4-Portierung für Intel-Rechner extrem
unvollständig war. Das Projekt hat bis November 1994
gebraucht diesen Übergang zu vollziehen, was dann zu dem
im Netz veröffentlichten &os; 2.0 und zur
CD-ROM-Version (im späten Dezember) führte. Obwohl
&os; gerade die ersten Hürden genommen hatte, war
dieses Release ein maßgeblicher Erfolg. Diesem folgte
im Juni 1995 das robustere und einfacher zu installierende
&os; 2.0.5.Im August 1996 veröffentlichten wir
&os; 2.1.5. Es schien unter ISPs und der Wirtschaft
beliebt genug zu sein, ein weiteres Release aus dem
2.1-STABLE-Zweig zu rechtfertigen. Das war
&os; 2.1.7.1. Es wurde im Februar 1997
veröffentlicht und bildete das Ende des
Hauptentwicklungszweiges 2.1-STABLE. Derzeit unterliegt
dieser Zweig dem Wartungsmodus, das heißt, es werden nur
noch Sicherheitsverbesserungen und die Beseitigung von
kritischen Fehlern vorgenommen (RELENG_2_1_0).&os; 2.2 entsprang dem Hauptentwicklungszweig
(-CURRENT) im November 1996 als
RELENG_2_2-Zweig und das erste komplette Release (2.2.1) wurde
im April 1997 herausgegeben. Weitere Veröffentlichungen
des 2.2-Zweiges gab es im Sommer und Herbst 1997. Das letzte
Release des 2.2-Zweiges bildete die Version 2.2.8, die im
November 1998 erschien. Das erste offizielle 3.0-Release
erschien im Oktober 1998 und läutete das Endes des
2.2-Zweiges ein.Am 20. Januar 1999 teilte sich der Quellbaum
in die Zweige 4.0-CURRENT und 3.X-STABLE. Auf dem
3.X-STABLE-Zweig wurden folgende
Releases erstellt: 3.1 am 15. Februar 1999,
3.2 am 15. Mai 1999,
3.3 am 16. September 1999,
3.4 am 20. Dezember 1999 und
3.5 am 24. Juni 2000. Letzterem
folgte ein paar Tage später das Release 3.5.1, welches
einige akute Sicherheitslöcher von Kerberos stopfte und
die letzte Veröffentlichung des 3.X-Zweiges
darstellte.Eine weitere Aufspaltung, aus dem der 4.X-STABLE-Zweig
hervorging, erfolgte am 13. März 2000.
Bisher gab es mehrere Veröffentlichungen
aus diesem Zweig: 4.0-RELEASE erschien im März 2000.
Das letzte Release, 4.11-RELEASE, erschien im Januar 2005.Das lang erwartete 5.0-RELEASE wurde am
19. Januar 2003 veröffentlicht. Nach nahezu
drei Jahren Entwicklungszeit brachte dieses Release die
Unterstützung für Mehrprozessor-Systeme sowie
für Multithreading. Mit diesem Release lief &os;
erstmalig auf den Plattformen &ultrasparc;
und ia64. Im Juni 2003 folgte
5.1-RELEASE. Das letzte 5.X-Release aus dem CURRENT-Zweig war
5.2.1-RELEASE, das im Februar 2004 veröffentlicht
wurde.Der Zweig RELENG_5 wurde im August 2004 erzeugt. Als
erstes Release dieses Zweiges wurde 5.3-RELEASE
veröffentlicht, bei dem es sich gleichzeitig auch um
das erste 5-STABLE-Release handelte. Das aktuelle
5.5-RELEASE (dem keine RELENG_5-Versionen mehr
- folgen werden) erschien im
- Mai 2006.
+ folgen werden) erschien im Mai 2006.
Der Zweig RELENG_6 wurde im Juli 2005 erzeugt. 6.0-RELEASE,
das erste Release des 6.X-Zweiges, wurde im November 2005
veröffentlicht. Das aktuelle 6.4-RELEASE (dem
keine weiteren RELENG_6-Versionen folgen werden)
erschien im November 2008.Der Zweig RELENG_7 wurde im Oktober 2007 erzeugt.
7.0-RELEASE, das erste Release des 7.X-Zweiges, wurde im
Februar 2008 veröffentlicht. Das aktuelle
&rel2.current;-RELEASE (dem keine weiteren RELENG_7-Versionen
- folgen werden) erschien im
- Januar 2009.
+ folgen werden) erschien im Januar 2009.
Im August 2009 wurde der RELENG_8-Zweig angelegt.
- 8.0-RELEASE, die erste Veröffentlichung im 8.X-Zweig,
- erschien im November 2009.
+ 8.0-RELEASE, das erste Release des 8.X-Zweiges, erschien im
+ November 2009. Das aktuelle &rel.current;-RELEASE (dem
+ weitere RELENG_8-Versionen folgen werden) wurde im
+ Juli 2010 veröffentlicht.
Zurzeit werden Projekte mit langem Entwicklungshorizont
im Zweig 9.X-CURRENT verfolgt, Schnappschüsse
von 9.X auf CD-ROM (und natürlich im Netz) werden bei
fortlaufender Entwicklung auf dem
Snapshot-Server zur Verfügung gestellt.JordanHubbardBeigesteuert von Ziele des &os; Projects&os; ProjectZieleDas &os; Project stellt Software her, die ohne
Einschränkungen für beliebige Zwecke eingesetzt
werden kann. Viele
von uns haben beträchtlich in Quellcode und Projekt
investiert und hätten sicher nichts dagegen, hin und
wieder ein wenig finanziellen Ausgleich dafür zu
bekommen. Aber in keinem Fall bestehen wir darauf. Wir
glauben unsere erste und wichtigste Mission ist
es, Software für jeden Interessierten und zu jedem Zweck
zur Verfügung zu stellen, damit die Software
größtmögliche Verbreitung erlangt und
größtmöglichen Nutzen stiftet. Das ist,
glaube ich, eines der grundlegenden Ziele freier Software,
welche wir mit größter Begeisterung
unterstützen.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightDer Code in unserem Quellbaum, der unter die General
Public License (GPL) oder die Library General Public License
(LGPL) fällt, stellt geringfügig mehr Bedingungen.
Das aber vielmehr im Sinne von eingefordertem Zugriff, als das
übliche Gegenteil der Beschränkungen. Aufgrund
zusätzlicher Abhängigkeiten, die sich durch die
Verwendung von GPL-Software bei kommerziellem Gebrauch
ergeben, bevorzugen wir daher Software unter dem
transparenteren BSD-Copyright, wo immer es angebracht ist.SatoshiAsamiBeigesteuert von Das Entwicklungsmodell von &os;&os; ProjectEntwicklungsmodellDie Entwicklung von &os; ist ein offener und
vielseitiger Prozess. &os; besteht aus Beisteuerungen
von Hunderten Leuten rund um die Welt, wie Sie aus der
Liste
der Beitragenden ersehen können. Die vielen
Entwickler können aufgrund der Entwicklungs-Infrastruktur
von &os; über das Internet zusammenarbeiten. Wir suchen
ständig nach neuen Entwicklern, Ideen und jenen, die sich
in das Projekt tiefer einbringen wollen. Nehmen Sie einfach
auf der Mailingliste &a.hackers; Kontakt mit uns auf.
Die Mailingliste &a.announce; steht für wichtige
Ankündigungen, die alle &os;-Benutzer betreffen,
zur Verfügung.Unabhängig davon ob Sie alleine oder mit
anderen eng zusammen arbeiten, enthält die folgende
Aufstellung nützliche Informationen über das
&os; Project und dessen Entwicklungsabläufe.CVS- und SVN-RepositoriesCVSRepositoryConcurrent-Versions-SystemCVSSVNRepositorySubversionSVNDer Hauptquellbaum von &os; wurde über viele
Jahre ausschließlich mit CVS gepflegt, einem
frei erhältlichen Versionskontrollsystem, welches
mit &os; geliefert wird. Im Juni 2008 begann das
&os; Project mit dem Umstieg auf SVN (Subversion).
Dieser Schritt wurde notwendig, weil
CVS aufgrund des rapide
wachsenden Quellcodebaumes und dem Umfang der bereits
gespeichterten Revisisionsinformationen an seine Grenzen
zu stoßen begann. Während das
Hauptrepository nun SVN
verwendet, hat sich auf der Client-Seite nichts
geändert. Werkzeuge wie
CVSup und
csup, die auf der alten
CVS-Infrastruktur aufbauen,
funktionieren weiterhin, weil alle Änderungen,
die im SVN-Repository
erfolgen, in das
CVS-Repository portiert
werden. Im Moment wird nur src-Quellcodebaum
über SVN verwaltet.
Die Dokumentation, die Webseiten sowie die Ports
befinden sich weiterhin in einem
CVS-Repository. Das
Haupt-CVS-Repository
läuft auf einer Maschine in
Santa Clara, Kalifornien, USA. Von dort wird es auf
zahlreiche Server in aller Welt gespiegelt. Der
SVN-Quellbaum, der die Zweige
-CURRENT und
-STABLE enthält,
kann so einfach auf Ihr eigenes System gespiegelt
werden. Näheres dazu können Sie im Handbuch unter
Synchronisation der Quellen
in Erfahrung bringen.Die Committer-ListeCommitterDie Committer sind Personen
mit Schreibzugriff auf den
CVS-Quellbaum (der Begriff Committer
stammt vom &man.cvs.1;-Befehl commit,
der zum Einspeisen von Änderungen ins Repository
gebraucht wird). Der beste Weg, Vorschläge zur
Prüfung durch die Mitglieder der Committer-Liste
einzureichen, bietet der Befehl &man.send-pr.1;. Sollte es
unerwartete Probleme mit diesem Verfahren geben, besteht
immer noch die Möglichkeit eine E-Mail an die Liste
&a.committers; zu schicken.Das FreeeBSD-Core-TeamCore-TeamWürde man das &os; Project mit einem
Unternehmen vergleichen, so wäre das
&os;-Core-Team das
Gegenstück zum Vorstand. Die Hauptaufgabe des
Core-Teams ist es, das Projekt als Ganzes in gesunder
Verfassung zu halten und die weitere Entwicklung in die
richtige Bahn zu lenken. Das Anwerben leidenschaftlicher
und verantwortungsbewusster Entwickler ist eine
Aufgabe des Core-Team, genauso wie die Rekrutierung
neuer Mitglieder für das Core-Team, im Falle, dass
Altmitglieder aus dem Projekt aussteigen. Das
derzeitige Core-Team wurde im Juli 2008 aus einem Kreis
kandidierender Committer gewählt. Wahlen
werden alle zwei Jahre abgehalten.Einige Core-Team-Mitglieder haben auch spezielle
Verantwortungsbereiche. Das bedeutet, sie haben sich
darauf festgelegt, sicherzustellen, dass ein
größerer Teil des Systems so funktioniert wie
ausgewiesen. Eine vollständige Liste an &os;
beteiligter Entwickler und ihrer Verantwortungsbereiche
kann in der Liste der
Beitragenden eingesehen werden.Die Mehrzahl der Mitglieder des Core-Teams sind
Freiwillige in Bezug auf die &os;-Entwicklung und
profitieren nicht finanziell vom Projekt. Daher
sollte Verpflichtung nicht als
garantierter Support fehlinterpretiert
werden. Der oben angeführte Vergleich mit einem
Vorstand hinkt und es wäre angebrachter zu
erwähnen, dass diese Leute – wider besseres
Wissen – ihr eigenes Leben für &os;
aufgegeben haben!Weitere BeitragendeBeitragendeDie größte Entwicklergruppe sind
nicht zuletzt die Anwender selbst, die
Rückmeldungen und Fehlerbehebungen in einem anhaltend
hohen Maße an uns senden. Der bevorzugte Weg an
dem weniger zentralisierten Bereich der
&os;-Entwicklung teilzuhaben, ist die
Möglichkeit sich bei der Liste &a.hackers;
anzumelden. Weitere Informationen über die
verschiedenen &os;-Mailinglisten erhalten Sie in
.Die Liste
der zu &os; Beitragenden ist eine
lange und wachsende. Also warum nicht selbst dort
stehen, indem Sie gleich persönlich etwas zu
&os; beitragen?Quellcode ist nicht der einzige Weg, etwas zum
Projekt beizusteuern. Eine genauere Übersicht
über offene Aufgaben finden Sie auf der &os;-Web-Site.Zusammengefasst bildet unser Entwicklungsmodell einen
losen Verbund konzentrischer Kreise. Das zentralisierte
Modell ist auf die Bedürfnisse der
Anwender zugeschnitten, mit der einfachen
Möglichkeit eine zentrale Code-Basis zu verfolgen und
möglichen neuen Beitragenden nicht das Leben zu
erschweren! Unser Ziel ist es, ein stabiles Betriebssystem mit
einer großen Zahl passender
Programme zu bieten, die der Anwender
leicht installieren und anwenden kann. Und dieses Modell
funktioniert für diese Aufgabe ziemlich gut.Das Einzige was wir von möglichen neuen Mitgliedern
fordern, ist die gleiche Hingabe, mit der die jetzigen
Mitglieder am dauerhaften Erfolg arbeiten!Das aktuelle &os;-ReleaseNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)&os; ist ein (mit vollem Quellcode und ein frei
erhältliches) auf 4.4BSD-Lite-basierendes Release
für Intel &i386;, &i486;, &pentium;,
&pentium; Pro,
&celeron;,
&pentium; II,
&pentium; III,
&pentium; 4 (oder ein dazu kompatibler Prozessor),
&xeon;, DEC Alpha und
Sun &ultrasparc; Systeme.
Es stützt sich zum größten
Teil auf Software der Computer Systems Research Group (CSRG)
der Universität von Kalifornien in Berkeley mit einigen
Verbesserungen aus NetBSD, OpenBSD, 386BSD und der Free
Software Foundation.
- Seit unserem &os; 2.0 von Ende 1994 hat sich
+ Seit unserem &os; 2.0 von Ende 1994 haben sich
Leistung, Funktionsvielfalt und Stabilität dramatisch
verbessert.
Die größte Änderung erfuhr das virtuelle
Speichermanagement durch eine Kopplung von virtuellem Speicher
und dem Buffer-Cache, das nicht nur die Leistung
steigert, sondern auch den Hauptspeicherverbrauch reduziert
und ein 5 MB-System zu einem nutzbaren Minimal-System
verhilft. Weitere Verbesserungen sind volle NIS-Client- und
Server-Unterstützung, T/TCP, Dial-On-Demand-PPP,
integriertes DHCP, ein verbessertes SCSI-Subsystem,
ISDN-Support, Unterstützung für ATM-, FDDI-, Fast-
und Gigabit-Ethernet-Karten (1000 Mbit), verbesserter
Support der neusten Adaptec-Controller und tausende
Fehlerkorrekturen.Zusätzlich zur Standard-Distribution bietet &os;
eine Sammlung von portierter Software mit tausenden begehrten
Programmen. Zum Verfassungszeitpunkt waren über
&os.numports; Anwendungen in der Ports-Sammlung! Das Spektrum
der Ports-Sammlung reicht von HTTP-Servern über Spiele,
Programmiersprachen, Editoren und so ziemlich allem
dazwischen. Die gesamte Ports-Sammlung benötigt
&ports.size; an Speicherplatz, wobei jeder Port anhand eines
Deltas zu den Quellen angegeben wird. Das
macht es für uns erheblich leichter, Ports zu
aktualisieren und es verringert den Plattenbedarf im Vergleich
zur älteren 1.0-Port-Sammlung. Um ein Port zu
übersetzen, müssen Sie einfach ins Verzeichnis des
Programms wechseln und ein make install
absetzen. Den Rest erledigt das System. Die originalen
Quellen jedes zu installierenden Port werden dynamisch von
CD-ROM oder einem FTP-Server bezogen. Es reicht also für
genügend Plattenplatz zu sorgen, um die gewünschten
Ports zu erstellen. Allen, die Ports nicht selbst kompilieren
wollen: Es gibt zu fast jedem Port ein vorkompiliertes
Paket, das einfach mit dem Befehl (pkg_add)
installiert wird. Pakete und Ports werden in
beschrieben.Eine Reihe von weiteren Dokumenten, die sich als hilfreich
bei der Installation oder dem Arbeiten mit &os; erweisen
könnten, liegen auf neueren &os;-Systemen im Verzeichnis
/usr/share/doc. Die lokal installierten
Anleitungen lassen sich mit jedem HTML-fähigen Browser
unter folgenden Adressen betrachten:Das &os;-Handbuch/usr/share/doc/handbook/index.htmlDie &os;-FAQ/usr/share/doc/faq/index.htmlEs besteht auch die Möglichkeit, sich die jeweils
- aktuellste Version der Referenzdokumente unter anzusehen.
+ aktuellste Version der Referenzdokumente auf der FreeBSD-Homepage
+ anzusehen.