本地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种配置方式 ...
随机推荐
- 一键部署open***服务
一键部署超级简单易用的openvpn服务器,支持多证书+多账号[密码]认证 一. 服务器端部署 项目地址:https://github.com/guoew/openvpn-install 1.1. 下 ...
- 【QT】利用pyqt5实现简单界面
Topic: 利用pyqt5编写简单界面Env:win10 + Pycharm2018 + Python 3.6.8Date: 2019/4/29 by hw_Chen2018 ...
- 【Python】组合数据类型
集合类型 集合类型定义 集合是多个元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 理解:因为集合类型不重复,所以不 ...
- Redis 入门到分布式 (二)API的理解和使用
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 内容: 通用命令 单线程架构 数据结构和内部编码 一.常用的通用命令: keys 计算所有的 ...
- JavaScript (六) js的基本语法 - - - Math 及 Date对象、String对象、Array对象
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.Math 1.Math对象的案例 var result= Math.max(10,20,30,40) ...
- 使用turtle库画太极图
from turtle import * pensize(3) penup() pencolor("black") reset() speed(10) pendown() circ ...
- java实现漏掉的账目明细
某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某1笔或几笔.如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗? 如果有多种可能,则输出所有可能的情况. 我们规定:用户输入的第一行是 ...
- ArrayDeque使用&实现原理分析
ArrayDeque使用&实现原理分析 学习Okhttp实现源码时,发现其任务分发时用到了ArrayDeque.因此了解一下ArrayDeque的使用方式和实现原理. 一.Deque dequ ...
- github下载速度太慢,这里有已经下载完的nacos-server.zip组件
nacos: 分布式系统微服务的注册中心和配置中心 .. 在微服务系统中,起到很重要的作用.小伙伴老是给我抱怨,说这个github下面很慢慢,半天下载不下来,所有这样呢,我就把已经下载好的 nacos ...
- 数据结构之链表(Linked list)
说明:如果仔细阅读完全文后,可能感觉有些不统一,这里先说明下原因. 链表尾引用不统一:在介绍单链表时,只有一个链表首部的引用(head) 指向第一个节点.你看到后面关于双链表及循环列表时,除了指向第一 ...