我们一般情况下yum源都是用一些公共的yum源服务器,比较常见公共yum服务器的有阿里云、163、搜狐、中科院等。日常生产中自然使用最多的就是阿里云的镜像服务mirrors.aliyun.com,但是在一些特殊场景下是不允许使用外网的,这时我们就可能需要建立一个内部局域网的yum服务器,以完成内网计算机设备的快速安装部署。
今天自然就来分享一下如何建立一个内网yum服务器,这里将两种方式,一是通过挂载光盘的形式,二是自建yum源。
YUM(Yellowdog Update Modifier)是rpm的前端以来程序,可以有效的解决rpm包的依赖关系,可以在多个库之前定位软件包。
Yum服务器就是为客户机提供yum数据库、rpm包的服务器
yum服务器一般包括rpm包、以及包的相关元数据
安装www服务
想让局域网中的其他计算机可以访问到我们的yum服务器,我们需要一些服务来提供文件访问、下载功能。常见的文件服务器基本采用:
http://
https://
frp://
file://
这里我们以http搭建文件系统,我们需要安装一个提供http服务器的软件,这里我们以httpd作为今天的简单讲解。在内网环境一般情况是无法通过网络安装安装程序的,我们需要挂载光盘来实现功能的安装。
先执行yum install httpd -y
命令安装httpd服务,然后执行service httpd start
安装以后使用curl http://127.0.0.1
查看服务是否安装并运行。出现如下图所示的内容,说明httpd已经成功启动。
你可以在其他电脑上输出ip回车,也可以访问到内容。
规划yum仓库
我们可以仿造阿里云镜像站https://mirrors.aliyun.com/centos/7/isos/x86_64/
的格式来针对不同的系统版本创建不同的yum仓库,例如我我知centos6和centos7提供yum仓库,那么执行下面这个命令创建对应的目录,并查看目录树。
mkdir -p /var/www/html/centos/{6,7}/isos/x86_64 #创建对应的目录 tree /var/www/html #查看目录结构
对应目录创建完成后我们也可以通过其他主机的浏览器访问本机http://本机IP/centos
,结果如下
构建yum仓库数据
yum仓库中需要两组必备的数据rpm包和元数据repodate文件。我们可以分别挂在centos6和centos7的光盘搭配/var/www/html/centos/6/isos/x86_64和/var/www/html/centos/7/isos/x86_64下面,这样局域网内的centos6和centos7就可以使用这两个yum仓库了。
下面我们来演示一下自己生成repodate元数据。
1、我们在/var/www/html/centos/6/isos/x86_64放一个rpm包
2、为这个rpm包创建repodate数据库
3、在不要忘记把软件包的公钥放到这个目录下
如果你在这里面新增或者删除了rpm安装包,执行createrepo --update .
更新repodate数据库
小结
实际生产环境中我们一般是同步公共的yum源数据到本地服务上,以提供给内网中的客户机使用。很多地方无法访问外网,通常是挂载最新版本的光盘镜像到对应的目录,让内网中的用户可以使用。