如何解决 Fedora 37 上的包冲突?

如何解决 Fedora 37 上的包冲突?

我正在运行 Fedora 37,在过去的几周里,我注意到当我输入sudo dnf upgrade说它们之间存在冲突时,它会跳过一些软件包。包裹ffmpeg-libs来自rpmfusion-freeffmpeg-libs来自rpmfusion-free-updates。这是最近的输出sudo dnf update

opr repo for rendezvous owned by peterwu       1.2 kB/s | 1.8 kB     00:01    
Copr repo for PyCharm owned by phracek          1.0 kB/s | 2.1 kB     00:02    
Fedora 37 - x86_64                              5.2 kB/s | 5.6 kB     00:01    
Fedora 37 openh264 (From Cisco) - x86_64        1.1 kB/s | 989  B     00:00    
Fedora Modular 37 - x86_64                      5.6 kB/s | 5.5 kB     00:00    
Fedora 37 - x86_64 - Updates                    2.2 kB/s | 6.3 kB     00:02    
Fedora 37 - x86_64 - Updates                    309 kB/s | 3.1 MB     00:10    
Fedora Modular 37 - x86_64 - Updates            4.7 kB/s | 5.4 kB     00:01    
google-chrome                                   3.6 kB/s | 1.3 kB     00:00    
google-chrome                                   5.5 kB/s | 3.6 kB     00:00    
MEGAsync                                        2.1 kB/s | 1.5 kB     00:00    
Node.js Packages for Fedora Linux 37 - x86_64   1.0 kB/s | 2.5 kB     00:02    
RPM Fusion for Fedora 37 - Free                 7.1 kB/s |  11 kB     00:01    
RPM Fusion for Fedora 37 - Free - Updates        15 kB/s | 9.8 kB     00:00    
RPM Fusion for Fedora 37 - Nonfree               15 kB/s |  16 kB     00:01    
RPM Fusion for Fedora 37 - Nonfree - NVIDIA Dri 1.7 kB/s |  14 kB     00:08    
RPM Fusion for Fedora 37 - Nonfree - Steam       12 kB/s |  14 kB     00:01    
RPM Fusion for Fedora 37 - Nonfree - Updates     12 kB/s |  14 kB     00:01    
Dependencies resolved.

 Problem: package megasync-4.9.1.0-1.fc37.x86_64 requires ffmpeg-libs(x86-64), but none of the providers can be installed
  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libavcodec-free provided by libavcodec-free-5.1.3-1.fc37.x86_64
  - package ffmpeg-libs-5.1.3-3.fc37.x86_64 conflicts with libavcodec-free provided by libavcodec-free-5.1.3-1.fc37.x86_64
  - cannot install the best update candidate for package megasync-4.9.1-3.1.x86_64
  - cannot install the best update candidate for package libavcodec-free-5.1.3-1.fc37.x86_64
================================================================================
 Package               Arch   Version           Repository                 Size
================================================================================
Upgrading:
 alsa-sof-firmware     noarch 2.2.5-1.fc37      updates                   3.4 M
 ansible-srpm-macros   noarch 1-10.fc37         updates                    20 k
 ethtool               x86_64 2:6.3-1.fc37      updates                   238 k
 firefox               x86_64 113.0.1-1.fc37    updates                    67 M
 firefox-langpacks     x86_64 113.0.1-1.fc37    updates                    43 M
 gnome-autoar          x86_64 0.4.4-1.fc37      updates                    59 k
 grilo                 x86_64 0.3.16-1.fc37     updates                   245 k
 perl-AutoLoader       noarch 5.74-494.fc37     updates                    22 k
 perl-B                x86_64 1.83-494.fc37     updates                   182 k
 perl-Class-Struct     noarch 0.66-494.fc37     updates                    23 k
 perl-DynaLoader       x86_64 1.52-494.fc37     updates                    27 k
 perl-Errno            x86_64 1.36-494.fc37     updates                    16 k
 perl-Fcntl            x86_64 1.15-494.fc37     updates                    21 k
 perl-File-Basename    noarch 2.85-494.fc37     updates                    18 k
 perl-File-Find        noarch 1.40-494.fc37     updates                    26 k
 perl-File-stat        noarch 1.12-494.fc37     updates                    18 k
 perl-FileHandle       noarch 2.03-494.fc37     updates                    16 k
 perl-Getopt-Std       noarch 1.13-494.fc37     updates                    17 k
 perl-IO               x86_64 1.50-494.fc37     updates                    93 k
 perl-IPC-Open3        noarch 1.22-494.fc37     updates                    24 k
 perl-NDBM_File        x86_64 1.15-494.fc37     updates                    23 k
 perl-POSIX            x86_64 2.03-494.fc37     updates                    98 k
 perl-SelectSaver      noarch 1.02-494.fc37     updates                    13 k
 perl-Symbol           noarch 1.09-494.fc37     updates                    15 k
 perl-base             noarch 2.27-494.fc37     updates                    17 k
 perl-if               noarch 0.61.000-494.fc37 updates                    15 k
 perl-interpreter      x86_64 4:5.36.1-494.fc37 updates                    73 k
 perl-lib              x86_64 0.65-494.fc37     updates                    16 k
 perl-libs             x86_64 4:5.36.1-494.fc37 updates                   2.2 M
 perl-mro              x86_64 1.26-494.fc37     updates                    30 k
 perl-overload         noarch 1.35-494.fc37     updates                    47 k
 perl-overloading      noarch 0.02-494.fc37     updates                    14 k
 perl-subs             noarch 1.04-494.fc37     updates                    13 k
 perl-vars             noarch 1.05-494.fc37     updates                    14 k
 pyproject-srpm-macros noarch 1.8.0-1.fc37      updates                    15 k
Installing dependencies:
 perl-locale           noarch 1.10-494.fc37     updates                    15 k
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 ffmpeg-libs           x86_64 5.1.2-3.fc37      rpmfusion-free            7.9 M
 ffmpeg-libs           x86_64 5.1.3-3.fc37      rpmfusion-free-updates    7.9 M
Skipping packages with broken dependencies:
 megasync              x86_64 4.9.1.0-1.fc37    rpmfusion-nonfree-updates 9.6 M

Transaction Summary
================================================================================
Install   1 Package
Upgrade  35 Packages
Skip      3 Packages

Total download size: 117 M
Is this ok [y/N]:

另外,我跑了,sudo dnf upgrade --refresh --best --allowerasing但这也不起作用:

opr repo for rendezvous owned by peterwu       1.4 kB/s | 1.8 kB     00:01    
Copr repo for PyCharm owned by phracek          1.1 kB/s | 2.1 kB     00:01    
Fedora 37 - x86_64                              5.3 kB/s | 5.6 kB     00:01    
Fedora 37 openh264 (From Cisco) - x86_64        918  B/s | 989  B     00:01    
Fedora Modular 37 - x86_64                      5.9 kB/s | 5.5 kB     00:00    
Fedora 37 - x86_64 - Updates                    6.2 kB/s | 6.3 kB     00:01    
Fedora Modular 37 - x86_64 - Updates            6.0 kB/s | 5.4 kB     00:00    
google-chrome                                   3.1 kB/s | 1.3 kB     00:00    
MEGAsync                                        1.9 kB/s | 1.5 kB     00:00    
Node.js Packages for Fedora Linux 37 - x86_64   1.3 kB/s | 2.5 kB     00:01    
RPM Fusion for Fedora 37 - Free                  11 kB/s |  11 kB     00:01    
RPM Fusion for Fedora 37 - Free - Updates       8.4 kB/s | 9.8 kB     00:01    
RPM Fusion for Fedora 37 - Nonfree               23 kB/s |  16 kB     00:00    
RPM Fusion for Fedora 37 - Nonfree - NVIDIA Dri  13 kB/s |  14 kB     00:01    
RPM Fusion for Fedora 37 - Nonfree - Steam       12 kB/s |  14 kB     00:01    
RPM Fusion for Fedora 37 - Nonfree - Updates     21 kB/s |  14 kB     00:00    
Error: 
 Problem: cannot install the best update candidate for package libavcodec-free-5.1.3-1.fc37.x86_64
  - problem with installed package libavcodec-free-5.1.3-1.fc37.x86_64
  - package megasync-4.9.1.0-1.fc37.x86_64 requires ffmpeg-libs(x86-64), but none of the providers can be installed
  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libavcodec-free provided by libavcodec-free-5.1.3-1.fc37.x86_64
  - package ffmpeg-libs-5.1.3-3.fc37.x86_64 conflicts with libavcodec-free provided by libavcodec-free-5.1.3-1.fc37.x86_64
  - problem with installed package megasync-4.9.1-3.1.x86_64
  - cannot install the best update candidate for package megasync-4.9.1-3.1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

我该如何解决这个问题?我想升级到 Fedora 38,但我猜想由于冲突以及由此产生的依赖关系损坏会出现问题。

PS:我尝试删除libavcodec-free,但我不能,因为ffmpeg-freegnome-shell-extension-gsconnect而其他人依赖于它。另外,如果我没猜错的话,libavcodec它是 VLC 和其他人使用的重要视频和音频编码工具。

答案1

RPM Fusion — CommonBugs 无 FFmpeg 的补充:

随着 Fedora 中引入 FFmpeg,我们有了一个初步的解决方案来解决与这个蹩脚版本的冲突。但这并不理想,因为大多数使用图形界面的用户将无法使用全功能版本。与 Fedora 37 一样,我们正在构建一个补充包 (libavcodec-freeworld),它可以与 ffmpeg-free 库一起安装。

注意:仍然建议从 RPM Fusion 切换到全功能 ffmpeg 版本,以避免奇怪的交互问题:

sudo dnf swap ffmpeg-free ffmpeg --allowerasing

相关内容