Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Common Edition 2.12



Предупреждение
titleВнимание!

Wine, как и иное программное обеспечение из расширенного репозитория, является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.

При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере) [п. 7.2 РукКСЗ1]. При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном [п. 7.2.1] или выделенном [п. 7.2.7] уровне МКЦ.

Аннотация

Hide If
special@anonymous


Предупреждение

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


Установка Wine на Astra Linux

Общая информация о Wine

Принцип работы Wine

  1. Перехват вызовов API: Когда приложение для Microsoft Windows выполняет вызов API, этот вызов перехватывается Wine.
  2. Трансляция вызовов: Wine переводит вызовы API в эквивалентные вызовы для Unix-подобной операционной системы.
  3. Исполнение и обратная связь: Unix-подобная операционная система выполняет соответствующие действия и возвращает результаты обратно в запущенное с помощью Wine приложение.

Особенности Wine

  • Wine не эмулирует всю операционную систему, а реализует API для запускаемых приложений и обеспечивает совместимость на уровне исходного кода без необходимости в эмуляции или виртуализации;
  • Для работы с Wine не требуется лицензия на Microsoft Windows;
  • Разработчиками не гарантируется работоспособность части функций запускаемых приложений;
  • Существуют как 32-битные, так и 64-битные версии Wine. 64-битная версия может запускать 32-битные приложения.

Виды сборок и актуальные версии Wine для ОС Astra Linux

Вид сборкиОписаниеАктуальная версия
stableСтабильная ветка4.0 и 7.0.x
develРазрабатываемая ветка
7.13
stagingЭкспериментальная ветка. Содержит набор нестабильных исправлений и функциональных возможностей. Не рекомендуется для использования без конкретных целей.7.13
cpro

Разрабатываемая ветка с поддержкой СКЗИ КриптоПРО

Предупреждение
Согласно Положение ПКЗ-2005 (утв. приказом ФСБ России от 09.02.2005 г. N 66), СКЗИ эксплуатируются в соответствии с правилами пользования ими. Все изменения условий использования СКЗИ, указанных в правилах пользования ими, должны согласовываться с ФСБ России и специализированной организацией, проводившей тематические исследования СКЗИ. 
В правилах пользования КриптоПро не предусмотрено его функционирование с применением wine. Таким образом, данный способ не может применяться для обеспечения целей криптографической защиты информации.

 

7.0
Специализированные сборки под конкретное программное изделиеАдаптируются под конкретное изделие. Примеры: T-Flex CAD, Справки БК, InnovaSystem LIS.
Зависит от конкретного программного изделия и его версии

Функционал Wine

  • winefile — аналог Проводника Microsoft Windows, запуск:
    Command
    winefile

  • wineconsole— аналог консоли Microsoft Windows, запуск:
    Command
    wineconsole cmd

  • wineserver — служба, выполняющая роль ядра ОС Windows. Для каждого префикса запускается своя служба, что позволяет одновременно выполнять несколько программ из разных префиксов.

    Основные опции:

    • Ожидание завершения всех процессов перед остановкой сервера. Позволяет стандартно останавливать работу приложений:
      Command

      wineserver -w


    • Принудительный перезапуск службы:
      Command
      wineserver -k

    • Принудительный перезапуск для префикса:
      Command
      WINEPREFIX="/home/$USER/.wine_prefix" wineserver -k

    • Режим отладки:
      Command
      wineserver -d[n]

      Где значение n — режим вывода информации:

      0 — без вывода;

      1 — выводить основную информацию;

      2  или выше — выводить более полную информацию. 

      Допустим ввод значений в диапазоне от 0 до 99.


    • Запуск сервера на переднем плане, используется для отладки приложений:
      Command

      wineserver -f


    • Справка по командам:
      Command
      wineserver -h


  • wineboot —  служба, выполняющая инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.

    Основные опции:
    • Завершение текущего сеанса пользователя:

      Command

      wineboot -e


    • Завершение текущего сеанса пользователя и запуск нового сеанса. Используется при измениях в приложениях, не требующих полной перезагрузки:
      Command

      wineboot -u


    • Принудительное завершение всех процессов:
      Command

      wineboot -f


    • Принудительное завершение всех процессов и завершение работы Wine. Имитирует выключение компьютера:
      Command

      wineboot -k


  • regedit — аналог редактора реестра Windows. Настройки, которыми можно управлять через winecfg и winetricks, сохраняются в ветку реестра HKEY_CURRENT_USER\Software\Wine, запуск:
    Command
    wine regedit
    Информация

    Если в реестр нужно добавить запись для 64-битных приложений, нужно использовать команду wine64


    Для импорта в реестр .reg файла выполнить:

    Command

    wine regedit <имя_файла>.reg



  • winecfgпрограмма для настройки префикса, запуск:
    Command

    winecfg


    Основные в
    кладки:
    • Приложения — выбор того, под какую версию Windows будет адаптирован префикс:


    • Библиотеки — управление библиотеками, подключение сторонних DLL:



    • Диски — подключение виртуальных и физических разделов, DVD-приводов, сетевых дисков. При создании префикса по умолчанию подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведет в корень файловой системы Astra Linux:


Узнать версию Wine:

Command

wine --version


Вывести справку для Wine:

Command

wine --help

или:

Command

man wine

Ресурсы Wine

Получить список файлов установленного Wine :

Command
dpkg -L wine-<вид_сборки>

Для сборки staging команда будет:

Command

dpkg -L wine-staging

Отдельно следует отметить служебные каталоги:

  • Для Wine 7.0.x, установленного из репозитория Astra Linux Special Edition 1.7 или из deb-пакета используется каталог /usr/share/wine . Исполняемые файлы располагаются в каталоге /usr/bin/;
  • Для Wine, установленного из сторонних источников, используется каталог /opt/<установленная_версия_wine> (библиотеки) Исполняемые файлы располагаются в каталоге/opt/<установленная_версия_wine>/bin/. Таким образом, каждая версия устанавливается в отдельный каталог, что позволяет установить одновременно несколько версий и позволяет использовать.

Пользовательские файлы Wine располагаются в пользовательских каталогах в так называемых префиксах - см. Что такое префикс? Что располагается в префиксе?.

Hide If
special@anonymous


Информация
titleДанный комментарий недоступен анонимным пользователям.
Список используемых версий Wine в ОС Astra Linux приведен в одноименной статье


Якорь
WhatInPrefix
WhatInPrefix
Префиксы Wine

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

  • dosdevices — каталог, в котором перечислены виртуальные диски. В Windows разделы блочных устройств представлены в виде абстрактных дисков (томов), каждый из которых обозначается буквой. К примеру, системный диск по умолчанию называется "C:";
  • drive_c — виртуальный диск C:, на котором располагаются компоненты Windows;
  • update-timestamp — метка времени;
  • system.reg, user.reg и userdef.reg — файлы реестра Windows, которые являются централизованным древовидным хранилищем настроек Windows-программ,
    заменяют — HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER и HKEY_HKEY_USERS\.Default соответственно;
  • winetricks.log — файл, содержащий список команд использованных при настройке префикса через winetricks.

Префикс общего назначения имеет название .wine. Для некоторых приложений могут создаваться свои префиксы, например для Internet Explorer — .wine-IE8. Используемый по умолчанию префикс можно задать в переменной окружения WINEPREFIX:

Command
export WINEPREFIX=~/.wine

Префикс также можно указать при запуске программы, переопределив переменную окружения. Например, для запуска Internet Explorer в префиксе .wine-IE8:

Command
WINEPREFIX=~/.wine-IE8 /opt/wine-7.13/bin/wine ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe
Информация

Если в имени папок содержится пробел, путь к файлу следует указывать в кавычках, например "/home/user/Рабочий стол"

Указание префиксов и архитектур через переменные окружения

Как указано в предыдущем разделе, префикс может быть задан значением переменной окружения WINEPREFIX. Аналогично могут использоваться следующие переменные окружения:

  • WINE — путь к исполняемому файлу wine. Например:

    Command
    export WINE=/opt/wine-7.13/bin/wine


  • WINEARCH — используемая архитектура префикса. Допустимые значения: win32 и win64. Например:

    Command
    export WINEARCH=win32
    Информация

    В 64-битной версии Wine по умолчанию используется 64-битная архитектура


Значения переменных окружения, заданные с помощью команды export, сохраняются до выхода из пользовательской сессии и применяются глобально ко всем командам. По необходимости для отдельных команд можно переопределить значения переменных. Например, если одновременно используются Internet Explorer и iexplore, имеющие разные префиксы и архитектуры, то команды для их запуска могут быть такими:

  • Internet Explorer (префикс - wine-IE8, архитектура - win32):

    Command
    WINEPREFIX=~/.wine-IE8 WINEARCH=win32 $WINE ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe


  • iexplore (префикс - wine, архитектура - win64):

    Command
    WINEPREFIX=~/.wine WINEARCH=win64 $WINE iexplore


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

Command
unset WINEARCH

Якорь
prefix32
prefix32
Создание 32-битного префикса в Wine

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

  1. Создать переменную окружения с указанием архитектуры:

    Command

    export WINEARCH=win32

    После задания переменной окружения префиксы, которые будут создаваться в текущем сеансе терминала Fly, будут иметь 32-разрядную архитектуру.

  2. Выполнить команду для создания префикса:

    Command

    wineboot


Команду wineboot можно не выполнять, а вместо нее сразу выполнить команду winetricks с установкой необходимых пакетов из Winetricks. Нужный префикс (.wine) при этом будет создан автоматически.

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

Запуск файлов в Wine в форматах .exe, .msi, .msp, .bat, .application

Информация

Wine, доступный в расширенном репозитории Astra Linux Special Edition 1.7, поддерживает только 64-разрядную архитектуру

  • .exe:

    Command
    wine <имя_файла>.exe


  • .msi:

    Command

    wine msiexec /i <имя_файла>.msi


  • .msp:

    Command

    wine msiexec /p <имя_файла>.msp


  • .bat:

    Command

    wine start <имя_файла>.application


  • .application (для запуска требуется компонент .NET):

    Command

    winetricks -q <имя_компонента>
    wine start <имя_файла>.application

Запуск Wine от имени суперпользователя

Предупреждение

Запускать Wine в сессии суперпользователя (root) или с использованием sudo ЗАПРЕЩАЕТСЯ. Такой запуск дает приложениям Windows, потенциально содержащим вредоносный код, полный доступ к компьютеру.

Если ранее осуществлялся запуск Wine с использованием sudo, то необходимо удалить префикс с помощью команды:

Command

sudo rm -fR ~/.wine

Если префикс был создан в сессии суперпользователя (root), то удалить префикс необходимо в каталоге /root.

Удаление приложений в Wine

  • Запуск графического инструмента Wine для удаления приложений:
    Command
    wine uninstaller


  • Чтобы удалить приложение из префикса нужно выполнить:
    Command
    WINEPREFIX="/home/$USER/.wine" wine uninstaller
    Информация

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


  • Чтобы удалить приложение без графического инструмента Wine необходимо выполнить:
    Command
    wine uninstaller --remove <название_программы>


  • Wine позволяет удалять установленные в нем приложения средствами самого приложения, для этого нужно запустить Запустить деинсталятор как обычный файл с расширением .exe:
    Command
    wine /<путь_к_папке_с_программой>/uninstall.exe

Запуск ПО 32-разрядной архитектуры в Wine в Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)

Для запуска 32-разрядных приложений в Astra Linux Special Edition 1.7 требуется:

  1. Использовать Wine версии 7.0.1, который можно скачать по ссылке: wine_7.0.1-0-astra-se17_lsb_amd64.deb;
  2. Создать 32-разрядный префикс.

Internet Explorer и iexplore

Internet Explorer и iexplore - это два разных Web-браузера, которые можно использовать в среде Wine:

  • Internet Explorer (IE, IE8) — приложение Microsoft Windows, которое может быть установлено и запущено в 32-битной среде Wine;
  • iexplore — приложение Wine, которое устанавливается вместе с Wine работает в 64-битном префиксе.

Запуск iexplore в Wine

Для запуска iexplore:

  1. УстановитьWine (см.Установка wine на Astra Linux) и настроить переменные окружения;
  2. Выполнить команду:

    Command
    $WINE iexplore

    Предполагается, что в переменной окружения wine сохранен путь к исполняемому файлу Wine.

Установка и запуск Internet Explorer (IE) в Wine

Информация

Версии IE выше версии 8 в Wine не работоспособны. Версия 8 (IE8) работает стабильно с Wine версий 7.0.1 и 7.13. Далее рассматривается работа с версий 7.13.

Для установки IE8 требуется:

  1. Проверить, включена ли блокировка трассировки ptrace:

    Command
    sudo astra-ptrace-lock status

    если блокировка включена (активна), то отключить блокировку:

    Command
    sudo astra-ptrace-lock disable

    и перезагрузить компьютер;

  2. Загрузить и установить Wine 7.13. См. Установка wine на Astra Linux;

  3. Установить пакет cabextract:

    Command

    sudo apt install cabextract


  4. Создать 32-разрядный префикс Wine и установить приложение:

    Command

    export WINEPREFIX=~/.wine-IE8
    export WINEARCH=win32
    export WINE=/opt/wine-7.13/bin/wine
    winetricks ie8
    winetricks -q msxml6 win2k

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

Запуск IE8 осуществляется командой:

Command

$WINE ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe

Удаление Wine

Способ удаления Wine зависит от того, каким образом был установлен инструмент: через пакетный менеджер или вручную в каталог /opt/

  • При установке через пакетный менеджер удалить:
    1. Основной пакет:
      Command

      sudo apt remove purge wine


    2. Конфигурационные файлы:
      Command

      sudo apt autoremove

      sudo apt clean


    3. Пользовательские данные (опционально):
      Command

      rm -rf ~/.wine


    4. Удалить дополнительный пакет winetricks (если он был установлен изначально):
      Command

      sudo apt remove --purge winetricks


  • Удаление Wine, установленного в /opt/:
    1. Удалить каталог, в который был установлен Wine. Например, если Wine установлен в /opt/wine-9.6
      Command

      sudo rm -rf /opt/wine-9.6


    2. Удалить пользовательские данные для WINEPREFIX (опционально): 
      Command
      rm -rf ~/wineprefixes


После выполнения шагов по удалению Wine, убедиться, что wine больше не доступен в системе:

Command
Titlewine --version

bash: wine: команда не найдена


...