Бесплатная лицензия на WINE@Etersoft для учебных заведений

Преимущества СПО

Содержание

Введение

Что такое WINE@Etersoft

Продукт WINE@Etersoft разработан специально для того, чтобы предоставить возможность организациям и отдельным пользователям полностью перейти на платформу Unix/Linux, сохранив унаследованные Win-приложения.

Особое внимание уделяется поддержке российских коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.).

Предлагаемые возможности

  • Поддержка наиболее популярных приложений
  • Совместная работа с данными в среде WINE по сети и в терминальном режиме
  • Поддержка ключей защиты (Guardant, HASP, Sentinel, Eutron)
  • Полная и корректная поддержка русского языка в работе приложений

Сотрудничество с производителями ПО

Etersoft стремится сотрудничать с производителями ПО, чтобы максимально эффективно диагностировать и устранять проблемы в работе поддерживаемых приложений в среде WINE@Etersoft.

Подробнее см. программу сертификации на сайте.

Сотрудничество с пользователями

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

Обновления

Списки поддерживаемых приложений и систем постоянно расширяются, самую актуальную информацию можно найти на сайте Etersoft. Там же можно найти более подробную информацию о вариантах поставки WINE@Etersoft, новых версиях и обновлениях, а также о дополнительных услугах, предоставляемых компанией Etersoft.

Поддерживаемые приложения

Каждая версия продукта WINE@Etersoft сопровождается списком поддерживаемых приложений. Вошедшие в этот список Win-приложения тестируются на совместимость с WINE@Etersoft и гарантированно устанавливаются, запускаются и стабильно работают. Приложения, не вошедшие в этот список, также могут успешно работать в WINE@Etersoft, однако компания Этерсофт не может этого гарантировать и не обязуется отвечать на вопросы по их эксплуатации.

Подробная информация о совместимости WINE@Etersoft с программами доступна на сайте AppDB

С планами по поддерживаемым программам в новых версиях WINE@Etersoft можно ознакомиться здесь.

Программы, имеющие полную поддержку

Бухгалтерские и торговые программы

  • 1С: Предприятие 7.7 (локальная, сетевая, SQL)
    • компоненты Бухгалтерский учёт, Оперативный учёт, Расчёт, УРБД
  • 1С: Предприятие 8.0 (локальная, сетевая (файловая))
  • 1С: Предприятие 8.1 (локальная, сетевая, SQL)
  • 1С: Предприятие 8.2 (локальная, сетевая, SQL)

  • Банк-клиенты
    • Балтийского банка (версия 3.10.070)
    • Восточно-Европейской Финансовой Корпорации (ВЕФК), Петро-Аэро-Банка, ИнкасБанка, Таврического банка
    • Inter-Pro v 5

Правовые системы и базы данных

  • Гарант F1, Гарант F1 Турбо (локальная, файл-серверная, клиент-серверная версии)
  • Консультант+ (локальная, сетевая версии)

Поддерживаемые ключи защиты

Следующие ключи защиты поддерживаются для поддерживаемых программ:

  • HASP 3/HASP 4/HASP HL от Aladdin (HASP SRM пока не поддерживается)
  • Smartkey 3 от Eutron
  • SafeNet и UltraPro/SuperPro от Sentinel
  • SenseLock (USB)
  • Катран (USB и LPT)
  • Guardant Stealth/Net II USB, Stealth/Net III USB, Stealth III Sign/Time USB HID от компании Актив

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

Программы, имеющие поддержку производителя

Программы, имеющие базовую поддержку

Бухгалтерские и торговые программы

Банк-клиенты

  • Межбанковский процессинговый центр Faktura.ru (через браузер IE *)
  • ВТБ24 (шифрование через Inter-Pro v4), браузер konqueror или firefox****, браузер IE *
  • ИБанк (Юниаструм Банк) (через браузер IE *)
  • РосЕвроБанк (шифрование через Inter-Pro v4)

Подробнее...

Программы для школьной администрации

Правовые системы и базы данных

Прочие программы

  • OpenOffice.org 2.4
  • OpenOffice.org 3.x
  • Microsoft Word 2000, Microsoft Excel 2000, Microsoft Access 2000
  • Microsoft Word XP, Microsoft Excel XP, Microsoft Access XP
  • Microsoft Word 2003, Microsoft Excel 2003
  • Microsoft Word 2007, Microsoft Excel 2007
  • Microsoft Word Viewer 97, Microsoft Word Viewer 2003
  • Microsoft Excel Viewer 97, Microsoft Excel Viewer 2003
  • TeamViewer
  • RAdmin
  • ABBYY Fine Reader 7.0
  • ABBYY Fine Reader 8.0/9.0
  • Lotus Notes 6.0/7.0

Графические программы

Программы, имеющие полную поддержку в WINE@Etersoft CAD 1.1

  • КОМПАС-3D 10

Программы, имеющие базовую поддержку в WINE@Etersoft CAD 1.1

  • КОМПАС-3D 9
  • КОМПАС График

Программы, имеющие базовую поддержку в WINE@Etersoft Games 1.2

  • Старкрафт

Готовятся

  • Гранд-смета
  • БЭСТ 5.3x
  • Инфо-Бухгалтер 10
  • Парус 7
  • Парус 8
  • Галактика
  • СБИС++

Могут работать, но не поддерживаются

  • ПРОМТ
  • VentaFAX

Поддерживается производителем в свободном Wine

  • Турбо 9 Бухгалтерия (ключи SenseLock и СУБД MySQL)
  • Турбо 9 Торговля (ключи SenseLock и СУБД MySQL)

Не работают

  • Microsoft Navision
  • Microsoft Axapta
  • MS SQL Server
  • Программы, защищённые StarForce (эта защита устанавливает свой драйвер cd-привода) (например, диски ИТС от 1С)
  • Локальные ключи защиты, использующие VXD-драйвера
  • HASP SRM от Aladdin (пока нет поддержки)
  • КОМПАС-3D V11 (защищён HASP SRM, который пока не поддерживается)
  • Клиент-банк “Уралсиб”, использующий USB-токен SafeNet iKey1000

Для использования программ, отмеченных символом *, потребуется лицензия на MS Windows.

Для программ, отмеченных символом **, в некоторых конфигурациях возможны проблемы с ключами защиты.

****- потребуется использование расширений Firefox FoxyProxy и UserAgent Switcher

Список поддерживаемых программ актуален для версии WINE@Etersoft 1.0.12 на дату 23.03.2010.

Что такое WINE@Etersoft Local

Версия WINE@Etersoft Local ориентирована на индивидуальных пользователей, которым требуется работать с win-приложениями на платформе GNU/Linux или другой Unix-подобной системе. Поддерживается большое количество платформ: разнообразные дистрибутивы Linux, FreeBSD, OpenSolaris. Полный список — на сайте Etersoft.

Особое внимание уделяется поддержке коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.). Полный список официально поддерживаемых приложений доступен на сайте Etersoft.

Для чего не подходит WINE@Etersoft Local

В версии WINE@Etersoft Local не поддерживается одновременная работа нескольких пользователей с одними и теми же файлами (например, общей базой данных). Соответственно, программы, которые предусматривают режим совместной работы (например, 1С: Предприятие) можно использовать только в монопольном режиме.

Если требуется обеспечить совместную работу — обратитесь к другим версиям WINE@Etersoft.

Что такое WINE@Etersoft Network

WINE@Etersoft Network ориентирована на корпоративных клиентов, которым требуется возможность совместной работы с win-приложениями на платформе GNU/Linux или другой Unix-подобной системе. В этом продукте реализована возможность одновременного доступа к файлам, позволяющая, например, использовать 1С: Предприятие 7.7 в многопользовательском режиме. С помощью WINE@Etersoft Network можно организовать работу win-приложений с клиентских станций как с разделяемым каталогом по протоколам CIFS и NFS, так и в режиме «тонких клиентов» с использованием терминального сервера. Совместная работа по сети windows- и linux-клиентов возможна только при использовании CIFS.

Особое внимание уделяется поддержке российских коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.).

Что такое WINE@Etersoft SQL

WINE@Etersoft SQL ориентирована на организации, которым требуется возможность совместной работы с win-приложениями на платформах GNU/Linux или FreeBSD. В этом продукте наравне с возможностью одновременной работы с файлами реализована работа приложений с SQL-серверами (например, СУБД MS SQL Server 2000 или PostgreSQL). Рекомендуется организациям, работающих в сиcтеме «1С: Предприятие 7.7 SQL» или «1С: Предприятие 8.1 PostgreSQL».

Особое внимание уделяется поддержке российских коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.).

Регистрация продукта WINE@Etersoft

Зарегистрировать приобретённый экземпляр продукта можно на сайте Etersoft, для этого потребуется ввести регистрационный номер, который указан в Свидетельстве подлинности (либо в лицензионном договоре).

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

После регистрации будет создана страница продукта, http://sales.etersoft.ru/product/NNNN-NNNN, подтверждающая правомерность владения экземпляром программы WINE@Etersoft.

Введённый Вами адрес электронной почты не будет нигде опубликован, и будет использоваться только для доступа к ресурсам Etersoft и для связи с Вами со стороны Etersoft, а также для рассылки информационных сообщений, если Вы дали на это согласие при регистрации.

Если у Вас возникают какие-либо проблемы с проверяющими органами, незамедлительно обратитесь к нам по адресу Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. , чтобы мы могли оперативно проконсультировать Вас и оказать содействие.

Обращение в службу поддержки

Если у вас возникнут затруднения по установке или настройке WINE@Etersoft, или проблемы в установке или работе win-приложений в среде WINE@Etersoft — обращайтесь в службу технической поддержки Etersoft mailto:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. . Через несколько минут Вам придёт уведомление с номером заявки.

Перед обращением в службу поддержки нужно проверить, все ли компоненты WINE@Etersoft корректно установлены, для этого выполните команду wine --version. Она должна вывести WINE@Etersoft 1.0 [Local|Network|SQL] 1.0.10-eterXX/XX и регистрационный номер продукта.

При обращении в службу поддержки, пожалуйста, оформите письмо следующим образом:

  • в теме сообщения укажите регистрационный номер продукта и краткое описание ошибки
  • опишите возникшую проблему, и точный способ её воспроизведения
  • не забудьте представиться в письме (указать название компании)

Пример письма:


Subject: 1234-4567 - ошибка при формировании отчёта в 1С Бухгалтерия 7.7

Здравствуйте!

При попытке сформировать отчёт "Ведомость плательщиков" получаю ошибку "Недопустимая сумма". В консоли
ничего не пишет. Релиз 1С - 27, конфигурация - Бухгалтерия 499.

--
Иван Ложкин,
Компания "Спокойный бухгалтер"

Пример 1.


Если первичная инициализация wine проходит неуспешно (команда wine --update выдаёт ошибку), свяжитесь со службой поддержки, передав файл .wine/install.log.

Если произошёл сбой в работе win-приложения, действуйте следующим образом:

  1. Запустите приложение из командной строки командой winelog win-приложение, где win-приложение — путь к исполняемому (exe) файлу.
  2. Добейтесь сбоя в работе приложения.
  3. Журнал (лог-файл) будет записан в файл .wine/wine.log. В этом файле могут содержаться излишние подробности о Вашей системе, которые вы не хотели бы раскрывать. Пожалуйста, перед отправкой просмотрите файл и удалите лишние данные.
  4. Приложите wine.log к письму в службу поддержки Etersoft.


Убедительная просьба не присылать письма объёмом более 1 Мегабайта, они всё равно не дойдут. Используйте архивацию или выкладывание файлов на промежуточный сервер. В крайнем случае свяжитесь со службой поддержки для выяснения способа передачи файла.

Подписка на обновления

Компания Etersoft предоставляет покупателям своих продуктов регулярные обновления, в которых делаются существенные исправления и добавляется поддержка новых возможностей.

Получить обновления можно на сайте компании Etersoft, на Вашей персональной странице. Информацию о выходящих обновлениях мы рассылаем нашим клиентам по электронной почте.

Получив пакеты обновлений, нужно установить их стандартным для Вашей системы способом, удалять при этом предыдущую версию WINE@Etersoft не требуется.

После того как будут установлены новые версии пакетов, каждому пользователю необходимо выполнить команду wine --update для обновления стандартных данных реестра локального win-окружения и некоторых других изменений, подготовленных для новой версии.

Обратите внимание, что при обновлении WINE@Etersoft версии 1.0 до WINE@Etersoft версии 2.0 необходимо также удалить файл лицензии wine-etersoft.lic в одном из каталогов: ~/.wine, C:WINDOWSINF или в /etc/wine и скопировать туда новый файл лицензии, полученный в письме со ссылками на скачивание продукта.

Установка WINE@Etersoft

Системные требования

  • x86-совместимый процессор 800 МГц
  • 256 Мб ОЗУ (128Мб минимум)
  • 32-битная ОС GNU/Linux или FreeBSD

Дополнительно:

  • аппаратное ускорение GL (для работы с 3D)
  • система печати CUPS (при необходимости печати)

Подробнее:

  • 32-битное или 64-битное ядро Linux 2.6.x или FreeBSD не ниже 7.0
  • freetype >= 2.1.9 или новее
  • система вывода звука ALSA

Рекомендуемые дистрибутивы (в порядке приоритета):

  • Ubuntu 10.04
  • ALT Linux 5.0
  • Mandriva 2010.0
  • Fedora 13
  • LINUX@Etersoft 4.1
  • ASP Linux 14
  • SUSE 11

Описание конкретных проверенных конфигураций можно найти здесь: http://kb.etersoft.ru/Проверенные_конфигурации

Операционная система

Продукт WINE@Etersoft протестирован на ряде Linux/Unix-систем, самая актуальная версия списка публикуется на сайте Etersoft). Двоичные пакеты для каждого из перечисленных в этом списке дистрибутивов можно найти на компакт-диске WINE@Etersoft в подкаталоге WINE/название_дистрибутива/версия. Исходные тексты WINE (свободная часть WINE@Etersoft) находятся на диске в подкаталоге sources/.


Внимание! Перед установкой убедитесь, что в Вашей системе не установлен стандартный WINE, входящий в дистрибутив. Если в Вашей системе присутствует такой WINE, то обязательно предварительно удалите относящиеся к нему пакеты и не забудьте удалить каталог .wine в домашнем каталоге каждого пользователя.

Если Вы используете дистрибутив, которого нет в списке совместимых с WINE@Etersoft, или другую версию одного из перечисленных дистрибутивов, то мы не можем гарантировать, что WINE@Etersoft можно установить и корректно использовать на данной платформе. В этом случае у Вас есть две возможности: выбрать дистрибутив из списка поддерживаемых или обратиться в Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. для обсуждения возможности поддержки WINE@Etersoft на Вашей платформе.

Установка WINE

Пакеты, составляющие WINE@Etersoft, устанавливаются обычным образом, Вы можете воспользоваться привычной программой управления пакетами. Потребуется установить все пакеты, имеющиеся в каталоге WINE/название_дистрибутива/версия. Пакеты из подкаталога extra, как правило, устанавливать не требуется.

В большинстве ситуаций установку пакетов можно выполнить одной командой (в каталоге со сборкой WINE@Etersoft для Вашего дистрибутива). Для дистрибутивов на основе rpm:


название_дистрибутива/версия# rpm -Uvh wine-etersoft*.rpm

Пример 2. Установка пакетов (rpm)


Для дистрибутивов на основе dpkg:


название_дистрибутива/версия# dpkg -i wine-etersoft*.deb

Пример 3. Установка пакетов (dpkg)


Для FreeBSD:


название_дистрибутива/версия# pkg_add wine-etersoft-*

Пример 4. Установка пакетов (BSD)


Для Slackware:


название_дистрибутива/версия# installpkg wine-etersoft*

Пример 5. Установка пакетов (Slackware)


Для Gentoo: Предоставляются архивы с бинарными файлами. После их скачивания обратитесь http://kb.etersoft.ru/Gentoo:_Установка_WINE%40Etersoft.

Если программа установки пакетов (rpm или dpkg) сообщит о неудовлетворённых зависимостях, то нужно установить недостающие пакеты из комплекта Вашего дистрибутива обычным образом.

Установка WINE на 64-битную систему

Для ALT Linux:

Для 64-ных систем потребуется устанавливать 32-битные пакеты, например для ALT Linux 4.1 нужно добавить в /etc/sources.list репозиторий с пакетами x86_32:


rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.1 x86_32 classic

Пример 6.


и устанавливать пакеты WINE@Etersoft, собранные для ALT Linux 4.1 32 bit, командой apt-get install *.rpm.

Аналогично для ALT Linux 5.0, а также ALT Linux Sisyphus.

Для Ubuntu/Debian:

Предварительно необходимо установить пакет ia32-libs командой apt-get install ia32-libs. Потом можно ставить пакеты WINE, как обычно: dpkg -i wine-etersoft-*.deb

Нюансы для других 64-битных систем могут быть описаны http://wiki.etersoft.ru/WINE/x8664.

Удаление WINE

Пакеты, составляющие WINE@Etersoft, удаляются обычным образом. Вы можете воспользоваться привычной программой управления пакетами.

В большинстве ситуаций удаление пакетов можно выполнить одной командой. Приведём пример для WINE@Etersoft SQL.

Для дистрибутивов на основе rpm:


название_дистрибутива/версия# rpm -e wine-etersoft wine-etersoft-sql

Пример 7. Удаление пакетов (rpm)


Для дистрибутивов на основе dpkg:


название_дистрибутива/версия# dpkg -P wine-etersoft wine-etersoft-sql

Пример 8. Удаление пакетов (dpkg)


Окружение WINE — настройки и установленные программы — хранятся в каталоге ~/.wine. Если WINE перестал работать, и вы решили “начать всё заново”, просто удалите (переименуйте) этот каталог и запустите команду wine, чтобы создать окружение заново.

Использование сервисов

В документации часто встречается управление сервисами (etercifs, haspd, wine) через команду service. Если в вашей системе такой команды нет, или она не работает, используйте вызов скрипта напрямую. Например, вместо service haspd build запускайте /etc/init.d/haspd build.

Пошаговая инструкция по установке rpm-пакетов WINE@Etersoft

Далее приведена пошаговая инструкция по установке WINE@Etersoft Network на примере системы с rpm-пакетами. Переходите к выполнению следующего шага только после проверки, что предыдущий шаг выполнен успешно.


ВНИМАНИЕ! Выполнение отдельных команд требует полномочий суперпользователя (root). Знак “#” в приглашении означает, что команду нужно выполнить от имени пользователя root. Знак “$” в приглашении означает, что команду следует выполнять от имени обычного пользователя. Запускайте команды из-под root только тогда, когда это действительно необходимо.

1. Пакеты, которые необходимо установить

  • wine-etersoft
  • wine-etersoft-network


Для корректной работы приложений, использующих OpenGL, потребуется поставить пакет wine-etersoft-gl. Официально функционирование GL поддерживается только в продукте WINE@Etersoft CAD.

2. Если установлен стандартный WINE, его следует удалить

Перед установкой пакетов необходимо убедиться в отсутствии уже установленных пакетов WINE:

# rpm -qa | grep wine

если команда вывела на экран хоть один пакет, скорее всего, он относится к WINE и его необходимо удалить. Как правило, это будут пакеты wine и libwine. Такие пакеты, как libkwineffects и docs-wine-intro, удалять не нужно. Введите следующую команду (требуются привилегии root) для удаления пакетов:

# rpm -e пакеты_wine,_установленные_в_системе

ПРОВЕРКА: если команда выполнилась корректно, то пакетов, относящихся к wine, не должно быть в выводе команде:

# rpm -qa | grep wine

3. Удалить каталог .wine из домашнего каталога пользователя

При использовании WINE@Etersoft с настройками от обычного WINE могут возникнуть проблемы, поэтому мы рекомендуем переименовать, либо удалить каталог. wine:

$ rm -rf ~/.wine

ПРОВЕРКА: если каталог удалён, вывод команды ls ~/.wine должен быть примерно таким:

ls: .wine: No such file or directory


Примечание: Каталог .wine следует удалить из домашних каталогов всех пользователей, которые будут запускать WINE.

4. Установить пакеты WINE@Etersoft

Устанавливаем пакеты WINE@Etersoft. Для этого, находясь в каталоге с пакетами, вводим команду (требуются привилегии root):


test:~ # ls -1 | grep wine
wine-etersoft-1.0.12-eter2mdv.i586.rpm
wine-etersoft-network-1.0.12-eter2mdv.i586.rpm

test:~ #  rpm -Uvh wine-etersoft*.rpm
Подготовка...     ########################################### [100%]
   1:wine-etersoft ########################################## [ 33%]
   2:wine-etersoft-network ################################## [ 67%]
WINE: Registering binary handler for Windows program         [ DONE ]
Running etersafed...                                         [ DONE ]

Пример 9. Установка пакетов


ПРОВЕРКА:


test:~ # rpm -qa | grep wine
wine-etersoft-1.0.12-eter2mdv
wine-etersoft-network-1.0.12-eter2mdv

Пример 10. Список установленных пакетов


5. Первый запуск WINE

При первом запуске WINE необходимо создать win-окружение для каждого пользователя. Для этого нужно выполнить команду

$ wine

и дождаться её завершения. Процесс создания окружения отображается на графической заставке.

ВЫВОД (может различаться при разных системах и конфигурациях!):


First running... Using WINEPREFIX=/net/wine/.wine
Creating default file tree...
Copying prepared tree from '/usr/share/wine/skel' ...
Initialize registry and environments...
Building local environment...
Flash Player 9 NPAPI installing...
Device 'e:' created as link for '/media' target.
Device 'e::' created as link for '/dev/cdrom' target.
Device 'd:' created as link for '/net/wine/Documents' target.
Communication dlls installing...
MSI installing...
Windows Scripting installing...
Successfully registered DLL msxml3.dll
Successfully registered DLL msxml4.dll
Successfully registered DLL mfc40.dll
Successfully registered DLL mfc42.dll
Successfully registered DLL msscript.ocx
Successfully registered DLL mfc42u.dll
WINE@Etersoft 1.0 SQL 1.0.10-eter16/11

Licensed for ООО "Этерсофт" with registration number ****-****
Contact person: Системный администратор
Use /net/wine/wine_c as WINE C:\ disk.
Copy your program into and install it.

Пример 11. Создание win-окружения


ПРОВЕРКА:


$ ls -la ~/.wine

drwxrwxr-x  3 test test   4096 Окт 30 11:31 .
drwx------ 28 test test   4096 Окт 30 11:45 ..
drwxrwxr-x  4 test test   4096 Окт 30 11:31 dosdevices
-rw-rw-r--  1 test test    177 Окт 30 11:31 .etersoft-release
-rw-rw-r--  1 test test     72 Окт 30 11:31 install.log
-rw-rw-r--  1 test test 573550 Окт 30 11:31 system.reg
-rw-rw-r--  1 test test   3801 Окт 30 11:31 userdef.reg
-rw-rw-r--  1 test test  26467 Окт 30 11:31 user.reg

Пример 12. Содержимое каталога. wine


Не забудьте скопировать файл лицензии WINE-ETERSOFT.LIC (ссылка на него присылается в письме при заказе продукта) в один из каталогов: ~/.wine, C:\WINDOWS\INF или в /etc/wine. Если файл лицензии не будет найден, это будет сообщено при выводе сведений и версии wine.

ПРОВЕРКА:


$ wine --version
WINE@Etersoft 1.0 SQL 1.0.12-eter2/3

Licensed for ООО "Этерсофт" with registration number ****-****
Contact person: Системный администратор
License expired at 28/04/2010

Пример 13. Вывод сведений о версии wine


Вы установили WINE@Etersoft!

6. Установка приложений в WINE

Можете приступать к установке win-приложений. В роли диска С: выступает каталог ~/wine_c (находится в домашнем каталоге).

Скопируйте туда дистрибутив программы и выполните команду

$ wine имя_программы.exe

Пошаговая инструкция по установке deb-пакетов WINE@Etersoft

Далее приведена пошаговая инструкция по установке WINE@Etersoft SQL на примере системы с deb-пакетами. Переходите к выполнению следующего шага только после проверки, что предыдущий шаг выполнен успешно.


ВНИМАНИЕ! Выполнение отдельных команд требует полномочий суперпользователя (root). Знак “#” в приглашении означает, что команду нужно выполнить от имени пользователя root. Знак “$” в приглашении означает, что команду следует выполнять от имени обычного пользователя. Запускайте команды из-под root только тогда, когда это действительно необходимо.

1. Пакеты, которые необходимо установить

  • wine-etersoft
  • wine-etersoft-sql


Для корректной работы приложений, использующих OpenGL, потребуется поставить пакет wine-etersoft-gl. Официально функционирование GL поддерживается только в продукте WINE@Etersoft CAD.

2. Если установлен стандартный WINE, его следует удалить

Перед установкой пакетов необходимо убедиться в отсутствии уже установленных пакетов WINE:

$ dpkg -l | grep wine_

если команда вывела на экран хоть один пакет, скорее всего, он относится к WINE и его необходимо удалить. Как правило, это будут пакеты wine и libwine. Такие пакеты, как libkwineffects и docs-wine-intro, удалять не нужно.

# dpkg -P пакеты_wine,_установленные_в_системе C параметром-P пакет будет удалён вместе с конфигурационными файлами.

ПРОВЕРКА: если команда выполнилась корректно, то вывод следующей команды на экран должен быть пустым:

$ dpkg -l | grep wine_

3. Удалить каталог .wine из домашнего каталога пользователя

При использовании WINE@Etersoft с настройками от обычного WINE могут возникнуть проблемы, поэтому мы рекомендуем переименовать, либо удалить каталог. wine:

$ rm -rf ~/.wine

ПРОВЕРКА: если каталог удалён, вывод команды ls ~/.wine должен быть примерно таким:

ls: .wine: No such file or directory


Примечание: Каталог .wine следует удалить из домашних каталогов всех пользователей, которые будут запускать WINE.

4. Установить пакеты WINE@Etersoft

Устанавливаем пакеты WINE@Etersoft. Для этого, находясь в каталоге с пакетами, вводим команду (требуются привилегии root):


# ls -1 | grep wine
wine-etersoft_1.0.11-eter8ubuntu_i386.deb
wine-etersoft-sql_1.0.11-eter3ubuntu_i386.deb

#  dpkg -i wine-etersoft*.deb
Подготовка...     ########################################### [100%]
   1:wine-etersoft ########################################## [ 33%]
   2:wine-etersoft-sql ###################################### [ 67%]
WINE: Registering binary handler for Windows program         [ DONE ]
Running etersafed...                                         [ DONE ]

Пример 14. Установка пакетов


ПРОВЕРКА:


test:~ # dpkg -l | grep wine
ii  wine-etersoft                              1.0.11-eter8ubuntu
ii  wine-etersoft-sql                          1.0.11-eter3ubuntu

Пример 15. Список установленных пакетов


5. Первый запуск WINE

При первом запуске WINE необходимо создать win-окружение для каждого пользователя. Для этого нужно выполнить команду

$ wine

и дождаться её завершения. Процесс создания окружения отображается на графической заставке.

ВЫВОД (может различаться при разных системах и конфигурациях!):


First running... Using WINEPREFIX=/home/baraka/.wine with WINE@Etersoft 1.0 SQL 1.0.11-eter8/3
Creating default file tree...
Copying prepared tree from '/usr/share/wine/skel' ...
Initialize registry and environments...
Building local environment...
Flash Player 9 NPAPI installing...
Device 'd:' created as link for '/home/baraka/' target.
Device 'u:' created as link for 'unc/server/share' target.
MDAC 2.7 installing...
MSJET 4.0 installing...
Communication dlls installing...
MSI installing...
Windows Scripting installing...
Successfully registered DLL msxml3.dll
Successfully registered DLL msxml4.dll
Successfully registered DLL mfc40.dll
Successfully registered DLL mfc42.dll
Successfully registered DLL msscript.ocx
Successfully registered DLL mfc42u.dll

WINE@Etersoft 1.0 SQL 1.0.11-eter8/3
Product: WINE@Etersoft 1.0 SQL
Licensed for ООО "Этерсофт" with registration number ****-****
Contact person: Системный администратор
WINE@Etersoft has been configured for the first time.
Use /home/baraka/wine_c as WINE C:\ disk.
Copy your program into and install it.

Пример 16. Создание win-окружения


ПРОВЕРКА:


$ ls -la ~/.wine

drwxrwxr-x   3 baraka users    115 2009-09-10 18:05 .
drwx------ 102 baraka users   8192 2009-09-10 18:00 ..
drwxrwxr-x   4 baraka users     53 2009-09-10 18:02 dosdevices
-rw-rw-r--   1 baraka users    284 2009-09-10 18:05 .etersoft-release
-rw-rw-r--   1 baraka users      0 2009-09-10 18:05 install.log
-rw-rw-r--   1 baraka users 825294 2009-09-10 18:05 system.reg
-rw-rw-r--   1 baraka users   3554 2009-09-10 18:01 userdef.reg
-rw-rw-r--   1 baraka users  31191 2009-09-10 18:05 user.reg

Пример 17. Содержимое каталога. wine


Не забудьте скопировать файл лицензии WINE-ETERSOFT.LIC (ссылка на него присылается в письме при заказе продукта) в один из каталогов: ~/.wine, C:\WINDOWS\INF или в/etc/wine. Если файл лицензии не будет найден, это будет сообщено при выводе сведений и версии wine.

ПРОВЕРКА:


$ wine --version
WINE@Etersoft 1.0 SQL 1.0.11-eter8/3

Product: WINE@Etersoft 1.0 SQL
Licensed for ООО "Этерсофт" with registration number ****-****
Contact person: Системный администратор
License expired at 13/11/2009

Пример 18. Вывод сведений о версии wine


Вы установили WINE@Etersoft!

6. Установка приложений в WINE

Можете приступать к установке win-приложений. В роли диска С: выступает каталог ~/wine_c (находится в домашнем каталоге).

Скопируйте туда дистрибутив программы и выполните команду

$ wine имя_программы.exe

Использование WINE@Etersoft

Запуск win-приложений

Общее правило для запуска всех win-приложений в WINE — запускаемые файлы должны находиться в области видимости WINE, то есть на одном из логических дисков WINE или в его подкаталогах. Если программа поставляется на компакт-диске, то не забудьте должным образом смонтировать диск1, прежде чем обращаться к нему из WINE. Обратите внимание, что в этом случае у вас должен быть разрешён запуск приложений с компакт-диска. Если приложение распространяется не на диске — не забудьте сначала скопировать его в область видимости WINE.

Запуск win-приложений производится двойным щелчком мыши на значке в любом файловом менеджере.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/install-desktop.png
Иллюстрация 1. Запуск программы

Также приложение может быть запущено с помощью команды в командной строке. Не забудьте сначала перейти в каталог с программой.

Для запуска exe-файлов нужно выполнить команду:

$ wine программа.exe

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/install-console.png
Иллюстрация 2. Запуск программы в консоли

Если программа предназначена исключительно для работы в среде Windows 95/98, запускайте её командой:

$ wine98 программа.exe

Программы, поставляемые в виде msi-пакетов, а также файлы .bat и .cmd запускаются с помощью команды:

$ wine start пакет.msi

Для запуска консольных приложений, например файлового менеджера Far, используется команда:

$ wineconsole Far.exe

Для получения командной строки запустите

$ wineconsole cmd

или выберите в меню программ пункт “Командная строка WINE”.

Запуск программ DOS (16-разрядных программ реального режима процессора), особенно сложных, в штатной виртуальной DOS-машине, имеющейся в WINE, обычно не даёт положительного результата. Рекомендуется использовать dosemu или dosbox.

При запуске программы в WINE на самом деле запускается не только сама программа, но и несколько вспомогательных, в частности, программа wineserver, реализующая функции ядра Windows, и предназначенная для синхронизации различных win-программ, запущенных пользователем.

Запуск сервисов

Некоторые win-приложения должны быть запущены как сервисы. От обычных программ сервисы отличаются тем, что не ведут диалога с пользователем, и могут выполняться незаметно.

При запуске сервисов следует иметь в виду, что они завершаются вместе с завершением wineserver, поэтому следует предварительно запустить wineserver с ключом -p, отменяющим автоматическое завершение.


$ wineserver -p
$ wine pssvc.exe &

Пример 19. Пример запуска сервиса


В указанном примере программа pssvc будет запущена как сервис, причём в фоновом режиме.


Обратите внимание, что из-под программы mc запускать программы в фоновом режиме нельзя.

Установка и удаление win-приложений

Как и в Windows, перед использованием большую часть win-приложений сначала потребуется установить. Установка производится обычным для Windows способом — с помощью поставляемой вместе с win-приложением программы установки. Разница в том, что в случае WINE программа будет установлена в локальном win-окружении пользователя.

Для установки win-приложения следует любым удобным способом запустить программу установки (чаще всего setup.exe). Дальше можно действовать по инструкции, предлагаемой поставщиком win-приложения.

Многие win-приложения запрашивают перезагрузку для завершения установки. Перезагружать host-систему при этом не следует. В локальном win-окружении процедуре загрузки Windows соответствует команда wineboot — её можно вызвать из любой командной строки. Если в этот момент в WINE выполняются другие приложения, то рекомендуется их завершать до перезагрузки.

Для удаления win-приложения, установленного в win-окружении, следует воспользоваться программой uninstaller. Запустить её можно через меню или командой wine uninstaller. Эта утилита выводит список установленных в win-окружении приложений (если они зарегистрированы в реестре). Чтобы удалить приложение, выберите его из списка и нажмите кнопку «Uninstall». Если в списке нет приложения, которое вы хотите удалить, то достаточно просто удалить каталог с приложением (можно воспользоваться для этого программой winefile, а можно — стандартными средствами host-системы).

Иногда приложение требует дополнительные компоненты, отсутствующие в стандартной поставке WINE. В этом случае можно обратиться к программе winetricks, запустив её из командной строки. Она позволяет установить различные компоненты, при этом все необходимые вспомогательные действия берёт на себя. Используйте с осторожностью, установка некоторых компонент или их сочетание может сломать работающее win-окружение.

Создание ярлыков

Создание ярлыков для программы выполняется штатными средствами и особых отличий от создания ярлыка для Линукс-программы не имеет.

Рассмотрим создание ярлыка на примере программы Блокнот WINE (C:\windows\system32\notepad.exe). Для запуска программы через WINE потребуется указать полный путь к ней, поэтому при создании ярлыка нужно указать команду запуска

wine "C:\windows\system32\notepad.exe"

Обратите внимание, что для многих программ важен текущий каталог, поэтому его следует отдельно указать в ярлыке, причём это должен быть путь в формате host-системы, то есть

/home/user/wine_c/windows/system32.

Как правило, ярлык для программ создаётся ими самими при установке и размещается на Рабочем столе.

Создание резервной копии

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

Для того, чтобы создать полную копию, достаточно заархивировать каталог ~/.wine. Полученный архив можно использовать для восстановления после сбоя, либо для тиражирования установленной программы — передать архив другому пользователю, чтобы ему не пришлось выполнять те же настройки.

Если программ установлено много, будет достаточно сохранить только копии файлов реестра. Файлы реестра хранятся в каталоге ~/.wine и имеют расширение .reg.

Восстановление WINE

Если были повреждены системные файлы или реестр, вполне возможно, что переустановка не требуется, достаточно выполнить восстановление. Выберите в меню программ пункт “Восстановление WINE”. Того же можно достичь выполнением команды

wine --update

Диагностика проблем

Для облегчения диагностики проблем с установкой и настройкой WINE@Etersoft в него входит программа winediag, выводящая перечень проверенных параметров и выводящая сообщение о конкретной проблеме. В конце вывода указывается код ошибки. Возможны следующие коды:

  • WE13 — не установлен пакет wine-etersoft, возможно в системе имеется Wine другой сборки
  • WE14, WE15 — не удаётся открыть библиотеку libwine, пакеты WINE@Etersoft установлены некорректно;
  • WE16 — не удаётся открыть библиотеку закрытой части WINE@Etersoft;
  • WE17 — библиотека закрытой части WINE@Etersoft повреждена;
  • WE18 — ошибки в получении информации о лицензии; возможно, повреждён файл лицензии или библиотека закрытой части;
  • WE20 — загружена устаревшая версия модуля etercifs
  • WE52 — не найдена библиотека freetype, через которую производится отрисовка символов;
  • WE54 — не работает функция dlopen или не доступна библиотека freetype;
  • WE52 — не удаётся инициализировать библиотеку freetype;
  • WE53 — библиотека freetype слишком старой версии;
  • WE55 — нет соединения с Икс-сервером; возможно, не установлена переменная DISPLAY или нет прав. Нужно зайти в графику нормальным образом;
  • WE56 — неверная модель потоков, работать ничего не будет, либо ошибка в самой программе диагностики;
  • WE57 — не удаётся узнать лимиты на количество файлов, либо они слишком малы;
  • WE58 — не удаётся узнать лимит виртуальной памяти;
  • WE61 — не удалось установить блокировку большого размера на файл (возможно, нет поддержки больших файлов);
  • WE62 — не удалось установить блокировку; возможно, проблема в файловой системе или в самом тесте;
  • WE63 — слишком ограничена маска файлов (umask); совместная работа с группой над файлами невозможна;
  • WE64 — неверно установлена маска файлов (umask); нет доступа даже к собственным файлам;
  • WE65 — локаль не установлена (возможно, в системе отсутствует поддержка локалей или winediag запущен под пользователем root);
  • WE66 — установлена английская локаль, что может вызвать проблемы в работе программ, рассчитанных на русскую локаль;
  • WE67 — установлена неверная версия Windows, либо версию не удалось получить;
  • WE68 — установленная закрытая часть WINE@Etersoft не совместима с открытой (разные версии).

Настройка WINE@Etersoft

Настройка локального win-окружения

Прежде чем начинать работать с WINE, каждому пользователю, от имени которого будут запускаться win-приложения, необходимо настроить локальное win-окружение (по умолчанию оно расположено в каталоге ~/.wine/). Настройка окружения выполняется автоматически при первом запуске WINE (достаточно в командной строке ввести команду wine и дождаться завершения её работы) или запустить любую из программ WINE через системное меню.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/splash.png
Иллюстрация 3. Первый запуск WINE

При первом запуске WINE создаёт необходимую инфраструктуру в домашнем каталоге данного пользователя, для чего выполняет следующие действия:

  • создаёт каталог который будет служить основным диском (C:) для win-приложений, для удобства этот каталог доступен как wine_c в домашнем каталоге пользователя.
  • создаёт необходимую иерархию каталогов на диске C: (Program Files, Windows,...), привычную для win-приложений;
  • создаёт системный и пользовательский реестры со всеми необходимыми значениями;
  • устанавливает необходимые системные компоненты и библиотеки DLL;
  • выстраивает соответствия каталогов host-системы и логических дисков WINE;

Процедуру начальной настройки win-окружения можно запустить в любой момент и впоследствии командой


$ wine --update

Пример 20.


Эта команда выполнит все те же операции, что и при первом запуске WINE.

Копирование файла лицензии

Начиная с версии WINE@Etersoft 1.0.10 требуется установить файл лицензии, подтверждающий правомочность использования данного продукта, и содержащий регистрационный номер и другую информацию об обладателе лицензии.

Файл лицензии выдаётся при заказе сборки со страницы продукта: присылается ссылка для скачивания файла WINE-ETERSOFT.LIC (также можно его называть в нижнем регистре: wine-etersoft.lic). Если сам продукт у вас уже есть на компакт-диске, достаточно будет скачать только файл лицензии. Файл лицензии уникален и неизменен, обновлять его может понадобится только при переходе на новую версию продукта.

Для того, чтобы файл лицензии был воспринят, его нужно скопировать в каталог ~/.wine, C:\WINDOWS\INF или в/etc/wine. Просматриваются каталоги в указанном порядке. Пакеты WINE@Etersoft должны быть установлены предварительно и выполнена настройка локального wine-окружения (см. выше).

Проверить, что файл лицензии принят, можно через команду winediag, или посмотрев на вывод wine --version в консоли. Через графический интерфейс подробную информацию о лицензии и продукте выводит wine winver.

Логические диски

WINE создаёт в локальном win-окружении каждого пользователя логические диски, к которым запущенные в WINE win-приложения могут обращаться стандартным для Windows способом: C:\путь, D:\путь и т. д. Все логические диски WINE, кроме диска C:, представляют собой символьные ссылки в каталоге ~/.wine/dosdevices, которые могут указывать на любые каталоги host-системы.

По умолчанию логические диски WINE будут расположены следующим образом:


C:		~/.wine/dosdevices/c:
D:		~/  (домашний каталог)

Пример 21. Размещение логических дисков WINE по умолчанию


Как минимум один диск — C: будет создан в любом случае. Остальные диски необязательны, даже одного C: будет достаточно для работы в WINE. Правила создания ссылок по умолчанию описаны в файле /etc/wine/script.d/map_devices.sh, при необходимости можно добавить соседний файл с подобным содержимым. Файлы из этого каталога применяются при первом запуске WINE и при выполнении команды wine --update.

Каждый пользователь может вручную изменить соответствия логических дисков WINE каталогам host-системы или создать любое количество дополнительных дисков. Все логические диски для WINE представлены обыкновенными символьными ссылками на каталоги в каталоге ~/.wine/dosdevices. Чтобы создать новый логический диск или изменить имеющийся, достаточно создать новую символьную ссылку с нужным именем.


[tester@test tester]$ ln -s /var/data/1c ~/.wine/dosdevices/f:
[tester@test tester]$ ls -l ~/.wine/dosdevices 
total 0
lrwx tester   13 Nov 25  a: -> /mnt/floppy
lrwx tester    8 Nov 25  a:: -> /dev/fd0
drwx tester 4096 Июн 14  c:
lrwx tester   10 Июн 14  com1 -> /dev/ttyS0
lrwx tester   19 Июн 14  d: -> /home/tester/
lrwx tester    8 Июн 14  lpt1 -> /dev/lp0
lrwx tester   12 Ноя 25  f: -> /var/data/1c

Пример 22. Создание логического диска wine



Создавая логические диски WINE, нужно принимать в расчёт, что права доступа win-приложений к файлам на этих дисках будут определяться правами доступа данного пользователя к реальным файлам host-системы.

Сменные носители

При подключении в host-системе сменного носителя (компакт-диска, флэш-диска или дискеты) в WINE создаётся дополнительный диск, являющийся ссылкой на подключенное устройство. Это работает только при работающих сервисах HAL и DBUS в host-системе.

Безопасность

Советы по соблюдению должного уровня безопасности в WINE могут быть сведены к двум простым соображениям:

  • жертвой ошибки в программе или злонамеренных действий со стороны win-приложения (вируса) может стать только та часть файловой системы, которая входит в область видимости WINE;
  • права доступа к данным определяются правами пользователя, запустившего WINE.

Поэтому следует максимально ограничить область видимости WINE, включив туда только те данные, доступ к которым необходим win-приложениям для работы. Можно сформулировать и несколько более конкретных рекомендаций:

  • Никогда не запускайте WINE от имени пользователя root! Запущенное от имени root win-приложение получит привилегии этого пользователя. Для работы они ему никогда не потребуются, а во вред могут быть употреблены запросто.
  • Win-приложения не должны получать доступ к важным системным каталогам, и в особенности к корневому каталогу файловой системы (“/”). Даже целиком включать домашний каталог пользователя в зону видимости WINE почти наверняка не требуется.

Настройка портов (COM и LPT)

Для отображения портов в ~/.wine/dosdevices могут быть созданы ссылки на соответствующие устройства в host-системе (см. предыдущий пример про создание логического диска). Например, ln -s /dev/ttyUSB1 com4: добавит порт COM4 в WINE, работающий через устройство ttyUSB1. Обычно это не требуется, и соотнесение устройств выполняется WINE автоматически. Например, в Linux COM1 будет соответствовать /dev/ttyS0, а LPT1- /dev/lp0.


Если при использовании COM- или LPT-портов в WINE (например в команде copy файл LPT1) выдаётся сообщение Access Denied, скорее всего у пользователя недостаточно прав для прямого обращения к порту. Проверьте права командой ls -l /dev/lp0 и при необходимости внесите пользователя в соответствующую группу (обычно uucp (dialout для Ubuntu) для последовательных портов и lp для параллельных).

Сетевые пути (UNC)

WINE позволяет работать win-приложениям, которые обращаются к ресурсам при помощи сетевого пути (UNC). Это необходимо для тех приложений, которым обязательно требуется указание UNC-пути, например путь к базе данных: \\someserver\db\db1. Сетевые пути в WINE обеспечиваются так же, как и логические диски — при помощи символьных ссылок на каталоги host-системы.


Обратите внимание, что отношения к сетевой работе это не имеет, и в wine является просто средством отображения локального каталога в сетевой путь. О подключении по сети читайте раздел Подключение Linux-клиентов.

Допустим, программа обращается к файлу \\server\share\file.txt. Чтобы обращение по такому пути работало в WINE, вам потребуется создать в каталоге ~/.wine/dosdevices/unc/ каталог server, содержащий символьную ссылку share, указывающую на расположение данного ресурса в host-системе.


$ cd ~/.wine/dosdevices
$ pwd
/home/tester/.wine/dosdevices
$ mkdir -p unc/server
$ rm unc/server/share
$ ln -s /var/local/share unc/server/share
$ ln -s unc/server/share u:

Пример 23. Создание UNC-пути в WINE


В этом примере искомый файл file.txt располагается в каталоге /var/local/share.

Ресурс /var/local/share будет доступен win-приложениям через UNC-путь \\server\share, либо через диск U:.

Назначение диска U: на путь \\server\share выполняется автоматически при инициализации WINE, начиная с версии 1.0.10-eter23.

Шрифты

Системе WINE доступны те же шрифты, что и другим приложениям в host-системе2. Соответственно, к этим шрифтам получают доступ и win-приложения. Кроме этого, вместе с WINE поставляются базовые растровые и векторные шрифты, которые должны быть метрически идентичны аналогам из Windows.

Существует базовый набор шрифтов (MS Core Fonts) — многие приложения рассчитывают на наличие в системе шрифтов со стандартными именами из данного набора. Для корректной работы таких приложений, а также для обеспечения точного соответствия документов при печати потребуется установить этот набор шрифтов из пакета fonts-ttf-ms, прилагающегося к дистрибутиву WINE@Etersoft (каталог fonts на диске).

Для систем на основе Debian и Ubuntu можно установить пакет msttcorefonts из штатного репозитория системы;

Для систем на основе FreeBSD перейдите в каталог /usr/ports/x11-fonts/webfonts и выполните make install для установки набора шрифтов.

Также набор данных шрифтов можно свободно скачать с сайта http://corefonts.sourceforge.net.

Вместе с WINE@Etersoft в пакете fonts-ttf-liberation поставляется набор шрифтов Liberation, лицензированный Red Hat, Inc. под лицензией GPL. В набор входят Liberation Sans, Liberation Serif и Liberation Mono, совместимые метрически со шрифтами Monotype Arial, Times New Roman и Courier New соответственно. В системах Debian/Ubuntu этот пакет уже имеется и называется ttf-liberation. WINE@Etersoft настроен на использование этих шрифтов при отсутствии Arial/Times/Courier. Соответствие метрик неизменность документов и интерфейсов при использовании этих шрифтов вместо оригинальных.

Шрифт, метрически совместимый с Tahoma, поставляется в составе WINE@Etersoft и также называется tahoma.

Сделать определённые шрифты доступными win-приложению можно несколькими способами:

  • Для всех пользователей — поместить шрифты в host-системе штатным для системы способом (по стандарту — каталог /usr/share/fonts);
  • Для всех пользователей WINE — поместить шрифты в каталог /usr/share/wine/fonts;
  • Для конкретного пользователя — поместить эти шрифты в каталог шрифтов пользователя (~/.fonts);
  • Только для win-приложений данного пользователя — поместить шрифты непосредственно в каталог шрифтов на логическом диске WINE (обычно ~/wine_c/windows/fonts).

Рекомендуется помещать шрифты в системные каталоги только в составе соответствующих пакетов, а не копировать их из других систем.

В ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes хранятся шрифты, используемые, когда запрашиваемый шрифт не найден, либо не поддерживается.

В пользовательской ветке реестра Control Panel\Desktop могут быть заданы следующие значения:

  • FontSmoothingType — 1 = ClearType не используется, включено обычное сглаживание, 2 = ClearType используется;
  • FontSmoothing — 0 = не использовать сглаживание, 1 = использовать сглаживание, 2 = использовать ClearType для сглаживания;
  • FontSmoothingGamma — должно находится в диапазоне от 1000 до 2200. Малое значение даёт наиболее тёмный текст на светлом фоне;
  • FontSmoothingOrientation — указывает, какая структура пикселей используется в мониторе: RGB, BRG, или плоская. В основом мониторы используют RGB-структуру.
    • плоская структура = 0- у устройства нет пиксельной структуры; это означает что световой поток каждого цвета равномерно распределён по площади пикселя. ClearType при этом не может быть применим.
    • RGB = 1- монитор имеет пиксели в виде трёх полосок в следующем порядке: красный, зелёный, синий;
    • BGR = 2- монитор имеет пиксели в виде трёх полосок в следующем порядке: синий, зелёный, красный.

См. также http://shlimazl.nm.ru/rus/fonts_ttf.htm

Всё о шрифтах в WINE: http://wiki.jswindle.com/index.php/Fonts

См. также http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-anti-aliasing-in-wine.html

Решение проблем

Что делать, если какая-либо программа не работает? Вы все сделали согласно инструкции, но ваша программа по-прежнему не работает. Что ж, попробуем рассмотреть несколько рецептов решения проблемы.

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

Команда запуска не находит программу, которую вы хотите запустить. Убедитесь, что вы сменили текущий каталог на тот, в котором находится программа. Убедитесь, что программа расположена на диске C: (в пути ~/.wine/dosdevices/c:). Если вы запускаете программы через ярлык, попробуйте запустить её в консоли, возможно вы получите дополнительную информацию о причине проблемы.

Попробуйте запустить программу через команду wine98, wineole или winexp.

Измените настройки DLL. Запустите программу, указав переменную окружения WINEDEBUG=+loaddll, чтобы увидеть, какие DLL используются и какие варианты (сторонние или встроенные) применяются. Убедитесь, что необходимые файлы DLL находятся в каталоге программы или в каталоге C:\windows\system32 и попробуйте поменять различные настройки библиотек.

Установите всё заново. Win-программы полны загадок, WINE тоже не очень простая вещь. Если какая-то программа упорно не хочет работать, но известно, что работать она должна, мы рекомендуем удалить (или переименовать) каталог ~/.wine, и начать всё заново. Для чистоты эксперимента можно ещё удалить и поставить заново пакеты WINE, возможно, получив при этом последнюю версию пакетов от поставщика.

Запустите команду winediag и обратитесь к разделу “Диагностика проблем” для уточнения предупреждений о проблемах, которые выдаст команда.

Доступ к протоколу ICMP (ping) от пользователя

Некоторым программам нужен доступ к протоколу ICMP, но отправка таких пакетов является привилегированной операцией и обычному пользователю запрещена. Чтобы разрешить пользователю ping, нужно включить соответствующий capability.

Решение для ALT Linux:


 # apt-get install libcap-utils
 # setcap 'cap_net_raw=ep' /usr/bin/wine-preloader

Пример 24.


Решение для Ubuntu:


 $ sudo aptitude install libcap2-bin
 $ sudo setcap 'cap_net_raw=ep' /usr/bin/wine-preloader

Пример 25.


Для того, чтобы разрешить setcap внутри OpenVZ-контейнера, нужно выполнить (при остановленном контейнере)


 # vzctl set <VE_ID> --capability setpcap:on --save

Пример 26.


Для проверки работы ICMP в WINE реализована команда ping.

Использование Winecfg

Программа Winecfg поставляется вместе с WINE и предназначена для его настройки. Чтобы запустить Winecfg, выполните команду:

$ winecfg

Когда программа запустится, вы увидите окно с набором закладок:

  • Приложения
  • Библиотеки
  • Графика
  • Вид и интеграция
  • Диски
  • Ключи защиты
  • Аудио
  • О программе

Изменение настроек в закладках приложения и библиотеки наиболее сильно влияет на работу и запуск приложений. Другие настройки в большей степени отвечают за работу самого WINE.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg1.png
Иллюстрация 4. Программа настройки WINE

Настройка приложений WINE имеет возможность имитировать различные версии Windows. В общем, наибольшее отличие состоит в том, ведет себя WINE как версия Win9x или как версия NT. Некоторые программы требуют специфического окружения для своей работы, либо просто по-другому ведут себя в зависимости от версии Windows. По умолчанию в WINE установлена имитация Windows XP.

Если в основном окне выбрано значение Установки по умолчанию, то изменение версии Windows изменит имитацию по умолчанию для всех приложений. Проблемные программы можно сконфигурировать отдельно от настроек по умолчанию. Для этого необходимо:

  1. Нажать на кнопку Добавить приложение.
  2. Выбрать исполняемый файл приложения (. exe).
  3. После этого вы можете выбрать необходимую версию Windows, которую WINE будет эмулировать для данного приложения.

Настройка библиотек

Известно, что некоторые приложения требуют специфических библиотек (DLL) для своей работы. В WINE имеются собственные реализации для всех системных библиотек Windows, но в них могут быть определённые недостатки. Использование только встроенных DLL гарантирует лицензионную чистоту вашей системы. Но WINE имеет возможность загружать и сторонние DLL, например, поставляемые с программой, или взятые из установленной системы Microsoft Windows.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg2.png
Иллюстрация 5. Настройка библиотек

Замещения DLL

К сожалению, не всегда возможно запустить приложение, используя только встроенные DLL. Некоторые сторонние DLL просто работают лучше. При необходимости скопируйте нужную DLL в соответствующий каталог (обычно windows\system32) и настройте их к использованию. Следующие четыре DLL никогда не следует переназначать: kernel32.dll, gdi32.dll, user32.dll, и ntdll.dll, поскольку они являются непосредственной связкой WINE с host-системой. После того как библиотека скопирована, надо настроить WINE на её использование. Выбор между сторонними и встроенными DLL возможен на различных уровнях. Если у вас выбраны Настройки по умолчанию в закладке Приложения, изменения будут действовать на все программы. Вы можете заменить глобальные настройки на настройки на уровне каждого приложения, добавив и выбрав приложение в закладке Приложения.

Чтобы добавить и заместить FOO.DLL, введите “FOO” в поле Новое замещение для библиотеки и нажмите кнопку Добавить. Для изменения поведения DLL необходимо выбрать библиотеку в окне Существующие замещения и выбрать Редактировать. По умолчанию новые загружаемые библиотеки считаются сторонними библиотеками и выбираются для использования (имеют больший приоритет перед встроенными библиотеками WINE). Вы также можете выбрать использование только сторонних библиотек, только встроенных или не использовать ни одну из них.

Отсутствующие DLL

В случае, когда WINE сообщает об отсутствии библиотеки DLL, ваша задача найти её. Сначала проверьте, является ли эта библиотека публичной DLL, или это пользовательская DLL, поставляемая вместе с программой (это можно сделать, выполнив поиск в Интернет по имени библиотеки). После обнаружения необходимой DLL вам необходимо убедиться в том, что WINE может её использовать. Библиотеки DLL загружаются в следующем порядке:

  1. Каталог, откуда программа выполняется.
  2. Текущий каталог.
  3. Системный каталог Windows (c:\windows\system32\)
  4. Каталог Windows (c:\windows\)
  5. Каталог, прописанный в переменной окружения PATH

Как правило, следует просто скопировать библиотеку в каталог программы.

Настройка графики

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

Также может быть полезен параметр Эмулировать виртуальный рабочий стол. В этом случае все программы будут работать в отдельном окне. Это может, к примеру, быть полезным при тестировании игр при разном разрешении. По умолчанию размер окна 640x480, но может быть изменён и на 800x600. В завершение вы можете настроить некоторые параметры Direct3D. В большинстве случаев эти настройки выставляются автоматически, но вы можете установить их вручную необходимым образом.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg3.png
Иллюстрация 6. Настройка графики

Вид и интеграция

WINE может загружать и использовать схемы оформления Windows. Это не является необходимым при использовании WINE или приложения, но позволяет улучшить внешний вид программ. WINE поддерживает новый стиль тем- MSStyles. В отличие от старого стиля для тем Microsoft Plus!, движок uxtheme поддерживает специальные. msstyles файлы, которые позволяют изменять все управляющие элементы Windows. Если вы хотите использовать это, проделайте следующее:

  1. Загрузите тему Windows XP. Убедитесь, что она содержит .msstyles-файл.
  2. Создайте новый каталог для темы на вашем диске Windows

$ mkdir -p ~/wine_c/windows/Resources/themes/mytheme

  1. Переместите .msstyles в новый каталог mytheme.
  2. Используйте закладку Вид и интеграция в winecfg для выбора новой схемы.

Обратите внимание, что использование тем может замедлить скорость прорисовки графического интерфейса.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg4.png
Иллюстрация 7. Настройка внешнего вида

Настройка дисков

WINE создаёт в локальном win-окружении каждого пользователя логические диски, к которым запущенные в WINE win-приложения могут обращаться стандартным для Windows способом: C:путь, D:путь и т. д. Winecfg имеет возможность автоматически определять диски для вашей системы. Рекомендуется использовать эту возможность, прежде чем приступать к ручной настройке. Просто нажмите кнопку Автоопределение, и WINE начнёт искать диски в системе.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg5.png
Иллюстрация 8. Настройка дисков

Настройка ключей защиты

Для того, чтобы Ваше приложение смогло правильно работать с аппаратным ключем защиты, в некоторых случаях нужно настроить его в winecfg. Поддерживаемые типы ключей отображаются в списке. Чтобы включить ключ, нужно выбрать Ваш ключ в списке, и изменить его параметр во втором столбце на “Загружать”. Затем нужно закрыть winecfg и перезагрузить wineserver:

$ wineboot

после чего на вкладке “Ключи защиты” в третьем столбце у Вашего ключа появится “OK

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg6.png
Иллюстрация 9. Настройка ключей защиты

Настройка звука

WINE может работать с несколькими audio-подсистемами которые можно выбрать в закладке Аудио. Winecfg отображает все доступные драйвера, но вы можете выбрать, какой из них будет использоваться. Драйвера OSS и ALSA наиболее протестированы и отлажены, и рекомендуется по возможности использовать один из них. Если необходимо, вы можете использовать настройки и других устройств ввода-вывода звука.

Настройки DirectSound используются преимущественно в играх. Вы можете выбрать уровень аппаратного ускорения сами, но для большинства случаев “Full” будет лучшим выбором.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/winecfg7.png
Иллюстрация 10. Настройка звука

Использование Regedit

В Windows реестр представляет собой центральное хранилище конфигураций всех приложений и самой операционной системы. WINE хранит настройки в трёх различных файлах, каждый из которых представляет собой обычный текстовый файл, который может быть изменен с помощью любого текстового редактора.

Файлы реестра хранятся в каталоге ~/.wine и индивидуальны для каждого пользователя, кроме случая административной установки WINE.

  • system.reg содержит HKEY_LOCAL_MACHINE.
  • user.reg содержит HKEY_CURRENT_USER.
  • userdef.reg содержит HKEY_USERS.Default (т.е. настройки для пользователя по умолчанию).

Эти файлы автоматически создаются при первом запуске WINE.

Следует учитывать, что перед непосредственным редактированием файла реестра нужно завершить все win-программы и выполнить wineserver -k для завершения WINE, иначе ваши изменения могут быть перезаписаны WINE при остановке.

Использование Regedit

Простейший способ получить доступ и работать с реестром- это использование программы regedit. Подобно аналогичной программе Windows, regedit даёт возможность работать со всеми ключами реестра. Просто наберите regedit в командной строке или выберите программу в главном меню. Откроется окно, содержащее иерархический список ключей реестра и их значения.

http://updates.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.0/docs/images/regedit1.png
Иллюстрация 11. Программа Regedit

Настройка операционной системы

Организация совместной работы

Чтобы сделать возможной одновременную работу нескольких пользователей с одним ресурсом (например, с базой данных 1C), потребуется выполнить два основных этапа:

  1. настроить права доступа;
  2. организовать одновременный доступ к общему ресурсу с нескольких рабочих мест.

Настройка прав доступа

Обычно совместная работа с базой данных и подобными ресурсами требует, чтобы у каждого пользователя были права не только на чтение, но и на запись. Такой тип доступа можно организовать стандартными средствами Linux, включив всех пользователей в одну группу и соответствующим образом настроив права. При установке WINE создаётся группа wine, в простом случае — когда все пользователи равноправны в доступе к данным — можно воспользоваться ею. Администратор однако волен организовать сколь угодно сложную схему разделения прав с помощью произвольного количества групп. Ниже приводятся рекомендации по настройке прав доступа к каталогу с общими данными для простого случая:


Не выставляйте права на каталог 777, т.к. это не даст результата. В первую очередь важны права на создаваемые файлы, поэтому важно правильно установить группу каталога и SGID-бит на него.
  1. Каталог должен принадлежать той группе, куда внесены все пользователи общего ресурса, например, группе wine.
  2. Права доступа на каталог — 770 (“rwxrwx---”), чтобы все члены группы могли модифицировать содержимое каталога.
  3. На каталог нужно установить атрибут SetGID — режим 2770 (“rwxrws---”), чтобы все создаваемые в нём файлы принадлежали той же группе, что и каталог, а не группе создавшего файл пользователя.
  4. В процессе работы с общим ресурсом umask3 пользователя должен быть выставлен в 007, т. е. «создавать файлы с правами на чтение, запись и исполнение для владельца и группы». В сочетании с атрибутом SetGID это даёт доступ на чтение/запись всем пользователям группы ко всем файлам в общем каталоге. Для программ, запущенных в WINE, значение umask задаётся переменной UMASK в файле /etc/wine/config (по умолчанию — 002, что необходимо для административного режима).


WINE@Etersoft поставляется со скриптом setwineshare, который выполняет перечисленные действия для указанного в качестве параметра каталога.

Пример использования setwineshare: # setwineshare --set --group my1cusers /net/sharebase. В этом примере выполняется установка правильных прав на каталог/net/sharebase и его подкаталоги, присваивается группа my1cusers. Выполнять setwineshare следует с правами root. По умолчанию используется группа wine.


Обратите внимание, что при случайной установке атрибута SGID на файлы базы, расположенной по сети, они могут быть недоступны из WINE. Устанавливать биты SUID и SGID на файлы не следует.


При размещении каталога нужно учитывать, что совместный доступ к большим базам данных в типичных win-приложениях предъявляет высокие требования к жёсткому диску по скорости доступа и устойчивости к постоянной нагрузке. Крайне желательны регулярные резервные копии.

Настройка доступа через ACL

При использовании ACL для ограничения доступа к файлам базы данных имеются нюансы. Подробнее см. на http://kb.etersoft.ru/Пример_использования_1C_и_ACL

Доступ к общему ресурсу

Каталог с общими данными необходимо сделать доступным для win-приложений каждого пользователя. Делается это стандартным способом: в локальном win-окружении каждого пользователя создаётся символьная ссылка на каталог с общими данными в каталоге dosdevices. Сам этот общий каталог может располагаться где угодно, единственное требование: он должен быть доступен в файловой системе на каждом рабочем месте. y Есть две принципиальные возможности сделать общий каталог доступным одновременно с нескольких рабочих мест:

Терминальный сервер
Win-приложение установлено и выполняется на сервере, там же размещены общие ресурсы. Все пользователи получают тонкие клиенты: их приложения запускаются на сервере, а рабочие станции служат только для ввода и вывода данных.
Разделяемый сетевой ресурс
Win-приложение установлено и выполняется на рабочих станциях пользователей. Общие данные предоставляются пользователям в виде разделяемого сетевого ресурса (NFS или CIFS).

Терминальный сервер

Случай терминального сервера с точки зрения запуска win-приложений в WINE ничем не отличается от совместной работы нескольких локальных пользователей на одной машине, поэтому задача настройки сводится к правильной организации прав доступа (см. следующий раздел).

Подробнее о существующих программах для организации удалённого доступа к серверу приложений см. в разделе Организация терминального сервера.

Разделяемый сетевой ресурс

Это такая конфигурация, когда win-приложения каждый пользователь запускает локально на своей рабочей станции, а общие данные располагаются на удалённом сетевом ресурсе (сервере), смонтированном в каталог локальной файловой системы на каждой рабочей станции. С точки зрения win-приложения такая ситуация также неотличима от работы с обычным локальным ресурсом.

На настоящий момент для совместной работы по сети поддерживаются сетевые файловые системы NFS и CIFS.

При использовании NFS совместная работа возможна только между Unix-машинами (Windows-клиенты нельзя подключать). При использовании CIFS возможна гетерогенная работа (смешанная работа Linux- и Windows-клиентов).


Важно! При использовании CIFS все клиенты, работающие с общим ресурсом, должны обращаться к файлам через смонтированный сетевой ресурс. Прямое обращение запрещено.

Подробнее о настройке файловых серверов и клиентов см. в разделах документации Настройка совместной работы по протоколу CIFS и Настройка совместной работы по NFS в Linux.

Настройка win-окружения

Последний — и самый важный — необходимый шаг: включить каталог с общими ресурсами в win-окружение каждого пользователя WINE. Делается это стандартным способом: созданием или изменением символьной ссылки в домашнем каталоге пользователя в .wine/dosdevices/ (также можно воспользоваться вкладкой “Диски” программы winecfg). К примеру, если каталог с общими данными у нас находится в /var/1c/, то можно включить его для конкретного пользователя WINE в качестве диска “f:”:


[tester@test tester] cd .wine/dosdevices
[tester@test tester] ln -s /var/1c/ f:
[tester@test tester] ls -l f:
lrwxrwxrwx 1 tester tester 12 Ноя  1 19:21 f: -> /var/1c

Пример 27. Добавление ссылки на общий диск


Можно внести создание этого диска в сценарий в каталоге /etc/wine/script.d/, тогда он будет создаваться автоматически в каждом win-окружении пользователя при первом запуске WINE (см. подробнее в разделе Единообразие настроек пользователя).

Настройка совместной работы по протоколу CIFS

WINE@Etersoft позволяет настроить совместное использование файловой базы данных в гетерогенной среде. В качестве файлового сервера при этом может быть использован SAMBA 3.0.14 и выше, Windows 2000 и выше, или другой файловый сервер, работающий по протоколу CIFS. При этом используется специальный модуль ядра Linux (CIFS@Etersoft), модифицированный для корректной работы WINE. Поставляется он в пакете etercifs.

Настройка Linux/Samba-сервера для совместной работы по протоколу CIFS

Никаких особенных настроек делать не требуется. Если у вас сервер уже настроен и работает с Windows-клиентами, то он будет работать и с WINE@Etersoft.

Настройке Samba посвящено множество статей в Интернете. Вот некоторые из них:

http://www.opennet.ru/docs/RUS/samba_win2000/

http://www.linuxfocus.org/Russian/March2002/article177.shtml

http://www.citforum.ru/operating_systems/linux/samba/

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

Советы по настройке SAMBA-сервера

Как правило, SAMBA-сервер поставляется с настройками по умолчанию, которые подходят для работы WINE, но следует проверить настройки, запустив на сервере команду:


testparm -v

Пример 28.


Будут выведены все текущие значения параметров. Изменить их можно в конфигурационном файле smb.conf, который обычно находится в каталоге /etc/samba.

Рекомендуется, чтобы oplocks были включены (включены по умолчанию)- это улучшит производительность в монопольном режиме. kernel oplocks (включены по умолчанию) можно выключить, это снизит нагрузку на систему (по результатам тестирования в ошибке 3147 на 100Мбитной сети скорость отличается почти на порядок) Включенные логи (log level в значении больше 0) могут в несколько раз замедлить производительность. Проверьте, что указано use sendfile = yes (ускоряет передачу больших блоков файлов).

Какие-либо другие параметры, особенно связанные с доступом к файлам и блокировкам, использовать не рекомендуется.

Таким образом пример оптимальных настроек может быть таким:


kernel oplocks = yes
level2 oplocks = no
use sendfile = yes
log level = 0

Пример 29. Пример глобальных настроек в smb.conf


Остальные параметры по поводу locks/oplocks должны быть установлены по умолчанию.

Параметр strict sync включает выполнение команд по сбросу буфера на диск (flush). По умолчанию он выключен, и это ускоряет работу.

Настройка сетевого ресурса (шары) на SAMBA-сервере

В глобальных настройках следует использовать security = user.

Частой проблемой является несоответствие прав, под которым обращается самба-сервер, с правами на файлы, к которым он обращается. Например, при использовании security = share и обращении к серверу без указания пользователя/пароля он может обращаться к файлам от имени пользователя nobody или pcguest, которые вряд ли имеют права на изменение разделяемых файлов.

В примере ниже Самба с ресурсом sharewine всегда будет обращаться от имени wine к файлам в каталоге /var/local/share.


[sharewine]
   path = /var/local/share
   public = yes
   # valid users = user1 user2
   force user = wine
   writable = yes
   guest ok = yes

Пример 30. Пример секции для сетевого ресурса в smb.conf


Обратите внимание, что пользователи должны быть добавлены в систему (командой useradd) и в SAMBA (командой smbpasswd -a USER). В файл /etc/samba/smbusers нужно вписать запись wine = wine (если используется force user = wine) для установки соответствия между SAMBA и Linux-пользователями.

Такая настройка подходит как для Linux, так и для Windows-клиентов.

Настройка Linux-клиентов для совместной работы по протоколу CIFS

Настройка происходит в два этапа: установка специального собранного модуля ядра CIFS и монтирование общего сетевого ресурса.

Поддерживаемые ядра

Модуль ядра etercifs поддерживает ядра от 2.6.18 и выше. Исключением является ядро ОС SLES10SP2, которое также поддерживается. Ряд проблем исправлен только для ядер от 2.6.25 и выше и ещё некоторая часть — от 2.6.27 и выше. Таким образом, рекомендуется использовать ядра Linux версии от 2.6.27 и выше.

Подготовка модуля ядра CIFS@Etersoft

Свежие версии пакета etercifs можно скачать отсюда. Обратите внимание, что стабильная и проверенная версия поставляется только вместе с WINE@Etersoft, а по указанному адресу могут находится и другие версии, находящиеся в разработке. Начиная с версии WINE@Etersoft 1.0.9 для работы с CIFS необходимо использовать пакет etercifs версии 4.3.6 или выше. Начиная с версии WINE@Etersoft 1.0.11 для работы с CIFS необходимо использовать пакет etercifs версии 4.3.8 или выше. Начиная с версии WINE@Etersoft 1.0.12 для работы с CIFS необходимо использовать пакет etercifs версии 4.5.0 или выше.

Для корректной совместной работы необходимо установить пакет etercifs и задействовать модуль CIFS ядра Linux.


Замечание: Если имеются смонтированные по протоколу CIFS сетевые ресурсы, необходимо прежде их размонтировать командой # umount <точка монтирования>

Просмотреть список смонтированных ресурсов можно командой mount. После успешного размонтирования необходимо собрать модуль под текущее ядро и загрузить его.

Для этого нужно выполнить команду service etercifs restart. При этом скрипт при наличии загруженного модуля выгружает его, затем пытается загрузить и, если не находит, то запускает скрипт сборки. И после того, как модуль будет успешно собран, автоматически произойдет его загрузка.


# service etercifs restart

Пример 31. Загрузка модуля CIFS


Если вы обновили пакет, но не пересобрали модуль, то старый модуль грузиться не будет и вы увидите сообщение:


Loading CIFS kernel module...     [FAILED]
    package etercifs version 4.3.4
    kernel module etercifs version 4.1.2 is built for current kernel
    WARNING!!! Versions of package etercifs and built module etercifs DON'T MATCH!!!
    Please, run 'service etercifs build' to build the etercifs module (recommended)"
    or run 'CHECK_VERSION=0 service etercifs restart' to disableing check."

Пример 32.


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


# CHECK_VERSION=0 service etercifs restart

Пример 33.


Если вы не хотите, чтобы такая проверка осуществлялась, то измените значение переменной CHECK_VERSION в файле /etc/etercifs.conf на CHECK_VERSION=0, раскомментировав строку.

Для сборки модуля ядра Вам потребуется компилятор GCC (пакеты gcc и make) и заголовочные файлы ядра. Если заголовочные файлы отсутствуют, Вам будет предложено название пакета, который надо установить.

Ответ такого вида означает отсутствие заголовочных файлов ядра, необходимых для сборки модуля CIFS@Etersoft для Вашего ядра.


Building for 2.6.27-std-def-alt1 Linux kernel (headers in /lib/modules/2.6.27-std-def-alt1/build)
Error: no kernel headers found at /lib/modules/2.6.27-std-def-alt1/build
Please install package
    kernel-headers-modules-XXXX for ALT Linux
    kernel-XXXX-devel for FCx / ASP Linux
    dkms-etercifs for Mandriva 2009
    linux-headers-XXXX for Debian / Ubuntu
    kernel-source-XXXX for SuSe
    kernel-source-XXXX for Slackware / MOPSLinux
or use KERNSRC variable to set correct location
Exiting...

Пример 34.


Если в данный момент имеются ресурсы, смонтированные по протоколу CIFS и занятые каким-либо процессом, то мы увидим такое сообщение:


Unmounting CIFS resources... unmount error 16 = Device or resource busy
Refer to the umount.cifs(8) manual page (man 8 umount.cifs)    [FAILED]
Unloading CIFS kernel module... ERROR: Module etercifs is in use    [FAILED]

Пример 35.


Если занятых ресурсов, смонтированных по протоколу CIFS нет, то после запуска команды service etercifs restart мы должны увидеть примерно следующее:


Unmounting CIFS resources...    [ DONE ]
Unloading CIFS kernel module...    [ DONE ]
Loading CIFS kernel module... FATAL: Could not open '/lib/modules/2.6.27-std-def-alt1/kernel/fs/cifs/etercifs.ko': No such file or directory
etercifs from Etersoft is not found, trying to compile it...
Building for 2.6.27-std-def-alt1 Linux kernel (headers in /lib/modules/2.6.27-std-def-alt1/build)
Use GCC 4.3
/usr/bin/gcc-4.3
...
...
...
make: Leaving directory `/usr/src/linux-2.6.27-std-def-alt1'
Copying built module to /lib/modules/2.6.27-std-def-alt1/kernel/fs/cifs
Loading CIFS kernel module...    [ DONE ]

Пример 36.


Если присутствует строчка Copying built module to /lib/modiles/..., значит, что сборка завершилась успешно, а присутствие строчки Loading CIFS kernel module... [ DONE ] означает, что собранный модуль успешно загружен.


Для систем Debian и Ubuntu управление сервисами производится прямым запуском скрипта /etc/init.d/etercifs. Так для сборки модуля ядра нужно выполнить команду /etc/init.d/etercifs restart.

Вышеописанные команды можно производить по-отдельности, например, чтобы осуществить только сборку модуля ядра CIFS нужно выполнить команду service etercifs build

Командой service etercifs status можно проверить статус модуля. Если загружен модуль etercifs, то мы увидим следующее сообщение:


CIFS module status:
    package etercifs version 4.2.1
    kernel module etercifs version 4.2.1 is built for current kernel
    kernel module etercifs version 4.2.1 is loaded

Пример 37.


Первая строчка отображает версию пакета etercifs, вторая — версию собранного модуля ядра, третья — версию загруженного модуля ядра. Если модуль etercifs не загружен либо версия собранного или загруженного модуля не совпадает с версией пакета, вы увидите сообщение об этом:


CIFS module status:
    package etercifs version 4.2.1
    kernel module etercifs version 4.2.1 is built for current kernel
    kernel module etercifs version 4.2.0 is loaded
    WARNING!!! Versions of package etercifs and loaded module etercifs DON'T MATCH!!!

Пример 38.


В таком случае требуется перезагрузить модуль командой service etercifs restart.


CIFS module status:
    package etercifs version 4.2.1
    kernel module etercifs version 4.2.0 is built for current kernel
    WARNING!!! Versions of package etercifs and built module etercifs DON'T MATCH!!!
    kernel module etercifs version 4.2.0 is loaded
    WARNING!!! Versions of package etercifs and loaded module etercifs DON'T MATCH!!!

Пример 39.


В таком случае требуется собрать модуль командой service etercifs build и затем перезагрузить командой service etercifs restart.


CIFS module status:
    WARNING!!! Kernel module etercifs is not loaded!
    Possible ERRORS when working with WINE!

Пример 40.


В таком случае требуется запустить модуль командой service etercifs start и затем снова запустить команду service etercifs status для проверки.

Полный список параметров для etercifs:

  • status: проверка состояния модуля
  • start: загрузка модуля etercifs (если модуль отсутствует, то запускается сборка)
  • stop: выгрузка модуля etercifs
  • restart: последовательный запуск команд stop и start
  • build: запуск скрипта сборки модуля

При сборке модуля можно указать версию ядра, отличного от текущего, для которого требуется собрать модуль (для него должны быть установлены заголовочные файлы ядра):


KERNELVERSION=2.6.26-wks-smp-alt1 /etc/init.d/etercifs build

Пример 41. Пример сборки модуля не под текущее ядро


В некоторых системах доступна технология DKMS (Dynamic Kernel Module Support), а для свежих версий Mandriva сборка модуля ядра производится только с использованием DKMS. Для такого варианта сборки нужно поставить пакет dkms-etercifs. Сборка и загрузка модуля будут запущены автоматически после установки данного пакета.

Если в системе доступны оба способа сборки, то для выбора варианта сборки без DKMS необходимо запустить команду с параметром DKMS=0


DKMS=0 /etc/init.d/etercifs build

Пример 42.


Монтирование сетевого ресурса

Сетевой ресурс можно монтировать либо для каждого пользователя персонально (тогда права доступа будут определяться сервером), либо для всех сразу- при условии что пользователи на локальной машине входят в одну группу, указанную при монтировании (доступ к ресурсу станет определяться местными настройками), а также без контроля прав. Примеры монтирования приведены ниже. Вам потребуется установить пакет, содержащий команду mount.cifs. Например, для систем на основе Debian/Ubuntu она находится в пакете smbfs, для ALTLinux- в пакете samba-client.

Программы Windows, запущенные в WINE, требуют особого поведения блокировок файлов на сетевых файловых системах. Для их корректной работы нужно указать дополнительный параметр монтирования forcemandatorylock (он же forcemand). Этот параметр монтирования использует блокировки в стиле DOS/Windows (mandatory блокировки) вместо блокировок в POSIX-стиле (advisory блокировки) даже если расширения Unix включены.


Монтировать сетевые ресурсы, предназначенные для использования в WINE, рекомендуется с параметром монтирования wine, включающим в себя все необходимые параметры.

В версии 1.57 CIFS (начиная с ядра 2.6.29) расширено действие команды fsync, когда теперь приводит не только к передаче данных на сервер, но и ожидает окончания их записи на диск. В зависимости от настроек сервера (в SAMBA есть выключенный по умолчанию параметр strict sync, управляющий синхронизацией данных), новое поведение fsync может привести с существенному замедлению при записи. Монтирование с параметром nostrictsync отключает новое поведение, отключая ожидания окончания записи на диск.

Монтирование CIFS-ресурса для использования Linux-программами и для использования в Wine отличается.

Для монтирования удалённого CIFS-ресурса, предназначенного для Wine, необходимо с правами пользователя root выполнить команду:


# mount -t cifs //<сервер>/<ресурс> <локальный каталог> \
    -o user=<workgroup/user>,pass=<passwd>,file_mode=0660,dir_mode=02770,uid=<user>,gid=<group>,iocharset=utf8,wine,nounix

Пример 43. Пример монтирования сетевой файловой системы


file_mode=0660 определяет необходимые права на запись/чтение файлов пользователю и указанной (через параметр gid) группе. dir_mode=2770 определяет необходимые права на запись/чтение каталогов пользователю и указанной (через параметр gid) группе. iocharset=utf8 определяет кодировку отображаемых имен файлов и каталогов (должна соответствовать кодировке локали в вашей системе).

Если монтировать с параметром noperm, права доступа к файлам будут проверяться на сервере, а не на локальном компьютере (это поможет избежать проблем при несовпадении UID и GID на сервере и локальной машине). Если разграничение доступа к базе не очень важно, это наиболее удобный вариант для совместной работы разных терминальных пользователей с базой. Если вы не уверены, нужен ли вам параметр монтирования noperm, то следует его установить!


# mount -t cifs //<сервер>/<ресурс> <локальный каталог> -o user=<workgroup/username>,pass=<password>,noperm,wine,nounix

Пример 44. Пример монтирования с параметром noperm


Если user и pass не указываются, тогда авторизация на сервере производится от имени пользователя guest. Если не указан пароль, система спросит его в любом случае.

После этого следует создать новый виртуальный диск-каталог в ~/.wine/dosdevices, который будет указывать на локальный каталог, куда смонтирована файловая система.

Монтирование для использования в Linux (например, для домашнего каталога, или для (совместной) работы с файлами OpenOffice отличается параметрами монтирования: не нужно указывать параметры wine,nounix.

Утилита монтирования etermount

Утилита etermount осуществляет монтирование сетевого ресурса по протоколу cifs с предустановленным набором параметров: user=guest,pass=,rw,iocharset=utf8,noperm,wine,nounix, который задан переменной MOUNT_OPTIONS в файле /etc/etercifs.conf. Чтобы смонтировать ресурс //server/share в точку монтирования /path/mountpoint нужно выполнить команду:


# etermount //server/share /path/mountpoint

Пример 45.


Если точка монтирования не указана, то по умолчанию она имеет значение, указанное в переменной DEFAULT_MOUNTPOINT в файле /etc/etercifs.conf.

Монтирование сетевого ресурса при загрузке системы

Для автоматического монтирования ресурса по протоколу CIFS при загрузке системы нужно вписать соответствующую строку в файл /etc/fstab. Обратите внимание, что при использовании доступа по паролю важно использовать файл credentials, в котором указывается имя пользователя и пароль, чтобы не хранить пароль в самом /etc/fstab (поскольку /etc/fstab доступен для чтения пользователям и это небезопасно).


//192.168.33.1/pub /mnt/server cifs credentials=/etc/credentials,rw,iocharset=utf8,noperm,wine,nounix 0 0

Пример 46. Пример указания точки монтирования по протоколу CIFS в fstab



username=guest
password=

Пример 47. Пример файла /etc/credentials для ресурса без пароля



Рекомендуемые права доступа для файла /etc/credentials- 0600, то есть файл не должен быть доступен пользователям на чтение. Такие права можно установить командой chmod 600 <имя файла>.

Поскольку сначала происходит монтирование ресурсов, указанных в fstab, а уже потом загрузка модуля etercifs, то в общем случае нельзя гарантировать, что набор действий “отмонтирование ресурсов CIFS, выгрузка модуля ^cifs^, загрузка модуля ^etercifs^ и монтирование ресурсов CIFS” завершится корректно. Если вдруг после первого монтирования по каким-то причинам некий процесс занимает примонтированный ресурс, то отмонтирования не произойдёт, соответственно, драйвер не выгрузится.

Использование модуля ядра CIFS@Etersoft в системах Slackware и MOPSLinux

Для того, чтобы после перезагрузки модуль etercifs грузился автоматически, а также, чтобы все ресурсы, прописанные в файле fstab, автоматически монтировались, надо в файл /etc/rc.d/rc.local добавить следующие строки в конец файла:


#Start etercifs service
if [ -x /etc/rc.d/init.d/etercifs ]; then
  /etc/rc.d/init.d/etercifs start
  mount -a -t cifs
fi

Пример 48.


Использование устаревшего модуля smbfs ядра Linux

Для ядер 2.4.x, для которых нет работающего CIFS, возможно использование модифицированного модуля smbfs (с добавленной поддержкой блокировок) для организации совместной работы в режиме, аналогичном работе на NFS. Нами подготовлен патч, добавляющий поддержку блокировок в ядро 2.4.32, в рамках поддержки ОС МСВС. Этот режим доступен по специальному запросу.

Использование других реализаций CIFS-клиентов

Для работы с WINE требуется модифицированный код поддержки CIFS, в настоящий момент доступный только для ядер Linux. Реализации во FreeBSD и Solaris пока не поддерживаются.

Использование других реализаций CIFS-серверов

Протестирована работа только с SAMBA-сервером и Windows-сервером. Реализация CIFS-сервера в Solaris не проверялась.

Настройка Windows-сервера для совместной работы по протоколу CIFS

Настройка и организация ресурса стандартна и реализуется через “Общий доступ к файлам и папкам”. Важно не забыть указать права доступа к общему ресурсу и файлам. Если авторизация проходит через AD, необходимо установить параметр “Network Microsoft Server: Digitally sign communications (always) - Disable” в групповой политике.

Оригинальная документация от Microsoft

Использование томов NetWare для совместной работы


Внимание: данный способ пока не проверен и не поддерживается!

Для монтирования томов NetWare в файловую систему Linux используется протокол IPX. Монтирование осуществляется командой ncpmount:


# ncpmount -S SERVER -U user -P password /mnt/base

Пример 49. Пример монтирование тома NetWare


Эта команда смонтирует все тома сервера SERVER в каталог/mnt/base под NetWare-логином user с паролем password.

Подробнее можно почитать здесь

Настройка совместной работы по NFS в Linux

Разделяемый сетевой ресурс для совместной работы в WINE можно реализовать с помощью технологии NFS. Выбирая этот способ, следует учитывать следующие особенности NFS:

Права доступа
Доступ к файлам по NFS осуществляется на основании идентификатора пользователя (UID/GID). Поэтому требуется, чтобы у каждого пользователя присутствовало две учётные записи: на сервере и на рабочей станции, причём с одинаковым UID. В случае, когда доступ предоставляется на основании принадлежности к группе (мы предлагаем для WINE именно такой вариант), это требует, чтобы данная группа присутствовала и на сервере, и на всех рабочих станциях с одинаковым GID.
Безопасность
Поскольку при обращении к серверу клиент (с рабочей станции) сам сообщает свой UID/GID, авторизация остаётся целиком на совести данной рабочей станции и никак не зависит от сервера. Поэтому применять NFS (по крайней мере версии 3) можно только внутри безопасной сети, в которой можно доверять всем рабочим станциям.

Итак, для настройки разделяемого сетевого ресурса для совместной работы с WINE потребуется обеспечить:

  • совпадение идентификатора группы (GID), которой принадлежит общий каталог, на сервере и всех рабочих станциях;
  • совпадения идентификаторов всех пользователей (UID), которые входят в указанную группу, на сервере и на всех рабочих станциях.

Также, поскольку речь идёт о совместном использовании ресурса, потребуется задействовать механизм блокировок файлов NFS. Это требует запуска службы nfslock и на сервере, и на всех клиентах.

Настройка сервера NFS на примере Ubuntu Linux

Будем называть машину с NFS-сервером server.

Потребуется установить следующие пакеты:


nfs-user-server
portmap

Пример 50.


Для запуска необходимых служб следует выполнить команды:


# /etc/init.d/portmap start
# /etc/init.d/nfs-user-server start

Пример 51.


Чтобы указанные службы запускались автоматически при последующих перезагрузках, следует выполнить команды:


# update-rc.d portmap defaults
# update-rc.d nfs-user-server defaults

Пример 52.


Настройка клиентов NFS на примере Ubuntu Linux

На стороне клиента должны быть установлены пакеты:


portmap
nfs-common

Пример 53.


Для корректной совместной работы на каждом клиенте обязательно должен быть запущен сервис nfslock, и при монтировании не должно быть ключа nolock, иначе взаимодействия между клиентами не будет и данные в базе могут быть нарушены. Заметить проблему можно по неменяющемуся значению wc -l /proc/locks на сервере, и отсутствию всех запустивших систему пользователей в списке активных пользователей 1С.

При использовании NFSv3 потребуется указать в файле /etc/defaults/nfs-common переменную NEED_STATD=yes для запуска rpc.statd, необходимого для работы блокировок. Для NFSv4 это не требуется. После изменения настроек не забудьте перезапустить nfs-common командой


/etc/init.d nfs-common restart

Пример 54.


Смонтируем каталог сервера server:/mysharedir в /mnt/share/base. Для этого есть 3 пути:

  • монтировать вручную каждый раз;
  • автоматическое монтирование при загрузке системы;
  • автомонтирование при обращении к каталогу.

Монтирование вручную

Для этого следует выполнить одну из следующих команд, в зависимости от версии NFS:

  • для 3-й версии NFS:

$ mount -t nfs -o rw,soft,nointr server:/mysharedir /mnt/share/base

  • для 4-й версии NFS:

$ mount -t nfs4 -o rw,soft,nointr server:/mysharedir /mnt/share/base

Монтирование при загрузке системы

Для этого требуется добавить в файл /etc/fstab строку:

  • для 3-й версии nfs

$ server:/mysharedir /mnt/share/base nfs rw,soft,nointr 0 0

  • для 4-й версии nfs

server:/mysharedir /mnt/share/base nfs4 rw,soft,nointr 0 0

Проверить монтирование можно командой mount /mnt/share/base.

Автомонтирование при обращении к каталогу (autofs)

Для этого необходимо добавить в файл /etc/auto.master строку:

/mnt/share /etc/auto.tab --timeout 60

Кроме этого, в файл /etc/auto.tab нужно добавить строку:

  • для 3-й версии NFS:

base -rw,soft,nointr server:/mysharedir

  • для 4-й версии NFS:

base -fstype=nfs4,rw,soft,nointr server:/mysharedir


Каталог /mnt/share должен существовать в локальной файловой системе и в нём не должно быть подкаталогов.

Теперь можно запустить службу автоматического монтирования командой service autofs restart (/etc/init.d/autofs restart).

Если изменения в файл конфигурации /etc/auto.master вносились во время работы autofs, следует перезагрузить демон automount командой service autofs reload (/etc/init.d/autofs reload).

Настройка сервера NFS на примере ALT Linux

Будем называть машину с NFS-сервером server.

Потребуется установить следующие пакеты:


nfs-server
portmap

Пример 55.


Для запуска необходимых служб следует выполнить команды:


# service portmap start
# service nfs start

Пример 56.


Чтобы указанные службы запускались автоматически при последующих перезагрузках, следует выполнить команды:


# chkconfig portmap on
# chkconfig nfs on

Пример 57.


Настройка клиентов NFS на примере ALT Linux

На стороне клиента должны быть установлены следующие пакеты:


portmap
nfs-client

Пример 58.


Для корректной совместной работы на каждом клиенте обязательно должен быть запущен сервис nfslock, и при монтировании не должно быть ключа nolock, иначе взаимодействия между клиентами не будет и данные в базе могут быть нарушены. Заметить проблему можно по неменяющемуся значению wc -l /proc/locks на сервере, и отсутствию всех запустивших систему пользователей в списке активных пользователей 1С.


# service nfslock start
# chkconfig nfslock on

Пример 59. Запуск сервиса nfslock и включение его автозагрузки


Смонтируем каталог сервера server:/mysharedir в /mnt/share/base. Для этого есть 3 пути:

  • монтировать вручную каждый раз;
  • автоматическое монтирование при загрузке системы;
  • автомонтирование при обращении к каталогу.

Настройка экспортируемых с сервера каталогов

Чтобы экспортировать каталог /mysharedir для монтирования на клиенте, следует в файле /etc/exports добавить строки:

Для одной машины c IP-адресом ipaddr1:

/mysharedir ipaddr1(rw,async)

Для машин подсети 192.168.20.0/24:

/mysharedir 192.168.20.0/24(rw,async)

Для всех машин с доменным именем, оканчивающимся на server.net:

/mysharedir *server.net(rw,async,all_squash,anonuid=150,anongid=201)

Для экспортирования без ограничений:

/mysharedir *(rw,async)

Где:

  • rw — разрешены чтение и запись
  • ro — разрешено только чтение
  • no_root_squash — разрешает пользователям root на машинах-клиентах доступ к смонтированным каталогам в качестве суперпользователя. По умолчанию пользователи root на клиенте получают при доступе к серверу uid пользователя nobody.
  • async — позволяет NFS-серверу отвечать на запросы клиентов в асинхронном режиме, что повышает производительность.

После внесения изменений достаточно выполнить команду

# exportfs -r

для перечитывания настроек сервером.

Для проверки текущих настроек следует вызвать команду:

# exportfs -v

Для NFSv4 следует иметь в виду, что экспортируемые каталоги отсчитываются от определённого каталога, а не от корня системы. Пример:


/net/exports  192.168.0.0/24(rw,insecure,sync,wdelay,no_subtree_check,fsid=0)
/net/exports/home  192.168.0.0/24(rw,insecure,sync,wdelay,no_subtree_check,nohide)

Пример 60. Запись в/etc/fstab


Первая запись здесь является фиктивной (отмечена fsid=0) и обозначает каталог, от которого отсчитываются экспортируемые системы.

Соответственно, предварительно следует подсоединить туда содержимое нужного каталога:


/home            /net/exports/home        none     bind    0 0

Пример 61. Запись в/etc/fstab


Варианты авторизации клиентов

Данный раздел приведён для полноты информации. Авторизация клиентов через NFS не поддерживается. Для того чтобы несколько NFS-клиентов могли одновременно работать с базой, расположенной на NFS-сервере, следует учитывать распределение прав доступа.

Существует несколько вариантов решения этой проблемы:

  • Централизованная авторизация (PAM) или централизованная синхронизация конфигурационных файлов авторизации (NIS).
  • Создание единой учетной записи (uid + gid) на всех машинах, имеющих доступ к базе.
  • Использование параметров all_squash, anonuid, anongid при экспортировании каталога на nfs-сервере

Рассмотрим вариант с единой для всех учётной записью.

В этом случае можно создать новую учетную запись (uid + gid) при помощи команды: useradd имя_пользователя -u номер_uid -g основная_группа_gid -G дополнительные,группы -m

Здесь

  • номер_uid — желаемый идентификатор пользователя;
  • основная_группа_gid — желаемый идентификатор или название Вашей основной группы;
  • дополнительные,группы — перечисление дополнительных подключаемых групп через запятую, без пробелов;
  • ключ “-m” указывает на создание домашнего каталога /home/имя_пользователя;
  • ключ “-d домашний_каталог” привязывает к этому пользователю домашний каталог домашний_каталог.

Далее следует задать пароль созданному пользователю командой passwd имя_пользователя.

Или можно поправить настройки уже существующих учетных записей с помощью команд usermod и groupmod:

Изменить текущие uid и gid пользователя командой:

usermod -u новый_uid -g новый_gid имя_пользователя

Изменить текущий идентификатор группы командой:

groupmod -g новый_gid название_группы

Рассмотрим вариант анонимного использования ресурса на примере экспортирования NFS-сервером каталога /mysharedir для машины client. Для реализации этого метода в файле /etc/exports NFS-сервера следует внести/изменить строку:

/mysharedir client(rw,async,all_squash,anonuid=150,anongid=201)

В то же время владельцем экспортируемого каталога, подкаталогов и файлов должен быть пользователь с uid=150, а владельцем-группой, соответственно пользователи с gid=201. На данный момент одновременная работа с базой по данному методу возможна только между NFS-клиентами. Если при этом обратиться к базе локально, произойдет ошибка.

Информация о сервере NFS

Для получения информации о работе сервера NFS следует использовать команду nfsstat на таком сервере:

nfsstat -s

Для определения поддержки сервером NFS4 можно проверить доступные RPC-интерфейсы. Доступность через порт 2049 по протоколам TCP и UDP означает поддержку версии NFS4.


# rpcinfo -p server
   program vers proto   port
    100003    4   udp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    3   tcp  32788  nlockmgr
    100021    4   tcp  32788  nlockmgr

Пример 62.


Наличие программы 100021 (nlockmgr) свидетельствует о поддержке блокировок со стороны сервера.

Дополнительные ссылки: http://www.bog.pp.ru/work/NFS.html http://www.brennan.id.au/19-Network_File_System.html http://nfs.sourceforge.net/nfs-howto/

Особенности работы с NFS

Поскольку SGID-бит на файлах имеет специальное значение для NFS (включает mandatory блокировки), следует обратить особое внимание на отсутствие этого бита на файлах. Обычно помогает устанавливать права на каталог скриптом setwineshare (см. раздел Разделяемый сетевой ресурс). Для каталогов SGID-бит обязателен при совместной работе, поскольку обеспечивает общую группу для создаваемых файлов, отличную от основной группы пользователя.


Обратите внимание, что протокол NFS (точнее, его реализация на стороне клиента) поддерживает только первые 16 групп, в которые входит пользователь. В случае достижения этого предела нужно перейти на ACL или использовать CIFS.

Если при проверке возникает ошибка подключения, проверьте, что доступ к порту не запрещён файрволлом или ограничением на слушаемые порты в самом portmap (в ALT Linux проверьте отсутствие параметра -l в /etc/sysconfig/portmap.)


# rpcinfo -p server
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

Пример 63. Ошибка при недоступности сервера


Если Wine зависает при обращении к каталогу, следует попробовать выполнить $ flock файл /bin/sh. Если при этом не появляется приглашения, командой строки, проблема в том, что недоступен (не запущен) сервер блокировок (rpc.statd) на клиентской или на серверной стороне.

Режим административной установки

Обычный подход, когда каждый пользователь должен самостоятельно установить win-приложение в своём домашнем каталоге (локальном win-окружении), не очень удобен для использования, когда много пользователей работают с одним и тем же приложением.

Для упрощения администрирования в такой ситуации в WINE@Etersoft имеется режим административной установки. В этом режиме программы, установленные администратором WINE, будут сразу доступны всем пользователям.

Общая схема административного режима установки сводится к следующему:

  1. Специально выделенный пользователь (администратор WINE) создаёт общий логический диск C: (общее win-окружение) и устанавливает в него программы.
  2. Каждый пользователь, который собирается работать с общим win-окружением, должен подключиться к нему (используя его в качестве своего логического диска C:). После этого вся работа происходит с win-приложениями, установленными администратором.

Изменения в рабочей WINE-среде, выполняемые администратором, будут доступны всем пользователям — в общем win-окружении — и у всех пользователей изменения будут согласованы. Этот режим особенно удобен при устройстве терминального сервера, когда win-приложения всех пользователей выполняются на сервере.

Ниже пошагово описан процесс настройки административного режима установки WINE.

Администратор WINE

Прежде всего потребуется определить пользователя, который будет администратором WINE. Этого пользователя нужно добавить в группу wineadmin (такая группа создаётся при установке WINE).

Технически в группу wineadmin могут входить несколько пользователей. В этом случае все они смогут равноправно изменять общее win-окружение. Хорошим решением будет создать отдельную учётную запись, которая будет играть роль администратора WINE.


При работе нескольких администраторов с общим win-окружением следует избегать одновременного изменения данных в нём (установки/удаления программ и т. п.). Это может привести к возникновению конфликтов и ошибок в реестре win-окружения.

Общее win-окружение

После того как администратор WINE определён, следует создать каталог, который будет играть роль общего win-окружения. Рекомендуется в качестве общего каталога использовать /var/lib/wine/default. При установке пакета wine сразу создаётся /var/lib/wine с необходимыми правами (root:wineadmin rw-rw-r--), позволяющими администратору WINE создавать там каталоги.

Подготовка административной системы выполняется командой wine --admin /путь/к/общему/каталогу. Если на момент выполнения этой команды указанного каталога ещё не существует, он будет создан. Если выполнить эту команду без указания каталога, будет использован каталог по умолчанию /var/lib/wine/default.

После настройки среды через wine --admin администратор устанавливает необходимые программы обычным способом.

Обратите внимание, что при использовании SAMBA команду wine --admin лучше выполнять на машине, где расположен сам ресурс.

Подключение к общему win-окружению

Каждому пользователю, чтобы подключиться к общему win-окружению, необходимо выполнить команду wine --attach /путь/к/общему/каталогу. Если указан относительный путь к каталогу, он будет отсчитываться от /var/lib/wine, если же каталог не указан вовсе, по умолчанию используется /var/lib/wine/default.

После выполнения этой команды wine, запущенный этим пользователем, будет использовать в качестве win-окружения указанный каталог (вместо ~/.wine, который используется по умолчанию). В случае подключения к общему каталогу пользователю будут доступны все программы, установленные там администратором WINE.

Отличия wine, подключённого к общему win-окружению, от стандартной настройки заключаются в следующем:

  • Логический диск C: (системный) является ссылкой на общее win-окружение и по умолчанию доступен для записи только пользователям, входящим в группу wineadmin. Рядовые пользователи в общем win-окружении имеют право создавать каталоги только в c:/windows/profiles, где хранятся их личные данные, и в c:/windows/temp, где хранятся временные файлы.
  • системный реестр в локальном win-окружении пользователя (~/.wine/system.reg) является ссылкой на файл в общем win-окружении

(там он расположен в каталоге c:/windows/inf);

Для создания нескольких установок под одним пользователем применимо указание каталога win-окружения (по умолчанию .wine) переменной окружения WINEPREFIX. Например:


$ WINEPREFIX=.wine-admin wine --attach /var/lib/wine/common-dir

Пример 64.


Чтобы пользователи по умолчанию подключались к общему win-окружению при первом запуске, следует воспользоваться настройками в файле /etc/wine/config:


ATTACH_MODE="yes" # включает режим общего win-окружения
WINEADMIN="default" # путь к общему win-окружению

Пример 65.


Дополнительно к файлу /etc/wine/config просматриваются файлы ~/.config/wine и ~/.wine/config, что позволяет указывать дополнительные настройки в разрезе пользователей и созданных win-окружений. Конфигурационные файлы должны быть готовы к тому, что они будут исполняться с помощью sh.

Права доступа к общему win-окружению

Чтобы пользователи могли совместно работать с общим win-окружением, по команде wine --admin в нём производится следующая настройка прав доступа:

  • На каталог общего win-окружения устанавливается атрибут SGID

(2770), чтобы все файлы, созданные в этом каталоге, принадлежали общей группе (wineadmin), а не группе создавшего пользователя. Это даёт администраторам WINE (входящим в группу wineadmin), доступ к любым файлам в этом каталоге.

  • На общий временный каталог c:/windows/temp выставляется атрибут «sticky bit» (режим 1770), чтобы пользователи не могли удалить созданные другими файлы.
  • каталог общего win-окружения должен иметь атрибут SGID (режим 2770), чтобы созданные разными пользователями (администраторами, входящими в группу wineadmin) файлы принадлежали общей группе, выставленной на каталоге, а не группе пользователя.

Администратор может производить дополнительное разграничение прав обычными системными средствами. При необходимости иметь некоторые каталоги общедоступными, на них нужно исправить права или группу.


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

Общие замечания

Для упрощения приняты следующие умолчания: если в качестве параметра --admin или --attach указан относительный путь к каталогу (например, просто test), то он отсчитывается от /var/lib/wine. Если каталог не указан вовсе, подразумевается /var/lib/wine/default

Команды настройки общего win-окружения (wine --admin) и подключения к нему (wine --attach) предполагают, что у выполняющего их пользователя отсутствует каталог ~/.wine. Если такой каталог уже есть, то будет выведено сообщение об ошибке. При необходимости можно переместить ~/.wine в другой каталог или изменить переменную окружения WINEPREFIX — тогда wine --admin и wine --attach будут производить настройку в том каталоге, который указан в этой переменной.

Краткая инструкция

Режим административной установки призван упростить администрирование ПО при наличии однотипных установок программ, и очень легко реализуется на практике. Рассмотрим порядок установки с самого начала, когда пользователи в системе уже заведены, но /. wine отсутствует (инициализация не производилась).

  1. Вносим пользователя, которых будет администрировать WINE (устанавливать программы), в группу wineadmin.
  2. Заходим под пользователем-администратором и запускаем $ wine --admin
  3. Устанавливаем необходимые программы и выполняем нужные настройки
  4. Под каждым пользователем запускаем $ wine --attach (либо добавляем ATTACH_MODE="yes" в файл /etc/wine/config, см. ранее описание этого конф. файла)

Всё. Пользователи разделяют системный реестр system.reg, имеют индивидуальный реестр user.reg, общий диск C:, доступный на запись пользователю-администратору.

Единообразие настроек пользователя

При доступе к общему win-окружению у пользователей остаётся индивидуальной раскладка дисков (в каталоге dosdevices) и пользовательский реестр (в файле user.reg). Иногда эти настройки также требуется устанавливать централизованно.

Если нужно обеспечить одинаковые диски для всех пользователей, нужно создать скрипт какой-то.sh в /etc/wine/script.d и разместить в нём соответствующие команды map_drive по аналогии со /etc/wine/script.d/map_devices.sh, например


map_drive / z:

Пример 66. Назначение корневого каталога как диска Z:


Скрипты с расширением .sh применяются при первом запуске WINE и при выполнении команды wine --update и wine --attach после инициализации реестра, а скрипты с расширением .sh.pre применяются до инициализации реестра.

По умолчанию при первичной инициализации создаётся диск n:, ссылающийся на /net/sharebase.

Для обеспечения единообразия пользовательских настроек, хранящихся в реестре user.reg, произведите под одним пользователем нужные настройки, выгрузите с помощью regedit нужную ветку реестра, разместите её в каталоге /etc/wine/reg.d/ (например, под именем mytest.reg — важно указать расширение .reg), и она будет применяться при обновлении или присоединении к административной установке (командах wine --update или wine --attach). Файлы с расширением .reg применяются до установки сторонних компонент, файлы с расширением .reg.after будут применяться после установки сторонних компонент.

Создание резервной копии

Для создания резервной копии установленных в режиме административной установки программ достаточно заархивировать каталог /var/lib/wine/default. В нём находится содержание диска C:, включая файл системного реестра.

Использование аппаратных ключей защиты в Linux

HASP (от англ. Hardware Against Software Piracy)- это мультиплатформенная аппаратно-программная система защиты программ и данных от нелегального использования и несанкционированного распространения.

Менеджеры лицензий и необходимые драйверы для поддержки ключей защиты в Linux поставляются в пакетах haspd и haspd-modules (модули ядра могут дополнительно поставляться в пакете dkms-*, если система поддерживает DKMS).

Драйверов для прочих систем (MacOS, FreeBSD, Solaris) не имеется, и в этих системах предоставляется только режим работы с сетевыми ключами (когда ключ подключен к другой машине с системой GNU/Linux или Windows.

При использовании локального ключа в программе winecfg на вкладке “Ключи защиты” нужно отметить соответствующий ключ загружаемым (см. winecfg).

Если необходимо обеспечить загрузку драйверов локальных ключей без ручной настройки, в соответствующий файл /etc/wine/reg.d (например, для HASP это будет /etc/wine/reg.d/usb_hasp.reg) нужно добавить строку “Start” =dword: 00000003 перед каждой строкой “Type” = в файле.

Ключи защиты HASP 4/HL (Aladdin)

Ключи HASP бывают как локальные (однопользовательские), так и сетевые (многопользовательские). По способу подключения ключи также бывают двух типов: подключаемые к порту LPT (параллельный порт) и к шине USB. Для ОС GNU/Linux имеются драйверы USB- и LPT-ключей защиты для ядра версии 2.4 и 2.6. Рекомендуется использовать USB-ключ защиты, так как его подключение и настройка вызывает меньше проблем. Возможно, потребуется обратиться к поставщику программы и попросить о замене ключа.

Начиная с Win32 HASP HL API версии 1.12 поддерживаются локальные ключи HASP при работе из WINE@Etersoft. Примером такой программы является 1С: Предприятие 8.0 и выше. Также поддерживается платформа 1С: Предприятие 7.7, начиная с релиза 27 (за исключением локальных ключей для конфигурации Торговля и Склад).


К сожалению, другие программы (не 1С), или конфигурации к 1С могут быть защищены ключами HASP неподдерживаемым способом. Мы ведём работы по исправлению ситуации.

Подключение ключей HASP 4/HL

При эксплуатации программ, защищённых ключом защиты HASP (например, 1С: Предприятие 7.7), необходим драйвер ключа, установленный на компьютере с подключённым ключом. Для сетевого ключа в дополнение к драйверу потребуется также работающий сетевой менеджер лицензий. Сетевой ключ может располагаться на любом узле сети, работающем под управлением Linux или Windows.

Различение ключей:

  • локальные LPT-ключи — белого цвета;
  • сетевые LPT-ключи — красного цвета;
  • локальные USB-ключи фиолетового цвета (H4 M1 ORGL8);
  • однопользовательский USB-ключ синего цвета (H4 B1 ORGL8);
  • сетевые USB-ключи — красного цвета (H4 NET5 ORGL8- после слова NET указано количество лицензий);
  • USB-ключ 32-битного сервера 1С: Предприятия 8 является локальным и имеет фиолетовый цвет (надпись H4M1 ENSR8).
  • USB-ключ 64-битного сервера 1С: Предприятия 8 является локальным и имеет фиолетовый цвет (надпись H4P1 ENSR8).


ВАЖНО! Обратите внимание, что НЕЛЬЗЯ подключать к одному компьютеру ключи с лицензиями на одну и ту же программу, поскольку программа увидит только один из них. Это относится и к сетевым, и к локальным ключам.

Если ключ не работает, и при этом мигает, возможно, он неисправен. См. подробнее здесь.

Установка драйвера ключа HASP 4/HL

Все компоненты драйвера HASP, включая сетевой менеджер лицензий, находятся в пакете haspd. Достаточно обычным способом установить этот пакет (из каталога для вашей версии дистрибутива GNU/Linux) на тот компьютер, к которому подсоединён ключ (вне зависимости от типа ключа).

Проверить, что все компоненты драйвера запущены и работают правильно, можно командой:


[root@test root]# service haspd status
Aladdin HASP 4/HL driver status:
       kernel module aksparlnx is loaded
       aksusbd is running
       winehasp is running
       hasplm is running

Пример 67. Проверка статуса haspd


Для тех систем, где отсутствует команда service, следует использовать команду /etc/init.d/haspd status.

Если в выводе service haspd status появляется предупреждение о том, что не загружен модуль ядра (kernel module aksparlnx is not loaded), это свидетельствует о том, что у вас установлено ядро, для которого не удалось автоматически подобрать драйвер, и требуется сборка модуля ядра (см. ниже). Это потребуется только в случае использования LPT-ключа.

Проверить, какие порты прослушивает менеджер лицензий HASP, можно командой:


[root@test root]# netstat -ap | grep hasp
udp 0 0 *:475 *:* 1535/hasplm
udp 0 0 localhost.localdom:2790 *:* 1169/winehasp

Пример 68. Проверка прослушиваемых портов


Мы видим, что на порту 475 по протоколу UDP ожидает подключения с любых адресов менеджер лицензий, а на локальном порту 2790 по протоколу UDP слушает winehasp соединения с этой же машины.

Настройка приложения, использующего сетевой ключ

Если приложение использует сетевой ключ, то ему требуется знать информацию о расположении ключа защиты (сетевого менеджера лицензий) и способа обращения к нему. Эти данные указываются в файле NETHASP.INI в каталоге с исполняемыми файлами защищённого приложения. Этот файл может выглядеть, например, так:


[NH_COMMON]
NH_TCPIP = Enabled ; Используем только IP-протокол

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1 ; IP-адрес (или имя) машины с менеджером лицензий
NH_TCPIP_METHOD = UDP ; UDP для Linux-сервера и TCP для Windows-сервера
NH_USE_BROADCAST = Disabled ; Отключить поиск ключа по всей сети

Пример 69. Конфигурационный файл NETHASP.INI



Обратите внимание, что концы строк в файле должны соответствовать принятым в DOS/Windows (CR LF), поэтому редактировать файл лучше в notepad, входящем в состав WINE.

Если этого файла нет, или настройки в нём не выполнены, будет выполняться широковещательный запрос по локальной сети. Результат может быть нестабилен. В случае наличия нескольких сетевых интерфейсов на машине ключ может быть не найден.

Для упрощения настройки можно воспользоваться командой setnethasp IP-адрес, которая создаст конфигурационный файл nethasp.ini, настроенный на указанный сервер. Если менеджер лицензий расположен на Windows-машине, настройка осуществляется командой setnethasp --win IP-адрес.

Обращение к сетевому менеджеру лицензий, запущенному под Linux, возможно только по протоколу UDP/IP. Если вы используете менеджер лицензий, запущенный под Windows, то удостоверьтесь что в нём включен протокол TCP/IP.


Обратите внимание, что при использовании Linux-драйвера HASP (haspd) вам не требуется как-либо запускать и настраивать hinstall.exe из поставки Win-приложения.


Обратите внимание, что при использовании сетевого ключа устанавливать пакет haspd нужно только на машине с ключом.

При использования менеджера лицензий под Windows может задействоваться файл nhsrv.ini, в котором указывается в том числе протокол работы (TCP/UDP).


[NHS_IP]

NHS_USE_UDP      = enabled   ; enabled or disabled (default: enabled)
NHS_USE_TCP      = enabled   ; enabled or disabled (default: enabled)
NHS_IP_portnum   = 475       ; IP port number (default: 475 (IANA registered))

Пример 70. Пример файла NHSRV.INI


Проверка доступности ключа

Если всё правильно настроено, но приложение не видит ключ, следует для проверки отключить межсетевой экран (firewall) командой service iptables stop или iptables -F

Далее можно попробовать обратиться к менеджеру лицензий с помощью тестовой программы.


# eterkeytest --hasp
USB:

HASP:
Needed registry section for local HASP key is present

HASP API VERSION: 8.0

HASP Local:
        LPT HASP4 M4 (HASP3 is connected, key is HASP4 Net 5)
        1C:Accountancy v7.7 (simple and network)

HASP Net (press Ctrl-C to break):
.....   -- active logins:  1
        -- max logins:     5
        -- key type:       HASP4 Net 5
        -- activations:    65535
        1C:Accountancy v7.7 (simple and network)

Пример 71. Проверка ключа


Для проверки сетевого ключа eterkeytest пользуется файлом nethasp.ini для получения информации о доступе к ключу (регистр букв важен).

Надпись “Needed registry section for local HASP key is present” показывает, что необходимые для работы 1С 8.x с локальным ключом записи в реестр внесены.

Для Windows существует программа АКС Монитор, позволяющая увидеть тип ключа и количество лицензий в нём: ftp://ftp.aladdin.com/pub/hasp/new_releases/utility/monitor/Monitor_Setup.zip


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

Компоненты драйвера HASP в GNU/Linux

Драйвер ключей защиты HASP для GNU/Linux состоит из нескольких взаимодействующих компонент:

  • aksparlnx (версия 1.6) — модуль ядра, обеспечивающий низкоуровневый доступ к LPT-ключу;
  • askusbd (версия 1.8.1) — универсальный драйвер для USB- и LPT-ключей (системная служба);
  • winehasp (версия 1.00) — часть драйвера, предоставляющая доступ к ключу HASP win-приложениям, исполняющимся в среде WINE (системная служба);
  • hasplm (версия 8.30) — сетевой менеджер лицензий (системная служба).

Сборка модулей ядра для HASP

Если используется LPT-ключ, вам потребуется запустить сборку модуля для вашего ядра командой service haspd build. На системах, где нет команды service, запускайте /etc/init.d/haspd build.

О том, что модуль ещё не собран, можно узнать из вывода service haspd status:


Aladdin HASP 4/HL driver status:

kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled!)

Пример 72. Вывод команды service haspd status


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

  • Для систем ALT Linux это пакет kernel-headers-*.
  • Для систем RHEL, Fedora, ASP Linux, LinuxXP это пакет kernel-devel-*.
  • Для систем Debian, Ubuntu это пакет linux-headers-*.
  • Для систем SUSE, Slackware, MOPSLinux это пакет kernel-source-*.
  • Для систем Mandriva это пакет kernel-source-stripped-*.

Если заголовочные файлы находятся в нестандартном месте, путь можно указать через переменную окружения KERNSRC: KERNSRC=/путь/к/исходникам/ядра service haspd build

Если требуется просто собрать модуль не для текущего загруженного ядра, версию ядра можно указать через переменную окружения KERNELVERSION: KERNELVERSION=2.6.26-wks-smp-alt1 service haspd build


В настоящий момент поддержка HASP на платформах FreeBSD и Solaris не реализована.

Часто задаваемые вопросы по HASP с сайта Aladdin Форум по поддержке HASP на сайте Aladdin

Ключи HASP SRM

Подробности про защиту HASP SRPM можно прочитать на странице http://kb.etersoft.ru/Поддержка_ключей_HASP_в_Wine

Ключи Smartkey 3 (EUTRON)

Сетевые ключи

Сетевыми ключами Smartkey 3 USB/LPT защищаются, например, конфигурации 1С: Рарус 7.7. Драйвер для ключей входит в пакет haspd (/usr/sbin/keyd) и запускается в сервисе haspd. Конфигурационный файл драйвера находится в /etc/skeyd.conf, там можно настроить адрес и порт, на котором находится ключ. По умолчанию драйвер слушает на адресе 127.0.0.1 порт 13527/tcp.


export USB_DEVFS_PATH=/dev/bus/usb

Пример 73.


В защищаемой программе параметры доступа указываются в файле Server.ini (должен находиться в каталоге с конфигурацией).


MODE=NET
SERVER=localhost
IP=127.0.0.1
PORT=13527
PING=0

Пример 74. Конфигурационный файл Server.ini


Дополнительно можно посмотреть здесь: http://www.forum.mista.ru/topic.php?id=242981&forum=it&order=answers

Ключи Smartkey 2 требуют использования модуля ядра и не поддерживаются.

Сайт производителя

Локальные ключи

WINE@Etersoft, начиная с версии 1.0.9 поддерживает библиотеки ключа skeydrv.dll или skeylink.dll и драйвер ключа eusk3usb.sys, необходимый для работы ключей Eutron из WINE.

Локальный USB-ключ Smartkey 3 используется, например, для защиты СБИС++.


Обратите внимание, что поддержки установки драйверов в WINE пока нет, и драйвер не будет установлен при установке программы. Но это и не нужно, так как он поставляется в составе WINE@Etersoft.

Возможны проблемы с правами доступа к файлу устройства /dev/usb/*, отвечающего за вставленный ключ. Для автоматической установки прав с помощью сервиса udev поставляется файл /etc/udev/rules.d/90-winkeys.rules.

Проверить доступность ключа можно командой eterkeytest --list, которая выведет список имеющихся ключей и сообщит об ошибке (denied) доступа или о том, что ключ теоретически поддерживается (supported).


LPT-ключи, как правило, не поддерживаются.

Ключи SuperPro, UltraPro, SHK (Sentinel)

Сетевые ключи

Данные ключи используются для защиты таких программ, как Инфо-Бухгалтер, БЭСТ. Сетевой драйвер для ключей и менеджер лицензий входит в пакет haspd и запускается в сервисе haspd, если соответствующий ключ подключен в USB. По умолчанию используется порт 6001 по протоколу UDP и TCP. На порту 6002 должен работать веб-интерфейс по проверке лицензий.

Настройки сервера (например/usr/lib/sentinel/sntlconfigsrvr.xml

Пример конфигурационного файла клиента поставляется в /usr/share/doc/haspd-3.1/sntlconfig.xml

Сайт производителя

Локальные ключи

WINE@Etersoft поддерживает загрузку драйвера SNTNLUSB.SYS, необходимого для работы ключей из Wine. Сам драйвер поставляется в закрытой части WINE@Etersoft, начиная со сборки 1.0.9-eter8, и находится в каталоге system32/drivers.

Возможны проблемы с правами доступа к файлу устройства /dev/usb/*, отвечающего за вставленный ключ. Для автоматической установки прав с помощью сервиса udev поставляется файл /etc/udev/rules.d/90-winkeys.rules.

Проверить доступность ключа можно командой eterkeytest --list, которая выведет список имеющихся ключей и сообщит об ошибке (denied) доступа или о том, что ключ поддерживается (supported):


$ eterkeytest --list
USB:
Vendor:Product: 04b9:0300 Rainbow Sentinel SuperPro/UlraPro (supported):  SafeNet Inc., USB UltraPro


Пример 75. Пример вывода программы eterkeytest для ключа Sentinel UltraPro


Проверить ключ для программы Инфо-Бухгалтер можно через программу chkey32w.exe из каталога с установленной программой.

Ключи Катран

Данные ключи применяются, например, в составе решения по защите конфигураций 1С. Драйверы ключа поставляются вместе с WINE@Etersoft.

Полный список проверенных конфигураций

Для проверки ключа используется программа PSTest.exe.

Ключи GUARDANT (Актив)

К версии WINE@Etersoft 1.0.10 для платформы GNU/Linux совместно со специалистами компании Актив была разработана полная поддержка всех USB-ключей Guardant, а именно:

  • Guardant Sign/Time/HID/USB
  • Guardant Stealth III/Net III USB
  • Guardant Stealth II/Net II USB

Также выполнена поддержка сервера лицензий Guardant Net, что позволяет использовать сетевые ключи. Программы, защищённые сетевым ключом, могут быть запущены с использованием сервера ключей, запущенного на Windows или в WINE@Etersoft.

Все необходимые драйверы уже поставляются в составе WINE@Etersoft и загружаются при наличии ключа. Специальных действий предпринимать не требуется. При возникновении затруднений обращайтесь в службу поддержки mailto:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .


Поддержки LPT-ключей нет, в связи с большой технической сложностью и их моральным устарением.

Сайт производителя

eToken (Aladdin)

Поддержка брелоков eToken сама по себе бессмысленна, а необходимое Microsoft CryptoAPI и PKCS#11 ещё не реализовано в нужном объёме.


Ведётся разработка.

Ключи SenseLock (SecuLab)

Новые электронные ключи SenseLock на основе смарт-карты имеют поддержку операционных систем Windows, Linux, Mac OS, а также имеют поддержку WINE.

Использование прочих ключей защиты

В случае использования других ключей защиты следует руководствоваться следующими общими правилами:

  • ключи по возможности должны быть USB;
  • ключи должны быть сетевыми (точнее, программа должна обращаться к драйверу ключа (менеджеру лицензий) по сетевому протоколу TCP/IP, иначе без специальной поддержки со стороны производителя программа работать не будет;
  • для сетевого ключа должен иметься драйвер ключа и менеджер лицензий под Linux, написанные производителем;
  • компанией Этерсофт может быть выполнена поддержка загрузки необходимого Windows-драйвера ключа.

В случае затруднений или при встрече с неподдерживаемым ключом обращайтесь с описанием проблемы по адресу mailto:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .

Изменение установленных в системе ограничений

При использовании ресурсоёмких win-приложений могут возникать проблемы, связанные с установленными в системе ограничениями.

Лимит на количество открытых файлов

Ещё одна сторона совместной работы: одновременное использование большего количества ресурсов, что может приводить к превышению стандартных лимитов, используемых по умолчанию в различных Unix-системах. Лимиты могут определяться как в момент компиляции ядра, так и настраиваться в любой момент в процессе работы.

В контексте использования WINE наиболее актуален лимит на открытые файловые дескрипторы. Если в приложении не открываются большие файловые базы или невозможно работать более чем 3-м пользователям одновременно, это может означать, что превышен лимит на открытые файлы.

Лимит на открытые файлы двухуровневый: с одной стороны, имеется лимит ядра на общее число всех открытых файлов, с другой стороны, для каждого процесса также может быть выставлен лимит на число открытых файлов.

Как правило, в современных системах лимит ядра достаточно велик (около сотни тысяч файлов), а вот для каждого процесса установлено ограничение в 1024 файловых дескриптора. Обычно его и требуется увеличить, как правило, достаточно значения 5000.

Лимит по количеству открытых файлов для командной оболочки пользователя можно устанавливать при помощи подсистемы авторизации PAM. Для этого в конфигурационном файле /etc/security/limits.conf выставляются необходимые значения:


*    soft    nofile    5000
*    hard    nofile    5000

Пример 76. Указание лимитов в /etc/security/limits.conf


Чтобы лимит применялся при регистрации пользователей в системе, в файле /etc/pam.d/system-auth должна быть строка:


session   required  /lib/security/pam_limits.so

Пример 77.


Обычно она уже имеется в системе.

Чтобы лимит применялся при входе через ssh в системе, в файле /etc/pam.d/sshd должна быть строка:


session required pam_limits.so

Пример 78.


В Debian Lenny есть бага http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515673, из-за которой установленный лимит не применяется при входе пользователя. В этом случае нужно вписать команду ulimit-n 5000 в файл /etc/init.d/rc, выполняющийся при старте системы.

После повторного входа в систему выставленное вами значение лимита должно быть отображено в выводе команды ulimit -n. Также значения лимита можно узнать из вывода команды winediag.

Узнать текущее значение лимита ядра можно через команду winediag.

Разово изменить это значение в Linux можно посредством той же proc, для этого нужно просто записать новое значение в файл file-max (потребуются права суперпользователя):


# echo "104854" > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max 
104854

Пример 79. Изменение лимита на открытые файлы


Чтобы настройка лимитов сохранялась между перезагрузками, необходимо внести нужные значения в файл /etc/sysctl.conf (для новых систем- в одном из файлов каталога /etc/sysctl.d):


# Maximum number of open files permitted
fs.file-max = 104854

Пример 80. Настройка sysctl.conf


Для Ubuntu 8.04 и некоторых других систем

Если в момент запуска приложения в WINE получаем ошибку:


preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report

Пример 81.


или просто предупреждение


preloader: Warning: failed to reserve range 00000000-00010000

Пример 82.


Нужно убрать нижнюю границу маппинга адресов, однократно- командой sysctl -w vm.mmap_min_addr=0.

Для изменения системных установок правим содержимое файла /etc/sysctl.conf, заменив “vm.mmap_min_addr = 65536” на “vm.mmap_min_addr = 0” и выполнив sysctl -p для вступление настроек в силу.

Для Ubuntu 8.10 и новее

Если в момент запуска приложения в WINE получаем предупреждение


preloader: Warning: failed to reserve range 00000000-00010000

Пример 83.


Нужно убрать нижнюю границу маппинга адресов, однократно- командой sysctl -w vm.mmap_min_addr=0.

Для изменения системных установок правим содержимое файла /etc/sysctl.d/10-process-security.conf, заменив “vm.mmap_min_addr = 65536” на “vm.mmap_min_addr = 0” и выполнив sysctl -p для вступление настроек в силу.

Эксплуатация win-приложений

1C: Предприятие 7.7 в WINE

Установка

Запустите setup.exe из каталога DISK1 дистрибутива программы для начала установки.

При получении ошибки “Setup is unable to find _SETUP.DLL, which is needed to complete the installation. Error 103” убедитесь, что дистрибутив программы не расположен в каталоге, путь к которому назван русскими буквами.

Особенности работы программы 1С: Предприятие в WINE@Etersoft.

Обратите внимание на то, что при использовании файла NETHASP.INI, который записан по умолчанию, возможна нестабильная связь с менеджером лицензий и сбои при запуске программы 1С.

Если программа иногда выдаёт сообщение о том, что нет ключа защиты, иногда запускается, а иногда падает когда уже появилось главное окно, то необходимо правильно настроить NETHASP.INI (отключить broadcast и указать IP-адрес машины с ключом). Подробнее см. в разделе про настройку HASP.

При использовании режима административной установки у простых пользователей не будет возможности сохранять базу (через Конфигуратор), если у них отсутствуют права записи на файл 1CV7FILE.LST. При этом будет выводиться сообщение “Ошибка при открытии списка сохраняемых файлов”. Обычно данный файл имеется в каталоге BIN, но при необходимости отдельных настроек для каждой базы он может быть скопирован в каталог базы с соответствующими правами.

При восстановлении конфигурации из архива возможна ошибка о нехватке свободного места. Она связана с несовпадением владельца файлов, и пользователя, выполняющего восстановление.

Если программа молча закрывается сразу после ввода пароля пользователя, это говорит о проблемах с правами на файлы базы: невозможности открыть файлы базы для записи или создать новый файл в каталоге базы.

Полезные статьи по 1С 7.7: http://mista.ru/articles1c/index.htm

Проверка совместной работы

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

После настройки проверить правильность работы блокировок можно следующими шагами:

  1. Одновременно открываем одну и ту же базу под разными пользователями монопольно. Открыться не должна, потому что файл 1cv7.lck открывается в этом случае с SHARE_READ.
  2. Открываем одну базу под двумя пользователями не монопольно. Открываем один и тот же документ в каждой из программ. Последнему пользователю должно быть сообщено “запись заблокирована”.
  3. Создаём документ под одним пользователем. Видим его в появившимся в журнале другого пользователя, не переоткрывая окно журнала.
  4. Открываем Сервис/Мониторинг/Активные пользователи. Видим две записи о пользователях. Наличие одной записи при двух пользователях свидетельствует о полном отсутствии совместного режима.


Если у пользователя 1С отключены права на редактирование документов, то при входе в документ он не блокирует его. Проверять таким пользователем блокировки не получится.

Использование в терминальном режиме

Вообще сетевая версия 1С рассчитана на эксплуатацию совместно с файл-сервером, когда файлы базы лежат на файл-сервере, а программы 1С, запущенные на каждом компьютере, обращаются к базе по сети.

Минусы:

  • Режим разделения файлов по сети достаточно медленен, и замедление растёт с количеством пользователей. К тому же часто вылет или зависание одного пользователя может привести к невозможности работы остальных.
  • При этом каждая машина имеет доступ к полной базе, всем файлам. Нет ничего сложного эту базу скопировать по сети и унести.
  • Необходимо иметь на каждом рабочем месте компьютер необходимой мощности.

Плюсы:

  • Для выполнения вычислений используются мощности каждого компьютера

При использовании терминал-серверного подключения (распространённое решение и в Windows-среде) файлы все минусы убираются:

  • Нет задержек, связанных с сетью
  • Доступ к файлам на машине ограничен (пользователи видят только картинку)
  • В качестве рабочих мест могут выступать хоть тонкие клиенты (нет требований к производительности машин на рабочих местах)

Ускорение работы в терминальном режиме

1С после каждого изменения файла данных вызывает FlushFileBuffers, что приводит к сбросу буфера файла на диск. Если внезапно пропадет питание или произойдёт сбой системы, то данные в кэше будут потеряны, при этом может быть нарушена целостность базы. Настоятельно рекомендуется использование стабильной системы и источника бесперебойного питания.

При работе в WINE появляется проблема замедления работы, связанная с тем, что вызов fsync в Linux приводит к блокированию работы программы до физического завершения записи на устройство хранения. Windows делает это не настолько надёжно и возвращает управление раньше (зависит от настроек).

О кэшировании: http://www.mista.ru/articles1c/hare/article.45.html

Начиная со сборки wine-1.0.9-eter33 появилась обработка параметра WINEDISABLEFLUSH, указав WINEDISABLEFLUSH=1 в/etc/wine/config, можно добиться существенного ускорения (в 3 раза на перепроведении документов) работы. Рекомендуется применять его только в монопольном режиме при выполнении технологического обслуживания базы администратором.

Прочие советы по ускорению работы 1С: http://www.kb.mista.ru/article.php?id=136&edition=12

Исправление загрузки процессора при ожидании блокировки: http://infostart.ru/projects/1515/

Запуск в режиме одного приложения

Создаем на терминальном сервере скрипт вида:


#!/bin/sh
env WINEPREFIX="/home/guest/.wine" wine "C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise

Пример 84.


Помещаем его в/usr/local/bin

На машине-клиенте в настройках NX клиента в секции Desktop указываем Unix: Custom. Рядом становится доступна кнопка Settings. В открывшемся окне указываем “Run the following command” и в строке указываем название созданного скрипта.

Настройка 1С 7.7 для работы с SQL-сервером

Для использования SQL-версии платформы 1С: Предприятие потребуется WINE@Etersoft SQL. Платформа 1С: Предприятие 7.7 изначально поддерживает только MS SQL Server. С помощью продукта SELTA@Etersoft (SQL-транслятора), устанавливаемого на клиентские машины, возможно использовать PostgreSQL для хранения базы. О настройке 1C и сервера PostgreSQL см. в документации по SELTA@Etersoft.

Настройка сервера MS SQL 2000

Пользователь, от имени которого будут происходить соединения, должен являться владельцем базы (dbowner). Для смены владельца базы в Query Analizer нужно выполнить следующий код:


use base_1c
EXEC sp_changedbowner 'user1c'

Пример 85. Смена владельца базы


где base_1c- имя базы данных, user1c- имя пользователя, который должен стать владельцем базы.

На сервере должна быть включена авторизация через внутренние механизмы SQL-сервера. Удостоверьтесь, что сервер слушает порт TCP/IP. Проверить, что экземпляр SQL-сервера “слушает” порт TCP/IP можно в текущем журнал ошибок. При корректном запуске в журнал записываются следующие строки: 2003-11-06 09:49:36.17 server SQL server listening on TCP, Shared Memory, Named Pipes.

С другой машины можно проверить, открыт ли нужный порт на сервере (командой nmap адрес_сервера):


PORT     STATE SERVICE
1433/tcp open  ms-sql-s

Пример 86. Проверка открытых портов


Настройка клиентской части

При создании новой базы нужно создать базу в SQL-сервере, запустить Конфигуратор для нового каталога базы, и в появившемся окне выбора формата хранения данных выбрать пункт MS SQL Server. Далее в Конфигураторе выбрать пункт “Параметры базы данных SQL” из меню “Администрирование”. В соответствующих полях указать IP-адрес сервера, базы данных, имя пользователя и пароль для входа на сервер. Обратите внимание, что указание имени машины в домене работать не будет.

Настройка ODBC

Некоторые приложения (например, MS Access) требуют настройки соединения ODBC. Для этого используются программы CLICONFG.EXE и ODBCAD32.EXE, которые находятся в каталоге C:\windows\system32. Для большинства программ понадобится указать протокол соединения TCP/IP и порт (обычно 1433). Там же можно проверить соединение с сервером, указав имя пользователя, пароль и базу для подключения.

Возможные ошибки

Удостоверьтесь через wine --version, что вы используете WINE@Etersoft SQL.

Доступ к базе на сервере возможен только из одного каталога информационной базы” Обычно причина в том, что пользователь пытается обратиться к базе данных, указав иной каталог с конфигурацией, чем указал другой пользователь, уже запустивший программу. Короче говоря, одна и та же конфигурация не может располагаться в разных каталогах.

Также возможно используется неверный доступ к файлам, например каталог с базой смонтирован без поддержки блокировок (например, через smbfs или ncp). Для организации корректного доступа к сетевым ресурсам необходимо использовать протоколы сетевых файловых систем NFS или CIFS.

При отсутствии сервера, закрытом порту или неверном адресе будет выдаваться подобное сообщение при подключении:


SQL State: 08001
Native: 17
Message: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL-сервер не
существует, или отсутствует доступ

SQL State: 01000
Native: 3
Message: [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen
(connect()).

Пример 87. Ошибка при подключении к серверу


Удостоверьтесь, что на клиентской машине разрешено обращение по этом порту (для проверки остановите сетевой экран командой iptables -F.

Полезные ссылки

Решение проблем по подключению к серверу MS SQL: http://www.sql.ru/articles/mssql/2005/013001TtroubleshootingConnectivitySQLServer2000.shtml

Часто задаваемые вопросы по SQL: http://www.1csql.ru/materials/faq/admin.html

Возможные причины появления сообщения об ошибке “SQL-сервер не существует, или отсутствует доступ”: http://support.microsoft.com/kb/328306/ru

Использование MS SQL Server 2005 с 1С: Предприятием v7.7: http://www.script-coding.info/SQL2005.html

Про ошибку транзакции (истекло время ожидания транзакции): http://www.softpoint.ru/article_id102.htm

Установка 1С: Предприятия 8.1

Установка клиента 1С: Предприятия в WINE@Etersoft

Для установки клиента 1С: Предприятия перейдите в каталог с дистрибутивом 1С: Предприятия и выполните установку командой:

$ wine98 setup.exe

Следуйте штатным инструкциям по установке из прилагающейся к программе документации.

Обратите внимание, что настройки ключа HASP вносятся в следующий файл:

~/.wine/dosdevices/c:/Program Files/1cv81/bin/conf/nethasp.ini

Более полную информацию можно получить из документации в поставке 1С: Предприятия 8.1 (файл V8AddDoc81.html).

Запуск 1С: Предприятия 8.x

Запустить 1С: Предприятие 8.х можно командой $ wine 1cv8.exe

Конфигурация Альфа-Авто 4.0 Рарус для 1С 8.0

При работе в терминальном режиме требуется отключить использование торгового оборудования. Для этого конфигурация должна внутри себя вычислить ПараметрыСеанса.РежимРаботы = “120

Судя по коду в конфигурации РежимРаботыОборудования = Строка (Комп.НеВключатьОборудованиеПриВходе); РежимРаботыОборудования = РежимРаботыОборудования+Строка (Пользователь.РежимИспользованияОборудования); ПараметрыСеанса.РежимРаботы = РежимРаботыОборудования;

Получается, в справочнике Компьютеры для данной машины должно быть указано НеВключатьОборудованиеПриВходе = 1 в справочнике пользователей РежимИспользованияОборудования должен быть 20

При необходимости для каждого пользователя терминала иметь своё имя компьютера, в конф. файле/etc/wine/config можно указать WINEADDUSERTOCOMPNAME. При установке этой переменной к имени компьютера будет прибавляться имя пользователя по схеме $HOSTNAME-$USER-> localhost-guest

Дополнительные ссылки

Благодаря Вячеславу Гилёву существуют материалы, позволяющие правильно настроить

Методика восстановления разрушенных баз 1С: Предприятия 8.1: http://gilev.blogspot.com/2008/09/1-81.html

Советы по настройке ключей защиты для 1С 8.1 http://infostart.ru/blogs/745/

Поиск решений вопросов, возникающих в 1С: Предприятие 8.1: http://www.gilev.ru/1c/support/research.htm

Установка 1С: Предприятия 8.1 в трёхзвенном режиме

Платформа 1С: Предприятие 8.1 может применяться без использования операционных систем от Microsoft. При этом используется GNU/Linux-сервер, на котором установлена серверная часть 1С: Предприятия, PostgreSQL, менеджер лицензий для ключа защиты HASP, и рабочие места с использованием GNU/Linux, FreeBSD, на которых запускается клиентская часть 1С: Предприятия с использованием WINE@Etersoft. Ограничений по операционным системам на рабочих местах не имеется.

Для работы с PostgreSQL >= 8.3 необходимо 1С: Предприятие версии не ниже 8.1.10.

Рассмотрим установку и настройку 1С: Предприятия 8.1 на платформе ALT Linux 4.0 Server.

На платформе Linux для запуска серверной части 1С: Предприятия серверный ключ HASP вам понадобится только при количестве пользователей более 12.

Ключ для серверной части отличается для 32-битной и 64-битной версии, см. http://v8.1c.ru/price/ на предмет


4601546038616 1С:Предприятие 8.1 Лицензия на сервер руб 42000
4601546038623 1С:Предприятие 8.1 Лицензия на сервер (x86-64) руб 72000

Пример 88.


Обратите внимание, что имена сетевых узлов и обратная зона должны резолвиться со всех машин сети. Частой ошибкой при подключении клиента 1С является то, что с его машины не резолвится адрес сервера 1С: Предприятия, выданный агентом кластера (вносите адреса в DNS-сервер или в/etc/hosts).


$ resolve testing
IP address of testing: 192.168.0.57
$ resolve 192.168.0.57
Host name of 192.168.0.57: testing

Пример 89. Проверка разрешения имён


Установка пакетов и запуск служб

Установка кластера серверов под Linux

Перед установкой потребуется создать пользователя usr1cv81, от имени которого работает сервер 1С: Предприятия. Пользователь должен входить в группу grp1cv81:

# groupadd grp1cv81

# useradd usr1cv81 -g grp1cv81

Пакеты составляющие кластер серверов 1С: Предприятия, устанавливаются обычным образом, вы можете воспользоваться привычной программой управления пакетами. Потребуется установить следующие пакеты, находящиеся в каталоге дистрибутива 1С (1С8.1/Platform.Linux):


# rpm -Uvh *.rpm
Preparing...                 ############################
1C_Enterprise-common         ############################
1C_Enterprise-server         ############################
1C_Enterprise-ws             ############################
1C_Enterprise-crs            ############################
1C_Enterprise-common-nls     ############################
1C_Enterprise-crs-nls        ############################
1C_Enterprise-server-nls     ############################
1C_Enterprise-ws-nls         ############################

Пример 90.


Запуск всех служб осуществляется сервисом 1cv81 автоматически. Он запустится при загрузке системы. Запустить вручную можно командой

# service srv1cv81 start

При этом запустятся компоненты 1С: Предприятия под пользователем usr1cv81, соответственно настройки будут храниться в каталоге /home/usr1cv81/.1cv81.

Установка PostgreSQL под Linux

Для работы сервера 1С: Предприятия необходима специальная сборка PostgreSQL, поставляемая в комплекте с 1С: Предприятием, либо http://wiki.etersoft.ru/PostgreSQL- сборка Этерсофт, доступная для большинства популярных платформ.

Подробная инструкция по установке доступна на странице http://wiki.etersoft.ru/PostgreSQL.

Все выше перечисленные действия должны выполнятся пользователем, обладающим привилегиями суперпользователя.

Для запуска службы может потребоваться изменение значения kernel.shmmax в /etc/sysctl.conf. Нужно добавить строку:

kernel.shmmax=134217728

и после применить изменения, выполнив команду sysctl -p

Далее необходимо задать пароль для пользователя, который будет соединяться с БД. Для этого в сначала в файл/var/lib/pgsql/data/pg_hba.conf следует внести изменения, чтобы строка для локальных пользователей приняла вид:

local all all trust

- доверие ко всем локальным пользователям. Потом нужно перезагрузить сервер postgresql (service postgresql restart), а затем выполнить команду:

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'ваш пароль'"

Запуск кластера серверов под Linux

Установка клиента 1С: Предприятия в WINE@Etersoft

Для установки клиента 1С: Предприятия перейдите в каталог с дистрибутивом 1С: Предприятия и выполните установку командой:

$ wine setup.exe

Следуйте штатным инструкциям по установке из прилагающейся к программе документации.

Обратите внимание, что настройки ключа HASP для клиентской части вносятся в следующий файл:

~/.wine/dosdevices/c:/Program Files/1cv81/bin/conf/nethasp.ini

Более полную информацию можно получить из документации в поставке 1С: Предприятия 8.1 (файл V8AddDoc81.html).

Запуск Консультант+ (сетевой версии)

Подключение сетевого ресурса

Для обеспечения совместной работы с базой Консультант+, программу вместе с базой нужно разместить на файловом сервере (NFS или CIFS), либо в общем каталоге на терминальном сервере. Сетевой ресурс с Консультант+ нужно смонтировать, например, в каталог /net/consultant. Обратите внимание, что в случае использования CIFS должен быть задействован пакет etercifs со сборкой модуля etercifs (см. раздел документации про использование CIFS). Далее нужно установить соответствие этого каталога с каким-либо логическим диском WINE, например K, используя при этом UNC-путь:


$ mkdir -p ~/.wine/dosdevices/unc/cons/
$ ln -s /net/consultant ~/.wine/dosdevices/unc/cons/share
$ ln -s unc/cons/share ~/.wine/dosdevices/k:

Пример 91.


Теперь следует запустить winecfg и во вкладке “Диски” для диска K: указать, что он сетевой.

Подробнее см. раздел документации “Сетевые пути (UNC)”.

Регистрация станции администратора

Для регистрации баз Консультанта нужно запустить cons.exe /reg на одной из машин, которая будет являться станцией администратора (только на ней можно будет выполнять обновление баз). Будет выполнено получение уникальных для компьютера данных и предложен код для регистрации, ответ на который должен быть получен от поставщика ПО.

Регистрация сетевого пользователя

Если речь идёт о первичной установке программы Консультант+, для каждого из доменов следует выполнить процедуру регистрации.

Для подготовки работы по сети на любой машине следует запустить cons.exe /adm, при этом программа будет ожидать запуска процедуры регистрации на станции администратора (появится окно с просьбой выполнить действие “Регистрация станций”). На станции администратора (которая была зарегистрирована ранее) в запущенном К+ следует предварительно открыть пункт меню «Сервис/Регистрация Станций». После выбора этого пункта меню на станции администратора появится окно регистрации сетевого пользователя (процентная линейка от 0 до 100%). Теперь надо вернуться на компьютер пользователя и нажать кнопку ОК в вышеназванном окне. После этого и на компьютере сетевого пользователя появится окно передачи информации (тоже линейка от 0 до 100 %).

Регистрация сетевого пользователя проводится только для одной любой машины в сети- все остальные пользователи в сети смогут работать с программой сразу, как только будет зарегистрирован один пользователь в сети указанным выше способом.

Если сеть состоит из нескольких доменов, и пользователи “Консультант плюс” находятся в разных доменах, процедуру регистрации сетевого пользователя придётся провести в каждом из доменов.

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

Проблемы регистрации

В связи с использованием в системе Консультант+ драйвера для привязки программы к аппаратуре для поддержки драйвера должен быть запущен сервис etersafe при запуске локальной версии или запуске станции администратора/регистрируемой станции. При возникновении проблем это следует проверить в первую очередь.

Если вы получаете ошибку W23 или W25 при регистрации, проверьте работу etersafe командой

# service etersafe status

Ошибка W23 - #2” или “Ошибка W25 - #2” означает ошибку при загрузке драйвера защиты consult.vxd/consult.sys. Например, может быть не установлен WINE@Etersoft или не запущен сервис etersafe.

Ошибка W23 - #6” означает ошибку при попытке обращения к драйверу. Например загрузка драйвера не поддерживается системой.

Число после #- код ошибки, возвращаемый функцией GetLastError ().

Обновление программной оболочки

После обновления программной оболочки необходимо первый запуск программы осуществить на станции администратора с ключом “/adm”. После этого все сетевые пользователи смогут нормально работать с программой.

Как перенести документ из “Консультант плюс” в OpenOffice.org?

Войдите в текст документа и нажмите на кнопочку “W” на панели инструментов. Если в вашей системе установлен OpenOffice.org или StarOffice, он будет запущен и документ в нём открыт.

ГарантF1

Варианты правовой системы Гарант

Существует несколько вариантов Гаранта:

  • Инсталляционная сетевая клиент-серверная (многопользовательская или однопользовательская)
  • Инсталляционная сетевая файл-серверная (многопользовательская или однопользовательская)
  • Инсталляционная локальная
  • Разделяемый по сети DVD-диск (локальный, многопользовательский или однопользовательский)

Подробное описание можно найти здесь: http://forum.elaw.ru/viewtopic.php?p=72343

Установка и настройка

Запуск установки программы Гарант выполняется командой $ wine98 f1setup.exe

При ошибках установки файлов данных необходимо увеличить лимит файлов до 30000 (тридцати тысяч). (подробнее здесь: http://bugs.etersoft.ru/show_bug.cgi?id=4498)

Для корректного подключения к SQL-базе, нужно в BDE Administrator на вкладке Configuration->System>INIT выставить значение “SHAREDMEMLOCATION” = “9000

Инфо-Бухгалтер 8.x

Установка и настройка

Для работы Инфо-Бухгалтер необходимо установить дистрибутив программы и BDE.

Ключи защиты

Начиная с версии 8.401 для Инфо-Бухгалтер доступны следующие ключи командной строки:

  • /NoPlugNovex- Не искать ключи Novex
  • /NoPlugSentinel- Не искать ключи Sentinel
  • /PlugNetSentinel###- Искать ключи NetSentinel с серийным номером ###
  • /PlugLocal- Искать только локальные ключи
  • /ServerSentinel###.###.###.###- Искать ключи Sentinel Super Pro Net на машине с IP адресом ###.###.###.###.
  • /ServerSentinel####- Искать ключи Sentinel Super Pro Net на машине ####

Локальная версия без параметров ищет любые локальные ключи Sentinel и любые ключи Novex.

Сетевая версия с ключами Novex и Sentinel Super Pro (Net) без параметров ищет любые ключи Sentinel и любые ключи Novex. Ключи Sentinel Super Pro Net ищутся сначала локально, а затем на других машинах.

Сетевая версия с ключами NetSentinel без параметров ищет любые ключи NetSentinel на локальной машине и в сети.

Обращение к сетевому ключу идёт по порту UDP 6001.

Драйвер сетевого ключа поставляется в пакете haspd.

Советы по настройке программы: http://users.kaluga.ru/logika/ib_prot.htm

Инфо-Бухгалтер 10.x

Поддержка планируется. Локальная версия использует MSDE 7, сетевая- MS SQL.

Запуск БЭСТ 4+

БЭСТ 4+ представляет собой консольное приложение Win32, написанное в xHarbour. При исполнении в режиме Win98 он использует встроенный терминал, который некорректно работает в WINE (из-за использования своих шрифтов). При исполнении в режиме Win2000 такой проблемы нет, используется штатная консоль WINE. Для запуска БЭСТ 4+ выполните в каталоге с программой команду

$ wine wineconsole start best.bat

Если у вас неадаптированная версия БЭСТ 4+, то для выгрузки отчётов в OpenOffice.org потребуется удалить файл util/zip.exe, или заменить его файлом zip.exe из C:\WINDOWS\COMMAND.

Дополнительные компоненты

Открытие документов Office

В WINE@Etersoft предусмотрено открытие документов офисных форматов в OpenOffice.org, установленном в host-системе. При этом вызывается на выполнение команда ooffice (soffice) host-системы.

Настройка печати

Специальных настроек, как правило, не требуется. Достаточно иметь в системе установленный и настроенный CUPS, и все настроенные принтеры будут доступны в WINE.


В настоящий момент не работает установка виртуальных принтеров, которые нужны для печати на виртуальные устройства типа VentaFax или XPrint/BiPrint.

Если после обновления возникли проблемы с установленными драйверами принтеров, можно удалить записи о них из реестра командой wine --removeprinters, предварительно завершив запущенные в WINE программы. Записи о драйверах создадутся заново при следующем запуске WINE.

При использовании административной установки: После добавления нового принтера в систему (через CUPS) он не будет работать для подсоединённых wine-окружений. Требуется один раз запустить wine (любую программу) под администратором (пользователем из группы wineadmin).

Штрих-коды

1C: Предприятие 7.7

Для отображения штрих-кодов в отчётности используется специальный шрифт (EanGnivc), который входит в WINE@Etersoft (файл eang000.ttf).

В конфигурации Торговля и Склад для формирования графического представления штрихового кода используется OCX-компонента ActiveBarcode, созданная компанией Schenk&Horn, подключаемая как элемент управления OLE. Находится она в файле BARCODE.OCX. Перед использованием его нужно зарегистрировать командой $ regsvr32 BARCODE.OCX в каталоге с конфигурацией, где и находится BARCODE.OCX.

Платформа 1С: Предприятие включает лицензию на использование этой компоненты версий 3.хх, таким образом при использовании ActiveBarcode из 1С: Предприятия она будет работать как лицензионная копия.

1C: Предприятие 8.x

В типовых конфигурациях используется специальная компонента 1С: Печать штрихкодов (выполненная в виде DLL-библиотеки), которая распространяется на диске ИТС (Работаем с программами) в виде установочного файла (1CBarcode.exe). Его нужно установить отдельно перед началом работы с конфигурацией. Обратите внимание, что лицензия на эту компоненту разрешает её использование только с программой 1С: Предприятие.

Сторонние программы

Для печати штрих-кодов на платёжных поручениях банки предлагают установить программы из серии XPrint или BiPrint, которые устанавливаются как виртуальный принтер, перехватывают вывод программы, распознают в нём текстовую информацию и дополняют изображение документа штрих-кодом, содержащем информацию о платеже.

В настоящий момент виртуальные принтеры в WINE@Etersoft не поддерживаются, и работа таких программ невозможна.

Периферийные устройства (торговое оборудование)

Использование USB-сканера. После подключения сканера появляется устройство /dev/ttyUSB0, которое нужно сделать доступным из WINE: ln -s /dev/ttyUSB0 com3: в каталоге. wine/dosdevices Далее выбрать в программе порт com3. Не забудьте проверить, что пользователь имеет права читать/писать в /dev/ttyUSB0.

Подробнее о поддержке торгового оборудования см. в http://kb.etersoft.ru/Поддержка_торгового_оборудования_в_Wine

Проблемы ввода с клавиатуры

В некоторых системах могут не вводится русские буквы в программах, запущенных в WINE (например, в notepad). Это связано с тем, что при использовании Иксов с клавиатуры вводятся только символы, содержащиеся в кодировке текущей локали. Как правильно, причиной является упущение в файлах, содержащих настройки локали для Иксов. Дополнительным симптомом является то, что ввод через xterm русских букв так же не работает. Также можно быть неверно настроена локаль. Для русского языка принято использовать локаль ru_RU.UTF-8 именно в таком написании и регистре. Если локаль не поддерживается системой, при запуске xterm будет выведено “Warning: locale not supported by C library, locale unchanged”, также об этом будет предупреждение в выводе winediag.

Быстро исправить проблему с отсутствием локали в Иксах можно, скопировав подходящий файл локали: cp -a /usr/share/X11/locale/en_US.UTF-8 /usr/share/X11/locale/ru_RU.UTF-8. Если целевой каталог уже есть, копировать не стоит.

Подробнее см. в http://bugs.etersoft.ru/show_bug.cgi?id=398

Также проблема может быть вызвана работой таких программ как XNeur. Остановите программу или пропишите WINE в список исключений.

В дистрибутиве ASP Linux 14 проблема решается запуском yum update gdm. Подробнее см. в http://forum.asplinux.ru/read.php?1,219657,page=1

Описание встроенных программ диагностики

Тестирование работы блокировок

Описание winelocktest, предназначенной для проверки работы взаимных блокировок.

Для проверки под одним пользователем (самостоятельный режим) просто запустите winelocktest под пользователям в проверяемом каталоге.

Для проверки между двумя машинами на одной запускается с ключом-s- подчинённый, на другой c ключом-m- ведущий, который и выведет таблицу с результатами испытаний.

При запуске под root winelocktest будет выполнять автоматическую проверку между двумя временными пользователями (в текущем каталоге).

Результат испытаний блокировок оформляется в виде двухмерной таблицы, где каждая ячейка соответствует определённой комбинации режимов открытия и разделения файлов

  • G_R- открытие на чтение
  • G_W- открытие на запись
  • S_R- разрешение на чтение другим
  • S_W- разрешение на запись другим

В каждой ячейке может быть до трёх обозначений.

Первое:

  • l (при запуске в режиме тестирования между пользователями)- работают POSIX-блокировки на файл
  • u- режим запуска самостоятельный и POSIX-блокировки не проверяются
  • F- работа на CIFS-ресурсе, сброса блокировок при закрытии дескриптора нет (драйвер файловой системы не сбрасывает все блокировки при закрытии одного из дескрипторов на файл, как это должно быть согласно POSIX)

Второе: Успешность проверки на взаимное открытие файлов разными пользователями:

  • V- разрешено и совпадает с тем, как должно быть
  • o- не разрешено, а должно бы
  • C- разрешено, но не совпадает с тем, как должно быть

Третье: Успешность работы блокирования

  • L- сработала блокировка (блокирование области файла через LockFile работает)
  • X- не сработала блокировка (программы (пользователи) “не видят” друг друга)

Правильное поле должно выглядеть как. “l ” или “lVL” для режима совместной проверки “u ” или “uVL” для самстоятельного режима “l ” (“u ”, “F ”), либо как “lVL” (“uVL”, “FVL”), все другие случаи являются ошибкой.

См. также http://wiki.winehq.org/FileLocking

Запуск Налогоплательщик ЮЛ

В WINE@Etersoft имеются все необходимые изменения, чтобы налогоплательщик работал без каких-либо дополнительных действий. Его нужно установить и запустить штатными действиями.

Некоторые подробности можно найти на сайте http://tuxologia.blogspot.com/2009/03/linux.html

Запуск MS Access 2003

Для нормальной работы с базами может потребоваться установить IE 6 командой $ ieinstall и запускать Access командой $ wine98.

Установка и запуск Internet Explorer 6

Запустите установку командой $ ieinstall. При отсутствии установочных файлов IE в текущем каталоге они будут скачаны из Интернета.


Обратите внимание, для использования IE нужно иметь лицензию на MS Windows.

Для удаления IE 6 запустите $ ieuninstall. При этом будет запущен $ wine --update, который может изменить некоторые настройки на умолчальные.

crypt32.dll, поставляющийся с IE, несовместим с WINE. Это проявляется загрузкой процессора и зависаниями при работе по протоколу SSL. В качестве временного решения можно скопировать библиотеки crypt32.dll и msasn1.dll из Windows 2000 или Windows XP в WINDOWS\SYSTEM32.

Организация терминального сервера

Терминальные решения

Терминальный сервер (к которому подключаются тонкие клиенты), предъявляет довольно высокие требования к мощности сервера (в первую очередь по объёму оперативной памяти), на котором он будет развёрнут. Причём эти требования растут пропорционально количеству одновременно подключённых и работающих на сервере пользователей. Поэтому выбирая этот вариант, следует оценить предполагаемую нагрузку на сервер, в противном случае работа может стать некомфортной. Ориентировочная потребность в ресурсах на одного пользователя составляет: 200МГц для ЦП, 50Mб оперативной памяти.

Не менее серьёзные требования предъявляются к пропускной способности канала между тонким клиентом и сервером, поэтому данные решения применимы только в рамках одной локальной сети.

В качестве одного из путей снижения нагрузки можно предложить смешанный тип тонкого клиента, когда только win-приложение запускается на сервере, а все остальные программы — на рабочей станции пользователя. Этот вариант также выгоден, если уже имеются достаточно мощные рабочие станции, а мощность сервера, наоборот, ограничена. В этом случае в рабочем окружении пользователей (например, на рабочем столе KDE) можно создать специальные ссылки (ярлыки), настроенные на удалённый запуск win-приложения.

В настоящее время существует много различных способов организации терминальных серверов. Основной рекомендуемый способ — использование RX@Etersoft.

RX@Etersoft

RX@Etersoft — сборка NX-сервера, выполняемая компанией Etersoft. Используется протокол NX, основной идеей которого является дифференциальное сжатие данных X-сервера и уменьшение количества передаваемых данных с помощью прокси-сервера. Идея дифференциального сжатия изначально была реализована в протоколе DXPC, в 1995 году. На основе этих разработок компания NoMachine создала свой коммерческий (но в основной массе открытый) продукт. Мы рассмотрим полностью открытую и бесплатную реализацию NX, основанную на проекте FreeNX.

Подробное описание на сайте wiki.etersoft.ru/RX.

XRDP

RDP (англ. Remote Desktop Protocol, протокол удалённого рабочего стола)- протокол прикладного уровня, использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows (включая Windows CE и Mobile), Linux, FreeBSD, Mac OS X.

Подробное описание на сайте wiki.etersoft.ru/XRDP.

VNC

Virtual Network Computing (VNC)- это система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer).

Подробное описание на сайте wiki.etersoft.ru/VNC.

LTSP

Решение для организации терминального сервера и бездисковых клиентов, загружаемых по сети.

X

X Window System- оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в Unix-подобных системах в качестве стандарта “де-факто”. В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины “клиент” и “сервер” имеют непривычное для многих пользователей значение: “сервер” означает локальный дисплей пользователя (дисплейный сервер), а “клиент”- программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).

В менеджере входа в систему практически в каждой системе можно увидеть пункт “Удалённый вход в систему”. Указав его и далее выбрав сервер для подключения, вы увидите окно приглашения удалённого сервера, к которому можно подключиться, указать имя пользователя и пароль.

Это самый простой способ.

Вручную подключение выполняется командой X -query server-IP.

Общие сведения о WINE

Среда для запуска приложений Windows

Почему вообще существует необходимость в WINE? Различные программы созданы для различных операционных систем, и большинство из них не будут работать на системах, для которых они не предназначены. Программы, предназначенные для Windows, не смогут работать в Линуксе, потому что не обнаружат привычного окружения (диска C:, системных библиотек (DLL)).

Для того, кто желает пользоваться Windows и Линукс программами вместе, такая ситуация представляет собой фундаментальную проблему. Обычно проблема решается установкой и Windows и Линукс на один и тот же компьютер, что получило название “двойная загрузка”. Когда нужна Windows программа, пользователь загружает компьютер в Windows и запускает программу; Когда нужна Линукс программа, пользователь перезагружает компьютер в Линукс. Эта практика весьма неудобна: пользователь вынужден терпеть неудобство частой перезагрузки машины, при этом программы с разных платформ не могут работать одновременно. Кроме того, наличие Windows в числе операционных систем на компьютере создает дополнительные трудности: программное обеспечение дорого, системе требует наблюдения (например, установки антивируса), требуется отдельный раздел жесткого диска, в том числе и для обмена данными между системами.

Тут нам и приходит на помощь WINE, позволяющий исполнять Windows-программы в Unix-системах.

Терминология

Поскольку речь идёт об использовании технологии, предоставляющей прослойку совместимости для запуска программ, разработанных для ОС Windows, на платформе GNU/Linux или другой Unix-подобной системе, возможна путаница в терминологии. Чтобы не путаться в том, какая именно система имеется в виду, мы будем придерживаться строго последовательного употребления терминов.

host-система
OC GNU/Linux или другая Unix-подобная система, в которой установлен и выполняется WINE.
win-окружение
Cреда, сформированная WINE, и фактически расположенная в host-системе.
win-приложение
Программа, разработанная для ОС Windows, которая выполняется в win-окружении.
Windows
Какая-либо операционная система семейства Windows. Упоминается только для сравнения.

Надеемся, что теперь читатель никогда не засомневается, о какой среде идёт речь, а если всё-таки это произойдёт, то он ещё раз заглянет в это краткое предисловие. Более полный глоссарий терминов приведён в последнем разделе.

Технология

Благодаря распространённости ОС Windows на сегодняшнем рынке очень многочисленны приложения, разработанные для этой платформы4. Однако зависимость коммерческого приложения от определённой платформы (ОС) может быть не всегда удобной или выгодной. На этот случай существуют средства, позволяющие программам, разработанным для ОС Windows, работать в другой операционной системе. Одним из наиболее развитых среди подобных средств является WINE.

WINE (Wine Is Not Emulator) не является эмулятором операционной системы: то есть он не создаёт изолированной среды для выполнения и не обеспечивает доступ к низкоуровневым системным ресурсам, таким как непосредственный доступ к оборудованию. Задача WINE состоит в том, чтобы, с одной стороны, предоставить win-приложению Win API — стандартный системный интерфейс операционных систем Windows, а с другой стороны, транслировать запросы win-приложения в соответствующие системные вызовы (Unix API). WINE работает на различных Unix-системах, в том числе на GNU/Linux, FreeBSD, Sun Solaris, MacOS. Таким образом, WINE — это своеобразная «прослойка» совместимости между win-приложениями и host-системой.

Хотелось бы отметить, что любые программы WINE выполняются в непривилегированном режиме и не требует никакой модификации ядра операционной системы (в том числе динамически загружаемых модулей). Отсюда следует простой вывод относительно безопасности: любые проблемы, которые могут быть вызваны запуском win-приложений, будут ограничены правами доступа того пользователя, который запустил WINE. В результате win-приложения будут подчиняться политике доступа UNIX-системы и не смогут её нарушать. В дальнейшем ядро WINE может быть оформлено в виде модуля ядра Linux, и уровень теоретически доступных привилегий может измениться.

У данного ограничения есть и другая практическая сторона: в WINE нет поддержки низкоуровневого обращения к оборудованию (драйверов оборудования, прямой работы с USB-устройствами). Всё периферийное оборудование следует подключать и настраивать в host-системе: для win-приложений эти устройства могут быть доступны стандартным способом через файловую систему или другие стандартные интерфейсы (например, TWAIN для сканеров, который реализован в WINE как обёртка над библиотекой SANE). Ключи защиты, работающие через USB, используют предложенную в Windows шину USB, которая в WINE реализована через обращение к системной библиотеке libusb.

Наиболее распространённый способ применения WINE — запуск двоичных win-приложений в Unix-среде. Удобство для пользователей и разработчиков заключается в том, что при этом не требуется никак изменять приложение — один и тот же вариант годится и для Windows, и для WINE.

Другое, на сегодняшний день пользующееся незаслуженно меньшей популярностью применение — с помощью WINE разработчики ПО могут компилировать свои win-приложения из исходных текстов непосредственно в двоичные исполняемые файлы для Unix. Опять-таки, это те же самые исходные тексты, из которых компилируются двоичные файлы для Windows.

Инструментарий, предоставляемый WINE, позволяет вести полный цикл разработки win-приложений в среде Linux, обучать программированию. Для создания исполняемых EXE-файлов, запускаемых как в WINE, так и в Windows, используется проект mingw.

WINE состоит из нескольких компонент:

libwine
Библиотека, предоставляющая все функции Win API для win-приложений. По количеству предоставляемых функций её можно сравнить с Qt — столь широк спектр предлагаемых вызовов: от операций с файлами до построения графического интерфейса и обращения к базам данных.
wine
Среда для исполнения двоичных win-приложений, предоставляет программам окружение, неотличимое от Windows. Это окружение помимо Win API включает реестр, стандартные каталоги и файлы. Реестр является единственной изменяемой информацией, необходимой для работы WINE и win-приложений в нём.
стандартные программы
Некоторые типичные win-приложения: текстовый редактор (блокнот), файловый браузер и т. п.
средства разработки
Средства компиляции и отладки: имеются заголовочные файлы, которые описывают доступное API, компилятор winegcc, представляющий собой обёртку над gcc, отладчик winedbg и прочие вспомогательные утилиты.

Возможности

Стоит отдельно перечислить возможности, предоставляемые средой WINE@Etersoft:

  • Поддержка запуска программ Win32 (Win 95/98, NT/2000/XP/Vista), Win16 (Win 3.1), и даже некоторых DOS-программ;

  • Рабочий стол для win-программ внутри отдельного окна

  • Поддержка различных звуковых драйверов, включая OSS и ALSA

  • Поддержка драйверов устройств USB, поддержка электронных ключей защиты программ

  • Поддержка сменных носителей (USB Flash)

  • Печать: драйверы интерфейса PostScript (psdrv) для стандартного сервера печати CUPS

  • Поддержка последовательного и параллельного портов

  • Поддержка сетевого протокола TCP/IP через Winsock

  • Поддержка универсальной кодировки символов (Юникода) и иностранных языков, включая русский и украинский.

  • Поддержка DirectX и OpenGL для игр

  • Полнофункциональная система отладки, настройки, фиксирования сбойных сообщений о неполадках для простоты поиска неисправностей

  • Возможность использования файлов DLL от внешнего разработчика (например таких, какие входят в состав Windows)

Производительность

Насколько нам известно, WINE никогда не проходил тщательного профайлинга (измерения времени выполнения участков кода) и дальнейшей оптимизации, так что проблемы со скоростью работы представляются нам временным недостатком, а не особенностями архитектуры WINE. Это легко видно и при анализе исходного кода — функции WINE написаны с целью быстрой и правильной реализации этих функций, задача оптимизации в ходе разработки не стояла на первом месте.

Существуют проекты по измерению скорости работы тех или иных функций (например, eterforcetest), результаты которых показывают что для ряда часто используемых функций WINE работает в 2-3 раза медленнее. Во многом это связано с отсутствием поддержки WINE в ядре Linux, все функции NT-ядра выполняет специальный процесс wineserver, обращение к которому намного дороже системного вызова к ядру.

Наиболее часто встречающиеся вопросы при использовании WINE@Etersoft

WINE@Etersoft и лицензии

  • Q: А у меня и без вас всё работает в обычном Wine, зачем мне нужен WINE@Etersoft?
  • A: Мы рады что у вас всё работает. К сожалению, большинство поддерживаемых нами программ имеет множество проблем при работе в обычном Wine, не всегда заметных с первого взгляда.

  • Q: Вы ведёте разработку собственной ветки Wine, и давно отстали от последних достижений?
  • A: Как правило, релизы WINE@Etersoft основаны на последнем или предпоследнем релизе Wine. Мы каждый день синхронизируемся с основным кодом Wine и в курсе всех изменений.

  • Q: Моя любимая программа не работает ни в обычном Wine, ни в WINE@Etersoft, что мне делать?
  • A: Попробуйте посмотреть, нет ли информации по этой программе в базе, занесите туда результаты Вашего тестирования, передайте своё пожелание нашей службе поддержки.

  • Q: Wine имеет лицензию GPL, почему вы закрыли исходники??!
  • A: Wine имеет лицензию Lesser GPL (LGPL), которая допускает линковку с закрытым кодом. Исходники Wine, как и наши патчи к нему, могут быть получены по запросу на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. , при условии наличия у Вас экземпляра WINE@Etersoft. Никакого нарушения соглашений.

  • Q: Какую лицензию мне нужно приобрести для использования WINE@Etersoft на терминальном сервере?
  • A: Для терминального сервера понадобится WINE@Etersoft 1.0 Network (терминальная лицензия), и скорее всего Вам потребуется RX@Etersoft для организации терминального доступа

  • Q: Почему в состав WINE@Etersoft входит DCOM98 (Internet Explorer, большая часть Windows Vista и т.п.)? Это значит я должен иметь лицензию на Windows?
  • A: Возможно, у Вас неверная информация. В WINE@Etersoft не входят никакие проприетарные компоненты, требующие дополнительных лицензий. Мы стараемся тщательно соблюдать авторские права разработчиков.

Общие вопросы

  • Q: Какой дистрибутив Linux вы рекомендуете использовать для работы с Wine? Мне советовали использовать FreeBSD.
  • A: Рекомендация зависит от многих факторов, здесь есть некоторые разъяснения.

  • Q: Поддерживается ли Mac OS X, есть ли для него сборка WINE@Etersoft?
  • A: У нас есть в планах добавление системы Mac OS X в поддержку, но пока слишком мало клиентов. Мы ждём крупного заказа на поддержку Mac OS X.

  • Q: Можно ли установить WINE@Etersoft на Solaris?
  • A: Публичных сборок под Solaris мы пока не делаем, но решение для Solaris у нас есть. Мы ждём крупного заказа на поддержку Solaris.

  • Q: Почему нет русскоязычного форума, где можно обсудить работу Wine?
  • A: Такой форум есть, добро пожаловать: UnixForum

  • Q: Наша организация планирует использовать 1С: Предприятие на МСВС 3.0 (разработка ВНИИНС на основе Linux). Какая версия WINE@Etersoft нам подойдёт?
  • A: Для МСВС разработан специальный вариант WINE@Etersoft для поддержки версий 1С 7.7 и 8.х, поставляемая по договору. Обратитесь в отдел продаж: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .

  • Q: Как установить Internet Explorer 6.0 (IE)?
  • A: Запустите установку командой $ ieinstall. Подробнее можно прочитать в разделе документации “Установка Internet Explorer”. При отсутствии установочных файлов IE в текущем каталоге они будут скачаны из Интернета. Обратите внимание, для использования IE нужно иметь лицензию на MS Windows.

  • Q: Как запустить консольную Win32-программу, например Far?
  • A: Запустите $ wineconsole far.exe в каталоге с программой.

  • Q: Программа работает через прокси-сервер и не получает доступа к Интернет. Где это настроить?
  • A: Проверьте в ветке реестра HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Internet Settings: параметр ProxyEnable должен быть установлен в 0, ProxyServer хранить адрес прокси-сервера, например server: 3128.

  • Q: В приложениях, запущенных под Wine, не работают некоторые горячие клавиши (например, в 1С Ctrl-F3 и Ctrl-F5).
  • A: Некоторые комбинации клавиш используются в оконном менеджере (например KDE) и перехватываются раньше. Отключите их в настройках, и они заработают в Wine.

  • Q: При запуске приложения получаем ошибку “preloader: Warning: failed to reserve range 00000000-XXXXXXXX
  • A: Уточните решение в разделе “Изменение установленных в системе ограничений” документации по WINE@Etersoft.

  • Q: При запуске приложения получаем ошибку “err:virtual:map_file_into_view shared writable mmap not supported, broken filesystem?
  • A: Проверьте, что файловая система не смонтирована с параметром noexec. Также возможно используется файловая система с некоторыми проблемами (например, NTFS).

  • Q: При запуска любой программы возникает ошибка: wine: failed to initialize:/usr/lib/wine/ntdll.dll.so: failed to map segment from shared object: Cannot allocate memory
  • A: Проверьте ограничения на размер используемой памяти командой $ ulimit-a. Рекомендуется устанавливать предел виртуальной памяти в 1,5-2Гб или вообще не устанавливать ограничение (в файле/etc/security/limits.conf поле “as”- строка “*     hard    as    unlimited

  • Q: В каком месте можно установить переменные окружения (например Path) для win-программ?
  • A: Можно определить переменные окружения перед запуском программы, и они будут переданы в wine. Обратите внимание, что будет важен регистр букв имени переменной Path. Также можно добавить в ветку реестра HKEY_CURRENT_USER/Environment строку с определением своей переменной.

  • Q: Мы запускаем XMing на Windows для того, чтобы подключиться к терминальному серверу, и у нас очень медленно всё прорисовывается. Что делать?
  • A: В этом случае лучше не использовать XMing, а подключаться через NX-сервер.

  • Q: Я хотел бы настроить совместную работу с файловой базой через NFS для Windows.
  • A: Совместная работа программ под Windows и WINE посредством NFS невозможна. Используйте CIFS.

  • Q: В программах, запущенных под WINE, не вводятся русские буквы (латинские буквы и цифры вводятся)
  • A: Проблема в неверных настройках системной локали или локали Иксов. См. раздел документации “Проблемы ввода с клавиатуры”.

Печать

  • Q: Как установить принтер по умолчанию?
  • A: С помощью штатных средств вашей системы. Поищите программу настройки принтеров или обратитесь к веб-интерфейсу CUPS: http://localhost:631.

  • Q: У меня система Debian (Ubuntu), и принтер не печатает.
  • A: Проверьте, что установлен пакет cupsys-bsd и не установлен пакет lpr.

  • Q: Не удаётся открыть сразу две программы (базы) 1С 7.7. Причём первая всегда хорошо открывается, а вторая- падает при запуске.
  • A: При открытии нескольких баз может быть превышен лимит на количество открытых файлов. См. раздел документации “Изменение установленных в системе ограничений”.

  • Q: Всё правильно настроил, 1С запускается, спрашивает пароль, но вылетает сразу после появления заставки.
  • A: Проверьте права на каталог с базой. Пользователь (или группа, в которую он входит) должен иметь права на чтение и запись всех файлов базы. Если вы используете WINE@Etersoft Network, воспользуйтесь скриптом check_access /путь_к_базе, он поможет выявить проблему с правами. Если используется NFS, проверьте что на нём включены блокировки. Если используется Samba, проверьте доступность файлов на запись на файловой системе сервера.

  • Q: При установке 1С 8.1 возникает ошибка инсталлятора: “Внутренняя ошибка 2738 customPresetDefLang
  • A: Воспользуйтесь WINE@Etersoft 1.0.8 или выше, где эта проблема решена.

  • Q: При установке 1С 7.7 возникает сообщение об невозможности найти _setup.dll: “Setup is unable to find _SETUP.DLL...”.
  • A: Причина в том, что установка 1С запускается из каталога, в пути к которому присутствуют русские буквы. Скопируйте дистрибутив на диск C: или иным способом решите вопрос пути.

  • Q: Хитрым способом установил 1С: Предприятие в обычный Wine, но она всё равно не работает.
  • A: К сожалению, в обычном Wine программа 1С 7.7 должным образом не работает, из-за многих недочётов обычного Wine. См. http://etersoft.ru/wine/differences

  • Q: При запуске 1С 7.7 появляется сообщение: “Порядок сортировки, установленный для базы данных, отличается от системного”.
  • A: Локаль, выводимая командой winediag, не является ru_RU.*, be_BY.* или uk_UA.*. Начиная с релиза 1С: Предприятия 7.70.26 появилась возможность отключать проверку порядка сортировки в 1С, создав пустой файл OrdNoChk.prm в каталоге базы или BIN (см. в конце ReadMe.txt в каталоге 1Cv77), но делать это стоит только если вы уверены в особенности своей локали. Если речь об SQL-версии, проблема может быть в настройках сервера.

  • Q: При запуске 1С 7.7 в любом режиме получаю сообщение “плохой путь яяяя...\Container.Contents
  • A: Возможно у Вас не установлена коммерческая часть WINE@Etersoft. Проверьте это командой winediag (если такой команды нет, значит коммерческая часть отсутствует).
  • A: Возможно вы не удалили ~/.wine перед установкой WINE@Etersoft. Удалите /. wine и повторите установку, проверив отсутствие проблем командой winediag.

  • Q: При запуске 1С возникает ошибка “Ошибка загрузки метаданных”.
  • A: Проверьте права на чтение файла 1cv7.md. Также возможно он повреждён или отсутствует.

  • Q: При запуске 1С возникает ошибка “Невосстановимая ошибка базы данных” (“Ошибка открытия словаря базы данных”)
  • A: Скорее всего каталог с базой пуст. Вам нужно выбрать рабочую базу или запустить конфигуратор.

  • Q: Какие ресурсы сервера необходимы для работы 10 пользователей?
  • A: Для 1С 7.7 с базой в 200-700Мб мы рекомендуем исходить из расчёта 60Мб ОЗУ и 100Мгц на пользователя. При использовании GNOME, OpenOffice.org, 1C на 10 пользователей рекомендуется 1Гб ОЗУ. Для уменьшения времени отклика системы рекомендуется использовать процессоры с несколькими ядрами. Для 1С 8.х мы рекомендуем предусмотреть около 250Мб памяти на пользователя и 200МГц процессора.

  • Q: Используем общий ресурс, доступный через Samba, установлен WINE@Etersoft Network, но никак не получается одновременная работа с базой 1С.
  • A: Работа с Samba возможна только через модуль CIFS, доработанный в Etersoft. Установите пакет etercifs и ознакомьтесь с разделом документации “Настройка совместной работы по протоколу CIFS”.

  • Q: Почему у меня не работает совместный доступ к файлам со стороны программ, запущенных в Wine и Windows? Я использую WINE@Etersoft Network и монтирую сетевой ресурс через CIFS.
  • A: Начиная с версии WINE@Etersoft 1.0.7 появилась поддержка CIFS и стала возможной совместная работа Windows- и Linux-клиентов. Лучше всего обратиться в службу поддержки.

  • Q: На системе MOPSLinux не собирается модуль etercifs, что делать?
  • A: В системе MOPS Linux 6.0/6.1 cifs вкомпилирован в ядро. Для использования etercifs требуется пересобрать ядро с указанием в config CONFIG_CIFS=m

  • Q: Проблемы с работой ключа HASP — имею ли я право как легальный пользователь “оторвать” его при помощи Sable/USP/..?
  • A: Посмотрите раздел о запрете отключения защиты, но лучше разберитесь в причине проблемы вместе с нашей службой поддержки.

  • Q: При открытии базы 1С 7.7 выдается ошибка “C++ Runtime error R6025-pure virtual function call”. Нажимаю на “OK”- 1С падает. Или при открытии базы появляется главное окно программы и молча закрывается.
  • A: Вероятно, у Вас не настроен файл NETHASP.INI. Нужно отключить broadcast. Обратитесь в раздел по настройке HASP руководства пользователя (http://etersoft.ru/content/view/56/#x23). Дополнительный симптом- иногда при запуске выдаётся сообщение о ненахождении ключа защиты.

  • Q: SQL-версия 1C 7.7, работающая через SELTA, зависает при попытке подключиться к СУБД, с выдачей сообщения в лог: socket (): Семейство адресов не поддерживается протоколомsocket (): Семейство адресов не поддерживается протоколом (Address family not supported by protocol)
  • A: Проверьте, что winecfg нормально запускается. Возможно, проблема в подключении к звуковой подсистеме. См. по логу при запуске через winelog, какая библиотека подгружается последней.

  • Q: 1С: Предприятие 8.x не отображает HTML-страницы.
  • A: Обновитесь до версии WINE@Etersoft 1.0.9 или выше, где это проблема решена.

Шрифты

  • Q:  На предварительном просмотре при печати шрифт стоит нормальный (например, Arial), но при распечатке шрифт становится совершенно другим.
  • A: Для точного соответствия шрифтов необходимо установить пакет шрифтов MS Core Fonts (fonts-ttf-ms) или свободные шрифты Liberation (fonts-ttf-liberation). См. раздел “Использование WINE@Etersoft” в документации.

  • Q: Почему вместо русских букв в программе знаки вопроса?
  • A: Проверьте локаль командой $ locale. Она должна соответствовать вашим ожиданиям (ru_RU.UTF-8 или uk_UA.UTF-8). Скорее всего при установке системы был неверно выбран язык. Подробнее можно почитать здесь.

  • Q: Почему такие плохие нечитаемые шрифты?
  • A: Качество отображения шрифтов зависит от установленных в системе шрифтов, и от сборки freetype. Мы рекомендуем установить поставляемый нами пакет fonts-ttf-ms со шрифтами Core Fonts.

  • Q: Как изменить размер системных шрифтов в WINE@Etersoft?
  • A: Запустите программу настройки winecfg и выберите размер шрифта на вкладке “Вид и интеграция”.

  • Q: Как исправить наложение текста, которое возникает при использовании WINE в 2X Terminal Server или NoMachine?
  • A: Установите нашу сборку NX-сервера.

Дополнительная информация

Online

На официальном сайте проекта WINE доступна самая свежая информация по WINE, сведения о разработке, включая дальнейшие планы, списки рассылки, исходные тексты WINE, списки работающих win-приложений, поддерживаемых функций WinAPI и множество другой информации.

Из русскоязычных ресурсов можно обратиться к проекту «Русский WINE», который позиционируется как ресурс, объединяющий русскоязычных пользователей WINE. Здесь большое внимание уделяется проблемам локализации WINE и запуска специфических приложений, актуальных для русскоязычных пользователей.

С конкретными практическими решениями на базе WINE@Etersoft, внедрениями, наиболее актуальными проблемами и путями их исправления можно ознакомиться, поделиться на сайте партнёров WINE.

Многие пользователи могут найти для себя полезным русскоязычный форум, посвящённый WINE.

Etersoft

Самая актуальная информация об обновлениях WINE@Etersoft, поддерживаемых приложениях, а также о дополнительных услугах по внедрению и эксплуатации WINE, предлагаемых компанией Etersoft, публикуется на сайте Etersoft.

Зарегистрированные пользователи WINE@Etersoft могут обращаться с вопросами и проблемами в службу технической поддержки Etersoft. Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. также принимает любые комментарии, замечания и предложения по развитию WINE и WINE@Etersoft.

Глоссарий

Двоичный (Binary) файл
Файл, являющийся исполняемым (предназначенным для запуска).
Виртуальная машина
Программная система, имитирующая работу реального компьютера, используя ресурсы компьютера на котором запущена. На виртуальную машину, так же как и на реальный компьютер может быть установлена операционная система.
DLL
DLL (Dynamic Link Library)- файл, который может быть загружен и выполнен программой динамически. Чаще всего представляет собой внешние ресурсы для программы. Несколько программ могут использовать одну и ту же DLL. Синонимом DLL может являться библиотека
сторонняя DLL
native DLL- библиотека DLL не из состава WINE, а установленная дополнительно
встроенная DLL
builtin DLL- библиотека DLL, входящая в состав WINE
Исходный код
Исходный код- это код, из которого состоит программа перед компиляцией, т.е. те самые оригинальные команды и инструкции, которые говорят компилятору, как будет выглядеть программа, и в процессе компилирования программа переходит в двоичный (исполняемый) вид.
Редактор (Editor)
Редактор — программа для создания и изменения текстовых файлов. Существует множество текстовых редакторов для Linux, как для графического режима,так и для текстового.
host-система
OC Linux/Unix, в которой установлен и выполняется WINE.
Пакет (Package)
Пакет — это сжатый файл в специфичном для дистрибутива формате. Содержит все необходимые файлы для установки определенной программы. Пакеты устанавливаются с использованием специальных менеджеров пакетов.
Переменные окружения
Переменные окружения используются в командной оболочке для хранения важных системных настроек.
root
root — имя учетной записи для системного администратора
Терминал
Терминальное окно — это графическое окно, предназначенное для выполнения команд оболочки (Shell).
Эмулятор
Программа имитирующая работу других, зачастую более известных программных систем (в контексте данного пособия- операционных систем)
win-окружение
Среда, сформированная WINE и фактически расположенная в host-системе.
win-приложение
Программа, разработанная для ОС Windows и выполняемая в win-окружении.
Windows
Какая-либо операционная система семейства Windows. Упоминается только для сравнения.
Win API
Общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows
Unix API
Общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейства Unix
UNC
UNC (Universal Naming Convention) — имя, соответствующее соглашению об универсальном назначении имен, полное имя ресурса в сети, включающее имя сервера и имя используемого ресурса (например, \\server_name\share_name).

Лицензия на документацию

Данный документ распространяется на условиях свободной лицензии FDL (Free Documentation License) версии 1.1 или любой более поздней версии. Данный документ не содержит текста, помещаемого на первой или последней странице обложки. Данный документ не содержит неизменяемого текста.

Заключение

Мы надеемся, что продукт WINE@Etersoft будет соответствовать вашим ожиданиям и будет пригоден для повседневной эксплуатации нужных вам программ.

В любом случае мы ждём ваших отзывов и предложений, направляйте их по адресу Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .

Команда разработчиков WINE@Etersoft.

28.11.2012


1Нужно делать это вручную, или монтирование выполняется автоматически — зависит от вашего дистрибутива и стиля работы.

2Для получения списка доступных шрифтов WINE использует пакет fontconfig, а для отрисовки символов — библиотеку freetype2.

3umask определяет, какие права доступа по умолчанию будут получать файлы, создаваемые пользователям. Подробности — в руководстве по umask.

4Здесь и далее мы будем называть такие приложения win-приложениями.

WINE@Etersoft

Привычные программы
на свободной платформе

  • 1C: Предприятие
  • CБиС++
  • Консультант
  • Гарант

и другие Windows-приложения в Linux

SELTA@Etersoft

Свобода выбора СУБД


Используйте свободную СУБД
PostgreSQL в программах,
ориентированных на MS SQL
(например, 1С:Предприятие 7.7)

 

RX@Etersoft

Надёжность и производительность
терминального сервера

  • Удобство администрирования
  • Безопасная работа по сети
  • Подключение пользовательских
    дисков и периферийных устройств

Услуги

Для успешной работы с Linux,
свободным ПО и продуктами Etersoft

Уникальные программные решения

Продукты Etersoft помогут грамотно комбинировать свободный и проприетарный софт для решения ваших задач.

Многолетний опыт работы в сфере Opensource

Мы знаем толк в Linux и умеем сделать так, чтобы свободное ПО работало на вас.

Партнёры во всех регионах России и в СНГ

Квалифицированные компании-интеграторы помогут с внедрением Linux и продуктов Etersoft, где бы ни находился ваш офис.