插件窝 干货文章 小窍门:Linux如何创建本地yum源,使下载软件更快捷

小窍门:Linux如何创建本地yum源,使下载软件更快捷

localrepo sudo 创建 bash 267    来源:    2025-05-09

在Linux上创建本地YUM源的方法

创建本地YUM源可以显著提高软件安装速度,特别是在多台服务器需要相同软件包的环境中。以下是详细步骤:

准备工作

  1. 确保已安装createrepo工具:

    sudo yum install -y createrepo
    
  2. 准备足够的磁盘空间存放软件包(建议至少10GB)

创建本地YUM源步骤

方法一:从ISO镜像创建

  1. 挂载CentOS/RHEL ISO镜像:

    sudo mkdir -p /mnt/iso
    sudo mount -o loop /path/to/CentOS-xxx.iso /mnt/iso
    
  2. 创建本地仓库目录:

    sudo mkdir -p /var/localrepo
    sudo cp -r /mnt/iso/Packages/* /var/localrepo/
    
  3. 创建仓库元数据:

    sudo createrepo /var/localrepo
    

方法二:从现有YUM缓存创建

  1. 清理并下载所有已安装软件包:

    sudo yum clean all
    sudo yum install --downloadonly --downloaddir=/var/localrepo <package-name>
    

    或下载整个组:

    sudo yum groupinstall --downloadonly --downloaddir=/var/localrepo "Development Tools"
    
  2. 创建仓库元数据:

    sudo createrepo /var/localrepo
    

配置YUM使用本地源

  1. 创建本地repo文件:

    sudo vi /etc/yum.repos.d/local.repo
    
  2. 添加以下内容:

    [localrepo]
    name=Local YUM Repository
    baseurl=file:///var/localrepo
    enabled=1
    gpgcheck=0
    
  3. 禁用其他远程仓库(可选):

    sudo sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/CentOS-*.repo
    
  4. 清理并重建缓存:

    sudo yum clean all
    sudo yum makecache
    

维护本地YUM源

  1. 添加新软件包后更新元数据:

    createrepo --update /var/localrepo
    
  2. 设置定期同步(可选):

    # 添加cron任务,每周同步一次
    0 3 * * 0 root /usr/bin/rsync -avz --delete rsync://mirror.example.com/centos/7/os/x86_64/Packages/ /var/localrepo/ && /usr/bin/createrepo --update /var/localrepo
    

注意事项

  1. 确保文件权限正确:

    sudo chmod -R 755 /var/localrepo
    
  2. 如果需要在多台服务器使用,可以配置为HTTP共享:

    sudo yum install -y httpd
    sudo ln -s /var/localrepo /var/www/html/localrepo
    sudo systemctl start httpd
    

    然后在其他服务器上使用baseurl=http://your-server-ip/localrepo

  3. 对于RHEL系统,可能需要先注册订阅才能访问官方仓库

通过以上步骤,您就创建了一个高效的本地YUM源,可以显著提高软件安装速度并减少对外部网络的依赖。