分享

CentOS7 本地源搭建

 号令风云 2018-01-09

1 所需工具介绍

  1. httpd:用于搭建http服务器
  2. createrepo:用于创建yum源
  3. yum-plugin-priorities:用于设置yum源的优先级

2 本源原理

  1. 利用httpd建立一个httpd服务器用于存放本地源的rpm包
  2. 利用createrepo建立本地rpm包的描述信息
  3. 并在/etc/yum.repos.d/中加入本地源的描述repo使得yum能够找到本地源
  4. 最后再修改优先级使得yum优先从本地源安装。

3 具体步骤

3.1 安装工具

  1. yum install -y httpd  
  2. yum install -y createrepo  
  3. yum install -y yum-plugin-priorities  

3.2 配置工具

3.2.1 配置httpd

  1. systemctl start httpd.service //开启httpd服务  
  2. systemctl enable httpd.service //设置httpd自动启动  

这个时候httpd就已经能够正常工作了,本机ip是172.16.30.101,那么访问http://172.16.30.101/可以看到


3.2.2 配置本地源文件

httpd服务器的位置默认在/var/www/html 在其下建立一个文件夹tools放入wget.x86_64 0:1.14-10.el7_0.1.rpm包,然后执行createrepo ./ 对tools文件夹建立描述信息

  1. cd /var/www/html  
  2. mkdir tools  
  3. cd tools  
  4. rz //上传repo文件(这里采用的是xshell的lrzsz工具)  
  5. createrepo ./ //创建描述信息  

访问http://172.16.30.101/tools可以看到下图,其中repodata就是createrepo生成的描述信息


3.2.3 创建yum repo文件

yum的repo路径默认在/etc/yum.repos.d/中,用vi创建repo文件,yum会自动读取这个路径下的所有repo作为安装包的安装源

  1. vi /etc/yum.repos.d/local.repo  

local.repo文件如下 //后为注释,不写入文件中

  1. [tools] //源名称 随意取  
  2. name=tools //源描述 随意取  
  3. baseurl=http://172.16.30.101/tools/ //源地址 我们建立的http服务就可以用http地址  
  4. enabled=1 //源是否可用  
  5. gpgcheck=0 //时候检查gpg,因为没有认证所以写不检查  
  6. priority=1 //优先级,yum-plugin-priorities会用到,优先级越小越高  

编辑原有的Centos-Base.repo每段后面加入优先级
vi /etc/yum.repos.d/CentOS-Base.repo
例如:
  1. [base]  
  2. name=CentOS-$releasever - Base  
  3. mirrorlist=http://mirrorlist./?release=$releasever&arch=$basearch&repo=os&infra=$infra  
  4. #baseurl=http://mirror./centos/$releasever/os/$basearch/  
  5. gpgcheck=1  
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  
  7. priority=2 //优先级设置成2低于本地源,这样会优先从本地源下载  

3.2.4 刷新yum缓存

  1. yum clean all //清除yum信息  
  2. yum makecache //创建cache  

到此本地源已经配置完毕了

3.3 验证

172.16.30.103上并没有安装wget,下面我们用本地源安装wget工具

3.3.1 远程传输repo到172.16.30.103

  1. scp /etc/yum.repos.d/local.repo root@172.16.30.103:/etc/yum.repos.d/  

3.3.2 登陆172.16.30.103执行

  1. yum clean all       //清除yum信息   
  2. yum makecache       //创建cache  

3.3.3 172.16.30.103安装wget

  1. yum install wget  

我们能够看到,Repository已经解析到了本地的tools源,到此本地源已经搭建成功



4 下载依赖

自己建立的库总有不全的时候,因为各种依赖的原因难以覆盖完全。解决方法很简单,在有网的环境下下载依赖包,更新本地库,然后就能彻底离线了。
以mysql为例,本地库不全的时候结果如下:


可以看到大量的包需要从base中下载,无法实现真正离线安装,执行命令

  1. yum install --downloadonly --downloaddir=/var/www/html/tools perl  
  2. yum install --downloadonly --downloaddir=/var/www/html/tools net-tools  
依赖包就下载到本地的/vat/www/html/tools中

刷新源,重新尝试安装mysql可以看到


这样就大功告成了

5 总结

网上还有很多别的教程,但有些遗留而且不够清晰,所以详细记录下。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多