自建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

相关推荐

  • N26-第一周作业-邢岩

     马哥门徒-N26-邢岩    悲催了! 首次使用这个博客,居然连续未保存删除了两次,这可是我用了四个小时才写好的啊!瞬间蓝瘦香菇了!感觉就像是Linux中使用了rm -rf / 一样。    还是重新开始写吧,第一次接触Linux是在8年之前了,当时弄到了一张红帽的光盘,可是怎么也装不上系统,就放…

    Linux干货 2017-02-05
  • 马哥教育网络班21期+第12周课程练习

    httpd学习前知识必备: I/O类型 同步和异步 synchronous asynchronous  关注的是消息通知机制,如何通知调用者,站在被调用者的角度 同步:调用发出后不会立即返回,一旦返回即是最终结果 异步:调用发出后会立即返回消息,但不是最终结果,被调用者通过状态,通知机制,或回调函数处理结果 阻塞和非阻塞 block nonbloc…

    Linux干货 2016-08-15
  • 位置变量&特殊变量总结

    位置变量 常用的位置变量有 $1, $2, $3 ……,表示命令行传给脚本的第一个参数,第二个参数,第三个参数。。。 $0 表示脚本的文件名,比如a.sh 位置变量在脚本中的主要作用,是让脚本通过他们来获取命令行传递给脚本的参数。 变量位置调整 shift [n] 用于调整变量位置 第n+1个位置变量会被重新命名为$1…

    Linux干货 2016-08-15
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 博客开始的地方

    来北京挺长时间了,一直都在瞎忙,特别想找个地逛逛,约朋友一起去,结果人家只喜欢吃饭,逛街,来北京瞎逛过两次,第一次是面试路过潘家园,然后进去逛了半天,看各种各样的老古董,当然最多的还是手串,那种核桃,当然还是看到了好多好多有意思的东西,比如下面的小和尚和老和尚,小和尚光着头感觉特别可爱,老和尚还卖萌, 当然还有下面这个关老爷,他的肚子为什么被雕刻的那么大,难…

    2018-03-26
  • 第五周作业

    1、简述rpm与yum命令的常见选项,并举例 rpm 命令 linux的的包管理器,用于对rpm软件包,进行安装、升级、卸载、查询、校验等操作。 使用语法: rpm [OPTIONS] [PACKAGE_FILE] 常用选项: 安装: -i,–install 升级: -U,–update,-F,–freshen 卸载: -…

    Linux干货 2017-12-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