为什么APT偏好不能按预期工作

时间:2012-09-12 08:32:31

标签: preferences apt

我想在Ubuntu上安装高于2.7.11的版本的puppet,但是源版本是2.7.11,所以我添加了puppetlabs的源代码:

echo "deb http://apt.puppetlabs.com precise devel" > /etc/apt/sources.list.d/puppetlabs.list

然后我使用apt-get然后发现最新版本已经是3.0.0。但我只想使用2.7.19。所以我编辑了/ etc / apt / preferences:

package:puppet
Pin: release  v=2.7.19*, o= "http://apt.puppetlabs.com/"
Pin-Priority: 1001

然后我使用apt-cache policy puppet,但似乎这不能像我期望的那样工作:

puppet:
Installed: 3.0.0-0.1rc6puppetlabs1
Candidate: 3.0.0-0.1rc6puppetlabs1
Package pin: (not found)
Version table:
*** 3.0.0-0.1rc6puppetlabs1 1001
    500 http://apt.puppetlabs.com/ precise/devel amd64 Packages
    100 /var/lib/dpkg/status
 2.7.19-0.1rc3puppetlabs1 1001
    500 http://apt.puppetlabs.com/ precise/devel amd64 Packages

我已经阅读了man 5 apt_preferences,但仍然无法使其正常工作。

1 个答案:

答案 0 :(得分:5)

阅读文件here

"o="表示发布文件中的原点 如果你想使用http(作为sources.list中的源代码)......你应该写:

Pin: origin "http..." 

检查man apt_preferences以获得更多帮助!