You are not logged in.
Let's say you've previously installed a software package and then follow it up by installing a meta package that contains the existing software package in question. For example if you've previously installed konsole, but then install kde-meta-kdebase (which contains konsole). If I then remove the meta package kde-meta-kdebase, konsole remains. So clearly pacman doesn't treat konsole as part of the meta package if it has previously been installed (at least for certain purposes). Can anyone suggest a strategy for installing a meta package over existing components such that the existing pieces are then treated as part of the meta package. Essentially what I'm trying to achieve is to install kde-meta, but to have previously-installed packages that are part of kde-meta get kind of sucked in to the monolith.
I would prefer an approach that would either install over existing components, if possible, or failing that, quickly identifies all the packages that I should uninstall before installing the meta package. I have tried this approach, but it doesn't actually seem to work: https://wiki.archlinux.org/index.php/KD … r_packages
Thanks,
D
Last edited by davermont (2015-08-12 01:00:30)
Offline
Has konsole been installed explicitly or as a dependency? Is it listed as part of the meta-package?
Offline
I've installed konsole explicitly and it is indeed listed as part of the meta-package.
Offline
You talk about the meta packages as if they have some kind of special status. Saying things like "kde-meta-kdebase contains konsole" is fine, but you have to remember that it is just an empty package with a bunch of dependencies and pacman treats them just like other dependencies. (see also the comparison with groups in the wiki)
Removing a package will not automatically remove its dependencies, but pacman has an option to do that as well:
-s, --recursive
Remove each target specified including all of their dependencies,
provided that (A) they are not required by other packages; and (B)
they were not explicitly installed by the user. This operation is
recursive and analogous to a backwards --sync operation, and it
helps keep a clean system without orphans. If you want to omit
condition (B), pass this option twice.So, if konsole is not required by anything else, then
# pacman -Rss kde-meta-kdebaseshould remove konsole. That should be enough if your only problem is with removing meta packages.
For completeness: If you never installed any of the "components" explicitly, a single -s is enough to get them all removed. You could also change the install reason for the components after installing the meta package with something like
# pacman -D --asdeps $(expac '%E' kde-meta-kdebase)Last edited by Raynman (2015-08-12 14:01:21)
Offline