Centos7搭建自定义yum源

Centos7搭建自定义yum源

    • 背景介绍
    • 解决办法
      • 安装createrepo
      • 创建结构目录
      • 在公网下载rpm包
    • 使用repotrack下载离线rpm包
    • 在内网创建yum源
    • 客户端配置yum源

背景介绍

内网环境装软件,没办法直接从公网下载rpm包.


解决办法

在公网上下载好指定的rpm包,拷贝到内网,将这些rpm生成repo源,在内网发布这个源.


安装createrepo

# 安装createrepo和yum-utils
yum install createrepo yum-utils -y

创建结构目录

# mkdir yum源名称/Packages
mkdir yum-name/Packages

在公网下载rpm包

参考: https://cloud.tencent.com/developer/article/1614031

离线下载RPM

# 查看参数
yumdownloader --help

# 下载指定包
## --downloadonly  :仅下载而不更新
## --downloaddir   :指定一个其他文件夹用于保存软件包
yumdownloader --downloadonly --destdir=./yum-name/Packages/ telnet unzip libaio pcre-devel openssl openssl-devel

# 下载全量依赖包
## --downloadonly  :仅下载而不更新
## --resolve  解决依赖关系并下载所需的包
## --destdir  指定下载到目标目录(默认当前目录)
yumdownloader --resolve --destdir=./yum-name/Packages/ mysqldump

使用repotrack下载离线rpm包

repotrack能下载依赖包的依赖包.

# repotrack是yum-utils中的工具
yum -y install yum-utils

# 下载ansible的离线rpm包
repotrack ansible

repotrackyumdownloader的区别:

  • yumdownloader解决了ansible的依赖包,但是无法解决依赖包的依赖包;
  • repotrack不仅解决了ansible的依赖包,还解决了依赖包和依赖包之间的关系;

在内网创建yum源

# createrepo 源名称目录
createrepo ./yum-name

# 等待创建respodata数据
Spawning worker 0 with 2 pkgs
Spawning worker 1 with 1 pkgs
Spawning worker 2 with 1 pkgs
Spawning worker 3 with 1 pkgs
Spawning worker 4 with 1 pkgs
Spawning worker 5 with 1 pkgs
Spawning worker 6 with 1 pkgs
Spawning worker 7 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

客户端配置yum源

# 清理yum缓存
yum clean all

# 重新创建yum缓存
yum makecache

# 搜索包名
yum search 包名

你可能感兴趣的:(yum,yum,createrepo,离线源)