Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 909|回复: 0

centos7.x搭建本地yum源的方法

[复制链接]

217

主题

331

帖子

4642

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4642
QQ
发表于 2016-7-29 16:44:01 | 显示全部楼层 |阅读模式
本文中的“本地YUM源”包括三种类型:一是直接使用CentOS光盘作为本地yum源,优点是简单便捷,缺点是光盘软件包可能不完整(centos 7 Everything 总共才6.57G);二是同步CentOS官方源到本地(相当于创建了一个公共镜像),优点是最靠谱,缺点是占空间费流量;三是创建完全自定义的本地源,优点是灵活性最大,缺点是只是作为其他源的补充。
一、使用CentOS光盘作为本地yum源

(1) 实体机上直接放入光盘
(2) VMware Workstation 虚拟机:虚拟机-->可移动设备-->CD/DVD-->连接
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    mkdir /mnt/cdrom #创建目录  
    mount /dev/cdrom /mnt/cdrom #挂载  
    umount /mnt/cdrom #卸载  

若不想每次都要放光盘,那就复制光盘文件到本地硬盘吧
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    cp -avf /mnt/cdrom /yum # -a:该选项保留链接、文件属性,并递归地复制目录  

2、创建repo文件
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF  
    [Local]  
    name=Local Yum  
    baseurl=file:///yum/  
    gpgcheck=1  
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  
    enabled=1  

问:为什么连createrepo软件都不用安装?

createrepo 的作用是创建索引文件的(位于repodata文件夹),光盘中连GPG-KEY都有了。
二、如何为CentOS创建公共镜像

详细说明见官方中文文档:

http://wiki.centos.org/zh/HowTos/CreatePublicMirrors

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

http://wangyan.org/blog/centos-local-yum-repo.html

脚本稍作修改,换成中科大的镜像源。可用镜像列表见:http://www.centos.org/download/mirrors/
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    localpath="/mirrors/CentOS"  
    mirror="mirrors.hustunique.com::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  

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

把平时收藏的一些RPM软件包放在一个目录里,就变成一个自定义源了,可以用YUM来管理,灵活性相当大。

官方教程:How to setup your own package repository
1、创建本地yum仓库
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    mkdir -p /yum/local #可以有N级目录  
    cp ... #复制RPM包到上述目录  

2、创建repo文件
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF  
    [Local]  
    name=Local Yum  
    baseurl=file:///yum/  
    gpgcheck=1  
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  
    enabled=1  

3、安装createrepo
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    yum install createrepo #使用yum安装createrepo  
    rpm -ivh http://mirror.centos.org/centos/ ... 9-23.el7.noarch.rpm  

4、创建索引
[html] view plaincopy在CODE上查看代码片派生到我的代码片


    createrepo /yum   
    yum makecache #更新缓存  

四、添加yum源


[html] view plaincopy


     [1] Add RPMforge Repository for yum because that has many useful packages.  
    [root@dlp ~]#  
    wget http://pkgs.repoforge.org/rpmfor ... 1.el6.rf.x86_64.rpm  
    [root@dlp ~]#  
    rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm  
    Preparing… ###################################### [100%] 1:rpmforge-release ###################################### [100%]  
    [root@dlp ~]#  
    sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/rpmforge.repo  
      
    [2] Add repository EPEL that is provided from Fedora project.  
      
    [root@dlp ~]#  
    wget http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm  
    [root@dlp ~]#  
    rpm -Uvh epel-release-6-8.noarch.rpm  
    Preparing… ###################################### [100%] 1:epel-release ###################################### [100%]  
    [root@dlp ~]#  
    sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo  


五、参考
http://m.oschina.net/blog/88071
http://jingyan.baidu.com/article/e9fb46e1aed8207521f7662c.html
http://blog.chinaunix.net/uid-28283843-id-3930474.html
http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-102-5/
文章转载:http://www.centoscn.com/CentOS/config/2014/1225/4368.html

京峰Linux教育创始人之一,只为有梦想的人!任何事情只要去行动,就会收获结果!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2017-11-18 12:39 , Processed in 0.036219 second(s), 18 queries , Apc On.

快速回复 返回顶部 返回列表