温馨提示×

Debian yum能否回滚到之前的版本

小樊
32
2025-12-24 16:49:54
栏目: 智能运维

Debian 与 YUM 的适配说明 Debian 系列发行版默认使用 APT/dpkg 作为包管理器,系统层面并不存在 YUM。因此无法在 Debian 上直接使用 yum history undo/redo/rollback 等事务回滚功能。若你的目标是“回滚到之前的版本”,在 Debian 上应使用 APT 的版本选择与锁定机制;若你实际使用的是 RHEL/CentOS/Fedora 等基于 RPM 且自带 YUM 的系统,则可使用 YUM 的历史事务回滚或降级方案。

在 Debian 上的正确做法

  • 查看可用旧版本:使用 apt-cache policy <包名> 确认仓库中是否仍保留目标旧版本。
  • 安装指定旧版本:执行 sudo apt-get install <包名>=<版本号> 完成降级替换。
  • 防止再次升级:执行 sudo apt-mark hold <包名> 锁定该包版本,避免后续被升级。
  • 风险提示:降级可能引发依赖冲突;建议先备份关键数据与配置文件,并在非生产环境验证。必要时可配合 aptitude 或谨慎使用 dpkg 处理复杂依赖。

如果你实际使用的是 YUM 系统

  • 基于事务的回滚:
    1. 查看历史:yum historyyum history list <包名>
    2. 核对详情:yum history info
    3. 执行撤销:yum history undo (也可用 redo 重做该事务;部分版本支持 rollback 撤销该事务之后的所有变更)。
  • 直接降级:
    1. 列出可用版本:yum list --showduplicates <包名>
    2. 执行降级:sudo yum downgrade <包名>-<版本号>
    3. 锁定版本:安装版本锁插件 sudo yum install yum-plugin-versionlock,然后 sudo yum versionlock <包名>;或在 /etc/yum.conf 中添加 exclude=<包名>
  • 注意:当仓库不再保留旧版本或存在依赖冲突时,回滚/降级可能失败,需要结合可用仓库、同时降级关联包或临时调整依赖处理。

快速判断与选择

你的系统或场景 推荐工具 常用回滚/降级命令
Debian/Ubuntu APT/dpkg apt-cache policy <包名>;apt-get install <包名>=<版本号>;apt-mark hold <包名>
RHEL/CentOS/Fedora YUM yum history undo/redo/rollback ;yum downgrade <包名>-<版本号>;yum versionlock <包名>
不确定当前系统 先确认发行版 lsb_release -a 或 cat /etc/os-release;再按上表选择对应方法

0