我正在尝试在我的 Ubuntu Server 12.04 安装中安装一些软件,但是每当我尝试使用 apt-get 或 aptitude 安装它时,我通常会收到如下错误消息:
E: unable to locate package postgresql-plperl-9.0
E: couldn't find any package by regex 'postgresql-plperl-9.0'
我的 /etc/apt/sources.list 文件的内容是(全部未注释):
deb http://archive.ubuntu.com/ubuntu precise universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
非常感谢任何有关我为什么会遇到此问题的帮助。
答案1
如果您确实需要该特定版本,那么除了 Ubuntu 存储库之外,您还应该使用 Postgresql APT 存储库。
位于http://apt.postgresql.org/pub/repos/apt/
README 文件包含使用它的说明。
证明,在新的 Ubuntu 14.04 系统上使用旧版本:
# grep DESC /etc/lsb-release ; apt-cache show postgresql-plperl-9.0
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
Package: postgresql-plperl-9.0
Source: postgresql-9.0
Version: 9.0.18-1.pgdg14.04+1
...
答案2
postgresql-plperl-9.0
在普通的 ubuntu 中没有名为 available 的软件包。
此外 Ubuntu 12.04 仅包含postgresql-8.4
和postgresql-9.1
。
如果此包包含在任何其他包源中,那么您必须将其包含进去。
答案3
我的建议是运行:
apt-get update
在尝试使用 apt-get install 安装软件之前,请确保在您的机器上设置了正确的软件包名称、位置和依赖列表,然后再尝试获取所有软件包。
看起来很简单但它解决了我过去遇到的类似错误的问题。
答案4
好吧,我检查了一下,发现 sources.list 文件中的额外行缺少列表末尾的“universe”行。
所以我将它添加到如下内容中:
德布http://mirrors.kernel.org/ubuntu精确的主宇宙和 deb-srchttp://mirrors.kernel.org/ubuntu精确的主宇宙
运行apt-get update
,并且有效。