Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
- 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
Внимание!
Wine, как и иное программное обеспечение из расширенного репозитория, является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.
При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере). При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном или выделенном уровне МКЦ.
Аннотация
Установка Wine на Astra Linux
Общая информация о Wine
Принцип работы Wine
- Перехват вызовов API: Когда приложение для Microsoft Windows выполняет вызов API, этот вызов перехватывается Wine.
- Трансляция вызовов: Wine переводит вызовы API в эквивалентные вызовы для Unix-подобной операционной системы.
- Исполнение и обратная связь: Unix-подобная операционная система выполняет соответствующие действия и возвращает результаты в запущенное с помощью Wine приложение.
Особенности Wine
- Wine не эмулирует всю операционную систему, а реализует API для запускаемых приложений и обеспечивает совместимость на уровне исходного кода без необходимости в эмуляции или виртуализации;
- для работы с Wine не требуется лицензия на Microsoft Windows;
- разработчиками не гарантируется работоспособность части функций запускаемых приложений;
- cуществуют как 32-битные, так и 64-битные версии Wine. 64-битная версия может запускать 32-битные приложения.
Виды сборок и актуальные версии Wine для ОС Astra Linux
Вид сборки | Описание | Версия Astra Linux | Актуальная версия Wine |
---|---|---|---|
stable | Стабильная ветка. Прошла тщательное тестирование и считается готовой для повседневного использования. Обновляется реже, обеспечивает максимальную стабильность и надежность. | 1.6 /2.12 | 7.0.1 |
1.7 /1.8 | 9.0.0 | ||
devel | Разрабатываемая ветка. Включает самые последние изменения и улучшения, часто обновляется. Может работать нестабильно | 1.6 /1.7 /1.8/ 2.12 | 9.9 |
staging | Экспериментальная ветка. Содержит набор нестабильных исправлений и функциональных возможностей. Не рекомендуется для использования без конкретных целей | 1.6 /2.12 | 7.22 |
1.7 | 9.6 | ||
1.8 | 8.18 | ||
cpro | Разрабатываемая ветка с поддержкой СКЗИ КриптоПРО Согласно Положение ПКЗ-2005 (утв. приказом ФСБ России от 09.02.2005 г. N 66), СКЗИ эксплуатируются в соответствии с правилами пользования ими. Все изменения условий использования СКЗИ, указанных в правилах пользования ими, должны согласовываться с ФСБ России и специализированной организацией, проводившей тематические исследования СКЗИ. В правилах пользования КриптоПро не предусмотрено его функционирование с применением Wine. Таким образом, данный способ не может применяться для обеспечения целей криптографической защиты информации.
| 1.6 /2.12 | 7.0 |
1.7 | 8.8 | ||
Специализированные сборки под конкретное программное изделие | Адаптируются под конкретное изделие. Примеры: T-Flex CAD, Справки БК, InnovaSystem LIS | 1.7 | Зависит от конкретного программного изделия и его версии |
4.7 | 8.13 |
Ресурсы Wine
Получить список файлов установленного Wine :
dpkg -L wine-<вид_сборки>
dpkg -L wine-staging
Отдельно следует отметить служебные каталоги:
- для Wine, установленного из репозитория Astra Linux Special Edition или из deb-пакета используется каталог
/usr/share/wine
. Исполняемые файлы располагаются в каталоге/usr/bin/;
- для Wine, установленного из сторонних источников, используется каталог
/opt/<установленная_версия_wine> (библиотеки)
. Исполняемые файлы располагаются в каталоге/opt/<установленная_версия_wine>/bin/
. Таким образом, каждая версия устанавливается в отдельный каталог, что позволяет установить одновременно несколько версий Wine.
Пользовательские файлы Wine располагаются в пользовательских каталогах в префиксах.
Прочие ресурсы:
- ярлыки программ, установленных в Wine хранятся в
~/.local/share/applications/wine/
; - кэш для установки пакетов, например Gecko или MONO в
~/.cache/wine/
; - архив пакетов, которые устанавливались с помощью Winetricks в
~/.cache/winetricks/.
Префиксы 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:
export WINEPREFIX=~/.wine
.wine-IE8
:WINEPREFIX=~/.wine-IE8 /opt/wine-7.13/bin/wine ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe
Если в имени папок содержится пробел, путь к файлу следует указывать в кавычках, например "/home/user/Рабочий стол"
Указание префиксов и архитектур через переменные окружения
Как указано в предыдущем разделе, префикс может быть задан значением переменной окружения WINEPREFIX. Аналогично могут использоваться следующие переменные окружения:
WINE — путь к исполняемому файлу
wine
. Например:export WINE=/opt/wine-<версия>/bin/wine
WINEARCH — используемая архитектура префикса. Допустимые значения: win32 и win64. Например:
export WINEARCH=win32
В Wine по умолчанию создается префикс с 64-х разрядной архитектурой
Значения переменных окружения, заданные с помощью команды export
, сохраняются до выхода из пользовательской сессии и применяются глобально ко всем командам. По необходимости для отдельных команд можно переопределить значения переменных. Например, если одновременно используются Internet Explorer и iexplore, имеющие разные префиксы и архитектуры, то команды для их запуска могут быть такими:
Internet Explorer (префикс - wine-IE8, архитектура - win32):
WINEPREFIX=~/.wine-IE8 WINEARCH=win32 $WINE ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exeiexplore (префикс - wine, архитектура - win64):
WINEPREFIX=~/.wine WINEARCH=win64 $WINE iexplore
Для того, чтобы удалить ранее заданную переменную окружения, можно использовать команду unset
:
unset WINEARCH
Функционал Wine
winefile
— аналог Проводника Microsoft Windows, запуск:winefile
wineconsole
или:wineconsole
wine cmd
wineboot
— служба, выполняющая инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.
Основные опции:Завершение текущего сеанса пользователя:
wineboot -e
- Завершение текущего сеанса пользователя и запуск нового сеанса. Используется при измениях в приложениях, не требующих полной перезагрузки:
wineboot -u
- Принудительное завершение всех процессов:
wineboot -f
- Принудительное завершение всех процессов и завершение работы Wine. Имитирует выключение компьютера:
wineboot -k
wineserver
— служба, выполняющая роль ядра ОС Windows. Для каждого префикса запускается своя служба, что позволяет одновременно выполнять несколько программ из разных префиксов.
Основные опции:- Ожидание завершения всех процессов перед остановкой сервера. Позволяет стандартно останавливать работу приложений:
wineserver -w
- Принудительный перезапуск службы:
wineserver -k
- Принудительный перезапуск для префикса:
WINEPREFIX="/home/$USER/.wine_prefix" wineserver -k
- Режим отладки:
wineserver -d[n]
Где значение
n
— режим вывода информации:0 — без вывода;
1 — выводить основную информацию;
2 или выше — выводить более полную информацию.
Допустим ввод значений в диапазоне от 0 до 99. - Запуск сервера на переднем плане, используется для отладки приложений:
wineserver -f
- Справка по командам:
wineserver -h
- Ожидание завершения всех процессов перед остановкой сервера. Позволяет стандартно останавливать работу приложений:
regedit
— аналог редактора реестра Windows. Настройки, которыми можно управлять черезwinecfg
иwinetricks
, сохраняются в ветку реестраHKEY_CURRENT_USER\Software\Wine
,- запуск для 32-битных приложений:
wine regedit
- запуск для 64-битных приложений:
wine64 regedit
Основные ветви реестра:
system.reg
содержит ветвьHKEY_LOCAL_MACHINE
;user.reg
—HKEY_CURRENT_USER
;userdef.reg
—HKEY_HKEY_USERS\.Default
(содержит настройки Windows-пользователя по умолчанию).Для импорта в реестр
.reg
файла выполнить:wine regedit <имя_файла>.reg
- запуск для 32-битных приложений:
wine control —
упрощенный налог панели управления Windows. Запуск из префикса:WINEPREFIX="/home/$USER/.wine" wine control
запуск напрямую:
WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/windows/system32/control.exe"
winecfg
— программа для настройки префикса, запуск:winecfg
Основные вкладки:- Приложения — выбор того, под какую версию Windows будет адаптирован префикс:
- Библиотеки — управление библиотеками, подключение сторонних DLL:
- Диски — подключение виртуальных и физических разделов, DVD-приводов, сетевых дисков. При создании префикса по умолчанию подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведет в корень файловой системы Astra Linux:
- Приложения — выбор того, под какую версию Windows будет адаптирован префикс:
Узнать версию Wine:
wine --version
Вывести справку для Wine:
wine --help
или:
man wine
Запуск приложений
Запуск файлов в Wine в форматах .exe, .msi, .msp, .bat, .application
.exe:
wine <имя_файла>.exe
.msi:
wine msiexec /i <имя_файла>.msi
.msp:
wine msiexec /p <имя_файла>.msp
.bat:
wine start <имя_файла>.bat
.application (для запуска требуется компонент .NET):
winetricks -q <имя_компонента>
wine start <имя_файла>.application
Запуск Wine от имени суперпользователя
Запускать Wine в сессии суперпользователя (root)
или с использованием sudo
ЗАПРЕЩАЕТСЯ. Такой запуск дает приложениям Windows, потенциально содержащим вредоносный код, полный доступ к компьютеру.
Если ранее осуществлялся запуск Wine с использованием sudo
, то необходимо удалить префикс с помощью команды:
sudo rm -fR ~/.wine
Если префикс был создан в сессии суперпользователя (root)
, то удалить префикс необходимо в каталоге /root
.
Удаление приложений в Wine
- Запуск графического инструмента Wine для удаления приложений:
wine uninstaller
Графический инструмент позволяет устанавливать приложения, для этого необходимо нажать на кнопку Установить в окне графического инструмента и указать путь к установочному файлу в открывшемся диалоговом окне
- Чтобы удалить приложение из префикса нужно выполнить:
WINEPREFIX="/home/$USER/.wine" wine uninstaller
- Чтобы удалить приложение без графического инструмента Wine необходимо выполнить:
wine uninstaller --remove <название_программы>
- Использовать деинсталятор приложения с расширением .
exe
:wine /<путь_к_папке_с_программой>/uninstall.exe
Удаление Wine
Способ удаления Wine зависит от того, каким образом был установлен инструмент: через пакетный менеджер или вручную в каталог /opt/
.
- При установке через пакетный менеджер удалить:
- Основной пакет:
sudo apt remove purge wine
- Конфигурационные файлы:
sudo apt autoremove
sudo apt clean
- Пользовательские данные (опционально):
rm -rf ~/.wine
- Удалить дополнительный пакет
winetricks
(если Winetricks был установлен изначально):sudo apt remove --purge winetricks
- Основной пакет:
- Удаление Wine, установленного в
/opt/
:- Удалить каталог, в который был установлен Wine. Например, если Wine установлен в
/opt/wine-9.6
:sudo rm -rf /opt/wine-9.6
- Удалить пользовательские данные для
WINEPREFIX
(опционально):rm -rf ~/wineprefixes
- Удалить каталог, в который был установлен Wine. Например, если Wine установлен в
После выполнения шагов по удалению Wine, убедиться, что wine
больше не доступен в системе:
bash: wine: команда не найдена