Index: head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 53634)
+++ head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 53635)
@@ -1,2948 +1,2936 @@
&os; installierenJimMockRestructured, reorganized, and parts
rewritten by GavinAtkinsonUpdated for bsdinstall by WarrenBlockAllanJudeErweitert um root-on-ZFS von BenedictReuschlingÜbersetzt von ÜbersichtinstallationEs gibt verschiedene Möglichkeiten, &os; zu installieren,
abhängig von der Einsatzumgebung. Dazu gehören:Abbilder von virtuellen Maschinen, die Sie herunterladen
und in einer virtuellen Umgebung einsetzen können. Diese
Abbilder können von der FreeBSD Downloadseite
heruntergeladen werden. Es gibt Abbilder für
KVM (qcow2), VMWare (vmdk),
Hyper-V (vhd), sowie Raw-Device Abbilder, die
durchgängig unterstützt werden. Dies sind keine
Installationsabbilder, sondern vorkonfigurierte
(bereits installierte) Instanzen, die sofort
gestartet und konfiguriert werden können.Abbilder von virtuellen Maschinen, die auf Amazon's
AWS Marketplace,
Microsoft Azure Marketplace
und
Google Cloud Platform
verfügbar sind, um auf den jeweiligen Hosting-Diensten
ausgeführt zu werden. Weitere Informationen zur
Bereitstellung von &os; auf Azure finden Sie im
entsprechenden Kapitel der
Azure Dokumentation.SD-Karten Abbilder für eingebettete Systeme wie den
Raspberry Pi oder BeagleBone Black. Diese Abbilder können
von der
FreeBSD Downloadseite heruntergeladen werden. Die
Dateien müssen unkomprimiert und als Raw-Image auf eine
SD-Karte geschrieben werden, von der das System dann
booten wird.Installationsabbilder, um &os; auf einer Festplatte für
die üblichen Desktop-, Laptop- oder Serversysteme
zu installieren.Der Rest dieses Kapitels beschreibt den vierten Fall und
erklärt, wie man &os; mit dem textbasierten
Installationsprogramm bsdinstall
installiert.Die Installationsanweisungen in diesem Kapitel gelten für
die &i386;- und AMD64-Architekturen.
Gegebenenfalls werden spezifische Anweisungen für andere
Plattformen erwähnt. Möglicherweise gibt es auch geringfügige
Unterschiede zwischen dem Installationsprogramm und dem, was
hier gezeigt wird. Sie sollten dieses Kapitel daher als eine
Art Wegweiser und nicht als exakte Anleitung betrachten.Benutzer, die es vorziehen, &os; mit einem graphischen
Installationsprogramm zu installieren, sind vielleicht an
pc-sysinstall, dem
Installationsprogramm des TrueOS Projekts interessiert.
Dieses Installationsprogramm wird benutzt, um einen
graphischen Desktop (TrueOS) oder eine Kommandozeilen-Version
von &os; zu installieren. Weitere Details finden Sie im
TrueOS Handbuch (
https://www.trueos.org/handbook/trueos.html).Nachdem Sie dieses Kapitel gelesen haben, werden Sie
wissen:welche Mindestanforderungen an die Hardware gestellt
werden und welche Architekturen &os; unterstützt.wie man &os; Installationsmedien erstellt.wie man bsdinstall
startet.welche Fragen bsdinstall
stellt, was sie bedeuten und wie man diese
beantwortet.wie Sie Fehler bei der Installation beheben.wie Sie eine Live-Version von &os; ausprobieren können,
bevor Sie die Installation starten.Bevor Sie dieses Kapitel lesen, sollten Sie:Die Liste von unterstützter Hardware lesen, die mit
der zu installierenden Version von &os; ausgeliefert wird,
um sicherzustellen, dass die Hardware auch unterstützt
wird.Minimale HardwareanforderungenDie Hardwareanforderungen zur Installation von &os;
variieren mit der Architektur. Hardwarearchitekturen und von
&os; unterstützte Geräte sind auf der Seite &os; Release
Informationen aufgelistet. Die &os; Download Seite
enthält Informationen zur Auswahl des richtigen Abbilds für
verschiedene Architekturen.Für die Installation von &os; sind mindestens 96 MB
RAM und 1.5 GB freier
Festplattenspeicher erforderlich. Allerdings ist eine solch
geringe Menge an Arbeitsspeicher und Speicherplatz nur für
spezifische Anwendungen ausreichend, beispielsweise für
Embedded-Geräte. Desktop-Systeme benötigen weitaus mehr
Ressourcen. 2-4 GB RAM und mindestens
8 GB Speicherplatz sind ein guter Anfang.Dies sind die Anforderungen an den Prozessor für jede
Architektur:&arch.amd64;Dies ist die gängigste Art von Prozessor für Desktop-
und Laptop-Systeme. Andere Anbieter nennen diese
Architektur auch x86-64.Beispiele für &arch.amd64;-kompatible Prozessoren
umfassen: &amd.athlon;64, &amd.opteron;, multi-core
&intel; &xeon; und &intel; &core; 2 sowie
neuere Prozessoren.&arch.i386;Ältere Desktop- und Laptop-Systeme verwenden oft die
32-Bit x86-Architektur.Fast alle i386-kompatiblen Prozessoren mit einer
Floating-Point-Einheit werden unterstützt. Alle
&intel;-Prozessoren 486 oder neuer werden
unterstützt.&os; nutzt die
Physical Adress Extensions
(PAE), falls die CPU
diese Funktion unterstützt. Wenn PAE
im Kernel aktiviert ist, wird Speicher über 4 GB vom
Kernel erkannt und kann von System verwendet werden.
PAE schränkt allerdings auch die
Gerätetreiber und anderen Komponenten von &os; ein.
Einzelheiten finden Sie in &man.pae.4;.
- ia64
-
- Die derzeit unterstützten Prozessoren sind &itanium;
- und &itanium; 2. Zu den unterstützten Chipsätzen zählen
- HP zx1, &intel; 460GX und &intel; E8870. Sowohl
- Einprozessorsysteme (UP) als auch
- Mehrprozessorsysteme (SMP) werden
- unterstützt.
-
-
-
- &arch.powerpc;Alle New Word ROM &apple;
&mac;-Systeme mit integriertem USB
werden unterstützt. SMP wird auf
Maschinen mit mehreren CPUs
unterstützt.Ein 32-Bit Kernel kann jedoch nur die ersten
2 GB RAM verwenden.&arch.sparc64;Systeme, die von &os;/&arch.sparc64; unterstützt
werden, sind auf der
FreeBSD/sparc64-Projektseite aufgelistet.SMP wird auf allen Systemen mit
mehr als einem Prozessor unterstützt. Eine dedizierte
Platte wird benötigt, da es nicht möglich ist, eine
Platte mit einem anderen Betriebssystem zur gleichen
Zeit zu teilen.Vor der InstallationWenn das System die Mindestanforderungen für die
Installation von &os; erfüllt, sollte die Installationsdatei
heruntergeladen und die Installationsmedien vorbereitet
werden. Bevor Sie dies tun, prüfen Sie mit Hilfe dieser
Checkliste, ob das System für die Installation bereit
ist:Sichern Sie wichtige DatenErstellen Sie immer eine Sicherung
aller wichtigen Daten, bevor Sie ein
Betriebssystem installieren. Speichern Sie die Daten jedoch
nicht auf dem System, auf dem das Betriebssystem installiert
wird, sondern nutzen Sie einen Wechseldatenträger, wie
beispielsweise ein USB-Laufwerk, oder
sichern Sie auf einem anderen System im Netzwerk, oder
nutzen einen Online-Backup-Dienst. Überprüfen Sie die
Sicherungen, bevor Sie mit der Installation beginnen.
Sobald das Installationsprogramm die Festplatte des Systems
formatiert, gehen alle gespeicherten Daten unwiderruflich
verloren.Den Installationsort von &os; festlegenFalls &os; das einzige installierte Betriebssystem sein
wird, kann dieser Schritt übersprungen werden. Sollte &os;
allerdings die Platte mit anderen Betriebssystemen teilen,
müssen Sie entscheiden, welche Platte oder Partition für
&os; verwendet werden soll.Für die Architekturen &arch.i386; und &arch.amd64;
können die Platten in mehrere Partitionen aufgeteilt werden.
Dazu stehen Ihnen zwei Partitionsschemata zur Verfügung.
Traditionell enthält ein
Master Boot Record
(MBR) eine Partitionstabelle, welche bis
zu vier primäre Partitionen aufnehmen
kann. Aus historischen Gründen werden diese primären
Partitionen in &os; slices genannt.
Eine Begrenzung von nur vier Partitionen ist für große
Platten sehr beschränkt, so dass eine dieser primären
Partitionen als erweiterte Partition
eingesetzt wird. Mehrere
logische Partitionen können dann
innerhalb der erweiterten Partition angelegt werden. Die
GUID-Partitionstabelle
(GPT) ist eine neuere und einfachere
Methode zur Partition einer Festplatte. Geläufige
GPT-Implementierungen erlauben bis zu
128 Partitionen pro Platte, was die Notwendigkeit von
logischen Partitionen eliminiert.Manche älteren Betriebssysteme wie &windows; XP
sind mit dem GPT-Partitionsschema nicht
kompatibel. Wenn sich &os; die Platte mit einem solchen
Betriebssystem teilen soll, werden MBR
Partitionen benötigt.&os;s Standard-Bootloader benötigt entweder eine
primäre oder eine GPT-Partition. Wenn
alle primären oder GPT-Partitionen
bereits in Verwendung sind, muss eine davon für &os; zur
Verfügung gestellt werden. Benutzen Sie ein Werkzeug zur
Veränderung der Partitionsgrößen, wenn Sie eine Partition
erstellen möchten, ohne dabei vorhandene Daten zu löschen.
Den freigegebenen Platz können Sie dann für die Installation
verwenden.Eine Vielzahl freier und kommerzieller Werkzeuge zur
Veränderung der Partitionsgrößen finden Sie unter
http://en.wikipedia.org/wiki/List_of_disk_partitioning_software.
GParted Live (http://gparted.sourceforge.net/livecd.php)
ist eine freie Live-CD, die den
GParted-Partitionseditor enthält.
GParted ist auch in
einer Vielzahl von anderen Linux Live-CD Distributionen
enthalten.Bei richtiger Anwendung können Werkzeuge zur
Veränderung von Partitionsgrößen auf sichere Art und
Weise Platz für eine neue Partition schaffen. Erstellen
Sie trotzdem eine Vollsicherung und überprüfen Sie deren
Integrität bevor Sie die Partitionen auf der Platte
verändern.Festplattenpartitionen, die unterschiedliche
Betriebssysteme enthalten, ermöglichen es, jeweils eines
dieser Systeme zu verwenden. Eine alternative Möglichkeit,
mehrere Betriebssysteme gleichzeitig einzusetzen, ohne dabei
Partitionen ändern zu müssen, wird im behandelt.Netzwerkparameter ermittelnManche &os; Installationsarten benötigen eine
Netzwerkverbindung, um Installationsdateien herunter zu
laden. Nach jeder Installation bietet das
Installationsprogramm die Möglichkeit, die
Netzwerkschnittstellen des Systems zu konfigurieren.Steht im Netzwerk ein DHCP-Server zur
Verfügung, wird dieser im Allgemeinen verwendet, um
automatisch Netzwerkeinstellungen vorzunehmen. Falls
DHCP nicht verfügbar ist, müssen die
folgenden Netzwerkeinstellungen beim lokalen
Netzwerkadministrator oder Provider erfragt werden:Erforderliche Informationen zum NetzwerkIP-AdresseSubnetz-MaskeIP-Adresse des
Default-GatewayDomänenname des NetzwerksIP-Adressen der
DNS-Server im NetzwerkLesen Sie die &os;-ErrataObwohl das &os; Projekt sich bemüht, jede
veröffentlichte Version von &os; so stabil wie möglich
zu machen, können sich doch gelegentlich Fehler in den
Veröffentlichungsprozess einschleichen. In sehr seltenen
Fällen betreffen diese Fehler den Installationsvorgang.
Wenn diese Probleme entdeckt und behoben sind, werden dazu
Hinweise in der &os; Errata (
https://www.freebsd.org/releases/&rel.current;R/errata.html)
auf der &os; Webseite veröffentlicht. Prüfen Sie die Errata
vor der Installation, um sicherzustellen, dass es keine
Probleme gibt, welche die Installation betreffen.Informationen und Errata für all diese
Veröffentlichungen finden Sie unter den Release
Informationen auf der &os; Webseite (
https://www.freebsd.org/releases/index.html).Die Installationsmedien vorbereitenDas &os;-Installationsprogramm ist keine Anwendung, das
aus einem anderen Betriebssystem heraus gestartet werden kann.
Laden Sie stattdessen eine Installationsdatei für &os;
herunter und brennen Sie den Dateityp auf einen entsprechenden
Datenträger (CD, DVD,
oder USB). Starten Sie dann das System mit
diesem Datenträger.Die &os;-Installationsmedien sind unter
www.freebsd.org/where.html#download verfügbar. Der
Name der Installationsdatei enthält die Version von &os;,
die Architektur sowie den Dateityp. Wenn Sie beispielsweise
&os; 10.2 auf einem &arch.amd64;-System von
DVD installieren wollen, laden Sie
FreeBSD-10.2-RELEASE-amd64-dvd1.iso und
brennen Sie die Datei auf eine DVD.
Starten Sie dann das System mit dieser
DVD.Die Installationsdateien stehen in verschiedenen Formaten
zur Verfügung und variieren je nach Rechnerarchitektur und
Medientyp.Für Rechner,
die mit UEFI (Unified Extensible Firmware
Interface) booten, stehen zusätzliche Installationsdateien zur
Verfügung. Die Namen dieser Dateien enthalten die
Zeichenkette uefi.Dateitypen:-bootonly.iso: Dies ist die
kleinste Installation, die lediglich das
Installationsprogramm enthält. Hierzu ist während der
Installation eine funktionierende Internetverbindung
erforderlich, da das Installationsprogramm die benötigen
Dateien für die &os;-Installation herunter laden muss.
Diese Datei sollte mit einem
CD-Brennprogramm auf
CD gebrannt werden.-disc1.iso: Diese Datei enthält
alle benötigten Dateien für eine &os;-Installation, den
Quellcode und die Ports-Sammlung. Die Datei sollte mit
einem CD-Brennprogramm auf
CD gebrannt werden.-dvd1.iso: Diese Datei enthält alle
benötigen Dateien für eine &os;-Installation, den
Quellcode und die Ports-Sammlung. Darüber hinaus enthält
sie eine Reihe von beliebten Binärpaketen zur Installation
eines Window-Managers, sodass Sie ein komplettes System
installieren können, ohne dass Sie eine Verbindung zum
Internet benötigen. Die Datei sollte mit einem
DVD-Brennprogramm auf eine
DVD gebrannt werden.-memstick.img: Diese Datei enthält
alle benötigten Dateien für eine &os;-Installation, den
Quellcode und die Ports-Sammlung. Die Datei sollte mit
den nachstehenden Anweisungen auf einen
USB-Stick geschrieben werden.-mini-memstick.img: Diese Datei
enthält, wie -bootonly.iso, keine
Installationsdateien, sondern lädt diese bei Bedarf nach.
Während der Installation wird eine funktionierende
Internetverbindung benötigt. Schreiben Sie die Datei, wie
in beschrieben, auf einen
USB-Stick.Nachdem Sie die Datei heruntergeladen haben, laden Sie
CHECKSUM.SHA256 aus dem gleichen
Verzeichnis herunter. Berechnen Sie dann die
Prüfsumme für die Datei. &os; bietet
hierfür &man.sha256.1;, das Sie als
sha256
Dateiname aufrufen
können. Andere Betriebssysteme haben ähnliche
Programme.Vergleichen Sie die berechnete Prüfsumme mit der in
CHECKSUM.SHA256. Die beiden Prüfsummen
müssen übereinstimmen, ansonsten ist die Datei beschädigt und
muss erneut heruntergeladen werden.Eine Installationsdatei auf einen
USB-Stick schreibenDie *.img-Datei ist ein komplettes
Abbild (engl. Image) des späteren
USB-Sticks. Die Datei kann
nicht auf das Zielgerät kopiert
werden. Es existieren jedoch mehrere Programme, mit denen
die *.img-Datei auf einen
USB-Stick geschrieben werden kann. In
diesem Abschnitt werden zwei dieser Programme
vorgestellt.Bevor Sie fortfahren, machen Sie Sicherungskopien der
Daten auf dem USB-Stick. Diese
Prozedur wird alle Daten auf dem Stick löschen.Das Image mit dd auf einen
USB-Stick schreibenDieses Beispiel verwendet
/dev/da0 als das Zielgerät, auf
welches das Image geschrieben werden soll. Seien Sie
sehr vorsichtig, dass das richtige
Gerät benutzt wird, da das Kommando alle vorhandenen
Daten auf dem Zielgerät zerstört.Das Werkzeug &man.dd.1; steht unter BSD, &linux; und
&macos;-Systemen zur Verfügung. Um das Image zu
brennen, verbinden Sie den USB-Stick
mit dem System und bestimmen Sie dessen Gerätenamen.
Geben Sie dann den Namen der Installationsdatei und den
Gerätenamen des USB-Sticks an.
Dieses Beispiel schreibt die Installation für
&arch.amd64; auf das erste USB-Gerät
im &os;-System.&prompt.root; dd if=FreeBSD-10.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=syncWenn dieser Befehl fehlschlägt, stellen Sie sicher,
dass der USB-Stick nicht eingehangen
ist und prüfen Sie den Gerätenamen. Auf einigen
Systemen muss der Befehl vielleicht mit Hilfe von
&man.sudo.8; ausgeführt werden. Die Syntax von
&man.dd.1; variiert leicht zwischen verschiedenen
Plattformen. Zum Beispiel erfordert &macos; ein
kleingeschriebenes bs=1m. Einige Systeme wie
&linux; verwenden vielleicht einen Puffer. Verwenden
Sie dann &man.sync.8;, um die Daten zu schreiben.Das Image unter &windows; schreibenVersichern Sie sich, dass Sie den korrekten
Laufwerksbuchstaben angeben, da die bestehenden Daten
des Laufwerks überschrieben und zerstört werden.Image Writer für
&windows; herunterladenImage Writer für
&windows; ist eine frei verfügbare
Anwendung, welche eine Imagedatei korrekt auf einen
USB-Stick schreiben kann. Laden Sie
diese von
https://sourceforge.net/projects/win32diskimager/
herunter und entpacken Sie sie in ein
Verzeichnis.Das Image mit Image Writer auf den USB-Stick
schreibenKlicken Sie doppelt auf das
Win32DiskImager-Icon, um
das Programm zu starten. Prüfen Sie dabei, dass der
Laufwerksbuchstabe unter
Device dem Gerät
entspricht, in dem sich der USB-Stick
befindet. Klicken Sie auf das Ordnersymbol und wählen
Sie das Image aus, welches auf den
USB-Stick geschrieben werden soll.
Um den Image-Dateinamen zu akzeptieren, klicken Sie auf
[ Save ]. Überprüfen
Sie erneut, ob alles stimmt und dass keine Ordner auf
dem USB-Stick in anderen Fenstern
geöffnet sind. Sobald alles bereit ist, klicken Sie
auf [ Write ], um die
Imagedatei auf den USB-Stick zu
schreiben.Sie sind jetzt dazu bereit, mit der Installation von
&os; zu beginnen.Die Installation startenEs werden bei Installation so lange keine Änderungen an
den Festplatten durchgeführt, bis die folgende Meldung
erscheint:Your changes will now be written to disk. If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?Die Installation kann vor dieser Warnung zu jeder Zeit
abgebrochen werden. Falls Zweifel bestehen, dass etwas
falsch konfiguriert wurde, schalten Sie einfach den Computer
vor diesem Punkt aus und es werden keine Änderungen an der
Festplatte vorgenommen.Dieser Abschnitt beschreibt, wie das System vom
Installationsmedium, das nach den Anweisungen in erstellt wurde,
gebootet wird. Wenn Sie einen bootfähigen
USB-Stick einsetzen, verbinden Sie diesen
mit dem System, bevor Sie den Computer einschalten. Falls die
Installation von einer CD startet, müssen Sie
den Computer einschalten und die CD so bald
wie möglich einlegen. Wie das System konfiguriert werden muss,
um von dem verwendeten Installationsmedium zu booten, hängt von
der Architektur ab.Systemstart von &i386; und &arch.amd64;Diese Architekturen beinhalten ein
BIOS-Menü zur Auswahl des Boot-Gerätes.
Abhängig von dem verwendeten Installationsmedium können Sie
CD/DVD oder
USB als erstes Boot-Gerät auswählen. Die
meisten Systeme erlauben es auch, das Boot-Gerät während des
Startvorgangs zu wählen, typischerweise durch drücken von
F10, F11,
F12 oder Esc.Falls der Computer wie normal startet und das bestehende
Betriebssystem lädt, befolgen Sie einen der hier aufgeführten
Schritte:Das Installationsmedium wurde während des
Startvorgangs nicht früh genug eingelegt. Lassen Sie das
Medium eingelegt und versuchen Sie, den Rechner neu zu
starten.Die Änderungen am BIOS waren nicht
richtig oder wurden nicht gespeichert. Überprüfen Sie,
dass das richtige Boot-Gerät als erstes Boot-Gerät
ausgewählt ist.Das verwendete System ist zu alt und unterstützt das
starten vom gewählten Medium nicht. In diesem Fall kann
der Plop Boot Manager ()
verwendet werden, um ältere Computer von
CD oder USB-Medien
zu starten.Systemstart beim &powerpc;Auf den meisten Maschinen können Sie C
auf der Tastatur gedrückt halten, um von der
CD zu starten. Andernfalls, halten Sie
CommandOptionOF, oder
WindowsAltOF
auf nicht-&apple; Tastaturen gedrückt. Geben Sie an der
0 >-Eingabeaufforderung folgendes
ein:boot cd:,\ppc\loader cd:0Systemstart für &sparc64;Die meisten &sparc64;-Systeme sind so eingerichtet, dass
diese automatisch von der Festplatte starten. Um &os; von
CD zu installieren ist es nötig, in die
PROM einzubrechen.Um dies zu tun, starten Sie das System neu und warten Sie
bis die Startmeldungen erscheinen. Abhängig vom Modell sollte
dies in etwa folgendermaßen 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.Falls das System jetzt damit fortfährt von Platte zu
starten, müssen Sie
L1A oder StopA
auf der Tastatur eingeben oder ein BREAK
über die serielle Konsole senden. Wenn Sie
tip oder cu benutzen,
können Sie mit ~# einen
BREAK erzeugen. Der Prompt von
PROM zeigt dann ok an,
wenn es sich um ein System mit einer CPU
handelt, beziehungsweise ok {0} auf
SMP-Systemen, wobei die Nummer die Anzahl
der aktiven CPUs anzeigt.Legen Sie nun die CD in das Laufwerk
und geben Sie boot cdrom am
PROM-Prompt ein.&os; BootmenüWenn das System vom Installationsmedium gestartet wird,
erscheint folgendes Menü auf dem Bildschirm:In der Voreinstellung wird das Menü zehn Sekunden auf
Benutzereingaben warten, bevor das Installationsprogramm
gestartet wird. Drücken Sie die Leertaste, um den Timer
anzuhalten. Um eine Option auszuwählen, drücken Sie die
entsprechende Nummer bzw. Buchstaben. Die folgenden Optionen
stehen zur Verfügung.Boot Multi User: Dies wird den
Boot-Prozess von &os; fortsetzen. Wenn der Timer
angehalten wurde, drücken Sie entweder die
1, B, oder
Enter.Boot Single User: Dieser Modus kann
verwendet werden, um eine bestehende &os;-Installation zu
reparieren. Dies wird in beschrieben. Drücken Sie
die 2 oder S um in
diesen Modus zu gelangen.Escape to loader prompt: Dieser
Modus startet einen Prompt, welcher nur eine begrenzte
Anzahl an Low-Level-Befehlen enthält. Dies wird in
beschrieben. Drücken Sie
die 3 oder Esc um in
diesen Modus zu gelangen.Reboot: Startet das System
neu.Configure Boot Options: Öffnet das
Menü, welches in beschrieben
ist.Das Boot-Optionen Menü ist in zwei Abschnitte unterteilt.
Der erste Abschnitt wird verwendet, um zurück zum Hauptmenü zu
gelangen, oder um Optionen zurück auf die Standardwerte zu
setzen.Im zweiten Abschnitt können verschiedene Optionen auf
On oder Off gesetzt
werden. Das System wird bei einem Neustart immer mit den
Einstellungen für diese Optionen booten:ACPI Support: Wenn das System
während des Bootens hängt, setzen Sie diese Option auf
Off.Safe Mode: Wenn das System trotz
deaktiviertem ACPI Support immer noch
hängt, setzen Sie diese Option auf
On.Single User: Setzen Sie die Option
auf On, um eine bestehende
&os;-Installation zu reparieren. Dieser Prozess wird in
beschrieben. Sobald das
Problem behoben ist, setzen Sie die Option wieder auf
Off.Verbose: Wenn Sie während des
Bootens ausführliche Meldungen sehen möchten, zum Beispiel
für die Fehlersuche bei Hardwareproblemen, setzen Sie
diese Option auf On.Nachdem Sie die benötigten Auswahlen getroffen haben,
drücken Sie die 1 oder die Rücktaste, um zum
Hauptmenü zurückzukehren. Drücken Sie dann
Enter um den &os; Bootprozess
fortzusetzen. Eine Reihe von Boot-Meldungen werden nun im
Rahmen der Geräteerkennung von &os; angezeigt. Sobald
dieser Prozess abgeschlossen ist, erscheint das Menü aus
.Wählen Sie hier
[ Install ] und drücken Sie
Enter, um in das Installationsprogramm zu
gelangen. Der Rest dieses Kapitels beschreibt das
Installationsprogramm. Andernfalls verwenden Sie die
Pfeiltasten um einen anderen Menüpunkt auszuwählen.
[ Shell ] kann verwendet
werden, um eine Shell zu starten und Zugriff auf die
Kommandozeilenprogramme zu erhalten, damit beispielsweise
die Platten vor der Installation vorbereitet werden können.
[ Live CD ] kann verwendet
werden um &os; vor der Installation auszuprobieren. Die
Live-Version wird in
beschrieben.Um sich die Boot-Meldungen und die Ergebnisse der
Geräteerkennung erneut anzeigen zu lassen, drücken Sie
S gefolgt von Enter.
Dadurch wird eine Shell gestartet, in der Sie die
Ereignisse seitenweise mit
more /var/run/dmesg.boot lesen können.
Geben Sie exit ein, um zum
Willkommen-Menü zurückzukehren.Verwendung von
bsdinstallDieser Abschnitt zeigt die Reihenfolge der Menüs von
bsdinstall sowie die Informationen,
die während der Installation abgefragt werden. Benutzen Sie die
Pfeiltasten zur Navigation und die Leertaste, um einen Menüpunkt
zu aktivieren oder zu deaktivieren. Wenn Sie fertig sind,
drücken Sie Enter, um die Auswahl zu speichern
und zum nächsten Bildschirm zu gelangen.Die Tastaturbelegung auswählenAbhängig davon, welche Systemkonsole verwendet wird, zeigt
bsdinstall am Anfang das Menü aus
.Um die Tastaturbelegung zu konfigurieren, wählen Sie
[ YES ] gefolgt von
Enter. Dadurch wird das
Menü aus angezeigt.
Wenn Sie stattdessen die Standardtastaturbelegung verwenden
möchten, wählen Sie [ NO ]
gefolgt von Enter, um dieses Menü zu
überspringen.Wählen Sie die Tastenbelegung, die der am System
angeschlossenen Tastatur am nächsten kommt, indem Sie die
Pfeiltasten Hoch/Runter verwenden und anschließend
Enter drücken.Durch drücken von Esc wird das Menü
verlassen und die Standardbelegung eingestellt.
United States of America
ISO-8859-1 ist eine sichere Option, falls
Sie sich unsicher sind, welche Auswahl Sie treffen
sollen.In &os; 10.0-RELEASE und neueren Versionen wurde dieses
Menü erweitert. Die vollständige Auswahl der
Tastaturbelegungen wird nun angezeigt und die Voreinstellung
ist ausgewählt. Wird die Tastenbelegung geändert, erscheint
ein Dialog, in dem der Benutzer die Einstellung testen kann,
bevor die Installation fortgesetzt wird.Den Rechnernamen festlegenDas nächste bsdinstall-Menü
konfiguriert den Rechnernamen, der für das neu zu
installierende System verwendet werden soll.Geben Sie einen für das Netzwerk eindeutigen Rechnernamen
an. Der eingegebene Rechnername sollte ein
voll-qualifizierter Rechnername sein, so wie z.B. machine3.example.com.Auswahl der zu installierenden KomponentenIm nächsten Schritt fragt Sie
bsdinstall, die optionalen
Komponenten für die Installation auszuwählen.Die Entscheidung, welche Komponenten auszuwählen sind,
hängt größtenteils davon ab, für was das System künftig
eingesetzt werden soll und der zur Verfügung stehende
Plattenplatz. Der &os;-Kernel und die Systemprogramme
(zusammengenommen auch als Basissystem
bezeichnet) werden immer installiert. Abhängig vom Typ der
Installation, werden manche dieser Komponenten nicht
erscheinen.doc - Zusätzliche Dokumentation,
meistens eher von historischem Interesse, wird nach
/usr/share/doc installiert.
Dokumentation, wie Sie vom &os; Dokumentationsprojekt
bereitgestellt wird, kann zu einem späteren Zeitpunkt
installiert werden. Anweisungen dazu finden Sie in
.games - Mehrere traditionelle
BSD-Spiele, darunter
fortune,
rot13 und andere.lib32 -
Kompatibilitäts-Bibliotheken, um 32-bit Anwendungen auf
der 64-bit Version von &os; laufen zu lassen.ports - Die &os;
Ports-Sammlung ist eine Sammlung von Dateien, die das
herunterladen, erstellen und installieren von
Drittanbietersoftware automatisiert.
behandelt die Verwendung der
Ports-Sammlung.Das Installationsprogramm prüft nicht, ob
genügend Plattenplatz zur Verfügung steht. Wählen Sie
diese Option nur, wenn die Festplatte über ausreichend
Speicher verfügt. Die Ports-Sammlung nimmt etwa
&ports.size; Plattenplatz ein.src - Der vollständige &os;
Quellcode für den Kernel und die Systemprogramme. Obwohl
dies für die meisten Anwendungen nicht benötigt wird, kann
es doch für manche Gerätetreiber, Kernelmodule und einigen
Anwendungen aus der Ports-Sammlung erforderlich sein. Der
Quellcode wird auch benötigt um an &os; selbst
mitzuentwickeln. Der komplette Quellcodebaum benötigt
1 GB Plattenplatz und um das gesamte Betriebssystem
neu zu erstellen, werden zusätzliche 5 GB Platz
benötigt.Installation aus dem NetzwerkDas Menü in wird nur angezeigt,
wenn Sie von einer
-bootonly.iso-CD
installieren, da dieses Installationsmedium keine Kopie der
Installationsdateien enthält. Da die Installationsdateien
über eine Netzwerkverbindung abgerufen werden müssen, weist
dieses Menü darauf hin, dass zunächst die
Netzwerkschnittstelle konfiguriert werden muss.Um die Netzwerkverbindung zu konfigurieren, drücken Sie
Enter und folgen Sie den Anweisungen in . Sobald die
Schnittstelle konfiguriert ist, bestimmen Sie einen
Spiegelserver, welcher in der gleichen Region auf der Welt
beheimatet ist, wie der Computer, auf dem &os; installiert
werden soll. Dateien können so viel schneller übertragen
werden, wenn der Spiegelserver sich näher am Zielcomputer
befindet und die Installationszeit wird somit
reduziert.Die Installation wird auf die gleiche Weise fortfahren,
als würden die Installationsdateien auf einem lokalen
Installationsmedium vorliegen.Plattenplatz bereitstellenIm nächsten Menü wird die Methode bestimmt, um den
Plattenplatz zuzuweisen.Die geführte Partitionierung (Guided)
richtet Partitionen automatisch ein, während die manuelle
Partitionierung (Manual) es fortgeschrittenen
Anwendern erlaubt, selbstgewählte Partitionen über weitere Menüs
zu erzeugen. Schließlich gibt es noch die Option
Shell, in der Kommandozeilenprogramme wie
&man.gpart.8; &man.fdisk.8; und &man.bsdlabel.8; direkt
ausgeführt werden können.
ZFS Partitionierung, die ab &os; 10
verfügbar ist, erstellt ein
root-on-ZFS System mit
Unterstützung für
Boot Environments, welches
optional verschlüsselt werden kann.Dieser Abschnitt beschreibt, was bei der Partitionierung der
Platten zu beachten ist und wie die einzelnen Methoden zur
Partitionierung angewendet werden.Ein Partitionslayout entwerfenPartitionslayout/etc/var/usrWenn Sie Dateisysteme anlegen, sollten Sie beachten, dass
Festplatten auf Daten in den äußeren Spuren schneller
zugreifen können als auf Daten in den inneren Spuren. Daher
sollten die kleineren und oft benutzten Dateisysteme an den
äußeren Rand der Platte gelegt werden. Die größeren
Partitionen wie /usr sollten in die
inneren Bereiche gelegt werden. Es empfiehlt sich, die
Partitionen in folgender Reihenfolge anzulegen:
/, swap, /var und
/usr.Die Größe der /var-Partition ist
abhängig vom Zweck der Maschine. Diese
Partition enthält hauptsächlich Postfächer, Logdateien und
Druckwarteschlangen. Abhängig von der Anzahl an
Systembenutzern und der Aufbewahrungszeit für Logdateien,
können Postfächer und Logdateien unerwartete Größen annehmen.
Die meisten Benutzer benötigen nur selten mehr als ein
Gigabyte für /var.Ein paar Mal wird es vorkommen, dass viel
Festplattenspeicher in /var/tmp
benötigt wird. Wenn neue Software mit &man.pkg.add.1;
installiert wird, extrahieren die Paketwerkzeuge eine
vorübergehende Kopie der Pakete unter
/var/tmp. Die Installation großer
Softwarepakete wie Firefox,
Apache OpenOffice oder
LibreOffice kann sich wegen zu
wenig Speicherplatz in /var/tmp als
trickreich herausstellen.Die /usr Partition enthält viele
der Hauptbestandteile des Systems, einschließlich der &os;
Ports-Sammlung und den Quellcode des Systems. Für diese
Partition werden mindestens zwei Gigabyte empfohlen.Behalten Sie bei der Auswahl der Partitionsgrößen den
Platzbedarf im Auge. Wenn Sie den Platz auf einer Partition
vollständig aufgebraucht haben, eine andere Partition aber
kaum benutzen, kann die Handhabung des Systems schwierig
werden.Größe der Swap-PartitionSwap PartitionAls Daumenregel sollten Sie doppelt soviel Speicher für
die Swap-Partition vorsehen, als Sie Hauptspeicher haben, da
die VM-Paging-Algorithmen im Kernel so eingestellt sind, dass
sie am besten laufen, wenn die Swap-Partition mindestens
doppelt so groß wie der Hauptspeicher ist. Zu wenig Swap kann
zu einer Leistungsverminderung im
VM page scanning Code führen,
sowie Probleme verursachen, wenn später mehr Speicher in die
Maschine eingebaut wird.Auf größeren Systemen mit mehreren
SCSI-, oder IDE-Laufwerken an
unterschiedlichen Controllern, wird empfohlen, Swap-Bereiche
auf bis zu vier Laufwerken einzurichten. Diese
Swap-Partitionen sollten ungefähr dieselbe Größe haben. Der
Kernel kann zwar mit beliebigen Größen umgehen, aber die
internen Datenstrukturen skalieren bis zur vierfachen Größe
der größten Partition. Ungefähr gleich große Swap-Partitionen
erlauben es dem Kernel, den Swap-Bereich optimal über die
Laufwerke zu verteilen. Große Swap-Bereiche, auch wenn sie
nicht oft gebraucht werden, sind nützlich, da sich ein
speicherfressendes Programm unter Umständen auch ohne einen
Neustart des Systems beenden lässt.Indem Sie ein System richtig partitionieren, verhindern
Sie, dass eine Fragmentierung in den häufig beschriebenen
Partitionen auf die meist nur gelesenen Partitionen
übergreift. Wenn Sie die häufig beschriebenen Partitionen an
den Rand der Platte legen, dann wird die
I/O-Leistung dieser Partitionen steigen.
Die I/O-Leistung ist
natürlich auch für große Partitionen wichtig, doch erzielen
Sie eine größere Leistungssteigerung, wenn Sie
/var an den Rand der Platte legen.Geführte PartitionierungBei dieser Methode wird ein Menü die verfügbaren Platten
anzeigen. Sollten mehrere Platten angeschlossen sein, wählen
Sie diejenige aus, auf der &os; installiert werden
soll.Nachdem Sie die Platte ausgewählt haben, fordert das
nächste Menü dazu auf, entweder die gesamte Festplatte für die
Installation zu nutzen oder eine Partition aus unbenutzten
Speicherplatz zu erstellen. Ein allgemeines Partitionslayout,
das die gesamte Platte einnimmt wird erstellt, wenn
[ Entire Disk ]
ausgewählt wird. Durch die Wahl von
[ Partition ] wird ein
Partitionslayout aus dem unbenutzten Speicherplatz der Platte
erstellt.Nachdem das Partitionslayout nun erstellt wurde, sollten
Sie es überprüfen, um sicherzustellen, dass es die Bedürfnisse
der Installation erfüllt. Durch die Auswahl von
[ Revert ] können die
Partitionen wieder auf den ursprünglichen Wert zurückgesetzt
werden und durch [ Auto ]
werden die automatischen &os; Partitionen wiederhergestellt.
Partitionen können auch manuell erstellt, geändert oder
gelöscht werden. Sollte die Partitionierung richtig sein,
wählen Sie [ Finish ] aus, um
mit der Installation fortzufahren.Manuelle PartitionierungDiese Methode öffnet den Partitionseditor:Durch hervorheben einer Platte (in diesem Fall
ada0) und die Auswahl von
[ Create ], wird ein Menü mit
den verfügbaren Partitionierungsschemas angezeigt.GPT ist normalerweise die beste Wahl
für &arch.amd64;-Computer. Ältere Computer, die nicht mit
GPT kompatibel sind, sollten
MBR verwenden. Die anderen
Partitionsschemas werden für gewöhnlich für ältere
Computersysteme benutzt.
PartitionierungsschemasAbkürzungBeschreibungAPMApple Partition Map, verwendet von
&powerpc;.BSDBSD-Labels ohne einen
MBR, manchmal auch
dangerously dedicated mode genannt, da
nicht-BSD Festplatten-Werkzeuge
dies vielleicht nicht erkennen können.GPTGUID Partition Table (
http://en.wikipedia.org/wiki/GUID_Partition_Table).MBRMaster Boot Record (
http://en.wikipedia.org/wiki/Master_boot_record).PC98MBR-Variante, verwendet von
NEC PC-98 Computern (
http://en.wikipedia.org/wiki/Pc9801).VTOC8Volume Table Of Contents, von Sun SPARC64 und
UltraSPARC Computern verwendet.
Nachdem das Partitionierungsschema ausgewählt und
erstellt wurde, werden durch erneute Auswahl von
[ Create ] die Partitionen
erzeugt. Mit der Tab-Taste können Sie den
Cursor zwischen den Feldern bewegen.Eine &os;-Standardinstallation mit GPT
legt mindestens die folgenden drei Partitionen an:freebsd-boot - Enthält den
&os;-Bootcode.freebsd-ufs - Ein &os;
UFS-Dateisystem.freebsd-swap - &os;
Auslagerungsbereich (swap space).Ein weiter Partitionstyp ist
freebsd-zfs. Dieser Typ ist für
Partitionen bestimmt, die ein &os;
ZFS-Dateisystem verwenden sollen (). &man.gpart.8; enthält
Beschreibungen der verfügbaren
GPT-Partitionstypen.Es können mehrere Dateisystempartitionen erzeugt werden
und manche Leute ziehen es vor, ein traditionelles Layout mit
getrennten Partitionen für die Dateisysteme
/, /var,
/tmp und /usr zu
erstellen. Lesen Sie dazu , um ein Beispiel
zu erhalten.Größenangaben (Size) können mit
gängigen Abkürzungen eingegeben werden: K
für Kilobytes, M für Megabytes oder
G für Gigabytes.Korrekte Sektorausrichtung ermöglicht
größtmögliche Geschwindigkeit und das Anlegen von
Partitionsgrößen als vielfaches von 4K-Bytes hilft, die
passende Ausrichtung auf Platten mit entweder 512-Bytes oder
4K-Bytes Sektorgrößen, festzulegen. Generell sollte die
Verwendung von Partitionsgrößen, die sogar vielfache von
1M oder 1G sind, den einfachsten Weg darstellen, um sicher
zu stellen, dass jede Partition an einem vielfachen von 4K
beginnt. Eine Ausnahme gibt es: momentan sollte die
freebsd-boot-Partition aufgrund von
Beschränkungen im Bootcode nicht größer sein
als 512K.Ein Einhägepunkt (Mountpoint) wird
benötigt, falls diese Partition ein Dateisystem enthält.
Falls nur eine einzelne UFS-Partition
erstellt wird, sollte der Einhängepunkt
/ lauten.Ein label ist ein Name, durch den diese
Partition angesprochen wird. Festplattennamen oder -nummern
können sich ändern, falls die Platte einmal an einem anderen
Controller oder Port angeschlossen sein sollte, doch das
Partitionslabel ändert sich dadurch nicht. Anstatt auf
Plattennamen und Partitionsnummern in Dateien wie
/etc/fstab zu verweisen, sorgen Labels
dafür, dass das System Hardwareänderungen eher toleriert.
GPT-Labels erscheinen in
/dev/gpt/, wenn eine Platte angeschlossen
wird. Andere Partitionierungsschemas besitzen
unterschiedliche Fähigkeiten, Labels zu verwenden und diese
erscheinen in anderen
/dev/-Verzeichnissen.Vergeben Sie ein einzigartiges Label für jede Partition,
um Konflikte mit identischen Labels zu
verhindern. Ein paar Buchstaben des Computernamens, dessen
Verwendungszweck oder Ortes kann dem Label hinzugefügt
werden. Beispielsweise labroot oder
rootfslab für die UFS
Root-Partition auf einem Laborrechner namens
lab.Ein traditionelles, partitioniertes Dateisystem
erstellenFür ein traditionelles Partitionslayout, in dem sich
/, /var,
/tmp und /usr in
getrennten Partitionen befinden sollen, erstellen Sie ein
GPT-Partitionsschema und anschließend
die Partitionen selbst. Die gezeigten Partitionsgrößen
sind typisch für eine Festplatte von 20 G. Falls mehr
Platz verfügbar ist, sind größere Swap oder
/var-Partitionen nützlich. Den hier
gezeigten Beschreibungen sind bsp für
Beispiel vorangestellt, jedoch sollten Sie
andere, einzigartige Beschreibungen verwenden, wie oben
beschrieben.Standardmäßig erwartet &os;s
gptboot, dass die erste
UFS-Partition die
/-Partition ist.PartitionstypGrösseEingehängt alsBeschreibungfreebsd-boot512Kfreebsd-ufs2G/bsprootfsfreebsd-swap4Gbspswapfreebsd-ufs2G/varbspvarfsfreebsd-ufs1G/tmpbsptmpfsfreebsd-ufsAkzeptieren Sie die Standardeinstellungen (Rest
der Platte)/usrbspusrfsNachdem die selbstgewählten Partitionen erzeugt wurden,
wählen Sie [ Finish ], um
mit der Installation fortzusetzen.Root-on-ZFS automatische PartitionierungDie Unterstützung für die automatische Erstellung von
Root-on-ZFS Installationen wurde in &os; 10.0-RELEASE
hinzugefügt. Dieser Modus funktioniert nur mit ganzen
Laufwerken und wird alle vorhandenen Daten auf der Platte
löschen. Das Installationsprogramm wird die Partitionen für
ZFS automatisch an 4k Sektoren ausrichten.
Dies funktioniert auch zuverlässig bei einer Sektorgröße von
512 Byte und hat den Vorteil, dass nachträglich Laufwerke
mit einer Sektorgröße von 4k hinzugefügt werden können,
entweder als zusätzlicher Speicherplatz oder als Ersatz für
eine ausgefallene Platte. Das Installationsprogramm kann auch
optional die Platte mit GELI verschlüsseln,
wie in beschrieben.
Wird die Verschlüsselung aktiviert, wird eine 2 GB große
unverschlüsselte Partition für /boot
erstellt. Diese enthält den Kernel und weitere
Dateien, die nötig sind um den Kernel zu booten. Zudem wird
eine Swap-Partition erstellt. Der verbleibende Platz wird für
den ZFS-Pool verwendet.Das Konfigurationsmenü für ZFS bietet
einige Optionen, um die Erstellung des Pools zu
beeinflussen.Wählen Sie T um den Pool Typ und die
Festplatte(n) zu konfigurieren, die den Pool bilden werden.
Mit Ausnahme des Stripe Modus, unterstützt das automatische
ZFS Installationsprogramm derzeit nur die
Erstellung eines einzigen Top-Level-vdevs. Wenn Sie
komplexere Pools erstellen möchten, folgen Sie den Anweisungen
in . Das
Installationsprogramm unterstützt
verschiedene Pool Typen, einschließlich Stripe (nicht
empfohlen, keine Redundanz), Spiegel (beste Leistung,
weniger nutzbarer Speicherplatz), und RAID-Z 1, 2 und 3
(übersteht den Ausfall von jeweils einer, zwei und drei
Platten). Am unteren Rand des Bildschirms werden Hinweise zur
Anzahl der benötigten Platten angezeigt. Im Fall von RAID-Z
wird die optimale Anzahl von Platten für die jeweilige
Konfiguration angezeigt.Sobald ein Pool Typ (Pool Type)
ausgewählt wurde, wird eine Liste der
verfügbaren Laufwerke angezeigt und der Benutzer wird
aufgefordert, eine oder mehrere Festplatten auszuwählen um den
Pool zu bilden. Anschließend wie die Konfiguration geprüft um
zu gewährleisten, dass genug Platten ausgewählt wurden.
Wählen Sie <Change Selection> um
zur Auswahl der Laufwerke zurückzukehren, oder
<Cancel> um den Pool Typ zu
ändern.Wenn eine oder mehrere Platten in der Liste fehlen, oder
wenn Festplaten angebunden wurden, nachdem das
Installationsprogramm gestartet wurde, wählen Sie
- Rescan Devices um die Laufwerke
nochmals zu suchen und anzuzeigen. Um zu vermeiden, dass
versehentlich die falsche Platte gelöscht wird, können Sie das
- Disk-Info Menü verwenden. Dieses
Menü zeigt verschiedene Informationen, einschließlich der
Partitionstabelle, der Modelnummer und der Seriennummer,
falls verfügbar.Das Konfigurationsmenü von ZFS
ermöglicht es dem Benutzer auch, einen Namen für
den Pool zu vergeben, 4k Sektoren zu deaktivieren,
Tabellentypen zu aktivieren oder deaktivieren, zwischen
GPT (empfohlen) und MBR
zu wechseln und die Größe des Swap-Bereichs zu wählen. Wenn
alle Optionen auf die gewünschten Werte eingestellt sind,
wählen Sie >>> Install am
oberen Rand des Menüs.Wenn die GELI Plattenverschlüsselung
aktiviert wurde, fordert Sie das Installationsprogramm zweimal
zur Eingabe der Passphrase auf.Das Installationsprogramm bietet dann eine letzte Chance,
abzubrechen, bevor der Inhalt der ausgewählten Laufwerke
zerstört wird, um den neuen ZFS-Pool
zu erstellen.Danach wird die Installation normal weitergeführt.Shell Partitionierungbsdinstall bietet bei
fortgeschrittenen Installationen womöglich nicht die
benötigte Flexibilität. Erfahrene Benutzer können die
Option Shell im Menü auswählen, um
die Laufwerke manuell zu partitionieren, Dateisysteme zu
erstellen, /tmp/bsdinstall_etc/fstab zu
befüllen und Dateisysteme unter /mnt
einzuhängen. Geben Sie anschließend exit
ein, um zu bsdinstall
zurückzukehren und die Installation fortzusetzen.Die Installation festschreibenSobald die Platten konfiguriert sind, stellt das nächste
Menü die letzte Chance dar, Änderungen vorzunehmen, bevor die
ausgewählten Festplatten formatiert werden. Wenn Änderungen
vorgenommen werden müssen, wählen Sie
[ Back ] um zur Partitionierung
zurückzukehren.
[ Revert & Exit ]
wird das Installationsprogramm verlassen, ohne Änderungen an den
Festplatten vorzunehmen.Wählen Sie [ Commit ] und
drücken Sie Enter, um die eigentliche
Installation zu starten.Die Installationsdauer hängt von den gewählten
Distributionen, dem Installationsmedium und der Geschwindigkeit
des Computers ab. Eine Reihe von Nachrichten werden angezeigt,
um den Fortschritt darzustellen.Zunächst formatiert das Installationsprogramm die
ausgewählten Platten und initialisiert die Partitionen. Bei
einer bootonly-Installation werden als
nächstes die benötigten Komponenten heruntergeladen:Als nächstes wird die Integrität der Distributionsdateien
überprüft, um sicherzustellen, dass diese während des
Ladevorgangs nicht beschädigt oder unsauber vom
Installationsmedium gelesen wurden:Zum Schluss werden die überprüften Distributionsdateien auf
die Festplatte entpackt:Sobald alle benötigten Distributionsdateien entpackt wurden,
wird bsdinstall das erste Menü für
die Arbeiten nach der Installation anzeigen. Die zur Verfügung
stehenden Konfigurationsoptionen werden im nächsten Abschnitt
beschrieben.Arbeiten nach der InstallationSobald &os; installiert ist, fordert Sie
bsdinstall dazu auf, mehrere Optionen
zu konfigurieren, bevor das neu installierte System gebootet
wird. Die Konfigurationsoptionen werden in diesem Abschnitt
beschrieben.Nach einem Neustart des Systems bietet
bsdconfig eine menügestützte Konfiguration
dieser und weiterer Optionen.Setzen des root-PasswortsZuerst muss das root-Passwort gesetzt werden.
Die eingegebenen Zeichen werden dabei nicht auf dem Bildschirm
angezeigt. Nachdem das Passwort eingegeben wurde, muss es zur
Bestätigung erneut eingetippt werden. Damit werden auch
Tippfehler verhindert.Die Netzwerkschnittstelle konfigurierenAls nächstes wird eine Liste der gefundenen
Netzwerkschnittstellen gezeigt. Wählen Sie die
Schnittstelle aus, die Sie konfigurieren möchten.Die Menüs für die Netzwerkkonfiguration werden
übersprungen, falls dies bereits als Teil der
bootonly-Installation durchgeführt
worden ist.Wenn Sie eine Ethernet-Schnittstelle ausgewählt haben,
fährt das Installationsprogramm mit dem Menü aus fort. Wenn Sie
eine drahtlose Netzwerkschnittstelle ausgewählt haben, wird
das System nach drahtlosen Zugriffspunkten
(Access Points) suchen:Drahtlose Netzwerke werden durch einen Service Set
Identifier (SSID) identifiziert. Der
SSID ist ein kurzer, eindeutiger Name, der
für jedes Netzwerk vergeben wird. SSIDs,
die während des Scans gefunden wurden, werden aufgelistet,
gefolgt von einer Beschreibung der Verschlüsselungsarten, die
für dieses Netzwerk verfügbar sind. Falls die gewünschte
SSID nicht in der Liste auftaucht, wählen
Sie [ Rescan ], um erneut
einen Scanvorgang durchzuführen. Falls dann das gewünschte
Netzwerk immer noch nicht erscheint, überprüfen Sie die
Antenne auf Verbindungsprobleme oder versuchen Sie, näher an
den Access point zu gelangen. Scannen Sie erneut nach jeder
vorgenommenen Änderung.Geben Sie nun die Verschlüsselungsinformationen ein, um
sich mit dem drahtlosen Netzwerk zu verbinden.
WPA2 wird als Verschlüsselung dringend
empfohlen, da ältere Verschlüsselungsmethoden, wie
WEP, nur wenig Sicherheit bieten. Wenn
das Netzwerk WPA2 verwendet, geben Sie
das Passwort (auch bekannt als Pre-Shared Key
PSK) ein. Aus Sicherheitsgründen werden
die in das Eingabefeld eingegeben Zeichen nur als Sternchen
angezeigt.Wählen Sie, ob eine IPv4-Adresse auf
der Ethernet-Schnittstelle oder der drahtlosen Schnittstelle
konfiguriert werden soll.Es gibt zwei Arten, ein IPv4-Netzwerk
zu konfigurieren. DHCP wird automatisch
die Netzwerkschnittstelle richtig konfigurieren und sollte
verwendet werden, wenn das Netzwerk über einen
DHCP-Server verfügt. Eine
statische
IP-Konfiguration erfordert die
manuelle Eingabe von Netzwerkinformationen.Geben Sie keine zufällig gewählten
Netzwerkinformationen ein, da dies nicht funktionieren
wird. Holen Sie sich die in
gezeigten Informationen vom Netzwerkadministrator
oder Serviceprovider, falls kein
DHCP-Server verfügbar ist.Falls ein DHCP-Server zur Verfügung
steht, wählen Sie im nächsten Menü
[ Yes ], um die
Netzwerkschnittstelle automatisch einrichten zu lassen.
Dieser Vorgang kann einige Sekunden dauern.Wenn kein DHCP-Server zur Verfügung
steht, wählen Sie [ No ]
und tragen Sie die folgenden Informationen in das Menü
ein:IP Address - Die
IPv4-Adresse, welche diesem
Computer zugewiesen werden soll. Diese Adresse muss
eindeutig sein und darf nicht bereits von einem anderen
Gerät im lokalen Netzwerk verwendet werden.Subnet Mask - Die
Subnetzmaske des Netzwerks.Default Router - Die
IP-Adresse des Defaultrouters im
Netzwerk.Das nächste Menü fragt, ob die Schnittstelle für
IPv6 konfiguriert werden soll. Falls
IPv6 verfügbar ist und verwendet werden
soll, wählen Sie
[ Yes ] aus.IPv6 besitzt ebenfalls zwei Arten der
Konfiguration.
StateLess Address AutoConfiguration,
(SLAAC) wird automatisch die richtigen
Informationen von einem lokalen Router abfragen. Lesen Sie
http://tools.ietf.org/html/rfc4862 für weitere
Informationen. Eine statische
Konfiguration verlangt die manuelle Eingabe von
Netzwerkinformationen.Wenn ein IPv6-Router verfügbar ist,
wählen Sie im nächsten Menü
[ Yes ], um die
Netzwerkschnittstelle automatisch konfigurieren zu
lassen.Wenn kein IPv6-Router zur Verfügung
steht, wählen Sie [ No ]
und tragen Sie die folgenden Adressinformationen in dieses
Menü ein:IPv6 Address - Die zugewiesene
IPv6-Adresse, welche dem Computer
zugeteilt werden soll. Diese Adresse muss eindeutig sein
und nicht bereits von einer anderen Netzwerkkomponente im
lokalen Netzwerk verwendet werden.Default Router - Die
IPv6-Adresse des Defaultrouters im
Netzwerk.Das letzte Menü der Netzwerkkonfiguration konfiguriert
den Domain Name System
(DNS) Resolver, welcher Hostnamen von
und zu Netzwerkadressen umwandelt. Falls
DHCP oder SLAAC
verwendet wurde, um die Netzwerkschnittstelle zu
konfigurieren, ist die Konfiguration für den Resolver
möglicherweise bereits eingetragen. Andernfalls geben Sie
den lokalen Netzwerkdomänennamen in das Feld
Search ein. DNS #1
und DNS #2 sind die
IPv4- und/oder
IPv6-Adressen der lokalen
DNS-Server. Zumindest ein
DNS-Server wird benötigt.Setzen der ZeitzoneDas nächste Menü fragt, ob die Systemuhr
UTC oder die lokale Zeit verwendet.
Wenn Sie sich nicht sicher sind, wählen Sie
[ No ], um somit die
häufiger verwendete lokale Zeit zu setzen.Die nächsten Menüs werden verwendet, um die korrekte
Ortszeit zu ermitteln. Dazu muss die gewünschte geographische
Region, das Land und die Zeitzone ausgewählt werden. Das
Setzen der Zeitzone erlaubt es dem System automatische
Korrekturen vorzunehmen, beispielsweise beim Wechsel von
Sommer- auf Winterzeit.Das hier gezeigte Beispiel bezieht sich auf einen Rechner
in der östlichen Zeitzone der Vereinigten Staaten. Die
Auswahl wird von der geographischen Lage abhängig sein.Das passende Gebiet wird durch die Pfeiltasten und das
anschließende drücken von Enter
gewählt.Wählen Sie das zutreffende Land mit den Pfeiltasten und
durch anschließendes drücken von Enter
aus.Die passende Zeitzone wird durch die Pfeiltasten und
anschließendes drücken von Enter
ausgewählt.Bestätigen Sie, dass die Abkürzung für die Zeitzone
richtig ist. Wenn Ihnen diese richtig erscheint, drücken Sie
Enter, um mit dem Rest der Konfiguration
fortzufahren.Dienste aktivierenZusätzliche Systemdienste, die zur Startzeit aktiviert
werden sollen, können im folgenden Menü eingeschaltet werden.
All diese Dienste sind optional. Starten Sie nur die Dienste,
die zur korrekten Funktion des Systems benötigt werden.Die folgenden Dienste können über dieses Menü aktiviert
werden:sshd - Der Secure Shell
(SSH)-Daemon für Fernzugriff über eine
verschlüsselte Verbindung. Aktivieren Sie diesen Dienst
nur dann, wenn das System für Fernzugriff zur Verfügung
stehen soll.moused - Aktivieren Sie diesen
Dienst, wenn Sie Mausunterstützung auf der Systemkonsole
benötigen.ntpd - Der Network Time Protocol
(NTP)-Daemon zur automatischen
Uhrzeitsynchronisation. Aktivieren Sie diesen Dienst,
wenn es im Netzwerk einen &windows;-, Kerberos- oder
LDAP-Server gibt.powerd - Systemwerkzeug zur
Leistungsregelung und für Stromsparfunktionen.Absturzaufzeichnung aktivierenDas nächste Menü wird Sie fragen, ob
die Absturzaufzeichnung auf dem Zielsystem aktiviert werden
soll. Die Aktivierung von Absturzaufzeichnungen kann sehr
nützlich sein um Systemfehler aufzuspüren, deswegen wird
Anwendern empfohlen, diese zu aktivieren.Benutzer hinzufügenDas nächste Menü fordert Sie dazu auf, mindestens ein
Benutzerkonto zu erstellen. Es wird empfohlen, sich als
normaler Benutzer am System anzumelden und nicht als
root-Benutzer.
Wenn man als root angemeldet ist, gibt es
so gut wie keine Beschränkungen oder Schutz vor dem, was man
tun kann. Die Anmeldung als normaler Benutzer ist daher
sicherer und bietet mehr Schutz.Wählen Sie [ Yes ], um
neue Benutzer hinzuzufügen.Folgen Sie den Anweisungen und geben Sie die angeforderten
Informationen für das Benutzerkonto ein. Das Beispiel in
erstellt ein Konto für
den Benutzer asample.Die folgenden Informationen müssen eingegeben
werden:Username - Der Name des Benutzers,
den man zur Anmeldung eingeben muss. Es ist üblich, den
ersten Buchstaben des Vornamens zusammen mit dem Nachnamen
zu kombinieren. Jeder Benutzername ist möglich, solange
er für das System einzigartig ist. Es wird zwischen Groß-
und Kleinschreibung unterschieden und der Benutzername
sollte keine Leerzeichen enthalten.Full name - Der volle Name des
Benutzers. Dieser darf auch Leerzeichen enthalten und
dient als Beschreibung für das Benutzerkonto.Uid - User ID.
Normalerweise wird dieses Feld leer gelassen, so dass das
System einen Wert vergibt.Login group - Die Benutzergruppe.
Normalerweise bleibt dieses Feld leer, um die
Standardgruppe zu akzeptieren.Invite user into
other groups? - Zusätzliche Gruppen zu denen
der Benutzer als Mitglied hinzugefügt werden soll.
Falls der Benutzer administrativen Zugriff benötigt,
tragen Sie hier wheel ein.Login class - In der Regel bleibt
dieses Feld leer.Shell - Die interaktive Shell für
diesen Benutzer. Tragen Sie hier eine der aufgeführten
Shells ein. Weitere Informationen über Shells finden Sie
im .Home directory - Das
Heimatverzeichnis des Benutzers. Die Vorgabe ist für
gewöhnlich richtig.Home directory permissions -
Zugriffsrechte auf das Heimatverzeichnis des Benutzers.
Die Vorgabe ist normalerweise die passende.Use password-based authentication?
- Normalerweise yes, damit der Benutzer
bei der Anmeldung sein Passwort eingeben muss.Use an empty password? -
Normalerweise no, da ein leeres
Passwort unsicher ist.Use a random password? -
Normalerweise no, damit der
Benutzer sein Passwort am nächsten Prompt selber
vergeben kann.Enter password - Das Passwort für
diesen Benutzer. Eingegebene Zeichen werden nicht am
Bildschirm angezeigt.Enter password again - Das Passwort
muss zur Überprüfung erneut eingegeben werden.Lock out the account after
creation? - Normalerweise
no, damit sich der Benutzer anmelden
kann.Nachdem alles eingegeben wurde, wird eine Zusammenfassung
angezeigt und das System fragt Sie, dies so korrekt ist.
Falls ein Eingabefehler gemacht wurde, geben Sie
no ein und versuchen es erneut. Falls
alles in Ordnung ist, geben Sie yes ein, um
den neuen Benutzer anzulegen.Falls es mehr Benutzer hinzuzufügen gibt, beantworten Sie
die Frage Add another user? mit
yes. Geben Sie no ein,
wird das hinzufügen von Benutzern beendet und die Installation
fortgesetzt.Für weitere Informationen zum hinzufügen von
Benutzern und deren Verwaltung, lesen Sie .Letzte KonfigurationsschritteNachdem alles installiert und konfiguriert wurde, bekommen
Sie noch eine letzte Chance, um Einstellungen zu
verändern.Verwenden Sie dieses Menü, um noch letzte Änderungen oder
zusätzliche Konfigurationen vor dem Abschließen der
Installation zu tätigen.Add User - Beschrieben in
.Root Password - Beschrieben in
.Hostname - Beschrieben in
.Network - Beschrieben in
.Services - Beschrieben in
.Time Zone - Beschrieben in
.Handbook - Herunterladen und
installieren des &os; Handbuchs.Nachdem die letzten Konfigurationsschritte beendet sind,
wählen Sie Exit.bsdinstall wird nach
zusätzlichen Konfigurationen, die noch zu tätigen sind,
fragen, bevor in das neue System gebootet wird. Wählen Sie
[ Yes ], um in eine Shell
innerhalb des neuen Systems zu wechseln oder
[ No ], um mit dem letzten
Schritt der Installation zu beginnen.Wenn weitere Konfigurationen oder besondere Einstellungen
benötigt werden, wählen Sie
[ Live CD ], um das
Installationsmedium im Live-CD Modus zu
starten.Wenn die Installation vollständig ist, wählen Sie
[ Reboot ], um den Computer
neu zu starten und das neu installierte &os;-System zu booten.
Vergessen Sie nicht, das &os; Installationsmedium zu
entfernen, oder der Computer wird erneut davon starten.Wenn &os; startet, werden viele Informationsmeldungen
ausgegeben. Nachdem das System den Startvorgang abgeschlossen
hat, wird eine Anmeldeaufforderung angezeigt. Geben Sie am
login: den Benutzernamen ein, den Sie
während der Installation hinzugefügt haben. Vermeiden
Sie es, sich als root anzumelden. Lesen Sie
, wenn Sie
administrativen Zugriff benötigen.Um Nachrichten, die während des Bootens angezeigt
wurden, zu sehen, aktivieren Sie durch drücken von
Scroll-Lock den
scroll-back buffer. Die Tasten
PgUp, PgDn und die
Pfeiltasten dienen zur Navigation durch die Nachrichten.
Durch erneutes drücken von Scroll-Lock wird
der Bildschirm wieder entsperrt und kehrt zur normalen
Anzeige zurück. Mit
less /var/run/dmesg.boot können Sie sich
diese Nachrichten im laufenden Betrieb ansehen. Durch
drücken von q kehren Sie wieder zur
Kommandozeile zurück.Wenn sshd in aktiviert wurde, ist der
erste Start ein bisschen langsamer, weil das System die
RSA- und DSA-Schlüssel
erzeugen muss. Die nachfolgenden Startvorgänge werden dann
wieder schneller sein. Wie in diesem Beispiel zu sehen ist,
werden die Fingerabdrücke der Schlüssel am Bildschirm
ausgegeben: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:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
| o.. |
| o . . |
| . o |
| o |
| o S |
| + + o |
|o . + * |
|o+ ..+ . |
|==o..o+E |
+-----------------+
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:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
| .. . .|
| o . . + |
| . .. . E .|
| . . o o . . |
| + S = . |
| + . = o |
| + . * . |
| . . o . |
| .o. . |
+-----------------+
Starting sshd.Lesen Sie für weitere
Informationen zu Fingerabdrücken und
SSH.&os; installiert standardmäßig keine graphische
Umgebung. enthält Informationen zur
Installation und Konfiguration eines graphischen Window
Managers.Das korrekte herunterfahren eines &os;-Computers hilft,
beugt dem Datenverlust vor und schützt sogar die Hardware vor
Schäden. Schalten Sie nicht den Strom ab, bevor das
System ordnungsgemäß heruntergefahren wurde!
Wenn der Benutzer ein Mitglied der wheel-Gruppe ist, können Sie
zum Superuser durch die Eingabe von su und
der anschließenden Eingabe des Passworts von root werden. Geben Sie dann
shutdown -p now ein. Das System wird
jetzt sauber heruntergefahren und, falls die Hardware es
unterstützt, den Rechner ausschalten.FehlerbehebunginstallationtroubleshootingDieser Abschnitt behandelt einfache Fehlerbehebungen
für die Installation, wie beispielsweise häufig auftretende
Fehler, die von Anwendern berichtet wurden.Überprüfen Sie die Hardware Notes (
https://www.freebsd.org/releases/index.html) nach der
Version von &os;, um sicher zu stellen, dass die Hardware auch
unterstützt wird. Wenn die Hardware unterstützt wird und Sie
immer noch Abstürze oder andere Probleme erleben, müssen Sie
einen eigenen Kernel bauen. Diese Prozedur wird in beschrieben. Das erlaubt es,
Unterstützung für Geräte, die im
GENERIC-Kernel nicht vorhanden sind,
hinzuzufügen. Der Kernel ist mit der Annahme konfiguriert, dass
die Hardwaregeräte sich in ihren Fabrikeinstellungen in Bezug
auf IRQs, I/O-Adressen und
DMA-Kanälen befinden. Wenn die Hardware neu
konfiguriert wurde, werden Sie möglicherweise die Konfiguration
des Kernels bearbeiten und diesen neu erstellen müssen, um &os;
mitzuteilen, wo es gewisse Dinge finden kann.Manche Installationsprobleme können Aktualisierung der
Firmware auf verschiedenen Hardwarekomponenten verhindert
oder verringert werden, meistens am Mainboard. Mit
Mainboard-Firmware ist für gewöhnlich das
BIOS gemeint. Die meisten Mainboard- und
Computerhersteller haben eine Webseite mit Aktualisierungen
und Informationen zur Durchführung.Hersteller raten meist von einer Aktualisierung des
Mainboard-BIOS ab, außer es gibt einen
guten Grund dafür, wie beispielsweise eine kritische
Aktualisierung. Der Aktualisierungsvorgang
kann schiefgehen, was das
BIOS unvollständig macht und den Computer
nicht mehr starten lässt.Wenn das System während der Geräteerkennung beim
Starten hängt oder sich während der Installation merkwürdig
verhält, ist ACPI vielleicht der Übeltäter.
- &os; macht starken Gebrauch vom ACPI-Dienst
- des Systems auf den &arch.i386;-, &arch.amd64;- und
- ia64-Plattformen, um den System bei der Konfiguration während des
+ &os; macht auf &arch.i386;- und &arch.amd64;-Plattformen starken
+ Gebrauch vom ACPI-Dienst, um dem System bei
+ der Konfiguration während des
Startvorgangs zu helfen. Leider existieren immer noch Fehler im
ACPI-Treiber, in den Mainboards und der
BIOS-Firmware. ACPI kann
durch setzen der Einstellung
hint.acpi.0.disabled im dritten Teil des
Bootloaders deaktiviert werden:set hint.acpi.0.disabled="1"Dies wird nach jedem Neustart des Systems wieder
zurückgesetzt, also ist es notwendig, die Zeile
hint.acpi.0.disabled="1" zu der Datei
/boot/loader.conf hinzuzufügen. Weitere
Informationen über den Bootloader lassen sich in nachlesen.Verwendung der Live-CDDas Willkommensmenü von
bsdinstall, welches in
gezeigt wird, enthält
eine [ Live CD ] Option.
Die Live-CD ist für Benutzer, die sich
fragen, ob &os; das richtige Betriebssystem für sie ist und die
vor der Installation noch einige Merkmale und Eigenschaften
testen wollen.Die folgenden Punkte sollten beachtet werden, bevor die
[ Live CD ] benutzt
wird:Um Zugriff auf das System zu bekommen, wird eine
Authentifizierung benötigt. Der Benutzername ist
root und das
Kennwort bleibt leer.Da das System direkt von dem Installationsmedium
ausgeführt wird, ist die Geschwindigkeit deutlich
langsamer als bei einem System, das auf einer Festplatte
installiert ist.Diese Option enthält nur eine Eingabeaufforderung und
keine graphische Oberfläche.
Index: head/de_DE.ISO8859-1/books/handbook/config/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/config/chapter.xml (revision 53634)
+++ head/de_DE.ISO8859-1/books/handbook/config/chapter.xml (revision 53635)
@@ -1,3831 +1,3831 @@
Konfiguration und TuningChernLeeGeschrieben von MikeSmithNach einem Tutorium von MattDillonBasiert ebenfalls auf tuning(7) von MartinHeinenÜbersetzt von ÜbersichtSystem-KonfigurationSystem-OptimierungDie richtige Systemkonfiguration ist einer der wichtigsten
Aspekte unter &os;. Dieses Kapitel beschreibt die
Konfiguration von &os; sowie Maßnahmen zur Leistungssteigerung
von &os;-Systemen.Nachdem Sie dieses Kapitel durchgearbeitet haben,
werden Sie Folgendes wissen:Die Grundlagen der Konfiguration von
rc.conf und die Skripte zum Starten
von Anwendungen in
/usr/local/etc/rc.d.Wie Sie Netzwerkkarten konfigurieren und testen.Wie Sie virtuelle Hosts und Netzwerkgeräte
konfigurieren.Wie Sie die verschiedenen Konfigurationsdateien
in /etc benutzen.Wie Sie mit &os; mit &man.sysctl.8;-Variablen
einstellen können.Wie Sie die Platten-Performance einstellen und
Kernel-Parameter modifizieren können.Bevor Sie dieses Kapitel lesen, sollten Siedie Grundlagen von &unix; und
&os; () verstehen.Damit vertraut sein, wie Sie einen Kernel konfigurieren
und kompilieren ().Start von DienstenTomRhodesBeigetragen von DiensteViele Benutzer installieren Software Dritter auf &os;
mithilfe der Ports-Sammlung. Häufig soll die
Software bei einem Systemstart mitgestartet werden.
Beispielsweise sollen die Dienste
mail/postfix oder
www/apache22 nach
einem Systemstart laufen. Dieser Abschnitt stellt
die Startprozeduren für Software Dritter vor.Unter &os; werden die meisten der im System enthaltenen
Dienste wie &man.cron.8; mithilfe von Systemskripten
gestartet.Dienste über das rc.d-System
startenMit rc.d lässt sich der Start
von Anwendungen besser steuern und es sind mehr Funktionen
verfügbar. Mit den in
besprochenen Schlüsselwörtern können
Anwendungen in einer bestimmten Reihenfolge gestartet werden
und Optionen können in rc.conf statt fest
im Startskript der Anwendung festgelegt werden. Ein einfaches
Startskript sieht wie folgt aus:#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown
. /etc/rc.subr
name=utility
rcvar=utility_enable
command="/usr/local/sbin/utility"
load_rc_config $name
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
utility_enable=${utility_enable-"NO"}
pidfile=${utility_pidfile-"/var/run/utility.pid"}
run_rc_command "$1"Dieses Skript stellt sicher, dass
utility nach den
DAEMON-Pseudodiensten gestartet wird.
Es stellt auch eine Methode bereit, die
Prozess-ID (PID)
der Anwendung in einer Datei zu speichern.In /etc/rc.conf könnte für diese
Anwendung die folgende Zeile stehen:utility_enable="YES"Die Methode erleichtert den Umgang mit
Kommandozeilenargumenten, bindet Funktionen aus
/etc/rc.subr ein, ist kompatibel
zu &man.rcorder.8; und lässt sich über
rc.conf leichter konfigurieren.Andere Arten, um Dienste zu startenAndere Dienste können über &man.inetd.8; gestartet werden.
Die Konfiguration von &man.inetd.8; wird in ausführlich beschrieben.Systemdienste können auch mit &man.cron.8; gestartet
werden. Dieser Ansatz hat einige Vorteile; nicht zuletzt,
weil &man.cron.8; die Prozesse unter dem Eigentümer der
crontab startet, ist es möglich, dass
Dienste von normalen Benutzern gestartet und gepflegt werden
können.Für die Zeitangabe in &man.cron.8; kann
@reboot eingesetzt werden. Damit wird das
Kommando gestartet, wenn &man.cron.8; kurz nach dem Systemboot
gestartet wird.&man.cron.8; konfigurierenTomRhodesBeigetragen von cronkonfigurierenEin sehr nützliches Werkzeug von &os; ist
cron. Dieses Programm läuft im
Hintergrund und überprüft fortlaufend
/etc/crontab und
/var/cron/tabs. In diesen Dateien wird
festgelegt, welche Programme zu welchem Zeitpunkt von
cron ausgeführt werden sollen.
Jede Zeile in diesen Dateien definiert eine auszuführende
Aufgabe, die auch als Cronjob bezeichnet
wird.Das Werkzeug verwendet zwei verschiedene
Konfigurationsdateien: die System-crontab, welche nicht
verändert werden sollte und die Benutzer-crontabs, die nach
Bedarf erstellt und geändert werden können. Das Format, dass
von diesen beiden Dateien verwendet wird, ist in &man.crontab.5;
dokumentiert. Das Format der System-crontab in
/etc/crontab enthält das Feld
who, das in der Benutzer-crontab nicht
existiert. Dieses Feld gibt den Benutzer an, mit dem die
Aufgabe ausgeführt wird. Die Aufgaben in den Benutzer-crontabs
laufen unter dem Benutzer, der die crontab erstellt hat.Benutzer-crontabs erlauben es den Benutzern, ihre eigenen
Aufgaben zu planen. Der Benutzer root kann auch seine eigene
Benutzer-crontab haben, um Aufgaben zu planen, die nicht in der
System-crontab existieren.Hier ist ein Beispieleintrag aus der
System-crontab, /etc/crontab:# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD$
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#
#
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun Das Zeichen # am Zeilenanfang leitet
einen Kommentar
ein. Benutzen Sie Kommentare, um die Funktion eines
Eintrags zu erläutern. Kommentare müssen in einer extra
Zeile stehen. Sie können nicht in derselben Zeile wie ein
Kommando stehen, da sie sonst Teil des Kommandos wären.
Leerzeilen in dieser Datei werden ignoriert.Umgebungsvariablen werden mit dem Gleichheits-Zeichen
(=) festgelegt. Im Beispiel werden
die Variablen SHELL, PATH
und HOME definiert. Wenn die Variable
SHELL nicht definiert wird, benutzt
cron die Bourne Shell.
Wird die Variable PATH nicht gesetzt,
müssen alle Pfadangaben absolut sein, da es keinen
Vorgabewert für PATH gibt.In dieser Zeile werden sieben Felder der System-crontab
beschrieben: minute,
hour, mday,
month, wday,
who und command. Das
Feld minute legt die Minute fest in der
die Aufgabe ausgeführt wird, das Feld
hour die Stunde, das Feld
mday den Tag des Monats. Im Feld
month wird der Monat und im Feld
wday der Wochentag festgelegt. Alle
Felder müssen numerische Werte enthalten und die Zeitangaben
sind im 24-Stunden-Format. Das Zeichen *
repräsentiert dabei alle möglichen Werte für dieses Feld.
Das Feld who gibt es nur in der
System-crontab und gibt den Account an, unter dem das
Kommando laufen soll. Im letzten Feld wird schließlich das
auszuführende Kommando angegeben.Diese Zeile definiert die Werte für den Cronjob. Die
Zeichenfolge */5 gefolgt von mehreren
*-Zeichen bedeutet, dass
/usr/libexec/atrun von root alle fünf Minuten
aufgerufen wird.Bei den Kommandos können beliebig viele Optionen
angegeben werden. Wenn das Kommando zu lang ist und
auf der nächsten Zeile fortgesetzt werden soll,
muss am Ende der Zeile das Fortsetzungszeichen
(\) angegeben werden.Eine Benutzer-crontab erstellenRufen Sie crontab im Editor-Modus auf,
um eine Benutzer-crontab zu erstellen:&prompt.user; crontab -eDies wird die crontab des Benutzers mit dem
voreingestellten Editor öffnen. Wenn der Benutzer diesen
Befehl zum ersten Mal ausführt, wird eine leere Datei
geöffnet. Nachdem der Benutzer eine crontab erstellt hat,
wird die Datei mit diesem Kommando zur Bearbeitung
geöffnet.Es empfiehlt sich, die folgenden Zeilen an den Anfang der
crontab-Datei hinzuzufügen, um die Umgebungsvariablen zu
setzen und die einzelnen Felder zu beschreiben:SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
# Order of crontab fields
# minute hour mday month wday commandFügen Sie dann für jedes Kommando oder Skript eine Zeile
hinzu, mit der Angabe wann das Kommando ausgeführt werden
soll. In diesem Beispiel wird ein Bourne Shell Skript täglich
um 14:00 Uhr ausgeführt. Da der Pfad zum Skript nicht in
PATH enthalten ist, wird der vollständige
Pfad zum Skript angegeben:0 14 * * * /usr/home/dru/bin/mycustomscript.shBevor Sie ein eigenes Skript verwenden, stellen Sie
sicher, dass es ausführbar ist und dass es mit den wenigen
Umgebungsvariablen von cron
funktioniert. Um die Umgebung nachzubilden, die der obige
cron-Eintrag bei der Ausführung
verwenden würde, benutzen Sie dieses Kommando:&prompt.user; env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/dru LOGNAME=dru/usr/home/dru/bin/mycustomscript.shDie Umgebung von cron wird in
&man.crontab.5; beschrieben. Es ist wichtig, dass
sichergestellt wird, dass die Skripte in der Umgebung von
cron korrekt arbeiten, besonders
wenn Befehle enthalten sind, welche Dateien mit Wildcards
löschen.Wenn Sie mit der Bearbeitung der crontab fertig sind,
speichern Sie die Datei. Sie wird automatisch installiert
und cron wird die darin enthalten
Cronjobs zu den angegebenen Zeiten ausführen. Um die Cronjobs
in einer crontab aufzulisten, verwenden Sie diesen
Befehl:&prompt.user; crontab -l
0 14 * * * /usr/home/dru/bin/mycustomscript.shUm alle Cronjobs einer Benutzer-crontab zu löschen,
verwenden Sie diesen Befehl:&prompt.user; crontab -r
remove crontab for dru? yDienste unter &os; verwaltenTomRhodesBeigetragen von &os; verwendet die vom &man.rc.8;-System bereit gestellten
Startskripten beim Systemstart und für die Verwaltung von
Diensten. Die Skripte sind in /etc/rc.d
abgelegt und bieten grundlegende Dienste an, die über die
Optionen , und
des &man.service.8; Kommandos
kontrolliert werden können. Beispielsweise kann &man.sshd.8;
mit dem nachstehenden Kommando neu gestartet werden:&prompt.root; service sshd restartAnalog können Sie andere Dienste starten und stoppen.
Normalerweise werden die Dienste beim Systemstart über
Einträge in der Datei &man.rc.conf.5; automatisch gestartet.
&man.natd.8; wird zum Beispiel mit dem folgenden
Eintrag in /etc/rc.conf aktiviert:natd_enable="YES"Wenn dort bereits die Zeile
existiert, ändern Sie
in . Die
&man.rc.8;-Skripten starten, wie unten beschrieben, auch
abhängige Dienste.Da das &man.rc.8;-System primär
zum automatischen Starten und Stoppen von Systemdiensten
dient, funktionieren die Optionen ,
und nur,
wenn die entsprechenden Variablen in
/etc/rc.conf gesetzt sind. Beispielsweise
funktioniert sshd restart nur dann, wenn in
/etc/rc.conf die Variable
sshd_enable auf gesetzt
wurde. Wenn Sie die Optionen ,
oder
unabhängig von den Einstellungen in
/etc/rc.conf benutzen wollen,
müssen Sie den Optionen mit dem Präfix
one verwenden. Um beispielsweise
sshd unabhängig von den
Einstellungen in /etc/rc.conf neu
zu starten, benutzen Sie das nachstehende Kommando:&prompt.root; service sshd onerestartOb ein Dienst in /etc/rc.conf
aktiviert ist, können Sie herausfinden, indem
Sie das entsprechende &man.rc.8;-Skript
mit der Option aufrufen. Dieses Beispiel
prüft, ob der sshd-Dienst in
/etc/rc.conf aktiviert ist:&prompt.root; service sshd rcvar
# sshd
#
sshd_enable="YES"
# (default: "")Die Zeile # sshd wird von dem Kommando
ausgegeben; sie kennzeichnet nicht die Eingabeaufforderung von
root.Ob ein Dienst läuft, kann mit
abgefragt werden. Das folgende
Kommando überprüft, ob sshd
auch wirklich gestartet wurde:&prompt.root; service sshd status
sshd is running as pid 433.Einige Dienste können über die Option
neu initialisiert werden. Dazu wird
dem Dienst über ein Signal mitgeteilt,
dass er seine Konfigurationsdateien neu einlesen soll.
Oft wird dazu das Signal SIGHUP
verwendet. Beachten Sie aber, dass nicht alle Dienste diese
Option unterstützen.Die meisten Systemdienste werden beim Systemstart vom
&man.rc.8;-System gestartet. Zum Beispiel aktiviert das Skript
/etc/rc.d/bgfsck die Prüfung von
Dateisystemen im Hintergrund. Das Skript gibt die folgende
Meldung aus, wenn es gestartet wird:Starting background file system checks in 60 seconds.Dieses Skript wird während des Systemstarts ausgeführt und
führt eine Überprüfung der Dateisysteme im Hintergrund
durch.Viele Systemdienste hängen von anderen Diensten
ab. &man.yp.8; und andere RPC-basierende Systeme hängen
beispielsweise von dem rpcbind-Dienst
ab. Im Kopf der Startskripten befinden sich
die Informationen über Abhängigkeiten von anderen
Diensten und weitere Metadaten. Mithilfe dieser Daten
bestimmt das Programm &man.rcorder.8; beim Systemstart die
Startreihenfolge der Dienste.Folgende Schlüsselwörter müssen im Kopf aller Startskripten
verwendet werden, da sie von &man.rc.subr.8; zum
Aktivieren des Startskripts benötigt
werden:PROVIDE: Gibt die Namen der Dienste
an, die mit dieser Datei zur Verfügung gestellt
werden.Die folgenden Schlüsselwörter können im Kopf
des Startskripts angegeben werden. Sie sind zwar nicht
unbedingt notwendig, sind aber hilfreich beim Umgang mit
&man.rcorder.8;:REQUIRE: Gibt die Namen der Dienste
an, von denen dieser Dienst abhängt. Ein Skript, das dieses
Schlüsselwort enthält wird nach den
angegebenen Diensten ausgeführt.BEFORE: Zählt Dienste auf,
die auf diesen Dienst angewiesen sind. Ein Skript, dass
dieses Schlüsselwort enthält wird vor
den angegebenen Diensten ausgeführt.Durch das Verwenden dieser Schlüsselwörter kann
ein Administrator die Startreihenfolge von Systemdiensten
feingranuliert steuern, ohne mit den
Schwierigkeiten des runlevel-Systems
anderer &unix; Systeme kämpfen zu müssen.Weitere Informationen über das
&man.rc.8;-System finden Sie in &man.rc.8; und
&man.rc.subr.8;. Wenn Sie eigene
rc.d-Skripte schreiben wollen, sollten Sie
diesen Artikel lesen.Systemspezifische Konfigurationrc-Dateienrc.confInformationen zur Systemkonfiguration sind hauptsächlich
in /etc/rc.conf, die meist beim Start
des Systems verwendet wird, abgelegt. Sie enthält die
Konfigurationen für die
rc* Dateien.In rc.conf werden die Vorgabewerte
aus /etc/defaults/rc.conf überschrieben.
Die Vorgabedatei sollte nicht editiert werden. Stattdessen
sollten alle systemspezifischen Änderungen in
rc.conf vorgenommen werden.Um den administrativen Aufwand gering zu halten,
existieren in geclusterten Anwendungen mehrere Strategien,
globale Konfigurationen von systemspezifischen Konfigurationen
zu trennen. Der empfohlene Weg hält die globale Konfiguration
in einer separaten Datei z.B.
/etc/rc.conf.local. Zum Beispiel
so:/etc/rc.conf:sshd_enable="YES"
keyrate="fast"
defaultrouter="10.1.1.254"/etc/rc.conf.local:hostname="node1.example.org"
ifconfig_fxp0="inet 10.1.1.1/8"/etc/rc.conf kann dann auf jedes
System mit rsync oder
puppet verteilt werden,
während /etc/rc.conf.local dabei
systemspezifisch bleibt.Bei einem Upgrade des Systems wird
/etc/rc.conf nicht überschrieben, so dass
die Systemkonfiguration erhalten bleibt./etc/rc.conf und
/etc/rc.conf.local werden von
&man.sh.1; gelesen. Dies erlaubt es dem
Systemadministrator, komplexe Konfigurationsszenarien zu
erstellen. Lesen Sie &man.rc.conf.5;, um weitere
Informationen zu diesem Thema zu erhalten.Einrichten von NetzwerkkartenMarcFonvieilleBeigetragen von NetzwerkkarteneinrichtenDie Konfiguration einer Netzwerkkarte gehört zu
den alltäglichen Aufgaben eines &os; Administrators.Bestimmen des richtigen TreibersNetzwerkkartenTreiberErmitteln Sie zunächst das Modell der Netzwerkkarte und
den darin verwendeten Chip. &os; unterstützt eine Vielzahl
von Netzwerkkarten. Prüfen Sie die
Hardware-Kompatibilitätsliste für das &os; Release, um zu
sehen ob die Karte unterstützt wird.Wenn die Karte unterstützt wird, müssen Sie den Treiber
für die Karte bestimmen.
/usr/src/sys/conf/NOTES und
/usr/src/sys/arch/conf/NOTES
enthalten eine Liste der verfügbaren Treiber mit Informationen
zu den unterstützten Chipsätzen. Wenn Sie sich nicht
sicher sind, ob Sie den richtigen Treiber ausgewählt haben,
lesen Sie die Hilfeseite des Treibers. Sie enthält weitere
Informationen über die unterstützten Geräte und bekannte
Einschränkungen des Treibers.Die Treiber für gebräuchliche Netzwerkkarten sind schon im
GENERIC-Kernel enthalten, so dass die
Karte während des Systemstarts erkannt werden sollte. Die
Systemmeldungen können Sie sich mit
more /var/run/dmesg.boot ansehen. Mit der
Leertaste können Sie durch den Text blättern. In diesem
Beispiel findet das System zwei Karten, die den
&man.dc.4;-Treiber benutzen:dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
miibus0: <MII bus> on dc0
bmtphy0: <BCM5201 10/100baseTX PHY> PHY 1 on miibus0
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc0: Ethernet address: 00:a0:cc:da:da:da
dc0: [ITHREAD]
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
miibus1: <MII bus> on dc1
bmtphy1: <BCM5201 10/100baseTX PHY> PHY 1 on miibus1
bmtphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: Ethernet address: 00:a0:cc:da:da:db
dc1: [ITHREAD]Ist der Treiber für die Netzwerkkarte nicht
in GENERIC enthalten, muss zunächst
ein Treiber geladen werden, um die Karte konfigurieren und
benutzen zu können. Dafür gibt es zwei Methoden:Am einfachsten ist es, das Kernelmodul für
die Karte mit &man.kldload.8; zu laden. Um den Treiber
automatisch beim Systemstart zu laden, fügen Sie die
entsprechende Zeile in
/boot/loader.conf ein. Es gibt nicht
für alle Karten Kernelmodule.Alternativ kann der Treiber für die Karte fest in den
Kernel eingebunden werden. Lesen Sie dazu
/usr/src/sys/conf/NOTES,
/usr/src/sys/arch/conf/NOTES
und die Hilfeseite des Treibers, den Sie in den Kernel
einbinden möchten, an. Die Übersetzung des Kernels
wird in beschrieben. Wenn
die Karte während des Systemstarts vom Kernel erkannt
wurde, muss der Kernel nicht neu übersetzt werden.&windows;-NDIS-Treiber
einsetzenNDISNDISulator&windows;-Treiberµsoft.windows;GerätetreiberKLD
(kernel loadable object)Leider stellen nach wie vor viele Unternehmen die
Spezifikationen ihrer Treiber der Open Source Gemeinde
nicht zur Verfügung, weil sie diese Informationen
als Geschäftsgeheimnisse betrachten. Daher haben die
Entwickler von &os; und anderen Betriebssystemen nur
zwei Möglichkeiten. Entweder versuchen sie in einem
aufwändigen Prozess den Treiber durch
Reverse Engineering
nachzubauen, oder sie versuchen, die vorhandenen
Binärtreiber der µsoft.windows;-Plattform zu
verwenden.&os; bietet native Unterstützung für die
Network Driver Interface
Specification (NDIS).
&man.ndisgen.8; wird benutzt, um einen &windowsxp;-Treiber
in ein Format zu konvertieren, das von &os; verwendet werden
kann. Da der &man.ndis.4;-Treiber einen
&windowsxp;-Binärtreiber nutzt, kann er nur auf &i386;- und
amd64-Systemen verwendet werden. Unterstützt werden
PCI, CardBus, PCMCIA
und USB-Geräte.Um den NDISulator zu verwenden, benötigen Sie drei
Dinge:Die &os; KernelquellenDen &windowsxp;-Binärtreiber mit der Erweiterung
.SYSDie Konfigurationsdatei des &windowsxp;-Treibers
mit der Erweiterung .INFLaden Sie die .SYS- und
.INF-Dateien für die Karte. Diese
befinden sich meistens auf einer beigelegten CD-ROM, oder
können von der Internetseite des Herstellers
heruntergeladen werden. In den folgenden Beispielen werden
die Dateien W32DRIVER.SYS und
W32DRIVER.INF verwendet.Die Architektur des Treibers muss zur jeweiligen
Version von &os; passen. Benutzen Sie einen &windows;
32-bit Treiber für &os;/i386. Für &os;/amd64 wird ein
&windows; 64-bit Treiber benötigt.Als Nächstes kompilieren Sie den binären Treiber, um ein
Kernelmodul zu erzeugen. Dazu rufen Sie als
root
&man.ndisgen.8; auf:&prompt.root; ndisgen /path/to/W32DRIVER.INF/path/to/W32DRIVER.SYSDieses Kommando arbeitet interaktiv, benötigt es weitere
Informationen, so fragt es Sie danach. Das Ergebnis ist ein
neu erzeugtes Kernelmodul im aktuellen Verzeichnis.
Benutzen Sie &man.kldload.8; um das neue Modul zu
laden:&prompt.root; kldload ./W32DRIVER.koNeben dem erzeugten Kernelmodul müssen auch die
Kernelmodule ndis.ko und
if_ndis.ko geladen werden. Dies
passiert automatisch, wenn Sie ein von &man.ndis.4;
abhängiges Modul laden. Andernfalls können die Module mit
den folgenden Kommandos manuell geladen werden:&prompt.root; kldload ndis
&prompt.root; kldload if_ndisDer erste Befehl lädt den &man.ndis.4;-Miniport-Treiber,
der zweite das tatsächliche Netzwerkgerät.Überprüfen Sie die Ausgabe von &man.dmesg.8;
auf eventuelle Fehler während des Ladevorgangs. Gab es
dabei keine Probleme, sollte die Ausgabe wie folgt
aussehen:ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54MbpsAb jetzt kann das Gerät ndis0 wie
jede andere Netzwerkkarte konfiguriert werden.Um die &man.ndis.4;-Module automatisch beim Systemstart
zu laden, kopieren Sie das erzeugte Modul
W32DRIVER_SYS.ko nach
/boot/modules. Danach fügen Sie die
folgende Zeile in /boot/loader.conf
ein:W32DRIVER_SYS_load="YES"Konfiguration von NetzwerkkartenNetzwerkkarteneinrichtenNachdem der richtige Treiber für die Karte geladen ist,
muss die Karte konfiguriert werden. Unter Umständen ist
die Karte schon während der Installation mit
&man.bsdinstall.8; konfiguriert worden.Das nachstehende Kommando zeigt die Konfiguration der
Netzwerkkarten an:&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80008<VLAN_MTU,LINKSTATE>
ether 00:a0:cc:da:da:da
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8802<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80008<VLAN_MTU,LINKSTATE>
ether 00:a0:cc:da:da:db
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet 10baseT/UTP
status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>Im Beispiel werden Informationen zu den folgenden Geräten
angezeigt:dc0: Der erste
Ethernet-Adapter.dc1: Der zweite
Ethernet-Adapter.lo0: Das Loopback-Gerät.Der Name der Netzwerkkarte wird aus dem Namen des Treibers
und einer Zahl zusammengesetzt. Die Zahl gibt die Reihenfolge
an, in der die Geräte beim Systemstart erkannt wurden. Die
dritte Karte, die den &man.sis.4; Treiber benutzt, würde
beispielsweise sis2 heißen.Der Adapter dc0 aus dem Beispiel ist
aktiv. Sie erkennen das an den folgenden Hinweisen:UP bedeutet, dass die Karte
konfiguriert und aktiv ist.Der Karte wurde die Internet-Adresse
(inet)
192.168.1.3
zugewiesen.Die Subnetzmaske ist richtig
(0xffffff00
entspricht 255.255.255.0).Die Broadcast-Adresse
192.168.1.255
ist richtig.Die MAC-Adresse der Karte (ether)
lautet
00:a0:cc:da:da:da.Die automatische Medienerkennung ist aktiviert
(media: Ethernet autoselect (100baseTX
<full-duplex>)). Der Adapter
dc1 benutzt das Medium
10baseT/UTP. Weitere Informationen
über die einstellbaren Medien entnehmen
Sie der Hilfeseite des Treibers.Der Verbindungsstatus (status) ist
active, das heißt es wurde ein
Trägersignal entdeckt. Für dc1 wird
status: no carrier angezeigt. Das ist
normal, wenn kein Kabel an der Karte angeschlossen
ist.Wäre die Karte nicht konfiguriert, würde die Ausgabe
von &man.ifconfig.8; so aussehen:dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80008<VLAN_MTU,LINKSTATE>
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: activeDie Karte muss als Benutzer root konfiguriert werden. Die
Konfiguration kann auf der Kommandozeile mit &man.ifconfig.8;
erfolgen. Allerdings gehen diese Informationen bei einem
Neustart verloren. Tragen Sie stattdessen die Konfiguration
in /etc/rc.conf ein. Wenn es im
LAN einen DHCP-Server
gibt, fügen Sie einfach folgende Zeile hinzu:ifconfig_dc0="DHCP"Ersetzen Sie >dc0 durch die
richtigen Werte für das System.Nachdem Sie die Zeile hinzugefügt haben, folgen Sie den
Anweisungen in .Wenn das Netzwerk während der Installation konfiguriert
wurde, existieren vielleicht schon Einträge für die
Netzwerkkarte(n). Überprüfen Sie
/etc/rc.conf bevor Sie weitere Zeilen
hinzufügen.Falls kein DHCP-Server zur Verfügung
steht, müssen die Netzwerkkarten manuell konfiguriert werden.
Fügen Sie für jede Karte im System eine Zeile hinzu, wie in
diesem Beispiel zu sehen:ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"Ersetzen Sie dc0 und
dc1 und die
IP-Adressen durch die richtigen Werte für
das System. Die Manualpages des Treibers, &man.ifconfig.8;
und &man.rc.conf.5; enthalten weitere Einzelheiten über
verfügbare Optionen und die Syntax von
/etc/rc.conf.Wenn das Netzwerk kein DNS benutzt,
können Sie in /etc/hosts die Namen und
IP-Adressen der Rechner des
LANs eintragen. Weitere Informationen
entnehmen Sie &man.hosts.5; und
/usr/share/examples/etc/hosts.Falls kein DHCP-Server zur Verfügung
steht, Sie aber Zugang zum Internet benötigen, müssen Sie
das Standard-Gateway und die Nameserver manuell
konfigurieren:&prompt.root; echo 'defaultrouter="Ihr_Default_Gateway"' >> /etc/rc.conf
&prompt.root; echo 'nameserver Ihr_DNS_Server' >> /etc/resolv.confTest und FehlersucheNachdem die notwendigen Änderungen in
/etc/rc.conf gespeichert wurden, kann das
System neu gestartet werden, um die Konfiguration zu testen
und zu überprüfen, ob das System ohne Fehler neu gestartet
wurde. Alternativ können Sie mit folgenden Befehl die
Netzwerkeinstellungen neu initialisieren:&prompt.root; service netif restartFalls in /etc/rc.conf ein
Default-Gateway definiert wurde, müssen Sie auch den
folgenden Befehl ausführen:&prompt.root; service routing restartWenn das System gestartet ist, sollten Sie die
Netzwerkkarten testen.Test der Ethernet-KarteNetzwerkkartentestenUm zu prüfen, ob die Ethernet-Karte richtig konfiguriert
ist, testen Sie zunächst mit &man.ping.8; den Adapter selbst
und sprechen Sie dann eine andere Maschine im
LAN an.Zuerst, der Test des Adapters:&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 msUm die Namensauflösung zu testen, verwenden Sie den
Namen der Maschine anstelle der
IP-Adresse. Wenn kein
DNS-Server im Netzwerk vorhanden ist,
muss /etc/hosts entsprechend
eingerichtet sein. Fügen Sie dazu die Namen und
IP-Adressen der Rechner im
LAN in /etc/hosts
hinzu, falls sie nicht bereits vorhanden sind. Weitere
Informationen finden Sie in &man.hosts.5; und
/usr/share/examples/etc/hosts.FehlersucheNetzwerkkartenFehlersucheFehler zu beheben, ist immer sehr mühsam.
Indem Sie die einfachen Sachen zuerst prüfen,
erleichtern Sie sich die Aufgabe. Steckt das Netzwerkkabel?
Sind die Netzwerkdienste richtig konfiguriert? Funktioniert
die Firewall? Wird die Netzwerkkarte von &os;
unterstützt? Lesen Sie immer die Hardware-Informationen
des Releases, bevor Sie einen Fehlerbericht einsenden.
Aktualisieren Sie die &os;-Version auf die neueste -STABLE
Version. Suchen Sie in den Archiven der Mailinglisten
und im Internet nach bekannten Lösungen.Wenn die Karte funktioniert, die Verbindungen aber
zu langsam sind, sollten Sie &man.tuning.7; lesen. Prüfen
Sie auch die Netzwerkkonfiguration, da falsche Einstellungen
die Ursache für langsame Verbindungen sein können.Wenn Sie viele device timeout
Meldungen in den Systemprotokollen finden, prüfen
Sie, dass es keinen Konflikt zwischen der Netzwerkkarte
und anderen Geräten des Systems gibt.
Überprüfen Sie nochmals die Verkabelung.
Unter Umständen benötigen Sie eine andere
Netzwerkkarte.Bei watchdog timeout
Fehlermeldungen, kontrollieren Sie zuerst die Verkabelung.
Überprüfen Sie dann, ob der
PCI-Steckplatz der
Karte Bus Mastering unterstützt. Auf einigen
älteren Motherboards ist das nur für einen
Steckplatz (meistens Steckplatz 0) der Fall. Lesen Sie
in der Dokumentation der Karte und des Motherboards
nach, ob das vielleicht die Ursache des Problems sein
könnte.Die Meldung No route to host
erscheint, wenn das System ein Paket nicht zustellen
kann. Das kann vorkommen weil beispielsweise keine
Default-Route gesetzt wurde oder das Netzwerkkabel
nicht richtig steckt. Schauen Sie in der Ausgabe
von netstat -rn nach, ob eine
gültige Route zu dem Zielsystem existiert. Wenn nicht,
lesen Sie .Die Meldung ping: sendto: Permission
denied wird oft von einer falsch
konfigurierten Firewall verursacht. Wenn keine Regeln
definiert wurden, blockiert eine aktivierte Firewall alle
Pakete, selbst einfache &man.ping.8;-Pakete.
Weitere Informationen erhalten Sie
in .Falls die Leistung der Karte schlecht ist, setzen
Sie die Medienerkennung von autoselect
(automatisch) auf das richtige Medium. In vielen Fällen
löst diese Maßnahme Leistungsprobleme. Wenn
nicht, prüfen Sie nochmal die Netzwerkeinstellungen
und lesen Sie &man.tuning.7;.Virtual Hostsvirtual hostsIP-AliaseEin gebräuchlicher Zweck von &os; ist das
virtuelle Hosting, bei dem ein Server im Netzwerk wie
mehrere Server aussieht. Dies wird dadurch erreicht,
dass einem Netzwerkinterface mehrere Netzwerk-Adressen
zugewiesen werden.Ein Netzwerkinterface hat eine echte
Adresse und kann beliebig viele alias Adressen
haben. Die Aliase werden durch entsprechende alias Einträge
in /etc/rc.conf festgelegt, wie in diesem
Beispiel zu sehen ist:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"Beachten Sie, dass die Alias-Einträge mit
alias0 anfangen
müssen und weiter hochgezählt werden, das heißt
alias1, alias2, und so
weiter. Die Konfiguration der Aliase hört bei der ersten
fehlenden Zahl auf.Die Berechnung der Alias-Netzwerkmasken ist wichtig. Für
jedes Interface muss es eine Adresse geben, die die
Netzwerkmaske des Netzwerkes richtig beschreibt. Alle anderen
Adressen in diesem Netzwerk haben dann eine Netzwerkmaske, die
mit 1 gefüllt ist, also 255.255.255.255 oder hexadezimal
0xffffffff.Als Beispiel betrachten wir den Fall, in dem
fxp0 mit zwei Netzwerken verbunden
ist: dem Netzwerk
10.1.1.0 mit der
Netzwerkmaske
255.255.255.0 und dem
Netzwerk 202.0.75.16
mit der Netzwerkmaske
255.255.255.240. Das
System soll die Adressen
10.1.1.1 bis
10.1.1.5 und
202.0.75.17 bis
202.0.75.20 belegen.
Nur die erste Adresse in einem Netzwerk sollte die richtige
Netzwerkmaske haben. Alle anderen Adressen
(10.1.1.2 bis
10.1.1.5 und
202.0.75.18 bis
202.0.75.20) müssen
die Maske
255.255.255.255 erhalten.Die folgenden Einträge in
/etc/rc.conf konfigurieren den Adapter
entsprechend dem Beispiel:ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"Dies kann mit einer durch Leerzeichen getrennten Liste
von IP-Adressbereichen auch einfacher
ausgedrückt werden. Die erste Adresse hat wieder die angegebene
Netzwerkmaske und die zusätzlichen Adressen haben die
Netzwerkmaske 255.255.255.255.ifconfig_fxp0_aliases="inet 10.1.1.1-5/24 inet 202.0.75.17-20/28"Konfiguration der SystemprotokollierungNiclasZeisingBeigetragen von system loggingsyslog&man.syslogd.8;Die Aufzeichnung und Kontrolle von Log-Meldungen ist ein
wichtiger Aspekt der Systemadministration. Die Informationen
werden nicht nur verwendet um Hard- und Softwarefehler ausfindig
zu machen, auch zur Überwachung der Sicherheit und der Reaktion
bei einem Zwischenfall spielen diese Aufzeichnungen eine
wichtige Rolle. Die meisten Systemdienste und Anwendungen
erzeugen Log-Meldungen.&os; stellt mit syslogd ein
Werkzeug zur Verwaltung von Protokollen bereit. In der
Voreinstellung wird syslogd beim
Booten automatisch gestartet. Dieses Verhalten wird über die
Variable syslogd_enable in
/etc/rc.conf gesteuert. Dazu gibt es noch
zahlreiche Argumente, die in der Variable
syslogd_flags in
/etc/rc.conf gesetzt werden können. Lesen
Sie &man.syslogd.8; für weitere Informationen über die
verfügbaren Argumente.Dieser Abschnitt beschreibt die Konfiguration und Verwendung
des &os; Protokollservers, und diskutiert auch die Log-Rotation
und das Management von Logdateien.Konfiguration der lokalen Protokollierungsyslog.confDie Konfigurationsdatei
/etc/syslog.conf steuert, was
syslogd mit Log-Meldungen macht,
sobald sie empfangen werden. Es gibt verschiedene Parameter,
die das Verhalten bei eingehenden Ereignissen kontrollieren.
facility beschreibt das
Subsystem, welches das Ereignis generiert hat. Beispielsweise
der Kernel, oder ein Daemon.
level hingegen beschreibt den
Schweregrad des aufgetretenen Ereignisses. Dies macht es
möglich, Meldungen in verschiedenen Logdateien zu
protokollieren, oder Meldungen zu verwerfen, je nach
Konfiguration von facility und
level. Ebenfalls besteht die
Möglichkeit auf Meldungen zu reagieren, die von einer
bestimmten Anwendung stammen, oder von einem
spezifischen Host erzeugt wurden.Die Konfigurationsdatei von &man.syslogd.8; enthält für
jede Aktion eine Zeile. Die Syntax besteht aus einem
Auswahlfeld, gefolgt von einem Aktionsfeld. Die Syntax für
das Auswahlfeld ist facility.level.
Dies entspricht Log-Meldungen von
facility mit einem Level von
level oder höher. Um noch präziser
festzulegen was protokolliert wird, kann dem Level optional
ein Vergleichsflag vorangestellt werden. Mehrere Auswahlen
können, durch Semikolon (;) getrennt, für
die gleiche Aktion verwendet werden. *
wählt dabei alles aus. Das Aktionsfeld definiert, wohin die
Log-Meldungen gesendet werden, beispielsweise in eine Datei
oder zu einem entfernten Log-Server. Als Beispiel dient hier
/etc/syslog.conf aus &os;:# $&os;$
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you$
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
!-devd
*.=debug /var/log/debug.log
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
# Uncomment this if you wish to see messages produced by devd
# !devd
# *.>=info
!ppp
*.* /var/log/ppp.log
!*In diesem Beispiel:Zeile 8 selektiert alle Meldungen vom Level
err, sowie
kern.warning,
auth.notice und
mail.crit und schickt diese zur Konsole
(/dev/console).Zeile 12 selektiert alle Meldungen von
mail ab dem Level
info oder höher und schreibt diese in
/var/log/maillog.Zeile 17 benutzt ein Vergleichsflag
(=), um nur Meldungen vom Level
debug zu selektieren und schreibt
diese in /var/log/debug.log.Zeile 33 zeigt ein Beispiel für die Nutzung einer
Programmspezifikation. Die
nachfolgenden Regeln sind dann nur für Programme gültig,
welche der Programmspezifikation stehen. In diesem Fall
werden alle Meldungen von ppp
(und keinem anderen Programm) in
/var/log/ppp.log geschrieben.Die verfügbaren level,
beginnend mit den höchst kritischen, hin zu den weniger
kritischen, sind:
emerg, alert,
crit, err,
warning, notice,
info und
debug.Die facilities, in
beliebiger Reihenfolge, sind: auth,
authpriv, console,
cron, daemon,
ftp, kern,
lpr, mail,
mark, news,
security, syslog,
user, uucp, sowie
local0 bis local7.
Beachten Sie, dass andere Betriebssysteme hiervon abweichende
facilities haben
können.Um alle Meldungen vom Level notice und
höher in /var/log/daemon.log zu
protokollieren, fügen Sie folgenden Eintrag hinzu:daemon.notice /var/log/daemon.logFür weitere Informationen zu verschiedenen Level und
faclilities, lesen Sie
&man.syslog.3; und &man.syslogd.8;. Weitere Informationen
zu /etc/syslog.conf, dessen Syntax und
erweiterten Anwendungsbeispielen, finden Sie in
&man.syslog.conf.5;.Management und Rotation von Logdateiennewsyslognewsyslog.conflog rotationlog managementLogdateien können schnell wachsen und viel Speicherplatz
belegen, was es schwieriger macht, nützliche Informationen
zu finden. Log-Management versucht,
diesen Effekt zu mildern. &os; verwendet
newsyslog für die Verwaltung von
Logdateien. Dieses in &os; integrierte Programm
rotiert und komprimiert in regelmäßigen Abständen Logdateien.
Optional kann es auch fehlende Logdateien erstellen und
Programme benachrichtigen, wenn Logdateien verschoben wurden.
Die Logdateien können von syslogd
oder einem anderen Programm generiert werden. Obwohl
newsyslog normalerweise von
&man.cron.8; aufgerufen wird, ist es kein Systemdämon. In der
Standardkonfiguration wird dieser Job jede Stunde
ausgeführt.Um zu wissen, welche Maßnahmen zu ergreifen sind, liest
newsyslog seine Konfigurationsdatei
/etc/newsyslog.conf. Diese
Konfigurationsdatei enthält eine Zeile für jede Datei, die von
newsyslog verwaltet wird. Jede
Zeile enthält Informationen über den Besitzer der Datei, die
Dateiberechtigungen, wann die Datei rotiert wird, optionale
Flags, welche die Log-Rotation
beeinflussen (bspw. Komprimierung) und Programme, denen ein
Signal geschickt wird, wenn Logdateien rotiert werden. Hier
folgt die Standardkonfiguration in &os;:# configuration file for newsyslog
# $FreeBSD$
#
# Entries which do not specify the '/pid_file' field will cause the
# syslogd process to be signalled when that log file is rotated. This
# action is only appropriate for log files which are written to by the
# syslogd process (ie, files listed in /etc/syslog.conf). If there
# is no process which needs to be signalled when a given log file is
# rotated, then the entry for that file should include the 'N' flag.
#
# The 'flags' field is one or more of the letters: BCDGJNUXZ or a '-'.
#
# Note: some sites will want to select more restrictive protections than the
# defaults. In particular, it may be desirable to switch many of the 644
# entries to 640 or 600. For example, some sites will consider the
# contents of maillog, messages, and lpd-errs to be confidential. In the
# future, these defaults may change to more conservative ones.
#
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/all.log 600 7 * @T00 J
/var/log/amd.log 644 7 100 * J
/var/log/auth.log 600 7 100 @0101T JC
/var/log/console.log 600 5 100 * J
/var/log/cron 600 3 100 * JC
/var/log/daily.log 640 7 * @T00 JN
/var/log/debug.log 600 7 100 * JC
/var/log/kerberos.log 600 7 100 * J
/var/log/lpd-errs 644 7 100 * JC
/var/log/maillog 640 7 * @T00 JC
/var/log/messages 644 5 100 @0101T JC
/var/log/monthly.log 640 12 * $M1D0 JN
/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid
/var/log/ppp.log root:network 640 3 100 * JC
/var/log/devd.log 644 3 100 * JC
/var/log/security 600 10 100 * JC
/var/log/sendmail.st 640 10 * 168 B
/var/log/utx.log 644 3 * @01T05 B
/var/log/weekly.log 640 5 1 $W6D0 JN
/var/log/xferlog 600 7 100 * JCJede Zeile beginnt mit dem Namen der Protokolldatei, die
rotiert werden soll, optional gefolgt von Besitzer und Gruppe
für rotierende, als auch für neu erstellte Dateien. Das Feld
mode definiert die Zugriffsrechte der
Datei. count gibt an, wie viele rotierte
Dateien aufbewahrt werden sollen. Anhand der
size- und
when-Flags
erkennt newsyslog, wann die Datei
rotiert werden muss. Eine Logdatei wird rotiert, wenn ihre
Größe den Wert von size überschreitet, oder
wenn die Zeit im when-Feld abgelaufen ist.
Ein * bedeutet, dass dieses Feld ignoriert
wird. Das flags-Feld gibt
newsyslog weitere Instruktionen,
zum Beispiel wie eine Datei zu rotieren ist, oder eine Datei
zu erstellen falls diese nicht existiert. Die letzten beiden
Felder sind optional und bestimmen die
PID-Datei und wann die Datei rotiert
wird.Weitere Informationen zu allen Feldern, gültigen
Flags und wie Sie die
Rotationszeit angeben können, finden Sie in
&man.newsyslog.conf.5;. Denken Sie daran, dass
newsyslog von &man.cron.8;
aufgerufen wird und somit Dateien auch nur dann rotiert, wenn
es von &man.cron.8; aufgerufen wird, und nicht
häufiger.Protokollierung von anderen HostsTomRhodesBeigetragen von BenedictReuschlingÜbersetzt von Die Überwachung der Protokolldateien kann bei steigender
Anzahl von Rechnern sehr unhandlich werden. Eine zentrale
Protokollierung kann manche administrativen Belastungen bei
der Verwaltung von Protokolldateien reduzieren.Die Aggregation, Zusammenführung und Rotation von
Protokolldateien kann in &os; mit
syslogd und
newsyslog konfiguriert werden. In
der folgenden Beispielkonfiguration sammelt Host
A, genannt logserv.example.com,
Protokollinformationen für das lokale Netzwerk. Host
B, genannt logclient.example.com wird
seine Protokollinformationen an den Server
weiterleiten.Konfiguration des ProtokollserversEin Protokollserver ist ein System, welches
Protokollinformationen von anderen Hosts akzeptiert. Bevor
Sie diesen Server konfigurieren, prüfen Sie
folgendes:Falls eine Firewall zwischen dem
Protokollserver und den -Clients steht, muss das
Regelwerk der Firewall UDP auf Port
514 sowohl auf Client- als auch auf Serverseite
freigegeben werden.Der syslogd-Server und alle
Clientrechner müssen gültige Einträge für sowohl
Vorwärts- als auch Umkehr-DNS
besitzen. Falls im Netzwerk kein
DNS-Server vorhanden ist, muss auf
jedem System die Datei /etc/hosts
mit den richtigen Einträgen gepflegt werden. Eine
funktionierende Namensauflösung ist zwingend
erforderlich, ansonsten würde der Server die
Protokollnachrichten ablehnen.Bearbeiten Sie /etc/syslog.conf auf
dem Server. Tragen Sie den Namen des Clients ein, den
Verbindungsweg und den Namen der Protokolldatei. Dieses
Beispiel verwendet den Rechnernamen
B, alle Verbindungswege, und die
Protokolle werden in
/var/log/logclient.log
gespeichert.Einfache Server Konfiguration+logclient.example.com
*.* /var/log/logclient.logFügen Sie für jeden Client zwei Zeilen hinzu, falls Sie
mehrere Clients in diese Datei aufnehmen. Weitere
Informationen über die verfügbaren Verbindungswege finden
Sie in &man.syslog.conf.5;.Konfigurieren Sie als nächstes
/etc/rc.conf:syslogd_enable="YES"
syslogd_flags="-a logclient.example.com -v -v"Der erste Eintrag startet syslogd
während des Bootens. Der zweite Eintrag erlaubt es, Daten
von dem spezifizierten Client auf diesem Server zu
akzeptieren. Die Verwendung von
erhöht die Anzahl von Protokollnachrichten. Dies ist
hilfreich für die Feineinstellung der Verbindungswege, da
Administratoren auf diese Weise erkennen, welche Arten von
Nachrichten von welchen Verbindungswegen protokolliert
werden.Mehrere -Optionen können angegeben
werden, um die Protokollierung von mehreren Clients zu
erlauben. IP-Adressen und ganze
Netzblöcke können ebenfalls spezifiziert werden. Eine
vollständige Liste der Optionen finden Sie in
&man.syslogd.8;.Zum Schluss muss die Protokolldatei erstellt
werden:&prompt.root; touch /var/log/logclient.logZu diesem Zeitpunkt sollte syslogd
neu gestartet und überprüft werden:&prompt.root; service syslogd restart
&prompt.root; pgrep syslogWenn eine PID zurückgegeben wird,
wurde der Server erfolgreich neu gestartet und die
Clientkonfiguration kann beginnen. Wenn der Server nicht
neu gestartet wurde, suchen Sie in
/var/log/messages nach dem
Fehler.Konfiguration des ProtokollclientsEin Protokollclient sendet Protokollinformationen
an einen Protokollserver. Zusätzlich behält er eine
lokale Kopie seiner eigenen Protokolle.Sobald der Server konfiguriert ist, bearbeiten Sie
/etc/rc.conf auf dem Client:syslogd_enable="YES"
syslogd_flags="-s -v -v"Der erste Eintrag aktiviert den
syslogd-Dienst während des Systemstarts.
Der zweite Eintrag erhöht die Anzahl der
Protokollnachrichten. Die Option
verhindert, dass dieser Client Protokolle von anderen
Hosts akzeptiert.Als nächstes muss der Protokollserver in der
/etc/syslog.conf des Clients
eingetragen werden. In diesem Beispiel wird das
@-Symbol benutzt, um sämtliche
Protokolldaten an einen bestimmten Server zu senden:*.* @logserv.example.comNachdem die Änderungs gespeichert wurden, muss
syslogd neu gestartet werden, damit die
Änderungen wirksam werden:&prompt.root; service syslogd restartUm zu testen, ob Protokollnachrichten über das Netzwerk
gesendet werden, kann &man.logger.1; auf dem Client benutzt
werden, um eine Nachricht an
syslogd zu schicken:&prompt.root; logger "Test message from logclient"Diese Nachricht sollte jetzt sowohl in
/var/log/messages auf dem Client, als
auch in /var/log/logclient.log auf dem
Server vorhanden sein.Fehlerbehebung beim ProtokollserverWenn der Server keine Nachrichten empfängt, ist die
Ursache wahrscheinlich ein Netzwerkproblem, ein Problem bei
der Namensauflösung oder ein Tippfehler in einer
Konfigurationsdatei. Um die Ursache zu isolieren, müssen
Sie sicherstellen, dass sich Server und Client über den in
/etc/rc.conf konfigurierten Hostnamen
mit ping erreichen lässt. Falls dies
nicht gelingt sollten Sie die Netzwerkverkabelung
überprüfen, außerdem Firewallregeln sowie die Einträge für
Hosts im DNS und
/etc/hosts. Überprüfen Sie diese Dinge
auf dem Server und dem Client, bis der
ping von beiden Hosts erfolgreich
ist.Wenn sich die Hosts gegenseitig mit
ping erreichen können, der Server aber
immer noch keine Nachrichten empfängt, können Sie
vorübergehend die Ausführlichkeit der Protokollierung
erhöhen, um die Ursache für das Problem weiter einzugrenzen.
In dem folgenden Beispiel ist auf dem Server die Datei
/var/log/logclient.log leer und in der
Datei /var/log/messages auf dem Client
ist keine Ursache für das Problem erkennbar. Um nun die
Ausführlichkeit der Protokollierung zu erhöhen, passen Sie
auf dem Server den Eintrag syslogd_flags
an. Anschließend starten Sie den Dienst neu:syslogd_flags="-d -a logclient.example.com -v -v"&prompt.root; service syslogd restartInformationen wie diese werden sofort nach dem Neustart
auf der Konsole erscheinen:logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
Logging to FILE /var/log/messages
syslogd: kernel boot file is /boot/kernel/kernel
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
rejected in rule 0 due to name mismatch.In diesem Beispiel werden die Nachrichten aufgrund eines
fehlerhaften Namens abgewiesen. Der Hostname sollte
logclient und nicht
logclien sein. Beheben Sie den
Tippfehler, starten Sie den Dienst neu und überprüfen Sie
das Ergebnis:&prompt.root; service syslogd restart
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
syslogd: kernel boot file is /boot/kernel/kernel
logmsg: pri 166, flags 17, from logserv.example.com,
msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
accepted in rule 0.
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
Logging to FILE /var/log/logclient.log
Logging to FILE /var/log/messagesZu diesem Zeitpunkt werden die Nachrichten korrekt
empfangen und in die richtige Datei geschrieben.SicherheitsbedenkenWie mit jedem Netzwerkdienst, müssen
Sicherheitsanforderungen in Betracht gezogen werden, bevor
ein Protokollserver eingesetzt wird. Manchmal enthalten
Protokolldateien sensitive Daten über aktivierte Dienste auf
dem lokalen Rechner, Benutzerkonten und Konfigurationsdaten.
Daten, die vom Client an den Server geschickt werden, sind
weder verschlüsselt noch mit einem Passwort geschützt. Wenn
ein Bedarf für Verschlüsselung besteht, ist es möglich
security/stunnel zu verwenden, welches
die Protokolldateien über einen verschlüsselten Tunnel
versendet.Lokale Sicherheit ist ebenfalls ein Thema.
Protokolldateien sind während der Verwendung oder nach ihrer
Rotation nicht verschlüsselt. Lokale Benutzer versuchen
vielleicht, auf diese Dateien zuzugreifen, um zusätzliche
Einsichten in die Systemkonfiguration zu erlangen. Es ist
absolut notwendig, die richtigen Berechtigungen auf diesen
Dateien zu setzen. Das Werkzeug
newsyslog unterstützt
das Setzen von Berechtigungen auf gerade erstellte oder
rotierte Protokolldateien. Protokolldateien mit
Zugriffsmodus 600 sollten verhindern,
dass lokale Benutzer darin herumschnüffeln. Zusätzliche
Informationen finden Sie in &man.newsyslog.conf.5;.Konfigurationsdateien/etc LayoutKonfigurationsdateien finden sich in einigen
Verzeichnissen unter anderem in:/etcEnthält generelle systemspezifische
Konfigurationsinformationen./etc/defaultsDefault Versionen der
Konfigurationsdateien./etc/mailEnthält die &man.sendmail.8; Konfiguration
und weitere MTA
Konfigurationsdateien./etc/pppHier findet sich die Konfiguration für
die User- und Kernel-ppp Programme./usr/local/etcInstallierte Anwendungen legen hier ihre
Konfigurationsdateien ab. Dieses Verzeichnis kann
Unterverzeichnisse für bestimmte Anwendungen
enthalten./usr/local/etc/rc.d&man.rc.8;-Skripten installierter
Anwendungen./var/dbAutomatisch generierte systemspezifische
Datenbanken, wie die Paket-Datenbank oder die
&man.locate.1;-Datenbank.HostnamenhostnameDNS/etc/resolv.confresolv.confWie ein &os;-System auf das
Internet Domain Name System
(DNS) zugreift, wird in
/etc/resolv.conf festgelegt.Die gebräuchlichsten Einträge in
/etc/resolv.conf sind:nameserverDie IP-Adresse eines Nameservers, den
der Resolver abfragen soll. Bis zu drei Server
werden in der Reihenfolge, in der sie aufgezählt
sind, abgefragt.searchSuchliste mit Domain-Namen zum Auflösen von
Hostnamen. Die Liste wird normalerweise durch den
Domain-Teil des lokalen Hostnamens
festgelegt.domainDer lokale Domain-Name.Beispiel für eine typische
/etc/resolv.conf:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30Nur eine der Anweisungen search
oder domain sollte benutzt
werden.Wenn Sie DHCP benutzen, überschreibt
&man.dhclient.8; für gewöhnlich
/etc/resolv.conf mit den Informationen
vom DHCP-Server./etc/hostshosts/etc/hosts ist eine einfache
textbasierte Datenbank. Zusammen mit DNS
und NIS stellt sie eine Abbildung
zwischen Namen und IP-Adressen zur
Verfügung. Anstatt &man.named.8; zu konfigurieren, können
hier lokale Rechner, die über ein LAN
verbunden sind, eingetragen werden. Lokale Einträge für
gebräuchliche Internet-Adressen in
/etc/hosts verhindern die Abfrage eines
externen Servers und beschleunigen die
Namensauflösung.# $&os;$
#
#
# Host Database
#
# This file should contain the addresses and aliases for local hosts that
# share this file. Replace 'my.domain' below with the domainname of your
# machine.
#
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.my.domain
127.0.0.1 localhost localhost.my.domain
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers. Do not try to invent your own network
# numbers but instead get one from your network provider (if any) or
# from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.)
#/etc/hosts hat das folgende
Format:[Internet Adresse] [Offizieller Hostname] [Alias1] [Alias2] ...Zum Beispiel:10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2Weitere Informationen entnehmen Sie bitte
&man.hosts.5;.Einstellungen mit &man.sysctl.8;sysctlEinstellungenmit sysctlMit &man.sysctl.8; können Sie Änderungen an
einem laufenden &os;-System vornehmen. Unter anderem
können Optionen des TCP/IP-Stacks oder des
virtuellen Speichermanagements verändert werden. Unter
der Hand eines erfahrenen Systemadministrators kann dies
die Systemperformance erheblich verbessern. Über 500
Variablen können mit &man.sysctl.8; gelesen und gesetzt
werden.Der Hauptzweck von &man.sysctl.8; besteht darin,
Systemeinstellungen zu lesen und zu verändern.Alle auslesbaren Variablen werden wie folgt
angezeigt:&prompt.user; sysctl -aUm eine spezielle Variable zu lesen, geben Sie den Namen
an:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Um eine Variable zu setzen, benutzen Sie die Syntax
Variable=
Wert:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000Mit sysctl können Strings, Zahlen oder Boolean-Werte gesetzt
werden. Bei Boolean-Werten steht 1
für wahr und 0 für falsch.Um die Variablen automatisch während des Systemstarts zu
setzen, fügen Sie sie in /etc/sysctl.conf
ein. Weitere Informationen finden Sie in der Hilfeseite
&man.sysctl.conf.5; und in .sysctl.confsysctl.confsysctl/etc/sysctl.conf sieht ähnlich
wie /etc/rc.conf aus. Werte werden
in der Form Variable=Wert gesetzt.
Die angegebenen Werte werden gesetzt, nachdem sich das
System bereits im Mehrbenutzermodus befindet. Allerdings
lassen sich im Mehrbenutzermodus nicht alle Werte
setzen.Um das Protokollieren von fatalen Signalen abzustellen
und Benutzer daran zu hindern, von anderen Benutzern
gestartete Prozesse zu sehen, können Sie in
/etc/sysctl.conf die folgenden
Variablen setzen:# Do not log fatal signal exits (e.g. sig 11)
kern.logsigexit=0
# Prevent users from seeing information about processes that
# are being run under another UID.
security.bsd.see_other_uids=0Schreibgeschützte VariablenTomRhodesContributed by Wenn schreibgeschützte &man.sysctl.8;-Variablen verändert
werden, ist ein Neustart des Systems erforderlich.Beispielsweise hat &man.cardbus.4; auf einigen Laptops
Schwierigkeiten, Speicherbereiche zu erkennen. Es treten
dann Fehlermeldungen wie die folgende auf:cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12Um dieses Problem zu lösen, muss eine
schreibgeschützte &man.sysctl.8;-Variable verändert werden.
Fügen Sie
in /boot/loader.conf hinzu und starten
Sie das System neu. Danach sollte &man.cardbus.4; fehlerfrei
funktionieren.Tuning von LaufwerkenDer folgende Abschnitt beschreibt die verschiedenen
Methoden zur Feinabstimmung der Laufwerke. Oft sind mechanische
Teile in Laufwerken, wie SCSI-Laufwerke,
verbaut. Diese können einen Flaschenhals bei der Gesamtleistung
des Systems darstellen. Sie können zwar auch ein Laufwerk ohne
mechanische Teile einbauen, wie z.B. ein
Solid-State-Drive, aber Laufwerke
mit mechanischen Teilen werden auch in naher Zukunft nicht vom
Markt verschwinden. Bei der Feinabstimmung ist es ratsam, die
Funktionen von &man.iostat.8; zu verwenden, um verschiedene
Änderungen zu testen und um nützliche
IO-Informationen des Systems zu
erhalten.Sysctl Variablenvfs.vmiodirenablevfs.vmiodirenableDie &man.sysctl.8;-Variable
vfs.vmiodirenable besitzt in der
Voreinstellung den Wert 1. Die Variable
kann auf den Wert 0 (deaktiviert) oder
1 (aktiviert) gesetzt werden. Sie
steuert, wie Verzeichnisse vom System zwischengespeichert
werden. Die meisten Verzeichnisse sind klein und benutzen
nur ein einzelnes Fragment, typischerweise 1 kB, im
Dateisystem und 512 Bytes im Buffer-Cache. Ist
die Variable deaktiviert, wird der Buffer-Cache nur
eine limitierte Anzahl Verzeichnisse zwischenspeichern, auch
wenn das System über sehr viel Speicher verfügt.
Ist die Variable aktiviert, kann der Buffer-Cache
den VM-Page-Cache benutzen, um
Verzeichnisse zwischenzuspeichern. Der ganze Speicher steht
damit zum Zwischenspeichern von Verzeichnissen zur
Verfügung. Der Nachteil bei dieser Vorgehensweise ist, dass
zum Zwischenspeichern eines Verzeichnisses mindestens eine
physikalische Seite im Speicher, die normalerweise 4 kB
groß ist, anstelle von 512 Bytes gebraucht wird. Es
wird empfohlen, diese Option aktiviert zu lassen, wenn Sie
Dienste zur Verfügung stellen, die viele Dateien
manipulieren. Beispiele für solche Dienste sind Web-Caches,
große Mail-Systeme oder Netnews. Die aktivierte
Variable vermindert, trotz des verschwendeten Speichers,
in aller Regel nicht die Leistung des Systems, obwohl Sie
das nachprüfen sollten.vfs.write_behindvfs.write_behindIn der Voreinstellung besitzt die
&man.sysctl.8;-Variable vfs.write_behind
den Wert 1 (aktiviert). Mit dieser
Einstellung schreibt das Dateisystem anfallende vollständige
Cluster, die besonders beim sequentiellen Schreiben großer
Dateien auftreten, direkt auf das Medium aus. Dies
verhindert, dass sich im Buffer-Cache veränderte Puffer
(dirty buffers) ansammeln,
die die I/O-Verarbeitung nicht mehr beschleunigen würden.
Unter bestimmten Umständen blockiert diese Funktion
allerdings Prozesse. Setzen Sie in diesem Fall die Variable
vfs.write_behind auf den Wert
0.vfs.hirunningspacevfs.hirunningspaceDie &man.sysctl.8;-Variable
vfs.hirunningspace bestimmt systemweit
die Menge ausstehender Schreiboperationen, die dem
Platten-Controller zu jedem beliebigen Zeitpunkt übergeben
werden können. Normalerweise können Sie den Vorgabewert
verwenden. Auf Systemen mit vielen Platten kann der Wert
aber auf 4 bis 5 Megabyte erhöht
werden. Ein zu hoher Wert (größer als der
Schreib-Schwellwert des Buffer-Caches) kann zu
Leistungsverlusten führen. Setzen Sie den Wert daher nicht
zu hoch! Hohe Werte können auch Leseoperationen verzögern,
die gleichzeitig mit Schreiboperationen ausgeführt
werden.Es gibt weitere &man.sysctl.8;-Variablen, mit denen Sie
den Buffer-Cache und den VM-Page-Cache
beeinflussen können. Es wird nicht empfohlen, diese
Variablen zu verändern, da das VM-System
den virtuellen Speicher selbst sehr gut verwaltet.vm.swap_idle_enabledvm.swap_idle_enabledDie &man.sysctl.8;-Variable
vm.swap_idle_enabled ist für große
Mehrbenutzer-Systeme gedacht, auf denen sich viele Benutzer
an- und abmelden und auf denen es viele Prozesse im Leerlauf
(idle) gibt. Solche Systeme
fragen kontinuierlich freien Speicher an. Wenn Sie die
Variable vm.swap_idle_enabled aktivieren,
können Sie die Auslagerungs-Hysterese von Seiten mit
den Variablen vm.swap_idle_threshold1 und
vm.swap_idle_threshold2 einstellen. Die
Schwellwerte beider Variablen geben die Zeit in Sekunden an,
in denen sich ein Prozess im Leerlauf befinden muss. Wenn
die Werte so eingestellt sind, dass Seiten früher als nach
dem normalen Algorithmus ausgelagert werden, verschafft das
dem Auslagerungs-Prozess mehr Luft. Aktivieren Sie diese
Funktion nur, wenn Sie sie wirklich benötigen: Die
Speicherseiten werden eher früher als später ausgelagert.
Der Platz im Swap-Bereich wird dadurch schneller verbraucht
und die Plattenaktivitäten steigen an. Auf kleinen
Systemen hat diese Funktion spürbare Auswirkungen. Auf
großen Systemen, die sowieso schon Seiten auslagern müssen,
können ganze Prozesse leichter in den Speicher geladen oder
ausgelagert werden.hw.ata.wchw.ata.wcObwohl das Abstellen des
IDE-Schreib-Zwischenspeichers die
Bandbreite zum Schreiben auf die
IDE-Festplatte verringert, kann es aus
Gründen der Datenkonsistenz als notwendig angesehen werden.
Das Problem ist, dass IDE-Platten keine
zuverlässige Aussage über das Ende eines Schreibvorgangs
treffen. Wenn der Schreib-Zwischenspeicher aktiviert ist,
werden die Daten nicht in der Reihenfolge ihres Eintreffens
geschrieben. Es kann sogar passieren, dass das Schreiben
mancher Blöcke im Fall von starker Plattenaktivität auf
unbefristete Zeit verzögert wird. Ein Absturz oder
Stromausfall zu dieser Zeit kann die Dateisysteme erheblich
beschädigen. Sie sollten den Wert der
&man.sysctl.8;-Variable hw.ata.wc auf dem
System überprüfen. Wenn der Schreib-Zwischenspeicher
abgestellt ist, können Sie ihn beim Systemstart aktivieren,
indem Sie die Variable in
/boot/loader.conf auf den Wert
1 setzen.Weitere Informationen finden Sie in &man.ata.4;.SCSI_DELAY
(kern.cam.scsi_delay)kern.cam.scsi_delayKerneloptionenSCSI DELAYMit der Kerneloption SCSI_DELAY kann
die Dauer des Systemstarts verringert werden. Der
Vorgabewert ist recht hoch und er verzögert den Systemstart
um 15 oder mehr Sekunden. Normalerweise
kann dieser Wert, insbesondere mit modernen Laufwerken, mit
der &man.sysctl.8;-Variable
kern.cam.scsi_delay auf
5 Sekunden heruntergesetzt werden. Die
Variable sowie die Kerneloption verwenden für die Zeitangabe
Millisekunden und nicht
Sekunden.Soft UpdatesSoft Updates&man.tunefs.8;Mit &man.tunefs.8; lassen sich Feineinstellungen an
Dateisystemen vornehmen. Das Programm hat verschiedene
Optionen. Soft Updates werden wie folgt ein- und
ausgeschaltet:&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystemEin eingehängtes Dateisystem kann nicht mit &man.tunefs.8;
modifiziert werden. Soft Updates werden am besten im
Single-User Modus aktiviert, bevor Partitionen eingehangen
sind.Durch Einsatz eines Zwischenspeichers wird die Performance
im Bereich der Metadaten, vorwiegend beim Anlegen und Löschen
von Dateien, gesteigert. Es wird empfohlen, Soft Updates auf
allen UFS-Dateisystemen zu aktivieren.
Allerdings sollten Sie sich über die zwei Nachteile von Soft
Updates bewusst sein: Erstens garantieren Soft Updates zwar
die Konsistenz der Daten im Fall eines Absturzes, aber es kann
passieren, dass das Dateisystem über mehrere Sekunden oder gar
eine Minute nicht synchronisiert wurde. Nicht geschriebene
Daten gehen dann vielleicht verloren. Zweitens verzögern Soft
Updates die Freigabe von Datenblöcken. Eine größere
Aktualisierung eines fast vollen Dateisystems, wie dem
Root-Dateisystem, z.B. während eines
make installworld, kann das Dateisystem
vollaufen lassen. Dadurch würde die Aktualisierung
fehlschlagen.Details über Soft UpdatesSoft UpdatesDetailsBei einem Metadaten-Update werden die Inodes und
Verzeichniseinträge aktualisiert auf die Platte
zurückgeschrieben. Es gibt zwei klassische Ansätze, um die
Metadaten des Dateisystems auf die Platte zu
schreiben.Das historisch übliche Verfahren waren synchrone
Updates der Metadaten, d. h. wenn eine Änderung an
einem Verzeichnis nötig war, wurde anschließend
gewartet, bis diese Änderung tatsächlich auf die
Platte zurückgeschrieben worden war. Der
Inhalt der Dateien wurde im
Buffer Cache zwischengespeichert und
später asynchron auf die Platte geschrieben.
Der Vorteil dieser Implementierung ist, dass sie
sicher funktioniert. Wenn während eines Updates ein
Ausfall erfolgt, haben die Metadaten immer einen
konsistenten Zustand. Eine Datei ist entweder komplett
angelegt oder gar nicht. Wenn die Datenblöcke einer
Datei im Fall eines Absturzes noch nicht den Weg aus dem
Buffer Cache auf die Platte gefunden haben,
kann &man.fsck.8; das Dateisystem reparieren, indem es die
Dateilänge einfach auf 0 setzt. Außerdem
ist die Implementierung einfach und überschaubar. Der
Nachteil ist, dass Änderungen der Metadaten sehr
langsam vor sich gehen. Ein rm -r
beispielsweise fasst alle Dateien eines Verzeichnisses
der Reihe nach an, aber jede dieser Änderungen am
Verzeichnis (Löschen einer Datei) wird einzeln synchron
auf die Platte geschrieben. Gleiches beim Auspacken
großer Hierarchien mit tar -x.Der zweite Ansatz sind asynchrone Metadaten-Updates.
Das ist der Standard, wenn
UFS-Dateisysteme mit
mount -o async eingehängt werden. Man
schickt die Updates der Metadaten einfach auch noch
über den Buffer Cache, sie werden also
zwischen die Updates der normalen Daten eingeschoben.
Vorteil ist, dass man nun nicht mehr auf jeden Update
warten muss, Operationen, die zahlreiche Metadaten
ändern, werden also viel schneller. Auch
hier ist die Implementierung sehr einfach und wenig
anfällig für Fehler. Nachteil ist, dass
keinerlei Konsistenz des Dateisystems mehr gesichert ist.
Wenn mitten in einer Operation, die viele Metadaten
ändert, ein Ausfall erfolgt (Stromausfall, drücken
des Reset-Schalters), dann ist das Dateisystem
anschließend in einem unbestimmten Zustand. Niemand
kann genau sagen, was noch geschrieben worden ist und was
nicht mehr; die Datenblöcke einer Datei können
schon auf der Platte stehen, während die inode Tabelle
oder das zugehörige Verzeichnis nicht mehr aktualisiert
worden ist. Man kann praktisch kein &man.fsck.8;
mehr implementieren, das diesen Zustand
wieder reparieren kann, da die dazu nötigen
Informationen einfach auf der Platte fehlen. Wenn ein
Dateisystem irreparabel beschädigt wurde, hat man nur noch
die Möglichkeit es neu zu erzeugen und die Daten vom Backup
zurückspielen.Der Ausweg aus diesem Dilemma ist ein
dirty region logging, was auch als
Journalling bezeichnet wird. Man
schreibt die Metadaten-Updates zwar synchron, aber nur in
einen kleinen Plattenbereich, die
logging area. Von da aus werden sie
dann asynchron auf ihre eigentlichen Bereiche verteilt. Da
die logging area ein kleines
zusammenhängendes Stückchen ist, haben die
Schreibköpfe der Platte bei massiven Operationen auf
Metadaten keine allzu großen Wege zurückzulegen,
so dass alles ein ganzes Stück schneller geht als
bei klassischen synchronen Updates. Die Komplexität
der Implementierung hält sich ebenfalls in Grenzen,
somit auch die Anfälligkeit für Fehler. Als
Nachteil ergibt sich, dass Metadaten zweimal auf die
Platte geschrieben werden müssen (einmal in die
logging area, einmal an die richtige
Stelle), so dass das im Falle regulärer
Arbeit (also keine gehäuften Metadatenoperationen) eine
Pessimisierung des Falls der synchronen
Updates eintritt, es wird alles langsamer. Dafür hat man
als Vorteil, dass im Falle eines Absturzes der
konsistente Zustand dadurch erzielbar ist, dass die
angefangenen Operationen aus dem dirty region
log entweder zu Ende ausgeführt oder
komplett verworfen werden, wodurch das Dateisystem schnell
wieder zur Verfügung steht.Die Lösung von Kirk McKusick, dem Schöpfer von
Berkeley FFS, waren
Soft Updates: die
notwendigen Updates der Metadaten werden im Speicher
gehalten und dann sortiert auf die Platte geschrieben
(ordered metadata updates). Dadurch hat man
den Effekt, dass im Falle massiver
Metadaten-Änderungen spätere Operationen die
vorhergehenden, noch nicht auf die Platte geschriebenen
Updates desselben Elements im Speicher
einholen. Alle Operationen, auf ein
Verzeichnis beispielsweise, werden also in der Regel noch im
Speicher abgewickelt, bevor der Update überhaupt auf
die Platte geschrieben wird (die dazugehörigen
Datenblöcke werden natürlich auch so sortiert,
dass sie nicht vor ihren Metadaten auf der Platte
sind). Im Fall eines Absturzes hat man ein implizites
log rewind: alle Operationen, die noch nicht
den Weg auf die Platte gefunden haben, sehen danach so aus,
als hätten sie nie stattgefunden. Man hat so also den
konsistenten Zustand von ca. 30 bis 60 Sekunden früher
sichergestellt. Der verwendete Algorithmus garantiert
dabei, dass alle tatsächlich benutzten Ressourcen
auch in den entsprechenden Bitmaps (Block- und inode
Tabellen) als belegt markiert sind. Der einzige Fehler, der
auftreten kann, ist, dass Ressourcen noch als
belegt markiert sind, die tatsächlich
frei sind. &man.fsck.8; erkennt dies und
korrigiert diese nicht mehr belegten Ressourcen. Die
Notwendigkeit eines Dateisystem-Checks darf aus diesem
Grunde auch ignoriert und das Dateisystem mittels
mount -f zwangsweise eingebunden werden.
Um noch allozierte Ressourcen freizugeben muss
später ein &man.fsck.8; nachgeholt werden. Das ist
dann auch die Idee des background fsck:
beim Starten des Systems wird lediglich ein
Schnappschuss des Dateisystems
gemacht, mit dem &man.fsck.8; dann später arbeiten
kann. Alle Dateisysteme dürfen unsauber
eingebunden werden und das System kann sofort in den
Multiuser-Modus gehen. Danach wird ein
Hintergrund-&man.fsck.8; für die Dateisysteme gestartet, die
dies benötigen, um möglicherweise irrtümlich belegte
Ressourcen freizugeben. Dateisysteme ohne
Soft Updates benötigen natürlich immer
noch den üblichen Vordergrund-&man.fsck.8;, bevor sie
eingebunden werden können.Der Vorteil ist, dass die Metadaten-Operationen
beinahe so schnell ablaufen wie im asynchronen Fall, also
auch schneller als beim logging, das
die Metadaten immer zweimal schreiben muss. Als Nachteil
stehen dem die Komplexität des Codes, ein erhöhter
Speicherverbrauch und einige spezielle Eigenheiten entgegen.
Nach einem Absturz ist ein etwas älterer
Stand auf der Platte – statt einer leeren, aber
bereits angelegten Datei, wie nach einem herkömmlichen
&man.fsck.8; Lauf, ist auf einem Dateisystem mit
Soft Updates keine Spur der
entsprechenden Datei mehr zu sehen, da weder die Metadaten
noch der Dateiinhalt je auf die Platte geschrieben wurden.
Weiterhin kann der Platz nach einem &man.rm.1;
nicht sofort wieder als verfügbar markiert werden,
sondern erst dann, wenn der Update auch auf die Platte
vermittelt worden ist. Dies kann besonders dann Probleme
bereiten, wenn große Datenmengen in einem Dateisystem
installiert werden, das nicht genügend Platz hat, um alle
Dateien zweimal unterzubringen.Einstellungen von Kernel LimitsEinstellungenvon Kernel LimitsDatei und Prozeß Limitskern.maxfileskern.maxfilesAbhängig von den Anforderungen an das System kann die
&man.sysctl.8;-Variable kern.maxfiles
erhöht oder gesenkt werden. Die Variable legt die maximale
Anzahl von Dateideskriptoren auf dem System fest. Wenn die
Dateideskriptoren aufgebraucht sind, werden Sie die Meldung
file: table is full wiederholt im
Puffer für Systemmeldungen sehen. Den Inhalt des Puffers
können Sie sich mit &man.dmesg.8; anzeigen lassen.Jede offene Datei, jedes Socket und jede FIFO verbraucht
einen Dateideskriptor. Auf dicken
Produktionsservern können leicht Tausende Dateideskriptoren
benötigt werden, abhängig von der Art und Anzahl der
gleichzeitig laufenden Dienste.In älteren &os;-Versionen wurde die Voreinstellung
von kern.maxfile aus der
Kernelkonfigurationsoption maxusers
bestimmt. kern.maxfiles wächst
proportional mit dem Wert von maxusers.
Wenn Sie einen angepassten Kernel kompilieren, empfiehlt es
sich diese Option entsprechend der maximalen Benutzerzahl
des Systems einzustellen. Obwohl auf einer
Produktionsmaschine vielleicht nicht 256 Benutzer
gleichzeitig angemeldet sind, können die benötigten
Ressourcen ähnlich hoch wie bei einem großen Webserver
sein.Die nur lesbare &man.sysctl.8;-Variable
kern.maxusers wird beim Systemstart
automatisch aus dem zur Verfügung stehenden Hauptspeicher
bestimmt. Im laufenden Betrieb kann dieser Wert aus
kern.maxusers ermittelt werden. Einige
Systeme benötigen für diese Variable einen anderen Wert,
wobei 64, 128 und
256 gewöhnliche Werte darstellen.
Es wird nicht empfohlen, die Anzahl der Dateideskriptoren
auf einen Wert größer 256 zu setzen, es
sei denn, Sie benötigen wirklich eine riesige Anzahl von
ihnen. Viele der von kern.maxusers auf
einen Standardwert gesetzten Parameter können beim
Systemstart oder im laufenden Betrieb in
/boot/loader.conf angepasst werden.
In &man.loader.conf.5; und
/boot/defaults/loader.conf finden Sie
weitere Details und Hinweise.Ältere &os;-Versionen setzen diesen Wert selbst, wenn
Sie in der Konfigurationsdatei den Wert 0Der verwendete Algorithmus setzt
maxusers auf die Speichergröße des
Systems. Der minimale Wert beträgt dabei
32, das Maximum ist
384.
angeben. Wenn Sie den Wert selbst bestimmen wollen,
sollten Sie maxusers mindestens auf
4 setzen. Dies gilt insbesondere dann,
wenn Sie beabsichtigen, &xorg; zu
benutzen oder Software zu kompilieren. Der wichtigste Wert,
der durch maxusers bestimmt wird, die
maximale Anzahl an Prozessen ist, die auf
20 + 16 * maxusers gesetzt wird. Wird
maxusers auf 1 setzen,
können gleichzeitig nur 36 Prozesse
laufen, von denen ungefähr 18 schon beim
Booten des Systems gestartet werden. Dazu kommen nochmals
etwa 15 Prozesse beim Start von
&xorg;. Selbst eine einfache
Aufgabe wie das Lesen einer Manualpage benötigt neun
Prozesse zum Filtern, Dekomprimieren und Betrachten der
Datei. Für die meisten Benutzer sollte es ausreichen,
maxusers auf 64 zu
setzen, womit 1044 gleichzeitige Prozesse
zur Verfügung stehen. Wenn Sie allerdings den Fehler
proc table full beim Start eines
Programms oder auf einem Server mit einer großen
Benutzerzahl sehen, dann sollten Sie den Wert nochmals
erhöhen und den Kernel neu bauen.Die Anzahl der Benutzer, die sich auf einem
Rechner anmelden kann, wird durch
maxusersnicht
begrenzt. Der Wert dieser Variablen legt neben der
möglichen Anzahl der Prozesse eines Benutzers weitere
sinnvolle Größen für bestimmte Systemtabellen fest.kern.ipc.soacceptqueuekern.ipc.soacceptqueueDie &man.sysctl.8;-Variable
kern.ipc.soacceptqueue beschränkt die
Größe der Warteschlange
(Listen-Queue) für neue
TCP-Verbindungen. Der Vorgabewert von
128 ist normalerweise zu klein, um neue
Verbindungen auf einem stark ausgelasteten Webserver
zuverlässig zu handhaben. Auf solchen Servern sollte
der Wert auf 1024 oder höher gesetzt
werden. Dienste wie &man.sendmail.8; oder
Apache können die Größe
der Queue selbst einschränken. Oft gibt es die
Möglichkeit, die Größe der Listen-Queue in
einer Konfigurationsdatei einzustellen. Eine große
Listen-Queue übersteht vielleicht auch einen
Denial of Service Angriff (DoS).Netzwerk LimitsDie Kerneloption NMBCLUSTERS schreibt
die Anzahl der Netzwerkpuffer (Mbufs) fest, die das System
besitzt. Eine zu geringe Anzahl Mbufs auf einem Server mit
viel Netzwerkverkehr verringert die Leistung von &os;. Jeder
Mbuf-Cluster nimmt ungefähr 2 kB Speicher in Anspruch, so
dass ein Wert von 1024 insgesamt
2 Megabyte Speicher für Netzwerkpuffer im System
reserviert. Wie viele Cluster benötigt werden, lässt sich
durch eine einfache Berechnung herausfinden. Ein Webserver,
der maximal 1000 gleichzeitige Verbindungen
servieren soll, wobei jede der Verbindungen einen 6 kB
großen Sendepuffer und einen 16 kB großen Empfangspuffer
benötigt, braucht ungefähr 32 MB Speicher für
Netzwerkpuffer. Als Daumenregel verdoppeln Sie diese Zahl, so
dass sich für NMBCLUSTERS der Wert
2x32 MB / 2 kB=
64 MB / 2 kB=
32768 ergibt. Für Maschinen mit viel
Speicher werden Werte zwischen 4096 und
32768 empfohlen. Unter keinen Umständen
sollten Sie diesen Wert willkürlich erhöhen, da dies zu einem
Absturz beim Systemstart führen kann. Verwenden Sie
&man.netstat.1; mit um den Gebrauch der
Netzwerkpuffer zu kontrollieren.Die Netzwerkpuffer können beim Systemstart mit der
Loader-Variablen kern.ipc.nmbclusters
eingestellt werden. Nur auf älteren &os;-Systemen
müssen Sie die Kerneloption NMBCLUSTERS
verwenden.Die Anzahl der &man.sendfile.2; Puffer muss auf
ausgelasteten Servern, die den Systemaufruf &man.sendfile.2;
oft verwenden, vielleicht erhöht werden. Dazu können Sie die
Kerneloption NSFBUFS verwenden oder die
Anzahl der Puffer in /boot/loader.conf
(siehe &man.loader.8;) setzen. Die Puffer sollten erhöht
werden, wenn Sie Prozesse im Zustand sfbufa
sehen. Die schreibgeschützte &man.sysctl.8;-Variable
kern.ipc.nsfbufs zeigt die Anzahl
eingerichteten Puffer im Kernel. Der Wert dieser Variablen
wird normalerweise von kern.maxusers
bestimmt. Manchmal muss die Pufferanzahl jedoch manuell
eingestellt werden.Auch wenn ein Socket nicht blockierend angelegt wurde,
kann der Aufruf von &man.sendfile.2; blockieren, um auf
freie struct sf_buf Puffer zu
warten.net.inet.ip.portrange.*net.inet.ip.portrange.*Die &man.sysctl.8;-Variable
net.inet.ip.portrange.* legt die
Portnummern für TCP- und
UDP-Sockets fest. Es gibt drei
Bereiche: den niedrigen Bereich, den normalen Bereich und
den hohen Bereich. Die meisten Netzprogramme benutzen den
normalen Bereich. Dieser Bereich umfasst in der
Voreinstellung die Portnummern 1024 bis
5000 und wird durch die Variablen
net.inet.ip.portrange.first und
net.inet.ip.portrange.last
festgelegt. Die festgelegten Bereiche für Portnummern
werden von ausgehenden Verbindungen benutzt. Unter
bestimmten Umständen, beispielsweise auf stark ausgelasteten
Proxy-Servern, sind alle Portnummern für ausgehende
Verbindungen belegt. Bereiche
für Portnummern spielen auf Servern keine Rolle, die
hauptsächlich eingehende Verbindungen verarbeiten (wie ein
normaler Webserver) oder nur eine begrenzte Anzahl
ausgehender Verbindungen öffnen (beispielsweise ein
Mail-Relay). Wenn keine freien Portnummern mehr vorhanden
sind, sollte die Variable
net.inet.ip.portrange.last langsam
erhöht werden. Ein Wert von 10000,
20000 oder 30000 ist
angemessen. Beachten Sie auch eine vorhandene Firewall,
wenn Sie die Bereiche für Portnummern ändern. Einige
Firewalls sperren große Bereiche (normalerweise aus den
kleinen Portnummern) und erwarten, dass hohe Portnummern für
ausgehende Verbindungen verwendet werden. Daher kann es
erforderlich sein, den Wert von
net.inet.ip.portrange.first zu
erhöhen.TCP Bandwidth Delay Product
BegrenzungTCP Bandwidth Delay Product
Begrenzungnet.inet.tcp.inflight.enableDie TCP Bandwidth Delay Product
Begrenzung wird aktiviert, indem die &man.sysctl.8;-Variable
net.inet.tcp.inflight.enable auf den
Wert 1 gesetzt wird. Das System wird
dadurch angewiesen, für jede Verbindung, das Produkt aus der
Übertragungsrate und der Verzögerungszeit zu bestimmen.
Dieses Produkt begrenzt die Datenmenge, die für einen
optimalen Durchsatz zwischengespeichert werden muss.Diese Begrenzung ist nützlich, wenn Sie Daten
über Verbindungen mit einem hohen Produkt aus
Übertragungsrate und Verzögerungszeit wie Modems,
Gigabit-Ethernet oder schnellen WANs, zur
Verfügung stellen. Insbesondere wirkt sich die Begrenzung
aus, wenn die Verbindung die Option
Window-scaling verwendet oder
große Sende-Fenster
(send window) benutzt.
Schalten Sie die Debug-Meldungen aus, wenn Sie die
Begrenzung aktiviert haben. Dazu setzen Sie die Variable
net.inet.tcp.inflight.debug auf
0. Auf Produktions-Systemen sollten Sie
zudem die Variable
net.inet.tcp.inflight.min mindestens auf
den Wert 6144 setzen. Allerdings kann
ein zu hoher Wert, abhängig von der Verbindung, die
Begrenzungsfunktion unwirksam machen. Die Begrenzung
reduziert die Datenmenge in den Queues von Routern und
Switches, sowie die Datenmenge in der Queue der lokalen
Netzwerkkarte. Die Verzögerungszeit
(Round Trip Time) für
interaktive Anwendungen sinkt, da weniger Pakete
zwischengespeichert werden. Dies gilt besonders für
Verbindungen über langsame Modems. Die Begrenzung
wirkt sich allerdings nur auf das Versenden von Daten aus
(Uploads, Server). Auf den Empfang von Daten (Downloads)
hat die Begrenzung keine Auswirkungen.Die Variable
net.inet.tcp.inflight.stab sollte
nicht angepasst werden. Der
Vorgabewert der Variablen beträgt 20,
das heißt es werden maximal zwei Pakete zu dem Produkt
aus Übertragungsrate und Verzögerungszeit addiert.
Dies stabilisiert den Algorithmus und verbessert die
Reaktionszeit auf Veränderungen. Bei langsamen
Verbindungen können sich aber die Laufzeiten der Pakete
erhöhen (ohne diesen Algorithmus wären sie allerdings noch
höher). In solchen Fällen können Sie versuchen, den Wert
der Variablen auf 15,
10 oder 5
herabzusetzen. Gleichzeitig müssen Sie vielleicht auch
net.inet.tcp.inflight.min auf einen
kleineren Wert (beispielsweise 3500)
setzen. Ändern Sie diese Variablen nur ab, wenn Sie
keine anderen Möglichkeiten mehr haben.Virtueller Speicher (Virtual
Memory)kern.maxvnodesEin vnode ist die interne Darstellung einer Datei oder
eines Verzeichnisses. Die Erhöhung der Anzahl der für das
Betriebssystem verfügbaren vnodes verringert also die
Schreib- und Lesezugriffe auf der Festplatte. vnodes
werden im Normalfall vom Betriebssystem automatisch vergeben
und müssen nicht manuell angepasst werden. In einigen
Fällen stellt der Zugriff auf eine Platte allerdings einen
Flaschenhals dar, daher sollten Sie in diesem Fall die
Anzahl der möglichen vnodes erhöhen, um dieses Problem zu
beheben. Beachten Sie dabei aber die Größe des inaktiven
und freien Hauptspeichers.Um die Anzahl der derzeit verwendeten vnodes zu sehen,
geben Sie Folgendes ein:&prompt.root; sysctl vfs.numvnodes
vfs.numvnodes: 91349Die maximal mögliche Anzahl der vnodes erhalten Sie
durch die Eingabe von:&prompt.root; sysctl kern.maxvnodes
kern.maxvnodes: 100000Wenn sich die Anzahl der genutzten vnodes dem maximal
möglichen Wert nähert, sollten Sie den Wert
kern.maxvnodes zuerst um etwa
1000 erhöhen. Beobachten Sie danach die
Anzahl der vom System genutzten
vfs.numvnodes. Nähert sich der Wert
wiederum dem definierten Maximum, müssen Sie
kern.maxvnodes nochmals erhöhen. Sie
sollten nun eine Änderung des Speicherverbrauches über
&man.top.1; registrieren können und über mehr aktiven
Speicher verfügen.Hinzufügen von Swap-BereichenManchmal benötigt ein System mehr Swap-Bereiche. Dieser
Abschnitt beschreibt zwei Methoden, um Swap-Bereiche
hinzuzufügen: auf einer bestehenden Partition oder auf einem
neuen Laufwerk, und das Hinzufügen einer Swap-Datei auf einer
existierenden Partition.Für Informationen zur Verschlüsselung von
Swap-Partitionen, zu den dabei möglichen Optionen sowie
zu den Gründen für eine Verschlüsselung des
Auslagerungsspeichers lesen Sie
.Swap auf einer neuen Festplatte oder einer existierenden
PartitionDas Hinzufügen einer neuen Festplatte für den Swap-Bereich
bietet eine bessere Leistung, als die Verwendung
einer Partition auf einem vorhandenem Laufwerk. Die
Einrichtung von Partitionen und Laufwerken wird in
beschrieben.
diskutiert Aspekte über
die Anordnung und Größe von Swap-Bereichen.Benutzen Sie swapon um eine
Swap-Partition zum System hinzuzufügen. Zum Beispiel:&prompt.root; swapon /dev/ada1s1bSie können jede Partition verwenden, sofern sie nicht
schon eingehangen ist. Das gilt auch dann, wenn die
Partition bereits Daten enthält. Wird
swapon auf
einer Partition ausgeführt die Daten enthält, werden
die vorhandenen Daten überschrieben und sind unweigerlich
verloren. Stellen Sie sicher, dass die Partition, die Sie
als Swap-Bereich hinzufügen möchten, wirklich die gewünschte
Partition ist, bevor Sie swapon
ausführen.Um diese Swap-Partition automatisch beim Systemstart
hinzuzufügen, fügen Sie einen Eintrag in
/etc/fstab hinzu:/dev/ada1s1b none swap sw 0 0Die einzelnen Einträge von /etc/fstab
werden in &man.fstab.5; erläutert. Weitere Informationen zu
swapon finden Sie in &man.swapon.8;.Swap-Dateien erstellenAnstatt eine Partition zu verwenden, erstellen diese
Beispiele eine 64 MB große Swap-Datei mit dem Namen
/usr/swap0.Die Verwendung von Swap-Dateien macht es erforderlich,
dass das Modul &man.md.4; entweder im Kernel vorhanden oder
geladen wird, bevor Swap aktiviert ist. enthält Informationen zum Bau eines
angepassten Kernels.Erstellen einer Swap-Datei unter
&os; 10.X und neuerErstellen Sie die Swap-Datei:&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Setzen Sie die richtigen Berechtigungen für die neue
Datei:&prompt.root; chmod 0600 /usr/swap0Fügen Sie einen Eintrag in
/etc/fstab hinzu:md99 none swap sw,file=/usr/swap0,late 0 0Das &man.md.4; Gerät md99 wird
verwendet, damit die niedrigeren Gerätenummer für die
interaktive Benutzung frei bleiben.Der Swap-Speicher wird nun automatisch beim
Systemstart hinzugefügt. Benutzen Sie &man.swapon.8; um
den Swap-Speicher direkt zu aktivieren:&prompt.root; swapon -aLErstellen einer Swap-Datei unter
&os; 9.X und älterErstellen Sie die Swap-Datei
/usr/swap0:&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Setzen Sie die richtigen Berechtigungen für die neue
Datei:&prompt.root; chmod 0600 /usr/swap0Aktivieren Sie die Swap-Datei in
/etc/rc.conf:swapfile="/usr/swap0" # Set to name of swap fileUm die Swap-Datei sofort zu aktivieren,
spezifizieren Sie ein speicherbasiertes Laufwerk.
enthält weitere
Informationen.&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0Energie- und RessourcenverwaltungHitenPandyaVerfasst von TomRhodesEs ist wichtig, Hardware effizient einzusetzen. Energie-
und Ressourcenverwaltung ermöglicht es dem System auf
verschiedene Ereignisse, beispielsweise einen unerwarteten
Temperaturanstieg, reagieren zu können. Eine frühe
Spezifikation für die Energieverwaltung war das
Advanced Power Management
(APM). APM steuert den
Energieverbrauch eines Systems auf Basis der Systemaktivität.
Ursprünglich konnten Stromverbrauch und Wärmeabgabe eines
Systems nur schlecht von Betriebssystemen gesteuert werden.
Die Hardware wurde vom BIOS gesteuert, was
die Kontrolle der Energieverwaltung für den Anwender erschwerte.
Das APM-BIOS wird von dem
Hersteller des Systems zur Verfügung gestellt und ist auf die
spezielle Hardware angepasst. Der
APM-Treiber des Betriebssystems greift auf
das
APM Software Interface
zu, das den Energieverbrauch regelt.APM hat hauptsächlich vier Probleme.
Erstens läuft die Energieverwaltung unabhängig vom
Betriebssystem in einem herstellerspezifischen
BIOS. Beispielsweise kann das
APM-BIOS die Festplatten
nach einer konfigurierbaren Zeit ohne die Zustimmung des
Betriebssystems herunterfahren. Zweitens befindet sich die
ganze APM-Logik im BIOS;
das Betriebssystem hat gar keine
APM-Komponenten. Bei Problemen mit dem
APM-BIOS muss das
Flash-ROM aktualisiert werden. Diese Prozedur ist gefährlich,
da sie im Fehlerfall das System unbrauchbar machen kann. Zum
Dritten ist APM eine Technik, die
herstellerspezifisch ist und nicht koordiniert wird. Fehler im
BIOS eines Herstellers werden nicht unbedingt
im BIOS anderer Hersteller korrigiert. Das
letzte Problem ist, dass im
APM-BIOS nicht genügend
Platz vorhanden ist, um eine durchdachte oder eine auf den Zweck
der Maschine zugeschnittene Energieverwaltung zu
implementieren.Das Plug and Play BIOS
(PNPBIOS) war in vielen
Situationen ebenfalls unzureichend. Das
PNPBIOS verwendet eine 16-Bit-Technik. Damit
das Betriebssystem das PNPBIOS ansprechen
kann, muss es in einer 16-Bit-Emulation laufen. &os; stellt
einen APM-Treiber zur Verfügung, welcher für
Systeme benutzt werden sollte, die vor dem Jahr 2000 hergestellt
wurden. Der Treiber wird in &man.apm.4; beschrieben.ACPIAPMDer Nachfolger von APM ist das
Advanced Configuration and Power Interface
(ACPI). ACPI ist ein
Standard verschiedener Hersteller, welcher die Verwaltung von
Hardware und Energiesparfunktionen festlegt. Die
ACPI-Funktionen, die mehr Kontrolle und
Flexibilität bieten, können vom Betriebssystem gesteuert
werden.Dieser Abschnitt zeigt die Konfiguration von
ACPI unter &os;. Zudem werden einige Tipps
zur Fehlersuche vorgestellt und wie Sie Problemberichte
einreichen können, sodass Entwickler
ACPI-Probleme erfassen und beheben
können.Konfiguration des ACPIDer &man.acpi.4;-Treiber wird standardmäßig beim
Systemstart vom &man.loader.8; geladen und sollte daher
nicht fest in den Kernel eingebunden
werden. Der Treiber kann im laufenden Betrieb nicht entfernt
werden, da er zur Kommunikation mit der Hardware verwendet
wird. Falls jedoch Probleme auftreten, kann
ACPI auch komplett deaktiviert werden.
Dazu muss hint.acpi.0.disabled="1" in
/boot/loader.conf gesetzt und
anschließend das System neu gestartet werden. Alternativ
können Sie diese Variable auch am &man.loader.8;-Prompt
eingeben, wie in
beschrieben.ACPI und APM
können nicht zusammen verwendet werden. Das zuletzt
geladene Modul beendet sich, sobald es bemerkt, dass das
andere Modul geladen ist.Mit acpiconf können Sie das System in
einen Ruhemodus (sleep mode)
versetzen. Es gibt verschiedene Modi
(von 1 bis 5), die Sie
auf der Kommandozeile mit angeben können.
Für die meisten Anwender sind die Modi 1
und 3 völlig ausreichend. Der Modus
5 schaltet das System
aus (Soft-off) und entspricht
dem Befehl halt -p.Verschiedene Optionen können mit sysctl
gesetzt werden. Lesen Sie dazu &man.acpi.4; sowie
&man.acpiconf.8;.Häufige ProblemeACPIACPI gibt es in allen modernen Rechnern
- der ia32- (x86), ia64- (Itanium) und amd64-
+ der ia32- (x86) und amd64-
(AMD) Architektur.
Der vollständige Standard bietet Funktionen zur Steuerung und
Verwaltung der CPU-Leistung, der
Stromversorgung, von Wärmebereichen, Batterien, eingebetteten
Controllern und Bussen. Auf den meisten Systemen wird nicht
der vollständige Standard implementiert. Arbeitsplatzrechner
besitzen meist nur Funktionen zur Verwaltung der Busse,
während Notebooks Funktionen zur Temperaturkontrolle und
Ruhezustände besitzen.Ein ACPI konformes System besitzt
verschiedene Komponenten. Die BIOS- und
Chipsatz-Hersteller stellen mehrere statische Tabellen bereit,
zum Beispiel die
Fixed-ACPI-Description-Table
(FADT). Die Tabellen enthalten
beispielsweise die mit SMP-Systemen
benutzte APIC-Map, Konfigurationsregister
und einfache Konfigurationen. Zusätzlich gibt es die
Differentiated-System-Description-Table
(DSDT), die Bytecode enthält. Die Tabelle
ordnet Geräte und Methoden in einem baumartigen Namensraum
an.Ein ACPI-Treiber muss die statischen
Tabellen einlesen, einen Interpreter für den Bytecode
bereitstellen und die Gerätetreiber im Kernel so
modifizieren, dass sie mit dem
ACPI-Subsystem kommunizieren. Für &os;,
&linux; und NetBSD hat &intel; den Interpreter
ACPI-CA, zur Verfügung gestellt. Der
Quelltext zu ACPI-CA befindet sich im
Verzeichnis src/sys/contrib/dev/acpica.
Die Schnittstelle von ACPI-CA zu &os;
befindet sich unter
src/sys/dev/acpica/Osd. Treiber, die
verschiedene ACPI-Geräte implementieren,
befinden sich im Verzeichnis
src/sys/dev/acpica.ACPIProbleme mitDamit ACPI richtig funktioniert,
müssen alle Teile funktionieren. Im Folgenden
finden Sie eine Liste mit Problemen und möglichen
Abhilfen oder Korrekturen. Die Liste ist nach
der Häufigkeit, mit der die Probleme auftreten,
sortiert. Wenn eine Korrektur das Problem nicht
behebt, finden Sie in
Anweisungen, wie Sie einen Problembericht einreichen
können.MausproblemeEs kann vorkommen, dass die Maus nicht mehr
funktioniert, wenn Sie nach einem Suspend weiterarbeiten
wollen. Ist dies bei Ihnen der Fall, reicht es meistens
aus, den Eintrag
hint.psm.0.flags="0x3000" in
/boot/loader.conf aufzunehmen.Suspend/ResumeACPI kennt drei
Suspend-to-RAM-Zustände
(STR),
S1-S3 sowie einen
Suspend-to-Disk-Zustand (STD)
S4. STD kann auf zwei
Arten implementiert werden:
S4BIOS und
S4OS. Im ersten Fall
wird der Suspend-to-Disk-Zustand durch das
BIOS hergestellt im zweiten Fall alleine
durch das Betriebssystem. Der Zustand S5
wird Soft off genannt. In diesem Zustand
befindet sich ein Rechner, wenn die Stromversorgung
angeschlossen ist, der Rechner aber nicht hochgefahren
ist.Benutzen Sie sysctl hw.acpi um die
Suspend-Zustände zu ermitteln. Diese Beispielausgabe stammt
von einem Thinkpad:hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0Diese Ausgabe besagt, dass mit dem Befehl
acpiconf -s die Zustände
S3, S4
und S5 eingestellt werden können.
Hätte den Wert
1, gäbe es den Zustand
S4BIOS anstelle
von S4.Wenn Sie die Suspend- und Resume-Funktionen
testen, fangen Sie mit dem S1-Zustand
an, wenn er angeboten wird. Dieser Zustand wird
am ehesten funktionieren, da der Zustand wenig
Treiber-Unterstützung benötigt. Der Zustand
S2 ist ähnlich wie
S1, allerdings hat ihn noch niemand
implementiert. Als nächstes sollten Sie den
Zustand S3 ausprobieren. Dies
ist der tiefste STR-Schlafzustand.
Dieser Zustand ist auf massive Treiber-Unterstützung
angewiesen, um die Geräte wieder richtig zu
initialisieren.Ein häufiges Problem mit Suspend/Resume ist,
dass viele Gerätetreiber ihre Firmware, Register
und Gerätespeicher nicht korrekt speichern,
wiederherstellen und/oder reinitialisieren. Um dieses
Problem zu lösen, sollten Sie zuerst die
folgenden Befehle ausführen:&prompt.root; sysctl debug.bootverbose=1
&prompt.root; sysctl debug.acpi.suspend_bounce=1
&prompt.root; acpiconf -s 3Dieser Test emuliert einen Suspend/Resume-Zyklus für
alle Geräte (ohne dass diese dabei wirklich in den Status
S3 wechseln). In vielen Fällen
reicht dies bereits aus, um Probleme (beispielsweise
verlorener Firmware-Status, Timeouts, hängende Geräte)
zu entdecken. Beachten Sie dabei, dass das Gerät bei
diesem Test nicht wirklich in den Status
S3 wechseln. Es kann also vorkommen,
dass manche Geräte weiterhin mit Strom versorgt werden (dies
wäre bei einem wirklichen Wechsel in den Status
S3 NICHT möglich.
Andere Geräte werden normal weiterarbeiten, weil sie
über keine Suspend/Resume-Funktionen verfügen.Schwierigere Fälle können den Einsatz
zusätzlicher Hardware (beispielsweise serielle
Ports/Kabel für die Verbindung über eine
serielle Konsole oder Firewire-Ports/Kabel für
&man.dcons.4;) sowie Kenntnisse im Bereich
Kerneldebugging erforderlich machen.Um das Problem einzugrenzen, entladen Sie soviele
Treiber wie möglich. Wenn das funktioniert, laden Sie einen
Treiber nach dem anderen, bis der Fehler wieder auftritt.
Typischerweise verursachen binäre Treiber wie
nvidia.ko, Grafiktreiber und
USB-Treiber die meisten Fehler,
hingegen laufen Ethernet-Treiber für gewöhnlich
sehr zuverlässig. Wenn ein Treiber
zuverlässig geladen und entfernt werden kann,
können Sie den Vorgang automatisieren, indem
Sie die entsprechenden Kommandos in
/etc/rc.suspend und
/etc/rc.resume einfügen.
In den Dateien finden Sie ein deaktiviertes Beispiel,
das einen Treiber lädt und wieder entfernt.
Ist die Bildschirmanzeige bei der Wiederaufnahme
des Betriebs gestört, setzen Sie die
Variable auf
1. Versuchen Sie auch, die Variable
auf kürzere
Zeitspannen zu setzen.Die Suspend- und Resume-Funktionen können
Sie auch auf einer neuen &linux;-Distribution
mit ACPI testen. Wenn es mit
&linux; funktioniert, liegt das Problem wahrscheinlich
bei einem &os;-Treiber. Es hilft uns, das Problem
zu lösen, wenn Sie feststellen können, welcher
Treiber das Problem verursacht. Beachten Sie bitte,
dass die ACPI-Entwickler normalerweise
keine anderen Treiber pflegen (beispielsweise Sound- oder
ATA-Treiber). Es ist wohl das beste,
die Ergebnisse der Fehlersuche an die Mailingliste
&a.current.name; und den Entwickler des Treibers
zu schicken. Erfahrene Benutzer können versuchen, den
Fehler in der Resume-Funktion zu finden, indem
sie einige &man.printf.3;-Anweisungen in den Code
des fehlerhaften Treibers einfügen.Schließlich können Sie ACPI
noch abschalten und stattdessen APM
verwenden. Wenn die Suspend- und Resume-Funktionen mit
APM funktionieren, sollten Sie
besser APM verwenden
(insbesondere mit alter Hardware von vor dem Jahr 2000).
Die Hersteller benötigten einige Zeit, um
ACPI korrekt zu implementieren, daher
gibt es mit älterer Hardware oft
ACPI-Probleme.SystemhängerDie meisten Systemhänger entstehen durch verlorene
Interrupts oder einen Interrupt-Sturm.
Probleme werden verursacht durch die Art, in der das
BIOS Interrupts vor dem Systemstart
konfiguriert, durch eine fehlerhafte
APIC-Tabelle und durch die
Zustellung des System-Control-Interrupts
(SCI).Interrupt-SturmAnhand der Ausgabe des Befehls
vmstat -i können Sie verlorene
Interrupts von einem Interrupt-Sturm unterscheiden.
Untersuchen Sie die Ausgabezeile, die
acpi0 enthält. Ein Interrupt-Sturm liegt
vor, wenn der Zähler öfter als ein paar Mal pro Sekunde
hochgezählt wird. Wenn sich das System aufgehangen hat,
versuchen Sie mit der Tastenkombination
CtrlAltEsc in den Debugger DDB
zu gelangen. Geben Sie dort den Befehl
show interrupts ein.APICdeaktivierenWenn Sie Interrupt-Probleme haben, ist es vorerst
wohl am besten, APIC zu deaktivieren.
Tragen Sie dazu die Zeile
hint.apic.0.disabled="1" in
/boot/loader.conf ein.Abstürze (Panics)Panics werden so
schnell wie möglich behoben; mit ACPI
kommt es aber selten dazu. Zuerst sollten Sie
die Panic reproduzieren und dann versuchen einen
backtrace (eine
Rückverfolgung der Funktionsaufrufe) zu erstellen.
Richten Sie dazu den DDB über
die serielle Schnittstelle (siehe
) oder eine gesonderte
&man.dump.8;-Partition ein. In DDB
können Sie den backtrace
mit dem Kommando tr erstellen.
Falls Sie den backtrace
vom Bildschirm abschreiben müssen, schreiben
Sie bitte mindestens die fünf ersten und die
fünf letzten Zeile der Ausgabe auf.Versuchen Sie anschließend, das Problem
durch einen Neustart ohne ACPI
zu beseitigen. Wenn das funktioniert hat, können
Sie versuchen, das verantwortliche
ACPI-Subsystem durch Setzen der
Variablen
herauszufinden. Die Hilfeseite &man.acpi.4; enthält
dazu einige Beispiele.Nach einem Suspend oder einem Stopp startet
das System wiederSetzen Sie zuerst
in
/boot/loader.conf. Damit wird
verhindert, dass ACPI während des
Systemabschlusses die Bearbeitung verschiedener Ereignisse
deaktiviert. Auf manchen Systemen muss die Variable den
Wert 1 besitzen (die Voreinstellung).
Normalerweise wird der unerwünschte Neustart des Systems
durch Setzen dieser Variablen behoben.BIOS mit fehlerhaftem BytecodeACPIASLEinige BIOS-Hersteller liefern einen
fehlerhaften Bytecode aus. Dies erkennen Sie an
Kernelmeldungen wie diesen:ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUNDOft können Sie das Problem dadurch lösen, dass Sie eine
aktuelle BIOS-Version einspielen. Die
meisten Meldungen auf der Konsole sind harmlos, wenn aber
beispielsweise der Batteriestatus falsch angezeigt wird,
können Sie in den Meldungen nach Problemen suchen.Die voreingestellte ASL
überschreibenDer BIOS-Bytecode, bekannt als
ACPI Maschine Language
(AML) wird aus der Sprache namens
ACPI Source Language
(ASL) übersetzt. Die
AML ist in einer Tabelle, bekannt als
Differentiated System Description Table
(DSDT), abgelegt.ACPIASLEs ist das Ziel von &os;, dass
ACPI ohne Eingriffe des Benutzers
läuft. Zurzeit werden allerdings noch Abhilfen für Fehler
der BIOS-Hersteller entwickelt.
Der µsoft;-Interpreter (acpi.sys
und acpiec.sys) prüft die
ASL nicht streng gegen den Standard.
Daher reparieren BIOS-Hersteller,
die ACPI nur unter &windows; testen,
ihre ASL nicht. Die &os; Entwickler
hoffen, dass sie das vom Standard abweichende Verhalten des
µsoft;-Interpreters dokumentieren und in &os; replizieren
können. Dadurch müssen Benutzer ihre
ASL nicht selbst reparieren.Um bei der Fehlersuche zu helfen und das Problem
möglicherweise zu beheben, kann eine Kopie der
ASL gemacht werden. Dazu nutzen Sie
acpidump zusammen mit ,
um den Inhalt der Tabelle anzuzeigen und ,
um die AML zu zerlegen:&prompt.root; acpidump -td > my.aslEinige AMLs gehen davon aus, dass
der Anwender eine &windows;-Versionen benutzt. Versuchen
Sie das Betriebssystem, das Sie in der ASL
finden, in /boot/loader.conf anzugeben:
hw.acpi.osname="Windows 2009".Manche Abhilfen erfordern eine Anpassung von
my.asl. Wenn diese Datei bearbeitet
wird, erstellen Sie die neue ASL mit dem
folgenden Befehl. Warnung können meistens ignoriert werden,
aber Fehler verhindern die ordnungsgemäße Funktion von
ACPI.&prompt.root; iasl -f my.aslDie Option erzwingt das Erstellen der
AML auch dann, wenn während der Übersetzung
Fehler auftreten. Einige Fehler, wie fehlende
Return-Anweisungen, werden automatisch vom &os; Interpreter
umgangen.Die voreingestellte Ausgabedatei von
iasl ist DSDT.aml.
Wenn Sie diese Datei anstelle der fehlerhaften Kopie des
BIOS laden wollen, editieren Sie
/boot/loader.conf wie folgt:acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"Stellen Sie bitte sicher, dass sich
DSDT.aml in
/boot befindet und starten Sie das
System neu. Wenn dadurch das Problem behoben wird, schicken
Sie einen &man.diff.1; der alten und der neuen
ASL an &a.acpi.name;, damit die
Entwickler das Problem in acpica
umgehen können.Abrufen und Einreichen von Informationen zur
FehlersucheNateLawsonGeschrieben von PeterSchultzMit Beiträgen von TomRhodesACPIProbleme mitACPIFehlersucheDer ACPI-Treiber besitzt
flexible Möglichkeiten zur Fehlersuche. Sie
können sowohl die zu untersuchenden Subsysteme
als auch die zu erzeugenden Ausgaben festlegen. Die zu
untersuchenden Subsysteme werden als layer
angegeben und in Komponenten
(ACPI_ALL_COMPONENTS) und
ACPI-Hardware
(ACPI_ALL_DRIVERS) aufgeteilt.
Welche Meldungen ausgegeben werden, wird über
level gesteuert. Die Level reichen von von
ACPI_LV_ERROR (es werden nur Fehler
ausgegeben) bis zu ACPI_LV_VERBOSE (alles
wird ausgegeben). Das Level ist eine Bitmaske, sodass
verschiedene Stufen auf einmal (durch Leerzeichen getrennt)
angegeben werden können. Die erzeugte Ausgabemenge passt
vielleicht nicht in den Konsolenpuffer. In diesem Fall sollte
die Ausgabe mithilfe einer seriellen Konsole gesichert werden.
Die möglichen Werte für layers und
level werden in &man.acpi.4;
beschrieben.Die Ausgaben zur Fehlersuche sind in der Voreinstellung
nicht aktiviert. Wenn ACPI im Kernel
enthalten ist, fügen Sie options ACPI_DEBUG
zur Kernelkonfigurationsdatei hinzu. Sie können die
Ausgaben zur Fehlersuche global aktivieren, indem Sie in der
Datei /etc/make.conf die Zeile
ACPI_DEBUG=1 einfügen. Das Modul
acpi.ko können Sie wie folgt
neu übersetzen:&prompt.root; cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1Kopieren Sie anschließend
acpi.ko ins Verzeichnis
/boot/kernel.
In /boot/loader.conf stellen Sie
level und layer ein. Das
folgende Beispiel aktiviert die Ausgabe von Fehlern für
alle ACPI-Komponenten und alle
Hardwaretreiber:debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"Wenn ein Problem durch ein bestimmtes Ereignis,
beispielsweise den Start nach einem Ruhezustand, hervorgerufen
wird, können Sie die Einstellungen für
level und layer auch mit dem
Kommando sysctl vornehmen. In diesem
Fall müssen Sie /boot/loader.conf
nicht editieren. Auf der Kommandozeile geben Sie über
sysctl dieselben Variablennamen wie in
/boot/loader.conf an.ACPIProbleme mitSobald Sie die Fehlerinformationen gesammelt haben,
schicken Sie diese an &a.acpi.name;, sodass die Betreuer des
&os;-ACPI-Subsystems diese Informationen
zur Analyse und für die Entwicklung einer Lösung verwenden
können.Bevor Sie einen Fehlerbericht an diese Mailingliste
einreichen, stellen Sie bitte sicher, dass das
BIOS und die Firmware des Controllers
aktuell sind.Wenn Sie einen Fehlerbericht einsenden, fügen Sie bitte
die folgenden Informationen ein:Beschreiben Sie den Fehler und alle Umstände,
unter denen der Fehler auftritt. Geben Sie
ebenfalls den Typ und das Modell Ihres Systems
an. Wenn Sie einen neuen Fehler entdeckt haben,
versuchen Sie möglichst genau zu beschreiben,
wann der Fehler das erste Mal aufgetreten ist.Die Ausgabe von dmesg nach der
Eingabe von boot -v.
Geben Sie auch alle Fehlermeldungen an, die erscheinen,
wenn Sie den Fehler provozieren.Die Ausgabe von dmesg nach der
Eingabe von boot -v und mit
deaktiviertem ACPI, wenn das Problem
ohne ACPI nicht auftritt.Die Ausgabe von sysctl hw.acpi.
Dieses Kommando zeigt die vom System unterstützten
ACPI-Funktionen an.Die URL, unter der die
ASL liegt. Schicken Sie
bitte nicht die
ASL an die Mailingliste, da die
ASL sehr groß sein kann. Eine Kopie
der ASL erstellen Sie mit dem
nachstehenden Befehl:&prompt.root; acpidump -td > name-system.aslSetzen Sie für name
den Namen des Kontos und für
system den Hersteller und
das Modell des Systems ein. Zum Beispiel:
njl-FooCo6000.asl.Obwohl die meisten Entwickler die Mailingliste
&a.current.name; lesen, sollten Sie Fehlerberichte an
die Liste &a.acpi.name; schicken. Seien Sie bitte
geduldig; wir haben alle Arbeit außerhalb des Projekts.
Wenn der Fehler nicht offensichtlich ist, bitten
wir Sie vielleicht, einen offiziellen Fehlerbericht
(PR) einzusenden.
Geben Sie im Fehlerbericht bitte dieselben Informationen
wie oben an. Mithilfe der PRs
verfolgen und lösen wir Probleme. Senden Sie
bitte keinen PR ein, ohne vorher
den Fehlerbericht an die Liste &a.acpi.name; zu senden.
Es kann sein, dass der Fehler schon von
jemand anderem gemeldet wurde.ReferenzenWeitere Informationen über ACPI finden
Sie hier:Die &os; ACPI Mailingliste
(https://lists.freebsd.org/pipermail/freebsd-acpi/)Die ACPI 2.0 Spezifikation (http://acpi.info/spec.htm)&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
&man.iasl.8; und &man.acpidb.8;
Index: head/de_DE.ISO8859-1/books/handbook/eresources/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/eresources/chapter.xml (revision 53634)
+++ head/de_DE.ISO8859-1/books/handbook/eresources/chapter.xml (revision 53635)
@@ -1,2481 +1,2460 @@
Ressourcen im InternetGedruckte Medien können mit der schnellen Entwicklung von &os;
nicht Schritt halten. Elektronische Medien sind häufig die
einzige Möglichkeit, über aktuelle Entwicklungen informiert zu
sein. Da &os; ein Projekt von Freiwilligen ist, gibt die
Benutzergemeinde selbst auch technische Unterstützung. Die
Benutzergemeinde erreichen Sie am besten über E-Mail,
Internetforen oder Usenet-News.Die wichtigsten Wege, auf denen Sie die &os;-Benutzergemeinde
erreichen können, sind unten dargestellt. Schicken Sie weitere
Ressourcen, die hier fehlen, an die Mailingliste des &a.doc;,
damit diese hier aufgenommen werden können.WebseitenDie
&os; Foren dienen als webbasiertes Diskussionsforum
für Fragen und technische Diskussionen zu &os;.Der
BSDConferences YouTube-Kanal beinhaltet eine
Sammlung von qualitativ hochwertigen Videos von BSD
Konferenzen aus der ganzen Welt. Dies ist eine
ausgezeichnete Art und Weise, den Entwicklern beim
Präsentieren von neuen Arbeiten an &os; zuzuschauen.MailinglistenDie Mailinglisten sind der direkteste Weg, um Fragen an das
gesamte &os; Publikum zu stellen oder eine technische Diskussion
zu beginnen. Es existiert eine große Vielfalt von Listen mit
einer Reihe von verschiedenen &os; Themen. Wenn Sie Fragen an
die richtige Mailingliste richten können Sie viel eher mit einer
passenden Antwort darauf rechnen.Die Chartas der verschiedenen Listen sind unten
wiedergegeben. Bevor Sie sich einer Mailingliste
anschließen oder E-Mails an eine Liste senden, lesen Sie bitte
die Charta der Liste. Die meisten Mitglieder der
Mailinglisten erhalten jeden Tag Hunderte E-Mails zum Thema
&os;. Die Chartas und Regeln, die den Gebrauch der Listen
beschreiben, garantieren die hohe Qualität der Listen. Die
Listen würden ihren hohen Wert für das Projekt verlieren, wenn
wir weniger Regeln aufstellen würden.Um zu testen, ob Sie eine Nachricht an eine
&os;-Liste senden können, verwenden Sie bitte die Liste
&a.test.name;. Schicken Sie derartige
Nachrichten bitte nicht an eine der anderen Listen.Wenn Sie Sich nicht sicher sind, auf welcher Liste Sie Ihre
Frage stellen sollen, sollten Sie den Artikel
How to get best results from the FreeBSD-questions mailing
list lesen.Bevor Sie eine Nachricht an eine Mailingliste senden,
sollten Sie die korrekte Nutzung der Mailinglisten erlernen.
Dazu gehört auch das Vermeiden von sich häufig wiederholenden
Diskussionen (lesen Sie deshalb zuerst die
Mailing List Frequently Asked Questions).Alle Mailinglisten werden archiviert und können auf dem
&os; World Wide
Web Server durchsucht werden. Das nach
Schlüsselwörtern durchsuchbare Archiv bietet die hervorragende
Möglichkeit, Antworten auf häufig gestellte Fragen zu finden.
Nutzen Sie bitte diese Möglichkeit, bevor Sie Fragen auf einer
Liste stellen. Beachten Sie auch, dass das zur Folge hat, dass
die Nachrichten an die &os; Mailinglisten für die Ewigkeit
erhalten bleiben. Wenn Sie am Schutz Ihrer Privatsphäre
interessiert sind, ziehen Sie die Verwendung einer
Wegwerf-E-Mail-Adresse in Betracht und schreiben Sie nur solche
Nachrichten, die für die Öffentlichkeit bestimmt sind.Beschreibung der MailinglistenAllgemeine Listen: Jeder kann die
folgenden allgemeinen Listen abonnieren (und ist dazu
aufgefordert):MailinglisteZweck&a.advocacy.name;Verbreitung von &os;&a.announce.name;Wichtige Ereignisse und Meilensteine des
Projekts (moderiert)&a.arch.name;Architektur und Design von &os;&a.bugbusters.name;Diskussionen über die Pflege der &os;
Fehlerberichte-Datenbank und die dazu benutzten
Werkzeuge&a.bugs.name;Fehlerberichte&a.chat.name;Nicht technische Themen, welche die
&os;-Gemeinschaft betreffen&a.chromium.name;Diskussionen zum Einsatz von Chromium unter
&os;&a.current.name;Gebrauch von &os.current;&a.isp.name;Für Internet-Service-Provider, die &os;
benutzen&a.jobs.name;Anstellung und Beratung im &os;-Umfeld&a.questions.name;Benutzerfragen und technische
Unterstützung&a.security-notifications.name;Ankündigungen zum Thema
Sicherheit (moderiert)&a.stable.name;Gebrauch von &os.stable;&a.test.name;Schicken Sie Testnachrichten an diese Liste
anstelle der wirklichen Listen&a.women.name;&os; Befürwortung von FrauenTechnische Listen: Auf den folgenden
Listen werden technische Diskussionen geführt. Bevor Sie eine
der Listen abonnieren oder Nachrichten an sie schicken, lesen
Sie sich die Charta der Liste durch, da der Inhalt und Zweck
dieser Listen genau festgelegt ist.MailinglisteZweck&a.acpi.name;Entwicklung von ACPI&a.afs.name;Portierung von AFS nach &os;&a.amd64.name;Portierung von &os; auf
AMD64-Systeme (moderiert)&a.apache.name;Diskussion über Ports, die mit
Apache
zusammenhängen.&a.arm.name;Portierung von &os; auf &arm;-Prozessoren&a.atm.name;Benutzung von ATM-Netzen mit &os;&a.bluetooth.name;&bluetooth; unter &os; verwenden&a.cloud.name;&os; auf Cloud-Plattformen (EC2, GCE, Azure,
etc.)&a.cluster.name;Benutzung von &os; in einem Cluster&a.database.name;Diskussion über Datenbanken und
Datenbankprogrammierung unter &os;&a.desktop.name;&os; als Desktop verwenden und verbessern&a.dev-ci.name;Build- und Testberichte von den
Continuous Integration
Servern&a.dev-reviews.name;Benachrichtigungen über das Review-System
von &os;&a.doc.name;Erstellen der &os;-Dokumentation&a.drivers.name;Gerätetreiber für &os; schreiben&a.dtrace.name;Entwicklung und Benutzung von DTrace unter
&os;&a.eclipse.name;Für &os;-Anwender, welche die Eclipse IDE, deren
Werkzeuge, Anwendungen und Ports einsetzen&a.elastic.name;Diskussion zu ElasticSearch unter &os;&a.embedded.name;&os; in eingebetteten Anwendungen
einsetzen&a.emulation.name;Emulation anderer Systeme wie &linux;, &ms-dos;
oder &windows;&a.enlightenment.name;Portierung von
Enlightenment und
Enlightenment-Applikationen&a.eol.name;Support für &os;-bezogene Software, die vom
&os; Project offiziell nicht mehr unterstützt
wird.&a.erlang.name;&os;-spezifische Erlang-Diskussionen&a.firewire.name;Technische Diskussion über &os; &firewire;
(iLink, IEEE 1394)&a.fortran.name;Fortran unter &os;&a.fs.name;Dateisysteme&a.games.name;Unterstützung für Spiele unter &os;&a.gecko.name;Angelegenheiten zur
Gecko Rendering Engine&a.geom.name;Diskussion über GEOM&a.git.name;Diskussionen zur Verwendung von git im &os;
Project&a.gnome.name;Portierung von GNOME
und
GNOME-Anwendungen&a.hackers.name;Allgemeine technische Diskussionen&a.haskell.name;&os;-spezifische Haskell-Themen und
Diskussionen&a.hardware.name;Allgemeine Diskussion über Hardware, auf der &os;
läuft&a.i18n.name;Internationalisierung von &os;&a.ia32.name;&os; für die IA-32 (&intel; x86)
Plattform
- &a.ia64.name;
- Portierung von &os; auf &intel;s neue
- IA64-Systeme
-
-
- &a.infiniband.name;Infiniband unter &os;&a.ipfw.name;Technische Diskussion über die Neubearbeitung der
IP-Firewall Quellen&a.isdn.name;Für Entwickler des ISDN-Systems&a.java.name;Für &java; Entwickler und Leute, die &jdk;s nach
&os; portieren&a.kde.name;Portierung von KDE und
KDE-Anwendungen&a.lfs.name;Portierung von LFS nach &os;&a.mips.name;Portierung von &os; zu &mips;&a.mobile.name;Diskussionen über mobiles Rechnen&a.mono.name;Mono und C# Anwendungen auf &os;&a.multimedia.name;Multimedia Anwendungen&a.newbus.name;Technische Diskussionen über die Architektur von
Bussen&a.net.name;Diskussion über Netzwerke und den TCP/IP
Quellcode&a.numerics.name;Diskussionen über die Implementierung
hochwertiger Funktionen in libm&a.ocaml.name;&os;-spezifische Diskussionen zu OCaml&a.office.name;Office-Anwendungen für &os;&a.performance.name;Fragen zur Optimierung der Leistung stark
ausgelasteter Systeme&a.perl.name;Pflege der portierten Perl-Anwendungen.&a.pf.name;Diskussionen und Fragen zu
packet filter als
Firewallsystem.&a.pkg.name;Diskussionen über die Verwaltung von Binärpaketen
und entsprechenden Werkzeugen&a.pkg-fallout.name;Protokolle von fehlgeschlagenen
Paketbauvorgängen&a.pkgbase.name;Paketierung des &os;-Basissystems&a.platforms.name;Portierungen von &os; auf nicht-&intel;
Architekturen&a.ports.name;Diskussion über die Ports-Sammlung&a.ports-announce.name;Wichtige Neuigkeiten und Anweisungen zur
Ports-Sammlung (moderiert)&a.ports-bugs.name;Diskussion über Fehler und PRs der Ports&a.ppc.name;Portierung von &os; auf den &powerpc;&a.proliant.name;Technische Diskussionen zum Einsatz von &os; auf
HP ProLiant-Serverplattformen&a.python.name;&os;-spezifische Diskussionen zu Python&a.rc.name;Diskussion über das
rc.d-System sowie dessen
Weiterentwicklung&a.realtime.name;Entwicklung von Echtzeiterweiterungen für
&os;&a.ruby.name;&os;-spezifische Diskussionen zu Ruby&a.scsi.name;Diskussion über das SCSI-Subsystem&a.security.name;Sicherheitsthemen&a.small.name;Gebrauch von &os; in eingebetteten Systemen
(obsolet; verwenden Sie stattdessen
&a.embedded.name;)&a.snapshots.name;Ankündigungen für &os;
Entwickler-Snapshots&a.sparc.name;Portierung von &os; auf &sparc; Systeme&a.standards.name;Konformität von &os; mit den C99- und
&posix;-Standards&a.sysinstall.name;&man.sysinstall.8; Entwicklung&a.tcltk.name;&os; spezifische Tcl/TK Diskussionen&a.testing.name;Tests unter &os;&a.tex.name;Portierung von TeX und
dessen Anwendungen nach &os;&a.threads.name;Leichtgewichtige Prozesse
(Threads) in
&os;&a.tilera.name;Diskussionen zur Portierung von &os; auf die
Tilera-CPU-Familie&a.tokenring.name;Token-Ring Unterstützung in &os;&a.toolchain.name;Wartung der &os;-Toolchain&a.translators.name;Übersetzung von &os;-Dokumenten und
Programmen.&a.transport.name;Diskussion über Transportprotokolle in
&os;&a.usb.name;USB-Unterstützung in &os;&a.virtualization.name;Diskussion über verschiedene
Virtualisierungsverfahren, die von &os; unterstützt
werden&a.vuxml.name;Diskussion über die Infrastruktur von
VuXML&a.x11.name;Wartung und Unterstützung von X11
auf &os;&a.xen.name;Diskussionen über die &os; Portierung auf &xen; -
Implementierung und Verwendung&a.xfce.name;Portierung und Wartung von
XFCE&a.zope.name;Zope für &os; -
Portierung und WartungEingeschränkte Listen: Die folgenden
Listen wenden sich an Zielgruppen mit speziellen Anforderungen
und sind nicht für die Öffentlichkeit gedacht. Bevor Sie eine
dieser Listen abonnieren, sollten Sie einige der technischen
Listen abonniert haben, um mit den Umgangsformen vertraut zu
sein.MailinglisteZweck&a.hubs.name;Betrieb von &os;-Spiegeln&a.usergroups.name;Koordination von Benutzergruppen&a.wip-status.name;Status von in Arbeit befindlichen
&os;-Tätigkeiten&a.wireless.name;Diskussionen zum 802.11-Stack sowie zur
Entwicklung von Tools und GerätetreibernZusammenfassungen: Alle eben
aufgezählten Listen sind auch in zusammengefasster
Form (digest) erhältlich.
In den Einstellungen Ihres Accounts legen Sie fest,
in welcher Form Sie die Listen empfangen.SVN Listen: Die folgenden Listen
versenden die Log-Einträge zu Änderungen an verschiedenen
Teilen des Quellbaums. Diese Listen sollen nur
gelesen werden, schicken Sie bitte keine
Nachrichten an eine der Listen.MailinglisteTeil des QuellbaumsBeschreibung&a.svn-doc-all.name;/usr/docÄnderungen im doc Subversion Repository
(mit Ausnahme von user,
projects und
translations)&a.svn-doc-head.name;/usr/docÄnderungen im head-Zweig des
doc Subversion Repository&a.svn-doc-projects.name;/usr/doc/projectsÄnderungen im
projects-Bereich des doc
Subversion Repository&a.svn-doc-svnadmin.name;/usr/docÄnderungen an den administrativen Skripten,
Hooks und anderen Konfigurationsdateien des doc
Subversion Repository&a.svn-ports-all.name;/usr/portsAlle Änderungen des ports Subverison
Repository&a.svn-ports-head.name;/usr/portsÄnderungen im head-Zweig des
ports Subversion Repository&a.svn-ports-svnadmin.name;/usr/portsÄnderungen an den administrativen Skripten,
Hooks und anderen Konfigurationsdateien des ports
Subversion Repository&a.svn-src-all.name;/usr/srcÄnderungen im src Subversion Repository (außer
für user und
projects)&a.svn-src-head.name;/usr/srcÄnderungen im head Zweig des src
Subversion Repository (der &os;-CURRENT Zweig)&a.svn-src-projects.name;/usr/projectsÄnderungen im projects
Bereich des src Subversion Repository&a.svn-src-release.name;/usr/srcÄnderungen im releases
Bereich des src Subversion Repository&a.svn-src-releng.name;/usr/srcÄnderungen im releng
Zweig des src Subversion Repository (der
security / release engineering Zweige)&a.svn-src-stable.name;/usr/srcÄnderungen an allen stable Zweigen des src
Subversion Repository&a.svn-src-stable-6.name;/usr/srcÄnderungen im stable/6
Zweig des src Subversion Repository&a.svn-src-stable-7.name;/usr/srcÄnderungen im stable/7
Zweig des src Subversion Repository&a.svn-src-stable-8.name;/usr/srcÄnderungen im stable/8
Zweig des src Subversion Repository&a.svn-src-stable-9.name;/usr/srcÄnderungen im stable/9
Zweig des src Subversion Repository&a.svn-src-stable-10.name;/usr/srcÄnderungen im stable/10
Zweig des src Subversion Repository&a.svn-src-stable-11.name;/usr/srcÄnderungen im stable/11
Zweig des src Subversion Repository&a.svn-src-stable-12.name;/usr/srcÄnderungen im stable/12
Zweig des src Subversion Repository&a.svn-src-stable-other.name;/usr/srcÄnderungen an älteren
stable Zweigen des src
Subversion Repository&a.svn-src-svnadmin.name;/usr/srcÄnderungen an den administrativen Skripten,
hooks, und anderen Daten zur Konfiguration des src
Subversion Repository&a.svn-src-user.name;/usr/srcÄnderungen am experimentellen
user Bereich des src
Subversion Repository&a.svn-src-vendor.name;/usr/srcÄnderungen am Herstellerbereich des src
Subversion RepositoryMailinglisten abonnierenUm eine Liste zu abonnieren, besuchen die Webseite
&a.mailman.lists.link; und klicken dort auf die Liste, die Sie
abonnieren wollen. Sie gelangen dann auf die Webseite der
Liste, die weitere Anweisungen für diese Liste enthält.Um eine Nachricht an eine Mailingliste zu schicken,
schreiben Sie einfach eine E-Mail an
Liste@FreeBSD.org.
Die E-Mail wird dann an alle Mitglieder der Mailingliste
verteilt.Wenn Sie das Abonnement aufheben wollen, folgen Sie der
URL, die am Ende jeder Mail der Liste angegeben ist. Sie
können das Abonnement auch mit einer E-Mail an
Liste-unsubscribe@FreeBSD.org
aufheben.Verwenden Sie bitte die technischen Listen ausschließlich
für technische Diskussionen. Wenn Sie nur an wichtigen
Ankündigungen interessiert sind, abonnieren Sie die
Mailingliste &a.announce;, auf der nur wenige Nachrichten
versendet werden.Chartas der MailinglistenAlle &os;-Mailinglisten besitzen
Grundregeln, die von jedem beachtet werden müssen. Für die
ersten beiden Male, in denen ein Absender gegen diese Regeln
verstößt, erhält er jeweils eine Warnung vom
&os;-Postmaster postmaster@FreeBSD.org. Ein
dritter Verstoß gegen die Regeln führt dazu, dass der Absender
in allen &os;-Mailinglisten gesperrt wird und weitere
Nachrichten von ihm nicht mehr angenommen werden. Wir
bedauern sehr, dass wir solche Maßnahmen ergreifen müssen,
aber heutzutage ist das Internet eine recht rauhe Umgebung, in
der immer weniger Leute Rücksicht aufeinander nehmen.Die Regeln:Das Thema einer Nachricht soll der Charta der Liste,
an die sie gesendet wird, entsprechen. Wenn Sie eine
Nachricht an eine technische Liste schicken, sollte die
Nachricht auch technische Inhalte haben. Fortwährendes
Geschwätz oder Streit mindern den Wert der Liste für alle
Mitglieder und wird nicht toleriert. Benutzen Sie
&a.chat; für allgemeine Diskussionen über &os;.Eine Nachricht sollte an nicht mehr als zwei
Mailinglisten gesendet werden. Schicken Sie eine
Nachricht nur dann an zwei Listen, wenn das wirklich
notwendig ist. Viele Leute haben mehrere Mailinglisten
abonniert und Nachrichten sollten nur zu ungewöhnlichen
Kombinationen der Listen, wie -stable und
-scsi, gesendet werden. Wenn Sie eine
Nachricht erhalten, die im Cc-Feld
mehrere Listen enthält, sollten Sie das Feld kürzen, bevor
Sie eine Antwort darauf verschicken. Unabhängig
von dem ursprünglichen Verteiler sind Sie für Ihre
eigenen Mehrfach-Sendungen selbst
verantwortlich.Persönliche Angriffe und Beschimpfungen sind in einer
Diskussion nicht erlaubt. Dies gilt gleichermaßen für
Benutzer wie Entwickler. Grobe Verletzungen der
Netiquette, wie das Verschicken oder Zitieren von privater
E-Mail ohne eine entsprechende Genehmigung, werden nicht
gebilligt. Die Nachrichten werden aber nicht besonders
auf Verletzungen der Netiquette untersucht. Es kann sein,
dass eine Verletzung der Netiquette durchaus zu der Charta
einer Liste passt, aber der Absender aufgrund der
Verletzung eine Warnung erhält oder gesperrt wird.Werbung für Produkte oder Dienstleistungen, die nichts
mit &os; zu tun haben, sind verboten. Ist die Werbung als
Spam verschickt worden, wird der Absender sofort
gesperrt.Chartas einzelner Listen:&a.acpi.name;Die Entwicklung von ACPI und
Energieverwaltungsfunktionen.&a.afs.name;Andrew File SystemAuf dieser Liste wird die Portierung des AFS von
CMU/Transarc diskutiert.&a.announce.name;Wichtige Ereignisse und
MeilensteineDiese Liste ist für Personen, die nur an den wenigen
Ankündigungen wichtiger Ereignisse interessiert sind.
Die Ankündigungen betreffen Schnappschüsse und
Releases, neue Merkmale von &os; und die Suche nach
freiwilligen Mitarbeitern. Auf der Liste herrscht wenig
Verkehr und sie wird streng moderiert.&a.arch.name;Architektur und Design
von &os;Auf dieser technischen Liste wird die
&os;-Architektur diskutiert. Beispiele für angemessene
Themen sind:Wie das Bausystem zu verändern ist, damit
verschiedene Läufe gleichzeitig möglich
sind.Was am VFS geändert werden muss, damit
Heidemann Schichten eingesetzt werden können.Wie die Schnittstelle der Gerätetreiber
angepasst werden muss, damit derselbe Treiber auf
verschiedenen Bussen und Architekturen eingesetzt
werden kann.Wie ein Netzwerktreiber geschrieben wird.&a.bluetooth.name;&bluetooth; unter &os;Diese Liste diskutiert Probleme der Verwendung
von &bluetooth; unter &os;. Designprobleme,
Implementierungsdetails, Patches, Fehler- und
Statusberichte, Verbesserungsvorschläge sowie
alle anderen mit &bluetooth; zusammenhängenden
Themen werden hier behandelt.&a.bugbusters.name;Bearbeitung der
FehlerberichteAuf dieser Liste wird die Bearbeitung der
Fehlerberichte (PR,
engl. problem report)
koordiniert. Sie dient dem Bugmeister
und allen Leuten, die ein Interesse an der Datenbank der
Fehlerberichte haben, als Diskussionsforum. Auf dieser
Liste werden keine spezifischen Fehler, Fehlerbehebungen
oder PRs diskutiert.&a.bugs.name;FehlerberichteAuf dieser Liste werden Fehlerberichte gesammelt.
Fehlerberichte sollten immer mit
der
Web-Schnittstelle erstellt werden.&a.chat.name;Nicht technische Themen, welche die &os;
Gemeinschaft betreffenAuf dieser Liste werden nicht-technische soziale
Themen diskutiert, die nicht auf die anderen Listen
passen. Hier kann diskutiert werden, ob Jordan wie ein
Frettchen aus einem Zeichentrickfilm aussieht oder
nicht, ob grundsätzlich in Großbuchstaben geschrieben
werden soll, wer zuviel Kaffee trinkt, wo das beste Bier
gebraut wird und wer Bier in seinem Keller braut.
Gelegentlich können auf den technischen Listen wichtige
Ereignisse wie Feste, Hochzeiten oder Geburten
angekündigt werden, aber nachfolgende Nachrichten
sollten auf die Liste &a.chat; gesendet werden.&a.chromium.name;Diskussionen zum Einsatz von Chromium
unter &os;Auf dieser technischen Liste werden Fragen zur
Entwicklung, zur Installation sowie zum Einsatz von
Chromium unter &os; diskutiert.&a.cloud.name;&os; auf verschiedenen Cloud-Plattformen
betreibenDiese Liste diskutiert &os; auf Amazon EC2, Google
Compute Engine, Microsoft Azure und weiteren
Cloud-Plattformen.&a.core.name;&os; Core TeamDies ist eine interne Mailingliste des &os; Core
Teams. Wenn in einer wichtigen Angelegenheit, die &os;
betrifft, entschieden werden muss oder die
Angelegenheit einer genauen Prüfung unterzogen werden
muss, können Nachrichten an diese Liste gesendet
werden.&a.current.name;Gebrauch von
&os.current;Diese Mailingliste ist für die Benutzer von
&os.current; eingerichtet. Auf ihr finden sich
Ankündigungen über Besonderheiten von -CURRENT, von
denen Benutzer betroffen sind. Sie enthält weiterhin
Anweisungen, wie man ein System auf -CURRENT hält.
Jeder, der ein -CURRENT System besitzt, muss diese Liste
lesen. Die Liste ist nur für technische Inhalte
bestimmt.&a.desktop.name;&os; als Desktop verwenden und
verbessernDies ist ein Forum für Diskussionen um &os; auf dem
Desktop. Es wird primär von Desktop-Portierern und
Nutzern verwendet, um Probleme und Verbesserungen zu
&os;s Einsatz auf dem Desktop zu besprechen.&a.doc.name;Auf dieser Mailingliste werden Themen diskutiert,
die im Zusammenhang mit der Erstellung der &os;
Dokumentation stehen.
The &os; Documentation Project besteht
aus den Mitgliedern dieser Liste. Diese Liste steht
jedem offen, Sie sind herzlich eingeladen teilzunehmen
und mitzuhelfen.&a.drivers.name;Gerätetreiber für &os;
schreibenEin Forum für technische Diskussionen über
das Schreiben von Gerätetreibern für &os;.
Daher werden hier vor allem Fragen behandelt, die sich
um das Schreiben von Treibern, welche die APIs des
Kernels nutzen, drehen.&a.dtrace.name;Entwicklung und Benutzung von DTrace unter
&os;DTrace ist Bestandteil von &os; und stellt
Laufzeitinformationen vom Kernel und
Anwendungsprogrammen zur Verfügung. Diese Liste ist für
Diskussionen von Entwicklern und Benutzern.&a.eclipse.name;Für &os;-Anwender, welche die Eclipse
IDE deren Werkzeuge, Anwendungen und Ports
einsetzenDas Ziel dieser Liste ist es, Unterstützung
für all jene zu bieten, die mit der Installation,
Verwendung, Entwicklung und Wartung der Eclipse-IDE
sowie deren Werkzeugen und Anwendungen unter &os; zu
tun haben. Außerdem wird Hilfe bei der
Portierung der IDE und deren Plugins auf &os;
geboten.Zusätzlich soll diese Liste einen
Informationsaustausch zwischen der Eclipse- und der
&os;-Gemeinde ermöglichen, von dem beide
Seiten profitieren können.Obwohl sich diese Liste auf die Anforderungen von
Anwendern konzentriert, möchte sie auch Entwickler
unterstützen, die an der Entwicklung von
&os;-spezifischen Anwendungen unter Nutzung des
Eclipse-Frameworks arbeiten.&a.embedded.name;&os; in eingebetteten Anwendungen
einsetzenDiese Liste diskutiert Themen im Zusammenhang mit
dem Einsatz von ungewöhnlich kleinen und eingebetteten
&os;-Installationen. Auf dieser Liste werden
ausschließlich technische Diskussionen geführt. Unter
eingebetteten Systemen versteht diese Liste Systeme, bei
denen es sich nicht um Desktopsysteme handelt, und die
in der Regel nur einem einzigen Zweck dienen (im
Gegensatz zu Desktopsystemen, die für die Bewältigung
verschiedenster Aufgaben geeignet sind). In die Gruppe
der eingebetteten Systeme gehören beispielsweise
Telefone, Netzwerkgeräte wie Router, Switche oder
PBX-Systeme, PDAs, Verkaufsautomaten und andere
mehr.&a.emulation.name;Emulation anderer Systeme wie &linux;,
&ms-dos; oder &windows;Hier werden technische Diskussionen zum Einsatz von
Programmen, die für andere Betriebssysteme
geschrieben wurden, geführt.&a.enlightenment.name;Enlightenment
Desktop-Umgebung für &os;-Systeme. Dies ist
eine technische Liste, in der nur technische Inhalte
erwartet werden.&a.eol.name;Support für &os;-bezogene Software, die
vom &os; Project offiziell nicht mehr unterstützt
wird.Diese Liste ist für all jene interessant, die
Unterstützung für vom &os; Project offiziell nicht mehr
(in Form von Security Advisories oder Patches)
unterstützte Programme benötigen oder anbieten
wollen.&a.firewire.name;&firewire; (iLink,
IEEE 1394)Auf dieser Liste wird das Design und die
Implementierung eines &firewire;-Subsystems (auch
IEEE 1394 oder iLink) für &os; diskutiert.
Relevante Themen sind die Standards, Busse und ihre
Protokolle, sowie Adapter, Karten und Chipsätze. Des
Weiteren die Architektur und der Quellcode, die nötig
sind, diese Geräte zu unterstützen.&a.fortran.name;Fortran unter &os;Diese Liste ist für Diskussionen rund um
Fortran-Ports unter &os;: Compiler, Bibliotheken,
wissenschaftliche und technische Anwendungen von
Laptops bis hin zu HPC-Clustern.&a.fs.name;DateisystemeDiskussionen über &os;-Dateisysteme. Dies ist eine
technische Liste, in der nur technische Inhalte erwartet
werden.&a.games.name;Spiele unter &os;Eine Liste für technische Diskussionen im
Zusammenhang mit Spielen unter &os;. Die Liste ist
für Personen, die an Portierungen arbeiten und
alternative Lösungen erörtern. Personen, die an
technischen Diskussionen interessiert sind, sind
ebenfalls willkommen.&a.gecko.name;Angelegenheiten zur
Gecko Rendering EngineDies ist ein Forum über
Gecko-Anwendungen, die &os;
verwenden.Die Diskussion dreht sich um die Portierung von
Gecko-Anwendungen, deren Installation, die Entwicklung
sowie deren Unterstützung innerhalb von &os;.&a.geom.name;GEOMDiskussion über GEOM und verwandte
Implementierungen. Dies ist eine technische Liste,
in der nur technische Inhalte erwartet werden.&a.git.name;Verwendung von git im &os;
ProjectDiskussionen über die Verwendung von git in der &os;
Infrastruktur. Personen, die einen Spiegel aufsetzen
wollen, oder allgemeine Fragen zu git unter &os; haben,
können hier Fragen stellen.&a.gnome.name;GNOMEDiskussionen über die grafische
Benutzeroberfläche GNOME.
Dies ist eine technische Liste, in der nur technische
Inhalte erwartet werden.&a.infiniband.name;Infiniband unter &os;Technische Liste mit Diskussionen über Infiniband,
OFED und OpenSM unter &os;.&a.ipfw.name;IP FirewallDiskussionen über eine Neubearbeitung des
IP-Firewall Quelltexts in &os;. Dies ist eine
technische Liste, in der nur technische Inhalte erwartet
werden.
-
-
-
-
- &a.ia64.name;
-
-
- Portierung von &os; auf die
- IA64-Plattform
-
- Dies ist eine technische Liste für diejenigen, die
- &os; auf die IA-64 Plattform von &intel; portieren.
- Themen sind die Probleme bei der Portierung und deren
- Lösung. Interessierte, die der Diskussion folgen
- wollen, sind ebenfalls willkommen.&a.isdn.name;ISDN SubsystemMailingliste für die Entwickler des ISDN Subsystems
von &os;.&a.java.name;&java; EntwicklungMailingliste, auf der die Entwicklung von &java;
Anwendungen für &os; sowie die Portierung und Pflege
von &jdk;s diskutiert wird.&a.jobs.name;Stellenangebote und
StellengesucheIn diesem Forum können Sie Stellenangebote
und Stellengesuche, die mit &os; zu tun haben, aufgeben.
Diese Mailingliste ist nicht
der Ort, um über allgemeine Beschäftigungsprobleme
zu diskutieren; dazu gibt es anderswo geeignete
Foren.Beachten Sie bitte, dass diese Liste, wie die
anderen FreeBSD.org-Listen,
weltweit gelesen wird. Geben Sie daher bitte den
Arbeitsort genau an. Geben Sie bitte auch an, ob
Telearbeit möglich ist und ob Hilfen für einen Umzug
angeboten werden.Benutzen Sie in der E-Mail bitte nur offene Formate
– vorzugsweise nur das Textformat. Andere
Formate, wie PDF oder HTML, werden
von den Lesern akzeptiert. Nicht offene Formate wie
µsoft; Word (.doc) werden
vom Server der Liste abgelehnt.&a.hackers.name;Technische DiskussionenDies ist ein Forum für technische Diskussionen über
&os;. Leute, die aktiv an &os; arbeiten, können hier
Probleme und deren Lösungen diskutieren. Interessierte,
die den Diskussionen folgen wollen, steht die Liste
ebenfalls offen. Auf dieser Liste finden nur technische
Diskussionen statt.&a.hardware.name;Allgemeine Diskussionen über
HardwareAllgemeine Diskussionen über die Hardware, auf der
&os; läuft: Probleme und Ratschläge welche Hardware man
kaufen sollte und welche nicht.&a.hubs.name;&os;-SpiegelAnkündigungen und Diskussionsforum für Leute,
die &os;-Spiegel betreiben.&a.isp.name;Themen für Internet Service
ProviderDiese Liste ist für Internet Service Provider (ISP),
die &os; benutzen. Auf dieser Liste finden nur
technische Diskussionen statt.&a.mono.name;Mono und C# Anwendungen auf
&os;Diese Liste beinhaltet Diskussionen über das Mono
Entwicklungsframework auf &os;. Dies ist eine
technische Mailingliste. Es ist für Personen gedacht,
die aktiv an der Portierung von Mono oder C# Anwendungen
auf &os; sind, um Probleme oder alternative Lösungen zu
beratschlagen. Personen die der technischen Diskussion
folgen möchten sind ebenso willkommen.&a.ocaml.name;&os;-spezifische Diskussionen
zu OCamlDiskussionen im Zusammenhang mit der
OCaml-Unterstützung auf &os;. Dies ist eine technische
Mailingliste für Benutzer, die an OCaml-Ports,
Bibliotheken und Frameworks von Drittanbietern arbeiten.
Auch Benutzer, die an der technischen Diskussion
interessiert sind, sind willkommen.&a.office.name;Office-Anwendungen
für &os;Diskussionen über Office-Anwendungen, ihre
Installation, Entwicklung und Unterstützung innerhalb
von &os;&a.kde.name;KDEDiskussionen über KDE
auf &os;-Systemen. Dies ist eine technische Liste, in
der nur technische Inhalte diskutiert werden.&a.ops-announce.name;Projekt-Infrastruktur
AnkündigungenDiese Liste für Leute gedacht, die an Veränderungen
im Zusammenhang der &os;-Projekt Infrastruktur
interessiert sind.Diese moderierte Liste wird ausschließlich für
Ankündigungen verwendet. Sie können keine Anfragen an
diese Liste stellen und erhalten somit auch keine
Antworten.&a.performance.name;Diskussionsforum mit dem Ziel, die
Leistung von &os; zu verbessern.Auf dieser Liste diskutieren Hacker,
Systemadministratoren und andere Interessierte die
Leistung von &os;. Zulässige Themen sind beispielsweise
Systeme unter hoher Last, Systeme mit Leistungsproblemen
oder Systeme, die Leistungsgrenzen von &os; überwinden.
Jeder, der mithelfen will, die Leistung von &os; zu
verbessern, sollte diese Liste abonnieren. Die Liste
ist technisch anspruchsvoll und geeignet für erfahrene
&os;-Benutzer, Hacker oder Administratoren, die &os;
schnell, robust und skalierbar halten wollen. Auf der
Liste werden Beiträge gesammelt oder Fragen nach
ungelösten Problemen beantwortet. Sie ist kein Ersatz
für das gründliche Studium der Dokumentation.&a.pf.name;Diskussionen und Fragen zu packet filter
als Firewallsystem.&os;-spezifische Diskussionen zur Benutzung von
packet filter (pf) als
Firewallsystem. Sowohl technische Diskussionen als auch
Anwenderfragen sind auf dieser Liste willkommen. Fragen
zum ALTQ QoS Framework können ebenfalls gestellt
werden.&a.pkg.name;Diskussionen über die Verwaltung von
Binärpaketen und entsprechenden
WerkzeugenDiskussionen über die Verwendung von Binärpaketen,
Werkzeuge zur Paketverwaltung, Entwicklung
und Unterstützung innerhalb von &os;, Verwaltung der
Paket-Repositories und die Verwaltung von Paketen
von Drittherstellern.Beachten Sie, dass diese Liste nicht geeignet ist,
um Probleme über nicht gebaute Pakete zu melden. Diese
Probleme werden im allgemeinen als Problem des Ports
betrachtet.&a.pkg-fallout.name;Protokolle von fehlgeschlagenen
PaketbauvorgängenAlle Fehlerprotokolle aus dem Paketcluster.&a.pkgbase.name;Paketierung des
&os;-BasissystemsDiskussion über die Implementierung und Probleme
im Bezug auf die Paketierung des
&os;-Basissystems.&a.platforms.name;Portierung auf nicht-&intel;
PlattformenPlattformübergreifende Themen und Vorschläge
für die Portierung auf nicht-&intel; Plattformen.
Auf dieser Liste finden nur technische Diskussionen
statt.&a.ports.name;Diskussion über die
Ports-SammlungDiskussionen über die &os;-Ports-Sammlung und die
Infrastruktur der Sammlung. Die Liste dient auch der
allgemeinen Koordination der Dinge, welche die
Ports-Sammlung betreffen. Auf dieser Liste finden nur
technische Diskussionen statt.&a.ports-bugs.name;Diskussion über Fehler in den
PortsDiskussion über Fehler in der Ports-Sammlung
(/usr/ports), neue Ports oder
Änderungen an bestehenden Ports. Auf dieser Liste
finden nur technische Diskussionen statt.&a.proliant.name;Technische Diskussionen zum Einsatz von
&os; auf HP
ProLiant-ServerplattformenDiese Mailingliste bietet technische Diskussionen
zum Einsatz von &os; auf der ProLiant-Serverplattform
von HP, darunter Fragen zu ProLiant-spezifischen
Treibern, Konfigurationswerkzeugen sowie
BIOS-Aktualisierungen. Daher ist sie die erste
Anlaufstelle, um die Module hpasmd, hpasmcli, sowie
hpacucli zu diskutieren.&a.python.name;Python unter &os;Diese technische Liste dient der Verbesserung der
Python-Unterstützung unter &os;. Sie wird von
Personen gelesen, die an der Portierung von Python, von
Python-Modulen Dritter und von
Zope nach &os; arbeiten.
Personen, die diese technischen Diskussion verfolgen
wollen, sind ebenfalls willkommen.&a.questions.name;BenutzerfragenAuf dieser Mailingliste können Fragen zu
&os; gestellt werden. Fragen Sie bitte nicht nach
Anleitungen, wenn Sie nicht sicher sind, dass Ihre
Frage wirklich technischer Natur ist.&a.ruby.name;Ruby unter &os;Diese technische Liste dient der Verbesserung der
Ruby-Unterstützung unter &os;. Sie wird von
Personen gelesen, die an der Portierung von Ruby, von
Bibliotheken Dritter und Frameworks arbeiten.
Personen, die diese technischen Diskussionen verfolgen
wollen, sind ebenfalls willkommen.&a.scsi.name;SCSI SubsystemDiese Mailingliste ist für die Entwickler des SCSI
Subsystems von &os;. Auf dieser Liste finden nur
technische Diskussionen statt.&a.security.name;SicherheitsthemenSicherheitsthemen, die &os; betreffen, wie DES,
Kerberos, bekannte Sicherheitslöcher und
Fehlerbehebungen. Stellen Sie bitte auf dieser Liste
keine allgemeinen Fragen zum Thema Sicherheit.
Willkommen sind allerdings Beiträge zur FAQ, das heißt
eine Frage mit der passenden Antwort. Auf dieser Liste
finden nur technische Diskussionen statt.&a.security-notifications.name;Ankündigungen zum Thema
SicherheitAnkündigungen über Sicherheitsprobleme von
&os; und deren Behebungen. Diese Liste ist kein
Diskussionsforum, benutzen Sie &a.security;, um
Sicherheitsthemen zu diskutieren.&a.small.name;Gebrauch von &os; in eingebetteten
Systemen.Diese Liste für ungewöhnlich kleine &os;
Installation oder den Einsatz von &os; in eingebetteten
Systemen gedacht. Auf dieser Liste finden nur
technische Diskussionen statt.Diese Liste wurde durch &a.embedded.name;
ersetzt.&a.snapshots.name;Ankündigungen für &os;
Entwickler-SnapshotsDiese Liste informiert über die Verfügbarkeit von
neuen &os;-Snapshots aus den Zweigen head/ und
stable/.&a.stable.name;Gebrauch
von &os.stable;.Diese Mailingliste ist für die Benutzer von
&os.stable; eingerichtet. -STABLE ist der Zweig, in dem
die Entwicklung nach einen RELEASE stattfindet,
einschließlich Fehlerkorrekturen und neuer Funktionen.
Die ABI wird wegen
Binärkompatibilitäten stabil gehalten. Auf der Liste
finden sich Ankündigungen über Besonderheiten von
-STABLE, von denen Benutzer betroffen sind. Sie enthält
weiterhin Anweisungen, wie man ein System auf -STABLE
hält. Jeder, der ein -STABLE System besitzt, muss diese
Liste lesen. Die Liste ist nur für technische Inhalte
bestimmt.&a.standards.name;Konformität von &os; mit den C99- und
&posix; StandardsDieses Forum ist für technische Diskussionen
über die Konformität von &os; mit den C99- und
&posix;-Standards.&a.teaching.name;Unterrichten mit &os;Mailingliste, die das Unterrichten mit &os;
diskutiert.&a.testing.name;Tests unter &os;Technische Liste, auf der Tests unter &os;
diskutiert werden, einschließlich ATF/Kyua, der
Test/Build-Infrastruktur, und Portierungen von anderen
Betriebssystemen (NetBSD, ...) nach &os;.&a.tex.name;Portierung von
TeX und dessen Anwendungen
nach &os;Technische Liste für Diskussionen im Zusammenhang
mit TeX und dessen
Anwendungen unter &os;. Diese Liste ist für Menschen,
die an der Portierung von TeX
nach &os; arbeiten. Es werden aber auch Probleme und
Lösungen erörtert. Personen, die an technischen
Diskussionen interessiert sind, sind ebenfalls
willkommen.&a.toolchain.name;Wartung der
&os;-ToolchainAuf dieser Mailingliste werden alle Themen rund um
die &os;-Toolchain diskutiert. Dazu gehören der
Status von Clang und GCC, aber auch Fragen zu Programmen
wie Assemblern, Linkern und Debuggern.&a.translators.name;Übersetzung von &os;-Dokumenten und
ProgrammenAuf dieser Liste können Übersetzer von
&os;-Dokumenten über die Methoden und Werkzeuge für
die Übersetzung diskutieren. Neue Benutzer werden
gebeten sich vorzustellen und die Sprache zu
erwähnen, an dessen Übersetzung sie interessiert
sind.&a.transport.name;Diskussion über Transportprotokolle in
&os;Diese Liste behandelt die Probleme und das Design
von &os;s Netzwerkstack, darunter auch TCP, SCTP und
UDP. Andere Netzwerkthemen sollten auf der &a.net;
diskutiert werden.&a.usb.name;USB-Unterstützung in
&os;.Auf dieser Liste finden nur technische Diskussionen
statt.&a.usergroups.name;Koordination von
BenutzergruppenDiese Liste ist für Koordinatoren lokaler
Benutzergruppen und einem ausgesuchten Mitglied des Core
Teams eingerichtet worden. Der Inhalt sollte Inhalte
von Treffen und die Koordination von Projekten mehrerer
Benutzergruppen beschränkt sein.&a.virtualization.name;Diskussion über verschiedene
Virtualisierungsverfahren, die von &os; unterstützt
werdenEine Liste, auf der die verschiedenen
Virtualisierungsverfahren, die von &os; unterstützt
werden, diskutiert werden. Auf der einen Seite liegt
der Fokus auf der Implementierung der zugrundeliegenden
Funktionalitäten, ebenso wie das Hinzufügen neuer
Eigenschaften. Auf der anderen Seite haben die Benutzer
ein Forum, um Fragen bei Problemen zu stellen oder um
ihre Anwendungsfälle zu besprechen.&a.wip-status.name;Status von in Arbeit befindlichen
&os;-TätigkeitenDiese Mailingliste kann dazu verwendet werden,
eigene Kreationen und deren Fortschritt von
&os;-verwandten Tätigkeiten anzukündigen. Die
Nachrichten werden moderiert. Es wird empfohlen,
die Nachricht "An:" eine mehr themenverwandte
&os;-Liste zu senden und diese Liste nur in Blindkopie
zu setzen. Auf diese Weise kann ihre in Arbeit
befindliche Tätigkeit auch auf der themenverwandten
Liste diskutiert werden, da auf dieser Liste keine
Diskussionen erlaubt sind.Sehen Sie sich das Archiv der Liste für passende
Nachrichten an.Redaktionelle Auszüge der Nachrichten an diese Liste
werden eventuell alle paar Monate auf die &os; Webseite
als Teil der Statusberichte https://www.freebsd.org/news/status/
gestellt. Weitere Beispiele und zurückliegende Berichte
können Sie auch dort finden.&a.wireless.name;Diskussionen zum 802.11-Stack sowie zur
Entwicklung von Tools und
GerätetreibernDie Mailingliste freebsd-wireless diskutiert Themen
rund um den 802.11-Stack (sys/net80211). Besprochen
werden die Entwicklung von Tools und Gerätetreibern
sowie auftretende Probleme, neue Funktionen sowie die
Wartung der existierenden Werkzeuge und Treiber.&a.xen.name;Diskussionen über die &os; Portierung auf
&xen; - Implementierung und
VerwendungEine Liste, welche die &os; Portierung auf &xen;
behandelt. Das erwartete Nachrichtenaufkommen ist klein
genug, so dass es als Forum für sowohl technische
Diskussionen über die Implementierung und
Entwurfsdetails, als auch administrative Verteilaspekte
ausgelegt ist.&a.xfce.name;XFCEEine Liste, auf der Fragen zum Einsatz von
XFCE unter &os; diskutiert
werden. Es handelt sich um eine technische
Mailingliste, die sich primär an Entwickler richtet, die
aktiv an der Portierung von
XFCE nach &os; arbeiten.
Aber auch Nutzer, die einfach nur die technischen
Diskussionen verfolgen wollen, sind willkommen.
Diskutiert werden vor allem bei der Portierung
auftretende Probleme und mögliche Lösungswege.&a.zope.name;ZopeEin Forum für Diskussionen darüber, wie man die
Zope-Umgebung auf &os;
portieren kann. Dies ist eine technische Mailingliste.
Sie ist für Leute gedacht, die aktiv an der Portierung
von Zope auf &os; arbeiten,
um aufkommende Probleme oder alternative Lösungsansätze
zu besprechen. Personen, die der technischen Diskussion
folgen möchten, sind ebenfalls willkommen.Filter der MailinglistenUm die Verbreitung von Spam, Viren und anderen nicht
erwünschten E-Mails zu verhindern, werden auf den
&os;-Mailinglisten Filter eingesetzt. Dieser Abschnitt
beschreibt nur einen Teil der zum Schutz der Listen
eingesetzten Filter.Auf den Mailinglisten sind nur die unten aufgeführten
Anhänge erlaubt. Anhänge mit einem anderen MIME-Typ werden
entfernt, bevor eine E-Mail an eine Liste verteilt
wird.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchEinige Mailinglisten erlauben vielleicht Anhänge
mit anderem MIME-Typ. Für die meisten Mailinglisten
sollte die obige Aufzählung aber richtig sein.Wenn eine E-Mail sowohl aus einer HTML-Version wie auch
aus einer Text-Version besteht, wird die HTML-Version
entfernt. Wenn eine E-Mail nur im HTML-Format versendet
wurde, wird sie in reinen Text umgewandelt.Usenet-NewsNeben den Gruppen, die sich ausschließlich mit BSD
beschäftigen, gibt es viele weitere in denen über &os;
diskutiert wird, oder die für &os;-Benutzer wichtig
sind.BSD spezifische Gruppen
comp.unix.bsd.freebsd.announce
comp.unix.bsd.freebsd.misc
de.comp.os.unix.bsd (deutsch)
fr.comp.os.bsd (französisch)Weitere UNIX Gruppencomp.unix
comp.unix.questions
comp.unix.admin
comp.unix.programmer
comp.unix.shell
comp.unix.misc
comp.unix.bsdX Window System
comp.windows.xOffizielle Spiegel
&chap.eresources.www.index.inc;
&chap.mirrors.lastmod.inc;
&chap.eresources.www.inc;
Index: head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml (revision 53634)
+++ head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml (revision 53635)
@@ -1,1415 +1,1414 @@
Konfiguration des &os;-KernelsÜbersichtKernelErstellen eines angepassten KernelsDer Kernel ist das Herz des &os;-Betriebssystems. Er ist
verantwortlich für die Speicherverwaltung, das Durchsetzen von
Sicherheitsdirektiven, Netzwerkfähigkeit, Festplattenzugriffen
und vieles mehr. Obwohl &os; es ermöglicht, dynamisch
konfiguriert zu werden, ist es ab und an notwendig, einen
angepassten Kernel zu konfigurieren und zu kompilieren.Nachdem Sie dieses Kapitel gelesen haben, werden Sie
Folgendes wissen:Wann Sie einen angepassten Kernel kompilieren
sollten.Wie Sie eine Hardware-Inventur durchführen.Wie Sie eine Kernelkonfigurationsdatei verändern.Wie Sie mit der Konfigurationsdatei einen neuen Kernel
kompilieren.Wie Sie den neuen Kernel installieren.Was zu tun ist, falls etwas schiefgeht.Alle Kommandos, aus den Beispielen dieses Kapitels, müssen
mit root-Rechten
ausgeführt werden.Wieso einen eigenen Kernel bauen?Traditionell besaß &os; einen monolithischen
Kernel. Der Kernel war ein einziges großes Programm, das eine
bestimmte Auswahl an Hardware unterstützte. Um das
Kernelverhalten zu ändern, musste man einen neuen Kernel
kompilieren und dann den neuen Kernel booten.Heutzutage befinden sich die meisten Funktionen des
&os;-Kernels in Modulen, die je nach Bedarf dynamisch geladen
und entladen werden können. Dies erlaubt es, einen laufenden
Kernel anzupassen, um sofort neue Hardware und neue Funktionen
zu unterstützen. Dies ist als modularer Kernel bekannt.Gelegentlich ist es noch notwendig, eine statische
Kernelkonfigurationen durchzuführen. In einigen Fällen
ist die Funktion zu systemnah, um durch ein Modul realisiert zu
werden. Andere Umgebungen verhindern vielleicht das Laden und
Entladen von Kernelmodulen und erfordern, dass nur die benötigte
Funktionalität statisch in den Kernel kompiliert wird.Das Erstellen eines angepassten Kernels ist eines der
Rituale für erfahrene BSD-Benutzer. Obwohl dieser
Prozess recht viel Zeit in Anspruch nimmt, kann
er doch viele Vorteile für das &os;-System bringen. Im
Gegensatz zum GENERIC-Kernel, der eine
Vielzahl von Hardware unterstützen muss, kann ein angepasster
Kernel so eingeschränkt werden, dass er nur noch die Hardware
des Rechners unterstützt. Dies hat einige Vorteile:Schnellerer Bootvorgang. Da der Kernel nur
nach der Hardware des Systems sucht, kann sich
die Zeit für einen Systemstart verkürzen.Geringerer Speicherbedarf. Ein eigener Kernel
benötigt in der Regel weniger Speicher als ein
GENERIC-Kernel durch das Entfernen von
Funktionen und Gerätetreibern. Das ist vorteilhaft, denn
der Kernel verweilt immer im RAM und verhindert dadurch,
dass dieser Speicher von Anwendungen genutzt wird. Deshalb
ist ein angepasster Kernel auf einem System mit wenig RAM
sinnvoll.Zusätzliche Hardwareunterstützung. Ein
angepasster Kernel kann Unterstützung für
Geräte bieten, die im
GENERIC-Kernel nicht enthalten
sind.Bevor Sie einen angepassten Kernel erstellen, überlegen Sie
sich bitte, warum Sie dies tun wollen. Wenn Sie lediglich eine
bestimmte Hardwareunterstützung benötigen, existiert diese
vielleicht schon als Kernelmodul.Kernelmodule existieren in /boot/kernel
und können mit &man.kldload.8; dynamisch in den laufenden Kernel
geladen werden. Die meisten Kerneltreiber verfügen über ein
ladbares Modul und eine Manualpage. Der drahtlose
Ethernet-Treiber &man.ath.4; hat die folgenden Informationen in
seiner Manualpage:Alternatively, to load the driver as a module at boot time, place the
following line in &man.loader.conf.5;:
if_ath_load="YES"Durch das Hinzufügen von
if_ath_load="YES" in
/boot/loader.conf wird das Modul dynamisch
beim Systemstart geladen.In manchen Fällen gibt es kein entsprechendes Modul in
/boot/kernel. Dies gilt insbesondere für
bestimmte Subsysteme.Informationen über die vorhandene Hardware
beschaffenBevor die Kernelkonfigurationsdatei bearbeitet wird, ist es
empfehlenswert eine Bestandsaufnahme der Hardware des Systems
durchzuführen. Auf einem Dual-Boot-System können diese
Informationen aus dem anderen Betriebssystem ermittelt werden.
µsoft;s Gerätemanager enthält
beispielsweise Informationen über die installierte
Hardware.Einige Versionen von µsoft.windows; verfügen
über ein System-Icon auf
dem Desktop, über das Sie den
Gerätemanager direkt aufrufen
können.Wenn &os; das einzige installierte Betriebssystem ist, dann
listet &man.dmesg.8; die Hardware auf, die während des
Systemstarts gefunden wurde. Die meisten &os;-Gerätetreiber
haben eine eigene Manualpage, die Informationen über die
unterstützte Hardware enthält. Die folgenden Zeilen zeigen
beispielsweise an, dass der &man.psm.4;-Treiber eine
angeschlossene Maus gefunden hat:psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0Da diese Hardware vorhanden ist, sollte dieser Treiber
nicht aus einer angepassten Kernelkonfigurationsdatei entfernt
werden.Wenn dmesg keine Informationen zur
gefundenen Hardware anzeigt, können diese Informationen auch
aus /var/run/dmesg.boot entnommen
werden.Ein weiteres Werkzeug für die Suche nach Hardware ist
&man.pciconf.8;, das ausführliche Informationen bereitstellt.
Ein Beispiel:&prompt.user; pciconf -lv
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernetDie Ausgabe zeigt, dass der Treiber ath
eine drahtlose Ethernetkarte gefunden hat.Die Option von &man.man.1; kann
verwendet werden, um nützliche Informationen zu erhalten. Um
beispielsweise eine Liste von Manualpages zu erhalten, welche
ein spezifisches Wort enthalten:&prompt.root; man -k Atheros
ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)Mit einer Inventarliste der Hardware können Sie dann
sicherstellen, dass Sie die Treiber der installierten Hardware
nicht versehentlich entfernen, wenn Sie die
Kernelkonfigurationsdatei bearbeiten.Die KernelkonfigurationsdateiBevor eine angepasste Kernelkonfigurationsdatei erstellt
werden kann, muss zuerst der vollständige &os; Quellcodebaum
installiert werden.Falls /usr/src/ nicht existiert oder
leer ist, sind die Kernelquellen nicht installiert. Die Quellen
können mit Subversion und der
Anleitung im installiert werden.Sobald die Quellen installiert sind, können Sie sich einen
Überblick über /usr/src/sys verschaffen.
Dieses Verzeichnis enthält eine Reihe von Unterverzeichnissen,
einschließlich Verzeichnisse für die unterstützten Architekturen
amd64, i386,
- ia64,
powerpc und sparc64.
Alles in diesen Verzeichnissen ist nur für die jeweilige
Architektur relevant. Der Rest des Codes ist maschinenunabhängig
und für alle Architekturen gleich. Jede unterstützte
Architektur hat ein Unterverzeichnis conf,
das die GENERIC Kernelkonfigurationsdatei
für diese Architektur enthält.Bearbeiten Sie GENERIC nicht direkt.
Kopieren Sie stattdessen die Datei unter einem anderen Namen und
machen dann die Änderungen an dieser Kopie. Traditionell
besteht der Name des Kernels immer aus Großbuchstaben. Wenn Sie
mehrere &os;-Maschinen mit unterschiedlicher Hardware betreuen,
ist es eine gute Idee, die Konfigurationsdatei nach den
Hostnamen der Maschinen zu benennen. In diesem Beispiel wird
eine Kopie der
GENERIC Kernelkonfigurationsdatei, namens
MYKERNEL, für die
amd64-Architektur erstellt:&prompt.root; cd /usr/src/sys/amd64/conf
&prompt.root; cp GENERIC MYKERNELMYKERNEL
kann jetzt mit einem Texteditor bearbeitet werden. Der
Standard-Editor ist vi, jedoch steht
mit ee ein weiterer, einfach zu
bedienender Editor bereit.KernelNOTESNOTESKernelKonfigurationsdateiDas Format der Konfigurationsdatei ist einfach. Jede Zeile
enthält ein Schlüsselwort, das ein Gerät oder ein Subsystem
repräsentiert, ein Argument und eine kurze Beschreibung.
Jeder Text, der hinter einem # steht, gilt
als Kommentar und wird ignoriert. Um die Kernel-Unterstützung
für ein Gerät oder Subsystem zu entfernen, muss ein
# an den Anfang der Zeile, die dieses Gerät
oder Subsystem repräsentiert, gesetzt werden. Verändern Sie
keine Zeilen, die Sie nicht genau verstehen.Neben den Kurzbeschreibungen in dieser Datei, finden Sie
zusätzliche Erklärungen in NOTES,
die sich in demselben Verzeichnis wie
GENERIC für die jeweilige Architektur
befindet. Von der Architektur unabhängige Optionen sind in
/usr/src/sys/conf/NOTES aufgeführt.Wenn Sie die Kernelkonfigurationsdatei fertig bearbeitet
haben, sollten Sie eine Sicherungskopie außerhalb von
/usr/src speichernAlternativ kann die Kernelkonfigurationsdatei an anderer
Stelle gespeichert, und ein symbolischer Link auf die Datei
erstellt werden:&prompt.root; cd /usr/src/sys/amd64/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNELEs ist möglich, eine include-Anweisung
in die Kernelkonfigurationsdatei aufzunehmen.
Diese erlaubt das lokale Einfügen von anderen Konfigurationsdateien
in die aktuelle, was es einfacher macht, kleinere Änderungen an
einer existierenden Datei zu vollziehen. Wenn Sie einen
GENERIC-Kernel mit nur einer kleinen Anzahl von
zusätzlichen Optionen und Treibern benötigen, brauchen Sie
mit den folgenden Zeilen nur ein kleines Delta im Vergleich zu GENERIC
anpassen, wie in diesem Beispiel zu sehen:include GENERIC
ident MYKERNEL
options IPFIREWALL
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
Diese Methode zeigt die Unterschiede der lokalen
Konfigurationsdatei zu einem GENERIC-Kernel
an. Sobald Aktualisierungen durchgeführt werden, können neue
Eigenschaften, die zu GENERIC hinzugefügt
werden, auch dem lokalen Kernel angehängt werden, es sei denn,
es wird durch nooptions oder
nodevice unterbunden. Eine umfassende Liste
von Konfigurationseinstellungen und deren Beschreibungen finden
Sie in &man.config.5;.Um einen Kernel mit allen möglichen Optionen zu bauen,
führen Sie als root
die folgenden Befehle aus:&prompt.root; cd /usr/src/sys/arch/conf && make LINTEinen angepassten Kernel bauen und installierenNachdem die Änderungen an der angepassten
Kernelkonfigurationsdatei gespeichert sind, kann der Quellcode
für den Kernel mit den folgenden Schritten übersetzt
werden:Einen Kernel bauenKernelbauen / installierenWechseln Sie das Verzeichnis:&prompt.root; cd /usr/srcBauen Sie den Kernel, indem Sie den Namen der
Kernelkonfigurationsdatei angeben:&prompt.root; make buildkernel KERNCONF=MYKERNELInstallieren Sie den neuen Kernel. Dieser Befehl wird
den neuen Kernel nach
/boot/kernel/kernel kopieren, und den
alten Kernel nach
/boot/kernel.old/kernel
speichern:&prompt.root; make installkernel KERNCONF=MYKERNELFahren Sie das System herunter und starten Sie den neuen
Kernel. Wenn etwas nicht funktioniert, lesen Sie .In der Voreinstellung werden beim Bau eines angepassten
Kernels stets alle Kernelmodule neu gebaut. Um einen Kernel
schneller zu bauen, oder um nur bestimmte Module zu bauen,
bearbeiten Sie /etc/make.conf, bevor Sie
den Kernel neu bauen.In diesem Beispiel werden über eine Variable nur die
Kernelmodule definiert, die auch tatsächlich gebaut werden
sollen. In der Voreinstellung werden alle Module gebaut:MODULES_OVERRIDE = linux acpiAlternativ kann auch eine Variable verwendet werden, die
bestimmte Kernelmodule vom Bauprozess ausschließt:WITHOUT_MODULES = linux acpi soundWeitere Variablen und deren Beschreibung finden Sie in
&man.make.conf.5;./boot/kernel.oldWenn etwas schiefgehtEs gibt vier Hauptfehlerquellen beim Erstellen eines
angepassten Kernels:config verursacht Fehler:Wenn config fehlschlägt, zeigt es
die Nummer der Zeile an, die das Problem verursacht.
Bei der folgenden Fehlermeldung sollten Sie die angegebene
Zeile mit GENERIC oder
NOTES vergleichen und sicherstellen,
dass das Schlüsselwort in Zeile 17 richtig geschrieben
ist:config: line 17: syntax errormake verursacht Fehler:Wenn make fehlschlägt, liegen
meistens Fehler in der Konfigurationsdatei vor, die aber
nicht schwerwiegend genug für config
waren. Überprüfen Sie die Konfiguration und wenn Sie
keinen Fehler entdecken können, schicken Sie eine E-Mail
mit der Kernelkonfigurationsdatei an die Mailingliste
&a.de.questions;.Der Kernel bootet nicht:Wenn der neue Kernel nicht bootet oder die Geräte
nicht erkannt werden, ist das noch kein Grund zur Panik.
Glücklicherweise besitzt &os; einen exzellenten
Mechanismus zur Wiederherstellung nach dem Einsatz
inkompatibler Kernel. Wählen Sie einfach den zu
bootenden Kernel im &os; Bootloader aus. Dazu wählen Sie
im Bootmenü die Option
Escape to a loader prompt. Danach
geben Sie am Prompt
boot
kernel.old
oder den Namen eines anderen Kernels ein, der sauber
bootet.Nun kann die Konfiguration noch einmal überprüft und
der Kernel neu kompiliert werden. Dazu
ist /var/log/messages sehr nützlich,
da hier sämtliche Kernelmeldungen von jedem erfolgreichen
Bootvorgang gespeichert werden. &man.dmesg.8; gibt die
Kernelmeldungen vom letzten Bootvorgang aus.Wenn Sie Probleme beim
Kernelbau bekommen, heben Sie sich immer eine Kopie von
GENERIC oder einen anderen
Kernel, der garantiert bootet, auf. Dies ist sehr
wichtig, weil jedes Mal, wenn ein neuer Kernel
installiert wird, kernel.old
mit dem zuletzt installierten Kernel überschrieben
wird und dieser möglicherweise nicht bootfähig ist.
Verschieben Sie daher den funktionierenden Kernel so
schnell wie möglich, indem Sie das Verzeichnis mit dem
funktionierenden Kernel umbenennen:&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernelDer Kernel funktioniert, aber ps
nichtWenn Sie eine andere Version des Kernels installiert
haben als die, mit der Ihre Systemwerkzeuge gebaut
wurden, beispielsweise einen Kernel aus den
-CURRENT-Quellen auf einem -RELEASE-System, werden
Programme wie &man.ps.1; und &man.vmstat.8; nicht mehr
funktionieren. Um dies zu beheben, sollten Sie das
komplette System neu bauen und
installieren. Achten Sie darauf, dass die
Quellen, aus denen das System gebaut wird, zum
installierten Kernel passt. Man sollte niemals einen
Kernel benutzen, der nicht zur Systemversion passt.