一、使用CentOS光盘作为本地yum源

  1. 挂载iso镜像

    mkdir /mnt/cdrom
    mount /dev/cdrom /mnt/cdrom
  2. 修改yum源配置
    配置文件目录:/etc/yum.repos.d/
    备份原yum配置文件:新建bak目录并将原yum配置文件移动至此目录。
    新建yum源文件并加入以下内容(这里新建文件名为local.repo):

    [local_server]
    name=This is a local repo       #yum源描述
    baseurl=file:///mnt/cdrom       #CDROM挂载路径
    enabled=1                       #开启本地更新模式
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  3. 更新yum配置
    yum clean all
    yum makecache

    到此本地YUM源配置完成,可使用yum安装软件。

    问:为什么连createrepo软件都不用安装?
    createrepo的作用是创建索引文件的(位于repodata文件夹),光盘中连GPG-KEY都有了。

二、创建完全自定义的本地源

把平时收藏的一些RPM软件包放在一个目录里,就变成一个自定义源了,可以用YUM来管理,灵活性相当大。
官方教程:How to setup your own package repository

  1. 创建本地yum仓库

    mkdir -p /yum/local     #可以有N级目录
    cp ...                  #复制RPM包到上述目录
  2. 创建repo文件(这里新建文件名为CentOS-Local.repo)
    输入以下内容(可选本地源或web源):

    #本地路径源
    [Local]
    name=Local Yum
    baseurl=file:///yum/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    enabled=1
    
    #web源
    [Localweb]
    name=Localweb Yum
    baseurl=http://192.168.10.100/
    gpgcheck=0                              //关闭校验
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    enabled=1                               //启用源
  3. 安装createrepo
    yum install createrepo      #使用yum安装createrepo
    rpm -ivh http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/createrepo-0.9.9-28.el7.noarch.rpm
  4. 创建索引
    createrepo /yum     
    yum makecache       #更新缓存

三、创建CentOS公共镜像

详细说明见官方中文文档:
http://wiki.centos.org/zh/HowTos/CreatePublicMirrors
可用镜像列表见:http://www.centos.org/download/mirrors/

  • 提供一个SHELL脚本,然后cron自动运行:
    localpath="/mirrors/CentOS"
    mirror="http://mirrors.aliyun.com/centos/::centos"
    rsync="rsync -avzH --delete"</p> <p>verlist="7"
    baselist="centosplus extras fasttrack os updates"
    archlist="x86_64"</p> <p>for ver in $verlist
    do
    for base in $baselist
    do
    for arch in $archlist
    do
    remote=$mirror/$ver/$base/$arch/
    mkdir -pv $localpath/$ver/$base/$arch/
    $rsync $remote $localpath/$ver/$base/$arch/
    done
    done
    done</p> <p>

    到此源配置完成。

四、yum源优先级配置

  1. 安装yum优先级插件

    yum install -y yum-plugin-priorities
  2. 编辑yum源的文件并设置优先级
    在每一个源的后面加上优先级 priority=1 , priority=n ∈(1~99), 值越小,优先级越高。
    例如:

    [base]
    name=CentOS-7 - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    priority=1      //此处表示优先级为1
    
    [updates]
    name=CentOS-7 - Updates - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/7/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    priority=2      //此处表示优先级为1
最后修改:2019 年 03 月 12 日 02 : 16 PM
如果觉得我的文章对你有用,请随意赞赏