Запуск 1С в Linux

В статье рассказывается, как запустить 1С в коммерческом эмуляторе Win4Lin

[Илья Маслаков (angel_il@mailru.com)]

Оглавление

  1. Запуск 1С под Win4Lin
  2. Запуск 1С под VmWare
  3. Запуск 1С под Wine

  Запуск 1С под Win4Lin

    Инсталляция Win4Lin 4.0

   На данный момент, наверное, только Win4Lin даст наилучшие результаты для запуска 1С под linux. Скорость работы под изделием от Netraverse по сравнению с другим близким к нему эмулятором VmWare производит очень хорошее впечатление.

   Для начала Вам необходимо скачать последнюю версию Win4Lin.

   Следующее что нужно сделать, это скачать патчи ядра, там же на сайте "Netraverse" в разделе Download

   На момент написания данного текста (07/11/2002) последняя версия Win4Lin это Win4Lin-5.3.1i-d. Так же предположим, что у Вас стоит ядро 2.4.19 (для других ядер действия, которые необходимо совершить, аналогичны) Итак, мы скачали файлы:

Win4Lin-5.3.1i-d.i386.rpm
Kernel-Win4Lin3-2.4.19.patch
mki-adapter.patch

   Патчи есть практически под все популярные дистрибутивы и сложностей с этим обычно не возникает. В директории с исходниками ядра необходимо выполнить


bash-2.05a$ cat mki-adapter.patch | \
  patch -p1 -s -N -E -d /usr/src/linux/
bash-2.05a$ cat Kernel-Win4Lin3-2.4.19.patch | \ 
  patch -p1 -s -N -E -d /usr/src/linux/

   На компиляции ядра подробно останавливаться не будем. Про компиляцию ядра можно почитать на linuxnews.ru. После установки нового ядра и перезагрузки, устанавливаем пакет Win4Lin-5.3.1i-d.i386.rpm. (Так как, у меня установлен дистрибутив Slackware 8.1, то далее все что выделено синим цветом будет относиться к Slackware - прим. автора) Учитывая, что rpm не родной формат для Slackware, то предварительно пакет необходимо сконвертировать из rpm в tgz.


bash-2.05a$ rpm2tgz Win4Lin-5.3.1i-d.i386.rpm
bash-2.05a$ installpkg Win4Lin-5.3.1i-d.i386.tgz

   Теперь запустим скрипт необходимый для корректной работы программы (по идее этот скрипт должен выполнятся автоматически, но не выполняется)


bash-2.05a$ sh /opt/win4lin/postinst_rpm.sh

   Это относилось к Slackware для RedHat-а просто установите Win4Lin-5.3.1i-d.i386.rpm.

   Обычно этот этап не вызывает осложнений. Далее, что бы Win4Lin корректно обращался с русскими именами необходимо добавить строчку

ru_RU.KOI8-R    koi8-r

в файл /opt/win4lin/locale_codeset

Также в каталоге /opt/Win4Lin/lcs необходимо скопировать файл koi8-r.lcs в ru.lcs и ru_SU.lcs

bash-2.05a$ cp /opt/Win4Lin/lcs/koi8-r.lcs /opt/Win4Lin/lcs/ru.lcs
bash-2.05a$ cp /opt/Win4Lin/lcs/koi8-r.lcs /opt/Win4Lin/lcs/ru_SU.lcs

   Win4Lin является коммерческим продуктом и его необходимо зарегистрировать. Для получения серийного номера необходимо написать письмо на ящик технической поддержки компании Netraverse (обычно на следующий день они высылают триальный ключ).

Далее запускаем скрипт для ввода регистрационного номера:

bash-2.05a# /opt/win4lin/bin/ask_license.sh

Здесь необходимо ввести серийный номер (эта операция должна быть выполнена root-ом), все остальные поля можно не заполнять.

   Далее идет непосредственно инсталляция Windows (надо заметить, что данная процедура выполняется минут 15-20, что значительно быстрее, нежели эта же инсталляция запущенная из под DOS.

bash-2.05a# winsetup

   Запускаем winsetup также от root-а. Выбираем System-wice Administration далее Windows Load CD. В процессе инсталляции Win4Lin-у потребуется загрузочная дискета от Вашей копии Windows, поэтому лучше заранее ее подготовить, а еще лучше сделать образ этой дискеты, и при установке Win4Lin использовать этот образ. При выборе типа сетевой поддержки, лучше выбрать vnet, ввести ip адрес и маску соответствующие вашей локальной сети.

NB:Хочу сразу обратить внимание что, лучше ставить Windows 98SE, причем не все релизы данной версии поддерживаются Win4Lin.

Здесь представлены md5 суммы заведомо рабочей версии win95-md5summ.txt. После того как winsetup выполнит все необходимые манипуляции, остается только, запустить от обычного пользователя:


bash-2.05a# win

   На этом процесс инсталляции Win4Lin завершен.

    Установка 1C под Win4Lin

   Сама по себе инсталляция 1С под Win4Lin ни чем не отличается от инсталляции под Windows. Единственная проблема это ключ защиты, и тут есть как минимум 3 варианта:

  1. Установить драйвер защиты на одной из машин под Windows при этом в сети должен присутствовать протокол tcp/ip, а в файле NETHASP.INI включено его использование.
  2. Установить драйвер защиты локальной машине (теперь aladdin.ru доступна версия и под Linux. Скачать можно здесь.
  3. Использовать пропатченую версию 1С (наверное данный вариант раиболее предпочтителен). Это не значит что вы должны становиться пиратом, мы ведь будем патчить честно купленную копию...

   Итак Win4Lin у нас установлен, 1С запускается, но все-таки кое что еще нужно донастроить.

   1. Для более комфортной работы, настоятельно рекомендую, установить обьем оперативной памяти для сессии Win4Lin не меньше чем 64 МБ Для этого запустите (данную операцию необходимо выполнить, от Вашего пользователя):

bash-2.05a# winsetup

в появившемся окне выберите пункт "Personal session configuranion" в разделе Memory установите нужное количество памяти.

2. Для корректной работы 1С необходимо также увеличить количество одновременно открытых файлов. Данные установки находятся в файле /etc/default/merge

MERGE_RLOCK_FILETABLE_SIZE=4096
MERGE_RLOCK_OPENTABLE_SIZE=4096
MERGE_RLOCK_LOCKTABLE_SIZE=4096
MERGE_RLOCK_HASHTABLE_SIZE=2048

   Этих значений в принципе, должно хватить нормальной работы одновременно с несколькими базами.

---

PS: Что касается скорости, то надо сказать что сессия Win4Lin у меня запускается примерно за 4-5 сек. Скорость работы 1С в режиме эмуляции практически не отличается от скорости работы под Windows под аналогичным железом.

   На этом пожалуй что и все. Теперь Вы момете работать с 1С не хуже чем под Windows.

   Установка 1C под VmWare

   Данный раздел помещен здесь только для того, чтобы показать, что такой вариант тоже возможен. Да возможен, но считать его приемлемым нельзя, потому что скорость эмуляции не позволит Вам комфортно работать даже с небольшими базами. Поэтому мой вывод таков: теоретически возможно, практически лучше не надо :)

   Установка 1C под Wine

   Пока мне не удалось заставить 1С корректно работать под этим эмулятором, дальше заставки процесс не идет... :(. Если е Вас есть какието наработки на эту тему то пожалуйста напишите мне angel_il(at)mailru.com

Статья взята с сайта OpenNet.
Оригинал: http://mdlin.by.ru/lin1c.html.

[ опубликовано 18/03/2004 ]

Илья Маслаков (angel_il@mailru.com) - Запуск 1С в Linux   Версия для печати