Я хочу поставить программу
В подобных ситуациях лучше и корректней учиться работать с wine на практике. Установили себе префикс? Хорошо. Хотите в него поставить некий софт (тот же Rosetta Stone) - скачиваем дистрибутив, с применением префикса пытаемся запускать установку этого дистрибутива. Если будет ругань - гуглим эту ругань, по итогу получаем некую информацию про необходимость добивки префикса некими библиотеками (directx, vb, vc++ и т.п.). Добиваем (проще это делать при помощи winetricks), запускаем установку заново - на каком-то этапе (через несколько попыток) скорее всего софт заработает (если только он не из рук вон криво написан, что для его запуска придется чуть ли ни весь windows в префикс к себе инсталляторами перетянуть).
Его лучше устанавливать ИМХО таким способом:wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo mv -v winetricks /usr/local/bin
т.к. версия эта - самая последняя, и пути в ней зачастую обновлены ко всем существующим в сети дистрибутивам (знает откуда и что качать).
Конкретный гайд по Вашему случаю составить не могу, т.к. ума не приложу где взять дистрибутив этого самого Rosetta Stone
(официальный сайт предлагает просмотр обучающего видео по установке программного обеспечения только при условии регистрации, - я б в жизни с таким софтом не связался, откровенно говоря).
Какие библиотеки для каких приложений необходимо указывать?
По этому поводу, думаю, будет не лишним упомянуть про пакеты wine32-tools и wine64-tools (в системе можно иметь либо то, либо то, т.к. они меж собой конфликтуют). К примеру, при отладке проблемных программ в 32-х битном префиксе может помочь такая информация:
sudo apt update && sudo apt install wine32-tools #устанавливаем пакет для отладки приложений, запускаемых через wine
WINEARCH=win32 WINEPREFIX=~/.wine32 wineboot #создаем 32-х битный префикс
WINEPREFIX=~/.wine32 winetricks win7 #переключаем префикс в режим мимикрирования под windows 7 (попробовать 10, XP - в зависимости от того, с чем заработает по итогу программа; префикс можно переключить в любое время, а не сразу после создания; из gui это делается через winecfg)
winedump dump ~/Загрузки/Setup.exe -j import | grep offset #проверка утилитой winedump из пакета wine32-tools инсталлятора ~/Загрузки/Setup.exe (выясняем что нужно программе)
В ответ на последнее видим нечто вроде (
Это просто пример! Смотрим то, что выдал терминал у Вас для Вашего инсталлятора и Вашего префикса!):
offset 0018b8bc SETUPAPI.dll
offset 0018b8d0 COMCTL32.dll
offset 0018b8e4 WINHTTP.dll
offset 0018b8f8 WININET.dll
offset 0018b90c KERNEL32.dll
offset 0018b920 USER32.dll
offset 0018b934 GDI32.dll
offset 0018b948 ADVAPI32.dll
offset 0018b95c SHELL32.dll
offset 0018b970 ole32.dll
offset 0018b984 OLEAUT32.dll
offset 0018b998 SHLWAPI.dll
offset 0018b9ac CRYPT32.dll
offset 0018b9c0 WINTRUST.dll
Гуглим подробности по каждой из библиотек:
offset 0018b8bc SETUPAPI.dll #Windows Setup API
offset 0018b8d0 COMCTL32.dll #Common Controls Library
offset 0018b8e4 WINHTTP.dll #Windows HTTP Services
offset 0018b8f8 WININET.dll #Internet Extensions for Win32
offset 0018b90c KERNEL32.dll #Windows NT BASE API Client DLL
offset 0018b920 USER32.dll #Multi-User Windows USER API Client DLL
offset 0018b934 GDI32.dll #GDI Client DLL
offset 0018b948 ADVAPI32.dll #Advanced Windows 32 Base API
offset 0018b95c SHELL32.dll #Windows Shell Common Dll
offset 0018b970 ole32.dll #Microsoft OLE for Windows
offset 0018b984 OLEAUT32.dll #The shared file installed by the operating system and used by the Setup program
offset 0018b998 SHLWAPI.dll #Shell Light-weight Utility Library
offset 0018b9ac CRYPT32.dll #Crypto API32
offset 0018b9c0 WINTRUST.dll #Microsoft Trust Verification APIs
Далее имеем два варианта: либо мы можем установить какую-то dll вместе с неким дистрибутивом (чем и занимается по сути дела winetricks) - тогда действуем через него (это описывать не буду - здесь в сети тьма руководств). Либо идем топорным путем: ищем сразу сами dll.
Дальнейшие действия - моя методика. Допускаю, что есть более правильные пути решения проблемы, но мне подход представляется если не полностью правильным, то как минимум рабочим.Ищем способ добавить каждую из этих dll в наш префикс. В рассматриваемом случае достаточным оказалась прямая подгрузка всего вышеобозначенного по ссылкам из интернета (пример поиска на сайте dll.ru; скачивать всякий раз версию dll той разрядности, которая соответствует Вашему префиксу, - в рассматриваемом примере это x32):
Ищем
SETUPAPI.dllИщем
COMCTL32.dllИщем
WINHTTP.dllИщем
WININET.dllИщем
KERNEL32.dllИщем
USER32.dllИщем
GDI32.dllИщем
ADVAPI32.dllИщем
SHELL32.dllИщем
ole32.dllИщем
OLEAUT32.dllИщем
SHLWAPI.dllИщем
CRYPT32.dllИщем
WINTRUST.dllСкачиваем все вышеупомянутые (они идут архиваеми zip), причем берем не DLL-помощник, который нам зачем-то впаривают, а готовые dll. Из каждого архива извлекаем соответствующий dll, и кладем его в каталог
~/.wine32/drive_c/windows/system32/. На замену файла всякий раз соглашаемся.
после всего этого выполняем регистрацию всех замещенных dll в префиксе (придется поименно всех позвать; за счет использования find регистр символов в имени конкретной библиотеки становится не важен):
for i in SETUPAPI.dll COMCTL32.dll WINHTTP.dll WININET.dll KERNEL32.dll USER32.dll GDI32.dll ADVAPI32.dll SHELL32.dll ole32.dll OLEAUT32.dll SHLWAPI.dll CRYPT32.dll WINTRUST.dll; do find $HOME/.wine32/ -type f -iname $i -exec bash -c 'WINEPREFIX=$HOME/.wine32 wine regsvr32 {}' \; ; done
Обращаем внимание на то, идет ли ругань в терминале. Если какие-то dll не пошли - надо искать альтернативные источники где их раздобыть (
например), после чего повторить процедуру их внедрения в префикс.
Как только нужными dll набили префикс - пытаемся запускать уже сам установщик командой вида
WINEPREFIX=~/.wine32 WINEDEBUG=warn+all wine ~/Загрузки/Setup.exe
И смотрим: во-первых, запустится ли он, во-вторых, если не запустится - какая есть ругань в терминале. Ругань гуглим, ищем пути решения.
В общем случае как-то так...