From a47ffe23cc41663f8f81c3aee2e5cf6f9976dd8e Mon Sep 17 00:00:00 2001 From: Bjoern Heidotting Date: Mon, 11 May 2015 11:12:36 +0000 Subject: [PATCH] Fix some style nits found by igor. Approved by: bcr (mentor) --- .../books/handbook/config/chapter.xml | 1542 +++++++++-------- 1 file changed, 863 insertions(+), 679 deletions(-) diff --git a/de_DE.ISO8859-1/books/handbook/config/chapter.xml b/de_DE.ISO8859-1/books/handbook/config/chapter.xml index e1e69defa7..206f91d02f 100644 --- a/de_DE.ISO8859-1/books/handbook/config/chapter.xml +++ b/de_DE.ISO8859-1/books/handbook/config/chapter.xml @@ -7,23 +7,54 @@ $FreeBSDde: de-docproj/books/handbook/config/chapter.xml,v 1.151 2011/12/19 14:55:31 bcr Exp $ basiert auf: r38967 --> - - Konfiguration und Tuning + + + + Konfiguration und Tuning + - ChernLeeGeschrieben von + + + Chern + Lee + + Geschrieben von + + - MikeSmithNach einem Tutorium von + + + Mike + Smith + + Nach einem Tutorium von + + - MattDillonBasiert ebenfalls auf tuning(7) von + + + Matt + Dillon + + Basiert ebenfalls auf tuning(7) von + + - MartinHeinenÜbersetzt von + + + Martin + Heinen + + Übersetzt von + - Übersicht @@ -45,38 +76,46 @@ Wie Sie effizient Dateisysteme und Swap-Partitionen auf Ihrer Festplatte einrichten. + Die Grundlagen der Konfiguration mit rc.conf und des Systems zum Starten - von Anwendungen in /usr/local/etc/rc.d. + 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 sysctl-Variablen &os; einstellen können. + - Wie Sie die Platten-Performance einstellen und Kernel-Parameter - modifizieren können. + Wie Sie die Platten-Performance einstellen und + Kernel-Parameter modifizieren können. Bevor Sie dieses Kapitel lesen, sollten Sie - die Grundlagen von &unix; und &os; () - verstehen. + die Grundlagen von &unix; und + &os; () verstehen. + Damit vertraut sein, wie Sie einen Kernel konfigurieren und kompilieren (). @@ -103,54 +142,60 @@ Festplatten auf Daten in den äußeren Spuren schneller zugreifen können als auf Daten in den inneren Spuren. Daher sollten die kleineren oft benutzten - Dateisysteme, wie das Root-Dateisystem oder die Swap-Partition, - an den äußeren Rand der Platte gelegt werden. - Die größeren Partitionen wie /usr sollten in die inneren Bereiche + Dateisysteme, wie das Root-Dateisystem oder die + Swap-Partition, 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 einer - ähnlichen Reihenfolge wie Root-Partition, Swap, /var und /usr anzulegen. + ähnlichen Reihenfolge wie Root-Partition, Swap, + /var und /usr + anzulegen. - Die Größe der /var-Partition ist abhängig vom - Zweck der Maschine. Das /var-Dateisystem enthält - hauptsächlich Postfächer, den Spoolbereich zum Drucken und - Logdateien. Abhängig von der Anzahl der Systembenutzer und der - Aufbewahrungszeit für Logdateien, können gerade - die Postfächer und Logdateien zu ungeahnten Größen - wachsen. Die meisten Benutzer werden selten mehr als etwa ein - Gigabyte in /var - benötigen. + Die Größe der /var-Partition ist + abhängig vom Zweck der Maschine. Das + /var-Dateisystem enthält hauptsächlich + Postfächer, den Spoolbereich zum Drucken und Logdateien. + Abhängig von der Anzahl der Systembenutzer und der + Aufbewahrungszeit für Logdateien, können gerade die + Postfächer und Logdateien zu ungeahnten Größen wachsen. + Die meisten Benutzer werden selten mehr als etwa ein + Gigabyte in /var benötigen. - - Ein paar Mal wird es vorkommen, dass viel Festplattenspeicher - in /var/tmp gebraucht - 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 grosser Softwarepakete wie - Firefox, - Openoffice oder - LibreOffice kann sich wegen zu wenig - Speicherplatz in /var/tmp - als trickreich herausstellen. - + + Ein paar Mal wird es vorkommen, dass viel + Festplattenspeicher in /var/tmp + gebraucht 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 grosser + Softwarepakete wie Firefox, + 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, dazu - gehöhren die &man.ports.7;-Sammlung (empfohlen) und die Quellen - (optional). Sowohl die Ports als auch die Quellen des Basissystems - sind zum Zeitpunkt der Installation optional, trotzdem sollten Sie - mindestens zwei Gigabyte für diese Partition - vorsehen. + Die /usr-Partition enthält viele + der Hauptbestandteile des Systems, dazu gehöhren die + &man.ports.7;-Sammlung (empfohlen) und die Quellen + (optional). Sowohl die Ports als auch die Quellen des + Basissystems sind zum Zeitpunkt der Installation optional, + trotzdem sollten Sie mindestens zwei Gigabyte für diese + Partition vorsehen. Wenn Sie die Größe der Partitionen festlegen, beachten Sie bitte das Wachstum Ihres Systems. Wenn Sie den Platz auf einer Partition vollständig aufgebraucht haben, - eine andere Partition aber kaum benutzen, kann die Handhabung des - Systems schwierig werden. + eine andere Partition aber kaum benutzen, kann die + Handhabung des Systems schwierig werden. - Die automatische Partitionierung von &man.sysinstall.8; - mit Auto-defaults legt manchmal zu kleine - / und /var-Partition an. Partitionieren Sie - weise und großzügig. + + Die automatische Partitionierung von + &man.sysinstall.8; mit Auto-defaults + legt manchmal zu kleine / und + /var-Partition an. Partitionieren + Sie weise und großzügig. + @@ -165,34 +210,34 @@ Als Daumenregel sollten Sie doppelt soviel Speicher für die Swap-Partition vorsehen, als Sie Hauptspeicher haben. Verfügt die Maschine beispielsweise über - 128 Megabyte Hauptspeicher, sollten Sie 256 Megabyte - für den Swap-Bereich vorsehen. Systeme mit weniger Speicher - werden wahrscheinlich mit viel mehr Swap mehr leisten. Es - wird nicht empfohlen, weniger als 256 Megabyte Swap einzurichten. - Außerdem sollten Sie künftige Speichererweiterungen - beachten, wenn Sie die Swap-Partition einrichten. Die - VM-Paging-Algorithmen im Kernel sind so eingestellt, 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 Sie später - mehr Speicher in Ihre Maschine bauen. + 128 Megabyte Hauptspeicher, sollten Sie + 256 Megabyte für den Swap-Bereich vorsehen. Systeme + mit weniger Speicher werden wahrscheinlich mit viel mehr + Swap mehr leisten. Es wird nicht empfohlen, weniger als + 256 Megabyte Swap einzurichten. Außerdem sollten Sie + künftige Speichererweiterungen beachten, wenn Sie die + Swap-Partition einrichten. Die VM-Paging-Algorithmen im + Kernel sind so eingestellt, 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 Sie später mehr Speicher in + Ihre Maschine bauen. Auf größeren Systemen mit mehreren SCSI-Laufwerken - (oder mehreren IDE-Laufwerken an unterschiedlichen Controllern) - empfehlen wir Ihnen, 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. + (oder mehreren IDE-Laufwerken an unterschiedlichen + Controllern) empfehlen wir Ihnen, 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. @@ -200,10 +245,12 @@ Gegen eine einzelne Partition sprechen mehrere Gründe. Jede Partition hat im Betrieb unterschiedliche Eigenschaften - und die Trennung der Partitionen erlaubt es, die Dateisysteme - an diese Eigenschaften anzupassen. Die Root- und /usr-Partitionen weisen meist nur - lesende Zugriffe auf, während /var und /var/tmp hauptsächlich - beschrieben werden. + und die Trennung der Partitionen erlaubt es, die + Dateisysteme an diese Eigenschaften anzupassen. Die + Root- und /usr-Partitionen weisen meist + nur lesende Zugriffe auf, während /var + und /var/tmp hauptsächlich beschrieben + werden. Indem Sie ein System richtig partitionieren, verhindern Sie, dass eine Fragmentierung in den häufig beschriebenen @@ -213,14 +260,14 @@ I/O-Leistung diesen 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. - Schließlich sollten Sie noch die Stabilität des Systems - beachten. Eine kleine Root-Partition, auf die meist nur lesend - zugegriffen wird, überlebt einen schlimmen Absturz - wahrscheinlich eher als eine große Partition. + Leistungssteigerung, wenn Sie /var an + den Rand der Platte legen. Schließlich sollten Sie noch die + Stabilität des Systems beachten. Eine kleine + Root-Partition, auf die meist nur lesend zugegriffen wird, + überlebt einen schlimmen Absturz wahrscheinlich eher als + eine große Partition. - @@ -239,16 +286,18 @@ In rc.conf werden die Vorgabewerte aus /etc/defaults/rc.conf überschrieben. - Die Vorgabedatei sollte nicht nach /etc kopiert werden, da sie die - Vorgabewerte und keine Beispiele enthält. Jede systemspezifische - Änderung wird in rc.conf vorgenommen. + Die Vorgabedatei sollte nicht nach /etc + kopiert werden, da sie die Vorgabewerte und keine Beispiele + enthält. Jede systemspezifische Änderung wird in + rc.conf vorgenommen. 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: + in einer separaten Datei z.B. + /etc/rc.conf.local. Zum Beispiel + so: /etc/rc.conf: @@ -264,9 +313,10 @@ ifconfig_fxp0="inet 10.1.1.1/8" Die rc.conf Datei kann dann auf jedes - System mit rsync oder einem ähnlichen Programm - verteilt werden, während die rc.conf.local - Datei dabei systemspezifisch bleibt. + System mit rsync oder einem ähnlichen + Programm verteilt werden, während die + rc.conf.local Datei dabei systemspezifisch + bleibt. Bei einem Upgrade des Systems mit &man.sysinstall.8; oder make world wird rc.conf @@ -274,12 +324,13 @@ ifconfig_fxp0="inet 10.1.1.1/8" erhalten bleibt. - Die Konfigurationsdatei /etc/rc.conf wird - von &man.sh.1; gelesen. Dies erlaubt es dem Systemadministrator, - eine bestimmte Menge an Logik dieser Datei hinzuzufügen, was - dabei helfen kann, komplexe Konfigurationsszenarien zu erstellen. - Lesen Sie dazu &man.rc.conf.5;, um weitere Informationen zu diesem - Thema zu erhalten. + Die Konfigurationsdatei /etc/rc.conf + wird von &man.sh.1; gelesen. Dies erlaubt es dem + Systemadministrator, eine bestimmte Menge an Logik dieser + Datei hinzuzufügen, was dabei helfen kann, komplexe + Konfigurationsszenarien zu erstellen. Lesen Sie dazu + &man.rc.conf.5;, um weitere Informationen zu diesem Thema zu + erhalten. @@ -294,18 +345,20 @@ ifconfig_fxp0="inet 10.1.1.1/8" /usr/local/etc - Für gewöhnlich werden diese Dateien in /usr/local/etc installiert. Besitzt - eine Anwendung viele Konfigurationsdateien, werden - diese in einem separaten Unterverzeichnis abgelegt. + Für gewöhnlich werden diese Dateien in + /usr/local/etc installiert. Besitzt + eine Anwendung viele Konfigurationsdateien, werden diese in + einem separaten Unterverzeichnis abgelegt. Wenn ein Port oder ein Paket installiert wird, werden normalerweise auch Beispiele für die Konfigurationsdateien - installiert. Diese erkennt man gewöhnlich an dem - Suffix .default. Wenn keine Konfigurationsdateien - für eine Anwendung existieren, werden sie durch - Kopieren der .default Dateien erstellt. + installiert. Diese erkennt man gewöhnlich an dem Suffix + .default. Wenn keine Konfigurationsdateien + für eine Anwendung existieren, werden sie durch Kopieren der + .default Dateien erstellt. - Als Beispiel sei /usr/local/etc/apache gezeigt: + Als Beispiel sei + /usr/local/etc/apache gezeigt: -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default @@ -318,20 +371,26 @@ ifconfig_fxp0="inet 10.1.1.1/8" -rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf -rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default - Anhand der Dateigröße erkennen Sie, dass sich - nur srm.conf geändert hat. Eine - spätere Aktualisierung des Apache-Ports + Anhand der Dateigröße erkennen Sie, dass sich nur + srm.conf geändert hat. Eine spätere + Aktualisierung des Apache-Ports überschreibt diese Datei nicht. - - Start von Diensten + + Start von Diensten + - TomRhodesBeigetragen von + + + Tom + Rhodes + + Beigetragen von + - Dienste @@ -353,8 +412,8 @@ ifconfig_fxp0="inet 10.1.1.1/8" einfachen Skripten gestartet werden. - Dienste über das - <filename>rc.d</filename>-System starten + Dienste über das <filename>rc.d</filename>-System + starten Mit rc.d lässt sich der Start von Anwendungen besser steuern als mit den vorher besprochenen @@ -398,8 +457,8 @@ run_rc_command "$1" Prozess-ID (PID) der Anwendung in einer Datei zu speichern. - In /etc/rc.conf könnte - für diese Anwendung die folgende Zeile stehen: + In /etc/rc.conf könnte für diese + Anwendung die folgende Zeile stehen: utility_enable="YES" @@ -421,15 +480,18 @@ run_rc_command "$1" Konfigurationszeile in der Datei /etc/inetd.conf hinzugefügt oder in der aktuellen Konfiguration durch Entfernen der Kommentare - aktiviert werden. Der Abschnitt beschreibt den - inetd und dessen Konfiguration. + aktiviert werden. Der Abschnitt + beschreibt den + inetd und dessen + Konfiguration. 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 + 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 nicht-root Benutzern gestartet - und gepflegt werden können. + Dienste von + nicht-root Benutzern + gestartet und gepflegt werden können. Dies nutzt eine Eigenschaft von &man.cron.8;: Für die Zeitangabe kann @reboot @@ -439,12 +501,19 @@ run_rc_command "$1" - Programme mit <command>cron</command> starten + + Programme mit <command>cron</command> starten + - TomRhodesBeigetragen von + + + Tom + Rhodes + + Beigetragen von + - cron @@ -454,10 +523,11 @@ run_rc_command "$1" cron läuft im Hintergrund und überprüft fortlaufend die Datei /etc/crontab. Beim Start sucht - cron neue crontab-Dateien - im Verzeichnis /var/cron/tabs. - In den crontab-Dateien wird - festgelegt, welche Programme zu welchem Zeitpunkt laufen sollen. + cron neue + crontab-Dateien im Verzeichnis + /var/cron/tabs. In den + crontab-Dateien wird festgelegt, welche + Programme zu welchem Zeitpunkt laufen sollen. Das Werkzeug cron verwendet zwei verschiedene Konfigurationsdateien: die @@ -469,7 +539,7 @@ run_rc_command "$1" das Kommando ausführen wird. In einer Benutzer-crontab werden alle Kommandos unter dem Benutzer ausgeführt, welcher die - crontab erstellt hat. Hier ist das sechste + crontab erstellt hat. Hier ist das sechste Feld das letzte Feld. Dies ist ein wichtiges Sicherheitsmerkmal. Das letzte Feld bezeichnet immer das Kommando, das ausgeführt werden soll. @@ -498,7 +568,8 @@ run_rc_command "$1" erstellen. - Der folgende Auszug aus der System-crontab + Der folgende Auszug aus der + System-crontab /etc/crontab zeigt den Aufbau einer crontab-Datei: @@ -573,8 +644,9 @@ HOME=/var/log * ist ein Platzhalter und steht für jede mögliche Zeit. Diese Zeile führt das Kommando atrun - unter dem root-Account alle fünf - Minuten aus. Mehr über das Kommando + unter dem + root-Account alle + fünf Minuten aus. Mehr über das Kommando atrun erfahren Sie in der Hilfeseite &man.atrun.8;. @@ -608,37 +680,47 @@ HOME=/var/log Eine Benutzer-crontab, beispielsweise die Datei crontab, können Sie mit - jedem Editor erstellen. Die Benutzer-crontab - installieren Sie mit dem nachstehenden Befehl: + jedem Editor erstellen. Die + Benutzer-crontab installieren Sie mit dem + nachstehenden Befehl: &prompt.root; crontab crontab Das Argument zum Befehl crontab - ist die vorher erstellte Datei crontab. + ist die vorher erstellte Datei + crontab. Der Befehl crontab -l zeigt die installierte crontab-Datei an. - Benutzer, die eine eigene crontab-Datei - ohne Vorlage erstellen wollen, können den Befehl - crontab -e verwenden. Dieser Befehl - ruft einen Editor auf und installiert beim Verlassen des - Editors die crontab-Datei. + Benutzer, die eine eigene + crontab-Datei ohne Vorlage erstellen + wollen, können den Befehl crontab -e + verwenden. Dieser Befehl ruft einen Editor auf und + installiert beim Verlassen des Editors die + crontab-Datei. Wollen Sie die installierte - Benutzer-crontab entfernen, rufen Sie den - Befehl crontab mit der Option - auf. + Benutzer-crontab entfernen, rufen Sie den + Befehl crontab mit der Option + auf. - Das rc-System für Systemdienste + + Das rc-System für Systemdienste + - TomRhodesBeigetragen von + + + Tom + Rhodes + + Beigetragen von + - 2002 wurde das rc.d-System von NetBSD zum Start von Systemdiensten in &os; integriert. @@ -661,10 +743,10 @@ HOME=/var/log natd_enable="YES" - Wenn dort bereits die Zeile - existiert, ändern Sie einfach in - . Die rc-Skripten starten, wie unten - beschrieben, auch abhängige Dienste. + Wenn dort bereits die Zeile + existiert, ändern Sie einfach + in . Die rc-Skripten + starten, wie unten beschrieben, auch abhängige Dienste. Da das rcNG-System primär zum automatischen Starten und Stoppen von Systemdiensten @@ -746,20 +828,21 @@ sshd is running as pid 433. - PROVIDE: Gibt die Namen der Dienste an, - die mit dieser Datei zur Verfügung gestellt 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 + 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. Diese Datei wird + REQUIRE: Gibt die Namen der Dienste + an, von denen dieser Dienst abhängt. Diese Datei wird nach den angegebenen Diensten ausgeführt. @@ -788,14 +871,19 @@ sshd is running as pid 433. - Einrichten von Netzwerkkarten + + Einrichten von Netzwerkkarten + - MarcFonvieilleBeigetragen von + + + Marc + Fonvieille + Beigetragen von + - - Netzwerkkarten einrichten @@ -809,19 +897,19 @@ sshd is running as pid 433. Bestimmen des richtigen Treibers - Netzwerkkarten - Treiber + Netzwerkkarten + Treiber - Bevor Sie anfangen, sollten Sie das Modell Ihrer Karte kennen, - wissen welchen Chip die Karte benutzt und bestimmen, ob es sich - um eine PCI- oder ISA-Karte handelt. Eine Aufzählung der - unterstützten PCI- und ISA-Karten finden Sie in der - Liste der unterstützen Geräte. Schauen Sie nach, ob Ihre + Bevor Sie anfangen, sollten Sie das Modell Ihrer Karte + kennen, wissen welchen Chip die Karte benutzt und bestimmen, + ob es sich um eine PCI- oder ISA-Karte handelt. Eine + Aufzählung der unterstützten PCI- und ISA-Karten finden Sie in + der Liste der unterstützen Geräte. Schauen Sie nach, ob Ihre Karte dort aufgeführt ist. - Wenn Sie wissen, dass Ihre Karte unterstützt wird, - müssen Sie den Treiber für Ihre Karte bestimmen. + Wenn Sie wissen, dass Ihre Karte unterstützt wird, müssen + Sie den Treiber für Ihre Karte bestimmen. /usr/src/sys/conf/NOTES und /usr/src/sys/arch/conf/NOTES enthalten eine @@ -833,10 +921,10 @@ sshd is running as pid 433. und macht auch auf mögliche Probleme aufmerksam. Wenn Sie eine gebräuchliche Karte besitzen, brauchen Sie - meistens nicht lange nach dem passenden Treiber zu suchen. Die - Treiber zu diesen Karten sind schon im - GENERIC-Kernel enthalten und die Karte sollte - während des Systemstarts erkannt werden: + meistens nicht lange nach dem passenden Treiber zu suchen. + Die Treiber zu diesen Karten sind schon im + GENERIC-Kernel enthalten und die Karte + sollte während des Systemstarts erkannt werden: dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 @@ -854,7 +942,7 @@ dc1: Ethernet address: 00:a0:cc:da:da:db dc1: [ITHREAD] Im Beispiel erkennt das System zwei Karten, die den - &man.dc.4; Treiber benutzen. + &man.dc.4; Treiber benutzen. Ist der Treiber für Ihre Netzwerkkarte nicht in GENERIC enthalten, müssen @@ -887,126 +975,128 @@ dc1: [ITHREAD] &windows;-NDIS-Treiber einsetzen - NDIS - NDISulator - &windows;-Treiber - Microsoft Windows - - Microsoft Windows - Gerätetreiber - KLD (kernel loadable object) + NDIS + NDISulator + &windows;-Treiber + Microsoft Windows + + Microsoft Windows + Gerätetreiber + KLD (kernel loadable object) + Langversion weglassen? Keine Ahnung. Wenn ja, dann muss + das auch in handbook/linuxemu/chapter.xml passieren! --> - 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 FreeBSD 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. Die meisten Entwickler, darunter auch die an - FreeBSD beteiligten, haben sich für den zweiten Ansatz - entschieden. + 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. Die meisten Entwickler, darunter auch die an + &os; beteiligten, haben sich für den zweiten Ansatz + entschieden. - Bill Paul (wpaul) ist es zu verdanken, dass es seit - eine native Unterstützung der - Network Driver Interface - Specification (NDIS) gibt. Der - FreeBSD NDISulator (auch als Project Evil bekannt) nutzt - den binären &windows;-Treiber, indem er diesem vorgibt, - unter &windows; zu laufen. Da der &man.ndis.4;-Treiber - eine &windows;-Binärdatei nutzt, kann er nur auf - &i386;- und amd64-Systemen verwendet werden. Unterstützt - werden PCI, CardBus, PCMCIA (PC-Card) und USB-Geräte. + Bill Paul (wpaul) ist es zu verdanken, dass es seit eine + native Unterstützung der + Network Driver Interface Specification + (NDIS) gibt. Der &os; NDISulator (auch als Project Evil + bekannt) nutzt den binären &windows;-Treiber, indem er + diesem vorgibt, unter &windows; zu laufen. Da der + &man.ndis.4;-Treiber eine &windows;-Binärdatei nutzt, kann + er nur auf &i386;- und amd64-Systemen verwendet werden. + Unterstützt werden PCI, CardBus, PCMCIA (PC-Card) und + USB-Geräte. - Um den NDISulator zu verwenden, benötigen Sie drei - Dinge: + Um den NDISulator zu verwenden, benötigen Sie drei + Dinge: - - - Die Kernelquellen - + + + Die Kernelquellen + - - Den &windowsxp;-Binärtreiber - (mit der Erweiterung .SYS) - + + Den &windowsxp;-Binärtreiber + (mit der Erweiterung .SYS) + - - Die Konfigurationsdatei des &windowsxp;-Treibers - (mit der Erweiterung .INF) - - + + Die Konfigurationsdatei des &windowsxp;-Treibers + (mit der Erweiterung .INF) + + - Suchen Sie die Dateien für Ihre 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. + Suchen Sie die Dateien für Ihre 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: + 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.SYS + &prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS - &man.ndisgen.8; arbeitet interaktiv, benötigt es - weitere Informationen, so fragt es Sie danach. Als Ergebnis + &man.ndisgen.8; arbeitet interaktiv, benötigt es weitere + Informationen, so fragt es Sie danach. Als Ergebnis erhalten Sie ein Kernelmodul im aktuellen Arbeitsverzeichnis. Benutzen Sie &man.kldload.8; um das neue Modul zu laden: - &prompt.root; kldload ./W32DRIVER.ko + &prompt.root; kldload ./W32DRIVER.ko - Neben dem vorhin erzeugten Kernelmodul müssen Sie - auch die Kernelmodule ndis.ko und - if_ndis.ko laden. Diese Module sollten - automatisch geladen werden, wenn Sie ein von &man.ndis.4; - abhängiges Modul laden. Wollen Sie die Module hingegen - manuell laden, geben Sie die folgenden Befehle ein: + Neben dem vorhin erzeugten Kernelmodul müssen Sie + auch die Kernelmodule ndis.ko und + if_ndis.ko laden. Diese Module sollten + automatisch geladen werden, wenn Sie ein von &man.ndis.4; + abhängiges Modul laden. Wollen Sie die Module hingegen + manuell laden, geben Sie die folgenden Befehle ein: - &prompt.root; kldload ndis + &prompt.root; kldload ndis &prompt.root; kldload if_ndis - Der erste Befehl lädt dabei den NDIS-Miniport-Treiber, - der zweite das tatsächliche Netzwerkgerät. + Der erste Befehl lädt dabei den NDIS-Miniport-Treiber, + der zweite das tatsächliche Netzwerkgerät. - Überprüfen Sie nun die Ausgabe von &man.dmesg.8; - auf eventuelle Fehler während des Ladevorgangs. Gab es - dabei keine Probleme, sollten Sie eine Ausgabe ähnlich - der folgenden erhalten: + Überprüfen Sie nun die Ausgabe von &man.dmesg.8; + auf eventuelle Fehler während des Ladevorgangs. Gab es + dabei keine Probleme, sollten Sie eine Ausgabe ähnlich + der folgenden erhalten: - ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 + 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 54Mbps - Ab jetzt können Sie mit dem Gerät - ndis0 wie mit jeder anderen - Gerätedatei (etwa dc0) - arbeiten. + Ab jetzt können Sie mit dem Gerät + ndis0 wie mit jeder anderen + Gerätedatei (etwa dc0) + arbeiten. - Wie jedes Kernelmodul können auch die NDIS-Module - beim Systemstart automatisch geladen werden. Dazu kopieren - Sie das erzeugte Modul (W32DRIVER_SYS.ko) - in das Verzeichnis /boot/modules. Danach - fügen Sie die folgende Zeile in - /boot/loader.conf ein: + Wie jedes Kernelmodul können auch die NDIS-Module + beim Systemstart automatisch geladen werden. Dazu kopieren + Sie das erzeugte Modul + (W32DRIVER_SYS.ko) in das Verzeichnis + /boot/modules. Danach fügen Sie die + folgende Zeile in /boot/loader.conf + ein: - W32DRIVER_SYS_load="YES" + W32DRIVER_SYS_load="YES" @@ -1014,17 +1104,18 @@ ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps Konfiguration von Netzwerkkarten - Netzwerkkarten - einrichten + Netzwerkkarten + einrichten Nachdem der richtige Treiber für die Karte geladen ist, - muss die Karte konfiguriert werden. Unter Umständen ist + muss die Karte konfiguriert werden. Unter Umständen ist die Karte schon während der Installation mit - sysinstall konfiguriert worden. + sysinstall konfiguriert + worden. - Das nachstehende Kommando zeigt die Konfiguration der Karten - eines Systems an: + Das nachstehende Kommando zeigt die Konfiguration der + Karten eines Systems an: &prompt.user; ifconfig dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 @@ -1048,7 +1139,7 @@ lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 nd6 options=3<PERFORMNUD,ACCEPT_RTADV> Im Beispiel werden Informationen zu den folgenden Geräten - angezeigt: + angezeigt: @@ -1072,14 +1163,14 @@ lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 - 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 + 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: + aktiv. Sie erkennen das an den folgenden Hinweisen: @@ -1088,18 +1179,23 @@ lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 - Der Karte wurde die Internet-Adresse (inet) - 192.168.1.3 zugewiesen. + Der Karte wurde die Internet-Adresse + (inet) + 192.168.1.3 + zugewiesen. Die Subnetzmaske ist richtig - (0xffffff00 entspricht + (0xffffff00 + entspricht 255.255.255.0). - Die Broadcast-Adresse 192.168.1.255 ist richtig. + Die Broadcast-Adresse + 192.168.1.255 + ist richtig. @@ -1120,15 +1216,15 @@ lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 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. + 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: + von &man.ifconfig.8; so aussehen: dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=80008<VLAN_MTU,LINKSTATE> @@ -1136,37 +1232,38 @@ lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 media: Ethernet autoselect (100baseTX <full-duplex>) status: active - Sie brauchen die Berechtigungen von root, um - Ihre Karte zu konfigurieren. Die Konfiguration kann auf der + Sie brauchen die Berechtigungen von + root, um Ihre Karte + zu konfigurieren. Die Konfiguration kann auf der Kommandozeile mit &man.ifconfig.8; erfolgen, allerdings müsste sie dann nach jedem Neustart wiederholt werden. Dauerhaft wird die Karte in /etc/rc.conf konfiguriert. Öffnen Sie /etc/rc.conf mit Ihrem - Lieblingseditor und fügen Sie für jede Karte Ihres - Systems eine Zeile hinzu. In dem hier diskutierten Fall wurden - die nachstehenden Zeilen eingefügt: + Lieblingseditor und fügen Sie für jede Karte Ihres + Systems eine Zeile hinzu. In dem hier diskutierten Fall + wurden die nachstehenden Zeilen eingefügt: 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, - dc1 usw. durch die Gerätenamen Ihrer + dc1 usw. durch die Gerätenamen Ihrer Karten und setzen Sie die richtigen IP-Adressen ein. Die - Hilfeseiten des Treibers und &man.ifconfig.8; enthalten weitere - Einzelheiten über verfügbare Optionen. Die Syntax von + Hilfeseiten des Treibers und &man.ifconfig.8; enthalten + weitere Einzelheiten über verfügbare Optionen. Die Syntax von /etc/rc.conf wird in &man.rc.conf.5; erklärt. Wenn Sie das Netz während der Installation - konfiguriert haben, existieren vielleicht schon Einträge + konfiguriert haben, existieren vielleicht schon Einträge für Ihre Karten. Überprüfen Sie /etc/rc.conf bevor Sie weitere Zeilen hinzufügen. In /etc/hosts können Sie die Namen - und IP-Adressen der Rechner Ihres LANs eintragen. Weitere + und IP-Adressen der Rechner Ihres LANs eintragen. Weitere Informationen entnehmen Sie bitte &man.hosts.5; und /usr/share/examples/etc/hosts. @@ -1184,11 +1281,12 @@ ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"Test und Fehlersuche Nachdem Sie die notwendigen Änderungen in - /etc/rc.conf vorgenommen haben, führen - Sie einen Neustart Ihres Systems durch. Dadurch werden die Adapter - konfiguriert und Sie stellen sicher, dass der Start ohne - Konfigurationsfehler erfolgt. Alternativ können Sie - auch lediglich die Netzwerkeinstellungen neu initialisieren: + /etc/rc.conf vorgenommen haben, führen + Sie einen Neustart Ihres Systems durch. Dadurch werden die + Adapter konfiguriert und Sie stellen sicher, dass der Start + ohne Konfigurationsfehler erfolgt. Alternativ können Sie + auch lediglich die Netzwerkeinstellungen neu + initialisieren: &prompt.root; /etc/rc.d/netif restart @@ -1200,21 +1298,21 @@ ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"&prompt.root; /etc/rc.d/routing restart - Wenn das System gestartet ist, sollten Sie die Netzwerkkarten - testen. + Wenn das System gestartet ist, sollten Sie die + Netzwerkkarten testen. Test der Ethernet-Karte - - Netzwerkkarten - testen - + + Netzwerkkarten + testen + Mit zwei Tests können Sie prüfen, ob die - Ethernet-Karte richtig konfiguriert ist. Testen Sie zuerst mit - ping den Adapter selbst und sprechen Sie dann - eine andere Maschine im LAN an. + Ethernet-Karte richtig konfiguriert ist. Testen Sie zuerst + mit ping den Adapter selbst und sprechen + Sie dann eine andere Maschine im LAN an. Zuerst, der Test des Adapters: @@ -1246,18 +1344,18 @@ PING 192.168.1.2 (192.168.1.2): 56 data bytes round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms Sie können auch den Namen der Maschine anstelle von - 192.168.1.2 benutzen, wenn Sie - /etc/hosts entsprechend eingerichtet - haben. + 192.168.1.2 + benutzen, wenn Sie /etc/hosts + entsprechend eingerichtet haben. Fehlersuche - - Netzwerkkarten - Fehlersuche - + + Netzwerkkarten + Fehlersuche + Fehler zu beheben, ist immer sehr mühsam. Indem Sie die einfachen Sachen zuerst prüfen, @@ -1305,11 +1403,12 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms Sie bitte das . 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 ping-Pakete. Weitere - Informationen erhalten Sie in . + denied wird oft von einer falsch + konfigurierten Firewall verursacht. Wenn keine Regeln + definiert wurden, blockiert eine aktivierte Firewall alle + Pakete, selbst einfache ping-Pakete. + Weitere Informationen erhalten Sie + in . Falls die Leistung der Karte schlecht ist, setzen Sie die Medienerkennung von autoselect @@ -1355,25 +1454,35 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms 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 + 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 + 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. Wie eben beschrieben, hat nur die erste Adresse in einem - Netzwerk (hier 10.0.1.1 + Netzwerk (hier + 10.0.1.1 und 202.0.75.17) die richtige Netzwerkmaske. Alle anderen Adressen - (10.1.1.2 bis 10.1.1.5 und 202.0.75.18 bis 202.0.75.20) erhalten die Maske + (10.1.1.2 bis + 10.1.1.5 und + 202.0.75.18 bis + 202.0.75.20) erhalten + die Maske 255.255.255.255. Die folgenden Einträge in @@ -1393,7 +1502,10 @@ ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255" - Konfiguration des <application>syslogd</application> Servers + + Konfiguration des <application>syslogd</application> + Servers + @@ -1723,8 +1835,9 @@ cron.* /var/log/cron <filename>/etc</filename> Layout - Konfigurationsdateien finden sich in einigen Verzeichnissen - unter anderem in: + + Konfigurationsdateien finden sich in einigen + Verzeichnissen unter anderem in: @@ -1737,27 +1850,32 @@ cron.* /var/log/cron Enthält generelle Konfigurationsinformationen, die Daten hier sind systemspezifisch. + /etc/defaults Default Versionen der Konfigurationsdateien. + /etc/mail Enthält die &man.sendmail.8; Konfiguration und weitere MTA Konfigurationsdateien. + /etc/ppp Hier findet sich die Konfiguration für die User- und Kernel-ppp Programme. + /etc/namedb Das Vorgabeverzeichnis, in dem Daten von &man.named.8; gehalten werden. Normalerweise - werden hier named.conf und Zonendaten - abgelegt. + werden hier named.conf und + Zonendaten abgelegt. + /usr/local/etc Installierte Anwendungen legen hier ihre @@ -1765,15 +1883,17 @@ cron.* /var/log/cron Unterverzeichnisse für bestimmte Anwendungen enthalten. + /usr/local/etc/rc.d Ort für Start- und Stopskripten installierter Anwendungen. + /var/db - Automatisch generierte systemspezifische Datenbanken, - wie die Paket-Datenbank oder die + Automatisch generierte systemspezifische + Datenbanken, wie die Paket-Datenbank oder die locate-Datenbank. @@ -1793,8 +1913,8 @@ cron.* /var/log/cron resolv.conf Wie der &os;-Resolver auf das Internet Domain Name - System (DNS) zugreift, wird in /etc/resolv.conf - festgelegt. + System (DNS) zugreift, wird in + /etc/resolv.conf festgelegt. Die gebräuchlichsten Einträge in /etc/resolv.conf sind: @@ -1808,15 +1928,16 @@ cron.* /var/log/cron nameserver Die IP-Adresse eines Nameservers, den - der Resolver abfragen soll. Bis zu drei Server werden - in der Reihenfolge, in der sie aufgezählt + der Resolver abfragen soll. Bis zu drei Server + werden in der Reihenfolge, in der sie aufgezählt sind, abgefragt. search Suchliste mit Domain-Namen zum Auflösen von Hostnamen. Die Liste wird normalerweise durch den - Domain-Teil des lokalen Hostnamens festgelegt. + Domain-Teil des lokalen Hostnamens + festgelegt. domain @@ -1833,8 +1954,11 @@ cron.* /var/log/cron nameserver 147.11.1.11 nameserver 147.11.100.30 - Nur eine der Anweisungen search - oder domain sollte benutzt werden. + + Nur eine der Anweisungen search + oder domain sollte benutzt + werden. + Wenn Sie DHCP benutzen, überschreibt &man.dhclient.8; für gewöhnlich resolv.conf @@ -1846,15 +1970,16 @@ nameserver 147.11.100.30 hosts - /etc/hosts ist eine einfache textbasierte - Datenbank, die aus alten Internetzeiten stammt. 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 ist eine einfache + textbasierte Datenbank, die aus alten Internetzeiten + stammt. 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. + externen Servers und beschleunigen die + Namensauflösung. # $FreeBSD$ # @@ -1889,14 +2014,17 @@ nameserver 147.11.100.30 # from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.) # - /etc/hosts hat ein einfaches Format: + /etc/hosts hat ein einfaches + Format: + [Internet Adresse] [Offizieller Hostname] [Alias1] [Alias2] ... Zum Beispiel: 10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2 - Weitere Informationen entnehmen Sie bitte &man.hosts.5;. + Weitere Informationen entnehmen Sie bitte + &man.hosts.5;. @@ -1948,10 +2076,11 @@ security.bsd.see_other_uids=0 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. + Der Hauptzweck von &man.sysctl.8; besteht darin, + Systemeinstellungen zu lesen und zu verändern. - Alle auslesbaren Variablen werden wie folgt angezeigt: + Alle auslesbaren Variablen werden wie folgt + angezeigt: &prompt.user; sysctl -a @@ -1968,8 +2097,8 @@ kern.maxproc: 1044 &prompt.root; sysctl kern.maxfiles=5000 kern.maxfiles: 2088 -> 5000 - Mit sysctl können Sie Strings, Zahlen oder - Boolean-Werte setzen. Bei Boolean-Werten setzen sie 1 + Mit sysctl können Sie Strings, Zahlen oder Boolean-Werte + setzen. Bei Boolean-Werten setzen sie 1 für wahr und 0 für falsch. Wenn Sie Variablen automatisch während des Systemstarts @@ -1979,15 +2108,22 @@ kern.maxfiles: 2088 -> 5000 und dem . - Schreibgeschützte Variablen - - TomRhodesContributed by - + + Schreibgeschützte Variablen + + + + + Tom + Rhodes + + Contributed by + + - Schreibgeschützte sysctl-Variablen können nur - während des Systemstarts verändert werden. + während des Systemstarts verändert werden. Beispielsweise hat &man.cardbus.4; auf einigen Laptops Schwierigkeiten, Speicherbereiche zu erkennen. Es treten @@ -1997,10 +2133,10 @@ kern.maxfiles: 2088 -> 5000 device_probe_and_attach: cbb0 attach returned 12 Um dieses Problem zu lösen, muss eine - schreibgeschützte sysctl-Variable verändert - werden. Eine OID kann in der Datei - /boot/loader.conf überschrieben - werden. Die Datei /boot/defaults/loader.conf + schreibgeschützte sysctl-Variable verändert werden. Eine + OID kann in der Datei + /boot/loader.conf überschrieben werden. + Die Datei /boot/defaults/loader.conf enthält Vorgabewwerte für sysctl-Variablen. Das oben erwähnte Problem wird durch die Angabe von @@ -2023,28 +2159,28 @@ device_probe_and_attach: cbb0 attach returned 12 vfs.vmiodirenable - Die Variable vfs.vmiodirenable besitzt - in der Voreinstellung den Wert 1. Die Variable kann auf den Wert - 0 (ausgeschaltet) oder 1 (angeschaltet) 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. Im Buffer-Cache verbrauchen sie mit - 512 Bytes noch weniger Platz. Ist die Variable - ausgeschaltet (auf 0) wird der Buffer-Cache nur + Die Variable vfs.vmiodirenable + besitzt in der Voreinstellung den Wert 1. Die Variable kann + auf den Wert 0 (ausgeschaltet) oder 1 (angeschaltet) 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. Im Buffer-Cache + verbrauchen sie mit 512 Bytes noch weniger Platz. Ist + die Variable ausgeschaltet (auf 0) wird der Buffer-Cache nur eine limitierte Anzahl Verzeichnisse zwischenspeichern, auch wenn das System über sehr viel Speicher verfügt. - Ist die Variable aktiviert (auf 1), 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. Wir empfehlen, - diese Option aktiviert zu lassen, wenn Sie Dienste zur - Verfügung stellen, die viele Dateien manipulieren. - Beispiele für solche Dienste sind Web-Caches, + Ist die Variable aktiviert (auf 1), 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. Wir + empfehlen, 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 @@ -2081,10 +2217,10 @@ device_probe_and_attach: cbb0 attach returned 12 Die 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 + 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. Beachten Sie, dass ein zu hoher Wert (größer @@ -2094,11 +2230,11 @@ device_probe_and_attach: cbb0 attach returned 12 verzögern, die gleichzeitig mit Schreiboperationen ausgeführt werden. - Es gibt weitere Variablen, mit denen Sie den Buffer-Cache - und den VM-Page-Cache beeinflussen können. Wir raten - Ihnen allerdings davon ab, diese Variablen zu verändern, - da das VM-System den virtuellen Speicher selbst sehr gut - verwaltet. + Es gibt weitere Variablen, mit denen Sie den + Buffer-Cache und den VM-Page-Cache beeinflussen können. Wir + raten Ihnen allerdings davon ab, diese Variablen zu + verändern, da das VM-System den virtuellen Speicher selbst + sehr gut verwaltet. @@ -2119,18 +2255,18 @@ device_probe_and_attach: cbb0 attach returned 12 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 kleine Systeme - 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. + 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. @@ -2140,30 +2276,29 @@ device_probe_and_attach: cbb0 attach returned 12 hw.ata.wc - In &os; 4.3 wurde versucht, den IDE-Schreib-Zwischenspeicher - abzustellen. Obwohl dies die Bandbreite zum Schreiben auf - IDE-Platten verringerte, wurde es aus Gründen der - Datenkonsistenz als notwenig angesehen. Der Kern des - Problems 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. - Wir entschieden uns daher für die sichere Variante - und stellten den Schreib-Zwischenspeicher ab. Leider war - damit auch ein großer Leistungsverlust verbunden, so - dass wir die Variable - nach dem Release wieder aktiviert haben. Sie sollten den - Wert der Variable hw.ata.wc auf Ihrem - System überprüfen. Wenn der Schreib-Zwischenspeicher - abgestellt ist, können Sie ihn aktivieren, indem Sie die - Variable auf den Wert 1 setzen. Dies muss zum Zeitpunkt - des Systemstarts im Boot-Loader geschehen. Eine Änderung - der Variable, nachdem der Kernel gestartet ist, hat keine - Auswirkungen. + In &os; 4.3 wurde versucht, den + IDE-Schreib-Zwischenspeicher abzustellen. Obwohl dies die + Bandbreite zum Schreiben auf IDE-Platten verringerte, wurde + es aus Gründen der Datenkonsistenz als notwenig angesehen. + Der Kern des Problems 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. Wir entschieden uns daher für die sichere + Variante und stellten den Schreib-Zwischenspeicher ab. + Leider war damit auch ein großer Leistungsverlust verbunden, + so dass wir die Variable nach dem Release wieder aktiviert + haben. Sie sollten den Wert der Variable + hw.ata.wc auf Ihrem System überprüfen. + Wenn der Schreib-Zwischenspeicher abgestellt ist, können Sie + ihn aktivieren, indem Sie die Variable auf den Wert 1 + setzen. Dies muss zum Zeitpunkt des Systemstarts im + Boot-Loader geschehen. Eine Änderung der Variable, nachdem + der Kernel gestartet ist, hat keine Auswirkungen. Weitere Informationen finden Sie in &man.ata.4;. @@ -2182,14 +2317,15 @@ device_probe_and_attach: cbb0 attach returned 12 Mit 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, auf 5 Sekunden heruntergesetzt - werden (durch Setzen der sysctl-Variable - kern.cam.scsi_delay). Die Variable - sowie die Kerneloption verwenden für die Zeitangabe - Millisekunden und nicht Sekunden. + 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, auf 5 Sekunden + heruntergesetzt werden (durch Setzen der + sysctl-Variable + kern.cam.scsi_delay). Die Variable sowie + die Kerneloption verwenden für die Zeitangabe Millisekunden + und nicht Sekunden. @@ -2200,22 +2336,23 @@ device_probe_and_attach: cbb0 attach returned 12 tunefs Mit &man.tunefs.8; lassen sich Feineinstellungen an - Dateisystemen vornehmen. Das Programm hat verschiedene Optionen, - von denen hier nur Soft Updates betrachtet werden. Soft Updates - werden wie folgt ein- und ausgeschaltet: + Dateisystemen vornehmen. Das Programm hat verschiedene + Optionen, von denen hier nur Soft Updates betrachtet werden. + Soft Updates werden wie folgt ein- und ausgeschaltet: &prompt.root; tunefs -n enable /filesystem &prompt.root; tunefs -n disable /filesystem Ein 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. + 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. Wir empfehlen, Soft Updates auf allen - Dateisystemen zu aktivieren. Allerdings sollten Sie sich über - die zwei Nachteile von Soft Updates bewusst sein: + von Dateien, gesteigert. Wir empfehlen, Soft Updates auf + allen 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 leicht passieren, dass das Dateisystem über mehrere Sekunden oder gar eine Minute @@ -2342,10 +2479,10 @@ device_probe_and_attach: cbb0 attach returned 12 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 + 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 @@ -2383,10 +2520,10 @@ device_probe_and_attach: cbb0 attach returned 12 einer erhöhten Fehlerwahrscheinlichkeit in einem bezüglich Datenverlust hoch sensiblen Bereich) und ein erhöhter Speicherverbrauch entgegen. Außerdem - muss man sich an einige Eigenheiten - gewöhnen: Nach einem Absturz ist ein etwas älterer - Stand auf der Platte – statt einer leeren, aber bereits - angelegten Datei (wie nach einem herkömmlichen + muss man sich an einige Eigenheiten gewöhnen: Nach einem + Absturz ist ein etwas älterer Stand auf der + Platte – statt einer leeren, aber bereits angelegten + Datei (wie nach einem herkömmlichen fsck Lauf) ist auf einem Dateisystem mit Soft Updates keine Spur der entsprechenden Datei mehr zu sehen, da weder die Metadaten @@ -2427,37 +2564,38 @@ device_probe_and_attach: cbb0 attach returned 12 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 dmesg - anzeigen lassen. + Inhalt des Puffers können Sie sich mit + dmesg 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. + 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 Ihres - Systems einzustellen. Obwohl auf einer Produktionsmaschine - vielleicht nicht 256 Benutzer gleichzeitig angemeldet sind, - können die benötigten Ressourcen ähnlich denen - eines großen Webservers sein. + Wenn Sie einen angepassten Kernel kompilieren, empfiehlt es + sich diese Option entsprechend der maximalen Benutzerzahl + Ihres Systems einzustellen. Obwohl auf einer + Produktionsmaschine vielleicht nicht 256 Benutzer + gleichzeitig angemeldet sind, können die benötigten + Ressourcen ähnlich denen eines großen Webservers + sein. Die Variable kern.maxusers wird beim Systemstart automatisch aus dem zur Verfügung stehenden - Hauptspeicher bestimmt. Im laufenden Betrieb kann dieser Wert - aus der (nur lesbaren) sysctl-Variable - kern.maxusers ermittelt werden. Falls ein - System für diese Variable einen anderen Wert benötigt, + Hauptspeicher bestimmt. Im laufenden Betrieb kann dieser + Wert aus der (nur lesbaren) sysctl-Variable + kern.maxusers ermittelt werden. Falls + ein System für diese Variable einen anderen Wert benötigt, kann der Wert über den Loader angepasst werden. Häufig verwendete Werte sind dabei 64, 128, sowie 256. - Es ist empfehlenswert, die Anzahl der Dateideskriptoren nicht - auf einen Wert größer 256 zu setzen, es sei denn, + Es ist empfehlenswert, die Anzahl der Dateideskriptoren + nicht 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 @@ -2482,30 +2620,31 @@ device_probe_and_attach: cbb0 attach returned 12 oder Software zu kompilieren. Der Grund dafür ist, dass der wichtigste Wert, der durch maxusers bestimmt wird, die maximale Anzahl an Prozessen ist, die auf - 20 + 16 * maxusers gesetzt wird. Wenn Sie - also maxusers auf 1 setzen, können + 20 + 16 * maxusers gesetzt wird. Wenn + Sie also 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 des X Window-Systems. 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 + Benutzer sollte es ausreichen, maxusers + auf 64 zu setzen, womit 1044 gleichzeitige Prozesse zur Verfügung stehen. Wenn Sie allerdings den gefürchteten Fehler proc table full beim Start eines Programms oder auf einem Server mit einer großen Benutzerzahl (wie - ftp.FreeBSD.org) sehen, dann - sollten Sie den Wert nochmals erhöhen und den Kernel - neu bauen. + ftp.FreeBSD.org) + 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 maxusers - nicht begrenzt. Der Wert dieser - Variablen legt neben der möglichen Anzahl der Prozesse - eines Benutzers weitere sinnvolle Größen für - bestimmte Systemtabellen fest. + + Die Anzahl der Benutzer, die sich auf einem + Rechner anmelden kann, wird durch + maxusers nicht + begrenzt. Der Wert dieser Variablen legt neben der + möglichen Anzahl der Prozesse eines Benutzers weitere + sinnvolle Größen für bestimmte Systemtabellen fest. @@ -2537,19 +2676,19 @@ device_probe_and_attach: cbb0 attach returned 12 Netzwerk Limits Die 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. - Wenn Sie einen Webserver besitzen, der maximal 1000 gleichzeitige - Verbindungen servieren soll und jede der Verbindungen je einen - 16 kB großen Puffer zum Senden und Empfangen braucht, - brauchen Sie ungefähr 32 MB Speicher für - Netzwerkpuffer. Als Daumenregel verdoppeln Sie diese Zahl, - so dass sich für NMBCLUSTERS der Wert + 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. Wenn Sie einen Webserver besitzen, der maximal + 1000 gleichzeitige Verbindungen servieren soll und jede der + Verbindungen je einen 16 kB großen Puffer zum Senden und + Empfangen braucht, brauchen Sie 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 = 32768 ergibt. Für Maschinen mit viel Speicher sollten Werte zwischen 4096 und 32768 genommen werden. Sie können diesen Wert @@ -2564,9 +2703,9 @@ device_probe_and_attach: cbb0 attach returned 12 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 + 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 @@ -2574,14 +2713,15 @@ device_probe_and_attach: cbb0 attach returned 12 sehen. Die schreibgeschützte sysctl-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. + 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. + freie struct sf_buf Puffer zu + warten. @@ -2591,36 +2731,37 @@ device_probe_and_attach: cbb0 attach returned 12 net.inet.ip.portrange.* - Die sysctl-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 500 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 + Die sysctl-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 500 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 Sie keine freien Portnummern mehr haben, sollten Sie - die Variable net.inet.ip.portrange.last - langsam erhöhen. Ein Wert von 10000, + normaler Webserver) oder nur eine begrenzte Anzahl + ausgehender Verbindungen öffnen (beispielsweise ein + Mail-Relay). Wenn Sie keine freien Portnummern mehr haben, + sollten Sie die Variable + net.inet.ip.portrange.last langsam + erhöhen. 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. + 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. @@ -2653,16 +2794,17 @@ device_probe_and_attach: cbb0 attach returned 12 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 + 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 + 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 @@ -2672,21 +2814,22 @@ device_probe_and_attach: cbb0 attach returned 12 (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 + 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 zu erniedrigen. Gleichzeitig müssen - Sie vielleicht auch net.inet.tcp.inflight.min - auf einen kleineren Wert (beispielsweise 3500) + 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 + herabzusetzten. 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. @@ -2700,28 +2843,27 @@ device_probe_and_attach: cbb0 attach returned 12 <varname>kern.maxvnodes</varname> Ein 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 - Ihre Festplatte. vnodes werden im Normalfall vom - Betriebssystem automatisch vergeben und müssen - nicht von Ihnen 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. + eines Verzeichnisses. Die Erhöhung der Anzahl der für das + Betriebssystem verfügbaren vnodes verringert also die + Schreib- und Lesezugriffe auf Ihre Festplatte. vnodes + werden im Normalfall vom Betriebssystem automatisch vergeben + und müssen nicht von Ihnen 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 + &prompt.root; sysctl vfs.numvnodes vfs.numvnodes: 91349 Die maximal mögliche Anzahl der vnodes erhalten Sie durch die Eingabe von: - &prompt.root; sysctl kern.maxvnodes + &prompt.root; sysctl kern.maxvnodes kern.maxvnodes: 100000 Wenn sich die Anzahl der genutzten vnodes dem maximal @@ -2742,12 +2884,12 @@ kern.maxvnodes: 100000 Hinzufügen von Swap-Bereichen - Egal wie vorausschauend Sie planen, manchmal entspricht ein System - einfach nicht Ihren Erwartungen. Es ist leicht, mehr Swap-Bereiche - hinzuzufügen. Dazu stehen Ihnen drei Wege offen: Sie - können eine neue Platte einbauen, den Swap-Bereich über NFS - ansprechen oder eine Swap-Datei auf einer existierenden Partition - einrichten. + Egal wie vorausschauend Sie planen, manchmal entspricht ein + System einfach nicht Ihren Erwartungen. Es ist leicht, mehr + Swap-Bereiche hinzuzufügen. Dazu stehen Ihnen drei Wege + offen: Sie können eine neue Platte einbauen, den Swap-Bereich + über NFS ansprechen oder eine Swap-Datei auf einer existierenden + Partition einrichten. Für Informationen zur Verschlüsselung von Swap-Partitionen, zu den dabei möglichen Optionen sowie @@ -2806,8 +2948,8 @@ kern.maxvnodes: 100000 Swap-Dateien - Sie können eine Datei festgelegter Größe als - Swap-Bereich nutzen. Im folgenden Beispiel werden wir eine 64 MB + Sie können eine Datei festgelegter Größe als Swap-Bereich + nutzen. Im folgenden Beispiel werden wir eine 64 MB große Datei mit Namen /usr/swap0 benutzen, Sie können natürlich einen beliebigen Namen für den Swap-Bereich benutzen. @@ -2815,18 +2957,20 @@ kern.maxvnodes: 100000 Erstellen einer Swap-Datei - + Der GENERIC-Kernel unterstützt bereits RAM-Disks (&man.md.4;), welche für diese Aktion - benötigt werden. Wenn Sie einen eigenen Kernel erstellen, - vergewissern Sie sicher, dass die folgende Zeile in ihrer - Kernel-Konfigurationsdatei enthalten ist: + benötigt werden. Wenn Sie einen eigenen Kernel + erstellen, vergewissern Sie sicher, dass die folgende + Zeile in ihrer Kernel-Konfigurationsdatei enthalten + ist: device md - Informationen, wie man einen eigenen Kernel erstellen kann, - erhalten Sie in . + Informationen, wie man einen eigenen Kernel + erstellen kann, erhalten Sie in + . @@ -2851,30 +2995,41 @@ kern.maxvnodes: 100000 - Um die Swap-Datei zu aktivieren, führen Sie - entweder einen Neustart durch oder geben das folgende Kommando + Um die Swap-Datei zu aktivieren, führen Sie entweder + einen Neustart durch oder geben das folgende Kommando ein: &prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0 - - + + - Energie- und Ressourcenverwaltung + + Energie- und Ressourcenverwaltung + - HitenPandyaVerfasst von - TomRhodes + + + Hiten + Pandya + + Verfasst von + + + + Tom + Rhodes + + - - Es ist wichtig, Hardware effizient einzusetzen. Vor der Einführung des Advanced Configuration and Power - Interface (ACPI) konnten + Interface (ACPI) konnten Stromverbrauch und Wärmeabgabe eines Systems nur schlecht von Betriebssystemen gesteuert werden. Die Hardware wurde vom BIOS gesteuert, was die Kontrolle @@ -2901,12 +3056,13 @@ kern.maxvnodes: 100000 Advanced Configuration and Power Interface - (ACPI) ist ein Standard verschiedener + (ACPI) ist ein Standard verschiedener Hersteller, der die Verwaltung von Hardware und Energiesparfunktionen festlegt. Die ACPI-Funktionen können von einem Betriebssystem gesteuert werden. Der Vorgänger des - ACPI, Advanced Power Management + ACPI, + Advanced Power Management (APM), erwies sich in modernen Systemen als unzureichend. @@ -2947,7 +3103,8 @@ kern.maxvnodes: 100000 Das Plug and Play BIOS (PNPBIOS) war ebenfalls unzureichend. Das PNPBIOS verwendet eine 16-Bit-Technik. Damit das Betriebssystem das PNPBIOS - ansprechen kann, muss es in einer 16-Bit-Emulation laufen. + ansprechen kann, muss es in einer 16-Bit-Emulation + laufen. Der APM-Treiber von &os; ist in der Hilfeseite &man.apm.4; beschrieben. @@ -2960,34 +3117,35 @@ kern.maxvnodes: 100000 standardmäßig beim Systemstart vom &man.loader.8; geladen und sollte daher nicht fest in den Kernel eingebunden werden. Dadurch kann - acpi.ko ohne einen Neubau des Kernels ersetzt - werden und das Modul ist leichter zu testen. Wenn Sie in der - Ausgabe von &man.dmesg.8; das Wort ACPI sehen, - ist das Modul geladen worden. Das ACPI-Modul im laufenden - Betrieb zu laden, führt oft nicht zum gewünschten - Ergebnis. Treten bei Ihrem System Probleme auf, können - Sie ACPI auch komplett deaktivieren. - Dazu definieren Sie die Variable + acpi.ko ohne einen Neubau des Kernels + ersetzt werden und das Modul ist leichter zu testen. Wenn Sie + in der Ausgabe von &man.dmesg.8; das Wort + ACPI sehen, ist das Modul geladen worden. + Das ACPI-Modul im laufenden Betrieb zu laden, führt oft nicht + zum gewünschten Ergebnis. Treten bei Ihrem System Probleme + auf, können Sie ACPI auch komplett + deaktivieren. Dazu definieren Sie die Variable hint.acpi.0.disabled="1" in der Datei /boot/loader.conf. Alternativ können Sie die Variable auch am &man.loader.8;-Prompt eingeben. Das Modul kann im laufenden Betrieb nicht entfernt werden, - da es zur Kommunikation mit der Hardware verwendet wird. + da es zur Kommunikation mit der Hardware verwendet + wird. ACPI und APM können nicht zusammen verwendet werden. Das zuletzt - geladene Modul beendet sich, sobald es bemerkt, dass das andere - Modul geladen ist. + geladene Modul beendet sich, sobald es bemerkt, dass das + andere Modul geladen ist. Mit &man.acpiconf.8; 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 + 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 folgenden Befehl: @@ -3001,18 +3159,36 @@ kern.maxvnodes: 100000 - <acronym>ACPI</acronym>-Fehlersuche + + <acronym>ACPI</acronym>-Fehlersuche + - NateLawsonVerfasst von + + + Nate + Lawson + + Verfasst von + + - PeterSchultzMit Beiträgen von - TomRhodes + + + Peter + Schultz + + Mit Beiträgen von + + + + Tom + Rhodes + + - - ACPI Probleme mit @@ -3029,7 +3205,8 @@ kern.maxvnodes: 100000 ACPI-Machine-Language (AML) einiger Systemplatinen, ein unvollständiges &os;-Kernel-Subsystem oder - Fehler im ACPI-CA-Interpreter von &intel;. + Fehler im ACPI-CA-Interpreter + von &intel;. Dieser Abschnitt hilft Ihnen, zusammen mit den Betreuern des &os;-ACPI-Subsystems, Fehlerquellen @@ -3084,10 +3261,10 @@ kern.maxvnodes: 100000 Die URL, unter der die ACPI-Source-Language (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 + 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.asl @@ -3127,41 +3304,43 @@ kern.maxvnodes: 100000 ACPI gibt es in allen modernen Rechnern der ia32- (x86), ia64- (Itanium) 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. + 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 + 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. + 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. + 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 + befindet sich unter + src/sys/dev/acpica/Osd. Treiber, die + verschiedene ACPI-Geräte implementieren, + befinden sich im Verzeichnis src/sys/dev/acpica. @@ -3181,15 +3360,16 @@ kern.maxvnodes: 100000 sortiert. - Mausprobleme + Mausprobleme - Es 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 + Es 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 Ihre /boot/loader.conf aufzunehmen. Besteht das Problem weiterhin, sollten Sie einen Fehlerbericht - an das FreeBSD Project senden. + an das &os; Project senden. @@ -3272,8 +3452,8 @@ hw.acpi.s4bios: 0 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 + 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 @@ -3357,11 +3537,11 @@ hw.acpi.s4bios: 0 Anhand 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 + 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 Ctrl Alt @@ -3453,7 +3633,8 @@ hw.acpi.s4bios: 0 Ein häufiges Problem ist fehlerhafter Bytecode des BIOS-Herstellers. Dies erkennen - Sie an Kernelmeldungen auf der Konsole wie die folgende: + Sie an Kernelmeldungen auf der Konsole wie die + folgende: ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND @@ -3467,16 +3648,17 @@ hw.acpi.s4bios: 0 AML-Machine-Language (AML) suchen. Der Bytecode der AML wird aus der - ACPI-Source-Language (ASL) - übersetzt und in einer Tabelle, der DSDT, - abgelegt. Eine Kopie der ASL - können Sie mit dem Befehl &man.acpidump.8; erstellen. - Verwenden Sie mit diesem Befehl sowohl die Option - (die Inhalte der statischen - Tabellen anzeigen) als auch die Option - (die AML in ASL - zurückübersetzen). Ein Beispiel für - die Syntax finden Sie im Abschnitt Fehlerberichte einreichen. + ACPI-Source-Language + (ASL) übersetzt und in einer Tabelle, der + DSDT, abgelegt. Eine Kopie der + ASL können Sie mit dem Befehl + &man.acpidump.8; erstellen. Verwenden Sie mit diesem Befehl + sowohl die Option (die Inhalte der + statischen Tabellen anzeigen) als auch die Option + (die AML in + ASL zurückübersetzen). Ein Beispiel für + die Syntax finden Sie im Abschnitt + Fehlerberichte einreichen. Sie können einfach prüfen, ob sich die ASL übersetzen lässt. @@ -3576,8 +3758,8 @@ hw.acpi.s4bios: 0 iasl die Ausgabedatei DSDT.aml. Wenn Sie diese Datei anstelle der fehlerhaften Kopie des BIOS - laden wollen, editieren Sie /boot/loader.conf - wie folgt: + laden wollen, editieren Sie + /boot/loader.conf wie folgt: acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml" @@ -3610,8 +3792,9 @@ acpi_dsdt_name="/boot/DSDT.aml" layers angegeben. Die Subsysteme sind in ACPI-CA-Komponenten (ACPI_ALL_COMPONENTS) und - ACPI-Hardware (ACPI_ALL_DRIVERS) - aufgeteilt. Welche Meldungen ausgegeben werden, wird über + ACPI-Hardware + (ACPI_ALL_DRIVERS) aufgeteilt. Welche + Meldungen ausgegeben werden, wird über level gesteuert. level reicht von ACPI_LV_ERROR (es werden nur Fehler ausgegeben) bis zu ACPI_LV_VERBOSE (alles @@ -3639,7 +3822,7 @@ acpi_dsdt_name="/boot/DSDT.aml" make ACPI_DEBUG=1 Installieren Sie anschließend - acpi.ko im Verzeichnis + acpi.ko im Verzeichnis /boot/kernel. In der Datei loader.conf stellen Sie level und layer ein. Das @@ -3657,9 +3840,10 @@ debug.acpi.level="ACPI_LV_ERROR" level und layer auch mit dem Kommando sysctl vornehmen. In diesem Fall müssen Sie die Datei loader.conf - nicht editieren. Auf der sysctl-Kommandozeile - geben Sie dieselben Variablennamen wie in - loader.conf an. + nicht editieren. Auf der + sysctl-Kommandozeile geben Sie dieselben + Variablennamen wie in loader.conf + an.