我试图遵循官方指南,但不幸的是,依赖项有问题。
$ sudo apt install winehq-stable
The following packages have unmet dependencies.
winehq-stable : Depends: wine-stable (= 5.0.0~eoan)
Run Code Online (Sandbox Code Playgroud)
$ sudo apt install wine-stable
The following packages have unmet dependencies.
wine-stable : Depends: wine-stable-i386 (= 5.0.0~eoan)
Run Code Online (Sandbox Code Playgroud)
$ sudo apt install wine-stable-i386
The following packages have unmet dependencies.
wine-stable-i386:i386 : Depends: libfaudio0:i386 (>= 19.06.07) but it is not going to be installed
Depends: libglib2.0-0:i386 (>= 2.12.0) but it is not going to be installed
Depends: libgstreamer-plugins-base1.0-0:i386 (>= 1.0.0) but it is not going to be installed
Depends: libgstreamer1.0-0:i386 (>= 1.4.0) but it is not going to be installed
Recommends: libcups2:i386 but it is not going to be installed
Recommends: libgssapi-krb5-2:i386 but it is not going to be installed
Recommends: libkrb5-3:i386 but it is not going to be installed
Recommends: libodbc1:i386 but it is not going to be installed
Recommends: libsane:i386 but it is not going to be installed or
libsane1:i386
Run Code Online (Sandbox Code Playgroud)
......中间有很多步骤,最后一个对我来说很危险。
$ sudo apt install libpcre2-8-0:i386
The following NEW packages will be installed
libpcre2-8-0:i386 pinentry-curses
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
apt adduser (due to apt) coreutils libselinux1 (due to coreutils) dash dpkg (due to dash) debconf (due to dash) tar (due to dpkg) fdisk libmount1 (due to fdisk) findutils grep
install-info (due to grep) gzip init systemd-sysv (due to init) init-system-helpers (due to init) perl-base (due to init-system-helpers) login libpam0g (due to login)
libpam-runtime (due to login) libpam-modules (due to login) mount util-linux (due to mount) sed sysvinit-utils
0 to upgrade, 2 to newly install, 1594 to remove and 0 not to upgrade.
Need to get 218 kB of archives.
After this operation, 9.097 MB disk space will be freed.
You are about to do something potentially harmful
To continue type in the phrase ‘Yes, do as I say!’
Run Code Online (Sandbox Code Playgroud)
如何解决这种依赖地狱?
更新
有关配置存储库的一些信息(也可在此处查看):
$ grep -r ^deb /etc/apt/ --include="*.list"
/etc/apt/sources.list.d/vscode.list:deb [arch=amd64] http://packages.microsoft.com/repos/vscode stable main
/etc/apt/sources.list.d/nordvpn.list:deb https://repo.nordvpn.com/deb/nordvpn/debian stable main
/etc/apt/sources.list.d/team-xbmc-ubuntu-ppa-eoan.list:deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu eoan main
/etc/apt/sources.list.d/thopiekar-ubuntu-cura-eoan.list:deb http://ppa.launchpad.net/thopiekar/cura/ubuntu eoan main
/etc/apt/sources.list.d/spotify.list:deb http://repository.spotify.com stable non-free
/etc/apt/sources.list.d/papirus-ubuntu-papirus-eoan.list:deb http://ppa.launchpad.net/papirus/papirus/ubuntu eoan main
/etc/apt/sources.list.d/slack.list:deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie main
/etc/apt/sources.list.d/google-chrome.list:deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan-updates main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan-updates universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan-updates multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ eoan-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu eoan-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu eoan-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu eoan-security multiverse
/etc/apt/sources.list:deb https://dl.winehq.org/wine-builds/ubuntu/ eoan main
Run Code Online (Sandbox Code Playgroud)
$ dpkg --print-foreign-architectures
i386
Run Code Online (Sandbox Code Playgroud)
$ apt-cache policy winehq-stable wine-stable
winehq-stable:
Installed: (none)
Candidate: 5.0.0~eoan
Version table:
5.0.0~eoan 500
500 https://dl.winehq.org/wine-builds/ubuntu eoan/main amd64 Packages
4.0.3~eoan 500
500 https://dl.winehq.org/wine-builds/ubuntu eoan/main amd64 Packages
wine-stable:
Installed: (none)
Candidate: 5.0.0~eoan
Version table:
5.0.0~eoan 500
500 https://dl.winehq.org/wine-builds/ubuntu eoan/main amd64 Packages
4.0.3~eoan 500
500 https://dl.winehq.org/wine-builds/ubuntu eoan/main amd64 Packages
3.0.1ubuntu1 500
500 http://de.archive.ubuntu.com/ubuntu eoan/universe amd64 Packages
500 http://de.archive.ubuntu.com/ubuntu eoan/universe i386 Packages
Run Code Online (Sandbox Code Playgroud)
(也可以在这里查看。)
$ dpkg -l | grep -i wine
ii | libkwineffects12 | 4:5.16.5-0ubuntu1 | amd64 | KDE window manager effects library
ii | wine-stable-amd64 | 5.0.0~eoan | amd64 | WINE Is Not An Emulator - runs MS Windows programs
Run Code Online (Sandbox Code Playgroud)
更新#2:
我已经升级到 20.40 并以两种不同的方式安装:
$ sudo apt install --install-recommends winehq-stable ? ? ? 4704 ? 21:14:36 ? ? kubesail-alexey-anufriev/alexey-anufriev ?
Reading package lists... Done
Building dependency tree
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-stable : Depends: wine-stable (= 4.0.4~focal)
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
和:
sudo apt install wine64 wine32 ? 100 ? ? 4705 ? 21:15:40 ? ? kubesail-alexey-anufriev/alexey-anufriev ?
Reading package lists... Done
Building dependency tree
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.
wine32:i386 : Depends: libwine:i386 (= 5.0-3ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
仍然没有运气。
更新 3
$ sudo aptitude install winehq-stable
The following NEW packages will be installed:
gstreamer1.0-plugins-base:i386{a} libglib2.0-0:i386{a} libgstreamer-plugins-base1.0-0:i386{a} libgstreamer1.0-0:i386{a} libodbc1:i386{ab} libpcre3:i386{ab}
wine-stable{a} wine-stable-amd64{a} wine-stable-i386:i386{a} winehq-stable{b}
0 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 52,3 MB of archives. After unpacking 466 MB will be used.
The following packages have unmet dependencies:
libodbc1 : Breaks: libodbc1:i386 (!= 2.3.7) but 2.3.6-0.1build1 is to be installed
libodbc1:i386 : Breaks: libodbc1 (!= 2.3.6-0.1build1) but 2.3.7 is installed
libpcre3 : Breaks: libpcre3:i386 (!= 2:8.43-1+ubuntu18.04.1+deb.sury.org+1) but 2:8.39-12build1 is to be installed
libpcre3:i386 : Breaks: libpcre3 (!= 2:8.39-12build1) but 2:8.43-1+ubuntu18.04.1+deb.sury.org+1 is installed
winehq-stable : Conflicts: wine but 5.0-3ubuntu1 is installed
Conflicts: wine:i386 which is a virtual package, provided by:
- winehq-staging:i386 (5.9~focal), but it is not going to be installed
- winehq-staging:i386 (5.8~focal), but it is not going to be installed
- winehq-staging:i386 (5.7~focal), but it is not going to be installed
- winehq-stable:i386 (4.0.4~focal), but it is not going to be installed
- winehq-devel:i386 (5.9~focal), but it is not going to be installed
- winehq-devel:i386 (5.8~focal), but it is not going to be installed
- winehq-devel:i386 (5.7~focal), but it is not going to be installed
- wine (5.0-3ubuntu1), but 5.0-3ubuntu1 is installed
- wine (5.0-3ubuntu1), but 5.0-3ubuntu1 is installed
- wine-development (5.5-3ubuntu1), but it is not going to be installed
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) gstreamer1.0-plugins-base:i386 [Not Installed]
2) libglib2.0-0:i386 [Not Installed]
3) libgstreamer-plugins-base1.0-0:i386 [Not Installed]
4) libgstreamer1.0-0:i386 [Not Installed]
5) libodbc1:i386 [Not Installed]
6) libpcre3:i386 [Not Installed]
7) wine-stable [Not Installed]
8) wine-stable-i386:i386 [Not Installed]
9) winehq-stable [Not Installed]
Leave the following dependencies unresolved:
10) libgstreamer-plugins-base1.0-0:i386 recommends gstreamer1.0-plugins-base:i386
11) wine-stable-i386:i386 recommends libodbc1:i386
Accept this solution? [Y/n/q/?] Y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Run Code Online (Sandbox Code Playgroud)
$ apt-cache policy winehq-stable wine-stable wine32 wine64
winehq-stable:
Installed: (none)
Candidate: 4.0.4~focal
Version table:
4.0.4~focal 500
500 https://dl.winehq.org/wine-builds/ubuntu focal/main amd64 Packages
wine-stable:
Installed: (none)
Candidate: 4.0.4~focal
Version table:
4.0.4~focal 500
500 https://dl.winehq.org/wine-builds/ubuntu focal/main amd64 Packages
3.0.1ubuntu1 500
500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://de.archive.ubuntu.com/ubuntu focal/universe i386 Packages
wine32:i386:
Installed: (none)
Candidate: 5.0-3ubuntu1
Version table:
5.0-3ubuntu1 500
500 http://de.archive.ubuntu.com/ubuntu focal/universe i386 Packages
wine64:
Installed: 5.0-3ubuntu1
Candidate: 5.0-3ubuntu1
Version table:
*** 5.0-3ubuntu1 500
500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
由于您使用的是现代 Ubuntu 20.04 LTS - 我建议删除 WineHQ 存储库并从Universe安装 Wine 5.0.3 :
sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ cosmic main'
sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ disco main'
sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ eoan main'
sudo add-apt-repository -r 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade # to get newest dependencies
Run Code Online (Sandbox Code Playgroud)
下面我总结了评论中完成的步骤:
# remove obsolete PPA
sudo add-apt-repository -r ppa:gnome3-team/gnome3
# check real reason of the problem
sudo apt-get install aptitude
sudo aptitude install wine32:i386
Run Code Online (Sandbox Code Playgroud)
通过最后一个命令,我们确定有几个本地(以前来自某个存储库)安装的软件包。我们需要将它们替换为官方存储库中的版本:
sudo aptitude install libfaudio0=20.04-2 libodbc1=2.3.6-0.1build1 libpcre3=2:8.39-12build1
Run Code Online (Sandbox Code Playgroud)
最后安装 Wine:
sudo apt-get install wine wine32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5394 次 |
| 最近记录: |