System: Kubuntu 20.04 LTS
Long story short, I did the following:
apt remove --purge kdevelop
find /usr/ -type f -name "*kdev*.so*"
rm -rf /usr/lib/x86_64-linux-gnu/libblockdev.so.2.0.0
apt remove --purge kwrite
find /usr/ -type f -name "*kwrite*.so*"
rm -rf /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kded/kwrited.so
apt autoremove
apt install kwrite
apt install kdevelop
and now some things don't work anymore; some programs take 5 minutes to start and some do not start at all.
These files are not installed and I think that is the problem.
/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kded/kwrited.so
/usr/lib/x86_64-linux-gnu/libblockdev.so.2.0.0
One possible solution is to reinstall the KDE Plasma desktop, but I don't want to lose my settings (colors, icons, animations, features...), I've been working on this for 1 month and I'm still not done.
How can I solve this without losing my desktop settings?
If you want to know why I did this, here is the full version: I was missing a function in Kate and KDevelop, the plus sign for opening folders in the sidebar. Kubuntu uses version 19... of Kate, but there is already version 21... available and in the 21 version the plus sign is present. There is no repo for Kate only the Ubuntu reopsetory, so I had to download the appimage. After I started the Kate app image, I had to wait about 30 seconds when clicking on a folder until it opened. I thought this is because Kate V.19... is installed and uninstalled Kate V.19 with apt remove --purge kate. But nothing has changed. Then I remembered that Kdevelop is also installed and it also works with Kate, so I uninstalled KDevelop too (apt remove --purge kdevelop). But it didn't help either, so I cleaned the system with apt autoremove and searched for Kate files and removed them. after esystem reboot it started. The KDE Plasma Desktop takes 5 minutes to start. Dolphin File Exlorer takes 5 minutes to start and can't access other partitions and drives. GNOME Disk Utility does not start at all, and so on.
The solution to this problem is to restore the manually removed system files
Use the Ubuntu Packages Search to find out that the removed files belong to the packages
libblockdev2
andkwrited
.Just reinstall these packages:
Allow me to reply on your implied question - how to get the newer version of software compared to what you have in repos and what to expect during that journey. In your specific case it was Kate you wanted to update, but in general this applies to just any software.
All the applications from "multi-platform package managers" (nix, flatpak, appImage, snap, homebrew - whatever) are just doomed to start longer, be less snappier, take more RAM and disk space. You cannot trick the laws of physics.
This happens because such apps are not relying on shared libraries that you already have installed to your system. Your existing set of shared libraries were brought by other applications and most probably such libs are already loaded up into the RAM by your other applications you're running in your session.
What the appimage-ish apps do instead is that they install whatever libraries / dependencies they need with them and load them to memory just when you start such application. It comes with a cost of extra RAM and CPU time being used for loading all these dependencies, which are only used by that single appimage app.
If you're running your operating system on a decent hardware with fast CPU, lots of RAM and SSD instead of HDD you might not even notice this performance drop, but if that's not the case you'll see the difference with your bare eyes.
I've seen some youtuber was showing off that the performance drop in synthetic tests for some browser was just 5-10%, but he forgot to mention it was 5-10% on his hardware, which was pretty descent. On your specific hardware figures will be entirely different. So don't be tricked and don't be fooled.
It might be, of course, that the specific appimage version of app you've selected was buggy and was burning CPU cycles or wasting memory just for nothing. A proper solution would be to "profile" the app to see where the time is spent and bugreport all that to developers, so they could fix it. But this requires a lot of sophisticated skills and time.
A more practical solution would be to give it a try for the N-1 or N+1 appimage version of that app or try it out from different repo (like flatpack or nix).
And off course the very last option. Is to download the source code of the most recent release for the app you want (given it's missing in the repo of your Linux distribution) and try to compile it yourself. This is where most users will find out, that the newer version of app they're trying to compile is depending on newer version of some lib they also can't get from repo - so they need to compile it as well. That lib might require another lib, another lib ... and most of them will abandon this attempt to compile it yourself :) but you can still can give it a try. If you succeed, that app will be both having all the most recent features you wanted and will be using as much of your existing share libraries as it can. Archlinux users will be happy to share their experience with "AUR". Or Gentoo users with "emerge".
Sorry, for the long read, but I'm hoping this will clear out some things.