aboutsummaryrefslogtreecommitdiff
path: root/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml')
-rw-r--r--it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml3893
1 files changed, 3893 insertions, 0 deletions
diff --git a/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml b/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml
new file mode 100644
index 0000000000..b89fed7182
--- /dev/null
+++ b/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.xml
@@ -0,0 +1,3893 @@
+<?xml version="1.0" encoding="iso-8859-15" standalone="no"?>
+<!--
+ The FreeBSD Italian Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.134
+-->
+
+<chapter id="linuxemu">
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <firstname>Jim</firstname>
+
+ <surname>Mock</surname>
+
+ <contrib>Riscritto e parzialmente rivisto da </contrib>
+ </author>
+ </authorgroup>
+
+ <authorgroup>
+ <author>
+ <firstname>Brian N.</firstname>
+
+ <surname>Handy</surname>
+
+ <contrib>Contributo originale di </contrib>
+ </author>
+
+ <author>
+ <firstname>Rich</firstname>
+
+ <surname>Murphey</surname>
+ </author>
+ </authorgroup>
+ </chapterinfo>
+
+ <title>Compatibilità con i Binari di Linux</title>
+
+ <sect1 id="linuxemu-synopsis">
+ <title>Sinossi</title>
+
+ <indexterm>
+ <primary>Compatibilità con i binari di linux</primary>
+ </indexterm>
+ <indexterm>
+ <primary>compatibilità con i binari</primary>
+ <secondary>Linux</secondary>
+ </indexterm>
+
+ <para>FreeBSD fornisce la compatibilità con molti altri sisitemi
+ operativi di tipo &unix;, compreso linux. A questo punto, potresti
+ chiederti perché FreeBSD dovrebbe essere in grado di far girare
+ binari linux. La risposta a questa domanda è piuttosto semplice.
+ Molte aziende e sviluppatori sviluppano solo per Linux, dal momento che
+ &grave; l'ultimo <quote>disco caldo</quote> nel mondo dell'informatica.
+ Questo costringe il resto di noi utenti di FreeBSD a lamentarci con
+ queste aziende e questi sviluppatori di distribuire versioni delle
+ loro applicazioni native per FreeBSD. Il problema è che molte
+ di queste aziende non realizzano quante persone userebbero il loro
+ prodotto se ci fosse anche una versione per FreeBSD, e molte continuano
+ a sviluppare solo per Linux. Allora cosa deve fare un utente FreeBSD?
+ E qui entra in giocolo la compatibilità con i binari di
+ Linux.</para>
+
+ <para>In breve, la compatibilità permette agli utenti FreeBSD di
+ utilizzare circa il 90% di tutte le applicazioni Linux senza modifiche.
+ Questo include applicazioni come <application>&staroffice;
+ </application>, la versione Linux di
+ <application>&netscape;</application>,
+ <application>&adobe;&nbsp;&acrobat;</application>,
+ <application>&realplayer;</application>,
+ <application><trademark>VMware</trademark></application>,
+ <application>&oracle;</application>,
+ <application>&wordperfect;</application>,
+ <application>Doom</application>,
+ <application>Quake</application>, e tanti altri. È stato
+ riportato che in qualche situazione i binari per Linux sono più
+ prestanti sotto FreeBSD che sotto Linux.</para>
+
+ <para>Nonostante questo, ci sono alcune caratteristiche specifiche del
+ sistema operativo Linux che non sono supportate da FreeBSD. I binari di
+ Linux non funzioneranno sotto FreeBSD se usano parecchie chiamate
+ specifiche per &i386;, come l'attivazione della modalità 8086
+ virtuale</para>
+
+ <para>Dopo aver letto questo capitolo, saprai:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Come abilitare la compatibilità con i binari Linux sul tuo
+ sistema.</para>
+ </listitem>
+
+ <listitem>
+ <para>Come installare ulteriori librerie condivise per Linux.</para>
+ </listitem>
+
+ <listitem>
+ <para>Come installare gli applicativi di Linux sul tuo sistema
+ FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>I dettagli dell'implementazione della compatibilità Linux
+ in FreeBSD.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Prima di leggere questo capitolo, dovresti:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Sapere come installare software di terzi (<xref
+ linkend="ports"/>).</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="linuxemu-lbc-install">
+ <title>Installazione</title>
+
+ <indexterm><primary>KLD (kernel loadable object)</primary></indexterm>
+
+ <para>La compatibilità con i binari Linux non è normalmente
+ attivata. Il modo più facile per abilitare questa
+ funzionalità è caricare l'oggetto KLD (<quote>Kernel
+ LoaDable object</quote>) <literal>linux</literal>. Puoi caricare questo
+ modulo digitando il comando seguente come
+ <username>root</username>:</para>
+
+ <screen>&prompt.root; <userinput>kldload linux</userinput></screen>
+
+ <para>Se vuoi che la compatiblità sia sempre attivata, dovresti
+ aggiungere questa linea a <filename>/etc/rc.conf</filename>:</para>
+
+ <programlisting>linux_enable="YES"</programlisting>
+
+ <para>Il comando &man.kldstat.8; può essere usato per verificare
+ se KLD sia stato caricato:</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>opzioni per il kernel</primary>
+ <secondary>COMPAT_LINUX</secondary>
+ </indexterm>
+
+ <para>Se per qualche ragione non vuoi o non puoi caricare KLD, puoi
+ collegare staticamente la compatibilità Linux nel kernel
+ aggiungendo <literal>options COMPAT_LINUX</literal> al file di
+ configurazione del kernel. Fatto questo puoi installare il nuovo kernel
+ come descritto in <xref linkend="kernelconfig"/>.</para>
+
+ <sect2>
+ <title>Installazione delle Librerie Runtime di Linux</title>
+
+ <indexterm>
+ <primary>Linux</primary>
+ <secondary>installazione delle librerie di Linux</secondary>
+ </indexterm>
+
+ <para>Questo può essere fatto in due modi, o usando il port
+ <link linkend="linuxemu-libs-port">linux_base</link>, oppure
+ installandole <link
+ linkend="linuxemu-libs-manually">manualmente</link>.</para>
+
+ <sect3 id="linuxemu-libs-port">
+ <title>Installazione Usando il Port linux_base</title>
+
+ <indexterm><primary>Collezione dei Port</primary></indexterm>
+
+ <para>Questo è di gran lunga il metodo più facile da usare
+ per installare le librerie runtime. È proprio come installare
+ qualunque altro port dalla <ulink type="html"
+ url="file://localhost/usr/ports/">Collezione dei Port</ulink>.
+ Semplicemente fai come segue:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-fc4</userinput>
+&prompt.root; <userinput>make install distclean</userinput></screen>
+
+ <para>In questo modo dovresti avere una compatibilità con i
+ binari di Linux funzionante. Alcuni programmi potrebbero lamentarsi
+ per qualche versione minore delle librerie di sistema. In generale,
+ comunque, questo non dovrebbe essere un problema.</para>
+
+ <note>
+ <para>Potrebbero essere disponibili più versioni del port
+ <filename role="package">emulators/linux_base</filename>,
+ corrispondenti a differenti versioni di distribuzioni Linux.
+ Dovresti installare il port che più soddisfa le richieste
+ della applicazione Linux che vuoi installare.</para>
+ </note>
+ </sect3>
+
+ <sect3 id="linuxemu-libs-manually">
+ <title>Installazione Manuale delle Librerie</title>
+
+ <para>Se non hai installata la collezione di <quote>ports</quote>, puoi
+ comunque installare le librerie manualmente. Hai bisogno delle
+ librerie condivise di Linux da cui il programma dipende e del runtime
+ linker.
+ In più dovrai creare una directory <quote>shadow root</quote>,
+ <filename>/compat/linux</filename>, per le librerie Linux sul tuo
+ sistema FreeBSD. Tutte le librerie condivise aperte da programmi
+ Linux che girano sotto FreeBSD cercheranno prima in questo albero.
+ Per cui, se un programma Linux carica, per esempio,
+ <filename>/lib/libc.so</filename>, FreeBSD prima cercherà di
+ aprire <filename>/compat/linux/lib/libc.so</filename>, e se questa non
+ esiste, proverà con <filename>/lib/libc.so</filename>.
+ Le librerie condivise dovrebbero essere installate nell'albero shadow
+ <filename>/compat/linux/lib</filename> piuttosto che nei path
+ che riporta <command>ld.so</command> di Linux.</para>
+
+ <para>Generalmente avrai bisogno di cercare le librerie condivise
+ da cui dipendono i binari di Linux solo per le prime poche
+ installazioni di programmi Linux sul tuo sistema FreeBSD. Dopo un po'
+ avrai a disposizione sul tuo sistema un insieme sufficiente di
+ librerie condivise per Linux da far girare nuovi binari Linux senza
+ alcun sforzo ulteriore.</para>
+ </sect3>
+
+ <sect3>
+ <title>Come Installare Ulteriori Librerie Condivise</title>
+
+ <indexterm><primary>librerie condivise</primary></indexterm>
+
+ <para>Cosa succede se installi il port <filename>linux_base</filename> e
+ la tua applicazione si lamenta ancora di librerie condivise che
+ mancano?
+ Come fare a sapere quali librerie condivise necessita il binario di
+ Linux e dove trovarle? Essenzialmente ci sono 2 possibilità
+ (per seguire queste istruzioni dovrai essere <username>root</username>
+ sul tuo sistema FreeBSD).</para>
+
+ <para>Se hai accesso ad un sistema Linux, guarda quali librerie
+ condivise servono all'applicazione e copiale nel tuo sistema FreeBSD.
+ Guarda all'esempio che segue:</para>
+
+ <informalexample>
+ <para>Poniamo che tramite FTP tu abbia recuperato il binario per Linux
+ di <application>Doom</application>, e l'abbia messo su un sistema
+ Linux a cui hai accesso. Puoi controllare quali librerie condivise
+ servono eseguendo <command>ldd linuxdoom</command>,
+ così:</para>
+
+ <screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
+libXt.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libXt.so.3.1.0
+libX11.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libX11.so.3.1.0
+libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
+
+ <indexterm><primary>link simbolici</primary></indexterm>
+
+ <para>Potresti aver bisogno di recuperare tutti i file dall'ultima
+ colonna, e di metterli sotto <filename>/compat/linux</filename>,
+ con i nomi nella prima colonna come link simbolici che puntino ad
+ essi.
+ Questo significa che alla fine avrai questi file sul tuo sistema
+ FreeBSD:</para>
+
+ <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
+/compat/linux/usr/X11/lib/libXt.so.3 -&gt; libXt.so.3.1.0
+/compat/linux/usr/X11/lib/libX11.so.3.1.0
+/compat/linux/usr/X11/lib/libX11.so.3 -&gt; libX11.so.3.1.0
+/compat/linux/lib/libc.so.4.6.29
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
+
+ <blockquote>
+ <note>
+ <para>Nota che se hai già una libreria condivisa di Linux
+ con un numero di revisione maggiore di quello della prima
+ colonna dell'output di <command>ldd</command>, non dovrai
+ copiare nel tuo sistema il file elencato nell'ultima colonna,
+ quello che hai dovrebbe funzionare. Si raccomanda di copiare
+ comunque la libreria condivisa se è una versione
+ più recente. Puoi rimuovere quella vecchia, dal momento
+ che crei il link simbolico che punta a quella
+ nuova. Quindi, se hai queste librerie sul tuo sistema:</para>
+
+ <screen>/compat/linux/lib/libc.so.4.6.27
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.27</screen>
+
+ <para>e vedi che un nuovo binario richiede una versione più
+ recente in base all'output di
+ <command>ldd</command>:</para>
+
+ <screen>libc.so.4 (DLL Jump 4.5pl26) -&gt; libc.so.4.6.29</screen>
+
+ <para>Se si tratta solo di una o due versioni precedenti in base
+ alla cifra finale allora non preoccuparti di copiare anche
+ <filename>/lib/libc.so.4.6.29</filename>, perché il
+ programma dovrebbe funzionare bene anche con una versione di
+ poco più vecchia. In ogni caso, se vuoi, puoi decidere
+ di rimpiazzare comunque
+ <filename>libc.so</filename>, e dovrebbe lasciarti con:</para>
+
+ <screen>/compat/linux/lib/libc.so.4.6.29
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
+ </note>
+ </blockquote>
+
+ <blockquote>
+ <note>
+ <para>Il meccanismo dei link simbolici è richiesto
+ <emphasis>solo</emphasis> per i binari di Linux. Il runtime
+ linker di FreeBSD si occupa da solo di cercare corrispondenti
+ numeri di revisione maggiori e non devi preoccuparti di
+ questo.</para>
+ </note>
+ </blockquote>
+ </informalexample>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Installazione di Binari ELF di Linux</title>
+
+ <indexterm>
+ <primary>Linux</primary>
+ <secondary>Binari ELF</secondary>
+ </indexterm>
+
+ <para>I binari ELF possono richiedere un ulteriore passo di
+ <quote>marchiatura</quote>. Se provi a far girare un binario ELF non
+ marchiato, incorrerai in un messaggio come il seguente:</para>
+
+ <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput>
+ELF binary type not known
+Abort</screen>
+
+ <para>Per aiutare il kernel di FreeBSD a distinguere un binario ELF
+ di FreeBSD da uno di Linux, usa l'utility &man.brandelf.1;.</para>
+
+ <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen>
+
+ <indexterm><primary>GNU toolchain</primary></indexterm>
+
+ <para>Oggi, la GNU toolchain inserisce automaticamente l'appropriata
+ informazione di marchiatura nei binari ELF, così questo passo
+ dovrebbe divenire sempre meno necessario nel futuro.</para>
+ </sect2>
+
+ <sect2>
+ <title>Configurazione del Hostname Resolver</title>
+
+ <para>Se il DNS non funziona o da questo messaggio:</para>
+
+ <screen>resolv+: "bind" is an invalid keyword resolv+:
+"hosts" is an invalid keyword</screen>
+
+ <para>Dovrai configurare un file
+ <filename>/compat/linux/etc/host.conf</filename> contentente:</para>
+
+ <programlisting>order hosts, bind
+multi on</programlisting>
+
+ <para>Qui, l'ordine specifica che <filename>/etc/hosts</filename>
+ viene cercato per primo e il DNS per secondo. Quando
+ <filename>/compat/linux/etc/host.conf</filename> non è
+ installato, le applicazioni Linux trovano il
+ <filename>/etc/host.conf</filename> di FreeBSD e si lamentano della
+ sintassi incompatibile di FreeBSD. Dovresti rimuovere
+ <literal>bind</literal> se non hai configurato un name server
+ usando il file <filename>/etc/resolv.conf</filename>.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="linuxemu-mathematica">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Bojan</firstname>
+
+ <surname>Bistrovic</surname>
+
+ <contrib>Aggiornato per Mathematica 5.X da </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+ <title>Installazione di &mathematica;</title>
+
+ <indexterm>
+ <primary>applicazioni</primary>
+ <secondary><application>Mathematica</application></secondary>
+ </indexterm>
+
+ <para>Questo documento descive il processo di installazione della versione
+ Linux di <application>&mathematica; 5.X</application> su un sistema
+ FreeBSD.</para>
+
+ <para>La versione Linux di <application>&mathematica;</application>
+ o di <application>&mathematica; for Students</application> può
+ essere ordinata direttamente da Wolfram all'indirizzo
+ <ulink url="http://www.wolfram.com/"></ulink>.</para>
+
+ <sect2>
+ <title>Avviare l'Installer di &mathematica;</title>
+
+ <para>Prima di tutto, devi indicare a &os; che i binari
+ Linux di <application>&mathematica;</application> usano
+ le ABI di Linux. Il modo più facile di farlo
+ è di settare il tipo di ELF a Linux per tutti i
+ binari non marchiati con il comando:</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
+
+ <para>In questo modo &os; assume che tutti i binari ELF non
+ marchiati usino l'ABI di Linux e quindi dovresti essere in grado
+ di eseguire l'installer direttamente dal CDROM.</para>
+
+ <para>Ora, copia il file <filename>MathInstaller</filename> sul
+ tuo disco:</para>
+
+ <screen>&prompt.root; <userinput>mount /cdrom</userinput>
+&prompt.root; <userinput>cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/</userinput></screen>
+
+ <para>e in questo file, rimpiazza la prima riga
+ <literal>/bin/sh</literal> con
+ <literal>/compat/linux/bin/sh</literal>.
+ Questo assicura che l'installer viene eseguito dalla
+ versione Linux di &man.sh.1;. Poi, rimpiazza tutte
+ le occorrenze di <literal>Linux)</literal> con
+ <literal>FreeBSD)</literal> utilizzando un editor
+ di testo o lo script mostrato nella prossima sezione.
+ Questo indica all'installer di
+ <application>&mathematica;</application>,
+ che chiama <command>uname -s</command> per determinare
+ il sistema operativo, per trattare &os; come un sistema
+ operativo Linux-like. Invocando
+ <command>MathInstaller</command> verrà installato
+ <application>&mathematica;</application>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Modifica degli Eseguibili di &mathematica;</title>
+
+ <para>Gli script di shell che
+ <application>&mathematica;</application> crea durante
+ l'installazione devono essere modificati prima di
+ poterli usare. Se hai scelto di mettere gli
+ eseguibili di <application>&mathematica;</application>
+ nella directory
+ <filename role="directory">/usr/local/bin</filename>,
+ troverai in questa directory dei link simbolici chiamati
+ <filename>math</filename>, <filename>mathematica</filename>,
+ <filename>Mathematica</filename>, e
+ <filename>MathKernel</filename>. In ognuno di questi,
+ sostituisci <literal>Linux)</literal> con
+ <literal>FreeBSD)</literal> usando un editor di testo o
+ il seguente script di shell:</para>
+
+ <programlisting>#!/bin/sh
+cd /usr/local/bin
+for i in math mathematica Mathematica MathKernel
+ do sed 's/Linux)/FreeBSD)/g' $i &gt; $i.tmp
+ sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp &gt; $i
+ rm $i.tmp
+ chmod a+x $i
+done</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Ottenere la Tua Password per &mathematica;</title>
+
+ <indexterm>
+ <primary>Ethernet</primary>
+ <secondary>MAC address</secondary>
+ </indexterm>
+
+ <para>Quando avvii <application>&mathematica;</application>
+ per la prima volta, ti verrà richiesta una password.
+ Se non hai ancora ottenuto una password da Wolfram,
+ esegui il programma <command>mathinfo</command> nella
+ directory di installazione per ottenere il tuo
+ <quote>ID di macchina</quote>. Questo ID è basato
+ esclusivamente sull'indirizzo MAC della tua prima scheda di
+ Ethernet, quindi non puoi eseguire la tua copia di
+ <application>&mathematica;</application> su macchine diverse.</para>
+
+ <para>Quando ti registri alla Wolfram, sia per email, telefono o fax, gli
+ darai il <quote>machine ID</quote> e loro ti restituiranno una password
+ corrispondente che consiste di un gruppo di numeri.</para>
+ </sect2>
+
+ <sect2>
+ <title>Lancio del Frontend di &mathematica; in una Rete</title>
+
+ <para><application>&mathematica;</application> usa alcuni font speciali
+ per visualizzare caratteri non presenti in alcun insieme standard di
+ font (integrali, sommatorie, lettere greche, ecc.). Il protocollo X
+ necessita che questi font siano installati
+ <emphasis>localmente</emphasis>. Questo significa che dovrai fare una
+ copia di questi font sulla tua macchina locale dal CDROM o da un host
+ con <application>&mathematica;</application>
+ installato. Questi font si trovano normalmente in
+ <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> sul CDROM,
+ oppure <filename>/usr/local/mathematica/SystemFiles/Fonts</filename> sul
+ tuo disco rigido. I font sono nelle sottodirectory
+ <filename>Type1</filename> e <filename>X</filename>. Ci sono molti modi
+ di usarli, come descritto sotto.</para>
+
+ <para>Il primo modo è di copiarli dentro una delle directory di
+ font esistenti in <filename>/usr/X11R6/lib/X11/fonts</filename>.
+ Questo comporterà la modifica del file
+ <filename>fonts.dir</filename>, aggiungendovi i nomi dei font e
+ cambiando il numero di font nella prima riga. In alternativa, dovresti
+ anche essere in grado di lanciare &man.mkfontdir.1; nella directory in
+ cui li hai copiati.</para>
+
+ <para>Il secondo modo di farlo è copiare le directory in
+ <filename>/usr/X11R6/lib/X11/fonts</filename>:</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>Poi aggiungi le nuove directory di font nel tuo path dei
+ font:</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>Se stai utilizzando il server <application>&xorg;</application>,
+ puoi caricare automaticamente queste directory di font aggiungendole nel
+ file <filename>xorg.conf</filename>.</para>
+
+ <note>
+ <para>Per i server <application>&xfree86;</application>,
+ il file di configurazione è
+ <filename>XF86Config</filename>.</para>
+ </note>
+
+ <indexterm><primary>fonts</primary></indexterm>
+
+ <para>Se ancora <emphasis>non</emphasis> hai una directory
+ chiamata <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, puoi
+ cambiare il nome della directory <filename>MathType1</filename>
+ dell'esempio sopra in <filename>Type1</filename>.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="linuxemu-maple">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Aaron</firstname>
+
+ <surname>Kaplan</surname>
+
+ <contrib>Contributo di </contrib>
+ </author>
+ </authorgroup>
+
+ <authorgroup>
+ <author>
+ <firstname>Robert</firstname>
+
+ <surname>Getschmann</surname>
+
+ <contrib>Grazie a </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>Installazione di &maple;</title>
+
+ <indexterm>
+ <primary>applicazioni</primary>
+ <secondary><application>Maple</application></secondary>
+ </indexterm>
+
+ <para><application>&maple;</application> è un programma commerciale
+ di matematica simile a <application>&mathematica;</application>. Devi
+ acquistare questo software da <ulink
+ url="http://www.maplesoft.com/"></ulink> e quindi registrarti per un
+ file di licenza. Per installare questo software su FreeBSD, segui i
+ passi seguenti.</para>
+
+ <procedure>
+ <step>
+ <para>Esegui lo script di shell <filename>INSTALL</filename> dalla
+ distribuzione del prodotto. Scegli l'opzione <quote>RedHat</quote>
+ quando richiesto dal programma di installazione. Una tipica
+ directory di installazione potrebbe essere <filename
+ class="directory">/usr/local/maple</filename>.</para>
+ </step>
+
+ <step>
+ <para>Se ancora non l'hai fatto, ordina una licenza per
+ <application>&maple;</application> dalla Maple Waterloo Software
+ (<ulink url="http://register.maplesoft.com/"></ulink>) e copiala in
+ <filename>/usr/local/maple/license/license.dat</filename>.</para>
+ </step>
+
+ <step>
+ <para>Installa il gestore della licenza
+ <application>FLEXlm</application> lanciando lo shell script di
+ installazione <filename>INSTALL_LIC</filename>, distribuito assieme
+ a <application>&maple;</application>. Specifica l'hostname primario
+ della la tua macchina per il server delle licenze.</para>
+ </step>
+
+ <step>
+ <para>Modifica il file
+ <filename>/usr/local/maple/bin/maple.system.type</filename>
+ aggiungendo:</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>Nota che dopo <literal>"FreeBSD"|\</literal> non ci devono essere
+ altri spazi bianchi.</para>
+
+ <para>Questa patch dice a <application>&maple;</application> di
+ riconoscere <quote>FreeBSD</quote> come un tipo di sistema Linux.
+ Lo shell script <filename>bin/maple</filename> richiama lo shell
+ script <filename>bin/maple.system.type</filename> che a sua volta
+ chiama <command>uname -a</command> per determinare il nome del sistema
+ operativo. A seconda del nome del SO capirà quali binari
+ utilizzare.</para>
+ </step>
+
+ <step>
+ <para>Avviare il server delle licenze.</para>
+
+ <para>Lo script seguente, installato come
+ <filename>/usr/local/etc/rc.d/lmgrd.sh</filename> è un modo
+ facile per far partire <command>lmgrd</command>:</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&gt;&gt; ${LOG} 1&gt;&2
+ echo -n " lmgrd"
+ ;;
+stop)
+ llmgrd -c ${LICENSE_FILE} -x lmdown 2&gt;&gt; ${LOG} 1&gt;&2
+ ;;
+*)
+ echo "Usage: `basename $0` {start|stop}" 1&gt;&2
+ exit 64
+ ;;
+esac
+
+exit 0
+ ----- snip ------------</programlisting>
+ </step>
+
+ <step>
+ <para>Fai un test di avvio di
+ <application>&maple;</application>:</para>
+
+ <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput>
+&prompt.user; <userinput>./xmaple</userinput></screen>
+
+ <para>Dovrebbe funzionare. Assicurati di scrivere alla Maplesoft per
+ fargli sapere che vorresti avere una versione nativa per &os;!</para>
+ </step>
+ </procedure>
+
+ <sect2>
+ <title>Problemi Comuni</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Il gestore della licenza <application>FLEXlm</application>
+ può essere uno strumento difficile con cui lavorare.
+ A questo riguardo si può trovare della documentazione in
+ più a <ulink
+ url="http://www.globetrotter.com/"></ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si sa che <command>lmgrd</command> è molto esigente
+ riguardo al file della licenza e che va in core dump per qualunque
+ problema. Un buon file della licenza dovrebbe essere
+ così:</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>Il numero seriale e la chiave sono sostituiti dalle 'X'.
+ <hostid>chillig</hostid> è un hostname.</para>
+ </note>
+
+ <para>Modificare il file della licenza funziona fino a quando non
+ tocchi la linea <quote>FEATURE</quote> (che è protetta dalla
+ chiave della licenza).</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="linuxemu-matlab">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Dan</firstname>
+
+ <surname>Pelleg</surname>
+
+ <contrib>Contributo di </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>Installazione di &matlab;</title>
+
+ <indexterm>
+ <primary>applicazioni</primary>
+ <secondary><application>MATLAB</application></secondary>
+ </indexterm>
+
+ <para>Questo documento descrive il processo di installazione della versione
+ Linux di <application>&matlab; versione 6.5</application> su
+ un sistema &os;. Funziona abbastanza bene, con l'eccezione per la
+ <application>&java.virtual.machine;</application> (vedi
+ <xref linkend="matlab-jre"/>).</para>
+
+ <para>La versione Linux di <application>&matlab;</application> può
+ essere ordinata direttamente dalla MathWorks all'indirizzo <ulink
+ url="http://www.mathworks.com"></ulink>. Assicurati di avere il file
+ della licenza o le istruzioni per crearlo. Già che ci sei, fagli
+ sapere che vorresti una versione nativa per &os; del loro software.</para>
+
+ <sect2>
+ <title>Installazione di &matlab;</title>
+
+ <para>Per installare <application>&matlab;</application>, fai come
+ segue:</para>
+
+ <procedure>
+ <step>
+ <para>Inserisci il CD di installazione e montalo.
+ Diventa <username>root</username>, come consigliato dallo script
+ di installazione. Per avviare lo script di installazione
+ scrivi:</para>
+
+ <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen>
+
+ <tip>
+ <para>L'installer è grafico. Se ottieni errori riguardo
+ all'impossibilità ad aprire un display, scrivi
+ <command>setenv HOME ~<replaceable>USER</replaceable></command>,
+ dove <replaceable>USER</replaceable> è l'utente che hai
+ fatto &man.su.1;.</para>
+ </tip>
+ </step>
+
+ <step>
+ <para>
+ Quando viene chiesta la directory root per
+ <application>&matlab;</application>, scrivi:
+ <userinput>/compat/linux/usr/local/matlab</userinput>.</para>
+
+ <tip>
+ <para>Per una più facile scrittura nel resto del processo
+ di installazione, scrivi questo nella linea di comando della
+ shell:
+ <command>set MATLAB=/compat/linux/usr/local/matlab</command></para>
+ </tip>
+ </step>
+
+ <step>
+ <para>Modifica il file della licenza secondo le istruzioni avute
+ quando hai ottenuto la licenza di
+ <application>&matlab;</application>.</para>
+
+ <tip>
+ <para>Puoi preparare questo file in anticipo usando il tuo editor
+ preferito, e copiarlo in
+ <filename>$MATLAB/license.dat</filename> prima che l'installer
+ ti chieda di modificarlo.</para>
+ </tip>
+ </step>
+
+ <step>
+ <para>Completare il processo di installazione.</para>
+ </step>
+ </procedure>
+
+ <para>A questo punto la tua installazione di
+ <application>&matlab;</application> è completa. I punti
+ seguenti applicano una <quote>colla</quote> per connetterlo al tuo
+ sistema &os;.</para>
+ </sect2>
+
+ <sect2>
+ <title>Avvio del License Manager</title>
+
+ <procedure>
+ <step>
+ <para>Crea dei symlink per gli script del gestore della
+ licenza:</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>Crea un file d'avvio in
+ <filename>/usr/local/etc/rc.d/flexlm.sh</filename>. L'esempio qui
+ sotto è una versione modificata del
+ <filename>$MATLAB/etc/rc.lm.glnx86</filename> venduto. I
+ cambiamenti sono le posizioni del file e l'avvio del license manager
+ sotto l'emulazione Linux.</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> &amp;&amp; echo 'MATLAB_lmgrd'
+ fi
+ ;;
+ stop)
+ if [ -f /usr/local/etc/lmdown_TMW ]; then
+ /compat/linux/bin/sh /usr/local/etc/lmdown_TMW &gt; /dev/null 2&gt;&amp;1
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop}"
+ exit 1
+ ;;
+esac
+
+exit 0</programlisting>
+
+ <important>
+ <para>Il file deve essere reso eseguibile:</para>
+
+ <screen>&prompt.root; <userinput>chmod +x /usr/local/etc/rc.d/flexlm.sh</userinput></screen>
+
+ <para>In aggiunta sostituisci <replaceable>username</replaceable>
+ sopra con il nome di un utente valido sul tuo sistema (e non
+ <username>root</username>).</para>
+ </important>
+ </step>
+
+ <step>
+ <para>Avvia il gestore della licenza con il comando:</para>
+
+ <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/flexlm.sh start</userinput></screen>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2 id="matlab-jre">
+ <title>Collegare il &java; Runtime Environment</title>
+
+ <para>Cambia il link al <application>&java;</application> Runtime
+ Environment (JRE) con uno che funzioni sotto &os;:</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>Creazione di uno Script di Avvio per &matlab;</title>
+
+ <procedure>
+ <step>
+ <para>Poni il seguente script di avvio in
+ <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>Quindi scrivi il comando
+ <command>chmod +x /usr/local/bin/matlab</command>.</para>
+ </step>
+ </procedure>
+
+ <tip>
+ <para>A seconda della tua versione di
+ <filename role="package">emulators/linux_base</filename>, potresti
+ incorrere in errori quando lanci questo script. Per evitarli,
+ modifica il file
+ <filename>/compat/linux/usr/local/matlab/bin/matlab</filename>,
+ e cambia la riga che dice:</para>
+
+ <programlisting>if [ `expr "$lscmd" : '.*-&gt;.*'` -ne 0 ]; then</programlisting>
+
+ <para>(nella versione 13.0.1 è alla riga 410) con questa
+ riga:</para>
+
+ <programlisting>if test -L $newbase; then</programlisting>
+ </tip>
+ </sect2>
+
+ <sect2>
+ <title>Creazione di uno script di arresto per &matlab;</title>
+
+ <para>Quello che segue serve per risolvere un problema con &matlab;
+ quando non si chiude correttamente.</para>
+
+ <procedure>
+ <step>
+ <para>Crea un file
+ <filename>$MATLAB/toolbox/local/finish.m</filename>,
+ e scrivici l'unica riga:</para>
+
+ <programlisting>! $MATLAB/bin/finish.sh</programlisting>
+
+ <note><para><literal>$MATLAB</literal> è letterale.</para></note>
+
+ <tip>
+ <para>Nella stessa directory troverai i file
+ <filename>finishsav.m</filename> e
+ <filename>finishdlg.m</filename>,
+ che permettono di salvare il tuo lavoro all'uscita. Se ne usi
+ uno, inserisci la riga sopra immediatamente dopo il comando
+ <literal>save</literal>.</para>
+ </tip>
+ </step>
+
+ <step>
+ <para>Crea un file
+ <filename>$MATLAB/bin/finish.sh</filename>, che contiene ciò
+ che segue:</para>
+
+ <programlisting>#!/usr/compat/linux/bin/sh
+(sleep 5; killall -1 matlab_helper) &
+exit 0</programlisting>
+ </step>
+
+ <step>
+ <para>Rendi il file eseguibile:</para>
+
+ <screen>&prompt.root; <userinput>chmod +x $MATLAB/bin/finish.sh</userinput></screen>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2 id="matlab-using">
+ <title>Uso di &matlab;</title>
+
+ <para>A questo punto sei pronto per scrivere
+ <command>matlab</command> e cominciare ad usarlo.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="linuxemu-oracle">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Marcel</firstname>
+
+ <surname>Moolenaar</surname>
+
+ <contrib>Contributo di </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>Installazione di &oracle;</title>
+
+ <indexterm>
+ <primary>applicazioni</primary>
+ <secondary><application>Oracle</application></secondary>
+ </indexterm>
+
+ <sect2>
+ <title>Prefazione</title>
+
+ <para>Questo documento descrive il processo di installazione per
+ <application>&oracle; 8.0.5</application> e
+ <application>&oracle; 8.0.5.1 Enterprise Edition</application> per
+ Linux su una macchina FreeBSD.</para>
+ </sect2>
+
+ <sect2>
+ <title>Installazione dell'Ambiente Linux</title>
+
+ <para>Assicurati di avere installati sia
+ <filename role='package'>emulators/linux_base</filename> che
+ <filename role='package'>devel/linux_devtools</filename> dalla
+ collezione dei port. Se hai difficoltà con questi port, potresti
+ dover usare i pacchetti o versioni più vecchie disponibili nella
+ collezione dei port.</para>
+
+ <para>Se vuoi far girare l'intelligent agent, dovrai anche installare
+ il pacchetto Tcl di Red Hat :<filename>tcl-8.0.3-20.i386.rpm</filename>.
+ Il comando generale per l'installazione dei pacchetti con il port degli
+ <application>RPM</application> ufficiali (<filename
+ role='package'>archivers/rpm</filename>) è:</para>
+
+ <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>pacchetto</replaceable></userinput></screen>
+
+ <para>L'installazione del <replaceable>pacchetto</replaceable> non
+ dovrebbe generare alcun errore.</para>
+ </sect2>
+
+ <sect2>
+ <title>Creazione dell'ambiente &oracle;</title>
+
+ <para>Prima di installare <application>&oracle;</application>, devi
+ impostare un ambiente appropriato. Questo documento descrive solo cosa
+ fare <emphasis>in particolare</emphasis> per far girare
+ <application>&oracle;</application> per Linux su FreeBSD, non cosa
+ è descritto nella guida di installazione di
+ <application>&oracle;</application>.</para>
+
+ <sect3 id="linuxemu-kernel-tuning">
+ <title>Affinamento del Kernel</title>
+
+ <indexterm><primary>affinamento del kernel</primary></indexterm>
+
+ <para>Come viene descritto nella guida di installazione di
+ <application>&oracle;</application>, devi impostare la dimensione
+ massima di memoria condivisa. Non usare <literal>SHMMAX</literal>
+ sotto FreeBSD.
+ <literal>SHMMAX</literal> è soltanto calcolato a partire da
+ <literal>SHMMAXPGS</literal> e <literal>PGSIZE</literal>. Di
+ conseguenza definisci <literal>SHMMAXPGS</literal>. Tutte le altre
+ opzioni possono essere usate come descritte nella guida.
+ Per esempio:</para>
+
+ <programlisting>options SHMMAXPGS=10000
+options SHMMNI=100
+options SHMSEG=10
+options SEMMNS=200
+options SEMMNI=70
+options SEMMSL=61</programlisting>
+
+ <para>Imposta queste opzioni per ottenere l'uso desiderato di
+ <application>&oracle;</application>.</para>
+
+ <para>In più, assicurati di avere le seguenti opzioni nel file
+ di configurazione del tuo kernel:</para>
+
+<programlisting>options SYSVSHM #SysV shared memory
+options SYSVSEM #SysV semaphores
+options SYSVMSG #SysV interprocess communication</programlisting>
+ </sect3>
+
+ <sect3 id="linuxemu-oracle-account">
+ <title>Account di &oracle;</title>
+
+ <para>Crea un account <username>oracle</username> proprio come faresti
+ per creare qualunque altro account. L'account
+ <username>oracle</username>
+ è speciale solo se hai bisogno di usarlo in una shell di Linux.
+ Aggiungi <literal>/compat/linux/bin/bash</literal> a
+ <filename>/etc/shells</filename> e imposta la shell per l'account di
+ <username>oracle</username> in
+ <filename>/compat/linux/bin/bash</filename>.</para>
+ </sect3>
+
+ <sect3 id="linuxemu-environment">
+ <title>Ambiente</title>
+
+ <para>A fianco dele normali variabili
+ <application>&oracle;</application>,
+ come <envar>ORACLE_HOME</envar> e <envar>ORACLE_SID</envar> devi
+ impostare le seguenti variabili d'ambiente:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <colspec colwidth="1*"/>
+ <colspec colwidth="2*"/>
+ <thead>
+ <row>
+ <entry>Variabile</entry>
+
+ <entry>Valore</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>Si raccomanda di impostare tutte le variabili d'ambiente in
+ <filename>.profile</filename>. Un esempio completo:</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>Installazione di &oracle;</title>
+
+ <para>A causa di una leggera inconsistenza nell'emulatore Linux,
+ devi creare una directory chiamata <filename>.oracle</filename> in
+ <filename>/var/tmp</filename> prima di avviare l'installer.
+ Fallo appartenere dall'utente <username>oracle</username> e dovresti
+ essere in grado di installare <application>&oracle;</application>
+ senza alcun problema. Se hai problemi, controlla prima la tua
+ distribuzione e/o configurazione di <application>&oracle;</application>!
+ Dopo che hai installato <application>&oracle;</application>, applica
+ le patch descritte nelle prossime due sottosezioni.</para>
+
+ <para>Un problema frequente è che l'adattatore del protocollo
+ TCP non è installato corretamente. Di conseguenza non puoi
+ avviare alcun listener TCP. Le seguenti azioni aiutano a risolvere
+ questo problema:</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>Non dimenticarti di eseguire <filename>root.sh</filename>
+ ancora!</para>
+
+ <sect3 id="linuxemu-patch-root">
+ <title>Modifiche a root.sh</title>
+
+ <para>Nell'installazione di <application>&oracle;</application>, alcune
+ azioni, che vanno eseguite come <username>root</username>, sono
+ registrate in uno script di shell chiamato
+ <filename>root.sh</filename>.
+ Questo script si trova nella directory <filename>orainst</filename>.
+ Applica questa patch a <filename>root.sh</filename>, in modo che usi
+ propriamente <command>chown</command> o, in alternativa, esegui lo
+ script in una shell nativa di Linux.</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>Se non installi <application>&oracle;</application> dal CD, puoi
+ aggiungere la patch al sorgente di <filename>root.sh</filename>. Si
+ chiama <filename>rthd.sh</filename> e si trova nella directory
+ <filename>orainst</filename> nell'albero dei sorgenti.</para>
+ </sect3>
+
+ <sect3 id="linuxemu-patch-tcl">
+ <title>Modifiche a genclntsh</title>
+
+ <para>Lo script <command>genclntsh</command> viene usato per creare
+ una singola libreria condivisa del client. Si usa quando si compilano
+ le demo. Applica la patch seguente per decommentare la definizione di
+ <envar>PATH</envar>:</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>Avvio di &oracle;</title>
+
+ <para>Se hai seguito le istruzioni, dovresti essere in grado di avviare
+ <application>&oracle;</application> proprio come se fosse su
+ Linux.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="sapr3">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Holger</firstname>
+
+ <surname>Kipp</surname>
+
+ <contrib>Contributo di </contrib>
+ </author>
+ </authorgroup>
+
+ <authorgroup>
+ <author>
+ <firstname>Valentino</firstname>
+
+ <surname>Vaschetto</surname>
+
+ <contrib>Versione originale convertita in SGML da </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>Installazione di &sap.r3;</title>
+
+ <indexterm>
+ <primary>applicazioni</primary>
+ <secondary><application>SAP R/3</application></secondary>
+ </indexterm>
+
+ <para>Le installazioni di sistemi <application>&sap;</application> usando
+ FreeBSD non sono supportate dal team di supporto &sap; &mdash; offrono
+ supporto solo per piattaforme certificate.</para>
+
+ <sect2 id="preface">
+ <title>Prefazione</title>
+
+ <para>Questo documento descrive un modo possibile per installare un
+ sistema <application>&sap.r3;</application> con un database
+ <application>&oracle;</application> per Linux su una macchina FreeBSD,
+ inclusa l'installazione di FreeBSD e
+ <application>&oracle;</application>.
+ Sono descritte due diverse configurazioni:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><application>&sap.r3; 4.6B (IDES)</application> con
+ <application>&oracle; 8.0.5</application> su &os; 4.3-STABLE</para>
+ </listitem>
+
+ <listitem>
+ <para><application>&sap.r3; 4.6C</application> con
+ <application>&oracle; 8.1.7</application> su &os; 4.5-STABLE</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Anche se questo documento tenta di descrivere tutti i passi
+ importanti in dettaglio, non è insteso come un sostituto delle
+ guide di installazione di <application>&oracle;</application> e
+ <application>&sap.r3;</application>.</para>
+
+ <para>Per favore, controlla la documentazione unita all'edizione Linux di
+ <application>&sap.r3;</application> per questioni specifiche su
+ <application>&sap;</application> e <application>&oracle;</application>, e
+ anche le risorse da <application>&oracle;</application> e
+ <application>&sap; OSS</application>.</para>
+ </sect2>
+
+ <sect2 id="software">
+ <title>Software</title>
+
+ <para>Sono stati usati i seguenti CD-ROM per le installazioni di
+ <application>&sap;</application>:</para>
+
+ <sect3 id="software-46b">
+ <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Numero</entry>
+
+ <entry>Descrizione</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 / Disco 1 di 6</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT2</entry>
+
+ <entry>51010209</entry>
+
+ <entry>IDES / DB-Export / Disco 2 di 6</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT3</entry>
+
+ <entry>51010210</entry>
+
+ <entry>IDES / DB-Export / Disco 3 di 6</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT4</entry>
+
+ <entry>51010211</entry>
+
+ <entry>IDES / DB-Export / Disco 4 di 6</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT5</entry>
+
+ <entry>51010212</entry>
+
+ <entry>IDES / DB-Export / Disco 5 di 6</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT6</entry>
+
+ <entry>51010213</entry>
+
+ <entry>IDES / DB-Export / Disco 6 di 6</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Abbiamo usato anche il CD di <application>&oracle; 8
+ Server</application> (versione preproduzione 8.0.5 per Linux,
+ versione del kernel 2.0.33) che non è non strettamente
+ necessario, e
+ FreeBSD 4.3-STABLE (uscita pochi giorni dopo 4.3 RELEASE).</para>
+ </sect3>
+
+ <sect3 id="software-46c">
+ <title>&sap.r3; 4.6C SR2, &oracle; 8.1.7</title>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Numero</entry>
+
+ <entry>Descrizione</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 / Disco 1 di 4</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT1</entry>
+
+ <entry>51013953</entry>
+
+ <entry>Release 4.6C SR2 / Export / Disco 2 di 4</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT1</entry>
+
+ <entry>51013953</entry>
+
+ <entry>Release 4.6C SR2 / Export / Disco 3 di 4</entry>
+ </row>
+
+ <row>
+ <entry>EXPORT1</entry>
+
+ <entry>51013953</entry>
+
+ <entry>Release 4.6C SR2 / Export / Disco 4 di 4</entry>
+ </row>
+
+ <row>
+ <entry>LANG1</entry>
+
+ <entry>51013954</entry>
+
+ <entry>Release 4.6C SR2 / Language / DE, EN, FR / Disco 1 di
+ 3</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Dipendentemente dalle lingue che vuoi installare, potrebbero
+ essere necessari altri CD per le lingue. Qui usiamo solo DE e EN,
+ così da utilizzare solo il primo CD per le lingue. Come
+ piccola nota, i numeri per tutti i quattro CD EXPORT sono uguali.
+ Tutti e tre
+ i CD per le lingue hanno pure lo stesso numero (diversamente dalla
+ numerazione della release 4.6B IDES). Mentre stiamo scrivendo,
+ questa installazione sta girando su &os; 4.5-STABLE
+ (20.03.2002).</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="sap-notes">
+ <title>Note di &sap;</title>
+
+ <para>Le seguenti note dovrebbero essere lette prima di installare
+ <application>&sap.r3;</application> e dovrebbero tornare utili durante
+ l'installazione:</para>
+
+ <sect3 id="sap-notes-46b">
+ <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Numero</entry>
+
+ <entry>Titolo</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>0171356</entry>
+
+ <entry>Software SAP su Linux: Commenti Essenziali</entry>
+ </row>
+
+ <row>
+ <entry>0201147</entry>
+
+ <entry>INST: 4.6C R/3 Inst. su UNIX - Oracle</entry>
+ </row>
+
+ <row>
+ <entry>0373203</entry>
+
+ <entry>Aggiornamento / Migrazione Oracle 8.0.5 --&gt;
+ 8.0.6/8.1.6 LINUX</entry>
+ </row>
+
+ <row>
+ <entry>0072984</entry>
+
+ <entry>Rilascio di Digital UNIX 4.0B per Oracle</entry>
+ </row>
+
+ <row>
+ <entry>0130581</entry>
+
+ <entry>R3SETUP passo DIPGNTAB termina</entry>
+ </row>
+
+ <row>
+ <entry>0144978</entry>
+
+ <entry>Il tuo sistema non è stato installato
+ correttamente</entry>
+ </row>
+
+ <row>
+ <entry>0162266</entry>
+
+ <entry>Domande e suggerimenti per R3SETUP su 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" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Numero</entry>
+
+ <entry>Titolo</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>0015023</entry>
+
+ <entry>Inizializzazione della tabella TCPDB (RSXP0004)
+ (EBCDIC)</entry>
+ </row>
+
+ <row>
+ <entry>0045619</entry>
+
+ <entry>R/3 con molti linguaggi o caratteri</entry>
+ </row>
+
+ <row>
+ <entry>0171356</entry>
+
+ <entry>Software SAP su Linux: Commenti Essenziali</entry>
+ </row>
+
+ <row>
+ <entry>0195603</entry>
+
+ <entry>RedHat 6.1 Enterprise version: Problemi
+ Conosciuti</entry>
+ </row>
+
+ <row>
+ <entry>0212876</entry>
+
+ <entry>Il nuovo strumento di archiviazione SAPCAR</entry>
+ </row>
+
+ <row>
+ <entry>0300900</entry>
+
+ <entry>Linux: Hardware DELL Rilasciato</entry>
+ </row>
+
+ <row>
+ <entry>0377187</entry>
+
+ <entry>RedHat 6.2: Note importanti</entry>
+ </row>
+
+ <row>
+ <entry>0387074</entry>
+
+ <entry>INST: R/3 4.6C SR2 Installazione su UNIX</entry>
+ </row>
+
+ <row>
+ <entry>0387077</entry>
+
+ <entry>INST: R/3 4.6C SR2 Inst. su UNIX - Oracle</entry>
+ </row>
+
+ <row>
+ <entry>0387078</entry>
+
+ <entry>Software SAP su UNIX: Dipendenze del SO per 4.6C
+ SR2</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+ </sect2>
+
+ <sect2 id="hardware-requirements">
+ <title>Requisiti Hardware</title>
+
+ <para>La strumentazione che segue è sufficiente per
+ l'installazione di un sistema <application>&sap.r3;</application>. Per
+ un uso in produzione, è necessario un dimensionamento più
+ preciso:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Componente</entry>
+
+ <entry>4.6B</entry>
+
+ <entry>4.6C</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>Processore</entry>
+
+ <entry>2 x 800MHz &pentium; III</entry>
+
+ <entry>2 x 800MHz &pentium; III</entry>
+ </row>
+
+ <row>
+ <entry>Memoria</entry>
+
+ <entry>1GB ECC</entry>
+
+ <entry>2GB ECC</entry>
+ </row>
+
+ <row>
+ <entry>Spazio sul Disco Fisso</entry>
+
+ <entry>50-60GB (IDES)</entry>
+
+ <entry>50-60GB (IDES)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Per l'uso in produzione si raccomandano processori &xeon;,
+ con una grande cache, dischi ad accesso ad alta velocità (SCSI,
+ controller hardware RAID), sono raccomandati USV e ECC-RAM. La grande
+ quantità di spazio sul disco fisso è dovuta al sistema
+ IDES preconfigurato, che, durante l'installazione, crea 27&nbsp;GB di
+ file per il database. Questo spazio è sufficiente per sistemi
+ in produzione e per i dati delle applicazioni iniziali.</para>
+
+ <sect3 id="hardware-46b">
+ <title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
+
+ <para>È stato usato il seguente hardware in disuso:
+ una scheda biprocessore con 2 processori &pentium;&nbsp;III da
+ 800&nbsp;MHz, adattatore SCSI &adaptec; 29160 Ultra160 (per accedere
+ ad un unità nastro DLT da 40/80&nbsp;GB e al CDROM),
+ &mylex; &acceleraid; (2 canali, firmware 6.00-1-00 con 32&nbsp;MB
+ RAM). Al controller RAID &mylex; sono attaccati due dischi fissi da
+ 17&nbsp;GB (mirrored) e quattro dischi fissi da 36&nbsp;GB
+ (RAID 5).</para>
+ </sect3>
+
+ <sect3 id="hardware-46c">
+ <title>&sap.r3; 4.6C, &oracle; 8.1.7</title>
+
+ <para>Per questa installazione è stato usato un &dell;
+ &poweredge; 2500: una scheda biprocessore con due processori
+ &pentium;&nbsp;III da
+ 1000&nbsp;MHz (256&nbsp;kB di cache), 2&nbsp;GB PC133 ECC SDRAM,
+ controller RAID PERC/3 DC PCI con 128&nbsp;MB, e un drive EIDE
+ DVD-ROM.
+ Al controller RAID controller sono attaccati due dischi fissi da
+ 18&nbsp;GB (mirrored) e quattro dischi fissi da 36&nbsp;GB
+ (RAID 5).</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installazione di FreeBSD</title>
+
+ <para>Prima devi installare FreeBSD. Ci sono molti modi per farlo,
+ per maggiori informazioni leggi la <xref
+ linkend="install-diff-media"/>.</para>
+
+ <sect3 id="disk-layout">
+ <title>Layuot del Disco</title>
+
+ <para>Per farla semplice, abbiamo usato lo stesso layout del disco sia
+ per l'installazione di <application>&sap.r3; 46B</application> che di
+ <application>&sap.r3; 46C SR2</application>. Cambiano solo i nomi dei
+ dispositivi, dal momento che le installazioni sono state eseguite
+ su hardware differenti (rispettivamente <filename>/dev/da</filename>
+ e <filename>/dev/amr</filename>, così se si usa un AMI
+ &megaraid;, si vedrà <filename>/dev/amr0s1a</filename> invece
+ che <filename>/dev/da0s1a</filename>):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>File system</entry>
+
+ <entry>Dimensione (1k-blocks)</entry>
+
+ <entry>Dimensione (GB)</entry>
+
+ <entry>Montato su</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><filename>/dev/da0s1a</filename></entry>
+
+ <entry>1.016.303</entry>
+
+ <entry>1</entry>
+
+ <entry><filename>/</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da0s1b</filename></entry>
+
+ <entry></entry>
+
+ <entry>6</entry>
+
+ <entry>swap</entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da0s1e</filename></entry>
+
+ <entry>2.032.623</entry>
+
+ <entry>2</entry>
+
+ <entry><filename>/var</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da0s1f</filename></entry>
+
+ <entry>8.205.339</entry>
+
+ <entry>8</entry>
+
+ <entry><filename>/usr</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da1s1e</filename></entry>
+
+ <entry>45.734.361</entry>
+
+ <entry>45</entry>
+
+ <entry><filename>/compat/linux/oracle</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da1s1f</filename></entry>
+
+ <entry>2.032.623</entry>
+
+ <entry>2</entry>
+
+ <entry><filename>/compat/linux/sapmnt</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/dev/da1s1g</filename></entry>
+
+ <entry>2.032.623</entry>
+
+ <entry>2</entry>
+
+ <entry><filename>/compat/linux/usr/sap</filename></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Configura in anticipo e inizializza i due drive
+ logici con il software &mylex; o PERC/3 RAID. Il software può
+ essere lanciato durante la fase di avvio del
+ <acronym>BIOS</acronym>.</para>
+
+ <para>Nota che il layout di questo disco differisce leggermente dalle
+ raccomandazioni di &sap;, giacché &sap; suggerisce di montare
+ le sottodirectory di <application>&oracle;</application> (e qualche
+ altra) separatamente &mdash; abbiamo deciso di crearle come vere
+ sottodirectory per semplicità.</para>
+ </sect3>
+
+ <sect3 id="makeworldandnewkernel">
+ <title><command>make world</command> e il Nuovo Kernel</title>
+
+ <para>Scarica gli ultimi sorgenti -STABLE. Ricompila world e il tuo
+ kernel personalizzato dopo averne modificato il file di
+ configurazione.
+ In questo dovresti includere anche i
+ <link linkend="kerneltuning">parametri del kernel</link> che sono
+ richiesti sia per <application>&sap.r3;</application> che per
+ <application>&oracle;</application>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="installingthelinuxenviornment">
+ <title>Installazione dell'Ambiente Linux</title>
+
+ <sect3 id="installinglinuxbase-system">
+ <title>Installazione del Sistema Linux di Base</title>
+
+ <para>Per primo bisogna installare il port
+ <link linkend="linuxemu-libs-port">linux_base</link> (come
+ <username>root</username>):</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
+&prompt.root; <userinput>make install distclean</userinput></screen>
+
+ </sect3>
+
+ <sect3 id="installinglinuxdevelopment">
+ <title>Installazione dell'Ambiente di Sviluppo di Linux</title>
+
+ <para>È richiesto l'ambiente di sviluppo di linux, se vuoi
+ installare <application>&oracle;</application> su FreeBSD secondo la
+ <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>L'ambiente di sviluppo di Linux è stato installato solo
+ durante l'installazione di <application>&sap.r3; 46B
+ IDES</application>.
+ Non è necessario, se <application>&oracle; DB</application>
+ non è ricollegata sul sistema FreeBSD. Questo è il
+ caso se stai usando il tarball di <application>&oracle;</application>
+ da un sistema Linux.</para>
+ </sect3>
+
+ <sect3 id="installingnecessaryrpms">
+ <title>Installazione degli RPM necessari</title>
+
+ <indexterm><primary>RPM</primary></indexterm>
+
+ <para>Per avviare il programma <command>R3SETUP</command>, c'è
+ bisogno del supporto PAM. Durante la prima installazione di
+ <application>&sap;</application> su FreeBSD 4.3-STABLE abbiamo tentato
+ di installare PAM con tutti i pacchetti richiesti: alla fine abbiamo
+ forzato l'installazione del pacchetto di PAM, ed ha funzionato. Per
+ <application>&sap.r3; 4.6C SR2</application> abbiamo subito forzato
+ l'installazione degli RPM di PAM, ed ha pure funzionato, sembra quindi
+ che i pacchetti dipendenti non siano necessari:</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>Per fare in modo che <application>&oracle; 8.0.5</application>
+ avvii l'intelligent agent, dobbiamo anche installare il paccheto Tcl
+ di RedHat <filename>tcl-8.0.5-30.i386.rpm</filename> (altrimenti il
+ ricollegamento durante l'installazione di
+ <application>&oracle;</application> non funzionerà).
+ Ci sono altri punti riguardanti il ricollegamento di
+ <application>&oracle;</application>, ma è un problema di
+ <application>&oracle;</application> per Linux, non specifico di
+ FreeBSD.</para>
+ </sect3>
+
+ <sect3 id="linuxprocandfallbackelfbrand">
+ <title>Alcuni Suggerimenti</title>
+
+ <para>Potrebbe essere una buona idea aggiungere
+ <literal>linprocfs</literal>
+ a <filename>/etc/fstab</filename>, per maggiori informazioni guarda
+ la pagina del manuale di &man.linprocfs.5;. Un altro parametro da
+ impostare è <literal>kern.fallback_elf_brand=3</literal>, da
+ fare nel file <filename>/etc/sysctl.conf</filename>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="creatingsapr3env">
+ <title>Creazione dell'Ambiente &sap.r3;</title>
+
+ <sect3 id="filesystemsandmountpoints">
+ <title>Creazione dei File System Necessari e dei Punti di Mount</title>
+
+ <para>Per una installazione semplice è sufficiente creare i
+ seguenti file system:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>punto di mount</entry>
+
+ <entry>dimensione 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>È necessario anche creare qualche collegamento, altrimenti
+ l'installer di <application>&sap;</application> si lamenterà,
+ perché controlla i collegamenti creati:</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>Possibili messaggi d'errore durante l'installazione (qui con
+ il sistema <emphasis>PRD</emphasis> e l'installazione di
+ <application>&sap.r3; 4.6C SR2</application>):</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>Creazione degli Utenti e delle Directory</title>
+
+ <para><application>&sap.r3;</application> ha bisogno di due utenti e
+ tre gruppi. I nomi degli utenti dipendono dal
+ <application>&sap;</application> system ID (SID) che consta di tre
+ lettere. Alcuni di questi SID sono riservati da
+ <application>&sap;</application> (per esempio <literal>SAP</literal> e
+ <literal>NIX</literal>. Per una lista completa controlla la
+ documentazione <application>&sap;</application>). Per
+ l'installazione di IDES abbiamo usato <literal>IDS</literal>, per
+ l'installazione di 4.6C SR2 <literal>PRD</literal>, poiché quel
+ sistema è inteso per l'uso in produzione. Abbiamo quindi i
+ seguenti gruppi (gli ID dei gruppi potrebbero differire, questi sono
+ solo i valori che abbiamo usato nella nostra installazione):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>ID del gruppo</entry>
+
+ <entry>nome del gruppo</entry>
+
+ <entry>descrizione</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>100</entry>
+
+ <entry>dba</entry>
+
+ <entry>Amministratore del Database</entry>
+ </row>
+
+ <row>
+ <entry>101</entry>
+
+ <entry>sapsys</entry>
+
+ <entry>Sistema &sap;</entry>
+ </row>
+
+ <row>
+ <entry>102</entry>
+
+ <entry>oper</entry>
+
+ <entry>Operatore del Database</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>In una installazione normale di
+ <application>&oracle;</application>, si usa solo il gruppo
+ <groupname>dba</groupname>. Come gruppo <groupname>oper</groupname>,
+ si usa anche il gruppo <groupname>dba</groupname> (per maggiori
+ informazioni, vedi la documentazione di
+ <application>&oracle;</application> e di
+ <application>&sap;</application>).</para>
+
+ <para>Abbiamo bisogno anche dei seguenti utenti:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="6">
+ <thead>
+ <row>
+ <entry>ID utente</entry>
+
+ <entry>nome utente</entry>
+
+ <entry>nome generico</entry>
+
+ <entry>gruppo</entry>
+
+ <entry>gruppi addizionali</entry>
+
+ <entry>descrizione</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>Amministratore &sap;</entry>
+ </row>
+
+ <row>
+ <entry>1002</entry>
+
+ <entry>oraids/oraprd</entry>
+
+ <entry>ora<replaceable>sid</replaceable></entry>
+
+ <entry>dba</entry>
+
+ <entry>oper</entry>
+
+ <entry>Amministratore &oracle;</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Aggiungere gli utenti con &man.adduser.8; richiede l'inserimento
+ di questo per l'<quote>Amministratore &sap;</quote> (notare la shell
+ e la directory home):</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>e per l'<quote>Amministratore &oracle;</quote>:</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>Questo dovrebbe includere anche il gruppo
+ <groupname>oper</groupname> nel caso tu stia usando entrambi i
+ gruppi <groupname>dba</groupname> e
+ <groupname>oper</groupname>.</para>
+ </sect3>
+
+ <sect3 id="creatingdirectories">
+ <title>Creazione delle Directory</title>
+
+ <para>Queste directory solitamente sono create come file system
+ separati, dipende esclusivamente dalle tue necessità.
+ Noi abbiamo scelto di crearle come semplici directory, dal momento
+ che, comunque, si trovano sullo stesso RAID 5:</para>
+
+ <para>Prima impostiamo le appartenenze ed i diritti per alcune
+ directory (come utente <username>root</username>):</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>Successivamente creiamo le directory come utente
+ <username>ora<replaceable>sid</replaceable></username>. Queste
+ saranno tutte le sottodirectory di
+ <filename>/oracle/<replaceable>SID</replaceable></filename>:</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>Per l'installazione di <application>&oracle; 8.1.7</application>
+ sono necessarie alcune altre directory:</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>La directory <filename>client/80x_32</filename> è usata
+ esattamente con questo nome. Non rimpiazzare la
+ <emphasis>x</emphasis> con dei numeri o altro.</para>
+ </note>
+
+ <para>Nel terzo passo creiamo le directory come
+ <username><replaceable>sid</replaceable>adm</username>:</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>Definizioni in <filename>/etc/services</filename></title>
+
+ <para><application>&sap.r3;</application> richiede alcune definizioni
+ nel file <filename>/etc/services</filename>, che non sono impostate
+ correttamente durante l'installazione sotto FreeBSD. Aggiungi le
+ seguenti righe (hai bisogno almeno di queste definizioni,
+ corrispondenti al numero di istanza &mdash; in questo caso,
+ <literal>00</literal>. Non fa danni aggiungere tutte le definizioni
+ da <literal>00</literal> a <literal>99</literal> per
+ <literal>dp</literal>, <literal>gw</literal>, <literal>sp</literal> e
+ <literal>ms</literal>). Se userai un
+ <application>SAProuter</application> o avrai bisogno di accedere a
+ <application>&sap;</application> OSS, hai bisogno di
+ <literal>99</literal>, dal momento che la porta 3299 è
+ normalmente utilizzata per il processo
+ <application>SAProuter</application> sul sistema target:</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>Internazionalizzazioni Necessarie</title>
+
+ <indexterm><primary>internazionalizzazione</primary></indexterm>
+
+ <para><application>&sap;</application> richiede almeno due
+ internazionalizzazioni che non fanno parte dell'installazione
+ standard di RedHat. &sap; offre gli RPM richiesti, scaricabili dal
+ loro server FTP (che è accessibile solo se sei un cliente
+ con accesso OSS). Vedi la nota 0171356 per una lista degli RPM di
+ cui hai bisogno.</para>
+
+ <para>È pure possibile creare solamente i collegamenti
+ appropriati (per esempio da <emphasis>de_DE</emphasis> e
+ <emphasis>en_US</emphasis> ), ma non lo raccomandiamo per un sistema
+ in produzione (anche se ha funzionato con il sistema IDES senza
+ alcun problema). Le seguenti internazionalizzazioni sono
+ necessarie:</para>
+
+ <programlisting>de_DE.ISO-8859-1
+en_US.ISO-8859-1</programlisting>
+
+ <para>Crea i collegamenti come questi:</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>Se non sono presenti, ci sarà qualche problema durante
+ l'installazione. Se vengono ignorati (impostando
+ <literal>STATUS</literal> dei punti con errore a
+ <literal>OK</literal> nel file <filename>CENTRDB.R3S</filename>),
+ sarà impossibile autenticarsi nel sistema
+ <application>&sap;</application> senza qualche ulteriore
+ sforzo.</para>
+ </sect3>
+
+ <sect3 id="kerneltuning">
+ <title>Affinamento del Kernel</title>
+
+ <indexterm><primary>affinamento del kernel</primary></indexterm>
+
+ <para>I sistemi <application>&sap.r3;</application> necessitano di
+ molte risorse. Di conseguenza abbiamo aggiunto i seguenti parametri
+ al file di configurazione del kernel:</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 identifiers
+options SEMUME=100 #number of UNDO keys</programlisting>
+
+ <para>I valori minimi sono specificati nella documentazione fornita
+ con &sap;. Dal momento che non v'è alcuna descrizione per
+ Linux, vedi nella sezione HP-UX (32-bit) per ulteriori informazioni.
+ Siccome il sistema per l'installazione di 4.6C SR2 ha più
+ memoria principale, il segmento condiviso può essere
+ più grande sia per <application>&sap;</application> che per
+ <application>&oracle;</application>, quindi scegli un numero maggiore
+ di pagine di memoria condivisa.</para>
+
+ <note>
+ <para>Con l'installazione di default di FreeBSD su &i386;,
+ lascia <literal>MAXDSIZ</literal> e <literal>DFLDSIZ</literal> ad un
+ massimo di 1&nbsp;GB. In caso contrario potrebbero accadere strani
+ errori, come <errorname>ORA-27102: out of memory</errorname> e
+ <errorname>Linux Error: 12: Cannot allocate
+ memory</errorname>.</para>
+ </note>
+ </sect3>
+ </sect2>
+
+ <sect2 id="installingsapr3">
+ <title>Installazione di &sap.r3;</title>
+
+ <sect3 id="preparingsapcdroms">
+ <title>Preparazione dei CD-ROM di &sap;</title>
+
+ <para>Ci sono molti CD-ROM da montare e smontare durante
+ l'installazione. Ad avere abbastanza drive CD-ROM, puoi montarli
+ tutti. Abbiamo deciso di copiare i contenuti dei CD-ROM nelle
+ directory corrispondenti:</para>
+
+ <programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></programlisting>
+
+ <para>dove <replaceable>cd-name</replaceable> era uno tra
+ <filename>KERNEL</filename>,
+ <filename>RDBMS</filename>, <filename>EXPORT1</filename>,
+ <filename>EXPORT2</filename>, <filename>EXPORT3</filename>,
+ <filename>EXPORT4</filename>, <filename>EXPORT5</filename> e
+ <filename>EXPORT6</filename> per l'installazione di 4.6B/IDES,
+ e <filename>KERNEL</filename>, <filename>RDBMS</filename>,
+ <filename>DISK1</filename>, <filename>DISK2</filename>,
+ <filename>DISK3</filename>, <filename>DISK4</filename> e
+ <filename>LANG</filename> per l'installazione di 4.6C SR2. Tutti i
+ nomi dei file sui CD montati dovrebbero essere in lettere maiuscole.
+ In caso contrario usa l'opzione <option>-g</option> per montare,
+ cioè usa questi comandi:</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>Avvio dello Script di Installazione</title>
+
+ <para>Per prima cosa devi creare una directory <filename
+ class="directory">install</filename>:</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>Quindi viene lanciato lo script di installazione, che copia
+ quasi tutti i file rilevanti dentro alla directory <filename
+ class="directory">install</filename>:</para>
+
+ <screen>&prompt.root; <userinput>/oracle/<replaceable>SID</replaceable>/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen>
+
+ <para>L'installazione (4.6B) è data con un sistema di
+ dimostrazione &sap.r3; completamente personalizzato, per questo ci
+ sono sei CD EXPORT invece che tre. A questo punto il modello
+ <filename>CENTRDB.R3S</filename> serve per l'installazione di una
+ istanza centrale standard (<application>&r3;</application> e
+ database), non l'instanza centrale IDES, quindi bisogna copiare il
+ corrispondente <filename>CENTRDB.R3S</filename> dalla directory
+ <filename class="directory">EXPORT1</filename>, altrimenti
+ <command>R3SETUP</command>
+ chiederà solo tre CD EXPORT.</para>
+
+ <para>La nuova distribuzione di
+ <application>&sap; 4.6C SR2</application> viene venduta con quattro
+ CD EXPORT. Il file che controlla i passi dell'installazione è
+ <filename>CENTRAL.R3S</filename>. Contrariamente alle versioni
+ precedenti non ci sono modelli di installazione per una istanza
+ centrale con o senza database. <application>&sap;</application> usa
+ un modello diverso per l'installazione del database. Per riavviare
+ l'installazione in un secondo momento, è comunque sufficiente
+ riavviare con il file originale.</para>
+
+ <para>Durante e dopo l'installazione, <application>&sap;</application>
+ richiede <command>hostname</command> per restituire solamente
+ il nome del computer, non il nome completo del dominio. Quindi
+ imposta l'hostname in questo modo, oppure imposta un alias con
+ <command>alias hostname='hostname -s'</command> per entrambi
+ <username>ora<replaceable>sid</replaceable></username> e
+ <username><replaceable>sid</replaceable>adm</username> (e per
+ <username>root</username> almeno per i punti eseguiti come
+ <username>root</username>). È anche possibile modificare i file
+ <filename>.profile</filename> e <filename>.login</filename> installati
+ di entrambi gli utenti creati durante l'installazione di
+ <application>&sap;</application>.</para>
+ </sect3>
+
+ <sect3 id="startr3setup-46B">
+ <title>Avviare <command>R3SETUP</command> 4.6B</title>
+
+ <para>Assicurati che <envar>LD_LIBRARY_PATH</envar> sia impostato
+ correttamente:</para>
+
+ <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib</userinput></screen>
+
+ <para>Avvia <command>R3SETUP</command> come <username>root</username>
+ dalla directory di installazione:</para>
+
+ <screen>&prompt.root; <userinput>cd /oracle/IDS/sapreorg/install</userinput>
+&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
+
+ <para>Lo script, quindi, fa alcune domande (i default sono tra
+ parentesi, seguite dal vero input):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Domanda</entry>
+
+ <entry>Default</entry>
+
+ <entry>Input</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>Se non hai copiato i CD in posizioni diverse, l'installer di
+ <application>&sap;</application> non può tyrovare i CD
+ necessari (identificati dal file <filename>LABEL.ASC</filename>
+ sul CD) e quindi ti chiederà di inserire e montare il CD
+ e di confermare o di inserire il path al mount.</para>
+
+ <para><filename>CENTRDB.R3S</filename> potrebbe non essere scevro di
+ errori. Nel nostro caso, ha richiesto il CD EXPORT4 un'altra volta
+ ma indicando la chiave corretta (6_LOCATION, quindi 7_LOCATION,
+ ecc.), così bisogna continuare ad inserire i valori
+ corretti.</para>
+
+ <para>A parte alcuni problemi sopra menzionati, ogni cosa dovrebbe
+ andare bene fino al punto dove bisogna installare il database
+ &oracle;.</para>
+ </sect3>
+
+ <sect3 id="startr3setup-46C">
+ <title>Avviare <command>R3SETUP</command> 4.6C SR2</title>
+
+ <para>Assicurati che <envar>LD_LIBRARY_PATH</envar> sia impostato
+ correttamente. Ha un valore diverso dall'installazione di 4.6B con
+ <application>&oracle; 8.0.5</application>:</para>
+
+ <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib</userinput></screen>
+
+ <para>Avvia <command>R3SETUP</command> come <username>root</username>
+ dalla directory di installazione:</para>
+
+ <screen>&prompt.root; <userinput>cd /oracle/PRD/sapreorg/install</userinput>
+&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
+
+ <para>Lo script, quindi, fa alcune domande (i default sono tra
+ parentesi, seguite dal vero input):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Domanda</entry>
+
+ <entry>Default</entry>
+
+ <entry>Input</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>Al momento la creazione degli utenti genera un errore durante
+ l'installazione nelle fasi OSUSERDBSID_IND_ORA (nel creare l'utente
+ <username>ora<replaceable>sid</replaceable></username>) e
+ OSUSERSIDADM_IND_ORA (nel creare l'utente
+ <username><replaceable>sid</replaceable>adm</username>).</para>
+
+ <para>A parte qualche problema descritto sopra, tutto dovrebbe andare
+ liscio fino al punto dove bisogna installare il database
+ &oracle;.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="installingoracle805">
+ <title>Installazione di &oracle; 8.0.5</title>
+
+ <para>Per favore, leggi le corrispondenti note di &sap; e i
+ <filename>Readme</filename> di &oracle; riguardanti
+ Linux e <application>&oracle; DB</application> per possibili problemi.
+ Molti, se non tutti, i problemi nascono da librerie
+ incompatibili.</para>
+
+ <para>Per maggiori informazioni riguardo all'installazione di
+ <application>&oracle;</application>, riferirsi al <link
+ linkend="linuxemu-oracle">capitolo Installare &oracle;</link>.</para>
+
+
+ <sect3 id="installingtheoracle805withorainst">
+ <title>Installazione di &oracle; 8.0.5 con
+ <command>orainst</command></title>
+
+ <para>Se bisogna usare <application>&oracle; 8.0.5</application>,
+ sono richeste alcune librerie in più per un ricollegamento
+ funzionante, perché <application>&oracle; 8.0.5</application>
+ è stata collegata con una vecchia glibc (RedHat 6.0), anche
+ se RedHat 6.1 già usa una nuova glibc. Per questo devi
+ installare i seguenti pacchetti per essere sicuro che il collegamento
+ funzioni:</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>Per maggiori informazioni, leggi le corrispondenti note di &sap;
+ o i <filename>Readme</filename> di &oracle;. Se non hai questa
+ opzione (al momento dell'installazione non abbiamo avuto abbastanza
+ tempo per controllare), si possono usare i binari originali, oppure
+ usare i binari ricollegati da un sistema RedHat originale.</para>
+
+ <para>Per compilare l'intelligent agent, bisogna installare il
+ pacchetto Tcl di RedHat. Se non puoi recuperare
+ <filename>tcl-8.0.3-20.i386.rpm</filename>, dovrebbe funzionare
+ uno più nuovo come
+ <filename>tcl-8.0.5-30.i386.rpm</filename> da RedHat 6.1.</para>
+
+ <para>A parte il ricollegamento, l'installazione è
+ diretta:</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>Conferma tutti i comandi con <keycap>Enter</keycap> fino a che
+ il software non è installato, a parte il
+ <emphasis>&oracle; On-Line Text Viewer</emphasis>, che non è
+ disponibile per Linux. <application>&oracle;</application>, quindi,
+ si ricolleghi con <command>i386-glibc20-linux-gcc</command>
+ invece dei disponibili <command>gcc</command>,
+ <command>egcs</command> o <command>i386-redhat-linux-gcc
+ </command>.</para>
+
+ <para>A causa di limitazioni di tempo, abbiamo deciso di usare i binari
+ da una distribuzione di
+ <application>&oracle; 8.0.5 PreProduction</application>, dopo il
+ primo tentativo, fallito, di far funzionare la versione dal CD del
+ RDBMS, e trovare e accedere agli RPM corretti era un incubo in quel
+ momento.</para>
+ </sect3>
+
+ <sect3 id="installingtheoracle805preproduction">
+ <title>Installzione della Distribuzione &oracle; 8.0.5 Pre-production
+ per Linux (Kernel 2.0.33)</title>
+
+ <para>Questa installazione è piuttosto semplice. Monta il CD e
+ avvia l'installer. Ti chiederà l'ubicazione della directory
+ home di &oracle; e vi copierà i file. Noi, comunque, Non
+ abbiamo cancellato ciò che è rimasto dei precedenti
+ tentativi di installazione del RDBMS.</para>
+
+ <para>Subito dopo, il database <application>&oracle;</application>
+ può essere lanciato senza problemi.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="installingoracle817">
+ <title>Installazione del Tarball di &oracle; 8.1.7 per Linux</title>
+
+ <para>Prendi il tarball <filename>oracle81732.tgz</filename> che
+ hai prodotto dalla directory di installazione su un sistema Linux e
+ estrailo in
+ <filename>/oracle/<replaceable>SID</replaceable>/817_32/</filename>.</para>
+ </sect2>
+
+ <sect2 id="continuewithsapr4installation">
+ <title>Continuare con l'Installazione di &sap.r3;</title>
+
+ <para>Prima controlla le impostazioni d'ambiente degli utenti
+ <username>idsamd</username> (<replaceable>sid</replaceable>adm) e
+ <username>oraids</username> (ora<replaceable>sid</replaceable>).
+ Ora dovrebbero avere i file <filename>.profile</filename>,
+ <filename>.login</filename> e <filename>.cshrc</filename>
+ che usano tutti <command>hostname</command>. Nel caso l'hostname
+ del sistema sia il nome completamente qualificato, devi cambiare
+ <command>hostname</command> in <command>hostname
+ -s</command> dentro a tutti i file.</para>
+
+ <sect3 id="databaseload">
+ <title>Caricamento del Database</title>
+
+ <para>Dopo di ciò, <command>R3SETUP</command> può
+ essere riavviato o continuato (a seconda che se ne sia usciti o
+ no). <command>R3SETUP</command>, quindi, crea le tabelle e carica
+ i dati nel database con <command>R3load</command> (per 46B IDES,
+ da EXPORT1 a EXPORT6, per 46C da DISK1 a DISK4).</para>
+
+ <para>Quando il caricamento del database è finito (potrebbe
+ richiedere qualche ora), vengono richieste alcune password.
+ Per installazioni di prova, si possono usare le ben note
+ password di default (usane di diverse se la sicurezza è un
+ problema!):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+
+ <entry>Domanda</entry>
+
+ <entry>Input</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>A questo punto abbiamo avuto qualche problema con
+ <command>dipgntab</command> durante l'installazione di 4.6B.</para>
+ </sect3>
+
+ <sect3 id="listener">
+ <title>Listener</title>
+
+ <para>Avvia il listener di <application>&oracle;</application> come
+ utente <username>ora<replaceable>sid</replaceable></username> come
+ segue:</para>
+
+ <screen>&prompt.user; <userinput>umask 0; lsnrctl start</userinput></screen>
+
+ <para>Altrimenti potresti incorrere nell'errore
+ <errorcode>ORA-12546</errorcode> poiché i socket non hanno i
+ permessi giusti. Vedi la nota di &sap; 072984.</para>
+ </sect3>
+
+ <sect3 id="mnlstables">
+ <title>Aggiornare le Tabelle MNLS</title>
+
+ <para>Se pensi di importare le lingue non-Latin-1 nel sistema
+ <application>&sap;</application>, devi aggiornare le tabelle Multi
+ National Language Support. Questo è descritto nelle note di
+ &sap; OSS 15023 e 45619. Altrimenti puoi saltare questa domanda
+ durante l'installazione di <application>&sap;</application>.</para>
+
+ <note>
+ <para>Se non hai bisogno del MNLS, è comunque necessario
+ controllare la tabella TCPDB e inizializzarla se ancora non è
+ stato fatto. Per maggiori informazioni, vedi le note di &sap;
+ 0015023 e 0045619.</para>
+ </note>
+ </sect3>
+ </sect2>
+
+ <sect2 id="postinstallationsteps">
+ <title>Dopo l'Installazione</title>
+
+ <sect3 id="requestsapr3licensekey">
+ <title>Richiesta della Chiave di Licenza di &sap.r3;</title>
+
+ <para>Devi richiedere la tua chiave di licenza per
+ <application>&sap.r3;</application>. È necessaria,
+ dal momento che la licenza temporanea che è stata usata durante
+ l'installazione era valida solo per quattro settimane. Prima di tutto
+ recupera la chiave hardware. Autenticati come utente
+ <username>idsadm</username> e lancia
+ <command>saplicense</command>:</para>
+
+ <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -get</userinput></screen>
+
+ <para>Lanciando <command>saplicense</command> senza paramentri, viene
+ restituita una lista di opzioni. Quando si riceve la chiave di
+ licenza, può essere installata usando:</para>
+
+ <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -install</userinput></screen>
+
+ <para>Ti viene richiesto di inserire i seguenti valori:</para>
+
+ <programlisting>SAP SYSTEM ID = <replaceable>SID, 3 chars</replaceable>
+CUSTOMER KEY = <replaceable>hardware key, 11 chars</replaceable>
+INSTALLATION NO = <replaceable>installation, 10 digits</replaceable>
+EXPIRATION DATE = <replaceable>yyyymmdd, usually "99991231"</replaceable>
+LICENSE KEY = <replaceable>license key, 24 chars</replaceable></programlisting>
+ </sect3>
+
+ <sect3 id="creatingusers">
+ <title>Creazione degli Utenti</title>
+
+ <para>Crea un utente dentro il client 000 (richiesto per qualche
+ azione da eseguire dentro al client 000, ma con un utente diverso
+ dagli utenti <username>sap*</username> e
+ <username>ddic</username>). Come nome utente, noi solitamente
+ scegliamo <username>wartung</username> (o
+ <username>servizio</username> in italiano). I profili richiesti
+ sono <literal>sap_new</literal> e <literal>sap_all</literal>.
+ Per maggiore sicurezza, le password degli utenti di default dentro
+ a tutti i client dovrebbero essere cambiate (compresi gli utenti
+ <username>sap*</username> e <username>ddic</username>).</para>
+ </sect3>
+
+ <sect3 id="configtranssysprofileopermodesetc">
+ <title>Configurare il Sistema di Trasporto, il Profilo, i Modi di
+ Operare, Ecc.</title>
+
+ <para>Dentro al client 000, per gli utenti diversi da
+ <username>ddic</username> e <username>sap*</username>,
+ fai almeno questo:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Azione</entry>
+
+ <entry>Transazione</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>Configura il Sistema di Trasporto, p.e. come
+ <emphasis>Stand-Alone
+ Transport Domain Entity</emphasis></entry>
+
+ <entry>STMS</entry>
+ </row>
+
+ <row>
+ <entry>Crea / Modifica il Profilo per il Sistema</entry>
+
+ <entry>RZ10</entry>
+ </row>
+
+ <row>
+ <entry>Controlla le Istanze e i Modi di Operare</entry>
+
+ <entry>RZ04</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Questi e tutti gli altri punti dopo l'installazione sono
+ estesamente descritti nelle guide di installazione di
+ <application>&sap;</application>.</para>
+ </sect3>
+
+ <sect3 id="editintsidsap">
+ <title>Modificare
+ <filename>init<replaceable>sid</replaceable>.sap</filename>
+ (<filename>initIDS.sap</filename>)</title>
+
+ <para>Il file <filename>/oracle/IDS/dbs/initIDS.sap</filename>
+ contiene il profilo di backup di <application>&sap;</application>.
+ Qui la dimensione del nastro da usare, il tipo di compressione e
+ tutto il resto sono da definire. Per farlo funzionare con
+ <command>sapdba</command> / <command>brbackup</command>, abbiamo
+ cambiato i seguenti valori:</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>Spiegazioni:</para>
+
+ <para><varname>compress</varname>: Il nastro che usiamo
+ è un HP DLT1 che ha compressione hardware .</para>
+
+ <para><varname>archive_function</varname>: Questa definisce il
+ comportamento normale per salvare i log dell'archivio di &oracle;:
+ i nuovi file di log sono salvati sul nastro, quelli già
+ salvati sono salvati ancora e poi cancellati. Questo previene molti
+ problemi se devi recuperare il database e uno dei nastri d'archivio
+ si è rovinato.</para>
+
+ <para><varname>cpio_flags</varname>: Di default si usa
+ <option>-B</option> che imposta la dimensione dei blocchi a
+ 5120&nbsp;Bytes. Per i nastri DLT, HP raccomanda una dimensione dei
+ blocchi di almeno 32&nbsp;K, per cui abbiamo usato
+ <option>--block-size=128</option> per 64&nbsp;K.
+ <option>--format=newc</option> è necessaria perché
+ abbiamo un numero di inode maggiore di 65535. L'ultima opzione
+ <option>--quiet</option> è necessaria perché altrimenti
+ <command>brbackup</command> si lamenta non appena
+ <command>cpio</command> restituisce il numero di blocchi
+ salvato.</para>
+
+ <para><varname>cpio_in_flags</varname>: Etichetta necessaria
+ per caricare i dati dal nastro. Il formato è riconosciuto
+ automaticamente.</para>
+
+ <para><varname>tape_size</varname>: Solitamente questo indica
+ la capacità di archiviazione del nastro. Per ragioni di
+ sicurezza (usiamo la compressione hardware), il valore è
+ leggermente più bassp del valore reale.</para>
+
+ <para><varname>tape_address</varname>: Il dispositivo non
+ riavvolgibile da usare con <command>cpio</command>.</para>
+
+ <para><varname>tape_address_rew</varname>: Il dispositivo
+ riavvolgibile da usare con <command>cpio</command>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Configurazione dopo l'Installazione</title>
+
+ <para>I seguenti parametri di <application>&sap;</application>
+ dovrebbero essere rivisti dopo l'installazione (esempi per IDES 46B,
+ con 1&nbsp;GB di memoria):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Valore</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>Nota &sap; 0013026:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Valore</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>ztta/dynpro_area</entry>
+
+ <entry>2500000</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Nota &sap; 0157246:</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Valore</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>Con i parametri descritti, su un sistema con 1&nbsp;gigabyte
+ di memoria, si troverà un consumo di memoria simile a:</para>
+
+ <programlisting>Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free</programlisting>
+ </note>
+ </sect3>
+ </sect2>
+
+ <sect2 id="problemsduringinstallation">
+ <title>Problemi Durante l'Installazione</title>
+
+ <sect3 id="restartr3setup">
+ <title>Riavviare <command>R3SETUP</command> dopo la Risoluzione di un
+ Problema</title>
+
+ <para><command>R3SETUP</command> si ferma se incorre in un errore.
+ Se hai guardato al file di log corrispondente e corretto l'errore,
+ devi riavviare <command>R3SETUP</command>, solitamente
+ selezionando REPEAT come opzione per l'ultimo passo
+ per cui <command>R3SETUP</command> si è lamentato.</para>
+
+ <para>Per riavviare <command>R3SETUP</command>, avvialo con il
+ corrispondente file <filename>R3S</filename>:</para>
+
+ <screen>&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
+
+ <para>per 4.6B, oppure con</para>
+
+ <screen>&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
+
+ <para>per 4.6C, non importa che errore sia accaduto con
+ <filename>CENTRAL.R3S</filename> o
+ <filename>DATABASE.R3S</filename>.</para>
+
+ <note>
+ <para>In alcuni punti, <command>R3SETUP</command> assume che sia
+ il database che i processi di <application>&sap;</application>
+ stiano girando (come fossero passi già completati).
+ Se dovessero accadere errori e, per esempio, il database non fosse
+ avviato, dovresti avviare sia il database che
+ <application>&sap;</application> a mano, dopo aver corretto gli
+ errori e prima di avviare ancora <command>R3SETUP</command>.</para>
+
+ <para>Non dimenticarti di avviare ancora il listener di
+ <application>&oracle;</application> (come
+ <username>ora<replaceable>sid</replaceable></username> con
+ <command>umask 0; lsnrctl start</command>) se è stato fermato
+ (per esempio a causa di un reboot necessario del sistema).</para>
+ </note>
+ </sect3>
+
+ <sect3 id="indoraduringduringr3setup">
+ <title>OSUSERSIDADM_IND_ORA Durante <command>R3SETUP</command></title>
+
+ <para>Se <command>R3SETUP</command> si lamentasse a questo punto,
+ modifica il file modello <command>R3SETUP</command> usato prima
+ (<filename>CENTRDB.R3S</filename> (4.6B) o anche
+ <filename>CENTRAL.R3S</filename> o <filename>DATABASE.R3S</filename>
+ (4.6C)). Individua <literal>[OSUSERSIDADM_IND_ORA]</literal> o cerca
+ solo la definizione <literal>STATUS=ERROR</literal> e modificala con i
+ seguenti valori:</para>
+
+ <programlisting>HOME=/home/<replaceable>sid</replaceable>adm (era vuota)
+STATUS=OK (era uguale a ERROR)</programlisting>
+
+ <para>Quindi puoi riavviare ancora <command>R3SETUP</command>.</para>
+ </sect3>
+
+ <sect3 id="indoraduringr3setup">
+ <title>OSUSERDBSID_IND_ORA Durante <command>R3SETUP</command></title>
+
+ <para><command>R3SETUP</command> potrebbe anche lamentarsi a questo
+ punto. L'errore, qui, è simile a quello nella fase
+ OSUSERSIDADM_IND_ORA. Modifica il file modello
+ <command>R3SETUP</command> usato allora
+ (<filename>CENTRDB.R3S</filename>
+ (4.6B) oppure <filename>CENTRAL.R3S</filename> o
+ <filename>DATABASE.R3S</filename> (4.6C)). Individua
+ <literal>[OSUSERDBSID_IND_ORA]</literal> o cerca solo la definizione
+ <literal>STATUS=ERROR</literal> e modifica questi valori in quella
+ sezione:</para>
+
+ <programlisting>STATUS=OK</programlisting>
+
+ <para>Riavvia, quindi, <command>R3SETUP</command>.</para>
+ </sect3>
+
+ <sect3 id="oraviewvrffilenotfound">
+ <title><errorname>oraview.vrf FILE NOT FOUND</errorname> Durante
+ l'Installazione di &oracle;</title>
+
+ <para>Non hai deselezionato
+ <emphasis>&oracle; On-Line Text Viewer</emphasis> prima di cominciare
+ l'installazione. Questo è contrassegnato per l'installazine
+ anche se l'opzione non è disponibile per Linux. Deseleziona
+ questo prodotto nel menù di installazione di
+ <application>&oracle;</application> e riavvia l'installazione.</para>
+ </sect3>
+
+ <sect3 id="textenvincalid">
+ <title><errorname>TEXTENV_INVALID</errorname> Durante
+ <command>R3SETUP</command>, RFC o l'Avvio di SAPgui</title>
+
+ <para>Se si incorre in questo errore, allora manca la corretta
+ internazionalizzazione. La nota di &sap; 0171356 elenca gli RPM
+ necessari da installare (p.e. <filename>saplocales-1.0-3</filename>,
+ <filename>saposcheck-1.0-1</filename> per RedHat 6.1). Nel caso
+ tu abbia ignorato tutti i relativi errori ed impostato lo
+ <literal>STATUS</literal> corrispondente da <literal>ERROR</literal>
+ a <literal>OK</literal> (in <filename>CENTRDB.R3S</filename>)
+ ogni volta che <command>R3SETUP</command> si è lamentato e
+ riavviato <command>R3SETUP</command>, il sistema
+ <application>&sap;</application> non sarà configurato
+ correttamente e non sarai in grado di connetterti al sistema tramite
+ una <application>SAPgui</application>, anche se il sistema può
+ essere avviato. Provando a connetterci con la vecchia
+ <application>SAPgui</application> abbiamo avuto questi
+ messaggi:</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>Questo comportamento è imputabile a
+ <application>&sap.r3;</application> che non è in grado di
+ assegnare correttamente una internazionalizzazione e che non è ben
+ configurato (definizioni mancanti in alcune tabelle del database).
+ Per essere in grado di connettersi a <application>&sap;</application>,
+ aggiungi queste definizioni nel file <filename>DEFAULT.PFL</filename>
+ (vedi nota 0043288):</para>
+
+ <programlisting>abap/set_etct_env_at_new_mode = 0
+install/collate/active = 0
+rscp/TCP0B = TCP0B</programlisting>
+
+ <para>Riavvia il sistema <application>&sap;</application>. Ora puoi
+ connetterti al sistema, anche se le impostazioni della lingua
+ specifiche per il paese potrebbero non funzionare come desiderato.
+ Dopo aver corretto le impostazioni del paese (e aver fornito le
+ internazionalizzazioni esatte), queste definizioni possono essere
+ riomsse da <filename>DEFAULT.PFL</filename> e il sistema
+ <application>&sap;</application> può essere riavviato.</para>
+ </sect3>
+
+ <sect3 id="ora-00001">
+ <title><errorcode>ORA-00001</errorcode></title>
+
+ <para>Questo errore è accaduto solo con
+ <application>&oracle; 8.1.7</application> su FreeBSD.
+ La ragione era che il database <application>&oracle;</application>
+ non poteva inizializzarsi correttamente e andava in crash, lasciando
+ i semafori e la memoria condivisa sul sistema. Il tentativo
+ successivo di lanciare il database, ritornava
+ <errorcode>ORA-00001</errorcode>.</para>
+
+ <para>Trovali con <command>ipcs -a</command> e rimuovili con
+ <command>ipcrm</command>.</para>
+ </sect3>
+
+ <sect3 id="ora-00445pmon">
+ <title><errorcode>ORA-00445</errorcode> (Background Process PMON Did
+ Not Start)</title>
+
+ <para>Questo errore è accaduto con <application>&oracle;
+ 8.1.7</application>. Viene riportato se il database è avviato
+ con il solito script <command>startsap</command> (per esempio
+ <command>startsap_majestix_00</command>) come utente
+ <username>prdadm</username>.</para>
+
+ <para>Un modo per aggirarlo è lanciare il database come utente
+ <username>oraprd</username>, con <command>svrmgrl</command>:</para>
+
+ <screen>&prompt.user; <userinput>svrmgrl</userinput>
+SVRMGR&gt; <userinput>connect internal;</userinput>
+SVRMGR&gt; <userinput>startup</userinput>;
+SVRMGR&gt; <userinput>exit</userinput></screen>
+ </sect3>
+
+ <sect3 id="ora-12546">
+ <title><errorcode>ORA-12546</errorcode> (Start Listener with Correct
+ Permissions)</title>
+
+ <para>Avvia il listener di <application>&oracle;</application>
+ come utente <username>oraids</username> con i seguenti
+ comandi:</para>
+
+ <screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen>
+
+ <para>Altrimenti potresti ottenere <errorcode>ORA-12546</errorcode>
+ poiché i socket non hanno i permessi corretti. Vedi la nota
+ di &sap; 0072984.</para>
+ </sect3>
+
+ <sect3 id="ora-27102">
+ <title><errorcode>ORA-27102</errorcode> (Out of Memory)</title>
+
+ <para>Questo errore è accaduto mentre tentavamo di usare i valori
+ per <literal>MAXDSIZ</literal>e <literal>DFLDSIZ</literal> maggiori di
+ 1&nbsp;GB (1024x1024x1024). In più ci siamo ritrovati
+ <errorname>Linux Error 12: Cannot allocate memory</errorname>.</para>
+ </sect3>
+
+ <sect3 id="dipgntabindind">
+ <title>[DIPGNTAB_IND_IND] Durante <command>R3SETUP</command></title>
+
+ <para>In generale, vedi la nota di &sap; 0130581 (il punto
+ <command>R3SETUP</command> termina <literal>DIPGNTAB</literal>). Per
+ qualche ragione, durante l'installazione specifica per IDES, il
+ processo di installazione non usava il giusto nome <quote>IDS</quote>
+ del sistema &sap;, ma piuttosto la stringa vuota
+ <literal>""</literal>. Questo porta a qualche piccolo problema con
+ l'accesso alle directory, dal momento che i path sono generati
+ dinamicamente usando <replaceable>SID</replaceable>
+ (in questo caso IDS). Quindi, invece di accedere a:</para>
+
+ <programlisting>/usr/sap/IDS/SYS/...
+/usr/sap/IDS/DVMGS00</programlisting>
+
+ <para>venivano usati questi path:</para>
+
+ <programlisting>/usr/sap//SYS/...
+/usr/sap/D00</programlisting>
+
+ <para>Per continuare con l'installazione, abbiamo creato un
+ collegamento e una direcotry addizionale:</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 -&gt; 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>Abbiamo trovato note di &sap; che descrivono questo comportamento
+ (0029227 e 0008401). Non siamo incorsi in alcuno di questi problemi
+ installando <application>&sap; 4.6C</application>.</para>
+ </sect3>
+
+ <sect3 id="rfcrswboiniindind">
+ <title>[RFCRSWBOINI_IND_IND] Durante <command>R3SETUP</command></title>
+
+ <para>Durante l'installazione di <application>&sap; 4.6C</application>,
+ questo errore era la conseguenza di un altro errore avvenuto in
+ precedenza. In questo caso, controlla nei file di log e correggi il
+ vero problema.</para>
+
+ <para>Se dopo aver guardato nei log questo errore è
+ effettivamente quello corretto (controlla le note di &sap;), puoi
+ impostare lo <literal>STATUS</literal> dei punti sbagliati da
+ <literal>ERROR</literal> a <literal>OK</literal> (file
+ <filename>CENTRDB.R3S</filename>) e riavviare
+ <command>R3SETUP</command>.
+ Dopo l'installazione, devi eseguire il rapporto
+ <literal>RSWBOINS</literal> dalla transazione SE38. Per maggiori
+ informazioni sulle fasi <literal>RFCRSWBOINI</literal> e
+ <literal>RFCRADDBDIF</literal>, vedi la nota di &sap;
+ 0162266.</para>
+ </sect3>
+
+ <sect3 id="rfcraddbdifindind">
+ <title>[RFCRADDBDIF_IND_IND] durante <command>R3SETUP</command></title>
+
+ <para>Qui si applicano le stesse restrizioni: assicurati di controllare
+ nei file di log che questo errore non sia causato da qualche problema
+ precedente.</para>
+
+ <para>Se puoi confermare ciò che dice la nota 0162266 di &sap;,
+ imposta lo <literal>STATUS</literal> del punto errato da
+ <literal>ERROR</literal> a <literal>OK</literal> (file
+ <filename>CENTRDB.R3S</filename>) e riavvia
+ <command>R3SETUP</command>. Dopo l'installazione, devi eseguire
+ il rapporto <literal>RADDBDIF</literal> dalla transazione
+ SE38.</para>
+ </sect3>
+
+ <sect3 id="sigactionsig31">
+ <title><errorcode>sigaction sig31: File size limit
+ exceeded</errorcode></title>
+
+ <para>Questo errore è avvenuto all'avvio dei processi
+ <application>&sap;</application> <emphasis>disp+work</emphasis>. Se
+ si sta avviando <application>&sap;</application> con lo script
+ <command>startsap</command>, i sottoprocessi avviati si staccano e
+ fanno il lavoro sporco di avviare tutti gli altri processi
+ <application>&sap;</application>. Come risultato, lo script stesso
+ non noterà se qualcosa sia andato storto.</para>
+
+ <para>Per controllare se i processi <application>&sap;</application>
+ non sono partiti correttamente, dai un'occhiata al loro stato
+ con <command>ps ax | grep <replaceable>SID</replaceable></command>,
+ che ti darà una lista di tutti i processi
+ <application>&oracle;</application> e
+ <application>&sap;</application>.
+ Se ti sembra che qualche processo manchi o se non puoi connetterti al
+ sistema <application>&sap;</application>, guarda nei log
+ corrispondenti che possono essere trovati in
+ <filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename>.
+ I file in cui guardare sono <filename>dev_ms</filename> e
+ <filename>dev_disp</filename>.</para>
+
+ <para>Il segnale 31 avviene qui se la quantità di memoria
+ condivisa utilizzata da <application>&oracle;</application> e
+ <application>&sap;</application> supera quella definita nel file di
+ configurazione del kernel e può essere risolto usando un valore
+ maggiore:</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>Fallimento dell'avvio di <command>saposcol</command></title>
+
+ <para>Ci sono alcuni problemi con il programma
+ <command>saposcol</command> (versione 4.6D).
+ Il sistema <application>&sap;</application> usa
+ <command>saposcol</command> per raccogliere dati a proposito delle
+ prestazioni del sistema. Questo programma non è necessario per
+ usare il sistema <application>&sap;</application>, quindi può
+ essere considerato un problema minore. La versione più
+ vecchia (4.6B) funziona, ma non raccoglie tutti i dati (molte
+ chiamate ritorneranno 0, per esempio l'utilizzo della CPU).</para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="linuxemu-advanced">
+ <title>Argomenti Avanzati</title>
+
+ <para>Se sei curioso di come funziona la compatibilità con i binari
+ di Linux, questa è la sezione da leggere. Molto di ciò
+ che segue è basato pesantemente su una email scritta a &a.chat
+ da Terry Lambert <email>tlambert@primenet.com</email> (ID del messaggio:
+ <literal>&lt;199906020108.SAA07001@usr09.primenet.com&gt;</literal>).</para>
+
+ <sect2>
+ <title>Come Funziona?</title>
+
+ <indexterm>
+ <primary>loader della classe di esecuzione</primary>
+ </indexterm>
+
+ <para>FreeBSD ha una astrazione chiamata un <quote>loader della classe di
+ esecuzione</quote>. Questo &grave; un cuneo nella chiamata di sistema
+ &man.execve.2;.</para>
+
+ <para>Cosa succede è che FreeBSD ha una lista di loader,
+ piuttosto che un singolo loader con un ritorno nel loader
+ <literal>#!</literal>, per lanciare qualunque inteprete o script
+ della shell.</para>
+
+ <para>Storicamente, l'unico loader nella piattaforma &unix; esaminava il
+ numero magico (generalmente i primi 4 o 8 byte del file) per vedere se
+ il binario fosse conosciuto dal sistema e, nel caso, invocava il loader
+ del binario.</para>
+
+ <para>Se non era un tipo di binario per il sistea, la chiamata
+ &man.execve.2; ritornava un errore, e la shell tentava di avviare
+ eseguendolo come comando della shell.</para>
+
+ <para>L'assunzione era un default, <quote>qualunque fosse la
+ shell</quote>.</para>
+
+ <para>Più tardi, è stato fatto un hack per &man.sh.1; per
+ esaminare i primi due caratteri. Se erano <literal>:\n</literal>,
+ allora invocava la shell &man.csh.1; (crediamo sia stata SCO a fare per
+ prima questo hack).</para>
+
+ <para>Ciò che ora fa FreeBSD è scorrere una lista di
+ loader, con un loader <literal>#!</literal> generico che riconosce
+ gli interpreti dai caratteri che seguono lo spazio successivo vicino
+ alla fine, seguito da un ritorno a <filename>/bin/sh</filename>.</para>
+
+ <indexterm><primary>ELF</primary></indexterm>
+
+ <para>Per il supporto alle ABI di Linux, FreeBSD vede il numero magico
+ come un binario ELF (a questo punto non fa distinzione tra FreeBSD,
+ &solaris;, Linux, o qualunque altro SO che ha un tipo di immagine
+ ELF).</para>
+
+ <indexterm><primary>Solaris</primary></indexterm>
+
+ <para>Il loader di ELF cerca un <emphasis>marchio</emphasis>
+ specializzato, che &grave; una sezione di commento nell'immagine ELF e
+ che non è presente sui binari ELF SVR4/&solaris;.</para>
+
+ <para>I binari di Linux, per funzionare, devono essere
+ <emphasis>marchiati</emphasis> come tipo <literal>Linux</literal>
+ da &man.brandelf.1;:</para>
+
+ <screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
+
+ <para>Quando viene fatto questo, il loader ELF vedrà il marchio
+ di <literal>Linux</literal> sul file.</para>
+
+ <indexterm>
+ <primary>ELF</primary>
+ <secondary>marchiatura</secondary>
+ </indexterm>
+
+ <para>Quando il loader ELF vede il marchio di <literal>Linux</literal>,
+ il loader sostituisce un puntatore nella struttura
+ <literal>proc</literal>.
+ Tutte le chiamate di sistema sono indicizzate attraverso questo
+ puntatore (in un sistema &unix; tradizionale questo sarebbe l'array di
+ strutture <literal>sysent[]</literal>, contentente le chiamate di
+ sistema).
+ In aggiunta;, il processo è etichettato per un trattamento
+ speciale del vettore trappola per il codice del segnale di lancio,
+ e molti altri (minori) aggiustamenti che sono gestiti dal modulo Linux
+ del kernel.</para>
+
+ <para>Il vettore delle chiamate di sistema di Linux contiene, tra le
+ altre cose, una lista di valori <literal>sysent[]</literal> i cui
+ indirizzi risiedono nel modulo del kernel.</para>
+
+ <para>Quando una chiamata di sistema è fatta dal binario di
+ Linux, il codice trappola derefereizia il puntatore alla funzione della
+ chiamata di sistema dalla struttura <literal>proc</literal>, e prende
+ i punti di ingresso delle chiamate di sistema di Linux, non di
+ FreeBSD.</para>
+
+ <para>In più, la modalità Linux
+ <emphasis>ridefinisce la root</emphasis> dinamicamente; questo, in
+ effetti, è quello che fa l'opzione <option>union</option> al
+ montaggio del file system (<emphasis>non</emphasis> il tipo di file
+ system <literal>unionfs</literal>!). Un tentativo viene prima fatto per
+ cercare il file nella directory
+ <filename>/compat/linux/<replaceable>original-path</replaceable></filename>,
+ <emphasis>quindi</emphasis>, solo se fallisce, la ricerca &grave; fatta
+ nella directory
+ <filename>/<replaceable>original-path</replaceable></filename>.
+ Questo assicura che possano funzionare i binari che per richiedono altri
+ binari (p.e., la toolchain di Linux può funzionare tutta sotto il
+ supporto ABI di Linux). Questo significa anche che i binari di Linux
+ possono caricare ed eseguire binari di FreeBSD, se non sono presenti i
+ corrispondenti binari di Linux, e che puoi mettere un comando
+ &man.uname.1; nell'albero della directory
+ <filename>/compat/linux</filename> per essere
+ sicuro che i binari di Linux non possano capire che non stanno girando
+ sotto Linux.</para>
+
+ <para>In effeti c'è un kernel Linux nel kernel FreeBSD;
+ le varie funzioni sottostanti che implementano tutti i servizi forniti
+ dal kernel sono identiche sia nelle definizioni delle tabelle delle
+ chiamate di sistema di FreeBSD che di Linux: le operazioni sul file
+ system,
+ le operazioni nella memoria virtuale, la consegna dei segnali, le IPC
+ System V, ecc&hellip; L'unica differenza è che i binari di
+ FreeBSD prendono le funzioni <emphasis>colla</emphasis> di FreeBSD, e i
+ binari di Linux prendono le funzioni <emphasis>colla</emphasis> di Linux
+ (molti dei vecchi SO hanno solo le loro funzioni
+ <emphasis>colla</emphasis>: gli indirizzi delle funzioni in un array di
+ strutture <literal>sysent[]</literal> statico globale, invece che
+ indirizzi di funzioni dereferenziate da un puntatore inizializzato
+ dinamicamente nella struttura <literal>proc</literal> del processo che
+ fa la chiamata).</para>
+
+ <para>Qual è la ABI nativa per FreeBSD? Non importa.
+ Essenzialmente l'unica differenza è che (attualmente: questo
+ potrebbe facilmente essere cambiato in distribuzioni future, e
+ probabilmente sarà fatto) le funzioni <emphasis>colla</emphasis>
+ di FreeBSD sono collegate staticamente nel kernel, e le funzioni
+ <emphasis>colla</emphasis> di Linux possono essere collegate
+ staticamente o vi si può accedere attraverso un modulo del
+ kernel.</para>
+
+ <para>Si, ma è davvero emulazione? No. è
+ implementazione delle ABI, non emulazione. Non è
+ coinvolto nessun emulatore (o simulatore, per evitare la prossima
+ domanda).</para>
+
+ <para>Allora perché talvolta viene chiamata
+ <quote>emulazione Linux</quote>? Per rendere difficile vendere FreeBSD!
+ Seriamente, è perché l'implementazione storica è
+ stata fatta in un momento in cui non c'era altro termine per descrivere
+ ciò che stava succedendo; dire che FreeBSD lanciava i binari di
+ Linux non era vero, se non compilavi il codice o caricavi un modulo,
+ e c'era bisogno di un termine per descrivere cosa veniva
+ caricato&mdash; da qui <quote>l'emulatore Linux</quote>.</para>
+ </sect2>
+ </sect1>
+</chapter>