我有一个 CMS 网站,我正在接管使用 CentOS 7.9 设置的主机。它在 VM 上运行,我希望以最少的手动干预使该 VM 保持最新。
在我每周触发这些之前,我已经使用 Amazon Linux 2 和 Debian Stable 做了一些类似的工作。yum update --security
在基于 Red Hat 的 AL2 上对我来说似乎没有意外的副作用。
但是我是 CentOS 的新手,找不到太多关于它有多稳定的文档。假设使用yum-cron
仅触发安全更新 ( yum --security update-minimal
) 而无需重新启动。这是好习惯吗?它会强制进行一些意外升级或其他副作用吗?
事实上,我不会因为任何需要稳定性或任何其他原因而接触 Amazon Linux 2。Amazon Linux(1 和 2)主要是为满足 Amazon 的需求和运行 Amazon 的服务而构建的,它们只是为了方便而公开共享它。它会按照亚马逊的时间表进行升级,而不是您的。AL2 是从 CentOS 7分叉出来的,然后亚马逊从那个发行版中分离出来,通常很多为 CentOS 7 构建的软件包(如 EPEL)不再工作。所以兼容性也消失了。
顺便说一句:
当您为面向公众(或至少面向 Intranet)的网站切换发行版时,是让您的发行版升级到可用的最新主要版本的第二个最佳时机。(第一个是该发行版发布时。)目前这意味着 RHEL 8.4 或 CentOS 8.4。但由于 CentOS 似乎将在年底消失,如果您没有资格获得免费 RHEL 订阅(最多 16 台物理机或虚拟机,并且允许生产),最好切换到 Rocky Linux;这似乎是大多数人选择的而不是 Alma Linux。
最后,关于自动更新,我运行了几十个面向公众的网站,它们的服务器都在自动更新。(不过,它们在 RHEL 8 上的激活方式略有不同,因为 yum-cron 已经消失,使用该
dnf-automatic
软件包。)我已经这样做了几年,我不记得上次出现与更新相关的问题是什么时候了。至于 CentOS 上的安全更新:他们从未将其更新标记为安全更新,因此这些
yum --security ...
命令从未真正起作用。Rocky Linux 已经开始这样做了,所以 <distro> 8 中的等效命令(例如 `dnf --security ...)在 RHEL 或 Rocky Linux 上可以正常工作。(虽然我不只是安装安全更新,而是所有可用的东西,而且它每天都运行。)也就是说,我确实对所有服务器进行了监控,因此如果确实发生了故障,我会收到通知并可以唤醒并修复它。对于面向公众的网站,我已经分析了这些网站及其用途,我相信外部入侵的风险,尤其是在第 0 天或更早的时候,远远高于由于更新中的错误而导致网站崩溃的风险。这就是为什么我还要配置和执行 SELinux。
因此,如果您有资格获得免费订阅,我对您的建议是使用RHEL 8.4 ,如果没有,则使用Rocky Linux 8.4。(并选择正确的区域;例如,如果您的所有访问者都在欧洲,您不想从 us-east-* 提供服务。)
请记住在升级之前拍摄 AWS 快照。万一出现问题,您可以快速修复它或回滚到 AWS 快照。