搭建本地离线yum仓库

环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5

前言

我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之。但是每次执行yum install xxx,会自动安装并且安装完毕后把rpm包自动删除。当我们下载比较大的服务,比如MySQL大约190M,每次都重新下载比较慢,这时我们就可以考虑,搭建本地离线yum仓库,大致需要如下几个步骤。

  1. 把rpm包及其相关依赖全部都下载到本地,保存好。
  2. 手动在/etc/yum.repos.d/目录下配置本地仓库信息。
  3. 使用createrepo命令生成repodata信息。
  4. 使用yum repoinfo检查确认。

把rpm包下载到本地

yum install  --downloadonly --downloaddir=/aspack/ mysql-community-server -y

看到了吗,就是如此简单,上述命令即可把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

可以看到使用起来,与线上仓库区别不大。

以后如果更新了rpm包,可以直接删除/aspack/repodata/重新创建,创建好的本地仓库可直接scp复制到其它机器使用,yum配置文件及rpm仓库直接复制过去即可,无需再创建一遍repodata信息。

作者: 阿胜4K
出处: https://www.cnblogs.com/asheng2016/p/local-yum.html

原文地址:https://www.cnblogs.com/asheng2016/p/local-yum.html

时间: 2024-10-16 15:30:14

搭建本地离线yum仓库的相关文章

基于cobbler搭建本地的yum仓库源

概述: 前面的文章已经大致描述并配置了通过cobbler服务结合PXE+Kickstart+DHCP+TFTP+HTTP无人值守安装多系统的自动化运维安装系统服务;利用这一特性,cobbler还有一个妙用,用来搭建(同步)本好的yum源仓库;用来统一安装更新本地的(IDC)系统软件与第三方软件仓库;需要用到的无非还是cobbler rsync httpd,本文是线上部署时的整理笔记,旨在备忘与分享,如有错误和遗漏欢迎指正- 安装配置:由于基于cobbler所以请参考前前方自动化运维之cobble

5、cobbler搭建本地saltstack yum仓库

5.1.安装cobbler: 参考"linux运维_集群_01(35.cobbler自动化安装操作系统:)" 5.2.cobbler yum源常用操作命令: cobbler repo add 添加yum源 cobbler repo copy 复制 cobbler repo edit 修改 cobbler repo find 查找 cobbler repo list 列出已添加的yum源 cobbler repo remove 删除已添加的本地yum源 cobbler repo rena

搭建内网yum仓库

编译源码,根据自己的需求做成定制RPM包–>搭建内网yum仓库–yum安装. [root@www ~]# uname -aLinux www 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@www ~]# cat /etc/redhat-release CentOS release 6.8 (Final) =================定制化R

Linux系统中搭建本地光盘yum源

搭建本地光盘yum源 第一步:放入CentOS安装光盘,并挂载光盘到指定位置:命令如下: [[email protected] ~]#mkdir /mnt/cdrom #创建cdrom目录,作为光盘的挂载点 [[email protected] ~]#mount -t iso9660 /dev/cdrom1 /mnt/cdrom/ mount: block device /dev/sr0 is write-protected mounting read-only #挂载光盘到/mnt/cdrom

搭建企业内部yum仓库(centos6+centos7+epel源)

yum仓库服务端配置 1. 创建yum仓库目录 mkdir -p /data/yum_data/cd /data/yum_data/#可以上传rpm包到此目录,此目录下面还可以包括文件夹 2. 安装createrepo软件[[email protected] yum_data]# yum -y install createrepo 3. 初始化repodata索引文件createrepo -pdo /data/yum_data/ /data/yum_data/ 4. 提供yum服务# 可以用Ap

Centos 6.4 搭建本地光盘YUM

我们一般安装linux操作系统的时候都最小化安装,后面我们要安装东西的时候就需要用到了yum来安装一些关联的库.你有没有集群,不想也没必要去搞一个yum源服务器. 原创博文来自:www.51niux.com  博主:忙碌的柴少 这时候我们考虑第一种情况,我们的服务器现在不能上网,要yum安装的东西基本都是系统自带的,这时候呢我们考虑一下yum本地光盘安装. 我的操作系统是Centos 6.4,以此为例. 1.挂载光盘 [[email protected] ~]# mkdir /tmp/cdrom

搭建本地私有docker仓库

1.使用registry镜像创建私有仓库  docker run -d -p 5000:5000   --restart=always --name registry registry:2 这条命令将自动下载并启动一个registry容器,创建本地的私有仓库 --restart=always:表示当docker服务重启时,registry也会自动启动 2. 从配置的公共registry地址下载ubuntu:16.04 镜像到本地 docker pull ubuntu:16.04 3.将镜像重新打

自己动手制作一个本地的yum仓库

制作本地yum源有两种方式,第一种是使用光盘镜像,然后在本地进行安装.第二种是我们自己创建一个本地yum仓库,然后使用file的形式来向本地提供yum repo(也可以使用http的方式向外部提供,我们这里就自己给自己创建yum仓库) 1.把从网上下载的rpm包放在本地的某个文件夹里面 我们可以这样子下载,使用yum下载rpm包但是并不安装 yum groupinstall "Development tools" --downloadonly --downloaddir=./ [[em

centos7本地挂载yum仓库

1.实验前先保存一下快照 2.首先我们要切换到”/etc/yum.repos.d/“目录中(因为该目录存放着yum仓库的配置文件) 3.使用vim编辑器创建并打开个名为rhel7.repo的新文件,名称可以自定义,但后缀必需为.repo,逐项写入配置参数,并保存退出. 参数如下所示: [rhel7] name=rhel7 baseurl=file:///media/cdrom enabled=1 gpgcheck=0 4.输入命令: # mkdir -p /media/cdrom 在执行下一个命