CentOS 自建 yum repository 仓库加速

最近升级了下自家的电脑内存到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/ # mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 enabled=1 gpgcheck=0

创建好自己 repo 时候,可以检查一下:

# yum clean all
# yum repolist all

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

可以利用 nginx 将本地目录发布出来,替换 baseurl 字段即可,以下贴出 nginx 的配置,自己参考修改即可:

[root@ip-172-16-0-11 ~]# 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:

[root@ip-172-16-0-11 ~]# vim /etc/yum.repos.d/selfbuild.repo 
### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: http://elrepo.org/           
                                      
[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/ 目录下即可

猜你喜欢

转载自www.cnblogs.com/unchch/p/11837399.html