character set, they may be replaced/re-encoded. Try to inhibit auto-conversion to UTF-8, until we (inevitably?) switch to el_GR.UTF-8 some time in the future. Obtained from: FreeBSD Greek Documentation Project
3692 lines
136 KiB
Text
3692 lines
136 KiB
Text
<!--
|
||
|
||
Το Εγχειρίδιο του FreeBSD: Συμβατότητα με Εκτελέσιμα του Linux
|
||
|
||
The FreeBSD Greek Documentation Project
|
||
|
||
$FreeBSD$
|
||
|
||
%SOURCE% en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
|
||
%SRCID% 1.136
|
||
|
||
-->
|
||
|
||
<chapter id="linuxemu">
|
||
<chapterinfo>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Jim</firstname>
|
||
<surname>Mock</surname>
|
||
<contrib>Αναδομήθηκε και μέρη του ανανεώθηκαν από τον </contrib>
|
||
</author>
|
||
<!-- 22 Mar 2000 -->
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Brian N.</firstname>
|
||
<surname>Handy</surname>
|
||
<contrib>Αρχική συνεισφορά από τον </contrib>
|
||
</author>
|
||
<author>
|
||
<firstname>Rich</firstname>
|
||
<surname>Murphey</surname>
|
||
</author>
|
||
</authorgroup>
|
||
</chapterinfo>
|
||
|
||
<title>Συμβατότητα με Εκτελέσιμα του Linux</title>
|
||
|
||
<sect1 id="linuxemu-synopsis">
|
||
<title>Σύνοψη</title>
|
||
<indexterm>
|
||
<primary>Συμβατότητα με εκτελέσιμα (binary) Linux</primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>binary συμβατότητα</primary>
|
||
<secondary>Linux</secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>συμβατότητα εκτελέσιμων Linux</primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>συμβατότητα εκτελέσιμων</primary>
|
||
<secondary>Linux</secondary>
|
||
</indexterm>
|
||
|
||
<para>Το &os; παρέχει binary συμβατότητα (εκτελέσιμων) με αρκετά άλλα
|
||
λειτουργικά τύπου &unix;, συμπεριλαμβανομένου και του Linux. Σε αυτό
|
||
το σημείο, μπορεί να αναρωτιέστε γιατί ακριβώς χρειάζεται το &os; να
|
||
μπορεί να τρέξει εκτελέσιμα Linux; H απάντηση σε αυτή την ερώτηση είναι
|
||
αρκετά απλή. Πολλές εταιρίες και προγραμματιστές αναπτύσσουν εφαρμογές
|
||
μόνο για Linux, μια και είναι πολύ <quote>της μόδας</quote> στο
|
||
κόσμο των υπολογιστών. Αυτό αναγκάζει εμάς τους υπόλοιπους, που
|
||
χρησιμοποιούμε το &os;, να πιέζουμε τις ίδιες αυτές εταιρίες και
|
||
προγραμματιστές να δημιουργήσουν κανονικές εκδόσεις των εφαρμογών
|
||
τους για &os;. Το πρόβλημα είναι, ότι οι περισσότερες από αυτές τις
|
||
εταιρίες δεν αντιλαμβάνονται πραγματικά πόσοι περισσότεροι άνθρωποι θα
|
||
χρησιμοποιούσαν το προϊόν τους αν είχαν εκδόσεις και για &os;, και οι
|
||
περισσότερες συνεχίζουν να αναπτύσσουν μόνο για Linux. Άρα τι μπορεί να
|
||
κάνει ένας χρήστης του &os;; Εδώ έρχεται να βοηθήσει η binary
|
||
συμβατότητα του &os; με το Linux.</para>
|
||
|
||
<para>Εν συντομία, η συμβατότητα επιτρέπει στους χρήστες του &os; να
|
||
εκτελέσουν περίπου το 90% όλων των Linux εφαρμογών χωρίς μετατροπές.
|
||
Αυτό περιλαμβάνει εφαρμογές όπως
|
||
το <application>&staroffice;</application>, την Linux έκδοση
|
||
του <application>&netscape;</application>,
|
||
<application>&adobe; &acrobat;</application>,
|
||
<application><trademark class="registered">RealPlayer</trademark></application>,
|
||
<application><trademark>VMware</trademark></application>,
|
||
<application>&oracle;</application>,
|
||
<application><trademark class="registered">WordPerfect</trademark></application>,
|
||
<application>Doom</application>,
|
||
<application>Quake</application>, και περισσότερα. Έχει επίσης
|
||
αναφερθεί ότι σε κάποιες περιπτώσεις, τα εκτελέσιμα του Linux έχουν
|
||
καλύτερη απόδοση στο &os; από ότι στο Linux.</para>
|
||
|
||
<para>Υπάρχουν ωστόσο κάποια συγκεκριμένα για το Linux στοιχεία του
|
||
λειτουργικού που δεν υποστηρίζονται στο &os;. Τα εκτελέσιμα του Linux
|
||
δεν θα δουλέψουν στο &os; αν χρησιμοποιούν πολλές εξειδικευμένες
|
||
κλήσεις &i386;, όπως για παράδειγμα την ενεργοποίηση της εικονικής
|
||
κατάστασης 8086.</para>
|
||
|
||
<para>Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Πως να ενεργοποιήσετε την συμβατότητα εκτελέσιμων με το Linux
|
||
στο σύστημα σας.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να εγκαταστήσετε πρόσθετες κοινόχρηστες βιβλιοθήκες του
|
||
Linux.</para>
|
||
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να εγκαταστήσετε εφαρμογές του Linux στο &os;.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Τις λεπτομέρειες της υλοποίησης της συμβατότητας με το Linux στο
|
||
&os;.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Να γνωρίζετε πως θα εγκαταστήσετε πρόσθετο λογισμικό
|
||
τρίτου κατασκευαστή (<xref linkend="ports">).</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-lbc-install">
|
||
<title>Εγκατάσταση</title>
|
||
|
||
<indexterm><primary>KLD (kernel loadable object)</primary></indexterm>
|
||
|
||
<para>Η συμβατότητα με εκτελέσιμα του Linux δεν είναι ενεργή εξ' αρχής. Ο
|
||
ευκολότερος τρόπος για να ενεργοποιήσετε αυτή τη λειτουργία είναι να
|
||
φορτώσετε το KLD (άρθρωμα) <literal>linux</literal> (<quote>Kernel
|
||
LoaDable object</quote>). Μπορείτε να φορτώσετε αυτό το άρθρωμα στον
|
||
πυρήνα δίνοντας τη παρακάτω εντολή ως <username>root</username>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>kldload linux</userinput></screen>
|
||
|
||
<para>Αν θέλετε να έχετε πάντα ενεργοποιημένη τη συμβατότητα με Linux,
|
||
τότε θα χρειαστεί να προσθέσετε τη παρακάτω γραμμή στο
|
||
<filename>/etc/rc.conf</filename>:</para>
|
||
|
||
<programlisting>linux_enable="YES"</programlisting>
|
||
|
||
<para>Η εντολή &man.kldstat.8; μπορεί να χρησιμοποιηθεί για να ελεγχθεί
|
||
αν το KLD είναι φορτωμένο:</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>kernel options</primary>
|
||
<secondary>COMPAT_LINUX</secondary>
|
||
</indexterm>
|
||
|
||
<para>Αν για κάποιο λόγο δεν θέλετε ή δε μπορείτε να φορτώσετε το KLD,
|
||
τότε μπορείτε να συνδέσετε στατικά την υποστήριξη εκτελέσιμων του Linux
|
||
στον πυρήνα με το να προσθέσετε την επιλογή <literal>options
|
||
COMPAT_LINUX</literal> στο αρχείων ρυθμίσεων του πυρήνα. Στη συνέχεια
|
||
μπορείτε να εγκαταστήσετε τον νέο πυρήνα όπως περιγράφεται στο
|
||
<xref linkend="kernelconfig">.</para>
|
||
|
||
<sect2>
|
||
<title>Εγκατάσταση των Linux Runtime Libraries</title>
|
||
<indexterm>
|
||
<primary>Linux</primary>
|
||
<secondary>εγκατάσταση βιβλιοθηκών Linux</secondary>
|
||
</indexterm>
|
||
|
||
<para>Αυτό μπορεί να γίνει με δύο τρόπους. Είτε με τη χρήση του
|
||
<link linkend="linuxemu-libs-port">linux_base</link> port, ή
|
||
με <link linkend="linuxemu-libs-manually">χειροκίνητη</link>
|
||
εγκατάσταση τους.</para>
|
||
|
||
<sect3 id="linuxemu-libs-port">
|
||
<title>Εγκατάσταση μέσω του linux_base Port</title>
|
||
<indexterm><primary>Ports Collection</primary></indexterm>
|
||
|
||
<para>Αυτός είναι κατά γενική ομολογία ο ευκολότερος τρόπος για την
|
||
εγκατάσταση των runtime libraries. Είναι η ίδια διαδικασία
|
||
εγκατάστασης που ακολουθείται και για οποιοδήποτε άλλο port από
|
||
τη <ulink type="html" url="file://localhost/usr/ports/">Συλλογή των
|
||
Ports</ulink>. Απλά κάντε το παρακάτω:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-fc4</userinput>
|
||
&prompt.root; <userinput>make install distclean</userinput></screen>
|
||
|
||
<para>Θα πρέπει τώρα να έχετε κανονική συμβατότητα με εκτελέσιμα του
|
||
Linux. Μερικά προγράμματα παραπονιούνται ότι οι βιβλιοθήκες
|
||
συστήματος (system libraries) δεν είναι στη τελευταία τους έκδοση.
|
||
Γενικά όμως, αυτό δεν αποτελεί κανένα πρόβλημα.</para>
|
||
|
||
<note><para>Μπορούν να υπάρχουν πολλαπλές εκδόσεις
|
||
του <filename role="package">emulators/linux_base</filename>, που να
|
||
αντιστοιχούν στις διαφορετικές εκδόσεις των διανομών Linux. Θα
|
||
πρέπει να κάνετε εγκατάσταση των ports που προαπαιτούνται από τις
|
||
εφαρμογές Linux τις οποίες θέλετε να εγκαταστήσετε.</para></note>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-libs-manually">
|
||
<title>Χειροκίνητη εγκατάσταση των Libraries</title>
|
||
|
||
<para>Αν δεν έχετε εγκαταστήσει την συλλογή των <quote>ports</quote>,
|
||
μπορείτε να εγκαταστήσετε τις βιβλιοθήκες χειροκίνητα. Θα
|
||
χρειαστείτε τα Linux shared libraries τα οποία απαιτεί το πρόγραμμα.
|
||
Επίσης, θα χρειαστεί να δημιουργήσετε και έναν κατάλογο
|
||
<quote>shadow root</quote>, <filename>/compat/linux</filename>, για
|
||
τις βιβλιοθήκες Linux που θα υπάρχουν στο &os;. Οποιαδήποτε κοινές
|
||
βιβλιοθήκες (shared libraries) οι οποίες χρησιμοποιούνται από
|
||
εφαρμογές Linux και εκτελούνται στο &os; θα κοιτάξουν πρώτα σε
|
||
αυτόν τον κατάλογο. Επομένως, αν μια εφαρμογή Linux φορτώσει για
|
||
παράδειγμα το <filename>/lib/libc.so</filename>, το &os; θα
|
||
προσπαθήσει να φορτώσει πρώτα το
|
||
<filename>/compat/linux/lib/libc.so</filename>,
|
||
και αν αυτό δεν υπάρχει, τότε θα προσπαθήσει να φορτώσει
|
||
το <filename>/lib/libc.so</filename>. Τα shared libraries θα πρέπει
|
||
να εγκατασταθούν στο shadow
|
||
tree <filename>/compat/linux/lib</filename> αντί για τις τοποθεσίες
|
||
που αναφέρει το <command>ld.so</command> στο Linux.</para>
|
||
|
||
<para>Γενικά, τουλάχιστον στις πρώτες σας εγκαταστάσεις εφαρμογών
|
||
Linux, θα χρειαστεί να ψάξετε για τις κοινές βιβλιοθήκες από τα
|
||
αντίστοιχα εκτελέσιμα. Μετά από κάποιο διάστημα θα έχετε ένα
|
||
ικανοποιητικό αριθμό Linux shared libraries στο σύστημά σας και
|
||
πλέον δε θα χρειάζεται επιπλέον εργασία πέρα από την εγκατάσταση της
|
||
εφαρμογής.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Εγκατάσταση Πρόσθετων Shared Libraries</title>
|
||
<indexterm><primary>shared libraries</primary></indexterm>
|
||
|
||
<para>Και τι γίνεται στη περίπτωση που έχετε εγκαταστήσει
|
||
το <filename>linux_base</filename> port και οι εφαρμογές σας ακόμη
|
||
παραπονιούνται για shared libraries που λείπουν; Πώς μπορείτε να
|
||
ξέρετε ποια shared libraries χρειάζεται κάποια εφαρμογή, και που
|
||
μπορείτε να τα βρείτε; Βασικά, υπάρχουν 2 επιλογές (για να
|
||
ακολουθήσετε τις παρακάτω οδηγίες θα πρέπει να είστε
|
||
<username>root</username> στο σύστημά σας).</para>
|
||
|
||
<para>Αν έχετε πρόσβαση σε κάποιο μηχάνημα Linux, ρίξτε μια ματιά στα
|
||
shared libraries που χρειάζεται μια εφαρμογή, και αντιγράψτε τα στο
|
||
&os;. Δείτε το παρακάτω παράδειγμα:</para>
|
||
|
||
<informalexample>
|
||
<para>Ας υποθέσουμε ότι κατεβάσατε μέσω FTP το εκτελέσιμο του
|
||
<application>Doom</application> για το Linux, και το βάλατε
|
||
στο Linux σύστημα στο οποίο έχετε πρόσβαση. Μπορείτε στη
|
||
συνέχεια να ελέγξετε ποια shared libraries χρειάζεται η εφαρμογή
|
||
με την εντολή <command>ldd linuxdoom</command>, όπως:</para>
|
||
|
||
<screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
|
||
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
|
||
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
|
||
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
|
||
|
||
<indexterm><primary>symbolic links</primary></indexterm>
|
||
<para>Θα χρειαστεί να πάρετε όλα τα αρχεία από τη τελευταία στήλη,
|
||
και να τα αντιγράψετε στον
|
||
κατάλογο <filename>/compat/linux</filename>, και να δημιουργήσετε
|
||
προς αυτά τους αντίστοιχους συμβολικούς δεσμούς (symbolic links)
|
||
με τα ονόματα της πρώτης στήλης. Αυτό σημαίνει ότι πρακτικά,
|
||
θα έχετε αυτά τα αρχεία στο σύστημα σας:</para>
|
||
|
||
<screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
|
||
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
|
||
/compat/linux/usr/X11/lib/libX11.so.3.1.0
|
||
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
|
||
/compat/linux/lib/libc.so.4.6.29
|
||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen>
|
||
|
||
<blockquote>
|
||
<note>
|
||
<para>Σημειώστε ότι αν έχετε ήδη κάποιο Linux shared library
|
||
που ο αριθμός έκδοσης είναι ο ίδιος με αυτόν της πρώτης στήλης
|
||
του <command>ldd</command>, δε θα χρειαστεί να αντιγράψετε το
|
||
αρχείο όπως αυτό ονομάζεται στη τελευταία στήλη, τα υπάρχοντα
|
||
αρχεία θα πρέπει να κάνουν τη δουλειά τους. Σας συμβουλεύουμε
|
||
όμως να αντιγράψετε το shared library αν είναι κάποια νεότερη
|
||
έκδοση. Μπορείτε να διαγράψετε τα παλιά αρχεία, αρκεί όμως να
|
||
ανανεώσετε τους συμβολικούς δεσμούς ώστε να οδηγούν στα νέα
|
||
αρχεία. Επομένως, αν έχετε τις παρακάτω βιβλιοθήκες στο
|
||
σύστημά σας:</para>
|
||
|
||
<screen>/compat/linux/lib/libc.so.4.6.27
|
||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen>
|
||
|
||
<para>και βρείτε μια εφαρμογή η οποία ζητάει μια νεότερη έκδοση
|
||
μέσω του <command>ldd</command>:
|
||
</para>
|
||
|
||
<screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen>
|
||
|
||
<para>Αν η διαφορά της έκδοσης στο τελευταία ψηφίο είναι μόνο
|
||
μίας ή δύο εκδόσεων, τότε μην σας απασχολεί η αντιγραφή του
|
||
<filename>/lib/libc.so.4.6.29</filename>, γιατί το πρόγραμμα
|
||
θα πρέπει να τρέχει κανονικά και με τη λίγο παλαιότερη έκδοση.
|
||
Παρ' όλα αυτά, αν θέλετε, μπορείτε να αντικαταστήσετε το
|
||
<filename>libc.so</filename> και έτσι θα έχετε το παρακάτω:
|
||
</para>
|
||
|
||
<screen>/compat/linux/lib/libc.so.4.6.29
|
||
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen>
|
||
</note>
|
||
</blockquote>
|
||
|
||
<blockquote>
|
||
<note>
|
||
<para>Ο μηχανισμός των συμβολικών συνδέσμων χρειάζεται
|
||
<emphasis>μόνο</emphasis> για τις εφαρμογές του Linux. Ο
|
||
runtime linker του &os; κοιτάει μόνος του για τις πιο
|
||
πρόσφατες εκδόσεις των βιβλιοθηκών και έτσι δε χρειάζεται να
|
||
σας απασχολεί.
|
||
</para>
|
||
</note>
|
||
</blockquote>
|
||
</informalexample>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Εγκατάσταση των Linux ELF Binaries</title>
|
||
<indexterm>
|
||
<primary>Linux</primary>
|
||
<secondary>ELF binaries</secondary>
|
||
</indexterm>
|
||
|
||
<para>Τα ELF binaries χρειάζονται μερικές φορές ένα ακόμα βήμα, το
|
||
<quote>branding</quote>. Αν προσπαθήσετε να τρέξετε ένα
|
||
εκτελέσιμο ELF χωρίς branding, τότε θα σας εμφανιστεί το παρακάτω
|
||
σφάλμα:</para>
|
||
|
||
<screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput>
|
||
ELF binary type not known
|
||
Abort</screen>
|
||
|
||
<para>Για να βοηθήσετε τον πυρήνα του &os; να ξεχωρίσει ένα ELF του
|
||
&os; από ένα του Linux, χρησιμοποιήσετε την εντολή &man.brandelf.1;.
|
||
</para>
|
||
|
||
<screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen>
|
||
|
||
<indexterm><primary>GNU toolchain</primary></indexterm>
|
||
<para>To GNU toolchain, ομάδα πρόγραμμα GNU, τοποθετεί πλέον αυτόματα τα
|
||
κατάλληλα χαρακτηριστικά στα εκτελέσιμα ELF, επομένως το παραπάνω βήμα
|
||
θα χρειάζεται όλο και λιγότερο στο μέλλον.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Ρύθμιση του Hostname Resolver</title>
|
||
|
||
<para>Αν το DNS δε δουλεύει ή αν σας εμφανίζεται το παρακάτω
|
||
σφάλμα:</para>
|
||
|
||
<screen>resolv+: "bind" is an invalid keyword resolv+:
|
||
"hosts" is an invalid keyword</screen>
|
||
|
||
<para>Θα χρειαστεί να ρυθμίσετε
|
||
το <filename>/compat/linux/etc/host.conf</filename> ώστε να περιέχει:
|
||
</para>
|
||
|
||
<programlisting>order hosts, bind
|
||
multi on</programlisting>
|
||
|
||
<para>Η σειρά εδώ δηλώνει ότι αρχικά ελέγχεται το
|
||
αρχείο <filename>/etc/hosts</filename> και στη συνέχεια ο DNS server.
|
||
Όταν το <filename>/compat/linux/etc/host.conf</filename> δεν είναι
|
||
διαθέσιμο, οι εφαρμογές Linux χρησιμοποιούν το
|
||
<filename>/etc/host.conf</filename> του &os; και παραπονιούνται ότι
|
||
η σύνταξη του αρχείου δεν είναι σωστή. Θα πρέπει να αφαιρέσετε
|
||
την αναφορά στο <literal>bind</literal> αν δεν έχετε ρυθμίσει ένα
|
||
name server μέσω του <filename>/etc/resolv.conf</filename>.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-mathematica">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Boris</firstname>
|
||
<surname>Hollas</surname>
|
||
<contrib>Ανανεώθηκε για το Mathematica 5.X από τον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Εγκαθιστώντας το &mathematica;</title>
|
||
|
||
<indexterm>
|
||
<primary>applications</primary>
|
||
<secondary><application>Mathematica</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της έκδοσης
|
||
Linux του <application>&mathematica; 5.X</application> σε ένα
|
||
σύστημα &os;.</para>
|
||
|
||
<para>Μπορείτε να αγοράσετε την κανονική ή μαθητική έκδοση του
|
||
<application>&mathematica;</application> για Linux, απευθείας από τη
|
||
Wolfram στο <ulink url="http://www.wolfram.com/"></ulink>.</para>
|
||
|
||
<sect2>
|
||
<title>Το Πρόγραμμα Εγκατάστασης του &mathematica;</title>
|
||
|
||
<para>Αρχικά, θα πρέπει να πείτε στο &os; ότι τα εκτελέσιμα για Linux
|
||
του <application>&mathematica;</application> κάνουν χρήση του Linux
|
||
ABI. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να ορίσετε τον
|
||
τύπο του ELF ως Linux σε όλες τις εφαρμογές που δεν είναι ήδη
|
||
branded, κάνοντας χρήση της εντολής:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
|
||
|
||
<para>Αυτό θα κάνει το &os; να υποθέσει ότι τα εκτελέσιμα ELF που δεν
|
||
είναι branded, κάνουν χρήση του Linux ABI και έτσι θα μπορείτε να
|
||
τρέξετε το πρόγραμμα της εγκατάστασης απευθείας από το CDROM.</para>
|
||
|
||
<para>Τώρα, αντιγράψτε το αρχείο <filename>MathInstaller</filename>
|
||
στον σκληρό σας δίσκο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
|
||
&prompt.root; <userinput>cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/</userinput></screen>
|
||
|
||
<para>Ανοίξτε το αρχείο και αντικαταστήστε το <literal>/bin/sh</literal>
|
||
στη πρώτη γραμμή με το <literal>/compat/linux/bin/sh</literal>. Αυτό
|
||
θα σιγουρέψει ότι το πρόγραμμα εγκατάστασης θα τρέχει με την έκδοση
|
||
&man.sh.1; για Linux. Στη συνέχεια, αντικαταστήστε όλες τις εγγραφές
|
||
<literal>Linux)</literal> με <literal>&os;)</literal> χρησιμοποιώντας
|
||
έναν συντάκτη κειμένου ή με το παρακάτω script στην επόμενη ενότητα.
|
||
Αυτό θα πει στο πρόγραμμα εγκατάστασης του
|
||
<application>&mathematica;</application>,
|
||
το οποίο τρέχει την εντολή <command>uname -s</command> για να
|
||
διαπιστώσει το λειτουργικό σύστημα,
|
||
να αντιμετωπίσει το &os; σαν ένα λειτουργικό παρεμφερές με το Linux.
|
||
Η εκτέλεση του <command>MathInstaller</command> θα ξεκινήσει τώρα την
|
||
εγκατάσταση του <application>&mathematica;</application>.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Τροποποιώντας τα Εκτελέσιμα του &mathematica;</title>
|
||
|
||
<para>Τα shell scripts τα οποία δημιουργεί
|
||
το <application>&mathematica;</application> κατά τη διαδικασία της
|
||
εγκατάστασης πρέπει να τροποποιηθούν πριν χρησιμοποιηθούν. Αν
|
||
επιλέξετε το <filename class="directory">/usr/local/bin</filename> ως
|
||
τον κατάλογο για τα εκτελέσιμα του
|
||
<application>&mathematica;</application>, θα βρείτε εκεί
|
||
συμβολικούς δεσμούς (symlinks) προς τα αρχεία
|
||
<filename>math</filename>, <filename>mathematica</filename>,
|
||
<filename>Mathematica</filename>, και
|
||
<filename>MathKernel</filename>. Σε κάθε περίπτωση από τις παραπάνω,
|
||
αντικαταστήστε τις εγγραφές
|
||
<literal>Linux)</literal> με <literal>&os;)</literal> με κάποιον
|
||
συντάκτη κειμένου ή με το παρακάτω shell script:</para>
|
||
|
||
<programlisting>#!/bin/sh
|
||
cd /usr/local/bin
|
||
for i in math mathematica Mathematica MathKernel
|
||
do sed 's/Linux)/&os;)/g' $i > $i.tmp
|
||
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
|
||
rm $i.tmp
|
||
chmod a+x $i
|
||
done</programlisting>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Αποκτώντας Κωδικό για το &mathematica;</title>
|
||
|
||
<indexterm>
|
||
<primary>Ethernet</primary>
|
||
<secondary>MAC address</secondary>
|
||
</indexterm>
|
||
|
||
<para>Όταν εκκινήσετε το <application>&mathematica;</application> για
|
||
πρώτη φορά, θα ερωτηθείτε για έναν κωδικό. Αν δεν έχετε κάποιον
|
||
κωδικό σε αυτό το στάδιο, τρέξτε το πρόγραμμα
|
||
<command>mathinfo</command> που βρίσκεται στον κατάλογο εγκατάστασης
|
||
για να σας δοθεί το <quote>machine ID</quote>. Το "machine ID" είναι
|
||
εξ' ολοκλήρου βασισμένο στη διεύθυνση MAC της κάρτας δικτύου που
|
||
έχετε. Αυτό σημαίνει ότι δεν μπορείτε να τρέξετε το
|
||
<application>&mathematica;</application> σε άλλους υπολογιστές.
|
||
</para>
|
||
|
||
<para>Όταν εγγραφείτε στη Wolfram, με e-mail, τηλέφωνο ή fax, θα
|
||
χρειαστεί να δώσετε το <quote>machine ID</quote> και θα σας απαντήσουν
|
||
με έναν αντίστοιχο κωδικό που θα αποτελείται από μια σειρά αριθμών.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Τρέχοντας το &mathematica; Frontend μέσω Δικτύου</title>
|
||
|
||
<para>Το <application>&mathematica;</application> κάνει χρήση κάποιων
|
||
ειδικών γραμματοσειρών για να εμφανίσει χαρακτήρες οι οποίοι δεν
|
||
υπάρχουν στα συνηθισμένα σετ (ολοκληρώματα, αθροίσματα, Ελληνικά
|
||
γράμματα, κλπ). To πρωτόκολλο X απαιτεί αυτές οι
|
||
γραμματοσειρές να υπάρχουν στο <emphasis>τοπικό</emphasis> σύστημα.
|
||
Αυτό σημαίνει ότι θα χρειαστεί να αντιγράψετε τις γραμματοσειρές αυτές
|
||
από το CDROM ή από από κάποιον άλλον υπολογιστή που έχει
|
||
το <application>&mathematica;</application>. Συνήθως αυτές οι
|
||
γραμματοσειρές μπορούν να βρεθούν μέσα στο κατάλογο
|
||
<filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> του
|
||
CDROM, ή στον κατάλογο
|
||
<filename>/usr/local/mathematica/SystemFiles/Fonts</filename> στον
|
||
τοπικό σκληρό δίσκο. Οι πραγματικές γραμματοσειρές βρίσκονται σε
|
||
υποκαταλόγους όπως <filename>Type1</filename> και
|
||
<filename>X</filename>. Υπάρχουν αρκετοί τρόποι
|
||
να τις χρησιμοποιήσετε, οι οποίοι περιγράφονται στη συνέχεια.</para>
|
||
|
||
<para>Ο πρώτος τρόπος είναι να τις αντιγράψετε μέσα σε έναν υπάρχοντα
|
||
κατάλογο στο <filename>/usr/X11R6/lib/X11/fonts</filename>. Θα
|
||
χρειαστεί όμως να τροποποιήσετε το
|
||
αρχείο <filename>fonts.dir</filename>, ώστε να προσθέσετε τα ονόματα
|
||
των γραμματοσειρών μέσα σε αυτό, και να αλλάξετε τον αριθμό των
|
||
γραμματοσειρών στη πρώτη γραμμή. Εναλλακτικά, είναι συνήθως αρκετό
|
||
να εκτελέσετε απλώς την εντολή &man.mkfontdir.1; μέσα στον κατάλογο
|
||
που έχετε αντιγράψει τις γραμματοσειρές.
|
||
</para>
|
||
|
||
<para>Ο δεύτερος τρόπος είναι να αντιγράψετε τους παραπάνω καταλόγους
|
||
μέσα στο <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>Τώρα προσθέστε τους νέους καταλόγους με τις γραμματοσειρές στο
|
||
font path:</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>Αν χρησιμοποιείτε το <application>&xorg;</application>, μπορείτε
|
||
να φορτώνετε τις γραμματοσειρές αυτές αυτόματα, προσθέτοντας τους
|
||
νέους καταλόγους στο αρχείο <filename>xorg.conf</filename>.
|
||
</para>
|
||
|
||
<note><para>Για τον εξυπηρετητή <application>&xfree86;</application>,
|
||
το αρχείο ρυθμίσεων είναι το <filename>XF86Config</filename>.</para>
|
||
</note>
|
||
<indexterm><primary>fonts</primary></indexterm>
|
||
|
||
<para>Αν <emphasis>δεν</emphasis> έχετε ήδη έναν κατάλογο με το
|
||
όνομα <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, μπορείτε να
|
||
αλλάξετε το όνομα του <filename>MathType1</filename> από το παραπάνω
|
||
παράδειγμα σε <filename>Type1</filename>.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-maple">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Aaron</firstname>
|
||
<surname>Kaplan</surname>
|
||
<!-- <address><email>aaron@lo-res.org</email></address> -->
|
||
<contrib>Συνεισφορά του </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Robert</firstname>
|
||
<surname>Getschmann</surname>
|
||
<!-- <address><email>rob@getschmann.org</email></address> -->
|
||
<contrib>Ευχαριστίες στον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Εγκαθιστώντας το &maple;</title>
|
||
|
||
<indexterm>
|
||
<primary>applications</primary>
|
||
<secondary><application>Maple</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Το <application>&maple;</application> είναι μία εμπορική εφαρμογή
|
||
μαθηματικών παρόμοια με το <application>&mathematica;</application>. Θα
|
||
πρέπει να αγοράσετε το λογισμικό από
|
||
το <ulink url="http://www.maplesoft.com/"></ulink> και στη συνέχεια να
|
||
κάνετε αίτηση για μια άδεια χρήσης. Για να εγκαταστήσετε το λογισμικό
|
||
στο &os;, ακολουθήστε τα παρακάτω απλά βήματα.
|
||
</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Εκτελέστε το <filename>INSTALL</filename> shell script από το
|
||
μέσο εγκατάστασης που έχετε. Επιλέξτε <quote>RedHat</quote> όταν
|
||
ερωτηθείτε από το πρόγραμμα εγκατάστασης. Ο τυπικός κατάλογος
|
||
είναι ο <filename class="directory">/usr/local/maple</filename>.
|
||
</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Αν δεν έχετε αγοράσει ακόμη κάποια άδεια για
|
||
το <application>&maple;</application>, αγοράστε μία από το
|
||
Maple Waterloo Software
|
||
(<ulink url="http://register.maplesoft.com/"></ulink>) και
|
||
αντιγράψτε το αρχείο που θα σας δοθεί
|
||
στο <filename>/usr/local/maple/license/license.dat</filename>.
|
||
</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Εγκαταστήσετε το <application>FLEXlm</application> license
|
||
manager εκτελώντας το <filename>INSTALL_LIC</filename> shell
|
||
script το οποία παρέχεται μαζί με
|
||
το <application>&maple;</application>. Δώστε το βασικό όνομα του
|
||
υπολογιστή σας το οποίο απαιτείται από τον
|
||
εξυπηρετητή διαχείρισης των αδειών (license server).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Χρησιμοποιήστε το παρακάτω patch στο αρχείο
|
||
<filename>/usr/local/maple/bin/maple.system.type</filename>:
|
||
</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>Σημειώστε ότι μετά το <literal>"FreeBSD"|\</literal>
|
||
δεν πρέπει να εμφανίζεται άλλο κενό διάστημα.</para>
|
||
|
||
<para>Το patch αυτό οδηγεί το <application>&maple;</application> να
|
||
αναγνωρίσει το <quote>&os;</quote> σαν ένα σύστημα Linux.
|
||
Το <filename>bin/maple</filename> shell script καλεί το
|
||
<filename>bin/maple.system.type</filename> shell script, το οποίο με
|
||
τη σειρά του καλεί την εντολή <command>uname -a</command>
|
||
προκειμένου να εντοπιστεί το όνομα του λειτουργικού
|
||
συστήματος. Αναλόγως με το ποιο λειτουργικό βρεθεί, θα
|
||
χρησιμοποιηθούν και τα αντίστοιχα εκτελέσιμα αρχεία.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Εκκινήστε τον license server.</para>
|
||
|
||
<para>Ένας βολικός τρόπος για να εκκινήσετε το<command>lmgrd</command>
|
||
είναι το ακόλουθο script που βρίσκεται στο
|
||
<filename>/usr/local/etc/rc.d/lmgrd.sh</filename>:</para>
|
||
|
||
<programlisting> ----- snip ------------
|
||
|
||
#! /bin/sh
|
||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
|
||
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
|
||
export PATH
|
||
|
||
LICENSE_FILE=/usr/local/maple/license/license.dat
|
||
LOG=/var/log/lmgrd.log
|
||
|
||
case "$1" in
|
||
start)
|
||
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
|
||
echo -n " lmgrd"
|
||
;;
|
||
stop)
|
||
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
|
||
;;
|
||
*)
|
||
echo "Usage: `basename $0` {start|stop}" 1>&2
|
||
exit 64
|
||
;;
|
||
esac
|
||
|
||
exit 0
|
||
----- snip ------------</programlisting></step>
|
||
|
||
|
||
<step>
|
||
<para>Δοκιμή του <application>&maple;</application>:</para>
|
||
|
||
<screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput>
|
||
&prompt.user; <userinput>./xmaple</userinput></screen>
|
||
|
||
<para>Σε αυτό το σημείο θα πρέπει να είναι όλα έτοιμα και να μην έχετε
|
||
κανένα πρόβλημα. Μην ξεχάσετε όμως να στείλετε ένα e-mail στη
|
||
Maplesoft και να τους πείτε ότι θέλετε μια έκδοση που να
|
||
υποστηρίζεται επίσημα στο &os;.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<sect2>
|
||
<title>Συνηθισμένα Προβλήματα</title>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ίσως δυσκολευτείτε με την λειτουργία του
|
||
<application>FLEXlm</application> license manager. Επιπλέον
|
||
τεκμηρίωση μπορείτε να βρείτε
|
||
στο <ulink url="http://www.globetrotter.com/"></ulink>.
|
||
</para></listitem>
|
||
|
||
<listitem>
|
||
<para>Το <command>lmgrd</command> είναι γνωστό ότι θέλει το αρχείο
|
||
της άδειας να έχει συγκεκριμένη μορφή αλλιώς η εκτέλεση του θα
|
||
αποτύχει. Ένα σωστό αρχείο άδειας χρήσης πρέπει είναι σε γενικές
|
||
γραμμές όπως το παρακάτω:</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>Ο σειριακός αριθμός και το κλειδί φαίνονται εδώ με
|
||
'X'. Το <hostid>chillig</hostid> είναι το όνομα του
|
||
συστήματος.</para>
|
||
</note>
|
||
|
||
<para>Μπορείτε να τροποποιήσετε το αρχείο της άδειας χρήσης, αρκεί
|
||
να μην αλλάξετε την γραμμή <quote>FEATURE</quote> (η οποία
|
||
προστατεύεται από το κλειδί της άδειας).</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-matlab">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Dan</firstname>
|
||
<surname>Pelleg</surname>
|
||
<contrib>Συνεισφορά του </contrib>
|
||
</author>
|
||
<!-- daniel+handbook@pelleg.org -->
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Εγκαθιστώντας το &matlab;</title>
|
||
|
||
<indexterm>
|
||
<primary>applications</primary>
|
||
<secondary><application>MATLAB</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της Linux
|
||
έκδοσης του <application>&matlab; 6.5</application> σε ένα σύστημα &os;.
|
||
Δουλεύει αρκετά καλά, με εξαίρεση
|
||
το <application>&java.virtual.machine;</application> (δείτε στο
|
||
<xref linkend="matlab-jre">).</para>
|
||
|
||
<para>Η Linux έκδοση του <application>&matlab;</application> μπορεί να
|
||
αγοραστεί απευθείας από την εταιρεία The MathWorks
|
||
στο <ulink url="http://www.mathworks.com"></ulink>. Σιγουρευτείτε ότι
|
||
πήρατε και το αρχείο που περιέχει την άδεια χρήσης ή οδηγίες για το πως
|
||
να το δημιουργήσετε. Μια και θα επικοινωνήσετε με την εταιρεία, πείτε
|
||
τους ότι θα θέλατε να υπάρχει επίσης υποστήριξη για το &os;.
|
||
</para>
|
||
|
||
<sect2>
|
||
<title>Εγκατάσταση του &matlab;</title>
|
||
|
||
<para>Για να εγκαταστήσετε το <application>&matlab;</application>, κάντε
|
||
τα παρακάτω:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Εισάγετε το CD και προσαρτήστε το στο σύστημα σας. Συνδεθείτε
|
||
ως χρήστης <username>root</username>, όπως συνιστά το script της
|
||
εγκατάστασης. Για να ξεκινήσετε το script της εγκατάστασης δώστε
|
||
την εντολή:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen>
|
||
|
||
<tip>
|
||
<para>Το πρόγραμμα της εγκατάστασης είναι σε γραφικό
|
||
περιβάλλον. Αν λαμβάνετε σφάλματα σχετικά με την οθόνη, δώστε
|
||
την εντολή: <command>setenv HOME ~<replaceable>USER</replaceable></command>,
|
||
όπου <replaceable>USER</replaceable> είναι ο χρήστης από όπου
|
||
δώσατε την εντολή &man.su.1;.</para>
|
||
</tip>
|
||
</step>
|
||
|
||
<step>
|
||
<para>
|
||
Όταν ερωτηθείτε για τον κατάλογο
|
||
του <application>&matlab;</application>, δώστε:
|
||
<userinput>/compat/linux/usr/local/matlab</userinput>.</para>
|
||
|
||
<tip>
|
||
<para>Για ευκολότερη διαδικασία εγκατάστασης, ορίστε το παρακάτω:
|
||
<command>set MATLAB=/compat/linux/usr/local/matlab</command>
|
||
στη γραμμή εντολών του κελύφους σας.</para>
|
||
</tip>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Τροποποιήσετε το αρχείο της άδειας (license file) σύμφωνα με
|
||
τις οδηγίες που λάβατε με την άδεια
|
||
του <application>&matlab;</application>.</para>
|
||
|
||
<tip>
|
||
<para>Μπορείτε να ετοιμάσετε εκ των προτέρων το αρχείο αυτό και να
|
||
το αντιγράψετε στο <filename>$MATLAB/license.dat</filename>,
|
||
πριν καν σας πει το πρόγραμμα εγκατάστασης να το
|
||
τροποποιήσετε.</para>
|
||
</tip>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Ολοκλήρωση της Εγκατάστασης</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Σε αυτό το σημείο, η εγκατάσταση
|
||
του <application>&matlab;</application> έχει ολοκληρωθεί. Τα επόμενα
|
||
βήματα χρειάζονται για να μπορέσετε να το δουλέψετε σωστά με το
|
||
&os;.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Εκκίνηση του License Manager</title>
|
||
<procedure>
|
||
<step>
|
||
<para>Δημιουργία συμβολικών συνδέσμων για τα scripts του license
|
||
manager:</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>Δημιουργήστε το αρχείο
|
||
εκκίνησης <filename>/usr/local/etc/rc.d/flexlm.sh</filename>. Το
|
||
παράδειγμα παρακάτω είναι μια τροποποιημένη έκδοση του
|
||
<filename>$MATLAB/etc/rc.lm.glnx86</filename>. Οι αλλαγές
|
||
είναι στις τοποθεσίες των αρχείων, και στην εκκίνηση του license
|
||
manager στο περιβάλλον εξομοίωσης Linux του &os; .</para>
|
||
|
||
<programlisting>#!/bin/sh
|
||
case "$1" in
|
||
start)
|
||
if [ -f /usr/local/etc/lmboot_TMW ]; then
|
||
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u <replaceable>username</replaceable> && echo 'MATLAB_lmgrd'
|
||
fi
|
||
;;
|
||
stop)
|
||
if [ -f /usr/local/etc/lmdown_TMW ]; then
|
||
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
|
||
fi
|
||
;;
|
||
*)
|
||
echo "Usage: $0 {start|stop}"
|
||
exit 1
|
||
;;
|
||
esac
|
||
|
||
exit 0</programlisting>
|
||
|
||
<important>
|
||
<para>Το αρχείο πρέπει να είναι εκτελέσιμο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>chmod +x /usr/local/etc/rc.d/flexlm.sh</userinput></screen>
|
||
|
||
<para>Πρέπει επίσης να αντικαταστήσετε το παραπάνω
|
||
<replaceable>username</replaceable> με ένα υπαρκτό όνομα
|
||
χρήστη του συστήματος σας (και να μην είναι ο
|
||
<username>root</username>).</para>
|
||
</important>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Εκκινήστε τον license manager με την εντολή:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/flexlm.sh start</userinput></screen>
|
||
</step>
|
||
</procedure>
|
||
</sect2>
|
||
|
||
<sect2 id="matlab-jre">
|
||
<title>Σύνδεση με το Περιβάλλον του &java; Runtime Environment</title>
|
||
|
||
<para>Αλλάξτε τον σύνδεσμο του<application>&java;</application> Runtime
|
||
Environment (JRE) σε έναν ο οποίος θα δουλεύει στο &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>Δημιουργήστε το Script Εκκίνησης του &matlab; </title>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Τοποθετήστε το παρακάτω script στο
|
||
<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>Στη συνέχεια δώστε την εντολή
|
||
<command>chmod +x /usr/local/bin/matlab</command>.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<tip>
|
||
<para>Ανάλογα με την έκδοση του
|
||
<filename role="package">emulators/linux_base</filename>, που έχετε,
|
||
μπορεί να εμφανιστούν μερικά σφάλματα όταν τρέξετε το
|
||
script. Για να το αποφύγετε αυτό, τροποποιήστε το αρχείο
|
||
<filename>/compat/linux/usr/local/matlab/bin/matlab</filename>,
|
||
και αλλάξτε τη γραμμή που λέει:</para>
|
||
|
||
<programlisting>if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then</programlisting>
|
||
|
||
<para>(στην έκδοση 13.0.1 βρίσκεται στη γραμμή 410) σε αυτή τη
|
||
γραμμή:</para>
|
||
|
||
<programlisting>if test -L $newbase; then</programlisting>
|
||
</tip>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Δημιουργία Script Τερματισμού του &matlab; </title>
|
||
|
||
<para>Τα επόμενα βήματα χρειάζονται για να λύσετε ένα πρόβλημα που
|
||
υπάρχει με τον τερματισμό του &matlab;.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Δημιουργήστε το
|
||
αρχείο <filename>$MATLAB/toolbox/local/finish.m</filename>, και
|
||
μέσα σε αυτό προσθέστε μόνο τη γραμμή:</para>
|
||
|
||
<programlisting>! $MATLAB/bin/finish.sh</programlisting>
|
||
|
||
<note>
|
||
<para>To <literal>$MATLAB</literal> γράψτε το ακριβώς
|
||
όπως το βλέπετε.</para>
|
||
</note>
|
||
|
||
<tip>
|
||
<para>Στον ίδιο κατάλογο, θα βρείτε τα
|
||
αρχεία <filename>finishsav.m</filename>
|
||
και <filename>finishdlg.m</filename>, τα οποία θα σας δίνουν τη
|
||
δυνατότητα να σώζετε την εργασία σας πριν κλείσετε το πρόγραμμα.
|
||
Αν πρόκειται να χρησιμοποιήσετε κάποιο από αυτά, προσθέστε του
|
||
την παραπάνω γραμμή αμέσως μετά την εντολή
|
||
<literal>save</literal> .</para></tip>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Δημιουργήστε το
|
||
αρχείο <filename>$MATLAB/bin/finish.sh</filename>, το οποίο θα
|
||
περιέχει τα παρακάτω:</para>
|
||
|
||
<programlisting>#!/usr/compat/linux/bin/sh
|
||
(sleep 5; killall -1 matlab_helper) &
|
||
exit 0</programlisting>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Κάντε το αρχείο εκτελέσιμο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>chmod +x $MATLAB/bin/finish.sh</userinput></screen>
|
||
</step>
|
||
</procedure>
|
||
</sect2>
|
||
|
||
<sect2 id="matlab-using">
|
||
<title>Χρησιμοποιώντας το &matlab;</title>
|
||
|
||
<para>Σε αυτό το σημείο θα πρέπει να είστε έτοιμοι να δώσετε την
|
||
εντολή <command>matlab</command> και να αρχίσετε να χρησιμοποιείτε την
|
||
εφαρμογή.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-oracle">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Marcel</firstname>
|
||
<surname>Moolenaar</surname>
|
||
<contrib>Συνεισφορά του </contrib>
|
||
</author>
|
||
<!-- marcel@cup.hp.com -->
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Εγκατάσταση της &oracle;</title>
|
||
|
||
<indexterm>
|
||
<primary>applications</primary>
|
||
<secondary><application>Oracle</application></secondary>
|
||
</indexterm>
|
||
|
||
<sect2>
|
||
<title>Εισαγωγή</title>
|
||
|
||
<para>Το κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης
|
||
των <application>&oracle; 8.0.5</application>
|
||
και <application>&oracle; 8.0.5.1 Enterprise Edition</application> για
|
||
Linux σε ένα σύστημα &os;.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Εγκατάσταση του Περιβάλλοντος Linux</title>
|
||
|
||
<para>Σιγουρευτείτε ότι έχετε εγκαταστήσει
|
||
τα <filename role='package'>emulators/linux_base</filename>
|
||
και <filename role='package'>devel/linux_devtools</filename> από τη
|
||
συλλογή των Ports. Αν αντιμετωπίζετε δυσκολίες με τα παραπάνω, ίσως
|
||
χρειαστεί να τα εγκαταστήσετε από πακέτα ή από παλιότερες εκδόσεις της
|
||
συλλογής των Ports.</para>
|
||
|
||
<para>Αν θέλετε να τρέξετε τον intelligent agent, θα χρειαστεί να
|
||
εγκαταστήσετε και το πακέτο Red Hat
|
||
Tcl: <filename>tcl-8.0.3-20.i386.rpm</filename>. Η εντολή για την
|
||
εγκατάσταση μέσω του επίσημου <application>RPM</application> port
|
||
(<filename role='package'>archivers/rpm</filename>) είναι:</para>
|
||
|
||
<screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen>
|
||
|
||
<para>Η εγκατάσταση του <replaceable>package</replaceable> θα πρέπει να
|
||
γίνει ομαλά και χωρίς προβλήματα.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Ρυθμίζοντας το Περιβάλλον για την &oracle; </title>
|
||
|
||
<para>Πριν την εγκατάσταση της <application>&oracle;</application>, θα
|
||
πρέπει να ρυθμίσετε σωστά το περιβάλλον του συστήματός σας. Το
|
||
παρακάτω κείμενο περιγράφει τι <emphasis>ακριβώς</emphasis> πρέπει να
|
||
κάνετε για να εκτελέσετε την <application>&oracle;</application> για
|
||
Linux στο &os;, και δεν περιγράφει ότι υπάρχει ήδη στον οδηγό
|
||
εγκατάστασης της <application>&oracle;</application>.</para>
|
||
|
||
<sect3 id="linuxemu-kernel-tuning">
|
||
<title>Ρύθμιση του Πυρήνα</title>
|
||
<indexterm><primary>kernel tuning</primary></indexterm>
|
||
|
||
<para>Όπως περιγράφει ο οδηγός εγκατάστασης
|
||
της <application>&oracle;</application>, θα πρέπει να ορίσετε τις
|
||
τιμές της shared memory στο μέγιστο. Μην χρησιμοποιήσετε
|
||
το <literal>SHMMAX</literal> στο &os;. Το <literal>SHMMAX</literal>
|
||
υπολογίζεται απλώς από το <literal>SHMMAXPGS</literal> και το
|
||
<literal>PGSIZE</literal>. Επομένως καθορίστε το
|
||
<literal>SHMMAXPGS</literal>. Όλες οι άλλες επιλογές μπορούν να
|
||
οριστούν όπως περιγράφεται στον οδηγό. Για παράδειγμα:</para>
|
||
|
||
<programlisting>options SHMMAXPGS=10000
|
||
options SHMMNI=100
|
||
options SHMSEG=10
|
||
options SEMMNS=200
|
||
options SEMMNI=70
|
||
options SEMMSL=61</programlisting>
|
||
|
||
<para>Ορίστε τις τιμές των επιλογών έτσι ώστε να ταιριάζουν στη χρήση
|
||
της <application>&oracle;</application> που θέλετε να κάνετε.</para>
|
||
|
||
<para>Επίσης, επιβεβαιώστε ότι έχετε ενεργοποιήσει τις παρακάτω
|
||
επιλογές στις ρυθμίσεις του πυρήνα:</para>
|
||
|
||
<programlisting>options SYSVSHM #SysV shared memory
|
||
options SYSVSEM #SysV semaphores
|
||
options SYSVMSG #SysV interprocess communication</programlisting>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-oracle-account">
|
||
|
||
<title>Ο Χρήστης &oracle;</title>
|
||
|
||
<para>Δημιουργήστε ένα χρήστη συστήματος με
|
||
όνομα <username>oracle</username>, με τον ίδιο τρόπο που θα
|
||
δημιουργούσατε και οποιονδήποτε άλλον χρήστη. Το μόνο ιδιαίτερο
|
||
χαρακτηριστικό του χρήστη <username>oracle</username> είναι ότι
|
||
χρειάζεται να του δώσετε ένα κέλυφος Linux. Προσθέστε
|
||
το <literal>/compat/linux/bin/bash</literal>
|
||
στο <filename>/etc/shells</filename> και ορίστε το κέλυφος του
|
||
χρήστη <username>oracle</username>
|
||
σε <filename>/compat/linux/bin/bash</filename>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-environment">
|
||
<title>Το Περιβάλλον</title>
|
||
|
||
<para>Εκτός των συνηθισμένων μεταβλητών
|
||
της <application>&oracle;</application>, όπως
|
||
οι <envar>ORACLE_HOME</envar> και <envar>ORACLE_SID</envar> θα
|
||
πρέπει να ορίσετε και τις ακόλουθες μεταβλητές περιβάλλοντος:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<colspec colwidth="1*">
|
||
<colspec colwidth="2*">
|
||
<thead>
|
||
<row>
|
||
<entry>Μεταβλητή</entry>
|
||
|
||
<entry>Τιμή</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>Σας συνιστούμε να ορίσετε όλες τις μεταβλητές περιβάλλοντος στο
|
||
αρχείο <filename>.profile</filename>. Ένα ολοκληρωμένο παράδειγμα
|
||
είναι το παρακάτω:</para>
|
||
|
||
<programlisting>ORACLE_BASE=/oracle; export ORACLE_BASE
|
||
ORACLE_HOME=/oracle; export ORACLE_HOME
|
||
LD_LIBRARY_PATH=$ORACLE_HOME/lib
|
||
export LD_LIBRARY_PATH
|
||
ORACLE_SID=ORCL; export ORACLE_SID
|
||
ORACLE_TERM=386x; export ORACLE_TERM
|
||
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
|
||
export CLASSPATH
|
||
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
|
||
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
|
||
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
|
||
export PATH</programlisting>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Εγκατάσταση της &oracle;</title>
|
||
|
||
<para>Λόγω μια μικρής έλλειψης στον εξομοιωτή του Linux, θα χρειαστεί να
|
||
δημιουργήσετε έναν κατάλογο με το όνομα <filename>.oracle</filename>
|
||
μέσα στο <filename>/var/tmp</filename>, πριν ξεκινήσετε το πρόγραμμα
|
||
εγκατάστασης. Ο κατάλογος αυτός θα πρέπει να ανήκει
|
||
στον χρήστη <username>oracle</username>. Θα πρέπει τώρα να
|
||
πραγματοποιήσετε την εγκατάσταση
|
||
της <application>&oracle;</application> δίχως κανένα πρόβλημα. Αν
|
||
αντιμετωπίζετε όμως ακόμη προβλήματα, ελέγξτε την έκδοση
|
||
της <application>&oracle;</application> που έχετε ή/και τις
|
||
ρυθμίσεις σας! Αφότου έχετε πραγματοποιήσει την εγκατάσταση
|
||
της <application>&oracle;</application>, εφαρμόστε τα patches που
|
||
περιγράφονται στις δύο παρακάτω ενότητες.</para>
|
||
|
||
<para>Ένα συχνό πρόβλημα είναι ότι δεν γίνεται σωστή εγκατάσταση του
|
||
προσαρμογέα του πρωτοκόλλου TCP. Αυτό έχει ως αποτέλεσμα να μην
|
||
μπορείτε να ξεκινήσετε τους TCP listeners. Οι ακόλουθες οδηγίες θα
|
||
σας βοηθήσουν να λύσετε αυτό το πρόβλημα.:</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>Μη ξεχάσετε να τρέξετε ξανά το <filename>root.sh</filename></para>
|
||
|
||
<sect3 id="linuxemu-patch-root">
|
||
<title>Διόρθωση του root.sh</title>
|
||
|
||
<para>Όταν εγκαθιστάτε την <application>&oracle;</application>,
|
||
κάποιες ενέργειες, οι οποίες χρειάζονται να γίνουν
|
||
ως <username>root</username>, καταγράφονται σε ένα shell script που
|
||
λέγεται <filename>root.sh</filename>. Το script αυτό δημιουργείται
|
||
στον κατάλογο <filename>orainst</filename>. Εφαρμόστε το παρακάτω
|
||
patch στο <filename>root.sh</filename>, για να μπορέσει να βρει και
|
||
να χρησιμοποιήσει το <command>chown</command>. Εναλλακτικά, τρέξτε
|
||
το script μέσα από ένα κέλυφος 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>Όταν δεν κάνετε χρήση του CD για την εγκατάσταση, μπορείτε να
|
||
περάσετε το patch για το <filename>root.sh</filename>, στην πηγή
|
||
εγκατάστασης. To αρχείο ονομάζεται <filename>rthd.sh</filename> και
|
||
βρίσκεται στον κατάλογο <filename>orainst</filename>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-patch-tcl">
|
||
<title>Διόρθωση του genclntsh</title>
|
||
|
||
<para>To script <command>genclntsh</command> χρησιμοποιείται για να
|
||
δημιουργήσει μια shared client library. Τρέξτε το παρακάτω patch για
|
||
να σβήσετε το καθορισμένο <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>Εκτέλεση της &oracle;</title>
|
||
|
||
<para>Αφού έχετε ακολουθήσει αυτές τις οδηγίες, θα πρέπει να μπορείτε
|
||
να εκτελέσετε την <application>&oracle;</application> σαν να
|
||
βρισκόσασταν σε ένα σύστημα Linux.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="sapr3">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Holger</firstname>
|
||
<surname>Kipp</surname>
|
||
<contrib>Συνεισφορά του </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<!-- holger.kipp@alogis.com -->
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Valentino</firstname>
|
||
<surname>Vaschetto</surname>
|
||
<contrib>Αρχική μετατροπή σε SGML από τον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
|
||
<title>Εγκατάσταση του &sap.r3;</title>
|
||
|
||
<indexterm>
|
||
<primary>applications</primary>
|
||
<secondary><application>SAP R/3</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Η εγκατάσταση συστημάτων <application>&sap;</application>
|
||
χρησιμοποιώντας το &os; δεν υποστηρίζεται από την ομάδα υποστήριξης της
|
||
&sap; — υποστήριξη παρέχεται μόνο σε συγκεκριμένες,
|
||
υποστηριζόμενες, πλατφόρμες.</para>
|
||
|
||
<sect2 id="preface">
|
||
<title>Εισαγωγή</title>
|
||
|
||
<para>Το κείμενο αυτό περιγράφει ένα πιθανό τρόπο για την εγκατάσταση
|
||
του <application>&sap.r3; System</application> με μία βάση
|
||
δεδομένων <application>&oracle;</application> για Linux σε ένα σύστημα
|
||
&os;, περιλαμβάνοντας την εγκατάσταση του &os;
|
||
και της <application>&oracle;</application>. Θα περιγράψουμε δύο
|
||
διαφορετικά είδη ρυθμίσεων:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><application>&sap.r3; 4.6B (IDES)</application>
|
||
με <application>&oracle; 8.0.5</application> σε &os;
|
||
4.3-STABLE</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><application>&sap.r3; 4.6C</application>
|
||
με <application>&oracle; 8.1.7</application> σε &os;
|
||
4.5-STABLE</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Παρ' όλο που αυτό το κείμενο προσπαθεί να περιγράψει με
|
||
λεπτομέρειες όλα τα απαραίτητα βήματα, δεν θα πρέπει να θεωρηθεί ως
|
||
αντικαταστάτης των οδηγών εγκατάστασης
|
||
της <application>&oracle;</application> και
|
||
του <application>&sap.r3;</application>.</para>
|
||
|
||
<para>Δείτε τον οδηγό του <application>&sap.r3;</application> για Linux
|
||
για ερωτήσεις σχετικά με το <application>&sap;</application>
|
||
και την <application>&oracle;</application>, και για πηγές από
|
||
την <application>&oracle;</application> και το <application>&sap;
|
||
OSS</application>.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="software">
|
||
<title>Λογισμικό</title>
|
||
|
||
<para>Τα ακόλουθα CD-ROMs έχουν χρησιμοποιηθεί για την εγκατάσταση
|
||
του <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>Όνομα</entry> <entry>Αρίθμηση</entry>
|
||
<entry>Περιγραφή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>KERNEL</entry> <entry>51009113</entry>
|
||
<entry>SAP Kernel Oracle / Installation / AIX, Linux,
|
||
Solaris</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>RDBMS</entry> <entry>51007558</entry>
|
||
<entry>Oracle / RDBMS 8.0.5.X / Linux</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51010208</entry>
|
||
<entry>IDES / DB-Export / Disc 1 of 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT2</entry> <entry>51010209</entry>
|
||
<entry>IDES / DB-Export / Disc 2 of 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT3</entry> <entry>51010210</entry>
|
||
<entry>IDES / DB-Export / Disc 3 of 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT4</entry> <entry>51010211</entry>
|
||
<entry>IDES / DB-Export / Disc 4 of 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT5</entry> <entry>51010212</entry>
|
||
<entry>IDES / DB-Export / Disc 5 of 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT6</entry> <entry>51010213</entry>
|
||
<entry>IDES / DB-Export / Disc 6 of 6</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Επιπλέον, χρησιμοποιήσαμε το <application>&oracle; 8
|
||
Server</application> (Pre-production version 8.0.5 για Linux, Kernel
|
||
Version 2.0.33) CD το οποίο δεν είναι απαραίτητο, και το &os;
|
||
4.3-STABLE (ένα στιγμιότυπο λίγες μόνο μέρες μετά την έκδοση
|
||
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>Όνομα</entry> <entry>Αρίθμηση</entry>
|
||
<entry>Περιγραφή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>KERNEL</entry> <entry>51014004</entry>
|
||
<entry>SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC,
|
||
Linux</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>RDBMS</entry> <entry>51012930</entry>
|
||
<entry>Oracle 8.1.7/ RDBMS / Linux</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry>
|
||
<entry>Release 4.6C SR2 / Export / Disc 1 of 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry>
|
||
<entry>Release 4.6C SR2 / Export / Disc 2 of 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry>
|
||
<entry>Release 4.6C SR2 / Export / Disc 3 of 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry>
|
||
<entry>Release 4.6C SR2 / Export / Disc 4 of 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>LANG1</entry> <entry>51013954</entry>
|
||
<entry>Release 4.6C SR2 / Language / DE, EN, FR / Disc 1 of 3
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Αναλόγως με τις γλώσσες που θέλετε να εγκαταστήσετε, θα
|
||
χρειαστείτε επιπλέον τα αντίστοιχα CDs. Εμείς χρησιμοποιούμε
|
||
Γερμανικά (DE) και Αγγλικά (EN), οπότε χρειαζόμαστε μόνο το πρώτο
|
||
CD. Μια μικρή σημείωση, η αρίθμηση των EXPORT CDs είναι ακριβώς η
|
||
ίδια. Όλα τα CDs των γλωσσών έχουν την ίδια αρίθμηση (αυτό διαφέρει
|
||
σε σχέση με την αρίθμηση της έκδοσης 4.6B IDES). Την ώρα που
|
||
γράφονται αυτές οι γραμμές, η εγκατάσταση λειτουργεί σε &os;
|
||
4.5-STABLE (20.03.2002).</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="sap-notes">
|
||
<title>Σημειώσεις &sap;</title>
|
||
|
||
<para>Οι ακόλουθες σημειώσεις θα πρέπει να διαβαστούν πριν την
|
||
εγκατάσταση του <application>&sap.r3;</application> μια και είναι
|
||
χρήσιμες για τη διαδικασία εγκατάστασης:</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>Αρίθμηση</entry>
|
||
<entry>Τίτλος</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
|
||
<row>
|
||
<entry>0171356</entry>
|
||
<entry>SAP Software on Linux: Essential Comments</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0201147</entry>
|
||
<entry>INST: 4.6C R/3 Inst. on UNIX - Oracle</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0373203</entry>
|
||
<entry>Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6
|
||
LINUX</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0072984</entry>
|
||
<entry>Release of Digital UNIX 4.0B for Oracle</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0130581</entry>
|
||
<entry>R3SETUP step DIPGNTAB terminates</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0144978</entry>
|
||
<entry>Your system has not been installed correctly</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0162266</entry>
|
||
<entry>Questions and tips for R3SETUP on Windows NT / W2K</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</sect3>
|
||
|
||
<sect3 id="sap-notes-46c">
|
||
<title>&sap.r3; 4.6C, &oracle; 8.1.7</title>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Αρίθμηση</entry>
|
||
<entry>Τίτλος</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>0015023</entry>
|
||
<entry>Initializing table TCPDB (RSXP0004) (EBCDIC)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0045619</entry>
|
||
<entry>R/3 with several languages or typefaces</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0171356</entry>
|
||
<entry>SAP Software on Linux: Essential Comments</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0195603</entry> <entry>RedHat 6.1 Enterprise version:
|
||
Known problems</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0212876</entry>
|
||
<entry>The new archiving tool SAPCAR</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0300900</entry>
|
||
<entry>Linux: Released DELL Hardware</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0377187</entry>
|
||
<entry>RedHat 6.2: important remarks</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0387074</entry>
|
||
<entry>INST: R/3 4.6C SR2 Installation on UNIX</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0387077</entry>
|
||
<entry>INST: R/3 4.6C SR2 Inst. on UNIX - Oracle</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0387078</entry>
|
||
<entry>SAP Software on UNIX: OS Dependencies 4.6C SR2</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="hardware-requirements">
|
||
<title>Απαιτήσεις Συστήματος</title>
|
||
|
||
<para>Ο ακόλουθος εξοπλισμός είναι αρκετός για μια τυπική εγκατάσταση
|
||
του <application>&sap.r3; System</application>. Για μηχανήματα
|
||
παραγωγής θα χρειαστείτε φυσικά καλύτερη εκτίμηση των απαιτήσεων
|
||
σας:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>Εξάρτημα</entry>
|
||
<entry>4.6B</entry>
|
||
<entry>4.6C</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>Επεξεργαστής</entry>
|
||
<entry>2 x 800MHz &pentium; III</entry>
|
||
<entry>2 x 800MHz &pentium; III</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Μνήμη</entry>
|
||
<entry>1GB ECC</entry>
|
||
<entry>2GB ECC</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Σκληρός Δίσκος</entry>
|
||
<entry>50-60GB (IDES)</entry>
|
||
<entry>50-60GB (IDES)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Για χρήση σε παραγωγή, θα χρειαστείτε επεξεργαστές &xeon; με
|
||
μεγάλη μνήμη cache, δίσκους υψηλής ταχύτητας (SCSI, με hardware
|
||
ελεγκτή RAID), USV και ECC-RAM. Το μεγάλο μέγεθος του σκληρού δίσκου,
|
||
οφείλεται στο προρυθμισμένο σύστημα IDES, που δημιουργεί 27 GB
|
||
αρχεία βάσης δεδομένων κατά τη διάρκεια της εγκατάστασης. Ο χώρος
|
||
αυτός επαρκεί επίσης για τα δεδομένα της εφαρμογής σε ένα αρχικό
|
||
σύστημα παραγωγής.</para>
|
||
|
||
<sect3 id="hardware-46b">
|
||
<title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
|
||
|
||
<para>Χρησιμοποιήθηκαν τα ακόλουθα κοινά εξαρτήματα: μητρική για δύο
|
||
επεξεργαστές με 2 &pentium; III στα 800 MHZ,
|
||
ελεγκτή SCSI &adaptec; 29160 Ultra160 (για πρόσβαση σε οδηγό
|
||
ταινίας 40/80 GB DLT και στο CDROM), &mylex; &acceleraid;
|
||
(2 καναλιών, firmware 6.00-1-00 με 32 MB RAM). Στο &mylex;
|
||
RAID controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των
|
||
17 GB (mirrored) και τέσσερις των 36 GB (RAID level 5).
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 id="hardware-46c">
|
||
<title>&sap.r3; 4.6C, &oracle; 8.1.7</title>
|
||
|
||
<para>Σε αυτή την εγκατάσταση χρησιμοποιήσαμε έναν &dell; &poweredge;
|
||
2500: μητρική με δύο επεξεργαστές &pentium; III στα 1000 MHz
|
||
(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID
|
||
Controller με 128 MB, και οδηγό EIDE DVD-ROM. Στο RAID
|
||
controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των 18 GB
|
||
(mirrored) και τέσσερις των 36 GB (RAID level 5).</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installation">
|
||
<title>Εγκατάσταση του &os;</title>
|
||
|
||
<para>Αρχικά πρέπει να εγκαταστήσετε το &os;. Αυτό μπορεί να γίνει με
|
||
διάφορους τρόπους, για περισσότερες πληροφορίες δείτε
|
||
στο <xref linkend="install-diff-media">.</para>
|
||
|
||
<sect3 id="disk-layout">
|
||
<title>Διάταξη Δίσκου</title>
|
||
|
||
<para>Για να κρατήσουμε τη διαδικασία απλή, χρησιμοποιήσαμε την ίδια
|
||
διάταξη δίσκου, τόσο στο <application>&sap.r3; 46B</application>
|
||
όσο και στο <application>&sap.r3; 46C SR2</application>. Μόνο τα
|
||
ονόματα των συσκευών άλλαξαν, καθώς η κάθε εγκατάσταση έγινε σε
|
||
διαφορετικό μηχάνημα. (<filename>/dev/da</filename>
|
||
και <filename>/dev/amr</filename> αντίστοιχα, οπότε αν
|
||
χρησιμοποιείτε έναν AMI &megaraid;, θα δείτε
|
||
το <filename>/dev/amr0s1a</filename> αντί
|
||
του <filename>/dev/da0s1a</filename>):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="4">
|
||
<thead>
|
||
<row>
|
||
<entry>Σύστημα αρχείων</entry>
|
||
<entry>Μέγεθος (1k-blocks)</entry>
|
||
<entry>Μέγεθος (GB)</entry>
|
||
<entry>Προσάρτηση στο</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>Ρυθμίστε από πριν τους δύο δίσκους με το λογισμικό &mylex; ή
|
||
το PERC/3 RAID. Μπορείτε να εισέλθετε σε αυτό κατά τη φάση
|
||
εκκίνησης του <acronym>BIOS</acronym>.</para>
|
||
|
||
<para> Προσέξτε εδώ ότι η διάταξη του δίσκου διαφέρει λίγο ως προς
|
||
τη συνιστώμενη από τη &sap;, καθώς η &sap; προτείνει να
|
||
προσαρτήσετε τους υποκαταλόγους της
|
||
<application>&oracle;</application> (και κάποιους άλλους) ξεχωριστά
|
||
— εμείς προτιμήσαμε, για λόγους απλότητας, να δημιουργήσουμε
|
||
κανονικούς καταλόγους.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="makeworldandnewkernel">
|
||
<title><command>make world</command> και Νέος Πυρήνας</title>
|
||
|
||
<para>Κατεβάστε τον πηγαίο κώδικα του τελευταίου πυρήνα
|
||
-STABLE. Μεταγλωττίστε το world (βασικό σύστημα) και τον πυρήνα σας
|
||
αφού δημιουργήσετε πρώτα ένα προσαρμοσμένο αρχείο ρυθμίσεων
|
||
πυρήνα. Εδώ θα πρέπει να συμπεριλάβετε και τις
|
||
<link linkend="kerneltuning">παραμέτρους
|
||
πυρήνα (kernel parameters)</link> οι οποίες χρειάζονται τόσο για
|
||
το <application>&sap.r3;</application> όσο και
|
||
την <application>&oracle;</application>.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingthelinuxenviornment">
|
||
<title>Εγκατάσταση του Περιβάλλοντος Linux</title>
|
||
|
||
<sect3 id="installinglinuxbase-system">
|
||
<title>Εγκατάσταση του Linux Base System</title>
|
||
|
||
<para>Αρχικά χρειάζεται να έχετε εγκαταστήσει
|
||
το <link linkend="linuxemu-libs-port">linux_base</link> port (ως
|
||
χρήστης <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>Εγκατάσταση του Περιβάλλοντος Ανάπτυξης Linux</title>
|
||
|
||
<para>Το περιβάλλον ανάπτυξης Linux χρειάζεται αν θέλετε να
|
||
εγκαταστήσετε την <application>&oracle;</application> στο &os; όπως
|
||
περιγράφεται στο <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>Εγκαταστήσαμε το περιβάλλον ανάπτυξης Linux μόνο για την
|
||
εγκατάσταση του <application>&sap.r3; 46B IDES</application>. Αν
|
||
έχετε εγκαταστήσει την <application>&oracle; DB</application> από
|
||
την <application>&oracle;</application> για συστήματα Linux, τότε
|
||
δεν χρειάζεται να σας απασχολεί.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="installingnecessaryrpms">
|
||
<title>Εγκατάσταση των Απαραίτητων RPMs</title>
|
||
<indexterm><primary>RPMs</primary></indexterm>
|
||
|
||
<para>Για να ξεκινήσει το πρόγραμμα <command>R3SETUP</command>,
|
||
χρειάζεται να υπάρχει υποστήριξη PAM. Κατά τη διάρκεια της
|
||
πρώτης εγκατάστασης του <application>&sap;</application> στο &os;
|
||
4.3-STABLE, προσπαθήσαμε να εγκαταστήσουμε το PAM με όλα τα
|
||
απαραίτητα πακέτα και τελικά εξαναγκάσαμε την εγκατάσταση του
|
||
πακέτου PAM, το οποίο και δούλεψε. Για το
|
||
<application>&sap.r3; 4.6C SR2</application> εξαναγκάσαμε άμεσα
|
||
την εγκατάσταση του πακέτου PAM, το οποίο επίσης δούλεψε, πράγμα
|
||
που σημαίνει ότι τα πακέτα που αναφέρονται ως εξαρτήσεις του, δεν
|
||
χρειάζονται:</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>Για τον intelligent agent του <application>&oracle;
|
||
8.0.5</application>, έπρεπε να εγκαταστήσουμε το πακέτο Tcl της
|
||
RedHat <filename>tcl-8.0.5-30.i386.rpm</filename> (διαφορετικά η
|
||
επανασύνδεση κατά τη διάρκεια της εγκατάστασης
|
||
της <application>&oracle;</application> δεν θα ήταν εφικτή).
|
||
Υπάρχουν και κάποια άλλα προβλήματα σχετικά με τη επανασύνδεση
|
||
της <application>&oracle;</application>, αλλά αυτό είναι θέμα
|
||
της <application>&oracle;</application> για Linux, και όχι του
|
||
&os;.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxprocandfallbackelfbrand">
|
||
<title>Επιπλέον Συμβουλές</title>
|
||
|
||
<para>Ίσως είναι επίσης καλή ιδέα να προσθέσετε
|
||
το <literal>linprocfs</literal>
|
||
στο <filename>/etc/fstab</filename>. Για περισσότερες πληροφορίες,
|
||
δείτε τη σελίδα manual &man.linprocfs.5;. Μια άλλη παράμετρος που
|
||
μπορείτε να ορίσετε είναι
|
||
η <literal>kern.fallback_elf_brand=3</literal> η οποία ορίζεται στο
|
||
αρχείο <filename>/etc/sysctl.conf</filename>.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="creatingsapr3env">
|
||
<title>Δημιουργία του Περιβάλλοντος &sap.r3;</title>
|
||
|
||
<sect3 id="filesystemsandmountpoints">
|
||
<title>Δημιουργία των Απαραιτήτων Συστημάτων Αρχείων και
|
||
Προσαρτήσεων</title>
|
||
|
||
<para>Για μια απλή εγκατάσταση, αρκεί να δημιουργήσετε τα παρακάτω
|
||
συστήματα αρχείων και προσαρτήσεις:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>σημείο προσάρτησης</entry>
|
||
<entry>μέγεθος σε 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>Είναι επίσης απαραίτητο να δημιουργήσετε και μερικούς
|
||
συνδέσμους. Διαφορετικά το πρόγραμμα εγκατάστασης
|
||
του <application>&sap;</application> θα παραπονεθεί:</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>Ένα πιθανό μήνυμα σφάλματος κατά τη διάρκεια της εγκατάστασης
|
||
(εδώ με System <emphasis>PRD</emphasis> και εγκατάσταση
|
||
του <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>Δημιουργία Χρηστών και Καταλόγων</title>
|
||
|
||
<para>Το <application>&sap.r3;</application> χρειάζεται δύο χρήστες
|
||
και τρεις ομάδες (groups). Τα ονόματα των χρηστών εξαρτώνται από
|
||
το <application>&sap;</application> system ID (SID) το οποίο
|
||
αποτελείται από τρία γράμματα. Μερικά από αυτά τα SIDs είναι
|
||
δεσμευμένα από το <application>&sap;</application> (για παράδειγμα
|
||
τα <literal>SAP</literal> και <literal>NIX</literal>. Για πλήρη
|
||
λίστα δείτε την τεκμηρίωση του <application>&sap;</application>).
|
||
Για την εγκατάσταση IDES, χρησιμοποιήσαμε <literal>IDS</literal>,
|
||
για την εγκατάσταση στο σύστημα 4.6C SR2 χρησιμοποιήσαμε
|
||
<literal>PRD</literal>, καθώς αυτό το σύστημα προορίζεται για χρήση
|
||
παραγωγής. Επομένως, χρειαστήκαμε τις ακόλουθες ομάδες (τα ID των
|
||
ομάδων μπορούν να διαφέρουν, αυτές είναι απλώς οι τιμές που
|
||
χρησιμοποιήσαμε στη δική μας εγκατάσταση):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>ID ομάδας</entry>
|
||
<entry>όνομα ομάδας</entry>
|
||
<entry>περιγραφή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>100</entry>
|
||
<entry>dba</entry>
|
||
<entry>Data Base Administrator (Διαχειριστής Βάσης
|
||
Δεδομένων)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>101</entry>
|
||
<entry>sapsys</entry>
|
||
<entry>&sap; System</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>102</entry>
|
||
<entry>oper</entry>
|
||
<entry>Data Base Operator (Χειριστής Βάσης Δεδομένων)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Για τη τυπική εγκατάσταση
|
||
της <application>&oracle;</application>, θα χρειαστείτε μόνο την
|
||
ομάδα <groupname>dba</groupname> (δείτε τη τεκμηρίωση
|
||
της <application>&oracle;</application> και
|
||
του <application>&sap;</application> για περισσότερες
|
||
πληροφορίες).</para>
|
||
|
||
<para>Θα χρειαστούμε επίσης τους ακόλουθους χρήστες:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="6">
|
||
<thead>
|
||
<row>
|
||
<entry>ID χρήστη</entry>
|
||
<entry>όνομα χρήστη</entry>
|
||
<entry>γενικό όνομα</entry>
|
||
<entry>αρχική ομάδα</entry>
|
||
<entry>επιπλέον ομάδες</entry>
|
||
<entry>περιγραφή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>1000</entry>
|
||
<entry>idsadm/prdadm</entry>
|
||
<entry><replaceable>sid</replaceable>adm</entry>
|
||
<entry>sapsys</entry>
|
||
<entry>oper</entry>
|
||
<entry>&sap; Administrator (Διαχειριστής)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>1002</entry>
|
||
<entry>oraids/oraprd</entry>
|
||
<entry>ora<replaceable>sid</replaceable></entry>
|
||
<entry>dba</entry>
|
||
<entry>oper</entry>
|
||
<entry>&oracle; Administrator (Διαχειριστής)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Η προσθήκη των χρηστών με την εντολή &man.adduser.8; απαιτεί
|
||
τις ακόλουθες καταχωρήσεις για τον
|
||
<quote>&sap; Administrator</quote> (προσέξτε το shell και τον
|
||
κατάλογο 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>και για τον <quote>&oracle; Administrator</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>Θα πρέπει να περιλάβετε και την ομάδα
|
||
<groupname>oper</groupname> σε περίπτωση που χρησιμοποιήσετε
|
||
και τις δύο ομάδες <groupname>dba</groupname>
|
||
και <groupname>oper</groupname>.</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="creatingdirectories">
|
||
<title>Δημιουργία Καταλόγων</title>
|
||
|
||
<para>Οι παρακάτω κατάλογοι δημιουργούνται συνήθως ως ξεχωριστά
|
||
συστήματα αρχείων. Αυτό όμως εξαρτάται από τις απαιτήσεις σας.
|
||
Εμείς επιλέξαμε να τους δημιουργήσουμε ως απλούς καταλόγους,
|
||
καθώς όλοι τους βρίσκονται στο ίδιο RAID 5:</para>
|
||
|
||
<para>Αρχικά θα χρειαστεί να ορίσουμε ιδιοκτήτες και άδειες σε
|
||
κάποιους καταλόγους (ως χρήστης <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>Σε δεύτερη φάση θα δημιουργήσουμε τους καταλόγους ως χρήστης
|
||
<username>ora<replaceable>sid</replaceable></username>. Όλοι αυτοί
|
||
οι κατάλογοι υπάγονται
|
||
στον <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>Για την εγκατάσταση της <application>&oracle;
|
||
8.1.7</application>, θα χρειαστούν μερικοί κατάλογοι ακόμη:</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>Ο κατάλογος <filename>client/80x_32</filename>
|
||
χρησιμοποιείται με αυτό ακριβώς το όνομα. Μην αντικαταστήσετε το
|
||
<emphasis>x</emphasis> με κάποιον αριθμό ή κάτι άλλο.</para></note>
|
||
|
||
<para>Στο τρίτο βήμα δημιουργούμε τους καταλόγους ως χρήστης
|
||
<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>Εγγραφές στο <filename>/etc/services</filename></title>
|
||
|
||
<para>Το <application>&sap.r3;</application> χρειάζεται μερικές
|
||
εγγραφές στο αρχείο <filename>/etc/services</filename>, οι οποίες
|
||
δεν εισάγονται κατά τη διάρκεια της εγκατάστασης του &os;. Προσθέστε
|
||
τις παρακάτω εγγραφές (θα χρειαστείτε τουλάχιστον τις εγγραφές που
|
||
αντιστοιχούν στο instance της εφαρμογής που τρέχετε —
|
||
στη περίπτωση μας, το <literal>00</literal>. Δεν θα υπάρξει κανένα
|
||
πρόβλημα αν προσθέσετε όλες τις εγγραφές από το
|
||
<literal>00</literal> ως το <literal>99</literal> για
|
||
τα <literal>dp</literal>, <literal>gw</literal>,
|
||
<literal>sp</literal> και <literal>ms</literal>). Αν πρόκειται να
|
||
χρησιμοποιήσετε <application>SAProuter</application> ή χρειάζεστε
|
||
πρόσβαση στο <application>&sap;</application> OSS, θα χρειαστείτε
|
||
και την εγγραφή <literal>99</literal>, μια και η θύρα 3299
|
||
χρησιμοποιείται συχνά από την διεργασία του
|
||
<application>SAProuter</application>:</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>Απαραίτητες Τοπικές Ρυθμίσεις</title>
|
||
<indexterm><primary>locale</primary></indexterm>
|
||
|
||
<para>Το <application>&sap;</application> απαιτεί τουλάχιστον δύο
|
||
τοπικές ρυθμίσεις (locales) που δεν ανήκουν στις προεπιλεγμένες που
|
||
εγκαθιστά το RedHat. Το &sap; προσφέρει τα απαιτούμενα RPMs για να
|
||
τα κατεβάσετε από τον δικό τους διακομιστή FTP (ο οποίος είναι
|
||
διαθέσιμος μόνο αν είστε πελάτης με πρόσβαση OSS). Δείτε τη
|
||
σημείωση 0171356 για τη λίστα από πακέτα RPMs που χρειάζεστε.</para>
|
||
|
||
<para>Είναι επίσης εφικτό να δημιουργήσετε απλώς τους κατάλληλους
|
||
συνδέσμους (για παράδειγμα από τα <emphasis>de_DE</emphasis>
|
||
και <emphasis>en_US</emphasis>), αλλά προτείνουμε να μη κάνετε κάτι
|
||
τέτοιο αν πρόκειται για μηχάνημα παραγωγής (ωστόσο αυτό έχει μέχρι
|
||
στιγμής δουλέψει χωρίς πρόβλημα σε σύστημα IDES). Θα
|
||
χρειαστείτε τις ακόλουθες τοπικές ρυθμίσεις:</para>
|
||
|
||
<programlisting>de_DE.ISO-8859-1
|
||
en_US.ISO-8859-1</programlisting>
|
||
|
||
<para>Οι σύνδεσμοι μπορούν να δημιουργηθούν με τον ακόλουθο τρόπο:
|
||
</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>Αν οι σύνδεσμοι δεν υπάρχουν, θα δημιουργηθούν προβλήματα κατά
|
||
την εγκατάσταση. Αν αγνοήσετε αυτά τα προβλήματα, (ορίζοντας
|
||
το <literal>STATUS</literal> των προβληματικών βημάτων
|
||
σε <literal>OK</literal> στο
|
||
αρχείο <filename>CENTRDB.R3S</filename>), ίσως είναι αδύνατο να
|
||
συνδεθείτε στο <application>&sap;</application> χωρίς κάποια
|
||
επιπλέον προσπάθεια και σπατάλη χρόνου.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="kerneltuning">
|
||
<title>Ρύθμιση του Πυρήνα</title>
|
||
<indexterm><primary>kernel tuning</primary></indexterm>
|
||
|
||
<para>Το <application>&sap.r3;</application> χρειάζεται αρκετούς
|
||
πόρους από το σύστημά σας. Για αυτό το λόγο ορίσαμε τις παρακάτω
|
||
παραμέτρους στις ρυθμίσεις του πυρήνα:</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>Οι ελάχιστες τιμές που θέτουμε προέρχονται από τη τεκμηρίωση του
|
||
&sap;. Μια και δεν υπάρχουν οδηγίες για Linux, για περισσότερες
|
||
πληροφορίες, ρίξτε μια ματιά σε αυτές για το HP-UX (32-bit). Μια
|
||
και το σύστημα για την εγκατάσταση του 4.6C SR2 έχει περισσότερη
|
||
μνήμη, τα διαμοιραζόμενα τμήματα μπορούν να είναι μεγαλύτερα, τόσο
|
||
για το <application>&sap;</application> όσο και για την
|
||
<application>&oracle;</application>. Επομένως, επιλέξτε έναν
|
||
μεγαλύτερο αριθμό για τα shared memory pages.</para>
|
||
|
||
<note>
|
||
<para>Με την προεπιλεγμένη εγκατάσταση του &os; σε &i386;, αφήστε
|
||
τα <literal>MAXDSIZ</literal> και <literal>DFLDSIZ</literal> στο
|
||
1 GB το πολύ. Διαφορετικά, μπορεί να δείτε να
|
||
εμφανίζονται περίεργα σφάλματα όπως <errorname>ORA-27102: out of
|
||
memory</errorname> και <errorname>Linux Error: 12: Cannot allocate
|
||
memory</errorname>
|
||
</para>
|
||
</note>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingsapr3">
|
||
<title>Εγκατάσταση του &sap.r3;</title>
|
||
|
||
<sect3 id="preparingsapcdroms">
|
||
<title>Προετοιμάζοντας τα &sap; CDROMs</title>
|
||
|
||
<para>Στη διαδικασία της εγκατάστασης εμπλέκονται αρκετά CDROMs. Αν
|
||
έχετε αρκετούς οδηγούς, θα μπορέσετε να τα προσαρτήσετε όλα με μιας
|
||
στο σύστημα σας. Εμείς αποφασίσαμε να αντιγράψουμε το περιεχόμενο
|
||
των CDROMs στους αντίστοιχους καταλόγους:</para>
|
||
|
||
<programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></programlisting>
|
||
|
||
<para>όπου <replaceable>cd-name</replaceable> αντιστοιχεί σε ένα από
|
||
τα <filename>KERNEL</filename>,
|
||
<filename>RDBMS</filename>, <filename>EXPORT1</filename>,
|
||
<filename>EXPORT2</filename>, <filename>EXPORT3</filename>,
|
||
<filename>EXPORT4</filename>, <filename>EXPORT5</filename> και
|
||
<filename>EXPORT6</filename> για την εγκατάσταση σε 4.6B/IDES, και
|
||
<filename>KERNEL</filename>, <filename>RDBMS</filename>,
|
||
<filename>DISK1</filename>, <filename>DISK2</filename>,
|
||
<filename>DISK3</filename>, <filename>DISK4</filename> και
|
||
<filename>LANG</filename> για την εγκατάσταση του 4.6C SR2. Όλα τα
|
||
ονόματα των αρχείων στα προσαρτημένα CDs θα πρέπει να είναι με
|
||
κεφαλαία, διαφορετικά κάντε χρήση της
|
||
επιλογής <option>-g</option> κατά την προσάρτηση. Χρησιμοποιείστε
|
||
λοιπόν τις παρακάτω εντολές:</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>Τρέξτε το Script της Εγκατάστασης</title>
|
||
|
||
<para>Αρχικά πρέπει να προετοιμάσετε τον
|
||
κατάλογο <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>Στη συνέχεια ξεκινήστε το script της εγκατάστασης, το οποίο θα
|
||
αντιγράψει όλα τα σχετικά αρχεία μέσα στον κατάλογο
|
||
<filename class="directory">install</filename>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/oracle/<replaceable>SID</replaceable>/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen>
|
||
|
||
<para>Η εγκατάσταση του IDES (4.6B) έρχεται με ένα πλήρως
|
||
προσαρμοσμένο σύστημα επίδειξης του &sap.r3;, έτσι υπάρχουν έξι
|
||
CD EXPORT αντί για τρία. Σε αυτό το σημείο το πρότυπο αρχείο
|
||
εγκατάστασης <filename>CENTRDB.R3S</filename> προορίζεται για την
|
||
εγκατάσταση του βασικού συστήματος (το ίδιο
|
||
το <application>&r3;</application> και τη βάση δεδομένων), όχι την
|
||
κεντρική εφαρμογή IDES, έτσι χρειάζεται να αντιγράψετε και το
|
||
αντίστοιχο <filename>CENTRDB.R3S</filename> από τον
|
||
κατάλογο <filename class="directory">EXPORT1</filename>, διαφορετικά
|
||
το <command>R3SETUP</command> θα ζητήσει μόνο τα τρία EXPORT CDs.
|
||
</para>
|
||
|
||
<para>Η νεότερη έκδοση <application>&sap; 4.6C SR2</application>
|
||
περιέχει τέσσερα EXPORT CD. Το αρχείο το οποίο ελέγχει τα βήματα της
|
||
εγκατάστασης είναι το <filename>CENTRAL.R3S</filename>. Σε αντίθεση
|
||
με τις προηγούμενες εκδόσεις, δεν υπάρχουν διαφορετικές μορφές
|
||
εγκατάστασης, για κεντρική εγκατάσταση με ή χωρίς βάση δεδομένων.
|
||
Το <application>&sap;</application> χρησιμοποιεί
|
||
πλέον μια διαφορετική διαδικασία για την εγκατάσταση της βάσης
|
||
δεδομένων. Αν θέλετε όμως να επανεκκινήσετε την εγκατάσταση
|
||
αργότερα, αρκεί να χρησιμοποιήσετε ξανά το αρχικό αρχείο.</para>
|
||
|
||
<para>Τόσο κατά τη διάρκεια όσο και μετά την εγκατάσταση,
|
||
το <application>&sap;</application> απαιτεί η εντολή
|
||
<command>hostname</command> να επιστρέφει μόνο το όνομα του
|
||
συστήματος σας και όχι το πλήρες όνομα (με τον τομέα). Επομένως,
|
||
είτε ρυθμίστε το όνομα με αυτό τον τρόπο, ή χρησιμοποιήστε κάποιο
|
||
alias δίνοντας <command>alias hostname='hostname -s'</command>
|
||
τόσο για τον
|
||
χρήστη <username>ora<replaceable>sid</replaceable></username> όσο
|
||
και για τον
|
||
χρήστη <username><replaceable>sid</replaceable>adm</username> (και
|
||
για τον <username>root</username> τουλάχιστον κατά την εγκατάσταση,
|
||
μιας και όλα τα βήματα γίνονται ως<username>root</username>). Είναι
|
||
επίσης πιθανό να τροποποιήσετε τα
|
||
αρχεία <filename>.profile</filename> και <filename>.login</filename>
|
||
των δύο χρηστών που δημιουργήθηκαν κατά τη διάρκεια εγκατάστασης του
|
||
<application>&sap;</application>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="startr3setup-46B">
|
||
<title>Εκκίνηση του <command>R3SETUP</command> 4.6B</title>
|
||
|
||
<para>Βεβαιωθείτε ότι το <envar>LD_LIBRARY_PATH</envar> έχει οριστεί
|
||
σωστά:</para>
|
||
|
||
<screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib</userinput></screen>
|
||
|
||
<para>Ξεκινήστε το <command>R3SETUP</command>
|
||
ως <username>root</username> από τον κατάλογο εγκατάστασης:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /oracle/IDS/sapreorg/install</userinput>
|
||
&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
|
||
|
||
<para>Το script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές
|
||
φαίνονται σε αγκύλες,και ακολουθούνται από την τιμή που δόθηκε
|
||
ως είσοδος):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>Ερώτηση</entry>
|
||
<entry>Προεπιλογή</entry>
|
||
<entry>Είσοδος δεδομένων</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>Αν δεν έχετε αντιγράψει τα CDs σε διαφορετικούς καταλόγους,
|
||
τότε το πρόγραμμα εγκατάστασης
|
||
του <application>&sap;</application> δε θα μπορέσει να βρει τα CD τα
|
||
οποία χρειάζεται (και τα οποία αναγνωρίζονται από το
|
||
αρχείο <filename>LABEL.ASC</filename> που βρίσκεται μέσα σε αυτά)
|
||
και θα σας ζητηθεί να εισάγετε και προσαρτήσετε τα CD και να
|
||
επιβεβαιώσετε το σημείο προσάρτησης.</para>
|
||
|
||
<para>Το <filename>CENTRDB.R3S</filename> μπορεί όμως να παράγει
|
||
μερικά σφάλματα. Στη περίπτωσή μας, μας ζήτησε ξανά το EXPORT4 CD
|
||
αλλά μας έδειξε το σωστό κλειδί (6_LOCATION, μετά 7_LOCATION
|
||
κλπ.), και έτσι μπορείτε να συνεχίσετε βάζοντας τις σωστές τιμές.
|
||
</para>
|
||
|
||
<para>Εκτός από κάποια προβλήματα που αναφέρονται παρακάτω, η
|
||
εγκατάσταση θα πρέπει να κυλίσει ομαλά, μέχρι το σημείο που θα
|
||
χρειαστεί να εγκαταστήσετε τη βάση δεδομένων της &oracle;.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="startr3setup-46C">
|
||
<title>Εκκίνηση του <command>R3SETUP</command> 4.6C SR2</title>
|
||
|
||
<para>Βεβαιωθείτε ότι έχετε ορίσει σωστά
|
||
το <envar>LD_LIBRARY_PATH</envar>. Η τιμή της μεταβλητής είναι
|
||
διαφορετική από την αντίστοιχη της εγκατάστασης του 4.6B με την
|
||
<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>Ξεκινήστε το <command>R3SETUP</command>
|
||
ως <username>root</username> από τον κατάλογο εγκατάστασης:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /oracle/PRD/sapreorg/install</userinput>
|
||
&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
|
||
|
||
<para>Tο script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές
|
||
φαίνονται σε αγκύλες και ακολουθούνται από την πραγματική
|
||
είσοδο):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>Ερώτηση</entry>
|
||
<entry>Προεπιλογή</entry>
|
||
<entry>Εισαγωγή δεδομένων</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>Μέχρι στιγμής, η δημιουργία χρηστών εμφανίζει ένα σφάλμα κατά
|
||
τη διάρκεια της εγκατάστασης, στις φάσεις των OSUSERDBSID_IND_ORA
|
||
(για τη δημιουργία του
|
||
χρήστη <username>ora<replaceable>sid</replaceable></username>) και
|
||
OSUSERSIDADM_IND_ORA (για τη δημιουργία του
|
||
χρήστη <username><replaceable>sid</replaceable>adm</username>).
|
||
</para>
|
||
|
||
<para>Εκτός από μερικά προβλήματα που αναφέρονται παρακάτω, όλα
|
||
θα πρέπει να κυλήσουν ήρεμα μέχρι την εγκατάσταση της βάσης
|
||
δεδομένων &oracle;.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingoracle805">
|
||
<title>Εγκατάσταση της &oracle; 8.0.5</title>
|
||
|
||
<para>Παρακαλούμε, να δείτε τις αντίστοιχες σημειώσεις των &sap; και
|
||
&oracle; <filename>Readme</filename> σχετικά με τα προβλήματα που
|
||
μπορεί να προκύψουν κατά την εγκατάσταση του
|
||
<application>&oracle; DB</application> στο Linux. Τα περισσότερα,
|
||
αν όχι όλα, έχουν να κάνουν με ασυμβατότητα βιβλιοθηκών.</para>
|
||
|
||
<para>Για περισσότερες πληροφορίες σχετικά με την εγκατάσταση
|
||
της <application>&oracle;</application>, δείτε
|
||
το <link linkend="linuxemu-oracle">κεφάλαιο εγκατάστασης
|
||
της &oracle;.</link></para>
|
||
|
||
<sect3 id="installingtheoracle805withorainst">
|
||
<title>Εγκατάσταση του &oracle; 8.0.5 με
|
||
το <command>orainst</command></title>
|
||
|
||
<para>Αν πρόκειται να κάνετε χρήση της <application>&oracle;
|
||
8.0.5</application>, θα χρειαστείτε κάποιες επιπλέον βιβλιοθήκες
|
||
για επιτυχή επανασύνδεση (relinking), καθώς η
|
||
<application>&oracle; 8.0.5</application> είναι linked
|
||
με την παλιά έκδοση του glibc (RedHat 6.0), αλλά ήδη από το
|
||
RedHat 6.1 χρησιμοποιείται μια νέα έκδοση. Επομένως χρειάζεται να
|
||
εγκαταστήσετε επιπρόσθετα τα επόμενα πακέτα για να βεβαιωθείτε ότι
|
||
οι σύνδεσμοι θα δουλέψουν:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para><filename>compat-libs-5.2-2.i386.rpm</filename></para></listitem>
|
||
<listitem><para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para></listitem>
|
||
<listitem><para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para></listitem>
|
||
<listitem><para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para></listitem>
|
||
<listitem><para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Για περισσότερες πληροφορίες δείτε τα αντίστοιχα &sap; Notes ή
|
||
&oracle; <filename>Readme</filename>. Αν όμως δεν έχετε αυτή
|
||
την επιλογή (κατά τη διάρκεια της εγκατάστασης δεν είχαμε αρκετό
|
||
χρόνο να το ελέγξουμε), μπορείτε να χρησιμοποιήσετε τα αρχικά
|
||
εκτελέσιμα ή εκτελέσιμα τα οποία έχουν γίνει relink σε ένα κανονικό
|
||
σύστημα RedHat.</para>
|
||
|
||
<para>Για να μεταγλωττίσετε τον intelligent agent, πρέπει να έχετε
|
||
εγκατεστημένο το πακέτο RedHat Tcl. Αν δεν μπορείτε να
|
||
βρείτε το <filename>tcl-8.0.3-20.i386.rpm</filename>, τότε το
|
||
νεότερο <filename>tcl-8.0.5-30.i386.rpm</filename> για RedHat 6.1 θα
|
||
πρέπει επίσης να δουλέψει.</para>
|
||
|
||
<para>Με εξαίρεση το relinking, η διαδικασία εγκατάστασης είναι
|
||
σχετικά απλή:</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>Επιβεβαιώστε όλα τα μηνύματα πατώντας <keycap>Enter</keycap> έως
|
||
ότου το λογισμικό εγκατασταθεί. Δεν θα πρέπει να επιλέξετε όμως
|
||
το <emphasis>&oracle; On-Line Text Viewer</emphasis>, μιας και δεν
|
||
είναι διαθέσιμο για Linux. Στην περίπτωση αυτή, η
|
||
<application>&oracle;</application> προσπαθεί να κάνει relink με
|
||
το <command>i386-glibc20-linux-gcc</command>
|
||
αντί του διαθέσιμου <command>gcc</command>, <command>egcs</command>
|
||
ή <command>i386-redhat-linux-gcc</command>.</para>
|
||
|
||
<para>Λόγω έλλειψης χρόνου, αποφασίσαμε να χρησιμοποιήσουμε τα
|
||
έτοιμα εκτελέσιμα της έκδοσης <application>&oracle; 8.0.5
|
||
PreProduction</application>, μετά από μια αποτυχημένη προσπάθεια να
|
||
κάνουμε την έκδοση από το RDBMS CD να δουλέψει, και η εύρεση και
|
||
πρόσβαση στα σωστά RPMs εκείνη τη στιγμή ήταν σκέτος εφιάλτης.
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 id="installingtheoracle805preproduction">
|
||
<title>Εγκατάσταση του &oracle; 8.0.5 Pre-production Release για Linux
|
||
(Kernel 2.0.33)</title>
|
||
|
||
<para>Αυτή η εγκατάσταση είναι σχετικά εύκολη. Προσαρτήστε το CD και
|
||
ξεκινήστε το πρόγραμμα εγκατάστασης. Θα ερωτηθείτε στη συνέχεια για
|
||
τον αρχικό (home) κατάλογο της &oracle;, όπου και θα αντιγραφούν
|
||
όλα τα εκτελέσιμα. Ωστόσο δεν διαγράψαμε ότι απέμεινε από τις
|
||
προηγούμενες απόπειρες μας εγκατάστασης του RDBMS.</para>
|
||
|
||
<para>Στη συνέχεια, η βάση
|
||
δεδομένων <application>&oracle;</application> θα πρέπει να ξεκινήσει
|
||
δίχως προβλήματα.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingoracle817">
|
||
<title>Εγκατάσταση &oracle; 8.1.7 για Linux από Συμπιεσμένο Αρχείο
|
||
</title>
|
||
|
||
<para>Πάρτε το συμπιεσμένο αρχείο <filename>oracle81732.tgz</filename>
|
||
το οποίο δημιουργήσατε από τον κατάλογο εγκατάστασης ενός συστήματος
|
||
Linux, και αποσυμπιέστε το στο
|
||
<filename>/oracle/<replaceable>SID</replaceable>/817_32/</filename>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="continuewithsapr4installation">
|
||
<title>Συνέχεια της Εγκατάστασης του &sap.r3;</title>
|
||
|
||
<para>Αρχικά ελέγξτε τις ρυθμίσεις περιβάλλοντος των
|
||
χρηστών <username>idsamd</username>
|
||
(<replaceable>sid</replaceable>adm) και <username>oraids</username>
|
||
(ora<replaceable>sid</replaceable>). Θα πρέπει τώρα να έχουν και οι
|
||
δύο χρήστες τα
|
||
αρχεία <filename>.profile</filename>, <filename>.login</filename>
|
||
και <filename>.cshrc</filename> τα οποία όλα χρησιμοποιούν
|
||
το <command>hostname</command>. Σε περίπτωση που το όνομα του
|
||
συστήματος περιλαμβάνει και το domain, αντικαταστήστε
|
||
το <command>hostname</command> με το <command>hostname -s</command> σε
|
||
όλα τα αρχεία.</para>
|
||
|
||
<sect3 id="databaseload">
|
||
<title>Φόρτωση της Βάσης Δεδομένων</title>
|
||
|
||
<para>Στη συνέχεια, ανάλογα με το αν είχατε πριν επιλέξει έξοδο ή όχι,
|
||
μπορείτε είτε να ξεκινήσετε το <command>R3SETUP</command> από την
|
||
αρχή, ή να συνεχίσετε την εκτέλεση του. Το
|
||
<command>R3SETUP</command> θα δημιουργήσει και θα
|
||
φορτώσει τα αρχικά δεδομένα της βάσης (για 46B IDES, από τα EXPORT1
|
||
σε EXPORT6, για 46C από DISK1 σε DISK4) κάνοντας χρήση
|
||
του <command>R3load</command>.</para>
|
||
|
||
<para>Όταν η φόρτωση της βάσης δεδομένων ολοκληρωθεί (μπορεί να
|
||
χρειαστούν μερικές ώρες), θα χρειαστεί να ορίσετε μερικούς
|
||
κωδικούς. Για δοκιμαστικές εγκαταστάσεις, μπορείτε να
|
||
χρησιμοποιήσετε τους γνωστούς προεπιλεγμένους κωδικούς
|
||
(αν υπάρχει θέμα ασφάλειας, χρησιμοποιήστε διαφορετικούς!):
|
||
</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Ερώτηση</entry>
|
||
<entry>Είσοδος δεδομένων</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>Σε αυτό το σημείο είχαμε μερικά προβλήματα με την
|
||
εντολή <command>dipgntab</command> κατά την εγκατάσταση του
|
||
4.6B.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="listener">
|
||
<title>Listener</title>
|
||
|
||
<para>Ξεκινήστε τον <application>&oracle;</application> Listener ως
|
||
χρήστης <username>ora<replaceable>sid</replaceable></username> με
|
||
τον ακόλουθο τρόπο:</para>
|
||
|
||
<screen>&prompt.user; <userinput>umask 0; lsnrctl start</userinput></screen>
|
||
|
||
<para>Αν δε το κάνετε, μπορεί να σας εμφανιστεί το
|
||
σφάλμα <errorcode>ORA-12546</errorcode> καθώς στα sockets δεν θα
|
||
έχουν οριστεί οι κατάλληλες άδειες. Δείτε την Σημείωση 072984 του
|
||
&sap;.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="mnlstables">
|
||
<title>Ανανεώνοντας τους Πίνακες MNLS</title>
|
||
<para>Αν έχετε σκοπό να εισάγετε γλώσσες εκτός των Latin-1
|
||
στο <application>&sap;</application>, θα πρέπει να ανανεώσετε τους
|
||
πίνακες Multi National Language Support. Ατό περιγράφεται στα &sap;
|
||
OSS Notes 15023 και 45619. Μπορείτε όμως αν θέλετε να
|
||
παρακάμψετε αυτό το βήμα κατά την εγκατάσταση
|
||
του <application>&sap;</application>.</para>
|
||
|
||
<note>
|
||
<para>Ακόμη και αν δεν χρειάζεστε το MNLS, θα χρειαστεί να ελέγξετε
|
||
τον πίνακα TCPDB και να τον αρχικοποιήσετε, αν αυτό δεν έχει ήδη
|
||
γίνει. Δείτε στο &sap; τις σημειώσεις 0015023 και 0045619 για
|
||
περισσότερες πληροφορίες.</para>
|
||
</note>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="postinstallationsteps">
|
||
<title>Βήματα Μετά την Εγκατάσταση</title>
|
||
|
||
<sect3 id="requestsapr3licensekey">
|
||
<title>Άδεια χρήσης για το &sap.r3;</title>
|
||
|
||
<para>Θα πρέπει να ζητήσετε ένα Κλειδί Άδειας - License Key - για
|
||
το <application>&sap.r3;</application>. Το χρειάζεστε, μιας και η
|
||
προσωρινή άδεια που χρησιμοποιήσατε κατά την εγκατάσταση, έχει
|
||
ισχύ μόνο για τέσσερις εβδομάδες. Πρέπει πρώτα να αποκτήσετε το
|
||
hardware key. Συνδεθείτε ως χρήστης <username>idsadm</username>
|
||
και εκτελέστε το <command>saplicense</command>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -get</userinput></screen>
|
||
|
||
<para>Εκτελώντας το <command>saplicense</command> χωρίς παραμέτρους,
|
||
σας δίνει μια λίστα επιλογών. Όταν λάβετε το κλειδί άδειας,
|
||
μπορείτε να το εγκαταστήσετε με τον παρακάτω τρόπο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -install</userinput></screen>
|
||
|
||
<para>Στη συνέχεια, θα χρειαστεί να εισάγετε τις ακόλουθες τιμές:
|
||
</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>Δημιουργία Χρηστών</title>
|
||
|
||
<para>Δημιουργήστε έναν νέο χρήστη στο client 000 (για μερικές
|
||
εργασίες που χρειάζεται να γίνουν μέσα στο client 000, αλλά με
|
||
χρήστη διαφορετικό από τους <username>sap*</username>
|
||
και <username>ddic</username>). Ως όνομα χρήστη συνήθως επιλέγουμε
|
||
το <username>wartung</username> (ή <username>service</username> στα
|
||
Αγγλικά). Τα προφίλ που χρειάζονται είναι
|
||
τα <literal>sap_new</literal> και <literal>sap_all</literal>. Για
|
||
επιπλέον ασφάλεια, οι κωδικοί των προεπιλεγμένων χρηστών σε όλους
|
||
τους clients θα πρέπει να αλλαχθούν (αυτό περιλαμβάνει και τους
|
||
χρήστες <username>sap*</username> και <username>ddic</username>).
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 id="configtranssysprofileopermodesetc">
|
||
<title>Ρύθμιση των Transport System, Profile, Operation Modes, κλπ.
|
||
</title>
|
||
|
||
<para>Μέσα στο client 000, χρήστες εκτός των <username>ddic</username>
|
||
και <username>sap*</username>, μπορούν να κάνουν τουλάχιστον τα
|
||
ακόλουθα:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Εργασία</entry>
|
||
<entry>Transaction (Συναλλαγή)</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>Ρύθμιση του Transport System,
|
||
π.χ. ως <emphasis>Stand-Alone Transport Domain
|
||
Entity</emphasis></entry>
|
||
<entry>STMS</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Δημιουργία / τροποποίηση του Profile Συστήματος</entry>
|
||
<entry>RZ10</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Συντήρηση Operation Modes και Instances</entry>
|
||
<entry>RZ04</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Αυτό και όλα τα υπόλοιπα βήματα σχετικά με τις ρυθμίσεις μετά
|
||
την εγκατάσταση περιγράφονται στους οδηγούς εγκατάστασης
|
||
του <application>&sap;</application>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="editintsidsap">
|
||
<title>Τροποποίηση
|
||
του <filename>init<replaceable>sid</replaceable>.sap</filename>
|
||
(<filename>initIDS.sap</filename>)</title>
|
||
|
||
<para>Το αρχείο <filename>/oracle/IDS/dbs/initIDS.sap</filename>
|
||
περιέχει το αντίγραφο ασφαλείας του προφίλ
|
||
του <application>&sap;</application>. Εδώ χρειάζεται να ορίσετε το
|
||
μέγεθος της ταινίας που θα χρησιμοποιηθεί, τον τύπο συμπίεσης και
|
||
όλα τα σχετικά. Για να μπορέσουμε να το εκτελέσουμε με
|
||
το <command>sapdba</command> / <command>brbackup</command>,
|
||
αλλάξαμε τις παρακάτω τιμές:</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>Επεξηγήσεις:</para>
|
||
|
||
<para><varname>compress</varname>: Η ταινία που χρησιμοποιούμε είναι
|
||
μία HP DLT1 η οποία παρέχει συμπίεση μέσω υλικού.</para>
|
||
|
||
<para><varname>archive_function</varname>: Αυτό ορίζει τον
|
||
προεπιλεγμένο τρόπο με τον οποίο θα αποθηκεύονται τα αρχειοθετημένα
|
||
logs της &oracle;: τα νέα logs αποθηκεύονται στην ταινία, τα ήδη
|
||
αποθηκευμένα αποθηκεύονται ξανά και στη συνέχεια διαγράφονται.
|
||
Αυτό σας σώζει από τη ταλαιπωρία αν χρειαστεί να ανακτήσετε τη
|
||
βάση δεδομένων σε περίπτωση που μια από τις ταινίες έχει
|
||
πρόβλημα.</para>
|
||
|
||
<para><varname>cpio_flags</varname>: Προεπιλεγμένη είναι η χρήση
|
||
του <option>-B</option> το οποίο ορίζει το μέγεθος κάθε block στα
|
||
5120 Bytes. Για ταινίες DLT, η HP προτείνει το λιγότερο
|
||
32 K μέγεθος block, οπότε κι εμείς
|
||
δώσαμε <option>--block-size=128</option> για
|
||
64 K. Το <option>--format=newc</option> χρειάζεται διότι έχουμε
|
||
inode με αρίθμηση μεγαλύτερη από 65535. Η τελευταία
|
||
παράμετρος <option>--quiet</option> χρειάζεται γιατί διαφορετικά
|
||
το <command>brbackup</command> θα παραπονεθεί με
|
||
που το <command>cpio</command> εμφανίσει τον αριθμό των blocks που
|
||
έχουν αποθηκευτεί.</para>
|
||
|
||
<para><varname>cpio_in_flags</varname>: Τα Flags χρειάζονται
|
||
προκειμένου να φορτωθούν τα δεδομένα από τη ταινία. Η μορφή
|
||
ανιχνεύεται αυτόματα.</para>
|
||
|
||
<para><varname>tape_size</varname>: Η παράμερος αυτή δίνει χοντρικά το
|
||
μέγεθος χωρητικότητας της ταινίας. Για λόγους ασφάλειας
|
||
(χρησιμοποιούμε hardware συμπίεση), η τιμή της
|
||
παραμέτρου είναι λίγο μικρότερη από το πραγματικό μέγεθος.</para>
|
||
|
||
<para><varname>tape_address</varname>: Το όνομα συσκευής
|
||
(χωρίς δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί
|
||
με το <command>cpio</command>.</para>
|
||
|
||
<para><varname>tape_address_rew</varname>: Το όνομα συσκευής (με
|
||
δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί με το
|
||
<command>cpio</command>.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Ρυθμίσεις Μετά την Εγκατάσταση</title>
|
||
|
||
<para>Οι ακόλουθοι παράμετροι του <application>&sap;</application> θα
|
||
πρέπει να ρυθμιστούν μετά την εγκατάσταση (παραδείγματα για IDES
|
||
46B, και μνήμη 1 GB):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Όνομα</entry>
|
||
<entry>Τιμή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>ztta/roll_extension</entry>
|
||
<entry>250000000</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>abap/heap_area_dia</entry>
|
||
<entry>300000000</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>abap/heap_area_nondia</entry>
|
||
<entry>400000000</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>em/initial_size_MB</entry>
|
||
<entry>256</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>em/blocksize_kB</entry>
|
||
<entry>1024</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>ipc/shm_psize_40</entry>
|
||
<entry>70000000</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>&sap; Σημείωση 0013026:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Όνομα</entry>
|
||
<entry>Τιμή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>ztta/dynpro_area</entry>
|
||
<entry>2500000</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>&sap; Σημείωση 0157246:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Όνομα</entry>
|
||
<entry>Τιμή</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>Με τις παραπάνω παραμέτρους σε ένα σύστημα με 1 gigabyte
|
||
μνήμης, μπορεί να δείτε κάτι σαν το παρακάτω όσο αφορά την
|
||
κατανάλωση μνήμης:</para>
|
||
|
||
<programlisting>Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free</programlisting>
|
||
</note>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="problemsduringinstallation">
|
||
<title>Προβλήματα κατά την Εγκατάσταση</title>
|
||
|
||
<sect3 id="restartr3setup">
|
||
<title>Επανεκκίνηση του <command>R3SETUP</command> μετά τη Διόρθωση
|
||
Προβλήματος</title>
|
||
|
||
<para>Το <command>R3SETUP</command> θα σταματήσει αν αντιληφθεί
|
||
κάποιο σφάλμα. Αν κοιτάξετε καλά τα logfiles και διορθώσετε το
|
||
σφάλμα, θα πρέπει να ξεκινήσετε το <command>R3SETUP</command> από
|
||
την αρχή, συνήθως επιλέγοντας REPEAT στο τελευταίο βήμα για το
|
||
οποίο παραπονέθηκε το <command>R3SEΤUP</command>.</para>
|
||
|
||
<para>Για να επανεκκινήσετε το <command>R3SETUP</command>, απλώς δώστε
|
||
τη παρακάτω εντολή με το αντίστοιχο
|
||
αρχείο <filename>R3S</filename>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen>
|
||
|
||
<para>για την έκδοση 4.6B, ή την εντολή</para>
|
||
|
||
<screen>&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen>
|
||
|
||
<para>για την έκδοση 4.6C, χωρίς να έχει σημασία αν το σφάλμα
|
||
προκλήθηκε από το <filename>CENTRAL.R3S</filename> ή
|
||
το <filename>DATABASE.R3S</filename>.</para>
|
||
|
||
<note>
|
||
<para>Σε κάποια στάδια, το <command>R3SETUP</command> υποθέτει ότι
|
||
τόσο η βάση δεδομένων όσο και το <application>&sap;</application>
|
||
έχουν ξεκινήσει και εκτελούνται κανονικά (καθώς πρόκειται για
|
||
βήματα που έχουν ήδη ολοκληρωθεί). Αν προκύψουν λάθη, και για
|
||
παράδειγμα δεν μπόρεσε να ξεκινήσει η βάση, ξεκινήστε τη βάση και
|
||
το <application>&sap;</application> με το χέρι, αφού διορθώσετε
|
||
τα λάθη και πριν εκτελέσετε ξανά το <command>R3SETUP</command>.
|
||
</para>
|
||
|
||
<para>Μη ξεχάσετε επίσης να εκκινήσετε το
|
||
<application>&oracle;</application> listener (εκτελέστε το ως
|
||
χρήστης <username>ora<replaceable>sid</replaceable></username>
|
||
με <command>umask 0; lsnrctl start</command>) αν είχε διακοπεί
|
||
και αυτό (για παράδειγμα σε μια αναγκαία επανεκκίνηση του
|
||
συστήματος).</para>
|
||
</note>
|
||
</sect3>
|
||
|
||
<sect3 id="indoraduringduringr3setup">
|
||
<title>OSUSERSIDADM_IND_ORA κατά το <command>R3SETUP</command></title>
|
||
|
||
<para>Αν το <command>R3SETUP</command> παραπονιέται σε αυτό το
|
||
σημείο, τροποποιήστε το πρότυπο αρχείο
|
||
του <command>R3SETUP</command> που χρησιμοποιείται εκείνη τη στιγμή
|
||
(το <filename>CENTRDB.R3S</filename> (4.6B) ή κάποιο από
|
||
τα <filename>CENTRAL.R3S</filename> ή
|
||
το <filename>DATABASE.R3S</filename> (4.6C)). Βρείτε
|
||
το <literal>[OSUSERSIDADM_IND_ORA]</literal> ή ψάξτε μέσα στο αρχείο
|
||
για τη μοναδική εγγραφή <literal>STATUS=ERROR</literal> και
|
||
προσθέστε τα παρακάτω:</para>
|
||
|
||
<programlisting>HOME=/home/<replaceable>sid</replaceable>adm (was empty)
|
||
STATUS=OK (had status ERROR)
|
||
</programlisting>
|
||
|
||
<para>Στη συνέχεια μπορείτε να ξεκινήσετε και πάλι
|
||
το <command>R3SETUP</command>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="indoraduringr3setup">
|
||
<title>OSUSERDBSID_IND_ORA κατά το <command>R3SETUP</command></title>
|
||
|
||
<para>Πιθανό είναι να υπάρχει πρόβλημα και σε αυτό το βήμα με
|
||
το <command>R3SETUP</command>. Το πρόβλημα εδώ είναι παρόμοιο με το
|
||
προηγούμενο, του OSUSERSIDADM_IND_ORA. Απλά τροποποιήστε το αρχείο
|
||
προτύπου που χρησιμοποιείτε με το <command>R3SETUP</command>
|
||
(<filename>CENTRDB.R3S</filename> (4.6B) ή κάποιο από
|
||
τα <filename>CENTRAL.R3S</filename>
|
||
ή <filename>DATABASE.R3S</filename> (4.6C)). Βρείτε
|
||
το <literal>[OSUSERDBSID_IND_ORA]</literal> ή ψάξτε μέσα στο αρχείο
|
||
για την μοναδική εγγραφή <literal>STATUS=ERROR</literal> και
|
||
προσθέστε τα παρακάτω:</para>
|
||
|
||
<programlisting>STATUS=OK</programlisting>
|
||
|
||
<para>Τώρα τρέξτε ξανά το <command>R3SETUP</command>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="oraviewvrffilenotfound">
|
||
<title><errorname>oraview.vrf FILE NOT FOUND</errorname> κατά τη διάρκεια Εγκατάστασης της &oracle;</title>
|
||
|
||
<para>Το σφάλμα αυτό σημαίνει ότι έχετε επιλέξει
|
||
το <emphasis>&oracle; On-Line Text Viewer</emphasis> πριν ξεκινήσετε
|
||
την εγκατάσταση. Η επιλογή αυτή είναι προεπιλεγμένη, παρ' όλο που
|
||
δεν είναι διαθέσιμη στο Linux. Αφαιρέστε λοιπόν αυτή την επιλογή
|
||
από το μενού εγκατάστασης και ξεκινήστε ξανά.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="textenvincalid">
|
||
<title><errorname>TEXTENV_INVALID</errorname> κατά την Εκτέλεση <command>R3SETUP</command>, του RFC ή του SAPgui</title>
|
||
|
||
<para>Αν βρεθείτε αντιμέτωποι με αυτό το σφάλμα, τότε δεν έχετε τις
|
||
σωστές τοπικές ρυθμίσεις. Η σημείωση 0171356 του &sap; αναφέρει
|
||
όλα τα RPMs που χρειάζονται να εγκατασταθούν
|
||
(π.χ. <filename>saplocales-1.0-3</filename>,
|
||
<filename>saposcheck-1.0-1</filename> για RedHat 6.1). Στην
|
||
περίπτωση που αγνοήσατε όλα τα σχετικά λάθη, και αν ακόμη έχετε
|
||
ορίσει το <literal>STATUS</literal> από <literal>ERROR</literal>
|
||
σε <literal>OK</literal> (στο <filename>CENTRDB.R3S</filename>) κάθε
|
||
φορά που παραπονιόταν το <command>R3SETUP</command> και απλώς
|
||
το ξεκινούσατε από την αρχή, το <application>&sap;</application>
|
||
δεν θα ρυθμιστεί σωστά και δεν θα μπορείτε να συνδεθείτε στο
|
||
σύστημα μέσω του <application>SAPgui</application>, ακόμη και αν το
|
||
σύστημα σας έχει ξεκινήσει. Προσπαθώντας να συνδεθούμε με το παλιό
|
||
<application>SAPgui</application> Linux, εμφανίστηκε το παρακάτω
|
||
σφάλμα:</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>Η συμπεριφορά αυτή οφείλεται στο ότι
|
||
το <application>&sap.r3;</application> δεν μπορεί να ορίσει σωστά
|
||
τις τοπικές ρυθμίσεις και δεν μπορεί στη συνέχεια να ρυθμίσει τον
|
||
εαυτό του (ελλειπή δεδομένα στη βάση δεδομένων). Για να μπορέσετε να
|
||
συνδεθείτε προσθέστε τις παρακάτω καταχωρήσεις
|
||
στο <filename>DEFAULT.PFL</filename> (δείτε Σημείωση
|
||
0043288):</para>
|
||
|
||
<programlisting>abap/set_etct_env_at_new_mode = 0
|
||
install/collate/active = 0
|
||
rscp/TCP0B = TCP0B</programlisting>
|
||
|
||
<para>Ξεκινήστε ξανά το <application>&sap;</application>. Τώρα
|
||
μπορείτε να συνδεθείτε ακόμη και αν οι ρυθμίσεις χώρας και γλώσσας
|
||
δε δουλεύουν όπως θα έπρεπε. Αφού διορθώσετε τις ρυθμίσεις της
|
||
χώρας (και ορίσετε τις σωστές τοπικές ρυθμίσεις), μπορείτε να
|
||
αφαιρέσετε τα παραπάνω από το <filename>DEFAULT.PFL</filename> και
|
||
να εκτελέσετε το <application>&sap;</application> από την αρχή.
|
||
</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="ora-00001">
|
||
<title><errorcode>ORA-00001</errorcode></title>
|
||
|
||
<para>Το σφάλμα αυτό το συναντήσαμε μόνο με το <application>&oracle;
|
||
8.1.7</application> στο &os;. Ο λόγος ήταν ότι η
|
||
βάση <application>&oracle;</application> δεν μπορούσε να ορίσει τις
|
||
σωστές παραμέτρους για την εκκίνησή της με αποτέλεσμα να κολλάει,
|
||
αφήνοντας σηματοφορείς και κοινόχρηστη μνήμη στο σύστημα. Η επόμενη
|
||
προσπάθεια να ξεκινήσουμε τη βάση δεδομένων μας εμφάνισε το
|
||
σφάλμα <errorcode>ORA-00001</errorcode>.</para>
|
||
|
||
<para>Βρείτε τους με την εντολή <command>ipcs -a</command> και
|
||
αφαιρέστε τους με την <command>ipcrm</command>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="ora-00445pmon">
|
||
<title><errorcode>ORA-00445</errorcode> (Background Process PMON Did
|
||
Not Start)</title>
|
||
|
||
<para>Το σφάλμα αυτό μπορεί να εμφανιστεί με το <application>&oracle;
|
||
8.1.7</application> όταν η βάση δεδομένων έχει εκκινηθεί με το
|
||
script <command>startsap</command> (για
|
||
παράδειγμα <command>startsap_majestix_00</command>) και σαν
|
||
χρήστης <username>prdadm</username>.</para>
|
||
|
||
<para>Μια πιθανή λύση είναι να ξεκινήσετε τη βάση ως χρήστης
|
||
<username>oraprd</username> και μέσω του
|
||
<command>svrmgrl</command>:</para>
|
||
|
||
<screen>&prompt.user; <userinput>svrmgrl</userinput>
|
||
SVRMGR> <userinput>connect internal;</userinput>
|
||
SVRMGR> <userinput>startup</userinput>;
|
||
SVRMGR> <userinput>exit</userinput></screen>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="ora-12546">
|
||
<title><errorcode>ORA-12546</errorcode> (Ξεκινήστε τον Listener με
|
||
τις Σωστές Άδειες)</title>
|
||
|
||
<para>Ξεκινήστε τον <application>&oracle;</application> listener ως
|
||
χρήστης <username>oraids</username>, με τις ακόλουθες εντολές:
|
||
</para>
|
||
|
||
<screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen>
|
||
|
||
<para>Διαφορετικά μπορεί να εμφανιστεί το
|
||
σφάλμα <errorcode>ORA-12546</errorcode> που σημαίνει ότι τα
|
||
sockets δεν έχουν σωστές άδειες. Δείτε τη σημείωση 0072984 του
|
||
&sap;.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="ora-27102">
|
||
<title><errorcode>ORA-27102</errorcode> (Έλλειψη μνήμης)</title>
|
||
|
||
<para>Το πρόβλημα αυτό παρουσιάστηκε όταν χρησιμοποιήσαμε τιμές
|
||
μεγαλύτερες του 1 GB (1024X1024X1024) στις μεταβλητές
|
||
<literal>MAXDSIZ</literal> και <literal>DFLDSIZ</literal>.
|
||
Επιπλέον, μας εμφανίστηκε το σφάλμα <errorname>Linux Error 12:
|
||
Cannot allocate memory</errorname>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="dipgntabindind">
|
||
<title>[DIPGNTAB_IND_IND] κατά την Εκτέλεση του <command>R3SETUP</command></title>
|
||
|
||
<para>Σε γενικές γραμμές, δείτε τη σημείωση 0130581 του &sap;
|
||
(<command>R3SETUP</command> step <literal>DIPGNTAB</literal>
|
||
terminates). Κατά την εγκατάσταση IDES, για κάποιο
|
||
λόγο η διαδικασία εγκατάστασης δε χρησιμοποιούσε το σωστό όνομα
|
||
συστήματος του <application>&sap;</application> <quote>IDS</quote>,
|
||
αλλά το κενό <literal>""</literal>. Αυτό οδηγεί σε κάποια
|
||
μικρά προβλήματα με τη πρόσβαση στους καταλόγους μια και τα
|
||
μονοπάτια δημιουργούνται δυναμικά με τη χρήση
|
||
του <replaceable>SID</replaceable> (στη περίπτωσή μας IDS). Πράγμα
|
||
που σημαίνει ότι αντί να γίνει η πρόσβαση στο:</para>
|
||
|
||
<programlisting>/usr/sap/IDS/SYS/...
|
||
/usr/sap/IDS/DVMGS00</programlisting>
|
||
|
||
<para>θα προσπαθήσει να γίνει στο:</para>
|
||
|
||
<programlisting>/usr/sap//SYS/...
|
||
/usr/sap/D00</programlisting>
|
||
|
||
<para>Για να συνεχίσουμε με την εγκατάσταση, δημιουργήσαμε έναν
|
||
σύνδεσμο και έναν επιπλέον κατάλογο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>pwd</userinput>
|
||
/compat/linux/usr/sap
|
||
&prompt.root; <userinput>ls -l</userinput>
|
||
total 4
|
||
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
|
||
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
|
||
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
|
||
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
|
||
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans</screen>
|
||
|
||
<para>Το πρόβλημα αυτό το είδαμε επίσης στις σημειώσεις 0029227 και
|
||
0008401 του &sap;. Δεν αντιμετωπίσαμε όμως κανένα από αυτά τα
|
||
προβλήματα με την εγκατάσταση του <application>&sap;
|
||
4.6C</application>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="rfcrswboiniindind">
|
||
<title>[RFCRSWBOINI_IND_IND] κατά την Εκτέλεση του <command>R3SETUP</command></title>
|
||
|
||
<para>Το σφάλμα αυτό εμφανίστηκε κατά την εγκατάσταση
|
||
του <application>&sap; 4.6C</application>, και ήταν το αποτέλεσμα
|
||
ενός άλλου σφάλματος που προέκυψε νωρίτερα στην εγκατάσταση. Σε
|
||
τέτοιες περιπτώσεις θα πρέπει να δείτε τα αντίστοιχα logfiles και να
|
||
διορθώσετε το αρχικό πρόβλημα.
|
||
</para>
|
||
|
||
<para>Αν αφού ελέγξετε τα logfiles διαπιστώσετε ότι το σφάλμα είναι
|
||
πράγματι αυτό (κοιτάξτε τις σημειώσεις του &sap;), μπορείτε να
|
||
ορίσετε το <literal>STATUS</literal> σε αυτό το βήμα
|
||
από <literal>ERROR</literal> σε <literal>OK</literal> (στο
|
||
αρχείο <filename>CENTRDB.R3S</filename>) και να εκτελέσετε ξανά
|
||
το <command>R3SETUP</command>. Μετά την εγκατάσταση, πρέπει να
|
||
εκτελέσετε το <literal>RSWBOINS</literal> από τη συναλλαγή
|
||
SE38. Δείτε τη σημείωση 0162266 του &sap; για
|
||
τα <literal>RFCRSWBOINI</literal>
|
||
και <literal>RFCRADDBDIF</literal>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="rfcraddbdifindind">
|
||
<title>[RFCRADDBDIF_IND_IND] κατά την Εκτέλεση <command>R3SETUP</command></title>
|
||
|
||
<para>Όπως και πριν, και εδώ ισχύει η ίδια λογική: σιγουρευτείτε ποιο
|
||
είναι το πρωταρχικό σφάλμα κοιτάζοντας τα logfiles.</para>
|
||
|
||
<para>Αν επιβεβαιώσετε ότι η σημείωση του &sap; 0162266
|
||
ανταποκρίνεται στο πρόβλημά σας, απλά
|
||
ορίστε το <literal>STATUS</literal> σε αυτό το βήμα
|
||
από <literal>ERROR</literal> σε <literal>OK</literal> (στο
|
||
αρχείο <filename>CENTRDB.R3S</filename>) και τρέξτε πάλι
|
||
το <command>R3SETUP</command>. Μετά την εγκατάσταση, πρέπει να
|
||
εκτελέσετε το <literal>RADDBDIF</literal> από τη συναλλαγή
|
||
SE38.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="sigactionsig31">
|
||
<title><errorcode>sigaction sig31: File size limit exceeded</errorcode></title>
|
||
|
||
<para>Το σφάλμα αυτό μπορεί να εμφανιστεί κατά την εκκίνηση των
|
||
διεργασιών του <application>&sap;</application>
|
||
<emphasis>disp+work</emphasis>. Αν ξεκινήσετε
|
||
το <application>&sap;</application> με το
|
||
script <command>startsap</command>, οι υποδιεργασίες θα αρχίσουν
|
||
μόνες τους, ξεκινώντας τις υπόλοιπες διεργασίες που απαιτούνται από
|
||
το <application>&sap;</application>. Αυτό έχει ως αποτέλεσμα το
|
||
ίδιο το script να μην γνωρίζει αν κάτι πήγε στραβά.</para>
|
||
|
||
<para>Για να ελέγξετε αν όντως ξεκίνησαν σωστά οι διεργασίες
|
||
του <application>&sap;</application>, ρίξτε μια ματιά στη λίστα
|
||
διεργασιών με την εντολή
|
||
<command>ps ax | grep <replaceable>SID</replaceable></command>, η
|
||
οποία θα σας επιστρέψει μιας λίστα με όλες τις διεργασίες από
|
||
τα <application>&oracle;</application>
|
||
και <application>&sap;</application>. Αν φαίνεται σαν να λείπουν
|
||
μερικές διεργασίες, ή αν δεν μπορείτε να συνδεθείτε
|
||
στο <application>&sap;</application>, κοιτάξτε τα αντίστοιχα
|
||
logfiles τα οποία μπορούν να βρεθούν στον
|
||
κατάλογο <filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename>.
|
||
Τα αρχεία που πρέπει να κοιτάξετε είναι
|
||
τα <filename>dev_ms</filename>
|
||
και <filename>dev_disp</filename>.</para>
|
||
|
||
<para>Το Signal 31 θα εμφανιστεί αν η ποσότητα της κοινής μνήμης που
|
||
χρησιμοποιείται από τα <application>&oracle;</application>
|
||
και <application>&sap;</application> ξεπεράσει το μέγεθος που έχει
|
||
ήδη οριστεί κατά τη ρύθμιση του πυρήνα. Με το να ορίσετε μια
|
||
μεγαλύτερη τιμή θα μπορέσετε να προσπεράσετε το πρόβλημα
|
||
αυτό:</para>
|
||
|
||
<programlisting># μεγαλύτερη μνήμη για συστήματα παραγωγής 46C:
|
||
options SHMMAXPGS=393216
|
||
# μικρότερη μνήμη για συστήματα 46B:
|
||
#options SHMMAXPGS=262144</programlisting>
|
||
</sect3>
|
||
|
||
<sect3 id="saposcolfails">
|
||
<title>Ανεπιτυχής Εκκίνηση του <command>saposcol</command></title>
|
||
|
||
<para>Υπάρχουν επίσης μερικά προβλήματα με το
|
||
πρόγραμμα <command>saposcol</command> (έκδοση 4.6D).
|
||
Το <application>&sap;</application> χρησιμοποιεί
|
||
το <command>saposcol</command> για να συλλέξει δεδομένα σχετικά με
|
||
τις επιδόσεις του συστήματος. Το πρόγραμμα αυτό δεν το χρειάζεστε
|
||
για να εκτελέσετε το <application>&sap;</application>, οπότε μπορεί
|
||
να θεωρηθεί ως μικρότερη σημασίας. Παλαιότερες εκδόσεις (4.6B)
|
||
δουλεύουν, αλλά δε συλλέγουν όλα τα δεδομένα (πολλές κλήσεις
|
||
επιστρέφουν 0, για παράδειγμα η χρήση της CPU).</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-advanced">
|
||
<title>Προχωρημένα Θέματα</title>
|
||
|
||
<para>Αν έχετε την απορία πως λειτουργεί η συμβατότητα με εφαρμογές Linux,
|
||
τότε θα πρέπει να διαβάσετε τη παρακάτω ενότητα. Τα περισσότερα από όσα
|
||
έχουν γραφτεί είναι βασισμένα στην &a.chat; και έχουν γραφτεί από τον
|
||
Terry Lambert <email>tlambert@primenet.com</email> (Message ID:
|
||
<literal><199906020108.SAA07001@usr09.primenet.com></literal>).
|
||
</para>
|
||
|
||
<sect2>
|
||
<title>Πως Λειτουργεί;</title>
|
||
<indexterm><primary>execution class loader</primary></indexterm>
|
||
|
||
<para>Το &os; περιέχει ένα επίπεδο αφαίρεσης (abstraction) που
|
||
ονομάζεται <quote>execution class loader</quote>. Αυτό βασίζεται στο
|
||
&man.execve.2;.</para>
|
||
|
||
<para>Αυτό που συμβαίνει είναι ότι το &os; έχει μια λίστα φορτωτών
|
||
(loaders), αντί για ένα που να καταφεύγει σε περίπτωση αποτυχίας
|
||
στο <literal>#!</literal> για να τρέξει κάποιο shell interpreter ή
|
||
shell script.</para>
|
||
|
||
<para>Ιστορικά, ο μόνος φορτωτής στη πλατφόρμα του &unix; έλεγχε τον
|
||
μαγικό αριθμό (γενικά τα πρώτα 4 ή 8 bytes του αρχείου) για να δει αν
|
||
είναι κάποιο εκτελέσιμο / εφαρμογή γνωστό στο σύστημα, και στην
|
||
περίπτωση αυτή να καλέσει τον αντίστοιχο φορτωτή.</para>
|
||
|
||
<para>Αν το αρχείο δεν ήταν εκτελέσιμο με βάση τον τύπο του συστήματος,
|
||
η κλήση στο &man.execve.2; επέστρεφε κάποιο σφάλμα, και το shell
|
||
προσπαθούσε να εκτελέσει το αρχείο σαν shell script.</para>
|
||
|
||
<para>Η γενική ιδέα ήταν <quote>αν δεν είναι εκτελέσιμο,
|
||
προσπάθησε να το τρέξεις ως shell script με βάση το τρέχον shell
|
||
</quote>.</para>
|
||
|
||
<para>Αργότερα, βρέθηκε ένας έξυπνος τρόπος ώστε το &man.sh.1; να
|
||
ελέγχει τους πρώτους δύο χαρακτήρες, και αν ήταν
|
||
<literal>:\n</literal>, τότε καλούσε το shell &man.csh.1;
|
||
(πιστεύουμε πως η λύση αυτή βρέθηκε αρχικά από τη SCO).</para>
|
||
|
||
<para>Αυτό που κάνει τώρα το &os; είναι να διατρέχει τη λίστα με όλους
|
||
τους φορτωτές, με ένα γενικό φορτωτή <literal>#!</literal> ο οποίος
|
||
αναγνωρίζει ως διερμηνέα (interpreter) τους χαρακτήρες από το επόμενο
|
||
κενό μετά το <literal>!</literal> και μέχρι το τέλος, ενώ αν δεν
|
||
αναγνωριστεί κάποιος, χρησιμοποιείται ως έσχατη λύση το
|
||
<filename>/bin/sh</filename>.</para>
|
||
|
||
<indexterm><primary>ELF</primary></indexterm>
|
||
<para>Για την υποστήριξη του Linux ABI, το &os; βλέπει τον μαγικό
|
||
αριθμό του ELF binary (δε αναγνωρίζει τη διαφορά ανάμεσα σε
|
||
&os;, &solaris;, Linux, ή κάποιο άλλο λειτουργικό σύστημα το οποίο
|
||
χρησιμοποιεί αρχεία τύπου ELF).</para>
|
||
|
||
<indexterm><primary>Solaris</primary></indexterm>
|
||
<para>Ο φορτωτής ELF κοιτάει για ένα ειδικό <emphasis>brand</emphasis>,
|
||
το οποίο είναι μια ενότητα σχολίων μέσα στο ELF image, και το οποίο
|
||
δεν υπάρχει σε ELF binaries για SVR4/&solaris;</para>
|
||
|
||
<para>Για να λειτουργήσουν τα εκτελέσιμα του Linux, θα πρέπει να
|
||
γίνουν <emphasis>branded</emphasis> (μαρκαριστούν) ως
|
||
<literal>Linux</literal> μέσω της &man.brandelf.1;:</para>
|
||
|
||
<screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
|
||
|
||
<para>Όταν γίνει αυτό, ο φορτωτής ELF θα βλέπει το
|
||
<literal>Linux</literal> brand πάνω στο αρχείο.</para>
|
||
<indexterm>
|
||
<primary>ELF</primary>
|
||
<secondary>branding</secondary>
|
||
</indexterm>
|
||
|
||
<para>Όταν ο φορτωτής ELF δει το <literal>Linux</literal> brand, θα
|
||
αντικαταστήσει έναν δείκτη μέσα στη δομή <literal>proc</literal>.
|
||
Όλες οι κλήσεις του συστήματος ταξινομούνται μέσα από αυτόν τον
|
||
δείκτη (σε ένα παραδοσιακό σύστημα &unix;, ο δείκτης θα ήταν ο
|
||
πίνακας <literal>sysent[]</literal>, που περιέχει τις κλήσεις
|
||
του συστήματος (system calls)). Επιπλέον, η διεργασία σημειώνεται για
|
||
ειδική μεταχείριση του trap vector και άλλες (μικρές) διορθώσεις,
|
||
τις οποίες χειρίζεται το άρθρωμα πυρήνα της συμβατότητας Linux.</para>
|
||
|
||
<para>Το system call vector του Linux περιέχει, μεταξύ άλλων, μια λίστα
|
||
με τα δεδομένα του <literal>sysent[]</literal> των οποίων
|
||
οι διευθύνσεις βρίσκονται μέσα στο άρθρωμα του πυρήνα.</para>
|
||
|
||
<para>Όταν γίνεται μια κλήση συστήματος από μια εφαρμογή Linux, ο
|
||
κώδικας (trap code) τροποποιεί τον δείκτη της μέσω της δομής που έχει
|
||
εγγραφεί στο <literal>proc</literal>, και αλλάζει την διεύθυνση ώστε
|
||
να δείχνει στο σημείο εισόδου της συνάρτησης του Linux, και όχι του
|
||
&os;.</para>
|
||
|
||
<para>Επίσης, το σύστημα συμβατότητας με Linux μπορεί και προσαρμόζει
|
||
δυναμικά τις τοποθεσίες αναζήτησης. Ουσιαστικά αυτό κάνει και η
|
||
επιλογή <option>union</option> κατά την προσάρτηση ενός συστήματος
|
||
αρχείων (<emphasis>δεν</emphasis> εννοούμε εδώ το σύστημα
|
||
αρχείων <literal>unionfs</literal>!). Αρχικά, γίνεται απόπειρα να
|
||
βρεθεί το αρχείο στον κατάλογο
|
||
<filename>/compat/linux/<replaceable>original-path</replaceable></filename>, <emphasis>και μόνο</emphasis>
|
||
αν αυτό αποτύχει, θα γίνει αναζήτηση στον κατάλογο
|
||
<filename>/<replaceable>original-path</replaceable></filename>. Με
|
||
τον τρόπο αυτό σιγουρεύουμε ότι τα εκτελέσιμα που χρειάζονται άλλα
|
||
εκτελέσιμα θα τρέξουν (για παράδειγμα, το σύνολο εργαλείων του
|
||
Linux μπορεί να εκτελεστεί μέσω της υποστήριξης του Linux ABI). Επίσης
|
||
σημαίνει ότι τα εκτελέσιμα του Linux μπορούν να φορτώσουν και να
|
||
εκτελέσουν αρχεία του &os; αν δεν μπορούν να εντοπίσουν τα αντίστοιχα
|
||
αρχεία στο Linux. Μπορείτε επίσης να τοποθετήσετε μια εντολή
|
||
&man.uname.1; μέσα στο <filename>/compat/linux</filename> προκειμένου
|
||
τα αρχεία του Linux να μη μπορούν να αναγνωρίσουν ότι δεν
|
||
χρησιμοποιούνται πραγματικά σε Linux.</para>
|
||
|
||
<para>Ουσιαστικά, υπάρχει ένας πυρήνας Linux μέσα στον πυρήνα
|
||
του &os;. Οι διάφορες λειτουργίες οι οποίες υλοποιούν όλες τις
|
||
υπηρεσίες που παρέχονται από τον πυρήνα είναι ίδιες τόσο στον πίνακα
|
||
κλήσεων συστήματος του &os; όσο και στον αντίστοιχο του Linux:
|
||
λειτουργίες του συστήματος αρχείων, εικονική μνήμη, διαχείριση
|
||
σημάτων, System V IPC κλπ. Η μόνη διαφορά είναι ότι το εκτελέσιμα
|
||
του &os; κάνουν χρήση των συναρτήσεων <emphasis>glue</emphasis> του
|
||
&os;, ενώ τα εκτελέσιμα του Linux, κάνουν χρήση των συναρτήσεων
|
||
<emphasis>glue</emphasis> του Linux (πολλά από τα παλιά λειτουργικά
|
||
είχαν τις δικές τους συναρτήσεις <emphasis>glue</emphasis>: οι
|
||
διευθύνσεις των συναρτήσεων βρίσκονταν στο στατικό πίνακα
|
||
<literal>sysent[]</literal>, αντί να διευκρινίζονται μέσω ενός
|
||
δυναμικού δείκτη στη δομή <literal>proc</literal> της διεργασίας που
|
||
πραγματοποιεί την κλήση).</para>
|
||
|
||
<para>Ποιο είναι όμως το εγγενές &os; ABI; Δεν έχει και πολύ σημασία.
|
||
Η μόνη βασική διαφορά είναι (κάτι το οποίο μπορεί εύκολα να
|
||
αλλάξει σε μελλοντικές εκδόσεις, και πολύ πιθανόν να αλλάξει) ότι
|
||
οι συναρτήσεις <emphasis>glue</emphasis> του &os; είναι στατικά
|
||
συνδεδεμένες στο πυρήνα, ενώ οι αντίστοιχες του Linux μπορούν είτε να
|
||
είναι συνδεδεμένες στατικά, είτε να είναι προσβάσιμες μέσω ενός
|
||
αρθρώματος πυρήνα.</para>
|
||
|
||
<para>Είναι αυτό όμως πραγματική εξομοίωση; Όχι. Είναι μια υλοποίηση
|
||
του ABI, όχι εξομοίωση. Δεν υπάρχει καμία εξομοίωση (ή προσομοίωση,
|
||
για να προλάβουμε την επόμενη σας ερώτηση).</para>
|
||
|
||
<para>Τότε γιατί μερικές φορές μιλάμε για <quote>εξομοίωση
|
||
Linux</quote>; Για να δυσκολευτεί η προώθηση του &os;! Η αρχική
|
||
υλοποίηση έγινε την εποχή όπου δεν υπήρχε άλλη λέξη που να μπορούσε
|
||
να περιγράψει το τι ακριβώς γινόταν. Το να
|
||
λέγαμε ότι το &os; έτρεχε εκτελέσιμα Linux δεν θα ήταν αλήθεια,
|
||
μια και χρειαζόταν να ενσωματωθεί κάποιος κώδικας στον πυρήνα, ή να
|
||
φορτωθεί κάποιο άρθρωμα. Χρειαζόταν κάποια λέξη που να περιγράφει τι
|
||
φορτωνόταν—έτσι προέκυψε ο <quote>εξομοιωτής Linux</quote>.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<!--
|
||
Local Variables:
|
||
mode: sgml
|
||
coding: iso-8859-7
|
||
fill-column: 78
|
||
sgml-declaration: "../chapter.decl"
|
||
sgml-indent-data: t
|
||
sgml-omittag: nil
|
||
sgml-always-quote-attributes: t
|
||
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
||
End:
|
||
-->
|