我正在尝试在 Ubuntu 16.04 64 位上安装 Wine 5.0。
我已经添加了 i386 arch,将其 PPA 添加到 apt,apt-get update
然后尝试apt-get install --install-recommends winehq-stable wine-stable wine-stable-amd64
,但我遇到了
以下软件包具有未满足的依赖关系。 wine-stable-i386:i386:依赖:libasound2:i386(>= 1.0.16) 依赖: libc6:i386 (>= 2.23) 但是它将不会被安装 依赖: libglib2.0-0:i386 (>= 2.12.0) 但是它将不会被安装 依赖: libgphoto2-6:i386 (>= 2.5.9) 但是它将不会被安装 依赖: libgphoto2-port12:i386 (>= 2.5.9) 但是它将不会被安装 依赖: libgstreamer-plugins-base1.0-0:i386 (>= 1.0.0) 但是它将不会被安装 依赖: libgstreamer1.0-0:i386 (>= 1.4.0) 但是它将不会被安装 依赖:liblcms2-2:i386 (>= 2.2+git20110628) 但是它将不会被安装 依赖: libldap-2.4-2:i386 (>= 2.4.7) 但是它将不会被安装 依赖:libmpg123-0:i386 (>= 1.13.7) 但是它将不会被安装 依赖: libopenal1:i386 (>= 1.14) 但是它将不会被安装 依赖: libpcap0.8:i386 (>= 0.9.8) 但是它将不会被安装 依赖: libpulse0:i386 (>= 0.99.1) 但是它将不会被安装 依赖: libudev1:i386 (>= 183) 但是它将不会被安装 依赖: libx11-6:i386 但是它将不会被安装 依赖: libxext6:i386 但是它将不会被安装 依赖: libxml2:i386 (>= 2.9.0) 但是它将不会被安装 依赖: ocl-icd-libopencl1:i386 但是它将不会被安装或 libopencl1:i386 依赖: ocl-icd-libopencl1:i386 (>= 1.0) 但是它将不会被安装或 libopencl-1.1-1:i386 依赖:zlib1g:i386 (>= 1:1.1.4) 但是它将不会被安装 依赖: libasound2-plugins:i386 但是它将不会被安装 依赖: libncurses6:i386 但无法安装或 libncurses5:i386 但无法安装,或者 libncurses:i386 但无法安装 推荐:libcapi20-3:i386 但不会安装 推荐:libcups2:i386 但不会安装 推荐:libdbus-1-3:i386 但不会安装 推荐:libfontconfig1:i386 但不会安装 推荐:libfreetype6:i386 但不会安装 推荐:libglu1-mesa:i386 但不会安装或 libglu1:i386 推荐:libgnutls30:i386 但不会安装或 libgnutls28:i386 但无法安装或 libgnutls26:i386 但无法安装 推荐:libgsm1:i386 但不会安装 推荐:libgssapi-krb5-2:i386 但不会安装 推荐:libjpeg62-turbo:i386 但无法安装或 libjpeg8:i386 但不会被安装 推荐:libkrb5-3:i386 但不会安装 推荐:libodbc1:i386 但不会安装 推荐:libosmesa6:i386 但不会安装 推荐:libpng16-16:i386 但不会安装或 libpng12-0:i386 但不会安装 推荐:libsane:i386 但不会安装或 libsane1:i386 但无法安装 推荐:libsdl2-2.0-0:i386 但不会安装 推荐:libtiff5:i386 但不会安装 推荐:libv4l-0:i386 但不会安装 推荐:libxcomposite1:i386 但不会安装 推荐:libxcursor1:i386 但不会安装 推荐:libxfixes3:i386 但不会安装 推荐:libxi6:i386 但不会安装 推荐:libxinerama1:i386 但不会安装 推荐:libxrandr2:i386 但不会安装 推荐:libxrender1:i386 但不会安装 推荐:libxslt1.1:i386 但不会安装 推荐:libxxf86vm1:i386 但不会安装 E:无法纠正问题,您持有破损的包裹。
只是为了好玩,我尝试安装libglib2.0-0:i386
,但正如预料的那样,需要交换整个系统。
因此,问题是:为什么它依赖于i386
arch 包,即使在 amd64 主机上也是如此?我如何在没有此依赖项的情况下安装 Wine,因为我显然不想切换到该 arch?
我还感到好奇:winehq-stable
仅提供 的符号链接/opt/wine-stable/bin/*
,而 又由 提供wine-stable
,但没有/opt/wine-stable/bin/wine
。 软件包wine-stable-amd64
仅提供/opt/wine-stable/bin/wine64
。 我在这里遗漏了什么?
谢谢。
编辑1:
# apt-cache 策略 winehq-stable winehq-稳定版: 已安装:(无) 候选:5.0.0~xenial 版本表: 5.0.0~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 4.0.4~Xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 4.0.3~Xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 4.0.2~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 4.0.1~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 4.0~赛尼尔500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.5~赛尼尔 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.4~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.3~Xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.2~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.1~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 3.0.0~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 2.0.4~Xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 2.0.3~Xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 2.0.2~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 2.0.1~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包 2.0.0~xenial 500 500 https://dl.winehq.org/wine-builds/ubuntu xenial/main amd64 软件包
答案1
根据您的来源列表,我的假设是正确的——你的存储库有误。
首先打开软件和更新(software-properties-gtk
)并使其看起来像:
或者/etc/apt/sources.list
使用以 root 身份打开的文本编辑器将文件更改为
deb http://archive.canonical.com/ubuntu xenial partner
deb http://archive.ubuntu.com/ubuntu xenial main universe multiverse restricted
deb http://archive.ubuntu.com/ubuntu xenial-security main universe multiverse restricted
deb http://archive.ubuntu.com/ubuntu xenial-updates main universe multiverse restricted
deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main
然后更新软件包列表,安装新的依赖项并最终安装 Wine:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install --install-recommends winehq-stable wine-stable wine-stable-amd64
答案2
下面是手动安装 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 的步骤:
- 假设您要安装 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
- 安装顺序。这是最棘手的部分,第一次安装后,下次应该会更容易。首先,始终安装最大的 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 一次性安装它们)
有时,我不明白为什么会发生这种情况,您将无法使用 Wine 64 位,或者您将无法使用 Wine 32 位,两者之一。如果发生这种情况,只需重新安装其中一个大型 Wine 软件包(取决于您是否需要 amd64 或 i386)
sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb
很不幸,Wine 在 Debian/Ubuntu 系统上以这种方式分发,这是一个过于复杂的过程,浪费了大量的时间。Manjaro 的做法应该成为 Wine 从现在开始的官方分发方式。