自建repo软件仓库

近期主要使用的aliyun的源,主要会用到centos6、zabbix、epel和xen等,由于网络质量不佳,考虑到自建软件仓库

第一步,删除系统自导的源,新建ali.repo,将常用的几个源地址加入

# rm /etc/yum.repos.d/*.repo -fr
# vim /etc/yum.repos.d/ali.repo
[centos6]
name=centos6
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=no
[zabbix]
name=zabbix
baseurl=http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/
gpgcheck=no
[epel]
name=Epel6
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
[xen4]
name=xen4
baseurl=http://mirrors.aliyun.com/centos/6/xen4/x86_64/
gpgcheck=no

第二步,新建文件夹yumrepo用来存放软件;

# mkdir /yumrepo

使用reposync将ali.repo里配置源对应的软件下载至/yumrepo文件夹

# yum install reposync -y
# reposync -P /yumrepo/
    .....................       
    漫长的等待;下载完毕
# ll /yumrepo/
total 876
drwxr-xr-x. 4 root root   4096 May  3 12:39 centos6
drwxr-xr-x. 4 root root 876544 May  3 22:14 epel
drwxr-xr-x. 3 root root   4096 May  3 12:30 xen4
drwxr-xr-x. 2 root root  12288 May  3 19:07 zabbix

第三步,安装createrepo,给对应的源文件夹生产repodata文件夹

# yum install createrepo -y
# mv /etc/yum.repos.d/ali.repo /etc/yum.repos.d/ali.repo.bak

将整个yumrepo做出一个独立的仓库

# createrepo /yumrepo/
    .....................       
    漫长的等待;初始化完毕
建立一个完整仓库文件
# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///yumrepo/

或者 将每个独立的源类型做成独立的的仓库

# createrepo /yumrepo/centos6
# createrepo /yumrepo/zabbix
# createrepo /yumrepo/xen4
# createrepo /yumrepo/epel
    建立多个分散仓库文件
# vim /etc/yum.repos.d/local.repo
[centos6]
name=centos6
baseurl=file:///yumrepo/centos6
gpgcheck=0
[epel]
name=epel
baseurl=file:///yumrepo/epel
gpgcheck=0
[xen4]
name=xen4
baseurl=file:///yumrepo/xen4
gpgcheck=0
[zabbix]
name=zabbix
baseurl=file:///yumrepo/zabbix
gpgcheck=0

第四步,后期如果需要增加其它源,例如rpmforce

# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

查看repo id号,选择需要同步的repo id

# yum repolist all
repo idrepo name  status
all     all enabled: 16,649
rpmforge   RHEL 6 - RPMforge.net - dag   
# reposync --repoid=rpmforce /yumrepo
# ll /yumrepo/
total 892
drwxr-xr-x. 4 root root   4096 May  3 12:39 centos6
drwxr-xr-x. 3 root root 876544 May  4 11:31 epel
drwxr-xr-x. 3 root root   4096 May  4 11:11 other
drwxr-xr-x. 2 root root   4096 May  4 12:05 repodata
drwxr-xr-x. 3 root root   4096 May  4 11:45 rpmforge
drwxr-xr-x. 4 root root   4096 May  3 22:30 xen4
drwxr-xr-x. 3 root root  12288 May  3 22:31 zabbix
# createrepo --update /yumrepo
或
# createrepo --update /yumrepo/rpmforce

第五步,可以通过httpd服务,将yumrepo文件发布httpd,并新建local.repo供大家下载使用

# yum install httpd -y
# ln -sv /yumrepo/ /var/www/html/repo
# service httpd start
生成repo配置文件
# vim /yumrepo/local.repo
[local]
name=local
baseurl=http://SERVERIP/repo/
gpgcheck=no

或

# vim /etc/yum.repos.d/local.repo
[centos6]
name=centos6
baseurl=file:///yumrepo/centos6
gpgcheck=0
[epel]
name=epel
baseurl=file:///yumrepo/epel
gpgcheck=0
[xen4]
name=xen4
baseurl=file:///yumrepo/xen4
gpgcheck=0
[zabbix]
name=zabbix
baseurl=file:///yumrepo/zabbix
gpgcheck=0
[rpmforce]
name=rpmforce
baseurl=file:///yumrepo/rpmforce
gpgcheck=0

局域网其他机器可以通过此地址(http://SERVERIP/repo/local.repo)下载内网的repo文件。

原创文章,作者:Tuolei,如若转载,请注明出处:http://www.178linux.com/15945

赞 (1)
TuoleiTuolei
上一篇 2016-05-18 16:58
下一篇 2016-05-19 10:14

相关推荐

  • 第十二周作业

      1、描述一次完整的http请求处理过程 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    2017-11-12
  • DevOpsDays大会,818坐标上海,我们来啦!!!

    DevOpsDays 818, 坐标上海, DevOpsDays上海大会, 我们来啦!!! 我们来啦!!! 我们来啦!!! 重要的事情说三遍。 标签: 运维  移动开发  IT技术  DevOps  2008年的敏捷会议上,Andrew Clay Shafer 和 Patrick Debois 讨论了关于“敏…

    Linux干货 2017-08-10
  • CentOS启动流程及Shell脚本编程练习

    一、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序。 第二步:Boot Sequence(选择启动设备以加…

    2017-11-26
  • 私人定制-linux系统和grub启动流程中问题及解决方案

    系统的启动流程;     POST加电自检–>Boot Sequence(BIOS)–>Boot Loader(MBR)–>kernel(Ramdisk)–>rootfs–>switchroot–>/sbin/i…

    Linux干货 2016-09-13
  • Linux终端类型介绍

    相关命令:tty 适合阅读人群:所有   终端机 终端(Computer terminal),是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。又名终端机,它与一部独立的电脑不同,其实就是一种输入输出设备,一台电脑多人使用,每增加一个用户只须增加一台显示器和一套键盘鼠标就可以成为一个独立的终端,多用户可同时使用互相独立,跟…

    Linux干货 2016-10-14
  • N21沉舟15周作业

    1、总结sed和awk的详细用法; 2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; #  sed 's@^[[:space:]]@@' /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字…

    Linux干货 2016-11-14

评论列表(1条)

  • Tuolei
    Tuolei 2016-05-20 10:22

    最后部分,有点小错误,应该是# vim /etc/yum.repos.d/local.repo
    [centos6]
    name=centos6
    baseurl=http://SERVERIP/centos6
    gpgcheck=0
    [epel]
    name=epel
    baseurl=http://SERVERIP/epel
    gpgcheck=0
    [xen4]
    name=xen4
    baseurl=http://SERVERIP/xen4
    gpgcheck=0
    [zabbix]
    name=zabbix
    baseurl=http://SERVERIP/zabbix
    gpgcheck=0
    [rpmforce]
    name=rpmforce
    baseurl=http://SERVERIP/rpmforce
    gpgcheck=0