我应该在EC2实例上升级内核软件包吗?


18

在我的EC2服务器上,当我这样做时sudo apt-get update && sudo apt-get upgrade,我看到:

The following packages have been kept back:
  linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual

我应该继续并sudo apt-get install linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual强迫这些软件包进行升级吗?


3
还是做apt-get update && apt-get upgrade && apt-get dist-upgrade。这将升级保留的软件包。
马克·罗素

Answers:


18

简短的答案是,是的,您应该就安全修补程序保持系统最新。

您如何安全地部署安全补丁取决于您对风险的承受能力。这是我过去用来回答此问题的一些选项:

  1. 将升级应用于一组模拟您的生产环境的QA系统,并运行所有回归测试,以确保所做的更改不会破坏任何功能或引起性能问题。感到满意后,就可以对生产系统进行升级。

  2. 等待一天,看看是否有公众对由更新引起的问题的强烈抗议。如果一切看起来都很平静,请升级您的生产系统。

  3. 请在生产系统上尽快应用每个安全补丁。

我已经在Ubuntu中结合使用了这三种方法,并且在过去的几年中逐渐转向了选项3。安全补丁在发布之前经过了严格的测试,并格外小心,不要破坏现有功能。我从来没有在Ubuntu支持的映像中升级时遇到任何问题(尽管几年前当我在EC2上使用Ubuntu的非Ubuntu内核时确实遇到了问题)。

请注意,升级内核还需要重新启动才能应用更改。

以上经验和建议仅适用在Ubuntu版本(例如11.04)中进行升级。升级到新的 Ubuntu版本是一项更大且风险更大的任务,在将其推广到生产系统之前,肯定需要进行测试。

这是RightScale刚刚发布的有关此主题的文章,内容涉及如何在其环境中管理安全升级:

http://blog.rightscale.com/2011/09/28/security-patching-in-the-rightscale-universe/


3
好答案。也许要补充说明,仅在EBS支持的实例上才真正可能升级内核?还是这样,不是吗?
马克·罗素

3
马克:过去确实没有实例库实例的内核升级,但是随着半虚拟化版本的发布,真正的内核可以存储在AMI而不是AKI上。这意味着该实例可以在其本地EBS卷上升级内核,并且即使重新启动后实例仍使用相同的AKI,它也可以保持不变。我刚刚在Ubuntu 11.04(us-east-1 ami-e2af508b)上进行了测试,并且在dist-upgrade和重启后,实例存储实例使用了正确的较新内核。
埃里克·哈蒙德

2
更正了我先前的评论:“该实例可以升级其本地实例存储根卷上的内核并使其粘住”
Eric Hammond
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.