centos7、8搭建本地离线yum仓库

centos7、8搭建本地离线yum仓库

最近项目中需要在服务器搭建本地离线yum仓库,并且需要兼容centos7和centos8,踩了不少坑,总结一下经验。

第一步 下载rpm包

centos7、8下载rpm包方式一样。如下载ansible软件包至本地/opt/package/repo/目录。 示例:
方式一: yum install --downloadonly --downloaddir=/opt/package/repo/ ansible

方式二: yum -y install yum-utils
yumdownloader --destdir=/opt/package/repo/ ansbile
注意:第一种不会下载已经安装了的软件包,因此推荐使用第二种方式下载。

第二步 创建repodata

centos7

使用用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装。

yum -y install createrepo
cd /opt/package/repo/
createrepo ./

上述命令执行成功后会在该目录下创建一个repodata目录
在这里插入图片描述

centos8

centos8除了需要创建repodata 还需要创建modular metadata,如果只有repodata就会报错:No available modular metadata for modular package

  1. 安装modular metadata生成工具
  yum install createrepo 
  yum install python3-devel python3 gcc
  yum install python3-createrepo_c libmodulemd
  
  git clone https://github.com/rpm-software-management/modulemd-tools.git
  cd modulemd-tools/repo2module/
  python3 setup.py install --user
  1. 创建repodata 和 modular metadata
cd /opt/package/repo/
createrepo ./
/root/.local/bin/repo2module  -s stable -d . modules.yaml
modifyrepo_c --mdtype=modules modules.yaml repodata/

上述命令执行成功后会在该目录下创建一个repodata目录和一个modules.yaml文件
在这里插入图片描述

  1. 安装文件服务 提供本机软件包目录访问
    以使用nginx为例。
    yum install nginx
    安装完成后修改/etc/nginx/nginx.conf文件,修改端口号为9999、将根目录指向本地/opt/package/repo/目录
    在这里插入图片描述
    重启nginx服务
    访问 curl http://本机ip:9999/ 成功
    在这里插入图片描述

  2. 配置yum源
    创建centos-local.repo文件写入以下内容

[centos-local]
name=centos-local
baseurl=http://本机ip:9999/  
gpgcheck=0
enabled=1 
mv /etc/yum.repos.d /etc/yum.repos.d_bak
mkdir /etc/yum.repos.d
cp centos-local.repo /etc/yum.repos.d/

使用yum repolist可查看yum源仓库是否创建成功
在这里插入图片描述

成功后可以使用yum install离线安装软件包了。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值