Stuck with "Transaction failed" errors during Fedora Linux updates? This beginner-friendly guide helps you resolve common DNF package conflicts, like VLC plugin issues, to get your system updated smoothly.

So, you’re updating your Fedora Linux system, and suddenly, DNF throws a “Transaction failed” error, specifically mentioning file conflicts like those pesky VLC plugins. Don’t sweat it! This article is your friendly guide to understanding and fixing these common update problems, even if you’re new to Linux.

Problem: Your Fedora update failed with a message similar to:

Transaction failed: Rpm transaction failed.
 - file /usr/lib64/vlc/plugins/codec/libfaad_plugin.so from install of vlc-plugins-base-1:3.0.21-24.fc41.x86_64 conflicts with file from package vlc-plugins-freeworld-3.0.21-2.fc41.x86_64

Understanding the Error: This error indicates that two different packages are trying to install the exact same file (/usr/lib64/vlc/plugins/codec/libfaad_plugin.so) on your system.

  • vlc-plugins-base: This is likely the official Fedora package for basic VLC plugins.
  • vlc-plugins-freeworld: This package is almost certainly from the RPM Fusion Free repository, which provides multimedia codecs and other software not included in Fedora due to licensing restrictions.

The conflict arises because both packages contain libfaad_plugin.so, which is a plugin for AAC audio decoding. Since RPM Fusion Free often provides more comprehensive multimedia support, it’s common to have both, leading to this conflict during updates.

Goal: To resolve this, you need to ensure that only one version of the conflicting package (or the package providing the conflicting file) is installed. In most cases, if you’re using RPM Fusion, you’ll want to prioritize the RPM Fusion version as it often provides broader codec support.

Method 1: Directly Remove the Conflicting Fedora Package (Recommended)

This method involves removing the vlc-plugins-base package, which is likely the one causing the conflict with the more feature-rich vlc-plugins-freeworld from RPM Fusion.

  1. Identify the conflicting packages: The error message explicitly states them:

    • vlc-plugins-base-1:3.0.21-24.fc41.x86_64 (likely from Fedora’s official repositories)
    • vlc-plugins-freeworld-3.0.21-2.fc41.x86_64 (from RPM Fusion)
  2. Remove the vlc-plugins-base package: Since vlc-plugins-freeworld is intended to provide the necessary VLC plugins (and often supersedes vlc-plugins-base in functionality), we can remove the vlc-plugins-base package directly. DNF should handle the dependencies by letting vlc-plugins-freeworld take over.

sudo dnf remove vlc-plugins-base
  • What to expect: DNF will list the vlc-plugins-base package for removal. It might also show that vlc (the main VLC player package) might be re-evaluated to depend on vlc-plugins-freeworld if it doesn’t already.

  • Review the output carefully. Ensure it’s only removing vlc-plugins-base and potentially adjusting VLC’s dependencies.

  • If prompted, type y and press Enter to confirm the removal.

  1. Clean DNF metadata (optional but recommended): After removing packages, it’s good practice to clean DNF’s cache.
  • sudo dnf clean all
  1. Retry the system update: Now that the problematic vlc-plugins-base package is removed, try the system update again.

    sudo dnf update --refresh

This should now complete successfully.

Method 2: Reinstalling VLC to Ensure RPM Fusion Dominance

If Method 1 doesn’t fully resolve it, or if you want to ensure VLC is entirely sourced from RPM Fusion, you can reinstall it.

  1. Remove all VLC-related packages:

    This will remove both the Fedora and RPM Fusion versions of VLC and its plugins.

    sudo dnf remove 'vlc*'
    • Review the list carefully! Make sure you’re not removing anything critical that you don’t intend to.
  2. Clean DNF metadata:

    sudo dnf clean all
  3. Install VLC (it should pull from RPM Fusion if enabled): If RPM Fusion Free is correctly enabled, dnf install vlc should pull the RPM Fusion version of vlc and its associated vlc-plugins-freeworld by default, as RPM Fusion packages often have higher priority or specific dependencies.

    sudo dnf install vlc
    • Verify during installation: DNF should indicate that it’s installing vlc and vlc-plugins-freeworld. Look at the “From repo” column in the transaction summary to confirm the packages are coming from rpmfusion-free or rpmfusion-free-updates.
  4. Retry the system update:

    sudo dnf update --refresh

Summary:

Now you’re ready to tackle “Transaction failed” messages like a pro! This guide walked you through solving common dnf update problems in Fedora Linux, giving you the confidence to maintain your system with ease.