在生产服务器上运行“ apt-get升级”(就稳定性而言)通常安全吗?


18

我经常登录Ubuntu 12.04.2服务器(使用实时生产数据运行Postgres 9.2.4),并看到类似于以下内容的内容:

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

当然,这大约每隔几天就会发生一次。我对自动更新不感兴趣(睡眠时可以更改的东西越少越好),但是我有兴趣始终保持服务器处于最新状态,所以我的问题是:当看到诸如以下内容时始终认为它运行安全apt-get upgrade,或者是否有可能破坏事物的时间。我知道补丁程序并不总是完美的(因此标题中总是用引号引起来),但是作为一般规则,假定运行此补丁程序是安全的(特别是因为这是数据库服务器,而某些东西只能通过Nginx提供CSS文件) )?

Answers:


9

通常,是的,这是安全的。但是,对于关键软件包(Postgres,Nginx等),我建议将这些软件包固定到特定版本,以免更新。例如,更新Postgres后,它将重新启动数据库服务器,这是您希望能够安排在计划内停机时间附近进行的操作。

就是说,在升级到生产环境之前,最好始终在临时服务器上测试升级,因此在添加到部署过程中需要考虑一下。


1
如果有内核升级,则重新启动。没有发现服务器在没有紧急干预的情况下无法启动的最糟糕的情况。
Sirex 2013年

“我建议将这些软件包固定到特定版本,以免更新”:如何?
vcardillo

1
@vcardillo在Google上搜索“ apt pinning”。
EEAA

5

Aptitude具有更容易记住的命令:aptitude safe-upgradevs aptitude full-upgrade.。安装仍然是一个好主意,apt-listchanges以便为您提供有关更新软件包中的更改以及取消升级选项的信息。


4

是的,没有。大多数应用程序都可以,但是某些应用程序可能不太高兴无法升级。

我已经看到了使用1.6.29至1.6.30的Java的应用程序破坏应用程序的示例。还可以看到mysql在5.0.X 5.0.X + 1之间中断(不记得确切的数字)。

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

阅读nginx所做的更改,尝试了解是否有任何更改可能影响您的特定设置。您使用的应用程序越高级,则越容易破解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.