在 CentOS / RHEL / Rocky / Alma 等使用 yum(或 dnf) 的系统中,备份 yum 配置主要包括 仓库配置、主配置文件、GPG 密钥、缓存索引 等。下面按常见场景给你一套完整做法。
yum 的主配置文件是:
/etc/yum.conf
备份:
cp /etc/yum.conf /etc/yum.conf.bak
或打包保存:
tar czf yum_conf_backup.tar.gz /etc/yum.conf
仓库配置目录:
/etc/yum.repos.d/
tar czf yum_repos_backup.tar.gz /etc/yum.repos.d
恢复时:
tar xzf yum_repos_backup.tar.gz -C /
grep -l 'enabled=1' /etc/yum.repos.d/*.repo | xargs tar czf yum_enabled_repos.tar.gz
默认路径:
/etc/pki/rpm-gpg/
备份:
tar czf rpm_gpg_backup.tar.gz /etc/pki/rpm-gpg
/var/cache/yum/
# 或 dnf
/var/cache/dnf/
备份(体积可能很大):
tar czf yum_cache_backup.tar.gz /var/cache/yum
⚠️ 一般不建议长期备份缓存,可省略。
yum repolist > yum_repolist.txt
或:
yum repolist all > yum_repolist_all.txt
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/root/yum_backup_$DATE
mkdir -p $BACKUP_DIR
cp -a /etc/yum.conf $BACKUP_DIR
cp -a /etc/yum.repos.d $BACKUP_DIR
cp -a /etc/pki/rpm-gpg $BACKUP_DIR
yum repolist all > $BACKUP_DIR/yum_repolist.txt
echo "YUM 配置备份完成:$BACKUP_DIR"
执行:
bash yum_backup.sh
cp /etc/yum.conf.bak /etc/yum.conf
tar xzf yum_repos_backup.tar.gz -C /
yum clean all
yum makecache
✅ 以上方法 完全适用
只需把路径中的 yum 换成 dnf:
/etc/dnf/dnf.conf
/var/cache/dnf/
如果你愿意,可以告诉我:
我可以给你更精确的方案。