You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu中postgresql-contrib-10提示‘purely virtual’是什么意思?

理解APT中“purely virtual”包的含义(以postgresql-contrib-10为例)

先复盘下你的操作场景:你在Ubuntu环境里依次执行了这些APT命令:

apt-cache show postgresql
apt-cache show postgresql-10
apt-cache show postgresql-contrib

但当你运行apt-cache show postgresql-contrib-10时,碰到了这个错误提示:

N: Can't select versions from package 'postgresql-contrib-10' as it is purely virtual
N: No packages found

下面给你拆解下这个“purely virtual”的具体意思:

什么是APT里的“purely virtual”包?

在Ubuntu的APT包管理系统中,**虚拟包(virtual package)**本质上是一个“空名头”——它本身没有任何可安装的文件,主要用来做功能标识:比如多个不同的包都能提供同一种功能,就可以让它们都声明“我提供这个虚拟包”,这样其他依赖该功能的包只需要依赖这个虚拟名称就行,不用绑定到具体某个包。

而purely virtual是虚拟包里的特殊情况:

  • 它没有任何真实存在的包(real package)来“认领”它——也就是说,没有任何一个实际可安装的包会声明“我提供postgresql-contrib-10这个虚拟包”。
  • 出现这种情况的原因通常有几种:要么这个名称对应的包已经被重命名、合并到其他包中;要么这个版本的包已经被软件源移除(比如PostgreSQL 10是比较旧的版本,部分Ubuntu源可能不再维护);甚至可能这个名称从一开始就没有对应的实际包。

针对你的PostgreSQL场景的解决思路

如果你想安装PostgreSQL 10的contrib组件,建议先确认你的软件源是否包含对应版本的PostgreSQL仓库,然后用下面的命令查找实际存在的包:

apt-cache search postgresql-contrib | grep 10

找到正确的包名称后,再执行安装命令即可。

内容的提问来源于stack exchange,提问作者germain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:41:22