centos导出当前所有yum包为本地仓库

步骤 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 应该是实际路径。
配置成下图这样即可,类似于这种的
在这里插入图片描述

总结

  1. 保存依赖关系:使用 yumdownloader 时,它会自动处理依赖关系,但仅限于你当前系统上安装的版本。如果希望包含所有依赖包,可以考虑使用 reposync 来同步整个仓库。

  2. 脚本自动化:可以将上述步骤编写成脚本,以便重复使用。例如:

#!/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 仓库。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值