我有大量使用 Yum 进行包管理的状态服务器。我对将它们回滚到历史状态的通用自动流程感兴趣。
通常,启用正确的 repo 和使用distro-sync
就足够了,但标有 的软件包Obsoletes:
可能会破坏这一点;Yum 将拒绝自动降级到过时的软件包,用户必须手动说他们想要删除过时的软件包并安装原始软件包。
除了简单地禁止之外,还有其他通用方法可以避免此问题吗Obsoletes:
?我可以尝试维护每个历史版本应安装的软件包列表,但这似乎很繁重,并且还具有自动删除不需要的依赖项的复杂性(我必须实现删除所有我不固定的依赖项的逻辑)。
答案1
yum history rollback
如果“启用正确的存储库”是指使用此存储库更改版本,那么这将变得很棘手。从 EL 8 恢复到 EL 7 或其他版本将是一项巨大的棘手事务,几乎肯定之前没有经过测试。可能无法撤消某些脚本的副作用。特定的旧版本可能不再在镜像中。
还要备份操作系统映像。如果您确实需要恢复到某个时间点,那么“完整”备份将是最可靠的。