diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml | 3720 |
1 files changed, 0 insertions, 3720 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml deleted file mode 100644 index 9e1de768fe..0000000000 --- a/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ /dev/null @@ -1,3720 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - - $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/linuxemu/chapter.sgml,v 1.65 2004/07/19 20:23:43 jkois Exp $ - basiert auf: 1.113 ---> - -<chapter id="linuxemu"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Jim</firstname> - <surname>Mock</surname> - <contrib>Restrukturiert und teilweise aktualisiert von </contrib> - </author> - <!-- 22 Mar 2000 --> - </authorgroup> - <authorgroup> - <author> - <firstname>Brian N.</firstname> - <surname>Handy</surname> - <contrib>Beigetragen von </contrib> - </author> - <author> - <firstname>Rich</firstname> - <surname>Murphey</surname> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Johann</firstname> - <surname>Kois</surname> - <contrib>Übersetzt von </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Linux-Binärkompatibilität</title> - - <sect1 id="linuxemu-synopsis"> - <title>Übersicht</title> - <indexterm> - <primary>Linux-Binärkompatibilität</primary> - </indexterm> - <indexterm> - <primary>Binärkompatibilität</primary> - <secondary>Linux</secondary> - </indexterm> - - <para>FreeBSD 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 - <quote>das Neueste und Beste</quote> 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.</para> - - <para>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 <application>&staroffice;</application>, - <application>Open Office</application>, die Linux-Versionen von - <application>&netscape;</application>, - <application>&adobe; &acrobat;</application>, - <application> - <trademark class="registered">RealPlayer</trademark> - </application> 5 und 7, - <application> - <trademark class="registered">VMWare</trademark> - </application>, <application>&oracle;</application>, - <application> - <trademark class="registered">WordPerfect</trademark> - </application>, <application>Doom</application>, - <application>Quake</application> 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.</para> - <indexterm> - <primary>Linux</primary> - <secondary><filename>/proc</filename> Dateisystem</secondary> - </indexterm> - - <para>Allerdings gibt es nach wie vor einige Linux-spezifische - Betriebssystem-Eigenschaften, die unter FreeBSD nicht - unterstützt werden. Linux-Anwendungen, die in großem - Stil das Linux-<filename>/proc</filename>-Dateisystem verwenden, - werden unter FreeBSD nicht funktionieren, da sich dieses vom - FreeBSD-<filename>/proc</filename>-Dateisystem unterscheidet. - Auch &i386;-spezifische Aufrufe dieser Linux-Anwendungen (wie - z.B. die Aktivierung des virtuellen 8086-Modus) funktionieren - unter FreeBSD leider nicht.</para> - - <para>Nach dem Lesen dieses Kapitels werden Sie</para> - <itemizedlist> - <listitem> - <para>wissen, wie Sie die Linux-Binärkompatibilität - installieren bzw. aktivieren.</para> - </listitem> - - <listitem> - <para>Wissen, wie man zusätzliche Linux-Systembibliotheken - unter FreeBSD installiert.</para> - </listitem> - - <listitem> - <para>Linux-Anwendungen unter FreeBSD installieren können.</para> - </listitem> - - <listitem> - <para>Wissen, wie die Linux-Binärkompatibilität - unter FreeBSD verwirklicht wurde.</para> - </listitem> - </itemizedlist> - - <para>Bevor Sie dieses Kapitel lesen, sollten Sie</para> - - <itemizedlist> - <listitem> - <para>wissen, wie man Software Dritter installiert - (<xref linkend="ports">).</para> - </listitem> - </itemizedlist> - - </sect1> - - <sect1 id="linuxemu-lbc-install"> - <title>Installation</title> - - <indexterm><primary>KLD (kernel loadable object)</primary></indexterm> - - <para>Die Linux-Binärkompatibilität ist per Voreinstellung - nicht aktiviert. Der einfachste Weg, dies zu tun, ist das - <literal>Linux</literal> KLD (<quote>Kernel LoaDable object</quote>) - zu laden. Dies geschieht durch die Eingabe von - <command>linux</command> an der Eingabeaufforderung.</para> - - <para>Wollen Sie die Linux-Binärkompatibilität dauerhaft - aktivieren, sollten Sie die folgende Zeile in - <filename>/etc/rc.conf</filename> einfügen:</para> - - <programlisting>linux_enable="YES"</programlisting> - - <para>Der &man.kldstat.8;-Befehl kann benutzt werden, um - festzustellen, ob KLD geladen wurde:</para> - - <screen>&prompt.user; <userinput>kldstat</userinput> -Id Refs Address Size Name - 1 2 0xc0100000 16bdb8 kernel - 7 1 0xc24db000 d000 linux.ko</screen> - <indexterm> - <primary>Kerneloption</primary> - <secondary>LINUX</secondary> - </indexterm> - - <para>Wenn 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 - <literal>options COMPAT_LINUX</literal> - hinzu. Anschließend installieren Sie Ihren neuen Kernel - wie in <xref linkend="kernelconfig"> beschrieben.</para> - - <sect2> - <title>Linux-Laufzeitbibliotheken installieren</title> - <indexterm> - <primary>Linux</primary> - <secondary>Linux-Laufzeitbibliotheken installieren</secondary> - </indexterm> - - <para>Dies kann auf zwei Arten geschehen, entweder über den - <link linkend="linuxemu-libs-port">linux_base</link>-Port, - oder durch manuelle Installation der Bibliotheken - <link linkend="linuxemu-libs-manually"></link>.</para> - - <sect3 id="linuxemu-libs-port"> - <title>Installation unter Verwendung des linux_base-Ports</title> - <indexterm><primary>Ports Collection</primary></indexterm> - - <para>Dies ist die einfachste Methode, um die Laufzeitbibliotheken - zu installieren. Sie funktioniert genauso wie die - Installation eines beliebigen anderen Ports aus der - <ulink type="html" - url="file://localhost/usr/ports/">Ports-Sammlung</ulink>. - Dazu machen Sie einfach folgendes:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput> -&prompt.root; <userinput>make install distclean</userinput></screen> - - <para>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.</para> - - <note> - <para>Unter Umständen gibt es mehrere Versionen des - Ports <filename role="package">emulators/linux_base</filename>. - Die Ports entsprechen unterschiedlichen Versionen - verschiedener Linux-Distributionen Sie sollten den - Port installieren, der am besten die Anforderungen - der Linux-Anwendung erfüllt.</para> - </note> - </sect3> - - <sect3 id="linuxemu-libs-manually"> - <title>Manuelle Installation der Bibliotheken</title> - - <para>Wenn Sie die <quote>Ports</quote>-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 - <quote>virtuellen</quote> 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 - <filename>/lib/libc.so</filename> lädt, versucht FreeBSD - zuerst, <filename>/compat/linux/lib/libc.so</filename> laden. - Ist diese Datei nicht vorhanden, wird - <filename>/lib/libc.so</filename> geladen. Systembibliotheken - sollten daher besser in den <quote>virtuellen</quote> Verzeichnisbaum - <filename>/compat/linux/lib</filename> als in den vom - Linux-<command>ld.so</command> vorgeschlagenen installiert - werden.</para> - - <para>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.</para> - </sect3> - - <sect3> - <title>Installation zusätzlicher Systembibliotheken</title> - <indexterm><primary>Shared-Libraries</primary></indexterm> - - <para>Was passiert, wenn Sie den <filename>linux_base</filename>-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 <username>root</username> angemeldet - sein):</para> - - <para>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:</para> - - <informalexample> - <para>Nehmen wir an, Sie haben FTP verwendet, um die - Linux-Binärversion von <application>Doom</application> - zu bekommen und haben sie auf Ihrem Linux-System installiert. - Nun können Sie überprüfen, welche - Systembibliotheken das Programm benötigt, indem Sie - <command>ldd linuxdoom</command> eingeben. Das Resultat - sieht dann so aus:</para> - - <screen>&prompt.user; <userinput>ldd linuxdoom</userinput> -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.29</screen> - - <indexterm><primary>symbolische Links</primary></indexterm> - <para>Sie müssten nun alle Dateien aus der - letzten Spalte kopieren und sie unter - <filename>/compat/linux</filename> 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:</para> - - <screen>/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</screen> - - <blockquote> - <note> - <para>Beachten Sie, dass wenn Sie bereits eine - Linux-Systembibliothek einer zur ersten Spalte - passenden Hauptversionsnummer (laut - <command>ldd</command>-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:</para> - - <screen>/compat/linux/lib/libc.so.4.6.27 -/compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen> - - <para>und Sie haben eine neue Binärdatei, die - laut <command>ldd</command> - eine neuere Bibliothek benötigt:</para> - - <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> - - <para>Wenn diese sich nur um ein oder zwei Stellen - in der Unterversionsnummer unterscheiden, müssen - Sie <filename>/lib/libc.so.4.6.29</filename> - nicht auf Ihr System kopieren, da das Programm auch - mit der etwas älteren Version ohne Probleme - funktionieren sollte. Wenn Sie wollen, - können Sie <filename>libc.so</filename> aber - dennoch ersetzen (das heißt aktualisieren), was dann zu - folgender Ausgabe führt:</para> - - <screen>/compat/linux/lib/libc.so.4.6.29 -/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> - </note> - </blockquote> - - <blockquote> - <note> - <para>Der Mechanismus der symbolischen Links wird - <emphasis>nur</emphasis> 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.</para> - </note> - </blockquote> - </informalexample> - </sect3> - </sect2> - - <sect2> - <title>Linux ELF-Binärdateien installieren</title> - <indexterm> - <primary>Linux</primary> - <secondary>ELF-Binärdatei</secondary> - </indexterm> - - <para>ELF-Binärdateien benötigen manchmal eine zusätzliche - <quote>Kennzeichnung</quote>. Wenn Sie versuchen, eine nicht - gekennzeichnete ELF-Binärdatei auszuführen, - werden Sie eine Fehlermeldung ähnlich der folgenden - erhalten:</para> - - <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> -ELF binary type not known -Abort</screen> - - <para>Damit der FreeBSD-Kernel eine Linux-ELF-Datei von einer - FreeBSD-ELF-Datei unterscheiden kann, gibt es das Werkzeug - &man.brandelf.1;:</para> - - <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> - - <indexterm><primary>GNU Werkzeuge</primary></indexterm> - <para>Die 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.</para> - </sect2> - - <sect2> - <title>Namensauflösung konfigurieren</title> - - <para>Wenn DNS nicht funktioniert, oder Sie folgende Fehlermeldung - erhalten:</para> - - <screen>resolv+: "bind" is an invalid keyword resolv+: -"hosts" is an invalid keyword</screen> - - <para>müssen sie <filename>/compat/linux/etc/host.conf</filename> - wie folgt anlegen:</para> - - <programlisting>order hosts, bind -multi on</programlisting> - - <para>Diese Reihenfolge legt fest, dass zuerst - <filename>/etc/hosts</filename> und anschließend DNS - durchsucht werden. Wenn - <filename>/compat/linux/etc/host.conf</filename> nicht vorhanden - ist, finden Linux-Anwendungen FreeBSD's - <filename>/etc/host.conf</filename> und - beschweren sich über die inkompatible FreeBSD-Syntax. Wenn Sie - keinen Nameserver (in <filename>/etc/resolv.conf</filename>) - konfiguriert haben, sollten Sie den Eintrag - <literal>bind</literal> entfernen.</para> - </sect2> - </sect1> - - <sect1 id="linuxemu-mathematica"> - <sect1info> - <authorgroup> - <author> - <firstname>Murray</firstname> - <surname>Stokely</surname> - <contrib>Für Mathematica 4.x aktualisiert von </contrib> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Bojan</firstname> - <surname>Bistrovic</surname> - <contrib>Mit der Unterstützung von </contrib> - </author> - </authorgroup> - </sect1info> - <title>&mathematica; installieren</title> - - <indexterm> - <primary>Linux-Anwendungen</primary> - <secondary><application>Mathematica</application></secondary> - </indexterm> - - <para>Dieses Dokument beschreibt die Installation der Linux-Version von - <application>&mathematica; 4.x</application> auf einem - FreeBSD-System.</para> - - <para>Die Linux-Version von <application>&mathematica;</application> - läuft perfekt unter FreeBSD, allerdings müssen die - von Wolfram verschickten Binärdateien gekennzeichnet werden, - damit FreeBSD weiß, dass es die Linux-ABI verwenden muss, - um sie auszuführen.</para> - - <para>Die Linux-Version von <application>&mathematica;</application> - oder <application>&mathematica; für Studenten</application> kann - direkt von Wolfram unter <ulink url="http://www.wolfram.com/"></ulink> - bestellt werden.</para> - - <sect2> - <title>Linux-Binärdateien kennzeichnen</title> - - <para>Die Linuxbinärdateien befinden sich im - <filename>Unix</filename>-Verzeichnis der von Wolfram - vertriebenen <application>&mathematica;</application>-CD-ROM. - Sie müssen diesen Verzeichnisbaum auf Ihre Festplatte kopieren, - damit Sie die Linux-Binärdateien kennzeichnen können, - bevor Sie das Installationsprogramm aufrufen:</para> - - <screen>&prompt.root; <userinput>mount /cdrom</userinput> -&prompt.root; <userinput>cp -rp /cdrom/Unix/ /localdir/</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Kernel/Binaries/Linux/*</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/FrontEnd/Binaries/Linux/*</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Installation/Binaries/Linux/*</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Graphics/Binaries/Linux/*</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/Converters/Binaries/Linux/*</userinput> -&prompt.root; <userinput>brandelf -t Linux /localdir/Files/SystemFiles/LicenseManager/Binaries/Linux/mathlm</userinput> -&prompt.root; <userinput>cd /localdir/Installers/Linux/</userinput> -&prompt.root; <userinput>./MathInstaller</userinput></screen> - - <para>Alternativ können Sie mit folgendem Befehl auch die - Standard-ELF-Kennzeichnung für alle ungekennzeichneten - Binärdateien festlegen:</para> - - <screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen> - - <para>Danach wird FreeBSD annehmen, dass alle ungekennzeichneten - ELF-Binärdateien die Linux-ABI verwenden. Dadurch sollte es Ihnen - nun möglich sein, das Installationsprogramm direkt von der CD-ROM - zu starten.</para> - </sect2> - - <sect2> - <title>Ihr &mathematica;-Passwort anfordern</title> - - <para>Bevor Sie <application>&mathematica;</application> - ausführen können, müssen Sie von Wolfram - ein zu Ihrer <quote>Rechner-ID</quote> passendes - Passwort anfordern.</para> - <indexterm> - <primary>Ethernet</primary> - <secondary>MAC-Adresse</secondary> - </indexterm> - - <para>Nachdem Sie die Linux-Kompatibilitätsbibliotheken - installiert und <application>&mathematica;</application> entpackt - haben, können Sie Ihre - <quote>Rechner-ID</quote> durch das Ausführen von - <command>mathinfo</command> (im Installationsverzeichnis) ermitteln. - Diese Rechner-ID basiert ausschließlich auf der MAC-Adresse - Ihrer ersten Ethernet-Karte.</para> - - <screen>&prompt.root; <userinput>cd /localdir/Files/SystemFiles/Installation/Binaries/Linux</userinput> -&prompt.root; <userinput>mathinfo</userinput> -disco.example.com 7115-70839-20412</screen> - - <para>Wenn Sie sich bei Wolfram registrieren (durch E-Mail, - Telefon oder Fax), teilen Sie - Ihre <quote>Rechner-ID</quote> mit und erhalten dafür - ein aus Zahlengruppen - bestehendes Passwort. Diese Information geben Sie ein, wenn Sie - <application>&mathematica;</application> das erste Mal starten, - genauso wie Sie es auch auf jeder anderen - <application>&mathematica;</application>-Plattform machen - würden.</para> - </sect2> - - <sect2> - <title>Das &mathematica;-Frontend über ein Netzwerk - ausführen</title> - - <para><application>&mathematica;</application> 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 - <emphasis>lokal</emphasis> installiert sind. - Das bedeutet, dass Sie diese Schriftarten von der CD-ROM oder - von einem Rechner, auf dem <application>&mathematica;</application> - installiert ist, auf Ihren Rechner kopieren müssen. - Diese Schriftarten befinden sich normalerweise in - <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> - (&mathematica;-CD) oder in - <filename>/usr/local/mathematica/SystemFiles/Fonts</filename> - (Festplatte). Die aktuellen Schriftarten befinden sich dabei - in den Unterverzeichnissen <filename>Type1</filename> und - <filename>X</filename>. Um diese Schriftarten zu verwenden, - gibt es mehrere Möglichkeiten, die nun beschrieben werden:</para> - - <para>Die erste Möglichkeit besteht darin, die Schriftarten - in eins der bereits existierenden Schriftartenverzeichnisse unter - <filename>/usr/X11R6/lib/X11/fonts</filename> zu kopieren. - Dies bedeutet, dass Sie <filename>fonts.dir</filename> 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.</para> - - <para>Die zweite Möglichkeit, besteht darin, - die Verzeichnisse nach - <filename>/usr/X11R6/lib/X11/fonts</filename> zu kopieren:</para> - - <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts</userinput> -&prompt.root; <userinput>mkdir X</userinput> -&prompt.root; <userinput>mkdir MathType1</userinput> -&prompt.root; <userinput>cd /cdrom/Unix/Files/SystemFiles/Fonts</userinput> -&prompt.root; <userinput>cp X/* /usr/X11R6/lib/X11/fonts/X</userinput> -&prompt.root; <userinput>cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1</userinput> -&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/X</userinput> -&prompt.root; <userinput>mkfontdir</userinput> -&prompt.root; <userinput>cd ../MathType1</userinput> -&prompt.root; <userinput>mkfontdir</userinput></screen> - - <para>Nun fügen Sie die neuen Schriftartenverzeichnisse in - Ihren Pfad ein:</para> - - <screen>&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/X</userinput> -&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput> -&prompt.root; <userinput>xset fp rehash</userinput></screen> - - <para>Wenn Sie den &xfree86;-Server verwenden, können Sie die - Schriftarten-Verzeichnisse automatisch laden lassen, indem Sie sie - Ihrer <filename>XF86Config</filename>-Datei hinzufügen.</para> - - <indexterm><primary>Schriftarten</primary></indexterm> - - <para>Wenn Sie <emphasis>noch kein</emphasis> - <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>-Verzeichnis - haben, können Sie das - <filename>MathType1</filename>-Verzeichnis im vorherigen - Beispiel in <filename>Type1</filename> umbenennen.</para> - </sect2> - </sect1> - - <sect1 id="linuxemu-maple"> - <sect1info> - <authorgroup> - <author> - <firstname>Aaron</firstname> - <surname>Kaplan</surname> -<!-- <address><email>aaron@lo-res.org</email></address>--> - <contrib>Beigetragen von </contrib> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Robert</firstname> - <surname>Getschmann</surname> -<!-- <address><email>rob@getschmann.org</email></address>--> - <contrib>Mit Unterstützung durch </contrib> - </author> - </authorgroup> - </sect1info> - <title>&maple; installieren</title> - - <indexterm> - <primary>Linux-Anwendungen</primary> - <secondary><application>Maple</application></secondary> - </indexterm> - - <para><application>&maple;</application> ist ein mit - <application>&mathematica;</application> vergleichbares kommerzielles - Mathematikprogramm. Sie können dieses Programm unter - <ulink url="http://www.maplesoft.com/"></ulink> kaufen und sich - anschließend registrieren, um eine Lizenz zu erhalten. Um - dieses Programm unter FreeBSD zu installieren, gehen Sie wie - folgt vor:</para> - - <procedure> - <step><para>Führen Sie das - <filename>INSTALL</filename>-Shell-Skript - der Softwaredistribution aus. Wählen Sie die - <quote>RedHat</quote>-Option aus, wenn Sie das - Installationsprogramm danach fragt. Ein typisches - Installationsverzeichnis wäre z.B. - <filename class="directory">/usr/local/maple</filename>.</para></step> - - <step><para>Wenn Sie dies noch nicht gemacht haben, besorgen Sie - sich nun eine <application>&maple;</application>-Lizenz von - Maple Waterloo Software - (<ulink url="http://register.maplesoft.com"></ulink>) - und kopieren Sie diese nach - <filename>/usr/local/maple/license/license.dat</filename>.</para></step> - - <step><para>Installieren Sie den - <application>FLEXlm</application>-Lizenz-Manager, indem Sie - das <filename>INSTALL_LIC</filename>-Installations-Shellskript - ausführen, das mit <application>&maple;</application> - ausgeliefert wird. Geben Sie Ihren primären - Rechnernamen für den Lizenz-Server an.</para></step> - - <step><para>Verändern Sie - <filename>/usr/local/maple/bin/maple.system.type</filename> - wie folgt:</para> - -<programlisting> ----- 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 -----</programlisting> - - <para>Bitte beachten Sie, dass nach - <literal>"FreeBSD"|\</literal> kein anderes - Zeichen eingefügt werden darf.</para> - - <para>Dieser Patch weist <application>&maple;</application> an, - FreeBSD als <quote>eine Art von Linux-System</quote> zu erkennen. - Das Shell-Skript <filename>bin/maple</filename> ruft das - Shell-Skript <filename>bin/maple.system.type</filename> auf, - welches wiederum <command>uname -a</command> verwendet, - um den Namen des Betriebssystems herauszufinden. - Abhängig vom Betriebssystem weiß das System nun, - welche Binärdateien verwendet werden sollen.</para></step> - - <step><para>Starten Sie den Lizenz-Server.</para> - - <para>Das folgende, als - <filename>/usr/local/etc/rc.d/lmgrd.sh</filename> - installierte Shell-Skript ist ein komfortabler Weg, - um <command>lmgrd</command> zu starten:</para> - - <programlisting> ----- 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 ------------</programlisting></step> - - - <step><para>Versuchen Sie, <application>&maple;</application> - zu starten:</para> - - <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput> -&prompt.user; <userinput>./xmaple</userinput></screen> - - <para>Nun 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.</para></step> - </procedure> - - <sect2> - <title>Häufige Fehlerquellen</title> - - <itemizedlist> - <listitem><para>Der - <application>FLEXlm</application>-Lizenzmanager kann schwierig - zu bedienen sein. Zusätzliche Dokumentation - zu diesem Thema finden Sie unter <ulink - url="http://www.globetrotter.com/"></ulink>.</para></listitem> - - <listitem><para>Es ist bekannt, dass <command>lmgrd</command> - sehr pingelig ist, wenn es um die Lizenzdatei geht. Gibt - es Probleme, führt dies zu einem Speicherauszug - (<foreignphrase>core dump</foreignphrase>). Ein - korrekte Lizenzdatei sollte ähnlich der - folgenden aussehen:</para> - -<programlisting># ======================================================= -# 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=XXXXXXXXX</programlisting> - - <note><para>Seriennummer und Schlüssel wurden durch mehrere - <literal>X</literal> unkenntlich gemacht. <hostid>chillig</hostid> ist ein - Rechnername.</para></note> - - <para>Veränderungen an der Lizenzdatei sind möglich, - solange Sie die <literal>FEATURE</literal>-Zeile nicht - verändern (diese ist durch den Lizenzschlüssel - geschützt).</para></listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="linuxemu-matlab"> - <sect1info> - <authorgroup> - <author> - <firstname>Dan</firstname> - <surname>Pelleg</surname> - <contrib>Beigesteuert von </contrib> - </author> - <!-- daniel+handbook@pelleg.org --> - </authorgroup> - </sect1info> - <title>&matlab; installieren</title> - - <indexterm> - <primary>Linux-Anwendungen</primary> - <secondary><application>MATLAB</application></secondary> - </indexterm> - - <para>Im Folgenden wird die Installation der Linux-Anwendung - <application>&matlab;</application> Version 6.5 auf - &os; beschrieben. Mit Ausnahme der - <application>&java.virtual.machine;</application> (siehe - <xref linkend="matlab-jre">) läuft die Anwendung - auch ganz gut.</para> - - <para>Die Linux-Version von <application>&matlab;</application> - können Sie direkt bei <ulink - url="http://www.mathworks.com">The MathWorks</ulink> 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.</para> - - <sect2> - <title>Das &matlab;-Installationsskript</title> - - <para>Um <application>&matlab;</application> zu installieren, - gehen Sie wie folgt vor:</para> - - <procedure> - <step> - <para>Hängen Sie die Installations-CD ein und - wechseln Sie zu <username>root</username>, wie im - Installations-Skript gefordert. Starten Sie die - Installation mit dem folgenden Kommando:</para> - - <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen> - - <tip> - <para>Die 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:</para> - - <screen>&prompt.root; <userinput>setenv HOME ~<replaceable>USER</replaceable></userinput></screen> - - <para>Für <replaceable>USER</replaceable> setzen Sie - den Benutzer ein, von dem aus Sie <username>root</username> - geworden sind.</para> - </tip> - </step> - - <step> - <para>Beantworten Sie die Frage nach dem - <application>&matlab;</application>-Root-Verzeichnis mit: - <userinput>/compat/linux/usr/local/matlab</userinput>.</para> - - <tip> - <para>Den langen Pfad werden Sie noch öfter brauchen. - Die Tipparbeit können Sie sich mit dem folgenden - Befehl erleichtern:</para> - - <screen>&prompt.root; <userinput>set MATLAB=/compat/linux/usr/local/matlab</userinput></screen> - </tip> - </step> - - <step> - <para>Editieren Sie die Lizenz-Datei entsprechend der - Anweisung, die Sie beim Erwerb der Lizenz - erhalten haben.</para> - - <tip> - <para>Sie können die Datei schon vorher mit Ihrem - Lieblingseditor bearbeiten. Kopieren Sie die Lizenz-Datei - nach <filename>$MATLAB/license.dat</filename> - bevor das Installationsprogramm Sie auffordert, die - Datei zu editieren.</para> - </tip> - </step> - - <step> - <para>Schließen Sie die Installation ab.</para> - </step> - </procedure> - - <para>Die <application>&matlab;</application>-Installation - ist jetzt abgeschlossen. Die folgenden Schritte passen - <application>&matlab;</application> an &os; an.</para> - </sect2> - - <sect2> - <title>Den Lizenzmanager starten</title> - <procedure> - <step> - <para>Erstellen Sie symbolische Links zu den Startskripten - des Lizenzmanagers:</para> - - <screen>&prompt.root; <userinput>ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW</userinput> -&prompt.root; <userinput>ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW</userinput></screen> - </step> - - <step> - <para>Erstellen Sie das Startskript - <filename>/usr/local/etc/rc.d/flexlm.sh</filename>. Das - folgende Beispiel ist eine geänderte Version des - mitgelieferten Skripts - <filename>$MATLAB/etc/rc.lm.glnx86</filename>. - Angepasst wurden die Pfade zu den Dateien und der - Start des Lizenzmanagers unter der Linux-Emulation.</para> - - <programlisting>#!/bin/sh -case "$1" in - start) - if [ -f /usr/local/etc/lmboot_TMW ]; then - /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u <replaceable>username</replaceable> && 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 0</programlisting> - - <important> - <para>Machen Sie Datei ausführbar:</para> - - <screen>&prompt.root; <userinput>chmod +x /usr/local/etc/rc.d/flexlm.sh</userinput></screen> - - <para>Ersetzen Sie im Skript <replaceable>username</replaceable> - durch einen existierenden Benutzer Ihres Systems - (bitte keinesfalls <username>root</username>).</para> - </important> - </step> - - <step> - <para>Starten Sie den Lizenzmanager:</para> - - <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/flexlm.sh start</userinput></screen> - </step> - </procedure> - </sect2> - - <sect2 id="matlab-jre"> - <title>Einrichten der &java;-Laufzeitumgebung</title> - - <para>Erstellen Sie einen symbolischen Link auf eine - unter &os; laufende &java;-Laufzeitumgebung (JRE):</para> - - <screen>&prompt.root; <userinput>cd $MATLAB/sys/java/jre/glnx86/</userinput> -&prompt.root; <userinput>unlink jre; ln -s ./jre1.1.8 ./jre</userinput></screen> - </sect2> - - <sect2> - <title>Ein &matlab;-Startskript erstellen</title> - - <procedure> - <step> - <para>Kopieren Sie das folgende Skript nach - <filename>/usr/local/bin/matlab</filename>:</para> - - <programlisting>#!/bin/sh -/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"</programlisting> - </step> - - <step> - <para>Machen Sie das Skript ausführbar:</para> - - <screen>&prompt.root; <userinput>chmod +x /usr/local/bin/matlab</userinput></screen> - </step> - </procedure> - - <tip> - <para>Abhängig von der Version des Ports - <filename role="package">emulators/linux_base</filename> - kann das Skript auf Fehler laufen. Die Fehler können - Sie vermeiden, indem Sie die Datei - <filename>/compat/linux/usr/local/matlab/bin/matlab</filename> - editieren. Ändern Sie die nachstehende Zeile</para> - - <programlisting>if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then</programlisting> - <para>(mit Version 13.0.1 in der Zeile 410) in - die folgende um:</para> - - <programlisting>if test -L $newbase; then</programlisting> - </tip> - </sect2> - - <sect2> - <title>Stopp-Skript für &matlab; erstellen</title> - - <para>Das nachstehende Skript beendet &matlab; - ordnungsgemäß.</para> - - <procedure> - <step> - <para>Erstellen Sie die Datei - <filename>$MATLAB/toolbox/local/finish.m</filename> mit - dem nachstehenden Inhalt:</para> - - <programlisting>! $MATLAB/bin/finish.sh</programlisting> - - <note> - <para>Übernehmen Sie die Zeichenkette - <literal>$MATLAB</literal> unverändert.</para> - </note> - - <tip> - <para>Im selben Verzeichnis befinden sich die - Dateien <filename>finishsav.m</filename> und - <filename>finishdlg.m</filename>. 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 - <literal>save</literal>-Kommando ein.</para> - </tip> - </step> - - <step> - <para>Erstellen Sie die Datei - <filename>$MATLAB/bin/finish.sh</filename> mit - nachstehendem Inhalt:</para> - - <programlisting>#!/usr/compat/linux/bin/sh -(sleep 5; killall -1 matlab_helper) & -exit 0</programlisting> - </step> - - <step> - <para>Machen Sie die Datei ausführbar:</para> - - <screen>&prompt.root; <userinput>chmod +x $MATLAB/bin/finish.sh</userinput></screen> - </step> - </procedure> - </sect2> - - <sect2 id="matlab-using"> - <title>&matlab; benutzen</title> - - <para>Jetzt können Sie <application>&matlab;</application> - mit dem <command>matlab</command> starten.</para> - </sect2> - </sect1> - - <sect1 id="linuxemu-oracle"> - <sect1info> - <authorgroup> - <author> - <firstname>Marcel</firstname> - <surname>Moolenaar</surname> - <contrib>Beigetragen von </contrib> - </author> - <!-- marcel@cup.hp.com --> - </authorgroup> - </sect1info> - <title>&oracle; installieren</title> - - <indexterm> - <primary>Linux-Anwendungen</primary> - <secondary><application>Oracle</application></secondary> - </indexterm> - - <sect2> - <title>Übersicht</title> - <para>Dieses Dokument beschreibt die Installation von - <application>&oracle; 8.0.5</application> - und <application>&oracle; 8.0.5.1 Enterprise Edition</application> - für Linux auf einem FreeBSD-Rechner.</para> - </sect2> - - <sect2> - <title>Installation der Linux-Umgebung</title> - - <para>Stellen Sie sicher, dass Sie sowohl - <filename role="package">emulators/linux_base</filename> und - <filename role="package">devel/linux_devtools</filename> - aus der Ports-Collection installiert haben. Wenn Sie mit - diesen Ports Schwierigkeiten haben, müssen Sie - vielleicht ältere Versionen der Linux-Umgebung aus - der Ports-Collection installieren.</para> - - <para>Wenn Sie den Intelligent-Agent verwenden wollen, - müssen Sie zusätzlich das RedHat Tcl-Paket - installieren: <filename>tcl-8.0.3-20.i386.rpm</filename>. - Zur Installation von RPM-Paketen wir der Port - <filename role='package'>archivers/rpm</filename> benötigt. - Ist der Port installiert, lassen sich RPM-Pakete - anschließend mit dem nachstehenden Befehl - installieren:</para> - - <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen> - - <para>Die Installation der RPM-Pakete sollte ohne - Fehlermeldung ablaufen.</para> - </sect2> - - <sect2> - <title>Die &oracle;-Umgebung erzeugen</title> - - <para>Bevor Sie <application>&oracle;</application> installieren - können, müssen Sie eine entsprechende Umgebung erzeugen. - Dieses Dokument beschreibt nur, was Sie - <emphasis>im Speziellen</emphasis> tun müssen, um die - Linux-Version von <application>&oracle;</application> unter FreeBSD - zu installieren, nicht aber, was bereits in der Installationsanleitung - von <application>&oracle;</application> beschrieben wird.</para> - - <sect3 id="linuxemu-kernel-tuning"> - <title>Kernel-Tuning</title> - <indexterm><primary>Kernel Tuning</primary></indexterm> - - <para>Wie in der Installationsanleitung von - <application>&oracle;</application> beschrieben, - müssen Sie die maximale Shared-Memory Größe - festlegen. Verwenden Sie - <literal>SHMMAX</literal> nicht unter FreeBSD. - <literal>SHMMAX</literal> wird lediglich aus - <literal>SHMMAXPGS</literal> und <literal>PGSIZE</literal> - berechnet. Definieren Sie stattdessen - <literal>SHMMAXPGS</literal>. Alle anderen Optionen - können wie in der Anleitung beschrieben verwendet werden. - Zum Beispiel:</para> - - <programlisting>options SHMMAXPGS=10000 -options SHMMNI=100 -options SHMSEG=10 -options SEMMNS=200 -options SEMMNI=70 -options SEMMSL=61</programlisting> - - <para>Passen Sie diese Optionen entsprechend dem von Ihnen - gewünschten Einsatzzweck von - <application>&oracle;</application> an.</para> - - <para>Stellen Sie außerdem sicher, dass Sie folgende - Optionen in Ihren Kernel kompilieren:</para> - -<programlisting>options SYSVSHM #SysV shared memory -options SYSVSEM #SysV semaphores -options SYSVMSG #SysV interprocess communication</programlisting> - </sect3> - - <sect3 id="linuxemu-oracle-account"> - - <title>&oracle;-Benutzer anlegen</title> - - <para>Legen Sie den Account <username>oracle</username> an. - Der Account unterschiedet sich von normalen Accounts - dadurch, dass er eine Linux-Shell zugeordnet bekommen muss. - Fügen Sie <literal>/compat/linux/bin/bash</literal> in die - Datei <filename>/etc/shells</filename> ein und setzen Sie die - Shell für den <username>oracle</username>-Account auf - <filename>/compat/linux/bin/bash</filename>.</para> - </sect3> - - <sect3 id="linuxemu-environment"> - <title>Umgebung</title> - - <para>Neben den normalen - <application>&oracle;</application>-Variablen, wie z.B. - <envar>ORACLE_HOME</envar> und <envar>ORACLE_SID</envar> - müssen Sie die folgenden Variablen setzen:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1*"> - <colspec colwidth="2*"> - <thead> - <row> - <entry>Variable</entry> - - <entry>Wert</entry> - </row> - </thead> - <tbody> - <row> - <entry><envar>LD_LIBRARY_PATH</envar></entry> - - <entry><literal>$ORACLE_HOME/lib</literal></entry> - </row> - - <row> - <entry><envar>CLASSPATH</envar></entry> - - <entry><literal>$ORACLE_HOME/jdbc/lib/classes111.zip</literal></entry> - </row> - - <row> - <entry><envar>PATH</envar></entry> - - <entry><literal>/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/bin</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Es ist empfehlenswert, alle Variablen in der Datei - <filename>.profile</filename> zu setzen. Ein komplettes - Beispiel sieht folgendermaßen aus:</para> - - <programlisting>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</programlisting> - </sect3> - </sect2> - - <sect2> - <title>&oracle; installieren</title> - - <para>Auf Grund einer kleinen Unregelmäßigkeit - im Linux-Emulator müssen Sie das Verzeichnis - <filename>.oracle</filename> unter <filename>/var/tmp</filename> - erzeugen, bevor Sie das Installationsprogramm starten. - Das Verzeichnis muss entwerder für alle Benutzer - beschreibbar sein oder dem Account <username>oracle</username> - gehören. Sie sollten <application>&oracle;</application> nun - ohne Probleme installieren können. Treten dennoch Probleme - auf, überprüfen Sie zuerst Ihre - <application>&oracle;</application>-Distribution und Ihre - Konfiguration. Nachdem Sie <application>&oracle;</application> - erfolgreich installiert haben, installieren Sie die Patches - wie in den zwei folgenden Abschnitten beschrieben:</para> - - <para>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:</para> - - <screen>&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> -&prompt.root; <userinput>make -f ins_network.mk ntcontab.o</userinput> -&prompt.root; <userinput>cd $ORACLE_HOME/lib</userinput> -&prompt.root; <userinput>ar r libnetwork.a ntcontab.o</userinput> -&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> -&prompt.root; <userinput>make -f ins_network.mk install</userinput></screen> - - <para>Vergessen Sie nicht, <filename>root.sh</filename> - nochmals auszuführen!</para> - - <sect3 id="linuxemu-patch-root"> - <title>root.sh patchen</title> - - <para>Während der - <application>&oracle;</application>-Installation werden einige - Aktionen, die als <username>root</username> - ausgeführt werden müssen, in ein Shell-Skript - mit dem Namen <filename>root.sh</filename> gespeichert. - Dieses Skript befindet sich im Verzeichnis - <filename>orainst</filename>. Verwenden Sie folgenden - Patch für <filename>root.sh</filename>, damit es - das richtige <command>chown</command> Kommando - verwendet, oder lassen Sie das - Skript alternativ unter einer Linux-Shell ablaufen:</para> - - <programlisting>*** 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 script</programlisting> - - <para>Wenn Sie <application>&oracle;</application> nicht - von CD-ROM installieren, können - Sie Quelldatei für <filename>root.sh</filename> - verändern. Sie heißt <filename>rthd.sh</filename> - und befindet sich im <filename>orainst</filename>-Verzeichnis - des Quellcodebaums.</para> - </sect3> - - <sect3 id="linuxemu-patch-tcl"> - <title>genclntsh patchen</title> - - <para>Das Skript <command>genclntsh</command> 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 <envar>PATH</envar> - auszukommentieren:</para> - - <programlisting>*** 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</programlisting> - </sect3> - </sect2> - - <sect2> - <title>&oracle; starten</title> - - <para>Wenn Sie den Anweisungen gefolgt sind, sollten Sie nun - in der Lage sein, <application>&oracle;</application> zu starten, - genau so, wie Sie dies auch unter Linux tun würden.</para> - </sect2> - </sect1> - - <sect1 id="sapr3"> - <sect1info> - <authorgroup> - <author> - <firstname>Holger</firstname> - <surname>Kipp</surname> - <contrib>Beigetragen von </contrib> - </author> - </authorgroup> - <!-- holger.kipp@alogis.com --> - <authorgroup> - <author> - <firstname>Valentino</firstname> - <surname>Vaschetto</surname> - <contrib>Originalversion nach SGML konvertiert durch: </contrib> - </author> - </authorgroup> - </sect1info> - - <title>&sap.r3; installieren</title> - - <indexterm> - <primary>Linux-Anwendungen</primary> - <secondary><application>SAP R/3</application></secondary> - </indexterm> - - <para>Installationen von <application>&sap;</application> - unter FreeBSD werden vom &sap; Support-Team - nicht unterstützt – und &sap; bietet Support nur - für zertifizierte Plattformen an! </para> - - <sect2 id="preface"> - <title>Übersicht</title> - - <para>Dieses Dokument beschreibt einen möglichen Weg, um ein - <application>&sap.r3;-System</application> mit - <application>&oracle;</application> Datenbank - für Linux auf einem FreeBSD-Rechner zu installieren, - einschließlich der Installation von FreeBSD und - <application>&oracle;</application>. Zwei verschiedene Konfigurationen - werden beschrieben:</para> - - <itemizedlist> - <listitem> - <para><application>&sap.r3; 4.6B (IDES)</application> mit - <application>&oracle; 8.0.5</application> unter - FreeBSD 4.3-STABLE</para> - </listitem> - - <listitem> - <para><application>&sap.r3; 4.6C</application> mit - <application>&oracle; 8.1.7</application> unter - FreeBSD 4.5-STABLE</para> - </listitem> - </itemizedlist> - - <para>Obwohl dieses Dokument versucht, alle wichtigen Schritte - ausführlich zu beschreiben, besteht nicht die Absicht, - die originalen Installationsanleitungen von - <application>&oracle;</application> und - <application>&sap.r3;</application> zu ersetzen.</para> - - <para>Benutzen Sie die mit - <application>&sap.r3; Linux Edition</application> - gelieferte Dokumentation für <application>&sap;</application>- - und <application>&oracle;</application>-spezifische Fragen, - sowie die Ressourcen von <application>&oracle;</application> und - <application>&sap;-OSS</application>.</para> - </sect2> - - <sect2 id="software"> - <title>Software/Programme</title> - - <para>Folgende CD-ROMs wurden für die Installation von - <application>&sap;</application> verwendet:</para> - - <sect3 id="software-46b"> - <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> - - <informaltable frame="none"> - <tgroup cols=3> - <thead> - <row> - <entry>Bezeichnung</entry> - <entry>Nummer</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>KERNEL</entry> - <entry>51009113</entry> - <entry>&sap; Kernel &oracle; / Installation / AIX, Linux, - &solaris;</entry> - </row> - - <row> - <entry>RDBMS</entry> - <entry>51007558</entry> - <entry>&oracle; / RDBMS 8.0.5.X / Linux</entry> - </row> - - <row> - <entry>EXPORT1</entry> - <entry>51010208</entry> - <entry>IDES / DB-Export / Disc 1 of 6</entry> - </row> - - <row> - <entry>EXPORT2</entry> - <entry>51010209</entry> - <entry>IDES / DB-Export / Disc 2 of 6</entry> - </row> - - <row> - <entry>EXPORT3</entry> - <entry>51010210</entry> - <entry>IDES / DB-Export / Disc 3 of 6</entry> - </row> - - <row> - <entry>EXPORT4</entry> - <entry>51010211</entry> - <entry>IDES / DB-Export / Disc 4 of 6</entry> - </row> - - <row> - <entry>EXPORT5</entry> - <entry>51010212</entry> - <entry>IDES / DB-Export / Disc 5 of 6</entry> - </row> - - <row> - <entry>EXPORT6</entry> - <entry>51010213</entry> - <entry>IDES / DB-Export / Disc 6 of 6</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Zusätzlich wurde die - <application>&oracle; 8 Server</application> 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).</para> - </sect3> - - <sect3 id="software-46c"> - <title>&sap.r3; 4.6C SR2, &oracle; 8.1.7</title> - - <informaltable frame="none"> - <tgroup cols=3> - <thead> - <row> - <entry>Bezeichnung</entry> - <entry>Nummer</entry> - <entry>Beschreibung</entry> - </row> - </thead> - - <tbody> - <row> - <entry>KERNEL</entry> - <entry>51014004</entry> - <entry>&sap; Kernel &oracle; / &sap; Kernel Version 4.6D / DEC, - Linux</entry> - </row> - - <row> - <entry>RDBMS</entry> - <entry>51012930</entry> - <entry>&oracle; 8.1.7/ RDBMS / Linux</entry> - </row> - - <row> - <entry>EXPORT1</entry> - <entry>51013953</entry> - <entry>Release 4.6C SR2 / Export / Disc 1 of 4</entry> - </row> - - <row> - <entry>EXPORT1</entry> - <entry>51013953</entry> - <entry>Release 4.6C SR2 / Export / Disc 2 of 4</entry> - </row> - - <row> - <entry>EXPORT1</entry> - <entry>51013953</entry> - <entry>Release 4.6C SR2 / Export / Disc 3 of 4</entry> - </row> - - <row> - <entry>EXPORT1</entry> - <entry>51013953</entry> - <entry>Release 4.6C SR2 / Export / Disc 4 of 4</entry> - </row> - - <row> - <entry>LANG1</entry> - <entry>51013954</entry> - <entry>Release 4.6C SR2 / Language / DE, EN, FR / - Disc 1 of 3</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Abhä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).</para> - </sect3> - </sect2> - - <sect2 id="sap-notes"> - <title>&sap;-Notes</title> - - <para>Die folgenden Anmerkungen sollten vor der Installation - von <application>&sap.r3;</application> gelesen werden, da sie - sich während der Installation als nützlich - erwiesen haben.</para> - - <sect3 id="sap-notes-46b"> - <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Nummer</entry> - <entry>Bezeichnung</entry> - </row> - </thead> - <tbody> - - <row> - <entry>0171356</entry> - <entry>&sap; Software on Linux: Essential Comments</entry> - </row> - - <row> - <entry>0201147</entry> - <entry>INST: 4.6C R/3 Inst. on UNIX - &oracle;</entry> - </row> - - <row> - <entry>0373203</entry> - <entry>Update / Migration &oracle; 8.0.5 --> 8.0.6/8.1.6 - LINUX</entry> - </row> - - <row> - <entry>0072984</entry> - <entry>Release of Digital UNIX 4.0B for &oracle;</entry> - </row> - - <row> - <entry>0130581</entry> - <entry>R3SETUP step DIPGNTAB terminates</entry> - </row> - - <row> - <entry>0144978</entry> - <entry>Your system has not been installed correctly</entry> - </row> - - <row> - <entry>0162266</entry> - <entry>Questions and tips for R3SETUP on - Windows NT/W2K</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3 id="sap-notes-46c"> - <title>&sap.r3; 4.6C, &oracle; 8.1.7</title> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Nummer</entry> - <entry>Bezeichnung</entry> - </row> - </thead> - <tbody> - <row> - <entry>0015023</entry> - <entry>Initializing table TCPDB (RSXP0004) (EBCDIC)</entry> - </row> - - <row> - <entry>0045619</entry> - <entry>R/3 with several languages or typefaces</entry> - </row> - - <row> - <entry>0171356</entry> - <entry>&sap; Software on Linux: Essential Comments</entry> - </row> - - <row> - <entry>0195603</entry> - <entry>RedHat 6.1 Enterprise version: Known problems</entry> - </row> - - <row> - <entry>0212876</entry> - <entry>The new archiving tool SAPCAR</entry> - </row> - - <row> - <entry>0300900</entry> - <entry>Linux: Released DELL Hardware</entry> - </row> - - <row> - <entry>0377187</entry> - <entry>RedHat 6.2: important remarks</entry> - </row> - - <row> - <entry>0387074</entry> - <entry>INST: R/3 4.6C SR2 Installation on UNIX</entry> - </row> - - <row> - <entry>0387077</entry> - <entry>INST: R/3 4.6C SR2 Inst. on UNIX - &oracle;</entry> - </row> - - <row> - <entry>0387078</entry> - <entry>&sap; Software on UNIX: OS Dependencies 4.6C SR2</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - </sect2> - - <sect2 id="hardware-requirements"> - <title>Hardware-Anforderungen</title> - - <para>Die folgende Ausstattung reicht für die Installation eines - <application>&sap.r3; Systems</application> aus. Für - Produktionszwecke benötigt man natürlich eine - exakte Bestimmung dieser Größen:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Komponente</entry> - <entry>4.6B</entry> - <entry>4.6C</entry> - </row> - </thead> - <tbody> - <row> - <entry>Prozessor</entry> - <entry>2 x 800MHz &pentium; III</entry> - <entry>2 x 800MHz &pentium; III</entry> - </row> - - <row> - <entry>Hauptspeicher</entry> - <entry>1GB ECC</entry> - <entry>2GB ECC</entry> - </row> - - <row> - <entry>Festplattenplatz</entry> - <entry>50-60GB (IDES)</entry> - <entry>50-60GB (IDES)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>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.</para> - - <sect3 id="hardware-46b"> - <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> - - <para>Folgende 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.</para> - </sect3> - - <sect3 id="hardware-46c"> - <title>&sap.r3; 4.6C, &oracle; 8.1.7</title> - - <para>Fü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.</para> - </sect3> - </sect2> - - <sect2 id="installation"> - <title>Installation von FreeBSD</title> - - <para>Als erstes müssen Sie FreeBSD installieren. - Dazu gibt es mehrere Möglichkeiten: In den Beispielen - wurde FreeBSD 4.3 via FTP, FreeBSD 4.5 hingegen direkt - von CD installiert. Weitere Hinweise zur Installation - von &os; finden Sie in - <xref linkend="install">.</para> - <!-- <xref linkend="install-diff-media">.</para> --> - - <sect3 id="disk-layout"> - <title>Aufteilung der Festplatte</title> - - <para>Um das Ganze zu vereinfachen, wurde sowohl für die - <application>&sap.r3; 46B</application>- als auch die - <application>&sap.r3; 46C SR2</application>-Installation die - gleiche Platteneinteilung verwendet. Nur die Gerätenamen - änderten sich, da die Installationen auf verschiedenen - Hardwareplattformen durchgeführt wurden.(insbesondere - <devicename>/dev/da</devicename> sowie - <devicename>/dev/amr</devicename>; wenn also jemand z.B. - ein AMI &megaraid; verwendet, so wird er - <devicename>/dev/amr0s1a</devicename> anstelle von - <devicename>/dev/da0s1a</devicename> vorfinden):</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Dateisystem</entry> - <entry>Größe (1k-blocks)</entry> - <entry>HDD-Größe (GB)</entry> - <entry>Gemountet nach</entry> - </row> - </thead> - <tbody> - <row> - <entry><devicename>/dev/da0s1a</devicename></entry> - <entry>1.016.303</entry> - <entry>1</entry> - <entry><filename>/</filename></entry> - </row> - - <row> - <entry><devicename>/dev/da0s1b</devicename></entry> - <entry> </entry> - <entry>6</entry> - <entry>Swap</entry> - </row> - - <row> - <entry><devicename>/dev/da0s1e</devicename></entry> - <entry>2.032.623</entry> - <entry>2</entry> - <entry><filename>/var</filename></entry> - </row> - - <row> - <entry><devicename>/dev/da0s1f</devicename></entry> - <entry>8.205.339</entry> - <entry>8</entry> - <entry><filename>/usr</filename></entry> - </row> - - <row> - <entry><devicename>/dev/da1s1e</devicename></entry> - <entry>45.734.361</entry> - <entry>45</entry> - <entry><filename>/compat/linux/oracle</filename></entry> - </row> - - <row> - <entry><devicename>/dev/da1s1f</devicename></entry> - <entry>2.032.623</entry> - <entry>2</entry> - <entry><filename>/compat/linux/sapmnt</filename></entry> - </row> - - <row> - <entry><devicename>/dev/da1s1g</devicename></entry> - <entry>2.032.623</entry> - <entry>2</entry> - <entry><filename>/compat/linux/usr/sap</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Konfigurieren 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.</para> - - <para>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.</para> - </sect3> - - <sect3 id="makeworldandnewkernel"> - <title><command>make world</command> und ein neuer Kernel</title> - - <para>Laden 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 <link linkend="kerneltuning">Kernel Parameter</link> - einfügen, die sowohl von <application>&sap.r3;</application> - als auch von <application>&oracle;</application> - benötigt werden.</para> - </sect3> - </sect2> - - <sect2 id="installingthelinuxenviornment"> - <title>Installation der Linux-Umgebung</title> - - <sect3 id="installinglinuxbase-system"> - <title>Das Linux-Basissystem installieren</title> - - <para>Zuerst muss der Port - <link linkend="linuxemu-libs-port">linux_base</link> - als <username>root</username> installiert werden:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput> -&prompt.root; <userinput>make package</userinput></screen> - - </sect3> - - - <sect3 id="installinglinuxdevelopment"> - <title>Die Linux-Entwicklungsumgebung installieren</title> - - <para>Die Linux-Entwicklungsumgebung wird benötigt, wenn Sie - <application>&oracle;</application> auf Ihrem FreeBSD-System - installieren wollen (siehe <xref linkend="linuxemu-oracle">):</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/devel/linux_devtools</userinput> -&prompt.root; <userinput>make install distclean</userinput></screen> - - <para>Die Linux-Entwicklungsumgebung wurde hier jedoch nur für - die <application>&sap.r3; 46B IDES</application>-Installation - verwendet. Sie wird nicht benötigt, wenn die - <application>&oracle;</application>-Datenbank auf dem FreeBSD - System nicht neu gebunden wird. Dies ist dann der Fall, - wenn Sie den <application>&oracle;</application> - Tarball eines Linux-Systems verwenden.</para> - </sect3> - - - <sect3 id="installingnecessaryrpms"> - <title>Notwendige RPMs installieren</title> - <indexterm><primary>RPMs</primary></indexterm> - - <para>Um das <command>R3SETUP</command>-Programm - zu starten, wird PAM-Unterstützung benötigt. - Während der ersten Installation von - <application>&sap;</application> 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 <application>&sap.r3; 4.6C SR2</application> - 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.</para> - - -<screen>&prompt.root; <userinput>rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ -pam-0.68-7.i386.rpm</userinput></screen> - - <para>Um den Intelligent-Agent von - <application>&oracle; 8.0.5</application> auszuführen, - musste das RedHat Tcl-Paket - <filename>tcl-8.0.5-30.i386.rpm</filename> installiert werden, - da sonst das Binden (<foreignphrase>link</foreignphrase>) - während der <application>&oracle;</application>-Installation - nicht funktionierte. Es gibt noch weitere Punkte beim - Binden von &oracle;, die aber die Kombination - <application>&oracle;</application>-Linux - betreffen und nicht FreeBSD spezifisch sind.</para> - </sect3> - - <sect3 id="linuxprocandfallbackelfbrand"> - <title>Zusätzliche Hinweise</title> - - <para>Eine gute Idee ist es, <literal>linprocfs</literal> - in <filename>/etc/fstab</filename> einzufügen; - weitere Informationen dazu erhalten Sie in der Hilfeseite - &man.linprocfs.5;. Weiterhin sollten Sie in - der Datei <filename>/etc/sysctl.conf</filename> - die Zeile <literal>kern.fallback_elf_brand=3</literal> - einfügen.</para> - </sect3> - </sect2> - - <sect2 id="creatingsapr3env"> - <title>Die &sap.r3;-Umgebung erzeugen</title> - - <sect3 id="filesystemsandmountpoints"> - <title>Die nötigen Dateisysteme erzeugen</title> - - <para>Für eine einfache Installation reicht es aus, - folgende Dateisysteme zu erzeugen:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Dateisysteme</entry> - <entry>Größe in GB</entry> - </row> - </thead> - <tbody> - <row> - <entry><filename>/compat/linux/oracle</filename></entry> - <entry>45 GB</entry> - </row> - - <row> - <entry><filename>/compat/linux/sapmnt</filename></entry> - <entry>2 GB</entry> - </row> - - <row> - <entry><filename>/compat/linux/usr/sap</filename></entry> - <entry>2 GB</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Außerdem müssen einige Links angelegt werden. - Ansonsten beschwert sich der - <application>&sap;</application>-Installer, wenn er die - erzeugten Links überprüft:</para> - - <screen>&prompt.root; <userinput>ln -s /compat/linux/oracle /oracle</userinput> -&prompt.root; <userinput>ln -s /compat/linux/sapmnt /sapmnt</userinput> -&prompt.root; <userinput>ln -s /compat/linux/usr/sap /usr/sap</userinput></screen> - - <para>Eine Fehlermeldung während der Installation (hier unter dem - <emphasis>PRD</emphasis>-System und - <application>&sap.r3; 4.6C SR2</application> könnte - beispielsweise so aussehen:</para> - - <screen>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'</screen> - </sect3> - - <sect3 id="creatingusersanddirectories"> - <title>Benutzer und Verzeichnisse anlegen</title> - - <para><application>&sap.r3;</application> benötigt zwei - Benutzer und drei Benutzergruppen. Die Benutzernamen - hängen von der (aus drei Buchstaben bestehenden) - <application>SAP</application>-System-ID (SID) ab. Einige - dieser SIDs sind von <application>&sap;</application> - reserviert (z.B. <literal>SAP</literal> und - <literal>NIX</literal>. Für eine komplette - Übersicht schlagen Sie bitte in der - <application>&sap;</application>-Dokumentation - nach. Für die IDES-Installation wurde <literal>IDS</literal> - verwendet, für die 4.6C-SR2-Installation - <literal>PRD</literal>, 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):</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Gruppen-ID</entry> - <entry>Gruppen-Name</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>100</entry> - <entry>dba</entry> - <entry>Datenbank-Administrator</entry> - </row> - <row> - <entry>101</entry> - <entry>sapsys</entry> - <entry>SAP System</entry> - </row> - <row> - <entry>102</entry> - <entry>oper</entry> - <entry>Datenbank-Operator</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Bei einer - Standard-<application>&oracle;</application>-Installation - wird nur die Gruppe <groupname>dba</groupname> verwendet. - Für die Gruppe <groupname>oper</groupname> wird - ebenfalls die Gruppe <groupname>dba</groupname> verwendet - (weitere Informationen finden sich in der - <application>&oracle;</application>- und - <application>&sap;</application>-Dokumentation).</para> - - <para>Zusätzlich werden auch folgende Benutzer - benötigt:</para> - - <informaltable frame="none"> - <tgroup cols="6"> - <thead> - <row> - <entry>Benutzer-ID</entry> - <entry>Benutzername</entry> - <entry>Generischer Name</entry> - <entry>Gruppe</entry> - <entry>Zusätzliche Gruppen</entry> - <entry>Beschreibung</entry> - </row> - </thead> - <tbody> - <row> - <entry>1000</entry> - <entry>idsadm/prdadm</entry> - <entry><replaceable>sid</replaceable>adm</entry> - <entry>sapsys</entry> - <entry>oper</entry> - <entry>SAP Administrator</entry> - </row> - <row> - <entry>1002</entry> - <entry>oraids/oraprd</entry> - <entry>ora<replaceable>sid</replaceable></entry> - <entry>dba</entry> - <entry>oper</entry> - <entry>&oracle; Administrator</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Für das Anlegen des &sap;-Administrators mittels - &man.adduser.8; werden folgende Einträge - (beachten Sie bitte die Shell und das Heimatverzeichnis) - benötigt:</para> - - <programlisting>Name: <replaceable>sid</replaceable>adm -Password: ****** -Fullname: SAP Administrator <replaceable>SID</replaceable> -Uid: 1000 -Gid: 101 (sapsys) -Class: -Groups: sapsys dba -HOME: /home/<replaceable>sid</replaceable>adm -Shell: bash (/compat/linux/bin/bash)</programlisting> - - <para>und für den Datenbank-Administrator:</para> - - <programlisting>Name: ora<replaceable>sid</replaceable> -Password: ****** -Fullname: Oracle Administrator <replaceable>SID</replaceable> -Uid: 1002 -Gid: 100 (dba) -Class: -Groups: dba -HOME: /oracle/<replaceable>sid</replaceable> -Shell: bash (/compat/linux/bin/bash)</programlisting> - - <para>Wenn Sie beide Gruppen (<groupname>dba</groupname> und - <groupname>oper</groupname>) verwenden, sollte auch die Gruppe - <groupname>oper</groupname> hinzugefügt werden.</para> - - </sect3> - - <sect3 id="creatingdirectories"> - <title>Verzeichnisse erzeugen</title> - - <para>Diese 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:</para> - - <para>Zuerst werden die Eigentümer und Rechte für - einige Verzeichnisse (als Benutzer <username>root</username>) - gesetzt:</para> - - <screen>&prompt.root; <userinput>chmod 775 /oracle</userinput> -&prompt.root; <userinput>chmod 777 /sapmnt</userinput> -&prompt.root; <userinput>chown root:dba /oracle</userinput> -&prompt.root; <userinput>chown <replaceable>sid</replaceable>adm:sapsys /compat/linux/usr/sap</userinput> -&prompt.root; <userinput>chmod 775 /compat/linux/usr/sap</userinput></screen> - - <para>Danach werden (als Benutzer - <username>ora<replaceable>sid</replaceable></username>) einige - Verzeichnisse erzeugt, die alle Unterverzeichnisse von - <filename>/oracle/<replaceable>SID</replaceable></filename> sind:</para> - - <screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput> -&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput> -&prompt.root; <userinput>mkdir mirrlogA mirrlogB origlogA origlogB</userinput> -&prompt.root; <userinput>mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6</userinput> -&prompt.root; <userinput>mkdir saparch sapreorg</userinput> -&prompt.root; <userinput>exit</userinput></screen> - - <para>Für die <application>&oracle; 8.1.7</application>-Installation - werden ebenfalls zusätzliche Verzeichnisse benötigt:</para> - - <screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput> -&prompt.root; <userinput>cd /oracle</userinput> -&prompt.root; <userinput>mkdir 805_32</userinput> -&prompt.root; <userinput>mkdir client stage</userinput> -&prompt.root; <userinput>mkdir client/80x_32</userinput> -&prompt.root; <userinput>mkdir stage/817_32</userinput> -&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput> -&prompt.root; <userinput>mkdir 817_32</userinput></screen> - - <note><para>Das Verzeichnis <filename>client/80x_32</filename> - muss genau so genannt werden. Versuchen Sie nicht, - das <emphasis>x</emphasis> durch eine Zahl oder - einen Buchstaben zu ersetzen.</para></note> - - <para>Im dritten Schritt werden wiederum Verzeichnisse (als Benutzer - <username><replaceable>sid</replaceable>adm</username>) erzeugt:</para> - - <screen>&prompt.root; <userinput>su - <replaceable>sid</replaceable>adm</userinput> -&prompt.root; <userinput>cd /usr/sap</userinput> -&prompt.root; <userinput>mkdir <replaceable>SID</replaceable></userinput> -&prompt.root; <userinput>mkdir trans</userinput> -&prompt.root; <userinput>exit</userinput></screen> - </sect3> - - <sect3 id="entriesinslashetcslashservices"> - <title>Einträge in <filename>/etc/services</filename></title> - - <para><application>&sap.r3;</application> benötigt - einige Einträge in <filename>/etc/services</filename>, - die während der Installation unter FreeBSD nicht - richtig gesetzt werden. Sie benötigen mindestens - die zur Instanzennummer, in diesem Fall <literal>00</literal>, - passenden Einträge. Es ist auch möglich, - direkt alle Einträge für - <literal>dp</literal>, <literal>gw</literal>, - <literal>sp</literal> und <literal>ms</literal> - von <literal>00</literal> bis <literal>99</literal> - einzufügen. Wenn Sie einen - <application>SAP-Router</application> verwenden, oder - den Zugang zu &sap;-OSS benötigen, - müssen Sie auch <literal>99</literal> einfügen, - da der Port 3299 normalerweise für den - <application>SAP-Router</application>-Prozess auf - dem Zielsystem benötigt wird:</para> - - <programlisting>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 -sapms<replaceable>SID</replaceable> 3600/tcp # SAP Message Server. 3600 + Instance-Number -sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number</programlisting> - </sect3> - - <sect3 id="necessarylocales"> - <title>Notwendige Lokalisierungen</title> - <indexterm><primary>Locale</primary></indexterm> - - <para><application>&sap;</application> 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.</para> - - <para>Es ist auch möglich, nur die passenden Links - (z.B. von <emphasis>de_DE</emphasis> und <emphasis>en_US</emphasis>) - zu erzeugen, diese Vorgehensweise wird aber nicht nicht - empfohlen (obwohl es bisher beim IDES-System ohne Probleme - funktioniert hat). Folgende Lokalisationen werden - benötigt:</para> - - <programlisting>de_DE.ISO-8859-1 -en_US.ISO-8859-1</programlisting> - - <para>Erzeugen Sie die Links wie folgt:</para> - - <screen>&prompt.root; <userinput>cd /compat/linux/usr/share/locale</userinput> -&prompt.root; <userinput>ln -s de_DE de_DE.ISO-8859-1</userinput> -&prompt.root; <userinput>ln -s en_US en_US.ISO-8859-1</userinput></screen> - - <para>Sind diese nicht vorhanden, wird es während - der Installation zu einigen Problemen kommen. Wenn diese - konsequent ignoriert werden (indem der fehlgeschlagene - Schritt in <filename>CENTRDB.R3S</filename> auf - <literal>OK</literal> gesetzt wird), ist es ohne - größeren Aufwand nicht mehr möglich, sich am - <application>&sap;</application>-System anzumelden.</para> - </sect3> - - <sect3 id="kerneltuning"> - <title>Kernel-Tuning</title> - <indexterm><primary>Kernel Tuning</primary></indexterm> - - <para><application>&sap.r3;</application>-Systeme verbrauchen - sehr viele Ressourcen. Deshalb wurden folgende Parameter - in die Kernelkonfigurationsdatei eingefügt:</para> - - <programlisting># 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 keys</programlisting> - - <para>Die 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 <application>&sap;</application> und - <application>&oracle;</application> größer sein. - Wählen Sie daher eine größere Anzahl von - Shared-Memory-Pages.</para> - - <note><para>Bei einer Standard-Installation von - FreeBSD 4.5 auf &i386;-Systemen belassen Sie - <literal>MAXDSIZ</literal> und <literal>DFLDSIZ</literal> - auf dem Maximum von 1 GB. Ansonsten könnten - seltsame Fehlermeldungen, wie - <errorname>ORA-27102: out of memory</errorname> oder - <errorname>Linux Error: 12: Cannot allocate memory</errorname> - auftreten.</para></note> - </sect3> - </sect2> - - <sect2 id="installingsapr3"> - <title>&sap.r3; installieren</title> - - <sect3 id="preparingsapcdroms"> - <title>Die &sap; CD-ROMs vorbereiten</title> - - <para>Fü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,</para> - - <programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></programlisting> - - <para>wobei <replaceable>cd-name</replaceable> <filename>KERNEL</filename>, - <filename>RDBMS</filename>, <filename>EXPORT1</filename>, - <filename>EXPORT2</filename>, <filename>EXPORT3</filename>, - <filename>EXPORT4</filename>, <filename>EXPORT5</filename> und - <filename>EXPORT6</filename> bei einer 4.6B/IDES-Installation und - <filename>KERNEL</filename>, <filename>RDBMS</filename>, - <filename>DISK1</filename>, <filename>DISK2</filename>, - <filename>DISK3</filename>, <filename>DISK4</filename> und - <filename>LANG</filename> 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 <option>-g</option>. Für das - Kopieren der CD-Inhalte verwenden Sie folgenden Befehle:</para> - - <screen>&prompt.root; <userinput>mount_cd9660 -g /dev/cd0a /mnt</userinput> -&prompt.root; <userinput>cp -R /mnt/* /oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></userinput> -&prompt.root; <userinput>umount /mnt</userinput></screen> - </sect3> - - <sect3 id="runningtheinstall-script"> - <title>Das Installations-Skript ausführen</title> - - <para>Als erstes müssen Sie ein Installationsverzeichnis - anlegen:</para> - - <screen>&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable>/sapreorg</userinput> -&prompt.root; <userinput>mkdir install</userinput> -&prompt.root; <userinput>cd install</userinput></screen> - - <para>Anschließend wird das Installations-Skript gestartet, - das nahezu alle relevanten Daten in das Installationsverzeichnis - kopiert:</para> - - <screen>&prompt.root; <userinput>/oracle/<replaceable>SID</replaceable>/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen> - - <para>Die 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 - <filename>CENTRDB.R3S</filename> - für eine Standard-Zentralinstanz - (<application>&r3;</application> plus Datenbank) - ausgelegt ist, aber nicht für eine IDES-Zentralinstanz, - muss die passende <filename>CENTRDB.R3S</filename>-Datei - manuell aus dem Verzeichnis - <filename class="directory">EXPORT1</filename> in das - Installationsverzeichnis kopiert werden, da - <command>R3SETUP</command> ansonsten nur nach drei - EXPORT-CDs verlangt.</para> - - <para>Die aktuellere Version <application>&sap; 4.6C SR2</application> - wird mit vier EXPORT-CDs geliefert. Die die Installation - überwachende Parameter-Datei heißt hier - <filename>CENTRAL.R3S</filename>. Im Gegensatz zu früheren - Versionen gibt es nun keine separaten Vorlagen für - die Installation von Zentralinstanzen mit und ohne Datenbank mehr. - <application>&sap;</application> 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.</para> - - <para>Während und nach der Installation benötigt - <application>&sap;</application> <command>hostname</command>, - 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 - <command>alias hostname='hostname -s'</command> - für die Benutzer - <username>ora<replaceable>sid</replaceable></username> und - <username><replaceable>sid</replaceable>adm</username> - (Und zusätzlich für <username>root</username>. - Dies zumindest für die Installationsschritte, die als - <username>root</username> ausgeführt werden müssen.). - Außerdem ist es möglich, nur die während - der <application>&sap;</application>-Installation erstellten - Dateien <filename>.profile</filename> und - <filename>.login</filename> beider Benutzer anzupassen.</para> - </sect3> - - <sect3 id="startr3setup-46B"> - <title><command>R3SETUP</command> 4.6B starten</title> - - <para>Stellen Sie sicher, dass <envar>LD_LIBRARY_PATH</envar> korrekt - gesetzt wurde:</para> - - <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib</userinput></screen> - - <para>Gehen Sie in das Installationsverzeichnis und starten Sie - <command>R3SETUP</command> als <username>root</username>:</para> - - <screen>&prompt.root; <userinput>cd /oracle/IDS/sapreorg/install</userinput> -&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen> - - <para>Das Skript stellt anschließend einige Fragen - (Vorgaben stehen dabei in Klammern, gefolgt von den - aktuellen Eingaben):</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Frage</entry> - <entry>Vorgabe</entry> - <entry>Eingabe</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter SAP System ID</entry> - <entry>[C11]</entry> - <entry>IDS<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter SAP Instance Number</entry> - <entry>[00]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter SAPMOUNT Directory</entry> - <entry>[/sapmnt]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter name of SAP central host</entry> - <entry>[troubadix.domain.de]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter name of SAP db host</entry> - <entry>[troubadix]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Select character set</entry> - <entry>[1] (WE8DEC)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Oracle server version (1) Oracle 8.0.5, - (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6</entry> - <entry> </entry> - <entry>1<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Extract Oracle Client archive</entry> - <entry>[1] (Yes, extract)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to KERNEL CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/KERNEL</entry> - </row> - <row> - <entry>Enter path to RDBMS CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/RDBMS</entry> - </row> - <row> - <entry>Enter path to EXPORT1 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT1</entry> - </row> - <row> - <entry>Directory to copy EXPORT1 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD4_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to EXPORT2 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT2</entry> - </row> - <row> - <entry>Directory to copy EXPORT2 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD5_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to EXPORT3 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT3</entry> - </row> - <row> - <entry>Directory to copy EXPORT3 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD6_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to EXPORT4 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT4</entry> - </row> - <row> - <entry>Directory to copy EXPORT4 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD7_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to EXPORT5 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT5</entry> - </row> - <row> - <entry>Directory to copy EXPORT5 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD8_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to EXPORT6 CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/IDS/sapreorg/EXPORT6</entry> - </row> - <row> - <entry>Directory to copy EXPORT6 CD</entry> - <entry>[/oracle/IDS/sapreorg/CD9_DIR]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter amount of RAM for SAP + DB</entry> - <entry> </entry> - <entry>850<keycap>Enter</keycap> (in Megabytes)</entry> - </row> - <row> - <entry>Service Entry Message Server</entry> - <entry>[3600]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of sapsys</entry> - <entry>[101]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of oper</entry> - <entry>[102]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of dba</entry> - <entry>[100]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter User-ID of <replaceable>sid</replaceable>adm</entry> - <entry>[1000]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter User-ID of ora<replaceable>sid</replaceable></entry> - <entry>[1002]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Number of parallel procs</entry> - <entry>[2]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Wenn Sie die CD-Inhalte nicht in verschiedene - Verzeichnisse kopiert haben, findet das - <application>&sap;</application>-Installationsprogramm - die benötigten CDs nicht (diese sind durch die Datei - <filename>LABEL.ASC</filename> gekennzeichnet) und - würde von Ihnen verlangen, entweder die CD einzulegen - und zu mounten oder den entsprechenden mount-Pfad - einzugeben.</para> - - <para><filename>CENTRDB.R3S</filename> 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.</para> - - <para>Abgesehen von einigen kleineren (unten angeführten) - Problemen, sollte nun bis zur Installation der - <application>&oracle;</application>-Datenbank alles ohne Probleme - ablaufen.</para> - </sect3> - - <sect3 id="startr3setup-46C"> - <title><command>R3SETUP</command> 4.6C SR2 starten</title> - - <para>Stellen Sie sicher, dass <envar>LD_LIBRARY_PATH</envar> - korrekt gesetzt ist. Dieser Wert unterscheidet sich von dem der - 4.6B-<application>&oracle; 8.0.5</application>-Installation:</para> - - <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib</userinput></screen> - - <para>Gehen Sie in das Installationsverzeichnis und führen - Sie <command>R3SETUP</command> als - <username>root</username> aus:</para> - - <screen>&prompt.root; <userinput>cd /oracle/PRD/sapreorg/install</userinput> -&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen> - - <para>Das Skript stellt anschließend einige Fragen - (Vorgaben in Klammern, gefolgt von den aktuellen Eingaben):</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Frage</entry> - <entry>Vorgabe</entry> - <entry>Eingabe</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter SAP System ID</entry> - <entry>[C11]</entry> - <entry>PRD<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter SAP Instance Number</entry> - <entry>[00]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter SAPMOUNT Directory</entry> - <entry>[/sapmnt]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter name of SAP central host</entry> - <entry>[majestix]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Database System ID</entry> - <entry>[PRD]</entry> - <entry>PRD<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter name of SAP db host</entry> - <entry>[majestix]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Select character set</entry> - <entry>[1] (WE8DEC)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Oracle server version (2) Oracle 8.1.7</entry> - <entry> </entry> - <entry>2<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Extract Oracle Client archive</entry> - <entry>[1] (Yes, extract)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter path to KERNEL CD</entry> - <entry>[/sapcd]</entry> - <entry>/oracle/PRD/sapreorg/KERNEL</entry> - </row> - <row> - <entry>Enter amount of RAM for SAP + DB</entry> - <entry>2044</entry> - <entry>1800<keycap>Enter</keycap> (in Megabytes)</entry> - </row> - <row> - <entry>Service Entry Message Server</entry> - <entry>[3600]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of sapsys</entry> - <entry>[100]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of oper</entry> - <entry>[101]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Group-ID of dba</entry> - <entry>[102]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter User-ID of <username>oraprd</username></entry> - <entry>[1002]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter User-ID of <username>prdadm</username></entry> - <entry>[1000]</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>LDAP support</entry> - <entry> </entry> - <entry>3<keycap>Enter</keycap> (no support)</entry> - </row> - <row> - <entry>Installation step completed</entry> - <entry>[1] (continue)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - <row> - <entry>Choose installation service</entry> - <entry>[1] (DB inst,file)</entry> - <entry><keycap>Enter</keycap></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Bisher verursacht das Anlegen von Benutzern eine - Fehlermeldung während der Installation, und zwar - in den Stadien OSUSERDBSID_IND_ORA (beim Anlegen - des Benutzers <username>ora<replaceable>sid</replaceable></username>), - sowie in OSUSERSIDADM_IND_ORA (beim Anlegen des Benutzers - <username><replaceable>sid</replaceable>adm</username>).</para> - - <para>Abgesehen von einigen kleineren (unten angeführten) - Problemen, sollte nun bis zur Installation der - <application>&oracle;</application>-Datenbank alles ohne - Probleme ablaufen.</para> - </sect3> - </sect2> - - <sect2 id="installingoracle805"> - <title>&oracle; 8.0.5 installieren</title> - - <para>Lesen Sie bitte die entsprechenden - <application>&sap;</application>-Hinweise und - <application>&oracle;</application>-<filename>Readme</filename>s für Probleme, - die <application>Linux</application> - und die <application>&oracle;</application>-Datenbank betreffen. - Die meisten (wenn nicht alle) Probleme - werden durch inkompatible Bibliotheken verursacht.</para> - - <para>Weiteres zur - <application>&oracle;</application>-Installation - finden Sie im Kapitel <link linkend="linuxemu-oracle">Installation - von &oracle;.</link></para> - - <sect3 id="installingtheoracle805withorainst"> - <title>&oracle; 8.0.5 mit <command>orainst</command> installieren</title> - - <para>Wenn <application>&oracle; 8.0.5</application> verwendet - wird, werden einige zusätzliche Bibliotheken benötigt, - da <application>&oracle; 8.0.5</application> 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:</para> - - <para><filename>compat-libs-5.2-2.i386.rpm</filename></para> - <para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para> - <para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para> - <para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para> - <para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para> - - <para>Lesen Sie bitte die entsprechenden &sap;-Hinweise - und die &oracle;-<filename>Readme</filename>s. - 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.</para> - - <para>Um den Intelligent-Agent zu kompilieren, muss - das RedHat Tcl-Paket installiert sein. Wenn Sie - <filename>tcl-8.0.3-20.i386.rpm</filename> nicht bekommen - können, sollte es auch problemlos möglich sein, - eine neuere Version, z.B. - <filename>tcl-8.0.5-30.i386.rpm</filename> für - RedHat 6.1, zu verwenden.</para> - - <para>Vom Binden abgesehen, läuft die Installation - wie folgt ab:</para> - - <screen>&prompt.root; <userinput>su - oraids</userinput> -&prompt.root; <userinput>export TERM=xterm</userinput> -&prompt.root; <userinput>export ORACLE_TERM=xterm</userinput> -&prompt.root; <userinput>export ORACLE_HOME=/oracle/IDS</userinput> -&prompt.root; <userinput>cd /ORACLE_HOME/orainst_sap</userinput> -&prompt.root; <userinput>./orainst</userinput></screen> - - <para>Bestätigen Sie alle Meldungen mit <keycap>Enter</keycap>, - bis die Software installiert ist. Einzige Ausnahme ist die - Frage nach der Installation des <emphasis>&oracle; On-Line - Text Viewers</emphasis>. Dieser ist unter Linux (noch) - nicht verfügbar. Daher muss diese Option deaktiviert werden. - Anschließend will sich <application>&oracle;</application> - unter Verwendung von <command>i386-glibc20-linux-gcc</command> - anstelle der verfügbaren <command>gcc</command>, - <command>egcs</command> oder - <command>i386-redhat-linux-gcc</command> verlinken.</para> - - <para>Auf Grund zeitlicher Einschränkungen wurden - für die Installation die Binärdateien der - <application>&oracle; 8.0.5 PreProduction</application>-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.</para> - </sect3> - - <sect3 id="installingtheoracle805preproduction"> - <title>&oracle; 8.0.5 Pre-Production für - Linux (Kernel 2.0.33) installieren</title> - - <para>Diese 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.</para> - - <para>Danach konnte die - <application>&oracle;</application>-Datenbank - ohne Probleme gestartet werden.</para> - </sect3> - </sect2> - - <sect2 id="installingoracle817"> - <title>Das &oracle; 8.1.7-Linux-Archiv entpacken</title> - <para>Nehmen Sie das aus dem Installationsverzeichnis eines - Linux-Systems erstellte Archiv <filename>oracle81732.tgz</filename> - und entpacken Sie es nach - <filename>/oracle/<replaceable>SID</replaceable>/817_32/</filename>.</para> - </sect2> - - <sect2 id="continuewithsapr4installation"> - <title>Mit der &sap.r3;-Installation fortfahren</title> - - <para>Überprüfen Sie als Erstes die - Umgebungseinstellungen der Benutzer - <username>idsamd</username>(<replaceable>sid</replaceable>adm) und - <username>oraids</username> (ora<replaceable>sid</replaceable>). - Beide sollten nun die Dateien <filename>.profile</filename>, - <filename>.login</filename> und <filename>.cshrc</filename> - enthalten, die alle <command>hostname</command> benutzen. - Falls der Rechnername Ihres Systems der vollständige Rechnername - ist, müssen Sie in allen drei Dateien - <command>hostname</command> in <command>hostname -s</command> - ändern.</para> - - <sect3 id="databaseload"> - <title>Datenbanken laden</title> - - <para>Danach kann <command>R3SETUP</command> entweder erneut - gestartet oder fortgesetzt werden (je nachdem, ob Sie das - Programm zuvor beendet hatten oder nicht). - <command>R3SETUP</command> 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 - <command>R3load</command> in die Datenbank.</para> - - <para>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.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Frage</entry> - <entry>Eingabe</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter Password for sapr3</entry> - <entry>sap<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Confirum Password for sapr3</entry> - <entry>sap<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Password for sys</entry> - <entry>change_on_install<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Confirm Password for sys</entry> - <entry>change_on_install<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Enter Password for system</entry> - <entry>manager<keycap>Enter</keycap></entry> - </row> - <row> - <entry>Confirm Password for system</entry> - <entry>manager<keycap>Enter</keycap></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>An diesem Punkt gab es während der 4.6B-Installation - einige Probleme mit <command>dipgntab</command>.</para> - </sect3> - - <sect3 id="listener"> - <title>Listener</title> - - <para>Starten Sie den <application>&oracle;</application>-Listener als Benutzer - <username>ora<replaceable>sid</replaceable></username> - wie folgt:</para> - - <screen>&prompt.user; <userinput>umask 0; lsnrctl start</userinput></screen> - - <para>Ansonsten könnten Sie die Meldung - <errorcode>ORA-12546</errorcode> erhalten, - da die Sockets nicht über die korrekten Berechtigungen - verfügen werden. Lesen Sie dazu auch den - &sap;-Hinweis 072984.</para> - </sect3> - - <sect3 id="mnlstables"> - <title>MNLS-Tabellen aktualisieren</title> - <para>Wenn Sie Nicht-Latin-1-Sprachen in das - <application>&sap;</application>-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 - <application>&sap;</application>-Installation - überspringen.</para> - - <note><para>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.</para></note> - </sect3> - </sect2> - - <sect2 id="postinstallationsteps"> - <title>Abschließende Aufgaben</title> - - <sect3 id="requestsapr3licensekey"> - <title>&sap.r3;-Lizenzschlüssel anfordern</title> - - <para>Sie müssen Ihren - <application>&sap.r3;</application>-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 - <username>idsadm</username> an und rufen - Sie <command>saplicense</command> auf:</para> - - <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -get</userinput></screen> - - <para>Wird <command>saplicense</command> ohne Optionen aufgerufen, - so erhalten Sie eine Übersicht der möglichen Optionen. - Nach Erhalt des Lizenzschlüssels kann dieser - installiert werden:</para> - - <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -install</userinput></screen> - - <para>Nun müssen Sie folgende Daten eingeben:</para> - - <programlisting>SAP SYSTEM ID = <replaceable>SID, 3 Zeichen</replaceable> -CUSTOMER KEY = <replaceable>Hardware-Schlüssel, 11 Zeichen</replaceable> -INSTALLATION NO = <replaceable>Installation, 10 Ziffern</replaceable> -EXPIRATION DATE = <replaceable>JJJJMMTT, normalerweise "99991231"</replaceable> -LICENSE KEY = <replaceable>Lizenzschlüssel, 24 Zeichen</replaceable></programlisting> - </sect3> - - <sect3 id="creatingusers"> - <title>Benutzer anlegen</title> - - <para>Erzeugen Sie einen Benutzer innerhalb von client 000 - (für einige Aufgaben muss dies innerhalb von - client 000 erfolgen, aber nicht als Benutzer - <username>sap*</username> und <username>ddic</username>). - Als Benutzername empfiehlt sich beispielsweise - <username>wartung</username> (oder auf Englisch - <username>service</username>). Benötigte - Profile sind <literal>sap_new</literal> und - <literal>sap_all</literal>. Aus Sicherheitsgründen - sollten die Passwörter der Standardbenutzer in allen - Clients geändert werden (dies gilt auch für die Benutzer - <username>sap*</username> und <username>ddic</username>).</para> - </sect3> - - <sect3 id="configtranssysprofileopermodesetc"> - <title>Transportsystem, Profile, Betriebsarten usw. - konfigurieren</title> - - <para>Innerhalb von client 000 führen andere Benutzer als - <username>ddic</username> und <username>sap*</username> - normalerweise folgende Aufgaben durch:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Aufgabe</entry> - <entry>Transaktion</entry> - </row> - </thead> - <tbody> - <row> - <entry>Konfiguration des Transportsystems, beispielsweise als - <emphasis>Stand-Alone Transport Domain Entity</emphasis></entry> - <entry>STMS</entry> - </row> - <row> - <entry>Erstellen und Editieren von Profilen</entry> - <entry>RZ10</entry> - </row> - <row> - <entry>Pflege von Betriebsarten und Instanzen</entry> - <entry>RZ04</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Diese sowie alle anderen Post-Installationsschritte - sind ausführlich in den <application>&sap;</application>-Installationsanleitungen - beschrieben.</para> - </sect3> - - <sect3 id="editintsidsap"> - <title><filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) anpassen</title> - - <para>Die Datei <filename>/oracle/IDS/dbs/initIDS.sap</filename> - enthält das <application>&sap;</application>-Sicherungsprofil. Hier sind die - Größe des verwendeten Band(laufwerks), - die Kompressionsart und so weiter festgelegt. Um dieses - Profil mit <command>sapdba</command> oder <command>brbackup</command> - auszuführen, wurden folgende Werte geändert:</para> - - <programlisting>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/sa0</programlisting> - - <para>Erklärungen:</para> - - <para><varname>compress</varname>: Das verwendete Bandlaufwerk - war ein HP DLT1. Dieses unterstützt Hardware-Kompression.</para> - - <para><varname>archive_function</varname>: 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.</para> - - <para><varname>cpio_flags</varname>: Standardmäßig - wird <option>-B</option> 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 <option>--block-size=128</option> - verwendet, um 64 KB-blöcke zu erzeugen. - <option>--format=newc</option> wurde benötigt, da das - Installationssystem über mehr als 65535 Inodes - verfügt. Die letzte Option <option>--quiet</option> ist notwendig, weil - <command>brbackup</command> sich sonst beschwert, wenn - die <command>cpio</command> die Anzahl der gespeicherten - Blöcke ausgibt.</para> - - <para><varname>cpio_in_flags</varname>: Flags, die zum Laden - der Daten vom Band benötigt werden. Das Format wird - dabei automatisch erkannt.</para> - - <para><varname>tape_size</varname>: 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.</para> - - <para><varname>tape_address</varname>: Nicht zurückspulendes - Gerät für <command>cpio</command>.</para> - - <para><varname>tape_address_rew</varname>: Zurückspulendes - Gerät für <command>cpio</command>.</para> - </sect3> - - <sect3> - <title>Konfiguration nach Installationsende</title> - - <para>Die folgenden <application>&sap;</application>-Parameter sollten nach der - Installation optimiert werden (die Beispiele gelten - für IDES 46B, 1 GB Hauptspeicher):</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Wert</entry> - </row> - </thead> - <tbody> - <row> - <entry>ztta/roll_extension</entry> - <entry>250000000</entry> - </row> - <row> - <entry>abap/heap_area_dia</entry> - <entry>300000000</entry> - </row> - <row> - <entry>abap/heap_area_nondia</entry> - <entry>400000000</entry> - </row> - <row> - <entry>em/initial_size_MB</entry> - <entry>256</entry> - </row> - <row> - <entry>em/blocksize_kB</entry> - <entry>1024</entry> - </row> - <row> - <entry>ipc/shm_psize_40</entry> - <entry>70000000</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>&sap;-Hinweis 0013026:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Wert</entry> - </row> - </thead> - <tbody> - <row> - <entry>ztta/dynpro_area</entry> - <entry>2500000</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>&sap;-Hinweis 0157246:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Wert</entry> - </row> - </thead> - <tbody> - <row> - <entry>rdisp/ROLL_MAXFS</entry> - <entry>16000</entry> - </row> - <row> - <entry>rdisp/PG_MAXFS</entry> - <entry>30000</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Mit obigen Parametern und einem System mit 1 Gigabyte - Hauptspeicher, könnte der Speicherverbrauch in etwa - so aussehen:</para> - - <programlisting>Mem: 547M Active, 305M Inactive, 109M Wired, 40M Cache, 112M Buf, 3492K Free</programlisting> - </note> - </sect3> - </sect2> - - <sect2 id="problemsduringinstallation"> - <title>Während der Installation auftretende Probleme</title> - - <sect3 id="restartr3setup"> - <title>Neustarten von <command>R3SETUP</command> nach Behebung eines Problems</title> - - <para><command>R3SETUP</command> bricht ab, wenn ein Fehler auftritt. Wenn Sie - (nach Durchsicht der jeweiligen Protokolldateien) den Fehler - behoben haben, müssen Sie <command>R3SETUP</command> erneut aufrufen, - indem Sie für den fehlerhaften Schritt als Option - REPEAT eingeben.</para> - - <para>Um <command>R3SETUP</command> erneut zu starten, rufen Sie die Datei - einfach mit der entsprechenden <filename>R3S</filename>-Datei - auf:</para> - - <screen>&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen> - - <para>für 4.6B, oder mit</para> - - <screen>&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen> - <para>für 4.6C, unabhängig davon, ob der Fehler mit - <filename>CENTRAL.R3S</filename> oder mit - <filename>DATABASE.R3S</filename> auftrat.</para> - - <note><para>Zu bestimmten Zeitpunkten nimmt <command>R3SETUP</command> an, dass - sowohl der Datenbank- als auch die <application>&sap;</application>-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 <application>&sap;</application> manuell - neu starten, nachdem Sie die Fehler behoben haben. Erst danach - darf <command>R3SETUP</command> erneut gestartet werden.</para> - - <para>Achten Sie auch darauf, den <application>&oracle;</application>-Listener erneut - zu starten (als Benutzer <username>ora<replaceable>sid</replaceable></username> - mittels <command>umask 0; lsnrctl start</command>), wenn - dieser beendet wurde (z.B. durch einen notwendigen - Neustart des Systems).</para> - </note> - </sect3> - - <sect3 id="indoraduringduringr3setup"> - <title>Fehler im Stadium OSUSERSIDADM_IND_ORA bei der Ausführung von <command>R3SETUP</command></title> - - <para>Wenn sich <command>R3SETUP</command> in diesem Stadium beschwert, editieren - Sie die bei der Installation verwendete Version der - Vorlage (<filename>CENTRDB.R3S</filename> (4.6B) oder - entweder <filename>CENTRAL.R3S</filename> oder - <filename>DATABASE.R3S</filename> (4.6C)). Finden Sie - <literal>[OSUSERSIDADM_IND_ORA]</literal> oder suchen Sie nach dem einzigen - <literal>STATUS=ERROR</literal>-Eintrag und ändern - Sie die folgenden Werte:</para> - - <programlisting>HOME=/home/<replaceable>sid</replaceable>adm (war voher leer) -STATUS=OK (hatte den Status ERROR) - </programlisting> - - <para>Danach können Sie <command>R3SETUP</command> erneut aufrufen.</para> - </sect3> - - <sect3 id="indoraduringr3setup"> - <title>Fehler im Stadium OSUSERDBSID_IND_ORA bei der - Ausführung von <command>R3SETUP</command></title> - - <para>Wahrscheinlich beschwert sich <command>R3SETUP</command> 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 <filename>CENTRDB.R3S</filename> (4.6B) oder - entweder <filename>CENTRAL.R3S</filename> oder - <filename>DATABASE.R3S</filename> (4.6C)). Finden Sie - <literal>[OSUSERDBSID_IND_ORA]</literal> oder suchen Sie nach dem einzigen - <literal>STATUS=ERROR</literal>-Eintrag und ändern - Sie folgenden Eintrag:</para> - - <programlisting>STATUS=OK</programlisting> - - <para>Danach können Sie <command>R3SETUP</command> erneut aufrufen.</para> - </sect3> - - <sect3 id="oraviewvrffilenotfound"> - <title>Fehler <errorname>oraview.vrf FILE NOT FOUND</errorname> bei der - &oracle;-Installation</title> - - <para>Sie haben die Option - <emphasis>&oracle; On-Line Text Viewer</emphasis> 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 - <application>&oracle;</application>-Installationsmenü und starten Sie die Installation - erneut.</para> - </sect3> - - <sect3 id="textenvincalid"> - <title>Fehler <errorname>TEXTENV_INVALID</errorname> bei der Ausführung von <command>R3SETUP</command>, - RFC oder beim Start von SAPGUI</title> - - <para>Tritt dieser Fehler auf, so fehlt die korrekte Lokalisierung. - &sap;-Hinweis 0171356 führt die notwendigen RPMs auf, - die installiert sein müssen (zum Beispiel - <filename>saplocales-1.0-3</filename>, - <filename>saposcheck-1.0-1</filename> für - RedHat 6.1). Falls Sie alle damit verbundenen Fehler - ignoriert haben, und bei der Ausführung von <command>R3SETUP</command> - den <literal>STATUS</literal> jeweils von <literal>ERROR</literal> auf <literal>OK</literal> (in <filename>CENTRDB.R3S</filename>) - gesetzt haben, um <command>R3SETUP</command> anschließend neu zu starten, - wurde das <application>&sap;</application>-System nicht ordnungsgemäß - konfiguriert. Das bedeutet, dass Sie nicht via - <application>SAPgui</application> am System anmelden können, - obwohl das System trotzdem gestartet werden kann. Ein Versuch, - sich über die alte Linux-<application>SAPgui</application> - anzumelden, führte zu folgenden Fehlermeldungen:</para> - - <programlisting>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] -Speicherzugriffsfehler</programlisting> - - <para>Dieses Verhalten kommt daher, weil <application>&sap.r3;</application> 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 <application>&sap;</application> anmelden zu können, müssen Sie - folgende Einträge zur Datei <filename>DEFAULT.PFL</filename> - (lesen Sie dazu auch Hinweis 0043288) hinzufügen:</para> - - <programlisting>abap/set_etct_env_at_new_mode = 0 -install/collate/active = 0 -rscp/TCP0B = TCP0B</programlisting> - - <para>Starten Sie nun das <application>&sap;</application>-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 - <filename>DEFAULT.PFL</filename> löschen und das - <application>&sap;</application>-System anschließend neu starten.</para> - </sect3> - - <sect3 id="ora-00001"> - <title><errorcode>ORA-00001</errorcode></title> - <para>Dieser Fehler trat nur bei einer Installation von - <application>&oracle; 8.1.7</application> unter FreeBSD 4.5 - auf. Dies geschah deshalb, weil sich die <application>&oracle;</application>-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 <errorcode>ORA-00001</errorcode>.</para> - - <para>Suchen Sie diese Semaphore mittels <command>ipcs -a</command> - und entfernen Sie sie mit <command>ipcrm</command>.</para> - </sect3> - - <sect3 id="ora-00445pmon"> - <title><errorcode>ORA-00445</errorcode> (Hintergrundprozess PMON wurde nicht gestartet)</title> - <para>Dieser Fehler trat bei <application>&oracle; 8.1.7</application> - auf. Die Meldung erscheint, wenn die Datenbank mit dem - normalen <command>startsap</command>-Skript (zum Beispiel - <command>startsap_majestix_00</command>) aber als Benutzer - <username>prdadm</username> gestartet wird.</para> - - <para>Dies kann vermieden werden, indem die Datenbank als Benutzer - <username>oraprd</username> über <command>svrmgrl</command> - gestartet wird:</para> - - <screen>&prompt.user; <userinput>svrmgrl</userinput> -SVRMGR> <userinput>connect internal;</userinput> -SVRMGR> <userinput>startup</userinput>; -SVRMGR> <userinput>exit</userinput></screen> - </sect3> - - <sect3 id="ora-12546"> - <title><errorcode>ORA-12546</errorcode> (den Listener mit den richtigen - Berechtigungen starten)</title> - - <para>Starten Sie den <application>&oracle;</application>-Listener als Benutzer - <username>oraids</username> mit folgendem Befehl:</para> - - <screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen> - - <para>Ansonsten könnten Sie die Meldung <errorcode>ORA-12546</errorcode> erhalten, - da die Sockets nun nicht die richtigen Berechtigungen aufweisen. - Lesen Sie dazu auch den &sap;-Hinweis 0072984.</para> - </sect3> - - <sect3 id="ora-27102"> - <title><errorcode>ORA-27102</errorcode> (kein freier Speicher mehr)</title> - - <para>Dieser Fehler trat auf, wenn versucht wurde, für - <literal>MAXDSIZ</literal> und <literal>DFLDSIZ</literal> - Werte über 1 GB (1024x1024x1024) festzulegen. - Zusätzlich führte dies zur Fehlermeldung - <errorname>Linux Error 12: Cannot allocate memory</errorname>.</para> - </sect3> - - <sect3 id="dipgntabindind"> - <title>Fehler im Stadium [DIPGNTAB_IND_IND] bei der - Ausführung von <command>R3SETUP</command></title> - - <para>Für allgemeine Informationen lesen Sie bitte den - &sap;-Hinweis 0130581 # (R3SETUP - Abbruch im Stadium - <literal>DIPGNTAB</literal>). Bei der IDES-spezifischen - Installation verwendete der Installationsprozess aus - irgendwelchen Gründen nicht den - korrekten &sap;-Systemnamen <quote>IDS</quote>, sondern den leeren - String <literal>""</literal>. Dies führte zu einigen kleineren Problemen - beim Zugriff auf bestimmte Verzeichnisse, da die Pfade durch - <replaceable>SID</replaceable> (in diesem Fall IDS) dynamisch - generiert werden. Das heißt anstatt auf</para> - - <programlisting>/usr/sap/IDS/SYS/... -/usr/sap/IDS/DVMGS00</programlisting> - - <para>zuzugreifen, wurden folgende Pfade verwendet:</para> - - <programlisting>/usr/sap//SYS/... -/usr/sap/D00</programlisting> - - <para>Um dennoch mit der Installation fortfahren zu können, - wurden ein Link sowie ein zusätzliches Verzeichnis - erzeugt:</para> - - <screen>&prompt.root; <userinput>pwd</userinput> -/compat/linux/usr/sap -&prompt.root; <userinput>ls -l</userinput> -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 trans</screen> - - <para>Dieses Verhalten wird auch in den &sap;-Hinweisen 0029227 - und 0008401 beschrieben. Bei der Installtion von - <application>&sap; 4.6C</application> trat allerdings keines dieser - Probleme auf.</para> - </sect3> - - <sect3 id="rfcrswboiniindind"> - <title>Fehler im Stadium [RFCRSWBOINI_IND_IND] bei der - Ausführung von <command>R3SETUP</command></title> - - <para>Bei der Installation von <application>&sap; 4.6C</application> - 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.</para> - - <para>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 <literal>STATUS</literal> des betreffenden Schritts von <literal>ERROR</literal> auf <literal>OK</literal> - setzen (und zwar in der Datei <filename>CENTRDB.R3S</filename>). - Anschließend starten Sie <command>R3SETUP</command> erneut. Nach - der Installation müssen Sie den Report - <literal>RSWBOINS</literal> der Transaktion - SE38 ausführen. Lesen Sie den &sap;-Hinweis 0162266, - um weitere Informationen zu den Stadien - <literal>RFCRSWBOINI</literal> und <literal>RFCRADDBDIF</literal> - zu erhalten.</para> - </sect3> - - <sect3 id="rfcraddbdifindind"> - <title>Fehler im Stadium [RFCRADDBDIF_IND_IND] bei der - Ausführung von <command>R3SETUP</command></title> - <para>Hier 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.</para> - - <para>Wenn Sie sicher sind, dass &sap;-Hinweis 0162266 auf - Ihr System zutrifft, setzen Sie den <literal>STATUS</literal> des betreffenden - Stadiums von <literal>ERROR</literal> auf <literal>OK</literal> (und zwar in der Datei - <filename>CENTRDB.R3S</filename>). Anschließend starten - Sie <command>R3SETUP</command> erneut. Nach der Installation müssen Sie den - Report <literal>RADDBDIF</literal> der Transaktion SE38 - ausführen.</para> - </sect3> - - <sect3 id="sigactionsig31"> - <title>sigaction sig31: File size limit exceeded</title> - - <para>Dieser Fehler trat beim Start des <application>&sap;</application>-Prozesses - <command>disp+work</command> auf. Wird <application>&sap;</application> mit - <command>startsap</command>-Skript gestartet, werden Subprozesse gestartet, - deren Aufgabe es ist, alle anderen <application>&sap;</application>-Prozesse zu starten. - Als Folge davon erkennt <command>startsap</command> dabei auftretende - Fehler nicht.</para> - - <para>Um zu überprüfen, ob die <application>&sap;</application>-Prozesse korrekt - gestartet wurden, überprüfen Sie den Prozessstatus - mit <command>ps ax | grep <replaceable>SID</replaceable></command>. - Sie erhalten dadurch eine Liste aller <application>&oracle;</application>- und <application>&sap;</application>-Prozesse. - Wenn einige Prozesse fehlen, oder Sie sich nicht mit dem - <application>&sap;</application>-System verbinden können, überprüfen Sie - wiederum die entsprechenden Protokolldateien, die sich unter - <filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename> - befinden. Die zu durchsuchenden Dateien heißen - <filename>dev_ms</filename> und <filename>dev_disp</filename>.</para> - - <para>Wenn <application>&oracle;</application> und <application>&sap;</application> 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.</para> - - <programlisting># larger value for 46C production systems: -options SHMMAXPGS=393216 -# smaller value sufficient for 46B: -#options SHMMAXPGS=262144</programlisting> - - </sect3> - - <sect3 id="saposcolfails"> - <title>Der Start von <command>saposcol</command> schlug fehl</title> - <para>Das Programm <command>saposcol</command> (Version 4.6D) kann - einige Probleme verursachen. Das - <application>&sap;</application>-System verwendet - <command>saposcol</command>, - um Daten über die Systemleistung zu sammeln. - Für die Benutzung des <application>&sap;</application>-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.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="linuxemu-advanced"> - <title>Weiterführende Themen</title> - - <para>Wenn 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 (<email>tlambert@primenet.com</email>) - an die FreeBSD-Chat-Mailingliste - (<email>freebsd-chat@FreeBSD.org</email>) geschrieben wurde - (Message ID: <literal><199906020108.SAA07001@usr09.primenet.com></literal>).</para> - - <sect2> - <title>Wie funktioniert es?</title> - <indexterm><primary>execution class loader</primary></indexterm> - - <para>FreeBSD verfügt über eine <quote>execution class - loader</quote> genannte Abstraktion. Dabei handelt es sich um einen - Eingriff in den &man.execve.2; Systemaufruf.</para> - - <para>FreeBSD verfügt über eine Liste von Ladern, anstelle - eines einzigen, auf <literal>#!</literal> - zurückgreifenden Laders, um Shell-Interpreter oder Shell-Skripte - auszuführen.</para> - - <para>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.</para> - - <para>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.</para> - - <para>Dabei wurde als Standardeinstellung <quote>was auch immer die - aktuelle Shell ist</quote> festgelegt.</para> - - <para>Später wurde ein Hack in &man.sh.1; eingefügt, - der die zwei ersten Zeichen untersuchte. Wenn diese - <literal>:\n</literal> entsprachen, - wurde stattdessen die &man.csh.1;-Shell aufgerufen - (wir glauben, dass dies zuerst von SCO umgesetzt wurde).</para> - - <para>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 <literal>#!</literal>-Zeile - angegeben. Läßt sich der Interpreter nicht ermitteln, - wird auf <filename>/bin/sh</filename> zurückgegriffen.</para> - - <indexterm><primary>ELF</primary></indexterm> - - <para>Fü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.).</para> - - <indexterm><primary>Solaris</primary></indexterm> - - <para>Der ELF-Lader sucht nach einer speziellen - <emphasis>Kennzeichnung</emphasis>, die aus einem Kommentarabschnitt - in der ELF-Datei besteht, und die in SVR4/&solaris; ELF - Binärdateien nicht vorhanden ist.</para> - - <para>Damit Linux-Binärdateien (unter FreeBSD) funktionieren, - müssen sie als <literal> Linux</literal> - <emphasis>gekennzeichnet</emphasis> werden, und zwar durch - &man.brandelf.1;:</para> - - <screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen> - - <para>Nachdem dies geschehen ist, erkennt der ELF-Lader die - <literal>Linux</literal>-Kennzeichnung der Datei.</para> - <indexterm> - <primary>ELF</primary> - <secondary><command>brandelf</command></secondary> - </indexterm> - - <para>Wenn der ELF-Lader die <literal>Linux</literal>-Kennzeichnung - sieht, wird ein Zeiger in der <literal>proc</literal>-Struktur - ersetzt. Alle Systemaufrufe werden durch diesen Zeiger indiziert - (in einem traditionellen &unix; System wäre das ein - <literal>sysent[]</literal>-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.</para> - - <para>Der Linux-Systemaufrufvektor enthält neben anderen - Dingen eine Liste der <literal>sysent[]</literal>-Einträge, - deren Adressen sich im Kernelmodul befinden.</para> - - <para>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.</para> - - <para>Zusätzlich <emphasis>verändert</emphasis> der - Linuxmodus die Systempfade dynamisch; genauso, wie dies die - Option <option>union</option> beim Einbinden von Dateisystemen - macht (Achtung: <emphasis>nicht</emphasis> das Dateisystem unionfs!). - Zuerst wird die Datei im Verzeichnis <filename>/compat/linux/<replaceable>Originalpfad</replaceable></filename> - gesucht, <emphasis>danach</emphasis>, wenn sie dort nicht gefunden - wurde, wird sie im FreeBSD-Verzeichnis - <filename>/<replaceable>Originalpfad</replaceable></filename> - 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 - <filename>/compat/linux</filename> plaziertes &man.uname.1; kann - damit Linux-Programmen vorgaukeln, dass sie auf einem Linux-System - laufen.</para> - - <para>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-<emphasis>glue</emphasis>-Funktionen verwenden. - Linux-Binärdateien hingegen verwenden die - Linux-<emphasis>glue</emphasis>-Funktionen. Die meisten - älteren Betriebssysteme hatten ihre eigenen - <emphasis>glue</emphasis>-Funktionen: Funktionsadressen - in einem globalen, statischen <literal>sysent[]</literal> - Strukturfeld an Stelle von Funktionsadressen, die durch - einen dynamisch initialisierten Zeiger aus der - <literal>proc</literal> Struktur, die den Aufruf gemacht hatte, - dereferenziert wurden.</para> - - <para>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-<emphasis>glue</emphasis>-Funktionen statisch in - den Kernel gelinkt sind, und dass die - Linux-<emphasis>glue</emphasis>-Funktionen statisch gelinkt - oder über ein Modul eingebunden werden können.</para> - - <para>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.</para> - - <para>Warum wird es manchmal <quote>Linux-Emulation</quote> 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 <quote>Der Linux-Emulator</quote>.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> |