首页 > 其他 > 详细

CentOS 自建 yum repository 仓库加速

时间:2019-11-11 19:25:39      阅读:138      评论:0      收藏:0      [点我收藏+]

最近升级了下自家的电脑内存到32G,开虚拟机做一些测试,初始化系统升级内核的时候下载 kernel.*rpm 包太慢了,于是自建了一个 yum repo 仓库。

 1、找一个 repo 源,既然是内核方面的,自然要找 elrepo 了,先下载这个kernel repo

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

执行以上两步,elerpo 就安装到了 /etc/yum.repo.d 中:

技术分享图片

 

2、确认自己要同步的 rpm 包所在的 repo id,大家可以打开 elrepo.repo 看一下,里面是多个 repo id ,不同的 id 里的 rpm 包是不一样的

     此处我需要 kernel 相关的包,所有只 需要 “[elrepo-kernel]” 下的内容

技术分享图片

 

 3、安装 repo 的两个工具:

(1)资源同步工具 -  reposync

(2)元数据遍历工具 - createrepo

# yum install yum-utils createrepo -y

  

4、在本地服务器上创建 repository 资源目录,准备存放用 reposync 工具同步下来的 rpm 包

# mkdir /opt/work/repository

 将 elrepo 源中的 elrepo-kernel 组中的 rpm 包同步到本机的 /opt/work/repository/ 目录

# reposync -g -m -r elrepo-kernel -p /opt/work/repository/

 同步动作完成后,去看下资源目录,发现 reposync 自动创建了层级目录

技术分享图片

 

5、建立本机源的元数据,执行:

# createrepo /opt/work/repository/elrepo-kernel/RPMS/

 技术分享图片

 

看一下目录,元数据都创建好了,有兴趣的自己打开文件看下

技术分享图片

 

6、最后编辑自己的 repo 文件,此处我命名为 selfbuild.repo,注意必须放在 /etc/yum.repo.d/ 目录下,我是复制的 elrepo.repo 文件修改的

# vim /etc/yum.repos.d/selfbuild.repo
[selfbuidrepo-kernel]                  
name=selfbuild Linux Kernel Repository - el7
baseurl=file:///opt/work/repository/elrepo-kernel/RPMS/
enabled=1                              
gpgcheck=0 

 

创建好自己 repo 之后,可以检查一下:

# yum clean all
# yum repolist all

此时 repo 源已基本可用,但只能在本机使用,不能为内网其他的服务器服务

可以利用 nginx 将本地目录发布出来,替换 baseurl 字段即可,以下贴出 nginx 的配置,自己参考修改即可:(此处我修改了/opt/work/repository/elrepo-kernel 目录名称)

# vim /usr/local/nginx/conf/vhosts/9002-repo.conf  
server {
    listen 9002;
    root /usr/local/nginx/html;
 
    location /yum {
        alias /opt/work/repository/selfbuild-kernel/RPMS;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }
}  

 

 替换 /etc/yum.repo.d/selfbuild-kernel.repo 中的 baseurl:

# vim /etc/yum.repos.d/selfbuild.repo 
[selfbuidrepo-kernel]                 
name=selfbuild Linux Kernel Repository - el7
baseurl=http://172.16.0.11:9002/yum
enabled=1                                                                                                                                                                                                                                     
gpgcheck=0  

 

最后确认一下,将 selfbuild-kernel.repo 放到目标服务器的 /etc/yum.repo.d/ 目录下即可

技术分享图片

 

 

扩展:

1、每次更新 rpm 包后要重新建立元数据,可以做计划任务定时更新同步并重建    

# createrepo --update /opt/work/repository/selfbuild-kernel/RPMS

2、yum 指定特定的 repo

# yum --enablerepo=selfbuild-kernel install kernel-ml.x86_64

  

CentOS 自建 yum repository 仓库加速

原文:https://www.cnblogs.com/unchch/p/11837399.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!