步骤 1:安装 yum-utils
安装了 yum-utils 工具包,其中包含 yumdownloader 命令。
yum install yum-utils
步骤 2:创建目标目录
创建一个目录来存放所有下载的 RPM 包。
mkdir -p /path/to/repo
步骤 3:列出所有已安装的包
使用 rpm 命令列出所有已安装的包,并将包名输出到一个文件中:
rpm -qa --qf "%{NAME}\n" > installed_packages.txt
通过cat指令,查看本机已安装的包。

步骤 4:下载所有已安装的包
使用 yumdownloader 工具批量下载所有已安装的包。你可以使用 xargs 命令来读取 installed_packages.txt 文件,并逐个下载包:
cat installed_packages.txt | xargs -I {} yumdownloader --destdir=/path/to/repo {}
这一步比较漫长,需要一个个包保存。

下载完成后的文件夹,里面包含rpm包。

步骤 5:创建仓库元数据
在下载完所有 RPM 包后,使用 createrepo 命令来生成仓库的元数据:
yum install createrepo
createrepo /path/to/repo
生成repodata文件夹,里面保存了仓库信息

步骤 6:配置本地仓库
在需要使用这个本地仓库的机器上,创建一个新的 yum 仓库配置文件,例如 /etc/yum.repos.d/local.repo:
[local-repo]
name=Local Repository
baseurl=file:///path/to/repo
enabled=1
gpgcheck=0
注意:/path/to/repo 应该是实际路径。
配置成下图这样即可,类似于这种的

总结
-
保存依赖关系:使用
yumdownloader时,它会自动处理依赖关系,但仅限于你当前系统上安装的版本。如果希望包含所有依赖包,可以考虑使用reposync来同步整个仓库。 -
脚本自动化:可以将上述步骤编写成脚本,以便重复使用。例如:
#!/bin/bash
# 目标目录
REPO_DIR=/path/to/repo
# 创建目标目录
mkdir -p $REPO_DIR
# 列出所有已安装的包
rpm -qa --qf "%{NAME}\n" > installed_packages.txt
# 下载所有已安装的包
cat installed_packages.txt | xargs -I {} yumdownloader --destdir=$REPO_DIR {}
# 创建仓库元数据
createrepo $REPO_DIR
# 配置本地仓库
cat <<EOF > /etc/yum.repos.d/local.repo
[local-repo]
name=Local Repository
baseurl=file://$REPO_DIR
enabled=1
gpgcheck=0
EOF
通过上述步骤,你可以一次性导出当前计算机上所有已安装的 yum 包,并创建一个本地 yum 仓库。
453

被折叠的 条评论
为什么被折叠?



