From affa9d7410848a35b0b7516f662c8fb462889f97 Mon Sep 17 00:00:00 2001 From: Remko Lodder Date: Sun, 19 Dec 2004 15:34:13 +0000 Subject: [PATCH] Importing the linuxemu chapter (1.116) Obtained from: The FreeBSD Dutch Documentation Project Approved by: simon (mentor) --- .../books/handbook/linuxemu/chapter.sgml | 3743 ++++++++++++++++- 1 file changed, 3560 insertions(+), 183 deletions(-) diff --git a/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml index 71d99c42c6..8db84701ac 100644 --- a/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml @@ -2,6 +2,8 @@ The FreeBSD Dutch Documentation Project $FreeBSD$ + $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml,v 1.21 2004/12/19 15:31:45 remko Exp $ + Gebaseerd op: 1.118 --> @@ -10,7 +12,7 @@ Jim Mock - Herstructureerd en delen geupdate door + Geherstructureerd en delen bijgewerkt door @@ -25,50 +27,362 @@ Murphey + + + René + Ladan + Vertaald door + + - * Linux binary compatibiliteit + + &linux; Binaire Compatibiliteit - * Samenvatting + Samenvatting - + &os; levert binaire compatibiliteit met verscheidene andere + &unix; achtige besturingssystemen, waaronder &linux;. Op dit + moment kan de vraag gesteld worden waarom &os; nu precies + &linux; binaries moet kunnen draaien. Het antwoord is dat veel + bedrijven en ontwikkelaars alleen ontwikkelen voor &linux;, omdat + dat het nieuwste hebbeding is in de wereld van + computers. Dat laat &os; gebruikers al zeurend achter bij + diezelfde bedrijven en ontwikkelaars om originele &os; versies + van hun applicaties. Het probleem is dat veel van deze bedrijven + zich niet goed realiseren hoeveel mensen hun product zouden + gebruiken als er ook &os; versies van waren en de meesten blijven + alleen voor &linux; ontwikkelen. Dus wat moet een &os; gebruiker + doen? Hier komt de &linux; binaire compatibiliteit van &os; om + de hoek kijken. + + In een notendop stelt de compatibiliteit &os; in staat om + rond de 90% van alle &linux; applicaties zonder wijzigingen te + draaien. Dit omvat applicaties zoals + &staroffice;, de &linux; versie van + &netscape;, + &adobe; &acrobat;, + RealPlayer, + VMWare, + &oracle;, WordPerfect, + Doom, + Quake en meer. Er wordt zelfs gemeld + dat in sommige gevallen &linux; binaries beter presteren op &os; + dan op &linux;. + + + &linux; + + /proc bestandssysteem + + + Er zijn echter enkele &linux; specifieke + besturingssysteemeigenschappen die niet door &os; ondersteund + worden. &linux; binaries werken niet op &os; als ze overvloedig + gebruik maken van het &linux; bestandssysteem + /proc (dat anders is dan + /proc van &os;), of van &i386; specifieke + aanroepen, zoals het aanzetten van de virtuele 8086 modus. + + Na het lezen van dit hoofdstuk weet de lezer: + + + + Hoe &linux; binaire compatibiliteit op een systeem aan + te zetten; + + + + Hoe aanvullende &linux; gedeelde bibliotheken te + installeren; + + + + Hoe &linux; applicaties op een &os; systeem te + installeren; + + + + De implementatiedetails van &linux; compatibiliteit in + &os;. + + + + Aangeraden voorkennis: + + + + Hoe extra software van derden te installeren (). + + - * Installatie + Installatie + + KLD (kernel loadable object) + + &linux; binaire compatibiliteit staat standaard niet aan. De + gemakkelijkste manier om deze functionaliteit aan te zetten is + door het linux KLD object (Kernel + LoaDable object) te laden. Deze module kan geladen + worden door simpelweg linux op de + opdrachtregel in te geven. + + Als &linux; compatibiliteit altijd aan moet staan, dan moet + de volgende regel aan /etc/rc.conf + toegevoegd worden: + + linux_enable="YES" + + Met &man.kldstat.8; kan gecontroleerd worden of de KLD + geladen is: + + &prompt.user; kldstat +Id Refs Address Size Name + 1 2 0xc0100000 16bd8 kernel + 7 1 0xc24db000 d000 linux.ko + + + kernelopties + + LINUX + + + Als het om enige reden ongewenst of onmogelijk is de KLD te + laden, dan kan de &linux; binaire compatibiliteit statisch in de + kernel gecompileerd worden door + options COMPAT_LINUX aan het + kernelinstellingenbestand toe te voegen. Daarna kan de nieuwe + kernel zoals beschreven in + geïnstalleerd worden. - * Linux runtime bibliotheken installeren + &linux; Runtime Bibliotheken Installeren + + + &linux; + + &linux; bibliotheken installeren + + + Dit kan op twee manieren gedaan worden: door de linux_base port te + gebruiken of door ze handmatig te + installeren. - * Installeren door middel van de linux_base port + Installeren uit de linux_base Port - + portscollectie + + Dit is verreweg de gemakkelijkste weg om te bewandelen + om de runtime bibliotheken te installeren. Het is net + als het installeren van andere ports uit de portscollectie. + Dit kan met het volgende commando: + + &prompt.root; cd /usr/ports/emulators/linux_base +&prompt.root; make install distclean + + Nu is er werkende &linux; binaire compatibiliteit. + Sommige programma's kunnen klagen over onjuiste kleine + versies van de systeembibliotheken. Over het algemeen + schijnt dit echter geen probleem te zijn. + + + Er kunnen verschillende versies van de emulators/linux_base port + beschikbaar zijn, overeenkomend met verschillende versies + van verscheidene &linux; distributies. Het is verstandig + de port te installeren die het meest voldoet aan de eisen + van de &linux; applicaties die geïnstalleerd gaan + worden. + - * Bibliotheken handmatig installeren + Bibliotheken Handmatig Installeren - + Als de portscollectie niet is geïnstalleerd, kunnen + de bibliotheken met de hand geïnstalleerd worden. Om + alles te laten werken moeten de &linux; gedeelde bibliotheken + waarvan het programma afhankelijk is en de runtime linker + geïnstalleerd worden. Ook moet een shadow + root map aangemaakt worden, + /compat/linux, voor &linux; bibliotheken + op een &os; systeem. Elke gedeelde bibliotheek die wordt + geopend door &linux; programma's die op &os; draaien, kijken + eerst in deze boomstructuur. Dus als een &linux; programma + bijvoorbeeld /lib/libc.so laadt, + probeert &os; eerst + /compat/linux/lib/libc.so te openen, en + als die niet bestaat, probeert het + /lib/libc.so proberen. Gedeelde + bibliotheken moeten in de schaduwmapstructuur + geïnstalleerd worden in plaats van in de paden die het + &linux; ld.so rapporteert. + + In het algemeen geldt dat alleen de eerste paar keer + dat een &linux; binary wordt geïnstalleerd op een &os; + systeem naar de gedeelde bibliotheken gezocht wordt waar + &linux; binaries van afhankelijk zijn. Na een tijd is de + verzameling van &linux; gedeelde bibliotheken op een systeem + voldoende groot om nieuw geïmporteerde &linux; binaries + te kunnen draaien zonder enig extra werk. - * Hoe installeer je extra gedeelde bibliotheken + Extra Gedeelde Bibliotheken Installeren - + gedeelde bibliotheken + + Wat als de linux_base port is + geïnstalleerd en een applicatie nog steeds klaagt over + ontbrekende gedeelde bibliotheken? Op zich zijn er twee + mogelijkheden (voor het opvolgen van deze instructies zijn + root rechten op een &os; systeem + vereist). + + Als er toegang is tot een &linux; systeem kan gekeken + worden welke gedeelde bibliotheken de applicatie nodig heeft + en kunnen ze gekopieerd worden naar het &os systeem. Dit + wordt toegelicht in het volgende voorbeeld: + + + Stel dat FTP gebruikt is om de &linux; binary van + Doom op te halen en die op een + &linux; systeem staat waar toegang tot is. Dan kan met + ldd linuxdoom gecontroleerd worden welke + gedeelde bibliotheken er nodig zijn: + + &prompt.user; ldd linuxdoom +libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 +libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 +libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 + + symbolische links + + Alle bestanden uit de laatste kolom zijn nodig en + moeten onder /compat/linux komen te + staat en de namen uit de eerste kolom moeten er als + symbolische links naar verwijzen. Dit betekent dat + uiteindelijk deze bestanden op een &os; systeem + staan: + + /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 + +
+ + Als er al een &linux; gedeelde bibliotheek met een + groot revisienummer overeenstemmend met de eerste kolom + van de ldd uitvoer is, dan hoeft het + bestand uit de laatste kolom niet naar een systeem + gekopieerd te worden. Het bestand dat er al staat moet + werken. Het is aan te raden om de gedeelde bibliotheek + sowieso te kopiëren als het een nieuwere versie + is. De oude kan verwijderd worden, zolang de + symbolische link maar naar de nieuwe wijst. Dus als + deze bibliotheken op een systeem staan: + + /compat/linux/lib/libc.so.4.6.27 +/compat/linux/lib/libc.so.4 -> libc.so.4.6.27 + + en een nieuwe binary zegt een latere versie nodig + te hebben volgens de uitvoer van + ldd: + + libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 + + Als slechts één of twee versies + verouderd zijn in het laatste cijfer, dan hoeft + /lib/libc.so.4.6.29 niet + gekopieerd te worden, omdat het programma goed moet + werken met de ietwat oudere versie. Als er echter + behoefte aan is, kan besloten worden om + libc.so sowieso te verplaatsen, + en dat resulteert in: + + /compat/linux/lib/libc.so.4.6.29 +/compat/linux/libc.so.4 -> lbic.so.4.6.29 + +
+ +
+ + Het symbolische link mechanisme is + alleen nodig voor &linux; + binaries. De &os; runtime linker zorgt zelf voor het + kijken naar passende grote revisienummers en daar hoeft + geen zorg over te bestaan. + +
+
- * Linux ELF binaries installeren + &linux; ELF Binaries Installeren - + + &linux; + + ELF binaries + + + ELF binaries hebben soms een extra stap van + branding nodig. Als er ongemerkt ELF binaries + worden gedraaid, onstaat er een foutmelding zoals de + volgende: + + &prompt.user; ./mijn-linux-elf-binary +ELF binary type not known +Abort + + Om de &os; kernel te helpen &os; ELF binaries en &linux; + binaries uit elkaar te houden, kan &man.brandelf.1; gebruikt + worden. + + &prompt.user; brandelf -t Linux mijn-linux-elf-binary + + GNU gereedschapskist + + De GNU gereedschapskist plaatst nu automatisch de juiste + merkinformatie in ELF binaries, dus deze stap zou steeds + overbodiger moeten worden in de toekomst. - * De hostnaam resolver configureren + De Hostnaamresolver Instellen - + resolv+: "bind" is an invalid keyword resolv+: +"hosts" is an invalid keyword + + Als DNS niet werkt of de bovenstaande melding ontstaat, dan + moet /compat/linux/etc/host.conf ingesteld + worden met daarin: + + order hosts, bind +multi on + + De volgorde geeft aan dat /etc/hosts + als eerste doorzocht wordt en DNS als tweede. Als + /compat/linux/etc/host.conf niet + geïnstalleerd is, vinden &linux; applicaties + /etc/host.conf van &os; en klagen ze over + de incompatibele &os; syntaxis. bind moet + verwijderd worden als er geen naamserver is ingesteld die + gebruik maakt van /etc/resolv.conf.
@@ -78,7 +392,7 @@ Murray Stokely - Geupdate voor Mathematica 4.X door + Bijgewerkt voor &mathematica; 4.X door @@ -89,25 +403,159 @@ - * Installeren van &mathematica; + &mathematica; Installeren + + + applicaties + + &mathematica; + + + Dit document beschrijft het installatieproces van de &linux; + versie van &mathematica; 4.X op een + &os; systeem. + + De &linux; versie van + &mathematica; draait perfect op &os;, + maar de binaries die door Wolfram geleverd worden moeten gemerkt + worden zodat &os; weet dat het de Linux ABI moet gebruiken om ze + uit te voeren. + + De &linux; versie van + &mathematica; of + &mathematica; for Students kan + direct bij Wolfram besteld worden op . - * De Linux binaries brandmerken + De &linux; Binaries Merken - + De &linux; binaries zijn geplaatst in de map + Unix van de + &mathematica; CDROM geleverd door + Wolfram. Deze mappenstructuur moet naar de lokale harde schijf + gekopieerd worden, zodat de &linux; binaries gemerkt kunnen + wordt met &man.brandelf.1; voordat de installer draait: + + &prompt.root; mount /cdrom +&prompt.root; cp -rp /cdrom/Unix/ /localdir/ +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Kernel/Binaries/Linux/* +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/FrontEnd/Binaries/Linux/* +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Installation/Binaries/Linux/* +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Graphics/Binaries/Linux/* +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Converters/Binaries/Linux/* +&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/LicenseManager/Binaries/Linux/mathlm +&prompt.root; cd /localdir/Installers/Linux/ +&prompt.root; ./MathInstaller + + Als alternatief kan simpelweg het standaard ELF merk op + Linux gezet worden voor alle ongemerkte binaries met het + commando: + + &prompt.root; sysctl kern.fallback_elf_brand=3 + + Dit laat &os; aannemen dat alle ongemerkte ELF binaries de + Linux ABI gebruiken en dus zou de installer rechtstreeks van + de CDROM moeten kunnen draaien. - * Je &mathematica; wachtwoord verkrijgen + &mathematica; Wachtwoord Opvragen - + Voordat &mathematica; kan + draaien, moet er een wachtwoord komen van Wolfram dat + overeenkomt met het machine ID. + + + Ethernet + + MAC adres + + + Als de &linux; compatibiliteits-runtime bibliotheken zijn + geïnstalleerd en &mathematica; + is uitgepaktm, dan kan het machine ID verkregen + worden door mathinfo te draaien in de + installatiemap. Dit machine-ID is alleen op het MAC adres van + de eerste Ethernetkaart gebaseerd. + + &prompt.root; cd /localdir/Files/SystemFiles/Installation/Binaries/Linux +&prompt.root; mathinfo +disco.example.com 7115-70839-20412 + + Bij een registratie bij Wolfram, per email, telefoon of + fax, wordt het machine ID opgegeven en zij + reageren met een overeenkomstig wachtwoord dat uit groepen + getallen bestaat. Deze informatie kan ingevoerd worden bij het + voor de eerste keer draaien van + &mathematica;, net als voor elk + ander &mathematica; platform. - * De &mathematica; frontend draaien over een - netwerk + Het &mathematica; Frontend over een Netwerk + Draaien - + &mathematica; gebruikt enkele + speciale lettertypen om tekens af te beelden die niet aanwezig + zijn in een standaard lettertypeverzameling (integralen, + sommen, Griekse letters, enzovoort). Het X-protocol vereist + dat deze lettertypen lokaal worden + geïnstalleerd. Dit betekent dat deze lettertypen + gekopieerd moeten worden vanaf de CDROM of vanaf een host met + &mathematica; erop naar de lokale + machine. Deze lettertypen worden meestal opgeslagen in + /cdrom/Unix/Files/SystemFiles/Fonts op de + CDROM of in + /usr/local/mathematica/SystemFiles/Fonts + op de harde schijf. De eigenlijke lettertypen staan in de + submap Type1 en X. + Er zijn verschillende manieren om ze te installeren, zoals + hieronder staat beschreven. + + De eerste manier is om ze te kopiëren in + één van de bestaande lettertypenmappen in + /usr/X11R6/lib/X11/fonts. Hiertoe dient + fonts.dir bewerkt te worden door de namen + van de lettertypen eraan toe te voegen het aantal lettertypen + op de eerste regel te veranderen. Als alternatief kan ook + eenvoudig &man.mkfontdir.1; in de map gedraaid worden waar de + lettertypen heen zijn gekopieerd. + + De tweede manier om dit te doen is door de mappen naar + /usr/X11R6/lib/X11/fonts te + kopiëren: + + &prompt.root; cd /usr/X11R6/lib/X11/fonts +&prompt.root; mkdir X +&prompt.root; mkdir MathType1 +&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts +&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X +&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 +&prompt.root; cd /usr/X11R6/lib/X11/fonts/X +&prompt.root; mkfontdir +&prompt.root; cd ../MathType1 +&prompt.root; mkfontdir + + Voeg nu de nieuwe lettertypenmappen toe aan het + lettertypenpad: + + &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X +&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 +&prompt.root; xset fp rehash + + Als de &xfree86; server gebruikt + wordt, kunnen deze lettertypenmappen automatisch geladen worden + door ze aan XF86Config toe te + voegen. + + lettertypen + + Als er nog geen map + /usr/X11R6/lib/X11/fonts/Type1 bestaat, + kan de naam van de map MathType1 in het + bovenstaande voorbeeld veranderd worden naar + Type1. @@ -121,6 +569,7 @@ Bijgedragen door + Robert @@ -130,12 +579,171 @@ - * Installeren van &maple; + + &maple; Installeren + + + applicaties + + Maple + + + &maple; is een commercieel + wiskundeprogramma vergelijkbaar met + &mathematica;. De software is te koop + op en kan daar + ook geregistreerd worden voor een licentiebestand. Om deze + software op &os; te installeren kunnen de volgende eenvoudige + stappen gevolgd worden: + + + + Voer het INSTALL> shellscript + uit van de productdistributie. Kies de RedHat + optie als daarom wordt gevraagd door het + installatieprogramma. Een typische installatiemap zou + /usr/local/maple + zijn. + + + + Bestel, als dat nog niet gedaan is, een licentie voor + &maple; van Maple Waterloo + Software () en kopieer + deze naar + /usr/local/maple/license/license.dat. + + + + Installeer de FLEXlm + licentiebeheerder met het installatieshellscript + INSTALL_LIC, dat geleverd wordt bij + &maple;. Stel de primaire + hostnaam voor de machine in voor de licentieserver. + + + + Patch het bestand + /usr/local/maple/bin/maple.system.type + met het volgende: + + ----- knip ------------------ +*** 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 + ----- knip einde van patch ----- + + Achter "FreeBSD"| mogen geen verdere + witvelden staan. + + Deze patch instrueert &maple; + om &os; als een &linux; systeem te herkennen. + Het shellscript bin/maple roept het + shellscript bin/maple.system.type aan, + dat op zijn beurt uname -a aanroept om + achter de naam van het besturingssysteem te komen. + Afhankelijk van de naam van het besturingssysteem zoekt het + uit welke binaries het moet gebruiken. + + + + Start de licentieserver. + + Het volgende script, geïnstalleerd als + /usr/local/etc/rc.d/lmgrd.sh, is een + gemakkelijke manier om lmgrd op te + starten: + + ----- knip ------------ + +#! /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 + ----- knip ------------ + + + + &maple; testen: + + &prompt.user; cd /usr/local/maple/bin +&prompt.user; ./xmaple + + Nu hoort het programma te draaien. Het is belangrijk om + Maplesoft te schrijven om ze te laten weten dat een echte + &os; versie gewenst is! + + - * Gemeenschappelijke verborgen gevaren + Gemeenschappelijke Verborgen Gevaren - + + + De FLEXlm + licentiebeheerder kan een lastig programma zijn om mee te + werken. Aanvullende documentatie staat op . + + + + lmgrd staat er bekend om erg + kieskeurig over het licentiebestand te zijn en core te dumpen + als er een probleem is. Een correct licentiebestand ziet er + zo uit: + + # ======================================================= +# 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 + + + Het serienummer en de sleutel zijn vervangen door + X'en. chillig is de + hostnaam. + + + Het bewerken van het licentiebestand lukt zolang de + regel FEATURE niet verandert (die + beschermd is door de licentiesleutel). + + @@ -150,42 +758,250 @@ - * Installeren van &matlab; + + &matlab; Installeren + + + applicaties + + &matlab; + + + Dit document beschrijft het installatieproces van de &linux; + versie van &matlab; 6.5 op een &os; + systeem. Het werkt best goed, met uitzondering van de + &java.virtual.machine; (zie ). + + De &linux; versie van &matlab; kan + besteld worden bij The MathWorks op . Er dient ook een + licentiebestand of instructies hoe dat te maken te zijn. Het is + belangrijk om Maplesoft te schrijven om ze te laten weten dat een + echte &os; versie gewenst is! - * &matlab; installeren + &matlab; Installeren - + Om &matlab; te + installeren: + + + + Laad de installatie-CD en mount die. Start het + installatiescript als root: + + &prompt.root; /compat/linux/bin/sh /cdrom/install + + + Het is een grafisch installatieprogramma. Als er + foutmeldingen verschijnen dat het programma geen scherm + kan openen, kan setenv HOME + ~GEBRUIKER + uitgevoerd worden, waar + GEBRUIKER de gebruiker is + waarmee &man.su.1; is gedaan. + + + + + Als om de &matlab; rootmap + wordt gevraagd, dient + /compat/linux/usr/local/matlab + opgegeven te worden. + + + + Voer op de commandoregel het volgende uit om de + rest van het installatieproces gemakkelijk te houden: + set + MATLAB=/compat/linux/usr/local/matlab. + + + + + Wijzig het licentiebestand zoals aangegeven tijdens het + verkrijgen van de licentie voor + &matlab;. + + + Dit bestand kan van tevoren gemaakt worden met een + tekstverwerker en door het te kopiëren naar + $MATLAB/license.dat voordat het + installatieprogramma vraagt om het te bewerken. + + + + + Maak het installatieproces af. + + + + Nu is de installatie van + &matlab; compleet. De volgende + stappen lijmen het aan het &os; systeem. - * Licentie manager opstarten + Licentiebeheerder Starten - + + + Maak symbolische links voor de scriptbestanden van de + licentiebeheerder: + + &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW +&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW + + + + + Maak een opstartbestand in + /usr/local/etc/rc.d/flexlm.sh. + Onderstaand voorbeeld is een gewijzigde versie van het + meegeleverde $MATLAB/etc/rc.lm.glnx86. + De wijzigingen omvatten bestandslocaties en het starten + van de licentiebeheerder onder &linux;-emulatie. + + #!/bin/sh +case "$1" in + start) + if [ -f /usr/local/etc/lmboot_TMW ]; then + /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u gebruikersnaam && 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 + + + Het bestand moet uitvoerbaar zijn: + + &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh + + Ook moet bovenstaande + gebruikersnaam vervangen + worden door een geldige gebruikersnaam op het systeem + (maar niet door root). + + + + + Start de licentiebeheerder op met het commando: + + &prompt.root; /usr/local/etc/rc.d/flexlm.sh start + + - * De &java; runtime environment linken + De &java; Runtime-omgeving Linken - + Verander de &java; Runtime + Environment Link naar een die werkt op &os;: + + &prompt.root; cd $MATLAB/sys/java/jre/glnx86 +&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre - * Creeëren van een &matlab; opstart script + &matlab; Opstartscript Maken - + + + Plaats het volgende startscript in + /usr/local/bin/matlab: + + #!/bin/sh +/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" + + + + Geef vervolgens het commando + chmod +x /usr/local/bin/matlab. + + + + + Afhankelijk van de versie van emulators/linux_base, kunnen er + fouten optreden als dit script draait. Om dat te voorkomen, + dient in + /compat/linux/usr/local/matlab/bin/matlab + de regel: + + if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then + + (in versie 13.0.1 staat dit op regel 410) veranderd te + worden in: + + if test -L $newbase; then + - * Een &matlab; stop script creeëren + &matlab; Afsluitscript Maken - + Het volgende is nodig om een probleem op te lossen dat + samenhangt met het onjuist afsluiten van &matlab;. + + + + Maak het bestand + $MATLAB/toolbox/local/finish.m dat + alleen de volgende regel bevat: + + ! $MATLAB/bin/finish.sh + + + $MATLAB$ is hier letterlijk + bedoeld. + + + + In dezelfde map staan de bestanden + finishsav.m en + finishdlg.m, die de mogelijkheid + geven om de werkomgeving te bewaren vóór + het afsluiten. Als één van deze scripts + gebruikt wordt, dient de bovenstaande regel direct na het + commando save ingevoegd te worden. + + + + + + Maak het bestand + $MATLAB/bin/finish.sh, dat het + volgende bevat: + + #!/usr/compat/linux/bin/sh +(sleep 5; killall -1 matlab_helper) & +exit 0 + + + + Maak het bestand uitvoerbaar: + + &prompt.root; chmod +x $MATLAB/bin/finish.sh + + - * &matlab; gebruiken + &matlab; Gebruiken - + Nu kan met matlab het programma gestart + worden. @@ -200,63 +1016,286 @@ - * &oracle; installeren + + &oracle; Installeren + + + applicaties + + Oracle + - * Voorwoord + Voorwoord - + Hieronder wordt het installatieproces van + &oracle; 8.0.5 en + &oracle; 8.0.5.1 Enterprise + Edition voor &linux; op een &os;-machine + beschreven. - * De Linux environment installeren + De &linux;-omgeving Installeren - + Uit de portscollectie dienen emulators/linux_base en devel/linux_devtools + geïnstalleerd te zijn. Als er problemen zijn met deze + ports, kan het zijn dat de packages of oudere versies uit de + portscollectie gebruikt moeten worden. + + Om de intelligente agent te draaien, moet ook het Red Hat + Tcl package geïnstalleerd worden: + tcl-8.0.3-20.i386.rpm. Het algemene + commando om packages te installeren met de officiële + RPM port (archivers/rpm) is: + + &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package + + De installatie van het package + hoort foutloos te verlopen. - * De &oracle; environment creeëren + De &oracle;-omgeving Creëren + + Voordat &oracle; + geïnstalleerd kan worden, moet een juiste omgeving + opgezet worden. Dit document beschrijft alleen welke + speciale dingen gedaan moeten worden om + &oracle; voor &linux; op &os; te + draaien, en niet wat beschreven staat in de + &oracle; + installatiehandleiding. - * Kernel optimalisatie + Kerneloptimalisatie - + kerneloptimalisatie + + Zoals beschreven staat in de + &oracle; installatiehandleiding + moet de maximale grootte van het gedeelde geheugen ingesteld + worden. Op &os; moet SHMMAX niet gebruikt + worden. SHMMAX wordt slechts uit + SHMMAXPGS en PGSIZE + berekend. Daarom dient SHMMAXPGS + gedefinieerd te worden. Alle andere opties kunnen gebruikt + worden zoals in de handleiding staat beschreven. + Bijvoorbeeld: + + options SHMMAXPGS=10000 +options SHMMNI=100 +options SHMSEG=10 +options SEMMNS=200 +options SEMMNI=70 +options SEMMSL=61 + + Deze opties kunnen naargelang het gebruik van + &oracle; ingesteld worden. + + Ook de volgende opties dienen in het + kernelinstellingenbestand te staan: + + options SYSVSHM #SysV gedeeld geheugen +options SYSVSEM #SysV semaforen +options SYSVMSG #SysV interprocescommunicatie - * &oracle; account + &oracle; Account - + Creeër een oracle account op + dezelfde manier als elk ander account. Het + oracle account is alleen bijzonder in + het opzicht dat het een &linux; shell moet hebben. Dat kan + door /compat/linux/bin/bash toe te voegen + aan /etc/shells en de shell voor het + oracle account in te stellen op + /compat/linux/bin/bash. - * Environment + Omgeving - + Naast de normale &oracle; + variabelen als ORACLE_HOME en + ORACLE_SID moeten de volgende + omgevingsvariabelen ingesteld worden: + + + + + + + + + + Variabele + + Waarde + + + + + + LD_LIBRARY_PATH + + $ORACLE_HOME/lib + + + + CLASSPATH + + $ORACLE_HOME/jdbc/lib/classes111.zip + + + + PATH + + /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 + + + + + + Het is aan te raden om alle omgevingsvariabelen in + .profile in te stellen. Een volledig + voorbeeld is: + + ORACLE_BASE=/oracle; export ORACLE_BASE +ORACLE_HOME=/oracle; export ORACLE_HOME +LD_LIBRARY_PATH=$ORACLE_HOME/lib +export LD_LIBRARY_PATH +ORACLE_SID=ORCL; export ORACLE_SID +ORACLE_TERM=386x; export ORACLE_TERM +CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip +export CLASSPATH +PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin +PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin +PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin +export PATH - * &oracle; installeren + &oracle; Installeren + + Wegens een kleine inconsistentie in de &linux; emulator + moet de map .oracle aangemaakt worden + in /var/tmp voordat het + installatieprogramma wordt gestart. In deze map moet òf + door iedereen geschreven kunnen worden òf de + oracle gebruiker moet de eigenaar zijn. + Nu hoort &oracle; zonder problemen + te installeren. Bij problemen dienen eerst de + &oracle; distributie en/of de + instellingen gecontroleerd te worden! Nadat + &oracle; is geïnstalleerd, + moeten de patches uit de volgende twee secties + geïnstalleerd worden. + + Een veelvoorkomend probleem is dat de adapter voor het + TCP-protocol niet goed is geïnstalleerd. De consequentie + daarvan is dat er geen TCP-listeners gestart kunnen worden. De + volgende acties helpen om dit probleem op te lossen: + + &prompt.root; cd $ORACLE_HOME/network/lib +&prompt.root; make -f ins_network.mk ntcontab.o +&prompt.root; cd $ORACLE_HOME/lib +&prompt.root; ar r libnetwork.a ntcontab.o +&prompt.root; cd $ORACLE_HOME/network/lib +&prompt.root; make -f ins_network.mk install + + Hierna dient root.sh nogmaals te + draaien! - * root.sh patchen + <filename>root.sh</filename> Patchen - + Als &oracle; + geïnstalleerd wordt, worden sommige acties die als + root moeten worden uitgevoerd + geregistreerd in een shellscript met de naam + root.sh. Dit script komt in de map + orainst te staan. De volgende patch + dient uitgevoerd te worden op root.sh om + het de juiste locatie van chown te laten + gebruiken of als alternatief kan het script onder een + originele &linux; shell gedraaid worden + + *** 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 + + Als &oracle; niet vanaf + een CD wordt geïnstalleerd, kan de broncode van + root.sh aangepast worden. Die heet + rthd.sh en staat in de map + orainst in de broncodestructuur. + - * genclntsh patchen + genclntsh Patchen - + Het script genclntsh wordt gebruikt om + é´n enkele gedeelde bibliotheek voor de client + aan te maken. Het wordt gebruikt tijdens het maken van de + demonstraties. Met de volgende patch wordt de definitie van + PATH uitgecommentarieerd: + + *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 +--- bin/genclntsh Tue Dec 22 15:36:49 1998 +*************** +*** 32,38 **** +# +# Explicit path to ensure that we're using the correct commands +#PATH=/usr/bin:/usr/ccs/bin export PATH +! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH +# +# each product MUST provide a $PRODUCT/admin/shrept.lst +--- 32,38 ---- +# +# Explicit path to ensure that we're using the correct commands +#PATH=/usr/bin:/usr/ccs/bin export PATH +! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH +# +# each product MUST provide a $PRODUCT/admin/shrept.lst - * &oracle; gebruiken + &oracle; Draaien - + Als de instructies worden gevolgd, draait + &oracle; als op &linux; zelf. @@ -278,372 +1317,2710 @@ - * &sap.r3; installeren + + &sap.r3; Installeren + + + applicaties + + &sap.r3; + + + Installaties van &sap; Systemen + die &os; gebruiken worden niet ondersteund door het &sap; + ondersteuningsteam. Zij bieden alleen ondersteuning voor + gecertificeerde platformen. - * Voorwoord + Voorwoord - + Dit document beschrijft een mogelijke manier om een + &sap.r3; System met + &oracle; Database voor &linux; op + een &os; machine, inclusief de installatie van &os; en + &oracle;. Er worden twee + configuraties beschreven: + + + + &sap.r3; 4.6B (IDES) met + &oracle; 8.0.5 op + &os; 4.3–STABLE; + + + + + &sap.r3; 4.6C met + &oracle; 8.1.7 op + &os; 4.5–STABLE. + + + + + Hoewel dit document alle belangrijke stappen in meer detail + probeert te beschrijven, is het niet bedoeld als een vervanging + voor de &oracle; en + &sap.r3; + installatiehandleidingen. + + Voor specifieke vragen wordt verwezen naar de documentatie + die geleverd wordt bij de &sap.r3; + &linux; editie voor &sap; en + &oracle; en de bronnen van + &oracle; en + &sap; OSS. - * Software + Software + + Voor de &sap; installaties zijn + de volgende CDROMs gebruikt: - * &sap.r3; 4.6B, &oracle; 8.0.5 + &sap.r3; 4.6B, &oracle; 8.0.5 - + + + + + Naam + + Nummer + + Beschrijving + + + + + + KERNEL + + 51009113 + + SAP Kernel Oracle / Installation / AIX, Linux, + Solaris + + + + RDBMS + + 51007558 + + Oracle / RDBMS 8.0.5.X / Linux + + + + EXPORT1 + + 51010208 + + IDES / DB-Export / Disc 1 of 6 + + + + EXPORT2 + + 51010209 + + IDES / DB-Export / Disc 2 of 6 + + + + EXPORT3 + + 51010210 + + IDES / DB-Export / Disc 3 of 6 + + + + EXPORT4 + + 51010211 + + IDES / DB-Export / Disc 4 of 6 + + + + EXPORT5 + + 51010212 + + IDES / DB-Export / Disc 5 of 6 + + + + EXPORT6 + + 51010213 + + IDES / DB-Export / Disc 6 of 6 + + + + + + Ook zijn de &oracle; 8 Server + (Pre-productie versie 8.0.5 voor &linux; kernelversie 2.0.33) + CD gebruikt, die niet echt noodzakelijk is en &os; 4.3-STABLE + (een paar dagen na de 4.3-RELEASE). - * &sap.r3; 4.6C SR2, &oracle; 8.1.7 + &sap.r3; 4.6C SR2, &oracle; 8.1.7 - + + + + + Naam + + Nummer + + Beschrijving + + + + + + KERNEL + + 51014004 + + SAP Kernel Oracle / SAP Kernel Version 4.6D / + DEC, Linux + + + + RDBMS + + 51012930 + + Oracle 8.1.7/ RDBMS / Linux + + + + EXPORT1 + + 51013953 + + Release 4.6C SR2 / Export / Disc 1 of 4 + + + + EXPORT1 + + 51013953 + + Release 4.6C SR2 / Export / Disc 2 of 4 + + + + EXPORT1 + + 51013953 + + Release 4.6C SR2 / Export / Disc 3 of 4 + + + + EXPORT1 + + 51013953 + + Release 4.6C SR2 / Export / Disc 4 of 4 + + + + LANG1 + + 51013954 + + Release 4.6C SR2 / Language / DE, EN, FR / + Disc 1 van 3 + + + + + + Afhankelijk van de talen die geïnstalleerd moeten + worden kunnen aanvullende taal-CDs nodig zijn. Hier + worden DE en EN gebruikt, dus is alleen de eerste taal-CD + nodig. Een kleine kanttekening is dat de nummers van alle + vier de EXPORT CDs identiek zijn. Ook hebben alle drie de + taal-CDs hetzelfde nummer (dit verschilt met de 4.6B IDES + release CD-nummering). Ten tijde van schrijven draait deze + installatie op &os; 4.5-STABLE (20.03.2002). - * &sap; opmerkingen + Opmerkingen over &sap; + + Het wordt aangeraden de volgende notities + vóór de installatie van + &sap.r3; gelezen te hebben. Ze + waren bruikbaar tijdens de installatie: - * &sap.r3; 4.6B, &oracle; 8.0.5 + &sap.r3; 4.6B, &oracle; 8.0.5 - + + + + + Nummer + + Titel + + + + + + 0171356 + + SAP Software on Linux: Essential Comments + + + + 0201147 + + INST: 4.6C R/3 Inst. on UNIX - Oracle + + + + 0373203 + + Update / Migration Oracle 8.0.5 --> + 8.0.6/8.1.6 LINUX + + + + 0072984 + + Release of Digital UNIX 4.0B for Oracle + + + + 0130581 + + R3SETUP step DIPGNTAB terminates + + + + 0144978 + + Your system has not been installed correctly + + + + 0162266 + + Questions and tips for R3SETUP on + Windows NT / W2K + + + + - * &sap.r3; 4.6C, &oracle; 8.1.7 + &sap.r3; 4.6C, &oracle; 8.1.7 - + + + + + Nummer + + Titel + + + + + + 0015023 + + Initializing table TCPDB (RSXP0004) (EBCDIC) + + + + 0045619 + + R/3 with several languages or typefaces + + + + 0171356 + + SAP Software on Linux: Essential Comments + + + + 0195603 + + RedHat 6.1 Enterprise version: Known problems + + + + 0212876 + + The new archiving tool SAPCAR + + + + 0300900 + + Linux: Released DELL Hardware + + + + 0377187 + + RedHat 6.2: important remarks + + + + 0387074 + + INST: R/3 4.6C SR2 Installation on UNIX + + + + 0387077 + + INST: R/3 4.6C SR2 Inst. on UNIX - Oracle + + + + 0387078 + + SAP Software on UNIX: OS Dependencies 4.6C SR2 + + + + - * Hardware benodigdheden + Benodigde Hardware + + De volgende uitrusting is voldoende voor de installatie van + een &sap.r3; Systeem. Voor + productiegebruik geldt natuurlijk dat exactere gegevens nodig + zijn: + + + + + + Component + + 4.6B + + 4.6C + + + + + + Processor + + 2 x 800MHz &pentium; III + + 2 x 800MHz &pentium; III + + + + Geheugen + + 1GB ECC + + 2GB ECC + + + + Hardeschijfruimte + + 50-60GB (IDES) + + 50-60GB (IDES) + + + + + + Voor productiegebruik zijn &xeon; processoren met een grote + cache, schijftoegang op hoge snelheid (SCSI, + RAID-hardwarecontroller) USV en ECC-RAM aanbevolen. De + grote hoeveelheid benodigde schijfruimte is te wijten aan het + vooringestelde IDES-systeem, dat 27 GB aan + databasebestanden aanmaakt tijdens de installatie. Deze ruimte + is ook voldoende voor beginnende productiesystemen en + applicatiegegevens. - * &sap.r3; 4.6B, &oracle; 8.0.5 + &sap.r3; 4.6B, &oracle; 8.0.5 - + De volgende kant-en-klare hardware werd gebruikt: een + dual processorbord met 2 800 MHz &pentium;nbsp;III + processoren, &adaptec; 21960 Ultra160 SCSI adapter (om een + 40/80 GB DLT tapedrive en CDROM aan te spreken), &mylex; + &acceleraid; (2 kanalen, firmware 6.00-1-00 met 32 MB + RAM). Aan de &mylex; RAID-controller zijn twee 17 GB + harde schijven (gespiegeld) en vier 36 GB harde schijven + (RAID-niveau 5) bevestigd. - * &sap.r3; 4.6C, &oracle; 8.1.7 + &sap.r3; 4.6C, &oracle; 8.1.7 - + Voor deze installatie werd een &dell; &poweredge; 2500 + gebruikt: een dual processorbord met twee 1000 MHz + &pentium; III processoren (256 kB cache), 2 GB + PC133 ECC SDRAM, PERC/3 DC PCI RAID-controller met + 128 MB en een EIDE DVD-ROM-drive. Aan de + RAID-controller zijn twee 18 GB harde schijven + (gespiegeld) en vier 36 GB harde schijven (RAID-niveau + 5) bevestigd. - * Installatie van &os; + Installatie van &os; + + Eerst moet &os; geïnstalleerd worden. Er zijn + verschillende manieren om dit te doen (&os; 4.3 was + geïnstalleerd via FTP, &os; 4.5 direct vanaf de + RELEASE CD). Er staat meer informatie in . - * Disk layout + Schijfindeling - + Om het eenvoudig te houden, werd voor zowel de + &sap.r3; 46B installatie als de + &sap.r3; 46C SR2 installatie + dezelfde schijfindeling gebruikt. Alleen de apparaatnamen + veranderden, omdat de installaties op verschillende hardware + werden gedaan (/dev/da respectievelijk + /dev/amr, dus als een AMI &megaraid; + wordt gebruikt, is /dev/amr0s1a te zien + in plaats van /dev/da0s1a): + + + + + + Bestandssysteem + + Grootte (1k-blokken) + + Grootte (GB) + + Gemount aan + + + + + + /dev/da0s1a + + 1.016.303 + + 1 + + / + + + + /dev/da0s1b + + + + 6 + + swap + + + + /dev/da0s1e + + 2.032.623 + + 2 + + /var + + + + /dev/da0s1f + + 8.205.339 + + 8 + + /usr + + + + /dev/da1s1e + + 45.734.361 + + 45 + + /compat/linux/oracle + + + + /dev/da1s1f + + 2.032.623 + + 2 + + /compat/linux/sapmnt + + + + /dev/da1s1g + + 2.032.623 + + 2 + + /compat/linux/usr/sap + + + + + + De twee logische drives dienen tevoren met de &mylex;- of + PERC/3 RAID-software ingesteld en geïnitialiseerd te + worden. De software kan tijdens de opstartfase van het + BIOS gestart worden. + + De schijfindelingen wijken licht af van de aanbevelingen + van &sap;, omdat &sap; aanbeveelt om de + &oracle; submappen (en enkele + andere) gescheiden te mounten. Hier is besloten om ze + omwille van de eenvoud gewoon als echte submappen aan te + maken. - * <command>make world</command> en een nieuwe - kernel + <command>make world</command> en een Nieuwe + Kernel - + Nu dient de nieuwste -STABLE-broncode gedownload te + worden. Nadat het kernelinstellingenbestand is aangepast, + kunnen de wereld en de kernel opnieuw gebouwd worden. + Hier moeten ook de kernelparameters in staan die + nodig zijn voor &sap.r3; en + &oracle;. - * De Linux environment installeren + De &linux;-omgeving Installeren - * Het Linux basis systeem installeren + Het &linux; Basissysteem Installeren - + Eerst moet de linux_base port + geïnstalleerd worden (als + root): + + &prompt.root; cd /usr/ports/emulators/linux_base +&prompt.root; make install distclean - * De Linux ontwikkel enviroment installeren + De &linux; Ontwikkelomgeving Installeren - + De &linux;-ontwikkelomgeving is volgens noodzakelijk om + &oracle; op &os; te + installeren: + + &prompt.root; cd /usr/ports/devel/linux_devtools +&prompt.root; make install distclean + + De &linux;-ontwikkelomgeving is alleen voor de + &sap.r3; 46B IDES installatie + geïnstalleerd. Het is niet nodig als de + &oracle; DB niet opnieuw wordt + gelinkt op het &os;-systeem. Dit is het geval als de + &oracle; tarball van een + &linux;-systeem wordt gebruikt. - - * De benodigde RPM's installeren + De Benodigde RPM's Installeren - + RPM's + + Om het R3SETUP programma te starten is + PAM-ondersteuning nodig. Tijdens de eerste installatie van + &sap; op &os; 4.3-STABLE is + geprobeerd om PAM met alle benodigde packages te installeren + en uiteindelijk is de installatie van het PAM-package + afgedwongen, wat werkte. Voor &sap.r3; 4.6C + SR 2 is we meteen de installatie van het PAM + RPM afgedwongen, wat ook werkte, dus lijkt het erop dat de + afhankelijke packages niet nodig zijn: + + &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ +pam-0.68-7.rpm + + Om &oracle; 8.0.5 de + intelligente agent te laten draaien, moest ook het + Tcl-package van RedHat + tcl-8.0.5-30.i386.prm geïnstalleerd + worden (anders mislukt het herlinken tijdens de installatie + van &oracle;). Er zijn nog wat + andere gevallen met betrekking tot het herlinken van + &oracle;, maar dat is een + &oracle; &linux;-geval en niet + &os;-specifiek. - * Extra hints + Aanvullende Hints - + Het kan ook een goed idee zijn om + linprocfs aan + /etc/fstab toe te voegen. Meer + informatie is te vinden in &man.linprocfs.5;. Een andere + parameter om in te stellen is + kern.fallback_elf_brand=3 in + /etc/sysctl.conf. - * De &sap.r3; environment creeëren + De &sap.r3;-omgeving Maken - * De benodigde bestandsystemen en koppelpunten - creeëren + De Benodigde Bestandssystemen en Mountpunten + Creëren - + Voor een eenvoudige installatie is het voldoende om de + volgende bestandssystemen aan te maken: + + + + + + mountpunt + + grootte in GB + + + + + + /compat/linux/oracle + + 45 GB + + + + /compat/linux/sapmnt + + 2 GB + + + + /compat/linux/usr/sap + + 2 GB + + + + + + Het is ook noodzakelijk om enige mounts te maken, + anders klaagt de &sap; Installer + als die de gemaakte mounts controleert: + + &prompt.root; ln -s /compat/linux/oracle /oracle +&prompt.root; ln -s /compat/linux/sapmnt /sapmnt +&prompt.root; ln -s /compat/linux/usr/sap /usr/sap + + Mogelijke foutmeldingen tijdens de installatie zijn (hier + met System PRD en de + &sap.r3; 4.6C + SR2-installatie): + + 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' - * Gebruikers en directories aanmaken + Gebruikers en Mappen Aanmaken - + &sap.r3; heeft twee gebruikers + en drie groepen nodig. De gebruikersnamen zijn afhankelijk + van de &sap; system ID (SID) die + uit drie letters bestaat. Enkele van deze SIDs zijn + gereserveerd door &sap; + (bijvoorbeeld SAP en + NIX. In de + &sap;-documentatie staat een + complete lijst). Voor de IDES-installatie is + IDS gebruikt, voor de 4.6C SR2-installatie + PRD, omdat dat systeem bedoeld is voor + productiegebruik. Daarvoor zijn de volgende groepen gebruikt + (groep-IDs kunnen afwijken, dat zijn gewoon de waardes die + voor deze specifieke installatie gebruikt zijn): + + + + + + groep-ID + + groepsnaam + + beschrijving + + + + + + 100 + + dba + + DataBase-Administrator + + + + 101 + + sapsys + + &sap; System + + + + 102 + + oper + + DataBase-Operator + + + + + + Voor een standaard &oracle;- + installatie wordt slechts é´n groep, + dba, gebruikt. De groep + oper gebruikt ook de groep + dba (er staat meer informatie in de + &oracle;- en + &sap;-documentatie). + + Tevens zijn de volgende gebruikers nodig: + + + + + + gebruikers-ID + + gebruikersnaam + + generieke naam + + groep + + aanvullende groepen + + beschrijving + + + + + + 1000 + + idsadm/prdadm + + sidadm + + sapsys + + oper + + &sap;-beheerder + + + + 1002 + + oraids/oraprd + + orasid + + dba + + oper + + &oracle;-beheerder + + + + + + De volgende regels voor &man.adduser.8; zijn nodig om de + &sap;-beheerder-gebruiker toe te + voegen: + + Name: sidadm +Password: ****** +Fullname: SAP-beheerderSID +Uid: 1000 +Gid: 101 (sapsys) +Class: +Groups: sapsys dba +HOME: /home/sidadm +Shell: bash (/compat/linux/bin/bash) + + en deze voor de + &oracle;-beheerder-gebruiker: + + Name: orasid +Password: ****** +Fullname: Oracle-beheerderSID +Uid: 1002 +Gid: 100 (dba) +Class: +Groups: dba +HOME: /oracle/sid +Shell: bash (/compat/linux/bin/bash) + + De &oracle;-beheerder moet ook + in de groep oper zitten als de groepen + dba en oper + beiden gebruikt worden. - * Directories aanmaken + Mappen Aanmaken - + De volgende mappen worden normaalgesproken als aparte + bestandssystemen aangemaakt. Dit is geheel afhankelijk van + de behoefte. Hier is ervoor gekozen om ze als simpele mappen + aan te maken, omdat ze toch allemaal op dezelfde RAID-5 + zitten: + + Eerst worden de eigenaren en rechten van sommige mappen + ingesteld (als root): + + &prompt.root; chmod 775 /oracle +&prompt.root; chmod 777 /sapmnt +&prompt.root; chown root:dba /oracle +&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap +&prompt.root; chmod 775 /compat/linux/usr/sap + + Als tweede worden de mappen als gebruiker + orasid aangemaakt. Dat + zijn allemaal submappen van + /oracleSID: + + &prompt.root; su - orasid +&prompt.root; cd /oracle/SID +&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB +&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 +&prompt.root; mkdir saparch sapreorg +&prompt.root; exit + + Voor de &oracle; + 8.1.7-installatie zijn enkele aanvullende + mappen nodig: + + &prompt.root; su - orasid +&prompt.root; cd /oracle +&prompt.root; mkdir 805_32 +&prompt.root; mkdir client stage +&prompt.root; mkdir client/80x_32 +&prompt.root; mkdir stage/817_32 +&prompt.root; cd /oracle/SID +&prompt.root; mkdir 817_32 + + + De map client/80x_32 wordt met + precies deze naam gebruikt. De x mag + niet door een getal of iets dergelijs vervangen + worden. + + + In de derde stap worden de mappen als gebruiker + sidadm + aangemaakt: + + &prompt.root; su - sidadm +&prompt.root; cd /usr/sap +&prompt.root; mkdir SID +&prompt.root; mkdir trans +&prompt.root; exit - * Regels in <filename>/etc/services</filename> + Regels in <filename>/etc/services</filename> - + Voor &sap.r3; zijn enkele + regels in het bestand /etc/services + nodig, die niet correct worden ingesteld tijdens de + installatie op &os;. De volgende regels moeten toegevoegd + worden (op zijn minst die regels die met een instantienummer + overeenkomen, in dit geval 00. Het + kan geen kwaad om alle regels van 00 tot + en met 99 toe te voegen voor + dp, gw, + sp en ms). Als er een + SAProuter gebruikt gaat worden of + toegang tot &sap; OSS nodig is, + dan is 99 ook nodig, aangezien poort 3299 + gewoonlijk wordt gebruikt voor het + SAProuter-proces op het + doelsysteem: + + sapdp00 3200/tcp # SAP-dispatcher. 3200 + instantienummer +sapgw00 3300/tcp # SAP-gateway. 3300 + instantienummer +sapsp00 3400/tcp # 3400 + instantienummer +sapms00 3500/tcp # 3500 + instantienummer +sapmsSID 3600/tcp # SAP-berichtenserver. 3600 + instantienummer +sapgw00s 4800/tcp # veilige SAP-gateway 4800 + instantienummer - * Benodigde localisaties + Benodigde Lokalisaties - + locale + + &sap; heeft tenminste twee + lokalisaties nodig die geen deel uitmaken van de standaard + RedHat-installatie. &sap; biedt de benodigde RPMs als + downloadbare bestanden op hun FTP-server aan (die alleen + toegankelijk is voor klanten met OSS-toegang). In notitie + 0171356 staat een lijst van de benodigde RPMs. + + Het is ook mogelijk om gewoon de juiste links aan te + maken (bijvoorbeeld vanuit de_DE en + en_US), maar dat is niet aan te raden + voor productiesystemen (alhoewel het probleemloos op het + IDES-systeem werkte). De volgende lokalisaties zijn + nodig: + + de_DE.ISO-8859-1 +en_US.ISO-8859-1 + + Nu moeten de volgende links gemaakt worden: + + &prompt.root; cd /compat/linux/usr/share/locale +&prompt.root; ln -s de_DE de_DE.ISO-8859-1 +&prompt.root; ln -s en_US en_US.ISO-8859-1 + + Als ze niet aanwezig zijn, onstaan er problemen tijdens + de installatie. Als ze dan consequent genegeerd worden (door + de STATUS van de probleemstap op + OK te zetten in het bestand + CENTRDB.R3S), is het niet mogelijk om op + het &sap;- systeem aan te melden + zonder wat extra moeite. - * Kernel optimalisatie + Kerneloptimalisatie - + kerneloptimalisatie + + &sap.r3;-systemen hebben veel + bronnen nodig. Daarom zijn de volgende parameters + toegevoegd aan het kernelinstellingenbestand: + + #Stel deze in voor geheugengierigheid (SAP en Oracle) +options MAXDSIZ="(1024*1024*1024)" +options DFLDSIZ="(1024*1024*1024)" +#System-V-opties nodig. +options SYSVSHM # SysV-stijl gedeeld geheugen +options SHMMAXPGS=262144 #maximum aantal gedeelde geheugenpagina's +#options SHMMAXPGS=393216 #gebruik dit voor de 46C installatieparameters +options SHMMNI=256 #maximun aantal identifier-interfaces voor gedeeld geheugen +options SHMSEG=100 #maximum aantal gedeeld-geheugensegmenten per proces +options SYSVMSG #SysV-stijl berichtenwachtrijen +options MSGSEG=32767 #maximum aantal berichtsegmenten in systeem +options MSGSSZ=32 #grootte van berichtensegment. MOET macht van 2 zijn +options MSGMNB=65535 #maximum aantal tekens per berichtenwachtrij +options MSGTQL=2046 #maximum aantal berichten in systeem +options SYSVSEM #SysV-stijl semaforen +options SEMMNU=256 #aantal semafoor-UNDO-structuren +options SEMMNS=1024 #aantal semaforen in systeem +options SEMMNI=520 #aantal semafoor-identifiers +options SEMUME=100 #aantal UNDO-sleutels + + De minimumwaarden zijn aangegeven in de documentatie van + &sap;. Omdat er geen beschrijving voor &linux; is, wordt + verwezen naar de HP-UX-sectie (32 bit) voor meer informatie. + Omdat het systeem voor de 4.6C SR2-installatie meer + hoofdgeheugen heeft, kunnen de gedeelde segmenten voor + &sap; en + &oracle; groter zijn.. Daarom kan + voor een groter aantal pagina's voor het gedeelde geheugen + gekozen worden. + + + Op een standaardinstallatie van &os; 4.5 op &i386; + moeten MAXDSIZ en + DFLDSIZ op maximaal 1 GB blijven + staan. Anders kunnen er vreemde fouten als + ORA-27102: out of memory en + Linux Error 12: Cannot allocate + memory optreden. - * &sap.r3; installeren + &sap.r3; Installeren - * De &sap; CDROMs voorbereiden + De &sap;-CDROMs Voorbereiden - + Tijdens de installatie moeten veel CDROMs gemount en + gedismount worden. Als er voldoende CDROM-drives zijn, + kunnen ze allemaal tegelijk gemount worden. Hier is besloten + om de inhoud van de CDROMs naar de overeenkomende mappen + te kopiëren: + + /oracle/SID/sapreorg/cd-naam + + Hierboven is cd-naam + één van KERNEL, + RDBMS, EXPORT1, + EXPORT2, EXPORT3, + EXPORT4, EXPORT5 en + EXPORT6 voor de + 4.6B/IDES-installatie en één van + KERNEL, RDBMS, + DISK1, DISK2, + DISK3, DISK4 en + LANG voor de 4.6C SR2-installatie. Alle + bestandsnamen op de gemounte CD's moeten in hoofdletters + staan of anders kan er gebruik gemaakt worden van de optie + bij het mounten: + + &prompt.root; mount_cd9660 -g /dev/cd0a /mnt +&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-naam +&prompt.root; umount /mnt - * De installatie scripts draaien + Het Installatiescript Uitvoeren - + Eerst moet er een map install worden + aangemaakt: + + &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH + + De IDES-installatie (4.6B) komt met een volledig + aangepast &sap.r3; -demonstratiesysteem, dus zijn er zes in + plaats van slechts drie EXPORT-CD's. Op dit moment dient het + installatiesjabloon CENTRDB.R3S voor het + installeren van een standaard centrale instantie + (&r3; met database), niet de + IDES centrale instantie, dus moet de overeenkomende + CENTRDB.R3S vanuit de map EXPORT1 gekopieerd worden, + anders vraagt R5SETUP slechts om drie + EXPORT-CD's. + + De nieuwere uitgave &sap; 4.6 + SR2 komt met vier EXPORT-CD's. Het + parameterbestand dat de installatiestappen beheert is + CENTRAL.R3S. In tegenstelling tot + eerdere uitgaven zijn er geen aparte installatiesjablonen + voor een centrale instantie met of zonder database. + &sap; gebruikt een apart sjabloon + voor de installatie van de database. Om de installatie op + een later tijdstip te opnieuw te starten is het echter + oldoende om met het originele bestand opnieuw te + starten. + + Tijdens en na de installatie eist + &sap; dat + hostname alleen de naam van de computer en + niet de volledig gekwalificeerde domeinnaam teruggeeft. Dus + dient òf de computernaam op deze manier ingesteld te + worden, òf een alias ingesteld te worden met + alias hostname='hostname -s' voor zowel + orasid als + sidadm (en + voor root tijdens minimaal de + installatiestappen die als root worden + uitgevoerd). Het is ook mogelijk om de geïnstalleerde + bestanden .profile en .login + van beide gebruikers die tijdens de installatie + worden geïnstalleerd aan te passen. - * Start <command>R3SETUP</command> 4.6B + Start <command>R3SETUP</command> 4.6B - + Ben er zeker van dat LD_LIBRARY_PATH juist + is ingesteld: + + &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib + + Start R3SETUP als + root vanuit de installatiemap: + + &prompt.root; cd /oracle/IDS/sapreorg/install +&prompt.root; ./R3SETUP -f CENTRDB.R3S + + Het script stelt vervolgens wat vragen + (standaardantwoorden in haken, gevolgd door de eigenlijke + invoer): + + + + + + Vraag + + Standaard + + Invoer + + + + + + Enter SAP System ID + + [C11] + + IDSEnter + + + + Enter SAP Instance Number + + [00] + + Enter + + + + Enter SAPMOUNT Directory + + [/sapmnt] + + Enter + + + + Enter name of SAP central host + + [troubadix.domain.de] + + Enter + + + + Enter name of SAP db host + + [troubadix] + + Enter + + + + Select character set + + [1] (WE8DEC) + + Enter + + + + Enter Oracle server version (1) Oracle 8.0.5, + (2) Oracle 8.0.6, (3) Oracle 8.1.5, + (4) Oracle 8.1.6 + + + + 1Enter + + + + Extract Oracle Client archive + + [1] (Yes, extract) + + Enter + + + + Enter path to KERNEL CD + + [/sapcd] + + /oracle/IDS/sapreorg/KERNEL + + + + Enter path to RDBMS CD + + [/sapcd] + + /oracle/IDS/sapreorg/RDBMS + + + + Enter path to EXPORT1 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT1 + + + + Directory to copy EXPORT1 CD + + [/oracle/IDS/sapreorg/CD4_DIR] + + Enter + + + + Enter path to EXPORT2 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT2 + + + + Directory to copy EXPORT2 CD + + [/oracle/IDS/sapreorg/CD5_DIR] + + Enter + + + + Enter path to EXPORT3 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT3 + + + + Directory to copy EXPORT3 CD + + [/oracle/IDS/sapreorg/CD6_DIR] + + Enter + + + + Enter path to EXPORT4 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT4 + + + + Directory to copy EXPORT4 CD + + [/oracle/IDS/sapreorg/CD7_DIR] + + Enter + + + + Enter path to EXPORT5 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT5 + + + + Directory to copy EXPORT5 CD + + [/oracle/IDS/sapreorg/CD8_DIR] + + Enter + + + + Enter path to EXPORT6 CD + + [/sapcd] + + /oracle/IDS/sapreorg/EXPORT6 + + + + Directory to copy EXPORT6 CD + + [/oracle/IDS/sapreorg/CD9_DIR] + + Enter + + + + Enter amount of RAM for SAP + DB + + + + 850Enter (in Megabytes) + + + + Service Entry Message Server + + [3600] + + Enter + + + + Enter Group-ID of sapsys + + [101] + + Enter + + + + Enter Group-ID of oper + + [102] + + Enter + + + + Enter Group-ID of dba + + [100] + + Enter + + + + Enter User-ID of + sidadm + + [1000] + + Enter + + + + Enter User-ID of + orasid + + [1002] + + Enter + + + + Number of parallel procs + + [2] + + Enter + + + + + + Als de CD's niet naar de verschillende plaatsen + gekopieerd waren, kan het + &sap;-installatieprogramma de + benodigde CD niet vinden (geïdentificeerd door het + bestand LABEL.ASC op de CD) en vraagt + het om de CD te mounten en het mountpad te bevestigen of in + te voeren. + + Het bestand CENTRDB.R3S kan fouten + bevatten. In dit geval vroeg het nogmaals om de EXPORT4 CD + maar gaf het wel de juiste sleutel (6_LOCATION, daarna + 7_LOCATION enzovoorts) aan, dus kon gewoon doorgegaan worden + met het invoeren van de juiste waarden. + + Afgezien van enkele problemen die hieronder genoemd + worden, hoort alles vanzelf te gaan tot het punt waar de + software voor de &oracle;-database geïnstalleerd moet + worden. - * Start <command>R3SETUP</command> 4.6C SR2 + <command>R3SETUP</command> 4.6C SR2 Starten - + LD_LIBRARY_PATH moet juist ingesteld + zijn. Dit is een andere waarde dan die van de 4.6B + installatie met &oracle; + 8.0.5: + + &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib + + Start R3SETUP als gebruiker + root vanuit de installatiemap: + + &prompt.root; cd /oracle/PRD/sapreorg/install +&prompt.root; ./R3SETUP -f CENTRAL.R3S + + Het script stelt vervolgens enkele vragen + (standaardantwoorden tussen haken, gevolgd door de eigenlijke + invoer): + + + + + + Vraag + + Standaard + + Invoer + + + + + + Enter SAP System ID + + [C11] + + PRDEnter + + + + Enter SAP Instance Number + + [00] + + Enter + + + + Enter SAPMOUNT Directory + + [/sapmnt] + + Enter + + + + Enter name of SAP central host + + [majestix] + + Enter + + + + Enter Database System ID + + [PRD] + + PRDEnter + + + + Enter name of SAP db host + + [majestix] + + Enter + + + + Select character set + + [1] (WE8DEC) + + Enter + + + + Enter Oracle server version (2) Oracle 8.1.7 + + + + 2Enter + + + + Extract Oracle Client archive + + [1] (Yes, extract) + + Enter + + + + Enter path to KERNEL CD + + [/sapcd] + + /oracle/PRD/sapreorg/KERNEL + + + + Enter amount of RAM for SAP + DB + + 2044 + + 1800Enter (in Megabytes) + + + + Service Entry Message Server + + [3600] + + Enter + + + + Enter Group-ID of sapsys + + [100] + + Enter + + + + Enter Group-ID of oper + + [101] + + Enter + + + + Enter Group-ID of dba + + [102] + + Enter + + + + Enter User-ID of oraprd + + [1002] + + Enter + + + + Enter User-ID of prdadm + + [1000] + + Enter + + + + LDAP support + + + + 3Enter (no support) + + + + Installation step completed + + [1] (continue) + + Enter + + + + Choose installation service + + [1] (DB inst,file) + + Enter + + + + + + Tot dusver geeft het aanmaken van gebruikers een fout + in de fases OSUSERDBSID_IND_ORA (voor het aanmaken van de + gebruiker + orasid) en + OSUSERIDADM_IND_ORA (voor het aanmaken van de gebruiker + sidadm). - * &oracle; 8.0.5 installeren + &oracle; 8.0.5 Installeren + + Mogelijke problemen staan beschreven in de &sap; Notes en + &oracle; Readme bestanden met betrekking + tot &linux; en &oracle; DB. De + meeste, zoniet alle, problemen komen door incompatibele + bibliotheken. + + Meer informatie over het installeren van + &oracle; staat in &oracle; Installeren. - * &oracle; 8.0.5 installeren met + <title>&oracle; 8.0.5 Installeren met <command>orainst</command> - + Als &oracle; 8.0.5 gebruikt + moet worden, zijn enkele bibliotheken nodig voor het met + succes herlinken, omdat &oracle; + 8.0.5 met een oude versie van glibc gelinkt + was (RedHat 6.0) en RedHat 6.1 reeds een nieuwere glibc + gebruikt. De volgende aanvullende packages moeten + geïnstalleerd worden om er zeker van te zijn dat het + linken lukt: + + compat-libs-5.2-2.i386.rpm + + compat-glibc-5.2-2.0.7.2.i386.rpm + + compat-egcs-5.2-1.0.3a.1.i386.rpm + + compat-egcs-c++-5.2.1.0.3a.1.i386.rpm + + compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + + In de &sap; Notes of &oracle; Readme + staat meer informatie. Als er geen keuze is (op het moment + van installeren was er niet genoeg tijd om dit te + controleren) kunnen de originele binaries gebruikt worden of + kunnen de herlinkte binaries van een origineel RedHat + systeem gebruikt worden. + + Om de intelligente agent te compileren moet het RedHat + Tcl package geïnstalleerd zijn. Als + tcl-8.0.3-20.i386.rpm niet te krijgen + is, doet een nieuwere versie zoals + tcl-8.0.5-30.i386.rpm voor RedHat 6.1 + het ook. + + Afgezien van het herlinken is de installatie + rechttoe rechtaan: + + &prompt.root; su - oraids +&prompt.root; export TERM=xterm +&prompt.root; export ORACLE_TERM=xterm +&prompt.root; export ORACLE_HOME=/oracle/IDS +&prompt.root; cd $ORACLE_HOME/orainst_sap +&prompt.root; ./orainst + + Alle schermen dienen met Enter + bevestigd te worden totdat de software geïnstalleerd is, + behalve dat de &oracle; On-Line Text + Viewer gedeselecteerd moet worden omdat deze + momenteel niet voor &linux; beschikbaar is. Vervolgens wil + &oracle; met + i386-glibc20-linux-gcc herlinken, in + plaats van met de beschikbare gcc, + egcs of + i386-redhat-linux-gcc. + + Wegens tijdbeperkingen is besloten om de binaries van een + &oracle; 8.0.5 PreProduction-uitgave + te gebruiken, nadat de eerste poging om de versie van de + RDBMS-CD werkend te krijgen mislukte en het vinden en gebruiken + van de juiste RPMs was op dat moment een nachtmerrie + was. - * &oracle; 8.0.5 pre-productie versie voor - Linux (Kernel 2.0.33) installeren + &oracle; 8.0.5 Pre-productie Versie voor + &linux; (Kernel 2.0.33) Installeren - + De installatie hiervan is vrij eenvoudig: mount de CD en + start het installatieprogramma. Het vraagt dan om de plaats + van de &oracle; thuismap en zet daar alle binaries neer. + Op dat moment waren echter niet de restanten van vorige + pogingen om RDBMS te installeren verwijderd. + + Daarna kon &oracle; Database + zonder problemen gestart worden. - * De &oracle; 8.1.7 Linux tarball installeren + De &oracle; 8.1.7 &linux; Tarball Installeren - + De tarball oracle81732.tgz die gemaakt + is uit de installatiemap een &linux;-systeem kan uitgepakt + worden in + /oracle/SID/817_32/. - * Doorgaan met de &sap.r3; installatie + Ga door met de &sap.r3; Installatie + + Als eerste dienen de omgevingsinstellingen van de + gebruikers idsamd + (sidadm) en + oraids (orasid) + gecontroleerd te worden. Ze moeten nu beiden beschikken over + de bestanden .profile, + .login en .cshrc die + allemaal hostname gebruiken. In het geval + dat de hostnaam van het systeem de volledig gekwalificeerde + naam is, moet hostname in + hostname –s veranderd worden in + alle drie de bestanden. - * Database laden + De Database Laden - + Hierna kan R3SETUP òfwel + opnieuw gestart of voortgezet worden (afhankelijk van de + keuze voor exit of niet). R3SETUP maakt + vervolgens de tabelruimten aan en laadt de gegevens (voor 46B + IDES van EXPORT1 tot en met EXPORT6, voor 46C van DISK1 tot + en met DISK4) met R3load in de + database. + + Wanneer het laden van de database is voltooid (dit kan + enkele uren duren) wordt om enkele wachtwoorden gevraagd. + Voor testinstallaties kunnen de welbekende + standaardwachtwoorden worden gebruikt. Als veiligheid een + punt is moeten er andere wachtwoorden gebruikt worden! + + + + + + Vraag + + Invoer + + + + + + Enter Password for sapr3 + + sapEnter + + + + Confirum Password for sapr3 + + sapEnter + + + + Enter Password for sys + + verander_tijdens_installerenEnter + + + + Confirm Password for sys + + verander_tijdens_installatieEnter + + + + Enter Password for system + + beheerderEnter + + + + Confirm Password for system + + beheerderEnter + + + + + + Hier waren er wat problemen met + dipgntab tijdens de installatie van + 4.6B. - * Listener + Listener - + Hieronder staat hoe de + &oracle; Listener als gebruiker + orasid + op kan starten: + + &prompt.user; umask 0; lsnrctl start + + Anders kan de fout ORA-12546 + optreden, omdat de sockets dan niet de juiste rechten + hebben. Zie &sap; Note 072984. - * Updaten van MNLS Tables + Bijwerken van MNLS Tabellen - + Als het de bedoeling is niet-Latin-1-talen in te voeren + in het &sap;-systeem, dan moeten + de Multi National Language Support-tabellen bijgewerkt + worden. Dit staat beschreven in de &sap; OSS Notes 15023 en + 45619. In alle andere gevallen kan deze vraag overgeslagen + worden tijdens de &sap; + installatie. + + + Als er geen MNLS nodig is, is het nog steeds + noodzakelijk om de TCPDB-tabel te controleren en deze te + initialiseren als dit nog niet is gedaan. Zie + &sap;-notities 0015023 en 0045619 voor meer + informatie. + - * Stappen na de installatie + Stappen na de Installatie - * Opvragen van de &sap.r3; licentie sleutel + De &sap.r3; Licentiesleutel Opvragen - + Er moet een &sap.r3; + licentiesleutel opgevraagd worden. Dit is nodig omdat de + tijdelijke licentie die tijdens de installatie + geïnstalleerd is, maar voor vier weken geldig is. Eerst + moet de hardwaresleutel bekend zijn. Deze wordt bekend door + als gebruiker idsadm aan te melden en + saplicense uit te voeren: + + &prompt.root; /sapmnt/IDS/exe/saplicense -get + + Het uitvoeren van saplicense zonder + parameters geeft een lijst met opties. Nadat de + licentiesleutel verkregen is, kan deze geïnstalleerd + worden door middel van: + + &prompt.root; /sapmnt/IDS/exe/saplicense -install + + Hierbij moeten de volgende waarden ingevoerd + worden: + + SAP SYSTEM ID = SID, 3 tekens +CUSTOMER KEY = hardwaresleutel, 11 tekens +INSTALLATION NO = installatie, 10 cijfers +EXPIRATION DATE = jjjjmmdd, meestal "99991231" +LICENSE KEY = licentiesleutel, 24 tekens - * Gebruikers aanmaken + Gebruikers Aanmaken - + Nu kan een gebruiker binnen client 000 aangemaakt worden + (voor sommige taken is het nodig deze binnen client 000 aan + te maken, als maar een andere gebruiker dan gebruikers + sap* en ddic wordt + gebruikt). Zoals gewoonlijk wordt als nieuwe gebruikersnaam + wartung (of dienst + in het Nederlands) gekozen. Voor extra veiligheid moeten de + wachtwoorden van alle standaardgebruikers binnenin alle + clients worden veranderd (dit geldt ook voor gebruikers + sap* en + ddic). - * Transport systeem, profiel, operatie modes etc. - configureren + Transportsysteem, Profiel, Werkmodi en Dergelijke + Instellen - + Vanuit client 000 dient, als een andere gebruiker + dan ddic of sap*, + tenminste het volgende ingesteld worden: + + + + + + Taak + + Transactie + + + + + + Stel het transportsysteem in, bijvoorbeeld + als Stand-Alone Transport Domain + Entity + + STMS + + + + Maak een profiel voor het systeem aan of wijzig + dit + + RZ10 + + + + Beheer werkmodi en instanties + + RZ04 + + + + + + Deze en alle andere stappen die na de installatie + uitgevoerd moeten worden, staan uitvoerig beschreven in de + &sap; installatiehandleidingen. + - * <filename>init<replaceable>sid</replaceable>.sap</filename> - (<filename>initIDS.sap</filename>) bewerken + <filename>init<replaceable>sid</replaceable>.sap</filename> + (<filename>initIDS.sap</filename>) Bewerken - + Het bestand + /oracle/IDS/dbs/initIDS.asp bevat het + &sap; back-upprofiel. Hier moeten + de grootte van de te gebruiken tape, het compressietype, + enzovoorts gedefinieerd worden. Om dit aan de gang te + krijgen met sapdba / + brbackup zijn de volgende waarden + veranderd: + + 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 + + Uitleg: + + compress: de tape die gebruikt wordt + is een HP DLT1 die hardware-compressie ondersteunt. + + archive_function: dit definieert het + standaardgedrag om &oracle;-archieflogs op te slaan: nieuwe + logboekbestanden worden op tape opgeslagen, reeds opgeslagen + logboekbestanden worden nogmaals opgeslagen en worden daarna + verwijderd. Dit bespaart een hoop problemen als de + database hersteld moet worden en één van de + archieftapes versleten is. + + cpio_flags: de standaard is om + te gebruiken die de blokgrootte op + 5120 bytes instelt. Voor DLT tapes raadt HP een + blokgrootte van minimaal 32 kB aan, dus is + gebruikt voor blokken van + 64 kB. is nodig omdat er + inodegetallen groter dan 65535 zijn. De laatste optie + is nodig omdat + brbackup anders klaagt zodra + cpio het aantal opgeslagen blokken + meldt. + + cpio_in_flags: vlaggen die nodig zijn + om de gegevens van de tape terug te laden. Het formaat wordt + automatisch herkend. + + tape_size: dit geeft gewoonlijk de + ruwe opslagcapaciteit van de tape. Omwille van de veiligheid + (er wordt hardware-compressie gebruikt) is de waarde iets + lager dan de eigenlijke waarde. + + tape_address: de naam van het + niet-opwindbare apparaat dat met cpio + gebruikt wordt. + + tape_address_rew: de naam van het + opwindbare apparaat dat met cpio gebruikt + wordt. - * Configuratie problemen na de installatie + Instellingen na de Installatie - + De volgende parameters van + &sap; moeten na de installatie + geoptimaliseerd worden (voorbeelden voor IDES 46B, 1 GB + geheugen): + + + + + + Naam + + Waarde + + + + + + ztta/roll_extension + + 250000000 + + + + abap/heap_area_dia + + 300000000 + + + + abap/heap_area_nondia + + 400000000 + + + + em/initial_size_MB + + 256 + + + + em/blocksize_kB + + 1024 + + + + ipc/shm_psize_40 + + 70000000 + + + + + + &sap; notitie 0013026: + + + + + + Naam + + Waarde + + + + + + ztta/dynpro_area + + 2500000 + + + + + + &sap; notitie 0157246: + + + + + + Naam + + Waarde + + + + + + rdisp/ROLL_MAXFS + + 16000 + + + rdisp/PG_MAXFS + + 30000 + + + + + + + Met bovenstaande parameters kan op een op een systeem + met 1 GB aan geheugen het geheugengebruik soortgelijk + zijn aan het volgende: + + Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free + - * Problemen tijdens de installatie + Problemen Tijdens de Installatie - * Herstart <command>R3SETUP</command> na het oplossen - van een probleem + <command>R3SETUP</command> Herstarten na het Oplossen + van een Probleem - + R3SETUP stopt als het een probleem + tegenkomt. Nadat de bijhorende logbestanden zijn bekeken + en de fout is hersteld, moet R3SETUP + opnieuw gestart worden en gewoonlijk dient REPEAT + geselecteerd te worden bij de laatste stap waar + R3SETUP over klaagde. + + R3SETUP kan gewoon met het bijhorende + bestand R3S worden opgestart: + + &prompt.root; ./R3SETUP -f CENTRDB.R3S + + voor 4.6B, of met + + &prompt.root; ./R3SETUP -f CENTRAL.R3S + + voor 4.6C, onafhankelijk van het feit of de fout optrad + met CENTRAL.R3S of met + DATABASE.R3S. + + + Tijdens sommige fasen verwacht + R3SETUP dat zowel de database als + &sap; draaien (omdat die stappen + al voltooid waren). Mochten er fouten optreden en kan + bijvoorbeeld de database niet gestart worden, dan moeten + de database en &sap; handmatig + worden gestart nádat de fouten zijn hersteld en + voordat R3SETUP opnieuw wordt + gestart. + + Ook de &oracle; listener + moet opnieuw gestarten worden (als + orasid met + umask 0; lsnrctl start) als die ook was + gestopt (bijvoorbeeld omdat het systeem opnieuw opgestart + moest worden). + - * OSUSERSIDADM_IND_ORA tijdens + <title>OSUSERSIDADM_IND_ORA Tijdens <command>R3SETUP</command> - + Als R3SETUP tijdens deze fase klaagt, + moet het sjabloonbestand dat R3SETUP + destijds gebruikte (CENTRDB.R3S (4.6B) + of één van CENTRAL.R3S of + DATABASE.R3S (4.6C)) worden gewijzigd. + Zoek [OSUSERSIDADM_IND_ORA] of zoek de + enige regel met STATUS=ERROR en wijzig de + volgende waarden: + + HOME/home/sidadm (was leeg) +STATUS=OK (had status ERROR) + + Daarna kan R3SETUP opnieuw gestart + worden. - * OSUSERDBSID_IND_ORA tijdens + <title>OSUSERDBSID_IND_ORA Tijdens <command>R3SETUP</command> - + R3SETUP klaagt mogelijk ook tijdens + deze fase. De fout is vergelijkbaar met die in de fase + OSUSERSIDADM_IND_ORA. Hier kan gewoon het sjabloonbestand + dat R3SETUP destijds gebruikte + (CENTRDB.R3S (4.6B) of + één van CENTRAL.R3S of + DATABASE.R3S (4.6C)) gewijzigd worden. + In [OSUSERDBSID_IND_ORA] of de enige regel + STATUS=ERROR en kan de volgende waarde + in die sectie gewijzigd worden: + + STATUS=OK + + Nu kan R3SETUP opnieuw gestart + worden. - * <errorname>oraview.vrf FILE NOT FOUND</errorname> - tijdens de &oracle; installatie + <errorname>oraview.vrf FILE NOT FOUND</errorname> + Tijdens de Installatie van &oracle; - + De &oracle; On-Line Text Viewer is + niet gedeselecteerd voordat de installatie begon. Dit + onderdeel is gemarkeerd om geïnstalleerd te worden, + zelfs al is dit onderdeel momenteel niet beschikbaar op + &linux;. Dit onderdeel dient gedeselecteerd te worden in het + &oracle; installatiemenu en de + installatie dient opnieuw gestart te worden. - * <errorname>TEXTENV_INVALID</errorname> tijdens + <title><errorname>TEXTENV_INVALID</errorname> Tijdens <command>R3SETUP</command>, RFC of SAPgui Start - + Deze foutmelding geeft aan dat de juiste locale niet + geïnstalleerd is. &sap; notitie 0171356 geeft de + benodigde RPMs die geïnstalleerd moeten worden + (bijvoorbeeld spalocales-1.0-3 en + saposcheck-1.0-1 voor RedHat 6.1). + Indien alle gerelateerde foutmeldingen genegeerd zijn en + de bijhorende STATUS van + ERROR in OK veranderd + zijn (in CENTRDB.R3S) telkens als + R3SETUP klaagde en + R3SETUP gewoon opnieuw gestart is, dan is + het &sap;-systeem onjuist + geconfigureerd en is het onmogelijk om met + SAPgui een verbinding met het + systeem te maken, zelfs al kan het systeem gestart worden. + Een poging om met de oude &linux; + SAPgui een verbinding te maken gaf + de volgende meldingen: + + 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 + + Dit komt doordat &sap.r3; geen + juiste locale kan toekennen en ook doordat het zelf onjuist + is ingesteld (ontbrekende regels in sommige + databasetabellen). Om een verbinding met + &sap.r3; te kunnen maken, moeten + de volgende regels aan het DEFAULT.PFL + worden toegevoegd (zie notitie 0043288): + + abap/set_etct_env_at_new_mode = 0 +install/collate/active = 0 +rscp/TCP0B = TCP0B + + Nu kan het &sap;-systeem + opnieuw gestart worden en kan een verbinding met het systeem + gemaakt worden, hoewel landspecifieke taalinstellingen anders + kunnen werken dan verwacht. Nadat de landinstellingen zijn + gecorrigeerd (en de juiste locales zijn gegeven), kunnen + bovenstaande regels uit DEFAULT.PFL + verwijderd worden en kan het + &sap;-systeem opnieuw gestart + worden. - * <errorcode>ORA-00001</errorcode> + <errorcode>ORA-00001</errorcode> - + Deze fout trad alleen op met &oracle; + 8.1.7 op &os; 4.5. De reden was dat de + &oracle;-database zichzelf niet + goed kon initialiseren en crashte, waarbij het semaforen en + gedeeld geheugen op het systeem achterliet. De volgende + poging om de database te starten geeft dan + ORA-00001. + + Met ipcs -a moeten de semaforen + opgezocht worden en verwijderd worden met + ipcrm. - * <errorcode>ORA-00445</errorcode> (achtergrond process - PMON is niet gestart) + <errorcode>ORA-00445</errorcode> (achtergrondproces PMON + Is Niet Gestart) - + Deze fout trad op met &oracle; + 8.1.7. Deze fout wordt gemeld als de database + met het gebruikelijke script startsap + wordt gestart (bijvoorbeeld + startsap_majestix_00) als gebruiker + prdadm. + + Een mogelijke manier om dit te omzeilen is om de database + in plaats daarvan als gebruiker oraprd + te starten met svrmgrl: + + &prompt.user; svrmgrl +SVRMGR> connect internal; +SVRMGR> startup; +SVRMGR> exit - * <errorcode>ORA-12546</errorcode> (Start Listener met - de correcte permissies) + <errorcode>ORA-12546</errorcode> (Start Listener met + de Juiste Rechten) - + De &oracle; listener moet als + gebruiker oraids worden gestart: + + &prompt.root; umask 0; lsnrctl start + + Anders kan ORA-12456 optreden + omdat de sockets dan niet de juiste rechten hebben. Zie + &sap; notitie 0072984. - * <errorcode>ORA-27102</errorcode> (Geen geheugen - beschikbaar) + <errorcode>ORA-27102</errorcode> (Geen Geheugen + Beschikbaar) - + Deze fout trad op toen geprobeerd werd en om waarden + groter dan 1 GB (1024x1024x1024) te gebruiken voor + MAXDSIZ en DFLDSIZ. + Ook kwam er de foutmelding Linux Error 12: Cannot + allocate memory. + - * [DIPGNTAB_IND_IND] tijdens + <title>[DIPGNTAB_IND_IND] Tijdens <command>R3SETUP</command> - + Dit wordt behandeld in &sap; notitie 0130581 + (R3SETUP termineert). Om een of andere + reden gebruikte het installatieproces tijdens de + IDES-specifieke installatie niet de juiste + &sap; systeemnaam + IDS, maar in plaats daarvan de lege string + "". Dit leidt tot wat kleine problemen + met de toegang tot mappen omdat de paden dynamisch + gegenereerd worden door middel van + SID (in dit geval IDS). Dus + werden niet de paden: + + /usr/sap/IDS/SYS/... +/usr/sap/IDS/DVMGS00 + + maar de volgende paden gebruikt: + + /usr/sap//SYS/... +/usr/sap/D00 + + Om de installatie voort te zetten, zijn een link en een + aanvullende map aangemaakt: + + &prompt.root; pwd +/compat/linux/usr/sap +&prompt.root; ls -l +total 4 +drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 +drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS +lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS +drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp +drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans + + Dit gedrag staat ook beschreven in &sap; notities 0029227 + en 0008401. Deze problemen traden niet op tijdens de + installatie van &sap; 4.6C. - * [RFCRSWBOINI_IND_IND] tijdens + <title>[RFCRSWBOINI_IND_IND] Tijdens <command>R3SETUP</command> - + Tijdens de installatie van &sap; + 4.6C trad deze fout gewoon op als het gevolg + van een andere fout eerder in de installatie. In dit geval + moeten de bijhorende logboekbestanden doorzocht worden om het + echte probleem te kunnen herstellen. + + Als na het doorzoeken van de logboekbestanden blijkt dat + deze fout inderdaad de juiste is (zie de &sap; notities), + dan kan de STATUS van de stap die het + probleem geeft van ERROR in + OK veranderd worden (in + CENTRDB.R3S) en kan + R3SETUP opnieuw gestart worden. Na de + installatie moet rapport RSWBOINS van + transactie SE38 uitgevoerd worden. In &sap; notitie 0162266 + staat aanvullende informatie over de fasen + RFCRSWBOINI en + RFCRADDBDIF. - * [RFCRADDBDIF_IND_IND] tijdens + <title>[RFCRADDBDIF_IND_IND] Tijdens <command>R3SETUP</command> - + Hier gelden dezelfde beperkingen: er dient door het + doorzoeken van de logboekbestanden gecontroleerd te worden + dat deze fout niet veroorzaakt wordt door eerdere + problemen. + + Als bevestigd kan worden dat &sap; notitie 0162266 van + toepassing is, kan gewoon STATUS van de + stap die het probleem geeft van ERROR in + OK veranderd worden (in + CENTRDB.R3S) en + R3SETUP opnieuw gestart worden. Na de + installatie moet het rapport RADDBDIF van + transactie SE38 uitgevoerd worden. - * <errorcode>sigaction sig31: File size limit + <title><errorcode>sigaction sig31: File size limit exceeded</errorcode> - + Deze fout trad op tijdens het starten van de + &sap;-processen + disp+work. Als + &sap; met het script + startsap gestart wordt, worden er + subprocessen gestart die ontkoppelen en het vuile werk om + alle andere &sap;-processen te + starten opknappen. Een gevolg hiervan is dat het script zelf + een verkeerde situatie niet opmerkt. + + Om te controleren of de &sap; + processen juist zijn gestart, kan de processtatus bekeken + worden met ps ax | grep + SID, wat een lijst + geeft met alle processen van + &oracle; en + &sap;. Als het ernaar uitziet dat + sommige processen ontbreken of als er geen verbinding met het + &sap;-systeem gemaakt kan worden, + is het verstandig de bijhorende logboekbestanden uit + /usr/sap/SID/DVEBMGSnr/work/ + te bekijken. De te controleren bestanden zijn + dev_ms en + dev_disp. + + Signaal 31 treedt hier op als de hoeveelheid gedeeld + geheugen die door &oracle; en + &sap; wordt gebruikt, groter is + dan wat in het kernelinstellingenbestand is ingesteld en dit + kan worden verholpen door een hogere waarde te + gebruiken: + + # grotere waarden voor 46C productiesystemen: +options SHMMAXPGS=393216 +# kleinere waarde voldoende voor 46B: +#options SHMMAXPGS=262144 - * Starten van <command>saposcol</command> mislukt + <command>saposcol</command> Starten Mislukt - + Er zijn wat problemen met het programma + saposcol (versie 4.6D). Het + &sap;-systeem gebruikt + saposcol om informatie over de + systeemprestaties in te winnen. Dit programma is niet + noodzakelijk om het &sap;-systeem + te gebruiken, dus kan dit probleem als onbelangrijk worden + beschouwd. De oudere versie (4.6B) werkt wel, maar verzamelt + niet alle gegevens (veel aanroepen geven gewoon 0 terug, + bijvoorbeeld het processorgebruik). - * Geavanceerde onderwerpen + Gevorderde Onderwerpen + + Hier wordt beschreven hoe de &linux; binaire compatibiliteit + werkt. Het meeste van wat nu volgt is sterk gebaseerd op een + e-mailbericht van Terry Lambert + tlambert@primenet.com aan &a.chat; (Message ID: + <199906020108.SAA07001@usr09.primenet.com>). - * Hoe werkt het? + Hoe Werkt Het? - + uitvoerklasselader + + &os; heeft een abstractie met de naam execution + class loader. Dit is een wig in de systeemaanroep + &man.execve.2;. + + Wat er gebeurt is dat &os; een lijst van loaders heeft, in + plaats van een enkele loader die terugvalt op de + #! loader voor het draaien van elke + shellinterpreter of shellscript. + + Vroeger onderzocht de enige loader op het &unix;-platform + het magische getal (in het algemeen de eerste 4 of 8 bytes van + het bestand) om te zien of het een binary was die het systeem + kende en als dat het geval was laadde het de binaire + loader. + + Als het niet het binaire type voor het systeem was, faalde + de aanroep naar &man.execve.2; en probeerde de shell het als + shellopdrachten uit te voeren. + + Deze aanname was een standaard voor wat de huidige + shell ook is. + + Later werd er een hack gemaakt voor &man.sh.1; om de eerste + twee tekens te onderzoeken en als die bestonden uit + :\n voerde het in plaats hiervan de + &man.csh.1; shell uit (het idee is dat SCO de hack als eerste + maakte). + + Wat &os; nu doet is door een lijst van loaders gaan + met een generieke #! loader die kennis heeft + van interpreters in de zin van de karakters die volgen op de + volgende witruimte tot de laatste, met uiteindelijk een + terugval op /bin/sh. + + ELF + + Voor &linux; ABI-ondersteuning ziet &os; het magische getal + als een ELF-binary (het maakt op dit punt geen onderscheid + tussen &os;, &solaris;, &linux; of elk ander besturingssysteem + dat een ELF-beeldtype heeft). + + &solaris; + + De ELF loader zoekt naar een gespecialiseerd + merk, dat een commentaargedeelte in het + ELF-beeld is en dat niet aanwezig is in SVR4/&solaris; + ELF-binairen. + + Om &linux;-binaries werkend te krijgen, moeten ze + gemerkt worden als het type + Linux met &man.brandelf.1;: + + &prompt.root; brandelf -t Linux bestand + + Als dit gedaan is, ziet de ELF loader het + Linux-merk in het bestand. + + + ELF + + merken + + + Als de ELF loader het Linux-merk + tegenkomt, verplaatst de loader een pointer in de + proc-structuur. Alle systeemaanroepen + worden met deze pointer geïndexeerd (in een traditioneel + &unix;-systeem is dit de + sysent[]-structuurarray, die de + systeemaanroepen bevat). Ook wordt het proces gemerkt voor + speciale behandeling door de valstrikvector van de + signaal-trampolinecode samen met nog meer (kleine) aanpassingen + die door de &linux; kernelmodule worden afgehandeld. + + De &linux; kernelmodule bevat naast andere dingen een lijst + van sysent[]-ingangen waarvan de adressen + in de kernelmodule staan. + + Als een systeemaanroep door de &linux;-binary wordt + aangeroepen, verwijdert de valstrikcode de referentie aan de + functiepointer van de systeemaanroep en geeft die de + ingangspunten van de systeemaanroep van &linux; en niet van + &os;. + + Verder reroot de &linux;-modus + dynamisch lookups. Dit is wat de optie + (niet het unionfs + bestandssysteemtype!) voor het mounten van bestandssystemen + effectief doet. Eerst wordt een poging gedaan om het bestand + in de map + /compat/linux/origineel-pad + op te zoeken en vervolgens alleen als dat + mislukt, wordt het bestand in + /origineel-pad + opgezocht. Dit zorgt ervoor dat binaries die andere binaries + nodig hebben kunnen draaien (zo kan bijvoorbeeld de + &linux;-gereedschapskist geheel onder &linux; ABI-ondersteuning + draaien). Dit betekent ook dat &linux;-binaries &os;-binaries + kunnen laden en draaien als er geen overeenkomende + &linux;-binaries zijn en dat er een &man.uname.1;-opdracht in + de mappenstructuur /compat/linux gezet kan + worden om er zeker van te zijn dat &linux;-binaries niet kunnen + weten dat ze niet op &linux; draaien. + + Effectief bevindt er zich een &linux;-kernel in de + &os;-kernel. De verschillende onderliggende functies die alle + functies implementeren die de kernel aanbiedt, zijn dezelfde + tabelingangen voor de systeemaanroepen van &os; als van + &linux;: bestandssysteembewerkingen, bewerkingen op het + virtuële geheugen, signaalaflevering, System V IPC, + enzovoort. Het enige verschil is dat &os;-binaries de + lijm functies voor &os; krijgen en dat de + &linux;-binaries de lijm-functies voor + &linux; krijgen (de meeste oudere besturingssystemen hadden + alleen hun eigen lijm-functies: adressen + van functies die in een statische globale + sysent[] structuurarray werden opgeslagen, + in plaats van adressen van functies waarvan dynamisch een + geïnitialiseerde pointer wordt verwijderd in de + proc-structuur van het proces dat de aanroep + doet). + + Welke is de eigenlijke &os; ABI? Dat maakt niet uit. + Eigenlijk is het enige verschil dat (op dit moment; dit kan + eenvoudig veranderen in een toekomstige uitgave, en dat gebeurt + waarschijnlijk na deze uitgave) de + lijm-functies van &os; statisch gelinkt + zijn in de kernel en dat de lijm-functies + van &linux; zowel statisch gelinkt kunnen worden als dat ze + door een kernelmodule worden benaderd. + + Maar is dit nu echt emulatie? Nee. Het is een + ABI-implementatie, geen emulatie. Er is geen emulator (of + simulator, om de volgende vraag voor te zijn) bij + betrokken. + + Dus waarom wordt het dan soms + &linux;-emulatie genoemd? Om het moeilijk te + maken om &os; te verkopen! Serieus, het is zo omdat de + historische implementatie in een tijd werd gedaan toen er echt + geen ander woord was om te beschrijven wat er aan de hand was, + om te zeggen dat &os; &linux;-binaries draaide was niet waar + als de code niet in de kernel gecompileerd werd of als een + module geladen werd en er moest een woord zijn voor hetgeen + geladen werd. Vandaar de + &linux;-emulator.
-