Работа с приложениями linux.pptx
- Количество слайдов: 23
Работа с приложениями в linux Выполнила студентка группы 1 -11 -П НЕУШЕВА О. В.
Free. BSD предоставляет бинарную совместимость с несколькими другими UNIX® подобными операционными системами, включая Linux. Возможно, Вы спрашиваете себя, зачем Free. BSD нужно уметь работать с приложениями, написанными для Linux? Ответ на этот вопрос достаточно прост: многие компании и разработчики производят программное обеспечение только для Linux, так как эта операционная система очень быстро завоевала огромную популярность в компьютерном мире. Пользователям же Free. BSD приходится обращаться к этим компаниям и разработчикам с просьбами выпустить версии своих программ специально для Free. BSD. Проблема в том, что большинство производителей программного обеспечения не осознают, насколько бы увеличился их рынок сбыта, выпускай они Free. BSD версии наряду с Linux версиями, и продолжают разрабатывать только под Linux. Что же делать пользователям Free. BSD? В этой ситуации на помощь приходит Linux эмуляция.
Вкратце, Free. BSD позволяет Вам работать с 90% приложений для Linux без каких-либо модификаций последних. Среди них: Star. Office™, Linux версия Netscape®, Adobe® Acrobat®, Real. Player® 5 и 7, VMware™, Oracle®, Word. Perfect®, Doom, Quake, и многие другие. Есть сведения, что в некоторых ситуациях эти Linux программы показывали более высокую производительность при работе под Free. BSD, чем под Linux. Конечно, существует некоторые особенности Linux, которые не поддерживаются в полной мере Free. BSD. Например, так обстоят дела с приложениями Linux, использующими файловую систему /proc, так как реализация последней сильно отличается от файловой системы /proc в Free. BSD. Существуют также системные вызовы, специфичные для i 386™, как, например, переключение в виртуальный режим 8086.
Инсталляция Начиная с 3. 0 -RELEASE, больше нет необходимости указывать options LINUX или options COMPAT_LINUX в Вашем файле конфигурации ядра. Поддержка Linux приложений осуществляется посредством специального модуля ядра (KLD объекта, ``Kernel Loa. Dable object''), то есть его можно загрузить/выгрузить ``на лету'', без необходимости перезагрузки. Вам потребуется убедиться в наличии следующей строки в файле /etc/rc. conf: linux_enable=``YES'' Это, в свою очередь, повлияет на выполнение следующего кода в файле /etc/rc. i 386: # Start the Linux binary compatibility if requested. # case ${linux_enable} in [Yy][Ee][Ss]) echo -n ' linux'; linux > /dev/null 2>&1 ; ; esac Если Вы хотите проверить, загружен ли модуль, это можно сделать при помощи команды kldstat: % kldstat Id Refs Address Size Name 1 2 0 xc 0100000 16 bdb 8 kernel 7 1 0 xc 24 db 000 d 000 linux. ko Если по какой-либо причине Вы не хотите или не можете загрузить KLD, то Вы можете статически включить поддержку Linux в ядро посредством опции options LINUX в файле конфигурации ядра. Затем соберите и проинсталлируйте новое ядро, следуя описанию в секции, посвященной конфигурации ядра.
Установка необходимых Linux библиотек Установить все требуемые библиотеки можно двумя путями: либо используя порт linux_base, либо установив их вручную.
Установка с помощью порта linux_base Этот метод является самым простым, и мы рекомендуем воспользоваться именно им. Процесс аналогичен установке любого другого порта из коллекции портов. Просто выполните следующие команды: # cd /usr/ports/emulators/linux_base # make install distclean Теперь Вы можете работать с приложениями для Linux. Некоторые программы, возможно, будут сообщать о несоответствии подверсий некоторых системных библиотек. Однако, практически, это не вызывает каких-либо неудобств.
Установка библиотек вручную Если у Вас нет установленной коллекции портов, то можно установить требуемые библиотеки вручную Вам понадобятся разделяемые библиотеки для Linux, которые нужны программам, и runtimeкомпоновщик. Вам также потребуется создать ``теневой корень'': директорию /compat/linux, где будут расположены Linux библиотеки. Если нужно загрузить какую-либо разделяемую библиотеку, Free. BSD сперва будет пытаться найти ее в этом дереве. Так, если программа загружает, например, /libc. so, Free. BSD попытается открыть /compat/linux/libc. so, и если такого файла не существует, будет пытаться открыть /libc. so. Разделяемые библиотеки должны находиться в теневом дереве, а не в пути, сообщаемым командой Linux ld. so. По мере работы с различными Linux программами, у Вас будет накапливаться некий базовый набор библиотек, которого будет достаточно для большинства существующих Linux приложений.
Установка пакета Mathematica Обновлено для Mathematica версии 4. x Murray Stokely <murray@Free. BSD. org> и объединено с работой Bojan Bistrovic <bojanb@physics. odu. edu>. Ниже описано, как установить Linux версию пакета Mathematica 4. x на Free. BSD систему. Linux версия Mathematica отлично работает под Free. BSD, однако исполняемые файлы должны быть модифицированы утилитой brandelf(1). Linux версия пакета Mathematica или Mathematica для Студентов может быть заказана непосредственно через Wolfram по адресу http: //www. wolfram. com/.
Модификация исполняемых файлов Исполняемые файлы пакета Mathematica находятся в директории Unix на компакт диске с дистрибутивом. Скопируйте эту директорию (вместе со всеми подкаталогами) на Ваш жесткий диск, чтобы модифицировать (утилитой brandelf(1)) исполняемые файлы перед инсталляцией: # mount /cdrom # cp -rp /cdrom/Unix/ /localdir/ # brandelf -t Linux /localdir/Files/System. Files/Kernel/Binaries/Linux/* # brandelf -t Linux /localdir/Files/System. Files/Front. End/Binaries/Linux/* # brandelf -t Linux /localdir/Files/System. Files/Installation/Binaries/Linux/* # brandelf -t Linux /localdir/Files/System. Files/Graphics/Binaries/Linux/* # brandelf -t Linux /localdir/Files/System. Files/Converters/Binaries/Linux/* # brandelf -t Linux /localdir/Files/System. Files/License. Manager/Binaries/Linux/mathlm # cd /localdir/Installers/Linux/ #. /Math. Installer Вы также можете установить ELF brand по умолчанию в Linux brand с помощью команды: # sysctl -w kern. fallback_elf_brand=3 Это заставит Free. BSD думать о том, что все программы не обработанные brandelf(1) используют Linux ABI и Вы сможете запустить Math. Installer прямо с CDROM.
Пароль к пакету Mathematica Вам необходимо зарегистрировать свою копию пакета Mathematica и получить от Wolfram специальный пароль, соответствующий ``идентификатор машины''. После того, как Вы установили необходимые библиотеки и распаковали файлы Mathematica, получите ``идентификатор машины'', запустив программу mathinfo в инсталляционной директории. Идентификатор машины зависит от MAC-адреса Вашей первой ethernet-карточки. # cd /localdir/Files/System. Files/Installation/Binaries/Linux # mathinfo disco. example. com 7115 -70839 -20412 При регистрации, либо по телефону или факсу, либо по электронной почте, Вы сообщаете Ваш ``идентификатор машины'', а в ответ получаете пароль, состоящий из нескольких чисел. Введите этот пароль при первом запуске Mathematica.
Внешний интерфейс пакета Mathematica использует специальные шрифты для отображения некоторых символов, которые отсутствуют в стандартных шрифтах (символы интегралов, сумм, греческий алфавит и другие). Протокол X требует, чтобы эти шрифты были установлены локально. Это означает, что Вы должны скопировать эти шрифты с компакт диска или сетевого узла на Ваш жесткий диск. Обычно, все шрифты должны находиться в каталоге /cdrom/Unix/Files/System. Files/Fonts компакт диска или /usr/local/mathematica/System. Files/Fonts на винчестере. Собственно файлы со шрифтами находятся в подкаталогах Type 1 и X. О том, как их использовать, читайте ниже. Можно просто скопировать их в один из существующих подкаталогов в директории /usr/X 11 R 6/lib/X 11/fonts. В этом случае, Вам потребуется отредактировать файл fonts. dir, добавив в него названия шрифтов и изменив число шрифтов в первой строке. Или Вы можете запустить программу mkfontdir, находясь в том каталоге, куда Вы скопировали шрифты.
Есть альтернативный способ: скопировать директории в каталог /usr/X 11 R 6/lib/X 11/fonts: # cd /usr/X 11 R 6/lib/X 11/fonts # mkdir X # mkdir Math. Type 1 # cd /cdrom/Unix/Files/System. Files/Fonts # cp X/* /usr/X 11 R 6/lib/X 11/fonts/X # cp Type 1/* /usr/X 11 R 6/lib/X 11/fonts/Math. Type 1 # cd /usr/X 11 R 6/lib/X 11/fonts/X # mkfontdir # cd. . /Math. Type 1 # mkfontdir Теперь добавьте каталоги с новыми шрифтами в путь к шрифтам: # xset fp+ /usr/X 11 R 6/lib/X 11/fonts/X # xset fp+ /usr/X 11 R 6/lib/X 11/fonts/Math. Type 1 # xset fp rehash Если Вы используете XFree 86, то можно просто прописать эти каталоги в файле XF 86 Config. Если на Вашем компьютере нет каталога /usr/X 11 R 6/lib/X 11/fonts/Type 1, то замените Math. Type 1 на Type 1 в предыдущем примере.
@ @ Установка Oracle @ @
Настройка окружения Oracle Прежде чем Вы сможете установить Oracle, Вам необходимо обеспечить нужное окружение. Ниже описывается, что конкретно нужно сделать, чтобы успешно запускать Oracle для Linux под Free. BSD. За общими сведениями обратитесь к фирменному руководству по инсталляции Oracle.
Oracle аккаунт Вам нужно создать специальный Oracle аккаунт, как и любой другой аккаунт. Единственное отличие в том, что Вы должны указать для него командный интерпретатор Linux: /compat/linux/bin/bash. Не забудьте добавить /compat/linux/bin/bash в файл /etc/shells.
Инсталляция Oracle Из-за небольшой несовместимости с Linux эмулятором, Вам нужно будет создать подкаталог. oracle в директории /var/tmp прежде чем можно будет начать инсталляцию. Либо сделайте ее владельцем пользователя oracle, либо поставьте права на запись для всех. Если Вы все сделали правильно, то инсталляция должна пройти без проблем. Если какие-либо трудности все же возникли, проверьте еще раз все конфигурационные файлы и целостность дистрибутива. После окончания установки, приложите патчи (смотрите следующие две секции). Одна из часто возникающих проблем -- неправильно установленный TCP адаптер. В результате, невозможно запустить TCP сервисы. Вот решение проблемы: # cd $ORACLE_HOME/network/lib # make -f ins_network. mk ntcontab. o # cd $ORACLE_HOME/lib # ar r libnetwork. a ntcontab. o # cd $ORACLE_HOME/network/lib # make -f ins_network. mk install Не забудьте повторно запустить root. sh!
Запуск и использование Oracle Теперь, если Вы все сделали правильно, то можете использовать Oracle так же, как если бы Вы поставили его на Linux систему.
Настройка Linux окружения Удостоверьтесь, что порты linux_base и linux_devtools установлены на Вашей системе. Они появились в коллекции портов после выхода Free. BSD 3. 2. Если Вы используете Free. BSD 3. 2 или более раннюю, обновите коллекцию портов. Нелишним будет и апгрейд до более поздней версии Free. BSD. Если у Вас возникнут трудности с linux_base 6. 1 или linux_devtools-6. 1, воспользуйтесь версией 5. 2 этих пакетов. Если Вы хотите использовать intelligent agent, Вам также понадобится TCL пакет от Red Hat: tcl-8. 0. 3 -20. i 386. rpm. Для этого воспользуйтесь следующей командой: # rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package Установка этого пакета должна пройти без каких-либо ошибок.
Настройка ядра Как описывается в руководстве по инсталляции, необходимо установить максимальный размер разделяемой памяти. Не используйте SHMMAX под Free. BSD. SHMMAX высчитывается, исходя из SHMMAXPGS и PGSIZE. Следовательно, нужно задавать SHMMAXPGS. За информацией о прочих опциях обратитесь к фирменному руководству: options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61 Установите эти опции в зависимости от того, как и для чего Вы будете использовать Oracle. Не забудьте добавить следующие строки в файл конфигурации ядра: options SYSVSHM # разделяемая память Sys. V options SYSVSEM # семафоры Sys. V options SYSVMSG # межпроцессное взаимодействие Sys. V
Переменные окружения Кроме стандартных переменных окружения, таких как ORACLE_HOME и ORACLE_SID, Вам нужно будет установить следующие дополнительные переменные: Переменная Значение LD_LIBRARY_PATH $ORACLE_HOME/lib CLASSPATH $ORACLE_HOME/jdbc/lib/classes 111. zip PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/sbin /usr/sbin /usr/local/bin $ORACLE_HOME/bin Желательно устанавливать их в файле. profile. Вот реальный пример: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386 x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes 111. zip export CLASSPATH=/compat/linux/bin: /compat/linux/sbin: /compat/linux/usr/sbin: /usr/bin: /usr /sbin: /usr/local/bin: $ORACLE_HOME/bin export PATH
Модификация root. sh Инсталлируя Oracle, необходимо выполнить некоторые действия (имея при этом привилегии суперпользователя). Фактически это сводится к выполнению скрипта root. sh, который находится в директории orainst. Перед запуском, приложите к нему следующий патч (исправляет местонахождение утилиты chown), либо запускайте его в командном интерпретаторе Linux. *** orainst/root. sh. orig Tue Oct 6 21: 57: 33 1998 --- orainst/root. sh Mon Dec 28 15: 58: 53 1998 ******** *** 31, 37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install. h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31, 37 ---# This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install. h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script Если Вы инсталлируете Oracle не с компакт диска, то можно модифицировать файл rthd. sh, который находится в директории orainst.
Модификация genclntsh Скрипт genclntsh используется для того, чтобы создать единую разделяемую клиентскую библиотеку. Приложите следующий патч, чтобы закомментировать определение переменной PATH: *** bin/genclntsh. orig Wed Sep 30 07: 37: 19 1998 --- bin/genclntsh Tue Dec 22 15: 36: 49 1998 ******** *** 32, 38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin: /usr/ccs/bin export PATH ! PATH=/usr/local/bin: /usr/bin: /usr/X 11 R 6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept. lst --- 32, 38 ---# # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin: /usr/ccs/bin export PATH ! #PATH=/usr/local/bin: /usr/bin: /usr/X 11 R 6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept. lst
Спасибо за внимание.
Работа с приложениями linux.pptx