Centos 7 自建本地yum仓库的实例

原文转载自MT大神的博客:https://blog.51cto.com/14839701/2548183

 

创建本地yum仓库

需求:如果你在linux上面创建一个新的RPM包,后续你可能希望不再通过yum/apt去远程安装,毕竟很多外网还是很慢的,浪费时间,所以建立一个本地VLAN可以访问的源头来增加效率或控制版本是一个客观的方案。

方案:createrepo

环境:
系统:Centos 7.6 64位 命令行版本

1,安装createrepo

yum按照createrepo
执行 yum install createrepo -y 
安装如下几个包

最后安装完毕即可

额外还需要安装一个yum-utils来帮助系统更好的运行本地仓库
yum install yum-utils

2,查看httpd配置

systemctl status httpd

centos 7 官方版默认是有httpd安装好的,就createrepo而言,启动即可,无需多余操作
很多云主机的版本为了轻便可能没有安装,执行yum install httpd -y即可

httpd默认路径: /var/www/html

PS:除了httpd(apache)之外,Nginx也是可用的,但注意前提都是打开80或者443端口

3,创建目录来存放仓库

首先,根据系统实际情况创建http协议相关的访问路径
mkdir –p /var/www/html/repos/{base,centosplus,extras,updates}

4,同步HTTP的Base仓库

下载Centos 默认仓库中的base仓库配置
用以下命令

reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/

下载的就是下图这个base

  • –g – 移除或者安装在Centos上GPG检查失败的包
  • –l – yum组件支持
  • –d – 删除本地包中不再存在的远程仓库的包
  • –m – 下载comps.xml文件
  • ––repoid – 确认仓库ID
  • ––newest-only – 只下载最新的仓库包,这样可以让本地仓库小一点
  • ––download-metadata – 下载非默认元数据
  • ––download-path – 指定本地下载路径

完成后如下,大约10070个文件

然后在对应的文件夹,就可以看到对应的文件了

5,配置客户端yum文件

可以直接修改centos的base
cat /etc/yum.repos.d/Centos-Base.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.1.100/repos/base/
gpgcheck=0
enabled=1

PS:上面的IP就是按照createrepo主机的ip,请自行更改
路径就是前面创建的路径,需要的话也请自行更改
这部完成后,直接尝试安装即可,相关base库会从本地进行拉取,非常迅速

 

MT大神是我追随多年的一位技术大牛,最近新建了博客,大家可以去关注
https://blog.51cto.com/14839701 

 

正在加载评论...