创建本地yum仓库
2021/12/24 7:07:10
本文主要是介绍创建本地yum仓库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 前言
- 把rpm包下载到本地
- 配置本地yum仓库信息
- 生成repodata信息
- 检查以及使用
- 对本地仓库进行更新
- 参考资料
- 转载自
前言
我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm
的包下载到本地,然后按次序安装之。但是每次执行yum install xxx
,会自动安装并且安装完毕后把rpm包自动删除。当我们下载比较大的服务,比如MySQL大约190M,每次都重新下载比较慢,这时我们就可以考虑,搭建本地离线yum仓库,大致需要如下几个步骤。
- 把rpm包及其相关依赖全部都下载到本地,保存好。
- 手动在
/etc/yum.repos.d/
目录下配置本地仓库信息。 - 使用createrepo命令生成repodata信息。
- 使用
yum repoinfo
检查确认。
把rpm包下载到本地
yum install --downloadonly --downloaddir=/aspack/ \ mysql-community-server
看到了吗,就是如此简单,上述命令即可把mysql-community-server
对应的所有rpm包及其依赖下载到/aspack/
目录里,也就是说yum本地安装mysql需要的所有文件我们都准备好了。
需要安装其它包,则替换成别的包名即可
执行上述命令本机不会安装mysql,本机初始处于没有安装任何mysql相关包的状态
下图是我用此方法,下载的一些rpm包:
配置本地yum仓库信息
# vim /etc/yum.repos.d/as4k.repo [as4k] name=as4k local repository baseurl=file:///aspack gpgcheck=0 enabled=1
可以看到.repo
配置文件,也是如此简单:
as4k
是本地仓库名,可任意起名,但是注意不能与已有的仓库名重复。name
后面是注释信息,随意书写。baseurl
这后面就是填写本地仓库路径了,file://
表示使用本地文件协议,后面的/aspack
本地rpm包存放路径。gpgcheck=0
这是和验证包的安全信息的,最好设置成0,表示关闭安全验证,否则还需要准备安全验证文件,麻烦一堆一堆的。enabled=0
,表示启用本仓库,0关闭,1开启。
更多详细配置信息,请参考man yum.conf
生成repodata信息
直觉上好像我们完成上述两个步骤就可使用本地yum仓库了,然后并不行。如果我们现在就直接使用本地仓库安装一个包,会报如下错误:
错误有一大堆,总而言之就是本地仓库不行,还不能用。关键提示就是上图红色的部分,告诉我们找不到/aspack/repodata/repomd.xml
这个文件,当然找不到了,到目前位置我们的本地仓库里除了鲜红的rpm包之外什么都没有,repomd.xml
这个文件简单来说就是存放本地仓库rpm包的索引信息,具体用法不是我们关心的重点,可以使用createrepo
直接生成。
假如我们本地仓库没有配置好,不仅本地仓库无法使用,整个yum安装工具都会一直报错,此时我们把本地yum配置文件改名或暂时删除即可
createrepo命令默认系统没有,需要我们额外安装:
# yum install createrepo -y
安装完毕之后,直接使用:
# createrepo /aspack/
这时会发现本地仓库repodata相关信息已经生成完毕:
检查以及使用
使用下述命令可以看到本地仓库基本信息:
# yum repoinfo as4k Repo-id : as4k Repo-name : as4k local repository Repo-status : enabled Repo-revision: 1537699080 Repo-updated : Sun Sep 23 18:38:01 2018 Repo-pkgs : 41 Repo-size : 214 M Repo-baseurl : file:///aspack/ Repo-expire : 21,600 second(s) (last: Sun Sep 23 18:41:05 2018) Filter : read-only:present Repo-filename: /etc/yum.repos.d/as4k.repo repolist: 41
安装MySQL5.7测试:
# yum install mysql-community-server
可以看到使用起来,与线上仓库区别不大。创建好的本地仓库可直接scp复制到其它机器使用,yum配置文件及rpm仓库直接复制过去即可,无需再创建一遍repodata信息。
对本地仓库进行更新
下载一个新的rpm软件包到本地仓库,此时我们使用yum repoinfo as4k
查看会发现软件包的数量并没有增加,我们安装新增的软件包也会提示,找不到次软件包的现象,可以按照下述步骤,更新仓库信息。
- 查看旧的软件包总数
yum repoinfo as4k | grep pkgs
- 更新本地仓库
createrepo --update /aspack/
- 清除所有缓存
yum clean all
- 查看新的软件包总数
yum repoinfo as4k | grep pkgs
如果软件包的数量增加,说明仓库更新成功。
参考资料
http://blog.51cto.com/hashlinux/1661474
http://blog.sina.com.cn/s/blog_130affe1d0102vy01.html
转载自
作者: 阿胜4K
出处: https://www.cnblogs.com/asheng2016/p/local-yum.html
这篇关于创建本地yum仓库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求