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

  1. 挂载iso镜像

    1. mkdir /mnt/cdrom
    2. 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
    

  4. 到此本地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 #更新缓存


<a name="1b6769d5"></a>
## 三、创建CentOS公共镜像

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

- 提供一个SHELL脚本,然后cron自动运行:

localpath=”/mirrors/CentOS” mirror=”http://mirrors.aliyun.com/centos/::centos“ rsync=”rsync -avzH —delete”

verlist=”7” baselist=”centosplus extras fasttrack os updates” archlist=”x86_64”

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


- 到此源配置完成。

<a name="0ba51a2a"></a>
## 四、yum源优先级配置

1. 安装yum优先级插件

yum install -y yum-plugin-priorities


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

[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 ```