Update translated parts (MFen 1.35 -> 1.114)
Fixes Obtained from: The FreeBSD Russian Documentation Project
This commit is contained in:
parent
db62e8f84f
commit
524e777036
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=22342
1 changed files with 384 additions and 183 deletions
|
@ -2,13 +2,32 @@
|
||||||
The FreeBSD Russian Documentation Project
|
The FreeBSD Russian Documentation Project
|
||||||
|
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml,v 1.8 2004/08/26 11:16:12 den Exp $
|
$FreeBSDru$
|
||||||
|
|
||||||
Original revision: 1.35
|
Original revision: 1.114
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="linuxemu">
|
<chapter id="linuxemu">
|
||||||
<chapterinfo>
|
<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>
|
<authorgroup>
|
||||||
<author>
|
<author>
|
||||||
<firstname>Алексей</firstname>
|
<firstname>Алексей</firstname>
|
||||||
|
@ -19,17 +38,18 @@
|
||||||
</chapterinfo>
|
</chapterinfo>
|
||||||
<title>Работа с приложениями, написанными для Linux</title>
|
<title>Работа с приложениями, написанными для Linux</title>
|
||||||
|
|
||||||
<para><emphasis>Реструктурировал и частично дополнил &a.jim;, 22 марта
|
<sect1 id="linuxemu-synopsis">
|
||||||
2000. Оригинальная версия Brian N. Handy и &a.rich;</emphasis></para>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>Краткий обзор</title>
|
<title>Краткий обзор</title>
|
||||||
|
|
||||||
<para>В этой главе будет рассказано о том, каким образом можно запускать
|
<indexterm><primary>Linux - бинарная совместимость</primary></indexterm>
|
||||||
приложения, изначально написанные для Linux, под FreeBSD и что нужно
|
<indexterm>
|
||||||
для этого сделать.</para>
|
<primary>бинарная совместимость</primary>
|
||||||
|
<secondary>Linux</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>Возможно, Вы спрашиваете себя, зачем FreeBSD нужно уметь работать
|
<para>FreeBSD предоставляет бинарную совместимость с несколькими другими
|
||||||
|
&unix; подобными операционными системами, включая Linux.
|
||||||
|
Возможно, Вы спрашиваете себя, зачем FreeBSD нужно уметь работать
|
||||||
с приложениями, написанными для Linux. Ответ на этот вопрос достаточно
|
с приложениями, написанными для Linux. Ответ на этот вопрос достаточно
|
||||||
прост: многие компании и разработчики производят программное
|
прост: многие компании и разработчики производят программное
|
||||||
обеспечение только для Linux, так как эта операционная система очень
|
обеспечение только для Linux, так как эта операционная система очень
|
||||||
|
@ -44,69 +64,113 @@
|
||||||
эмуляция.</para>
|
эмуляция.</para>
|
||||||
|
|
||||||
<para>Вкратце, FreeBSD позволяет Вам работать с 90% приложений для
|
<para>Вкратце, FreeBSD позволяет Вам работать с 90% приложений для
|
||||||
Linux без каких-либо модификаций последних. Среди них: Star Office,
|
Linux без каких-либо модификаций последних. Среди них:
|
||||||
Linux версия Netscape, Adobe Acrobat, RealPlayer 5 и 7, VMWare,
|
<application>&staroffice;</application>, Linux версия
|
||||||
Oracle, WordPerfect, Doom, Quake и многие другие. Есть сведения, что
|
<application>&netscape;</application>,
|
||||||
|
<application>&adobe; &acrobat;</application>,
|
||||||
|
<application><trademark
|
||||||
|
class="registered">RealPlayer</trademark></application>
|
||||||
|
5 и 7, <application><trademark>VMware</trademark></application>,
|
||||||
|
<application>&oracle;</application>, <application><trademark
|
||||||
|
class="registered">WordPerfect</trademark></application>,
|
||||||
|
<application>Doom</application>, <application>Quake</application>,
|
||||||
|
и многие другие. Есть сведения, что
|
||||||
в некоторых ситуациях эти Linux программы показывали более высокую
|
в некоторых ситуациях эти Linux программы показывали более высокую
|
||||||
производительность при работе под FreeBSD, чем под Linux.</para>
|
производительность при работе под FreeBSD, чем под Linux.</para>
|
||||||
|
|
||||||
<para>Конечно, существует некоторые особенности Linux, которые (пока) не
|
<indexterm>
|
||||||
|
<primary>Linux</primary>
|
||||||
|
<secondary>файловая система <filename>/proc</filename></secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Конечно, существует некоторые особенности Linux, которые не
|
||||||
поддерживаются в полной мере FreeBSD. Например, так обстоят дела с
|
поддерживаются в полной мере FreeBSD. Например, так обстоят дела с
|
||||||
приложениями Linux, использующими файловую систему
|
приложениями Linux, использующими файловую систему
|
||||||
<filename>/proc</filename>, так как реализация последней сильно
|
<filename>/proc</filename>, так как реализация последней сильно
|
||||||
отличается от таковой в FreeBSD (однако, ситуация меняется к лучшему:
|
отличается от файловой системы <filename>/proc</filename> в FreeBSD.
|
||||||
в FreeBSD-CURRENT поддержка Linux procfs уже встроена в систему).
|
Существуют также системные вызовы, специфичные для &i386;, как,
|
||||||
Существуют также системные вызовы, специфичные для i386, как,
|
например, переключение в виртуальный режим 8086.</para>
|
||||||
например, переключение в режим V86.</para>
|
|
||||||
|
<para>При чтении этой главы вы узнаете:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Как включить бинарную совместимость с Linux в
|
||||||
|
вашей системе.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Как установить дополнительные совместно используемые
|
||||||
|
библиотеки 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>
|
||||||
|
|
||||||
<para>О том, как установить поддержку запуска Linux программ, читайте в
|
|
||||||
<link linkend="linuxemu-lbc-install">следующей секции</link>.</para>
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="linuxemu-lbc-install">
|
<sect1 id="linuxemu-lbc-install">
|
||||||
<title>Инсталляция</title>
|
<title>Установка</title>
|
||||||
|
|
||||||
<para>Начиная с 3.0-RELEASE, больше нет необходимости указывать
|
<indexterm><primary>KLD (загружаемый объект ядра)</primary></indexterm>
|
||||||
<literal>options LINUX</literal> или <literal>options
|
|
||||||
COMPAT_LINUX</literal> в Вашем файле конфигурации ядра.</para>
|
|
||||||
|
|
||||||
<para>Поддержка Linux приложений осуществляется посредством специального
|
<para>Бинарная совместимость с Linux не включена по умолчанию.
|
||||||
модуля ядра (KLD объекта, <quote>Kernel LoaDable object</quote>), то
|
Простейший способ включения этой функциональности заключается
|
||||||
есть его можно загрузить/выгрузить <quote>на лету</quote>, без
|
в загрузке KLD объекта <literal>linux</literal> (<quote>Kernel
|
||||||
необходимости перезагрузки. Вам потребуется убедиться в наличии
|
LoaDable object</quote>). Вы можете загрузить этот модуль,
|
||||||
следующей строки в файле <filename>/etc/rc.conf</filename>:</para>
|
просто набрав <command>linux</command> в командной строке.</para>
|
||||||
|
|
||||||
<programlisting>linux_enable=<quote>YES</quote></programlisting>
|
<para>Если вы хотите, чтобы совместимость с Linux была включена
|
||||||
|
постоянно, необходимо добавить в <filename>/etc/rc.conf</filename>
|
||||||
|
следующую строку:</para>
|
||||||
|
|
||||||
<para>Это, в свою очередь, повлияет на выполнение следующего кода в
|
<programlisting>linux_enable="YES"</programlisting>
|
||||||
файле <filename>/etc/rc.i386</filename>:</para>
|
|
||||||
|
|
||||||
<programlisting># Start the Linux binary compatibility if requested.
|
<para>Для проверки того, загружен ли KLD, может быть использована
|
||||||
#
|
команда &man.kldstat.8;:</para>
|
||||||
case ${linux_enable} in
|
|
||||||
[Yy][Ee][Ss])
|
|
||||||
echo -n ' linux'; linux > /dev/null 2>&1
|
|
||||||
;;
|
|
||||||
esac</programlisting>
|
|
||||||
|
|
||||||
<para>Если Вы хотите проверить, загружен ли модуль, это можно сделать
|
|
||||||
при помощи команды <command>kldstat</command>:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>kldstat</userinput>
|
<screen>&prompt.user; <userinput>kldstat</userinput>
|
||||||
Id Refs Address Size Name
|
Id Refs Address Size Name
|
||||||
1 2 0xc0100000 16bdb8 kernel
|
1 2 0xc0100000 16bdb8 kernel
|
||||||
7 1 0xc24db000 d000 linux.ko</screen>
|
7 1 0xc24db000 d000 linux.ko</screen>
|
||||||
|
|
||||||
<para>Если по какой-либо причине Вы не хотите или не можете загрузить
|
<indexterm>
|
||||||
KLD, то Вы можете статически включить поддержку Linux в ядро
|
<primary>параметры ядра</primary>
|
||||||
посредством опции <literal>options LINUX</literal> в файле
|
<secondary>LINUX</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Если по какой-либо причине вы не хотите или не можете загрузить
|
||||||
|
KLD, то вы можете статически включить поддержку Linux в ядро
|
||||||
|
посредством опции <literal>options COMPAT_LINUX</literal> в файле
|
||||||
конфигурации ядра. Затем соберите и проинсталлируйте новое ядро,
|
конфигурации ядра. Затем соберите и проинсталлируйте новое ядро,
|
||||||
следуя описанию в секции, посвященной <link
|
следуя описанию в <xref linkend="kernelconfig">.</para>
|
||||||
linkend="kernelconfig">конфигурации ядра</link>.</para>
|
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Установка необходимых Linux библиотек</title>
|
<title>Установка необходимых Linux библиотек</title>
|
||||||
|
|
||||||
|
<indexterm>
|
||||||
|
<primary>Linux</primary>
|
||||||
|
<secondary>установка библиотек Linux</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>Установить все требуемые библиотеки можно двумя путями: либо
|
<para>Установить все требуемые библиотеки можно двумя путями: либо
|
||||||
используя порт <link linkend="linuxemu-libs-port">linux_base</link>,
|
используя порт <link linkend="linuxemu-libs-port">linux_base</link>,
|
||||||
либо установив их <link
|
либо установив их <link
|
||||||
|
@ -115,9 +179,12 @@ Id Refs Address Size Name
|
||||||
<sect3 id="linuxemu-libs-port">
|
<sect3 id="linuxemu-libs-port">
|
||||||
<title>Установка с помощью порта linux_base</title>
|
<title>Установка с помощью порта linux_base</title>
|
||||||
|
|
||||||
|
<indexterm><primary>коллекция портов</primary></indexterm>
|
||||||
|
|
||||||
<para>Этот метод является самым простым, и мы рекомендуем
|
<para>Этот метод является самым простым, и мы рекомендуем
|
||||||
воспользоваться именно им. Процесс аналогичен установке любого
|
воспользоваться именно им. Процесс аналогичен установке любого
|
||||||
другого порта из <ulink url="../ports/">коллекции портов</ulink>.
|
другого порта из <ulink type="html"
|
||||||
|
url="file://localhost/usr/ports/">коллекции портов</ulink>.
|
||||||
Просто выполните следующие команды:</para>
|
Просто выполните следующие команды:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
|
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
|
||||||
|
@ -127,13 +194,20 @@ Id Refs Address Size Name
|
||||||
программы, возможно, будут сообщать о несоответствии подверсий
|
программы, возможно, будут сообщать о несоответствии подверсий
|
||||||
некоторых системных библиотек. Однако, практически, это не
|
некоторых системных библиотек. Однако, практически, это не
|
||||||
вызывает каких-либо неудобств.</para>
|
вызывает каких-либо неудобств.</para>
|
||||||
|
|
||||||
|
<note><para>Возможно наличие нескольких версий порта <filename
|
||||||
|
role="package">emulators/linux_base</filename>, соответствующих
|
||||||
|
различным версиям разных дистрибутивов Linux. Вы должны
|
||||||
|
установить порт, наиболее близко соотвествующий требованиям
|
||||||
|
приложений Linux, которые будут установлены.</para></note>
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 id="linuxemu-libs-manually">
|
<sect3 id="linuxemu-libs-manually">
|
||||||
<title>Установка библиотек вручную</title>
|
<title>Установка библиотек вручную</title>
|
||||||
|
|
||||||
<para>Если у Вас нет установленной коллекции портов, то можно
|
<para>Если у вас нет установленной коллекции портов, можно
|
||||||
установить требуемые библиотеки вручную Вам понадобятся
|
установить требуемые библиотеки вручную. Вам понадобятся
|
||||||
разделяемые библиотеки для Linux, которые нужны программам, и
|
разделяемые библиотеки для Linux, которые нужны программам, и
|
||||||
runtime-компоновщик. Вам также потребуется создать <quote>теневой
|
runtime-компоновщик. Вам также потребуется создать <quote>теневой
|
||||||
корень</quote>: директорию <filename>/compat/linux</filename>, где
|
корень</quote>: директорию <filename>/compat/linux</filename>, где
|
||||||
|
@ -147,55 +221,62 @@ Id Refs Address Size Name
|
||||||
находиться в теневом дереве, а не в пути, сообщаемым командой
|
находиться в теневом дереве, а не в пути, сообщаемым командой
|
||||||
Linux <command>ld.so</command>.</para>
|
Linux <command>ld.so</command>.</para>
|
||||||
|
|
||||||
<para>По мере работы с различными Linux программами, у Вас будет
|
<para>По мере работы с различными Linux программами, у вас будет
|
||||||
накапливаться некий базовый набор библиотек, которого будет
|
накапливаться некий базовый набор библиотек, которого будет
|
||||||
достаточно для большинства существующих Linux приложений.</para>
|
достаточно для большинства существующих Linux приложений.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Как установить дополнительные разделяемые библиотеки</title>
|
<title>Как установить дополнительные совместно используемые библиотеки</title>
|
||||||
|
|
||||||
|
<indexterm><primary>совместно используемые библиотеки</primary></indexterm>
|
||||||
|
|
||||||
<para>Что, если при установленном <filename>linux_base</filename>
|
<para>Что, если при установленном <filename>linux_base</filename>
|
||||||
порте Ваше приложение все равно сообщает об отсутствии необходимой
|
порте ваше приложение все равно сообщает об отсутствии необходимой
|
||||||
библиотеки? Как узнать, какая именно нужна библиотека и где ее
|
библиотеки? Как узнать, какая именно нужна библиотека и где ее
|
||||||
взять? В принципе, есть два способа. Вам необходимо иметь
|
взять? В принципе, есть два способа. Вам необходимо иметь
|
||||||
привилегии суперпользователя для их осуществления.</para>
|
привилегии суперпользователя для их осуществления.</para>
|
||||||
|
|
||||||
<para>Если у Вас есть доступ к машине, на которой установлен Linux,
|
<para>Если у вас есть доступ к машине, на которой установлен Linux,
|
||||||
узнайте, какие библиотеки использует Linux приложение, и просто
|
узнайте, какие библиотеки использует Linux приложение, и просто
|
||||||
скопируйте из на свою машину. Например:</para>
|
скопируйте из на свою машину. Например:</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<para>Допустим, Вы скачали по FTP Linux версию Doom'а (на Linux
|
<para>Допустим, вы скачали по FTP Linux версию
|
||||||
|
<application>Doom</application> (на Linux
|
||||||
машине). Вы можете узнать, какие разделяемые библиотеки нужны
|
машине). Вы можете узнать, какие разделяемые библиотеки нужны
|
||||||
Doom'у при помощи команды <command>ldd linuxdoom</command>:</para>
|
<application>Doom</application> при помощи команды
|
||||||
|
<command>ldd linuxdoom</command>:</para>
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
|
<screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
|
||||||
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
|
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
|
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>
|
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
|
||||||
|
|
||||||
|
<indexterm><primary>символические ссылки</primary></indexterm>
|
||||||
|
|
||||||
<para>Вам потребуются все файлы, перечисленные в последней
|
<para>Вам потребуются все файлы, перечисленные в последней
|
||||||
колонке. Скопируйте их в директорию
|
колонке. Скопируйте их в директорию
|
||||||
<filename>/compat/linux</filename> на Вашей системе, а также
|
<filename>/compat/linux</filename> на вашей системе, а также
|
||||||
создайте символические ссылки на эти файлы, с именами ссылок из
|
создайте символические ссылки на эти файлы, с именами ссылок из
|
||||||
первой колонки соответственно. В итоге у Вас на машине должны
|
первой колонки соответственно. В итоге у вас на машине должны
|
||||||
быть следующие файлы:</para>
|
быть следующие файлы:</para>
|
||||||
|
|
||||||
<screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
|
<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/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.1.0
|
||||||
/compat/linux/usr/X11/lib/libX11.so.3 -> 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>
|
/compat/linux/lib/libc.so.4.6.29
|
||||||
|
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<note>
|
<note>
|
||||||
<para>Заметьте, что если у Вас уже есть какая-либо из
|
<para>Заметьте, что если у вас уже есть какая-либо из
|
||||||
перечисленных библиотек, то ее не нужно копировать заново.
|
перечисленных библиотек, то ее не нужно копировать заново.
|
||||||
Однако, у Вас может быть более старая версия. В этом
|
Однако, у вас может быть более старая версия. В этом
|
||||||
случае, лучше все-таки скопировать библиотеку поздней
|
случае, лучше все-таки скопировать библиотеку поздней
|
||||||
версии, изменив соответственно ссылку на нее. Предыдущую
|
версии, изменив соответственно ссылку на нее. Предыдущую
|
||||||
версию библиотеки можно удалить. Например, пусть у Вас есть
|
версию библиотеки можно удалить. Например, пусть у вас есть
|
||||||
следующие библиотеки:</para>
|
следующие библиотеки:</para>
|
||||||
|
|
||||||
<screen>/compat/linux/lib/libc.so.4.6.27
|
<screen>/compat/linux/lib/libc.so.4.6.27
|
||||||
|
@ -209,7 +290,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
|
||||||
<para>Если подверсии немного отличаются, копировать
|
<para>Если подверсии немного отличаются, копировать
|
||||||
<filename>/lib/libc.so.4.6.29</filename> необязательно, так
|
<filename>/lib/libc.so.4.6.29</filename> необязательно, так
|
||||||
как программа, скорее всего, будет нормально работать и с
|
как программа, скорее всего, будет нормально работать и с
|
||||||
устаревшей версией. Тем не менее, Вы можете заменить
|
устаревшей версией. Тем не менее, вы можете заменить
|
||||||
<filename>libc.so</filename>:</para>
|
<filename>libc.so</filename>:</para>
|
||||||
|
|
||||||
<screen>/compat/linux/lib/libc.so.4.6.29
|
<screen>/compat/linux/lib/libc.so.4.6.29
|
||||||
|
@ -222,7 +303,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
|
||||||
<para>Символические ссылки важны <emphasis>только</emphasis>
|
<para>Символические ссылки важны <emphasis>только</emphasis>
|
||||||
для Linux программ. Runtime-компоновщик FreeBSD
|
для Linux программ. Runtime-компоновщик FreeBSD
|
||||||
самостоятельно подберет правильные номера версий библиотек,
|
самостоятельно подберет правильные номера версий библиотек,
|
||||||
и Вам не нужно об этом беспокоиться.</para>
|
и вам не нужно об этом беспокоиться.</para>
|
||||||
</note>
|
</note>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</informalexample>
|
</informalexample>
|
||||||
|
@ -230,9 +311,14 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Настройка Linux ELF-исполняемых файлов</title>
|
<title>Установка Linux ELF исполняемых файлов</title>
|
||||||
|
|
||||||
<para>Для ELF-программ иногда требуется сделать так называемый
|
<indexterm>
|
||||||
|
<primary>Linux</primary>
|
||||||
|
<secondary>ELF исполняемые файлы</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Для ELF программ иногда требуется сделать так называемый
|
||||||
<quote>branding</quote>. Если при попытке запустить ELF-файл, Вы
|
<quote>branding</quote>. Если при попытке запустить ELF-файл, Вы
|
||||||
получаете следующее сообщение об ошибке:</para>
|
получаете следующее сообщение об ошибке:</para>
|
||||||
|
|
||||||
|
@ -246,32 +332,35 @@ Abort</screen>
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>brandelf -t Linux linux-elf-программа</userinput></screen>
|
<screen>&prompt.user; <userinput>brandelf -t Linux linux-elf-программа</userinput></screen>
|
||||||
|
|
||||||
<para>Следует отметить, что программы, для которых необходим
|
<indexterm><primary>GNU toolchain</primary></indexterm>
|
||||||
<quote>branding</quote>, встречаются все реже и реже, и в недалеком
|
|
||||||
будущем Вы вряд ли прибегнете к нему вообще.</para>
|
<para>В настоящее время GNU toolchain помещает необходимую информацию
|
||||||
|
в исполняемые файлы ELF автоматически, поэтому необходимость
|
||||||
|
в этом действии случается все реже и реже, и в недалеком
|
||||||
|
будущем вы вряд ли прибегнете к нему вообще.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Распознавание доменных имен</title>
|
<title>Распознавание доменных имен</title>
|
||||||
|
|
||||||
<para>Если DNS не настроен или недоступен, или Вы получаете это
|
<para>Если DNS не настроен или недоступен, или вы получаете это
|
||||||
сообщение:</para>
|
сообщение:</para>
|
||||||
|
|
||||||
<screen>resolv+: "bind" is an invalid keyword resolv+:
|
<screen>resolv+: "bind" is an invalid keyword resolv+:
|
||||||
"hosts" is an invalid keyword</screen>
|
"hosts" is an invalid keyword</screen>
|
||||||
|
|
||||||
<para>то Вам нужно создать (модифицировать) файл
|
<para>то вам нужно создать (модифицировать) файл
|
||||||
<filename>/compat/linux/etc/host.conf</filename>, содержащий:</para>
|
<filename>/compat/linux/etc/host.conf</filename>, содержащий:</para>
|
||||||
|
|
||||||
<programlisting>order hosts, bind
|
<programlisting>order hosts, bind
|
||||||
multi on</programlisting>
|
multi on</programlisting>
|
||||||
|
|
||||||
<para>Таким образом, Вы указываете, то сначала производится поиск в
|
<para>Таким образом, вы указываете, то сначала производится поиск в
|
||||||
файле <filename>/etc/hosts</filename>, а только затем запрашивается
|
файле <filename>/etc/hosts</filename>, а только затем запрашивается
|
||||||
DNS. Когда файл <filename>/compat/linux/etc/host.conf</filename>
|
DNS. Когда файл <filename>/compat/linux/etc/host.conf</filename>
|
||||||
отсутствует, Linux приложения находят файл
|
отсутствует, Linux приложения находят файл
|
||||||
<filename>/etc/host.conf</filename> для FreeBSD и сообщают о
|
<filename>/etc/host.conf</filename> для FreeBSD и сообщают о
|
||||||
несовместимом синтаксисе. Если Вы не настраивали сервер имен
|
несовместимом синтаксисе. Если вы не настраивали сервер имен
|
||||||
(<filename>/etc/resolv.conf</filename>), уберите
|
(<filename>/etc/resolv.conf</filename>), уберите
|
||||||
<literal>bind</literal> из файла
|
<literal>bind</literal> из файла
|
||||||
<filename>/compat/linux/etc/host.conf</filename>.</para>
|
<filename>/compat/linux/etc/host.conf</filename>.</para>
|
||||||
|
@ -279,29 +368,52 @@ multi on</programlisting>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="linuxemu-mathematica">
|
<sect1 id="linuxemu-mathematica">
|
||||||
<title>Установка пакета Mathematica</title>
|
<sect1info>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Murray</firstname>
|
||||||
|
<surname>Stokely</surname>
|
||||||
|
<contrib>Обновил для Mathematica 4.X </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Bojan</firstname>
|
||||||
|
<surname>Bistrovic</surname>
|
||||||
|
<contrib>Объединено с работой </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
</sect1info>
|
||||||
|
|
||||||
<para><emphasis>Обновлено для Mathematica версии 4.x &a.murray;
|
<title>Установка &mathematica;</title>
|
||||||
и объединено с работой Bojan Bistrovic
|
|
||||||
<email>bojanb@physics.odu.edu</email>.</emphasis></para>
|
|
||||||
|
|
||||||
<para>Ниже описано, как установить Linux версию пакета Mathematica 4.x
|
<indexterm>
|
||||||
на FreeBSD систему.</para>
|
<primary>приложения</primary>
|
||||||
|
<secondary><application>Mathematica</application></secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>Linux версия Mathematica отлично работает под FreeBSD, однако
|
<para>Ниже описано, как установить Linux версию пакета
|
||||||
исполняемые файлы должны быть модифицированы утилитой
|
<application>&mathematica; 4.X</application>
|
||||||
&man.brandelf.1;.</para>
|
на систему FreeBSD.</para>
|
||||||
|
|
||||||
<para>Linux версия пакета Mathematica или Mathematica для Студентов
|
<para>Linux версия <application>&mathematica;</application> отлично
|
||||||
|
работает под FreeBSD, однако
|
||||||
|
исполняемые файлы, поставляемые Wolfram, должны быть модифицированы
|
||||||
|
утилитой &man.brandelf.1;, чтобы FreeBSD знала о необходимости
|
||||||
|
использования Linux ABI для их выполнения.</para>
|
||||||
|
|
||||||
|
<para>Linux версия пакета <application>&mathematica;</application>
|
||||||
|
или <application>&mathematica;</application> для студентов
|
||||||
может быть заказана непосредственно через Wolfram по адресу <ulink
|
может быть заказана непосредственно через Wolfram по адресу <ulink
|
||||||
url="http://www.wolfram.com/">http://www.wolfram.com/</ulink>.</para>
|
url="http://www.wolfram.com/"></ulink>.</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Модификация исполняемых файлов</title>
|
<title>Модификация исполняемых файлов</title>
|
||||||
|
|
||||||
<para>Исполняемые файлы пакета Mathematica находятся в директории
|
<para>Исполняемые файлы пакета <application>&mathematica;</application>
|
||||||
|
находятся в директории
|
||||||
<filename>Unix</filename> на компакт диске с дистрибутивом.
|
<filename>Unix</filename> на компакт диске с дистрибутивом.
|
||||||
Скопируйте эту директорию (вместе со всеми подкаталогами) на Ваш
|
Скопируйте эту директорию (вместе со всеми подкаталогами) на ваш
|
||||||
жесткий диск, чтобы модифицировать (утилитой &man.brandelf.1;)
|
жесткий диск, чтобы модифицировать (утилитой &man.brandelf.1;)
|
||||||
исполняемые файлы перед инсталляцией:</para>
|
исполняемые файлы перед инсталляцией:</para>
|
||||||
|
|
||||||
|
@ -316,48 +428,59 @@ multi on</programlisting>
|
||||||
&prompt.root; <userinput>cd /localdir/Installers/Linux/</userinput>
|
&prompt.root; <userinput>cd /localdir/Installers/Linux/</userinput>
|
||||||
&prompt.root; <userinput>./MathInstaller</userinput></screen>
|
&prompt.root; <userinput>./MathInstaller</userinput></screen>
|
||||||
|
|
||||||
<para>Вы также можете установить ELF brand по умолчанию в Linux
|
<para>Вы также можете установить ELF brand по умолчанию для всех
|
||||||
brand с помощью команды:</para>
|
приложений Linux, которым это требуется, с помощью команды:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>sysctl -w kern.fallback_elf_brand=3</userinput></screen>
|
<screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen>
|
||||||
|
|
||||||
<para>Это заставит FreeBSD думать о том, что все программы не
|
<para>FreeBSD будет считать, что все программы, не
|
||||||
обработанные &man.brandelf.1; используют Linux ABI и Вы сможете
|
обработанные &man.brandelf.1; используют Linux ABI и вы сможете
|
||||||
запустить MathInstaller прямо с CDROM.</para>
|
запустить MathInstaller прямо с CDROM.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Пароль к пакету Mathematica</title>
|
<title>Пароль к пакету &mathematica;</title>
|
||||||
|
|
||||||
<para>Вам необходимо зарегистрировать свою копию пакета Mathematica и
|
<para>Вам необходимо зарегистрировать свою копию пакета
|
||||||
|
<application>&mathematica;</application> и
|
||||||
получить от Wolfram специальный пароль, соответствующий
|
получить от Wolfram специальный пароль, соответствующий
|
||||||
<quote>идентификатор машины</quote>.</para>
|
<quote>идентификатору машины</quote>.</para>
|
||||||
|
|
||||||
<para>После того, как Вы установили необходимые библиотеки и
|
<indexterm>
|
||||||
распаковали файлы Mathematica, получите <quote>идентификатор
|
<primary>Ethernet</primary>
|
||||||
|
<secondary>MAC адрес</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>После того, как вы установили необходимые библиотеки и
|
||||||
|
распаковали файлы <application>&mathematica;</application>,
|
||||||
|
получите <quote>идентификатор
|
||||||
машины</quote>, запустив программу <command>mathinfo</command> в
|
машины</quote>, запустив программу <command>mathinfo</command> в
|
||||||
инсталляционной директории. Идентификатор машины зависит от
|
инсталляционной директории. Идентификатор машины зависит от
|
||||||
MAC-адреса Вашей первой ethernet-карточки.</para>
|
MAC-адреса вашей первой Ethernet-карты.</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /localdir/Files/SystemFiles/Installation/Binaries/Linux</userinput>
|
<screen>&prompt.root; <userinput>cd /localdir/Files/SystemFiles/Installation/Binaries/Linux</userinput>
|
||||||
&prompt.root; <userinput>mathinfo</userinput>
|
&prompt.root; <userinput>mathinfo</userinput>
|
||||||
disco.example.com 7115-70839-20412</screen>
|
disco.example.com 7115-70839-20412</screen>
|
||||||
|
|
||||||
<para>При регистрации, либо по телефону или факсу, либо по
|
<para>При регистрации, либо по телефону или факсу, либо по
|
||||||
электронной почте, Вы сообщаете Ваш <quote>идентификатор
|
электронной почте, вы сообщаете <quote>идентификатор
|
||||||
машины</quote>, а в ответ получаете пароль, состоящий из нескольких
|
машины</quote>, а в ответ получаете пароль, состоящий из нескольких
|
||||||
чисел. Введите этот пароль при первом запуске Mathematica.</para>
|
чисел. Введите этот пароль при первом запуске
|
||||||
|
<application>&mathematica;</application>, как и для
|
||||||
|
любой другой платформы.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Внешний интерфейс пакета Mathematica</title>
|
<title>Подключение интерфейс &mathematica; через сеть</title>
|
||||||
|
|
||||||
<para>Mathematica использует специальные шрифты для отображения
|
<para><application>&mathematica;</application> использует специальные
|
||||||
|
шрифты для отображения
|
||||||
некоторых символов, которые отсутствуют в стандартных шрифтах
|
некоторых символов, которые отсутствуют в стандартных шрифтах
|
||||||
(символы интегралов, сумм, греческий алфавит и другие). Протокол X
|
(символы интегралов, сумм, греческий алфавит и другие). Протокол X
|
||||||
требует, чтобы эти шрифты были установлены
|
требует, чтобы эти шрифты были установлены
|
||||||
<emphasis>локально</emphasis>. Это означает, что Вы должны
|
<emphasis>локально</emphasis>. Это означает, что вы должны
|
||||||
скопировать эти шрифты с компакт диска или сетевого узла на Ваш
|
скопировать эти шрифты с компакт диска или сетевого узла
|
||||||
|
<application>&mathematica;</application> на ваш
|
||||||
жесткий диск. Обычно, все шрифты должны находиться в каталоге
|
жесткий диск. Обычно, все шрифты должны находиться в каталоге
|
||||||
<filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> компакт
|
<filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> компакт
|
||||||
диска или
|
диска или
|
||||||
|
@ -368,11 +491,11 @@ disco.example.com 7115-70839-20412</screen>
|
||||||
|
|
||||||
<para>Можно просто скопировать их в один из существующих подкаталогов
|
<para>Можно просто скопировать их в один из существующих подкаталогов
|
||||||
в директории <filename>/usr/X11R6/lib/X11/fonts</filename>. В этом
|
в директории <filename>/usr/X11R6/lib/X11/fonts</filename>. В этом
|
||||||
случае, Вам потребуется отредактировать файл
|
случае, вам потребуется отредактировать файл
|
||||||
<filename>fonts.dir</filename>, добавив в него названия шрифтов и
|
<filename>fonts.dir</filename>, добавив в него названия шрифтов и
|
||||||
изменив число шрифтов в первой строке. Или Вы можете запустить
|
изменив число шрифтов в первой строке. Или вы можете запустить
|
||||||
программу <command>mkfontdir</command>, находясь в том каталоге,
|
программу &man.mkfontdir.1;, находясь в том каталоге,
|
||||||
куда Вы скопировали шрифты.</para>
|
куда вы скопировали шрифты.</para>
|
||||||
|
|
||||||
<para>Есть альтернативный способ: скопировать директории в каталог
|
<para>Есть альтернативный способ: скопировать директории в каталог
|
||||||
<filename>/usr/X11R6/lib/X11/fonts</filename>:</para>
|
<filename>/usr/X11R6/lib/X11/fonts</filename>:</para>
|
||||||
|
@ -386,7 +509,7 @@ disco.example.com 7115-70839-20412</screen>
|
||||||
&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/X</userinput>
|
&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/X</userinput>
|
||||||
&prompt.root; <userinput>mkfontdir</userinput>
|
&prompt.root; <userinput>mkfontdir</userinput>
|
||||||
&prompt.root; <userinput>cd ../MathType1</userinput>
|
&prompt.root; <userinput>cd ../MathType1</userinput>
|
||||||
&prompt.root; <userinput>mkfontdir</userinput</screen>
|
&prompt.root; <userinput>mkfontdir</userinput></screen>
|
||||||
|
|
||||||
<para>Теперь добавьте каталоги с новыми шрифтами в путь к
|
<para>Теперь добавьте каталоги с новыми шрифтами в путь к
|
||||||
шрифтам:</para>
|
шрифтам:</para>
|
||||||
|
@ -395,69 +518,102 @@ disco.example.com 7115-70839-20412</screen>
|
||||||
&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput>
|
&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput>
|
||||||
&prompt.root; <userinput>xset fp rehash</userinput></screen>
|
&prompt.root; <userinput>xset fp rehash</userinput></screen>
|
||||||
|
|
||||||
<para>Если Вы используете XFree86, то можно просто прописать эти
|
<para>Если вы используете <application>&xfree86;</application>,
|
||||||
|
то можно просто прописать эти
|
||||||
каталоги в файле <filename>XF86Config</filename>.</para>
|
каталоги в файле <filename>XF86Config</filename>.</para>
|
||||||
|
|
||||||
<para>Если на Вашем компьютере <emphasis>нет</emphasis> каталога
|
<indexterm><primary>шрифты</primary></indexterm>
|
||||||
<filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, то замените
|
|
||||||
|
<para>Если на вашем компьютере <emphasis>нет</emphasis> каталога
|
||||||
|
<filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, замените
|
||||||
<filename>MathType1</filename> на <filename>Type1</filename> в
|
<filename>MathType1</filename> на <filename>Type1</filename> в
|
||||||
предыдущем примере.</para>
|
предыдущем примере.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="linuxemu-oracle">
|
<sect1 id="linuxemu-maple">
|
||||||
<title>Установка Oracle</title>
|
<title>Installing &maple; *</title>
|
||||||
|
|
||||||
<para><emphasis>Автор Marcel Moolenaar
|
<para>Этот раздел не переведен.</para>
|
||||||
<email>marcel@cup.hp.com</email></emphasis></para>
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="linuxemu-matlab">
|
||||||
|
<title>Installing &matlab; *</title>
|
||||||
|
|
||||||
|
<para>Этот раздел не переведен.</para>
|
||||||
|
</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>
|
<sect2>
|
||||||
<title>Введение</title>
|
<title>Введение</title>
|
||||||
<para>Ниже описан процесс установки Oracle 8.0.5 и Oracle 8.0.5.1
|
|
||||||
Enterprise Edition для Linux на систему с FreeBSD.</para>
|
<para>Ниже описан процесс установки <application>&oracle;
|
||||||
|
8.0.5</application> и <application>&oracle; 8.0.5.1 Enterprise
|
||||||
|
Edition</application> для Linux на систему FreeBSD.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Настройка Linux окружения</title>
|
<title>Настройка Linux окружения</title>
|
||||||
|
|
||||||
<para>Удостоверьтесь, что порты <filename>linux_base</filename> и
|
<para>Удостоверьтесь, что порты <filename
|
||||||
<filename>linux_devtools</filename> установлены на Вашей системе.
|
role='package'>emulators/linux_base</filename> и
|
||||||
Они появились в коллекции портов после выхода FreeBSD 3.2. Если Вы
|
<filename role='package'>devel/linux_devtools</filename> установлены
|
||||||
используете FreeBSD 3.2 или более раннюю, обновите коллекцию портов.
|
на вашей системе. Если у вас возникнут трудности с этими портами,
|
||||||
Нелишним будет и апгрейд до более поздней версии FreeBSD. Если у
|
воспользуйтесь более ранней их версией.</para>
|
||||||
Вас возникнут трудности с <filename>linux_base-6.1</filename> или
|
|
||||||
<filename>linux_devtools-6.1</filename>, воспользуйтесь версией 5.2
|
|
||||||
этих пакетов.</para>
|
|
||||||
|
|
||||||
<para>Если Вы хотите использовать intelligent agent, Вам также
|
<para>Если вы хотите использовать intelligent agent, также
|
||||||
понадобится TCL пакет от Red Hat:
|
понадобится TCL пакет от Red Hat:
|
||||||
<filename>tcl-8.0.3-20.i386.rpm</filename>. Для этого
|
<filename>tcl-8.0.3-20.i386.rpm</filename>. Для этого
|
||||||
воспользуйтесь следующей командой:</para>
|
воспользуйтесь следующей командой <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>package</replaceable></userinput></screen>
|
<screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>пакет</replaceable></userinput></screen>
|
||||||
|
|
||||||
<para>Установка этого пакета должна пройти без каких-либо ошибок.</para>
|
<para>Установка этого <replaceable>пакета</replaceable> должна
|
||||||
|
пройти без каких-либо ошибок.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Настройка окружения Oracle</title>
|
<title>Настройка окружения &oracle;</title>
|
||||||
|
|
||||||
<para>Прежде чем Вы сможете установить Oracle, Вам необходимо
|
<para>Прежде чем вы сможете установить
|
||||||
обеспечить нужное окружение. Ниже описывается, что
|
<application>&oracle;</application>, вам необходимо
|
||||||
<emphasis>конкретно</emphasis> нужно сделать, чтобы успешно запускать
|
обеспечить соответствующее окружение. Ниже дана информация, что
|
||||||
Oracle для Linux под FreeBSD. За общими сведениями обратитесь к
|
<emphasis>именно</emphasis> нужно сделать, чтобы успешно запускать
|
||||||
фирменному руководству по инсталляции Oracle.</para>
|
<application>&oracle;</application> для Linux под FreeBSD,
|
||||||
|
а не то, что написано в фирменном руководстве по установке
|
||||||
|
<application>&oracle;</application>.</para>
|
||||||
|
|
||||||
<sect3 id="linuxemu-kernel-tuning">
|
<sect3 id="linuxemu-kernel-tuning">
|
||||||
<title>Настройка ядра</title>
|
<title>Настройка ядра</title>
|
||||||
|
|
||||||
<para>Как описывается в руководстве по инсталляции, необходимо
|
<indexterm><primary>настройка ядра</primary></indexterm>
|
||||||
|
|
||||||
|
<para>Как описывается в руководстве по установке
|
||||||
|
<application>&oracle;</application>, необходимо
|
||||||
установить максимальный размер разделяемой памяти. Не используйте
|
установить максимальный размер разделяемой памяти. Не используйте
|
||||||
<literal>SHMMAX</literal> под FreeBSD. <literal>SHMMAX</literal>
|
<literal>SHMMAX</literal> под FreeBSD. <literal>SHMMAX</literal>
|
||||||
высчитывается, исходя из <literal>SHMMAXPGS</literal> и
|
высчитывается, исходя из <literal>SHMMAXPGS</literal> и
|
||||||
<literal>PGSIZE</literal>. Следовательно, нужно задавать
|
<literal>PGSIZE</literal>. Следовательно, нужно задавать
|
||||||
<literal>SHMMAXPGS</literal>. За информацией о прочих опциях
|
<literal>SHMMAXPGS</literal>. За информацией о прочих опциях
|
||||||
обратитесь к фирменному руководству:</para>
|
обратитесь к фирменному руководству. Пример настроек:</para>
|
||||||
|
|
||||||
<programlisting>options SHMMAXPGS=10000
|
<programlisting>options SHMMAXPGS=10000
|
||||||
options SHMMNI=100
|
options SHMMNI=100
|
||||||
|
@ -467,7 +623,7 @@ options SEMMNI=70
|
||||||
options SEMMSL=61</programlisting>
|
options SEMMSL=61</programlisting>
|
||||||
|
|
||||||
<para>Установите эти опции в зависимости от того, как и для чего
|
<para>Установите эти опции в зависимости от того, как и для чего
|
||||||
Вы будете использовать Oracle.</para>
|
вы будете использовать <application>&oracle;</application>.</para>
|
||||||
|
|
||||||
<para>Не забудьте добавить следующие строки в файл конфигурации
|
<para>Не забудьте добавить следующие строки в файл конфигурации
|
||||||
ядра:</para>
|
ядра:</para>
|
||||||
|
@ -479,25 +635,30 @@ options SYSVMSG #
|
||||||
|
|
||||||
<sect3 id="linuxemu-oracle-account">
|
<sect3 id="linuxemu-oracle-account">
|
||||||
|
|
||||||
<title>Oracle аккаунт</title>
|
<title>Учетная запись &oracle;</title>
|
||||||
|
|
||||||
<para>Вам нужно создать специальный Oracle аккаунт, как и любой
|
<para>Создайте специальную учетную запись
|
||||||
другой аккаунт. Единственное отличие в том, что Вы должны указать
|
<username>oracle</username>, как и любую другую учетную запись.
|
||||||
для него командный интерпретатор Linux:
|
Единственное отличие в том, что для <username>oracle</username>
|
||||||
<filename>/compat/linux/bin/bash</filename>. Не забудьте добавить
|
необходимо указать командный интерпретатор Linux.
|
||||||
<literal>/compat/linux/bin/bash</literal> в файл
|
Добавьте <filename>/compat/linux/bin/bash</filename> в
|
||||||
<filename>/etc/shells</filename>.</para>
|
<filename>/etc/shells</filename> и установите для
|
||||||
|
<username>oracle</username> командный интерпритатор
|
||||||
|
<filename>/compat/linux/bin/bash</filename>.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 id="linuxemu-environment">
|
<sect3 id="linuxemu-environment">
|
||||||
<title>Переменные окружения</title>
|
<title>Переменные окружения</title>
|
||||||
|
|
||||||
<para>Кроме стандартных переменных окружения, таких как
|
<para>Кроме стандартных переменных окружения
|
||||||
<envar>ORACLE_HOME</envar> и <envar>ORACLE_SID</envar>, Вам нужно
|
<application>&oracle;</application>, таких как
|
||||||
|
<envar>ORACLE_HOME</envar> и <envar>ORACLE_SID</envar>, вам нужно
|
||||||
будет установить следующие дополнительные переменные:</para>
|
будет установить следующие дополнительные переменные:</para>
|
||||||
|
|
||||||
<informaltable frame="none">
|
<informaltable frame="none">
|
||||||
<tgroup cols="2">
|
<tgroup cols="2">
|
||||||
|
<colspec colwidth="1*">
|
||||||
|
<colspec colwidth="2*">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Переменная</entry>
|
<entry>Переменная</entry>
|
||||||
|
@ -547,23 +708,28 @@ ORACLE_SID=ORCL; export ORACLE_SID
|
||||||
ORACLE_TERM=386x; export ORACLE_TERM
|
ORACLE_TERM=386x; export ORACLE_TERM
|
||||||
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
|
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
|
||||||
export CLASSPATH
|
export CLASSPATH
|
||||||
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin
|
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>
|
export PATH</programlisting>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Инсталляция Oracle</title>
|
<title>Установка &oracle;</title>
|
||||||
|
|
||||||
<para>Из-за небольшой несовместимости с Linux эмулятором, Вам нужно
|
<para>Из-за небольшой несовместимости с Linux эмулятором, вам нужно
|
||||||
будет создать подкаталог <filename>.oracle</filename> в директории
|
будет создать подкаталог <filename>.oracle</filename> в каталоге
|
||||||
<filename>/var/tmp</filename> прежде чем можно будет начать
|
<filename>/var/tmp</filename> прежде, чем можно будет начать
|
||||||
инсталляцию. Либо сделайте ее владельцем пользователя oracle, либо
|
установку. Либо сделайте ее владельцем пользователя
|
||||||
поставьте права на запись для всех. Если Вы все сделали правильно,
|
<username>oracle</username>, либо поставьте права на запись для всех.
|
||||||
то инсталляция должна пройти без проблем. Если какие-либо трудности
|
Если вы все сделали правильно, то установка
|
||||||
все же возникли, проверьте еще раз все конфигурационные файлы и
|
<application>&oracle;</application> должна пройти без проблем. Если
|
||||||
целостность дистрибутива. После окончания установки, приложите
|
какие-либо трудности все же возникли, проверьте еще раз все
|
||||||
патчи (смотрите следующие две секции).</para>
|
конфигурационные файлы и/или целостность дистрибутива
|
||||||
|
<application>&oracle;</application>. После окончания установки
|
||||||
|
<application>&oracle;</application> приложите патчи
|
||||||
|
(смотрите следующие два раздела).</para>
|
||||||
|
|
||||||
<para>Одна из часто возникающих проблем — неправильно
|
<para>Одна из часто возникающих проблем — неправильно
|
||||||
установленный TCP адаптер. В результате, невозможно запустить TCP
|
установленный TCP адаптер. В результате, невозможно запустить TCP
|
||||||
|
@ -581,7 +747,8 @@ export PATH</programlisting>
|
||||||
<sect3 id="linuxemu-patch-root">
|
<sect3 id="linuxemu-patch-root">
|
||||||
<title>Модификация root.sh</title>
|
<title>Модификация root.sh</title>
|
||||||
|
|
||||||
<para>Инсталлируя Oracle, необходимо выполнить некоторые действия
|
<para>При установке <application>&oracle;</application>
|
||||||
|
необходимо выполнить некоторые действия
|
||||||
(имея при этом привилегии суперпользователя). Фактически это
|
(имея при этом привилегии суперпользователя). Фактически это
|
||||||
сводится к выполнению скрипта <filename>root.sh</filename>,
|
сводится к выполнению скрипта <filename>root.sh</filename>,
|
||||||
который находится в директории <filename>orainst</filename>.
|
который находится в директории <filename>orainst</filename>.
|
||||||
|
@ -607,17 +774,21 @@ export PATH</programlisting>
|
||||||
#
|
#
|
||||||
# Define variables to be used in this script</programlisting>
|
# Define variables to be used in this script</programlisting>
|
||||||
|
|
||||||
<para>Если Вы инсталлируете Oracle не с компакт диска, то можно
|
<para>Если вы устанавливаете <application>&oracle;</application>
|
||||||
модифицировать файл <filename>rthd.sh</filename>, который
|
не с компакт диска, можно модифицировать исходный файл
|
||||||
находится в директории <filename>orainst</filename>.</para>
|
<filename>root.sh</filename>. Он называется
|
||||||
|
<filename>rthd.sh</filename> и находится в каталоге
|
||||||
|
<filename>orainst</filename>.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 id="linuxemu-patch-tcl">
|
<sect3 id="linuxemu-patch-tcl">
|
||||||
<title>Модификация genclntsh</title>
|
<title>Модификация genclntsh</title>
|
||||||
|
|
||||||
<para>Скрипт genclntsh используется для того, чтобы создать единую
|
<para>Скрипт <command>genclntsh</command> используется для того,
|
||||||
разделяемую клиентскую библиотеку. Приложите следующий патч,
|
чтобы создать единую совместно используемую клиентскую библиотеку,
|
||||||
чтобы закомментировать определение переменной PATH:</para>
|
которая используется для создания демонстраций. Приложите следующий
|
||||||
|
патч, чтобы закомментировать определение переменной
|
||||||
|
<envar>PATH</envar>:</para>
|
||||||
|
|
||||||
<programlisting>*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
|
<programlisting>*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
|
||||||
--- bin/genclntsh Tue Dec 22 15:36:49 1998
|
--- bin/genclntsh Tue Dec 22 15:36:49 1998
|
||||||
|
@ -640,23 +811,32 @@ export PATH</programlisting>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Запуск и использование Oracle</title>
|
<title>Запуск &oracle;</title>
|
||||||
|
|
||||||
<para>Теперь, если Вы все сделали правильно, то можете использовать
|
<para>Теперь, если вы все сделали правильно, то можете использовать
|
||||||
Oracle так же, как если бы Вы поставили его на Linux систему.</para>
|
<application>&oracle;</application> так же, как и в системе
|
||||||
|
Linux.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1>
|
<sect1 id="sapr3">
|
||||||
|
|
||||||
|
<title>Installing &sap.r3; *</title>
|
||||||
|
|
||||||
|
<para>Этот раздел не переведен.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="linuxemu-advanced">
|
||||||
<title>Дополнительные сведения</title>
|
<title>Дополнительные сведения</title>
|
||||||
|
|
||||||
<para>Если Вы интересуетесь, как работает Linux эмуляция, эта секция для
|
<para>Если вы интересуетесь, как работает Linux эмуляция, этот раздел для
|
||||||
Вас. Большинство материала взято из электронного письма, адресованного
|
вас. Большинство материала взято из электронного письма, адресованного
|
||||||
&a.chat; by Terry Lambert <email>tlambert@primenet.com</email> (ID
|
&a.chat; by Terry Lambert <email>tlambert@primenet.com</email> (ID
|
||||||
письма: <literal><199906020108.SAA07001@usr09.primenet.com></literal>).</para>
|
письма: <literal><199906020108.SAA07001@usr09.primenet.com></literal>).</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Как все это устроено?</title>
|
<title>Как все это устроено?</title>
|
||||||
|
<indexterm><primary>загрузчик исполнимых классов</primary></indexterm>
|
||||||
|
|
||||||
<para>FreeBSD поддерживает абстракцию, называемую <quote>загрузчик
|
<para>FreeBSD поддерживает абстракцию, называемую <quote>загрузчик
|
||||||
исполнимых классов</quote>, который фактически является первой
|
исполнимых классов</quote>, который фактически является первой
|
||||||
|
@ -666,7 +846,7 @@ export PATH</programlisting>
|
||||||
одного, который, в случае неудачи, выполняет программу как
|
одного, который, в случае неудачи, выполняет программу как
|
||||||
сценарий (скрипт).</para>
|
сценарий (скрипт).</para>
|
||||||
|
|
||||||
<para>Исторически сложилось, что единственный загрузчик в UNIX
|
<para>Исторически сложилось, что единственный загрузчик в &unix;
|
||||||
системах проверял <quote>магическое число</quote> (чаще всего первые
|
системах проверял <quote>магическое число</quote> (чаще всего первые
|
||||||
4 или 8 байт файла), чтобы определить, известен ли формат
|
4 или 8 байт файла), чтобы определить, известен ли формат
|
||||||
исполняемого файла системе, и если да, то вызвал соответствующий
|
исполняемого файла системе, и если да, то вызвал соответствующий
|
||||||
|
@ -686,16 +866,18 @@ export PATH</programlisting>
|
||||||
включая специальный <literal>#!</literal> загрузчик, который
|
включая специальный <literal>#!</literal> загрузчик, который
|
||||||
вызывает нужный интерпретатор или <filename>/bin/sh</filename>, если
|
вызывает нужный интерпретатор или <filename>/bin/sh</filename>, если
|
||||||
не нашел подходящего.</para>
|
не нашел подходящего.</para>
|
||||||
|
<indexterm><primary>ELF</primary></indexterm>
|
||||||
|
|
||||||
<para>Формат исполняемого файла FreeBSD определяет по
|
<para>Формат исполняемого файла FreeBSD определяет по
|
||||||
<quote>магическому числу</quote>. На этой стадии пока не
|
<quote>магическому числу</quote>. На этой стадии пока не
|
||||||
различается, для какой операционной системы предназначен файл
|
различается, для какой операционной системы предназначен файл
|
||||||
(Linux, Solaris, или любой другой, использующей ELF-формат
|
(Linux, &solaris;, или любой другой, использующей ELF-формат
|
||||||
исполняемых файлов).</para>
|
исполняемых файлов).</para>
|
||||||
|
<indexterm><primary>Solaris</primary></indexterm>
|
||||||
|
|
||||||
<para>Далее, ELF-загрузчик определяет <quote>марку</quote>
|
<para>Далее, ELF-загрузчик определяет <quote>марку</quote>
|
||||||
(специальный комментарий; отсутствует в исполняемых файлах
|
(специальный комментарий; отсутствует в исполняемых файлах
|
||||||
SVR4/Solaris) исполняемого файла, то есть для какой операционной
|
SVR4/&solaris;) исполняемого файла, то есть для какой операционной
|
||||||
системы он предназначен.</para>
|
системы он предназначен.</para>
|
||||||
|
|
||||||
<para>Соответственно, Linux программы должны быть
|
<para>Соответственно, Linux программы должны быть
|
||||||
|
@ -704,19 +886,24 @@ export PATH</programlisting>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
|
<screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
|
||||||
|
|
||||||
|
<indexterm>
|
||||||
|
<primary>ELF</primary>
|
||||||
|
<secondary>branding</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>Когда ELF-загрузчик находит <quote>марку</quote>
|
<para>Когда ELF-загрузчик находит <quote>марку</quote>
|
||||||
<literal>Linux</literal>, он заменяет соответствующий указатель в
|
<literal>Linux</literal>, он заменяет соответствующий указатель в
|
||||||
структуре <literal>proc</literal>. Все системные вызовы
|
структуре <literal>proc</literal>. Все системные вызовы
|
||||||
индексируются через этот указатель (в традиционной UNIX системе, это
|
индексируются через этот указатель (в традиционной &unix; системе это
|
||||||
массив <literal>sysent[]</literal>, содержащий системные вызовы).
|
массив <literal>sysent[]</literal>, содержащий системные вызовы).
|
||||||
Некоторые особые ситуации и системные вызовы обрабатываются
|
Некоторые особые ситуации и системные вызовы обрабатываются
|
||||||
специальным модулем ядра поддержки Linux.</para>
|
специальным модулем ядра поддержки Linux.</para>
|
||||||
|
|
||||||
<para>Плюс ко всему, Linux эмулятор динамически <quote>изменяет
|
<para>Плюс ко всему, Linux эмулятор динамически <quote>изменяет
|
||||||
корень</quote> файловой системы при поиске файлов (фактически делая
|
корень</quote> файловой системы при поиске файлов; фактически
|
||||||
то же самое, что и опция <literal>union</literal> при монтировании
|
так же, как и параметр <literal>union</literal> при монтировании
|
||||||
файловых систем (не путать с unionfs!)). Сперва, файл ищется в
|
файловых систем (не путать с <literal>unionfs</literal>!).
|
||||||
директории
|
Сперва, файл ищется в каталоге
|
||||||
<filename>/compat/linux/<replaceable>original-path</replaceable></filename>
|
<filename>/compat/linux/<replaceable>original-path</replaceable></filename>
|
||||||
и только затем, в случае неудачи, в
|
и только затем, в случае неудачи, в
|
||||||
<filename>/<replaceable>original-path</replaceable></filename>. Это
|
<filename>/<replaceable>original-path</replaceable></filename>. Это
|
||||||
|
@ -745,15 +932,29 @@ export PATH</programlisting>
|
||||||
могут быть либо в ядре, либо в динамически загружаемом
|
могут быть либо в ядре, либо в динамически загружаемом
|
||||||
модуле.</para>
|
модуле.</para>
|
||||||
|
|
||||||
<para>Можно ли назвать это эмуляцией? Нет. Как таковой, эмулятор
|
<para>Можно ли назвать это эмуляцией? Нет. Это реализация ABI,
|
||||||
(или симулятор) отсутствует. В таком случае, почему же тогда
|
а не эмуляция. Как таковой, эмулятор (или симулятор)
|
||||||
|
отсутствует.</para>
|
||||||
|
|
||||||
|
<para>В таком случае, почему же тогда
|
||||||
говорят <quote>Linux эмуляция</quote>? Чтобы
|
говорят <quote>Linux эмуляция</quote>? Чтобы
|
||||||
<quote>насолить</quote> FreeBSD?! <!-- smiley -->8-). На самом
|
<quote>насолить</quote> FreeBSD?!. На самом
|
||||||
деле, это вопрос терминологии: не существовало слова, которое бы
|
деле, это вопрос терминологии: не существовало слова, которое бы
|
||||||
точнее описывало этот процесс. Нельзя сказать, что FreeBSD
|
точнее описывало этот процесс. Нельзя сказать, что FreeBSD
|
||||||
запускает приложения Linux (без перекомпиляции или загрузки
|
запускает приложения Linux (без перекомпиляции или загрузки
|
||||||
соответствующего модуля ядра). Тогда и придумали термин
|
соответствующего модуля ядра). Поэтому и придумали термин
|
||||||
<quote>Linux эмуляция</quote>.</para>
|
<quote>Linux эмуляция</quote>.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Local Variables:
|
||||||
|
mode: sgml
|
||||||
|
sgml-declaration: "../chapter.decl"
|
||||||
|
sgml-indent-data: t
|
||||||
|
sgml-omittag: nil
|
||||||
|
sgml-always-quote-attributes: t
|
||||||
|
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
||||||
|
End:
|
||||||
|
-->
|
||||||
|
|
Loading…
Reference in a new issue