如何创建本地yum源并实现本地服务器连接本地yum源

  • 操作系统:以 CentOS 7 为例,需要准备1个虚拟机作为 Yum 源服务器,并且确保服务器可以访问外网。1台作为客户端进行测试。

  • 软件安装:在服务器上安装 httpd(用于提供 HTTP 服务)、createrepo(用于创建 Yum 源仓库)。

    yum install httpd createrepo -y

    如果安装上述软件速度较慢可以更换yum源为阿里云:

    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    清理yum源缓存,重建yum源数据缓存:

    sudo yum clean all
    sudo yum makecache

    步骤一:创建存放 RPM 包的目录

    通常,我们会在 /var/www/html 目录下创建一个专门的目录来存放 RPM 包,这个目录将作为 Yum 源的根目录。

    mkdir -p /var/www/html/yumrepo

    步骤二:下载 RPM 包

    可以从官方镜像站或者其他可靠的来源下载所需的 RPM 包(这里建议使用国内的源),并将其复制到刚刚创建的 /var/www/html/yumrepo 目录中。也可以使用 reposync 工具来同步整个 Yum 源仓库。

    同步官方 Yum 源

    首先,安装 yum-utils 工具,它包含了 reposync 命令。

    yum install yum-utils -y

    然后,使用 reposync 命令同步指定的 Yum 源到本地目录。例如,同步 base 源:

    reposync -r base -p /var/www/html/yumrepo

    可以根据需要同步多个 Yum 源,如 updatesextras 等。

    步骤三:创建 Yum 源仓库索引

    使用 createrepo 命令为 /var/www/html/yumrepo 目录下的 RPM 包创建仓库索引。

    createrepo /var/www/html/yumrepo

    如果后续向该目录中添加或删除了 RPM 包,需要重新执行该命令来更新索引。

    步骤四:配置 HTTP 服务

    启动 httpd 服务,并设置为开机自启。

    systemctl start httpd
    systemctl enable httpd

    打开防火墙的 HTTP 端口(TCP 80),允许客户端访问。

    firewall-cmd --permanent --add-service=http
    firewall-cmd --reload

    步骤五:客户端关闭外部 Yum 源

    在客户端上重命名储存原有的所有yum源文件的文件目录,并重新建yum.repos.d文件。

    mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.backup

    步骤六:客户端内部yum源配置

    在需要使用内部 Yum 源的客户端上,创建一个新的 .repo 文件,例如 /etc/yum.repos.d/internal.repo

    vi /etc/yum.repos.d/internal.repo

    在文件中添加以下内容,将 yum.example.com替换为 Yum 源服务器的实际域名或 IP 地址。

    [internal]
    name=Internal Yum Repository
    baseurl=http://yum.example.com/yumrepo
    #例:baseurl=http://192.168.0.1/yumrepo
    enabled=1
    gpgcheck=0

    保存并退出文件。

    步骤七:测试内部 Yum 源

    在客户端上执行 yum clean all 清除本地缓存,然后使用 yum repolist 命令查看可用的 Yum 源列表。

    yum clean all
    yum repolist

    如果能够看到 internal 源,并且显示了可用的软件包数量,说明内部 Yum 源配置成功。

    定期更新 Yum 源

    为了保证内部 Yum 源中的软件包是最新的,需要定期同步官方源并更新仓库索引。可以编写一个脚本,使用 cron 定时任务来自动完成这些操作。

    #!/bin/bash
    reposync -r base -p /var/www/html/yumrepo
    reposync -r updates -p /var/www/html/yumrepo
    createrepo --update /var/www/html/yumrepo

    将上述脚本保存为 /root/update_yumrepo.sh,并添加执行权限。

    chmod +x /root/update_yumrepo.sh

    然后使用 crontab -e 命令编辑定时任务,例如每月1日凌晨 2 点执行更新脚本。

    0 2 1 * * /root/update_yumrepo.sh

    通过以上步骤,你就可以成功制作并使用内部 Yum 源了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值