How to completely remove virtual packages?
It turns out that removing a virtual package with apt-get
only remove the package itself, leaving behind the real packages that were installed by it
So how do you remove a virtual package, along with all the real packages that it installs?
Use apt-cache depends
to find a list of packages that the virtual package "contains" and then remove all of those in order to remove the virtual package. For example:
$ sudo apt-cache depends mono-complete
mono-complete
Depends: mono-runtime
Depends: mono-runtime-sgen
Depends: libmono-2.0-1
Depends: libmono-profiler
Depends: mono-utils
Depends: mono-jay
Depends: mono-devel
Depends: mono-mcs
Depends: mono-csharp-shell
Depends: mono-4.0-gac
Depends: mono-4.0-service
Depends: monodoc-base
Depends: monodoc-manual
Depends: libmono-cil-dev
Depends: ca-certificates-mono
Now all you have to do is sudo apt-get remove
all of the packages listed after Depends:
and once done, the virtual package mono-complete
will be removed automagically.
Run sudo apt-cache depends
command first to take a look at all the dependent packages, and then, if the list of packages looks to you that it is ok to be removed, you can use this to remove them all:
$ sudo apt-get remove `apt-cache depends mono-complete | grep Depends | cut -d : -f 2`
Once the job is done, you can check virtual package status with:
$ dpkg -l mono-complete
It should be marked as (n)ot installed.
'Virtual' packages are packages that only contain references to other packages, or packages that only contain customized configuration files.
Therefore you cannot remove virtual packages, you need to remove the real packages from which the 'virtual' ones was referenced or created from.
You cannot remove virtual packages individually . When you remove the real packages completely, virtual packages are automatically removed. Remove configuration file with removing packages you have to use apt-get purge
command.
These answers didn't solve the question. The question is "can I remove them" The answers were yes, but didn't give the commands to remove them. They only refer to computers terminals problems having installed them it cannot remove them? Then this is a bug or this question is unanswered.
I have the same problem-
I followed the prompts to apt-get purge
then purge -f
and got the following:
The following packages have unmet dependencies:
google-chrome-stable:i386 : Depends: libasound2:i386 (>= 1.0.23) but it is not installed
Depends: libatk1.0-0:i386 (>= 1.12.4) but it is not installed
Depends: libcairo2:i386 (>= 1.6.0) but it is not installed
Depends: libcups2:i386 (>= 1.4.0) but it is not installed
Depends: libfontconfig1:i386 (>= 2.8.0) but it is not installed
Depends: libgconf-2-4:i386 (>= 2.31.1) but it is not installed
Depends: libgcrypt11:i386 (>= 1.4.5) but it is not installed
Depends: libgdk-pixbuf2.0-0:i386 (>= 2.22.0) but it is not installed
Depends: libglib2.0-0:i386 (>= 2.18.0) but it is not installed
Depends: libgtk2.0-0:i386 (>= 2.24.0) but it is not installed
Depends: libnspr4:i386 (>= 1.8.0.10) but it is not installed
Depends: libnss3:i386 (>= 3.14.3) but it is not installed
Depends: libpango1.0-0:i386 (>= 1.22.0) but it is not installed
Depends: libudev0:i386 (>= 147) but it is not installed or
libudev1:i386 (>= 198) but it is not installable
Depends: libxcomposite1:i386 (>= 1:0.3-1) but it is not installed
Depends: libxi6:i386 (>= 2:1.2.99.4) but it is not installed
Depends: libxss1:i386 but it is not installed
Depends: libxtst6:i386 but it is not installed
Depends: libcurl3:i386 but it is not installed
Depends: xdg-utils:i386 (>= 1.0.2) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
Is there an answer to removing the virtual packages so that another chrome package can be installed?
This isn't the original question; but, since he had tried and failed to resolve his problem of how to completely remove virtual packages, this is about the same.
I had already installed Aptitude and Aptitude's suggestion was removal of Chromium. Chromium is a Virtual package; and Aptitude removed Chromium and it's virtual remainder so I could reinstall.
So I would suggest installing Aptitude, and using Package Resolver by typing sudo aptitude
into terminal, choosing Package Resolver
>Remove
>"package name".