3459 lines
126 KiB
XML
3459 lines
126 KiB
XML
<?xml version="1.0" encoding="koi8-r"?>
|
||
<!--
|
||
The FreeBSD Russian Documentation Project
|
||
|
||
$FreeBSD$
|
||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.xml,v 1.29 2007/06/26 11:42:42 den Exp $
|
||
|
||
Original revision: r29718
|
||
-->
|
||
|
||
<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>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Алексей</firstname>
|
||
<surname>Докучаев</surname>
|
||
<contrib>Перевод на русский язык: </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Валерий</firstname>
|
||
<surname>Кравчук</surname>
|
||
<contrib>Перевод на русский язык и редактирование: </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</chapterinfo>
|
||
|
||
<title>Двоичная совместимость с Linux</title>
|
||
|
||
<sect1 id="linuxemu-synopsis">
|
||
<title>Краткий обзор</title>
|
||
<indexterm><primary>Linux - бинарная совместимость</primary></indexterm>
|
||
<indexterm>
|
||
<primary>двоичная совместимость</primary>
|
||
<secondary>Linux</secondary>
|
||
</indexterm>
|
||
|
||
<para>FreeBSD предоставляет двоичную совместимость с несколькими другими
|
||
&unix;–подобными операционными системами, включая Linux.
|
||
Возможно, вы спрашиваете себя, зачем FreeBSD нужно уметь работать
|
||
с приложениями, написанными для Linux? Ответ на этот вопрос достаточно
|
||
прост: многие компании и разработчики производят программное
|
||
обеспечение только для Linux, так как эта операционная система очень
|
||
быстро завоевала огромную популярность в компьютерном мире.
|
||
Пользователям же FreeBSD приходится обращаться к этим компаниям и
|
||
разработчикам с просьбами выпустить версии своих программ специально
|
||
для FreeBSD. Проблема в том, что большинство производителей
|
||
программного обеспечения не осознают, насколько бы увеличился их рынок
|
||
сбыта, выпускай они также FreeBSD–версии, и продолжают разрабатывать
|
||
только под Linux. Что же делать пользователям FreeBSD? В этой
|
||
ситуации на помощь приходит двоичная совместимость FreeBSD с
|
||
Linux.</para>
|
||
|
||
<para>Вкратце, эта совместимость позволяет пользователям FreeBSD
|
||
работать с 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–программы показывали более высокую производительность при
|
||
работе под FreeBSD, чем под Linux.</para>
|
||
|
||
<para>Конечно, существуют некоторые особенности Linux, которые не
|
||
поддерживаются в полной мере под FreeBSD. Например, не будут
|
||
работать приложения Linux, использующие специфичные
|
||
вызовы &i386;, такие как переключение в виртуальный режим 8086.</para>
|
||
|
||
<para>При чтении этой главы вы узнаете:</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Как включить двоичную совместимость с Linux в
|
||
вашей системе.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Как установить дополнительные совместно используемые
|
||
(shared) библиотеки Linux.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Как установить приложения Linux в систему FreeBSD.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Детали реализации совместимости с Linux в ОС FreeBSD.</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 (загружаемый объект ядра)</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;:</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>параметры ядра</primary>
|
||
<secondary>COMPAT_LINUX</secondary>
|
||
</indexterm>
|
||
|
||
<para>Если по какой-либо причине вы не хотите или не можете загрузить
|
||
KLD, вы можете статически включить поддержку Linux в ядро,
|
||
добавив опцию <literal>options COMPAT_LINUX</literal> в файл
|
||
конфигурации ядра. Затем соберите и установите новое ядро,
|
||
следуя описанию в <xref linkend="kernelconfig"/>.</para>
|
||
|
||
<sect2>
|
||
<title>Установка необходимых библиотек Linux</title>
|
||
|
||
<indexterm>
|
||
<primary>Linux</primary>
|
||
<secondary>установка библиотек Linux</secondary>
|
||
</indexterm>
|
||
|
||
<para>Установить все требуемые библиотеки можно двумя путями: либо
|
||
используя порт <link linkend="linuxemu-libs-port">linux_base</link>,
|
||
либо установив их <link
|
||
linkend="linuxemu-libs-manually">вручную</link>.</para>
|
||
|
||
<sect3 id="linuxemu-libs-port">
|
||
<title>Установка с помощью порта linux_base</title>
|
||
|
||
<indexterm><primary>коллекция портов</primary></indexterm>
|
||
|
||
<para>Этот метод является самым простым, и мы рекомендуем
|
||
воспользоваться именно им. Процесс аналогичен установке любого
|
||
другого порта из <ulink type="html"
|
||
url="file://localhost/usr/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. Некоторые
|
||
программы, возможно, будут сообщать о несоответствии подверсий
|
||
некоторых системных библиотек. Однако обычно это не
|
||
вызывает каких-либо неудобств.</para>
|
||
|
||
<note><para>Возможно наличие нескольких версий порта <filename
|
||
role="package">emulators/linux_base</filename>, соответствующих
|
||
различным версиям разных дистрибутивов Linux. Вы должны
|
||
установить порт, наиболее близко соответствующий требованиям
|
||
приложений Linux, которые будут установлены.</para></note>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-libs-manually">
|
||
<title>Установка библиотек вручную</title>
|
||
|
||
<para>Если у вас не установлена коллекция портов, можно
|
||
установить требуемые библиотеки вручную. Вам понадобятся
|
||
совместно используемые библиотеки для Linux, которые нужны программам, и
|
||
runtime–компоновщик. Вам также потребуется создать <quote>теневой
|
||
корневой каталог</quote>, <filename>/compat/linux</filename>, где
|
||
будут расположены Linux–библиотеки. Если Linux–программе нужно
|
||
загрузить какую–либо совместно используемую библиотеку, FreeBSD сперва будет
|
||
пытаться найти ее в этом дереве. Так, если программа загружает,
|
||
например, <filename>/lib/libc.so</filename>, FreeBSD попытается
|
||
открыть <filename>/compat/linux/lib/libc.so</filename>, и если
|
||
такого файла не существует, будет пытаться открыть
|
||
<filename>/lib/libc.so</filename>. Разделяемые библиотеки должны
|
||
находиться в теневом дереве, а не в каталогах, выдаваемых
|
||
загрузчиком Linux <command>ld.so</command>.</para>
|
||
|
||
<para>Обычно вам придется добавлять совместно используемые библиотеки, от
|
||
которых зависят Linux–программы, только при нескольких первых
|
||
установках приложений Linux на вашу систему FreeBSD. По мере
|
||
работы, у вас в системе накопится достаточный набор совместно используемых
|
||
библиотек Linux для запуска новых Linux-программ без
|
||
дополнительных действий.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Как установить дополнительные совместно используемые библиотеки</title>
|
||
|
||
<indexterm><primary>совместно используемые библиотеки</primary></indexterm>
|
||
|
||
<para>Что, если при установленном <filename>linux_base</filename>
|
||
порте ваше приложение все равно сообщает об отсутствии необходимой
|
||
библиотеки? Как узнать, какая именно нужна библиотека и где ее
|
||
взять? В принципе, есть два способа. Вам необходимо иметь
|
||
привилегии пользователя <username>root</username> для их
|
||
осуществления.</para>
|
||
|
||
<para>Если у вас есть доступ к машине, на которой установлен Linux,
|
||
узнайте, какие библиотеки использует Linux–приложение, и просто
|
||
скопируйте из на свою машину. Рассмотрим следующий пример:</para>
|
||
|
||
<informalexample>
|
||
<para>Допустим, вы скачали по FTP Linux–версию
|
||
<application>Doom</application> и установили ее на Linux–машине.
|
||
Вы можете узнать, какие совместно используемые библиотеки нужны
|
||
<application>Doom</application>, с помощью команды
|
||
<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>символические ссылки</primary></indexterm>
|
||
|
||
<para>Вам потребуются все файлы, перечисленные в последнем
|
||
столбце. Скопируйте их в дерево <filename>/compat/linux</filename>
|
||
на вашей системе, а также создайте символические ссылки на эти
|
||
файлы с именами из первого столбца, соответственно. В итоге,
|
||
у вас в системе FreeBSD должны быть следующие файлы:</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 с соответствующим первому столбцу результатов
|
||
<command>ldd</command> основным номером версии, вам не
|
||
обязательно копировать файл, указанный в последнем столбце,
|
||
в вашу систему. Уже существующий файл должен подойти.
|
||
Рекомендуется, однако, все равно скопировать совместно используемую
|
||
библиотеку, если ее версия новее. Предыдущую версию
|
||
библиотеки можно удалить, если вы создали символическую ссылку
|
||
на новую. Итак, если у вас в системе есть следующие
|
||
библиотеки:</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–компоновщик FreeBSD
|
||
самостоятельно подберет правильные номера версий библиотек,
|
||
и вам не нужно об этом беспокоиться.</para>
|
||
</note>
|
||
</blockquote>
|
||
</informalexample>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Установка двоичных файлов Linux ELF</title>
|
||
|
||
<indexterm>
|
||
<primary>Linux</primary>
|
||
<secondary>двоичные файлы ELF</secondary>
|
||
</indexterm>
|
||
|
||
<para>Для ELF-файлов иногда требуется сделать так называемый
|
||
<quote>branding</quote> (маркировать его). Если попытаться
|
||
запустить не маркированный ELF-файл, вы получите следующее сообщение
|
||
об ошибке:</para>
|
||
|
||
<screen>&prompt.user; <userinput>./моя-linux-elf-программа</userinput>
|
||
ELF binary type not known
|
||
Abort</screen>
|
||
|
||
<para>Чтобы помочь ядру FreeBSD отличить ELF-файл FreeBSD от
|
||
двоичного файла Linux, используется утилита &man.brandelf.1;:</para>
|
||
|
||
<screen>&prompt.user; <userinput>brandelf -t Linux моя-linux-elf-программа</userinput></screen>
|
||
|
||
<indexterm><primary>GNU toolchain</primary></indexterm>
|
||
|
||
<para>В настоящее время набор инструментальных средств GNU
|
||
(GNU toolchain) помещает необходимую маркировочную информацию
|
||
в двоичные ELF-файлы автоматически, поэтому необходимость
|
||
в этом действии возникает всё реже.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Конфигурирование распознавания имен хостов</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. Когда файл <filename>/compat/linux/etc/host.conf</filename>
|
||
отсутствует, Linux–приложения находят файл
|
||
<filename>/etc/host.conf</filename> для FreeBSD и сообщают о
|
||
несовместимом синтаксисе. Если вы не настраивали сервер имен
|
||
с помощью файла <filename>/etc/resolv.conf</filename>, уберите
|
||
<literal>bind</literal> из файла
|
||
<filename>/compat/linux/etc/host.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>приложения</primary>
|
||
<secondary><application>Mathematica</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Ниже описано, как установить Linux–версию пакета
|
||
<application>&mathematica; 5.X</application>
|
||
на систему FreeBSD.</para>
|
||
|
||
<para>Linux версия <application>&mathematica;</application>
|
||
или <application>&mathematica; for Students</application>
|
||
можно заказать непосредственно в компании Wolfram по адресу
|
||
<ulink url="http://www.wolfram.com/"></ulink>.</para>
|
||
|
||
<sect2>
|
||
<title>Использование установщика &mathematica;</title>
|
||
|
||
<para>Сначала вы должны указать &os;, что Linux бинарники от
|
||
<application>&mathematica;</application> используют Linux
|
||
ABI. Самый простой путь сделать это—установить марку
|
||
ELF Linux по умолчанию для всех немаркированных двоичных
|
||
файлов с помощью команды:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
|
||
|
||
<para>&os; будет считать, что все немаркированные двоичные
|
||
ELF-файлы используют Linux ABI, и вы сможете
|
||
запустить MathInstaller прямо с 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>.
|
||
Этим мы убедимся, что установщик будет выполняться Linux
|
||
версией &man.sh.1;. Дальше, замените все вхождения
|
||
<literal>Linux)</literal> на <literal>FreeBSD)</literal> с
|
||
помощью текстового редактора или с помощью скрипта,
|
||
представленного ниже, в следующей главе. Это укажет
|
||
установщику <application>&mathematica;</application>,
|
||
вызывающему <command>uname -s</command> для определения
|
||
операционной системы, относиться к &os;, как к Linux
|
||
подобной операционной системе. Теперь, запуск
|
||
<command>MathInstaller</command> установит
|
||
<application>&mathematica;</application>.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Modifying the &mathematica; Executables</title>
|
||
|
||
<para>Скрипты командной оболочки, которые
|
||
<application>&mathematica;</application> создала во
|
||
время установки, должны быть изменены перед тем, как
|
||
вы сможете использовать их. Если вы выбрали
|
||
<filename class="directory">/usr/local/bin</filename> в
|
||
качестве директории для помещения исполняемых файлов
|
||
<application>&mathematica;</application>, то вы обнаружите
|
||
в этом каталоге ссылки на файлы <filename>math</filename>,
|
||
<filename>mathematica</filename>, <filename>Mathematica</filename>, и
|
||
<filename>MathKernel</filename>. В каждом из них замените
|
||
<literal>Linux)</literal> на <literal>FreeBSD)</literal> с
|
||
помощью текстового редактора или с помощью следующего скрипта
|
||
командной оболочки:</para>
|
||
|
||
<programlisting>#!/bin/sh
|
||
cd /usr/local/bin
|
||
for i in math mathematica Mathematica MathKernel
|
||
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
|
||
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
|
||
rm $i.tmp
|
||
chmod a+x $i
|
||
done</programlisting>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Получение пароля к пакету &mathematica;</title>
|
||
|
||
<indexterm>
|
||
<primary>Ethernet</primary>
|
||
<secondary>MAC-адрес</secondary>
|
||
</indexterm>
|
||
|
||
<para>Когда вы запустите <application>&mathematica;</application>
|
||
в первый раз, у вас будет запрошен пароль. Если вы еще не получили
|
||
пароль от Wolfram, запустите программу <command>mathinfo</command>
|
||
в директории установки для получения вашего <quote>machine ID</quote>.
|
||
Этот machine ID основан исключительно на MAC адресе вашей первичной
|
||
Ethernet карты, так что, вы не сможете использовать вашу копию
|
||
<application>&mathematica;</application> на разных машинах.</para>
|
||
|
||
<para>При регистрации по электронной почте, по телефону или по факсу
|
||
вы сообщаете <quote>machine ID</quote>, а в ответ
|
||
получаете пароль, состоящий из нескольких групп чисел.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Использование интерфейса &mathematica; по сети</title>
|
||
|
||
<para><application>&mathematica;</application> использует специальные
|
||
шрифты для отображения некоторых символов, которые отсутствуют в
|
||
стандартных шрифтах (символы интегралов, сумм, греческий алфавит и
|
||
другие). Протокол X требует, чтобы эти шрифты были установлены
|
||
<emphasis>локально</emphasis>. Это означает, что вы должны
|
||
скопировать эти шрифты с компакт-диска или хоста, на котором
|
||
установлена <application>&mathematica;</application>, на вашу
|
||
машину. Обычно эти шрифты находятся в каталоге
|
||
<filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename>
|
||
компакт-диска или в каталоге
|
||
<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>Теперь добавьте каталоги с новыми шрифтами в путь к
|
||
шрифтам:</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>шрифты</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>приложения</primary>
|
||
<secondary><application>Maple</application></secondary>
|
||
</indexterm>
|
||
|
||
<para><application>&maple;</application> — коммерческая
|
||
математическая программа, аналогичная
|
||
<application>&mathematica;</application>. Это программное обеспечение
|
||
надо купить у <ulink url="http://www.maplesoft.com/"></ulink>, а потом
|
||
зарегистрироваться там для получения файла лицензии. Для установки
|
||
этого программного обеспечения в ОС FreeBSD используется следующая
|
||
последовательность простых шагов.</para>
|
||
|
||
<procedure>
|
||
<step><para>Выполните скрипт командного интерпретатора
|
||
<filename>INSTALL</filename> из дистрибутива. Выберите
|
||
опцию <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>, выполнив скрипт установки
|
||
<filename>INSTALL_LIC</filename>, входящий в состав
|
||
<application>&maple;</application>. Укажите основное имя хоста
|
||
вашей машины для сервера лицензий.</para></step>
|
||
|
||
<step><para>Исправьте файл
|
||
<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>Этот патч заставляет <application>&maple;</application>
|
||
распознавать <quote>FreeBSD</quote> как тип Linux-системы.
|
||
Скрипт командного интерпретатора <filename>bin/maple</filename>
|
||
вызывает скрипт <filename>bin/maple.system.type</filename>,
|
||
который, в свою очередь, вызывает <command>uname -a</command> для
|
||
получения имени операционной системы. В зависимости от имени ОС
|
||
он определяет, какие двоичные модули использовать.</para></step>
|
||
|
||
<step><para>Запустите сервер лицензий.</para>
|
||
|
||
<para>Следующий скрипт, установленный в файл
|
||
<filename>/usr/local/etc/rc.d/lmgrd.sh</filename>, обеспечивает
|
||
удобный способ запуска <command>lmgrd</command>:</para>
|
||
|
||
<programlisting> ----- snip ------------
|
||
|
||
#! /bin/sh
|
||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
|
||
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
|
||
export PATH
|
||
|
||
LICENSE_FILE=/usr/local/maple/license/license.dat
|
||
LOG=/var/log/lmgrd.log
|
||
|
||
case "$1" in
|
||
start)
|
||
lmgrd -c ${LICENSE_FILE} 2>> ${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>Программа должна запуститься и работать. Не забудьте написать
|
||
в Maplesoft и сообщить, что хотели бы видеть версию специально
|
||
для FreeBSD!</para></step>
|
||
</procedure>
|
||
|
||
<sect2>
|
||
<title>Типичные проблемы</title>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>Работать с диспетчером лицензий
|
||
<application>FLEXlm</application> может быть непросто.
|
||
Дополнительную документацию по нему можно найти на сайте <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">
|
||
<title>Установка &matlab;</title>
|
||
<indexterm>
|
||
<primary>приложения</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>, как рекомендует
|
||
скрипт установки. Для запуска скрипта установки наберите:</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>Отредактируйте файл лицензии в соответствии с инструкциями
|
||
в полученной лицензии <application>&matlab;</application>.</para>
|
||
|
||
<tip>
|
||
<para>Этот файл можно подготовить заранее с помощью любого
|
||
текстового редактора и скопировать его в
|
||
<filename>$MATLAB/license.dat</filename> до того, как
|
||
инсталлятор попросит его отредактировать.</para>
|
||
</tip>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Завершите процесс установки.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>В этот момент ваша установка <application>&matlab;</application>
|
||
завершена. Следующие шаги позволяют <quote>связать</quote>
|
||
эту программу с вашей системой &os;.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Запуск диспетчера лицензий</title>
|
||
<procedure>
|
||
<step>
|
||
<para>Создайте символические ссылки для скриптов диспетчера
|
||
лицензий:</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>.
|
||
Изменены местонахождения файлов и диспетчер лицензий запускается
|
||
под эмулятором Linux.</para>
|
||
|
||
<programlisting>#!/bin/sh
|
||
case "$1" in
|
||
start)
|
||
if [ -f /usr/local/etc/lmboot_TMW ]; then
|
||
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u <replaceable>username</replaceable> && 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>Запустите диспетчер лицензий с помощью команды:</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>Создание скрипта запуска &matlab;</title>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Поместите следующий скрипт запуска в файл
|
||
<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>, при
|
||
выполнении этого скрипта могут быть выданы сообщения об ошибках.
|
||
Чтобы избежать этого, отредактируйте файл
|
||
<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>Создание скрипта остановки &matlab;</title>
|
||
|
||
<para>Следующие действия необходимы для решения проблемы с
|
||
некорректным завершением работы &matlab;.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Создайте файл
|
||
<filename>$MATLAB/toolbox/local/finish.m</filename> и поместите
|
||
в него одну строку:</para>
|
||
|
||
<programlisting>! $MATLAB/bin/finish.sh</programlisting>
|
||
|
||
<note><para><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>приложения</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 на систему FreeBSD.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Установка Linux–среды</title>
|
||
|
||
<para>Удостоверьтесь, что порты
|
||
<filename role='package'>emulators/linux_base</filename> и
|
||
<filename role='package'>devel/linux_devtools</filename> установлены
|
||
на вашей системе. Если у вас возникнут трудности с этими портами,
|
||
воспользуйтесь пакетами или более ранними их версиями из
|
||
Коллекции Портов.</para>
|
||
|
||
<para>Если вы хотите использовать интеллектуальный агент (intelligent
|
||
agent), придется также установить пакет TCL от Red Hat:
|
||
<filename>tcl-8.0.3-20.i386.rpm</filename>. Универсальная команда
|
||
для установки пакетов с помощью официального порта
|
||
<application>RPM</application>
|
||
(<filename role='package'>archivers/rpm</filename>):</para>
|
||
|
||
<screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>пакет</replaceable></userinput></screen>
|
||
|
||
<para>Установка этого <replaceable>пакета</replaceable> должна
|
||
пройти без каких-либо ошибок.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Создание среды &oracle;</title>
|
||
|
||
<para>Прежде чем вы сможете установить
|
||
<application>&oracle;</application>, необходимо настроить
|
||
соответствующую среду. В этом документе описано, что
|
||
<emphasis>специально</emphasis> нужно сделать, чтобы запустить
|
||
<application>&oracle;</application> для Linux под FreeBSD –
|
||
это не пересказ официального руководства по установке
|
||
<application>&oracle;</application>.</para>
|
||
|
||
<sect3 id="linuxemu-kernel-tuning">
|
||
<title>Настройка ядра</title>
|
||
|
||
<indexterm><primary>настройка ядра</primary></indexterm>
|
||
|
||
<para>Как описано в руководстве по установке
|
||
<application>&oracle;</application>, необходимо
|
||
установить максимальный размер совместно используемой (shared) памяти. Не используйте
|
||
<literal>SHMMAX</literal> под FreeBSD. <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
|
||
options SYSVSEM # семафоры SysV
|
||
options SYSVMSG # межпроцессное взаимодействие SysV</programlisting>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-oracle-account">
|
||
|
||
<title>Учетная запись &oracle;</title>
|
||
|
||
<para>Создайте специальную учетную запись
|
||
<username>oracle</username>, как и любую другую учетную запись.
|
||
Единственное отличие в том, что для <username>oracle</username>
|
||
необходимо указать командный интерпретатор Linux.
|
||
Добавьте <filename>/compat/linux/bin/bash</filename> в
|
||
<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> примените патчи,
|
||
описанные в следующих двух подразделах.</para>
|
||
|
||
<para>Одна из часто возникающих проблем — неправильно
|
||
установленный адаптер TCP-протокола. В результате, невозможно
|
||
запустить процессы прослушивания TCP. Вот решение проблемы:</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>. Они записаны в
|
||
скрипте командного интерпретатора <filename>root.sh</filename>,
|
||
который находится в каталоге <filename>orainst</filename>.
|
||
Перед запуском, примените к нему следующий патч (исправляет
|
||
местонахождение утилиты chown), либо запускайте его в командном
|
||
интерпретаторе 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>Если вы устанавливаете <application>&oracle;</application>
|
||
не с компакт–диска, можно изменить исходный файл
|
||
<filename>root.sh</filename>. Он называется
|
||
<filename>rthd.sh</filename> и находится в каталоге
|
||
<filename>orainst</filename>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="linuxemu-patch-tcl">
|
||
<title>Изменение genclntsh</title>
|
||
|
||
<para>Скрипт <command>genclntsh</command> используется для того,
|
||
чтобы создать единую совместно используемую клиентскую библиотеку,
|
||
которая используется для создания демонстраций. Примените
|
||
следующий патч, чтобы закомментировать определение переменной
|
||
<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>приложения</primary>
|
||
<secondary><application>SAP R/3</application></secondary>
|
||
</indexterm>
|
||
|
||
<para>Инсталляции систем <application>&sap;</application> на базе FreeBSD
|
||
не будут поддерживаться службой поддержки &sap; — они
|
||
предоставляют поддержку только на сертифицированных платформах.</para>
|
||
|
||
<sect2 id="preface">
|
||
<title>Предисловие</title>
|
||
|
||
<para>Этот документ описывает возможный способ установки системы
|
||
<application>&sap.r3;</application> с
|
||
<application>СУБД &oracle; Database</application> на машине с ОС
|
||
FreeBSD, включая установку FreeBSD и
|
||
<application>&oracle;</application>. Будут описаны две
|
||
разные конфигурации:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><application>&sap.r3; 4.6B (IDES)</application> с
|
||
<application>&oracle; 8.0.5</application> на FreeBSD 4.3-STABLE</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><application>&sap.r3; 4.6C</application> с
|
||
<application>&oracle; 8.1.7</application> на FreeBSD 4.5-STABLE</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Хотя в этом документе мы пытаемся подробно описать все важные
|
||
шаги, он не заменяет руководства по установке
|
||
<application>&oracle;</application> и
|
||
<application>&sap.r3;</application>.</para>
|
||
|
||
<para>По специфическим вопросам <application>&sap;</application> и
|
||
<application>&oracle;</application> обратитесь к документации,
|
||
поставляемой в составе <application>&sap.r3;</application>
|
||
Linux edition, а также к другим источникам информации об
|
||
<application>&oracle;</application> и
|
||
<application>&sap; OSS</application>.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="software">
|
||
<title>Программное обеспечение</title>
|
||
|
||
<para>Для установки <application>&sap;</application> были использованы
|
||
следующие диски CD-ROM:</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 /
|
||
Диск 1 из 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT2</entry> <entry>51010209</entry> <entry>IDES / DB-Export /
|
||
Диск 2 из 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT3</entry> <entry>51010210</entry> <entry>IDES / DB-Export /
|
||
Диск 3 из 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT4</entry> <entry>51010211</entry> <entry>IDES / DB-Export /
|
||
Диск 4 из 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT5</entry> <entry>51010212</entry> <entry>IDES / DB-Export /
|
||
Диск 5 из 6</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT6</entry> <entry>51010213</entry> <entry>IDES / DB-Export /
|
||
Диск 6 из 6</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Кроме того, мы использовали CD <application>&oracle; 8
|
||
Server</application> (Опытная версия 8.0.5 для Linux,
|
||
ядро версии 2.0.33), который не обязательно понадобится, и
|
||
FreeBSD 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
|
||
/ Диск 1 из 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
|
||
/ Диск 2 из 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
|
||
/ Диск 3 bp 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>EXPORT1</entry> <entry>51013953</entry> <entry>Release 4.6C SR2 / Export
|
||
/ Диск 4 из 4</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>LANG1</entry> <entry>51013954</entry> <entry>Release 4.6C SR2 /
|
||
Language / DE, EN, FR / Диск 1 из 3</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>В зависимости от языков, которые необходимо установить,
|
||
могут потребоваться дополнительные CD. Здесь мы использовали
|
||
только немецкий и английский языки, поэтому потребовался только
|
||
первый языковой CD. Обратите внимание, что номера всех
|
||
EXPORT CD идентичны. Все три языковых CD тоже имеют один номер
|
||
(это отличается от нумерации CD в версии 4.6B IDES). На момент
|
||
написания этого раздела (20.03.2002) установленное ПО работало
|
||
на FreeBSD 4.5-STABLE.</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; с большим кешем, высокоскоростной доступ к дискам (SCSI,
|
||
аппаратный RAID-контроллер), USV и ECC-RAM. Большой объем дискового
|
||
пространства связан с заранее сконфигурированной системой IDES,
|
||
которая создает 27 Гбайт файлов базы данных по ходу установки.
|
||
Этого пространства также достаточно для исходных производственных
|
||
систем и прикладных данных.</para>
|
||
|
||
<sect3 id="hardware-46b">
|
||
<title>&sap.r3; 4.6B, &oracle; 8.0.5</title>
|
||
|
||
<para>Было использовано следующее стандартное оборудование:
|
||
двухпроцессорная материнская плата с двумя процессорами
|
||
&pentium; III 800 MHz, SCSI-контроллером &adaptec; 29160
|
||
Ultra160 (для работы с 40/80 Гбайт стримером DLT и приводом
|
||
CDROM), &mylex; &acceleraid; (2 канала, firmware 6.00-1-00 с
|
||
32 Мбайт RAM). К RAID-контроллеру &mylex; подключены два диска
|
||
по 17 Гбайт (зеркалированы) и четыре диска по 36 Гбайт
|
||
(RAID уровня 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 Кбайт кэш), 2 Гбайта PC133 ECC SDRAM,
|
||
PERC/3 DC PCI RAID-контроллер со 128 Мбайтами и приводом
|
||
EIDE DVD-ROM. К RAID-контроллеру подключены два диска по
|
||
18 Гбайт (зеркалированы) и четыре диска по 36 Гбайт
|
||
(RAID уровня 5).</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installation">
|
||
<title>Установка FreeBSD</title>
|
||
|
||
<para>Сначала надо установить FreeBSD. Есть несколько способов сделать
|
||
это; подробнее
|
||
см. <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>Размер (в блока по 1 Кбайту)</entry>
|
||
<entry>Размер (Гбайт)</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>Конфигурируем и инициализируем заранее два логических диска
|
||
с помощью ПО RAID &mylex; или PERC/3. Программы конфигурирования
|
||
можно запустить в ходе загрузки <acronym>BIOS</acronym>.</para>
|
||
|
||
<para>Обратите внимание, что использованная компоновка дисков
|
||
немного отличается от рекомендованной &sap;, поскольку &sap;
|
||
рекомендует монтировать подкаталоги
|
||
<application>&oracle;</application> (и некоторые другие)
|
||
отдельно — мы решили просто создать подкаталоги.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="makeworldandnewkernel">
|
||
<title><command>make world</command> и новое ядро</title>
|
||
|
||
<para>Загрузите последние исходные коды ветки -STABLE. Пересоздайте
|
||
систему и ваше специализированное ядро после необходимых изменений
|
||
в файле конфигурации ядра. В него надо включить
|
||
<link linkend="kerneltuning">параметры ядра</link>, требуемые
|
||
для <application>&sap.r3;</application> и
|
||
<application>&oracle;</application>.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingthelinuxenviornment">
|
||
<title>Установка среды Linux</title>
|
||
|
||
<sect3 id="installinglinuxbase-system">
|
||
<title>Установка базовой системы Linux</title>
|
||
|
||
<para>Сначала необходимо установить порт
|
||
<link linkend="linuxemu-libs-port">linux_base</link>
|
||
(от имени пользователя <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> в ОС FreeBSD, как описано в
|
||
<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;</application> не перекомпоновывается
|
||
в системе FreeBSD. Именно так и происходит, если вы используете
|
||
tar-архив (tarball) <application>&oracle;</application> с
|
||
Linux-системы.</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="installingnecessaryrpms">
|
||
<title>Установка необходимых пакетов RPM</title>
|
||
<indexterm><primary>RPM</primary></indexterm>
|
||
|
||
<para>Для запуска программы <command>R3SETUP</command> необходима
|
||
поддержка модулей PAM. В ходе первой установки
|
||
<application>&sap;</application> на ОС FreeBSD 4.3-STABLE мы
|
||
попытались установить PAM со всеми необходимыми пакетами и,
|
||
в конце концов, принудительно установили пакет PAM, что и
|
||
сработало. Для <application>&sap.r3; 4.6C SR2</application> мы
|
||
сразу принудительно установили PAM RPM, что тоже сработало,
|
||
так что похоже, что пакеты, от которых декларирована зависимость,
|
||
не нужны:</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>Чтобы <application>&oracle; 8.0.5</application> мог запустить
|
||
интеллектуального агента, нам также пришлось установить пакет
|
||
RedHat Tcl <filename>tcl-8.0.5-30.i386.rpm</filename> (иначе
|
||
перекомпоновка в ходе установки <application>&oracle;</application>
|
||
не выполнится). Есть и другие проблемы с перекомпоновкой
|
||
<application>&oracle;</application>, но это проблема
|
||
<application>&oracle;</application> на Linux, не связанная с
|
||
особенностями FreeBSD.</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="linuxprocandfallbackelfbrand">
|
||
<title>Дополнительные советы</title>
|
||
|
||
<para>Может также иметь смысл добавить <literal>linprocfs</literal>
|
||
в <filename>/etc/fstab</filename>; подробнее об этом см. на
|
||
странице справочника &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>размер в Гбайтах</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> необходимы два
|
||
пользователя и три группы. Имена пользователей зависят от
|
||
идентификатора системы <application>&sap;</application> (SID),
|
||
который состоит из трех букв. Некоторые из этих идентификаторов
|
||
зарезервированы <application>&sap;</application> (например,
|
||
<literal>SAP</literal> и <literal>NIX</literal>. Полный
|
||
список см. в документации <application>&sap;</application>).
|
||
Для установки IDES мы использовали <literal>IDS</literal>,
|
||
а для установки 4.6C SR2 — <literal>PRD</literal>, поскольку
|
||
эта система предназначалась для промышленного использования.
|
||
Поэтому нам понадобились следующие группы (идентификаторы групп
|
||
могут отличаться, мы просто указали наши значения, использованные
|
||
при установке):</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>идентификатор группы</entry>
|
||
<entry>имя группы</entry>
|
||
<entry>описание</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>100</entry>
|
||
<entry>dba</entry>
|
||
<entry>Администратор базы данных</entry>
|
||
</row>
|
||
<row>
|
||
<entry>101</entry>
|
||
<entry>sapsys</entry>
|
||
<entry>Система &sap;</entry>
|
||
</row>
|
||
<row>
|
||
<entry>102</entry>
|
||
<entry>oper</entry>
|
||
<entry>Оператор базы данных</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Для стандартной установки
|
||
<application>&oracle;</application> используется только группа
|
||
<groupname>dba</groupname>. В качестве группы
|
||
<groupname>oper</groupname> используется та же группа
|
||
<groupname>dba</groupname> (подробнее об этом см. в
|
||
документации <application>&oracle;</application> и
|
||
<application>&sap;</application>).</para>
|
||
|
||
<para>Нам также нужны следующие пользователи:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="6">
|
||
<thead>
|
||
<row>
|
||
<entry>идентификатор пользователя</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;</entry>
|
||
</row>
|
||
<row>
|
||
<entry>1002</entry>
|
||
<entry>oraids/oraprd</entry>
|
||
<entry>ora<replaceable>sid</replaceable></entry>
|
||
<entry>dba</entry>
|
||
<entry>oper</entry>
|
||
<entry>Администратор &oracle;</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Добавление пользователей с помощью &man.adduser.8;
|
||
требует следующих параметров для <quote>Администратора &sap;</quote>
|
||
(обратите внимание на командный интерпретатор и начальный
|
||
каталог):</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;</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>, которые не
|
||
будут правильно созданы при установке под FreeBSD. Пожалуйста,
|
||
добавьте следующие записи (потребуются, по крайней мере, записи,
|
||
соответствующие номеру экземпляра — в данном случае,
|
||
<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>локаль</primary></indexterm>
|
||
|
||
<para>Системе <application>&sap;</application> нужны, по крайней
|
||
мере, две локали, не входящие в стандартную установку RedHat.
|
||
&sap; предлагает необходимые пакеты RPM для загрузки со своего
|
||
FTP-сервера (который доступен только для клиентов с доступом к
|
||
OSS). См. список необходимых пакетов RPM в заметке
|
||
0171356.</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>настройка ядра</primary></indexterm>
|
||
|
||
<para>Системам <application>&sap.r3;</application> надо много
|
||
ресурсов. Поэтому мы добавили следующие параметры в файл
|
||
конфигурации ядра:</para>
|
||
|
||
<programlisting># Для пожирателей памяти (SAP и Oracle):
|
||
options MAXDSIZ="(1024*1024*1024)"
|
||
options DFLDSIZ="(1024*1024*1024)"
|
||
# Необходимые опции System V.
|
||
options SYSVSHM #совместно используемая память в стиле SYSV
|
||
options SHMMAXPGS=262144 #макс. количество страниц совместно используемой
|
||
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
|
||
options SHMMNI=256 #макс. количество идентификаторов совместно используемой
|
||
options SHMSEG=100 #макс. количество сегментов разд. памяти на процесс
|
||
options SYSVMSG #очереди сообщений в стиле SYSV
|
||
options MSGSEG=32767 #макс. количество сегментов сообщений в системе
|
||
options MSGSSZ=32 #размер сегмента сообщений. ДОЛЖЕН быть степенью 2
|
||
options MSGMNB=65535 #макс. символов на очередь сообщений
|
||
options MSGTQL=2046 #макс. количество сообщений в системе
|
||
options SYSVSEM #семафоры в стиле SYSV
|
||
options SEMMNU=256 #количество структур UNDO семафоров
|
||
options SEMMNS=1024 #количество семафоров в системе
|
||
options SEMMNI=520 #количество идентификаторов семафоров
|
||
options SEMUME=100 #количество ключей UNDO</programlisting>
|
||
|
||
<para>Минимальные значения указаны в документации, поставляемой
|
||
вместе с &sap;. Поскольку описания для Linux нет, дополнительную
|
||
информацию см. в разделе HP-UX (32-bit). Поскольку в системе, на
|
||
которую устанавливалась версия 4.6C SR2, оперативной памяти больше, сегменты совместно используемой можно сделать больше как для
|
||
<application>&sap;</application>, так и для
|
||
<application>&oracle;</application>, поэтому задайте большее
|
||
количество страниц совместно используемой памяти.</para>
|
||
|
||
<note><para>При стандартной установке FreeBSD на &i386;,
|
||
задайте значения <literal>MAXDSIZ</literal> и <literal>DFLDSIZ</literal> не более 1 Гбайта. В противном
|
||
случае могут выдаваться странные ошибки вроде
|
||
<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>Подготовка дисков CDROM &sap;</title>
|
||
|
||
<para>В ходе установки придется монтировать и демонтировать
|
||
много дисков CDROM. При наличии достаточного количества приводов
|
||
CDROM, можно смонтировать их все. Мы же решили скопировать
|
||
содержимое дисков CDROM в соответствующие каталоги:</para>
|
||
<programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>имя_cd</replaceable></programlisting>
|
||
|
||
<para>где <replaceable>имя_cd</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. Все имена
|
||
файлов на смонтированных дисках должны быть в верхнем регистре,
|
||
в противном случае, используйте при монтировании опцию
|
||
<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</replaceable></userinput>
|
||
&prompt.root; <userinput>umount /mnt</userinput></screen>
|
||
</sect3>
|
||
|
||
<sect3 id="runningtheinstall-script">
|
||
<title>Запуск скрипта установки</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>Затем запускается скрипт установки, который скопирует почти
|
||
все необходимые файлы в каталог
|
||
<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;, поэтому он включает шесть
|
||
дисков EXPORT CD, а не три. В этот момент шаблон установки
|
||
<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> возвращала
|
||
только имя компьютера, не уточнённое именем домена. Поэтому либо
|
||
задайте имя хоста в соответствии с этим требованием, либо
|
||
настройте псевдоним с помощью команды
|
||
<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>Скрипт затем задает ряд вопросов (стандартные ответы даны
|
||
в скобках, а затем представлены реальные ответы):</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>Если вы не скопировали диски в разные каталоги,
|
||
инсталлятор <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>Скрипт затем задаст ряд вопросов (стандартные значения
|
||
даны в скобках, а затем идут реальные ответы):</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>Описания возможных проблем с Linux и <application>Сервером
|
||
&oracle;</application> см. в соответствующих файлах
|
||
&sap; Notes и &oracle; <filename>Readme</filename>. Большинство,
|
||
если не все проблемы, связаны с несовместимыми библиотеками.</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>, для успешной перекомпоновки понадобится
|
||
несколько дополнительных библиотек, поскольку
|
||
<application>&oracle; 8.0.5</application> был скомпонован со
|
||
старой версией glibc (RedHat 6.0), но уже RedHat 6.1 использует
|
||
новую библиотеку glibc. Так что, для успешной перекомпоновки
|
||
нужно установить следующие дополнительные пакеты:</para>
|
||
|
||
<para><filename>compat-libs-5.2-2.i386.rpm</filename></para>
|
||
<para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para>
|
||
<para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para>
|
||
<para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para>
|
||
<para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para>
|
||
|
||
<para>Дополнительную информацию см. в файлах &sap; Notes или &oracle;
|
||
<filename>Readme</filename>. Если установить эти пакеты не
|
||
представляется возможным (на момент установки у нас не было
|
||
времени, чтобы это проверить), можно использовать исходные двоичные
|
||
модули или перекомпонованные двоичные модули с исходной системы
|
||
RedHat.</para>
|
||
|
||
<para>Для компиляции интеллектуального агента должен быть
|
||
установлен пакет 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>За исключением перекомпоновки, установка выполняется
|
||
просто:</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> затем захочет
|
||
перекомпоновать модули с помощью
|
||
<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 провалилась, — попытки
|
||
найти и загрузить требуемые пакеты RPM нам показались настоящим
|
||
кошмаром.</para>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="installingtheoracle805preproduction">
|
||
<title>Установка &oracle; 8.0.5 Pre-production Release для
|
||
Linux (ядро 2.0.33)</title>
|
||
|
||
<para>Эту установку выполнить очень легко. Монтируем CD, запускаем
|
||
инсталлятор. Затем он запрашивает местонахождение начального
|
||
каталога &oracle; и копирует туда двоичные модули. Мы, однако,
|
||
не удаляли остатки прежних попыток установить RDBMS.</para>
|
||
|
||
<para>В конечном итоге, базу данных <application>&oracle;</application>
|
||
удалось запустить без проблем.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="installingoracle817">
|
||
<title>Установка tar-архива &oracle; 8.1.7 для Linux</title>
|
||
<para>Создайте tar-архив <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>. Если имя хоста в системе
|
||
полностью уточнено, надо заменить <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>Процесс прослушивания</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>, поскольку у сокетов
|
||
будут неправильные права доступа. См. &sap; Note 072984.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="mnlstables">
|
||
<title>Обновление таблиц MNLS</title>
|
||
<para>Если вы планируете использовать в системе
|
||
<application>&sap;</application> языки, для которых не
|
||
подходит кодировка Latin-1, придется изменить таблицы
|
||
Multi National Language Support. Эта процедура описана в
|
||
&sap; OSS Notes 15023 и 45619. Если же нет, можете пропустить
|
||
этот вопрос в ходе установки <application>&sap;</application>.</para>
|
||
|
||
<note><para>Если вам не нужна поддержка MNLS, все равно необходимо
|
||
проверить таблицу TCPDB и инициализировать ее, если это еще не
|
||
было сделано. Дополнительную информацию см. в &sap; Note 0015023
|
||
и 0045619.</para></note>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2 id="postinstallationsteps">
|
||
<title>Шаги после установки</title>
|
||
|
||
<sect3 id="requestsapr3licensekey">
|
||
<title>Запрос лицензионного ключа &sap.r3;</title>
|
||
|
||
<para>Вы должны запросить ваш лицензионный ключ
|
||
<application>&sap.r3;</application>. Это необходимо, поскольку
|
||
временная лицензия, использованная в ходе установки, действительна
|
||
только четыре недели. Сначала получите ключ оборудования.
|
||
Зарегистрируйтесь как пользователь <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 символа</replaceable>
|
||
CUSTOMER KEY = <replaceable>ключ оборудования, 11 символов</replaceable>
|
||
INSTALLATION NO = <replaceable>установка, 10 цифр</replaceable>
|
||
EXPIRATION DATE = <replaceable>yyyymmdd, обычно - "99991231"</replaceable>
|
||
LICENSE KEY = <replaceable>лицензионный ключ, 24 символа</replaceable></programlisting>
|
||
</sect3>
|
||
|
||
<sect3 id="creatingusers">
|
||
<title>Создание пользователей</title>
|
||
|
||
<para>Создайте пользователя в клиенте 000 (некоторые задачи
|
||
обязательно надо выполнять из клиента 000, от имени пользователя,
|
||
отличающегося от <username>sap*</username> и
|
||
<username>ddic</username>). В качестве имени пользователя мы
|
||
обычно выбираем <username>wartung</username> (или
|
||
<username>service</username>, по английски). Требуются профили
|
||
<literal>sap_new</literal> и <literal>sap_all</literal>. Для
|
||
дополнительной защиты надо изменить пароли стандартных
|
||
пользователей на всех клиентах (в том числе, пользователей
|
||
<username>sap*</username> и <username>ddic</username>).</para>
|
||
</sect3>
|
||
|
||
<sect3 id="configtranssysprofileopermodesetc">
|
||
<title>Конфигурирование системы передачи, профиля, режимов работы и т.п.</title>
|
||
|
||
<para>В клиенте 000, от имени пользователя, отличающегося от
|
||
<username>ddic</username> и <username>sap*</username>,
|
||
выполните, как минимум, следующее:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Задача</entry>
|
||
<entry>Транзакция</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>Сконфигурируйте систему передачи, например, как <emphasis>Stand-Alone Transport Domain Entity</emphasis></entry>
|
||
<entry>STMS</entry>
|
||
</row>
|
||
<row>
|
||
<entry>Создайте/Отредактируйте профиль для системы</entry>
|
||
<entry>RZ10</entry>
|
||
</row>
|
||
<row>
|
||
<entry>Сконфигурируйте режимы работы и экземпляры</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>: этот параметр задает
|
||
стандартное поведение для сохранения архивных журналов &oracle;:
|
||
новые журнальные файлы сохраняются на ленту, уже сохраненные
|
||
файлы журнала сохраняются еще раз, а затем удаляются. Это
|
||
предотвращает многочисленные проблемы, если потребуется
|
||
восстановить базу данных, а одна из архивных лент окажется
|
||
сбойной.</para>
|
||
|
||
<para><varname>cpio_flags</varname>: по умолчанию используется
|
||
<option>-B</option>, что устанавливает размер блока 5120 байт.
|
||
Для лент DLT компания HP рекомендует размер блока не меньше
|
||
32 Кбайт, поэтому мы использовали значение
|
||
<option>--block-size=128</option> для задания размера блока
|
||
64 Кбайта. Опция <option>--format=newc</option> необходима,
|
||
поскольку у нас есть индексные дескрипторы (inodes) с номерами
|
||
больше 65535. Последняя опция, <option>--quiet</option> необходима
|
||
потому, что иначе команда <command>brbackup</command> выдает
|
||
сообщение об ошибке, как только команда <command>cpio</command>
|
||
выдаст количество сохраненных блоков.</para>
|
||
|
||
<para><varname>cpio_in_flags</varname>: флаги, необходимые для
|
||
загрузки данных с ленты. Формат распознается автоматически.</para>
|
||
|
||
<para><varname>tape_size</varname>: обычно этот параметр задает
|
||
реальную ёмкость ленты. Из соображений надежности (мы используем
|
||
аппаратное сжатие), задано значение несколько меньше
|
||
фактического.</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 Гбайт памяти):</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; Note 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; Note 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 Гбайт
|
||
памяти можно обнаружить примерно следующее использование
|
||
памяти:</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> останавливается при выявлении
|
||
ошибки. Если вы просмотрели соответствующие журнальные файлы и
|
||
исправили ошибку, придется запускать <command>R3SETUP</command>
|
||
снова, обычно выбирая REPEAT как опцию для последнего шага,
|
||
на котором команда <command>R3SETUP</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> (как пользователь
|
||
<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 (было пусто)
|
||
STATUS=OK (был статус 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.
|
||
Снимите пометку с этого продукта в меню установки
|
||
<application>&oracle;</application> и перезапустите
|
||
установку.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="textenvincalid">
|
||
<title><errorname>TEXTENV_INVALID</errorname> в ходе <command>R3SETUP</command>, RFC или запуска SAPgui</title>
|
||
|
||
<para>Если возникает эта ошибка, не найдена нужная локаль.
|
||
&sap; Note 0171356 перечисляет необходимые пакеты RPM, которые
|
||
надо установить (например, <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> сообщает об
|
||
ошибке и просто перезапуск ать <command>R3SETUP</command>, система
|
||
<application>&sap;</application> не будет правильно
|
||
сконфигурирована, и вы затем не сможете подключиться к системе
|
||
с помощью <application>SAPgui</application>, хотя запустить
|
||
систему и получится. Попытка подключения с помощью старой
|
||
Linux-версии <application>SAPgui</application> приведет к выдаче
|
||
следующих сообщений:</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> не может корректно назначить
|
||
локаль и сама не была надлежащим образом сконфигурирована
|
||
(не хватает записей в некоторых таблицах базы данных). Чтобы
|
||
можно было подключиться к <application>&sap;</application>,
|
||
добавьте следующие записи в файл <filename>DEFAULT.PFL</filename>
|
||
(см. Note 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> на FreeBSD.
|
||
Причина в том, что сервер <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> (фоновый процесс PMON не запущен)</title>
|
||
<para>Эта ошибка произошла с <application>&oracle; 8.1.7</application>.
|
||
Она выдается, если сервер был запущен с помощью обычного
|
||
скрипта <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> (запускайте процесс прослушивания с правильными правами)</title>
|
||
|
||
<para>Запускайте процесс прослушивания
|
||
<application>&oracle;</application> от имени пользователя
|
||
<username>oraids</username> следующими командами:</para>
|
||
|
||
<screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen>
|
||
|
||
<para>В противном случае, вы можете получить сообщение об ошибке
|
||
<errorcode>ORA-12546</errorcode>, поскольку сокеты не будут иметь
|
||
нужных прав доступа. См. &sap; Note 0072984.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="ora-27102">
|
||
<title><errorcode>ORA-27102</errorcode> (не хватает памяти)</title>
|
||
|
||
<para>Эта ошибка произошла при попытке использовать значения
|
||
<literal>MAXDSIZ</literal> и <literal>DFLDSIZ</literal> больше
|
||
1 Гбайта (1024x1024x1024). Кроме того, мы получили
|
||
<errorname>Linux Error 12: Cannot allocate memory</errorname>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="dipgntabindind">
|
||
<title>[DIPGNTAB_IND_IND] в ходе <command>R3SETUP</command></title>
|
||
|
||
<para>В общем случае, см. &sap; Note 0130581
|
||
(прекращается работа <command>R3SETUP</command> на шаге
|
||
<literal>DIPGNTAB</literal>). В ходе установки
|
||
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>Мы также нашли документы &sap; Notes (0029227 и 0008401),
|
||
описывающие это поведение. Мы не столкнулись с подобными
|
||
проблемами при установке
|
||
<application>&sap; 4.6C</application>.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="rfcrswboiniindind">
|
||
<title>[RFCRSWBOINI_IND_IND] в ходе <command>R3SETUP</command></title>
|
||
|
||
<para>В ходе установки <application>&sap; 4.6C</application>,
|
||
эта ошибка возникла в результате другой ошибки, произошедшей
|
||
ранее по ходу установки. В данном случае придется просмотреть
|
||
соответствующие журнальные файлы и устранить исходную
|
||
проблему.</para>
|
||
|
||
<para>Если после просмотра журнальных файлов выявлена только эта
|
||
ошибка (проверьте &sap; Notes), можно поменять
|
||
<literal>STATUS</literal> соответствующего шага с <literal>ERROR</literal> на <literal>OK</literal> (в файле
|
||
<filename>CENTRDB.R3S</filename>) и перезапустить
|
||
<command>R3SETUP</command>. После установки надо
|
||
выполнить отчет <literal>RSWBOINS</literal> из транзакции SE38.
|
||
Дополнительную информацию о стадиях <literal>RFCRSWBOINI</literal>
|
||
и <literal>RFCRADDBDIF</literal> см. в &sap; Note 0162266.</para>
|
||
</sect3>
|
||
|
||
<sect3 id="rfcraddbdifindind">
|
||
<title>[RFCRADDBDIF_IND_IND] в ходе <command>R3SETUP</command></title>
|
||
<para>Здесь применяются те же ограничения: проверьте путем просмотра
|
||
журнальных файлов, что эта ошибка не вызвана какими-то предыдущими
|
||
проблемами.</para>
|
||
|
||
<para>Если подтверждается, что применим документ &sap; Note 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> запускается скриптом
|
||
<command>startsap</command>, запускаются отдельные подпроцессы,
|
||
выполняющие грязную работу по запуску всех остальных процессов
|
||
<application>&sap;</application>. В результате, сам скрипт
|
||
не получит уведомления, если что-то пойдет не так.</para>
|
||
|
||
<para>Чтобы проверить, нормально ли запустились процессы
|
||
<application>&sap;</application>, посмотрите на состояние
|
||
процессов с помощью команды <command>ps ax |
|
||
grep <replaceable>SID</replaceable></command>, которая выдаст
|
||
список всех процессов <application>&oracle;</application> и
|
||
<application>&sap;</application>. Если похоже, что некоторых
|
||
процессов не хватает или вы не можете подключиться к системе
|
||
<application>&sap;</application>, просмотрите соответствующие
|
||
журнальные файлы, которые можно найти в каталоге
|
||
<filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename>.
|
||
Надо просматривать файлы <filename>dev_ms</filename> и
|
||
<filename>dev_disp</filename>.</para>
|
||
|
||
<para>Сигнал 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, например,
|
||
для использования процессора).</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="linuxemu-advanced">
|
||
<title>Дополнительные сведения</title>
|
||
|
||
<para>Если вы интересуетесь, как обеспечивается двоичная совместимость
|
||
с Linux, этот раздел для вас. Большинство материала взято из
|
||
электронного письма, адресованного Terry Lambert
|
||
<email>tlambert@primenet.com</email> в &a.chat; (ID письма:
|
||
<literal><199906020108.SAA07001@usr09.primenet.com></literal>).</para>
|
||
|
||
<sect2>
|
||
<title>Как все это устроено?</title>
|
||
<indexterm><primary>загрузчик выполняемых классов</primary></indexterm>
|
||
|
||
<para>FreeBSD поддерживает абстракцию, называемую <quote>загрузчик
|
||
выполняемых классов</quote>. Фактически, он является первой
|
||
стадией системного вызова &man.execve.2;.</para>
|
||
|
||
<para>На самом деле, FreeBSD имеет список загрузчиков вместо
|
||
одного, завершающийся загрузчиком <literal>#!</literal> для
|
||
запуска любых командных интерпретаторов и скриптов.</para>
|
||
|
||
<para>Исторически сложилось, что единственный загрузчик в &unix;
|
||
системах проверял <quote>магическое число</quote> (чаще всего первые
|
||
4 или 8 байт файла), чтобы определить, известен ли формат
|
||
двоичного файла системе, и если да, то вызвал соответствующий
|
||
загрузчик.</para>
|
||
|
||
<para>Если файл не опознавался системой как двоичный, системный
|
||
вызов &man.execve.2; возвращал ошибку, и текущий командный
|
||
интерпретатор начинал выполнять файл как скрипт.</para>
|
||
|
||
<para>По умолчанию скрипт выполнялся <quote>текущим командным
|
||
интерпретатором</quote>.</para>
|
||
|
||
<para>Позднее, &man.sh.1; был модифицирован, так, чтобы проверять
|
||
первые два символа в файле, и если они оказывались
|
||
<literal>:\n</literal>, то файл выполнялся как сценарий для
|
||
&man.csh.1; (утверждается, что SCO были первыми, кто сделал
|
||
эту модификацию).</para>
|
||
|
||
<para>FreeBSD сейчас ведет себя по-другому: пробегает по списку
|
||
загрузчиков,включающему специальный загрузчик <literal>#!</literal>,
|
||
который вызывает нужный интерпретатор, указанный после этих символов
|
||
до следующего пробела, или <filename>/bin/sh</filename>, если
|
||
не нашел подходящего.</para>
|
||
<indexterm><primary>ELF</primary></indexterm>
|
||
|
||
<para>Для поддержки Linux ABI FreeBSD ищет магическое число,
|
||
соответствующее двоичному файлу ELF (на этой стадии не различаются
|
||
FreeBSD, &solaris;, Linux или любая другая ОС поддерживающая формат
|
||
ELF).</para>
|
||
<indexterm><primary>Solaris</primary></indexterm>
|
||
|
||
<para>Далее, ELF-загрузчик определяет <quote>марку</quote> (brand)
|
||
двоичного файла ELF (специальный комментарий в ELF-файле,
|
||
отсутствующий в двоичных файлах ELF SVR4/&solaris;).</para>
|
||
|
||
<para>Соответственно, Linux программы должны быть
|
||
<quote>маркированы</quote> для <literal>Linux</literal> (например, с
|
||
помощью утилиты &man.brandelf.1;):</para>
|
||
|
||
<screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
|
||
|
||
<para>Когда это сделано, загрузчик ELF выявит марку
|
||
<literal>Linux</literal> в файле.</para>
|
||
<indexterm>
|
||
<primary>ELF</primary>
|
||
<secondary>branding</secondary>
|
||
</indexterm>
|
||
|
||
<para>Когда ELF-загрузчик находит <quote>марку</quote>
|
||
<literal>Linux</literal>, он заменяет соответствующий указатель в
|
||
структуре <literal>proc</literal>. Все системные вызовы
|
||
индексируются через этот указатель (в традиционной &unix; системе это
|
||
массив структур <literal>sysent[]</literal>, содержащий системные
|
||
вызовы). Кроме того, процесс помечается для специальной обработки
|
||
вектора обработчиков сигналов, а также ряда других (небольших)
|
||
исправлений, которые осуществляются специальным модулем ядра для
|
||
поддержки Linux.</para>
|
||
|
||
<para>Вектор системных вызовов Linux содержит, среди прочего, список
|
||
записей <literal>sysent[]</literal>, адреса которых находятся в
|
||
модуле ядра.</para>
|
||
|
||
<para>При выполнении системного вызова из двоичного файла Linux,
|
||
код обработчика разыменовывает указатель на функцию системного вызова
|
||
из структуры <literal>proc</literal>, и получает точки входа
|
||
системных вызовов Linux, а не FreeBSD.</para>
|
||
|
||
<para>Плюс ко всему, в Linux–режиме динамически <quote>изменяется
|
||
корень</quote> файловой системы при поиске файлов; фактически
|
||
так же, как и параметр <literal>union</literal> при монтировании
|
||
файловых систем (не путать с <literal>unionfs</literal>!).
|
||
Сперва, файл ищется в каталоге
|
||
<filename>/compat/linux/<replaceable>исходное_полное_имя</replaceable></filename>
|
||
и только затем, в случае неудачи, в
|
||
<filename>/<replaceable>исходное_полное_имя</replaceable></filename>.
|
||
Это гарантирует, что программы, которым требуются другие программы,
|
||
смогут работать (например, весь набор инструментальных средств Linux
|
||
сможет работать в среде поддержки Linux ABI). Это также дает
|
||
возможность Linux программам выполнять FreeBSD команды, если не
|
||
найдется соответствующих Linux команд. Например, можно скопировать
|
||
FreeBSD &man.uname.1; в дерево каталогов
|
||
<filename>/compat/linux</filename>, и Linux-программы не смогут
|
||
разобраться, что они работают не в Linux.</para>
|
||
|
||
<para>Фактически, имеется ядро Linux в ядре FreeBSD; различные
|
||
базовые функции, реализующие все услуги ядра, идентичны как
|
||
в записях таблицы системных вызовов FreeBSD, так и в записях
|
||
таблицы системных вызовов Linux: операции с файловой системой,
|
||
виртуальная память, средства доставки сигналов,
|
||
System V IPC … Единственное отличие в том, что
|
||
FreeBSD-программы получают <emphasis>интерфейсные</emphasis> функции
|
||
FreeBSD, а Linux-программы получают <emphasis>интерфейсные</emphasis>
|
||
функции Linux (в большинстве более старых ОС есть только их
|
||
собственные интерфейсные функции: функции берутся из статического
|
||
глобального массива структур <literal>sysent[]</literal>, а не
|
||
из массива, полученного разыменованием динамически
|
||
проинициализированного указателя в структуре
|
||
<literal>proc</literal> процесса, выполняющего вызов).</para>
|
||
|
||
<para>Какая же реализация ABI для FreeBSD <quote>родная</quote>? Это
|
||
не имеет значения. Единственное различие (на данный момент, в
|
||
будущем все может и, вероятно, изменится), пожалуй, в том, что
|
||
функции системных вызовов FreeBSD зашиты в ядро, а для Linux они
|
||
могут быть либо статически скомпонованы в ядро, либо получаться
|
||
через модуль ядра.</para>
|
||
|
||
<para>Да, но можно ли назвать это эмуляцией? Нет. Это реализация ABI,
|
||
а не эмуляция. Как таковой, эмулятор (или симулятор)
|
||
отсутствует.</para>
|
||
|
||
<para>В таком случае, почему же иногда говорят об
|
||
<quote>эмуляции Linux</quote>? Чтобы <quote>насолить</quote>
|
||
FreeBSD! Фактически, причина в том, что на момент первой реализации
|
||
не существовало слова, которое бы точнее описывало этот процесс.
|
||
Нельзя было сказать, что FreeBSD запускает приложения Linux (без
|
||
перекомпиляции или загрузки соответствующего модуля ядра это
|
||
невозможно). Но надо было как-то описать, что
|
||
загружается — отсюда и <quote>эмулятор Linux</quote>.</para>
|
||
</sect2>
|
||
</sect1>
|
||
</chapter>
|