如何防止包从其他回购更新?

我创build了一个仓库,在那里我将把自己创build的软件包和包,我不想从其他来源。 例如

# apt-cache policy facter facter: Installed: 1.7.2-1puppetlabs1 Candidate: 1.7.2-1puppetlabs1 Version table: *** 1.7.2-1puppetlabs1 0 500 ftp://example.com/ ./ Packages 100 /var/lib/dpkg/status 1.6.5-1ubuntu1 0 500 http://dk.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages 

问题是,Ubuntu也有这个特定的软件包的版本,虽然我的版本比Ubuntu的更高,我不怀疑Ubuntu的安装。 但是当Ubuntu比我更新时会发生什么? 如何防止Ubuntu的安装,然后从我的回购安装软件包?

你可以试试这个方法:

要从存储库“your_repo”中禁用自动更新(您不希望软件包自动更新),请添加一个文件/etc/apt/preferences.d/your_repo,内容如下:

 Package: facter* Pin: release n=repo Pin-Priority: 50 

这将使得来自这个仓库的facter *包的优先级比已经安装的包(有100个)低。

这被称为固定。 Ubuntu有一些高级的文档可以在这里推荐阅读手册页,以获得关于configuration文件的特定语法的更多信息。