这是在 Fedora 32 盒子上。在安装需要 gcc 的软件包时看到 dnf 的一个奇怪问题。存储库已更新,最新的 gcc 可用。
$ sudo dnf list gcc --showduplicates
Last metadata expiration check: 0:05:51 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Available Packages
gcc.x86_64 10.0.1-0.11.fc32 Fedora32
gcc.x86_64 10.2.1-6.fc32 Fedora32-UPDATES
然而,当我尝试安装一个引入 gcc 的软件包时,它想要安装旧版本。
$ sudo dnf install stack
Last metadata expiration check: 0:07:23 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Dependencies resolved.
==================================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================================
Installing:
stack x86_64 2.1.3.1-3.fc32 Fedora32-UPDATES 7.5 M
Upgrading:
libxcrypt x86_64 4.4.17-1.fc32 Fedora32-UPDATES 124 k
Installing dependencies:
binutils x86_64 2.34-5.fc32 Fedora32-UPDATES 5.4 M
binutils-gold x86_64 2.34-5.fc32 Fedora32-UPDATES 852 k
cpp x86_64 10.0.1-0.11.fc32 Fedora32 9.4 M
elfutils-debuginfod-client x86_64 0.181-1.fc32 Fedora32-UPDATES 33 k
gcc x86_64 10.0.1-0.11.fc32 Fedora32 30 M
glibc-devel x86_64 2.31-4.fc32 Fedora32-UPDATES 1.0 M
glibc-headers x86_64 2.31-4.fc32 Fedora32-UPDATES 457 k
gmp-c++ x86_64 1:6.1.2-13.fc32 Fedora32 18 k
gmp-devel x86_64 1:6.1.2-13.fc32 Fedora32 171 k
isl x86_64 0.16.1-10.fc32 Fedora32 872 k
kernel-headers x86_64 5.8.11-200.fc32 Fedora32-UPDATES 1.2 M
libmpc x86_64 1.1.0-8.fc32 Fedora32 59 k
libpkgconf x86_64 1.6.3-3.fc32 Fedora32 35 k
libxcrypt-devel x86_64 4.4.17-1.fc32 Fedora32-UPDATES 32 k
pkgconf x86_64 1.6.3-3.fc32 Fedora32 41 k
pkgconf-m4 noarch 1.6.3-3.fc32 Fedora32 14 k
pkgconf-pkg-config x86_64 1.6.3-3.fc32 Fedora32 9.7 k
Downgrading:
libgomp x86_64 10.0.1-0.11.fc32 Fedora32 246 k
Transaction Summary
==================================================================================================================================
Install 18 Packages
Upgrade 1 Package
Downgrade 1 Package
当我明确指定 gcc 时,它会正确安装最新版本。
$ sudo dnf install stack gcc
Last metadata expiration check: 0:08:21 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Dependencies resolved.
==================================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================================
Installing:
gcc x86_64 10.2.1-6.fc32 Fedora32-UPDATES 30 M
stack x86_64 2.1.3.1-3.fc32 Fedora32-UPDATES 7.5 M
Upgrading:
libgcc x86_64 10.2.1-6.fc32 Fedora32-UPDATES 99 k
libgomp x86_64 10.2.1-6.fc32 Fedora32-UPDATES 260 k
libxcrypt x86_64 4.4.17-1.fc32 Fedora32-UPDATES 124 k
Installing dependencies:
binutils x86_64 2.34-5.fc32 Fedora32-UPDATES 5.4 M
binutils-gold x86_64 2.34-5.fc32 Fedora32-UPDATES 852 k
cpp x86_64 10.2.1-6.fc32 Fedora32-UPDATES 9.4 M
elfutils-debuginfod-client x86_64 0.181-1.fc32 Fedora32-UPDATES 33 k
glibc-devel x86_64 2.31-4.fc32 Fedora32-UPDATES 1.0 M
glibc-headers x86_64 2.31-4.fc32 Fedora32-UPDATES 457 k
gmp-c++ x86_64 1:6.1.2-13.fc32 Fedora32 18 k
gmp-devel x86_64 1:6.1.2-13.fc32 Fedora32 171 k
isl x86_64 0.16.1-10.fc32 Fedora32 872 k
kernel-headers x86_64 5.8.11-200.fc32 Fedora32-UPDATES 1.2 M
libmpc x86_64 1.1.0-8.fc32 Fedora32 59 k
libpkgconf x86_64 1.6.3-3.fc32 Fedora32 35 k
libxcrypt-devel x86_64 4.4.17-1.fc32 Fedora32-UPDATES 32 k
pkgconf x86_64 1.6.3-3.fc32 Fedora32 41 k
pkgconf-m4 noarch 1.6.3-3.fc32 Fedora32 14 k
pkgconf-pkg-config x86_64 1.6.3-3.fc32 Fedora32 9.7 k
Transaction Summary
==================================================================================================================================
Install 18 Packages
Upgrade 3 Packages
有人知道这里发生了什么事吗?提前致谢。
答案1
我猜依赖解析器选择了前者,因为他不需要升级两个包(libgcc、libgomp)。如果您运行相同的命令,--best
我想您将得到与稍后运行相同的结果。