![如何设置临时 apt 存储库以安全地管理升级](https://linux22.com/image/514280/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E4%B8%B4%E6%97%B6%20apt%20%E5%AD%98%E5%82%A8%E5%BA%93%E4%BB%A5%E5%AE%89%E5%85%A8%E5%9C%B0%E7%AE%A1%E7%90%86%E5%8D%87%E7%BA%A7.png)
我希望能够在我们的服务器(Ubuntu 10.04)上运行自动 apt-get upgrade(每小时一次),这样我就不必在所有服务器(大约 15 台)上手动执行此操作。但是,对于生产机器来说,这不是一个好主意...
所以我的想法是:
为所有“已批准”的关键软件包更新设置本地存储库。然后,我会在测试更新的软件包后将其从上游推送到我们的本地存储库,并且所有服务器都可以自动(apt-cron?)从此存储库升级。
所以我的问题是:如何在客户端上配置 apt,以便它们使用本地存储库仅有的对于本地存储库中存在的所有软件包,以及对于所有其他软件包的上游软件包?
这真的有意义吗?还是我遗漏了什么?
无论如何,感谢您的见解!
安德烈亚斯。
答案1
我不是专家,但我认为您可以使用 apt pinning 来做到这一点。
如果你有一个本地仓库,http://my.local.repo/
名为myrepo
那么你的/etc/apt/sources.list
服务器将会像这样
deb http://my.local.repo/ myrepo main contrib non-free
deb http://ftp.debian.org/debian/ stable main contrib non-free
那么将/etc/apt/preferences
看起来像这样
Package: *
Pin: release a=myrepo
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
然后apt
将支持来自你本地仓库的数据包
希望这有意义和/或有效