Ошибка при установке wine на ubuntu

Обновлено: 06.07.2024

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

1. Обновите списки пакетов

Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:

sudo apt update --fix-missing

2. Установите битые пакеты

После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:

sudo apt install -f

3. Очистите лишние пакеты

Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:

sudo apt autoremove

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

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

4. Используйте dpkg

Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:

sudo dpkg --configure -a

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

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

5. Разрешите зависимости

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

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

(11 оценок, среднее: 4,64 из 5)

Об авторе

8 комментариев

Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.

Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек "уложит" систему точно.

dzentoo 2 декабря, 2020 Ответить

Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto'й носятся.

dzentoo? это у меня на матунту бубен плесенью покрылся.
А ты говоришь не о убунту, а Gnome3. Мне его нескончаемые проблемы неведомы, Gnome2 - до сих пор рулит

Wine - это программа с открытым исходным кодом, которая позволяет запускать Windows-приложения в среде Linux и MacOS. Можно сказать, что это слой совместимости между операционной системой и Windows-программами. Вызовы процедур из библиотек Windows подменяются на системные вызовы Linux и с помощью этого появляется возможность запускать Windows-программы в Linux.

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

За последнее время Wine очень сильно продвинулся в плане запуска игр. Благодаря библиотеке DXVK уже можно запускать и играть во многие игры для Windows без потери производительности. Далее будет рассмотрена установка Wine Ubuntu 20.04 при помощи стандартного репозитория Ubuntu, при помощи официального репозитория Wine и сборка из исходников.

Установка Wine в Ubuntu

Как уже было упомянуто ранее, сейчас у Wine есть две основные поддерживаемые версии. Стабильная - 6.0.1 в которую вносятся только небольшие исправления багов, и экспериментальная (тестовая) - 6.15 - здесь содержится вся новая функциональность. На момент написания статьи (16 августа 2021 года) в репозиториях Ubuntu присутствует стабильная версия под номером 5.0. Для установки экспериментальной вам придется использовать репозиторий разработчиков.

1. Установка wine из официальных репозиториев

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

sudo apt -y install wine

IM5xSa6qcAAAAASUVORK5CYII=

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

8B6XH9yfrJizcAAAAASUVORK5CYII=

2. Установка wine из PPA

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

sudo dpkg --add-architecture i386

Далее добавьте официальный ключ для репозитория wine:

sudo apt-key add winehq.key

z+Zjh1xZC1wRwAAAABJRU5ErkJggg==

Подключите официальный репозиторий разработчиков:

A8CebxXYDS09AAAAAElFTkSuQmCC

После этого обновляем списки пакетов:

sudo apt update

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

sudo apt install --install-recommends winehq-stable

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

sudo apt install --install-recommends winehq-devel

В качестве примера была выбрана стабильная версия.

v2j3AAAAAElFTkSuQmCC

3. Сборка Wine из исходников

Если нужной вам версии нет в PPA и вам нужна установка последней версии Wine в Ubuntu 20.04 с накладыванием каких-либо патчей, или даже хотите иметь две версии Wine сразу, необходимо собирать Wine при помощи исходников.

Откройте утилиту Программы и обновления (Software & Updates) и на вкладке Источники ПО (Ubuntu Software) установите галочку напротив пункта Исходный код (Source code):

TG1rHDDzWDsAAAAASUVORK5CYII=

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

sudo apt build-dep wine-stable

ABmkWSDW+ZPCAAAAAElFTkSuQmCC

Загрузим исходники, например, для версии 4.0 с официального сайта.

QXyEHaZJCSLLAhrxZEJPwnFFn3sgxsf8vKUgYmou2uD4AAAAASUVORK5CYII=

Распаковываем исходники и перейдите в папку с ними:

tar -xpJf wine-4.0-rc7.tar.xz

Подготавливаем Wine к сборке. Если у вас ОС 32 битная, то выполняем следующую команду:

Если у вас ОС 64 битная, то выполняем команду:

sudo ./configure --enable-win64

A2NqotfpV5CJAAAAAElFTkSuQmCC

sudo ./configure --prefix /opt/wine4 --enable-win64

A9Cns6JzsrSaAAAAAElFTkSuQmCC

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

После сборки пакета, вы сможете установить Wine в Ubuntu при помощи утилиты dpkg:

Удаление Wine из Ubuntu

Чтобы удалить wine Ubuntu вам необходимо удалить тот пакет, который вы устанавливали ранее.
Например, для стабильной версии:

sudo apt purge winehq-stable

Или для тестовой версии:

sudo apt purge winehq-devel

Также вы можете удалить следующие файлы, чтобы очистить систему от мусора:

  • $HOME/.wine
  • $HOME/.config/menus/applications-merged/wine*
  • $HOME/.local/share/applications/wine
  • /.local/share/desktop-directories/wine*
  • /.local/share/icons/. _*.xpm

Выводы

В этой статье была рассмотрена установка последней версии Wine в Ubuntu 20.04. В качестве методов установки были рассмотрены: установка из официального репозитория Ubuntu, установка из репозитория Wine и сборка из исходников. Если остались вопросы, пишите в комментариях!

При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.

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

Неудовлетворенные зависимости в Ubuntu


По английски наша ошибка ещё может писаться как the following packages have unmet dependencies. Она может возникнуть в нескольких случаях, давайте сначала рассмотрим основные из них:

  • Вы используете dpkg для установки deb пакета. Эта утилита не занимается установкой зависимостей. Вместо неё надо использовать apt install или потом просто установить недостающие зависимости с помощью apt, как это делается описано ниже;
  • Вы используете старую версию дистрибутива - в старых версиях могло что-то изменится в репозитории и часть пакетов была удалена или переименована. С LTS версиями такое случается редко, но с обычными релизами вполне может произойти;
  • Вы пытаетесь установить программу не от своего дистрибутива - несмотря на родство всех дистрибутивов семейства Debian, не желательно использовать программы из других дистрибутивов, так, как они могут требовать пакеты, которые в этом дистрибутиве называются по другому;
  • У вас установлен устаревший пакет, который не позволяет обновить некоторые зависимости - случается, когда в системе уже есть какой-нибудь пакет старый пакет, требующий старую версию библиотеки, а новая программа, которую вы собираетесь установить уже хочет более новую версию и не позволяет её обновить. Эта проблема не очень типична для Ubuntu, так как здесь большинство версий программ в репозиториях заморожено, но часто встречается при использовании дистрибутивов с системой роллинг релизов.

1. Обновление и исправление зависимостей

sudo apt update

sudo apt install -f

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

sudo dpkg --configure -a

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

sudo apt upgrade
sudo apt full-upgrade

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

Также подобная проблема может возникать при использовании PPA. Эти репозитории поддерживаются сторонними разработчиками, и могут содержать проблемы, если это ваш вариант, то, лучше поискать альтернативные способы установки необходимой программы.

2. Установка зависимостей



После загрузки пакета с сайта его можно установить через тот же dpkg:

sudo dpkg -i ffmpegthumbs_19.04.3-0ubuntu1

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

3. Удаление зависимостей

Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.

Сначала распакуйте пакет в подпапку package командой:

dpkg-deb -x ./viber.deb package

Затем туда же извлеките метаданные пакета:

dpkg-deb --control viber.deb package/DEBIAN

В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.

Затем останется только собрать пакет обратно:

dpkg -b viber package.deb

И можете устанавливать, теперь с зависимостями будет всё верно:

sudo dpkg -i package.deb

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

4. Распаковать пакет

Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.

5. Использовать snap пакеты

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

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


Переходим к непосредственной установке Wine (команды выполняем в терминале):

  • Скачиваем и добавляем ключ:
  • Добавляем репозиторий

Для Ubuntu 19.04:

Для Ubuntu 18.04:

Если по каким-то причинам список пакетов не был обновлен, то обновим:

Переходим к непосредственной установке программы Wine:

  • Стабильная версия:
  • Версия в разработке:
  • Версия Staging (с дополнительными патчами, улучшениями):


Если в процессе установки или скачивания возникнет проблема с сетью или любая другая проблема, то повторите установку с ключом --fix-missing. Пример c версией staging:

Установка Winetricks

Программа Wine установлена, но для её наполнения необходимо установить скрипт с графическим интерфейсом - Winetricks. Данный пакет есть в репозитории Ubuntu, но я рекомендую установливать самую последнюю версию с github репозитория разработчика:

  • Для корректной работы скрипту Winetricks могут понадобится следующие пакеты, поэтому мы их сразу установим:
  • Скачивание и установка Winetricks:

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

Создаём префикс Wine:

Создание префикса x32 (команду выполняем в терминале):

Или создание префикса x64:

Префикс с битностью x32 стабильнее и лучше поддерживает установку библиотек Windows. Я пользуюсь именно им.

После выполнения команды создания префикса появится окно с предложением установить Mono и затем пакет Gecko.


Настройки Wine доступны по команде: winecfg


Наполнение Wine с помощью скрипта Winetricks по одноименной команде: winetricks


Воспользоваться скриптом winetricks можно и без запуска его графической оболочки:

winetricks название пакета

Можно добавить ключ для автоматической установки нужных нам библиотек. Например:

Читайте также: