我全新安装了 Fedora 22 的 KDE 版本。安装说明非常简单这里安装 steam:
- 下载 rpmfusion 存储库
sudo dnf install <downloaded rpms>
sudo dnf install 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
...