I have installed Debian Testing on my laptop. Usually I upgrade my system with the following commands: First sudo apt-get update
and second sudo apt-get dist-upgrade
. Usually this works perfectly, but yesterday, when I wanted to invoke the dist-upgrade command, apt stated that this command would remove the following packages
kde-config-touchpad kde-plasma-desktop kde-standard kio-extras libgl2ps0
plasma-desktop
The problem is that removing the kde-plasma-desktop would uninstall my whole desktop environment. Now the questions arises, why apt wants to do this. I’ve already heard that one has to be careful with apt-get dist-upgrade
but I’m still surprised. What is the reason that apt marks kde-plasma-desktop as a package to remove and what can I do to tell apt that kde-plasma-desktop is important? Is it an error in the database of apt or is it related with other packages which shall be updated?
Advertisement
Answer
Example:
Package A in version 1 depends on package libB in version 1. Now both packages receive an upgrade and it can happen that the package libB upgrade arrives in Testing earlier than the package A upgrade. So the dependency for package A v1 (libB v1) is marked for removal leaving package A with a missing dependency. Hence it will also be marked for removal.
That’s business as usual in Sid and also happens once in a while in Testing. Usually the version 2 upgrade of package A will also arrive within a few days and all is good again but still: that’s Testing. Being careful is mandatory.
With bigger dependency trees things can become more complicated. If there is a package C that also depends on libB v1 but does not have a new version based on B v2, then either libB v1 and v2 can be made co-installable or C has to be removed from the package archive.
In KDE lots of things are moved around currently. KF5 is way more modular than KDE4 and modules are added/removed/moved around as needed.