[Linux]-搭建基于内部网络yum仓库

YUM是什么?

YUM 主要用于自动安装、升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系。要功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 repository(件仓库),这个软件仓库我们习惯称为 yum 源。网络上有大量的 yum 源,但由于受到网络环的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中YUM 源服务器,即便在 Internet 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装升级。

 YUM源?

 (1)要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源,
(2)网络上有大量的 yum 源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败,特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受,因此我们在优化系统时,都会更换国内的源
(3)相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性,有了局域网中的 YUM 源服务器,即便在 Internel 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装和升级。

 YUM配置

 yum的配置文件信息在/etc/yum.repos.d/下,我们配置的是自己的网络yum源,所以这些文件我们都把它移(mv)到别的地方。

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Base.repo.bak
CentOS-Media.repo CentOS-Debuginfo.repo 
CentOS-Vault.repo

 服务端的配置

1、在 / 下创建一个文件夹放置我们的安装包

[root@localhost ~]# mkdir /yum_source_pck
[root@localhost ~]# cd /yum_source_pck/
[root@localhost yum_source_pck]# 
  # 上传 rpm 包到此目录,此目录下面还可以包括文件夹
  获取 rpm 软件包的几种方法
   (1) 开启 YUM 缓存
   (2) yumdownloader pcre-devel openssl-devel # 只下载软件不安装

 2、本地系统挂载光盘

mount /dev/cdrom /mnt/
[root@localhost yum_source_pck]# cp /mnt/Packages/* /yum_source_pck/          #4G左右文件,时间可能较长
[root@localhost yum_source_pck]# du -sh            #查看文件大小

3、安装createrepo软件,用于生成yum仓库的软件

[root@localhost ~]# createrepo -pdo /yum_source_pck/ /yum_source_pck/        //初始化
Spawning worker 0 with 3995 pkgs
......        //部分内容省略
Sqlite DBs complete
[root@localhost ~]# createrepo --update /yum_source_pck/                //每加入一个rpm包就要更新一次

 4、使用python命令把80端口打开,这个地方需要在包的路径下面,通过网页把内容发布出去

[root@localhost ~]# cd /yum_source_pck/
[root@localhost yum_source_pck]# python -m SimpleHTTPServer 80 &> /dev/null &

 用这个&意思是放在后台一直运行,要不然就访问不到

我们也可以访问测试一下是否可以连接

lsof -i :80

 

客户端

[root@aery ~]# cd /etc/yum.repos.d/               
[root@aery yum.repos.d]# vim yum.repo             //编辑 YUM 配置文件
 [yum] 
 name=yum install
 baseurl=http://192.168.111.129
 enabled=1
 gpgcheck=0

[root@aery yum.repos.d]# yum clean all                //清除 yum 缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: inside
Cleaning up Everything
[root@aery yum.repos.d]# yum makecache                //更新 YUM 缓存

 使用yum安装测试

yum -y install dhcp

错误信息排查

如果出现这样的错误,进行下面的操作,删除rpm缓存,就是我们的清除yum缓存后有新的部分缓存

rm -rf /var/lib/rpm/__db.*

 

出现这样的执行,杀死这个yum程序,不能多线程

killall -9 yum
原文地址:https://www.cnblogs.com/chenwz/p/7681774.html