Some packages, have a Provides: header. For example, the package postfix on Debian Wheezy has Provides: mail-transport-agent. The package mail-transport-agent which doesn't exist physically is considered as a virtual package. How can I know, on a Debian based system, if a given virtual package is installed (or provided)? Can I list every provided virtual package?Hint: to list every existing virtual package, installed or not, do: aptitude search ~v
How can I know if a virtual package is installed on a Debian system?
debian;package management;apt;dependencies
To list packages providing mail-transport-agent: $ aptitude search '~Pmail-transport-agent'p   citadel-mta                     - complete and feature-rich groupware serverp   courier-mta                     - Courier mail server - ESMTP daemon        p   dma                             - lightweight mail transport agent          p   esmtp-run                       - user configurable relay-only MTA - the regp   exim4-daemon-heavy              - Exim MTA (v4) daemon with extended featurep   exim4-daemon-light              - lightweight Exim MTA (v4) daemon          p   masqmail                        - mail transport agent for intermittently cop   msmtp-mta                       - light SMTP client with support for server p   nullmailer                      - simple relay-only mail transport agent    i   postfix                         - High-performance mail transport agent     p   sendmail-bin                    - powerful, efficient, and scalable Mail Trap   ssmtp                           - extremely simple MTA to get mail off the sp   xmail                           - advanced, fast and reliable ESMTP/POP3 maiMake that aptitude search '~Pmail-transport-agent ~i' to only list installed packages (if any).To list all virtual packages provided by currently installed packages: aptitude search '~Rprovides:~i ~v'See the aptitude manual for an explanation of the search patterns.