diff --git a/de_DE.ISO8859-1/articles/Makefile b/de_DE.ISO8859-1/articles/Makefile
index 4ec255330c..3f161a2334 100644
--- a/de_DE.ISO8859-1/articles/Makefile
+++ b/de_DE.ISO8859-1/articles/Makefile
@@ -1,20 +1,21 @@
#
# The FreeBSD Documentation Project
# The FreeBSD German Documentation Project
#
# $FreeBSD$
-# $FreeBSDde: de-docproj/articles/Makefile,v 1.6 2009/01/17 11:49:01 jkois Exp $
+# $FreeBSDde: de-docproj/articles/Makefile,v 1.7 2010/09/18 13:58:33 bcr Exp $
# basiert auf: 1.42
SUBDIR = contributing
SUBDIR+= contributing-ports
SUBDIR+= explaining-bsd
SUBDIR+= laptop
SUBDIR+= linux-comparison
SUBDIR+= new-users
+SUBDIR+= solid-state
SUBDIR+= version-guide
# ROOT_SYMLINKS+= new-users
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/articles/solid-state/Makefile b/de_DE.ISO8859-1/articles/solid-state/Makefile
new file mode 100644
index 0000000000..0c4f4dbe3d
--- /dev/null
+++ b/de_DE.ISO8859-1/articles/solid-state/Makefile
@@ -0,0 +1,24 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD German Documentation Project
+#
+# $FreeBSD$
+# $FreeBSDde: de-docproj/articles/solid-state/Makefile,v 1.1 2010/09/18 13:58:33 bcr Exp $
+# basiert auf: 1.17
+#
+# Article: FreeBSD und Solid State Devices
+
+DOC?= article
+
+FORMATS?= html html-split
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+URL_RELPREFIX?= ../../../..
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/articles/solid-state/article.sgml b/de_DE.ISO8859-1/articles/solid-state/article.sgml
new file mode 100644
index 0000000000..25bba15d08
--- /dev/null
+++ b/de_DE.ISO8859-1/articles/solid-state/article.sgml
@@ -0,0 +1,529 @@
+
+
+
+%articles.ent;
+
+]>
+
+
+
+ &os; und Solid State-Geräte
+
+
+
+ John
+ Kozubik
+
+
+ john@kozubik.com
+
+
+
+
+ $FreeBSD$
+
+
+ 2001
+ 2009
+ The FreeBSD Documentation Project
+
+
+
+ &tm-attrib.freebsd;
+ &tm-attrib.general;
+
+
+ &legalnotice;
+
+
+ Dieser Artikel behandelt die Verwendung von Solid State Festplatten
+ in &os;, um eingebettete Systeme zu erstellen.
+
+ Eingebettete Systeme haben den Vorteil, dass sie eine höhere
+ Stabilität aufgrund des fehlens von beweglichen Bauteilen
+ (Festplatten) besitzen. Es muss jedoch beachtet werden, dass generell
+ weniger Speicherplatz zur Verfügung steht und die Lebensdauer des
+ Speichermediums geringer ist.
+
+ Spezielle Themen die behandelt werden beinhalten die Typen und
+ Attribute von Solid State Datenträgern, die in &os; verwendet
+ werden, Kernel-Optionen die in solch einer Umgebung von Interesse sind,
+ der rc.initdiskless-Mechanismus, welcher die
+ Initalisierung solcher Systeme automatisiert, sowie die Notwendigkeit
+ von Nur-Lese-Dateisystemen und das Erstellen von Dateisystemen von
+ Grund auf. Der Artikel schliesst mit ein paar generellen Strategien
+ für kleine und Nur-Lese-&os; Umgebungen.
+
+ Übersetzt von Benedict Reuschling.
+
+
+
+
+ Solid State Festplattengeräte
+
+ Der Umfang des Artikels ist auf Solid State Geräte
+ beschränkt, die auf Flash-Speicher basieren. Flash-Speicher ist ein
+ Solid State Speicher (keine beweglichen Teile), der nicht flüchtig
+ ist (der Speicher behält die Daten sogar nachdem alle Energiequellen
+ ausgeschaltet wurden). Flash-Speicher kann grossen physischen Schock
+ aushalten und ist vergleichsweise schnell (die Flash-Speicher
+ Lösungen, die in diesem Artikel behandelt werden, sind nur wenig
+ langsamer als eine EIDE-Festplatte in der Schreibgeschwindigkeit und viel
+ schneller bei Lese-Operationen). Ein sehr wichtiger Aspekt von
+ Flash-Speichern, dessen Auswirkungen später in diesem Artikel
+ diskutiert werden, ist, dass jeder Sektor eine begrenzte Kapazität
+ zur Wiederbeschreibung besitzt. Man kann nur eine bestimmte Anzahl von
+ Schreib-, Lösch- und Wiederbeschreibungsvorgängen
+ durchführen, bevor der Sektor permanent unbrauchbar wird. Obwohl
+ viele Flash-Speicher Produkte automatisch schlechte Blöcke markieren
+ und manche Geräte Schreiboperationen gleichmässig verteilen,
+ bleibt weiterhin die Anzahl der durchführbaren Schreibvorgänge
+ begrenzt. Verschiedene Geräteeinheiten besitzen zwischen 1,000,000
+ und 10,000,000 Schreibzyklen pro Sektor in ihren Spezifikationen. Diese
+ Zahlen variieren aufgrund der Umgebungstemperatur.
+
+ Im Speziellen werden wir ATA-kompatible Compact-Flash-Karten
+ betrachten, welche als Speichermedien für Digitalkameras ziemlich
+ populär sind. Von besonderem Interesse ist der Umstand, dass diese
+ direkt an den IDE-Bus angeschlossen werden und kompatibel zu den
+ ATA-Befehlen sind. Aus diesem Grund können diese Geräte mit
+ einem einfachen und billigen Adapter direkt an den IDE-Bus eines
+ Computers angeschlossen werden. Auf diese Weise sehen Betriebssysteme
+ wie &os; diese Geräte dann als normale (wenn auch sehr kleine)
+ Festplatten an.
+
+ Andere Solid State Plattenlösungen existieren, jedoch platzieren
+ deren Kosten, Obskurität und ihre Unhandlichkeit sie aussserhalb
+ des Umfangs dieses Artikels.
+
+
+
+ Kerneloptionen
+
+ Ein paar Kerneloptionen sind von besonderem Interesse für
+ diejenigen, welche diese eingebetteten &os;-Systeme erstellen
+ möchten.
+
+ Alle eingebetteten &os;-Systeme, die Flash-Speicher als Systemplatte
+ verwenden, sind interessant für Dateisysteme im Hauptspeicher und
+ RAM-Disks. Wegen der begrenzten Anzahl von Schreibzyklen, die auf
+ Flash-Speicher durchgeführt werden können, werden die Platte
+ und die Dateisysteme darauf mit grosser Wahrscheinlichkeit nur lesend
+ eingehängt werden. In dieser Umgebung werden Dateisysteme wie
+ /tmp und /var als RAM-Disks
+ eingebunden, um dem System zu erlauben, Logdateien anzulegen und
+ Zähler sowie temporäre Dateien zu aktualisieren. RAM-Disks
+ sind eine kritische Komponente für eine erfolgreiche Solid State
+ Umsetzung in &os;.
+
+ Sie sollten dafür sorgen, dass die folgenden Zeilen in Ihrer
+ Kernelkonfigurationsdatei vorhanden sind:
+
+ options MFS # Memory Filesystem
+options MD_ROOT # md device usable as a potential root device
+pseudo-device md # memory disk
+
+
+
+ Die rc-Subsysteme und nur-Lese
+ Dateisysteme
+
+ Die Initialisierung nach dem Bootvorgang eines eingebetteten
+ &os;-Systems wird von /etc/rc.initdiskless
+ kontrolliert.
+
+ /etc/rc.d/var hängt
+ /var als RAM-Disk ein, erstellt eine konfigurierbare
+ Liste von Verzeichnissen in /var mittels des
+ &man.mkdir.1;-Kommandos und ändert die Attribute von ein paar dieser
+ Verzeichnisse. Bei der Ausführung von
+ /etc/rc.d/var kommt eine andere
+ rc.conf-Variable ins Spiel:
+ varsize. Die Datei /etc/rc.d/var
+ erstellt eine /var-Partition basierend auf dem Wert
+ dieser Variable in rc.conf:
+
+ varsize=8192
+
+ Standardmässig wird dieser Wert in Sektoren angegeben.
+
+ Der Fakt, dass es sich bei /var um ein nur-Lese
+ Dateisystem handelt, ist eine wichtige Unterscheidung, da die
+ /-Partition (und jede andere Partition, die Sie auf
+ Ihrem Flash-Medium haben) nur lesend eingehängt wird. Erinnern Sie
+ sich, dass in die Beschränkungen von
+ Flash-Speichern erläutert wurden, speziell deren begrenzte
+ Kapazität zum Schreiben. Die Notwendigkeit, Dateisysteme auf
+ Flash-Speichern nur lesend einzubinden und keine Swap-Dateien zu
+ verwenden, kann nicht oft genug erwähnt werden. Eine Swap-Datei auf
+ einem ausgelasteten System kann in weniger als einem Jahr den gesamten
+ Flash-Speicher aufbrauchen. Häufige Protokollierung oder das
+ Erstellen und Löschen von temporären Dateien kann das gleiche
+ verursachen. Aus diesem Grund sollten Sie zusätzlich zum entfernen
+ des swap-Eintrags aus ihrer
+ /etc/fstab-Datei auch noch die Optionsfelder
+ für jedes Dateisystem auf ro wie folgt
+ stellen:
+
+ # Device Mountpoint FStype Options Dump Pass#
+/dev/ad0s1a / ufs ro 1 1
+
+ Ein paar Anwendungen im normalen System werden sofort nach dieser
+ Änderung ausfallen. Beispielsweise wird Cron nicht richtig
+ funktionieren, aufgrund von fehlenden Cron-Tabellen in
+ /var die von
+ /etc/rc.d/var erstellt wurden. Syslog und DHCP
+ werden ebenfalls Probleme durch das nur-Lese Dateisystem
+ und fehlende Elemente im Verzeichnis /var
+ verursachen, die /etc/rc.d/var erstellt hat. Diese
+ Probleme sind jedoch nur vorübergehend und werden zusammen mit
+ Lösungen zur Ausführung von anderen gebräuchlichen
+ Softwarepaketen in angesprochen.
+
+ Eine wichtige Sache, an die man sich erinnern sollte, ist, dass
+ ein Dateisystem, welches als nur lesend in
+ /etc/fstab eingebunden wurde, jederzeit als
+ schreibend durch das folgende Kommando eingehängt werden
+ kann:
+
+ &prompt.root; /sbin/mount -uw partition
+
+ und auch wieder zurück auf nur lesend durch den Befehl:
+
+ &prompt.root; /sbin/mount -ur partition
+
+
+
+ Ein Dateisystem von Grund auf neu erstellen
+
+ Wenn ATA-kompatible Compact-Flash-Karten von &os; als normale
+ IDE-Festplatten erkannt werden, könnten Sie theoretisch &os; aus dem
+ Netzwerk mittels der Kern- und mfsroot-Floppies oder einer CD
+ installieren.
+
+ Jedoch kann selbst eine kleine Installation von &os; durch die
+ normale Installationsprozedur ein System erzeugen, dass grösser als
+ 200 MB ist. Da die meisten Leute kleinere Flash-Speichermedien
+ einsetzen (128 MB wird hier als gross angesehen - 32 oder sogar
+ 16 MB sind gebräuchlich) ist eine gewöhnliche Installation
+ mit normalen Methoden nicht möglich, da es einfach nicht genug
+ freien Plattenplatz gibt, selbst für die kleinste
+ Installationsart.
+
+ Der einfachste Weg, diese Speicherlimitierung zu umgehen, ist, &os;
+ auf konventionelle Weise auf eine normale Festplatte zu installieren.
+ Nachdem die Installation abgeschlossen wurde, kürzen Sie das
+ Betriebssystem auf das nötigste, bis Sie eine Grösse erreicht
+ hat, die auf das Flash-Medium passt und benutzen Sie dann tar auf dem
+ gesamten Dateisystem. Die folgenden Schritte werden Sie durch den
+ Prozess der Vorbereitung eines Flash-Mediums für ihr getartes
+ Dateisystem führen. Beachten Sie, dass Operationen wie
+ Partitionierung, Benennung, Erstellung von Dateisystemen, etc. von Hand
+ durchgeführt werden müssen, da eine normale Installation nicht
+ möglich ist. Zusätzlich zu den Kern- und mfsroot-Disketten
+ benötigen Sie auch die fixit-Floppy.
+
+
+
+ Partitionierung Ihrer Flash-Medien
+
+ Wählen Sie nach dem Starten der Kern- und mfsroot-Disketten,
+ custom aus dem Installationsmenü. In diesem
+ Menü wählen Sie dann partition aus.
+ Dort sollten Sie alle bestehenden Partitionen mit Hilfe der Taste
+ d löschen. Nachdem alle bestehenden
+ Partitionen gelöscht wurden, erstellen Sie mittels der Taste
+ c eine Partition und akzeptieren Sie den
+ Standardwert für die Grösse der Partition. Wenn Sie nach
+ dem Typ der Partition gefragt werden, stellen Sie sicher, dass der
+ Wert auf 165 eingestellt ist. Schreiben Sie jetzt
+ diese Partitionstabelle auf die Platte durch betätigen der Taste
+ w (dies ist die versteckte Option auf diesem
+ Bildschirm). Wenn Sie eine ATA-kompatible Compact Flash-Karte
+ verwenden, sollten Sie den &os; Bootmanager auswählen.
+ Drücken Sie nun die Taste q, um das
+ Partitionsmenü zu verlassen. Sie werden das Menü des
+ Bootmanagers noch ein weiteres Mal gezeigt bekommt. In diesem Fall
+ wiederholen Sie die Auswahl von vorher.
+
+
+
+ Anlegen von Dateisystemen auf Ihrem
+ Flashspeicher-Gerät
+
+ Verlassen Sie das Installationsmenü und wählen Sie aus
+ dem Hauptinstallationsmenü die Option fixit.
+ In der fixit-Umgebung angelangt, geben Sie den folgenden Befehl
+ ein:
+
+ &prompt.root; disklabel -e /dev/ad0c
+
+ Zu diesem Zeitpunkt sollten Sie sich im vi-Editor unter der
+ Herrschaft des disklabel-Kommandos befinden. Als nächstes
+ müssen Sie die eine a:-Zeile an das Ende der
+ Datei hinzufügen. Diese
+ a:-Zeile sollte wie folgt aussehen:
+
+ a: 123456 0 4.2BSD 0 0
+
+ Wobei 123456 eine Zahl darstellt, die
+ exakt der gleichen Zahl in der bestehenden Zeile mit dem
+ c:-Eintrag entspricht. Sie kopieren quasi
+ die bestehende Zeile c: als eine neue Zeile
+ a: und stellen sicher, dass fstype
+ 4.2BSD entspricht. Speichern Sie die Datei und
+ verlassen Sie den Editor.
+
+ &prompt.root; disklabel -B -r /dev/ad0c
+&prompt.root; newfs /dev/ad0a
+
+
+
+ Schreiben des Dateisystems auf Ihr Flash-Medium
+
+ Hängen Sie das neu erstellte Flash-Medium ein:
+
+ &prompt.root; mount /dev/ad0a /flash
+
+ Verbinden Sie diese Maschine mit dem Netzwerk, um die tar-Datei
+ zu übertragen und extrahieren Sie es auf das Dateisystem des
+ Flash-Mediums. Ein Beispiel dazu wäre folgendes:
+
+ &prompt.root; ifconfig xl0 192.168.0.10 netmask 255.255.255.0
+&prompt.root; route add default 192.168.0.1
+
+ Jetzt da die Maschine ans Netzwerk angeschlossen ist, kopieren
+ Sie die tar-Datei. An diesem Punkt werden Sie möglicherweise
+ mit einem Dilemma konfrontiert - sollte Ihr Flash-Speicher
+ beispielsweise 128 MB gross sein und Ihre tar-Datei grösser
+ als 64 MB, können Sie ihre tar-Datei auf dem Flash-Speicher
+ nicht entpacken - Ihnen wird vorher der Speicherplatz ausgehen. Eine
+ Lösung für dieses Problem, sofern Sie FTP verwenden, ist,
+ dass Sie die Datei entpacken können, während es von FTP
+ übertragen wird. Wenn Sie die Übertragung auf diese Weise
+ durchführen, haben Sie niemals die tar-Datei und deren Inhalt
+ zur gleichen Zeit auf Ihrem Medium:
+
+ ftp>get tarfile.tar "| tar xvf -"
+
+ Sollte Ihre tar-Datei gezippt sein, können Sie dies
+ ebenso bewerkstelligen:
+
+ ftp>get tarfile.tar "| zcat | tar xvf -"
+
+ Nachdem der Inhalt Ihrer tar-Datei auf dem Dateisystem des
+ Flash-Mediums abgelegt wurden, können Sie den Flash-Speicher
+ aushängen und neu starten:
+
+ &prompt.root; cd /
+&prompt.root; umount /flash
+&prompt.root; exit
+
+ In der Annahme, dass Sie Ihr Dateisystem richtig konfiguriert
+ haben, als es noch auf der gewöhnlichen Festplatte gebaut wurde
+ (mit Ihren Nur-Lese-Dateisystemen und den nötigen Optionen im
+ Kernel), sollten Sie nun erfolgreich von Ihrem &os; Embedded-System
+ starten können.
+
+
+
+
+
+ Systemstrategien für kleine und Nur-Lese-Umgebungen
+
+ In wurde darauf hingewiesen, dass das
+ /var-Dateisystem von
+ /etc/rc.d/var konstruiert wurde und die Präsenz
+ eines Nur-Lese-Wurzeldateisystems Probleme mit vielen in &os;
+ gebrächlichen Softwarepaketen verursacht. In diesem Artikel werden
+ Vorschläge für das erfolgreiche Betreiben von cron, syslog,
+ Installationen von Ports und dem Apache-Webserver unterbreitet.
+
+
+ cron
+
+ Während des Bootvorgangs wird /var von
+ /etc/rc.d/var anhand der Liste aus
+ /etc/mtree/BSD.var.dist gefüllt, damit
+ cron, cron/tabs, at und ein paar weitere
+ Standardverzeichnisse erstellt werden.
+
+ Jedoch löst das noch nicht das Problem, Crontabs über
+ Neustarts des Systems hinaus zu erhalten. Wenn das System neu
+ gestartet wird, verschwindet das /var-Dateiystem,
+ welches sich im Hauptspeicher befunden hat und jegliche Crontabs, die
+ Sie hatten werden ebenfalls verschwinden. Aus diesem Grund besteht eine
+ Lösung darin, Crontabs für diejenigen Benutzer zu erstellen,
+ die diese auch benötigen. Dazu sollte das
+ /-Dateisystem lesend und schreibend
+ eingehängt und diese Crontabs an einen sicheren Ort kopiert
+ werden, wie beispielsweise /etc/tabs. Fügen
+ Sie dann eine Zeile an das Ende der Datei
+ /etc/rc.initdiskless hinzu, die diese Crontabs in
+ /var/cron/tabs kopiert, nachdem dieses Verzeichnis
+ während der Systeminitialisierung erstellt wurde. Sie werden auch
+ eine Zeile hinzufügen mössen, welche die Besitzer und
+ Berechtigungen auf diesen Verzeichnissen, die Sie erstellen und den
+ dazugehörigen Dateien, die Sie mittels
+ /etc/rc.initdiskless kopieren, setzen.
+
+
+
+ syslog
+
+ Die Datei syslog.conf spezifiziert den Ort von
+ bestimmten Logdateien, welche in /var/log
+ existieren. Diese Dateien werden nicht von
+ /etc/rc.d/var während der
+ Systeminitialisierung erstellt. Aus diesem Grund müssen Sie
+ irgendwo in /etc/rc.d/var nach dem Abschnitt, der
+ die Verzeichnisse in /var erstellt, eine Zeile
+ ähnlich der folgenden hinzufügen:
+
+ &prompt.root; touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages
+&prompt.root; chmod 0644 /var/log/*
+
+
+
+ Installation von Ports
+
+ Bevor die notwendigen Änderungen erkärt werden, einen
+ Ports-Baum zu verwenden, ist es notwendig, Sie an die
+ Nur-Lese-Besonderheit Ihres Dateisystems auf dem Flash-Medium zu
+ erinnern. Da dieses nur lesend verfügbar ist, müssen Sie es
+ vorübergehend mit Schreibrechten ausstatten, indem Sie die
+ mount-Syntax, wie in dargestellt wird,
+ verwenden. Sie sollten immer diese Dateisysteme erneut mit
+ nur-Lese-Rechten einhängen wenn Sie damit fertig sind -
+ unnötige Schreibvorgänge auf dem Flash-Medium kann dessen
+ Lebenszeit erheblich verkürzen.
+
+ Um es zu ermöglichen, in das Ports-Verzeichnis zu wechseln
+ und erfolgreich
+ makeinstall
+ auszuführen, müssen wir ein Paketverzeichnis auf einem
+ Nicht-Hauptspeicherdateisystem erstellen, welches die Pakete über
+ Neustarts hinweg im Auge behält. Weil es sowieso nötig ist,
+ Ihre Dateisysteme mit Lese-Schreibrechten für die Installation
+ eines Pakets einzuhängen, ist es sinnvoll anzunehmen, dass ein
+ Bereich Ihres Flash-Mediums ebenfalls für Paketinformationen, die
+ darauf abgespeichert werden, verwendet wird.
+
+ Erstellen Sie zuerst ein Verzeichnis für die Paketdatenbank.
+ Normalerweise ist dies /var/db/pkg, jedoch
+ können wir es dort nicht unterbringen, da es jedesmal verschwinden
+ wird, wenn das System neu gestartet wird.
+
+ &prompt.root; mkdir /etc/pkg
+
+ Fügen Sie nun eine Zeile in /etc/rc.d/var
+ hinzu, welche das /etc/pkg-Verzeichnis mit
+ /var/db/pkg verknüpft. Ein Beispiel:
+
+ &prompt.root; ln -s /etc/pkg /var/db/pkg
+
+ Nun wird jedes Mal, wenn Sie Ihre Dateisysteme mit
+ Lese-Schreibrechten einbinden und ein Paket installieren, der Befehl
+ makeinstall funktionieren
+ und Paketinformationen werden erfolgreich nach
+ /etc/pkg geschrieben (da zu diesem Zeitpunkt das
+ Dateisystem mit Lese-Schreibrechten eingebunden ist), welche dann stets
+ dem Betriebssystem als /var/db/pkg zur
+ Verfügung stehen.
+
+
+
+ Apache Webserver
+
+
+ Die Anweisungen in diesem Abschnitt sind nur notwendig, wenn
+ Apache so eingerichtet ist, dass dieser seine PID oder
+ Protokollierungsinformationen ausserhalb von /var ablegt. Standardmässig
+ bewahrt Apache seine PID-Datei in /var/run/httpd.pid und seine
+ Protokolldateien in /var/log auf.
+
+
+ Es wird nun davon ausgegangen, dass Apache seine Protokolldateien
+ in einem Verzeichnis namens apache_log_dir
+ ausserhalb von /var speichert.
+ Wenn dieses Verzeichnis auf einem nur-Lese-Dateisystem existiert, wird
+ Apache nicht in der Lage sein, Protokolldateien zu speichern und wird
+ vermutlich nicht richtig funktionieren. Wenn dies der Fall ist, muss
+ ein neues Verzeichnis zu der Liste der Verzeichnisse in
+ /etc/rc.d/var hinzugefügt werden, um dieses
+ in /var zu erstellen und um apache_log_dir
+ nach /var/log/apache zu verknüpfen. Es ist
+ auch nötig, Berechtigungen und Besitzer auf diesem neuen
+ Verzeichnis zu setzen.
+
+ Fügen Sie zuerst das Verzeichnis log/apache
+ zu der Liste von Verzeichnissen hinzu, die in
+ /etc/rc.d/var angelegt werden sollen.
+
+ Danach tragen Sie die folgenden Befehle in
+ /etc/rc.d/var nach dem Abschnitt zum Erstellen der
+ Verzeichnisse ein:
+
+ &prompt.root; chmod 0774 /var/log/apache
+&prompt.root; chown nobody:nobody /var/log/apache
+
+ Schliesslich löschen Sie das bestehende apache_log_dir
+ Verzeichnis und ersetzen es mit einer Verknüpfung:
+
+ &prompt.root; rm -rf apache_log_dir
+&prompt.root; ln -s /var/log/apache apache_log_dir
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml b/de_DE.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
index 1732c3f13c..78161251fe 100644
--- a/de_DE.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
+++ b/de_DE.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
@@ -1,1243 +1,1131 @@
PaulRichardsContributed by JörgWunschRobertWatsonFabianRuchÜbersetzt von Kernel-FehlersucheBesorgen eines Speicherauszugs nach einem
Kernel-Absturz (Kernel-Crash-Dump)Wenn ein Entwicklungs-Kernel (z.B. &os.current;) wie zum
Beispiel ein Kernel unter Extrembedinungen (z.B. sehr hohe
Belastungsraten (Load), eine äußerst hohe Anzahl an
gleichzeitigen Benutzern, Hunderte &man.jail.8;s usw.)
eingesetzt oder eine neue Funktion oder ein neuer
Gerätetreiber in &os.stable; verwendet wird (z.B.
PAE), tritt manchmal eine Kernel-Panic ein.
In einem solchen Fall zeigt dieses Kapitel, wie dem Absturz
nützliche Informationen entnommen werden
können.Bei Kernel-Panics ist ein Neustart unvermeidlich. Nachdem
ein System neu gestartet wurde, ist der Inhalt des
physikalischen Speichers (RAM), genauso wie
jedes Bit, das sich vor der Panic auf dem Swap-Gerät
befand, verloren. Um die Bits im physikalischen Speicher zu
erhalten, zieht der Kernel Nutzen aus dem Swap-Gerät als
vorübergehenden Ablageort, wo die Bits, welche sich im RAM
befinden, auch nach einem Neustart nach einem Absturz
verfügbar sind. Durch diese Vorgehensweise kann ein
Kernel-Abbild, wenn &os; nach einem Absturz startet, abgezogen
und mit der Fehlersuche begonnen werden.Ein Swap-Gerät, das als Ausgabegerät
(Dump-Device) konfiguriert wurde, verhält sich immer noch
wie ein Swap-Gerät. Die Ausgabe auf
Nicht-Swap-Geräte (wie zum Beispiel Bänder oder
CDRWs) wird zur Zeit nicht unterstützt. Ein
Swap-Gerät ist gleichbedeutend mit einer
Swap-Partition.Es stehen verschiedene Arten von Speicherabzügen zur
Verfügung: komplette Speicherabzüge (full memory dumps), welche
den gesamten Inhalt des physischen Speichers beinhalten, Miniauszüge
(minidumps), die nur die gerade verwendeten Speicherseiten des Kernels
enthalten (&os; 6.2 und höhere Versionen) und Textauszüge
(textdumps), welche geskriptete oder Debugger-Ausgaben enthalten
(&os; 7.1 und höher). Miniauszüge sind der Standardtyp
der Abzüge seit &os; 7.0 und fangen in den meisten Fällen
alle nötigen Informationen ein, die in einem kompletten
Kernel-Speicherabzug enthalten sind, da die meisten Probleme nur durch
den Zustand des Kernels isoliert werden können.Konfigurieren des AusgabegerätsBevor der Kernel den Inhalt seines physikalischen
Speichers auf einem Ausgabegerät ablegt, muss ein solches
konfiguriert werden. Ein Ausgabegerät wird durch Benutzen
des &man.dumpon.8;-Befehls festgelegt, um dem Kernel
mitzuteilen, wohin die Speicherauszüge bei einem
Kernel-Absturz gesichert werden sollen. Das
&man.dumpon.8;-Programm muss aufgerufen werden, nachdem die
Swap-Partition mit &man.swapon.8; konfiguriert wurde. Dies
wird normalerweise durch Setzen der
dumpdev-Variable in &man.rc.conf.5; auf den
Pfad des Swap-Geräts (der empfohlene Weg, um einen
Kernel-Speicherauszug zu entnehmen) bewerkstelligt, oder über
AUTO, um die erste konfigurierte Swap-Partition
zu verwenden. AUTO ist seit &os; 6.0 die
Standardeinstellung.Vergleichen Sie /etc/fstab oder
&man.swapinfo.8; für eine Liste der
Swap-Geräte.Stellen Sie sicher, dass das in &man.rc.conf.5;
festgelegte dumpdir vor einem
Kernel-Absturz vorhanden ist.&prompt.root; mkdir /var/crash
&prompt.root; chmod 700 /var/crashDenken Sie auch daran, dass der Inhalt von
/var/crash heikel ist und sehr
wahrscheinlich vertrauliche Informationen wie
Passwörter enthält.Entnehmen eines Kernel-Speicherauszugs
(Kernel-Dump)Sobald ein Speicherauszug auf ein Ausgabegerät
geschrieben wurde, muss er entnommen werden, bevor das
Swap-Gerät eingehängt wird. Um einen Speicherauszug
aus einem Ausgabegerät zu entnehmen, benutzen Sie das
&man.savecore.8;-Programm. Falls dumpdev in
&man.rc.conf.5; gesetzt wurde, wird &man.savecore.8;
automatisch beim ersten Start in den Multiuser-Modus nach dem
Absturz und vor dem Einhängen des Swap-Geräts
aufgerufen. Der Speicherort des entnommenen Kernels ist im
&man.rc.conf.5;-Wert dumpdir,
standardmäßig /var/crash,
festgelegt und der Dateiname wird
vmcore.0 sein.In dem Fall, dass bereits eine Datei mit dem Namen
vmcore.0 in
/var/crash (oder auf was auch immer
dumpdir gesetzt ist) vorhanden ist,
erhöht der Kernel die angehängte Zahl bei jedem
Absturz um eins und verhindert damit, dass ein vorhandener
vmcore (z.B.
vmcore.1) überschrieben wird.
Während der Fehlersuche, möchten Sie höchst
wahrscheinlich den vmcore mit der
höchsten Version in /var/crash
benutzen, wenn Sie den passenden vmcore
suchen.Falls Sie einen neuen Kernel testen, aber einen anderen
starten müssen, um Ihr System wieder in Gang zu
bringen, starten Sie es nur in den Singleuser-Modus, indem
Sie das -Flag an der
Boot-Eingabeaufforderung benutzen, und nehmen dann folgende
Schritte vor:&prompt.root; fsck -p
&prompt.root; mount -a -t ufs # make sure /var/crash is writable
&prompt.root; savecore /var/crash /dev/ad0s1b
&prompt.root; exit # exit to multi-userDies weist &man.savecore.8; an, einen
Kernel-Speicherauszug aus /dev/ad0s1b
zu entnehmen und den Inhalt in
/var/crash abzulegen. Vergessen Sie
nicht sicherzustellen, dass das Zielverzeichnis
/var/crash genug freien Speicherplatz
für den Speicherauszug zur Verfügung hat.
Vergessen Sie auch nicht, den korrekten Pfad des
Swap-Geräts anzugeben, da es sehr wahrscheinlich anders
als /dev/ad0s1b lautet!Fehlersuche in einem Speicherauszug nach einem
Kernel-Absturz mit kgdbDieser Abschnitt deckt &man.kgdb.1; ab, wie es in &os; 5.3
und später zu finden ist. In früheren Versionen muss
gdb -k benutzt werden, um einen
Kernspeicherauszug auszulesen.Sobald ein Speicherauszug zur Verfügung steht, ist es
recht einfach nützliche Informationen für einfache
Probleme daraus zu bekommen. Bevor Sie sich auf die Interna von
&man.kgdb.1; stürzen, um die Fehler im Kernspeicherauszug
zu suchen und zu beheben, machen Sie die Debug-Version Ihres
Kernels (normalerweise kernel.debug
genannt) und den Pfad der Quelldateien, die zum Bau Ihres
Kernels verwendet wurden (normalerweise
/usr/obj/usr/src/sys/KERNCONF,
wobei KERNCONF
das in einer Kernel-&man.config.5; festgelegte
ident ist), ausfindig. Mit diesen beiden
Informationen kann die Fehlersuche beginnen.Um in den Debugger zu gelangen und mit dem
Informationserhalt aus dem Speicherauszug zu beginnen, sind
zumindest folgende Schritte nötig:&prompt.root; cd /usr/obj/usr/src/sys/KERNCONF
&prompt.root; kgdb kernel.debug /var/crash/vmcore.0Sie können Fehler im Speicherauszug nach dem Absturz
suchen, indem Sie die Kernel-Quellen benutzen, genauso wie Sie
es bei jedem anderen Programm können.Dieser erste Speicherauszug ist aus einem 5.2-BETA-Kernel
und der Absturz ist tief im Kernel begründet. Die Ausgabe
unten wurde dahingehend bearbeitet, dass sie nun Zeilennummern
auf der linken Seite einschließt. Diese erste
Ablaufverfolgung (Trace) untersucht den Befehlszeiger
(Instruction-Pointer) und beschafft eine Zurückverfolgung
(Back-Trace). Die Adresse, die in Zeile 41 für den
list-Befehl benutzt wird, ist der
Befehlszeiger und kann in Zeile 17 gefunden werden. Die meisten
Entwickler wollen zumindest dies zugesendet bekommen, falls Sie
das Problem nicht selber untersuchen und beheben können.
Falls Sie jedoch das Problem lösen, stellen Sie sicher,
dass Ihr Patch seinen Weg in den Quellbaum mittels eines
Fehlerberichts, den Mailinglisten oder ihres Privilegs, zu
committen, findet! 1:&prompt.root; cd /usr/obj/usr/src/sys/KERNCONF
2:&prompt.root; kgdb kernel.debug /var/crash/vmcore.0
3:GNU gdb 5.2.1 (FreeBSD)
4:Copyright 2002 Free Software Foundation, Inc.
5:GDB is free software, covered by the GNU General Public License, and you are
6:welcome to change it and/or distribute copies of it under certain conditions.
7:Type "show copying" to see the conditions.
8:There is absolutely no warranty for GDB. Type "show warranty" for details.
9:This GDB was configured as "i386-undermydesk-freebsd"...
10:panic: page fault
11:panic messages:
12:---
13:Fatal trap 12: page fault while in kernel mode
14:cpuid = 0; apic id = 00
15:fault virtual address = 0x300
16:fault code: = supervisor read, page not present
17:instruction pointer = 0x8:0xc0713860
18:stack pointer = 0x10:0xdc1d0b70
19:frame pointer = 0x10:0xdc1d0b7c
20:code segment = base 0x0, limit 0xfffff, type 0x1b
21: = DPL 0, pres 1, def32 1, gran 1
22:processor eflags = resume, IOPL = 0
23:current process = 14394 (uname)
24:trap number = 12
25:panic: page fault
26 cpuid = 0;
27:Stack backtrace:
28
29:syncing disks, buffers remaining... 2199 2199 panic: mi_switch: switch in a critical section
30:cpuid = 0;
31:Uptime: 2h43m19s
32:Dumping 255 MB
33: 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
34:---
35:Reading symbols from /boot/kernel/snd_maestro3.ko...done.
36:Loaded symbols for /boot/kernel/snd_maestro3.ko
37:Reading symbols from /boot/kernel/snd_pcm.ko...done.
38:Loaded symbols for /boot/kernel/snd_pcm.ko
39:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
40:240 dumping++;
41:(kgdb)list *0xc0713860
42:0xc0713860 is in lapic_ipi_wait (/usr/src/sys/i386/i386/local_apic.c:663).
43:658 incr = 0;
44:659 delay = 1;
45:660 } else
46:661 incr = 1;
47:662 for (x = 0; x < delay; x += incr) {
48:663 if ((lapic->icr_lo & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE)
49:664 return (1);
50:665 ia32_pause();
51:666 }
52:667 return (0);
53:(kgdb)backtrace
54:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
55:#1 0xc055fd9b in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
56:#2 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550
57:#3 0xc0567ef5 in mi_switch () at /usr/src/sys/kern/kern_synch.c:470
58:#4 0xc055fa87 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:312
59:#5 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550
60:#6 0xc0720c66 in trap_fatal (frame=0xdc1d0b30, eva=0)
61: at /usr/src/sys/i386/i386/trap.c:821
62:#7 0xc07202b3 in trap (frame=
63: {tf_fs = -1065484264, tf_es = -1065484272, tf_ds = -1065484272, tf_edi = 1, tf_esi = 0, tf_ebp = -602076292, tf_isp = -602076324, tf_ebx = 0, tf_edx = 0, tf_ecx = 1000000, tf_eax = 243, tf_trapno = 12, tf_err = 0, tf_eip = -1066321824, tf_cs = 8, tf_eflags = 65671, tf_esp = 243, tf_ss = 0})
64: at /usr/src/sys/i386/i386/trap.c:250
65:#8 0xc070c9f8 in calltrap () at {standard input}:94
66:#9 0xc07139f3 in lapic_ipi_vectored (vector=0, dest=0)
67: at /usr/src/sys/i386/i386/local_apic.c:733
68:#10 0xc0718b23 in ipi_selected (cpus=1, ipi=1)
69: at /usr/src/sys/i386/i386/mp_machdep.c:1115
70:#11 0xc057473e in kseq_notify (ke=0xcc05e360, cpu=0)
71: at /usr/src/sys/kern/sched_ule.c:520
72:#12 0xc0575cad in sched_add (td=0xcbcf5c80)
73: at /usr/src/sys/kern/sched_ule.c:1366
74:#13 0xc05666c6 in setrunqueue (td=0xcc05e360)
75: at /usr/src/sys/kern/kern_switch.c:422
76:#14 0xc05752f4 in sched_wakeup (td=0xcbcf5c80)
77: at /usr/src/sys/kern/sched_ule.c:999
78:#15 0xc056816c in setrunnable (td=0xcbcf5c80)
79: at /usr/src/sys/kern/kern_synch.c:570
80:#16 0xc0567d53 in wakeup (ident=0xcbcf5c80)
81: at /usr/src/sys/kern/kern_synch.c:411
82:#17 0xc05490a8 in exit1 (td=0xcbcf5b40, rv=0)
83: at /usr/src/sys/kern/kern_exit.c:509
84:#18 0xc0548011 in sys_exit () at /usr/src/sys/kern/kern_exit.c:102
85:#19 0xc0720fd0 in syscall (frame=
86: {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 0, tf_esi = -1, tf_ebp = -1077940712, tf_isp = -602075788, tf_ebx = 672411944, tf_edx = 10, tf_ecx = 672411600, tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = 671899563, tf_cs = 31, tf_eflags = 642, tf_esp = -1077940740, tf_ss = 47})
87: at /usr/src/sys/i386/i386/trap.c:1010
88:#20 0xc070ca4d in Xint0x80_syscall () at {standard input}:136
89:---Can't read userspace from dump, or kernel process---
90:(kgdb)quitDiese nächste Ablaufverfolgung ist ein älterer
Speicherauszug aus FreeBSD 2-Zeiten, aber ist komplizierter und
zeigt mehr der gdb-Funktionen. Lange Zeilen
wurden gefaltet, um die Lesbarkeit zu verbessern, und die Zeilen
wurden zur Verweisung nummeriert. Trotzdem ist es eine reale
Fehlerverfolgung (Error-Trace), die während der Entwicklung
des pcvt-Konsolentreibers entstanden ist. 1:Script started on Fri Dec 30 23:15:22 1994
2:&prompt.root; cd /sys/compile/URIAH
3:&prompt.root; gdb -k kernel /var/crash/vmcore.1
4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel
...done.
5:IdlePTD 1f3000
6:panic: because you said to!
7:current pcb at 1e3f70
8:Reading in symbols for ../../i386/i386/machdep.c...done.
9:(kgdb)backtrace
10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
11:#1 0xf0115159 in panic ()
12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
13:#3 0xf010185e in db_fncall ()
14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
15:#5 0xf0101711 in db_command_loop ()
16:#6 0xf01040a0 in db_trap ()
17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
18:#8 0xf019d2eb in trap_fatal (...)
19:#9 0xf019ce60 in trap_pfault (...)
20:#10 0xf019cb2f in trap (...)
21:#11 0xf01932a1 in exception:calltrap ()
22:#12 0xf0191503 in cnopen (...)
23:#13 0xf0132c34 in spec_open ()
24:#14 0xf012d014 in vn_open ()
25:#15 0xf012a183 in open ()
26:#16 0xf019d4eb in syscall (...)
27:(kgdb)up 10
28:Reading in symbols for ../../i386/i386/trap.c...done.
29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
34:ss = -266427884}) (../../i386/i386/trap.c line 283)
35:283 (void) trap_pfault(&frame, FALSE);
36:(kgdb)frame frame->tf_ebp frame->tf_eip
37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
40:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
41:(kgdb)list
42:398
43:399 tp->t_state |= TS_CARR_ON;
44:400 tp->t_cflag |= CLOCAL; /* cannot be a modem (:-) */
45:401
46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
47:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
48:404 #else
49:405 return ((*linesw[tp->t_line].l_open)(dev, tp, flag));
50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
51:407 }
52:(kgdb)print tp
53:Reading in symbols for ../../i386/i386/cons.c...done.
54:$1 = (struct tty *) 0x1bae
55:(kgdb)print tp->t_line
56:$2 = 1767990816
57:(kgdb)up
58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
61:(kgdb)up
62:#2 0xf0132c34 in spec_open ()
63:(kgdb)up
64:#3 0xf012d014 in vn_open ()
65:(kgdb)up
66:#4 0xf012a183 in open ()
67:(kgdb)up
68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
73:673 error = (*callp->sy_call)(p, args, rval);
74:(kgdb)up
75:Initial frame selected; you cannot go up.
76:(kgdb)quitKommentare zum Skript oben:Zeile 6:Dies ist ein Speicherauszug, der innerhalb von DDB
genommen wurde (siehe unten), deswegen der Kommentar zur
Panic because you said to! und die eher
lange Stack-Ablaufverfolgung (Stack-Trace); der
anfängliche Grund für das Starten von DDB war
jedoch ein Seitenfehler-Trap (Page-Fault-Trap).Zeile 20:Dies ist die Position der Funktion
trap() in der
Stack-Ablaufverfolgung.Zeile 36:Erzwingt die Benutzung eines neuen Stack-Frames; dies
ist nicht mehr notwendig. Die Stack-Frames sollen jetzt an
die richtige Stelle im Speicher zeigen, selbst im Falle
eines Traps. Nach einem Blick auf den Code in Zeile 403
ergibt sich mit hoher Wahrscheinlichkeit, dass entweder
der Zeigerzugriff auf tp fehlerbehaftet
oder der Array-Zugriff unerlaubt war.Zeile 52:Der Zeiger scheint verdächtig, aber besitzt
zufällig eine gültige Adresse.Zeile 56:Jedoch zeigt er offensichtlich auf nichts und so haben
wir unseren Fehler gefunden! (Für diejenigen, die
nichts mit diesem speziellen Stück Code anfangen
können: tp->t_line verweist
hier auf das Zeilenverhalten (Line-Discipline) des
Konsolen-Geräts, was eine ziemlich kleine Ganzzahl
(Integer) sein muss.)Falls Ihr System regelmäßig abstürzt und
und Sie bald keinen freien Speicherplatz mehr zur
Verfügung haben, könnte das Löschen alter
vmcore-Dateien in
/var/core einen beträchtlichen
Betrag an Speicherplatz einsparen.Fehlersuche in einem Speicherauszug nach einem Absturz mit
DDDDie Untersuchung eines Speicherauszugs nach einem
Kernel-Absturz mit einem grafischen Debugger wie
ddd ist auch möglich (Sie müssen
den devel/ddd-Port
installieren, um den ddd-Debugger benutzen zu
können). Nehmen Sie die mit in die
ddd-Kommandozeile auf, die Sie normalerweise
benutzen würden. Zum Beispiel:&prompt.root; ddd -k /var/crash/kernel.0 /var/crash/vmcore.0Sie sollten nun in der Lage sein, die Untersuchung des
Speicherauszugs nach dem Absturz unter Benutzung der grafischen
Schnittstelle von ddd anzugehen.
-
- Post-Mortem-Auswertung eines Speicherauszugs
-
- Was machen Sie, falls ein Kernel abstürzt und einen
- Kernspeicherauszug ablegt, aber Sie es nicht erwartet haben und
- der Kernel folglich nicht unter Benutzung von config
- -g kompiliert wurde? Nicht alles ist dann verloren.
- Geraten Sie nicht in Panik!
-
- Natürlich müssen Sie immer noch die Ablage von
- Speicherauszügen nach einem Absturz aktivieren. Sehen Sie
- weiter oben nach den Optionen, die Sie festlegen müssen, um
- dies zu tun.
-
- Wechseln Sie in Ihr Kernel-Konfigurationsverzeichnis
- (/usr/src/sys/arch/conf)
- und bearbeiten Sie die Konfigurationsdatei. Entfernen Sie den
- Kommentar vor folgender Zeile (oder fügen Sie sie hinzu,
- falls sie nicht vorhanden ist):
-
- makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
-
- Bauen Sie den Kernel neu. Aufgrund der Änderung des
- Zeitstempels im Makefile werden einige weitere Objektdateien neu
- gebaut, zum Beispiel trap.o. Mit etwas
- Glück ändert die hinzugefügte
- -Option nichts am erzeugten Code, sodass Sie
- schließlich einen neuen Kernel mit gleichem Code wie im
- fehlerbehafteten, jedoch mit einigen Symbolen zur Fehlersuche
- (Debugging-Symbols), erhalten. Sie sollten zumindest die alten
- und neuen Dateigrößen mit dem &man.size.1;-Befehl
- überprüfen. Falls sich eine Nichtübereinstimmung
- findet, müssen Sie an dieser Stelle vermutlich
- aufgeben.
-
- Untersuchen Sie nun den Speicherauszug, wie oben beschrieben.
- Die Symbole zur Fehlersuche könnten an manchen Stellen
- unvollständig sein, wie es die Stack-Ablaufverfolgung im
- Beispiel oben zeigt, wo manche Funktionen ohne Zeilennummer und
- Parameterliste aufgelistet sind. Falls Sie mehr Symbole zur
- Fehlersuche benötigen, entfernen Sie geeignete Objektdateien,
- bauen Sie den Kernel ein weiteres Mal neu und wiederholen Sie die
- gdb -Sitzung, bis Sie
- genug wissen.
-
- Das Ganze funktioniert nicht unter Garantie, reicht aber in
- den meisten Fällen aus.
-
+
Online-Kernel-Fehlersuche mit DDBWährend kgdb als Offline-Debugger
eine Benutzerschnittstelle auf höchster Ebene bietet, gibt
es einige Dinge, die es nicht kann. Die wichtigsten sind das
Setzen von Breakpoints und das Abarbeiten des Kernel-Codes in
Einzelschritten (Single-Stepping).Falls Sie eine systemnahe Fehlersuche an Ihrem Kernel
vorhaben, steht Ihnen ein Online-Debugger mit dem Namen DDB zur
Verfügung. Er erlaubt Ihnen das Setzen von Breakpoints, die
Abarbeitung von Kernel-Funktionen in Einzelschritten, das
Untersuchen und Verändern von Kernel-Variablen usw. Jedoch
hat er keinen Zugriff auf Kernel-Quelldateien, sondern kann nur,
im Gegensatz zu gdb, welches auf die ganzen
Informationen zur Fehlersuche zurückgreifen kann, auf
globale und statische Symbole zugreifen.Um DDB in Ihren Kernel einzubinden, fügen Sie die
Optionen
options KDBoptions DDB
Ihrer Konfigurationsdatei hinzu und bauen Sie den Kernel neu.
(Details zur Konfiguration des FreeBSD-Kernels finden Sie im
&os;-Handbuch).Falls Sie eine ältere Version des Boot-Blocks haben,
könnte es sein, dass Ihre Symbole zur Fehlersuche noch
nicht einmal geladen werden. Aktualisieren Sie den Boot-Block;
aktuelle Versionen laden die DDB-Symbole automatisch.Sobald Ihr Kernel mit DDB startet, gibt es mehrere Wege, um
in DDB zu gelangen. Der erste und früheste Weg ist, das
Boot-Flag gleich an der
Boot-Eingabeaufforderung einzugeben. Der Kernel startet dann in
den Debug-Modus und betritt DDB noch vor jedweder
Gerätesuche. Somit können Sie Funktionen zur
Gerätesuche/-bereitstellung auf Fehler untersuchen.
&os.current;-Benutzer müssen die sechste Option im
Boot-Menü auswählen, um an eine Eingabeaufforderung zu
gelangen.Das zweite Szenario ist der Gang in den Debugger, sobald das
System schon gestartet ist. Es gibt zwei einfache Wege dies zu
erreichen. Falls Sie von der Eingabeaufforderung aus in den
Debugger gelangen möchten, geben Sie einfach folgenden
Befehl ab:&prompt.root; sysctl debug.kdb.enter=1Um eine schnelle Panic zu erzwingen, geben Sie das folgende
Kommando ein:&prompt.root; sysctl debug.kdb.panic=1Anderenfalls können Sie ein Tastenkürzel auf der
Tastatur benutzen, wenn Sie an der Systemkonsole sind. Die
Voreinstellung für die break-to-debugger-Sequenz ist
CtrlAltESC.
In syscons kann diese Sequenz auf eine andere Tastenkombination
gelegt werden (remap) und manche der verfügbaren
Tastaturlayouts tun dies, stellen Sie also sicher, dass Sie die
richtige Sequenz kennen, die benutzt werden soll. Für
serielle Konsolen ist eine Option vorhanden, die die Benutzung
einer Unterbrechung der seriellen Verbindung (BREAK) auf der
Kommandozeile erlaubt, um in DDB zu gelangen (options
BREAK_TO_DEBUGGER in der Kernel-Konfigurationsdatei).
Dies ist jedoch nicht der Standard, da viele serielle Adapter in
Verwendung sind, die grundlos eine BREAK-Bedingung erzeugen, zum
Beispiel bei Ziehen des Kabels.Die dritte Möglichkeit ist, dass jede Panic-Bedingung
in DDB springt, falls der Kernel hierfür konfiguriert ist.
Aus diesem Grund ist es nicht sinnvoll einen Kernel mit DDB
für ein unbeaufsichtigtes System zu konfigurieren.Um die unbeaufsichtigte Funktionsweise zu erreichen
fügen Sie:options KDB_UNATTENDEDder Kernel-Konfigurationsdatei hinzu und bauen/installieren
Sie den Kernel neu.Die DDB-Befehle ähneln grob einigen
gdb-Befehlen. Das Erste, das Sie vermutlich
tun müssen, ist einen Breakpoint zu setzen:break function-name addressZahlen werden standardmäßig hexadezimal
angegeben, aber um sie von Symbolnamen zu unterscheiden, muss
Zahlen, die mit den Buchstaben a-f beginnen,
0x vorangehen (dies ist für andere
Zahlen beliebig). Einfache Ausdrücke sind erlaubt, zum
Beispiel: function-name + 0x103.Um den Debugger zu verlassen und mit der Abarbeitung
fortzufahren, geben Sie ein:continueUm eine Stack-Ablaufverfolgung zu erhalten, benutzen
Sie:traceBeachten Sie, dass wenn Sie DDB mittels einer
Schnelltaste betreten, der Kernel zurzeit einen Interrupt
bereitstellt, sodass die Stack-Ablaufverfolgung Ihnen nicht
viel nützen könnte.Falls Sie einen Breakpoint entfernen möchten, benutzen
Siedeldel address-expressionDie erste Form wird direkt, nachdem ein Breakpoint anschlug,
angenommen und entfernt den aktuellen Breakpoint. Die zweite
kann jeden Breakpoint löschen, aber Sie müssen die
genaue Adresse angeben; diese kann bezogen werden durch:show boder:show breakUm den Kernel in Einzelschritten auszuführen, probieren
Sie:sDies springt in Funktionen, aber Sie können DDB
veranlassen, diese schrittweise zu verfolgen, bis die passende
Rückkehranweisung (Return-Statement) erreicht ist. Nutzen
Sie hierzu:nDies ist nicht das gleiche wie die
next-Anweisung von gdb;
es ist wie gdbs finish.
Mehrmaliges Drücken von n führt zu
einer Fortsetzung.Um Daten aus dem Speicher zu untersuchen, benutzen Sie (zum
Beispiel):
x/wx 0xf0133fe0,40x/hd db_symtab_spacex/bc termbuf,10x/s stringbuf
für Word/Halfword/Byte-Zugriff und
Hexadezimal/Dezimal/Character/String-Ausgabe. Die Zahl nach dem
Komma ist der Objektzähler. Um die nächsten 0x10
Objekte anzuzeigen benutzen Sie einfach:x ,10Gleichermaßen benutzen Sie
x/ia foofunc,10
um die ersten 0x10 Anweisungen aus foofunc
zu zerlegen (disassemble) und Sie zusammen mit ihrem
Adressabstand (Offset) vom Anfang von
foofunc auszugeben.Um Speicher zu verändern benutzen Sie den
Schreibbefehl:w/b termbuf 0xa 0xb 0w/w 0xf0010030 0 0Die Befehlsoption
(b/h/w)
legt die Größe der Daten fest, die geschrieben werden
sollen, der erste Ausdruck danach ist die Adresse, wohin
geschrieben werden soll, und der Rest wird als Daten
verarbeitet, die in aufeinander folgende Speicherstellen
geschrieben werden.Falls Sie die aktuellen Register wissen möchten,
benutzen Sie:show regAlternativ können Sie den Inhalt eines einzelnen
Registers ausgeben mit z.B.
p $eax
und ihn bearbeiten mit:set $eax new-valueSollten Sie irgendeine Kernel-Funktion aus DDB heraus
aufrufen wollen, geben Sie einfach ein:call func(arg1, arg2, ...)Der Rückgabewert wird ausgegeben.Für eine Zusammenfassung aller laufenden Prozesse im
Stil von &man.ps.1; benutzen Sie:psNun haben Sie herausgefunden, warum Ihr Kernel
fehlschlägt, und möchten neu starten. Denken Sie
daran, dass, abhängig von der Schwere vorhergehender
Störungen, nicht alle Teile des Kernels wie gewohnt
funktionieren könnten. Führen Sie eine der folgenden
Aktionen durch, um Ihr System herunterzufahren und neu zu
starten:panicDies wird Ihren Kernel dazu veranlassen abzustürzen,
einen Speicherauszug abzulegen und neu zu starten, sodass Sie
den Kernspeicherauszug später auf höherer Ebene mit
gdb auswerten können. Diesem Befehl muss
normalerweise eine weitere continue-Anweisung
folgen.call boot(0)Dürfte ein guter Weg sein, um das laufende System
sauber herunterzufahren, alle Festplatten mittels
sync() zu schreiben und schließlich,
in manchen Fällen, neu zu starten. Solange die Festplatten-
und Dateisystemschnittstellen des Kernels nicht beschädigt
sind, könnte dies ein guter Weg für ein beinahe
sauberes Abschalten sein.call cpu_reset()Dies ist der letzte Ausweg aus der Katastrophe und kommt
beinahe dem Drücken des Ausschaltknopfes gleich.Falls Sie eine kurze Zusammenfassung aller Befehle
benötigen, geben Sie einfach ein:helpEs ist strengstens empfohlen, eine ausgedruckte Version der
&man.ddb.4;-Manualpage während der Fehlersuche neben sich
liegen zu haben. Denken Sie daran, dass es schwer ist, die
Online-Hilfe zu lesen, während der Ausführung des
Kernels in Einzelschritten.Online-Kernel-Fehlersuche mit GDB auf einem entfernten
SystemDiese Funktion wird seit FreeBSD 2.2 unterstützt und
ist wirklich sehr geschickt.GDB unterstützt die Fehlersuche von einem
entfernten System aus bereits einige Zeit. Dies
geschieht unter Benutzung eines sehr einfachen Protokolls
über eine serielle Verbindung. Anders als bei den anderen,
oben beschriebenen, Vorgehensweisen werden hier zwei Systeme
benötigt. Das eine ist das Hostsystem, welches die Umgebung
zur Fehlersuche, einschließlich aller Quellen und einer
Kopie der Kernel-Binärdatei mit allen Symbolen
bereitstellt, und das andere das Zielsystem, welches einfach nur
eine Kopie desselben Kernels ausführt (ohne die
Informationen zur Fehlersuche).Sie sollten den Kernel im Zweifelsfall mit config
-g konfigurieren, in die
Konfiguration aufnehmen und den Kernel, wie sonst auch,
kompilieren. Dies ergibt, aufgrund der zusätzlichen
Informationen zur Fehlersuche, eine umfangreiche
Binärdatei. Kopieren Sie diesen Kernel auf das Zielsystem,
entfernen Sie die Symbole zur Fehlersuche mit strip
-x und starten Sie ihn mit der
-Boot-Option. Stellen Sie die serielle
Verbindung zwischen dem Zielsystem, welches "flags 80" für
dessen sio-Gerät gesetzt hat, und dem Hostsystem, welches
die Fehlersuche übernimmt, her. Nun wechseln Sie auf dem
Hostsystem in das Bauverzeichnis des Ziel-Kernels und starten
gdb:&prompt.user; kgdb kernel
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd),
Copyright 1996 Free Software Foundation, Inc...
(kgdb)Stellen Sie die entfernte Sitzung zur Fehlersuche ein mit
(angenommen, der erste serielle Port ist in Verwendung):(kgdb)target remote /dev/cuaa0Jetzt geben Sie auf dem Zielsystem, welches noch vor Beginn
der Gerätesuche in DDB gelangt ist, ein:Debugger("Boot flags requested debugger")
Stopped at Debugger+0x35: movb $0, edata+0x51bc
db>gdbDDB antwortet dann mit:Next trap will enter GDB remote protocol modeJedesmal wenn Sie gdb eingeben, wird
zwischen dem lokalen DDB und entfernten GDB umgeschaltet. Um
einen nächsten Trap sofort zu erzwingen, geben Sie einfach
s (step) ein. Ihr GDB auf dem Hostsystem
erhält nun die Kontrolle über den Ziel-Kernel:Remote debugging using /dev/cuaa0
Debugger (msg=0xf01b0383 "Boot flags requested debugger")
at ../../i386/i386/db_interface.c:257
(kgdb)Sie können mit dieser Sitzung wie mit jeder anderen
GDB-Sitzung umgehen, einschließlich vollem Zugriff auf die
Quellen, Starten im gud-Modus innerhalb eines Emacs-Fensters
(was Ihnen automatische Quelltext-Ausgabe in einem weiteren
Emacs-Fenster bietet), usw.
-
- Fehlersuche bei ladbaren Modulen mit GDB
-
- Während der Fehlersuche bei einer Panic, die innerhalb
- eines Moduls oder unter Benutzung von GDB auf einem entfernten
- System gegen ein System, das dynamische Module benutzt,
- ausgelöst wurde, müssen Sie GDB mitteilen, wie es an
- die Informationen zu den Symbolen dieser Module kommt.
-
- Zuerst müssen Sie die Module mit Informationen zur
- Fehlersuche bauen:
-
- &prompt.root; cd /sys/modules/linux
-&prompt.root; make clean; make COPTS=-g
-
- Falls Sie GDB auf einem entfernten System benutzen,
- können Sie kldstat auf dem Zielsystem
- starten, um herauszufinden, wohin die Module geladen
- wurden:
-
- &prompt.root; kldstat
-Id Refs Address Size Name
- 1 4 0xc0100000 1c1678 kernel
- 2 1 0xc0a9e000 6000 linprocfs.ko
- 3 1 0xc0ad7000 2000 warp_saver.ko
- 4 1 0xc0adc000 11000 linux.ko
-
- Falls Sie einen Speicherauszug nach einem Absturz auf Fehler
- untersuchen, müssen Sie die
- linker_files-Liste abgehen, beginnend mit
- linker_files->tqh_first und den
- link.tqe_next-Zeigern folgend, bis Sie den
- Eintrag mit dem Dateinamen, nach dem Sie
- suchen, gefunden haben. Der Adress-Teil des
- Eintrags ist die Adresse, wohin das Modul geladen
- wurde.
-
- Als Nächstes müssen Sie den Adressabstand des
- Textabschnitts innerhalb des Moduls herausfinden:
-
- &prompt.root; objdump --section-headers /sys/modules/linux/linux.ko | grep text
- 3 .rel.text 000016e0 000038e0 000038e0 000038e0 2**2
- 10 .text 00007f34 000062d0 000062d0 000062d0 2**2
-
- Das, wonach Sie suchen, ist die
- .text-Zeile, Zeile 10 im Beispiel oben. Die
- vierte hexadezimale Spalte (insgesamt die sechste) zeigt den
- Adressabstand des Textabschnitts innerhalb der Datei. Addieren
- Sie diesen Adressabstand zu der Ladeadresse des Moduls, um die
- Verschiebungsadresse für den Code des Moduls zu erhalten.
- In unserem Beispiel erhalten wir 0xc0adc000 + 0x62d0 =
- 0x0ae22d0. Benutzen Sie den
- add-symbol-file-Befehl in GDB, um dem
- Debugger das Modul mitzuteilen:
-
- (kgdb)add-symbol-file /sys/modules/linux/linux.ko 0xc0ae22d0
-add symbol table from file "/sys/modules/linux/linux.ko" at text_addr = 0xc0ae22d0?
-(y or n) y
-Reading symbols from /sys/modules/linux/linux.ko...done.
-(kgdb)
-
- Sie sollten nun auf alle Symbole im Modul zugreifen
- können.
-
-
Fehlersuche bei einem Konsolen-TreiberDa Sie nunmal einen Konsolen-Treiber benötigen, um DDB
zu starten, ist alles ein wenig komplizierter, sobald der
Konsolen-Treiber selbst versagt. Sie erinnern sich vielleicht an
die Benutzung einer seriellen Konsole (entweder durch
Verändern des Boot-Blocks oder Eingabe von
an der
Boot:-Eingabeaufforderung) und das
Anschließen eines Standard-Terminals an Ihren ersten
seriellen Port. DDB funktioniert auf jedem konfigurierten
Konsolen-Treiber, auch auf einer seriellen Konsole.Fehlersuche bei DeadlocksSie erleben vielleicht mal sogenannte Deadlocks, wobei ein
System aufhört, nützliche Arbeit zu machen. Um in
einer solchen Situation einen hilfreichen Fehlerbericht zu
liefern, benutzen Sie &man.ddb.4;, wie oben beschrieben.
Hängen Sie die Ausgabe von ps und
trace für verdächtige Prozesse an
den Bericht an.Falls möglich, versuchen Sie, weitere Untersuchungen
anzustellen. Der Empfang der Ausgaben unten ist besonders dann
nützlich, wenn Sie den Auslöser für die Blockade
des Systems auf VFS-Ebene vermuten. Fügen Sie die folgenden
Optionen
makeoptions DEBUG=-g
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options DEBUG_LOCKS
options DEBUG_VFS_LOCKS
options DIAGNOSTIC
der Kernel-Konfigurationsdatei hinzu. Wenn die Blockade
ausgelöst wird, stellen Sie, zusätzlich der Ausgabe
vom ps-Befehl, die Informationen aus
show pcpu, show allpcpu,
show locks, show alllocks,
show lockedvnods und
alltrace bereit.Um aussagekräftige Zurückverfolgungen von in
Threads aufgeteilten Prozesse zu erhalten, benutzen Sie
thread thread-id, um zum Thread-Stack zu
wechseln und eine Zurückverfolgung mit
where anzustellen.Glossar der Kernel-Optionen zur FehlersucheDieser Abschnitt bietet ein kurzes Glossar der zur
Kompilierzeit verfügbaren Kernel-Optionen, die die
Fehlersuche unterstützen:options KDB: Kompiliert das
Kernel-Debugger-Framework ein. Wird von options
DDB und options GDB
benötigt. Kein oder nur geringer Leistungs-Overhead.
Standardmäßig wird bei einer Panic der Debugger
gestartet, anstatt automatisch neu zu starten.options KDB_UNATTENDED: Setzt den
Standard des
debug.debugger_on_panic-sysctl-Werts auf
0, welcher regelt, ob der Debugger bei einer Panic gestartet
wird. Solange options KDB nicht in den
Kernel einkompiliert ist, wird bei einer Panic automatisch
neu gestartet; sobald es in den Kernel einkompiliert ist,
wird standardmäßig der Debugger gestartet,
solange options KDB_UNATTENDED nicht
einkompiliert ist. Falls Sie den Kernel-Debugger in den
Kernel einkompiliert lassen wollen, aber möchten, dass
das System neu startet, wenn Sie nicht zur Stelle sind, um
den Debugger zur Diagnose zu benutzen, wählen Sie diese
Option.options KDB_TRACE: Setzt den Standard
des debug.trace_on_panic-sysctl-Werts auf
1, welcher regelt, ob der Debugger bei einer Panic
automatisch eine Stack-Ablaufverfolgung ausgibt. Besonders
wenn der Kernel mit KDB_UNATTENDED
läuft, kann dies hilfreich sein, um grundlegende
Informationen zur Fehlersuche auf der seriellen oder
Firewire-Konsole zu erhalten, während immer noch zur
Wiederherstellung neu gestartet wird.options DDB: Kompiliert die
Unterstützung für den Konsolen-Debugger DDB ein.
Dieser interaktive Debugger läuft auf was auch immer
die aktive Konsole des Systems auf niedrigster Ebene ist,
dazu gehören die Video-, serielle und Firewire-Konsole.
Er bietet grundlegende, eingebaute Möglichkeiten zur
Fehlersuche wie zum Beispiel das Erstellen von
Stack-Ablaufverfolgungen, das Auflisten von Prozessen und
Threads, das Ablegen des Lock-, VM- und Dateisystemstatus
und die Verwaltung des Kernel-Speichers. DDB benötigt
keine Software, die auf einem zweiten System läuft,
oder die Fähigkeit, einen Kernspeicherauszug oder
Kernel-Symbole zur vollen Fehlersuche zu erzeugen und bietet
detaillierte Fehlerdiagnose des Kernels zur Laufzeit. Viele
Fehler können allein unter Benutzung der DDB-Ausgabe
untersucht werden. Diese Option hängt von
options KDB ab.options GDB: Kompiliert die
Unterstützung für den Debugger GDB ein, welcher
von einem entfernten System aus über ein serielles
Kabel oder Firewire agieren kann. Wenn der Debugger
gestartet ist, kann GDB dazu verwendet werden, um
Struktur-Inhalte einzusehen, Stack-Ablaufverfolgungen zu
erzeugen, usw. Bei manchem Kernel-Status ist der Zugriff
ungeschickter als mit DDB, welcher dazu in der Lage ist,
nützliche Zusammenfassungen des Kernel-Status
automatisch zu erstellen wie zum Beispiel das automatische
Abgehen der Lock-Fehlersuche oder der Strukturen zur
Kernel-Speicher-Verwaltung, und es wird ein zweites System
beötigt. Auf der anderen Seite verbindet GDB
Informationen aus den Kernel-Quellen mit vollständigen
Symbolen zur Fehlersuche, erkennt komplette
Datenstrukturdefinitionen, lokale Variablen und ist in
Skripten einsetzbar. Diese Option hängt von
options KDB ab, ist aber nicht zur
Benutzung von GDB auf einem Kernel-Kernspeicherauszug
nötig.options BREAK_TO_DEBUGGER,
options ALT_BREAK_TO_DEBUGGER: Erlaubt
ein Abbruch- oder Alternativ-Signal auf der Konsole, um in
den Debugger zu gelangen. Falls sich das System ohne eine
Panic aufhängt, ist dies ein nützlicher Weg, um
den Debugger zu erreichen. Aufgrund der aktuellen
Verriegelung durch den Kernel ist ein Abbruch-Signal, das
auf einer seriellen Konsole erzeugt wurde, deutlich
vertrauenswürdiger beim Gelangen in den Debugger und
wird allgemein empfohlen. Diese Option hat kaum oder keine
Auswirkung auf den Durchsatz.options INVARIANTS: Kompiliert eine
große Anzahl an Aussageprüfungen und -tests
(Assertion-Checks und -Tests) ein, welche ständig die
Intaktheit der Kernel-Datenstrukturen und die Invarianten
der Kernel-Algorithmen prüfen. Diese Tests können
aufwendig sein und sind deswegen nicht von Anfang an
einkompiliert, aber helfen nützliches "fail
stop"-Verhalten, wobei bestimmte Gruppen nicht
erwünschten Verhaltens den Debugger öffnen, bevor
Beschädigungen an Kernel-Daten auftreten,
bereitzustellen, welches es einfacher macht, diese auf
Fehler hin zu untersuchen. Die Tests beinhalten Säubern
von Speicher und use-after-free-Prüfungen, was eine der
bedeutenderen Quellen von Overhead ist. Diese Option
hängt von options INVARIANT_SUPPORT
ab.options INVARIANT_SUPPORT: Viele der
in options INVARIANTS vorhandenen Tests
benötigen veränderte Datenstrukturen und
zusätzliche Kernel-Symbole, die festgelegt werden
müssen.options WITNESS: Diese Option
aktiviert Verfolgung und Prüfung von Lock-Anforderungen
zur Laufzeit und ist als Werkzeug für die
Deadlock-Diagnose von unschätzbarem Wert. WITNESS
pflegt ein Diagramm mit erworbenen Lock-Anträgen nach
Typ geordnet und prüft bei jedem Erwerb nach Zyklen
(implizit oder explizit). Falls ein Zyklus entdeckt wird,
werden eine Warnung und eine Stack-Ablaufverfolgung erzeugt
und als Hinweis, dass ein möglicher Deadlock gefunden
wurde, auf der Konsole ausgegeben. WITNESS wird
benötigt, um die DDB-Befehle show
locks, show witness und
show alllocks benutzen zu können.
Diese Debug-Option hat einen bedeutenden Leistung-Overhead,
welcher ein ein wenig durch Benutzung von options
WITNESS_SKIPSPIN gemildert werden kann.
Detaillierte Dokumentation kann in &man.witness.4; gefunden
werden.options WITNESS_SKIPSPIN: Deaktiviert
die Prüfung von Spinlock-Lock-Anforderungen mit WITNESS
zur Laufzeit. Da Spinlocks am häufigsten im Scheduler
angefordert werden und Scheduler-Ereignisse oft auftreten,
kann diese Option Systeme, die mit WITNESS laufen, merklich
beschleunigen. Diese Option hängt von options
WITNESS ab.options WITNESS_KDB: Setzt den
Standard des
debug.witness.kdb-sysctl-Werts auf 1, was
bewirkt, dass WITNESS den Debugger aufruft, sobald eine
Lock-Anforderungsverletzung vorliegt, anstatt einfach nur
eine Warnung auszugeben. Diese Option hängt von
options WITNESS ab.options SOCKBUF_DEBUG: Führt
umfassende Beschaffenheitsprüfungen in Socket-Puffern
durch, was nützlich zur Fehlersuche bei Socket-Fehlern
und Anzeichen für Ressourceblockaden (Race) in
Protokollen und Gerätetreibern, die mit Sockets
arbeiten, sein kann. Diese Option hat bedeutende Auswirkung
auf die Netzwerkleistung und kann die Zeitverhältnisse
bei gegenseitiger Ressourceblockade in Gerätetreibern
ändern.options DEBUG_VFS_LOCKS: Verfolgt
Lock-Anforderungs-Einzelheiten bei lockmgr/vnode-Locks, was
die Menge der Informationen, die von show
lockdevnods in DDB angezeigt werden,
vergrößert. Diese Option hat messbare Auswirkung
auf die Leistung.options DEBUG_MEMGUARD: Ein Ersatz
für die Kernel-Speicher-Zuweisung durch &man.malloc.9;,
die das VM-System benutzt, um Lese- und Schreibzugriffe auf
zugewiesenen Speicher nach der Freigabe zu entdecken.
Details können in &man.memguard.9; gefunden werden.
Diese Option hat bedeutende Auswirkung auf die Leistung,
aber kann sehr nützlich bei der Fehlersuche sein, wenn
Kernel-Speicher-Beschädigungen durch Fehler verursacht
werden.options DIAGNOSTIC: Aktiviert
zusätzliche, aufwendigere Diagnosetests analog zu
options INVARIANTS.
diff --git a/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml b/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
index c295642428..2fd16fa0c3 100644
--- a/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml
@@ -1,703 +1,703 @@
BibliografieÜbersetzt von &a.de.gruender;Während die Manualpages die endgültige Auskunft
über bestimmte Teile des FreeBSD-Betriebssystems geben, so
können sie jedoch nicht darstellen, wie man die einzelnen Teile
zusammenfügt, um ein vollständig laufendes Betriebssystem
herzustellen. Daher gibt es keinen Ersatz für ein gutes Buch
über die Administration von &unix; Systemen und ein gutes
Benutzerhandbuch.In der Regel handelt es sich im folgenden Kapitel um englische
Ausgaben der genannten Werke. Übersetzungen oder Ausgaben in
anderen Sprachen sind mit entsprechenden Hinweisen versehen.Bücher und Magazine speziell für FreeBSDInternationale Bücher und
Magazine:
Using FreeBSD, herausgegeben von Drmaster, 1997
(in traditionellem Chinesisch). ISBN 9-578-39435-7.FreeBSD Unleashed (in vereinfachtem Chinesisch),
herausgegeben von China
Press. ISBN 7-111-10201-0.FreeBSD From Scratch First Edition (in vereinfachtem Chinesisch),
herausgegeben von China
Press. ISBN 7-111-07482-3.FreeBSD From Scratch Second Edition (in vereinfachtem Chinesisch),
herausgegeben von China
Press. ISBN 7-111-10286-X.FreeBSD Handbook Second Edition (in vereinfachtem Chinesisch),
herausgegeben von Posts
& Telecom Press. ISBN 7-115-10541-3.FreeBSD 3.x Internet (in vereinfachtem Chinesisch),
herausgegeben von Tsinghua
University Press. ISBN 7-900625-66-6.FreeBSD & Windows (in vereinfachtem Chinesisch),
herausgegeben von China Railway Publishing
House. ISBN 7-113-03845-X.FreeBSD Internet Services HOWTO (in vereinfachtem Chinesisch),
herausgegeben von China Railway Publishing House.
ISBN 7-113-03423-3.FreeBSD for PC 98'ers (in japanischer Sprache), herausgegeben von
SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.FreeBSD (in japanischer Sprache), herausgegeben von CUTT. ISBN
4-906391-22-2 C3055 P2400E.Complete Introduction to FreeBSD (in Japanese), published by Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.
Personal UNIX Starter Kit FreeBSD (in japanischer Sprache),
herausgegeben von ASCII.
ISBN 4-7561-1733-3 P3000E.FreeBSD Handbook (japanische Übersetzung), herausgegeben
von ASCII.
ISBN 4-7561-1580-2 P3800E.FreeBSD mit Methode (in deutscher Sprache), herausgegeben von
Computer und Literatur Verlag
/Vertrieb Hanser, 1998.
ISBN 3-932311-31-0.FreeBSD 4 -
Installieren, Konfigurieren, Administrieren (in
deutscher Sprache), herausgegeben von Computer und Literatur Verlag, 2001.
ISBN 3-932311-88-4.FreeBSD 5 –
Installieren, Konfigurieren, Administrieren (in
deutscher Sprache), herausgegeben von Computer und Literatur Verlag,
2001. ISBN 3-936546-06-1.FreeBSD
de Luxe (in German), published by
Verlag Modere Industrie,
2003. ISBN 3-8266-1343-0.
FreeBSD Install and Utilization Manual (in japanischer Sprache),
herausgegeben von
Mainichi Communications Inc., 1998.
ISBN 4-8399-0112-0.Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
Building Internet Server with FreeBSD
(in indonesischer Sprache), herausgegeben von Elex Media Komputindo.Absolute BSD: The Ultimate Guide to FreeBSD (in traditionellem
Chinesisch), herausgegeben von GrandTech Press, 2003.
ISBN 986-7944-92-5.The
FreeBSD 6.0 Book (in traditionellem Chinesisch,
herausgegeben von Drmaster, 2006. ISBN 9-575-27878-X.Englischsprachige Bücher und
Magazine:Absolute
FreeBSD, 2nd Edition: The Complete Guide to FreeBSD,
herausgegeben von
No Starch Press,
2007. ISBN: 978-1-59327-151-0
The Complete FreeBSD, herausgegeben von
O'Reilly, 2003.
ISBN: 0596005164The
FreeBSD Corporate Networker's Guide, herausgegeben von
Addison-Wesley,
2002. ISBN: 0201704811
FreeBSD: An Open-Source Operating System for Your Personal
Computer, herausgegeben von The Bit Tree Press, 2001.
ISBN: 0971204500Teach Yourself FreeBSD in 24 Hours, herausgegeben von
Sams, 2002.
ISBN: 0672324245FreeBSD6 Unleashed, herausgegeben von
Sams, 2006.
ISBN: 0672328755FreeBSD: The Complete Reference, herausgegeben von
McGrawHill, 2003.
ISBN: 0072224096 BSD Magazine,
herausgegeben von Software Press Sp. z o.o. SK.
ISBN: 1898-9144HandbücherComputer Systems Research Group, UC Berkeley. 4.4BSD
User's Reference Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-075-9Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-076-7UNIX in a Nutshell. O'Reilly &
Associates, Inc., 1990. ISBN 093717520XMui, Linda. What You Need To Know When You Can't Find
Your UNIX System Administrator. O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-104-6Die Ohio State
University hat ein UNIX
Introductory Course veröffentlicht, welcher auch
online im HTML- und PostScriptformat verfügbar ist.Eine italienische Übersetzung
ist Teil des &os; Italian Documentation Projects.Jpman Project, Japan
FreeBSD Users Group. FreeBSD User's
Reference Manual (japanische Übersetzung). Mainichi Communications
Inc., 1998. ISBN4-8399-0088-4 P3800E.Edinburgh
University hat einen Online Guide für
Anfänger in Sachen UNIX geschrieben.Administrations-AnleitungenAlbitz, Paul and Liu, Cricket. DNS and
BIND, 4th Ed. O'Reilly & Associates, Inc., 2001.
ISBN 1-59600-158-4Computer Systems Research Group, UC Berkeley. 4.4BSD
System Manager's Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-080-5Costales, Brian, et al. Sendmail, 2nd Ed.
O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0Frisch, Æleen. Essential System
Administration, 2nd Ed. O'Reilly & Associates,
Inc., 1995. ISBN 1-56592-127-5Hunt, Craig. TCP/IP Network
Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997.
ISBN 1-56592-322-7Nemeth, Evi. UNIX System Administration
Handbook. 3rd Ed. Prentice Hall, 2000. ISBN
0-13-020601-6Stern, Hal Managing NFS and NIS O'Reilly
& Associates, Inc., 1991. ISBN 0-937175-75-7Jpman Project, Japan
FreeBSD Users Group. FreeBSD System
Administrator's Manual (japanische Übersetzung). Mainichi Communications
Inc., 1998. ISBN4-8399-0109-0 P3300E.Dreyfus, Emmanuel. Cahiers
de l'Admin: BSD 2nd Ed. (in French), Eyrolles, 2004.
ISBN 2-212-11463-X.ProgrammierhandbücherAsente, Paul, Paul, Converse, Diana, and Swick, Ralph.
X Window System Toolkit. Digital Press,
1998. ISBN 1-55558-178-1Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Reference Manual. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-078-3Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-079-1Harbison, Samuel P. and Steele, Guy L. Jr. C: A
Reference Manual. 4th ed. Prentice Hall, 1995.
ISBN 0-13-326224-3Kernighan, Brian and Dennis M. Ritchie. The C
Programming Language. 2nd Ed., PTR Prentice Hall,
1988. ISBN 0-13-110362-9Lehey, Greg. Porting UNIX Software.
O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7Plauger, P. J. The Standard C Library.
Prentice Hall, 1992. ISBN 0-13-131509-9Spinellis, Diomidis.
Code
Reading: The Open Source Perspective.
Addison-Wesley, 2003. ISBN 0-201-79940-5Spinellis, Diomidis. Code
Quality: The Open Source Perspective.
Addison-Wesley, 2006. ISBN 0-321-16607-8Stevens, W. Richard and Stephen A. Rago.
Advanced Programming in the UNIX
Environment. 2nd Ed.
Reading, Mass. : Addison-Wesley, 2005.
ISBN 0-201-43307-9Stevens, W. Richard. UNIX Network
Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-XWells, Bill. Writing Serial Drivers for UNIX.
Dr. Dobb's Journal. 19(15), December 1994.
pp68-71, 97-99.Betriebssystem-InternaAndleigh, Prabhat K. UNIX System
Architecture. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5Jolitz, William. Porting UNIX to the 386.
Dr. Dobb's Journal. January 1991-July
1992.Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
John Quarterman The Design and Implementation of the
4.3BSD UNIX Operating System. Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1Kapitel 2 dieses Buchs ist Teil des FreeBSD Documentation
Projects und online
erhältlich. Kapitel 9 findet sich
hier.Leffler, Samuel J., Marshall Kirk McKusick, The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
Book. Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
John Quarterman. The Design and Implementation of the
4.4BSD Operating System. Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4Marshall Kirk McKusick, George V. Neville-Neil.
The Design and Implementation of the
&os; Operating System.
Boston, Mass. : Addison-Wesley, 2004.
ISBN 0-201-70245-2Stevens, W. Richard. TCP/IP Illustrated, Volume 1:
The Protocols. Reading, Mass. : Addison-Wesley,
1996. ISBN 0-201-63346-9Schimmel, Curt. Unix Systems for Modern
Architectures. Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8Stevens, W. Richard. TCP/IP Illustrated, Volume 3:
TCP for Transactions, HTTP, NNTP and the UNIX Domain
Protocols. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3Vahalia, Uresh. UNIX Internals -- The New
Frontiers. Prentice Hall, 1996. ISBN
0-13-101908-2Wright, Gary R. and W. Richard Stevens. TCP/IP
Illustrated, Volume 2: The Implementation. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-XSicherheits-AnleitungCheswick, William R. and Steven M. Bellovin. Firewalls
and Internet Security: Repelling the Wily Hacker.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4Garfinkel, Simson and Gene Spafford.
Practical UNIX & Internet Security.
2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN
1-56592-148-8Garfinkel, Simson. PGP Pretty Good
Privacy O'Reilly & Associates, Inc., 1995. ISBN
1-56592-098-8Hardware-AnleitungAnderson, Don and Tom Shanley. Pentium Processor
System Architecture. 2nd Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5Ferraro, Richard F. Programmer's Guide to the EGA,
VGA, and Super VGA Cards. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7Die Intel Corporation veröffentlicht Dokumentationen
Ihrer CPUs, Chipsets und Standards auf ihrer developer web site,
normalerweise als PDF-Dateien.Shanley, Tom. 80486 System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40994-1Shanley, Tom. ISA System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8Shanley, Tom. PCI System Architecture.
4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2Van Gilluwe, Frank. The Undocumented PC,
2nd Ed.
Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8Messmer, Hans-Peter. The Indispensable PC Hardware
Book, 4th Ed.
Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
0-201-59616-4&unix; GeschichteLion, John Lion's Commentary on UNIX, 6th Ed. With
Source Code. ITP Media Group, 1996. ISBN
1573980137Raymond, Eric S. The New Hacker's Dictionary, 3rd
edition. MIT Press, 1996. ISBN
0-262-68092-0. Auch bekannt als das Jargon
FileSalus, Peter H. A quarter century of UNIX.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5Simon Garfinkel, Daniel Weise, Steven Strassmann. The
UNIX-HATERS Handbook. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1.
- Online verfügbar.
+ url="http://www.simson.net/ref/ugh.pdf">Online
+ verfügbar.
Don Libes, Sandy Ressler Life with UNIX
— special edition. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7The BSD family tree.
oder unter /usr/share/misc/bsd-family-tree
auf einem FreeBSD-System.Networked Computer Science Technical Reports
Library.
Old BSD releases from the Computer Systems Research
group (CSRG).
:
Das Paket mit 4 CD-ROMs enthält alle BSD-Versionen von 1BSD
bis 4.4BSD und 4.4BSD-Lite2 (nicht aber 2.11BSD). Die letzte CD
beinhaltet auch die finalen Sourcen inklusive den
SCCS Dateien.Magazine und JournaleThe C/C++ Users Journal. R&D
Publications Inc. ISSN 1075-2838Sys Admin — The Journal for UNIX System
Administrators Miller Freeman, Inc., ISSN
1061-2688freeX – Das Magazin für Linux –
BSD – UNIX (in deutscher Sprache),
Computer- und Literaturverlag GmbH,
ISSN 1436-7033
diff --git a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
index bdaf89038b..46245d211d 100644
--- a/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml
@@ -1,2156 +1,2174 @@
Ressourcen im InternetGedruckte Medien können mit der schnellen Entwicklung von
FreeBSD nicht Schritt halten. Elektronische Medien sind häufig
die einzige Möglichkeit, über aktuelle Entwicklungen
informiert zu sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt
die Benutzergemeinde selbst auch technische Unterstützung. Die
- Benutzergemeinde erreichen Sie am besten über E-Mail, Internetforen
+ Benutzergemeinde erreichen Sie am besten über E-Mail, Internetforen
oder Usenet-News.Die wichtigsten Wege, auf denen Sie die FreeBSD-Benutzergemeinde
erreichen können, sind unten dargestellt. Wenn Sie weitere
Ressourcen kennen, die hier fehlen, schicken Sie diese bitte an die
Mailingliste des &a.doc;, damit sie hier aufgenommen werden
können.MailinglistenDie Mailinglisten sind der direkteste Weg, um Fragen an das
- gesamte &os; Publikum zu stellen oder eine technische Diskussion zu
+ gesamte &os; Publikum zu stellen oder eine technische Diskussion zu
beginnen. Es existiert eine grosse Vielfalt von Listen mit einer
Reihe von verschiedenen FreeBSD Themen. Wenn Sie ihre Fragen an die
richtige Mailingliste richten können Sie viel eher mit einer
passenden Antwort darauf rechnen.Die Chartas der verschiedenen Listen sind unten wiedergegeben.
Bevor Sie sich einer Mailingliste anschließen oder
E-Mails an eine Liste senden, lesen Sie bitte die Charta der
Liste. Die meisten Mitglieder unserer Mailinglisten
erhalten Hunderte E-Mails zum Thema FreeBSD pro Tag. Die Chartas und
Regeln, die den Gebrauch der Listen beschreiben, garantieren die hohe
Qualität der Listen. Die Listen würden ihren hohen Wert
für das Projekt verlieren, wenn wir weniger Regeln aufstellen
würden.Um zu testen, ob Sie eine Nachricht an eine
&os;-Liste senden können, verwenden Sie bitte Die Liste
&a.test.name;. Schicken Sie derartige Nachrichten
bitte nicht an eine der anderen Listen.Wenn Sie Sich nicht sicher sind, auf welcher Liste Sie Ihre Frage
stellen sollen, sollten Sie den Artikel How to get best
results from the FreeBSD-questions mailing list lesen.Bevor Sie eine Nachricht an eine Mailingliste senden, sollten Sie
die korrekte Nutzung der Mailinglisten erlernen. Dazu gehört auch
das Vermeiden von sich häufig wiederholenden Diskussionen (lesen
Sie deshalb zuerst die
Mailing List Frequently Asked Questions).Alle Mailinglisten werden archiviert und können auf dem
FreeBSD World Wide Web
Server durchsucht werden. Das nach
Schlüsselwörtern durchsuchbare Archiv bietet die
hervorragende Möglichkeit, Antworten auf häufig gestellte
Fragen zu finden. Nutzen Sie bitte diese Möglichkeit, bevor Sie
Fragen auf einer Liste stellen. Beachten Sie auch, dass das zur Folge
- hat, dass die Nachrichten an die &os; Mailinglisten für die
+ hat, dass die Nachrichten an die &os; Mailinglisten für die
Ewigkeit erhalten bleiben. Wenn Sie am Schutz ihrer Privatsphähre
- interessiert sind, ziehen Sie die Verwendung einer
+ interessiert sind, ziehen Sie die Verwendung einer
Wegwerf-E-Mail-Adresse in Betracht und schreiben Sie nur solche
Nachrichten, die für die Öffentlichkeit bestimmt sind.Beschreibung der MailinglistenAllgemeine Listen: Jeder kann die
folgenden allgemeinen Listen abonnieren (und ist dazu
aufgefordert):MailinglisteZweck&a.advocacy.name;Verbreitung von FreeBSD&a.announce.name;Wichtige Ereignisse und Meilensteine des
Projekts&a.arch.name;Architektur und Design von FreeBSD&a.bugbusters.name;Diskussionen über die Pflege der FreeBSD
Fehlerberichte-Datenbank und die dazu benutzten
Werkzeuge&a.bugs.name;Fehlerberichte&a.chat.name;Nicht technische Themen, die die FreeBSD-Gemeinschaft
betreffen&a.current.name;Gebrauch von &os.current;&a.isp.name;Für Internet-Service-Provider, die
FreeBSD benutzen&a.jobs.name;Anstellung und Beratung im FreeBSD-Umfeld&a.policy.name;Grundsatzentscheidungen des FreeBSD-Core-Teams. Wenig
Verkehr und nur zum Lesen&a.questions.name;Benutzerfragen und technische
Unterstützung&a.security-notifications.name;Ankündigungen zum Thema Sicherheit&a.stable.name;Gebrauch von &os.stable;&a.test.name;Schicken Sie Testnachrichten an diese Liste anstelle
der wirklichen ListenTechnische Listen: Auf den folgenden
Listen werden technische Diskussionen geführt. Bevor Sie eine
der Listen abonnieren oder Nachrichten an sie schicken, lesen Sie
sich bitte die Charta der Liste durch, da der Inhalt und Zweck
dieser Listen genau festgelegt ist.MailinglisteZweck&a.acpi.name;Entwicklung von ACPI&a.afs.name;Portierung von AFS nach FreeBSD&a.aic7xxx.name;Entwicklung von &adaptec; AIC 7xxx Treibern&a.alpha.name;Portierung von FreeBSD auf Alpha-Maschinen&a.amd64.name;Portierung von FreeBSD auf AMD64-Systeme&a.apache.name;Diskussion über Ports, die mit
Apache
zusammenhängen.&a.arm.name;Portierung von FreeBSD auf &arm;-Prozessoren&a.atm.name;Benutzung von ATM-Netzen mit FreeBSD&a.audit.name;Audit der FreeBSD-Quellen&a.binup.name;Design und Entwicklung eines Systems, das es erlaubt,
ein FreeBSD-System mit binären Paketen zu
aktualisieren&a.bluetooth.name;&bluetooth; unter FreeBSD verwenden&a.cluster.name;Benutzung von FreeBSD in einem Cluster&a.cvsweb.name;Pflege von CVSweb&a.database.name;Diskussion über Datenbanken und
Datenbankprogrammierung unter FreeBSD&a.doc.name;Erstellen der FreeBSD-Dokumentation&a.drivers.name;Gerätetreiber für &os; schreiben&a.eclipse.name;Für FreeBSD-Anwender, die die Eclipse IDE, deren
Werkzeuge, Anwendungen und Ports einsetzen&a.embedded.name;FreeBSD in eingebetteten Anwendungen
einsetzen&a.emulation.name;Emulation anderer Systeme wie Linux, &ms-dos; oder
&windows;&a.eol.name;Support für FreeBSD-bezogene Software, die vom
FreeBSD Project offiziell nicht mehr unterstützt
wird.&a.firewire.name;Technische Diskussion über &firewire;
(iLink, IEEE 1394)&a.fs.name;Dateisysteme&a.gecko.name;Angelegenheiten zur
- Gecko Rendering Engine
+ Gecko Rendering Engine&a.geom.name;Diskussion über GEOM&a.gnome.name;Portierung von GNOME und
GNOME-Anwendungen&a.hackers.name;Allgemeine technische Diskussionen&a.hardware.name;Allgemeine Diskussion über Hardware, auf der
FreeBSD läuft&a.i18n.name;Internationalisierung von FreeBSD&a.ia32.name;FreeBSD für die IA-32 (&intel; x86) Plattform&a.ia64.name;Portierung von FreeBSD auf &intel;s neue
IA64-Systeme&a.ipfw.name;Technische Diskussion über die Neubearbeitung der
IP-Firewall Quellen&a.isdn.name;Für Entwickler des ISDN-Systems&a.java.name;Für &java; Entwickler und Leute, die &jdk;s nach
FreeBSD portieren&a.kde.name;Portierung von KDE und
KDE-Anwendungen&a.lfs.name;Portierung von LFS nach FreeBSD&a.libh.name;Das nächste Installations- und
Paketsystem&a.mips.name;Portierung von FreeBSD zu &mips;&a.mobile.name;Diskussionen über mobiles Rechnen&a.mono.name;Mono und C# Anwendungen auf FreeBSD&a.mozilla.name;Portierung von Mozilla
nach FreeBSD&a.multimedia.name;Multimedia Anwendungen&a.newbus.name;Technische Diskussionen über die Architektur von
Bussen&a.net.name;Diskussion über Netzwerke und den TCP/IP
Quellcode&a.openoffice.name;Portierung von OpenOffice.org
und &staroffice;
nach FreeBSD&a.performance.name;Fragen zur Optimierung der Leistung stark
ausgelasteter Systeme&a.perl.name;Pflege der portierten Perl-Anwendungen.&a.pf.name;Diskussionen und Fragen zu packet
filter als Firewallsystem.&a.platforms.name;Portierungen von FreeBSD auf nicht-&intel;
Architekturen&a.ports.name;Diskussion über die Ports-Sammlung&a.ports-bugs.name;Diskussion über Fehler und PRs der Ports&a.ppc.name;Portierung von FreeBSD auf den &powerpc;&a.proliant.name;Technische Diskussionen zum Einsatz von FreeBSD auf
der ProLiant-Serverplattform von HP.&a.python.name;FreeBSD-spezifische Diskussionen zu Python&a.qa.name;Diskussion über Qualitätssicherung,
normalerweise kurz vor einem Release&a.rc.name;Diskussion über das
rc.d-System sowie dessen
Weiterentwicklung&a.realtime.name;Entwicklung von Echtzeiterweiterungen für
FreeBSD&a.ruby.name;FreeBSD-spezifische Diskussionen zu Ruby&a.scsi.name;Diskussion über das SCSI-Subsystem&a.security.name;Sicherheitsthemen&a.small.name;Gebrauch von FreeBSD in eingebetteten Systemen
(obsolet; verwenden Sie stattdessen &a.embedded.name;)&a.smp.name;Diskussionen über das Design von asymmetrischen
und symmetrischen Mehrprozessor-Programmen&a.sparc.name;Portierung von FreeBSD auf &sparc; Systeme&a.standards.name;Konformität von FreeBSD mit den C99- und
POSIX-Standards&a.sun4v.name;Portierung von FreeBSD auf &ultrasparc;-T1-basierte
Systeme
-
+
&a.sysinstall.name;&man.sysinstall.8; Entwicklung&a.threads.name;Leichgewichtige Prozesse
(Threads) in FreeBSD&a.testing.name;Leistungs- und Stabilitätstests von FreeBSD&a.tokenring.name;Token-Ring Unterstützung in FreeBSD
+
+ &a.toolchain.name;
+ Wartung der &os;-Toolchain
+
+
&a.usb.name;USB-Unterstützung in FreeBSD&a.virtualization.name;Diskussion über verschiedene
- Virtualisierungsverfahren, die von &os; unterstützt
+ Virtualisierungsverfahren, die von &os; unterstützt
werden&a.vuxml.name;Diskussion über die Infratruktur von VuXML&a.x11.name;Wartung und Unterstützung von X11
auf FreeBSD&a.xen.name;Diskussionen über die &os; Portierung auf &xen; -
Implementierung und Verwendung
-
+
Eingeschränkte Listen: Die folgenden
Listen wenden sich an Zielgruppen mit speziellen Anforderungen und
sind nicht für die Öffentlichkeit gedacht. Bevor Sie
eine dieser Listen abonnieren, sollten Sie einige der technischen
Listen abonniert haben, um mit den Umgangsformen vertraut zu
sein.MailinglisteZweck&a.hubs.name;Betrieb von FreeBSD-Spiegeln&a.usergroups.name;Koordination von Benutzergruppen&a.vendors.name;Koordination von Händlern vor einem
Release&a.wip-status.name;
- Status von in Arbeit befindlichen
+ Status von in Arbeit befindlichen
&os;-Tätigkeiten
-
+
&a.www.name;Betreuer von www.FreeBSD.orgZusammenfassungen: Alle eben
aufgezählten Listen sind auch in zusammengefasster
Form (digest) erhältlich.
In den Einstellungen Ihres Accounts legen Sie fest,
in welcher Form Sie die Listen empfangen.CVS & SVN Listen: Die folgenden Listen
versenden die Log-Einträge zu Änderungen an verschiedenen
Teilen des Quellbaums. Diese Listen sollen nur
gelesen werden, schicken Sie bitte keine Nachrichten
an eine der Listen.MailinglisteTeil des QuellbaumsBeschreibung&a.cvsall.name;/usr/(CVSROOT|doc|ports)Alle Änderungen im Quellbaum (Obermenge der
anderen Commit-Listen)&a.cvs-doc.name;/usr/(doc|www)Änderungen in den
doc- und
www Bäumen&a.cvs-ports.name;/usr/portsÄnderungen im ports-Baum&a.cvs-projects.name;/usr/projectsÄnderungen im
projects-Baum&a.cvs-src.name;/usr/srcÄnderungen im src-Baum (generiert aus den svn-zu-cvs
Import-Commits
-
+
&a.svn-src-all.name;/usr/src
- Änderungen im Subversion Repository (ausser für
+ Änderungen im Subversion Repository (ausser für
user und
projects)
-
+
&a.svn-src-head.name;/usr/srcÄnderungen im head Zweig des
Subversion Repository (der &os;-CURRENT Zweig)&a.svn-src-projects.name;/usr/projectsÄnderungen im projects
Bereich des src Subversion Repository&a.svn-src-release.name;/usr/srcÄnderungen im releases
Bereich des src Subversion Repository&a.svn-src-releng.name;/usr/srcÄnderungen im releng
Zweig des src Subversion Repository (der
security / release engineering Zweige)&a.svn-src-stable.name;/usr/srcÄnderungen an allen stable Zweigen des src
Subversion Repository&a.svn-src-stable-6.name;/usr/srcÄnderungen im stable/6
Zweig des src Subversion Repository&a.svn-src-stable-7.name;/usr/srcÄnderungen im stable/7
Zweig des src Subversion Repository&a.svn-src-stable-8.name;/usr/srcÄnderungen im stable/8
Zweig des src Subversion Repository&a.svn-src-stable-other.name;/usr/src
- Änderungen an älteren
+ Änderungen an älteren
stable Zweigen des src
Subversion Repository&a.svn-src-svnadmin.name;/usr/srcÄnderungen an den administrativen Skripten, hooks,
and anderen Daten zur Konfiguration des src Subversion
Repository&a.svn-src-user.name;/usr/srcÄnderungen am experimentellen
user Bereich des src
Subversion Repository&a.svn-src-vendor.name;/usr/srcÄnderungen am Herstellerbereich des src
Subversion Repository
-
+
Mailinglisten abonnierenUm eine Liste zu abonnieren, folgen Sie dem oben angegebenen
Hyperlink der Liste oder Sie besuchen die Webseite
&a.mailman.lists.link; und klicken dort auf die Liste, die Sie
abonnieren wollen. Sie gelangen dann auf die Webseite der
Liste, die weitere Anweisungen enthält.Um eine Nachricht an eine Mailingliste zu schicken, schreiben
Sie einfach eine E-Mail an
Liste@FreeBSD.org. Die
E-Mail wird dann an alle Mitglieder der Mailingliste verteilt.Wenn Sie das Abonnement aufheben wollen, folgen Sie der
URL, die am Ende jeder Mail der Liste angegeben ist. Sie
können das Abonnement auch mit einer E-Mail an
Liste-unsubscribe@FreeBSD.org
aufheben.Verwenden Sie bitte die technischen Listen ausschließlich
für technische Diskussionen. Wenn Sie nur an wichtigen
Ankündigungen interessiert sind, abonnieren Sie die
Mailingliste &a.announce;, auf der nur wenige Nachrichten
versendet werden.Chartas der MailinglistenAlle FreeBSD-Mailinglisten besitzen
Grundregeln, die von jedem beachtet werden müssen. Für
die ersten beiden Male, in denen ein Absender gegen diese Regeln
verstößt, erhält er jeweils eine Warnung vom
FreeBSD-Postmaster postmaster@FreeBSD.org. Ein
dritter Verstoß gegen die Regeln führt dazu, dass
der Absender in allen FreeBSD-Mailinglisten gesperrt wird und
weitere Nachrichten von ihm nicht mehr angenommen werden. Wir
bedauern sehr, dass wir solche Maßnahmen ergreifen
müssen, aber heutzutage ist das Internet eine recht rauhe
Umgebung, in der immer weniger Leute Rücksicht aufeinander
nehmen.Die Regeln:Das Thema einer Nachricht soll der Charta der Liste, an die
sie gesendet wird, entsprechen. Wenn Sie eine Nachricht an
eine technische Liste schicken, sollte die Nachricht auch
technische Inhalte haben. Fortwährendes Geschwätz
oder Streit mindern den Wert der Liste für alle Mitglieder
und wird nicht toleriert. Benutzen Sie &a.chat; für
allgemeine Diskussionen über FreeBSD.Eine Nachricht sollte an nicht mehr als zwei Mailinglisten
gesendet werden. Schicken Sie eine Nachricht nur dann an
zwei Listen, wenn das wirklich notwendig ist. Viele Leute
haben mehrere Mailinglisten abonniert und Nachrichten sollten
nur zu ungewöhnlichen Kombinationen der Listen, wie
-stable und -scsi, gesendet
werden. Wenn Sie eine Nachricht erhalten, die im
Cc-Feld mehrere Listen enthält, sollten
Sie das Feld kürzen, bevor Sie eine Antwort darauf
verschicken. Unabhängig von dem
ursprünglichen Verteiler sind Sie für Ihre eigenen
Mehrfach-Sendungen selbst verantwortlich.Persönliche Angriffe und Beschimpfungen sind in einer
Diskussion nicht erlaubt. Dies gilt gleichermaßen
für Benutzer wie Entwickler. Grobe Verletzungen der
Netiquette, wie das Verschicken oder Zitieren von privater
E-Mail ohne eine entsprechende Genehmigung, werden nicht
gebilligt. Die Nachrichten werden aber nicht besonders auf
Verletzungen der Netiquette untersucht. Es kann sein,
dass eine Verletzung der Netiquette durchaus zu der Charta
einer Liste passt, aber der Absender aufgrund der
Verletzung eine Warnung erhält oder gesperrt wird.Werbung für Produkte oder Dienstleistungen, die nichts
mit FreeBSD zu tun haben, sind verboten. Ist die Werbung als
Spam verschickt worden, wird der Absender sofort gesperrt.Chartas einzelner Listen:&a.acpi.name;Die Entwicklung von ACPI und
Energieverwaltungsfunktionen.&a.afs.name;Andrew File SystemAuf dieser Liste wird die Portierung des AFS von
CMU/Transarc diskutiert.&a.announce.name;Wichtige Ereignisse und
MeilensteineDiese Liste ist für Personen, die nur an den wenigen
Ankündigungen wichtiger Ereignisse interessiert sind.
Die Ankündigungen betreffen Schnappschüsse und
Releases, neue Merkmale von FreeBSD und die Suche nach
freiwilligen Mitarbeitern. Auf der Liste herrscht wenig
Verkehr und sie wird streng moderiert.&a.arch.name;Architektur und Design
von FreeBSDAuf dieser technischen Liste wird die FreeBSD-Architektur
diskutiert. Beispiele für angemessene Themen
sind:Wie das Bausystem zu verändern ist, damit
verschiedene Läufe gleichzeitig möglich
sind.Was am VFS geändert werden muss, damit
Heidemann Schichten eingesetzt werden können.Wie die Schnittstelle der Gerätetreiber
angepasst werden muss, damit derselbe Treiber
auf verschiedenen Bussen und Architekturen eingesetzt
werden kann.Wie ein Netzwerktreiber geschrieben wird.&a.audit.name;Source Code Audit ProjectDies ist die Liste des FreeBSD-Source Code Audit
Projects. Ursprünglich war vorgesehen, hier nur
sicherheitsrelevante Änderungen zu diskutieren, doch ist
die Charta auf alle Änderungen ausgedehnt worden.Zu dieser Liste werden viele Korrekturen gesandt, so
dass sie für den normalen FreeBSD-Benutzer von
wenig Wert ist. Diskussionen über Sicherheit, die sich
nicht auf die Änderung von Quellcode beziehen, finden
auf der Mailingliste &a.security; statt. Auf der anderen
Seite sind aber alle Entwickler aufgefordert, ihre
Korrekturen zur Überprüfung an diese Liste zu
senden. Dies trifft besonders auf Änderungen zu, in
denen ein Fehler die Integrität des Gesamtsystems
gefährdet.&a.binup.name;FreeBSD Binary Update ProjectAuf dieser Liste wird das Design und die Implementierung
von binup diskutiert. Weitere
Themen sind Fehlerbehebungen, Fehlerberichte und Anfragen
nach Neuerungen. Die CVS-Logmeldungen des Projekts werden
ebenfalls auf diese Liste gesendet.&a.bluetooth.name;&bluetooth; unter FreeBSDDiese Liste diskutiert Probleme der Verwendung
von &bluetooth; unter FreeBSD. Designprobleme,
Implementierungsdetails, Patches, Fehler- und
Statusberichte, Verbesserungsvorschläge sowie
alle anderen mit &bluetooth; zusammenhängenden
Themen werden hier behandelt.&a.bugbusters.name;Bearbeitung der FehlerberichteAuf dieser Liste wird die Bearbeitung der Fehlerberichte
(PR, engl. problem report)
koordiniert. Sie dient dem Bugmeister und
allen Leuten, die ein Interesse an der Datenbank der
Fehlerberichte haben, als Diskussionsforum. Auf dieser Liste
werden keine spezifischen Fehler, Fehlerbehebungen oder PRs
diskutiert.&a.bugs.name;FehlerberichteAuf dieser Liste werden Fehlerberichte gesammelt.
Fehlerberichte sollten immer mit &man.send-pr.1; oder dem
Web Formular
erstellt werden.&a.chat.name;Nicht technische Themen, die die FreeBSD
Gemeinschaft betreffenAuf dieser Liste werden nicht-technische soziale Themen
diskutiert, die nicht auf die anderen Listen passen. Hier
kann diskutiert werden, ob Jordan wie ein Frettchen aus einem
Zeichentrickfilm aussieht oder nicht, ob grundsätzlich
in Großbuchstaben geschrieben werden soll, wer zuviel
Kaffee trinkt, wo das beste Bier gebraut wird und wer Bier in
seinem Keller braut. Gelegentlich können auf den
technischen Listen wichtige Ereignisse wie Feste, Hochzeiten
oder Geburten angekündigt werden, aber nachfolgende
Nachrichten sollten auf die Liste &a.chat; gesendet
werden.&a.core.name;FreeBSD Core TeamDies ist eine interne Mailingliste des FreeBSD Core
Teams. Wenn in einer wichtigen Angelegenheit, die FreeBSD
betrifft, entschieden werden muss oder die
Angelegenheit einer genauen Prüfung unterzogen werden
muss, können Nachrichten an diese Liste gesendet
werden.&a.current.name;Gebrauch von &os.current;Diese Mailingliste ist für die Benutzer von
&os.current; eingerichtet. Auf ihr finden sich
Ankündigungen über Besonderheiten von -CURRENT, von
denen Benutzer betroffen sind. Sie enthält weiterhin
Anweisungen, wie man ein System auf -CURRENT hält.
Jeder, der ein -CURRENT System besitzt, muss diese Liste
lesen. Die Liste ist nur für technische Inhalte
bestimmt.&a.cvsweb.name;FreeBSD CVSweb ProjectTechnische Diskussion über den Gebrauch, die
Entwicklung und die Pflege von FreeBSD-CVSweb.&a.doc.name;Documentation ProjectAuf dieser Mailingliste werden Themen und Projekte
diskutiert, die im Zusammenhang mit der Erstellung der FreeBSD
Dokumentation stehen. The FreeBSD Documentation
Project besteht aus den Mitgliedern dieser Liste.
Diese Liste steht jedem offen, Sie sind herzlich eingeladen
teilzunehmen und mitzuhelfen.&a.drivers.name;Gerätetreiber für &os;
schreibenEin Forum für technische Diskussionen über
das Schreiben von Gerätetreibern für &os;.
Daher werden hier vor allem Fragen behandelt, die sich
um das Schreiben von Treibern, die die APIs des
Kernels nutzen, drehen.&a.eclipse.name;Für FreeBSD-Anwender, die die Eclipse
IDE deren Werkzeuge, Anwendungen und Ports
einsetzenDas Ziel dieser Liste ist es, Unterstützung
für all jene zu bieten, die mit der Installation,
Verwendung, Entwicklung und Wartung der Eclipse-IDE
sowie deren Werkzeugen und Anwendungen unter &os; zu
tun haben. Außerdem wird Hilfe bei der
Portierung der IDE und deren Plugins auf &os;
geboten.Zusätzlich soll diese Liste einen
Informationsaustausch zwischen der Eclipse- und der
&os;-Gemeinde ermöglichen, von dem beide
Seiten profitieren können.Obwohl sich diese Liste auf die Anforderungen von
Anwendern konzentriert, möchte sie auch Entwickler
unterstützen, die an der Entwicklung von
&os;-spezifischen Anwendungen unter Nutzung des
Eclipse-Frameworks arbeiten.&a.embedded.name;FreeBSD in eingebetteten Anwendungen
einsetzenDiese Liste diskutiert Themen im Zusammenhang mit dem
Einsatz von ungewöhnlich kleinen und eingebettenen
FreeBSD-Installationen. Auf dieser Liste werden
ausschließlich technische Diskussionen
geführt. Unter eingebetteten Systemen versteht diese
Liste Systeme, bei denen es sich nicht um Desktopsysteme
handelt, und die in der Regel nur einem einzigen Zweck
dienen (im Gegensatz zu Desktopsystemen, die für die
Bewältigung verschiedenster Aufgaben geeignet sind).
In die Gruppe der eingebetteten Systeme gehören
beispielsweise Telephone, Netzwerkgeräte wie Router,
Switche oder PBX-Systeme, PDAs, Verkaufsautomaten und
andere mehr.&a.emulation.name;Emulation anderer Systeme wie Linux,
&ms-dos; oder &windows;Hier werden technische Diskussionen zum Einsatz von
Programmen, die für andere Betriebssysteme
geschrieben wurden, geführt.&a.eol.name;Support für FreeBSD-bezogene Software,
die vom FreeBSD Project offiziell nicht mehr unterstützt
wird.Diese Liste ist für all jene interessant, die
Unterstützung für vom FreeBSD Project offiziell
nicht mehr (in Form von Security Advisories oder Patches)
unterstützte Programme benötigen oder anbieten
wollen.&a.firewire.name;&firewire; (iLink, IEEE 1394)Auf dieser Liste wird das Design und die Implementierung
eines &firewire;-Subsystems (auch IEEE 1394 oder iLink)
für FreeBSD diskutiert. Relevante Themen sind die
Standards, Busse und ihre Protokolle, sowie Adapter, Karten
und Chipsätze. Des Weiteren die Architektur und der
Quellcode, die nötig sind, diese Geräte zu
unterstützen.&a.fs.name;DateisystemeDiskussionen über FreeBSD-Dateisysteme. Dies ist
eine technische Liste, in der nur technische Inhalte erwartet
werden.&a.gecko.name;Angelegenheiten zur
Gecko Rendering Engine
- Dies ist ein Forum über
- Gecko-Anwendungen, die &os;
+ Dies ist ein Forum über
+ Gecko-Anwendungen, die &os;
verwenden.
- Die Diskussion dreht sich um die Portierung von
- Gecko-Anwendungen, deren Installation, die Entwicklung
+ Die Diskussion dreht sich um die Portierung von
+ Gecko-Anwendungen, deren Installation, die Entwicklung
sowie deren Unterstützung innerhalb von &os;.&a.geom.name;GEOMDiskussion über GEOM und verwandte
Implementierungen. Dies ist eine technische Liste,
in der nur technische Inhalte erwartet werden.&a.gnome.name;GNOMEDiskussionen über die grafische
Benutzeroberfläche GNOME.
Dies ist eine technische Liste, in der nur technische Inhalte
erwartet werden.&a.ipfw.name;IP FirewallDiskussionen über eine Neubearbeitung des
IP-Firewall Quelltexts in FreeBSD. Dies ist eine technische
Liste, in der nur technische Inhalte erwartet werden.&a.ia64.name;Portierung von FreeBSD auf die
IA64-PlattformDies ist eine technische Liste für diejenigen, die
FreeBSD auf die IA-64 Plattform von &intel; portieren. Themen
sind die Probleme bei der Portierung und deren Lösung.
Interessierte, die der Diskussion folgen wollen, sind
ebenfalls willkommen.&a.isdn.name;ISDN SubsystemMailingliste für die Entwickler des ISDN Subsystems
von FreeBSD.&a.java.name;&java; EntwicklungMailingliste, auf der die Entwicklung von &java;
Anwendungen für FreeBSD sowie die Portierung und Pflege
von &jdk;s diskutiert wird.&a.jobs.name;Stellenangebote und
StellengesucheIn diesem Forum können Sie Stellenangebote
und Stellengesuche, die mit &os; zu tun haben, aufgeben.
Wenn Sie beispielsweise eine Beschäftigung im
&os;-Umfeld suchen oder eine freie Stelle haben,
die mit &os; zu tun hat, ist dies der richtige Ort.
Diese Mailingliste ist nicht
der Ort, um über allgemeine Beschäftigungsprobleme
zu diskutieren; dazu gibt es anderswo geeignete
Foren.Beachten Sie bitte, dass diese Liste, wie die
anderen
FreeBSD.org-Listen,
weltweit gelesen wird. Geben Sie daher bitte den Arbeitsort
genau an. Geben Sie bitte auch an, ob Telearbeit
möglich ist und ob Hilfen für einen Umzug
angeboten werden.Benutzen Sie in der E-Mail bitte nur offene
Formate – vorzugsweise nur das Textformat.
Andere Formate, wie PDF oder
HTML, werden von den Lesern akzeptiert. Nicht offene
Formate wie µsoft; Word (.doc)
werden vom Server der Liste abgelehnt.&a.hackers.name;Technische DiskussionenDies ist ein Forum für technische Diskussionen
über FreeBSD. Leute, die aktiv an FreeBSD arbeiten,
können hier Probleme und deren Lösungen
diskutieren. Interessierte, die den Diskussionen folgen
wollen, steht die Liste ebenfalls offen. Auf dieser Liste
finden nur technische Diskussionen statt.&a.hardware.name;Allgemeine Diskussionen über
HardwareAllgemeine Diskussionen über die Hardware, auf der
FreeBSD läuft: Probleme und Ratschläge welche
Hardware man kaufen sollte und welche nicht.&a.hubs.name;FreeBSD-SpiegelAnkündigungen und Diskussionsforum für Leute,
die FreeBSD-Spiegel betreiben.&a.isp.name;Themen für Internet Service
ProviderDiese Liste ist für Internet Service Provider (ISP),
die FreeBSD benutzen. Auf dieser Liste finden nur technische
Diskussionen statt.&a.mono.name;Mono und C# Anwendungen auf
FreeBSDDiese Liste beinhaltet Diskussionen über das Mono
Entwicklungsframework auf &os;. Dies ist eine technische
- Mailingliste. Es ist für Personen gedacht, die aktiv
- an der Portierung von Mono oder C# Anwendungen auf &os; sind,
- um Probleme oder alternative Lösungen zu beratschlagen.
- Personen die der technischen Diskussion folgen möchten
+ Mailingliste. Es ist für Personen gedacht, die aktiv
+ an der Portierung von Mono oder C# Anwendungen auf &os; sind,
+ um Probleme oder alternative Lösungen zu beratschlagen.
+ Personen die der technischen Diskussion folgen möchten
sind ebenso willkommen.&a.kde.name;KDEDiskussionen über KDE
auf FreeBSD-Systemen.
Dies ist eine technische Liste, in der nur technische Inhalte
erwartet werden.&a.openoffice.name;OpenOffice.orgPortierung und Pflege von
OpenOffice.org und
&staroffice;.&a.performance.name;Diskussionsforum mit dem Ziel, die
Leistung von FreeBSD zu verbessern.Auf dieser Liste diskutieren Hacker,
Systemadministratoren und andere Interessierte die
Leistung von FreeBSD. Zulässige Themen sind
beispielsweise Systeme unter hoher Last, Systeme
mit Leistungsproblemen oder Systeme, die Leistungsgrenzen
von FreeBSD überwinden. Jeder, der mithelfen will,
die Leistung von FreeBSD zu verbessern, sollte diese
Liste abonnieren. Die Liste ist technisch anspruchsvoll
und geeignet für erfahrene FreeBSD-Benutzer,
Hacker oder Administratoren, die FreeBSD schnell,
robust und skalierbar halten wollen. Auf der Liste
werden Beiträge gesammelt oder Fragen nach
ungelösten Problemen beantwortet. Sie ist kein
Ersatz für das gründliche Studium der
Dokumentation.&a.pf.name;Diskussionen und Fragen zu
packet filter als Firewallsystem.FreeBSD-spezische Diskussionen zur Benutzung von
packet filter (pf) als
Firewallsystem. Sowohl technische Diskussionen als auch
Anwenderfragen sind auf dieser Liste willkommen. Fragen
zum ALTQ QoS Framework können ebenfalls gestellt
werden.&a.platforms.name;Portierung auf nicht-&intel;
PlattformenPlattformübergreifende Themen und Vorschläge
für die Portierung auf nicht-&intel; Plattformen.
Auf dieser Liste finden nur technische Diskussionen
statt.&a.policy.name;Grundsatzentscheidungen des Core
TeamsDiese Mailingliste ist für Grundsatzentscheidungen
des FreeBSD-Core-Teams. Sie trägt wenige Nachrichten und
ist nur zum Lesen gedacht.&a.ports.name;Diskussion über die
Ports-SammlungDiskussionen über die FreeBSD-Ports-Sammlung und
die Infrastruktur der Sammlung. Die
Liste dient auch der allgemeinen Koordination der Dinge, die
die Ports-Sammlung betreffen. Auf dieser Liste finden nur
technische Diskussionen statt.&a.ports-bugs.name;Diskussion über Fehler in
den PortsDiskussion über Fehler in der Ports-Sammlung
(/usr/ports), neue Ports oder
Änderungen an bestehenden Ports. Auf dieser Liste
finden nur technische Diskussionen statt.&a.proliant.name;Technische Diskussionen zum Einsatz von
FreeBSD auf der ProLiant-Serverplattform von
HPDiese Mailingliste bietet technische Diskussionen
zum Einsatz von FreeBSD auf der ProLiant-Serverplattform
von HP, darunter Fragen zu ProLiant-spezifischen
Treibern, Konfigurationswerkzeugen sowie
BIOS-Aktualisierungen. Daher ist sie die erste
Anlaufstelle, um die Module hpasmd, hpasmcli, sowie
hpacucli zu diskutieren.&a.python.name;Python unter FreeBSDDiese technische Liste dient der Verbesserung der
Python-Unterstützung unter FreeBSD. Sie wird von
Personen gelesen, die an der Portierung von Python, von
Python-Modulen Dritter und von
Zope nach FreeBSD arbeiten.
Personen, die diese technischen Diskussion verfolgen
wollen, sind ebenfalls willkommen.&a.questions.name;BenutzerfragenAuf dieser Mailingliste können Fragen zu
FreeBSD gestellt werden. Fragen Sie bitte nicht nach
Anleitungen, wenn Sie nicht sicher sind, dass Ihre
Frage wirklich technischer Natur ist.&a.ruby.name;Ruby unter FreeBSDDiese technische Liste dient der Verbesserung der
Ruby-Unterstützung unter FreeBSD. Sie wird von
Personen gelesen, die an der Portierung von Ruby, von
Bibliotheken Dritter und Frameworks arbeiten.
Personen, die diese technischen Diskussionen verfolgen
wollen, sind ebenfalls willkommen.&a.scsi.name;SCSI SubsystemDiese Mailingliste ist für die Entwickler des SCSI
Subsystems von FreeBSD. Auf dieser Liste finden nur
technische Diskussionen statt.&a.security.name;SicherheitsthemenSicherheitsthemen, die FreeBSD betreffen, wie DES,
Kerberos, bekannte Sicherheitslöcher und Fehlerbehebungen.
Stellen Sie bitte auf dieser Liste keine allgemeinen Fragen
zum Thema Sicherheit. Willkommen sind allerdings Beiträge
zur FAQ, das heißt eine Frage mit der passenden
Antwort. Auf dieser Liste finden nur technische Diskussionen
statt.&a.security-notifications.name;Ankündigungen zum Thema
SicherheitAnkündigungen über Sicherheitsprobleme von
FreeBSD und deren Behebungen. Diese Liste ist kein
Diskussionsforum, benutzen Sie &a.security;, um
Sicherheitsthemen zu diskutieren.&a.small.name;Gebrauch von FreeBSD in
eingebetteten Systemen.Diese Liste für ungewöhnlich kleine FreeBSD
Installation oder den Einsatz von FreeBSD in eingebetteten
Systemen gedacht. Auf dieser Liste finden nur technische
Diskussionen statt.Diese Liste wurde durch &a.embedded.name;
ersetzt.&a.stable.name;Gebrauch von &os.stable;.Diese Mailingliste ist für die Benutzer von
&os.stable; eingerichtet. Auf ihr finden sich
Ankündigungen über Besonderheiten von -STABLE, von
denen Benutzer betroffen sind. Sie enthält weiterhin
Anweisungen, wie man ein System auf -STABLE hält. Jeder,
der ein -STABLE System besitzt, muss diese Liste lesen. Die
Liste ist nur für technische Inhalte bestimmt.&a.standards.name;Konformität von FreeBSD mit den C99- und
&posix; StandardsDieses Forum ist für technische Diskussionen
über die Konformität von FreeBSD mit den C99- und
POSIX-Standards.
+
+ &a.toolchain.name;
+
+
+ Wartung der &os;-Toolchain
+
+ Auf dieser Mailingliste werden alle Themen rund um
+ die &os;-Toolchain diskutiert. Dazu gehören der
+ Status von Clang und GCC, aber auch Fragen zu Programmen
+ wie Assemblern, Linkern und Debuggern.
+
+
+
&a.usb.name;USB-Unterstützung in
&os;.Auf dieser Liste finden nur technische Diskussionen
statt.&a.usergroups.name;Koordination von BenutzergruppenDiese Liste ist für Koordinatoren lokaler
Benutzergruppen und einem ausgesuchten Mitglied des Core Teams
eingerichtet worden. Der Inhalt sollte Inhalte von Treffen
und die Koordination von Projekten mehrerer Benutzergruppen
beschränkt sein.&a.vendors.name;Koordination von HändlernKoordination zwischen dem FreeBSD Project und
Händlern, die Soft- und Hardware für FreeBSD
verkaufen.
-
+
&a.virtualization.name;Diskussion über verschiedene
- Virtualisierungsverfahren, die von &os; unterstützt
+ Virtualisierungsverfahren, die von &os; unterstützt
werden
- Eine Liste, auf der die verschiedenen
+ Eine Liste, auf der die verschiedenen
Virtualisierungsverfahren, die von &os; unterstützt werden,
diskutiert werden. Auf der einen Seite liegt der Fokus auf der
Implementierung der zugrundeliegenden Funktionalitäten,
ebenso wie das Hinzufügen neuer Eigenschaften. Auf der
anderen Seite haben die Benutzer ein Forum, um Fragen bei
Problemen zu stellen oder um ihre Anwendungsfälle zu
besprechen.
-
+
&a.wip-status.name;
- Status von in Arbeit befindlichen
+ Status von in Arbeit befindlichen
&os;-Tätigkeiten
- Diese Mailingliste kann dazu verwendet werden,
+ Diese Mailingliste kann dazu verwendet werden,
eigene Kreationen und deren Fortschritt von &os;-verwandten
Tätigkeiten anzukündigen. Die Nachrichten werden
moderiert. Es wird vorgeschlagen, die Nachricht "An:" eine
mehr themenverwandte &os;-Liste zu senden und diese Liste nur
in Blindkopie zu setzen. Auf diese Weise kann ihre in Arbeit
- befindliche Tätigkeit auch auf der themenverwandten
+ befindliche Tätigkeit auch auf der themenverwandten
Liste diskutiert werden, da auf dieser Liste keine Diskussionen
erlaubt sind.Sehen Sie sich das Archiv der Liste für passende
Nachrichten an.Redaktionelle Auszüge der Nachrichten an diese Liste
werden eventuell alle paar Monate auf die &os; Webseite als
- Teil der Statusberichte
gestellt. Weitere Beispiele und zurückliegende Berichte
können Sie auch dort finden.
-
+
&a.xen.name;
- Diskussionen über die &os; Portierung auf
+ Diskussionen über die &os; Portierung auf
&xen; - Implementierung und VerwendungEine Liste, die die &os; Portierung auf &xen; behandelt. Das
- erwartete Nachrichtenaufkommen ist klein genug, so dass es
- als Forum für sowohl technische Diskussionen über die
+ erwartete Nachrichtenaufkommen ist klein genug, so dass es
+ als Forum für sowohl technische Diskussionen über die
Implementierung und Entwurfsdetails, als auch administrative
Verteilaspekte ausgelegt ist.
-
+
Filter der MailinglistenUm die Verbreitung von Spam, Viren und anderen nicht
erwünschten E-Mails zu verhindern, werden auf den
&os;-Mailinglisten Filter eingesetzt. Dieser Abschnitt
beschreibt nur einen Teil der zum Schutz der Listen
eingesetzten Filter.Auf den Mailinglisten sind nur die unten aufgeführten
Anhänge erlaubt. Anhänge mit einem anderen
MIME-Typ werden entfernt, bevor eine E-Mail an eine
Liste verteilt wird.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchEinige Mailinglisten erlauben vielleicht Anhänge
mit anderem MIME-Typ. Für die meisten Mailinglisten
sollte die obige Aufzählung aber richtig sein.Wenn eine E-Mail sowohl aus einer HTML-Version wie auch
aus einer Text-Version besteht, wird die HTML-Version entfernt.
Wenn eine E-Mail nur im HTML-Format versendet wurde, wird
sie in reinen Text umgewandelt.Usenet-NewsNeben den Gruppen, die sich ausschließlich mit BSD
beschäftigen, gibt es viele weitere in denen über FreeBSD
diskutiert wird, oder die für FreeBSD-Benutzer wichtig sind.
Warren Toomey wkt@cs.adfa.edu.au stellte
großzügig suchbare
Archive einiger dieser Gruppen bereit.BSD spezifische Gruppencomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (deutsch)fr.comp.os.bsd (französisch)it.comp.os.bsd (italienisch)tw.bbs.comp.386bsd (Traditionelles Chinesisch)Weitere UNIX Gruppencomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineWorld Wide Web ServerForen, Blogs und soziale NetzwerkeDie
&os; Foren dienen als webbasiertes Diskussionsforum für
Fragen und technische Diskussionen zu &os;.Planet FreeBSD
bietet einen gesammelten Feed aus dutzenden von Blogs, die von
den &os; Entwicklern geschrieben werden. Viele Entwickler nutzen
dies, um schnell Aufzeichnungen darüber zu veröffentlichen,
woran sie gerade arbeiten, welche neuen Erweiterungen es gibt und
andere Arbeiten, die gerade im Gange sind.Der BSDConferences
- YouTube-Kanal beinhaltet eine Sammlung von qualitativ
+ YouTube-Kanal beinhaltet eine Sammlung von qualitativ
hochwertigen Videos von BSD Konferenzen aus der ganzen Welt. Dies
ist eine ausgezeichnete Art und Weise, den Entwicklern beim
- Präsentieren von neuen Arbeiten an FreeBSD
+ Präsentieren von neuen Arbeiten an FreeBSD
zuzuschauen.Official Mirrors
&chap.eresources.www.inc;
E-Mail AdressenDie folgenden Benutzergruppen stellen ihren Mitgliedern für
die Arbeit an FreeBSD E-Mail-Adressen zur Verfügung. Der
aufgeführte Administrator behält sich das Recht vor,
die Adresse zu sperren, wenn sie missbraucht wird.DomainAngebotBenutzergruppeAdministratorukug.uk.FreeBSD.orgnur zum Weiterleitenukfreebsd@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.org
diff --git a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 174a9a4a9d..e1f7588933 100644
--- a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,3753 +1,3745 @@
JimMockRestrukturiert und teilweise aktualisiert von Brian N.HandyBeigetragen von RichMurpheyJohannKoisÜbersetzt von Linux-BinärkompatibilitätÜbersichtLinux-BinärkompatibilitätBinärkompatibilitätLinuxFreeBSD bietet Binärkompatibilität zu verschiedenen
anderen &unix; Betriebssystemen, darunter auch Linux. Nun
könnten Sie sich fragen, warum FreeBSD in der Lage sein
muss, Linux-Binärprogramme auszuführen? Die Antwort
auf diese Frage ist sehr einfach. Viele Unternehmen und Entwickler
programmieren bzw. entwickeln nur für Linux, da es
das Neueste und Beste in der Computerwelt ist.
Für uns FreeBSD-Anwender heißt dies, genau diese Unternehmen
und Entwickler zu bitten, FreeBSD-Versionen ihrer Programme
herauszubringen. Das Problem dabei ist nur, dass die meisten dieser
Firmen trotzdem nicht erkennen, wie viele zusätzliche
Anwender ihre Produkte benutzen würden, wenn es auch
FreeBSD-Versionen gäbe, und daher weiterhin
ausschließlich für Linux entwickeln. Was also kann ein
FreeBSD-Anwender tun? Genau an diesem Punkt kommt die Linux-
Binärkompatibilität ins Spiel.Um es auf den Punkt zu bringen, genau diese Kompatibilität
erlaubt es FreeBSD-Anwendern, etwa 90 % aller Linux-Anwendungen
ohne Code-Änderungen zu verwenden. Dies schließt
solche Anwendungen wie &staroffice;,
Open Office, die Linux-Versionen von
&netscape;,
&adobe; &acrobat;,
&realplayer;,
VMWare, &oracle;,
&wordperfect;,
Doom,
Quake und viele andere ein. Es wird
sogar berichtet, dass diese Linux-Anwendungen in manchen
Fällen unter FreeBSD eine bessere Leistung als unter
Linux aufweisen.Allerdings gibt es nach wie vor einige Linux-spezifische
Betriebssystem-Eigenschaften, die unter FreeBSD nicht
unterstützt werden. Linux-Anwendungen, die
&i386;-spezifische Aufrufe (wie die Aktivierung des
virtuellen 8086-Modus) verwenden, funktionieren
unter FreeBSD leider nicht.Nach dem Lesen dieses Kapitels werden Siewissen, wie Sie die Linux-Binärkompatibilität
installieren bzw. aktivieren.Wissen, wie man zusätzliche Linux-Systembibliotheken
unter FreeBSD installiert.Linux-Anwendungen unter FreeBSD installieren können.Wissen, wie die Linux-Binärkompatibilität
unter FreeBSD verwirklicht wurde.Bevor Sie dieses Kapitel lesen, sollten Siewissen, wie man Software Dritter installiert
().InstallationKLD (kernel loadable object)Die Linux-Binärkompatibilität ist per Voreinstellung
nicht aktiviert. Der einfachste Weg, dies zu tun, ist das
Linux KLD (Kernel LoaDable object)
zu laden. Dies erreichen Sie durch die Eingabe des folgenden
Befehls:&prompt.root; kldload linuxWollen Sie die Linux-Binärkompatibilität dauerhaft
aktivieren, sollten Sie die folgende Zeile in
/etc/rc.conf einfügen:linux_enable="YES"Der &man.kldstat.8;-Befehl kann benutzt werden, um
festzustellen, ob KLD geladen wurde:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.koKerneloptionenCOMPAT_LINUXWenn Sie das KLD nicht laden können oder wollen, besteht
auch die Möglichkeit, die Linux-Binärkompatibiltät
statisch in den Kernel einzubinden. Dazu fügen Sie Ihrer
Kernelkonfigurationsdatei den Eintrag
options COMPAT_LINUX
hinzu. Anschließend installieren Sie Ihren neuen Kernel
wie in beschrieben.Linux-Laufzeitbibliotheken installierenLinuxLinux-Laufzeitbibliotheken installierenDies kann auf zwei Arten geschehen, entweder über den
linux_base-Port
oder durch manuelle
Installation der Bibliotheken.Installation unter Verwendung des linux_base-PortsPorts-SammlungDies ist die einfachste Methode, um die Laufzeitbibliotheken
zu installieren. Sie funktioniert genauso wie die
Installation eines beliebigen anderen Ports aus der
Ports-Sammlung.
Dazu machen Sie einfach folgendes:&prompt.root; cd /usr/ports/emulators/linux_base-f10
&prompt.root; make install distcleanBei &os;-Systemen vor &os; 8.0 müssen Sie den Port
- emulators/linux_base-fc4
+ emulators/linux_base-fc4
anstatt emulators/linux_base-f10
installieren.Sie sollten nun über eine funktionierende
Linux-Binärkompatibilität verfügen. Einige
Programme könnten sich zwar über falsche
Unterversionsnummern der Systembibliotheken beschweren, dies ist
im Allgemeinen aber kein Problem.Unter Umständen gibt es mehrere Versionen des
Ports emulators/linux_base.
Die Ports entsprechen unterschiedlichen Versionen
verschiedener Linux-Distributionen Sie sollten den
Port installieren, der am besten die Anforderungen
der Linux-Anwendung erfüllt.Manuelle Installation der BibliothekenWenn Sie die Ports-Sammlung nicht installiert
haben, können Sie die Bibliotheken auch manuell
installieren. Dazu brauchen Sie die jeweiligen
Linux-Systembibliotheken, die das zu installierende Programm
verwendet sowie den Laufzeit-Linker. Zusätzlich müssen
Sie auf Ihrem FreeBSD-System einen
virtuellen Verzeichnisbaum für die
Linux-Bibliotheken einrichten. Alle unter FreeBSD gestarteten
Linux-Programme suchen zuerst in diesem Verzeichnisbaum
nach Systembibliotheken. Wenn also ein Linuxprogramm beispielsweise
/lib/libc.so lädt, versucht FreeBSD
zuerst, /compat/linux/lib/libc.so laden.
Ist diese Datei nicht vorhanden, wird
/lib/libc.so geladen. Systembibliotheken
sollten daher besser in den virtuellen Verzeichnisbaum
/compat/linux/lib als in den vom
Linux-ld.so vorgeschlagenen installiert
werden.Im Allgemeinen müssen Sie nur zu Beginn nach den
Systembibliotheken suchen, die von Linuxprogrammen
benötigt werden. Nach den ersten Installationen von
Linuxprogrammen auf Ihrem FreeBSD-System verfügen Sie
über eine Sammlung von Linux-Systembibliotheken,
die es Ihnen ermöglichen wird, neue Linuxprogramme
ohne Zusatzarbeit zu installieren.Installation zusätzlicher SystembibliothekenShared-LibrariesWas passiert, wenn Sie den linux_base-Port
installieren, und Ihr Programm beschwert sich trotzdem
über fehlende Systembibliotheken? Woher wissen Sie,
welche Systembibliotheken von Linux-Binärprogrammen
benötigt werden, und wo Sie diese finden? Grundsätzlich
gibt es dafür zwei Möglichkeiten (um dieser
Anleitung zu folgen, müssen Sie unter
FreeBSD als Benutzer root angemeldet
sein):Wenn Sie Zugriff auf ein Linux-System haben, können
Sie dort nachsehen, welche Systembibliotheken eine Anwendung
benötigt, und diese auf Ihr FreeBSD-System kopieren.
Dazu folgendes Beispiel:Nehmen wir an, Sie haben FTP verwendet, um die
Linux-Binärversion von Doom
zu bekommen und haben sie auf Ihrem Linux-System installiert.
Nun können Sie überprüfen, welche
Systembibliotheken das Programm benötigt, indem Sie
ldd linuxdoom eingeben. Das Resultat
sieht dann so aus:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29symbolische LinksSie müssten nun alle Dateien aus der
letzten Spalte kopieren und sie unter
/compat/linux speichern, wobei
die Namen der ersten Spalte als symbolische Links auf
diese Dateien zeigen. Damit haben Sie schließlich
folgende Dateien auf Ihrem FreeBSD-System:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Beachten Sie, dass wenn Sie bereits eine
Linux-Systembibliothek einer zur ersten Spalte
passenden Hauptversionsnummer (laut
ldd-Ausgabe) besitzen, Sie die Datei
aus der zweiten Spalte nicht mehr kopieren müssen,
da die bereits vorhandene Version funktionieren sollte.
Hat die Systembibliothek jedoch eine neuere
Versionsnummer, sollten Sie sie dennoch kopieren.
Sie können die alte Version löschen, solange
Sie einen symbolischen Link auf die neue
Version anlegen. Wenn Sie also folgende Bibliotheken
auf Ihrem System installiert haben:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27und Sie haben eine neue Binärdatei, die
laut ldd
eine neuere Bibliothek benötigt:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Wenn diese sich nur um ein oder zwei Stellen
in der Unterversionsnummer unterscheiden, müssen
Sie /lib/libc.so.4.6.29
nicht auf Ihr System kopieren, da das Programm auch
mit der etwas älteren Version ohne Probleme
funktionieren sollte. Wenn Sie wollen,
können Sie libc.so aber
dennoch ersetzen (das heißt aktualisieren), was dann zu
folgender Ausgabe führt:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Der Mechanismus der symbolischen Links wird
nur für Linux-Binärdateien
benötigt. Der FreeBSD-Laufzeitlinker sucht
sich die passenden Hauptversionsnummern selbst,
das heißt Sie müssen sich nicht darum
kümmern.
Linux ELF-Binärdateien installierenLinuxELF-BinärdateiELF-Binärdateien benötigen manchmal eine zusätzliche
Kennzeichnung. Wenn Sie versuchen, eine nicht
gekennzeichnete ELF-Binärdatei auszuführen,
werden Sie eine Fehlermeldung ähnlich der folgenden
erhalten:&prompt.user; ./my-linux-elf-binary
ELF binary type not known
AbortDamit der FreeBSD-Kernel eine Linux-ELF-Datei von einer
FreeBSD-ELF-Datei unterscheiden kann, gibt es das Werkzeug
&man.brandelf.1;.&prompt.user; brandelf -t Linux my-linux-elf-binaryGNU WerkzeugeDie GNU Werkzeuge schreiben nun automatisch die
passende Kennzeichnungsinformation in die ELF-Binärdateien,
so dass Sie diesen Schritt in Zukunft nur noch selten benötigen
werden.Installieren einer beliebigen RPM-basierten Linuxanwendung&os; besitzt seine eigene Paketdatenbank und diese wird dazu
verwendet, um alle Ports (auch &linux;-Ports) zu verfolgen. Deshalb
wird die &linux; RPM-Datenbank nicht benutzt (fehlende
Unterstützung).
-
+
Falls Sie jedoch eine beliebige RPM-basierte &linux;-Anwendung
installieren wollen, erreichen Sie das mittels:
-
+
&prompt.root; cd /compat/linux
&prompt.root; rpm2cpio -q < /path/to/linux.archive.rpm | cpio -idBenutzen Sie dann brandelf auf die installierten
ELF-Binärdateien (nicht die Bibliotheken!). Sie werden keine
saubere Deinstallation hinbekommen, aber evtl. helfen ein paar Tests
weiter.Namensauflösung konfigurierenWenn DNS nicht funktioniert, oder Sie folgende Fehlermeldung
erhalten:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordmüssen sie /compat/linux/etc/host.conf
wie folgt anlegen:order hosts, bind
multi onDiese Reihenfolge legt fest, dass zuerst
/etc/hosts und anschließend DNS
durchsucht werden. Wenn
/compat/linux/etc/host.conf nicht vorhanden
ist, finden Linux-Anwendungen FreeBSD's
/etc/host.conf und
beschweren sich über die inkompatible FreeBSD-Syntax. Wenn Sie
keinen Nameserver (in /etc/resolv.conf)
konfiguriert haben, sollten Sie den Eintrag
bind entfernen.BorisHollasFür Mathematica 5.x aktualisiert von &mathematica; installierenLinux-AnwendungenMathematicaDieses Dokument beschreibt die Installation der Linux-Version von
&mathematica; 5.x auf einem
FreeBSD-System.Die Linux-Version von &mathematica;
oder &mathematica; für Studenten kann
direkt von Wolfram unter
bestellt werden.Den &mathematica;-Installer startenZuerst müssen Sie &os; mitteilen, dass die
Linux-Binärversion von
&mathematica; die Linux-ABI
verwendet. Dies erreichen Sie am einfachsten, indem Sie die
Standard-ELF-Kennzeichnung für alle ungekennzeichneten
Binärdateien auf Linux festlegen:&prompt.root; sysctl kern.fallback_elf_brand=3Danach wird FreeBSD annehmen, dass alle ungekennzeichneten
ELF-Binärdateien die Linux-ABI verwenden und es wäre
nun möglich, das Installationsprogramm direkt von der
CD-ROM zu starten.Unter &os; müssen allerdings die Datei
MathInstaller in ein lokales Verzeichnis
Ihrer Festplatte kopieren:&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /LokalesVerzeichnis/In dieser Datei ersetzen Sie in der ersten Zeile den Wert
/bin/sh durch
/compat/linux/bin/sh. Dadurch wird
sichergestellt, dass der Installer von der Linux-Version von
&man.sh.1; aufgerufen wird. Danach ersetzen Sie durch das
im nächsten Abschnitt zu findende Skript oder über
einen Texteditor alle Vorkommen von Linux)
durch FreeBSD). Dadurch ist es dem
&mathematica;-Installer möglich,
durch den Einsatz von uname -s das
Betriebssystem zu bestimmen. &os; wird dabei als
Linux-artiges Betriebssystem behandelt. Durch den Aufruf von
MathInstaller kann
&mathematica; anschließend
installiert werden.Die &mathematica;-Programmdateien anpassenDas von &mathematica; während
der Installation erzeugte Shell-Skript muss angepasst werden,
bevor Sie es einsetzen können. Wenn Sie die
&mathematica;-Programmdateien unter
/usr/local/bin installieren,
finden Sie in diesem Verzeichnis die symbolische Links
math, mathematica,
Mathematica, sowie
MathKernel. In jeder dieser Dateien
müssen Sie jedes Vorkommen von Linux)
durch FreeBSD) ersetzen (entweder über
einen Texteditor oder durch das folgende Shellskript):#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
doneIhr &mathematica;-Passwort anfordernEthernetMAC-AdresseWenn Sie &mathematica; das erste
Mal starten, werden Sie nach einem Passwort gefragt. Haben Sie
noch kein Passwort von Wolfram erhalten, müssen Sie zuerst
im Installationsverzeichnis mathinfo
aufrufen, um Ihre Rechner-ID zu bestimmen. Diese
Rechner-ID basiert ausschließlich auf der MAC-Adresse
Ihrer ersten Netzwerkkarte. Daher ist es nicht möglich,
Ihre &mathematica;-Kopie auf
verschiedenen Rechnern zu installieren.Wenn Sie sich bei Wolfram registrieren (durch E-Mail,
Telefon oder Fax), teilen Sie
Ihre Rechner-ID mit und erhalten dafür
ein aus Zahlengruppen bestehendes Passwort.Das &mathematica;-Frontend über ein Netzwerk
ausführen&mathematica; verwendet einige
spezielle Schriftarten, um Zeichen anzuzeigen, die in den
Standardzeichensätzen nicht vorhanden
sind (z.B. Integrale, Summen, griechische Buchstaben). Das
X-Protokoll verlangt allerdings, dass diese Schriftarten
lokal installiert sind.
Das bedeutet, dass Sie diese Schriftarten von der CD-ROM oder
von einem Rechner, auf dem &mathematica;
installiert ist, auf Ihren Rechner kopieren müssen.
Diese Schriftarten befinden sich normalerweise in
/cdrom/Unix/Files/SystemFiles/Fonts
(&mathematica;-CD) oder in
/usr/local/mathematica/SystemFiles/Fonts
(Festplatte). Die aktuellen Schriftarten befinden sich dabei
in den Unterverzeichnissen Type1 und
X. Um diese Schriftarten zu verwenden,
gibt es mehrere Möglichkeiten, die nun beschrieben werden:Die erste Möglichkeit besteht darin, die Schriftarten
in eins der bereits existierenden Schriftartenverzeichnisse unter
/usr/X11R6/lib/X11/fonts zu kopieren.
Dies bedeutet, dass Sie fonts.dir editieren
müssen, indem Sie die Schriftnamen hinzufügen und
die Anzahl der Schriftarten in der ersten Zeile ändern.
Alternativ ist es auch möglich, im Verzeichnis, in das
Sie die Schriftarten kopiert haben, das Kommando
&man.mkfontdir.1; auszuführen.Die zweite Möglichkeit, besteht darin,
die Verzeichnisse nach
/usr/X11R6/lib/X11/fonts zu kopieren:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirNun fügen Sie die neuen Schriftartenverzeichnisse in
Ihren Pfad ein:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashWenn Sie den &xorg;-Server verwenden, können Sie die
Schriftarten-Verzeichnisse automatisch laden lassen, wenn Sie sie
in Ihrer xorg.conf angeben.Für den &xfree86;-Server
verwenden Sie die Datei XF86Config.SchriftartenWenn Sie noch kein/usr/X11R6/lib/X11/fonts/Type1-Verzeichnis
haben, können Sie das
MathType1-Verzeichnis im vorherigen
Beispiel in Type1 umbenennen.AaronKaplanBeigetragen von RobertGetschmannMit Unterstützung durch &maple; installierenLinux-AnwendungenMaple&maple; ist ein mit
&mathematica; vergleichbares kommerzielles
Mathematikprogramm. Sie können dieses Programm unter
kaufen und sich
anschließend registrieren, um eine Lizenz zu erhalten. Um
dieses Programm unter FreeBSD zu installieren, gehen Sie wie
folgt vor:Führen Sie das
INSTALL-Shell-Skript
der Softwaredistribution aus. Wählen Sie die
RedHat-Option aus, wenn Sie das
Installationsprogramm danach fragt. Ein typisches
Installationsverzeichnis wäre z.B.
/usr/local/maple.Wenn Sie dies noch nicht gemacht haben, besorgen Sie
sich nun eine &maple;-Lizenz von
Maple Waterloo Software
()
und kopieren Sie diese nach
/usr/local/maple/license/license.dat.Installieren Sie den
FLEXlm-Lizenz-Manager, indem Sie
das INSTALL_LIC-Installations-Shellskript
ausführen, das mit &maple;
ausgeliefert wird. Geben Sie Ihren primären
Rechnernamen für den Lizenz-Server an.Verändern Sie
/usr/local/maple/bin/maple.system.type
wie folgt: ----- snip ------------------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- snip end of patch -----Bitte beachten Sie, dass nach
"FreeBSD"|\ kein anderes
Zeichen eingefügt werden darf.Dieser Patch weist &maple; an,
FreeBSD als eine Art von Linux-System zu erkennen.
Das Shell-Skript bin/maple ruft das
Shell-Skript bin/maple.system.type auf,
welches wiederum uname -a verwendet,
um den Namen des Betriebssystems herauszufinden.
Abhängig vom Betriebssystem weiß das System nun,
welche Binärdateien verwendet werden sollen.Starten Sie den Lizenz-Server.Das folgende, als
/usr/local/etc/rc.d/lmgrd.sh
installierte Shell-Skript ist ein komfortabler Weg,
um lmgrd zu starten: ----- snip ------------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Versuchen Sie, &maple;
zu starten:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleNun sollte das Programm laufen und alles funktionieren.
Falls ja, vergessen Sie nicht, an Maplesoft zu schreiben
und sie wissen zu lassen, dass Sie gerne eine native
FreeBSD-Version hätten.Häufige FehlerquellenDer
FLEXlm-Lizenzmanager kann schwierig
zu bedienen sein. Zusätzliche Dokumentation
zu diesem Thema finden Sie unter .Es ist bekannt, dass lmgrd
sehr pingelig ist, wenn es um die Lizenzdatei geht. Gibt
es Probleme, führt dies zu einem Speicherauszug
(core dump). Ein
korrekte Lizenzdatei sollte ähnlich der
folgenden aussehen:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXSeriennummer und Schlüssel wurden durch mehrere
X unkenntlich gemacht. chillig ist ein
Rechnername.Veränderungen an der Lizenzdatei sind möglich,
solange Sie die FEATURE-Zeile nicht
verändern (diese ist durch den Lizenzschlüssel
geschützt).DanPellegBeigesteuert von &matlab; installierenLinux-AnwendungenMATLABIm Folgenden wird die Installation der Linux-Anwendung
&matlab; Version 6.5 auf
&os; beschrieben. Mit Ausnahme der
&java.virtual.machine; (siehe
) läuft die Anwendung
auch ganz gut.Die Linux-Version von &matlab;
können Sie direkt bei The MathWorks bestellen.
Vergewissern Sie sich, dass Sie die Lizenz-Datei
oder eine Anleitung zum Erstellen der Lizenz-Datei erhalten
haben. Wenn Sie mit MathWorks in Kontakt stehen, weisen
Sie bitte auf die fehlende &os;-Version der Software hin.Das &matlab;-InstallationsskriptUm &matlab; zu installieren,
gehen Sie wie folgt vor:Hängen Sie die Installations-CD ein und
wechseln Sie zu root, wie im
Installations-Skript gefordert. Starten Sie die
Installation mit dem folgenden Kommando:&prompt.root; /compat/linux/bin/sh /cdrom/installDie Installation erfordert eine graphische
Benutzeroberfläche. Wenn Sie die Fehlermeldung
erhalten, dass das Display nicht geöffnet werden
konnte, führen Sie das folgende Kommando aus:&prompt.root; setenv HOME ~USERFür USER setzen Sie
den Benutzer ein, von dem aus Sie root
geworden sind.Beantworten Sie die Frage nach dem
&matlab;-Root-Verzeichnis mit:
/compat/linux/usr/local/matlab.Den langen Pfad werden Sie noch öfter brauchen.
Die Tipparbeit können Sie sich mit dem folgenden
Befehl erleichtern:&prompt.root; set MATLAB=/compat/linux/usr/local/matlabEditieren Sie die Lizenz-Datei entsprechend der
Anweisung, die Sie beim Erwerb der Lizenz
erhalten haben.Sie können die Datei schon vorher mit Ihrem
Lieblingseditor bearbeiten. Kopieren Sie die Lizenz-Datei
nach $MATLAB/license.dat
bevor das Installationsprogramm Sie auffordert, die
Datei zu editieren.Schließen Sie die Installation ab.Die &matlab;-Installation
ist jetzt abgeschlossen. Die folgenden Schritte passen
&matlab; an &os; an.Den Lizenzmanager startenErstellen Sie symbolische Links zu den Startskripten
des Lizenzmanagers:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWErstellen Sie das Startskript
/usr/local/etc/rc.d/flexlm.sh. Das
folgende Beispiel ist eine geänderte Version des
mitgelieferten Skripts
$MATLAB/etc/rc.lm.glnx86.
Angepasst wurden die Pfade zu den Dateien und der
Start des Lizenzmanagers unter der Linux-Emulation.#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0Machen Sie Datei ausführbar:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shErsetzen Sie im Skript username
durch einen existierenden Benutzer Ihres Systems
(bitte keinesfalls root).Starten Sie den Lizenzmanager:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startEinrichten der &java;-LaufzeitumgebungErstellen Sie einen symbolischen Link auf eine
unter &os; laufende &java;-Laufzeitumgebung (JRE):&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreEin &matlab;-Startskript erstellenKopieren Sie das folgende Skript nach
/usr/local/bin/matlab:#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Machen Sie das Skript ausführbar:&prompt.root; chmod +x /usr/local/bin/matlabAbhängig von der Version des Ports
emulators/linux_base
kann das Skript auf Fehler laufen. Die Fehler können
Sie vermeiden, indem Sie die Datei
/compat/linux/usr/local/matlab/bin/matlab
editieren. Ändern Sie die nachstehende Zeileif [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(mit Version 13.0.1 in der Zeile 410) in
die folgende um:if test -L $newbase; thenStopp-Skript für &matlab; erstellenDas nachstehende Skript beendet &matlab;
ordnungsgemäß.Erstellen Sie die Datei
$MATLAB/toolbox/local/finish.m mit
dem nachstehenden Inhalt:! $MATLAB/bin/finish.shÜbernehmen Sie die Zeichenkette
$MATLAB unverändert.Im selben Verzeichnis befinden sich die
Dateien finishsav.m und
finishdlg.m. Die Dateien
sichern die Einstellungen der Arbeitsfläche
bevor &matlab; beendet wird. Wenn Sie eine
der beiden Dateien benutzen, fügen Sie
die obige Zeile unmittelbar nach dem
save-Kommando ein.Erstellen Sie die Datei
$MATLAB/bin/finish.sh mit
nachstehendem Inhalt:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0Machen Sie die Datei ausführbar:&prompt.root; chmod +x $MATLAB/bin/finish.sh&matlab; benutzenJetzt können Sie &matlab;
mit dem matlab starten.MarcelMoolenaarBeigetragen von &oracle; installierenLinux-AnwendungenOracleÜbersichtDieses Dokument beschreibt die Installation von
&oracle; 8.0.5
und &oracle; 8.0.5.1 Enterprise Edition
für Linux auf einem FreeBSD-Rechner.Installation der Linux-UmgebungStellen Sie sicher, dass Sie sowohl
emulators/linux_base und
devel/linux_devtools
aus der Ports-Sammlung installiert haben. Wenn Sie mit
diesen Ports Schwierigkeiten haben, müssen Sie
vielleicht ältere Versionen der Linux-Umgebung aus
der Ports-Sammlung installieren.Wenn Sie den Intelligent-Agent verwenden wollen,
müssen Sie zusätzlich das RedHat Tcl-Paket
installieren: tcl-8.0.3-20.i386.rpm.
Zur Installation von RPM-Paketen wir der Port
archivers/rpm benötigt.
Ist der Port installiert, lassen sich RPM-Pakete
anschließend mit dem nachstehenden Befehl
installieren:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm packageDie Installation der RPM-Pakete sollte ohne
Fehlermeldung ablaufen.Die &oracle;-Umgebung erzeugenBevor Sie &oracle; installieren
können, müssen Sie eine entsprechende Umgebung erzeugen.
Dieses Dokument beschreibt nur, was Sie
im Speziellen tun müssen, um die
Linux-Version von &oracle; unter FreeBSD
zu installieren, nicht aber, was bereits in der Installationsanleitung
von &oracle; beschrieben wird.Kernel-TuningKernel TuningWie in der Installationsanleitung von
&oracle; beschrieben,
müssen Sie die maximale Shared-Memory Größe
festlegen. Verwenden Sie
SHMMAX nicht unter FreeBSD.
SHMMAX wird lediglich aus
SHMMAXPGS und PGSIZE
berechnet. Definieren Sie stattdessen
SHMMAXPGS. Alle anderen Optionen
können wie in der Anleitung beschrieben verwendet werden.
Zum Beispiel:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Passen Sie diese Optionen entsprechend dem von Ihnen
gewünschten Einsatzzweck von
&oracle; an.Stellen Sie außerdem sicher, dass Sie folgende
Optionen in Ihren Kernel kompilieren:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication&oracle;-Benutzer anlegenLegen Sie den Account oracle an.
Der Account unterschiedet sich von normalen Accounts
dadurch, dass er eine Linux-Shell zugeordnet bekommen muss.
Fügen Sie /compat/linux/bin/bash in die
Datei /etc/shells ein und setzen Sie die
Shell für den oracle-Account auf
/compat/linux/bin/bash.UmgebungNeben den normalen
&oracle;-Variablen, wie z.B.
ORACLE_HOME und ORACLE_SID
müssen Sie die folgenden Variablen setzen:VariableWertLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binEs ist empfehlenswert, alle Variablen in der Datei
.profile zu setzen. Ein komplettes
Beispiel sieht folgendermaßen aus:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH&oracle; installierenAuf Grund einer kleinen Unregelmäßigkeit
im Linux-Emulator müssen Sie das Verzeichnis
.oracle unter /var/tmp
erzeugen, bevor Sie das Installationsprogramm starten.
Das Verzeichnis muss dem Account oracle
gehören. Sie sollten &oracle; nun
ohne Probleme installieren können. Treten dennoch Probleme
auf, überprüfen Sie zuerst Ihre
&oracle;-Distribution und Ihre
Konfiguration. Nachdem Sie &oracle;
erfolgreich installiert haben, installieren Sie die Patches
wie in den zwei folgenden Abschnitten beschrieben:Ein häufiges Problem ist, dass der
TCP Protokoll-Adapter nicht korrekt installiert wird.
Daraus folgt, dass Sie keine TCP-Listener starten können.
Dieses Problem kann durch folgende Schritte behoben werden:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installVergessen Sie nicht, root.sh
nochmals auszuführen!root.sh patchenWährend der
&oracle;-Installation werden einige
Aktionen, die als root
ausgeführt werden müssen, in ein Shell-Skript
mit dem Namen root.sh gespeichert.
Dieses Skript befindet sich im Verzeichnis
orainst. Verwenden Sie folgenden
Patch für root.sh, damit es
das richtige chown Kommando
verwendet, oder lassen Sie das
Skript alternativ unter einer Linux-Shell ablaufen:*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptWenn Sie &oracle; nicht
von CD-ROM installieren, können
Sie Quelldatei für root.sh
verändern. Sie heißt rthd.sh
und befindet sich im orainst-Verzeichnis
des Quellcodebaums.genclntsh patchenDas Skript genclntsh wird verwendet,
um eine Shared-Library für Clients zu erzeugen.
Diese wird bei der Erzeugung der Demos verwendet. Verwenden
Sie folgenden Patch, um die Definition von PATH
auszukommentieren:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst&oracle; startenWenn Sie den Anweisungen gefolgt sind, sollten Sie nun
in der Lage sein, &oracle; zu starten,
genau so, wie Sie dies auch unter Linux tun würden.HolgerKippBeigetragen von ValentinoVaschettoOriginalversion nach SGML konvertiert durch: &sap.r3; installierenLinux-AnwendungenSAP R/3Installationen von &sap;
unter FreeBSD werden vom &sap; Support-Team
nicht unterstützt – und &sap; bietet Support nur
für zertifizierte Plattformen an! ÜbersichtDieses Dokument beschreibt einen möglichen Weg, um ein
&sap.r3;-System mit
&oracle; Datenbank
für Linux auf einem FreeBSD-Rechner zu installieren,
einschließlich der Installation von FreeBSD und
&oracle;. Zwei verschiedene Konfigurationen
werden beschrieben:&sap.r3; 4.6B (IDES) mit
&oracle; 8.0.5 unter
FreeBSD 4.3-STABLE&sap.r3; 4.6C mit
&oracle; 8.1.7 unter
FreeBSD 4.5-STABLEObwohl dieses Dokument versucht, alle wichtigen Schritte
ausführlich zu beschreiben, besteht nicht die Absicht,
die originalen Installationsanleitungen von
&oracle; und
&sap.r3; zu ersetzen.Benutzen Sie die mit
&sap.r3; Linux Edition
gelieferte Dokumentation für &sap;-
und &oracle;-spezifische Fragen,
sowie die Ressourcen von &oracle; und
&sap;-OSS.Software/ProgrammeFolgende CD-ROMs wurden für die Installation von
&sap; verwendet:&sap.r3; 4.6B, &oracle; 8.0.5BezeichnungNummerBeschreibungKERNEL51009113&sap; Kernel &oracle; / Installation / AIX, Linux,
&solaris;RDBMS51007558&oracle; / RDBMS 8.0.5.X / LinuxEXPORT151010208IDES / DB-Export / Disc 1 of 6EXPORT251010209IDES / DB-Export / Disc 2 of 6EXPORT351010210IDES / DB-Export / Disc 3 of 6EXPORT451010211IDES / DB-Export / Disc 4 of 6EXPORT551010212IDES / DB-Export / Disc 5 of 6EXPORT651010213IDES / DB-Export / Disc 6 of 6Zusätzlich wurde die
&oracle; 8 Server CD-ROM
(Pre-production Version 8.0.5 für Linux, Kernel Version 2.0.33)
verwendet, die allerdings nicht unbedingt nötig ist
und FreeBSD 4.3-STABLE (die Installation wurde kurz
nach dem Erscheinen von 4.3-RELEASE durchgeführt).&sap.r3; 4.6C SR2, &oracle; 8.1.7BezeichnungNummerBeschreibungKERNEL51014004&sap; Kernel &oracle; / &sap; Kernel Version 4.6D / DEC,
LinuxRDBMS51012930&oracle; 8.1.7/ RDBMS / LinuxEXPORT151013953Release 4.6C SR2 / Export / Disc 1 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 2 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 3 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 4 of 4LANG151013954Release 4.6C SR2 / Language / DE, EN, FR /
Disc 1 of 3Abhängig von den zu installierenden Sprachen kann
es sein, dass zusätzliche Sprach-CDs nötig sind.
Da hier nur Deutsch und Englisch verwendet wurden, ist die
erste Sprachen-CD ausreichend. Nebenbei bemerkt sind
die Nummern aller vier Export-CDs identisch. Das heißt alle
drei Sprachen-CDs haben diesselbe Nummer (das unterscheidet
sie von der Nummerierung der 4.6B IDES-Version).
Zum Zeitpunkt der Erstellung dieses Dokuments lief das
System unter FreeBSD 4.5-STABLE (20.03.2002).&sap;-NotesDie folgenden Anmerkungen sollten vor der Installation
von &sap.r3; gelesen werden, da sie
sich während der Installation als nützlich
erwiesen haben.&sap.r3; 4.6B, &oracle; 8.0.5NummerBezeichnung0171356&sap; Software on Linux: Essential Comments0201147INST: 4.6C R/3 Inst. on UNIX - &oracle;0373203Update / Migration &oracle; 8.0.5 --> 8.0.6/8.1.6
LINUX0072984Release of Digital UNIX 4.0B for &oracle;0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed correctly0162266Questions and tips for R3SETUP on
Windows NT/W2K&sap.r3; 4.6C, &oracle; 8.1.7NummerBezeichnung0015023Initializing table TCPDB (RSXP0004) (EBCDIC)0045619R/3 with several languages or typefaces0171356&sap; Software on Linux: Essential Comments0195603RedHat 6.1 Enterprise version: Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX - &oracle;0387078&sap; Software on UNIX: OS Dependencies 4.6C SR2Hardware-AnforderungenDie folgende Ausstattung reicht für die Installation eines
&sap.r3; Systems aus. Für
Produktionszwecke benötigt man natürlich eine
exakte Bestimmung dieser Größen:Komponente4.6B4.6CProzessor2 x 800MHz &pentium; III2 x 800MHz &pentium; IIIHauptspeicher1GB ECC2GB ECCFestplattenplatz50-60GB (IDES)50-60GB (IDES)Für Produktionszwecke sind &xeon; Prozessoren mit
großem Cache, Hochgeschwindigkeitsspeicher (SCSI,
RAID Hardware Controller), USV (unterbrechungsfreie
Stromversorgung) und ECC-RAM empfehlenswert. Der große
Bedarf an Festplattenplatz ergibt sich durch das vorkonfigurierte
IDES System, welches während der Installation
27 GB Datenbankdateien erzeugt. Dieser Speicher ist
auch für neue Produktionssysteme und Anwendungsdaten
ausreichend.&sap.r3; 4.6B, &oracle; 8.0.5Folgende Standard-Hardware wurde verwendet: Ein
Doppelprozessorboard mit zwei 800 MHz &pentium; III
Prozessoren, Adaptec 29160 Ultra160 SCSI Adaptern
(zum Anschluß eines 40/80 GB DLT Bandlaufwerks und eines
CD-ROM-Laufwerks), &mylex; &acceleraid; (2 Kanäle,
Firmware 6.00-1-00 mit 32 MB RAM). An den
&mylex; RAID-Controller wurden 2 (gespiegelte) 17 GB
Festplatten sowie vier 36 GB Festplatten (RAID level 5)
angeschlossen.&sap.r3; 4.6C, &oracle; 8.1.7Für diese Installation wurde ein DELL PowerEdge 2500
verwendet: Ein Doppelprozessorboard mit zwei
1000 MHz &pentium; III Prozessoren
(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI
RAID-Controller mit 128 MB, und einem EIDE DVD-ROM Laufwerk.
An den RAID-Controller sind zwei (gespiegelte) 18 GB Festplatten
sowie vier 36 GB Festplatten (RAID level 5) angeschlossen.Installation von FreeBSDAls erstes müssen Sie FreeBSD installieren.
Dazu gibt es mehrere Möglichkeiten, die in
des Handbuchs
beschrieben werden.Aufteilung der FestplatteUm das Ganze zu vereinfachen, wurde sowohl für die
&sap.r3; 46B- als auch die
&sap.r3; 46C SR2-Installation die
gleiche Platteneinteilung verwendet. Nur die Gerätenamen
änderten sich, da die Installationen auf verschiedenen
Hardwareplattformen durchgeführt wurden (Insbesondere
/dev/da sowie
/dev/amr; wenn also jemand z.B.
ein AMI &megaraid; verwendet, so wird er
/dev/amr0s1a anstelle von
/dev/da0s1a vorfinden.):Dateisystem
- Größe (1k-blocks)
- HDD-Größe (GB)
+ Größe der PartitionGemountet nach/dev/da0s1a
- 1.016.303
- 1
+ 1 GB//dev/da0s1b
-
- 6
+ 6 GBSwap/dev/da0s1e
- 2.032.623
- 2
+ 2 GB/var/dev/da0s1f
- 8.205.339
- 8
+ 8 GB/usr/dev/da1s1e
- 45.734.361
- 45
+ 45 GB/compat/linux/oracle/dev/da1s1f
- 2.032.623
- 2
+ 2 GB/compat/linux/sapmnt/dev/da1s1g
- 2.032.623
- 2
+ 2 GB/compat/linux/usr/sapKonfigurieren und initialisieren Sie die zwei
logischen Platten mit der &mylex;- oder PERC/3 RAID Software,
bevor Sie beginnen. Diese kann während der BIOS-Bootphase
gestartet werden.Beachten Sie bitte, dass sich diese Platteneinteilung
etwas von den &sap;-Empfehlungen unterscheidet, da &sap;
vorschlägt, die &oracle;-Unterverzeichnisse
(und einige andere) separat einzuhängen – es
ist jedoch einfacher, diese als reale Unterverzeichnisse
zu erzeugen.make world und ein neuer KernelLaden Sie die neuesten STABLE-Quellen herunter.
Aktualisieren Sie das System und erzeugen Sie einen
neuen Kernel, nachdem Sie die Kernelkonfigurationsdatei
angepasst haben. Zusätzlich sollten Sie
die Kernel Parameter
einfügen, die sowohl von &sap.r3;
als auch von &oracle;
benötigt werden.Installation der Linux-UmgebungDas Linux-Basissystem installierenZuerst muss der Port
linux_base
als root installiert werden:&prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanDie Linux-Entwicklungsumgebung installierenDie Linux-Entwicklungsumgebung wird benötigt, wenn Sie
&oracle; auf Ihrem FreeBSD-System
installieren wollen (siehe ):&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanDie Linux-Entwicklungsumgebung wurde hier jedoch nur für
die &sap.r3; 46B IDES-Installation
verwendet. Sie wird nicht benötigt, wenn die
&oracle;-Datenbank auf dem FreeBSD
System nicht neu gebunden wird. Dies ist dann der Fall,
wenn Sie den &oracle;
Tarball eines Linux-Systems verwenden.Notwendige RPMs installierenRPMsUm das R3SETUP-Programm
zu starten, wird PAM-Unterstützung benötigt.
Während der ersten Installation von
&sap; unter
FreeBSD 4.3-STABLE wurde versucht, zuerst alle von PAM
benötigten Pakete zu installieren. Anschließend
wurde die Installation von PAM erzwungen, was auch ohne
Probleme funktionierte. Für die folgende Installation
von &sap.r3; 4.6C SR2
wurde die Installation von PAM ohne die abhängigen
Pakete direkt erzwungen und es funktionierte ebenfalls.
Es sieht so aus, als würden die abhängigen Pakete
nicht benötigt.&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmUm den Intelligent-Agent von
&oracle; 8.0.5 auszuführen,
musste das RedHat Tcl-Paket
tcl-8.0.5-30.i386.rpm installiert werden,
da sonst das Binden (link)
während der &oracle;-Installation
nicht funktionierte. Es gibt noch weitere Punkte beim
Binden von &oracle;, die aber die Kombination
&oracle;-Linux
betreffen und nicht FreeBSD spezifisch sind.Zusätzliche HinweiseEine gute Idee ist es, linprocfs
in /etc/fstab einzufügen;
weitere Informationen dazu erhalten Sie in der Hilfeseite
&man.linprocfs.5;. Weiterhin sollten Sie in
der Datei /etc/sysctl.conf
die Zeile kern.fallback_elf_brand=3
einfügen.Die &sap.r3;-Umgebung erzeugenDie nötigen Dateisysteme erzeugenFür eine einfache Installation reicht es aus,
folgende Dateisysteme zu erzeugen:DateisystemeGröße in GB/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBAußerdem müssen einige Links angelegt werden.
Ansonsten beschwert sich der
&sap;-Installer, wenn er die
erzeugten Links überprüft:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapEine Fehlermeldung während der Installation (hier unter dem
PRD-System und
&sap.r3; 4.6C SR2 könnte
beispielsweise so aussehen:INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'Benutzer und Verzeichnisse anlegen&sap.r3; benötigt zwei
Benutzer und drei Benutzergruppen. Die Benutzernamen
hängen von der (aus drei Buchstaben bestehenden)
SAP-System-ID (SID) ab. Einige
dieser SIDs sind von &sap;
reserviert (z.B. SAP und
NIX. Für eine komplette
Übersicht schlagen Sie bitte in der
&sap;-Dokumentation
nach. Für die IDES-Installation wurde IDS
verwendet, für die 4.6C-SR2-Installation
PRD, da das System für
Produktionszwecke eingesetzt werden sollte. Daraus ergaben
sich folgende Gruppen (die Gruppen-IDs können variieren,
es handelt sich nur um Werte, die für diese spezielle
Installation verwendet wurden):Gruppen-IDGruppen-NameBeschreibung100dbaDatenbank-Administrator101sapsysSAP System102operDatenbank-OperatorBei einer
Standard-&oracle;-Installation
wird nur die Gruppe dba verwendet.
Für die Gruppe oper wird
ebenfalls die Gruppe dba verwendet
(weitere Informationen finden sich in der
&oracle;- und
&sap;-Dokumentation).Zusätzlich werden auch folgende Benutzer
benötigt:Benutzer-IDBenutzernameGenerischer NameGruppeZusätzliche GruppenBeschreibung1000idsadm/prdadmsidadmsapsysoperSAP Administrator1002oraids/oraprdorasiddbaoper&oracle; AdministratorFür das Anlegen des &sap;-Administrators mittels
&man.adduser.8; werden folgende Einträge
(beachten Sie bitte die Shell und das Heimatverzeichnis)
benötigt:Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)und für den Datenbank-Administrator:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)Wenn Sie beide Gruppen (dba und
oper) verwenden, sollte auch die Gruppe
oper hinzugefügt werden.Verzeichnisse erzeugenDiese Verzeichnisse werden gewöhnlich als eigene
Dateisysteme erzeugt und gemountet. Letztlich liegt dies
aber an Ihren Anforderungen an das System. Hier wurden
sie als einfache Verzeichnisse angelegt, die sich alle im
gleichen RAID5 befinden:Zuerst werden die Eigentümer und Rechte für
einige Verzeichnisse (als Benutzer root)
gesetzt:&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapDanach werden (als Benutzer
orasid) einige
Verzeichnisse erzeugt, die alle Unterverzeichnisse von
/oracle/SID sind:&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitFür die &oracle; 8.1.7-Installation
werden ebenfalls zusätzliche Verzeichnisse benötigt:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32Das Verzeichnis client/80x_32
muss genau so genannt werden. Versuchen Sie nicht,
das x durch eine Zahl oder
einen Buchstaben zu ersetzen.Im dritten Schritt werden wiederum Verzeichnisse (als Benutzer
sidadm) erzeugt:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitEinträge in /etc/services&sap.r3; benötigt
einige Einträge in /etc/services,
die während der Installation unter FreeBSD nicht
richtig gesetzt werden. Sie benötigen mindestens
die zur Instanzennummer, in diesem Fall 00,
passenden Einträge. Es ist auch möglich,
direkt alle Einträge für
dp, gw,
sp und ms
von 00 bis 99
einzufügen. Wenn Sie einen
SAP-Router verwenden, oder
den Zugang zu &sap;-OSS benötigen,
müssen Sie auch 99 einfügen,
da der Port 3299 normalerweise für den
SAP-Router-Prozess auf
dem Zielsystem benötigt wird:sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-NumberNotwendige LokalisierungenLocale&sap; benötigt
mindestens zwei Lokalisierungen, die nicht Teil der
RedHat-Standardinstallation sind. &sap; bietet
diese als RPMs auf ihrem FTP-Server als Downloads
an (diese sind aber nur dann zugänglich, wenn Sie
ein Kunde mit OSS-Zugang sind). Für eine
Übersicht der notwendigen RPMs lesen Sie bitte den
&sap;-Hinweis 0171356.Es ist auch möglich, nur die passenden Links
(z.B. von de_DE und en_US)
zu erzeugen, diese Vorgehensweise wird aber nicht nicht
empfohlen (obwohl es bisher beim IDES-System ohne Probleme
funktioniert hat). Folgende Lokalisationen werden
benötigt:de_DE.ISO-8859-1
en_US.ISO-8859-1Erzeugen Sie die Links wie folgt:&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1Sind diese nicht vorhanden, wird es während
der Installation zu einigen Problemen kommen. Wenn diese
konsequent ignoriert werden (indem der fehlgeschlagene
Schritt in CENTRDB.R3S auf
OK gesetzt wird), ist es ohne
größeren Aufwand nicht mehr möglich, sich am
&sap;-System anzumelden.Kernel-TuningKernel Tuning&sap.r3;-Systeme verbrauchen
sehr viele Ressourcen. Deshalb wurden folgende Parameter
in die Kernelkonfigurationsdatei eingefügt:# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore indentifiers
options SEMUME=100 #number of UNDO keysDie minimalen Werte sind in der von &sap; kommenden
Dokumentation festgelegt. Da es keine Beschreibung für
Linux (und daher auch nicht für FreeBSD) gibt,
entnehmen Sie weitere Informationen dem HP-UX-Abschnitt (32-Bit).
Da das System für die 4.6C SR2-Installation über
mehr Hauptspeicher verfügte, können die
Shared-Segments für &sap; und
&oracle; größer sein.
Wählen Sie daher eine größere Anzahl von
Shared-Memory-Pages.Bei einer &os;-Standardinstallation
auf &i386;-Systemen belassen Sie
MAXDSIZ und DFLDSIZ
auf dem Maximum von 1 GB. Ansonsten könnten
seltsame Fehlermeldungen, wie
ORA-27102: out of memory oder
Linux Error: 12: Cannot allocate memory
auftreten.&sap.r3; installierenDie &sap; CD-ROMs vorbereitenFür eine Installation werden viele CD-ROMs benötigt,
die gemountet und ungemountet werden müssen. Wenn
Sie genügend CD-ROM-Laufwerke haben, können Sie
alle gleichzeitig gemountet werden. Ansonsten kopiert man die
CD-ROM-Inhalte einfach in die entsprechenden Verzeichnisse,/oracle/SID/sapreorg/cd-namewobei cd-nameKERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 und
EXPORT6 bei einer 4.6B/IDES-Installation und
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 und
LANG bei einer 4.6C SR2-Installation
entspricht. Die Dateinamen auf den gemounteten CDs sollten
aus Großbuchstaben bestehen. Ist dies nicht der Fall,
verwenden Sie zum Mounten die Option . Für das
Kopieren der CD-Inhalte verwenden Sie folgenden Befehle:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name
&prompt.root; umount /mntDas Installations-Skript ausführenAls erstes müssen Sie ein Installationsverzeichnis
anlegen:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installAnschließend wird das Installations-Skript gestartet,
das nahezu alle relevanten Daten in das Installationsverzeichnis
kopiert:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHDie IDES-Installation (4.6B) wird mit einem vollständig
angepassten &sap.r3; Demo-System geliefert, das heißt
es gibt sechs statt drei Export-CDs. Da
CENTRDB.R3S
für eine Standard-Zentralinstanz
(&r3; plus Datenbank)
ausgelegt ist, aber nicht für eine IDES-Zentralinstanz,
muss die passende CENTRDB.R3S-Datei
manuell aus dem Verzeichnis
EXPORT1 in das
Installationsverzeichnis kopiert werden, da
R3SETUP ansonsten nur nach drei
EXPORT-CDs verlangt.Die aktuellere Version &sap; 4.6C SR2
wird mit vier EXPORT-CDs geliefert. Die die Installation
überwachende Parameter-Datei heißt hier
CENTRAL.R3S. Im Gegensatz zu früheren
Versionen gibt es nun keine separaten Vorlagen für
die Installation von Zentralinstanzen mit und ohne Datenbank mehr.
&sap; verwendet eine
eigene Vorlage für die
Datenbankinstallation. Um die Installation später
erneut starten, ist es jedoch ausreichend,
die Installation mit der ursprünglichen Datei zu starten.Während und nach der Installation benötigt
&sap;hostname,
um den Rechnernamen, aber nicht den vollständigen
Domain-Namen zu erhalten. Setzen Sie also entweder den
Rechnernamen entsprechend, oder setzen Sie einen Alias mit
alias hostname='hostname -s'
für die Benutzer
orasid und
sidadm
(Und zusätzlich für root.
Dies zumindest für die Installationsschritte, die als
root ausgeführt werden müssen.).
Außerdem ist es möglich, nur die während
der &sap;-Installation erstellten
Dateien .profile und
.login beider Benutzer anzupassen.R3SETUP 4.6B startenStellen Sie sicher, dass LD_LIBRARY_PATH korrekt
gesetzt wurde:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libGehen Sie in das Installationsverzeichnis und starten Sie
R3SETUP als root:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SDas Skript stellt anschließend einige Fragen
(Vorgaben stehen dabei in Klammern, gefolgt von den
aktuellen Eingaben):FrageVorgabeEingabeEnter SAP System ID[C11]IDSEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[troubadix.domain.de]EnterEnter name of SAP db host[troubadix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (1) Oracle 8.0.5,
(2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EnterEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EnterEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EnterEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EnterEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EnterEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EnterEnter amount of RAM for SAP + DB850Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[101]EnterEnter Group-ID of oper[102]EnterEnter Group-ID of dba[100]EnterEnter User-ID of sidadm[1000]EnterEnter User-ID of orasid[1002]EnterNumber of parallel procs[2]EnterWenn Sie die CD-Inhalte nicht in verschiedene
Verzeichnisse kopiert haben, findet das
&sap;-Installationsprogramm
die benötigten CDs nicht (diese sind durch die Datei
LABEL.ASC gekennzeichnet) und
würde von Ihnen verlangen, entweder die CD einzulegen
und zu mounten oder den entsprechenden mount-Pfad
einzugeben.CENTRDB.R3S ist möglicherweise
nicht fehlerfrei. Im vorliegenden Fall wurde die CD EXPORT4
zwar erneut verlangt, dennoch wurde der richtige Schlüssel
(6_LOCATION, danach 7_LOCATION) vorgeschlagen.
Daher ist es problemlos möglich, durch Eingabe der
korrekten Werte fortzufahren.Abgesehen von einigen kleineren (unten angeführten)
Problemen, sollte nun bis zur Installation der
&oracle;-Datenbank alles ohne Probleme
ablaufen.R3SETUP 4.6C SR2 startenStellen Sie sicher, dass LD_LIBRARY_PATH
korrekt gesetzt ist. Dieser Wert unterscheidet sich von dem der
4.6B-&oracle; 8.0.5-Installation:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libGehen Sie in das Installationsverzeichnis und führen
Sie R3SETUP als
root aus:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SDas Skript stellt anschließend einige Fragen
(Vorgaben in Klammern, gefolgt von den aktuellen Eingaben):FrageVorgabeEingabeEnter SAP System ID[C11]PRDEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[majestix]EnterEnter Database System ID[PRD]PRDEnterEnter name of SAP db host[majestix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (2) Oracle 8.1.72EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[100]EnterEnter Group-ID of oper[101]EnterEnter Group-ID of dba[102]EnterEnter User-ID of oraprd[1002]EnterEnter User-ID of prdadm[1000]EnterLDAP support3Enter (no support)Installation step completed[1] (continue)EnterChoose installation service[1] (DB inst,file)EnterBisher verursacht das Anlegen von Benutzern eine
Fehlermeldung während der Installation, und zwar
in den Stadien OSUSERDBSID_IND_ORA (beim Anlegen
des Benutzers orasid),
sowie in OSUSERSIDADM_IND_ORA (beim Anlegen des Benutzers
sidadm).Abgesehen von einigen kleineren (unten angeführten)
Problemen, sollte nun bis zur Installation der
&oracle;-Datenbank alles ohne
Probleme ablaufen.&oracle; 8.0.5 installierenLesen Sie bitte die entsprechenden
&sap;-Hinweise und
&oracle;-Readmes für Probleme,
die Linux
und die &oracle;-Datenbank betreffen.
Die meisten (wenn nicht alle) Probleme
werden durch inkompatible Bibliotheken verursacht.Weiteres zur
&oracle;-Installation
finden Sie im Kapitel Installation
von &oracle;.&oracle; 8.0.5 mit orainst installierenWenn &oracle; 8.0.5 verwendet
wird, werden einige zusätzliche Bibliotheken benötigt,
da &oracle; 8.0.5 mit einer
alten Version von glibc verlinkt wurde, RedHat 6.1 aber
bereits eine aktuellere Version verwendet. Daher müssen
Sie folgende zusätzliche Pakte installieren, um sicherzustellen,
dass die Verlinkung ordnungsgemäß erfolgt:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmLesen Sie bitte die entsprechenden &sap;-Hinweise
und die &oracle;-Readmes.
Ist dies nicht möglich (z.B. aus Zeitmangel, oder bei
Nichtvorhandensein dieser Unterlagen), besteht auch die
Möglichkeit, die originalen Binärdateien oder die
verlinkten Binärdateien eines RedHat-Systems zu
verwenden.Um den Intelligent-Agent zu kompilieren, muss
das RedHat Tcl-Paket installiert sein. Wenn Sie
tcl-8.0.3-20.i386.rpm nicht bekommen
können, sollte es auch problemlos möglich sein,
eine neuere Version, z.B.
tcl-8.0.5-30.i386.rpm für
RedHat 6.1, zu verwenden.Vom Binden abgesehen, läuft die Installation
wie folgt ab:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd $ORACLE_HOME/orainst_sap
&prompt.root; ./orainstBestätigen Sie alle Meldungen mit Enter,
bis die Software installiert ist. Einzige Ausnahme ist die
Frage nach der Installation des &oracle; On-Line
Text Viewers. Dieser ist unter Linux (noch)
nicht verfügbar. Daher muss diese Option deaktiviert werden.
Anschließend will sich &oracle;
unter Verwendung von i386-glibc20-linux-gcc
anstelle der verfügbaren gcc,
egcs oder
i386-redhat-linux-gcc verlinken.Auf Grund zeitlicher Einschränkungen wurden
für die Installation die Binärdateien der
&oracle; 8.0.5 PreProduction-Version
verwendet, nachdem sich der erste Versuch, die Version
von der RDBMS-CD zum Laufen zu bringen, sowie die
richtigen RPMs zu finden und zu installieren,
zum Alptraum entwickelt hatte.&oracle; 8.0.5 Pre-Production für
Linux (Kernel 2.0.33) installierenDiese Installation ist relativ einfach. Mounten Sie die
CD und starten Sie den Installer. Danach wählen Sie
das &oracle;-Heimatverzeichnis und kopieren Sie die
Binärdateien dorthin. Die Überreste der
vorherigen RDBMS-Installationsversuche werden dabei nicht
entfernt.Danach konnte die
&oracle;-Datenbank
ohne Probleme gestartet werden.Das &oracle; 8.1.7-Linux-Archiv entpackenNehmen Sie das aus dem Installationsverzeichnis eines
Linux-Systems erstellte Archiv oracle81732.tgz
und entpacken Sie es nach
/oracle/SID/817_32/.Mit der &sap.r3;-Installation fortfahrenÜberprüfen Sie als Erstes die
Umgebungseinstellungen der Benutzer
idsamd(sidadm) und
oraids (orasid).
Beide sollten nun die Dateien .profile,
.login und .cshrc
enthalten, die alle hostname benutzen.
Falls der Rechnername Ihres Systems der vollständige Rechnername
ist, müssen Sie in allen drei Dateien
hostname in hostname -s
ändern.Datenbanken ladenDanach kann R3SETUP entweder erneut
gestartet oder fortgesetzt werden (je nachdem, ob Sie das
Programm zuvor beendet hatten oder nicht).
R3SETUP erzeugt nun die Tablespaces und
lädt die Daten (für 46B IDES von EXPORT1 bis
EXPORT6, für 46C von DISK1 bis DISK4) mittels
R3load in die Datenbank.Wenn das Laden der Datenbank abgeschlossen ist
(dieser Vorgang kann einige Stunden dauern!), werden
einige Passwörter angefordert. Für
Testinstallationen können auch
Standard-Passwörter verwendet werden. Liegt
Ihnen allerdings etwas an der Sicherheit Ihres Systems,
so verwenden Sie andere Passwörter.FrageEingabeEnter Password for sapr3sapEnterConfirum Password for sapr3sapEnterEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerEnterConfirm Password for systemmanagerEnterAn diesem Punkt gab es während der 4.6B-Installation
einige Probleme mit dipgntab.ListenerStarten Sie den &oracle;-Listener als Benutzer
orasid
wie folgt:&prompt.user; umask 0; lsnrctl startAnsonsten könnten Sie die Meldung
ORA-12546 erhalten,
da die Sockets nicht über die korrekten Berechtigungen
verfügen werden. Lesen Sie dazu auch den
&sap;-Hinweis 072984.MNLS-Tabellen aktualisierenWenn Sie Nicht-Latin-1-Sprachen in das
&sap;-System
einbauen wollen, müssen Sie die MNLS
(Multi National Language Support)-Tabellen aktualisieren.
Dies wird in den SAP-OSS-Hinweisen 15023 und 45619 beschrieben.
Ansonsten können Sie diese Frage während der
&sap;-Installation
überspringen.Wenn Sie MNLS nicht benötigen, ist es
trotzdem nötig, die Tabelle TCPDB zu überprüfen
und zu initialisieren, falls dies nicht bereits geschehen ist.
Lesen Sie die &sap;-Hinweise 0015023 und 0045619, falls Sie
weitere Informationen benötigen.Abschließende Aufgaben&sap.r3;-Lizenzschlüssel anfordernSie müssen Ihren
&sap.r3;-Lizenzschlüssel anfordern,
da die zur Installation verwendete Lizenz nur für
vier Wochen gültig ist. Dazu ermitteln Sie zuerst Ihren
Hardwareschlüssel. Melden Sie sich als
idsadm an und rufen
Sie saplicense auf:&prompt.root; /sapmnt/IDS/exe/saplicense -getWird saplicense ohne Optionen aufgerufen,
so erhalten Sie eine Übersicht der möglichen Optionen.
Nach Erhalt des Lizenzschlüssels kann dieser
installiert werden:&prompt.root; /sapmnt/IDS/exe/saplicense -installNun müssen Sie folgende Daten eingeben:SAP SYSTEM ID = SID, 3 Zeichen
CUSTOMER KEY = Hardware-Schlüssel, 11 Zeichen
INSTALLATION NO = Installation, 10 Ziffern
EXPIRATION DATE = JJJJMMTT, normalerweise "99991231"
LICENSE KEY = Lizenzschlüssel, 24 ZeichenBenutzer anlegenErzeugen Sie einen Benutzer innerhalb von client 000
(für einige Aufgaben muss dies innerhalb von
client 000 erfolgen, aber nicht als Benutzer
sap* und ddic).
Als Benutzername empfiehlt sich beispielsweise
wartung (oder auf Englisch
service). Benötigte
Profile sind sap_new und
sap_all. Aus Sicherheitsgründen
sollten die Passwörter der Standardbenutzer in allen
Clients geändert werden (dies gilt auch für die Benutzer
sap* und ddic).Transportsystem, Profile, Betriebsarten usw.
konfigurierenInnerhalb von client 000 führen andere Benutzer als
ddic und sap*
normalerweise folgende Aufgaben durch:AufgabeTransaktionKonfiguration des Transportsystems, beispielsweise als
Stand-Alone Transport Domain EntitySTMSErstellen und Editieren von ProfilenRZ10Pflege von Betriebsarten und InstanzenRZ04Diese sowie alle anderen Post-Installationsschritte
sind ausführlich in den &sap;-Installationsanleitungen
beschrieben.initsid.sap (initIDS.sap) anpassenDie Datei /oracle/IDS/dbs/initIDS.sap
enthält das &sap;-Sicherungsprofil. Hier sind die
Größe des verwendeten Band(laufwerks),
die Kompressionsart und so weiter festgelegt. Um dieses
Profil mit sapdba oder brbackup
auszuführen, wurden folgende Werte geändert:compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Erklärungen:compress: Das verwendete Bandlaufwerk
war ein HP DLT1. Dieses unterstützt Hardware-Kompression.archive_function: Hier wird das
Standardverhalten beim Sichern von &oracle;-Archivprotokollen
festgelegt. Neue Protokolldateien werden auf Band
gespeichert, bereits gespeicherte erneut gespeichert und
anschließend gelöscht. Dies verhindert eine Vielzahl
von Problemen, falls Sie Ihre Datenbank wiederherstellen
müssen und dabei feststellen, dass eins Ihrer
Archivbänder defekt ist.cpio_flags: Standardmäßig
wird verwendet. Dies setzt die Blockgröße
auf 5120 Bytes. Für DLT-Bänder
werden von HP mindestens 32 K Blockgröße
empfohlen, daher wurde hier
verwendet, um 64 KB-blöcke zu erzeugen.
wurde benötigt, da das
Installationssystem über mehr als 65535 Inodes
verfügt. Die letzte Option ist notwendig, weil
brbackup sich sonst beschwert, wenn
die cpio die Anzahl der gespeicherten
Blöcke ausgibt.cpio_in_flags: Flags, die zum Laden
der Daten vom Band benötigt werden. Das Format wird
dabei automatisch erkannt.tape_size: Damit wird die maximale
Speicherkapazität des Bandes angegeben. Aus
Sicherheitsgründen (das Bandlaufwerk unterstützt
Hardware-Kompression) ist dieser Wert geringfügig kleiner
als der aktuelle Wert.tape_address: Nicht zurückspulendes
Gerät für cpio.tape_address_rew: Zurückspulendes
Gerät für cpio.Konfiguration nach InstallationsendeDie folgenden &sap;-Parameter sollten nach der
Installation optimiert werden (die Beispiele gelten
für IDES 46B, 1 GB Hauptspeicher):NameWertztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000&sap;-Hinweis 0013026:NameWertztta/dynpro_area2500000&sap;-Hinweis 0157246:NameWertrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000Mit obigen Parametern und einem System mit 1 Gigabyte
Hauptspeicher, könnte der Speicherverbrauch in etwa
so aussehen:Mem: 547M Active, 305M Inactive, 109M Wired, 40M Cache, 112M Buf, 3492K FreeWährend der Installation auftretende ProblemeNeustarten von R3SETUP nach Behebung eines ProblemsR3SETUP bricht ab, wenn ein Fehler auftritt. Wenn Sie
(nach Durchsicht der jeweiligen Protokolldateien) den Fehler
behoben haben, müssen Sie R3SETUP erneut aufrufen,
indem Sie für den fehlerhaften Schritt als Option
REPEAT eingeben.Um R3SETUP erneut zu starten, rufen Sie die Datei
einfach mit der entsprechenden R3S-Datei
auf:&prompt.root; ./R3SETUP -f CENTRDB.R3Sfür 4.6B, oder mit&prompt.root; ./R3SETUP -f CENTRAL.R3Sfür 4.6C, unabhängig davon, ob der Fehler mit
CENTRAL.R3S oder mit
DATABASE.R3S auftrat.Zu bestimmten Zeitpunkten nimmt R3SETUP an, dass
sowohl der Datenbank- als auch die &sap;-Prozesse vorhanden
sind und laufen (da dies Schritte sind, die es bereits
ausgeführt hat). Sollten Fehler auftreten (z.B.
wenn sich die Datenbank nicht starten lässt),
müssen Sie sowohl die Datenbank als auch &sap; manuell
neu starten, nachdem Sie die Fehler behoben haben. Erst danach
darf R3SETUP erneut gestartet werden.Achten Sie auch darauf, den &oracle;-Listener erneut
zu starten (als Benutzer orasid
mittels umask 0; lsnrctl start), wenn
dieser beendet wurde (z.B. durch einen notwendigen
Neustart des Systems).Fehler im Stadium OSUSERSIDADM_IND_ORA bei der Ausführung von R3SETUPWenn sich R3SETUP in diesem Stadium beschwert, editieren
Sie die bei der Installation verwendete Version der
Vorlage (CENTRDB.R3S (4.6B) oder
entweder CENTRAL.R3S oder
DATABASE.R3S (4.6C)). Finden Sie
[OSUSERSIDADM_IND_ORA] oder suchen Sie nach dem einzigen
STATUS=ERROR-Eintrag und ändern
Sie die folgenden Werte:HOME=/home/sidadm (war voher leer)
STATUS=OK (hatte den Status ERROR)
Danach können Sie R3SETUP erneut aufrufen.Fehler im Stadium OSUSERDBSID_IND_ORA bei der
Ausführung von R3SETUPWahrscheinlich beschwert sich R3SETUP auch in diesem Stadium.
Der hier auftretende Fehler ähnelt dem im Abschnitt
OSUSERSIDADM_IND_ORA. Editieren Sie einfach die bei
der Installation verwendete Version der Vorlage
(das heißt CENTRDB.R3S (4.6B) oder
entweder CENTRAL.R3S oder
DATABASE.R3S (4.6C)). Finden Sie
[OSUSERDBSID_IND_ORA] oder suchen Sie nach dem einzigen
STATUS=ERROR-Eintrag und ändern
Sie folgenden Eintrag:STATUS=OKDanach können Sie R3SETUP erneut aufrufen.Fehler oraview.vrf FILE NOT FOUND bei der
&oracle;-InstallationSie haben die Option
&oracle; On-Line Text Viewer nicht deaktiviert,
bevor Sie die Installation gestartet haben. Per Voreinstellung
ist diese Option aktiviert, obwohl sie unter Linux gar nicht
verfügbar ist. Deaktivieren Sie daher diese Option im
&oracle;-Installationsmenü und starten Sie die Installation
erneut.Fehler TEXTENV_INVALID bei der Ausführung von R3SETUP,
RFC oder beim Start von SAPGUITritt dieser Fehler auf, so fehlt die korrekte Lokalisierung.
&sap;-Hinweis 0171356 führt die notwendigen RPMs auf,
die installiert sein müssen (zum Beispiel
saplocales-1.0-3,
saposcheck-1.0-1 für
RedHat 6.1). Falls Sie alle damit verbundenen Fehler
ignoriert haben, und bei der Ausführung von R3SETUP
den STATUS jeweils von ERROR auf OK (in CENTRDB.R3S)
gesetzt haben, um R3SETUP anschließend neu zu starten,
wurde das &sap;-System nicht ordnungsgemäß
konfiguriert. Das bedeutet, dass Sie nicht via
SAPgui am System anmelden können,
obwohl das System trotzdem gestartet werden kann. Ein Versuch,
sich über die alte Linux-SAPgui
anzumelden, führte zu folgenden Fehlermeldungen:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerDieses Verhalten kommt daher, weil &sap.r3; nun nicht
in der Lage ist, eine korrekte Lokalisierung zuzuweisen, und
sich daher nicht ordnungsgemäß konfigurieren kann
(durch fehlende Einträge in einigen Datenbank-Tabellen).
Um sich in &sap; anmelden zu können, müssen Sie
folgende Einträge zur Datei DEFAULT.PFL
(lesen Sie dazu auch Hinweis 0043288) hinzufügen:abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BStarten Sie nun das &sap;-System neu. Sie sind nun in der Lage,
sich anzumelden, obwohl einige länderspezifische
Spracheinstellungen fehlerhaft sein könnten. Nachdem Sie diese
Ländereinstellungen korrigiert (und die korrekten
Lokalisierungen installiert) haben, können
Sie diese Einträge wieder aus
DEFAULT.PFL löschen und das
&sap;-System anschließend neu starten.ORA-00001Dieser Fehler trat nur bei einer Installation von
&oracle; 8.1.7 unter FreeBSD
auf. Dies geschah deshalb, weil sich die &oracle;-Datenbank nicht
initialisieren konnte und daher abstürzte. Dadurch
verblieben Semaphore und Shared-Memory
im System. Der nächste Startversuch führte dann
zur Meldung ORA-00001.Suchen Sie diese Semaphore mittels ipcs -a
und entfernen Sie sie mit ipcrm.ORA-00445 (Hintergrundprozess PMON wurde nicht gestartet)Dieser Fehler trat bei &oracle; 8.1.7
auf. Die Meldung erscheint, wenn die Datenbank mit dem
normalen startsap-Skript (zum Beispiel
startsap_majestix_00) aber als Benutzer
prdadm gestartet wird.Dies kann vermieden werden, indem die Datenbank als Benutzer
oraprd über svrmgrl
gestartet wird:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitORA-12546 (den Listener mit den richtigen
Berechtigungen starten)Starten Sie den &oracle;-Listener als Benutzer
oraids mit folgendem Befehl:&prompt.root; umask 0; lsnrctl startAnsonsten könnten Sie die Meldung ORA-12546 erhalten,
da die Sockets nun nicht die richtigen Berechtigungen aufweisen.
Lesen Sie dazu auch den &sap;-Hinweis 0072984.ORA-27102 (kein freier Speicher mehr)Dieser Fehler trat auf, wenn versucht wurde, für
MAXDSIZ und DFLDSIZ
Werte über 1 GB (1024x1024x1024) festzulegen.
Zusätzlich führte dies zur Fehlermeldung
Linux Error 12: Cannot allocate memory.Fehler im Stadium [DIPGNTAB_IND_IND] bei der
Ausführung von R3SETUPFür allgemeine Informationen lesen Sie bitte den
&sap;-Hinweis 0130581 # (R3SETUP - Abbruch im Stadium
DIPGNTAB). Bei der IDES-spezifischen
Installation verwendete der Installationsprozess aus
irgendwelchen Gründen nicht den
korrekten &sap;-Systemnamen IDS, sondern den leeren
String "". Dies führte zu einigen kleineren Problemen
beim Zugriff auf bestimmte Verzeichnisse, da die Pfade durch
SID (in diesem Fall IDS) dynamisch
generiert werden. Das heißt anstatt auf/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00zuzugreifen, wurden folgende Pfade verwendet:/usr/sap//SYS/...
/usr/sap/D00Um dennoch mit der Installation fortfahren zu können,
wurden ein Link sowie ein zusätzliches Verzeichnis
erzeugt:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transDieses Verhalten wird auch in den &sap;-Hinweisen 0029227
und 0008401 beschrieben. Bei der Installtion von
&sap; 4.6C trat allerdings keines dieser
Probleme auf.Fehler im Stadium [RFCRSWBOINI_IND_IND] bei der
Ausführung von R3SETUPBei der Installation von &sap; 4.6C
trat dieser Fehler als Folge eines anderen, bereits vorher
aufgetretenen Fehlers auf. Daher müssen Sie sich
die entsprechenden Protokolldateien durchsehen, und danach das
wirkliche (bereits vorher aufgetretene) Problem beheben.Wenn Sie nach dem Durchsehen der Protokolldateien feststellen,
dass dieser Fehler wirklich der eigentliche Fehler ist
(lesen Sie dazu wiederum die &sap;-Hinweise), können
Sie den STATUS des betreffenden Schritts von ERROR auf OK
setzen (und zwar in der Datei CENTRDB.R3S).
Anschließend starten Sie R3SETUP erneut. Nach
der Installation müssen Sie den Report
RSWBOINS der Transaktion
SE38 ausführen. Lesen Sie den &sap;-Hinweis 0162266,
um weitere Informationen zu den Stadien
RFCRSWBOINI und RFCRADDBDIF
zu erhalten.Fehler im Stadium [RFCRADDBDIF_IND_IND] bei der
Ausführung von R3SETUPHier gilt das Gleiche wie für den letzten Fehler.
Stellen Sie durch Überprüfen der Protokolldateien
sicher, dass dieser Fehler nicht durch ein früheres
Problem verursacht wird.Wenn Sie sicher sind, dass &sap;-Hinweis 0162266 auf
Ihr System zutrifft, setzen Sie den STATUS des betreffenden
Stadiums von ERROR auf OK (und zwar in der Datei
CENTRDB.R3S). Anschließend starten
Sie R3SETUP erneut. Nach der Installation müssen Sie den
Report RADDBDIF der Transaktion SE38
ausführen.sigaction sig31: File size limit exceededDieser Fehler trat beim Start des &sap;-Prozesses
disp+work auf. Wird &sap; mit
startsap-Skript gestartet, werden Subprozesse gestartet,
deren Aufgabe es ist, alle anderen &sap;-Prozesse zu starten.
Als Folge davon erkennt startsap dabei auftretende
Fehler nicht.Um zu überprüfen, ob die &sap;-Prozesse korrekt
gestartet wurden, überprüfen Sie den Prozessstatus
mit ps ax | grep SID.
Sie erhalten dadurch eine Liste aller &oracle;- und &sap;-Prozesse.
Wenn einige Prozesse fehlen, oder Sie sich nicht mit dem
&sap;-System verbinden können, überprüfen Sie
wiederum die entsprechenden Protokolldateien, die sich unter
/usr/sap/SID/DVEBMGSnr/work/
befinden. Die zu durchsuchenden Dateien heißen
dev_ms und dev_disp.Wenn &oracle; und &sap; mehr Speicher anfordern als in der
Kernelkonfigurationsdatei festgelegt wurde, wird das
Signal 31 ausgeliefert. Der Fehler
kann behoben werden, indem im Kernel
ein größerer Wert verwendet wird.# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144Der Start von saposcol schlug fehlDas Programm saposcol (Version 4.6D) kann
einige Probleme verursachen. Das
&sap;-System verwendet
saposcol,
um Daten über die Systemleistung zu sammeln.
Für die Benutzung des &sap;-Systems hingegen ist es es
nicht erforderlich. Daher handelt es sich hier auch
nur um ein kleineres Problem. Ältere Versionen
von saposcol (z.B. 4.6B) funktionieren, sammeln
allerdings nicht alle Daten (viele Aufrufe geben,
zum Beispiel die CPU-Nutzung, einfach
0 (Null) zurück.Weiterführende ThemenWenn Sie sich fragen, wie die Linux-Binärkompatibilität
unter FreeBSD realisiert wurde, sollten Sie diesen Abschnitt lesen.
Der Großteil der folgenden Informationen stammt aus einer
E-Mail, die von Terry Lambert (tlambert@primenet.com)
an die FreeBSD-Chat-Mailingliste
(freebsd-chat@FreeBSD.org) geschrieben wurde
(Message ID: <199906020108.SAA07001@usr09.primenet.com>).Wie funktioniert es?execution class loaderFreeBSD verfügt über eine execution class
loader genannte Abstraktion. Dabei handelt es sich um einen
Eingriff in den &man.execve.2; Systemaufruf.FreeBSD verfügt über eine Liste von Ladern, anstelle
eines einzigen, auf #!
zurückgreifenden Laders, um Shell-Interpreter oder Shell-Skripte
auszuführen.Historisch gesehen untersuchte der einzige, auf
UNIX-Plattformen vorhandene Lader die "magische Zahl"
(in der Regel die ersten 4 oder 8 Bytes der Datei), um
festzustellen, ob der Binärtyp dem System bekannt war.
War dies der Fall, wurde der Binärlader aufgerufen.Wenn es sich nicht um den zum System gehörigen Binärtyp
handelte, gab &man.execve.2; einen Fehler zurück,
und die Shell versuchte stattdessen, die Datei als Shell-Befehl
auszuführen.Dabei wurde als Standardeinstellung was auch immer die
aktuelle Shell ist festgelegt.Später wurde ein Hack in &man.sh.1; eingefügt,
der die zwei ersten Zeichen untersuchte. Wenn diese
:\n entsprachen,
wurde stattdessen die &man.csh.1;-Shell aufgerufen
(wir glauben, dass dies zuerst von SCO umgesetzt wurde).FreeBSD versucht heute eine Liste von Ladern, unter denen
sich ein allgemeiner Lader für Interpreter befindet. Der
auszuführende Interpreter wird im ersten, durch
Leerzeichen getrennten Feld, der #!-Zeile
angegeben. Lässt sich der Interpreter nicht ermitteln,
wird auf /bin/sh zurückgegriffen.ELFFür die Linux ABI-Unterstützung erkennt FreeBSD
die magische Zahl als ELF-Binärdatei (Zu diesem Zeitpunkt wird
nicht zwischen FreeBSD, &solaris;, Linux oder anderen Systemen
unterschieden, die über ELF-Binärdateien
verfügen.).SolarisDer ELF-Lader sucht nach einer speziellen
Kennzeichnung, die aus einem Kommentarabschnitt
in der ELF-Datei besteht, und die in SVR4/&solaris; ELF
Binärdateien nicht vorhanden ist.Damit Linux-Binärdateien (unter FreeBSD) funktionieren,
müssen sie als Linuxgekennzeichnet werden, und zwar durch
&man.brandelf.1;:&prompt.root; brandelf -t Linux fileNachdem dies geschehen ist, erkennt der ELF-Lader die
Linux-Kennzeichnung der Datei.ELFbrandelfWenn der ELF-Lader die Linux-Kennzeichnung
sieht, wird ein Zeiger in der proc-Struktur
ersetzt. Alle Systemaufrufe werden durch diesen Zeiger indiziert
(in einem traditionellen &unix; System wäre das ein
sysent[]-Strukturfeld, das die Systemaufrufe
enthält). Der Prozess wird weiterhin speziell gekennzeichnet,
so dass der Trap-vector im Signal-trampoline-code eine spezielle
Behandlung erfährt und das Linux-Kernelmodul verschiedene
kleinere Korrekturen vornehmen kann.Der Linux-Systemaufrufvektor enthält neben anderen
Dingen eine Liste der sysent[]-Einträge,
deren Adressen sich im Kernelmodul befinden.Wenn ein Linux-Programm einen Systemaufruf ausführt,
dereferenziert die Trap-Behandlungsroutine den Zeiger auf die
Eintrittspunkte für die Systemaufrufe und erhält damit die
Linux-Eintrittspunkte und nicht die FreeBSD-Eintrittspunkte.Zusätzlich verändert der
Linuxmodus die Systempfade dynamisch; genauso, wie dies die
Option beim Einbinden von Dateisystemen
macht (Achtung: nicht das Dateisystem unionfs!).
Zuerst wird die Datei im Verzeichnis /compat/linux/Originalpfad
gesucht, danach, wenn sie dort nicht gefunden
wurde, wird sie im FreeBSD-Verzeichnis
/Originalpfad
gesucht. Dadurch wird sichergestellt, dass
Binärdateien, die zur Ausführung andere
Binärdateien benötigen, ausgeführt
werden können (so dass alle Linux-Werkzeuge unter der
ABI laufen). Dies bedeutet auch,
dass Linux-Binärdateien FreeBSD-Binärdateien
laden und ausführen können, wenn keine passenden
Linux-Binärdateien vorhanden sind. Ein in
/compat/linux plaziertes &man.uname.1; kann
damit Linux-Programmen vorgaukeln, dass sie auf einem Linux-System
laufen.Im Endeffekt gibt es einen Linux-Kernel innerhalb des
FreeBSD-Kernels. Die Sprungtabellen für Linux-
beziehungsweise FreeBSD-Systemaufrufe verweisen allerdings auf
dieselben Funktionen, die Kerneldienste wie Dateisystemoperationen,
Operationen für den virtuellen Speicher,
Signalübermittlung und System V IPC bereitstellen,
Der einzige Unterschied ist, dass Binärdateien unter FreeBSD
FreeBSD-glue-Funktionen verwenden.
Linux-Binärdateien hingegen verwenden die
Linux-glue-Funktionen. Die meisten
älteren Betriebssysteme hatten ihre eigenen
glue-Funktionen: Funktionsadressen
in einem globalen, statischen sysent[]
Strukturfeld an Stelle von Funktionsadressen, die durch
einen dynamisch initialisierten Zeiger aus der
proc Struktur, die den Aufruf gemacht hatte,
dereferenziert wurden.Welche ist die echte FreeBSD-ABI? Das spielt keine Rolle.
Grundsätzlich ist der einzige Unterschied (zurzeit
ist das so; dies könnte sich in zukünftigen
Versionen leicht ändern und wird sich wahrscheinlich
auch ändern), dass die
FreeBSD-glue-Funktionen statisch in
den Kernel gelinkt sind, und dass die
Linux-glue-Funktionen statisch gelinkt
oder über ein Modul eingebunden werden können.Ja, aber ist das wirkliche eine Emulation? Nein. Es ist eine
Implementierung eines ABIs, keine Emulation. Es ist kein Emulator
(oder Simulator, um der nächsten Frage zuvorzukommen)
beteiligt.Warum wird es manchmal Linux-Emulation genannt?
Um es schwerer zu machen, FreeBSD zu verkaufen. Wirklich, das kommt
daher, weil dies zu einer Zeit implemtiert wurde,
in der es kein anderes Wort
(als Emulation) gab, das beschrieb, was vor sich ging.
Wenn der Kernel nicht entsprechend konfiguriert wurde oder das
Modul geladen wurde, war es falsch zu behaupten, FreeBSD würde
Linux-Binärprogramme ausführen. Man benötigte
ein Wort, das beschrieb, was da geladen
wurde – daher Der Linux-Emulator.
diff --git a/de_DE.ISO8859-1/share/sgml/mailing-lists.ent b/de_DE.ISO8859-1/share/sgml/mailing-lists.ent
index 8ac36d96a1..35bd12a81a 100644
--- a/de_DE.ISO8859-1/share/sgml/mailing-lists.ent
+++ b/de_DE.ISO8859-1/share/sgml/mailing-lists.ent
@@ -1,645 +1,649 @@
FreeBSD list server">
&a.mailman.listinfo;">
de-bsd-translators@de.FreeBSD.org">
de-bsd-questions@de.FreeBSD.org">
FreeBSD ACPI">
freebsd-acpi">
FreeBSD advocacy">
freebsd-advocacy">
FreeBSD AFS porting">
freebsd-afs">
FreeBSD Adapteci
AIC7xxx discussions">
freebsd-aic7xxx">
FreeBSD Alpha porting">
freebsd-alpha">
Porting
FreeBSD to AMD64 systems">
freebsd-amd64">
FreeBSD
announcements">
freebsd-announce">
FreeBSD Apache">
freebsd-apache">
FreeBSD architecture and
design">
freebsd-arch">
FreeBSD ARM porting">
freebsd-arm">
FreeBSD ATM networking">
freebsd-atm">
FreeBSD source code
audit">
freebsd-audit">
FreeBSD binary update
system">
freebsd-binup">
FreeBSD Bluetooth mailing list">
freebsd-bluetooth">
FreeBSD
bugbusters">
freebsd-bugbusters">
FreeBSD problem reports">
freebsd-bugs">
FreeBSD chat">
freebsd-chat">
FreeBSD clustering">
freebsd-cluster">
FreeBSD committers">
FreeBSD core team">
&os.current;">
freebsd-current">
CTM
announcements">
ctm-announce">
CTM
distribution of CVS files">
ctm-cvs-cur">
CTM 4-STABLE
src branch distribution">
ctm-src-4">
CTM -CURRENT
src branch distribution">
ctm-src-cur">
CTM user
discussion">
ctm-users">
FreeBSD CVS commit
message">
cvs-all">
FreeBSD CVS doc
commit">
cvs-doc">
FreeBSD CVS ports
commit">
cvs-ports">
FreeBSD CVS
projects commit">
cvs-projects">
FreeBSD CVS src
commit">
cvs-src">
FreeBSD CVSweb
maintenance">
freebsd-cvsweb">
FreeBSD based
Databases">
freebsd-database">
FreeBSD developers">
Writing device drivers
for FreeBSD">
freebsd-drivers">
FreeBSD documentation
project">
freebsd-doc">
FreeBSD doc/ Committer">
FreeBSD doc/ developers">
FreeBSD users of Eclipse EDI, tools, rich client apps and ports.">
freebsd-eclipse">
FreeBSD-embedded mailing list">
freebsd-embedded">
FreeBSD-emulation">
freebsd-emulation">
FreeBSD-eol mailing list">
freebsd-eol">
FreeBSD FireWire
(IEEE 1394) discussion">
freebsd-firewire">
FreeBSD filesystem project">
freebsd-fs">
-FreeBSD gecko mailing
+FreeBSD gecko mailing
list">
freebsd-gecko">
FreeBSD GEOM">
freebsd-geom">
FreeBSD GNOME and
GNOME applications">
freebsd-gnome">
FreeBSD technical
discussions">
freebsd-hackers">
FreeBSD hardware
and equipment">
freebsd-hardware">
FreeBSD mirror sites">
freebsd-hubs">
FreeBSD
internationalization">
freebsd-i18n">
FreeBSD i386-specific
issues">
freebsd-i386">
FreeBSD IA32 porting">
freebsd-ia32">
FreeBSD IA64 porting">
freebsd-ia64">
FreeBSD IPFW code">
freebsd-ipfw">
FreeBSD ISDN">
freebsd-isdn">
FreeBSD Internet service
providers">
freebsd-isp">
FreeBSD jails mailing list">
freebsd-jail">
FreeBSD Java Language">
freebsd-java">
FreeBSD related employment">
freebsd-jobs">
FreeBSD KDE/Qt and KDE
applications">
freebsd-kde">
FreeBSD LFS porting">
freebsd-lfs">
FreeBSD libh installation
and packaging system">
freebsd-libh">
FreeBSD MIPS porting">
freebsd-mips">
FreeBSD
mirror site administrators">
mirror-announce">
FreeBSD laptop computer">
freebsd-mobile">
-Mono and C# applications on
+Mono and C# applications on
FreeBSD">
freebsd-mono">
FreeBSD port of the
Mozilla browser">
freebsd-mozilla">
FreeBSD
multimedia">
freebsd-multimedia">
FreeBSD networking">
freebsd-net">
FreeBSD new users">
freebsd-newbies">
New Bus Architecture">
freebsd-new-bus">
FreeBSD
OpenOffice">
freebsd-openoffice">
FreeBSD
performance">
freebsd-performance">
FreeBSD Perl">
freebsd-perl">
FreeBSD packet filter mailing list">
freebsd-pf">
FreeBSD non-Intel
platforms porting">
freebsd-platforms">
FreeBSD core team
policy decisions">
freebsd-policy">
FreeBSD ports">
freebsd-ports">
FreeBSD ports/ developers">
FreeBSD
ports bugs">
freebsd-ports-bugs">
FreeBSD ports/ Committer">
FreeBSD PowerPC porting">
freebsd-ppc">
Technical discussion of FreeBSD
on HP ProLiant server platforms">
freebsd-proliant">
FreeBSD Python mailing list">
freebsd-python">
FreeBSD Quality Assurance">
freebsd-qa">
FreeBSD general
questions">
freebsd-questions">
FreeBSD boot script system mailing list">
freebsd-rc">
FreeBSD realtime
extensions">
freebsd-realtime">
FreeBSD Ruby mailing list">
freebsd-ruby">
FreeBSD SCSI subsystem">
freebsd-scsi">
FreeBSD security">
freebsd-security">
FreeBSD security notifications">
freebsd-security-notifications">
FreeBSD-small">
freebsd-small">
FreeBSD symmetric
multiprocessing">
freebsd-smp">
FreeBSD SPARC porting">
freebsd-sparc64">
FreeBSD src/ Committer">
FreeBSD src/ developers">
&os.stable;">
freebsd-stable">
FreeBSD C99 and
POSIX compliance">
freebsd-standards">
FreeBSD sun4v porting mailing list">
freebsd-sun4v">
-SVN commit messages
- for the entire src tree (except for user and
+SVN commit messages
+ for the entire src tree (except for user and
projects)">
-svn-src-all">
-SVN commit messages
+SVN commit messages
for the src tree for head/-current">
-svn-src-head">
-
+
-SVN commit
+SVN commit
messages for the src projects tree">
-svn-src-projects">
-
+
-SVN commit
+SVN commit
messages for releases in the src tree">
-svn-src-release">
-
+
-SVN commit
+SVN commit
messages for the release engineering / security commits to the src tree">
-svn-src-releng">
-
+
-SVN commit messages for all the -stable branches
+SVN commit messages for all the -stable branches
of the src tree">
-svn-src-stable">
-
+
-SVN commit
+SVN commit
messages for only the 6-stable src tree">
-svn-src-stable-6">
-
+
-SVN commit
+SVN commit
messages for only the 7-stable src tree">
-svn-src-stable-7">
SVN commit
messages for only the 8-stable src tree">
svn-src
stable-8">
-
+
-SVN
+SVN
commit messages for the old stable src trees">
-svn-src-stable-other">
-
+
-SVN commit
+SVN commit
messages for the admin / configuration tree">
-svn-src-svnadmin">
-
+
-SVN commit messages
+SVN commit messages
for the experimental user src tree">
-svn-src-user">
-
+
-SVN commit
+SVN commit
messages for the vendor work area tree">
-svn-src-vendor">
-
+
Sysinstall
development mailing list">
freebsd-sysinstall">
FreeBSD test">
freebsd-test">
FreeBSD performance
and stability testing">
freebsd-testing">
FreeBSD threads">
freebsd-threads">
FreeBSD
tokenring">
freebsd-tokenring">
+
+FreeBSD integrated toolchain">
+freebsd-toolchain">
+
FreeBSD USB">
freebsd-usb">
FreeBSD user group
coordination">
freebsd-user-groups">
FreeBSD vendors
pre-release coordination">
freebsd-vendors">
-Discussion of
+Discussion of
various virtualization techniques supported by FreeBSD">
-freebsd-virtualization">
Diskussion über
die Infrastruktur von VuXML">
freebsd-vuxml">
-FreeBSD
+FreeBSD
Work-In-Progress Status">
-freebsd-wip-status">
FreeBSD Webmaster">
freebsd-www">
FreeBSD X11 mailing list">
freebsd-x11">
-FreeBSD port to Xen mailing
+FreeBSD port to Xen mailing
list">
freebsd-xen">
bug-followup@FreeBSD.org">
majordomo@FreeBSD.org">