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