我知道我可能会做以下事情:
并阻止 postgresql 完全升级。但是如果我想手动升级它,我必须取消保留以下软件包,然后再次保留它们:
postgresql-9.3 install postgresql-client-9.3 install postgresql-client-common install postgresql-common install
如果你管理多个服务器,那么这会有点麻烦。这意味着我必须为此目的编写脚本。
理想的解决方案如下:
无人值守升级将更新软件包但不会重新启动 postgresql,或者,无人值守安全升级不会升级软件包,但执行手动 apt-get dist-upgrade 可以升级软件包而无需按住和取消按住。
有没有比原始建议更巧妙的方法可以做到这一点?
原因是,当我升级我们的服务器时,任何服务中断一秒钟都没问题,但是当你中断数据库时,可能会发生不好的事情。
答案1
使用该unattended-upgrades
软件包,您可以将不希望升级的软件包列入黑名单。
不确定依赖树的深度有多深。
// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
"postgresql-.*";
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
`