diff --git a/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml b/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml index f0b301a687..e891150c84 100644 --- a/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml +++ b/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Russian Documentation Project $FreeBSD$ - $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml,v 1.10 2004/09/15 07:25:27 den Exp $ + $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml,v 1.11 2004/11/22 13:49:55 den Exp $ Original revision: 1.114 --> @@ -21,7 +21,7 @@ Brian N. Handy - Первоначально предоставили + Первоначально предоставил Rich @@ -35,22 +35,29 @@ Перевод на русский язык: + + + Валерий + Кравчук + Перевод на русский язык и редактирование: + + - Работа с приложениями, написанными для Linux + + Двоичная совместимость с Linux Краткий обзор - Linux - бинарная совместимость - бинарная совместимость + двоичная совместимость Linux - FreeBSD предоставляет бинарную совместимость с несколькими другими - &unix; подобными операционными системами, включая Linux. - Возможно, Вы спрашиваете себя, зачем FreeBSD нужно уметь работать - с приложениями, написанными для Linux. Ответ на этот вопрос достаточно + FreeBSD предоставляет двоичную совместимость с несколькими другими + &unix;–подобными операционными системами, включая Linux. + Возможно, вы спрашиваете себя, зачем FreeBSD нужно уметь работать + с приложениями, написанными для Linux? Ответ на этот вопрос достаточно прост: многие компании и разработчики производят программное обеспечение только для Linux, так как эта операционная система очень быстро завоевала огромную популярность в компьютерном мире. @@ -58,14 +65,15 @@ разработчикам с просьбами выпустить версии своих программ специально для FreeBSD. Проблема в том, что большинство производителей программного обеспечения не осознают, насколько бы увеличился их рынок - сбыта, выпускай они FreeBSD версии наряду с Linux версиями, и - продолжают разрабатывать только под Linux. Что же делать - пользователям FreeBSD? В этой ситуации на помощь приходит Linux - эмуляция. + сбыта, выпускай они также FreeBSD–версии, и продолжают разрабатывать + только под Linux. Что же делать пользователям FreeBSD? В этой + ситуации на помощь приходит двоичная совместимость FreeBSD с + Linux. - Вкратце, FreeBSD позволяет Вам работать с 90% приложений для - Linux без каких-либо модификаций последних. Среди них: - &staroffice;, Linux версия + Вкратце, эта совместимость позволяет пользователям FreeBSD + работать с 90% приложений для Linux без каких-либо модификаций + последних. Среди этих приложений: + &staroffice;, Linux–версия &netscape;, &adobe; &acrobat;, &oracle;, WordPerfect, Doom, Quake, - и многие другие. Есть сведения, что - в некоторых ситуациях эти Linux программы показывали более высокую - производительность при работе под FreeBSD, чем под Linux. + и многие другие. Есть сведения, что в некоторых ситуациях эти + Linux–программы показывали более высокую производительность при + работе под FreeBSD, чем под Linux. Linux @@ -84,38 +92,34 @@ Конечно, существует некоторые особенности Linux, которые не - поддерживаются в полной мере FreeBSD. Например, так обстоят дела с - приложениями Linux, использующими файловую систему - /proc, так как реализация последней сильно - отличается от файловой системы /proc в FreeBSD. - Существуют также системные вызовы, специфичные для &i386;, как, - например, переключение в виртуальный режим 8086. + поддерживаются в полной мере под FreeBSD. Например, не будут + работать приложения Linux, использующие файловую систему + /proc (реализация которой отличается от файловой + системы /proc в ОС FreeBSD) или специфичные + вызовы &i386;, такие как переключение в виртуальный режим 8086. При чтении этой главы вы узнаете: - Как включить бинарную совместимость с Linux в + Как включить двоичную совместимость с Linux в вашей системе. Как установить дополнительные совместно используемые - библиотеки Linux. + (shared) библиотеки Linux. - Как установить приложения Linux в систему - FreeBSD. + Как установить приложения Linux в систему FreeBSD. - Детали реализации совместимости с Linux в - FreeBSD. + Детали реализации совместимости с Linux в ОС FreeBSD. - Перед прочтением этой главы вам - потребуется: + Перед прочтением этой главы вам потребуется: @@ -132,9 +136,9 @@ KLD (загружаемый объект ядра) - Бинарная совместимость с Linux не включена по умолчанию. + Двоичная совместимость с Linux не включена по умолчанию. Простейший способ включения этой функциональности заключается - в загрузке KLD объекта linux (Kernel + в загрузке KLD–объекта linux (Kernel LoaDable object). Вы можете загрузить этот модуль, просто набрав linux в командной строке. @@ -144,7 +148,7 @@ linux_enable="YES" - Для проверки того, загружен ли KLD, может быть использована + Для проверки того, загружен ли модуль, может быть использована команда &man.kldstat.8;: &prompt.user; kldstat @@ -158,13 +162,13 @@ Id Refs Address Size Name Если по какой-либо причине вы не хотите или не можете загрузить - KLD, то вы можете статически включить поддержку Linux в ядро - посредством опции options COMPAT_LINUX в файле - конфигурации ядра. Затем соберите и проинсталлируйте новое ядро, + KLD, вы можете статически включить поддержку Linux в ядро, + добавив опцию options COMPAT_LINUX в файл + конфигурации ядра. Затем соберите и установите новое ядро, следуя описанию в . - Установка необходимых Linux библиотек + Установка необходимых библиотек Linux Linux @@ -190,9 +194,9 @@ Id Refs Address Size Name &prompt.root; cd /usr/ports/emulators/linux_base &prompt.root; make install distclean - Теперь Вы можете работать с приложениями для Linux. Некоторые + Теперь вы можете работать с приложениями для Linux. Некоторые программы, возможно, будут сообщать о несоответствии подверсий - некоторых системных библиотек. Однако, практически, это не + некоторых системных библиотек. Однако обычно это не вызывает каких-либо неудобств. Возможно наличие нескольких версий порта Установка библиотек вручную - Если у вас нет установленной коллекции портов, можно + Если у вас не установлена коллекция портов, можно установить требуемые библиотеки вручную. Вам понадобятся - разделяемые библиотеки для Linux, которые нужны программам, и - runtime-компоновщик. Вам также потребуется создать теневой - корень: директорию /compat/linux, где - будут расположены Linux библиотеки. Если нужно загрузить - какую-либо разделяемую библиотеку, FreeBSD сперва будет пытаться - найти ее в этом дереве. Так, если программа загружает, например, - /lib/libc.so, FreeBSD попытается открыть - /compat/linux/lib/libc.so, и если такого - файла не существует, будет пытаться открыть + совместно используемые библиотеки для Linux, которые нужны программам, и + runtime–компоновщик. Вам также потребуется создать теневой + корневой каталог, /compat/linux, где + будут расположены Linux–библиотеки. Если Linux–программе нужно + загрузить какую–либо совместно используемую библиотеку, FreeBSD сперва будет + пытаться найти ее в этом дереве. Так, если программа загружает, + например, /lib/libc.so, FreeBSD попытается + открыть /compat/linux/lib/libc.so, и если + такого файла не существует, будет пытаться открыть /lib/libc.so. Разделяемые библиотеки должны - находиться в теневом дереве, а не в пути, сообщаемым командой - Linux ld.so. + находиться в теневом дереве, а не в каталогах, выдаваемых + загрузчиком Linux ld.so. - По мере работы с различными Linux программами, у вас будет - накапливаться некий базовый набор библиотек, которого будет - достаточно для большинства существующих Linux приложений. + Обычно вам придется добавлять совместно используемые библиотеки, от + которых зависят Linux–программы, только при нескольких первых + установках приложений Linux на вашу систему FreeBSD. По мере + работы, у вас в системе накопится достаточный набор совместно используемых + библиотек Linux для запуска новых Linux-программ без + дополнительных действий. @@ -235,17 +242,18 @@ Id Refs Address Size Name порте ваше приложение все равно сообщает об отсутствии необходимой библиотеки? Как узнать, какая именно нужна библиотека и где ее взять? В принципе, есть два способа. Вам необходимо иметь - привилегии суперпользователя для их осуществления. + привилегии пользователя root для их + осуществления. Если у вас есть доступ к машине, на которой установлен Linux, - узнайте, какие библиотеки использует Linux приложение, и просто - скопируйте из на свою машину. Например: + узнайте, какие библиотеки использует Linux–приложение, и просто + скопируйте из на свою машину. Рассмотрим следующий пример: - Допустим, вы скачали по FTP Linux версию - Doom (на Linux - машине). Вы можете узнать, какие разделяемые библиотеки нужны - Doom при помощи команды + Допустим, вы скачали по FTP Linux–версию + Doom и установили ее на Linux–машине. + Вы можете узнать, какие совместно используемые библиотеки нужны + Doom, с помощью команды ldd linuxdoom: &prompt.user; ldd linuxdoom @@ -255,12 +263,11 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 символические ссылки - Вам потребуются все файлы, перечисленные в последней - колонке. Скопируйте их в директорию - /compat/linux на вашей системе, а также - создайте символические ссылки на эти файлы, с именами ссылок из - первой колонки соответственно. В итоге у вас на машине должны - быть следующие файлы: + Вам потребуются все файлы, перечисленные в последнем + столбце. Скопируйте их в дерево /compat/linux + на вашей системе, а также создайте символические ссылки на эти + файлы с именами из первого столбца, соответственно. В итоге, + у вас в системе FreeBSD должны быть следующие файлы: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 @@ -271,26 +278,31 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
- Заметьте, что если у вас уже есть какая-либо из - перечисленных библиотек, то ее не нужно копировать заново. - Однако, у вас может быть более старая версия. В этом - случае, лучше все-таки скопировать библиотеку поздней - версии, изменив соответственно ссылку на нее. Предыдущую - версию библиотеки можно удалить. Например, пусть у вас есть - следующие библиотеки: + Учтите, что если у вас уже есть совместно используемая библиотека + Linux с соответствующим первому столбцу результатов + ldd основным номером версии, вам не + обязательно копировать файл, указанный в последнем столбце, + в вашу систему. Уже существующий файл должен подойти. + Рекомендуется, однако, все равно скопировать совместно используемую + библиотеку, если ее версия новее. Предыдущую версию + библиотеки можно удалить, если создали символическую ссылку + на новую. Итак, если у вас в системе есть следующие + библиотеки: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27 и какое-либо приложение требует библиотеку более поздней - версии, судя по команде ldd: + версии, судя по результатам команды + ldd: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 - Если подверсии немного отличаются, копировать - /lib/libc.so.4.6.29 необязательно, так - как программа, скорее всего, будет нормально работать и с - устаревшей версией. Тем не менее, вы можете заменить + Если версии немного отличаются в последней цифре, + копировать /lib/libc.so.4.6.29 + необязательно, так как программа, скорее всего, будет + нормально работать и с немного устаревшей версией. + Тем не менее, вы можете заменить libc.so: /compat/linux/lib/libc.so.4.6.29 @@ -301,7 +313,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
Символические ссылки важны только - для Linux программ. Runtime-компоновщик FreeBSD + для Linux–программ. Runtime–компоновщик FreeBSD самостоятельно подберет правильные номера версий библиотек, и вам не нужно об этом беспокоиться. @@ -311,45 +323,44 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 - Установка Linux ELF исполняемых файлов + Установка двоичных файлов Linux ELF Linux - ELF исполняемые файлы + двоичные файлы ELF - Для ELF программ иногда требуется сделать так называемый - branding. Если при попытке запустить ELF-файл, Вы - получаете следующее сообщение об ошибке: + Для ELF-файлов иногда требуется сделать так называемый + branding (маркировать его). Если попытаться + запустить немаркированный ELF-файл, вы получите следующее сообщение + об ошибке: - &prompt.user; ./linux-elf-программа + &prompt.user; ./моя-linux-elf-программа ELF binary type not known Abort - то нужно изменить тип исполняемого файла, чтобы ядро FreeBSD - правильно определило, что это Linux программа. Это можно сделать - при помощи утилиты &man.brandelf.1;: + Чтобы помочь ядру FreeBSD отличить ELF-файл FreeBSD от + двоичного файла Linux, используется утилита &man.brandelf.1;: - &prompt.user; brandelf -t Linux linux-elf-программа + &prompt.user; brandelf -t Linux моя-linux-elf-программа GNU toolchain - В настоящее время GNU toolchain помещает необходимую информацию - в исполняемые файлы ELF автоматически, поэтому необходимость - в этом действии случается все реже и реже, и в недалеком - будущем вы вряд ли прибегнете к нему вообще. + В настоящее время набор инструментальных средств GNU + (GNU toolchain) помещает необходимую маркировочную информацию + в двоичные ELF-файлы автоматически, поэтому необходимость + в этом действии возникает всё реже. - Распознавание доменных имен + Конфигурирование распознавания имен хостов - Если DNS не настроен или недоступен, или вы получаете это - сообщение: + Если DNS не работает или вы получаете это сообщение: resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword - то вам нужно создать (модифицировать) файл + то вам нужно создать (изменить) файл /compat/linux/etc/host.conf, содержащий: order hosts, bind @@ -358,10 +369,10 @@ multi on Таким образом, вы указываете, то сначала производится поиск в файле /etc/hosts, а только затем запрашивается DNS. Когда файл /compat/linux/etc/host.conf - отсутствует, Linux приложения находят файл + отсутствует, Linux–приложения находят файл /etc/host.conf для FreeBSD и сообщают о несовместимом синтаксисе. Если вы не настраивали сервер имен - (/etc/resolv.conf), уберите + с помощью файла /etc/resolv.conf, уберите bind из файла /compat/linux/etc/host.conf. @@ -392,30 +403,30 @@ multi on Mathematica - Ниже описано, как установить Linux версию пакета + Ниже описано, как установить Linux–версию пакета &mathematica; 4.X на систему FreeBSD. - Linux версия &mathematica; отлично + Linux–версия &mathematica; отлично работает под FreeBSD, однако - исполняемые файлы, поставляемые Wolfram, должны быть модифицированы + выполняемые файлы, поставляемые Wolfram, должны быть маркированы утилитой &man.brandelf.1;, чтобы FreeBSD знала о необходимости использования Linux ABI для их выполнения. - Linux версия пакета &mathematica; - или &mathematica; для студентов - может быть заказана непосредственно через Wolfram по адресу . + Linux–версию пакета &mathematica; + или &mathematica; for Students + можно заказать непосредственно в компании Wolfram по адресу + . - Модификация исполняемых файлов + Маркировка двоичных файлов Linux - Исполняемые файлы пакета &mathematica; - находятся в директории - Unix на компакт диске с дистрибутивом. - Скопируйте эту директорию (вместе со всеми подкаталогами) на ваш - жесткий диск, чтобы модифицировать (утилитой &man.brandelf.1;) - исполняемые файлы перед инсталляцией: + Двоичные файлы Linux находятся в каталоге + Unix на компакт-диске с дистрибутивом + &mathematica; от Wolfram. + Скопируйте этот каталог (вместе со всеми подкаталогами) на ваш + жесткий диск, чтобы промаркировать (утилитой &man.brandelf.1;) + двоичные файлы Linux перед инсталляцией: &prompt.root; mount /cdrom &prompt.root; cp -rp /cdrom/Unix/ /localdir/ @@ -428,76 +439,74 @@ multi on &prompt.root; cd /localdir/Installers/Linux/ &prompt.root; ./MathInstaller - Вы также можете установить ELF brand по умолчанию для всех - приложений Linux, которым это требуется, с помощью команды: + Вы также можете установить марку ELF Linux по умолчанию для всех + немаркированных двоичных файлов с помощью команды: &prompt.root; sysctl kern.fallback_elf_brand=3 - FreeBSD будет считать, что все программы, не - обработанные &man.brandelf.1; используют Linux ABI и вы сможете + FreeBSD будет считать, что все немаркированные двоичные + ELF-файлы используют Linux ABI, и вы сможете запустить MathInstaller прямо с CDROM. - Пароль к пакету &mathematica; + Получение пароля к пакету &mathematica; - Вам необходимо зарегистрировать свою копию пакета - &mathematica; и - получить от Wolfram специальный пароль, соответствующий + Прежде чем запускать &mathematica;, + вам необходимо получить от компании Wolfram пароль, соответствующий идентификатору машины. Ethernet - MAC адрес + MAC-адрес После того, как вы установили необходимые библиотеки и распаковали файлы &mathematica;, - получите идентификатор - машины, запустив программу mathinfo в - инсталляционной директории. Идентификатор машины зависит от + получите идентификатор машины, запустив + программу mathinfo в + инсталляционном каталоге. Идентификатор машины зависит от MAC-адреса вашей первой Ethernet-карты. &prompt.root; cd /localdir/Files/SystemFiles/Installation/Binaries/Linux &prompt.root; mathinfo disco.example.com 7115-70839-20412 - При регистрации, либо по телефону или факсу, либо по - электронной почте, вы сообщаете идентификатор - машины, а в ответ получаете пароль, состоящий из нескольких - чисел. Введите этот пароль при первом запуске + При регистрации по электронной почте, по телефону или по факсу + вы сообщаете идентификатор машины, а в ответ + получаете пароль, состоящий из нескольких групп чисел. Введите + этот пароль при первом запуске &mathematica;, как и для любой другой платформы. - Подключение интерфейс &mathematica; через сеть + Использование интерфейса &mathematica; по сети &mathematica; использует специальные - шрифты для отображения - некоторых символов, которые отсутствуют в стандартных шрифтах - (символы интегралов, сумм, греческий алфавит и другие). Протокол X - требует, чтобы эти шрифты были установлены + шрифты для отображения некоторых символов, которые отсутствуют в + стандартных шрифтах (символы интегралов, сумм, греческий алфавит и + другие). Протокол X требует, чтобы эти шрифты были установлены локально. Это означает, что вы должны - скопировать эти шрифты с компакт диска или сетевого узла - &mathematica; на ваш - жесткий диск. Обычно, все шрифты должны находиться в каталоге - /cdrom/Unix/Files/SystemFiles/Fonts компакт - диска или + скопировать эти шрифты с компакт-диска или хоста, на котором + установлена &mathematica;, на вашу + машину. Обычно эти шрифты находятся в каталоге + /cdrom/Unix/Files/SystemFiles/Fonts + компакт-диска или в каталоге /usr/local/mathematica/SystemFiles/Fonts на - винчестере. Собственно файлы со шрифтами находятся в подкаталогах + диске. Собственно файлы со шрифтами находятся в подкаталогах Type1 и X. О том, как их использовать, читайте ниже. - Можно просто скопировать их в один из существующих подкаталогов - в директории /usr/X11R6/lib/X11/fonts. В этом - случае, вам потребуется отредактировать файл + Можно просто скопировать их в один из существующих каталогов + шрифтов в каталоге /usr/X11R6/lib/X11/fonts. + В этом случае придётся отредактировать файл fonts.dir, добавив в него названия шрифтов и - изменив число шрифтов в первой строке. Или вы можете запустить + изменив число шрифтов в первой строке. Можно также запустить программу &man.mkfontdir.1;, находясь в том каталоге, куда вы скопировали шрифты. - Есть альтернативный способ: скопировать директории в каталог + Есть альтернативный способ: скопировать каталоги в /usr/X11R6/lib/X11/fonts: &prompt.root; cd /usr/X11R6/lib/X11/fonts @@ -518,7 +527,7 @@ disco.example.com 7115-70839-20412 &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash - Если вы используете &xfree86;, + Если вы используете сервер &xfree86;, то можно просто прописать эти каталоги в файле XF86Config. @@ -532,15 +541,397 @@ disco.example.com 7115-70839-20412 - Installing &maple; * + + + + Aaron + Kaplan + + Предоставил + + + + + Robert + Getschmann + + Благодарности: + + + + Установка &maple; - Этот раздел не переведен. + + приложения + Maple + + + &maple; - коммерческая + математическая программа, аналогичная + &mathematica;. Это программное обеспечение + надо купить у , а потом + зарегистрироваться там для получения файла лицензии. Для установки + это программного обеспечения в ОС FreeBSD используется следующая + последовательность простых шагов. + + + Выполните скрипт командного интерпретатора + INSTALL из дистрибутива. Выберите + опцию RedHat, когда будет предложено программой + установки. Обычно установка выполняется в каталог /usr/local/maple. + + Если вы этого ещё не сделали, купите лицензию на + &maple; в компании Maple Waterloo + Software () + и скопируйте ее в файл + /usr/local/maple/license/license.dat. + + Установите диспетчер лицензий + FLEXlm, выполнив скрипт установки + INSTALL_LIC, входящий в состав + &maple;. Укажите основное имя хоста + вашей машины для сервера лицензий. + + Исправьте файл + /usr/local/maple/bin/maple.system.type + с помощью следующего патча: + ----- 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 ----- + + Учтите, что после "FreeBSD"|\ не должно + быть никаких пробелов. + + Этот патч заставляет &maple; + распознавать FreeBSD как тип Linux-системы. + Скрипт командного интерпретатора bin/maple + вызывает скрипт bin/maple.system.type, + который, в свою очередь, вызывает uname -a для + получения имени операционной системы. В зависимости от имени ОС + он определяет, какие двоичные модули использовать. + + Запустите сервер лицензий. + + Следующий скрипт, установленный в файл + /usr/local/etc/rc.d/lmgrd.sh, обеспечивает + удобный способ запуска lmgrd: + + ----- 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 ------------ + + + Выполните тестовый запуск + &maple;: + &prompt.user; cd /usr/local/maple/bin +&prompt.user; ./xmaple + + Программа должна запуститься и работать. Не забудьте написать + в Maplesoft и сообщить, что хотели бы видеть версию специально + для FreeBSD! + + + + Типичные проблемы + + + Работать с диспетчером лицензий + FLEXlm может быть непросто. + Дополнительную документацию по нему можно найти на сайте . + + lmgrd очень требователен к + файлу лицензии и выдает дамп памяти при выявлении любых проблем. + Правильный файл лицензии должен иметь следующий вид: + +# ======================================================= +# 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 + + Серийный номер и ключ забиты символами 'X'. + chillig – имя хоста. + + Редактирование файла лицензий возможно, если только не + трогать строку FEATURE (которая защищена + лицензионным ключом). + + - Installing &matlab; * + Установка &matlab; + + приложения + MATLAB + - Этот раздел не переведен. + Этот документ описывает процесс установки Linux-версии + &matlab; версии 6.5 на систему + &os;. Эта программа работает вполне нормально, за исключением + &java.virtual.machine; (см. + ). + + Linux-версию &matlab; можно приобрести + непосредственно в компании The MathWorks на сайте . Не забудьте получить + файл лицензии или инструкции по его созданию. По ходу дела дайте + знать производителю, что хотели бы увидеть версию их ПО специально + для &os;. + + + Процесс установки &matlab; + + Для установки &matlab; выполните + следующие шаги: + + + + Вставьте инсталляционный CD и смонтируйте его. + Станьте пользователем root, как рекомендует + скрипт установки. Для запуска скрипта установки наберите: + + &prompt.root; /compat/linux/bin/sh /cdrom/install + + + Запускается графический инсталлятор. Если вы получаете + сообщения о невозможности открыть дисплей, наберите + setenv HOME ~USER, + где USER – пользователь, от + имени которого выполнена команда &man.su.1;. + + + + + + При запросе корневого каталога + &matlab;, наберите: + /compat/linux/usr/local/matlab. + + + Чтобы упростить набор остальных команд в ходе установки, + выполните в командном интерпретаторе следующую команду: + set MATLAB=/compat/linux/usr/local/matlab + + + + + Отредактируйте файл лицензии в соответствии с инструкциями, + в полученной лицензии &matlab;. + + + Этот файл можно подготовить заранее с помощью любого + текстового редактора и скопировать его в + $MATLAB/license.dat до того, как + инсталлятор попросит его отредактировать. + + + + + Завершите процесс установки. + + + + В этот момент ваша установка &matlab; + завершена. Следующие шаги позволяют связать + эту программу с вашей системой &os;. + + + + Запуск диспетчера лицензий + + + Создайте символические ссылки для скриптов диспетчера + лицензий: + + &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW +&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW + + + + Создайте файл запуска + /usr/local/etc/rc.d/flexlm.sh. + Представленный ниже пример – измененная версия входящего + в дистрибутив файла $MATLAB/etc/rc.lm.glnx86. + Изменены местонахождения файлов и диспетчер лицензий запускается + под эмулятором Linux. + + #!/bin/sh +case "$1" in + start) + if [ -f /usr/local/etc/lmboot_TMW ]; then + /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && 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 + + + Этот файл надо сделать выполняемым: + + &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh + + Вы также должны заменить username + именем пользователя в вашей системе (но не + root). + + + + + Запустите диспетчер лицензий с помощью команды: + + &prompt.root; /usr/local/etc/rc.d/flexlm.sh start + + + + + + Связь с &java; Runtime Environment + + Измените ссылку &java; Runtime + Environment (JRE) так, чтобы он ссылалась на версию, работающую + в &os;: + + &prompt.root; cd $MATLAB/sys/java/jre/glnx86/ +&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre + + + + Создание скрипта запуска &matlab; + + + + Поместите следующий скрипт запуска в файл + /usr/local/bin/matlab: + + + #!/bin/sh +/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" + + + + Затем выполните команду + chmod +x /usr/local/bin/matlab. + + + + + В зависимости от версии + emulators/linux_base, при + выполнении этого скрипта могут быть выданы сообщения об ошибках. + Чтобы избежать этого, отредактируйте файл + /compat/linux/usr/local/matlab/bin/matlab + и измените строку вида: + + if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then + + (в версии 13.0.1 это строка 410) на следующую строку: + + if test -L $newbase; then + + + + + Создание скрипта остановки &matlab; + + Следующие действия необходимы для решения проблемы с + некорректным завершением работы &matlab;. + + + + Создайте файл + $MATLAB/toolbox/local/finish.m и поместите + в него одну строку: + + ! $MATLAB/bin/finish.sh + + $MATLAB - литерал. + + + В том же каталоге находятся файлы + finishsav.m и + finishdlg.m, которые позволяют + сохранять рабочее пространство перед выходом. Если вы + используете любой из них, вставьте представленную выше + строку сразу после команды save. + + + + Создайте файл + $MATLAB/bin/finish.sh, который будет + содержать следующий скрипт: + + #!/usr/compat/linux/bin/sh +(sleep 5; killall -1 matlab_helper) & +exit 0 + + + + Сделайте этот файл выполняемым: + + &prompt.root; chmod +x $MATLAB/bin/finish.sh + + + + + + Использование &matlab; + + В этот момент все готово для выполнения команды + matlab и начала использования этой программы. + @@ -570,18 +961,20 @@ disco.example.com 7115-70839-20412 - Настройка Linux окружения + Установка Linux–среды - Удостоверьтесь, что порты emulators/linux_base и + Удостоверьтесь, что порты + emulators/linux_base и devel/linux_devtools установлены - на вашей системе. Если у вас возникнут трудности с этими портами, - воспользуйтесь более ранней их версией. + на вашей системе. Если у вас возникнут трудности с этими портами, + воспользуйтесь пакетами или более ранними их версиями из + коллекции портов. - Если вы хотите использовать intelligent agent, также - понадобится TCL пакет от Red Hat: - tcl-8.0.3-20.i386.rpm. Для этого - воспользуйтесь следующей командой RPM + Если вы хотите использовать интеллектуальный агент (intelligent + agent), придется также установить пакет TCL от Red Hat: + tcl-8.0.3-20.i386.rpm. Универсальная команда + для установки пакетов с помощью официального порта + RPM (archivers/rpm): &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm пакет @@ -591,14 +984,14 @@ disco.example.com 7115-70839-20412 - Настройка окружения &oracle; + Создание среды &oracle; Прежде чем вы сможете установить - &oracle;, вам необходимо - обеспечить соответствующее окружение. Ниже дана информация, что - именно нужно сделать, чтобы успешно запускать - &oracle; для Linux под FreeBSD, - а не то, что написано в фирменном руководстве по установке + &oracle;, необходимо настроить + соответствующую среду. В этом документе описано, что + специально нужно сделать, чтобы запустить + &oracle; для Linux под FreeBSD – + это не пересказ официального руководства по установке &oracle;. @@ -606,14 +999,14 @@ disco.example.com 7115-70839-20412 настройка ядра - Как описывается в руководстве по установке + Как описано в руководстве по установке &oracle;, необходимо - установить максимальный размер разделяемой памяти. Не используйте + установить максимальный размер совместно используемой (shared) памяти. Не используйте SHMMAX под FreeBSD. SHMMAX - высчитывается, исходя из SHMMAXPGS и + просто вычисляется, исходя из SHMMAXPGS и PGSIZE. Следовательно, нужно задавать SHMMAXPGS. За информацией о прочих опциях - обратитесь к фирменному руководству. Пример настроек: + обратитесь к официальному руководству. Пример настроек: options SHMMAXPGS=10000 options SHMMNI=100 @@ -628,7 +1021,7 @@ options SEMMSL=61 Не забудьте добавить следующие строки в файл конфигурации ядра: -options SYSVSHM # разделяемая память SysV +options SYSVSHM # совместно используемая память SysV options SYSVSEM # семафоры SysV options SYSVMSG # межпроцессное взаимодействие SysV @@ -648,12 +1041,12 @@ options SYSVMSG # - Переменные окружения + Переменные среды - Кроме стандартных переменных окружения + Кроме стандартных переменных среды &oracle;, таких как ORACLE_HOME и ORACLE_SID, вам нужно - будет установить следующие дополнительные переменные: + будет установить следующие переменные среды: @@ -697,7 +1090,7 @@ $ORACLE_HOME/bin - Желательно устанавливать их в файле + Желательно устанавливать все переменные среды в файле .profile. Вот реальный пример: ORACLE_BASE=/oracle; export ORACLE_BASE @@ -718,7 +1111,7 @@ export PATH Установка &oracle; - Из-за небольшой несовместимости с Linux эмулятором, вам нужно + Из-за небольшой несовместимости с Linux–эмулятором, вам нужно будет создать подкаталог .oracle в каталоге /var/tmp прежде, чем можно будет начать установку. Либо сделайте ее владельцем пользователя @@ -728,12 +1121,12 @@ export PATH какие-либо трудности все же возникли, проверьте еще раз все конфигурационные файлы и/или целостность дистрибутива &oracle;. После окончания установки - &oracle; приложите патчи - (смотрите следующие два раздела). + &oracle; примените патчи, + описанные в следующих двух подразделах. Одна из часто возникающих проблем — неправильно - установленный TCP адаптер. В результате, невозможно запустить TCP - сервисы. Вот решение проблемы: + установленный адаптер TCP-протокола. В результате, невозможно + запустить процессы прослушивания TCP. Вот решение проблемы: &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk ntcontab.o @@ -745,14 +1138,14 @@ export PATH Не забудьте повторно запустить root.sh! - Модификация root.sh + Изменение root.sh При установке &oracle; - необходимо выполнить некоторые действия - (имея при этом привилегии суперпользователя). Фактически это - сводится к выполнению скрипта root.sh, - который находится в директории orainst. - Перед запуском, приложите к нему следующий патч (исправляет + необходимо выполнить некоторые действия от имени + пользователя root. Они записаны в + скрипте командного интерпретатора root.sh, + который находится в каталоге orainst. + Перед запуском, примените к нему следующий патч (исправляет местонахождение утилиты chown), либо запускайте его в командном интерпретаторе Linux. @@ -775,19 +1168,19 @@ export PATH # Define variables to be used in this script Если вы устанавливаете &oracle; - не с компакт диска, можно модифицировать исходный файл + не с компакт–диска, можно изменить исходный файл root.sh. Он называется rthd.sh и находится в каталоге orainst. - Модификация genclntsh + Изменение genclntsh Скрипт genclntsh используется для того, чтобы создать единую совместно используемую клиентскую библиотеку, - которая используется для создания демонстраций. Приложите следующий - патч, чтобы закомментировать определение переменной + которая используется для создания демонстраций. Примените + следующий патч, чтобы закомментировать определение переменной PATH: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 @@ -820,41 +1213,2132 @@ export PATH + + + + Holger + Kipp + Предоставил + + + + + + Valentino + Vaschetto + Исходную версию преобразовал в SGML + + + - Installing &sap.r3; * + Установка &sap.r3; - Этот раздел не переведен. + + приложения + SAP R/3 + + + Инсталляции систем &sap; на базе FreeBSD + не будут поддерживаться службой поддержки &sap; — они + предоставляют поддержку только на сертифицированных платформах. + + + Предисловие + + Этот документ описывает возможный способ установки системы + &sap.r3; с + СУБД &oracle; Database на машине с ОС + FreeBSD, включая установку FreeBSD и + &oracle;. Будут описаны две + разные конфигурации: + + + + &sap.r3; 4.6B (IDES) с + &oracle; 8.0.5 на FreeBSD 4.3-STABLE + + + + &sap.r3; 4.6C с + &oracle; 8.1.7 на FreeBSD 4.5-STABLE + + + + Хотя в этом документе мы пытаемся подробно описать все важные + шаги, он не заменяет руководства по установке + &oracle; и + &sap.r3;. + + По специфическим вопросам &sap; и + &oracle; обратитесь к документации, + поставляемой в составе &sap.r3; + Linux edition, а также к другим источникам информации об + &oracle; и + &sap; OSS. + + + + Программное обеспечение + + Для установки &sap; были использованы + следующие диски CD-ROM: + + + &sap.r3; 4.6B, &oracle; 8.0.5 + + + + + + Имя Номер Описание + + + + + KERNEL 51009113 SAP Kernel Oracle / + Installation / AIX, Linux, Solaris + + + + RDBMS 51007558 Oracle / RDBMS 8.0.5.X / + Linux + + + + EXPORT1 51010208 IDES / DB-Export / + Диск 1 из 6 + + + + EXPORT2 51010209 IDES / DB-Export / + Диск 2 из 6 + + + + EXPORT3 51010210 IDES / DB-Export / + Диск 3 из 6 + + + + EXPORT4 51010211 IDES / DB-Export / + Диск 4 из 6 + + + + EXPORT5 51010212 IDES / DB-Export / + Диск 5 из 6 + + + + EXPORT6 51010213 IDES / DB-Export / + Диск 6 из 6 + + + + + + Кроме того, мы использовали CD &oracle; 8 + Server (Опытная версия 8.0.5 для Linux, + ядро версии 2.0.33), который не обязательно понадобится, и + FreeBSD 4.3-STABLE (она вышла всего через несколько дней после 4.3 + RELEASE). + + + + &sap.r3; 4.6C SR2, &oracle; 8.1.7 + + + + + + Имя Номер Описание + + + + + + KERNEL 51014004 SAP Kernel Oracle / + SAP Kernel Version 4.6D / DEC, Linux + + + + RDBMS 51012930 Oracle 8.1.7/ RDBMS / + Linux + + + + EXPORT1 51013953 Release 4.6C SR2 / Export + / Диск 1 из 4 + + + + EXPORT1 51013953 Release 4.6C SR2 / Export + / Диск 2 из 4 + + + + EXPORT1 51013953 Release 4.6C SR2 / Export + / Диск 3 bp 4 + + + + EXPORT1 51013953 Release 4.6C SR2 / Export + / Диск 4 из 4 + + + + LANG1 51013954 Release 4.6C SR2 / + Language / DE, EN, FR / Диск 1 из 3 + + + + + + В зависимости от языков, которые необходимо установить, + могут потребоваться дополнительные CD. Здесь мы использовали + только немецкий и английский языки, поэтому потребовался только + первый языковой CD. Обратите внимание, что номера всех + EXPORT CD идентичны. Все три языковых CD тоже имеют один номер + (это отличается от нумерации CD в версии 4.6B IDES). На момент + написания этого раздела (20.03.2002) установленное ПО работало + на FreeBSD 4.5-STABLE. + + + + + Примечания по &sap; + + Прочитайте следующие документы перед установкой + &sap.r3; — они пригодятся в ходе + установки: + + + &sap.r3; 4.6B, &oracle; 8.0.5 + + + + + + Номер + Название + + + + + + 0171356 SAP Software on Linux: Essential + Comments + + + + 0201147 INST: 4.6C R/3 Inst. on UNIX - + Oracle + + + + 0373203 Update / Migration Oracle 8.0.5 --> + 8.0.6/8.1.6 LINUX + + + + 0072984 Release of Digital UNIX 4.0B for + Oracle + + + + 0130581 R3SETUP step DIPGNTAB terminates + + + + 0144978 Your system has not been installed + correctly + + + + 0162266 Questions and tips for R3SETUP on Windows + NT / W2K + + + + + + + + &sap.r3; 4.6C, &oracle; 8.1.7 + + + + + + Номер + Название + + + + + 0015023 Initializing table TCPDB (RSXP0004) + (EBCDIC) + + + + 0045619 R/3 with several languages or + typefaces + + + + 0171356 SAP Software on Linux: Essential + Comments + + + + 0195603 RedHat 6.1 Enterprise version: + Known problems + + + + 0212876 The new archiving tool SAPCAR + + + + 0300900 Linux: Released DELL Hardware + + + + 0377187 RedHat 6.2: important remarks + + + + 0387074 INST: R/3 4.6C SR2 Installation on + UNIX + + + + 0387077 INST: R/3 4.6C SR2 Inst. on UNIX - + Oracle + + + + 0387078 SAP Software on UNIX: OS Dependencies + 4.6C SR2 + + + + + + + + + Требования к аппаратному обеспечению + + Следующего оборудования достаточно для установки + &sap.r3; System. Для производственного + использования необходима более точная оценка параметров: + + + + + + Компонент + 4.6B + 4.6C + + + + + Процессор + 2 x 800MHz &pentium; III + 2 x 800MHz &pentium; III + + + + Память + 1GB ECC + 2GB ECC + + + + Объем дисков + 50-60GB (IDES) + 50-60GB (IDES) + + + + + + Для производственного использования рекомендуются процессоры + &xeon; с большим кешем, высокоскоростной доступ к дискам (SCSI, + аппаратный RAID-контроллер), USV и ECC-RAM. Большой объем дискового + пространства связан с заранее сконфигурированной системой IDES, + которая создает 27 Гбайт файлов базы данных в ходу установки. + Этого пространства также достаточно для исходных производственных + систем и прикладных данных. + + + &sap.r3; 4.6B, &oracle; 8.0.5 + + Было использовано следующее стандартное оборудование: + двухпроцессорная материнская плата с двумя процессорами + &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). + + + + &sap.r3; 4.6C, &oracle; 8.1.7 + + Для этой установки был использован &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). + + + + + Установка FreeBSD + + Сначала надо установить FreeBSD. Есть несколько способов сделать + это (FreeBSD 4.3 была установлена по FTP, + FreeBSD 4.5 - непосредственно с RELEASE CD); подробнее + см. . + + + Компоновка дисков + + Для простоты диски при установке + &sap.r3; 46B и &sap.r3; 46C + SR2 использовались одинаково. Изменились только + имена устройств, поскольку установка выполнялась на разное + оборудование (/dev/da и + /dev/amr, соответственно, так что при + использовании AMI &megaraid; будут задействованы устройства + /dev/amr0s1a вместо /dev/da0s1a): + + + + + + Файловая система + Размер (в блока по 1 Кбайту) + Размер (Гбайт) + Смонтирована в + + + + + /dev/da0s1a + 1.016.303 + 1 + / + + + + /dev/da0s1b + + 6 + swap + + + + /dev/da0s1e + 2.032.623 + 2 + /var + + + + /dev/da0s1f + 8.205.339 + 8 + /usr + + + + /dev/da1s1e + 45.734.361 + 45 + /compat/linux/oracle + + + + /dev/da1s1f + 2.032.623 + 2 + /compat/linux/sapmnt + + + + /dev/da1s1g + 2.032.623 + 2 + /compat/linux/usr/sap + + + + + + Конфигурируем и инициализируем заранее два логических диска + с помощью ПО RAID &mylex; или PERC/3. Программы конфигурирования + можно запустить в ходе загрузки BIOS. + + Обратите внимание, что использованная компоновка дисков + немного отличается от рекомендованной &sap;, поскольку &sap; + рекомендует монтировать подкаталоги + &oracle; (и некоторые другие) + отдельно — мы решили просто создать подкаталоги. + + + + <command>make world</command> и новое ядро + + Загрузите последние исходные коды ветки -STABLE. Пересоздайте + систему и ваше специализированное ядро после необходимых изменений + в файле конфигурации ядра. В него надо включить + параметры ядра, требуемые + для &sap.r3; и + &oracle;. + + + + + Установка среды Linux + + + Установка базовой системы Linux + + Сначала необходимо установить порт + linux_base + (от имени пользователя root): + + &prompt.root; cd /usr/ports/emulators/linux_base +&prompt.root; make install distclean + + + + + Установка среды разработки Linux + + Среда разработки Linux необходима, если вы хотите установить + &oracle; в ОС FreeBSD, как описано в + : + + &prompt.root; cd /usr/ports/devel/linux_devtools +&prompt.root; make install distclean + + Среда разработки Linux была установлена только для + &sap.r3; 46B IDES. Она не нужна, если + сервер &oracle; не перекомпоновывается + в системе FreeBSD. Именно так и происходит, если вы используете + tar-архив (tarball) &oracle; с + Linux-системы. + + + + + Установка необходимых пакетов RPM + RPM + + Для запуска программы R3SETUP необходима + поддержка модулей PAM. В ходе первой установки + &sap; на ОС FreeBSD 4.3-STABLE мы + попытались установить PAM со всеми необходимыми пакетами и, + в конце концов, принудительно установили пакет PAM, что и + сработало. Для &sap.r3; 4.6C SR2 мы + сразу принудительно установили PAM RPM, что тоже сработало, + так что похоже, что пакеты, от которых декларирована зависимость, + не нужны: + + +&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ +pam-0.68-7.i386.rpm + + Чтобы &oracle; 8.0.5 мог запустить + интеллектуального агента, нам также пришлось установить пакет + RedHat Tcl tcl-8.0.5-30.i386.rpm (иначе + перекомпоновка в ходе установки &oracle; + не выполнится). Есть и другие проблемы с перекомпоновкой + &oracle;, но это проблема + &oracle; на Linux, не связанная с + особенностями FreeBSD. + + + + + Дополнительные советы + + Может также иметь смысл добавить linprocfs + в /etc/fstab; подробнее об этом см. на + странице справочника the &man.linprocfs.5;. Еще можно установить + параметр kern.fallback_elf_brand=3 в файле + /etc/sysctl.conf. + + + + + Создание среды &sap.r3; + + + Создание необходимых файловых систем и точек монтирования + + Для простой установки достаточно создать следующие файловые + системы: + + + + + + точка монтирования + размер в Гбайтах + + + + + /compat/linux/oracle + 45 GB + + + + /compat/linux/sapmnt + 2 GB + + + + /compat/linux/usr/sap + 2 GB + + + + + + Также необходимо создать несколько ссылок. В противном случае, + инсталлятор &sap; будет выдавать + сообщения об ошибках, поскольку он проверяет созданные ссылки: + + &prompt.root; ln -s /compat/linux/oracle /oracle +&prompt.root; ln -s /compat/linux/sapmnt /sapmnt +&prompt.root; ln -s /compat/linux/usr/sap /usr/sap + + Возможные сообщения об ошибках в ходе установки (в данном + случае, для установки System PRD и + &sap.r3; 4.6C SR2): + + 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' + + + + Создание пользователей и каталогов + + Для системы &sap.r3; необходимы два + пользователя и три группы. Имена пользователей зависят от + идентификатора системы &sap; (SID), + который состоит из трех букв. Некоторые из этих идентификаторов + зарезервированы &sap; (например, + SAP и NIX. Полный + список см. в документации &sap;). + Для установки IDES мы использовали IDS, + а для установки 4.6C SR2 - PRD, поскольку + эта система предназначалась для промышленного использования. + Поэтому нам понадобились следующие группы (идентификаторы групп + могут отличаться, мы просто указали наши значения, использованные + при установке): + + + + + + идентификатор группы + имя группы + описание + + + + + 100 + dba + Администратор базы данных + + + 101 + sapsys + Система &sap; + + + 102 + oper + Оператор базы данных + + + + + + Для стандартной установки + &oracle; используется только группа + dba. В качестве группы + oper используется та же группа + dba (подробнее об этом см. в + документации &oracle; и + &sap;). + + Нам также нужны следующие пользователи: + + + + + + идентификатор пользователя + имя пользователя + общий вид имени + группа + дополнительные группы + описание + + + + + 1000 + idsadm/prdadm + sidadm + sapsys + oper + Администратор &sap; + + + 1002 + oraids/oraprd + orasid + dba + oper + Администратор &oracle; + + + + + + Добавление пользователей с помощью &man.adduser.8; + требует следующих параметров для Администратора &sap; + (обратите внимание на командный интерпретатор и начальный + каталог): + + Name: sidadm +Password: ****** +Fullname: SAP Administrator SID +Uid: 1000 +Gid: 101 (sapsys) +Class: +Groups: sapsys dba +HOME: /home/sidadm +Shell: bash (/compat/linux/bin/bash) + + а для Администратора &oracle;: + + Name: orasid +Password: ****** +Fullname: Oracle Administrator SID +Uid: 1002 +Gid: 100 (dba) +Class: +Groups: dba +HOME: /oracle/sid +Shell: bash (/compat/linux/bin/bash) + + Для него также надо указать группу + oper, если вы используете обе группы, + dba и oper. + + + + + Создание каталогов + + Эти каталоги обычно создаются в отдельных файловых системах. + Впрочем, все зависит от ваших требований. Мы решили создавать их + как обычные каталоги, поскольку в любом случае они находятся на + одном массиве RAID 5: + + Сначала мы установим владельцев и права для ряда каталогов (от + имени пользователя root): + + &prompt.root; chmod 775 /oracle +&prompt.root; chmod 777 /sapmnt +&prompt.root; chown root:dba /oracle +&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap +&prompt.root; chmod 775 /compat/linux/usr/sap + + Затем, мы создадим каталоги от имени пользователя + orasid. Все они + будут размещены в каталоге + /oracle/SID: + + &prompt.root; su - orasid +&prompt.root; cd /oracle/SID +&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB +&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 +&prompt.root; mkdir saparch sapreorg +&prompt.root; exit + + Для установки &oracle; 8.1.7 + потребуется несколько дополнительных каталогов: + + &prompt.root; su - orasid +&prompt.root; cd /oracle +&prompt.root; mkdir 805_32 +&prompt.root; mkdir client stage +&prompt.root; mkdir client/80x_32 +&prompt.root; mkdir stage/817_32 +&prompt.root; cd /oracle/SID +&prompt.root; mkdir 817_32 + + Каталог client/80x_32 должен иметь + точно такое имя. Не заменяйте x числом или + другим символом. + + На третьем шаге мы создаем каталоги от имени пользователя + sidadm: + + &prompt.root; su - sidadm +&prompt.root; cd /usr/sap +&prompt.root; mkdir SID +&prompt.root; mkdir trans +&prompt.root; exit + + + + Записи в файле <filename>/etc/services</filename> + + Для системы &sap.r3; необходим ряд + записей в файле /etc/services, которые не + будут правильно созданы при установке под FreeBSD. Пожалуйста, + добавьте следующие записи (потребуются, по крайней мере, записи, + соответствующие номеру экземпляра — в данном случае, + 00. Не повредит добавить все записи, от + 00 до 99, для + dp, gw, sp + и ms). Если вы собираетесь использовать + SAProuter или вам необходим доступ к + &sap; OSS, потребуется также запись для + 99, поскольку порт 3299 обычно используется + для процесса SAProuter в целевой + системе: + + +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 +sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number +sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number + + + + Необходимые локали + локаль + + Системе &sap; нужны, по крайней + мере, две локали, не входящие в стандартную установку RedHat. + &sap; предлагает необходимые пакеты RPM для загрузки со своего + FTP-сервера (который доступен только для клиентов с доступом к + OSS). См. список необходимых пакетов RPM в заметке + 0171356. + + Можно также просто создать соответствующие ссылки + (например, с de_DE и + en_US), но мы не рекомендуем это для + производственной системы (хотя это и сработало для системы + IDES безо всяких проблем). Необходимы следующие локали: + + de_DE.ISO-8859-1 +en_US.ISO-8859-1 + + Создайте ссылки следующим образом: + + &prompt.root; cd /compat/linux/usr/share/locale +&prompt.root; ln -s de_DE de_DE.ISO-8859-1 +&prompt.root; ln -s en_US en_US.ISO-8859-1 + + Если их не будет, в ходе установки возникнет ряд проблем. + Если их просто проигнорировать (установив STATUS + для соответствующих шагов равным OK в файле + CENTRDB.R3S), нельзя будет зарегистрироваться + в системе &sap; без дополнительных + усилий. + + + + Настройка ядра + настройка ядра + + Системам &sap.r3; надо много + ресурсов. Поэтому мы добавили следующие параметры в файл + конфигурации ядра: + + # Для пожирателей памяти (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 + + Минимальные значения указаны в документации, поставляемой + вместе с &sap;. Поскольку описания для Linux нет, дополнительную + информацию см. в разделе HP-UX (32-bit). Поскольку в системе, на + которую устанавливалась версия 4.6C SR2, оперативной памяти больше, сегменты совместно используемой можно сделать больше как для + &sap;, так и для + &oracle;, поэтому задайте большее + количество страниц совместно используемой. + + При стандартной установке FreeBSD 4.5 на &i386;, + задайте значения MAXDSIZ и DFLDSIZ не более 1 Гбайта. В противном + случае могут выдаваться странные ошибки вроде + ORA-27102: out of memory и + Linux Error: 12: Cannot allocate + memory. + + + + + Установка &sap.r3; + + + Подготовка дисков CDROM &sap; + + В ходе установки придется монтировать и демонтировать + много дисков CDROM. При наличии достаточного количества приводов + CDROM, можно смонтировать их все. Мы же решили скопировать + содержимое дисков CDROM в соответствующие каталоги: + /oracle/SID/sapreorg/имя_cd + + где имя_cd - одно из следующих + KERNEL, + RDBMS, EXPORT1, + EXPORT2, EXPORT3, + EXPORT4, EXPORT5 и + EXPORT6 для установки 4.6B/IDES, и + KERNEL, RDBMS, + DISK1, DISK2, + DISK3, DISK4 и + LANG для установки 4.6C SR2. Все имена + файлов на смонтированных дисках должны быть в верхнем регистре, + в противном случае, используйте при монтировании опцию + . Поэтому используйте следующие команды: + + &prompt.root; mount_cd9660 -g /dev/cd0a /mnt +&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/имя_cd +&prompt.root; umount /mnt + + + + Запуск скрипта установки + + Сначала надо подготовить каталог install: + + &prompt.root; cd /oracle/SID/sapreorg +&prompt.root; mkdir install +&prompt.root; cd install + + Затем запускается скрипт установки, который скопирует почти + все необходимые файлы в каталог + install: + + &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH + + Дистрибутив IDES (4.6B) включает полностью настроенную + демонстрационную систему &sap.r3;, поэтому он включает шесть + дисков EXPORT CD, а не три. В этот момент шаблон установки + CENTRDB.R3S предназначен для установки + стандартного центрального экземпляра + (&r3; и базы данных), а не для + установки центрального экземпляра IDES, поэтому необходимо + скопировать соответствующий файл CENTRDB.R3S + из каталога EXPORT1, иначе + команда R3SETUP запросит только три диска + EXPORT CDs. + + Более новый релиз &sap; 4.6C SR2 + включает четыре диска EXPORT CD. Шаги установки определяет файл + параметров CENTRAL.R3S. В отличие от + прежних релизов, больше нет отдельных шаблонов установки для + центрального экземпляра с базой данных или без нее. + &sap; использует отдельный шаблон для + установки базы данных. Для перезапуска установки в дальнейшем, + однако, достаточно перезапустить исходный файл. + + В ходе установки и после нее &sap; + требует, чтобы команда hostname возвращала + только имя компьютера, не уточнённое именем домена. Поэтому либо + задайте имя хоста в соответствии с этим требованием, либо + настройте псевдоним с помощью команды + alias hostname='hostname -s' для пользователей + orasid и + sidadm (и для + пользователя root, про крайней мере, + в ходе шагов по установке, выполняемых от имени + root). Можно также изменить + файлы .profile и .login + для обоих пользователей, которые создаются в ходе установки + &sap;. + + + + Запуск <command>R3SETUP</command> 4.6B + + Проверьте, что переменная среды LD_LIBRARY_PATH + установлена правильно: + + &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib + + Выполните команду R3SETUP от имени + пользователя root из каталога установки: + + &prompt.root; cd /oracle/IDS/sapreorg/install +&prompt.root; ./R3SETUP -f CENTRDB.R3S + + Скрипт затем задает ряд вопросов (стандартные ответы даны + в скобках, а затем представлены реальные ответы): + + + + + + Вопрос + Стандартное значение + Ответ + + + + + Enter SAP System ID + [C11] + IDSEnter + + + Enter SAP Instance Number + [00] + Enter + + + Enter SAPMOUNT Directory + [/sapmnt] + Enter + + + Enter name of SAP central host + [troubadix.domain.de] + Enter + + + Enter name of SAP db host + [troubadix] + Enter + + + Select character set + [1] (WE8DEC) + Enter + + + Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 + + 1Enter + + + Extract Oracle Client archive + [1] (Yes, extract) + Enter + + + Enter path to KERNEL CD + [/sapcd] + /oracle/IDS/sapreorg/KERNEL + + + Enter path to RDBMS CD + [/sapcd] + /oracle/IDS/sapreorg/RDBMS + + + Enter path to EXPORT1 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT1 + + + Directory to copy EXPORT1 CD + [/oracle/IDS/sapreorg/CD4_DIR] + Enter + + + Enter path to EXPORT2 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT2 + + + Directory to copy EXPORT2 CD + [/oracle/IDS/sapreorg/CD5_DIR] + Enter + + + Enter path to EXPORT3 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT3 + + + Directory to copy EXPORT3 CD + [/oracle/IDS/sapreorg/CD6_DIR] + Enter + + + Enter path to EXPORT4 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT4 + + + Directory to copy EXPORT4 CD + [/oracle/IDS/sapreorg/CD7_DIR] + Enter + + + Enter path to EXPORT5 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT5 + + + Directory to copy EXPORT5 CD + [/oracle/IDS/sapreorg/CD8_DIR] + Enter + + + Enter path to EXPORT6 CD + [/sapcd] + /oracle/IDS/sapreorg/EXPORT6 + + + Directory to copy EXPORT6 CD + [/oracle/IDS/sapreorg/CD9_DIR] + Enter + + + Enter amount of RAM for SAP + DB + + 850Enter (in Megabytes) + + + Service Entry Message Server + [3600] + Enter + + + Enter Group-ID of sapsys + [101] + Enter + + + Enter Group-ID of oper + [102] + Enter + + + Enter Group-ID of dba + [100] + Enter + + + Enter User-ID of sidadm + [1000] + Enter + + + Enter User-ID of orasid + [1002] + Enter + + + Number of parallel procs + [2] + Enter + + + + + + Если вы не скопировали диски в разные каталоги, + инсталлятор &sap; не сможет найти + необходимые CD (идентифицируемые файлом + LABEL.ASC на диске) и попросит затем + вставить и смонтировать CD, и подтвердить или ввести точку + его монтирования. + + Файл CENTRDB.R3S может содержать + ошибки. В нашем случае, он снова запросил EXPORT4 CD, но + указал корректный ключ (6_LOCATION, затем 7_LOCATION и т.д.), + так что, можно просто продолжать вводить корректные + значения. + + За исключением нескольких упомянутых ниже проблем, все + должно идти нормально до момента, когда придется устанавливать + программное обеспечение для работы с базой данных &oracle;. + + + + Запуск <command>R3SETUP</command> 4.6C SR2 + + Проверьте, что переменная среды LD_LIBRARY_PATH + установлена правильно. Это значение отличается от использованного + при установке версии 4.6B с + &oracle; 8.0.5: + + &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib + + Выполните команду R3SETUP от имени + пользователя root из каталога установки: + + &prompt.root; cd /oracle/PRD/sapreorg/install +&prompt.root; ./R3SETUP -f CENTRAL.R3S + + Скрипт затем задаст ряд вопросов (стандартные значения + даны в скобках, а затем идут реальные ответы): + + + + + + Вопрос + Стандартное значение + Ответ + + + + + Enter SAP System ID + [C11] + PRDEnter + + + Enter SAP Instance Number + [00] + Enter + + + Enter SAPMOUNT Directory + [/sapmnt] + Enter + + + Enter name of SAP central host + [majestix] + Enter + + + Enter Database System ID + [PRD] + PRDEnter + + + Enter name of SAP db host + [majestix] + Enter + + + Select character set + [1] (WE8DEC) + Enter + + + Enter Oracle server version (2) Oracle 8.1.7 + + 2Enter + + + Extract Oracle Client archive + [1] (Yes, extract) + Enter + + + Enter path to KERNEL CD + [/sapcd] + /oracle/PRD/sapreorg/KERNEL + + + Enter amount of RAM for SAP + DB + 2044 + 1800Enter (in Megabytes) + + + Service Entry Message Server + [3600] + Enter + + + Enter Group-ID of sapsys + [100] + Enter + + + Enter Group-ID of oper + [101] + Enter + + + Enter Group-ID of dba + [102] + Enter + + + Enter User-ID of oraprd + [1002] + Enter + + + Enter User-ID of prdadm + [1000] + Enter + + + LDAP support + + 3Enter (no support) + + + Installation step completed + [1] (continue) + Enter + + + Choose installation service + [1] (DB inst,file) + Enter + + + + + + Пока создание пользователей дает сообщение об ошибке при + установке на стадиях OSUSERDBSID_IND_ORA (создание пользователя + orasid) и + OSUSERSIDADM_IND_ORA (создание пользователя + sidadm). + + За исключением некоторых упомянутых далее проблем, все + должно идти нормально до момента, когда придется устанавливать + программное обеспечение для работы с базой данных &oracle;. + + + + + Установка &oracle; 8.0.5 + + Описания возможных проблем с Linux и Сервером + &oracle; см. в соответствующих файлах + &sap; Notes и &oracle; Readme. Большинство, + если не все проблемы, связаны с несовместимыми библиотеками. + + Подробнее об установке &oracle; + см. в главе Установка + &oracle;. + + + + Установка &oracle; 8.0.5 с помощью <command>orainst</command> + + Если надо использовать &oracle; + 8.0.5, для успешной перекомпоновки понадобится + несколько дополнительных библиотек, поскольку + &oracle; 8.0.5 был скомпонован со + старой версией glibc (RedHat 6.0), но уже RedHat 6.1 использует + новую библиотеку glibc. Так что, для успешной перекомпоновки + нужно установить следующие дополнительные пакеты: + + compat-libs-5.2-2.i386.rpm + compat-glibc-5.2-2.0.7.2.i386.rpm + compat-egcs-5.2-1.0.3a.1.i386.rpm + compat-egcs-c++-5.2-1.0.3a.1.i386.rpm compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + + Дополнительную информацию см. в файлах &sap; Notes или &oracle; + Readme. Если установить эти пакеты не + представляется возможным (на момент установки у нас не было + времени, чтобы это проверить), можно использовать исходные двоичные + модули или перекомпонованные двоичные модули с исходной системы + RedHat. + + Для компиляции интеллектуального агента должен быть + установлен пакет RedHat Tcl. Если вы не можете найти пакет + tcl-8.0.3-20.i386.rpm, подойдет и более + новый, вроде tcl-8.0.5-30.i386.rpm для + RedHat 6.1. + + За исключением перекомпоновки, установка выполняется + просто: + + &prompt.root; su - oraids +&prompt.root; export TERM=xterm +&prompt.root; export ORACLE_TERM=xterm +&prompt.root; export ORACLE_HOME=/oracle/IDS +&prompt.root; cd /ORACLE_HOME/orainst_sap +&prompt.root; ./orainst + + Нажимайте на всех экранах клавишу Enter, + пока программное обеспечение не будет установлено, убрав только + пометку выбора с &oracle; On-Line Text Viewer, + поскольку этого компонента для Linux сейчас нет. + &oracle; затем захочет + перекомпоновать модули с помощью + i386-glibc20-linux-gcc + вместо имеющихся gcc, egcs + или i386-redhat-linux-gcc. + + Из-за нехватки времени мы решили использовать двоичные + модули из версии &oracle; 8.0.5 + PreProduction после того, как первая попытка + заставить работать версию с RDBMS CD провалилась, — попытки + найти и загрузить требуемые пакеты RPM нам показались настоящим + кошмаром. + + + + + Установка &oracle; 8.0.5 Pre-production Release для + Linux (ядро 2.0.33) + + Эту установку выполнить очень легко. Монтируем CD, запускаем + инсталлятор. Затем он запрашивает местонахождение начального + каталога &oracle; и копирует туда двоичные модули. Мы, однако, + не удаляли остатки прежних попыток установить RDBMS. + + В конечном итоге, базу данных &oracle; + удалось запустить без проблем. + + + + + Установка tar-архива &oracle; 8.1.7 для Linux + Создайте tar-архив oracle81732.tgz + каталога установки на Linux-системе и разархивируйте его в + каталог /oracle/SID/817_32/. + + + + Продолжение установки &sap.r3; + + Сначала проверьте настройку среды для пользователей + idsamd (sidadm) и + oraids (orasid). У + них обоих должны теперь быть файлы .profile, + .login и .cshrc, + использующие hostname. Если имя хоста в системе + полностью уточнено, надо заменить hostname + командой hostname -s во всех трех файлах. + + + Загрузка базы данных + + Потом команду R3SETUP можно либо + перезапустить, либо продолжить (в зависимости от того, была + ли завершена ее работа). R3SETUP затем + создает табличные пространства и загружает данные (для 46B + IDES - с дисков от EXPORT1 до EXPORT6, для 46C - + с дисков от DISK1 до DISK4) в базу данных с помощью утилиты + R3load. + + После завершения загрузки базы данных (это может занять + несколько часов), будет запрошено несколько паролей. Для тестовых + установок можно использовать хорошо известные стандартные + пароли (но если защита важна - используйте другие!): + + + + + + Вопрос + Ответ + + + + + Enter Password for sapr3 + sapEnter + + + Confirum Password for sapr3 + sapEnter + + + Enter Password for sys + change_on_installEnter + + + Confirm Password for sys + change_on_installEnter + + + Enter Password for system + managerEnter + + + Confirm Password for system + managerEnter + + + + + + Мы столкнулись с несколькими проблемами с + dipgntab при установке 4.6B. + + + + Процесс прослушивания + + Запустите процесс прослушивания + (&oracle; Listener) от имени + пользователя orasid + следующим образом: + + &prompt.user; umask 0; lsnrctl start + + В противном случае, вы можете получить сообщение об + ошибке ORA-12546, поскольку у сокетов + будут неправильные права доступа. См. &sap; Note 072984. + + + + Обновление таблиц MNLS + Если вы планируете использовать в системе + &sap; языки, для которых не + подходит кодировка Latin-1, придется изменить таблицы + Multi National Language Support. Эта процедура описана в + &sap; OSS Notes 15023 и 45619. Если же нет, можете пропустить + этот вопрос в ходе установки &sap;. + + Если вам не нужна поддержка MNLS, все равно необходимо + проверить таблицу TCPDB и инициализировать ее, если это еще не + было сделано. Дополнительную информацию см. в &sap; Note 0015023 + и 0045619. + + + + + Шаги после установки + + + Запрос лицензионного ключа &sap.r3; + + Вы должны запросить ваш лицензионный ключ + &sap.r3;. Это необходимо, поскольку + временная лицензия, использованная в ходе установки, действительна + только четыре недели. Сначала получите ключ оборудования. + Зарегистрируйтесь как пользователь idsadm + и вызовите команду saplicense: + + &prompt.root; /sapmnt/IDS/exe/saplicense -get + + При вызове команды saplicense без + параметров будет выдан список опций. После получения + лицензионного ключа, его можно установить с помощью + команды: + + &prompt.root; /sapmnt/IDS/exe/saplicense -install + + Затем вас попросят ввести следующие значения: + + SAP SYSTEM ID = SID, 3 символа +CUSTOMER KEY = ключ оборудования, 11 символов +INSTALLATION NO = установка, 10 цифр +EXPIRATION DATE = yyyymmdd, обычно - "99991231" +LICENSE KEY = лицензионный ключ, 24 символа + + + + Создание пользователей + + Создайте пользователя в клиенте 000 (некоторые задачи + обязательно надо выполнять из клиента 000, от имени пользователя, + отличающегося от sap* и + ddic). В качестве имени пользователя мы + обычно выбираем wartung (или + service, по английски). Требуются профили + sap_new и sap_all. Для + дополнительной защиты надо изменить пароли стандартных + пользователей на всех клиентах (в том числе, пользователей + sap* и ddic). + + + + Конфигурирование системы передачи, профиля, режимов работы и т.п. + + В клиенте 000, от имени пользователя, отличающегося от + ddic и sap*, + выполните, как минимум, следующее: + + + + + + Задача + Транзакция + + + + + Сконфигурируйте систему передачи, например, как Stand-Alone Transport Domain Entity + STMS + + + Создайте/Отредактируйте профиль для системы + RZ10 + + + Сконфигурируйте режимы работы и экземпляры + RZ04 + + + + + + Эти и другие шаги, которые надо выполнить после установки, + подробно описаны в руководствах по установке + &sap;. + + + + Редактирование <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) + + Файл /oracle/IDS/dbs/initIDS.sap + содержит профиль резервного копирования + &sap;. Здесь надо задать размер + используемой ленты, тип сжатия и т.д. Чтобы можно было + использовать sapdba / + brbackup, мы изменили следующие значения: + + 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 + + Объяснения: + + compress: мы использовали ленту HP DLT1, + которая поддерживает аппаратное сжатие. + + archive_function: этот параметр задает + стандартное поведение для сохранения архивных журналов &oracle;: + новые журнальные файлы сохраняются на ленту, уже сохраненные + файлы журнала сохраняются еще раз, а затем удаляются. Это + предотвращает многочисленные проблемы, если потребуется + восстановить базу данных, а одна из архивных лент окажется + сбойной. + + cpio_flags: по умолчанию используется + , что устанавливает размер блока 5120 байт. + Для лент DLT компания HP рекомендует размер блока не меньше + 32 Кбайт, поэтому мы использовали значение + для задания размера блока + 64 Кбайта. Опция необходима, + поскольку у нас есть индексные дескрипторы (inodes) с номерами + больше 65535. Последняя опция, необходима + потому, что иначе команда brbackup выдает + сообщение об ошибке, как только команда cpio + выдаст количество сохраненных блоков. + + cpio_in_flags: флаги, необходимые для + загрузки данных с ленты. Формат распознается автоматически. + + tape_size: обычно этот параметр задает + реальную ёмкость ленты. Из соображений надежности (мы используем + аппаратное сжатие), задано значение несколько меньше + фактического. + + tape_address: устройство без перемотки + для использования в команде cpio. + + tape_address_rew: устройство с + перемоткой для использования в команде + cpio. + + + + Проблемы конфигурирования после установки + + Следующие параметры &sap; надо + настроить после установки (примеры для IDES 46B, + 1 Гбайт памяти): + + + + + + Имя + Значение + + + + + ztta/roll_extension + 250000000 + + + abap/heap_area_dia + 300000000 + + + abap/heap_area_nondia + 400000000 + + + em/initial_size_MB + 256 + + + em/blocksize_kB + 1024 + + + ipc/shm_psize_40 + 70000000 + + + + + + &sap; Note 0013026: + + + + + + Имя + Значение + + + + + ztta/dynpro_area + 2500000 + + + + + + &sap; Note 0157246: + + + + + + Имя + Значение + + + + + rdisp/ROLL_MAXFS + 16000 + + + rdisp/PG_MAXFS + 30000 + + + + + + + При указанных выше параметрах в системе с 1 Гбайт + памяти можно обнаружить примерно следующее использование + памяти: + + Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free + + + + + + Проблемы в ходе установки + + + Перезапуск <command>R3SETUP</command> после устранения проблемы + + R3SETUP останавливается при выявлении + ошибки. Если вы просмотрели соответствующие журнальные файлы и + исправили ошибку, придется запускать R3SETUP + снова, обычно выбирая REPEAT как опцию для последнего шага, + на котором команда R3SETUP выдала сообщение + об ошибке. + + Для перезапуска команды R3SETUP просто + запустите её с соответствующим файлом + R3S: + + &prompt.root; ./R3SETUP -f CENTRDB.R3S + + для 4.6B или с файлом + + &prompt.root; ./R3SETUP -f CENTRAL.R3S + + для 4.6C, независимо от того, произошла ли ошибка + при работе с файлом CENTRAL.R3S или + DATABASE.R3S. + + На некоторых стадиях команда R3SETUP + предполагает, что запущены и работают процессы как сервера + базы данных, так и &sap; (поскольку + эти шаги уже выполнены). Если возникнут ошибки и, например, + запустить сервер базы данных не получится, придется вручную + запускать сервер базы данных и &sap; + после исправления ошибок и до повторного запуска + R3SETUP. + Не забудьте также снова запустить процесс прослушивания + &oracle; (как пользователь + orasid с помощью + команды umask 0; lsnrctl start), если он тоже + был остановлен (например, из-за необходимой перезагрузки + системы). + + + + + OSUSERSIDADM_IND_ORA в ходе <command>R3SETUP</command> + + Если R3SETUP выдает сообщения об + ошибках на этом этапе, отредактируйте используемый при этом + файл шаблона R3SETUP + (CENTRDB.R3S (4.6B), либо + CENTRAL.R3S или + DATABASE.R3S (4.6C)). + Найдите секцию [OSUSERSIDADM_IND_ORA] или + поищите единственную запись STATUS=ERROR и + отредактируйте следующие значения: + + HOME=/home/sidadm (было пусто) +STATUS=OK (был статус ERROR) + + + Затем надо снова перезапустить + R3SETUP. + + + + OSUSERDBSID_IND_ORA в ходе <command>R3SETUP</command> + + Возможно, команда R3SETUP также выдаст + сообщения об ошибке на этой стадии. Ошибка здесь аналогична + возникающей на стадии OSUSERSIDADM_IND_ORA. Просто отредактируйте + используемый файл шаблона R3SETUP + (CENTRDB.R3S (4.6B), либо + CENTRAL.R3S или + DATABASE.R3S (4.6C)). + Найдите секцию [OSUSERDBSID_IND_ORA] или поищите + единственную запись STATUS=ERROR и + отредактируйте следующее значение в этой секции: + + STATUS=OK + + Затем перезапустите R3SETUP. + + + + <errorname>oraview.vrf FILE NOT FOUND</errorname> в ходе установки &oracle; + + Вы не сняли выбор с &oracle; On-Line Text + Viewer перед началом установки. Он помечен для + установки, хотя этот продукт и не доступен сейчас для Linux. + Снимите пометку с этого продукта в меню установки + &oracle; и перезапустите + установку. + + + + <errorname>TEXTENV_INVALID</errorname> в ходе <command>R3SETUP</command>, RFC или запуска SAPgui + + Если возникает эта ошибка, не найдена нужная локаль. + &sap; Note 0171356 перечисляет необходимые пакеты RPM, которые + надо установить (например, saplocales-1.0-3, + saposcheck-1.0-1 для RedHat 6.1). Если + игнорировать все ошибки и менять STATUS + соответствующих шагов с ERROR на + OK (в файле CENTRDB.R3S) + каждый раз, когда R3SETUP сообщает об + ошибке и просто перезапуск ать R3SETUP, система + &sap; не будет правильно + сконфигурирована, и вы затем не сможете подключиться к системе + с помощью SAPgui, хотя запустить + систему и получится. Попытка подключения с помощью старой + Linux-версии SAPgui приведет к выдаче + следующих сообщений: + + 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 + + Это связано с тем, что система + &sap.r3; не может корректно назначить + локаль и сама не была надлежащим образом сконфигурирована + (не хватает записей в некоторых таблицах базы данных). Чтобы + можно было подключиться к &sap;, + добавьте следующие записи в файл DEFAULT.PFL + (см. Note 0043288): + + abap/set_etct_env_at_new_mode = 0 +install/collate/active = 0 +rscp/TCP0B = TCP0B + + Перезапустите систему &sap;. Теперь + вы можете подключиться к системе, хотя специфические для страны + языковые установки могут работать не так, как предполагалось. + После исправления настроек страны (и добавления соответствующих + локалей) эти записи можно удалить из файла + DEFAULT.PFL и перезапустить систему &sap;. + + + + + <errorcode>ORA-00001</errorcode> + Эта ошибка возникает только с + &oracle; 8.1.7 на FreeBSD 4.5. + Причина в том, что сервер &oracle; + не может правильно проинициализироваться и аварийно завершает + работу, оставляя не освобожденными в системе семафоры и + совместно используемую память. При следующей попытке запустить сервер + базы данных выдается ошибка ORA-00001. + + Найдите оставшиеся семафоры и сегменты памяти с помощью + команды ipcs -a и удалите с помощью + ipcrm. + + + + <errorcode>ORA-00445</errorcode> (фоновый процесс PMON не запущен) + Эта ошибка произошла с &oracle; 8.1.7. + Она выдается, если сервер был запущен с помощью обычного + скрипта startsap (например, + startsap_majestix_00) от имени пользователя + prdadm. + + Возможный способ обхода – запускать сервер базы данных + от имени пользователя oraprd с помощью + svrmgrl: + + &prompt.user; svrmgrl +SVRMGR> connect internal; +SVRMGR> startup; +SVRMGR> exit + + + + + <errorcode>ORA-12546</errorcode> (запускайте процесс прослушивания с правильными правами) + + Запускайте процесс прослушивания + &oracle; от имени пользователя + oraids следующими командами: + + &prompt.root; umask 0; lsnrctl start + + В противном случае, вы можете получить сообщение об ошибке + ORA-12546, поскольку сокеты не будут иметь + нужных прав доступа. См. &sap; Note 0072984. + + + + <errorcode>ORA-27102</errorcode> (не хватает памяти) + + Эта ошибка произошла при попытке использовать значения + MAXDSIZ и DFLDSIZ больше + 1 Гбайта (1024x1024x1024). Кроме того, мы получили + Linux Error 12: Cannot allocate memory. + + + + [DIPGNTAB_IND_IND] в ходе <command>R3SETUP</command> + + В общем случае, см. &sap; Note 0130581 + (прекращается работа R3SETUP на шаге + DIPGNTAB). В ходе установки + IDES-версии по каким-то причинам процесс установки использовал + вместо правильного имени системы &sap;, + IDS, пустую строку, "". Это + к небольшим проблемам при доступе к каталогам, поскольку пути + генерируются динамически на базе SID + (в данном случае, IDS). Поэтому вместо обращения к: + + /usr/sap/IDS/SYS/... +/usr/sap/IDS/DVMGS00 + + используются следующие пути: + + /usr/sap//SYS/... +/usr/sap/D00 + + Чтобы продолжить установку мы создали ссылку и дополнительный + каталог: + + &prompt.root; pwd +/compat/linux/usr/sap +&prompt.root; ls -l +total 4 +drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 +drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS +lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS +drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp +drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans + + Мы также нашли документы &sap; Notes (0029227 и 0008401), + описывающие это поведение. Мы не столкнулись с подобными + проблемами при установке + &sap; 4.6C. + + + + [RFCRSWBOINI_IND_IND] в ходе <command>R3SETUP</command> + + В ходе установки &sap; 4.6C, + эта ошибка возникла в результате другой ошибки, произошедшей + ранее по ходу установки. В данном случае придется просмотреть + соответствующие журнальные файлы и устранить исходную + проблему. + + Если после просмотра журнальных файлов выявлена только эта + ошибка (проверьте &sap; Notes), можно поменять + STATUS соответствующего шага с ERROR на OK (в файле + CENTRDB.R3S) и перезапустить + R3SETUP. После установки надо + выполнить отчет RSWBOINS из транзакции SE38. + Дополнительную информацию о стадиях RFCRSWBOINI + и RFCRADDBDIF см. в &sap; Note 0162266. + + + + [RFCRADDBDIF_IND_IND] в ходе <command>R3SETUP</command> + Здесь применяются те же ограничения: проверьте путем просмотра + журнальных файлов, что эта ошибка не вызвана какими-то предыдущими + проблемами. + + Если подтверждается, что применим документ &sap; Note 0162266, + просто поменяйте STATUS соответствующего + шага с ERROR на OK (в + файле CENTRDB.R3S) и перезапустите R3SETUP. После установки надо выполнить + отчет RADDBDIF из транзакции SE38. + + + + <errorcode>sigaction sig31: File size limit exceeded</errorcode> + + Это сообщение об ошибке выдается в ходе запуска процессов + &sap; disp+work. + Если &sap; запускается скриптом + startsap, запускаются отдельные подпроцессы, + выполняющие грязную работу по запуску всех остальных процессов + &sap;. В результате, сам скрипт + не получит уведомления, если что-то пойдет не так. + + Чтобы проверить, нормально ли запустились процессы + &sap;, посмотрите на состояние + процессов с помощью команды ps ax | + grep SID, которая выдаст + список всех процессов &oracle; и + &sap;. Если похоже, что некоторых + процессов не хватает или вы не можете подключиться к системе + &sap;, просмотрите соответствующие + журнальные файлы, которые можно найти в каталоге + /usr/sap/SID/DVEBMGSnr/work/. + Надо просматривать файлы dev_ms и + dev_disp. + + Сигнал 31 выдается, если объем памяти, совместно используемой + &oracle; и + &sap;, превосходит заданный в файле + конфигурации ядра, и от него можно избавиться, указав большее + значение: + + # большее значение для производственных систем 46C: +options SHMMAXPGS=393216 +# меньшее значение, достаточное для 46B: +#options SHMMAXPGS=262144 + + + + + Сбой при запуске <command>saposcol</command> + Есть ряд проблем с программой saposcol + (версии 4.6D). Система &sap; использует + saposcol для сбора данных о производительности + системы. Эта программа не нужна для использования системы + &sap;, так что проблему можно отнести + к несерьезным. Более старые версии (4.6B) работают, но собирают + не все данные (многие вызовы просто возвращают 0, например, + для использования процессора). + + Дополнительные сведения - Если вы интересуетесь, как работает Linux эмуляция, этот раздел для - вас. Большинство материала взято из электронного письма, адресованного - &a.chat; by Terry Lambert tlambert@primenet.com (ID - письма: <199906020108.SAA07001@usr09.primenet.com>). + Если вы интересуетесь, как обеспечивается двоичная совместимость + с Linux, этот раздел для вас. Большинство материала взято из + электронного письма, адресованного в &a.chat; by Terry Lambert + tlambert@primenet.com (ID письма: + <199906020108.SAA07001@usr09.primenet.com>). Как все это устроено? - загрузчик исполнимых классов + загрузчик выполняемых классов FreeBSD поддерживает абстракцию, называемую загрузчик - исполнимых классов, который фактически является первой + выполняемых классов. Фактически, он является первой стадией системного вызова &man.execve.2;. - На самом деле, FreeBSD имеет несколько загрузчиков вместо - одного, который, в случае неудачи, выполняет программу как - сценарий (скрипт). + На самом деле, FreeBSD имеет список загрузчиков вместо + одного, завершающийся загрузчиком #! для + запуска любых командных интерпретаторов и скриптов. Исторически сложилось, что единственный загрузчик в &unix; системах проверял магическое число (чаще всего первые 4 или 8 байт файла), чтобы определить, известен ли формат - исполняемого файла системе, и если да, то вызвал соответствующий + двоичного файла системе, и если да, то вызвал соответствующий загрузчик. - Если файл не опознавался системой как исполнимый, &man.execve.2; - возвращал ошибку, и текущий командный интерпретатор начинал - выполнять файл как скрипт. + Если файл не опознавался системой как двоичный, системный + вызов &man.execve.2; возвращал ошибку, и текущий командный + интерпретатор начинал выполнять файл как скрипт. + + По умолчанию скрипт выполнялся текущим командным + интерпретатором. Позднее, &man.sh.1; был модифицирован, так, чтобы проверять первые два символа в файле, и если они оказывались @@ -862,23 +3346,22 @@ export PATH &man.csh.1; (утверждается, что SCO были первыми, кто сделал эту модификацию). - FreeBSD ведет себя по-другому: пробегает по списку загрузчиков, - включая специальный #! загрузчик, который - вызывает нужный интерпретатор или /bin/sh, если + FreeBSD сейчас ведет себя по-другому: пробегает по списку + загрузчиков,включающему специальный загрузчик #!, + который вызывает нужный интерпретатор, указанный после этих символов + до следующего пробела, или /bin/sh, если не нашел подходящего. ELF - Формат исполняемого файла FreeBSD определяет по - магическому числу. На этой стадии пока не - различается, для какой операционной системы предназначен файл - (Linux, &solaris;, или любой другой, использующей ELF-формат - исполняемых файлов). + Для поддержки Linux ABI FreeBSD ищет магическое число, + соответствующее двоичному файлу ELF (на этой стадии не различаются + FreeBSD, &solaris;, Linux или любая другая ОС поддерживающая формат + ELF). Solaris - Далее, ELF-загрузчик определяет марку - (специальный комментарий; отсутствует в исполняемых файлах - SVR4/&solaris;) исполняемого файла, то есть для какой операционной - системы он предназначен. + Далее, ELF-загрузчик определяет марку (brand) + двоичного файла ELF (специальный комментарий в ELF-файле, + отсутствующий в двоичных файлах ELF SVR4/&solaris;). Соответственно, Linux программы должны быть маркированы для Linux (например, с @@ -886,6 +3369,8 @@ export PATH &prompt.root; brandelf -t Linux file + Когда это сделано, загрузчик ELF выявит марку + Linux в файле. ELF branding @@ -895,55 +3380,72 @@ export PATH Linux, он заменяет соответствующий указатель в структуре proc. Все системные вызовы индексируются через этот указатель (в традиционной &unix; системе это - массив sysent[], содержащий системные вызовы). - Некоторые особые ситуации и системные вызовы обрабатываются - специальным модулем ядра поддержки Linux. + массив структур sysent[], содержащий системные + вызовы). Кроме того, процесс помечается для специальной обработки + вектора обработчиков сигналов, а также ряда других (небольших) + исправлений, которые осуществляются специальным модулем ядра для + поддержки Linux. - Плюс ко всему, Linux эмулятор динамически изменяет + Вектор системных вызовов Linux содержит, среди прочего, список + записей sysent[], адреса которых находятся в + модуле ядра. + + При выполнении системного вызова из двоичного файла Linux, + код обработчика разыменовывает указатель на функцию системного вызова + из структуры proc, и получает точки входа + системных вызовов Linux, а не FreeBSD. + + Плюс ко всему, в Linux–режиме динамически изменяется корень файловой системы при поиске файлов; фактически так же, как и параметр union при монтировании файловых систем (не путать с unionfs!). Сперва, файл ищется в каталоге - /compat/linux/original-path + /compat/linux/исходное_полное_имя и только затем, в случае неудачи, в - /original-path. Это - дает возможность Linux программам выполнять FreeBSD команды, если не - найдется соответствующих Linux команд. Например, скопировав FreeBSD - &man.uname.1; в каталог /compat/linux/bin/, - можно заставить Linux программы сообщать, что они - запускаются под FreeBSD. + /исходное_полное_имя. + Это гарантирует, что программы, которым требуются другие программы, + смогут работать (например, весь набор инструментальных средств Linux + сможет работать в среде поддержки Linux ABI). Это также дает + возможность Linux программам выполнять FreeBSD команды, если не + найдется соответствующих Linux команд. Например, можно скопировать + FreeBSD &man.uname.1; в дерево каталогов + /compat/linux, и Linux-программы не смогут + разобраться, что они работают не в Linux. - На самом деле, ядра FreeBSD и Linux во многом похожи: системные - операции, виртуальная память, система сигналов и сообщений, - межпроцессное взаимодействие и прочее. Разница в том, что FreeBSD - программы обращаются к системным вызовам FreeBSD, Linux программы - соответственно к системным вызовам Linux. Во многих операционных - системах прошлого адреса системных вызовов были - зашиты в статический глобальный массив - sysent[], вместо обращения по указателю в - структуре proc, который инициализируется - динамически, позволяя таким образом запускать программы, написанные - для разных операционных систем. + Фактически, имеется ядро Linux в ядре FreeBSD; различные + базовые функции, реализующие все услуги ядра, идентичны как + в записях таблицы системных вызовов FreeBSD, так и в записях + таблицы системных вызовов Linux: операции с файловой системой, + виртуальная память, средства доставки сигналов, + System V IPC … Единственное отличие в том, что + FreeBSD-программы получают интерфейсные функции + FreeBSD, а Linux-программы получают интерфейсные + функции Linux (в большинстве более старых ОС есть только их + собственные интерфейсные функции: функции берутся из статического + глобального массива структур sysent[], а не + из массива, полученного разыменованием динамически + проинициализированного указателя в структуре + proc процесса, выполняющего вызов). - В чем же разница между системными вызовами Linux и FreeBSD? - Фактически никакой. Единственное различие (на данный момент, в + Какая же реализация ABI для FreeBSD родная? Это + не имеет значения. Единственное различие (на данный момент, в будущем все может и, вероятно, изменится), пожалуй, в том, что функции системных вызовов FreeBSD зашиты в ядро, а для Linux они - могут быть либо в ядре, либо в динамически загружаемом - модуле. + могут быть либо статически скомпонованы в ядро, либо получаться + через модуль ядра. - Можно ли назвать это эмуляцией? Нет. Это реализация ABI, + Да, но можно ли назвать это эмуляцией? Нет. Это реализация ABI, а не эмуляция. Как таковой, эмулятор (или симулятор) отсутствует. - В таком случае, почему же тогда - говорят Linux эмуляция? Чтобы - насолить FreeBSD?!. На самом - деле, это вопрос терминологии: не существовало слова, которое бы - точнее описывало этот процесс. Нельзя сказать, что FreeBSD - запускает приложения Linux (без перекомпиляции или загрузки - соответствующего модуля ядра). Поэтому и придумали термин - Linux эмуляция. + В таком случае, почему же иногда говорят об + эмуляции Linux? Чтобы насолить + FreeBSD! Фактически, причина в том, что на момент первой реализации + не существовало слова, которое бы точнее описывало этот процесс. + Нельзя было сказать, что FreeBSD запускает приложения Linux (без + перекомпиляции или загрузки соответствующего модуля ядра это + невозможно). Но надо было как-то описать, что + загружается—отсюда и эмулятор Linux.