Сломанные пакеты при установке Wine
У меня Ubuntu 14.04 LTS (64-разрядная версия), но я не могу установить Wine. Все, что я получаю, это сломанные зависимости.
Перепробовал все на уме...
sudo apt-get update && upgrade and even with dist-upgrade
sudo apt-get autoclean
sudo apt-get install -f
sudo dpkg --configure -a
Я проверил в файле состояния dpkg (/var/lib/dpkg/status/
) после того, как что-то сломалось, но ничего не смог найти.
Что делать?
Q4wine работал, но не вино?
Это происходит, когда я пытаюсь установить wine:
sudo apt-get install wine
[Мой текст на шведском...]
В основном говоря; Зависит от вина1.6
Когда я пытаюсь установить wine1.6; sudo apt-get install wine1.6
... зависит от wine1.6-i386
Когда я пытаюсь установить wine1.6-386; sudo apt-get install wine1.6-i386
... wine1.6-i386:i386 : Beroende av: libglu1-mesa:i386 men det kommer inte att installeras eller
libglu1:i386
Beroende av: libgphoto2-6:i386 (>= 2.5.2) men det kommer inte att installeras
Beroende av: libgphoto2-port10:i386 (>= 2.5.2) men det kommer inte att installeras
Beroende av: liblcms2-2:i386 (>= 2.2+git20110628) men det kommer inte att installeras
Rekommenderar: libsane:i386 men det kommer inte att installeras
Я добавил поддержку архитектуры i386, как это предложено ниже, но она ничего не изменила и не помогла.
Но когда я попробовал aptitude вместо apt-get, я получил немного больше времени:
У меня есть много вариантов исправления проблем с зависимостями, с вопросом y/n/q. Но когда он ответил y, он не запускает установку, а только возвращается к сообщению с информацией "ничего не установлено".
Это вывод, который я получаю;
cai @ caiThink: ~ $ sudo aptitude устанавливает wine
[sudo] пароль для cai:
Будут установлены следующие НОВЫЕ пакеты: fonts-horai-umefont{a} libasn1-8-heimdal:i386{a} libasound2:i386{a} libasound2-plugins:i386{a} libasyncns0:i386{a} libavahi-client3:i386{a} libavahi-common-data:i386{a} libavahi-common3:i386{a} libcapi20-3{a} libcapi20-3:i386{a} libcgmanager0:i386{ab} libcups2:i386{a} libdrm-intel1:i386{a} libdrm-nouveau2:i386{a} libdrm-radeon1:i386{a} libelf1:i386{a} libexif12:i386{a} libexpat1:i386{a} libffi6:i386{a} libflac8:i386{a} libfontconfig1:i386{a} libfreetype6:i386{a} libgcrypt11:i386{a} libgd3:i386{a} libgif4:i386{a} libgl1-mesa-dri:i386{a} libgl1-mesa-glx:i386{a} libglapi-mesa:i386{a} libglib2.0-0:i386{a} libglu1-mesa:i386{a} libgnutls26:i386{a} libgpg-error0:i386{a} libgphoto2-6:i386{a} libgphoto2-port10:i386{a} libgssapi-krb5-2:i386{a} libgssapi3-heimdal:i386{a} libgstreamer-plugins-base0.10-0:i386{a} libgstreamer0.10-0:i386{a} libhcrypto4-heimdal:i386{a} libheimbase1-heimdal:i386{a} libheimntlm0-heimdal:i386{a} libhx509-5-heimdal:i386{a} libice6:i386{a} libieee1284-3:i386{a} libjack-jackd2-0:i386{a} libjbig0:i386{a} libjpeg-turbo8:i386{a} libjpeg8:i386{a} libk5crypto3:i386{a} libkeyutils1:i386{a} libkrb5-26-heimdal:i386{a} libkrb5-3:i386{a} libkrb5support0:i386{a} liblcms2-2:i386{ab} libldap-2.4-2:i386{a} libllvm3.4:i386{a} libltdl7:i386{a} libmpg123-0:i386{a} libogg0:i386{a} libopenal1:i386{a} liborc-0.4-0:i386{a} libosmesa6:i386{a} libp11-kit-gnome-keyring:i386{a} libp11-kit0:i386{a} libpciaccess0:i386{a} libpulse0:i386{a} libroken18-heimdal:i386{a} libsamplerate0:i386{a} libsane:i386{a} libsasl2-2:i386{a} libsasl2-modules:i386{a} libsasl2-modules-db:i386{a} libsm6:i386{a} libsndfile1:i386{a} libspeexdsp1:i386{a} libsqlite3-0:i386{a} libssl1.0.0:i386{a} libtasn1-6:i386{a} libtiff5:i386{a} libtxc-dxtn-s2tc0:i386{a} libudev1:i386{a} libusb-1.0-0:i386{a} libv4l-0:i386{a} libv4lconvert0:i386{a} libvorbis0a:i386{a} libvorbisenc2:i386{a} libvpx1:i386{a} libwind0-heimdal:i386{a} libwrap0:i386{a} lib11 i386{a} libx11-xcb1:i386{a} libxau6:i386{a} libxcb-dri2-0:i386{a} libxcb-dri3-0:i386{a} libxcb-glx0:i386{a} libxcb-present0:i386{a} libxcb-sync1:i386{a} libxcb1:i386{a} libxcomposite1:i386{a} libxcursor1:i386{a} libxdamage1:i386{a} libxdmcp6:i386{a} libxext6:i386{a} libxfixes3:i386{i} a} libxinerama1: i386 {a} libxml2: i386 {a} libxpm4:i386{a} libxrandr2:i386{a} libxrender1:i386{a} libxshmfence1:i386{a} libxslt1.1:i386{a} libxt6:i6 a} libxxf86vm1: i386 {a} ocl-icd-libopencl1: i386 {a} p11-kit-modules: i386 {a} p7zip {a} unixodbc {a} wine wine-gecko2.21 {a} wine-gecko2.21: i386 {a} wine-mono0.0.8 {a} wine1.6 {a} wine1.6-amd64 {a} wine1.6-i386: i386 {a} winetricks {a}
0 обновленных пакетов, 126 новых установленных, 0 для удаления и 0 не обновленных. Нужно получить 155 МБ архивов. После распаковки будет использовано 546 МБ. Следующие пакеты имеют неудовлетворенные зависимости:
liblcms2-2: Перерывы: liblcms2-2:i386 (!= 2.6-3ubuntu1~trusty1), но 2.5-0ubuntu4 должен быть установлен. liblcms2-2: i386: Перерывы: liblcms2-2 (!= 2.5-0ubuntu4), но установлена версия 2.6-3ubuntu1 ~ trusty1. libcgmanager0: Перерывы: libcgmanager0:i386 (!= 0.39-2ubuntu2~ubuntu14.04.1), но 0.24-0ubuntu7.5 должен быть установлен. libcgmanager0: i386: Перерывы: libcgmanager0 (!= 0.24-0ubuntu7.5), но установлена версия 0.39-2ubuntu2 ~ ubuntu14.04.1. Следующие действия разрешат эти зависимости: оставьте следующие пакеты в их текущей версии: 1) libcgmanager0: i386 [Not Installed]
2) libgl1-mesa-glx: i386 [не установлено]
3) libglu1-mesa: i386 [не установлено]
4) libgphoto2-6: i386 [Не установлено]
5) libgphoto2-port10: i386 [Не установлено]
6) liblcms2-2: i386 [Не установлено]
7) libsane: i386 [не установлено]
8) libudev1: i386 [не установлено]
9) libusb-1.0-0: i386 [не установлено]
10) вино [не установлено]
11) wine1.6 [не установлено]
12) wine1.6-amd64 [не установлено]
13) wine1.6-i386: i386 [не установлено]
Оставьте следующие зависимости нерешенными:
14) winetricks рекомендует виноПринять это решение? [Y/n/q/?] Y
Пакеты не будут установлены, обновлены или удалены. 0 обновленных пакетов, 0 новых установленных, 0 для удаления и 0 не обновленных. Нужно получить 0 Б архивов. После распаковки будет использоваться 0 В.
2 ответа
Кажется, вам нужно добавить поддержку архитектуры i386, чтобы она заработала.
Попробуйте запустить:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install wine
Wine нельзя установить прямо из sudo apt-get install, как большинство других приложений. Для этого требуются внешние репозитории (невероятно запутанный и контрпродуктивный способ ведения дел... но ладно... вы можете избежать его установки Wine вручную, как я опишу ниже...)
Установка более старых/других версий Wine, чем последние, из репозиториев в системе Debian/Ubuntu — это головная боль.
План Б: подумайте о том, чтобы перейти на Манджаро, если это возможно. Почему? Поскольку версия пакета Wine для Manjaro поставляется в ОДНОМ ПАКЕТЕ, и вы устанавливаете его с помощью ОДНОЙ КОМАНДЫ:
sudo pacman -U /local_path/wine-staging-5.1-1-x86_64.pkg.tar.zst
or, in the case you miss dependencies..
sudo pacman -Sy /path/wine...
(I think that's the command... I'm not in Manjaro right now,
the Sy command will download the dependencies for you
WITHOUT performing a full system upgrade, only the packages you need...
pacman -U is the equivalent of sudo dpkg -i , for manual install)
ХОРОШО. Если переход на Arch/Manjaro для вас НЕвозможен, ниже приведены шаги для ВРУЧНОЙ установки более старых версий Wine в дистрибутивах на основе Debian/Ubuntu:
- Допустим, вы хотите установить Wine версии 4.1 (одна из последних версий Wine перед тем, как размер Wineprefix увеличился со 100 МБ сразу до 600 МБ, без каких-либо дополнительных преимуществ и без устранения обычных ошибок за последние 10 лет...)
Перейдите на https://dl.winehq.org/wine-builds/
и загрузите все пакеты, в имени которых есть 4.1 (у них должна быть одинаковая дата)
В случае с Wine 4.1 (версия, которую я нашел оптимальной) вам нужны эти пакеты. Всего вам всегда понадобится ПЯТЬ пакетов.
winehq-staging_4.1_buster_amd64.deb
wine-staging_4.1_buster_amd64.deb
wine-staging_4.1_buster_i386.deb
wine-staging-amd64_4.1_buster_amd64.deb
wine-staging-i386_4.1_buster_i386.deb
- Порядок установки. Здесь начинается сложная часть, после того, как вы сделаете это в первый раз, в следующий раз должно быть легче. Во-первых, вы всегда устанавливаете самый большой пакет i386. Затем вы устанавливаете небольшой пакет i386. Затем установите большой пакет amd64 и маленький пакет amd64. Последним должен быть установлен winehq (который поставляется только в форме amd64)
Ниже приведена копия моей истории bash с порядком команд, которые я использовал, чтобы сделать это в кратчайшие сроки.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo dpkg -i /path/wine-staging-i386_4.1_buster_i386.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging_4.1_buster_i386.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging_4.1_buster_amd64.deb
sudo apt-get install -f
sudo dpkg -i /path/winehq-staging_4.1_buster_amd64.deb
sudo apt-get install -f
sudo apt-get update
...
winecfg <used to create the initial Wine prefix>
<use these ones below to reassure that you have all libs installed correctly>
...
WINEPREFIX=~/.wine32 WINEARCH=win32 winecfg <to test if 32-bit is working OK>
WINEPREFIX=~/.wine64 WINEARCH=win64 winecfg <to test if 64-bit is working OK>
<you should not see errors in the terminal of the type
"but the wrong architecture is being used" >
Обратите внимание, как вам нужно бежать
sudo apt-get install -f
каждый раз, когда устанавливается каждый пакет. Это гарантирует, что индивидуальные зависимости для каждого пакета будут установлены и настроены до того, как вы установите следующий пакет. (это необходимо только в первый раз, когда вы это делаете... после этого вы можете поместить все эти зависимости, сохранить их в резервной копии и установить их сразу, используя sudo dpkg -i /path/*.deb )
Иногда, и я не понимаю, почему это происходит, вы не сможете использовать 64-битную версию Wine или не сможете использовать 32-битную версию Wine, одно из двух. Если это произойдет, просто переустановите один из больших пакетов Wine еще раз (в зависимости от того, нужен ли вам amd64 или i386).
sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb
Очень жаль, что Wine распространяется таким образом в системе Debian/Ubuntu, это чрезмерно сложный процесс, на который уходит много времени. То, как это делает Manjaro, должно стать официальным способом распространения Wine.