在生产服务器上运行“apt-get upgrade”(稳定性)通常是安全的吗?

我经常login到我的Ubuntu 12.04.2服务器(使用Postgres 9.2.4运行在线生产数据),并看到类似于:

4 packages can be updated. 4 updates are security updates. 

当然,这几乎每隔几天就会发生一次。 我对自动更新不感兴趣(我睡觉时可以改变的东西越less越好),但是我总是对我的服务器保持最新状态感兴趣,所以我的问题是:当我看到如那么,运行apt-get upgrade总是被认为是安全的,或者是有时可能会破坏事物。 我明白,补丁并不总是完美的(因此在标题中引用“总是”),但作为一般规则,是否安全运行此(特别是这是一个数据库服务器,而只是通过Nginx服务的CSS文件)?

一般来说,这是安全的。 对于重要的软件包,虽然(Postgres,Nginx等),我build议把这些软件包固定到一个特定的版本,以便它们不被更新。 例如,当Postgres更新时,它将重新启动数据库服务器,这是您希望能够围绕计划的停机时间安排的事情。

也就是说,在升级到服务器之前testing升级服务器上的升级总是最好的,所以这是考虑添加到部署过程中的问题。

能力更容易记住命令: aptitude safe-upgradeaptitude full-upgrade 。 安装apt-listchanges是一个不错的主意,这样你就可以获得有关更新软件包中更改的信息以及取消升级的选项。

是和不是。 大多数应用程序都可以,但是有些应用程序可能不太乐意升级。

我已经看到了使用从1.6.29到1.6.30中的java的应用程序破坏应用程序的例子。 也看到了5.0.X 5.0.X + 1之间的MySQL(不记得这里的确切数字)。

系统应用程序应该大部分都可以,但是您应该仔细阅读您的服务器实际提供的应用程序的发行说明。

阅读nginx的变化,试着了解是否有任何可能影响你的特定设置的变化。 使用应用程序越先进,就越容易中断。