概述
1 所需工具介绍
- httpd:用于搭建http服务器
- createrepo:用于创建yum源
- yum-plugin-priorities:用于设置yum源的优先级
2 本源原理
- 利用httpd建立一个httpd服务器用于存放本地源的rpm包
- 利用createrepo建立本地rpm包的描述信息
- 并在/etc/yum.repos.d/中加入本地源的描述repo使得yum能够找到本地源
- 最后再修改优先级使得yum优先从本地源安装。
3 具体步骤
3.1 安装工具
yum install -y httpd
yum install -y createrepo
yum install -y yum-plugin-priorities
3.2 配置工具
3.2.1 配置httpd
systemctl start httpd.service //开启httpd服务
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文件夹建立描述信息
cd /var/www/html
mkdir tools
cd tools
rz //上传repo文件(这里采用的是xshell的lrzsz工具)
createrepo ./ //创建描述信息
访问http://172.16.30.101/tools可以看到下图,其中repodata就是createrepo生成的描述信息
3.2.3 创建yum repo文件
yum的repo路径默认在/etc/yum.repos.d/中,用vi创建repo文件,yum会自动读取这个路径下的所有repo作为安装包的安装源
vi /etc/yum.repos.d/local.repo
local.repo文件如下 //后为注释,不写入文件中
[tools] //源名称 随意取
name=tools //源描述 随意取
baseurl=http://172.16.30.101/tools/ //源地址 我们建立的http服务就可以用http地址
enabled=1 //源是否可用
gpgcheck=0 //时候检查gpg,因为没有认证所以写不检查
priority=1 //优先级,yum-plugin-priorities会用到,优先级越小越高
编辑原有的Centos-Base.repo每段后面加入优先级
vi /etc/yum.repos.d/CentOS-Base.repo
例如:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
priority=2 //优先级设置成2低于本地源,这样会优先从本地源下载
3.2.4 刷新yum缓存
yum clean all //清除yum信息
yum makecache //创建cache
到此本地源已经配置完毕了
3.3 验证
172.16.30.103上并没有安装wget,下面我们用本地源安装wget工具
3.3.1 远程传输repo到172.16.30.103
scp /etc/yum.repos.d/local.repo root@172.16.30.103:/etc/yum.repos.d/
3.3.2 登陆172.16.30.103执行
yum clean all
//清除yum信息
yum makecache
//创建cache
3.3.3 172.16.30.103安装wget
yum install wget
我们能够看到,Repository已经解析到了本地的tools源,到此本地源已经搭建成功
4 下载依赖
自己建立的库总有不全的时候,因为各种依赖的原因难以覆盖完全。解决方法很简单,在有网的环境下下载依赖包,更新本地库,然后就能彻底离线了。
以mysql为例,本地库不全的时候结果如下:
可以看到大量的包需要从base中下载,无法实现真正离线安装,执行命令
yum install --downloadonly --downloaddir=/var/www/html/tools perl
yum install --downloadonly --downloaddir=/var/www/html/tools net-tools
依赖包就下载到本地的/vat/www/html/tools中
刷新源,重新尝试安装mysql可以看到
这样就大功告成了
5 总结
网上还有很多别的教程,但有些遗留而且不够清晰,所以详细记录下。
最后
以上就是超帅鸵鸟为你收集整理的CentOS7 本地源搭建1 所需工具介绍2 本源原理3 具体步骤4 下载依赖5 总结的全部内容,希望文章能够帮你解决CentOS7 本地源搭建1 所需工具介绍2 本源原理3 具体步骤4 下载依赖5 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复