一个虚拟包通常指的是应用到一个组的包的通用名称,这个组里面的包提供了相似的基本的功能点。例如,tin和trn程序都是新闻阅读器,当一个程序需要系统中一个新闻阅读器来满足这个依赖。我们可以在tin和trn中申明提供virtual package,叫做news-reader。安装其中任何一个来满足news-reader这个依赖。
类似的,smail和sendmail都提供邮件传送代理的功能,它们因此可以声明为提供虚拟包”mail transport agent”。如果任何一个(smail和sendmail)被安装,由于虚拟包的存在,任何依赖软件包mail-transport-agen的程序将会被满足。
Debian提供了一个机制,如果一个系统里面存在提供相同虚拟包的多个软件包,系统管理员可以设置其中的一个包作为优先的包。相关的命令为update-alternatives.