Debian 与 YUM 的备份恢复指南
先厘清环境与工具
- Debian 系列发行版默认使用 APT/dpkg 管理软件包;YUM/DNF 属于 RHEL/CentOS/Fedora 等 RPM 系发行版。若你在 Debian 上看到 yum 命令,多半是历史遗留或手动安装,不建议长期使用。进行“软件包层面的备份与恢复”时,请优先使用与发行版匹配的包管理器与命令。
Debian 场景的备份与恢复
- 备份已安装软件包清单
- 生成全量列表:dpkg --get-selections > installed-packages.txt
- 仅保留“已安装”条目:dpkg --get-selections | grep -v deinstall > enabled-packages.txt
- 备份软件源配置
- 打包配置目录:tar czf apt-config-$(date +%F).tgz -C /etc/apt .
- 备份关键配置文件(可选)
- 例如:tar czf etc-config-$(date +%F).tgz /etc/hosts /etc/resolv.conf /etc/ssh/sshd_config
- 恢复步骤
- 恢复软件源:tar xzf apt-config-YYYY-MM-DD.tgz -C /
- 恢复软件包列表:sudo dpkg --set-selections < installed-packages.txt && sudo apt-get dselect-upgrade
- 恢复配置:tar xzf etc-config-YYYY-MM-DD.tgz -C /
- 仅离线保存 .deb 包(可选)
- 下载单个包:apt-get download
- 批量下载当前已安装包(示例):apt-get install --reinstall --download-only $(cat installed-packages.txt | awk ‘{print $1}’)
- 离线安装:sudo dpkg -i /path/to/*.deb(必要时再执行 sudo apt-get -f install 修复依赖)
RHEL/CentOS 场景的备份与恢复(使用 YUM/DNF)
- 备份已安装软件包清单
- yum list installed > installed_packages.txt
- 备份可安装的 RPM 包文件(离线场景)
- 下载所有已安装包到本地目录(示例):sudo yum reinstall --downloadonly --downloaddir=/backup/yum/packages $(cat installed_packages.txt | awk ‘{print $1}’)
- 恢复步骤
- 按清单重装:sudo yum reinstall $(cat installed_packages.txt | awk ‘{print $1}’)
- 或用本地 RPM 批量安装:sudo yum localinstall /backup/yum/packages/*.rpm
- 注意事项
- 恢复时请确保可访问与备份时相同或兼容的 软件源;YUM/DNF 会自动处理依赖,但若某些包在仓库不可用,恢复会受阻;全过程可能占用较多 磁盘空间。
常见坑与建议
- 在 Debian 上误用 yum 可能导致元数据和依赖混乱;建议改回 APT,必要时可移除 yum 或为其设置别名以避免误用。
- 备份/恢复时同时保存 软件源配置 与关键 系统配置(如 /etc/apt、/etc/hosts、/etc/ssh/sshd_config),可显著提升恢复后的可用性与一致性。
- 若需要“系统级”的整盘/分区级备份(而非仅软件包),可考虑使用 dump/restore 实现全量与增量备份;注意其对目录的增量支持有限,通常用于分区级备份。