在 Fedora 上安装 rpmfusion 的 steam 时,新的 32 位和旧的 64 位软件包之间存在冲突

在 Fedora 上安装 rpmfusion 的 steam 时,新的 32 位和旧的 64 位软件包之间存在冲突

我全新安装了 Fedora 22 的 KDE 版本。安装说明非常简单这里安装 steam:

steam.i686但是,由于依赖于其他.i686库并且是 64 位安装,因此我遇到了很多冲突x86_64。冲突如下(形式为file <something> from install of <i686> conflicts with file from package <x86_64>):

elfutils-libelf-0.163-4.fc22.i686
fontconfig-2.11.94-4.fc22.i686
freetype-2.5.5-2.fc22.i686
gdk-pixbuf2-2.31.6-1.fc22.i686
gnutls-3.3.18-1.fc22.i686
krb5-libs-1.13.2-8.fc22.i686
libidn-1.32-1.fc22.i686
libstdc++-5.1.1-4.fc22.i686
p11-kit-0.23.1-2.fc22.i686
pam-1.1.8-19.fc22.i686
pango-1.36.8-6.fc22.i686

我非常确定我不想用 32 位版本替换我的系统,但我的上一个系统上确实安装了 steam。有人知道 steam 应该如何安装吗,或者我如何才能仅为 steam 安装这些软件包?

(我已经成功安装了 nvidia 驱动程序及其 32 位版本,只是 32 位库阻止我实际安装 steam)


更新:完整输出

> sudo dnf install steam
================================================================================
 Package             Arch    Version                   Repository          Size
================================================================================
Installing:
 alsa-lib            i686    1.0.29-1.fc22             fedora             392 k
 atk                 i686    2.16.0-1.fc22             fedora             259 k
 audit-libs          i686    2.4.4-1.fc22              updates             96 k
 avahi-libs          i686    0.6.31-43.fc22            updates             61 k
 bzip2-libs          i686    1.0.6-14.fc22             fedora              45 k
 cairo               i686    1.14.2-1.fc22             fedora             756 k
 cracklib            i686    2.9.1-5.fc22              fedora              84 k
 cups-libs           i686    1:2.0.3-1.fc22            updates            392 k
 cyrus-sasl-lib      i686    2.1.26-23.fc22            updates            160 k
 dbus-libs           i686    1:1.8.20-1.fc22           updates            171 k
 elfutils-libelf     i686    0.163-4.fc22              updates            212 k
 elfutils-libs       i686    0.163-4.fc22              updates            295 k
 expat               i686    2.1.0-10.fc22             fedora              90 k
 fontconfig          i686    2.11.94-4.fc22            updates            245 k
 freetype            i686    2.5.5-2.fc22              updates            413 k
 gdk-pixbuf2         i686    2.31.6-1.fc22             updates            569 k
 glib2               i686    2.44.1-2.fc22             updates            2.2 M
 glibc               i686    2.21-8.fc22               updates            4.2 M
 gmp                 i686    1:6.0.0-9.fc22            fedora             423 k
 gnutls              i686    3.3.18-1.fc22             updates            617 k
 graphite2           i686    1.2.4-3.fc22              fedora              92 k
 gtk2                i686    2.24.28-1.fc22            fedora             3.4 M
 harfbuzz            i686    0.9.40-1.fc22             fedora             172 k
 jasper-libs         i686    1.900.1-30.fc22           fedora             149 k
 jbigkit-libs        i686    2.1-3.fc22                fedora              51 k
 keyutils-libs       i686    1.5.9-4.fc22              fedora              45 k
 krb5-libs           i686    1.13.2-8.fc22             updates            853 k
 libX11              i686    1.6.3-1.fc22              fedora             617 k
 libXScrnSaver       i686    1.2.2-8.fc22              fedora              28 k
 libXau              i686    1.0.8-4.fc22              fedora              33 k
 libXcomposite       i686    0.4.4-6.fc22              fedora              27 k
 libXcursor          i686    1.1.14-4.fc22             fedora              34 k
 libXdamage          i686    1.1.4-6.fc22              fedora              25 k
 libXext             i686    1.3.3-2.fc22              fedora              42 k
 libXfixes           i686    5.0.1-4.fc22              fedora              22 k
 libXft              i686    2.3.2-2.fc22              fedora              62 k
 libXi               i686    1.7.4-2.fc22              fedora              45 k
 libXinerama         i686    1.1.3-4.fc22              fedora              18 k
 libXrandr           i686    1.4.2-2.fc22              fedora              30 k
 libXrender          i686    0.9.9-1.fc22              fedora              30 k
 libXxf86vm          i686    1.1.4-1.fc22              fedora              22 k
 libattr             i686    2.4.47-10.fc22            updates             24 k
 libcap              i686    2.24-7.fc22               fedora              52 k
 libcom_err          i686    1.42.12-4.fc22            fedora              45 k
 libcurl             i686    7.40.0-7.fc22             updates            257 k
 libdatrie           i686    0.2.8-5.fc22              fedora              32 k
 libdb               i686    5.3.28-12.fc22            updates            763 k
 libdrm              i686    2.4.61-3.fc22             fedora             132 k
 libedit             i686    3.1-12.20150325cvs.fc22   fedora             100 k
 libffi              i686    3.1-7.fc22                fedora              33 k
 libgcc              i686    5.1.1-4.fc22              updates             91 k
 libgcrypt           i686    1.6.3-4.fc22              fedora             352 k
 libgpg-error        i686    1.17-2.fc22               fedora             123 k
 libidn              i686    1.32-1.fc22               updates            229 k
 libjpeg-turbo       i686    1.4.0-2.fc22              updates            160 k
 libpciaccess        i686    0.13.3-0.3.fc22           fedora              31 k
 libpng              i686    2:1.6.16-3.fc22           fedora             124 k
 libpng12            i686    1.2.50-8.fc22             fedora             159 k
 libselinux          i686    2.3-10.fc22               updates            150 k
 libssh2             i686    1.5.0-1.fc22              fedora             148 k
 libstdc++           i686    5.1.1-4.fc22              updates            444 k
 libtasn1            i686    4.5-1.fc22                fedora             327 k
 libthai             i686    0.1.21-1.fc22             fedora             193 k
 libtiff             i686    4.0.3-20.fc22             updates            177 k
 libtxc_dxtn         i686    1:1.0.0-4.fc22            rpmfusion-free      18 k
 libtxc_dxtn         x86_64  1:1.0.0-4.fc22            rpmfusion-free      18 k
 libverto            i686    0.2.6-4.fc22              fedora              21 k
 libwayland-client   i686    1.7.0-1.fc22              fedora              31 k
 libwayland-server   i686    1.7.0-1.fc22              fedora              37 k
 libxcb              i686    1.11-8.fc22               updates            205 k
 libxshmfence        i686    1.2-1.fc22                fedora              11 k
 llvm-libs           i686    3.5.0-9.fc22              fedora             8.7 M
 mesa-dri-drivers    i686    10.6.9-1.20151008.fc22    updates            8.5 M
 mesa-filesystem     i686    10.6.9-1.20151008.fc22    updates             35 k
 mesa-libEGL         i686    10.6.9-1.20151008.fc22    updates             98 k
 mesa-libGL          i686    10.6.9-1.20151008.fc22    updates            213 k
 mesa-libgbm         i686    10.6.9-1.20151008.fc22    updates             56 k
 mesa-libglapi       i686    10.6.9-1.20151008.fc22    updates             70 k
 ncurses-libs        i686    5.9-18.20150214.fc22      fedora             312 k
 nettle              i686    2.7.1-5.fc22              fedora             339 k
 nspr                i686    4.10.8-1.fc22             fedora             137 k
 nss                 i686    3.20.0-1.2.fc22           updates            871 k
 nss-softokn         i686    3.20.0-1.0.fc22           updates            319 k
 nss-softokn-freebl  i686    3.20.0-1.0.fc22           updates            196 k
 nss-util            i686    3.20.0-1.0.fc22           updates             81 k
 openldap            i686    2.4.40-12.fc22            fedora             346 k
 openssl-libs        i686    1:1.0.1k-12.fc22          updates            944 k
 p11-kit             i686    0.23.1-2.fc22             updates            148 k
 pam                 i686    1.1.8-19.fc22             updates            730 k
 pango               i686    1.36.8-6.fc22             updates            296 k
 pcre                i686    8.37-5.fc22               updates            495 k
 pixman              i686    0.32.8-1.fc22             updates            266 k
 readline            i686    6.3-5.fc22                fedora             203 k
 sqlite              i686    3.9.0-1.fc22              updates            487 k
 steam               i686    1.0.0.50-2.fc22           rpmfusion-nonfree  2.6 M
 systemd-libs        i686    219-25.fc22               updates            358 k
 trousers            i686    0.3.13-3.fc22             fedora             299 k
 xz-libs             i686    5.2.0-2.fc22              fedora              96 k
 zlib                i686    1.2.8-7.fc22              fedora              97 k

Transaction Summary
================================================================================
Install  99 Packages

Total size: 49 M
Installed size: 150 M
Is this ok [y/N]: y
Downloading Packages:
... #everything's [SKIPPED] Already downloaded since first run
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache till the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/printers.py from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/printers.pyc from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/printers.pyo from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/xmethods.py from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/xmethods.pyc from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/gcc-5.1.1/python/libstdcxx/v6/xmethods.pyo from install of libstdc++-5.1.1-4.fc22.i686 conflicts with file from package libstdc++-5.1.1-1.fc22.x86_64
  file /usr/share/doc/freetype/CHANGES from install of freetype-2.5.5-2.fc22.i686 conflicts with file from package freetype-2.5.5-1.fc22.x86_64
  file /usr/share/doc/fontconfig/README from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/doc/fontconfig/fontconfig-user.html from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/doc/fontconfig/fontconfig-user.txt from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/man/man1/fc-query.1.gz from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/man/man1/fc-scan.1.gz from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/man/man5/fonts-conf.5.gz from install of fontconfig-2.11.94-4.fc22.i686 conflicts with file from package fontconfig-2.11.93-2.fc22.x86_64
  file /usr/share/locale/de/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.163-4.fc22.i686 conflicts with file from package elfutils-libelf-0.161-6.fc22.x86_64
  file /usr/share/locale/en@boldquot/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.163-4.fc22.i686 conflicts with file from package elfutils-libelf-0.161-6.fc22.x86_64
  file /usr/share/locale/en@quot/LC_MESSAGES/elfutils.mo from install of elfutils-libelf-0.163-4.fc22.i686 conflicts with file from package elfutils-libelf-0.161-6.fc22.x86_64
... #ran out of 30k char limit

Error Summary
-------------

答案1

根据评论,问题出在崩溃期间的重复包(约 460 个)dnf update。错误是关于 32 位库与旧版本的 64 位库冲突,而我同时安装了较新的 64 位库。

我的解决方案是删除旧的package-cleanup --cleandupes并重新安装新的(因为其中一些尚未安装完成):

dnf repoquery --duplicated | sed "1 d" > dupes
cat dupes | sed 's/^\(.*\)-[0-9]\+:.*/\1/' | sort | uniq | grep -v kernel > reinstall
package-cleanup --cleandupes #uses dnf via /bin/yum (now a passthrough + warning script)
#check only the dupes are being removed before confirming "y"
sudo dnf reinstall $(cat reinstall)

此后,steam 就可以使用 32 位库顺利安装。

答案2

我遇到了与楼主类似的问题。我进行了更新,但系统在更新过程中失败了。我再次运行它,一切似乎都很好。

尝试安装 steam 时,我遇到了类似的软件包冲突。我也有重复的软件包。运行命令dnf repoquery --duplicated会显示所有重复的软件包。

我基本上只是在 dnf 中执行了自动删除命令,然后尝试再次安装 steam。

dnf clean packages
dnf autoremove
dnf install steam

这次不再发生冲突并且成功了。

笔记 我确实在某处读到过 autoremove 有时会有点问题,所以请谨慎使用。我不确定这些错误现在是否已修复,因为我在论坛上看到的帖子是 2015 年 10 月发布的,但这是我发现的,我觉得应该提一下。

答案3

Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/doc/pcre/AUTHORS from install of pcre-8.43-1.fc29.i686 conflicts with file from package pcre-8.42-4.fc29.x86_64
  file /usr/share/doc/pcre/NEWS from install of pcre-8.43-1.fc29.i686 conflicts with file from package pcre-8.42-4.fc29.x86_64
  file /usr/share/licenses/pcre/LICENCE from install of pcre-8.43-1.fc29.i686 conflicts with file from package pcre-8.42-4.fc29.x86_64
  file /usr/share/doc/gnutls/AUTHORS from install of gnutls-3.6.7-1.fc29.i686 conflicts with file from package gnutls-3.6.4-1.fc29.x86_64
  file /usr/share/doc/gnutls/NEWS from install of gnutls-3.6.7-1.fc29.i686 conflicts with file from package gnutls-3.6.4-1.fc29.x86_64
  file /usr/share/doc/gnutls/README.md from install of gnutls-3.6.7-1.fc29.i686 conflicts with file from package gnutls-3.6.4-1.fc29.x86_64
  file /usr/share/licenses/gnutls/COPYING from install of gnutls-3.6.7-1.fc29.i686 conflicts with file from package gnutls-3.6.4-1.fc29.x86_64

然后只需升级那些 x86_64 包。

sudo dnf upgrade pcre gnutls

然后,旧的 x86_64 软件包将更新为与 i686 软件包相同的版本。这样就不会发生冲突了。

Last metadata expiration check: 0:05:22 ago on Tue 09 Apr 2019 09:48:11 AM CST.
Dependencies resolved.
================================================================================
 Package           Arch          Version                   Repository      Size
================================================================================
Upgrading:
 gnutls            x86_64        3.6.7-1.fc29              updates        869 k
 pcre              x86_64        8.43-1.fc29               updates        186 k
 pcre-cpp          x86_64        8.43-1.fc29               updates         26 k
 pcre-devel        x86_64        8.43-1.fc29               updates        532 k
 pcre-utf16        x86_64        8.43-1.fc29               updates        172 k
 pcre-utf32        x86_64        8.43-1.fc29               updates        163 k

...

...

Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.

...
...

Upgraded:
  gnutls-3.6.7-1.fc29.x86_64             pcre-8.43-1.fc29.x86_64                
  pcre-cpp-8.43-1.fc29.x86_64            pcre-devel-8.43-1.fc29.x86_64          
  pcre-utf16-8.43-1.fc29.x86_64          pcre-utf32-8.43-1.fc29.x86_64     

...

相关内容