linux yum/dnf仓库备份与恢复的核心是保存仓库配置、gpg密钥及元数据缓存:需备份/etc/yum.repos.d/、/etc/yum.conf和/etc/pki/rpm-gpg/,执行dnf makecache后备份/var/cache/dnf/;恢复时须先覆写配置、再导入密钥、最后重建缓存。

Linux在线软件包仓库(如APT源、YUM/DNF仓库)的备份与恢复,核心在于保存配置、元数据和缓存三类内容。单纯备份已安装包列表无法还原可用的安装环境——若仓库地址失效、GPG密钥过期或源被移除,即使有包名清单也无法下载安装。因此,真正可靠的方案必须覆盖仓库定义、信任链和本地缓存。
备份仓库配置与信任体系
这是恢复可用性的前提。丢失配置会导致 apt update 或 dnf makecache 失败。
-
Debian/Ubuntu:备份
/etc/apt/sources.list和整个/etc/apt/sources.list.d/目录;同时导出所有信任的 GPG 密钥:apt-key list | grep "pub" | awk '{print $2}' | xargs -I {} sh -c 'apt-key export {} 2>/dev/null | gpg --dearmor > /path/to/backup/{}.asc.gpg' 2>/dev/null -
RHEL/CentOS/Fedora:打包
/etc/yum.repos.d/目录,并备份主配置/etc/yum.conf;检查并保存启用的 GPG 密钥路径(通常在/etc/pki/rpm-gpg/下),用cp -a /etc/pki/rpm-gpg/ /path/to/backup/完整复制
保留元数据与本地缓存(可选但推荐)
元数据(Packages、repodata)决定能否解析依赖;缓存(/var/cache/apt/archives 或 /var/cache/dnf)能避免重下载,尤其在离线或网络受限场景下价值显著。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- Ubuntu/Debian:运行
apt update后,执行rsync -aH --delete /var/lib/apt/lists/ /path/to/backup/apt-lists/;如需缓存,同步/var/cache/apt/archives/(注意排除 .deb.partial 文件) - CentOS/RHEL/Fedora:执行
dnf makecache后,备份/var/cache/dnf/下对应 repo 的 metadata 目录(如baseos-*.cache);缓存包默认不持久保存,如需长期保留,可设置keepcache=1并定期归档/var/cache/dnf/*/packages/
恢复时的关键操作顺序
顺序错误会导致命令失败或签名验证报错。
- 先恢复配置文件:将备份的
sources.list或yum.repos.d/覆盖原路径,确保权限为644 - 再恢复 GPG 密钥:Ubuntu 执行
apt-key add /path/to/backup/*.asc.gpg;RHEL 系列执行rpm --import /path/to/backup/RPM-GPG-KEY* - 最后恢复元数据(如有):替换
/var/lib/apt/lists/或/var/cache/dnf/对应目录,然后运行apt update或dnf makecache验证是否成功
自动化脚本与注意事项
手动操作易遗漏细节,建议封装为脚本并加入校验逻辑。
- 脚本应检测当前发行版类型(
lsb_release -is或cat /etc/os-release),自动选择适配分支 - 每次备份后生成校验和(如
sha256sum)并记录时间戳,便于后续验证完整性 - 避免直接备份
/var/cache/apt/archives/全量——它可能包含已卸载旧版本包,占用空间大且非必需;优先保证配置与密钥可靠,缓存按需重建更稳妥










