我有两台 Linux 主机(AWS EC2 - 基于“centos rhel fedora”的 Amazon Linux),一台用于生产,一台用于验收。我想做一个每月的更新周期,在这个周期中我在验收主机上执行更新,进行一周(或两周左右)的业务测试,然后在生产环境中执行完全相同的更新。我目前使用 yum 执行更新,所以我尝试使用 yum 列表更新,我可以将其输出到一个文件,但我找不到让 yum 只安装该文件中列出的软件包的方法。
我可以使用一些建议和/或解决方案来确定最佳方法。请知道这是一家非常小的企业,因此设置自托管存储库和使用 ansible 不是一种选择,但我愿意接受(不太昂贵的)基于亚马逊的解决方案,尽管我更喜欢使用简单的脚本/命令.
从技术上讲,您应该使用第三台主机。理论上,您希望对“验收”主机采取与生产中相同的管理措施。通过这种方式,您已经证明您希望在生产中采取的管理措施肯定会奏效。这意味着为该管理操作构建参考文件应该发生在第三个(我们称之为)“开发”主机上。
Amazon Linux 与 Redhat 有着共同的祖先。因此,您会经常发现 Redhat 文档很有用。
Redhat Enterprise 文档中有一部分涵盖了您的具体情况。(参见 8.3.3恢复和重复事务)。
实际上,这意味着您将在一台主机上运行命令,例如:
然后将新文件移动
upgrade_transaction_log
到下一个主机并运行:您将负责确保两台主机一开始是相同的。