本地yum源及更新
创建本地yumrepo源
概述
在生产环境中,由于网络环境隔离,很多内网机器,无法直接通过网络下载安装相关软件包,所以这个时候就需要在内网搭建一个yum源,然后通过下载将需要的软件包rpm下载下来,然后添加进该yum源中,添加的过程很简单,分成两步:
- 下载软件包,复制进对应的目录
- createrepo,创建repo文件
实验描述
在这里,我们使用的是CentOS7的官方镜像,作为本地的yum源,然后搭建了一个简单的http服务,来为其他的服务器提供yum软件安装源。在基础软件包中,没有zabbix-agent的软件包,需要外网下载,然后添加进yum源中,才能使用。
这里的httpd使用的默认的站点目录/var/www/html,在该目录下创建了一个软连接,链接到本地的镜像文件中,实际上是cobbler的mirror。
CentOS7 -> /var/www/cobbler/ks_mirror/CentOS7.0-x86_64
在其他服务器上,使用repo配置文件,指定为该服务器的http服务。
[root@localhost ~]# cat /etc/yum.repos.d/localyumrepo.repo
[localyumrepo]
name= localyumrepo
baseurl=http://master/CentOS7
enable=1
在网上下载了zabbix-agent和zabbix的软件包,上传至Packages目录中。
然后在Packages的上层目录,也就是有repodata的目录上,执行createrepo。createrepo依赖于createrepo.noarch软件的安装.
[root@master /var/www/html]# createrepo /var/www/html/CentOS7/
Spawning worker 0 with 3896 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
是为了生存新的repodata文件,也就是索引文件,在其他服务器上就可以根据索引进行查找了。
在其他服务器上执行两条命令
yum clean all
yum upgrade
然后就可以根据rpm的名称,来进行zabbix-agent的安装了。
[root@localhost ~]# yum install zabbix40-agent
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package zabbix40-agent.x86_64 0:4.0.6-1.el7 will be installed
--> Processing Dependency: zabbix40 = 4.0.6-1.el7 for package: zabbix40-agent-4.0.6-1.el7.x86_64
--> Running transaction check
---> Package zabbix40.x86_64 0:4.0.6-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================
Installing:
zabbix40-agent x86_64 4.0.6-1.el7 localyumrepo 188 k
Installing for dependencies:
zabbix40 x86_64 4.0.6-1.el7 localyumrepo 320 k
Transaction Summary
=======================================================================================================================================================================
Install 1 Package (+1 Dependent package)
Total download size: 508 k
Installed size: 1.7 M
Is this ok [y/d/N]:
yum仓库中,默认安装最低的版本,如果存在同一个名字的软件包,多个版本,yum无法安装,可以指定版本进行安装。
如果遇到安装软件包时,系统自带的软件包,比需要安装的软件包的版本还要高,可以通过yum downgrade对相关的软件包进行降级,然后再进行软件包的安装。
yum upgrade gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* pkgconfig*
这是某一次环境中,需要为开发准备这样的软件包环境,然后发现有好几个软件包都是高版本,无法进行安装。
Error: Package: zlib-devel-1.2.-.el7.x86_64 (localiso)
Requires: zlib = 1.2.-.el7
Installed: zlib-1.2.-.el7.x86_64 (@base)
zlib = 1.2.-.el7
Available: zlib-1.2.-.el7.x86_64 (localiso)
zlib = 1.2.-.el7
类似于这种错误的时候,就可以直接进行downgrade
[root@localhost yum.repos.d]# yum downgrade zlib
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package zlib.x86_64 :1.2.-.el7 will be a downgrade
---> Package zlib.x86_64 :1.2.-.el7 will be erased
--> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Downgrading:
zlib x86_64 1.2.-.el7 localiso k Transaction Summary
============================================================================================================================================================================================================================================
Downgrade Package Total download size: k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : zlib-1.2.-.el7.x86_64 /
Cleanup : zlib-1.2.-.el7.x86_64 /
Verifying : zlib-1.2.-.el7.x86_64 /
Verifying : zlib-1.2.-.el7.x86_64 / Removed:
zlib.x86_64 :1.2.-.el7 Installed:
zlib.x86_64 :1.2.-.el7 Complete!
本地yum源及更新的更多相关文章
- 创建本地RPM源之更新系统旧版软件mysql
事情起因 系统版本为Centos6.6 ,因为之前同事没有采用最小化选择性安装,所以系统安装好后自带有mysql5.1的三个安装包: [root@test ~]# rpm -qa | grep mys ...
- centos本地yum源安装
1.为DVD或U盘创建一个用于挂载的目录 [root@localhost ~]# mkdir /media/CentOS/ 2.查看DVD或U盘所在的路径 [root@localhost ~]# fd ...
- 为CentOS 6 配置本地YUM源
在网上找了很多为CentOS 6配置本地YUM源的方法,其中有很多是与网络相关的,我只想配个自己用的,结果就发现这个方法比较简单实用,就转过来了. 环境:CentOS 6.0 默认的yum是以网络来安 ...
- 在linux上搭建本地yum源
准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...
- Linux虚拟机配置本地yum源
刚开始使用Linux,自己构建了一个Linux虚拟机之后,在使用yum install的时候,经常是出错,提示连接不上. 一直以为是自己构建的虚拟机的问题,后来在网上查找了一些资料,才发现:需要配置本 ...
- 本地yum源
<pre name="code" class="html">1.为DVD创建一个挂载目录 [root@localhost ~]# mkdir /me ...
- 红帽系列linux自行配置本地yum源
yum是红帽系列的一种包管理工具,能方便的自动解决安装包的依赖关系.以前用rpm包管理安装gcc时,rpm -ivh gcc.rpm ,一般会提示要安装gcc需要安装某某lib库,等你找到那个库的rp ...
- 详解centos7配置本地yum源的方法
近在使用虚拟机时遇到一些麻烦,因为公司内部有网络管理,所以vm连接不上外网,yum无法安装软件,怎么解决呢?–使用iso做本地yum源,可以解决大部份的包安装. vm安装的是centos7. 1.挂载 ...
- Redhat/CentOS 制作本地yum源
一.制作本地yum源的场景有: (1) 操作系统ISO文件是通过光驱读取的 (2) 操作系统ISO文件是通过USB设备挂载的 (3) 操作系统ISO文件是被上传到本地文件夹的形式 二. 这3种配置方式 ...
随机推荐
- Maven系列(二) -- 将开源库上传到maven仓库私服
前言 之前简单说了下Maven的搭建,现在跟大家说一下如何将自己的aar传到我们新搭建的maven仓库里面,接下来我们就从最基本的新建一个library开始讲述整个流程,话不多说,让我们把愉快的开始吧 ...
- CF1353D Constructing the Array(优先队列)
Question 给你一个长度为n的全为0的序列,让你从1-n填数,填的位置为找出最长的0序列,如序列长度为奇数,则为(l+r)/2,为偶数,则为(l+r-1)/2 Solution 运用优先队列,将 ...
- 读Pyqt4教程,带你入门Pyqt4 _005
对话框窗体或对话框是现代GUI应用不可或缺的一部分.dialog定义为两个或多个人之间的交谈.在计算机程序中dialog是一个窗体,用来和程序“交谈”.对话框用来输入数据.修改数据.改变程序设置等等. ...
- Java中的集合类型体系(一)
Java中的集合类型体系(一) 提问:为什么需要集合? 通常情况下,程序需要根据运行时才知道创建了多少对象.若非程序运行时,而在开发阶段,我们并不知道创建了多少对象,甚至不知道对象的准确类型,为了满足 ...
- 读-写锁 ReadWriteLock & 线程八锁
读-写锁 ReadWriteLock: ①ReadWriteLock 维护了一对相关的锁,一个用于只读操作, 另一个用于写入操作. 只要没有 writer,读取锁可以由 多个 reader 线程同时保 ...
- 小谢第10问:前端JS下载文件、表格
对于小型文件及表格下载,一般采用a标签形式 <buttonb @click="downloadTemplate()">模板下载</button> downl ...
- 【SpringMVC】使用三层架构实现登录,注册。(上篇)
构思 界面层 1.jsp [见名知义] failed.jsp-->失败页面,登录.注册失败就跳转至失败页面 index.jsp-->默认生成的界面,没什么用 login.jsp--> ...
- java实现逻辑推断
A.B.C.D.E.F.G.H.I.J 共10名学生有可能参加本次计算机竞赛,也可能不参加.因为某种原因,他们是否参赛受到下列条件的约束: 如果A参加,B也参加: 如果C不参加,D也不参加: A和C中 ...
- java实现串逐位和(C++)
给定一个由数字组成的字符串,我们希望得到它的各个数位的和. 比如:"368" 的诸位和是:17 这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案: int f(c ...
- React 为什么要把事件挂载到 document 上 & 事件机制源码分析
前言 我们都知道 React 组件绑定事件的本质是代理到 document 上,然而面试被问到,为什么要这么设计,有什么好处吗? 我知道肯定不会是因为虚拟 DOM 的原因,因为 Vue 的事件就能挂载 ...