配置本地yum仓库
前言
我们知道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
配置本地yum仓库的更多相关文章
- 配置本地 yum 仓库
配置本地 yum 仓库 # yum 官网 http://yum.baseurl.org/ # yum 手册页 man yum man yum.conf SEE ALSO pkcon (1) yum.c ...
- centos7.3下配置本地yum仓库
部署openstack时,网络yum源安装慢,而且经常中的提示找不到mirrors,所以配置一个本地的安装源很有必要,来解决这个揪心的问题. 安装:yum install yum-utils crea ...
- 搭建本地YUM仓库
YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...
- 关于yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库)
2017-11-13 22:49:48 1:两种方式: a.每一台机器都配一个本地文件系统上的yum仓库 file:///packege/path/ b.在局域网内部配置一台节点(server-b ...
- RedHat Linux RHEL6配置本地YUM源
YUM是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog ...
- 3、通过挂在系统光盘搭建本地yum仓库的方法
1. mkdir xxx #新建文件夹 (新建一个挂载需要的文件夹) .配置本地yum源(挂载光盘) .进入 yum.repos.d .ls (查看当前文件夹全部的文件) 并 mv 修改 除Med ...
- heartbeat 非联网安装(通过配置本地yum文件库安装heartbeat)
软件环境:centos6.5 一.下载rpm包 首先找一台联网的centos6.5机器 安装epel扩展源: yum install -y epel-release 安装yum-plugin-down ...
- 在VMware中为Redhat HAT配置本地yum源
在VMware中为Redhat HAT配置本地yum源 今天准备使用CM安装大数据环境,到需要几台机器都使用同一套yum源才可以,所以想到将Redhat镜像文件拷贝到虚拟机中,在挂起使用,最后通过ht ...
- 使用 ISO镜像配置 本地yum 源(RHEL, CentOS, Fedora等适用)
使用 ISO镜像配置 本地yum 源(RHEL, CentOS, Fedora等适用) 1.上传ISO镜像和挂载 1) 上传Centos7.2 ISO镜像到 /usr/local/src目录 2) ...
随机推荐
- Python 2 和 3 的区别及兼容技巧
目录 目录 前言 Python 2 or 3 ? 不同与兼容 统一不等于语法 统一整数类型 统一整数除法 统一缩进语法 统一类定义 统一字符编码类型 统一导入模块的路径搜索方式 修正列表推导式的变量作 ...
- LoadRunner之检查点
一.什么是检查点 LoadRunner中检查点是用来判断脚本是否执行成功的.如果不加检查点,只要服务器返回的HTTP状态码是200,VuGen就认为脚本执行通过了.但是很多情况下服务器返回200并不代 ...
- django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.的解决办法
如题,这个错误的解决办法如下: 在代码文件的最上方添加以下代码: import os,django os.environ.setdefault("DJANGO_SETTINGS_MODULE ...
- Vijos lxhgww的奇思妙想--求K级祖先
给出一棵树求K级祖先.O(N*logN+Q) 更详细的讲解见:https://www.cnblogs.com/cjyyb/p/9479258.html /* 要求k级祖先,我们可以把k拆成" ...
- 【Linux开发】【Qt开发】arm-linux-gnueabihf-gdb versus gdb-multiarch
主要是说,在Ubuntu14.04 64bit的操作系统上,配置Qt的gdb和gcc的时候,在Qt build&run选项中,debugger中选中arm-linux-gnuabihf-gdb ...
- LTUI v1.1, 一个基于lua的跨平台字符终端UI界面库
简介 LTUI是一个基于lua的跨平台字符终端UI界面库. 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了 ...
- js Functor Copy
原文地址:https://segmentfault.com/a/1190000006051586?utm_source=tuicool&utm_medium=referral 本处仅仅个人存档 ...
- Coding 地址
Coding 连接 https://dev.tencent.com/u/leexi
- 洛谷 P5663 加工零件 & [NOIP2019普及组] (奇偶最短路)
传送门 解题思路 很容易想到用最短路来解决这一道问题(题解法),因为两个点之间可以互相无限走,所以如果到某个点的最短路是x,那么x+2,x+4也一定能够达到. 但是如何保证这是正确的呢?比如说到某个点 ...
- virtualenvwrapper安装和使用
virtualenvwrapper安装和使用步骤: 1.安装: *nix上安装的命令: pip install virtualenvwrapper windows上安装的命令: pip install ...