创建本地centos源step-by-step

此文章不错。留着自己参看用。。


服务器有很大一部分使用的centos,以前一直使用be10.com的源更新,速度还可以,be10.com关闭源服务以后,开始痛苦的yum。
虽然有yum-fastestmirror,但是找到一个速度很快的源还是很不容易的,于是决定自己搞个源,参考了centos官方的源设置文档

下边是脚本
rsync_mirror.sh
  1. #!/bin/sh

  2. . /etc/profile

  3. 调试使用
  4. #rsync="/usr/bin/rsync -aqzH --delete --delay-updates"
  5. rsync="/usr/bin/rsync -azHv --delete --delay-updates"

  6. mirror=rsync://mirrors.kernel.org/centos
  7. #mirror=rsync://mirror.csclub.uwaterloo.ca/centos
  8. #mirror=rsynv://mirror.centos.org/centos
  9. #北方网通访问几个提供rsync的源速度都还可以。

  10. #verlist="5 5.1 5.2" 需要什么版本的源在这里加
  11. verlist="5.2 5.3"
  12. archlist="i386 x86_64 SRPMS"
  13. #archlist="i386 SRPMS"
  14. baselist="os updates addons extras centosplus contrib fasttrack"
  15. #rsync同步到本地的位置,大概一个版本需要25g的空间比如5和5.2大概一共需要50g的空间,5.3目前还比较小
  16. local=/bak/shisl/rsync/centos

  17. for ver in $verlist
  18. do
  19.         for arch in $archlist
  20.         do
  21.                 for base in $baselist
  22.                 do
  23.                         remote=$mirror/$ver/$base/$arch/
  24.                         mkdir -p $local/$ver/$base/$arch
  25.                         $rsync $remote $local/$ver/$base/$arch/


  26.                 done
  27.         done
  28. done

  29. $rsync $mirror/RPM-GPG-KEY-CentOS-5 $local
  30. $rsync $mirror/RPM-GPG-KEY-beta $local
  31. $rsync $mirror/TIME $local
  32. $rsync $mirror/timestamp.txt $local
复制代码


ok,放到crontab里每天晚上执行一次,每天更新一个应该已经够用了
假设脚本的位置是在/root/script/rsync_mirror.sh
30 3 * * * /root/script/rsync_mirror.sh

下来该搞个http或者ftp提供源了,这里用vsftpd,打开匿名用户登录
下边是我的ftp的配置文件,比较简单。
[root@node03 vsftpd]# more vsftpd.conf|grep -v ^#|grep -v ^$

  1. anonymous_enable=YES
  2. local_enable=YES
  3. write_enable=YES
  4. local_umask=022
  5. dirmessage_enable=YES
  6. xferlog_enable=YES
  7. connect_from_port_20=YES
  8. xferlog_std_format=YES
  9. listen=YES
  10. pam_service_name=vsftpd
  11. userlist_enable=YES
  12. tcp_wrappers=YES
复制代码


还差关键的一步,把镜像目录挂到ftp下去
mount --bind /bak/shisl/rsync/centos /var/ftp

现在就可以通过ftp访问自己的centos源了

要使用自己的centos源还需要修改一下yum的配置/etc/yum.repos.d/CentOS-Base.repo


  1. [base]
  2. name=CentOS-5 - Base
  3. repo=os
  4. baseurl=ftp://10.1.2.23/centos/5.2/os/$basearch/
  5. gpgcheck=1
  6. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
  7. [update]
  8. name=CentOS-5 - Updates
  9. baseurl=ftp://10.1.2.23/centos/5.2/updates/$basearch/
  10. gpgcheck=1
  11. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
  12. [addons]
  13. name=CentOS-5 - Addons
  14. baseurl=ftp://10.1.2.23/centos/5.2/addons/$basearch/
  15. gpgcheck=1
  16. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
  17. [extras]
  18. name=CentOS-5 - Extras
  19. baseurl=ftp://10.1.2.23/centos/5.2/extras/$basearch/
  20. gpgcheck=1
  21. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
  22. [centosplus]
  23. name=CentOS-5 - Plus
  24. baseurl=ftp://10.1.2.23/centos/5.2/centosplus/$basearch/
  25. gpgcheck=1
  26. enabled=0
  27. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
  28. [contrib]
  29. name=CentOS-5 - Contrib
  30. baseurl=ftp://10.1.2.23/centos/5.2/contrib/$basearch/
  31. gpgcheck=1
  32. enabled=0
  33. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
复制代码


这里需要小心的是不同的版本ftp://10.1.2.23/centos/5.2/ 中的版本号需要更改一下

现在就可以yum update了

有个本地的源还是很方便的,用kickstart最小化安装centos,3分钟搞一个……

原文地址:http://linux.chinaunix.net/bbs/viewthread.php?tid=1096507

还有篇简单的:http://hi.baidu.com/billdkj/blog/item/d6c10ff03dc9eda7a50f52c2.html

猜你喜欢

转载自bobboy007.iteye.com/blog/750071