搭建本地yum源服务器

 

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

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

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

  1、搭建Apache服务器

  此步随便使用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保存。

  2、挂载镜像

  进入/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_64、extra、updates下自动生成了repodata目录,此时yum源已经搭建完毕。

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

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

  

  此时整个过程已经完毕,客户端可以使用yum安装软件包。如果有新的包添加进了x86_64、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

  具体镜像方法:

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

  2、访问http://mirrors.kernel.org/centos/目录可以发现有很多的数字目录,这些都是不同的centos版本

  

  3、进入6目录,可以看到有好几个目录

  

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

  

  4、找到正确的路径后就可以开始同步了

  在本地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的源可以使用就没问题。

搭建本地yum源服务器的更多相关文章

  1. 搭建本地YUM仓库

    YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...

  2. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  3. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  4. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

  5. 配置Yum源repo文件及搭建本地Yum服务器

    分享一篇配置Yum源repo文件及搭建本地Yum服务器的方法,希望对大家有用. Yum源的话有三大类: Base Extra Epel Base:就是你下载的光盘镜像里面的DVD1Extra:就是你下 ...

  6. 如何手工搭建本地Yum仓库

    如何手工搭建本地Yum仓库(重点推荐)  https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...

  7. 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1   ...

  8. 其他综合-搭建本地yum仓库及自制rpm包

    搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...

  9. CentOS 7搭建本地yum源和局域网yum源

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

随机推荐

  1. c++中sin,cos,arcsin等和在C/C++中使用pi (π) 值

    先 #include<math.h> 反3角函数有 acos(double),asin(double),atan(double),atan(double,double),返回值 doubl ...

  2. 【ask】vmware(NAT)中的linux突然无法访问互联网网址,但是直接用ip可以访问。

    前两天虚拟机里的linuxmint不知何故,突然无法访问互联网了.依稀记得是升级了win7下面的360安全卫士之后发生的事情.所以, 第1步就开始去找防火墙的各种设置,结果没有查到结果. 第2步猛然看 ...

  3. Linux之(Git)服务之windows配置

    设置你自己的昵称与email设置本地机器默认commit的昵称与Email. 请使用有意义的名字与email. git config --global user.name "syavingc ...

  4. phpstorm将多个int数字拼接成字符串

    场景:将程序输出的多个int数字拼成以','分隔的字符串 数据为 8680 24399 37619 45425 49635 139334 386918 429498 461616 523384 561 ...

  5. ios关于数据的存储

    本文转载至http://blog.csdn.net/chen505358119/article/details/9278539             这里我总结了一下数据的存储方式,一是保存在沙盒里 ...

  6. iptables 实际操作 之 规则查询 2

    在之前的文章中,我们已经总结过,iptables 为我们预定义了4张表,他们分别是raw 表,mangle表,nat表,filter表,不同的表拥有不同的功能. filter 负责过滤功能,比如允许那 ...

  7. 用训练好的caffemodel对单个/批量图片进行分类

    一.单个图片进行分类 这个比较简单,在*.bat文件中输入以下代码: @echo off set BIN_DIR=D:\caffe\caffe-windows\Build\x64\Release se ...

  8. CodeIgniter框架——数据库类(配置+快速入门)

    CodeIgniter用户指南——数据库类 数据库配置 入门:用法举例 连接数据库 查询 生成查询结果 查询辅助函数 Active Record 类 事务 表格元数据 字段元数据 自定义函数调用 查询 ...

  9. 《从零开始学Swift》学习笔记(Day 42)——构造函数调用规则

    原创文章,欢迎转载.转载请注明:关东升的博客 在构造函数中可以使用构造函数代理帮助完成部分构造工作.类构造函数代理分为横向代理和向上代理,横向代理只能在发生在同一类内部,这种构造函数称为便利构造函数. ...

  10. 2015-03-06——ajax基础

    IE6  必须使用Microsoft.XMLHTTP ActiveX组件来实例化一个对象 IE7已实现了XMLHttpRequest对象 var request = new ActiveXObject ...