Linux Yum备份与恢复方法
小樊
39
2025-12-25 21:39:39
Linux Yum备份与恢复方法
一 备份与恢复总览
- 备份内容建议包含:已安装软件包清单、可离线安装的RPM包、YUM仓库配置。
- 恢复时优先使用包管理器(yum/dnf)进行重装,以自动处理依赖;离线RPM用于源不可达或批量快速恢复。
- 恢复前确保网络可达与软件源一致,避免依赖解析失败。
二 方案一 离线可重装的最简流程
- 备份
- 建立备份目录:sudo mkdir -p /backup/yum
- 导出已安装包清单:sudo yum list installed > /backup/yum/installed_packages.txt
- 仅下载不安装到本地缓存:sudo yum reinstall --downloadonly --downloaddir=/backup/yum/packages $(cat /backup/yum/installed_packages.txt | awk ‘{print $1}’)
- 恢复
- 在线重装清单中的包:sudo yum reinstall $(cat /backup/yum/installed_packages.txt | awk ‘{print $1}’)
- 离线安装本地RPM:sudo yum localinstall /backup/yum/packages/*.rpm
- 说明:yum会尽量处理依赖;若某些包在备份时不可用,恢复可能失败。以上流程适用于迁移或重装系统后快速恢复软件环境。
三 方案二 仅备份清单与YUM配置用于重建
- 备份
- 包清单:sudo yum list --installed > package_list.txt
- 仓库配置:sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup_$(date +%Y%m%d)
- 恢复
- 恢复仓库配置:sudo cp -r /etc/yum.repos.d.backup_YYYYMMDD /etc/yum.repos.d
- 清理并重建缓存:sudo yum clean all && yum makecache
- 按清单重装:sudo yum install -y $(cat package_list.txt | awk ‘{print $1}’)
- 说明:该方案体积小、通用性强,适合跨版本或跨镜像重建;但依赖解析以当前仓库为准,个别包可能版本不同或不可用。
四 方案三 使用YUM历史快速回滚
- 查看历史:sudo yum history
- 查看某包历史:sudo yum history list
- 回滚到指定事务(如ID=123):sudo yum history undo 123
- 无法回滚时降级:sudo yum downgrade
- 查看事务详情:sudo yum history info
- 说明:适合“更新/安装后出问题”的快速撤销,依赖满足时回滚成功率较高。
五 注意事项与故障处理
- 依赖与版本:恢复时若仓库缺少备份时的版本,可能出现依赖冲突或版本漂移;优先保证与备份时一致的软件源,必要时结合本地RPM与yum/dnf混合恢复。
- 磁盘空间:下载全量RPM会占用大量空间,建议提前评估并清理无用缓存(如:yum clean all)。
- 仓库可用性:恢复前执行 yum clean all && yum makecache,确保元数据最新;若更换或迁移镜像源,先备份原配置再替换。
- YUM被误删的恢复思路:从发行版镜像站手动下载并安装核心组件(如 yum、yum-plugin-fastestmirror、yum-utils 等)的RPM包,或使用系统安装介质/DNF重装yum组;操作前确认系统版本与架构匹配。