Index: head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 48353)
+++ head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml (revision 48354)
@@ -1,2876 +1,2981 @@
&os; 9.X (und neuer)
installierenJimMockRestructured, reorganized, and parts
rewritten by RandyPrattThe sysinstall walkthrough, screenshots, and general
copy by GavinAtkinsonUpdated for bsdinstall by WarrenBlockBenedictReuschlingÜbersetzt von Übersichtinstallation&os; enthält ein text-basiertes, einfach zu verwendendes
Installationsprogramm. &os; 9.0-RELEASE und neuer
verwendet ein Installationsprogramm genannt
bsdinstall, während Versionen vor
&os; 9.0-RELEASE stattdessen
sysinstall zur Installation
einsetzten. Dieses Kapitel beschreibt die Verwendung von
bsdinstall. Der Einsatz von
sysinstall wird im
behandelt.Nachdem Sie dieses Kapitel gelesen haben, werden Sie
wissen:wie man &os; Installationsmedien erstellt.wie &os; Festplatten unterteilt und darauf
verweist.wie man bsdinstall
startet.welche Fragen Sie von
bsdinstall gestellt bekommen, was
sie bedeuten und wie man diese beantwortet.Bevor Sie dieses Kapitel lesen, sollten Sie:Die Liste von unterstützter Hardware lesen, die mit
Ihrer zu installierenden Version von &os; ausgeliefert wird,
um sicherzustellen, dass Ihre Hardware auch unterstützt
wird.Generell wurden diese Installationsanweisungen für Rechner
der &i386; (PC-kompatibel) Architektur
verfasst. An Stellen, an denen sich die Anweisungen speziell
auf eine andere Plattform beziehen, wird darauf hingewiesen.
Es mag kleinere Unterschiede geben zwischen dem
Installationsprogramm und dem, was hier beschrieben steht.
Sie sollten daher dieses Kapitel als eine Art Wegweiser und
keine exakte Anleitung betrachten.Hardware-AnforderungenMinimalkonfigurationDie Minimalkonfiguration zur Installation von &os;
variiert mit der Version von &os; und der
Hardwarearchitektur.Eine Zusammenfassung dieser Informationen wird in den
folgenden Abschnitten gegeben. Abhängig von der
Installationsmethode, die Sie verwenden, um &os; zu
installieren, werden Sie unter Umständen ein unterstütztes
CD-ROM-Laufwerk benötigen und in manchen Fällen eine
Netzwerkkarte. Dies wird im genauer
betrachtet.&os;/&arch.i386;&os;/&arch.i386; benötigt einen 486er oder
einen schnelleren Prozessor und mindestens 64 MB RAM.
Es sollte mindestens 1.1 GB freier Festplattenspeicher
für die Installation zur Verfügung stehen.Auf alten Rechnern hat die Aufrüstung von RAM und
dem Festplattenplatz normalerweise einen höheren
geschwindigkeitssteigernden Effekt als einen schnelleren
Prozessor einzubauen.&os;/&arch.amd64;Es gibt zwei Klassen von Prozessoren, die in der Lage
sind, auf &os;/&arch.amd64; zu laufen. Die erste Klasse
sind AMD64-Prozessoren, was sowohl &amd.athlon;64,
&amd.athlon;64-FX, &amd.opteron; oder bessere Prozessoren
beinhaltet.Die zweite Klasse von Prozessoren, die &os;/&arch.amd64;
benutzen kann, besteht aus der
&intel; EM64T-Architektur. Beispiele dieser
Prozessoren beinhalten die &intel; &core; 2 Duo,
Quad, Extreme Prozessorfamilien, die &intel; &xeon;
3000, 5000, und 7000 Reihe von Prozessoren, sowie die
&intel; &core; i3, i5 and i7 Prozessoren.Sollten Sie einen Rechner basierend auf der nVidia
nForce3 Pro-150 besitzen, müssen Sie im
BIOS das IO APIC deaktivieren. Falls Sie keine solche
Option zum deaktivieren besitzen, werden Sie wahrscheinlich
ACPI deaktivieren müssen. Der Pro-150 Chipsatz enthält
Fehler, für die wir noch keine Abhilfe gefunden
haben.&os;/&arch.powerpc; &apple; &macintosh;Alle neuen &apple; &macintosh; Systeme mit eingebautem
USB werden unterstützt. SMP wird auf Maschinen mit
mehreren CPUs unterstützt.Ein 32-bit Kernel kann nur die ersten 2 GB des
Hauptspeichers verwenden. &firewire; wird auf den blauen
und weissen PowerMac G3s nicht unterstützt.&os;/&arch.sparc64;Systeme, die von &os;/&arch.sparc64; unterstützt
werden, sind auf der
FreeBSD/sparc64-Projektseite aufgelistet.Eine dedizierte Platte wird für &os;/&arch.sparc64;
benötigt. Es ist nicht möglich, eine Platte mit einem
anderen Betriebssystem zur gleichen Zeit zu teilen.Unterstützte HardwareHardwarearchitekturen und von &os; unterstützte
Geräte werden in der Datei mit Hardware Notes aufgelistet.
Normalerweise heisst diese Datei
HARDWARE.TXT und befindet sich im
Wurzelverzeichnis des Veröffentlichungsmediums. Kopien
dieser unterstützten Hardwareliste ist ebenfalls auf der Seite
Release Information der &os; Webseite
abrufbar.Vor der InstallationSichern Sie Ihre DatenSichern Sie alle wichtigen Daten auf dem Zielcomputer, auf
dem &os; installiert werden soll. überprüfen Sie diese
Sicherungen, bevor Sie fortfahren. Die &os; Installation
wird Sie vor Änderungen an den Platten danach fragen, jedoch
kann dies nicht mehr rückgängig gemacht werden, sobald der
Prozess gestartet wurde.Den Installationsort von &os; festlegenFalls &os; das einzige installierte Betriebssystem sein
wird und die gesamte Platte dazu verwenden kann, kann der Rest
dieses Abschnitts übersprungen werden. Sollten Sie allerdings
die Platte mit anderen Betriebssystemen teilen, ist ein
Verständnis des Plattenlayouts hilfreich für die
Installation.Festplattenlayout für &os;/&arch.i386; und
&os;/&arch.amd64;Festplatten können in mehrere verschiedene Bereiche
aufgeteilt werden. Diese Bereiche werden
Partitionen genannt.Es gibt zwei Arten, eine Festplatte in mehrere
Partitionen einzuteilen. 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. Dies
mag etwas unhandlich erscheinen und das ist auch der
Fall.Die GUID-Partitionstabelle
(GPT) ist eine neuere und einfachere
Methode zur Partition einer Festplatte.
GPT ist weitaus flexibler
als die traditionelle MBR-Partitionstabelle. Geläufige
GPT-Implementierungen erlauben bis zu 128
Partitionen pro Platte, was die Notwendigkeit von
umständlichen Behelfen wie logische 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 (lesen
Sie dazu für weitere Informationen
zum &os; Bootvorgang). Wenn alle der primären oder
GPT-Partitionen bereits in Verwendung
sind, muss eine davon für &os; zur Verfügung gestellt
werden.Eine Minimalinstallation von &os; braucht ungefähr
1 GB Plattenplatz. Dies ist jedoch eine
sehr minimale Installation, die fast
gar keinen freien Speicherplatz übrig lässt. Eine etwas
realistischere Minimalangabe sind 3 GB ohne eine
graphische Umgebung und 5 GB oder mehr, falls eine
graphische Benutzeroberfläche verwendet werden soll.
Anwendungen von Drittanbietern benötigt sogar noch mehr
Platz.Eine Vielzahl
freier und kommerzieller Werkzeuge zur Veränderung der
Partitionsgrössen sind verfügbar.
GParted Live ist eine freie Live-CD, die den
GParted-Partitionseditor enthält.
GParted ist auch in
einer Vielzahl von anderen Linux Live-CD Distributionen
enthalten.Anwendungen zur Festplattenpartition kann Daten
zerstören. Erstellen Sie eine Vollsicherung und
überprüfen Sie deren Integrität bevor Sie die
Partitionen auf der Platte verändern.Die Veränderung der Grösse von
µsoft; Vista-Partitionen kann schwierig sein.
Eine Vista Installations-CD-ROM kann hilfreich sein, wenn
eine solche Aktion versucht wird.Eine existierende Partition verändernEin &windows;-Computer besitzt eine einzelne
40 GB Platte, die in zwei 20 GB Partitionen
aufgeteilt wurde. &windows; nennt diese
C: und D:. Die
C: Partition enthält 10 GB und
die D: Partition 5 GB an
Daten.Durch kopieren der Daten von D:
nach C: macht die zweite Partition
frei, so dass &os; sie benutzen kann.Verkleinern einer bestehenden PartitionEin &windows;-Computer besitzt eine einzelne
40 GB Platte und eine grosse Partition, welche die
gesamte Platte einnimmt. &windows; zeigt diese
40 GB Partition als einzelne C:
Partition. 15 GB Plattenplatz wird verwendet. Das
Ziel ist, für &windows; eine 20 GB Partition
einzurichten und eine weitere 20 GB Partition für
&os; bereitzustellen.Es gibt zwei Wege, dieses Ziel zu erreichen:Sichern Sie Ihre &windows;-Daten. Installieren
Sie dann &windows; neu, indem Sie eine 20 GB
Partition während der Installation anlegen.Verwenden Sie ein Werkzeug zur Veränderung einer
Partition wie GParted, um
die &windows;-Partition zu verkleinern und eine neue
Partition im freigewordenen Plattenplatz für &os;
anzulegen.Festplattenpartitionen, die unterschiedliche
Betriebssysteme enthalten, ermöglichen es, jeweils eines
dieser Systeme zu verwenden. Eine andere Methode, die es
erlaubt, mehrere Betriebssysteme gleichzeitig einzusetzen,
wird im behandelt.Netzwerkparameter ermittelnManche &os; Installationsarten benötigen eine
Netzwerkverbindung, um Dateien herunter zu laden. Um zu einem
Ethernet-Netzwerk (bzw. Kabel oder DSL-Modem mit einem
Ethernet-Anschluss) eine Verbindung herzustellen, wird das
Installationsprogramm bestimmte Information zum Netzwerk
abfragen.DHCP wird
allgemein verwendet, um automatisch Netzwerkeinstellungen
vorzunehmen. Falls DHCP nicht verfügbar
ist, müssen diese Netzwerkeinstellungen vom lokalen
Netzwerkadministrator oder Provider erfragt werden:Informationen zum NetzwerkIP-AdresseSubnetz-MaskeDefault-Router IP-AdresseDomänenname des lokalen NetzwerksDNS-Server
IP-Adresse(n)Lesen 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
FreeBSD Errata 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 können über den Abschnitt release
information der &os; Webseite
abgerufen werden.Die Installationsmedien beschaffenEine &os;-Installation wird durch das starten des
Computers mit einer eingelegten &os;-Installations-CD/DVD oder
eines USB-Sticks begonnen. Das Installationsprogramm ist kein
Programm das aus einem anderen Betriebssystem heraus gestartet
werden kann.Zusätzlich zum Standardinstallationsmedium, welches Kopien
von allen &os;-Installationsdateien enthält, gibt es auch eine
bootonly-Variante. Ein solches
Installationsmedium besitzt keine Kopien der
Installationsdateien, jedoch kann es diese während der
Installation aus dem Netzwerk nachladen. Die bootonly
Installations-CD ist dadurch viel kleiner und reduziert die
benötigte Bandbreite während der Installation durch
herunterladen der allernötigsten Dateien.Kopien der &os;-Installationsmedien sind auf der &os;
Webseite verfügbar. Laden Sie auch
CHECKSUM.SHA256 aus dem gleichen
Verzeichnis herunter, um die Integrität der
Installationsmedien anhand einer Prüfsumme zu berechnen. &os;
bietet hierfür &man.sha256.1; an, andere Betriebsysteme haben
ähnliche Programme. Vergleichen Sie die Prüfsumme mit der in
CHECKSUM.SHA256. Wenn die beiden
Prüfsummen nicht übereinstimmen, ist die Datei beschädigt und
sollte erneut heruntergeladen werden.Falls Sie bereits eine Kopie von &os; auf CD-ROM, DVD
oder USB-Stick besitzen, kann dieser Abschnitt übersprungen
werden.CD und DVD-Images von &os; sind startfähige ISO-Dateien.
Nur eine CD oder DVD wird für eine Installation benötigt.
Brennen Sie ein ISO-Image auf eine startfähige CD oder DVD mit
Hilfe eines CD-Brennprogramms, das für Ihr aktuelles
Betriebssystem zur Verfügung steht.Um einen startfähigen USB-Stick zu erstellen, führen Sie
die folgenden Schritte durch:Das Image für den USB-Stick herunterladenDas Image für &os; 9.0-RELEASE und
höhere Versionen kann aus dem
ISO-IMAGES/-Verzeichnis unter
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/&os;-version-RELEASE-arch-memstick.img
bezogen werden. Ersetzen Sie jeweils
arch und
version mit der Architektur und
der Versionsnummer, die Sie installieren möchten.
Beispielsweise sind die USB-Stick Images für
&os;/&arch.i386; 9.0-RELEASE verfügbar unter
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img.Für
&os; 8.X und frühere
Versionen wird ein anderer Pfad verwendet. Details für
das Herunterladen und Installieren von
&os; 8.X und frühere
werden im behandelt.Das USB-Stick Image hat die Endung
.img. Das Verzeichnis
ISO-IMAGES/ enthält eine Vielzahl von
verschiedenen Installations-Images und die jeweils
benötigte Version von &os;, sowie in manchen Fällen die
Zielhardware.Bevor Sie fortfahren, machen Sie
Sicherungskopien der Daten auf dem
USB-Stick, da die folgende Prozedur alle Daten
löscht.Das Image auf den USB-Stick schreibenDen USB-Stick unter &os; vorbereitenDas Beispiel unten verwendet
/dev/da0 als das Zielgerät, auf
welches das Image geschrieben werden soll. Seien Sie
vorsichtig, dass das richtige Gerät als das Ausgabe
benutzt wird oder Sie zerstören wichtige Daten.Das Image mit &man.dd.1; schreibenDie .img-Datei ist
keine gewöhnliche Datei. Es ist
ein Image des kompletten
späteren Inhalts des USB-Sticks. Es kann
nicht einfach wie eine
gewöhnliche Datei kopiert werden, sondern muss direkt
auf das Zielgerät mit &man.dd.1; geschrieben
werden:&prompt.root; dd if=&os;-9.0-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64kDas Image unter &windows; schreibenVersichern Sie sich, dass Sie den korrekten
Laufwerksbuchstaben als Ausgabe angeben oder Sie
überschreiben und zerstören bestehende Daten.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://launchpad.net/win32-image-writer/
herunter und entpacken Sie sie in einen Ordner.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.Die Installation von Disketten wird nicht mehr
unterstützt.Sie sind jetzt dazu bereit, mit der Installation von &os;
zu beginnen.Die Installation startenEs werden durch die Installation keine Änderungen an
Ihren Festplatten durchgeführt, so lange Sie nicht die
folgende Meldung sehen: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, ohne dass die Inhalte der Festplatte
geändert davon betroffen sind. Falls Sie besorgt sind, dass
etwas falsch konfiguriert wurde, schalten Sie einfach den
Computer vor diesem Punkt aus und es wird kein Schaden
angerichtet.Der SystemstartSystemstart von &i386; und &arch.amd64;Falls Sie einen startfähigen
USB-Stick einsetzen, wie in beschrieben ist,
dann stecken Sie diesen vor dem Anschalten des Computers
hinein.Falls Sie von einer CD-ROM starten, müssen Sie den
Computer anschalten und die CD-ROM so bald wie möglich
einlegen.Konfigurieren Sie Ihren Rechner so, dass er entweder
von der CD-ROM oder dem USB-Stick startet, abhängig
davon, welches Installationsmedium Sie verwenden. Die
Konfiguration im BIOS erlaubt es, das
Gerät, von dem gestartet werden soll, auszuwählen. Die
meisten Systeme erlauben es auch, das Startgerät während
des Startvorgangs zu wählen, typischerweise durch
drücken von entweder F10,
F11, F12 oder
Escape.Falls Ihr Computer wie normal startet und Ihr
bestehendes Betriebssystem lädt, befolgen Sie einen
der hier aufgeführten Schritte:Die Medien wurden während des Startvorgangs
nicht früh genug eingelegt. Lassen Sie diese wo sie
sind und versuchen Sie, den Rechner davon neu zu
starten.Die Änderungen am BIOS haben
nicht richtig funktioniert. Sie sollten diese
erneut durchführen, um die richtige Option
auszuwälen.Das von Ihnen verwendete BIOS
unterstützt das starten vom gewählten Medium
nicht. Der Plop Boot
Manager kann in diesem Fall verwendet werden, um
ältere Computer von CD or USB-Medien zu starten.&os; wird anfangen zu starten. Falls Sie von CD-ROM
starten, werden Sie eine Anzeige ähnlich wie die
folgende zu sehen bekommen (Versionsinformationen wurden
hier entfernt):Booting from CD-ROM...
645MB medium detected
CD Loader 1.2
Building the boot loader arguments
Looking up /BOOT/LOADER... Found
Relocating the loader and the BTX
Starting the BTX loader
BTX loader 1.00 BTX version is 1.02
Consoles: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 636kB/261056kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
\Der &os;-Bootloader wird angezeigt:Das &os;-Bootloader MenüWarten Sie entweder zehn Sekunden oder drücken Sie
Enter.Systemstart beim &macintosh; &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:0Für Xserves ohne Tastatur, lesen Sie &apple;s
Support Webseite über das starten in die Open
Firmware.Systemstart für &sparc64;Die meisten &sparc64;-Systeme sind so eingerichtet, dass
diese automatisch von CD starten. Um &os; zu installieren,
müssen Sie über das Netzwerk oder von einer CD-ROM
starten, was es nötig macht, in die PROM
OpenFirmware 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 Ihr System damit fortfährt, von diesem Zeitpunkt
an von Platte zu starten, müssen Sie
L1A oder StopA
auf der Tastatur eingeben oder ein
BREAK-Kommando (indem Sie z.B.
~# in &man.tip.1; oder &man.cu.1;
absetzen) über die serielle Konsole senden, um zur
PROM Befehlszeile zu gelangen. Es sieht
dann so aus:ok ok {0} Dies ist die Eingabeaufforderung, welche auf
Systemen mit nur einer CPU verwendet wird.Dies ist die Eingabeaufforderung auf SMP-Systemen.
Die Zahl gibt die Nummer der aktiven CPU an.An dieser Eingabeaufforderung angekommen, legen Sie nun
die CD-ROM in Ihr Laufwerk und geben Sie
boot cdrom ein.Die Geräteerkennung prüfenDie letzten hundert Zeilen, die am Bildschirm angezeigt
wurden, sind gespeichert worden und können erneut abgerufen
werden.Um diesen Puffer anzusehen, drücken Sie
Scroll Lock. Das bewirkt, dass Sie die
Bildschirmanzeige hoch und runter bewegen (scrollen) können.
Sie können dann die Pfeiltasten oder PageUp
und PageDown benutzen, um die Meldungen zu
sehen. Drücken Sie Scroll Lock erneut, um
das scrollen zu stoppen.Tun Sie dies jetzt, um den Text, der aus den Bildschirm
gelaufen ist, als der Kernel die Geräteerkennung durchgeführt
hat, erneut zu prüfen. Sie werden einen Text ähnlich zu
sehen, obwohl sich der
genaue Text, abhängig von den Geräten in Ihrem Computer,
unterscheiden wird.Typical Device Probe ResultsCopyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011
root@psi:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz (2527.05-MHz K8-class CPU)
Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1>
AMD Features=0x20100800<SYSCALL,NX,LM>
AMD Features2=0x1<LAHF>
TSC: P-state invariant, performance statistics
real memory = 3221225472 (3072 MB)
avail memory = 2926649344 (2791 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <TOSHIB A0064 >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0: Changing APIC ID to 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <TOSHIB A0064> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, b6690000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0
cpu0: <ACPI CPU> on acpi0
ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282)
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <Intel GM45 SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 131068k stolen memory
vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0
pci0: <simple comms> at device 3.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 00:1c:7e:6a:ca:b0
uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0
usbus0: <Intel 82801I (ICH9) USB controller> on uhci0
uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0
usbus1: <Intel 82801I (ICH9) USB controller> on uhci1
uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0
usbus2: <Intel 82801I (ICH9) USB controller> on uhci2
ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0
usbus3: EHCI version 1.0
usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0
hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci4: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib4
cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 4 on ahci0
acpi_lid0: <Control Method Lid Switch> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_toshiba0: <Toshiba HCI Extras> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model GlidePoint, device ID 0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 450
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: Realtek ALC268
hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown)
pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
ugen2.2: <vendor 0x0b97> at usbus2
uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2
ugen1.2: <Microsoft> at usbus1
ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device
ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1
SMP: AP CPU #1 Launched!
cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0
UDMA2, ATAPI 12bytes, PIO 8192bytes)
cd0: cd present [1 x 2048 byte records]
ugen0.2: <Microsoft> at usbus0
ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
kbd2 at ukbd0
uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...Prüfen Sie die Ergebnisse der Geräteerkennung genau, um
sicher zu stellen, dass &os; alle Geräte, die Sie erwarten,
auch gefunden hat. Falls ein Gerät nicht gefunden wurde, wird
es auch nicht aufgelistet.
Kernelmodule
erlauben es, Unterstützung für Geräte, die nicht im
GENERIC-Kernel vorhanden sind,
hinzuzufügen.Nach der Geräteerkennungsprozedur, werden Sie
sehen. Das
Installationsmedium kann auf drei Arten verwendet werden: um
&os; zu installieren, als eine
Live-CD oder um einfach
eine &os;-Shell zu öffnen. Benutzen Sie die Pfeiltasten, um
eine Option auszuwählen und drücken Sie
Enter zum bestätigen.Auswahl der Verwendung des InstallationsmediumsWählen Sie hier
[ Install ], gelangen Sie in
das Installationsprogramm.Das bsdinstall-Werkzeugbsdinstall ist ein textbasiertes
&os; Installationsprogramm, das von &a.nwhitehorn.email;
geschrieben und im Jahr 2011 für &os; 9.0 vorgestellt
wurde.&a.kmoore.email;s pc-sysinstall
ist in PC-BSD
enthalten und kann ebenfalls verwendet werden, um
&os; zu installieren. Obwohl es manchmal mit
bsdinstall verwechselt wird, sind
die beiden Programme nicht miteinander verwandt.Das bsdinstall Menüsystem wird
durch die Pfeiltasten gesteuert, Enter,
Tab, Space und andere
Tasten.Die Tastaturbelegung auswählenAbhängig davon, welche Systemkonsole verwendet wird, fragt
bsdinstall am Anfang ab, ob eine
nicht-Standard Tastaturbelegung festgelegt werden soll.Tastaturbelegung festlegenWenn [ YES ] ausgewählt
wird, wird der folgende Tastaturauswahlbildschirm angezeigt.
Andernfalls wird dieser Auswahlbildschirm nicht gezeigt und
eine Standardtastaturbelegung genutzt.TastaturauswahlbildschirmWählen Sie die Tastenbelegung, die Ihrer am System
angeschlossenen Tastatur am nächsten kommt, indem Sie die
Pfeiltasten Hoch/Runter verwenden und anschliessend
Enter drücken.Durch drücken von Esc wird die
Standardbelegung eingestellt. United States of
America ISO-8859-1 ist eine sichere Option,
falls Sie sich unsicher sind, welche Auswahl Sie treffen
sollen.Den Rechnernamen festlegenAls nächstes fragt Sie
bsdinstall nach dem Rechnernamen,
der in dem neu zu installierenden System verwendet werden
soll.Festlegen des RechnernamensDer eingegebene Rechnername sollte ein voll-qualifizierter
Rechnername sein, so wie z.B. machine3.example.comAuswahl der zu installierenden KomponentenIm nächsten Schritt fragt Sie
bsdinstall, die optionalen
Komponenten für die Installation auszuwählen.Komponenten für die Installation auswählenDie Entscheidung, welche Komponenten auszuwählen sind,
hängt grösstenteils 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.Optionale Komponentendoc - Zusätzliche Dokumentation,
meistens eher von historischem Interesse. Dokumentation,
wie Sie vom &os; Dokumentationsprojekt bereitgestellt
wird, kann zu einem späteren Zeitpunkt noch installiert
werden.games - Mehrere traditionelle
BSD-Spiele, sowohl 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.Die Ports-Sammlung stellt eine einfache und praktische
Art dar, Software zu installieren. Die Ports-Sammlung
enthält nicht den nötigen Quellcode, um die Software zu
erstellen. Stattdessen handelt es sich um einen 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 Sie über ausreichend
Festplattenspeicher verfügen. Seit &os; 9.0, nimmt
die Ports-Sammlung etwa &ports.size; Plattenplatz ein.
Sie können für neuere Versionen von &os; einen grösseren
Wert annehmen.src - Quellcode für das
System.&os; wird mit allen Quellen für den Kernel und die
Systemprogramme ausgeliefert. Obwohl dies für die
meisten Anwendungen nicht benötigt wird, kann es doch
für manche Software, die als Quellcode verbreitet wird
(beispielsweise Gerätetreiber oder Kernelmodule), oder um
an &os; selbst mitzuentwickeln, notwendig sein.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 NetzwerkDie bootonly-Installationsmedien
enthält keine Kopien der Installationsdateien. Wenn eine
bootonly-Installationsmethode verwendet
wird, müssen die Dateien über eine Netzwerkverbindung
übertragen werden, sobald diese benötigt werden.Installation über das NetzwerkNachdem die Netzwerkverbindung wie in konfiguriert wurde,
kann ein Spiegelserver ausgewählt werden. Spiegelserver dienen
zur Zwischenspeicherung von Kopien der &os;-Dateien. Wählen
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.Einen Spiegelserver wählenDie Installation wird auf die gleiche Weise fortfahren, als
würden die Installationsdateien auf einem lokalen Medium
vorliegen.Plattenplatz bereitstellenEs gibt drei Arten, Plattenplatz für &os; zur
Verfügung zu stellen. Geführte
Partitionierung richtet Partitionen automatisch ein, während
manuelle Partitionierung es
fortgeschrittenen Anwendern erlaubt, selbstgewählte Partitionen
zu erzeugen. Schliesslich gbt es noch die Option eine Shell zu
starten, auf der Kommandozeilenprogramme wie &man.gpart.8;,
&man.fdisk.8; und &man.bsdlabel.8; direkt ausgeführt werden
können.Geführte oder manuelle Partitionierung auswählen
+
+ Dieser Abschnitt beschreibt, was bei der Partitionierung der
+ Platten zu beachten ist und wie die einzelnen Methoden zur
+ Partitionierung angewendet werden.
+
+
+ Ein Partitionslayout entwerfen
+
+ Partitionslayout
+
+ /etc
+
+
+ /var
+
+
+ /usr
+
+
+ Wenn 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 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, 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-Partition
+
+
+ Swap Partition
+
+
+ Als 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 PartitionierungSollten mehrere Platten angeschlossen sein, wählen Sie
diejenige aus, auf der &os; installiert werden soll.Aus mehreren Platten eine auswählenDie gesamte Festplatte oder nur ein Teil davon kann für
&os; verwendet werden. Ein allgemeines Partitionslayout, das
die gesamte Platte einnimmt wird erstellt, wenn
[ Entire Disk ]
ausgewählt wird. Durch die Wahl von
[ Partition ] wird ein
Partitionslayout im unbenutzten Speicherplatz der Platte
eingerichtet.Auswahl der gesamten Platte oder einer
PartitionNachdem das Partitionslayout nun erstellt wurde, sollten
Sie es danach noch einmal auf Korrektheit prüfen. Sollten Sie
einen Fehler gemacht haben, können Sie durch Auswahl von
[ Revert ] wieder die
ursprünglichen Partitionen setzen oder durch
[ Auto ] die automatischen
&os; Partitionen wiederherstellen. Partitionen können manuell
erstellt, geändert oder gelöscht werden. Sollte die
Partitionierung richtig sein, wählen Sie
[ Finish ] aus, um mit der
Installation fortzufahren.Überprüfen der erstellen PartitionenManuelle PartitionierungManuelle Partitionierung führt Sie direkt zum
Partitionseditor.Partitionen manuell erstellenDurch hervorheben einer Platte (in diesem Fall
ada0) und die Auswahl von
[ Create ], wird ein Menü zur
Wahl des Partitionierungsschemas
angezeigt.Partitionen manuell anlegenGPT-Partitionierung ist normalerweise
die passendste Auswahl für PC-kompatible Rechner. Ältere PC
Betriebssysteme, die nicht mit GPT
kompatibel und benötigen stattdessen
MBR-Partitionen. Die anderen
Partitionsschemata werden für gewöhnlich für ältere
Computersysteme benutzt.
PartitionierungsschemasAbkürzungBeschreibungAPMApple
Partition Map, von &powerpc; &macintosh;
verwendet.BSDBSD-Labels ohne einen MBR, manchmal auch
dangerously dedicated mode genannt.
Lesen Sie dazu &man.bsdlabel.8;.GPTGUID Partition Table.MBRMaster
Boot Record.PC98MBR-Variante, verwendet von NEC PC-98 Computern.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 ] neue Partitionen
erzeugt.Partitionen manuell erzeugenEine &os;-Standardinstallation mit GPT
legt mindestens die folgenden drei Partitionen an:Standard-&os;
GPT-Partitionenfreebsd-boot -
&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; beschreibt weitere verfügbare
Partitionstypen.Mehere Dateisystempartitionen können benutzt 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össenangaben 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össtmögliche Geschwindigkeit und das Anlegen von
Partitionsgrössen als vielfaches von 4K-Bytes hilft, die
passende Ausrichtung auf Platten mit entweder 512-Bytes oder
4K-Bytes Sektorgrössen, festzulegen. Generell sollte die
Verwendung von Partitionsgrössen, 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össer sein
als 512K.Ein Einhägepunkt 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 wird ebenfalls benötigt.
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 Hardwäreä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 auf jedem
Dateisystem 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
rootfs-lab für die UFS root-Partition auf
einem Laborrechner.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 anschliessend die Partitionen
selbst. Die gezeigten Partitionsgrössen sind typisch für
eine Festplatte von 20 G. Falls mehr Platz verfügbar
ist, sind grössere 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 erkannte
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.Die Installation festschreibenDies ist die letzte Chance, die Installation abzubrechen,
ohne Änderungen an den Festplatten vorzunehmen.Letzte BestätigungWählen Sie [ Commit ] und
drücken Sie Enter, um fortzufahren. Fall noch
Änderungen zu machen sind, wählen Sie
[ Back ], um zum
Partitionseditor zurück zu gelangen. Mittels
[ Revert & Exit ]
wird das Installationsprogramm beendet, ohne Änderungen an den
Festplatten durchzuführen.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.Zuerst wird das Installationsprogramm die Partitionen auf
die Platte schreiben und den Befehl newfs
ausführen, um die Partitionen zu initialisieren.Falls Sie eine Netzwerkinstallation vornehmen, wird
bsdinstall dann mit dem herunterladen
der benötigten Distributionsdateien fortfahren.Herunterladen der DistributionsdateienAls 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.Überprüfen der DistributionsdateienZum Schluss werden die überprüften Distributionsdateien auf
die Festplatte entpackt.Entpacken der DistributionsdateienSobald alle benötigten Distributionsdateien entpackt wurden,
wird bsdinstall direkt mit den
Arbeiten nach der Installation fortsetzen (siehe
).Arbeiten nach der InstallationDie Konfiguration von verschiedenen Optionen folgt auf eine
erfolgreiche &os;-Installation. Eine solche Option kann durch
das erneute betreten der Konfigurationsoptionen aus dem letzten
Menü vor dem Neustart in das gerade installierte &os;-System
angepasst werden.Setzen des root-PasswortsDas
root-Passwort muss
gesetzt werden. Wichtig ist dabei zu wissen, dass die
eingegebenen Zeichen nicht auf dem Bildschirm angezeigt
werden. Nachdem das Passwort eingegeben wurde, muss es zur
Bestätigung erneut eingetippt werden. Damit werden auch
Tippfehler verhindert.Das root-Passwort setzenNachdem das Passwort erfolgreich gesetzt wurde, wird die
Installation nun fortgesetzt.Die Netzwerkschnittstelle konfigurierenDie Netzwerkkonfiguration wird übersprungen, falls dies
bereits als Teil der bootonly
durchgeführt worden ist.Eine Liste aller gefundenen Netzwerkschnittstellen, die
auf diesem Computer gefunden wurden, wird als nächstes
angezeigt. Wählen Sie davon eine aus, um diese zu
konfigurieren.Eine zu konfigurierende Netzwerkschnittstelle
auswählenEine drahtlose Netzwerkverbindung einrichtenSollte eine drahtlose Netzwerkverbindung ausgewählt
worden sein, müssen WLAN-Identifikation und
Sicherheitsparameter nun eingegeben werden, um die
Verbindung mit dem Netzwerk herzustellen.Drahtlose Netzwerke werden durch einen Service Set
Identifier oder auch SSID genannt,
identifiziert. Der SSID ist ein kurzer,
eindeutiger Name, der für jedes Netzwerk vergeben
wird.Die meisten drahtlosen Netzwerke verschlüsseln die
übertragenen Daten, um die Information darin vor
unautorisiertem Zugriff zu schützen. Die Verwendung von
WPA2-Verschlüsselung wird empfohlen.
Ältere Verschlüsselungstypen, wie WEP,
bieten nur sehr wenig Sicherheit.Der erste Schritt des Verbindungsaufbaus ist das
drahtlose Netzwerk nach drahtlosen Zugriffspunkten (access
points) zu scannen.Nach drahtlosen Access Points scannenSSIDs, die während des scannens
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 Ihre Antenne auf Verbindungsprobleme oder versuchen
Sie, näher an den Access point zu gelangen. Scannen Sie
erneut nach jeder vorgenommenen Änderung.Ein drahtloses Netzwerk auswählenDie Verschlüsselungsinformationen, um sich mit dem
Netzwerk zu verbinden, werden nach der Auswahl des
Netzwerks eingegeben. Mit WPA2 wird
nur ein Passwort (auch bekannt als Pre-Shared Key oder
PSK) benötigt. Zeichen, die in die
Eingabebox getippt werden, erscheinen aus
Sicherheitsgründen als Sternchen.Verbindungsaufbau mit WPA2Die Netzwerkkonfiguration wird fortgesetzt, nachdem
das drahtlose Netzwerk und die Verbindungsinformationen
eingegeben wurden.Konfiguration des IPv4-NetzwerksWählen Sie, ob Sie ein IPv4-Netzwerk verwenden
möchten. Dies ist der am häufigsten vorkommende Typ
einer Netzwerkverbindung.Auswahl von IPv4Es gibt zwei Arten, ein IPv4-Netzwerk zu konfigurieren.
DHCP wird
automatisch die Netzwerkschnittstelle richtig konfigurieren
und sollte als bevorzugte Methode verwendet werden.
Statische 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 im
gezeigten Informationen von Ihrem Netzwerkadministrator
oder Serviceprovider.Netzwerkkonfiguration von IPv4 mittels DHCPFalls ein DHCP-Server zur Verfügung steht,
wählen Sie [ Yes ], um
die Netzwerkschnittstelle automatisch einrichten zu
lassen.Auswählen der IPv4-Konfiguration über
DHCPStatische IPv4-NetzwerkkonfigurationStatische Konfiguration der Netzwerkschnittstelle
erfordert die die Eingabe einiger
IPv4-Informationen.Statische IPv4-KonfigurationIP-Adresse - Die manuell
festgelegte 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.Subnetzmaske - Die
Subnetzmaske, die im lokalen Netzwerk Verwendung
findet. Typischerweise ist dies
255.255.255.0.Defaultrouter - Die IP-Adresse
des Defaultrouters in diesem Netzwerk. Normalerweise
ist das die Adresse des Routers oder einer anderen
Netzwerkkomponente, die das lokale Netzwerk mit dem
Internet verbindet. Auch bekannt als das
Default Gateway.Konfiguration des IPv6-NetzwerksIPv6 ist eine neuere Methode der Netzwerkkonfiguration.
Falls IPv6 verfügbar ist und verwendet werden soll, wählen
Sie [ Yes ] aus.Auswahl von IPv6IPv6 besitzt ebenfalls zwei Arten der Konfiguration.
SLAAC, oder
StateLess Address AutoConfiguration,
wird die Netzwerkschnittstelle automatisch richtig
konfigurieren. Statische Konfiguration
verlangt die manuelle Eingabe von
Netzwerkinformationen.IPv6 Stateless Address AutoconfigurationSLAAC erlaubt es einer
IPv6-Netzwerkkomponente, die Information zur automatischen
Konfiguration von einem lokalen Router abzufragen. Lesen
Sie RFC4862
für weitere Informationen.Auswahl der IPv6 SLAAC-KonfigurationStatische IPv6-NetzwerkkonfigurationStatische Konfiguration der Netzwerkschnittstelle
benötigt die Eingabe von
IPv6-Konfigurationsinformationen.Statische IPv6-KonfigurationIPv6-Adresse - The manuell
zugewiesene IP-Adresse, welche dem
Computer zugeteilt werden soll. Diese Adresse muss
eindeutig sein und nicht bereits von einer anderen
Netzwerkkomponente im lokalen Netzwerk verwendet
werden.Defaultrouter - Die
IPv6-Adresse des Defaultrouters in diesem Netzwerk.
Normalerweise ist dies die Adresse des Routers oder
einer anderen Netzwerkkomponente, welche das lokale
Netz mit dem Internet verbindet. Auch bekannt als
Default Gateway.DNS-KonfigurationDer Domain Name System (oder auch
DNS) Resolver
wandelt Hostnamen von und zu Netzwerkadressen um. Falls
DHCP oder SLAAC
verwendet wurde, um die Netzwerkschnittstelle zu
konfigurieren, ist die Konfiguration für den Resolver
möglicherweise bereits vorhanden. Andernfalls geben Sie den
lokalen Netzwerkdomänennamen in das Feld
Search ein. DNS #1
und DNS #2 sind die
IP-Adressen der lokalen
DNS-Server. Zumindest ein
DNS-Server wird benötigt.DNS-KonfigurationSetzen der ZeitzoneDas Setzen der Zeitzone für Ihre Maschine erlaubt es,
diese auf regionale Zeitveränderungen hin anzupassen und um
andere zeitzonenbezogene Funktionen richtig
durchzuführen.Das hier Beispiel gezeigte Beispiel bezieht sich auf einen
Rechner in der östlichen Zeitzone der Vereinigten Staaten.
Ihre Auswahl wird von Ihrer geographischen Position davon
abweichen.Lokale oder UTC-ZeitWählen Sie [ Yes ]
oder [ No ], abhängig davon,
wie die Rechneruhr konfiguriert ist und drücken Sie dann
Enter. Wenn Sie nicht wissen, ob Ihr System
UTC oder lokale Zeit verwendet, wählen Sie
[ No ], um die am häufigsten
verwendete lokale Zeit zu setzen.Das Gebiet auswählenDas passende Gebiet wird durch die Pfeiltasten und das
anschliessende druücken von Enter
gewählt.Das Land auswählenWählen Sie das zutreffende Land mit den Pfeiltasten und
durch anschliessendes drücken von Enter
aus.Wählen einer ZeitzoneDie passende Zeitzone wird durch die Pfeiltasten und
anschliessendes drücken von Enter
ausgewählt.Bestätigen der ZeitzoneBestä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 nach
der Installation fortzufahren.Zu aktivierende Dienste auswählenZusätzliche Systemdienste, die zur Startzeit aktiviert
werden sollen, können eingeschaltet werden. All diese Dienste
sind optional.Auswahl zusätzlicher DiensteZusätzliche Dienstesshd - Secure Shell
(SSH)-Dienst für sicheren
Fernzugriff.moused - Sorgt für
Mausunterstützung innerhalb der Systemkonsole.ntpd - Network Time Protocol
(NTP)-Dienst zur automatischen
Uhrzeitsynchronisation.powerd -
Systemleistungskontrollwerkzeug zur Leistungsregelung und
für Stromsparfunktionen.Absturzaufzeichnung aktivierenbsdinstall 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 so oft wie möglich einzusetzen.
Wählen Sie [ Yes ], um
Absturzaufzeichnungen zu aktivieren oder
[ No ], um ohne die
Aufzeichnung von Abstürzen fortzufahren.Aktivierung der AbsturzaufzeichnungBenutzer hinzufügenDas hinzufügen von mindestens einem Benutzer während der
Installaton erlaubt das Benutzen des Systems ohne als
root-Benutzer
angemeldet zu sein. Wenn man als root angemeldet ist, gibt es
so gut wie keine Beschränkungen oder Schutz vor dem, was man
tun kann. Anmelden als normaler Benutzer ist daher sicherer
und bietet mehr Schutz.Wählen Sie [ Yes ], um
neue Benutzer hinzuzufügen.Benutzerkonten hinzufügenGeben Sie die nötigen Informationen für den Benutzer ein,
der dem System hinzugefügt werden soll.Benutzerinformationen eingebenBenutzerinformationenUsername - Der Name des Benutzers,
den man zur Anmeldung eingeben muss. Typischerweise der
erste Buchstabe des Vornamens, gefolgt vom
Nachnamen.Full name - Der volle Name des
Benutzers.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.Login class - In der Regel bleibt
dieses Feld leer.Shell - Die interaktive Shell für
diesen Benutzer. In diesem Beispiel wurde &man.csh.1;
ausgewält.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.Use an empty password? -
Normalerweise no.Use a random password? -
Normalerweise no.Enter password - Das Passwort für
diesem 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.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, drücken Sie yes, um
den neuen Benutzer anzulegen.Verlassen der Benutzer- und GruppenverwaltungFalls 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.Letzte Schritte der KonfigurationVerwenden Sie dieses Menü, um noch letzte Änderungen oder
zusätzliche Konfigurationen vor dem Abschliessen der
Installation zu tätigen.Letzte KonfigurationsoptionenAdd 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 (welches Sie gerade
lesen).Nachdem die lezten Konfigurationsschritte beendet sind,
wählen Sie Exit, um die Installation zu
verlassen.Manuelle Konfigurationbsdinstall 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.Die Installation vervollständigenWenn weitere Konfigurationen oder besondere Einstellungen
benötigt werden, kann durch auswählen von
[ Live CD ] das
Installationsmedium im Live CD Modus gestartet werden.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, die &os; Installations-CD, -DVD oder den
USB-Stick zu entfernen, oder der Computer wird erneut
davon starten.&os; starten und herunterfahren&os;/&arch.i386; startenWenn &os; startet, werden viele Informationsmeldungen
ausgegeben. Die meisten davon werden aus dem Bildschirm
verschwinden, das ist normal. Nachdem das System den
Startvorgang abgeschlossen hat, wird eine
Anmeldeaufforderungen angezeigt. Um Nachrichten, die aus
dem Bildschirm gelaufen sind, 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.Am login:-Bildschirm geben Sie den
Benutzernamen ein, den Sie während der Installation
angelegt haben, in diesem Fall ist das
asample.
Vermeiden Sie die Anmeldung als root, ausser wenn es
wirklich notwendig ist.Der oben beschriebene scroll-back buffer ist in der
Größe beschränkt, somit werden vielleicht nicht alle
Nachrichten sichtbar sein. Nach dem Anmelden können die
meisten davon aus der Kommandozeile aus durch eingabe von
dmesg | less betrachtet werden. Durch
drücken von q kehren Sie wieder zur
Kommandozeile zurück.Typische Startmeldungen (Versionsinformationen wurden
hier weggelassen):Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (3007.77-MHz K8-class CPU)
Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6
Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
Features2=0x209<SSE3,MON,SSSE3>
AMD Features=0x20100800<SYSCALL,NX,LM>
AMD Features2=0x1<LAHF>
real memory = 536805376 (511 MB)
avail memory = 491819008 (469 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <VBOX VBOXAPIC>
ioapic0: Changing APIC ID to 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <VBOX VBOXXSDT> on motherboard
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0
em0: Ethernet address: 08:00:27:9f:e0:92
pci0: <base peripheral> at device 4.0 (no driver attached)
pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
usbus0: <OHCI (generic) USB controller> on ohci0
pci0: <bridge> at device 7.0 (no driver attached)
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
ppc0: cannot reserve I/O port range
Timecounters tick every 10.000 msec
pcm0: measured ac97 link rate at 485193 Hz
em0: link state changed to UP
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Apple> at usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
cd0 at ata1 bus 0 scbus1 target 0 lun 0
cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <VBOX HARDDISK 1.0> ATA-6 device
ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad0
Timecounter "TSC" frequency 3007772192 Hz quality 800
Root mount waiting for: usbus0
uhub0: 8 ports with 8 removable, self powered
Trying to mount root from ufs:/dev/ada0p2 [rw]...
Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551.
Setting hostid: 0xa03479b2.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation)
Mounting local file systems:.
vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
vboxguest: loaded successfully
Setting hostname: machine3.example.com.
Starting Network: lo0 em0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 08:00:27:9f:e0:92
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
Starting devd.
Starting Network: usbus0.
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.2
bound to 192.168.1.142 -- renewal in 43200 seconds.
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
add net fe80::: gateway ::1
add net ff02::: gateway ::1
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
32-bit compatibility ldconfig path: /usr/lib32
Creating and/or trimming log files.
Starting syslogd.
No core dumps found.
Clearing /tmp (X related).
Updating motd:.
Configuring syscons: blanktime.
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.
Starting cron.
Starting background file system checks in 60 seconds.
Thu Oct 6 19:15:31 MDT 2011
FreeBSD/amd64 (machine3.example.com) (ttyv0)
login:Das Generieren der RSA- und DSA-Schlüssel kann auf
langsameren Rechnern einige Zeit benötigen. Dies geschieht
nur während der Startphase einer neuen Installation und auch
nur, wenn sshd zum automatischen
Start gesetzt ist. Die nachfolgenden Startvorgänge werden
schneller sein.&os; installiert standardmässig keine graphische
Umgebung, jedoch stehen viele zur Verfügung. Lesen Sie
für weitere Informationen.&os; herunterfahrenDas korrekte herunterfahren eines &os;-Computers hilft,
beugt dem Datenverlust vor und schützt sogar die Hardware vor
Schäden. Schalten Sie nicht einfach den Strom ab. Wenn der
Benutzer ein Mitglied der wheel-Gruppe ist, können Sie
zum Superuser durch die Eingabe von su und
der anschliessenden Eingabe des Passworts von root werden. Andernfalls
melden Sie sich mit root an und verwenden den
Befehl shutdown -p now. Das System wird
jetzt sauber heruntergefahren und den Rechner
ausschalten.Die CtrlAltDel Kombination kann verwendet
werden, um das System neu zu starten, jedoch wird dies nicht
während des normalen Betriebs empfohlen.FehlerbehebunginstallationtroubleshootingDer folgende Abschnitt behandelt einfache Fehlerbehebungen
für die Installation, wie beispielsweise häufig auftretende
Fehler, die von Anwendern berichtet wurden.Was man tun sollte, wenn etwas schiefgehtWegen verschiedener Limitierungen der PC-Architektur ist
es unmöglich dass die Geräteerkennung 100% verlässlich
funktioniert. Jedoch gibt es ein paar Dinge, die man tun
kann, wenn es fehlschlägt.Überprüfen Sie das Dokument
Hardware Notes nach Ihrer Version von &os;, um sicher
zu stellen, dass Ihre Hardware auch unterstützt wird.Wenn Ihre Hardware unterstützt wird und Sie immer noch
Abstürze oder andere Probleme erleben, müssen Sie einen
eigenen Kernel bauen. Das
wird Ihnen erlauben, Unterstützung für Geräte, die
im GENERIC-Kernel nicht vorhanden sind,
hinzuzufügen. Der Kernel auf den Bootmedien 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 Ihre 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 zu finden hat.Es ist auch möglich, dass ein fehlerhaft erkanntes Gerät
die Erkennung eines vorhandenen, späteren Geräts ebenfalls
fehlschlagen lässt. In diesem Fall sollte die Erkennung des
fehlerhaften Gerätetreibers deaktiviert werden.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, ausser 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.Fragen und Antworten zur FehlerbehebungMein System hängt während die
Geräteerkennung beim Starten durchgeführt wird
oder verhält sich merkwürdig während der
Installation.&os; macht starken Gebrauch vom ACPI-Dienst des
Systems auf den i386-, amd64-, and ia64-Platformen, um
den 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-CDNeben dem Installationsprogramm steht auch die
Live-CD von &os; auf der
CD zur Verfügung. 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, während 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 der CD
ausgeführt wird, ist die Geschwindigkeit deutlich
langsamer als bei einem System, das auf einer Festplatte
installiert ist.Die Live-CD 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 48353)
+++ head/de_DE.ISO8859-1/books/handbook/config/chapter.xml (revision 48354)
@@ -1,3831 +1,3688 @@
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:
- Wie Sie effizient Dateisysteme und
- Swap-Partitionen einrichten.
-
-
- 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 ().
-
-
-
- Vorbereitende Konfiguration
-
-
- Layout von Partitionen
-
- Layout von Partitionen
- /etc
- /var
- /usr
-
-
- Partitionen
-
- Wenn Sie Dateisysteme mit &man.bsdlabel.8; oder
- &man.sysinstall.8; 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 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
- gelegt werden. Es empfiehlt sich, die Partitionen in einer
- ähnlichen Reihenfolge wie Root-Partition, Swap,
- /var und /usr
- anzulegen.
-
- Die Größe der /var-Partition ist
- abhängig vom Zweck der Maschine. Die Partition
- /var 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.
-
-
- Die /usr-Partition enthält viele
- der Hauptbestandteile des Systems, dazu gehören die
- &man.ports.7;-Sammlung und die Quellen. Für diese Partition
- sollten mindestens zwei Gigabyte vorgesehen
- werden.
-
- 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.
-
-
- 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.
-
-
-
-
- Swap Partition
-
-
- Swap-Partition
- Größe
-
- Swap-Partition
-
- Als 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-Laufwerken, oder
- mehreren 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.
-
-
-
- Warum partitionieren?
-
- 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.
-
- 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 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.
-
- Basiskonfigurationrc-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 mit &man.sysinstall.8; oder
make world wird
/etc/rc.conf nicht überschrieben, so dass
die Systemkonfiguration erhalten bleibt./etc/rc.conf wird 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.Konfiguration von AnwendungenInstallierte Anwendungen haben typischerweise
eigene Konfigurationsdateien mit einer eigenen Syntax. Damit
diese Dateien leicht von der Paketverwaltung gefunden und
verwaltet werden können, ist es wichtig, sie vom Basissystem zu
trennen./usr/local/etcFü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
.sample. Wenn keine Konfigurationsdateien
für eine Anwendung existieren, werden sie durch Kopieren der
.sample Dateien erstellt.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
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.defaultAnhand 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 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.Das Werkzeug verwendet zwei verschiedene
Konfigurationsdateien: die
System-crontab und die
Benutzer-crontabs. Der einzige Unterschied
zwischen beiden Formaten ist das sechste Feld. In der
System-crontab gibt das
sechste Feld den Benutzer an, mit dem
cron 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
Feld das letzte Feld. Dies ist ein wichtiges
Sicherheitsmerkmal. Das letzte Feld bezeichnet immer das
Kommando, das ausgeführt werden soll.Benutzer können mit Benutzer-crontabs
ohne root-Rechte
Befehle terminieren. Die Kommandos in
Benutzer-crontabs laufen unter dem
Benutzer, der die crontab erstellt
hat.Der Benutzer
root kann, wie jeder
andere Benutzer, eine Benutzer-crontab
besitzen. Die Benutzer-crontab von
root ist nicht mit
/etc/crontab, der
System-crontab, zu verwechseln. Da die
System-crontab die angegebenen Kommandos
effektiv als
root-Benutzer
aufruft, besteht normalerweise keine Notwendigkeit eine eigene
Benutzer-crontab für
root zu
erstellen.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,
wie in den meisten Konfigurationsdateien, 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 beschrieben:
minute, hour,
mday, month,
wday, who
und command. Die ersten Felder
legen den Zeitpunkt fest, an dem ein Kommando laufen
soll. Das Feld minute legt die
Minute fest, 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 Datei /etc/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 Zeitpunkte an denen
atrun laufen soll. Dieses Beispiel
verwendet die Zeichenfolge */5 gefolgt
von mehreren *-Zeichen. Das Zeichen
* ist ein Platzhalter und steht
für jede mögliche Zeit.
Diese Zeile führt /usr/libexec/atrun
unter dem root-Account alle
fünf Minuten aus.Bei den Kommandos können beliebige 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.Bis auf das sechste Feld, das den Account angibt, sieht
jede &man.crontab.5; so wie das Beispiel aus. Das sechste Feld
existiert nur in der System-crontab. In
den restlichen &man.crontab.5;-Dateien fehlt dieses Feld.crontab installierenDie nachstehende Prozedur gilt nur für
Benutzer-crontabs. Die
System-crontab kann mit einem
Editor bearbeitet werden. cron bemerkt,
dass sich die Datei geändert hat und wird die neue
Version benutzen. Lesen Sie bitte auch die FAQ
zur Meldung
root: not found.Eine Benutzer-crontab, beispielsweise
die Datei crontab-datei, können Sie mit
jedem Editor erstellen. Die
Benutzer-crontab installieren Sie mit dem
nachstehenden Befehl:&prompt.root; crontab crontab-dateiDas Argument zum Befehl &man.crontab.5;
ist die vorher erstellte
crontab-datei.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.Wollen Sie die installierte
Benutzer-crontab entfernen, rufen Sie den
crontab -r.Das rc-System für SystemdiensteTomRhodesBeigetragen von 2002 wurde das &man.rc.8;-System von
NetBSD zum Start von Systemdiensten in &os; integriert.
Die zu diesem System gehörenden Dateien sind im
Verzeichnis /etc/rc.d abgelegt.
Die Skripten in diesem Verzeichnis akzeptieren über das
Kommando &man.service.8; die Optionen ,
und .
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 Beipiel
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.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. 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. 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 und &man.ifconfig.8;
enthalten weitere Einzelheiten über verfügbare Optionen. Die
Syntax von /etc/rc.conf wird in
&man.rc.conf.5; beschrieben.Wenn das Netz 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.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.FehlersucheNetzwerkkartenFehlersucheFehler zu beheben, ist immer sehr mühsam.
Indem Sie die einfachen Sachen zuerst prüfen,
erleichtern Sie sich die Aufgabe. Steckt das Netwerkkabel?
Sind die Netzwerkdienste richtig konfiguriert? Funktioniert
die Firewall? Wird die Netwerkkarte 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"Konfiguration des syslogd
ServersNiclasZeisingBeigetragen von system loggingsyslog&man.syslogd.8;Das Aufzeichnen von Log-Meldungen ist ein wichtiger Aspekt
der Systemadministration. Es wird 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.
Systemdienste ohne kontrollierendes Terminal senden
Meldungen in der Regel an einen Log-Server, oder schreiben sie
in eine Logdatei.Dieser Abschnitt beschreibt die Konfiguration und Verwendung
des &os; &man.syslogd.8; Servers, und diskutiert auch die
Log-Rotation und das Management von Logdateien mit
&man.newsyslog.8;. Der Fokus wird hierbei auf die Einrichtung
und Benutzung eines &man.syslogd.8; auf dem lokalen
Rechner gelegt. Für erweiterte Einstellungen und die Verwendung
eines separaten Log-Servers lesen Sie bitte
.Verwendung von syslogdIn der Standardkonfiguration von &os; wird &man.syslogd.8;
beim Booten automatisch gestartet. Dieses Verhalten wird über
die Variable syslogd_enable in
/etc/rc.conf gesteuert. Dazu gibt es
noch zahlreiche Argumente, die das Verhalten von
&man.syslogd.8; beeinflussen. Benutzen Sie zum verändern
dieser Argumente syslogd_flags in
/etc/rc.conf. Lesen Sie &man.syslogd.8;
für weitere Informationen über die Argumente, und
&man.rc.conf.5;,
und
wenn Sie mehr über
/etc/rc.conf und das &man.rc.8;-Subsystem
wissen möchten.Konfiguration von syslogdsyslog.confDie Konfigurationsdatei
/etc/syslog.conf steuert, was
&man.syslogd.8; mit Log-Meldungen macht, sobald sie empfangen
werden. Es gibt verschiedene Parameter, die das Verhalten bei
eingehenden Ereignissen kontrollieren. Zu den grundlegenden
gehören facility und
level.
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
!*Selektiert alle Meldungen vom Level
err, sowie
kern.warning,
auth.notice und
mail.crit und schickt diese zur Konsole
(/dev/console).Selektiert alle Meldungen von mail
ab dem Level info oder höher und
schreibt diese in
/var/log/maillog.Diese Zeile benutzt das Vergleichsflag
=, um nur Meldungen vom Level
debug zu selektieren und schreibt
diese in /var/log/debug.log.Hier ist 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
landen alle Meldungen von ppp (und
keinem anderen Programm) in
/var/log/ppp.log.Dieses Beispiel zeigt, dass es jede Menge Level und
Subsysteme gibt. Die 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.Mit diesem Wissen ist es nun einfach, eine weitere Zeile
in /etc/syslog.conf hinzuzufügen, welche
alle Meldungen von den unterschiedlichsten Dämonen mit einem
Level von notice und höher in
/var/log/daemon.log. Fügen Sie einfach
folgendes 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; und
.Log-Management und Rotation mit
newsyslognewsyslognewsyslog.conflog rotationlog managementLog-Dateien können schnell wachsen, was viel Speicherplatz
verbrauchen kann. Zudem wird es schwieriger, nützliche
Informationen schnell zu finden. Log-Management versucht,
diesen Effekt zu mildern. &os; verwendet &man.newsyslog.8;
für die Verwaltung von Log-Dateien. Dieses Programm
rotiert und komprimiert in regelmäßigen Abständen Log-Dateien.
Optional kann es auch fehlende Log-Dateien erstellen und
Programme benachrichtigen, wenn Log-Dateien verschoben wurden.
Dabei müssen die Log-Dateien nicht unbedingt von &man.syslogd.8;
stammen, &man.newsyslog.8; ist auch in der Lage, Nachrichten
von anderen Programmen zu verarbeiten. Obwohl
&man.newsyslog.8; normalerweise von &man.cron.8;
aufgerufen wird, ist es kein Systemdämon. In der
Standardkonfiguration wird dieser Job jede Stunde
ausgeführt.Konfiguration von newsyslogUm zu wissen, welche Maßnahmen zu ergreifen sind, liest
&man.newsyslog.8; seine Konfigurationsdatei, standardmäßig
/etc/newsyslog.conf. Diese
Konfigurationsdatei enthält eine Zeile für jede Datei, die
von &man.newsyslog.8; 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 Log-Dateien
rotiert werden. Hier folgt die Standardkonfiguration in
&os;:# configuration file for newsyslog
# $&os;$
#
# 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 Datei, 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
sowie
wenn die Datei rotiert wird. Weitere Informationen zu
allen Feldern, gültigen flags
und wie Sie die Rotationszeit angeben können, finden Sie in
&man.syslog.conf.5;. Denken Sie daran, dass
newsyslog von cron
aufgerufen wird und somit Dateien auch nur dann rotiert,
wenn es von &man.cron.8; aufgerufen wird, und nicht
häufiger.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./etc/namedbDas Vorgabeverzeichnis, in dem Daten von
&man.named.8; gehalten werden. Normalerweise
werden hier named.conf und
Zonendaten abgelegt./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.# $FreeBSD$
#
#
# 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
Leistungverlusten 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 Crashes 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 Filesystems
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.somaxconnkern.ipc.somaxconnDie &man.sysctl.8;-Variable
kern.ipc.somaxconn 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
optimales 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
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.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 oder existierenden
FestplatteDas Hinzufügen einer neuen Festplatte für Swap-Bereich
bietet eine bessere Leistung, als das Hinzufügen
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 &man.swapon.8; 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 &man.swapon.8; auf
einer Partition ausgeführt die noch Daten enthält, werden
die vorhandenen Daten überschrieben und sind unweigerlich
verloren. Stellen Sie sicher, das die Partition, die Sie
als Swap-Bereich hinzufügen möchten, wirklich die gewünschte
Partition ist, bevor sie &man.swapon.8; 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.Swap-Bereiche über NFSSwap-Bereiche über NFS sollten Sie nur dann einsetzen,
wenn Sie über keine lokale Platte verfügen, da es durch
die zur Verfügung stehende Bandbreite limitiert wird und
außerdem den NFS-Server zusätzlich
belastet.Swap-DateienSie können eine Datei festgelegter Größe als Swap-Bereich
nutzen. Im folgenden Beispiel wird eine 64 MB große
Datei mit dem Namen /usr/swap0
benutzt.Erstellen einer Swap-DateiDer 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 sich, dass die folgende
Zeile in der Kernelkonfigurationsdatei enthalten
ist:device mdInformationen, wie man einen eigenen Kernel
erstellen kann, erhalten Sie in
.Legen Sie die Swap-Datei
/usr/swap0 an:&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Setzen Sie die richtigen Berechtigungen für
/usr/swap0:&prompt.root; chmod 0600 /usr/swap0Aktivieren Sie die Swap-Datei
/etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.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/md0Energie- und RessourcenverwaltungHitenPandyaVerfasst von TomRhodesEs ist wichtig, Hardware effizient einzusetzen. Vor der
Einführung des Advanced Configuration and Power
Interface (ACPI) 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
Advanced Power Management
(APM) erlaubte
es lediglich, einige wenige Funktionen zu steuern, obwohl die
Überwachung von Energie- und Ressourcenverbrauch zu den
wichtigsten Aufgaben eines Betriebssystems gehört, um auf
verschiedene Ereignisse, beispielsweise einen unerwarteten
Temperaturanstieg, reagieren können.Dieser Abschnitt erklärt das Advanced Configuration and
Power Interface (ACPI).Was ist ACPI?ACPIAPMAdvanced Configuration and Power Interface
(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, APM, erwies sich
in modernen Systemen als unzureichend.Mängel des Advanced Power ManagementsDas APM steuert den Energieverbrauch
eines Systems auf Basis der Systemaktivität. 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
findet sich in der Regel nur noch in Systemen, die vor 2001
produziert wurden.Das 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 ebenfalls
unzureichend. Das PNPBIOS verwendet eine
16-Bit-Technik. Damit das Betriebssystem das
PNPBIOS ansprechen kann, muss es in einer
16-Bit-Emulation laufen.Der APM-Treiber wird in &man.apm.4;
beschrieben.Konfiguration des ACPIDas Modul &man.acpi.4; wird standardmäßig beim Systemstart
vom &man.loader.8; geladen und sollte daher
nicht fest in den Kernel eingebunden
werden. Dadurch kann ein Modul ohne einen Neubau des Kernels
leichter ersetzt und getestet werden. Das
ACPI-Modul im laufenden Betrieb zu laden,
führt oft nicht zum gewünschten Ergebnis. Treten bei Ihrem
System Probleme auf, kann ACPI auch
komplett deaktiviert werden. 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.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 &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
5 schaltet das System
aus (Soft-off) und entspricht
dem folgenden Befehl:&prompt.root; halt -pVerschiedene Optionen können als
&man.sysctl.8;-Variablen gesetzt werden. Lesen Sie dazu
&man.acpi.4; sowie &man.acpiconf.8;.ACPI-FehlersucheNateLawsonVerfasst von PeterSchultzMit Beiträgen von TomRhodesACPIProbleme mitACPI ist ein gänzlich neuer
Weg, um Geräte aufzufinden und deren Stromverbrauch
zu regulieren. Weiterhin bietet ACPI
einen einheitlichen Zugriff auf Geräte, die vorher
vom BIOS verwaltet wurden. Es werden
zwar Fortschritte gemacht, dass ACPI
auf allen Systemen läuft, doch tauchen immer wieder
Fehler auf: fehlerhafter Bytecode der
ACPI-Machine-Language
(AML) einiger Systemplatinen,
ein unvollständiges &os;-Kernel-Subsystem oder
Fehler im ACPI-CA-Interpreter
von &intel;.Dieser Abschnitt hilft Benutzern, zusammen mit den Betreuern
des &os;-ACPI-Subsystems, Fehlerquellen
zu finden und Fehler zu beseitigen.Fehlerberichte einreichenBevor Sie einen Fehlerbericht einreichen, stellen
Sie bitte sicher, dass das BIOS
und die Firmware des Controllers aktuell sind.Wenn Sie einen Fehlerbericht einsenden wollen,
schicken Sie bitte die folgenden Informationen an
die Mailingliste freebsd-acpi: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 &man.dmesg.8; nach der Eingabe
von boot -v.
Geben Sie auch alle Fehlermeldungen an, die erscheinen,
wenn Sie den Fehler provozieren.Die Ausgabe von &man.dmesg.8; 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
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
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) mit &man.send-pr.1; 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.ACPI-GrundlagenACPIACPI 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.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.Häufige ProblemeACPIProbleme mitDamit ACPI richtig funktioniert,
müssen alle Teile funktionieren. Im Folgenden
finden Sie eine Liste mit Problemen und möglichen
Umgehungen oder Fehlerbehebungen. Die Liste ist nach
der Häufigkeit, mit der die Probleme auftreten,
sortiert.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. Besteht
das Problem weiterhin, sollten Sie einen Fehlerbericht
senden.Suspend/ResumeACPI kennt drei
Suspend-to-RAM-Zustände
(STR):
S1-S3.
Es gibt einen Suspend-to-Disk-Zustand (STD):
S4. 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. Der
Zustand S4 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.Die Suspend-Zustände sind Ruhezustände,
in denen der Rechner weniger Energie als im
Normalbetrieb benötigt. Resume bezeichnet
die Rückkehr zum Normalbetrieb.Die Suspend-Zustände können Sie mit
dem Kommando sysctl hw.acpi
ermitteln. Das Folgende könnte beispielsweise
ausgegeben werden:hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0Diese Ausgabe besagt, dass mit dem Befehl
acpiconf -s die Zustände
S3, S4OS
und S5 eingestellt werden können.
Hätte den Wert
1, gäbe es den Zustand
S4BIOS anstelle
von S4OS.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. Wenn Sie Probleme mit diesem Zustand
haben, können Sie die Mailingliste
&a.acpi.name; anschreiben. Erwarten Sie allerdings
nicht zu viel: Es gibt viele Treiber und Geräte,
an denen noch gearbeitet und getestet wird.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, entfernen Sie soviele
Treiber wie möglich aus dem Kernel. Sie können
das Problem isolieren, indem Sie einen Treiber nach
dem anderen laden, 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
0. 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.conf0. 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.Andere ProblemeWenn Sie weitere Probleme mit ACPI
haben (Umgang mit einer Docking-Station, nicht erkannte
Geräte), schicken Sie bitte eine Beschreibung an die
Mailingliste &a.acpi.name;. Allerdings kann es sein, dass
einige Probleme von noch unvollständigen Teilen des
ACPI-Subsystems abhängen und
es etwas dauern kann bis diese Teile fertig sind.
Seien Sie geduldig und rechnen Sie damit,
Fehlerbehebungen zu testen.ASL, &man.acpidump.8; und
IASLACPIASLEinige 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 mit der
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 in
.Sie können einfach prüfen, ob sich die
ASL übersetzen lässt.
Für gewöhnlich können Sie Warnungen
während des Übersetzens ignorieren.
Fehlermeldungen führen normal dazu, dass
ACPI fehlerhaft arbeitet.
ASL übersetzen Sie mit dem
nachstehenden Kommando:&prompt.root; iasl ihre.aslDie ASL reparierenACPIASLEs ist das Ziel von &os;, dass
ACPI ohne Eingriffe des Benutzers
läuft. Zurzeit werden allerdings noch Umgehungen 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.
Sie können Ihre ASL selbst reparieren,
wenn Sie ein Problem umgehen und uns helfen möchten.
Senden Sie bitte die mit &man.diff.1; erstellte Differenz
zwischen alter und neuer ASL. Die
Entwickler werden versuchen, den Interpreter
ACPI-CA zu korrigieren.ACPIFehlermeldungenDie nachfolgende Liste enthält häufige
Fehlermeldungen, deren Ursache und eine Beschreibung,
wie die Fehler korrigiert werden:Abhängigkeiten vom BetriebssystemEinige 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 2001".Fehlende Return-AnweisungenEinige Methoden verzichten auf die vom Standard
vorgeschriebene Rückgabe eines Wertes. Obwohl
der Interpreter ACPI-CA dies nicht
beheben kann, besitzt &os; die Möglichkeit, den
Rückgabewert implizit zu setzen. Wenn Sie
wissen, welcher Wert zurückgegeben werden muss,
können Sie die fehlenden Return-Anweisungen
selbst einsetzen. Die Option
zwingt &man.iasl.8;, die ASL
zu übersetzen.Überschreiben der vorgegebenen
AMLNachdem Sie Ihre ASL in der
Datei ihre.asl angepasst haben,
übersetzen Sie die ASL wie folgt:&prompt.root; iasl ihre.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
Interpreter umgangen.In der Voreinstellung erstellt der Befehl
&man.iasl.8; die Ausgabedatei
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.ACPI-Meldungen zur
Fehlersuche erzeugenACPIProbleme 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 so genannte
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
level gesteuert. level reicht
von ACPI_LV_ERROR (es werden nur Fehler
ausgegeben) bis zu ACPI_LV_VERBOSE (alles
wird ausgegeben). 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=1Installieren Sie anschließend
acpi.ko im 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-CA-Komponenten und alle
ACPI-Hardwaretreiber (wie
CPU, LID):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
&man.sysctl.8; dieselben Variablennamen wie in
/boot/loader.conf an.ACPI-InformationsquellenWeitere Informationen zu ACPI
erhalten Sie an den folgenden Stellen:die &a.acpi; Mailingliste,die Archive der ACPI-Mailingliste:
http://lists.FreeBSD.org/pipermail/freebsd-acpi/,die alten Archive der ACPI-Mailingliste:
http://home.jp.FreeBSD.org/mail-list/acpi-jp/,die ACPI-Spezifikation (Version 2.0):
http://acpi.info/spec.htm,&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
&man.iasl.8; und &man.acpidb.8;,
DSDT debugging resource.