yum如果备份已经安装的软件?
在 CentOS 系统中,你可以通过以下步骤将 yum 下载的组件打包备份到本地:
方法 1:使用 yumdownloader
直接下载 RPM 包
1. 安装 yum-utils
工具
yum install -y yum-utils
2. 下载指定软件包及其依赖
yumdownloader --resolve <package-name>
- 示例:下载
nginx
及其所有依赖包yumdownloader --resolve nginx
- 默认下载到当前目录,可通过
--destdir
指定保存路径:yumdownloader --resolve --destdir=/path/to/save <package-name>
方法 2:使用 yum
的 downloadonly
插件
1. 安装 downloadonly
插件(如果未安装)
yum install -y yum-plugin-downloadonly
2. 下载软件包及依赖(不安装)
yum install --downloadonly --downloaddir=/path/to/save <package-name>
- 示例:下载
vim
到/backup/rpms
目录yum install --downloadonly --downloaddir=/backup/rpms vim
方法 3:备份已安装的软件包
如果软件包已经安装,可以通过以下步骤重新下载并备份:
yum reinstall --downloadonly --downloaddir=/path/to/save <package-name>
补充操作
1. 备份所有已安装的软件包列表
rpm -qa > installed_packages.list
将此列表保存,后续恢复时可用。
2. 批量备份所有已安装软件包
yum reinstall --downloadonly --downloaddir=/backup/rpms $(rpm -qa)
3. 打包备份目录
tar -czvf yum_backup.tar.gz /path/to/save
恢复备份的 RPM 包
- 将备份的 RPM 包复制到目标机器。
- 使用以下命令安装本地 RPM:
yum localinstall /path/to/*.rpm
或直接使用 rpm
:
rpm -ivh /path/to/*.rpm
高级:创建本地 YUM 仓库
- 将备份的 RPM 包放到一个目录(如
/backup/rpms
)。 - 安装
createrepo
工具:
yum install -y createrepo
- 生成仓库元数据:
createrepo /backup/rpms
- 创建本地仓库配置文件:
cat > /etc/yum.repos.d/local.repo <<EOF
[local-backup]
name=Local Backup Repository
baseurl=file:///backup/rpms
enabled=1
gpgcheck=0
EOF
- 通过 YUM 安装软件:
yum install <package-name>
注意事项
- 依赖完整性:确保使用
--resolve
或--downloadonly
参数下载所有依赖。 - 离线环境:备份时需选择与目标系统版本一致的软件包(如 CentOS 7 和 8 的 RPM 不兼容)。
- 存储空间:备份前检查磁盘空间是否充足。
通过以上方法,你可以轻松将 CentOS 的 YUM 组件备份到本地,并在需要时快速恢复或迁移到其他机器。