无法在 Ubuntu 20.10 上安装 wine

无法在 Ubuntu 20.10 上安装 wine

我正在尝试使用以下命令在 Ubuntu 20.10 上安装 wine:

sudo apt install --install-recommends winehq-stable

但它失败了并显示以下错误:

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:
 wine-devel : Depends: wine-devel-i386 (= 6.2~groovy-1)
              Depends: wine-devel-amd64 (= 6.2~groovy-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我该如何修复这个问题?

答案1

由于 apt 存在问题,我建议删除 20.10 存储库。您可以这样做的方法是编辑目录中的文件/etc/apt/sources.d并从那里删除 20.10 存储库。然后执行sudo apt update,然后执行,sudo apt install wine如果您想运行 x64 应用程序,也请执行sudo apt install wine64

编辑:这并不过时。我使用此方法,它安装了最新版本的 wine,即 wine 5.0

答案2

首先,我很抱歉您必须处理这个问题。在 Debian/Ubuntu 系统上,其站点中详细介绍的 Wine 安装程序已经过时,并且会导致很多问题。
我将为您详细介绍安装任何您想要的 Wine 版本的过程,而无需处理外部存储库,这是手动过程。

在 Debian/Ubuntu 系统存储库中安装比最新版本更旧或不同的 Wine 版本是一件非常麻烦的事。

计划 B:如果可能的话,考虑转到 Manjaro。为什么?因为 Manjaro 版本的 Wine 软件包捆绑在一个软件包中,您可以使用单个命令安装它:

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,以下是在基于 Debian/Ubuntu 的发行版上手动安装旧版本 Wine 的步骤:

  1. 假设您要安装 Wine 版本 4.1(Wineprefix 大小从 100 MB 直接增加到 600 MB 之前的最后一个 Wine 版本之一,没有任何额外的好处,也没有避免过去 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
  1. 安装顺序。这是最棘手的部分,第一次安装后,下次应该会更容易。首先,始终安装最大的 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 一次性安装它们)

  1. 有时,我不明白为什么会发生这种情况,您将无法使用 Wine 64 位,或者您将无法使用 Wine 32 位,两者之一。如果发生这种情况,只需重新安装其中一个大型 Wine 软件包(取决于您是否需要 amd64 或 i386)

    sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb

很不幸,Wine 在 Debian/Ubuntu 系统上以这种方式分发,这是一个过于复杂的过程,浪费了大量的时间。Manjaro 的做法应该成为 Wine 从现在开始的官方分发方式。

相关内容