搭建本地yum源服务器

  很久没写博客了,最近比较动荡,临毕业时跳了个槽,感受以前作的金融方向的运维不是很适合我,对各方面的限制仍是太多。金融的IT对于安全彷佛要求很高,云盘,U盘都不能用,还要常常给客户作产品实施,对于linux方面涵盖的不是不少,更侧重于硬件,好比会购买高端交换机,万兆网卡,硬件防火墙等等。作的时间久了愈来愈感受是个IDC维护的(没有看不起IDC运维的意思),并且还有不少时间是在作产品测试。。。这与我规划的运维方向差太多了,没办法,只能换公司。了。  html

  目前在新浪阅读作助理运维,来以后第一感受就是自由,上班一个小时的弹性时间,各类盘随便用,固然免费饮料是必不可少的,来的第一天心里就在想,互联网公司毕竟是互联网公司啊。最近接触了yum源搭建和源码打包rpm,yum源搭建之前也作过,不过此次作了有了更多的理解,之前只是纯粹的死记,打包rpm就很烦了,deb包的制做是很方便快捷的,rpm包得书写规则实在是头疼。先讲讲使用http搭建yum源吧。linux

  yum源的搭建可分为三步:①搭建Apache服务器②挂载ISO镜像,将镜像中的包放至Apache服务器目录下③ISO镜像的包比较老旧,能够定时同步其余源中的包到本地apache

  一、搭建Apache服务器centos

  此步随便使用yum安装仍是源码编译安装均可以,只要在后面将包正确的放置到httpd的目录中便可安全

  我使用的是编译安装,安装目录是/usr/local/apache,安装完毕后修改/usr/local/apache/conf/httpd.conf文件,将DocumentRoot的/var/www/html改成服务器

/usr/local/apache/htdocs,说明后面我会将个人包放在/usr/local/apache/htdocs目录下。架构

  /usr/local/apache/bin/apachectl -k start启动Apache服务,iptables -A INPUT -p tcp --dport 10001 -j ACCEPT,注意,你在Apache中配置开放了那个端口,iptables就容许那个端口进入,iptables设置完毕,使用/etc/init.d/iptables save保存。运维

  二、挂载镜像tcp

  进入/usr/local/apache/htdocs目录,建立centos目录,在centos目录下,建立extra,update,x86_64三个平行目录。测试

  将centos6的镜像挂载到某一目录下,而后将Packages目录中的全部包都拷贝至/usr/local/apache/htdocs/x86_64下。

  操做完毕后,如图所示:

  

  依次对三个目录进行createrepo操做,目的是生成repodata目录,自动建立索引信息。

  createrepo -pdo /usr/local/apache/htdocs/x86_64 /usr/local/apache/htdocs/x86_64

  createrepo -pdo /usr/local/apache/htdocs/extra /usr/local/apache/htdocs/extra

  createrepo -pdo /usr/local/apache/htdocs/update /usr/local/apache/htdocs/updates

  执行完毕后在x86_6四、extra、updates下自动生成了repodata目录,此时yum源已经搭建完毕。

  三、客户端访问yum源服务器

  查询yum源服务器的ip地址,而后在客户端的/etc/yum.repos.d建立base.repo文件.这里须要特别注意,若是Apache服务器开启的端口不是80端口,那么在写baseurl的时候须要将端口号写出来,不然客户端默认访问的80端口!

  

  此时整个过程已经完毕,客户端可使用yum安装软件包。若是有新的包添加进了x86_6四、extra、updates的任意一个目录中,都须要createrepo --update dir来更新yum源服务器的索引。客户端也须要yum makecache一下。

  

  TIPS:

  以前说过ISO镜像中的软件包太陈旧了,同时,ISO的包也只有6000个左右,不是不少,那么能够将其余yum源服务器的包同步到本地,可使用rsync命令直接镜像过来,在此提供几个支持rsync同步的网站

  http://mirrors.kernel.org
  http://rsync.mirrors.ustc.edu.cn
  http://mirrors.neusoft.edu.cn

  具体镜像方法:

  一、进入本地yum源服务器的某个要镜像的目录,好比/usr/local/apache/htdocs/extra目录

  二、访问http://mirrors.kernel.org/centos/目录能够发现有不少的数字目录,这些都是不一样的centos版本

  

  三、进入6目录,能够看到有好几个目录

  

  通常咱们要同步的是os(与本地yum源的x86_64对应)、updates、extras,固然你也能够所有同步。咱们目前要同步extras目录,那么就进入extras目录,选择适合本身的路径,我是x86_64架构的电脑,进入x86_64,全部的包都在Packages下,以下图:

  

  四、找到正确的路径后就能够开始同步了

  在本地yum源服务器上输入rsync -avrt --delete rsync://mirrors.kernel.org/centos/6/extras/x86_64/Packages/ /usr/local/apache/htdocs/centos/extra

  同步完毕后使用createrepo --update /usr/local/apache/htdocs/centos/extra更新索引。

 

  还有一点就是客户端的repo文件的baseurl是很灵活的,你甚至能够在不一样的模块写不一样的链接,只要你写的url的源可使用就没问题。

相关文章
相关标签/搜索