[KDE] how to identify and install missing (uninstalled) packages

Background/Issue

Recently I had some issues with my packages, and after trying a few different things I decided to remove some packages manually (Had some conflicting packages between System and Terra.
The specific package removal was:

sudo dnf remove ghostty
sudo dnf remove libavcodec
sudo dnf remove LCEVCdec
sudo dnf remove libavdevice
sudo dnf remove falcond-profiles
sudo dnf remove ffmpeg
sudo dnf remove steam steam-device-rules

This seemed to work decently well, except for the fact that my desktop doesn’t show my background anymore (and understandably throws an error) and KDE-connect crashes on launch.

Plasmashell/Background

I ran the plasmashell --replace command to see what the specific error was and got the following output.

kf.plasma.quick: Applet preload policy set to 1
QQmlComponent: Component is not ready
kf.plasma.quick: Error loading the wallpaper QList(file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:11:1: Cannot load library /usr/lib64/qt6/qml/org/kde/plasma/wallpapers/image/libplasma_wallpaper_imageplugin.so: libexiv2.so.28: cannot open shared object file: No such file or directory
    import org.kde.plasma.wallpapers.image as Wallpaper
    ^)
kf.plasma.quick: "file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml"
 "Error loading QML file.\n11: Cannot load library /usr/lib64/qt6/qml/org/kde/plasma/wallpapers/image/libplasma_wallpaper_imageplugin.so: libexiv2.so.28: cannot open shared object file: No such file or directory\n"
QQmlComponent: Component is not ready
kf.plasma.quick: Error loading the wallpaper QList(file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:11:1: Cannot load library /usr/lib64/qt6/qml/org/kde/plasma/wallpapers/image/libplasma_wallpaper_imageplugin.so: libexiv2.so.28: cannot open shared object file: No such file or directory
    import org.kde.plasma.wallpapers.image as Wallpaper
    ^)
kf.plasma.quick: "file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml"
 "Error loading QML file.\n11: Cannot load library /usr/lib64/qt6/qml/org/kde/plasma/wallpapers/image/libplasma_wallpaper_imageplugin.so: libexiv2.so.28: cannot open shared object file: No such file or directory\n"
kf.plasma.quick: File name empty!
QQmlComponent: Component is not ready
kf.plasma.quick: error when loading applet "com.dv.fokus" QList("Error loading Applet: package com.dv.fokus does not exist.")

The first issue which catches my eye is that I seemingly removed some dependency for the file /usr/lib64/qt6/qml/org/kde/plasma/wallpapers/image/libplasma_wallpaper_imageplugin.so (which would explain the missing wallpaper functionality).

KDE-connect

At startup KDE-connect also crashed due to a segfault with the error backtrace:

Application: KDE Connect Daemon (kdeconnectd), signal: Segmentation fault


This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.

warning: Can't open file anon_inode:i915.gem during file-backed mapping note processing

warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing
[New LWP 8771]
[New LWP 8773]
[New LWP 8774]
[New LWP 8775]
[New LWP 8776]
[New LWP 8777]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/kdeconnectd'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fa46928209c in __pthread_kill_implementation () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7fa463b0ad80 (LWP 8771))]
Cannot QML trace cores :(
add symbol table from file "/lib64/libc.so.6"
add symbol table from file "/lib64/libKF6Crash.so.6"
add symbol table from file "/lib64/libkdeconnectcore.so.25"
add symbol table from file "/lib64/libQt6Core.so.6"
add symbol table from file "/lib64/libQt6Widgets.so.6"
add symbol table from file "/lib64/libglib-2.0.so.0"
add symbol table from file "/usr/bin/kdeconnectd"
add symbol table from file "/lib64/libgallium-25.1.7.so"
add symbol table from file "/lib64/libQt6WaylandClient.so.6"
add symbol table from file "/lib64/libQt6DBus.so.6"
[Current thread is 1 (Thread 0x7fa463b0ad80 (LWP 8771))]

Thread 6 (Thread 0x7fa4333ff6c0 (LWP 8777)):
#0  0x00007fa469288642 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007fa46927c95a in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007fa46927cfcc in __futex_abstimed_wait_common () from /lib64/libc.so.6
#3  0x00007fa46927f69e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#4  0x00007fa44554e91d in cnd_wait () from /lib64/libgallium-25.1.7.so
#5  0x00007fa445507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so
#6  0x00007fa44554e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so
#7  0x00007fa469280154 in start_thread () from /lib64/libc.so.6
#8  0x00007fa469302cac in __clone3 () from /lib64/libc.so.6

Thread 5 (Thread 0x7fa444fff6c0 (LWP 8776)):
#0  0x00007fa469288642 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007fa46927c95a in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007fa46927cfcc in __futex_abstimed_wait_common () from /lib64/libc.so.6
#3  0x00007fa46927f69e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#4  0x00007fa44554e91d in cnd_wait () from /lib64/libgallium-25.1.7.so
#5  0x00007fa445507ffc in util_queue_thread_func () from /lib64/libgallium-25.1.7.so
#6  0x00007fa44554e84c in impl_thrd_routine () from /lib64/libgallium-25.1.7.so
#7  0x00007fa469280154 in start_thread () from /lib64/libc.so.6
#8  0x00007fa469302cac in __clone3 () from /lib64/libc.so.6

Thread 4 (Thread 0x7fa44f1ff6c0 (LWP 8775)):
#0  0x00007fa469288642 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007fa46927c95a in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007fa46927c9a4 in __syscall_cancel () from /lib64/libc.so.6
#3  0x00007fa4692f5c0e in poll () from /lib64/libc.so.6
#4  0x00007fa455aff559 in QtWaylandClient::EventThread::run() () from /lib64/libQt6WaylandClient.so.6
#5  0x00007fa469ac5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6
#6  0x00007fa469280154 in start_thread () from /lib64/libc.so.6
#7  0x00007fa469302cac in __clone3 () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa4548f66c0 (LWP 8774)):
#0  0x00007fa469288642 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007fa46927c95a in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007fa46927cfcc in __futex_abstimed_wait_common () from /lib64/libc.so.6
#3  0x00007fa46927f69e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#4  0x00007fa469ad3aac in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /lib64/libQt6Core.so.6
#5  0x00007fa455aff4f0 in QtWaylandClient::EventThread::run() () from /lib64/libQt6WaylandClient.so.6
#6  0x00007fa469ac5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6
#7  0x00007fa469280154 in start_thread () from /lib64/libc.so.6
#8  0x00007fa469302cac in __clone3 () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa455af06c0 (LWP 8773)):
#0  0x00007fa469288642 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007fa46927c95a in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007fa46927c9a4 in __syscall_cancel () from /lib64/libc.so.6
#3  0x00007fa4692f6136 in ppoll () from /lib64/libc.so.6
#4  0x00007fa4686f4890 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0
#5  0x00007fa4686f4953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#6  0x00007fa469c0f9ad in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#7  0x00007fa469907b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#8  0x00007fa469a2808d in QThread::exec() () from /lib64/libQt6Core.so.6
#9  0x00007fa46ab4c821 in QDBusConnectionManager::run() () from /lib64/libQt6DBus.so.6
#10 0x00007fa469ac5b9f in QThreadPrivate::start(void*) () from /lib64/libQt6Core.so.6
#11 0x00007fa469280154 in start_thread () from /lib64/libc.so.6
#12 0x00007fa469302cac in __clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa463b0ad80 (LWP 8771)):
[KCrash Handler]
#4  0x00007fa46b8367f2 in Device::reloadPlugins() () from /lib64/libkdeconnectcore.so.25
#5  0x00007fa46b82fd30 in Daemon::onNewDeviceLink(DeviceLink*) () from /lib64/libkdeconnectcore.so.25
#6  0x00007fa4699657ba in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#7  0x00007fa46b813b37 in LinkProvider::onConnectionReceived(DeviceLink*) () from /lib64/libkdeconnectcore.so.25
#8  0x00007fa46b80f988 in BluetoothLinkProvider::addLink(BluetoothDeviceLink*, QString const&) () from /lib64/libkdeconnectcore.so.25
#9  0x00007fa46b812d9c in BluetoothLinkProvider::serverDataReceived(QBluetoothAddress const&, QSharedPointer<MultiplexChannel>) () from /lib64/libkdeconnectcore.so.25
#10 0x00007fa46b8133b4 in QtPrivate::QCallableObject<BluetoothLinkProvider::serverNewConnection()::{lambda()#1}, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () from /lib64/libkdeconnectcore.so.25
#11 0x00007fa4699657ba in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#12 0x00007fa4699657ba in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#13 0x00007fa46b809dbf in ConnectionMultiplexer::readyRead() () from /lib64/libkdeconnectcore.so.25
#14 0x00007fa4699657ba in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#15 0x00007fa469965c5a in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#16 0x00007fa469974593 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from /lib64/libQt6Core.so.6
#17 0x00007fa469974d6b in QSocketNotifier::event(QEvent*) () from /lib64/libQt6Core.so.6
#18 0x00007fa46ac3d97f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt6Widgets.so.6
#19 0x00007fa4698f9f38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt6Core.so.6
#20 0x00007fa469c10b6e in socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt6Core.so.6
#21 0x00007fa4686eb863 in g_main_context_dispatch_unlocked.lto_priv () from /lib64/libglib-2.0.so.0
#22 0x00007fa4686f47a8 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0
#23 0x00007fa4686f4953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x00007fa469c0f9ad in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#25 0x00007fa469907b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#26 0x00007fa469903419 in QCoreApplication::exec() () from /lib64/libQt6Core.so.6
#27 0x000056527bfa3752 in main ()

Fin

Hopefully some of you might have an idea of how I can fix it.

I was debating trying to see if the issue would resolve itself if I reinstalled some of the kde related dnf groups, but thought it wiser to first ask for some advice before messing with the system any further.

Specs

kernel: Linux 6.15.10-200
OS: Fedora Linux 42 (Plasma spin)
Desktop Environment: KDE Plasma 6.4.4
Window Manager: Wayland

That lib is provided by exiv2-libs.

There should be no major issues if you install the KDE groups:

sudo dnf group install kde-desktop kde-apps kde-media kde-pim

You can also run sudo dnf --refresh distro-sync to sync your packages to the available packages on the repo (e.g., this will downgrade testing packages).

Thanks for the response, sudo dnf --refresh distro-sync doesn’t give any packages to install, which feels somewhat strange but oh well.

One thing which kindof worries me with the group installation is the sheer number of packages that would install (476) which doesn’t seem logical if I’m simply installing stuff I already have.

I can’t post the full output as its to large, but some snaps are here:

$ sudo dnf group install kde-desktop kde-apps kde-media kde-pim
Updating and loading repositories:
Repositories loaded.
Package "sddm-0.21.0-9.fc42.x86_64" is already installed.
Package "firewall-config-2.3.1-1.fc42.noarch" is already installed.
Package "fprintd-pam-1.94.5-1.fc42.x86_64" is already installed.
Package "abrt-desktop-2.17.6-4.fc42.x86_64" is already installed.
Package "glibc-all-langpacks-2.41-10.fc42.x86_64" is already installed.
Package "toolbox-0.2-1.fc42.x86_64" is already installed.
Package "adwaita-gtk2-theme-3.28-22.fc42.x86_64" is already installed.
Package "PackageKit-command-not-found-1.2.8-9.fc42.x86_64" is already installed.
Package "cups-pk-helper-0.2.7-9.fc42.x86_64" is already installed.
Package "kde-settings-pulseaudio-42.0-3.fc42.noarch" is already installed.
Package "kwebkitpart-1.4.0-0.19.20190110.fc42.x86_64" is already installed.
Package "libappindicator-gtk3-12.10.1-8.fc42.x86_64" is already installed.
Package "phonon-qt6-backend-vlc-0.12.0-6.fc42.x86_64" is already installed.
Package "pinentry-qt-1.3.1-3.fc42.x86_64" is already installed.
Package "udisks2-2.10.90-3.fc42.x86_64" is already installed.
Package "xwaylandvideobridge-0.4.0-9.fc42.x86_64" is already installed.

Package                                     Arch    Version                            Repository         Size
Installing group/module packages:
 NetworkManager-config-connectivity-fedora  noarch  1:1.52.1-1.fc42                    updates       310.0   B
 akonadi-server                             x86_64  25.08.0-2.fc42                     updates        13.1 MiB
 akonadi-server-mysql                       x86_64  25.08.0-2.fc42                     updates         3.2 KiB
 akregator                                  x86_64  25.08.0-1.fc42                     updates         4.4 MiB
 ark                                        x86_64  25.08.0-1.fc42                     updates         3.3 MiB
 audiocd-kio                                x86_64  25.08.0-1.fc42                     updates         1.8 MiB
 bluedevil                                  x86_64  6.4.4-1.fc42                       updates         2.3 MiB
 breeze-icon-theme                          noarch  6.17.0-1.fc42                      updates        27.0 MiB
...
 signon-kwallet-extension                   x86_64  25.08.0-1.fc42                     updates        58.8 KiB
 skanpage                                   x86_64  25.08.0-1.fc42                     updates       936.6 KiB
 spectacle                                  x86_64  1:6.4.4-1.fc42                     updates         6.1 MiB
 systemd-oomd-defaults                      noarch  257.7-1.fc42                       updates       187.0   B
 vlc-plugin-gstreamer                       x86_64  1:3.0.21-24.fc42                   updates        44.0 KiB

Installing dependencies:
 CharLS                                     x86_64  2.4.2-8.fc42                       fedora        334.0 KiB
 ImageMagick-c++                            x86_64  1:7.1.1.47-1.fc42                  updates       689.2 KiB
 akonadi-calendar                           x86_64  25.08.0-1.fc42                     updates         3.7 MiB
 akonadi-contacts                           x86_64  25.08.0-1.fc42                     updates         2.6 MiB
 akonadi-import-wizard                      x86_64  25.08.0-1.fc42                     updates         2.0 MiB
 akonadi-mime                               x86_64  25.08.0-1.fc42                     updates         1.2 MiB
...
 suitesparse                                x86_64  7.11.0-1.fc42                      updates        45.4 MiB
 tbb                                        x86_64  2022.0.0-3.fc42                    fedora        450.1 KiB
 thrift                                     x86_64  0.20.0-3.fc41                      fedora          4.8 MiB
 unixODBC                                   x86_64  2.3.12-6.fc42                      fedora          1.0 MiB
 vigra                                      x86_64  1.12.1-1.fc42                      fedora        532.0 KiB
 wodim                                      x86_64  1.1.11-59.fc42                     fedora        930.2 KiB
 xdg-desktop-portal-kde                     x86_64  6.4.4-1.fc42                       updates         1.9 MiB

Installing weak dependencies:
 breeze-gtk-gtk2                            noarch  6.4.4-1.fc42                       updates       120.2 KiB
 breeze-gtk-gtk3                            noarch  6.4.4-1.fc42                       updates       416.1 KiB
 breeze-gtk-gtk4                            noarch  6.4.4-1.fc42                       updates       366.1 KiB
 dolphin-plugins                            x86_64  25.08.0-1.fc42                     updates         2.9 MiB
...
 proj-data-se                               noarch  9.6.2-1.fc42                       updates         2.2 MiB
 proj-data-si                               noarch  9.6.2-1.fc42                       updates       142.8 KiB
 proj-data-sk                               noarch  9.6.2-1.fc42                       updates         1.2 MiB
 proj-data-uk                               noarch  9.6.2-1.fc42                       updates         4.8 MiB
 proj-data-us                               noarch  9.6.2-1.fc42                       updates       318.9 MiB
 proj-data-za                               noarch  9.6.2-1.fc42                       updates       295.7 KiB
 qt6-qtspeech-speechd                       x86_64  6.9.1-1.fc42                       updates        64.1 KiB
 samba-client                               x86_64  2:4.22.4-1.fc42                    updates         2.6 MiB
 sudo-python-plugin                         x86_64  1.9.17-2.p1.fc42                   updates       104.2 KiB

Installing groups:
 KDE PIM
 KDE Multimedia support
 KDE
 KDE Applications

Transaction Summary:
 Installing:       476 packages

Total size of inbound packages is 1 GiB. Need to download 1 GiB.
After this operation, 3 GiB extra will be used (install 3 GiB, remove 0 B).
Is this ok [y/N]: n
Operation aborted by the user.

Do these operations install extra packages which are not there by default?

If “by default” means “after using the installer from a Fedora KDE Plasma live ISO” then yes, some extra packages will be installed which are excluded from the default install, e.g. Digikam.

In fact, Digikam in particular pulls in some heavy dependencies (e.g. proj-data-us which isn’t really needed but is a transitive weak dependency of Digikam).

However, some of the packages it’s trying to install for you seem surprising. For example, Ark, Skanpage and Spectacle should be part of a standard Fedora KDE install. Had you intentionally removed them, and/or had you installed in a customised way, e.g. from the Everything ISO?

It would be interesting to see exactly what got removed in those 7 sudo dnf remove commands.

If you do dnf history list you should be able to see the transaction ID for each of them.

Then dnf history info 123 (replace ‘123’ with the correct transaction ID) will show what was removed in each. Do any of them seem to have removed unexpected packages?

This is completely normal. distro-sync performs operations (upgrade, downgrade) on installed packages. It is simply a way to synchronize your installed packages with the packages available in your enabled repositories.

The fact that this command does not return any packages is a good thing, as it means that the packages you have installed correspond to the versions available in the repositories you are using.

The command I specified installs all the packages defined within those groups (kde-desktop, kde-media, etc.).

In a “default” Fedora 42 KDE installation (at least using netinst), those are the groups that are installed when you select “KDE” as the Desktop Environment. The fact that these groups list a large number of packages means that some of these groups may not be installed on your system, as they are not strictly necessary for KDE to function (for example, the only necessary group is kde-desktop). However, the KDE ISO may differ slightly.

My recommendation is the same as @pg-tips’s: it would be a good idea to review the transactions you made with dnf5 and dnf4 (since, if I remember correctly, PackageKit still uses dnf4).

Even if you removed Terra you could have things from there installed. You would have to specifier seperately to remove them.
dnf list --extras gives you some hints

Okay, I’m learning a lot about debugging dnf transactions, so thats already great.

It seems like this was indeed removed when I ran dnf remove libavcodec. I had assumed that it would not remove any packages which other sources relied on, but I guess that was not an incorrect assumption on my part.

It seems like the libavdevice and libavcodec packages in particular caused a lot of access packages to be removed.

I do find this strange though, seeing that both these packages where (if memory serves me right) provided to me by Terra. But their removal caused packages from other repositories (which where still needed in different parts of my system) to also be removed.

I’m not sure where my mental model of how dnf works is faulty, but its surely faulty somewhere…

Also, w.r.t. packages which are “unexpected” to have been removed, I’m not fully sure, as I don’t quite know what the normal package set looks like.

Some packages which do still seem strange would be:

  • mesa-libFLU-0:9.0... since I thought this package was partly required for nvidia drivers.
  • seemingly exiv2-libs-0:... as this now breaks other parts of my system.
  • All qt6 packages, as I thought those where used for KDE widgets.

Once again, I’m not very knowledgable on what packages should and should not exist in a well working linux system, so in case anyone wants the full output of these transactions its here:

Transaction ID : 64
Begin time     : 2025-08-24 16:21:17
Begin rpmdb    : a6b5ecdb4a657fd7be4f776d1ec9678a233a3ca3a86322a6809aa178c79d8693
End time       : 2025-08-24 16:21:18
End rpmdb      : cd2efa7c02fe1d7589cd06ed08935a6e21870ee455c042732715fadb0bcf9165
User           : 1000 Brendan Mesters <brendan>
Status         : Ok
Releasever     : 42
Description    : dnf remove libavdevice
Comment        :
Packages altered:
  Action Package                                     Reason     Repository
  Remove freeglut-0:3.6.0-4.fc42.x86_64              Clean      @System
  Remove leptonica-0:1.85.0-2.fc42.x86_64            Clean      @System
  Remove libXv-0:1.0.13-2.fc42.x86_64                Clean      @System
  Remove libass-0:0.17.3-3.fc42.x86_64               Clean      @System
  Remove libavc1394-0:0.5.4-25.fc42.x86_64           Clean      @System
  Remove libavdevice-1:7.1.1-3.fc42.x86_64           User       @System
  Remove libavfilter-1:7.1.1-3.fc42.x86_64           Clean      @System
  Remove libbs2b-0:3.1.0-35.fc42.x86_64              Clean      @System
  Remove libcaca-0:0.99-0.76.beta20.fc42.x86_64      Clean      @System
  Remove libcdio-0:2.1.0-14.fc42.x86_64              Clean      @System
  Remove libcdio-paranoia-0:10.2+2.0.2-4.fc42.x86_64 Clean      @System
  Remove libdc1394-0:2.2.7-7.fc42.x86_64             Clean      @System
  Remove libdovi-0:3.3.1-2.fc42.x86_64               Clean      @System
  Remove libgfortran-0:15.1.1-2.fc42.x86_64          Clean      @System
  Remove libid3tag-0:0.16.3-8.fc42.x86_64            Clean      @System
  Remove libiec61883-0:1.2.0-37.fc42.x86_64          Clean      @System
  Remove libmad-0:0.16.4-5.fc42.x86_64               Clean      @System
  Remove libmysofa-0:1.3.3-2.fc42.x86_64             Clean      @System
  Remove libnpp-1:12.4.1.87-1.fc42.x86_64            Clean      @System
  Remove libplacebo-0:7.349.0-5.fc42.x86_64          Clean      @System
  Remove libpostproc-1:7.1.1-3.fc42.x86_64           Clean      @System
  Remove libraw1394-0:2.1.2-23.fc42.x86_64           Clean      @System
  Remove libshaderc-0:2025.2-1.fc42.x86_64           Clean      @System
  Remove libunibreak-0:6.1-3.fc42.x86_64             Clean      @System
  Remove lilv-libs-0:0.24.26-2.fc42.x86_64           Clean      @System
  Remove mesa-libGLU-0:9.0.3-6.fc42.x86_64           Clean      @System
  Remove mlt-0:7.32.0-1.fc42.x86_64                  Dependency @System
  Remove mlt-qt5-0:7.32.0-1.fc42.x86_64              Clean      @System
  Remove mlt-qt6-0:7.32.0-1.fc42.x86_64              Clean      @System
  Remove movit-0:1.7.1-6.fc42.x86_64                 Clean      @System
  Remove movit-data-0:1.7.1-6.fc42.noarch            Clean      @System
  Remove openblas-0:0.3.29-1.fc42.x86_64             Clean      @System
  Remove openblas-serial-0:0.3.29-1.fc42.x86_64      Clean      @System
  Remove opencv-calib3d-0:4.11.0-3.fc42.x86_64       Clean      @System
  Remove opencv-core-0:4.11.0-3.fc42.x86_64          Clean      @System
  Remove opencv-dnn-0:4.11.0-3.fc42.x86_64           Clean      @System
  Remove opencv-features2d-0:4.11.0-3.fc42.x86_64    Clean      @System
  Remove opencv-flann-0:4.11.0-3.fc42.x86_64         Clean      @System
  Remove opencv-imgproc-0:4.11.0-3.fc42.x86_64       Clean      @System
  Remove opencv-tracking-0:4.11.0-3.fc42.x86_64      Clean      @System
  Remove opencv-video-0:4.11.0-3.fc42.x86_64         Clean      @System
  Remove rubberband-libs-0:4.0.0-3.fc42.x86_64       Clean      @System
  Remove sdl12-compat-0:1.2.68-5.fc42.x86_64         Clean      @System
  Remove serd-0:0.32.4-1.fc42.x86_64                 Clean      @System
  Remove slang-0:2.3.3-7.fc42.x86_64                 Clean      @System
  Remove sord-0:0.16.18-1.fc42.x86_64                Clean      @System
  Remove sox-0:14.4.2.0-41.fc42.x86_64               Clean      @System
  Remove sratom-0:0.6.18-1.fc42.x86_64               Clean      @System
  Remove tbb-0:2022.0.0-3.fc42.x86_64                Clean      @System
  Remove tesseract-libs-0:5.5.0-4.fc42.x86_64        Clean      @System
  Remove vid.stab-0:1.1.1-5.fc42.x86_64              Clean      @System
  Remove zimg-0:3.0.5-3.fc41.x86_64                  Clean      @System
  Remove zix-0:0.6.2-1.fc42.x86_64                   Clean      @System

Transaction ID : 65
Begin time     : 2025-08-24 16:24:31
Begin rpmdb    : cd2efa7c02fe1d7589cd06ed08935a6e21870ee455c042732715fadb0bcf9165
End time       : 2025-08-24 16:24:34
End rpmdb      : 1f707155f894c1c757a5dab52778a7cf2c16513bcb3068e1af805bd3e72230c2
User           : 1000 Brendan Mesters <brendan>
Status         : Ok
Releasever     : 42
Description    : dnf remove libavcodec
Comment        :
Packages altered:
  Action Package                                                                    Reason     Repository
  Remove LCEVCdec-0:3.3.7-1.fc42.x86_64                                             Clean      @System
  Remove aribb24-0:1.0.3^20160216git5e9be27-2.fc42.x86_64                           Clean      @System
  Remove assimp-0:5.3.1-5.fc42.x86_64                                               Clean      @System
  Remove cjson-0:1.7.18-2.fc42.x86_64                                               Clean      @System
  Remove codec2-0:1.2.0-6.fc42.x86_64                                               Clean      @System
  Remove davs2-libs-0:1.7-1.20220903gitb41cf11.fc42.x86_64                          Clean      @System
  Remove exempi-0:2.6.4-7.fc42.x86_64                                               Clean      @System
  Remove exiv2-0:0.28.5-1.fc42.x86_64                                               Clean      @System
  Remove exiv2-libs-0:0.28.5-1.fc42.x86_64                                          Clean      @System
  Remove flite-0:2.2-11.fc42.x86_64                                                 Clean      @System
  Remove game-music-emu-0:0.6.3-17.fc42.x86_64                                      Clean      @System
  Remove giflib-0:5.2.2-6.fc42.x86_64                                               Clean      @System
  Remove ilbc-0:3.0.4-13.fc42.x86_64                                                Clean      @System
  Remove inih-cpp-0:58-3.fc42.x86_64                                                Clean      @System
  Remove ktextaddons-common-0:1.5.4-3.fc42.noarch                                   Clean      @System
  Remove ktextaddons-qt6-0:1.5.4-3.fc42.x86_64                                      Dependency @System
  Remove kvazaar-libs-0:2.3.1-2.fc42.x86_64                                         Clean      @System
  Remove libaribcaption-0:1.1.1-2.fc42.x86_64                                       Clean      @System
  Remove libavcodec-1:7.1.1-3.fc42.x86_64                                           User       @System
  Remove libavformat-1:7.1.1-3.fc42.x86_64                                          Clean      @System
  Remove libavutil-1:7.1.1-3.fc42.x86_64                                            Clean      @System
  Remove libbluray-0:1.3.4-9.fc42.x86_64                                            Clean      @System
  Remove libchromaprint-0:1.5.1-24.fc42.x86_64                                      Clean      @System
  Remove libcue-0:2.3.0-11.fc42.x86_64                                              Clean      @System
  Remove libdvdnav-0:6.1.1-10.fc42.x86_64                                           Clean      @System
  Remove libdvdread-0:6.1.3-9.fc42.x86_64                                           Clean      @System
  Remove libgexiv2-0:0.14.5-1.fc42.x86_64                                           Clean      @System
  Remove libgsf-0:1.14.53-3.fc42.x86_64                                             Clean      @System
  Remove libgxps-0:0.3.2-10.fc42.x86_64                                             Clean      @System
  Remove libiptcdata-0:1.0.5-21.fc42.x86_64                                         Clean      @System
  Remove libmodplug-1:0.8.9.0-27.fc42.x86_64                                        Clean      @System
  Remove libopenmpt-0:0.7.13-3.fc42.x86_64                                          Clean      @System
  Remove libosinfo-0:1.12.0-2.fc42.x86_64                                           Clean      @System
  Remove librabbitmq-0:0.15.0-2.fc42.x86_64                                         Clean      @System
  Remove librist-0:0.2.7-9.fc42.x86_64                                              Clean      @System
  Remove librtmp-0:2.6^20240301git6f6bb13-1.fc42.x86_64                             Clean      @System
  Remove libsodium-0:1.0.20-4.fc42.x86_64                                           Clean      @System
  Remove libswresample-1:7.1.1-3.fc42.x86_64                                        Clean      @System
  Remove libswscale-1:7.1.1-3.fc42.x86_64                                           Clean      @System
  Remove libudfread-0:1.1.2-11.fc42.x86_64                                          Clean      @System
  Remove libvdpau-0:1.5-9.fc42.x86_64                                               Clean      @System
  Remove libvdpau-0:1.5-9.fc42.i686                                                 Clean      @System
  Remove libxavs-0:0.1.55-1.fc42.x86_64                                             Clean      @System
  Remove localsearch-0:3.9.0-1.fc42.x86_64                                          Dependency @System
  Remove lpcnetfreedv-0:0.5-8.fc42.x86_64                                           Clean      @System
  Remove opencore-amr-0:0.1.6-8.fc42.x86_64                                         Clean      @System
  Remove openpgm-0:5.3.128-4.fc42.x86_64                                            Clean      @System
  Remove osinfo-db-0:20250124-1.fc42.noarch                                         Clean      @System
  Remove osinfo-db-tools-0:1.12.0-2.fc42.x86_64                                     Clean      @System
  Remove poly2tri-0:0.0^20130501hg26242d0aa7b8-4.fc42.x86_64                        Clean      @System
  Remove pugixml-0:1.14-2.fc42.x86_64                                               Clean      @System
  Remove qt6-qtmultimedia-0:6.9.1-1.fc42.x86_64                                     Clean      @System
  Remove qt6-qtpdf-0:6.9.1-1.fc42.x86_64                                            Clean      @System
  Remove qt6-qtquick3d-0:6.9.1-1.fc42.x86_64                                        Clean      @System
  Remove qt6-qtquicktimeline-0:6.9.1-1.fc42.x86_64                                  Clean      @System
  Remove qt6-qtspeech-0:6.9.1-1.fc42.x86_64                                         Clean      @System
  Remove qt6-qtspeech-flite-0:6.9.1-1.fc42.x86_64                                   Clean      @System
  Remove qt6-qtspeech-speechd-0:6.9.1-1.fc42.x86_64                                 Clean      @System
  Remove qt6-qtwebchannel-0:6.9.1-1.fc42.x86_64                                     Clean      @System
  Remove qt6-qtwebengine-0:6.9.1-1.fc42.x86_64                                      Clean      @System
  Remove qt6-qtwebview-0:6.9.1-1.fc42.x86_64                                        Dependency @System
  Remove signon-ui-0:0.15^20240205.eef943f-4.fc42.x86_64                            Dependency @System
  Remove srt-libs-0:1.5.4-2.fc42.x86_64                                             Clean      @System
  Remove totem-pl-parser-0:3.26.6-12.fc42.x86_64                                    Clean      @System
  Remove uavs3d-libs-0:1.2.0-4.20230223git1fd0491.fc42.x86_64                       Clean      @System
  Remove uchardet-0:0.0.8-7.fc42.x86_64                                             Clean      @System
  Remove vo-amrwbenc-0:0.1.3-22.fc42.x86_64                                         Clean      @System
  Remove vvenc-libs-0:1.13.1-3.fc42.x86_64                                          Clean      @System
  Remove x264-bootstrap-libs-0:0.0.164-15.20231001git31e19f92_bootstrap.fc42.x86_64 Clean      @System
  Remove xavs2-libs-0:1.4-1.20190422giteae1e8b.fc42.x86_64                          Clean      @System
  Remove xvidcore-0:1.3.7-13.fc42.x86_64                                            Clean      @System
  Remove zeromq-0:4.3.5-21.fc42.x86_64                                              Clean      @System
  Remove zvbi-0:0.2.43-2.fc42.x86_64                                                Clean      @System
1 Like

I tried to simply remove all

I personally tried to find all packages installed via terra with dnf list --installed | grep terra and remove the packages mentioned there, would that not also suffice?

edit: I also tried dnf list --extras and there was no output, so I think all extra packages are removed currently.

Agreed, I have all those on my (reasonably vanilla) F42 KDE system. I don’t think those would have been legitimately removeable.

I also am not too sure how to debug this further.

Have you changed anything in your /etc/dnf/dnf.conf ? (Not saying this is the problem, just that it’s useful information for anyone investigating.)

I tried removing cache (dnf clean dbcache dnf makecache) and rpm --rebuilddb. This made fedora unaware of my release version, so I did add “releasever=42” into my /etc/dnf/dnf.conf under [main], but thats all (unless the other commands effected the file).

It should not be possible by default to remove a package (pkgA) that is required by another package (pkgB) without also removing that package (pkgB), since pkgA is a required dependency.

For example, if I try to remove exiv2-libs:

admin@fedora ~> sudo dnf remove exiv2-libs
Package                                     Arch        Version                                      Repository                     Size
Removing:
 exiv2-libs                                 x86_64      0.28.5-1.fc42                                anaconda                    2.8 MiB
Removing dependent packages:
 ark                                        x86_64      25.08.0-1.fc42                               <unknown>                   3.3 MiB
 ark-libs                                   x86_64      25.08.0-1.fc42                               <unknown>                   1.8 MiB
 dolphin                                    x86_64      25.08.0-1.fc42                               <unknown>                  13.0 MiB
 elisa-player                               x86_64      25.08.0-1.fc42                               <unknown>                   5.7 MiB
 gwenview                                   x86_64      1:25.08.0-1.fc42                             <unknown>                   9.5 MiB
 kdegraphics-thumbnailers                   x86_64      25.08.0-1.fc42                               <unknown>                 200.4 KiB
 kf6-baloo-file                             x86_64      6.17.0-1.fc42                                updates                   521.2 KiB
 kfind                                      x86_64      25.08.0-1.fc42                               <unknown>                   1.4 MiB
 kio-extras                                 x86_64      25.08.0-1.fc42                               <unknown>                   7.6 MiB
 kio-extras-kf5                             x86_64      24.02.2-6.fc42                               anaconda                    4.8 MiB
 localsearch                                x86_64      3.9.0-1.fc42                                 anaconda                    3.8 MiB
 okular                                     x86_64      25.08.0-1.fc42                               <unknown>                   7.0 MiB
 plasma-desktop                             x86_64      6.4.4-1.fc42                                 updates                    26.8 MiB
 plasma-print-manager                       x86_64      6.4.4-1.fc42                                 updates                     1.9 MiB
 plasma-workspace                           x86_64      6.4.4-1.fc42                                 updates                    42.8 MiB
 plasma-workspace-x11                       x86_64      6.4.4-1.fc42                                 updates                   213.5 KiB
 sddm-breeze                                noarch      6.4.4-1.fc42                                 updates                     1.1 MiB
Removing unused dependencies:
[...]

The same happens if I try to remove libavcodec-free (the free version of the package, available on Fedora repos).

I’m not sure how you managed to delete these packages without making dnf to remove plasma-workspace.

In your current situation, I would try to rollback (dnf history rollback) these transactions to try to revert your system to a “working” state.

I would like to avoid it if possible.

I had some strange duplicate package issues and version controll issues (between system and repositories), that was in large part also why I did these removals.

Prefferably I’d like to see if my system has any packages with missing dependencies, and install said missing dependencies, but idk if thats possible. (potentially by simply installing the base-fedora-kde packages)

If you want to check for missing dependencies, you can run dnf check --dependencies.

If you want to install the “base KDE” packages again, you can install the default KDE-related groups: sudo dnf group install kde-desktop kde-apps kde-media kde-pim (you need kde-desktop at least).