Главное меню

[AD]

Главная
Документация WINE@Etersoft бЕПЯХЪ ДКЪ ОЕВЮРХ

WINE@Etersoft 1.0 Network. Руководство пользователя (1.0.7n от 07 Июль 2007)

Введение

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

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

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

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

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

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

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

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

Если у Вас возникают какие-либо проблемы с проверяющими органами, незамедлительно обратитесь к нам по адресу sales@etersoft.ru , чтобы мы могли оперативно оказать вам содействие.

WINE: среда для запуска win-приложений на платформе Unix

Терминология

В этом руководстве речь будет идти об использовании технологии, которая предоставляет прослойку совместимости для запуска программ, разработанных для ОС Windows, на платформе Linux/Unix. Чтобы читатели не путались в том, какая именно система имеется в виду, мы будем придерживаться строго последовательного употребления терминов.

host-система
OC Linux/Unix, в которой установлен и выполняется WINE.
win-окружение
Cреда, сформированная WINE, и фактически расположенная в host-системе.
win-приложение
Программа, разработанная для ОС Windows, которая выполняется в win-окружении.
Windows
Какая-либо операционная система семейства Windows. Упоминается только для сравнения.

Надеемся, что теперь читатель никогда не засомневается, о какой среде идёт речь, а если всё-таки это произойдёт, то он ещё раз заглянет в это краткое предисловие.

Технология

Благодаря распространённости ОС Windows на сегодняшнем рынке очень многочисленны приложения, разработанные для этой платформы1. Однако зависимость коммерческого приложения от определённой платформы (ОС) может быть не всегда удобной или выгодной. На этот случай существуют средства, позволяющие программам, разработанным для ОС 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 нет поддержки низкоуровневого обращения к оборудованию (драйверов оборудования, прямой работы с USB-устройствами). Всё периферийное оборудование следует подключать и настраивать в host-системе: для win-приложений эти устройства могут быть доступны стандартным способом через файловую систему или другие стандартные интерфейсы (например, TWAIN для сканеров, который реализован в WINE как обёртка над библиотекой SANE).

Наиболее распространённый способ применения WINE — запуск двоичных win-приложений в Unix-среде. Удобство для пользователей и разработчиков заключается в том, что при этом не требуется никак изменять приложение — один и тот же вариант годится и для Windows, и для WINE.

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

WINE состоит из нескольких компонент:

libwine
Библиотека, предоставляющая все функции WinAPI для win-приложений. По количеству предоставляемых функций её можно сравнить с Qt — столь широк спектр предлагаемых вызовов: от операций с файлами до построения графического интерфейса и обращения к базам данных.
wine
Среда для исполнения двоичных win-приложений, предоставляет программам окружение, неотличимое от Windows. Это окружение помимо Win API включает реестр, стандартные каталоги и файлы. Реестр является единственной изменяемой информацией, необходимой для работы WINE и win-приложений в нём.
стандартные программы
Некоторые типичные win-приложения: текстовый редактор (блокнот), файловый браузер и т. п.
средства разработки
Средства компиляции и отладки: имеются заголовочные файлы, которые описывают доступное API, компилятор winegcc, представляющий собой обёртку над gcc, отладчик winedbg и прочие вспомогательные утилиты.

Разработка

WINE — это свободный проект, который был начат в 1993 году. На тот момент распространённой платформой была Win16 (Windows 3.1), на неё и был ориентирован WINE, на сегодняшний день основным русло разработки — Win32. Исходные тексты WINE выпускаются под лицензией LGPL (Lesser GPL), никаких ограничений по доступу к исходным текстам и их модификации не имеется. WINE снабжён достаточно вразумительной документацией, имеется ряд списков рассылки (англоязычных), как для пользователей, так и для разработчиков, где оперативно решаются любые вопросы.

Процесс разработки WINE во многом похож на метод, применяемый при разработке ядра Linux. Все присылаемые (в специальную рассылку) патчи подвергаются рассмотрению разработчиков, которые могут высказывать свои соображения и добавления. Имеется один человек, Александр Джулиард, который принимает решение о том, включать ли патч в CVS, и при необходимости совершает в нём какие-то улучшающие изменения (например, исправляет ошибки в оформлении кода). Ведётся контроль и учёт всех отправляемых патчей и их авторства. Прежде чем патч будет принят, он проходит автоматическое тестирование — WINE компилируется с новым патчем, и выполняется регресс-тестирование: запускается тестовый код, написанный практически для каждого API, с помощью которого можно удостовериться, что добавление патча не нарушает совместимость.

Реализация

Успешность и корректность работы win-приложений в WINE естественно определяется тем, насколько среда WINE неотличима от Windows с точки зрения win-приложения. Иначе говоря, вопрос в том, насколько полно Win API и другие стандартные компоненты и процедуры Windows реализованы в WINE. Текущая оценка полноты реализации конкретных функций публикуется на сайте разработчиков WINE. В WINE реализованы функции практически всех динамических библиотек (DLL), входящих в Windows: начиная от 16-разрядных и заканчивая появляющейся поддержкой 64-битного режима. На хорошем уровне находится поддержка OLE, MSI и DirectX.

Если говорить об общей оценке полноты реализации, то на сегодняшний день разработчики называют цифру 90%. Однако относиться к этой цифре нужно не совсем так, как к обычному процентному соотношению. Дело в том, что с точки зрения успешной разработки WINE Win API должно быть таким, каким его хотят видеть программы. Полных и безошибочных спецификаций Win API в публичном доступе нет (и никогда не было), и это во многом определило характер разработки на платформе Win. Большинство разработчиков win-приложений используют только незначительную часть стандартных функций API, а остальные необходимые функции реализуют самостоятельно и поставляют вместе с программой. В последние годы подмножество широко используемых функций API в широкой массе win-приложений уже стабилизировалось и практически не меняется. Для WINE это означает, что цифра 90% означает стабильную работу большинства win-приложений в WINE даже больше, чем в 90% случаев.

По этой же причине не так существенна опасность отставания от изменений, вносимых в Win API в рамках операционной системы Windows. Единственная особенность — развивающаяся поддержка 64bit, при разработке архитектуры WINE принималась в расчёт возможность расширения в этом направлении. Поэтому как только функции Win64 API получат более широкое распространение, добавление их поддержки в WINE не заставит себя долго ждать.

Что такое WINE@Etersoft

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

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


Продукты серии WINE@Etersoft Network ориентированы на корпоративных клиентов, которым требуется возможность совместной работы с Win-приложениями.

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

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

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

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

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

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

Обновления

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

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

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

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

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

  • Программы подготовки обязательной отчётности
    • ПЕРС 2006
    • Налогоплательщик 2006 (11.22) *
    • Налогоплательщик ЮЛ 4.0.7 *

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

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

  • Гарант F1, Гарант F1 Турбо (локальная, файл-серверная, клиент-серверная версии)
  • Консультант+ 3200/3300 (локальная, сетевая версии)
  • Кодекс 5.2 (локальный)
  • Оболочка базы данных CronosPlus

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

  • Microsoft Word 97, Microsoft Excel 97 (без VBA)
  • Microsoft Word 2000, Microsoft Excel 2000
  • Microsoft Word Viewer 97, Microsoft Word Viewer 2003
  • Microsoft Excel Viewer 97, Microsoft Excel Viewer 2003
  • Microsoft PowerPoint 97 *
  • ДубльГИС (карты городов)
  • RAdmin 2.x *
  • ABBYY Lingvo 9.0
  • ABBYY Fine Reader 7.0
  • ABBYY Fine Reader 8.0
  • TopPlan 2005/2006 *
  • Программы для интернет-трейдинга (QUIK, MetaTrader 4) *
  • Total Commander 6.56
  • Java Runtime Environment Version 5 *

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

  • HASP 4/HASP HL от Аладдин (сетевые)
  • Smartkey 3 от EUTRON (сетевые)
  • SafeNet от Sentinel (сетевые)

Готовятся

  • БЭСТ 5.3x
  • Парус 8
  • Кодекс 5.2 (сетевой) *
  • КОМПАС 2D (система проектирования компании АСКОН) *
  • КОМПАС 3D
  • Microsoft Word XP
  • Microsoft Excel XP
  • Microsoft Access XP
  • Программы типа X-Print и Bi-Print (для печати штрих-кодов)
  • Lotus Notes 7.x
  • СБИС+

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

  • Турбо-Бухгалтер
  • ПРОМТ
  • VentaFAX
  • Референт 2000
  • БЭСТ 4
  • QIP

Не работают

  • Локальные ключи защиты, использующие VXD/SYS драйвера (практически все кроме HASP для 1С 8.0 и выше).
  • Программы, защищённые StarForce (эта защита устанавливает свой драйвер cd-привода)
  • MS Access 97
  • AutoCAD

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

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

Нажав на название ОС, вы перейдёте на страницу со свободной частью WINE@Etersoft.

Обратите внимание, что поддерживаются только системы с ядрами 2.6.x для архитектуры i386 (x86_64 официально не поддерживается).

Mac OS X и семейства Windows XP, Windows Vista пока не поддерживаются.

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

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

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

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

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

Подробнее:

  • 32-битное ядро Linux 2.6.x или FreeBSD не ниже 6.0
  • freetype >= 2.1.9

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

  • ALT Linux 4.0 Desktop
  • Mandriva 2007
  • LinuxXP 2006/2007
  • SLED 10
  • ASP Linux 11
  • Ubuntu 6.06 LTS/Ubuntu 7.04
  • GNU/Debian 4.0
  • Fedora Core 5/6

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

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


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

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

Установка Wine

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

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


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

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


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


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

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


Для FreeBSD:


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

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


Для Slackware:


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

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


Для Gentoo: Скопируйте скачанные файлы *.tbz2 в каталог/usr/portage/packages/All. Запустите команду установки emerge -K для каждого пакета. Например, для версии WINE@Etersoft SQL:


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


C:		$HOME/.wine/dosdevices/c:
D:		$HOME/Documents
E:		/media/cdrom или /mnt/cdrom

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


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

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


[tester@test tester]$ ln -s /var/data/1c ~/.wine/dosdevices/f:
[tester@test tester]$ ls -l ~/.wine/dosdevices 
total 0
lrwxrwxrwx 1 tester tester   13 Nov 25 14:50 a: -> /mnt/floppy
lrwxrwxrwx 1 tester tester    8 Nov 25 14:50 a:: -> /dev/fd0
drwxrwsr-x 4 tester tester 4096 Июн 14 13:00 c:
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com1 -> /dev/ttyS0
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com2 -> /dev/ttyS1
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com3 -> /dev/ttyS2
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com4 -> /dev/ttyS3
lrwxrwxrwx 1 tester tester   19 Июн 14 12:59 d: -> /home/tester/Documents
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 e: -> /mnt/cdrom
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 e:: -> /dev/cdrom
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt1 -> /dev/lp0
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt2 -> /dev/lp1
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt3 -> /dev/lp2
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt4 -> /dev/lp3

lrwxrwxrwx 1 tester tester 12 Nov 25 14:54 f: -> /var/data/1c

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


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


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

Последовательные и параллельные порты (COM и LPT)

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


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

Сетевые пути

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

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


[tester@test unc]$ pwd
/home/tester/.wine/dosdevices/unc
[tester@test unc]$ mkdir someserver
[tester@test unc]$ ln -s /var/local/share someserver/share
[tester@test unc]$ ls -l someserver/
total 0
lrwxrwxrwx 1 tester tester 16 May 18 06:24 share -> /var/local/share
[tester@test unc]$ 

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


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

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

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

Запуск win-приложений производится двойным щелчком мыши на значке в любом файловом менеджере. Для того, чтобы можно было запускать win-приложения как обыкновенные исполняемые файлы host-системы (например, из Midnight Commander), должна быть запущена системная служба (service) wine.

Также приложение может быть запущено с помощью команды в командной строке. Для запуска exe-файлов нужно выполнить команду:

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

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

$wine start пакет.msi

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

$ wineconsole Far.exe

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

$ wineconsole cmd.

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

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

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

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

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

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

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

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

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

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

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

Шрифты

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

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

  • Для всех пользователей — поместить шрифты в host-системе штатным для системы способом (по стандарту- каталог /usr/share/fonts, чтобы шрифты были

доступны только внутри Wine- каталог /usr/share/wine/fonts);

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

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

  • Для систем на основе Debian и Ubuntu: установить пакет msttcorefonts из штатного репозитория системы;
  • Для прочих систем установить шрифты из пакета fonts-ttf-ms, прилагающегося к дистрибутиву WINE@Etersoft.

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

Дополнительная информация

Документация

Более подробную документацию о WINE для пользователей и разработчиков можно найти на сайте разработчиков WINE. Документацию из этого комплекта можно найти также на диске WINE@Etersoft в каталоге docs/en. На сегодняшний день эта документация доступна только на английском языке.

Online

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

Из русскоязычных ресурсов можно обратиться к проекту «Русский WINE», который позиционируется как ресурс, объединяющий русскоязычных пользователей WINE. Здесь большое внимание уделяется проблемам локализации WINE и запуска специфических приложений, актуальных для русскоязычных пользователей.

С конкретными практическими решениями на базе WINE@Etersoft, внедрениями, наиболее актуальными проблемами и путями их исправления можно ознакомиться, поделиться на сайте партнёров WINE.

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

Etersoft

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

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

Приложения

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

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


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

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

  • libwine
  • wine
  • wine-etersoft

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

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

$ rpm -qa | grep wine

если команда вывела на экран хоть один пакет, то его необходимо удалить. Введите следующую команду (требуются привилегии root, будьте внимательны при вводе команды!).

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

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

$ rpm -qa | grep wine

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

$ rm -rf ~/.wine

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

ls: .wine: No such file or directory


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

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

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


test:~ # ls -l | grep wine
-rw-rw-r-- 1 ftp  ftp  7160360 May  7 16:34 libwine-20070302-eter2suse.i586.rpm
-rw-rw-r-- 1 ftp  ftp  1612220 May  7 16:33 wine-20070302-eter2suse.i586.rpm
-rw-rw-r-- 1 ftp  ftp  4561108 Jun  8 13:57 wine-etersoft-1.0.network-suse6.i586.rpm

test:~ #  rpm -Uvh *wine*
Preparing...                ########################################### [100%]
   1:libwine                ########################################### [ 33%]
   2:wine                   ########################################### [ 67%]
wine                      0:off  1:off  2:off  3:on   4:off  5:on   6:off
WINE: Registering binary handler for Windows program:                   [ DONE ]
   3:wine-etersoft          ########################################### [100%]
etersafe                  0:off  1:off  2:off  3:on   4:off  5:on   6:off
Running etersafed... 

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


ПРОВЕРКА:


test:~ # rpm -qa | grep wine
libwine-20070302-eter2suse
wine-20070302-eter2suse
wine-etersoft-1.0.network-suse6

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


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

Он необходим для создания win-окружения для пользователя. Каждый пользователь, который будет запускать WINE, должен предварительно выполнить команду:

$ wine

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


First running... Using WINEPREFIX=/home/tester/.wine
Creating default file tree...
Copying prepared tree from '/usr/bin/../lib/wine-default' ...
Building local device environment...
Drive 'a:' created as link for '/mnt/floppy' target.
Drive 'a::' created as link for '/dev/fd0' target.
Device 'd:' created as link for '/home/tester/Documents' target.
Device 'e:' created as link for '/mnt/cdrom' target.
Device 'e::' created as link for '/dev/cdrom' target.
Device 'com1' created as link for '/dev/ttyS0' target.
Device 'com2' created as link for '/dev/ttyS1' target.
Device 'com3' created as link for '/dev/ttyS2' target.
Device 'com4' created as link for '/dev/ttyS3' target.
Device 'lpt1' created as link for '/dev/lp0' target.
Device 'lpt2' created as link for '/dev/lp1' target.
Device 'lpt3' created as link for '/dev/lp2' target.
Device 'lpt4' created as link for '/dev/lp3' target.
Device 's:' created as link for '/var/local/sharebase' target.
Communication dlls installing...
MSI installing...
Successfully registered DLL /home/tester/.wine/dosdevices/c:/windows/system32/msxml3.dll
Successfully registered DLL /home/tester/.wine/dosdevices/c:/windows/system32/msxml4.dll
WINE@Etersoft has been configured for the first time.
Use /home/kondratyuk/wine_c as WINE C:\ disk.
Copy your program into and install it.

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


ПРОВЕРКА:


$ ls ~/.wine^
...
drwxrwxr-x  3 tester tester      97 Июн 14 16:18 .
drwx------ 64 tester tester    8192 Июн 14 16:18 ..
drwxrwxr-x  3 tester tester     149 Июн 14 16:17 dosdevices
-rw-rw-r--  1 tester tester     235 Июн 14 16:18 .etersoft-release
-rw-rw-r--  1 tester tester  570446 Июн 14 16:18 system.reg
-rw-rw-r--  1 tester tester    3887 Июн 14 16:17 userdef.reg
-rw-rw-r--  1 tester tester   27712 Июн 14 16:18 user.reg

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


ПРОВЕРКА:


$ wine --version                                                                           
WINE@Etersoft 1.0 Network (1.0.7), registration number is XXXX-XXXX.
Legality check is available on the page http://sales.etersoft.ru/product/.

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


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

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

Можете приступать к установке win-приложений, диск С: — это каталог ~/wine_c.

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Терминальный сервер (к которому подключаются тонкие клиенты), предъявляет довольно высокие требования к мощности сервера (в первую очередь по объёму оперативной памяти), на котором он будет развёрнут. Причём эти требования растут пропорционально количеству одновременно подключённых и работающих на сервере пользователей. Поэтому выбирая этот вариант, следует оценить предполагаемую нагрузку на сервер, в противном случае работа может стать некомфортной. Ориентировочная потребность в ресурсах на одного пользователя составляет: 200МГц для ЦП, 50Mб оперативной памяти.

Не менее серьёзные требования предъявляются к пропускной способности канала между тонким клиентом и сервером, поэтому данные решения применимы только в рамках одной локальной сети.

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

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

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

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

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

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

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

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

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

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

Более подробную информацию по настройке NFS и связанных с ним компонентов можно найти в ниже в разделе, посвящённом настрйоке NFS.

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

Последний — и самый важный — необходимый шаг: включить каталог с общими ресурсами в win-окружение каждого пользователя WINE. Делается это стандартным способом: созданием или изменением символьной ссылки в домашнем каталоге пользователя в .wine/dosdevices/. К примеру, если каталог с общими данными у нас находится в /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

Пример 14.


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

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

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

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

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

Оригинальная документация от Microsoft: http://www.microsoft.com/downloads/details.aspx?FamilyID=c4adb584-7ff0-4acf-bd91-5f7708adb23c&DisplayLang=en

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

Никаких особенных настроек делать не требуется. Если у вас сервер уже настроен и работает с Windows-клиентами, то он будет работать и с WINE@Etersoft. Рекомендуется, чтобы oplocks были включены. kernel oplocks можно выключить, это немного снизит загрузку на систему.

Настройке 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, иначе взаимодействия не получится.

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

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

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

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


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


# service linux-cifs restart

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


Такой ответ означает, что в данный момент имеются ресурсы смонтированные по протоколу CIFS.


Unloading CIFS kernel module... ERROR: Module cifs is in use
                                                                        [FAILED]
Removing CIFS kernel module... ERROR: Module cifs is in use
                                                                        [FAILED]
Enable Etersoft extensions for CIFS...                                  [ DONE ]
Disable Linux extensions for CIFS...                                    [ DONE ]

Пример 16.


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


Unloading CIFS kernel module...                                         [ DONE ]
Loading CIFS kernel module... cifs from Etersoft is not found, 
you can try compile it with 'service linux-cifs build' command.         [FAILED]
                                                                        [FAILED]

Пример 17.


В состав пакета linux-cifs входит ряд прекомпилированных модулей для разных ядер Вашего дистрибутива. Если команда service linux-cifs restart завершилась ответом, показанным выше (обычно это происходит из-за несовпадения версии ядра), то необходимо собрать модуль CIFS для Вашего ядра командой service linux-cifs build. Для этой операции Вам потребуется компилятор GCC и заголовочные файлы ядра. Если заголовочные файлы отсутствуют, Вам будет предложено название пакета, который надо установить.


# service linux-cifs build

Пример 18. Компиляция модуля ядра CIFS


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


Build for 2.6.18-ovz-smp-alt12 Linux kernel (headers in /lib/modules/2.6.18-ovz-smp-alt12/build)
Error: no kernel headers found at /lib/modules/2.6.18-ovz-smp-alt12/build
Please install package
        kernel-headers-modules-XXXX for ALT Linux
        kernel-devel-XXXX for FCx / ASP Linux
        kernel-source-stripped-XXXX for Mandriva 2007
        linux-headers for Debian / Ubuntu
        kernel-source-XXXX for SuSe
        kernel-source-XXXX for Slackware / MOPSLinux
or use KERNSRC variable to set correct location
Exiting...

Пример 19.


После установки необходимого пакета с заголовочными файлами, выполните команду service linux-cifs build еще раз.


Build for 2.6.18-std-smp-alt6 Linux kernel (headers in /lib/modules/2.6.18-std-s
mp-alt6/build)
We in ALT Linux, use GCC 4.1
make: Entering directory `/usr/src/linux-2.6.18-std-smp-alt6'
  CLEAN   /usr/src/linux-cifs/.tmp_versions
make: Leaving directory `/usr/src/linux-2.6.18-std-smp-alt6'
make: Entering directory `/usr/src/linux-2.6.18-std-smp-alt6'
  CC [M]  /usr/src/linux-cifs/sess.o
...
  LD [M]  /usr/src/linux-cifs/cifs.o
  Building modules, stage 2.
  MODPOST
  CC      /usr/src/linux-cifs/cifs.mod.o
  LD [M]  /usr/src/linux-cifs/cifs.ko
make: Leaving directory `/usr/src/linux-2.6.18-std-smp-alt6'
Copying built module to /lib/modules/linux-cifs

Пример 20.


Если присутствует строчка Copying built module to /lib/modules/linux-cifs, значит, что сборка завершилась успешно, и можно смело загружать модуль командой service linux-cifs restart. В итоге должно быть следующее:


Unloading CIFS kernel module...
                                	                               [ DONE ]
Removing CIFS kernel module... 
                                                                       [ DONE ]
Enable Etersoft extensions for CIFS...                                 [ DONE ]
Disable Linux extensions for CIFS...                                   [ DONE ]

Пример 21.


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

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


# mount -t cifs //<сервер>/<ресурс> <локальный каталог> -o user=<workgroup/user>,pass=<passwd>,filemode=644,uid=<user>,gid=<group>

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


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


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

Пример 23. Пример монтирования с выключенной проверкой прав


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

После этого следует создать новый виртуальный диск-каталог в. wine/dosdevices, который будет указывать на локальный каталог, куда смонтирована файловая система. Некоторые программы требуют доступности именно в виде сетевого ресурса, образец решения проблемы можно посмотреть в разделе по установке Консультант+.

Подробнее про автоматизацию монтирования можно прочитать на http://www.freesource.info/wiki/Sysadmin/CIFS

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


Данный способ пока недостаточно документирован.

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

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

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

Подробнее можно почитать на http://www.botik.ru/~rldp/ldp/nag-20/ncpfscli.htm

Настройка NFS в Linux

1. Настройка сервера NFS

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

1.1. Если система NFS не установлена на машине, следует установить пакеты:


nfs-server
portmap
nfs-client

Пример 24.


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


$ service portmap start
$ service nfs start
$ service nfslock start

Пример 25.


При отсутствии команды service в качестве имени команды следует указать полный путь до сценария, например, /etc/init.d/nfs start.

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


chkconfig portmap on
chkconfig nfs on
chkconfig nfslock on

Пример 26.


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

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

/mysharedir ipaddr1(rw,async,no_root_squash)

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

/mysharedir 192.168.20.0/24(rw,async,no_root_squash)

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

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

Где:

  • rw — разрешены чтение и запись
  • ro — разрешено только чтение
  • no_root_squash — разрешает пользователям root на машинах-клиентах доступ к смонтированным каталогам в качестве суперпользователя. По умолчанию пользователи root на клиенте получают при доступе к серверу uid пользователя nobody.
  • async — позволяет NFS-серверу отвечать на запросы клиентов в асинхронном режиме, что повышает производительность, но также увеличивает шанс некорректного завершения работы в случае аварии.
  • all_squash, anonuid, anongid — с помощью этих опций любые NFS-клиенты будут работать на NFS-сервере под пользователем с uid=anonuid и gid=anongid. Следует не забыть установить для данного экспортируемого каталога владельца anonuid и владельца-группу anongid. Такие настройки хорошо работают при одновременном доступе только для NFS-клиентов. Попытка локально работать в данном каталоге одновременно с NFS-клиентами приведет к ошибкам.

1.5. После внесения изменений следует перезагрузить систему, или в некоторых случаях достаточно выполнить команду service nfs reload (/etc/init.d/nfs reload).

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

exportfs

2. Настройка клиентов NFS

2.1. На стороне клиента также должны быть выполнены операции 1.1 (за исключением установки nfs-server), 1.2 и 1.3.

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

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

2.2.1. Рассмотрим монтирование вручную.

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

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

$ mount -t nfs -o rw,soft,nointr,nfsvers=3,rsize=8192,wsize=8192,udp server:/mysharedir /mnt/share/base

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

$ mount -t nfs4 -o rw,soft,nointr,rsize=8192,wsize=8192,proto=udp server:/mysharedir /mnt/share/base

2.2.2. Рассмотрим автоматическое монтирование при загрузке системы. Для этого требуется добавить в файл /etc/fstab строку:

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

$ server:/mysharedir /mnt/share/base nfs rw,soft,nointr,nfsvers=3,rsize=8192,wsize=8192,udp,noauto 0 0

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

server:/mysharedir /mnt/share/base nfs4 rw,soft,nointr,rsize=8192,wsize=8192,proto=udp,noauto 0 0

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

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

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

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

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

base -rw,soft,nointr,nfsvers=3,rsize=8192,wsize=8192,udp server:/mysharedir

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

base -fstype=nfs4,rw,soft,nointr,rsize=8192,wsize=8192,proto=udp 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).

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

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

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

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

3.1. Рассмотрим второй вариант.

В этом случае можно создать новую учетную запись (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 название_группы

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

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

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

4. Статистика сервера NFS

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

nfsstat -s

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

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

Для упрощения администрирования в такой ситуации в WINE@Etersoft введён режим административной установки6. В этом режиме программы, установленные администратором 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 администратор устанавливает необходимые программы обычным способом.

Подключение к общему 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);
  • меню установленных программ (на рабочем столе KDE или GNOME в папке

«Приложения WINE») также делается общим, поскольку хранится в каталоге c:/windows/profiles/DESKTOPMENU в общем win-окружении.

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


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

Пример 27.


Права доступа к общему 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 будут производить настройку в том каталоге, который указан в этой переменной.

Трудности при использовании ресурсоёмких win-приложений

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

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

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

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

В Linux-системах узнать текущее значение лимита ядра можно через виртуальную файловую систему /proc:


$ cat /proc/sys/fs/file-max
25196

Пример 28. Лимит на открытые файлы


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


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

Пример 29. Изменение лимита на открытые файлы


Чтобы настройка лимитов сохранялась между перезагрузками, необходимо внести нужные значения в файл /etc/sysctl.conf:


# Maximum number of open files permitted
fs.file-max = 104854

Пример 30. Настройка sysctl.conf


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


*    soft    nofile    5000
*    hard    nofile    5000

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


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


session   required  /lib/security/pam_limits.so

Пример 32.


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

Ограничения, накладываемые WINE@Etersoft

Для версии WINE@Etersoft 1.0 имеются ограничения на максимальный размер файлов, с которыми работает программа, блокирующая отдельные участки файла. Размер файла не должен превышать 1Гб. Это относится, например, к dbf-файлам, и не относится к видеофайлам.

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

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

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

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


Локальный ключ будет работать только в том случае, если приложение использует Win32 HASP HL API версии 1.12 или выше.

Примером такой программы является 1С: Предприятие 8.0 и выше.

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

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

Все компоненты драйвера 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

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


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

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

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


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

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


Мы видим, что на порту 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 (TCP не поддерживается)
NH_USE_BROADCAST = Disabled ; Отключить поиск ключа по всей сети

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



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

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


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


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

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

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

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

nethaspdemo адрес_сервера

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


Обратите внимание на количество лицензий в ключе. Например, при использовании двух ключей по 5 лицензий менеджер лицений всё равно будет выдавать не более 5 лицензий, потому что он увидит только один ключ.

Компоненты драйвера 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) — сетевой менеджер лицензий (системная служба).

Самостоятельная сборка пакета haspd

Сборка пакетов haspd производилась в специальной сборочной системе и повторить её не так просто. Для сборки необходимо установить пакеты etersoft-build-utils и rpm-build-altlinux-compat из каталога extra дистрибутива WINE@Etersoft для вашей системы.


Настоятельно рекомендуется производить сборку под пользователем, а не под привилегированной учётной записью root.

Исходный пакет haspd (из каталога sources) устанавливается командой rpm -i haspd.

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

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

После этого сборка запускается командой rpmbb haspd.spec в каталоге ~/RPM/SPECS (в некоторых системах- /usr/src/RPM/SPECS, и нужно входить в группу rpm).


В настоящий момент поддержка HASP на платформе FreeBSD не реализована. Ожидается, что она станет доступна к концу 2007 года.

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

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

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

по сетевому протоколу TCP/IP, иначе без специальной поддержки со стороны производителя программа работать не будет.

  • для ключа должен иметься драйвер ключа и менеджер лицензий под Linux, написанные производителем.

Ключи Smartkey 3 (EUTRON)

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

В защищаемой программе параметры доступа указываются в файле Server.ini.


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

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


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

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

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

Ключи SafeNet (Sentinel)

Данные ключи используются для защиты таких программ, как Инфо-Бухгалтер, БЭСТ. При использовании сетевых ключей возможен запуск защищённых программ через Wine. Драйвер для ключей входит в пакет haspd и запускается в сервисе haspd.

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

Ключи Катран

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

Дополнительно можно посмотреть здесь: http://www.ransoft.ru/prg/rsagro/sz1.shtml http://www.1c.ru/news/info.jsp?id=3046

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

Сервер Guardant Net может быть запущен на платформах X86 под операционными системами Windows 95/98/Me/NT/2000/XP. Таким образом ключи Guardant не поддерживаются- ни сетевые, ни локальные.

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

Прочие ключи

Нам известно о проблемах со следующими аппаратными ключами:

  • Rainbow (Sentinel)

Установка 1С 8.1

Новая версия платформы 1С: Предприятие 8.1 может применяться без использования операционных систем от Microsoft. При этом используется GNU/Linux-сервер, на котором установлен сервер 1С и Postre SQL (и менеджер лицензий для ключа защиты HASP), и рабочие места с использованием GNU/Linux, Free BSD? или Windows XP, на которых запускается клиентская часть 1С: Предприятия с использованием WINE@Etersoft. Ограничений по операционным системам на рабочих местах не имеется. Рассмотрим установку и настройку 1С: Предприятия 8.1 на платформе ALT Linux 3.0 Compact.

Установка пакетов и запуск служб

Установка кластера серверов под Linux.

Пакеты составляющие кластер серверов 1С: Предприятия, устанавливаются обычным образом, вы можете воспользоваться привычной программой управления пакетами. Потребуется установить следующие пакеты находящиеся в папке 1С8.1/Platform.Linux:

  • 1C_Enterprise-common-8.1.5?100.i386.rpm
  • 1C_Enterprise-server-8.1.5?100.i386.rpm

Установка

# rpm -Uvh 1C_Enterprise-common-8.1.5-100.i386.rpm 1C_Enterprise-server-8.1.5-100.i386.rpm

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

# service 1cv81 start

При этом он запустит компоненты 1С: Предприятия под пользователем usr1cv81, соответственно настройки будут храниться в каталоге/home/usr1cv81/.1 cv81

Установка Postgre SQL под Linux.

Для работы сервера 1С: Предприятия необходима специальная сборка Postgre SQL, поставляемая в комплекте с 1С: Предприятием. Для установки Postgre SQL необходимо установить следующие пакеты из каталога 1C8.1/Postgre.Linux:

  • postgresql-libs-8.1.5?6.1c.i386.rpm
  • postgresql-8.1.5?6.1.i386.rpm
  • postgresql-server-8.1.5?6.1.i386.rpm
  • postgresql-pl-8.1.5?6.1.i386.rpm
  • postgresql-contrib-8.1.5?6.1.i386.rpm

Официально поддерживается Fedora Core 4, Fedora Core 5, Fedora Core 6, ASPLinux 11, RHEL 4, ALTLinux Master 2.4

Установку пакетов производим командой

# rpm -Uvh <названия пакетов>

Далее нужно установить желаемое значение переменной LANG и запустить

/etc/init.d/postgresql start

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

Запуск кластера серверов под Linux

Для ручного запуска кластера серверов 1C: Предприятия под Linux запустите

$ /opt/1C/v8.1/i386/ragent

Установка клиента 1С: Предприятия в WINE@Etersoft

Перед установкой клиента 1С: Предприятия необходимо установить Internet Explorer 6.0 командой

$ ieinstall

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

ВНИМАНИЕ! Если дистрибутива нет или не хватает его части, то будет сделана попытка скачать из интернета.

Далее перейдите в каталог с дистрибутивом 1С: Предприятия и выполнить установку командой:

$ wine setup.exe

Следуйте штатным инструкциям по установке.

Для настройки для ключа Hasp используйте следующий файл:

~/.wine/dosdevices/c:/Program Files/1cv81/bin/conf/nethasp.ini

Более полную информацию можно получить из документации в поставке 1С: Предприятия 8.1 (файл V8AddDoc81.html)

Замечания по использованию программ 1C в WINE

При использовании режима административной установки у простых пользователей не будет возможности сохранять базу (через Конфигуратор), если у них отсутствуют права записи в файле 1CV7FILE.LST. При этом будет выводиться сообщение “Ошибка при открытии списка сохраняемых файлов”. Обычно данный файл имеется в каталоге BIN, но при необходимости отдельных настроек для каждой базы, он может быть скопирован в каталог базы с соответствующими правами.

Полезные ответы по 1С: http://forum.windowsfaq.ru/showthread.php?t=52051>>Настройка 1С 7.7 для работы с SQL-сервером

Настройка серверной части

Пользователь, от имени которого будут происходить соединения, должен являться владельцем базы (dbowner). Для смены владельца базы в Query Analizer нужно выполнить следующий код:


use base_1c
EXEC sp_changedbowner 'user1c'

Пример 37. Смена владельца базы


где 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.

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


PORT     STATE SERVICE
1433/tcp open  ms-sql-s

Пример 38. Проверка открытых портов


Настройка клиентской части

При создании новой базы нужно запустить Конфигуратор для нового каталога базы и в появившемся окне выбора формата хранения данных выбрать пункт MS SQL Server. Далее в Конфигураторе выбрать пункт “Параметры базы данных SQL” из меню “Администрирование”. В соответствующих полях указать IP-адрес сервера, базы данных, имя пользователя и пароль для входа на сервер. Обратите внимание, что указание имени машины в домене работать не будет.

Возможные ошибки

Удостоверьтесь через wine --version, что вы используете WINE@Etersoft SQL.

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

Также возможно используется неверный доступ к файлам, например каталог с базой смонтирован без поддержки блокировок (например, через smbfs или ncp). Для организации корректного доступа к сетевым ресурсам необходимо использовать протоколы сетевых файловых систем NFS или CIFS.

Полезные ссылки

Решение проблем по подключению к серверу 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

Запуск Консультант+ по сети

1. Настройка сетевого ресурса

На Линукс-машине, сетевом клиенте Консультант+, нужно смонтировать сетевой ресурс с Консультантом, допустим, в каталог /net/consultant, далее выполнить:

$ mkdir -p ~/.wine/unc/servercons/sharecons/consultant

$ ln -s /net/consultant ~/.wine/unc/servercons/sharecons/consultant

В результате данный каталог будет доступен в win-приложениям в WINE через UNC-путь как //servercons/sharecons/consultant.

Далее этому каталогу нужно поставить в соответствие логический диск WINE:

$ ln -s /net/consultant ~/.wine/dosdevices/k:

Теперь следует запустить winecfg и во вкладке “Диски” для диска K: указать, что он сетевой.

2. Настройка авторизации

Первого клиента Консультант+, работающего по сети, следует авторизовать с сервера Консультант+. Для этого на сервере следует настроить административный запуск К+:

  • а) Настроить файл BASE/USERLIST.CFG


PAP  maxim server
KOR  maxim server

Пример 39.


где PAP, KOR — базы данных К+; maxim — имя пользователя, запускающего К+ в режиме администратора; server — название компьютера WINE@Etersoft (его можно узнать из вывода команды cat ~/.wine/system.reg | grep "ComputerName"= ).

  • б) Запустить К+ в режиме администратора (с ключом/ADM).
  • в) Запустить на клиенте К+ по сети, при этом тот запросит авторизацию.
  • г) На сервере К+ следует запустить «Сервис/Регистрация Станций», а потом на клиенте нажать “OK” в диалоге авторизации. При этом произойдет авторизация.

В дальнейшем в большинстве случаев авторизация не потребуется.

3. Авторизация

В связи с использованием в системе Консультант+ драйвера для привязки программы к аппаратуре для поддержки драйвера должен быть запущен сервис etersafe.

Если вы получаете ошибку W25 при регистрации, проверьте работу etersafe командой

# service etersafe status

Ошибка W23 - #2” или “Ошибка W25 - #2” означает ошибку при загрузке драйвера защиты consult.vxd. Например не установлен WINE@Etersoft или версия не win98 (см. winecfg). “Ошибка W23 - #6” означает ошибку при попытке обращения к драйверу.

Запуск БЭСТ 4+

БЭСТ 4+ представляет собой консольное приложение Win32, написанное в xHarbour. При исполнении в режиме Win98 он использует встроенный терминал, который некорректно работает в Wine (из-за использования своих шрифтов). При исполнении в режиме Win2000 такой проблемы нет, используется штатная консоль Wine. Для запуска БЭСТ 4+ выполните в каталоге с программой команду

$ winexp wineconsole start best.bat

Варианты использования правовой системы Гарант

Существует несколько вариантов Гаранта:

  • Локальная версия
  • Файл-серверная версия
  • Клиент для клиент-серверной версии

Заключение

Мы надеемся что продукт WINE@Etersoft будет соответствовать вашим ожиданиям и будет пригоден для повседневной эксплуатации нужных вам программ.

В любом случае мы ждём ваших отзывов и предложений, направляйте их по адресу wine@etersoft.ru .

Команда разработчиков WINE@Etersoft, 2007


1Здесь и далее мы будем называть такие приложения win-приложениями.

2Нужно делать это вручную, или монтирование выполняется автоматически — зависит от вашего дистрибутива и стиля работы.

3Для получения списка доступных шрифтов WINE использует пакет fontconfig, а для отрисовки символов — библиотеку freetype2.

4umask определяет, какие права доступа по умолчанию будут получать файлы, создаваемые пользователям. Подробности — в руководстве по umask.

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

6Начиная с версии 1.0.2.

Популярные статьи
Голосования
У вас применяется WINE@Etersoft для запуска
  
Выберите наиболее важную, на Ваш взгляд, причину перехода на Linux.
  
Готовы ли Вы использовать WINE@Etersoft в реальной работе?
  
Используются технологии uCoz