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

时间: 2024-08-24 11:55:43

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

用reposync 同步YUM源到本地,搭建本地YUM源服务器

之前总结的搭建本地yum源是通过rsync直接同步其他在线的yum源,例如清华大学大YUM源,但是类似的阿里云的yum源,因为其不支持rsync所以不能进行同步, 同样的,想要同步其他一些官方的YUM源,也要对方支持rsync才能支持同步,而有很希望安装的YUM源并不支持rsync,这样怎么办呢? 因上述原因我想到了另一种思路去同步"所有"我想同步的YUM源,并且搭建成本地可用的YUM源,下面记录下我的思路. 1.首先预备好一台nginx或者apache的server来做本地的YUM源

http方式搭建本地yum源服务器

1.更换阿里源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #下载阿里的yum源 #如出现无法找到下载包,需要安装 epel yum install epel-release yum clean all yum m

搭建本地yum源

说明: 因为内网服务器连接上不外网,而有一些服器需要第三方的yum源,所以在内网搭建一个本地yum源,供内网使用. 1.首先找一台外网能上网的服务器. 2.远程安装第三方Yum源码包,比如加上 rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 这样会在/etc/yum.repos.d/目录下生成两个文件. 3.修改rpmforge.repo这个文件,需要把第三行

CentOS6.5搭建本地yum源(http方式) nginx

CentOS6.5搭建本地yum源(http方式) YUM主要用于自动升级.安装\移除rpm软件包,它能自动查找并解决rpm包之间的依赖关系,要成功的使用YUM工具更新系统和软件,需要有一个包含各种rpm软件包的repository(软件仓库),提供软件仓库的服务器习惯上成为"源"服务器.网络上有大量的源服务器,但是,由于受到网络连接速度.带宽的限制,导致软件安装耗时过长甚至失败.特别是当有大量服务器大量软件包需要升级时,更新的缓慢程序令人难以忍受. 相比较而言,本地YUM源服务器最大

    局域网内搭建 本地yum 源

目的: 局域网内配置yum 源服务器,方便局域网内服务器安装软件 测试环境: IP :10.139.13.34  apache 服务器 用来做局域网内的yum 源服务器 IP: 10.139.13.34  内网服务器 部署步骤: 搭建apache 服务器用来提供yum yum install httpd –y systemctl start httpd 准备yum 源的软件包 做法1 使用centos 官网DVD1和DVD2.iso ,将iso 的所有内容解压出来,存放到 apache 服务器的

centos7 搭建本地yum源

介绍:本地yum源服务器主要原因是安全.稳定性比较好,本地yum源服务器也解决了更新.安装软件时不需要外网. 1.安装http服务器 yum  install  httpd  start yum install createrepo       创建仓库的软件包. 2.创建镜像文件目录 mkdir  yum/centos/5 mkdir  yum/centos/6 mkdir  yum/centos/7 3.拷贝光盘到相应的目录下 一下以centos7 为例 mount -o  loop   /

Linux中如何搭建本地yum源

1.配置本地yum源的作用 Linux下安装软件有两种方式: 一种是rpm命令的方式,另外一种就是yum在线安装. 由于rpm命令安装和卸载软件时有可能会出现很多的依赖问题,为了解决这些依赖,我们往往会花费大量的时间和精力.那么,为了更方便我们的操作,yum在线安装和卸载的方式就成为了我们安装和卸载软件时的首选,这也是目前Linux下软件的安装卸载最常用的一种方式. 2.本地yum源配置 对于没有联网的Linux操作系统的客户机来说,为了能够使用yum命令安装软件的方式,我们需要先在本地搭建yu

Linux运维学习之 —— 搭建本地yum源

yum是RPM的前端工具,通过yum命令可以帮我们自动解决安装rpm包之间的依赖关系.下面是搭建本地yum仓库的步骤: 1.挂载光盘(光盘为CentOS-6.5-x86_64-bin-DVD2.iso)     mount /dev/cdrom1 /media ls一下/media这个目录,可以看到以下内容 2.创建本地文件夹,将Packages下的rpm包全部拷贝到本地文件夹     mount /dev/cdrom1 /media/     cp -r /media/Packages/* /

搭建本地yum库

mount /dev/cdrom /mnt/ cd /etc/yum.repos.d/ cd .. cp -r yum.repos.d/ yum.repos.d.bak cd yum.repos.d ls rm -rf CentOS-Base.repo 删掉之后就没办法用网络的yum源了 vim CentOS-Media.repo 搭建本地yum [lcoal_cdrom] name=cd basurel=file:///mnt/ gpgcheck=0 enabled=1 保存退出 yum gr