CentOS7搭建和维护共享 YUM源

1. 前言

虽然互联网上已经有了多个公开的可以直接使用的 yum源,但是针对于内网(局域网)这种无法连接互联网,又需要安装维护多台服务器的场景,就需要搭建一个内网的共享 yum源了。此时,就会涉及如何搭建本地 yum源、从公开 yum源同步 rpm包,以及手动添加 rpm包等操作,这就是本文的主要内容。

本文基于 CentOS7.9编写,应用场景为局域网多台服务器。

2. 搭建多主机共享的 YUM源

2.1 创建本地 YUM源

这里使用 CentOS操作系统镜像文件作为本地 yum源的基础 rpm包。

  1. 创建一个目录用于挂载 ISO文件

    mkdir -p /mnt/iso/centos/7
    
    
  2. 挂载 ISO文件

    mount -o loop CentOS-7-x86_64-DVD-2009.iso /mnt/iso/centos/7
    mkdir yum-repo/centos/7.9.2009/os/x86_64/ -p
    # 把 rpm包复制到建好的仓库目录中
    cp -r /mnt/iso/centos/7/* yum-repo/centos/7.9.2009/os/x86_64/
    
  3. 创建 repo文件

    # 备份原有的 repo文件
    mv /etc/yum.repos.d /etc/yum.repos.d.bkp
    
    # 创建新的 repo文件
    mkdir /etc/yum.repos.d
    cd /etc/yum.repos.d
    
    vim local.repo
    # 内容如下
    [centos7]
    name=centos7
    baseurl=http://daphnis.centos7/centos/7.9.2009/os/$basearch/
    enable=1
    gpgcheck=0
    
    [update]
    name=update
    baseurl=http://daphnis.centos7/centos/7.9.2009/update/$basearch/
    enable=1
    gpgcheck=0
    

    其中 update这个仓库是给后面放软件的更新包用的,daphnis.centos7是主机名,需要根据实际情况修改

  4. 验证

    yum clean all
    yum repolist
    

    能够看到刚刚创建的两个仓库即为正确,如下;

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    centos7                                                                               | 3.6 kB  00:00:00
    update                                                                                | 2.9 kB  00:00:00
    
    

2.2 使用 Httpd共享 YUM源

  1. 安装并启动 httpd

    yum install httpd -y
    systemctl start httpd
    
    # 设置开机启动
    systemctl enable httpd
    
    
  2. 设置防火墙放开 80端口

    firewall-cmd --add-service=http --permanent
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --reload
    
  3. 把 YUM仓库实际地址软链到 httpd的目录

    ln -s /opt/yum-repo/centos /var/www/html/
    
  4. 验证

    使用另外一台服务器把 yum仓库的地址配成该服务器,修改 repo文件参考 2.1,然后能够正常使用 yum安转软件即为正确。

3. YUM源的维护

3.1 从公开 YUM源同步 RPM包

这里以同步清华 yum源中的两个目录为例。

  1. 创建 repo文件

    vim /etc/yum.repos.d/ts.repo
    # 内容如下
    [ts-update]
    name=ts-update
    baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos/7.9.2009/updates/x86_64/
    enable=1
    gpgcheck=0
    
    [ts-kernel]
    name=ts-kernel
    baseurl=https://mirrors4.tuna.tsinghua.edu.cn/centos-altarch/7.9.2009/kernel/x86_64/
    enable=1
    gpgcheck=0
    

​ 其中一个配置项代表需要同步的一个目录。

  1. 安装依赖工具

    yum install yum-utils -y
    
    
  2. 下载 RPM包到本地

    yum clean all
    cd /opt
    reposync -r ts-update -p ./ts-update/
    reposync -r ts-kernel -p ./ts-kernel/
    
  3. 验证

    查看 /opt/ts-update和 /opt/ts-kernel这两个目录下是否有相应的 rpm文件

3.2 手动添加 RPM包

  1. 准备好需要添加到仓库中的 rpm包

  2. 把 rpm包上传到 /opt/yum-repo/centos/7.9.2009/update/x86_64/Packages

  3. 安装依赖工具

    yum install createrepo -y
    
  4. 更新 YUM仓库

    createrepo /opt/yum-repo/centos/7.9.2009/update/x86_64
    
  5. 验证

    # 方式1,查看包是否存在
    yum list |grep <pkg-name>
    
    # 方式2,如果是已安装软件的新版本,可以直接执行更新命令
    yum update <pkg-name>
    

4. 公开 YUM源

  1. 官方CentOS基础包
  2. 官方CentOS内核升级库
  3. 清华开源镜像站
  4. 阿里开源镜像站

备注:清华和阿里的镜像站是从 CentOS官网同步过来的,比较可靠且速度更快

5. 总结

本文基于笔者实际项目经验出发,以应用为主介绍了 yum源的搭建和维护,比较基础,后面根据需要可以进一步研究。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值