Вопрос или проблема
Я пытаюсь установить wine, но когда говорится, что мне нужен wine32, я не могу его установить, получая аналогичные сообщения при попытке установить зависимости i386.
Я прочитал пост (Cannot install wine32 in Jammy (22.04)), где человек сократил это до libsystemd0
из dpkg-architecture -l:
DEB_BUILD_ARCH=amd64
DEB_BUILD_ARCH_ABI=base
DEB_BUILD_ARCH_BITS=64
DEB_BUILD_ARCH_CPU=amd64
DEB_BUILD_ARCH_ENDIAN=little
DEB_BUILD_ARCH_LIBC=gnu
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_GNU_CPU=x86_64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu
DEB_BUILD_MULTIARCH=x86_64-linux-gnu
DEB_HOST_ARCH=amd64
DEB_HOST_ARCH_ABI=base
DEB_HOST_ARCH_BITS=64
DEB_HOST_ARCH_CPU=amd64
DEB_HOST_ARCH_ENDIAN=little
DEB_HOST_ARCH_LIBC=gnu
DEB_HOST_ARCH_OS=linux
DEB_HOST_GNU_CPU=x86_64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=x86_64-linux-gnu
DEB_HOST_MULTIARCH=x86_64-linux-gnu
DEB_TARGET_ARCH=amd64
DEB_TARGET_ARCH_ABI=base
DEB_TARGET_ARCH_BITS=64
DEB_TARGET_ARCH_CPU=amd64
DEB_TARGET_ARCH_ENDIAN=little
DEB_TARGET_ARCH_LIBC=gnu
DEB_TARGET_ARCH_OS=linux
DEB_TARGET_GNU_CPU=x86_64
DEB_TARGET_GNU_SYSTEM=linux-gnu
DEB_TARGET_GNU_TYPE=x86_64-linux-gnu
DEB_TARGET_MULTIARCH=x86_64-linux-gnu
Я добавил архитектуру:
dpkg –add-architecture i386
Она отображается здесь:
dpkg –print-foreign-architectures
i386
но я не могу установить:
apt-cache policy libsystemd0:{amd64,i386}
libsystemd0:
Installed: 249.11-0ubuntu3.4
Candidate: 249.11-0ubuntu3.4
Version table:
*** 249.11-0ubuntu3.4 100
100 /var/lib/dpkg/status
249.11-0ubuntu3 500
500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
libsystemd0:i386:
Installed: (none)
Candidate: 249.11-0ubuntu3
Version table:
249.11-0ubuntu3 500
500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
apt install libsystemd0:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
apt : Depends: adduser but it is not going to be installed
Depends: gpgv or
gpgv2 but it is not going to be installed or
gpgv1 but it is not going to be installed
Depends: libapt-pkg6.0 (>= 2.4.6) but it is not going to be installed
Depends: libc6 (>= 2.34) but it is not installable
Depends: libgcc-s1 (>= 3.3.1) but it is not going to be installed
Depends: libgnutls30 (>= 3.7.0) but it is not going to be installed
Depends: libseccomp2 (>= 2.4.2) but it is not going to be installed
Depends: libstdc++6 (>= 11) but it is not going to be installed
Depends: libsystemd0 but it is not installable
Recommends: ca-certificates but it is not going to be installed
Редактирование: для записи, следуя инструкциям здесь:
https://www.linuxcapable.com/how-to-install-winehq-on-ubuntu-22-04-lts/
sudo apt install software-properties-common apt-transport-https wget -y
wget -O- https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/winehq.gpg
echo deb [signed-by=/usr/share/keyrings/winehq.gpg] http://dl.winehq.org/wine-builds/ubuntu/ $(lsb_release -cs) main | sudo tee /etc/apt/sources.list.d/winehq.list
Все эти команды завершаются без ошибок. Затем
root@michalk-desktop:~# apt update
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://dl.winehq.org/wine-builds/ubuntu jammy InRelease [8,041 B]
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Get:4 http://dl.winehq.org/wine-builds/ubuntu jammy/main amd64 Packages [35.1 kB]
Get:5 http://dl.winehq.org/wine-builds/ubuntu jammy/main all Packages [928 B]
Get:6 http://dl.winehq.org/wine-builds/ubuntu jammy/main i386 Packages [34.9 kB]
Hit:7 https://download.virtualbox.org/virtualbox/debian jammy InRelease
Hit:8 https://ppa.launchpadcontent.net/savoury1/chromium/ubuntu jammy InRelease
Hit:9 https://ppa.launchpadcontent.net/savoury1/ffmpeg4/ubuntu jammy InRelease
Fetched 79.0 kB in 2s (35.1 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@michalk-desktop:~# sudo apt install winehq-stable --install-recommends -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package winehq-stable
Итак, пытаюсь staging:
root@michalk-desktop:~# sudo apt install winehq-staging --install-recommends -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
winehq-staging : Depends: wine-staging (= 7.14~jammy-1)
E: Unable to correct problems, you have held broken packages.
root@michalk-desktop:~# sudo apt install wine-staging --install-recommends -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
apt : Depends: libapt-pkg6.0 (>= 2.4.6) but it is not going to be installed
Depends: libsystemd0 but it is not installable
bsdutils : PreDepends: libsystemd0 but it is not installable
init : PreDepends: systemd-sysv
libasound2:i386 : Depends: libc6:i386 (>= 2.34) but it is not installable
libasound2-plugins:i386 : Depends: libc6:i386 (>= 2.34) but it is not installable
Depends: libjack-jackd2-0:i386 (>= 1.9.10+20150825) but it is not installable or
libjack-0.125:i386
Depends: libpulse0:i386 (>= 0.99.1-1~) but it is not installable
и так далее.
Редактирование:
sudo apt install --reinstall libsystemd0=249.11-0ubuntu3
...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
init : PreDepends: systemd-sysv
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Эта машина является свежей установкой, примерно одной недели давности. Единственные остатки от 20.04 — это моя домашняя директория. Я не фиксирую пакеты и редко устанавливаю пакеты с dpkg -i, чтобы избежать зависимости. Я не думаю, что у меня есть поврежденные пакеты, я думаю, что это то, что он считает «невозможной ситуацией». Возможно, мне будет проще переустановить ОС.
Редактирование: больше информации.
dpkg -l | egrep -v '^ii|rc'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
+++-==========================================-=============================================-============-================================================================================
grep -r deb /etc/apt/sources.list /etc/apt/sources.list.d/
/etc/apt/sources.list:deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian jammy contrib
/etc/apt/sources.list:# deb cdrom:[Ubuntu 22.04 LTS _Jammy Jellyfish_ - Release amd64 (20220419)]/ jammy main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ jammy main restricted
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy main restricted
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ jammy universe
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy universe
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy-updates universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ jammy multiverse
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy multiverse
/etc/apt/sources.list:# deb-src http://us.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
/etc/apt/sources.list:deb-src http://us.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu jammy-security main restricted
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu jammy-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu jammy-security universe
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu jammy-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu jammy-security multiverse
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu jammy-security multiverse
/etc/apt/sources.list:# (e.g. netinst, live or single CD). The matching "deb cdrom"
/etc/apt/sources.list.d/savoury1-ubuntu-ffmpeg4-jammy.list:deb https://ppa.launchpadcontent.net/savoury1/ffmpeg4/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-ffmpeg4-jammy.list:# deb-src https://ppa.launchpadcontent.net/savoury1/ffmpeg4/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-chromium-jammy.list:deb https://ppa.launchpadcontent.net/savoury1/chromium/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-chromium-jammy.list:# deb-src https://ppa.launchpadcontent.net/savoury1/chromium/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-chromium-jammy.list.save:deb https://ppa.launchpadcontent.net/savoury1/chromium/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-chromium-jammy.list.save:# deb-src https://ppa.launchpadcontent.net/savoury1/chromium/ubuntu/ jammy main
/etc/apt/sources.list.d/owncloud.list:deb https://download.owncloud.com/desktop/ownCloud/stable/2.10/linux/Ubuntu_22.04/ /
/etc/apt/sources.list.d/savoury1-ubuntu-ffmpeg4-jammy.list.save:deb https://ppa.launchpadcontent.net/savoury1/ffmpeg4/ubuntu/ jammy main
/etc/apt/sources.list.d/savoury1-ubuntu-ffmpeg4-jammy.list.save:# deb-src https://ppa.launchpadcontent.net/savoury1/ffmpeg4/ubuntu/ jammy main
Редактирование: больше информации
root@michalk-desktop:~# apt-show-versions | fgrep avail
root@michalk-desktop:~#
apt-show-versions ничего не содержит с “avail”
sudo apt install --reinstall libsystemd0=249.11-0ubuntu3
Версии 64-битных пакетов и 32-битных должны совпадать.
apt-cache policy libsystemd0:{amd64,i386} libsystemd0: Installed: 249.11-0ubuntu3.4 #here to high version Candidate: 249.11-0ubuntu3.4 Version table: *** 249.11-0ubuntu3.4 100 100 /var/lib/dpkg/status 249.11-0ubuntu3 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages libsystemd0:i386: Installed: (none) Candidate: 249.11-0ubuntu3 Version table: 249.11-0ubuntu3 500 500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
Пожалуйста, попробуйте снова.
Ответ или решение
Проблема, с которой вы столкнулись при установке Wine на Ubuntu 22.04, связана с отсутствием возможности установки необходимых зависимостей для архитектуры i386. Эта архитектура требуется для wine32, так как она обеспечивает поддержку 32-битных приложений, которые обычно запускаются через Wine. Давайте разберемся в деталях и найдем решения вашей проблемы.
Теория
Ubuntu использует пакетный менеджер apt
для управления программным обеспечением и зависимостями. Столкнувшись с попыткой установить wine32, ваша система требует установки нескольких библиотек для архитектуры i386, чтобы обеспечить совместимость с 32-битными Windows-приложениями. Однако в вашем случае возникают ошибки несовместимости версий и зависимостей, что указывает на проблему с настройками пакетов и источников репозиториев.
Пример
На основании предоставленной информации, происхождение проблемы можно увидеть в несоответствии версий библиотек. Основной проблемой является то, что 64-битная и 32-битная версии libsystemd0
имеют разные версии:
- Установлена версия
249.11-0ubuntu3.4
для 64-битной архитектуры (amd64) - Кандидат для 32-битной архитектуры (i386) —
249.11-0ubuntu3
, которая не совпадает с установленной версией для amd64.
Различия в версиях приводят к невозможности удовлетворить зависимости.
Применение
Шаг 1: Синхронизация версий библиотек
Необходимо убедиться, что версии библиотек libsystemd0 совпадают для обеих архитектур.
-
Откатите версию libsystemd0 для amd64 до
249.11-0ubuntu3
, чтобы она соответствовала 32-битной версии:sudo apt install --reinstall libsystemd0=249.11-0ubuntu3
-
После этого выполните:
sudo apt update sudo apt upgrade
Убедитесь, что конфигурация пакета не содержит фиксации или удержания пакетов в определённых версиях.
Шаг 2: Установка и настройка Wine
Чтобы успешно установить Wine, следуйте приведённым шагами для добавления ирехё структуры и установки Wine:
-
Добавьте i386 архитектуру:
sudo dpkg --add-architecture i386
-
Обновите список пакетов:
sudo apt update
-
Убедитесь, что репозиторий wine добавлен и корректно работает. Для этого проверьте файл
/etc/apt/sources.list.d/winehq.list
на наличие правильного входа, например:deb [signed-by=/usr/share/keyrings/winehq.gpg] http://dl.winehq.org/wine-builds/ubuntu/ jammy main
-
Попробуйте установить Wine:
sudo apt install winehq-stable -y
Если появляются ошибки с зависимостями:
- Проверьте, не удерживаются ли пакеты на ваших системах:
sudo apt-mark showhold
- Убедитесь, что у вас включены все необходимые репозитории: main, universe, multiverse.
Поиск и исправление других возможных проблем
-
Попробуйте использовать
aptitude
вместоapt
, так как иногдаaptitude
может предоставлять более лучшую диагностику и действия по исправлению зависимости:sudo aptitude install winehq-stable
-
Если проблема не решена, проверьте на наличие конфликтующих PPA или источников программ:
- Используйте
grep
, чтобы проверить, где конфликты могут возникнуть:grep -r deb /etc/apt/sources.list /etc/apt/sources.list.d/
- Используйте
Удалите или закомментируйте любые источники, которые могут вносить современные или несовместимые пакеты.
Соблюдая вышеуказанные шаги, вы должны быть в состоянии установить wine32 на Ubuntu 22.04. Следование этим рекомендациям надеемся решит исходные проблемы с зависимостями. Однако если сложность сохраняется, возможно, стоит попробовать чистую установку ОС с соответствующими обновлениями и повторить процесс с начального этапа.