创建本地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源及更新的更多相关文章

  1. 创建本地RPM源之更新系统旧版软件mysql

    事情起因 系统版本为Centos6.6 ,因为之前同事没有采用最小化选择性安装,所以系统安装好后自带有mysql5.1的三个安装包: [root@test ~]# rpm -qa | grep mys ...

  2. centos本地yum源安装

    1.为DVD或U盘创建一个用于挂载的目录 [root@localhost ~]# mkdir /media/CentOS/ 2.查看DVD或U盘所在的路径 [root@localhost ~]# fd ...

  3. 为CentOS 6 配置本地YUM源

    在网上找了很多为CentOS 6配置本地YUM源的方法,其中有很多是与网络相关的,我只想配个自己用的,结果就发现这个方法比较简单实用,就转过来了. 环境:CentOS 6.0 默认的yum是以网络来安 ...

  4. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  5. Linux虚拟机配置本地yum源

    刚开始使用Linux,自己构建了一个Linux虚拟机之后,在使用yum install的时候,经常是出错,提示连接不上. 一直以为是自己构建的虚拟机的问题,后来在网上查找了一些资料,才发现:需要配置本 ...

  6. 本地yum源

    <pre name="code" class="html">1.为DVD创建一个挂载目录 [root@localhost ~]# mkdir /me ...

  7. 红帽系列linux自行配置本地yum源

    yum是红帽系列的一种包管理工具,能方便的自动解决安装包的依赖关系.以前用rpm包管理安装gcc时,rpm -ivh gcc.rpm ,一般会提示要安装gcc需要安装某某lib库,等你找到那个库的rp ...

  8. 详解centos7配置本地yum源的方法

    近在使用虚拟机时遇到一些麻烦,因为公司内部有网络管理,所以vm连接不上外网,yum无法安装软件,怎么解决呢?–使用iso做本地yum源,可以解决大部份的包安装. vm安装的是centos7. 1.挂载 ...

  9. Redhat/CentOS 制作本地yum源

    一.制作本地yum源的场景有: (1) 操作系统ISO文件是通过光驱读取的 (2) 操作系统ISO文件是通过USB设备挂载的 (3) 操作系统ISO文件是被上传到本地文件夹的形式 二. 这3种配置方式 ...

随机推荐

  1. 添加nginx新模块,获取客户真实ip

    当前是客户端登录软件后台获取不到客户的真实ip而是云盾的代理ip 为了获取到真实ip后来发现通过配置nginx的read_ip模块就可以了 获取客户的真实ip使用Nginx的realip模块 当Ngi ...

  2. [Firefox附加组件]0002.添加菜单项

    Add-onSDK 还不能为火狐浏览器提供一个API添加新的菜单项.但它是可扩展的设计,所以任何人都可以建立和发布模块,使用插件开发者.大牛埃里克沃尔德写的MenuItems模块,能够使我们很方便的添 ...

  3. Python 每日一练(3)

    引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一 ...

  4. 03_K近邻算法

    今天是2020年2月1日星期六,疫情延续,现在确诊人数达到了11821例,艰难困苦,玉汝于成,相信国家的力量!大家齐心协力干一件事,疫情会尽早结束的,武汉加油.前几天整理感知机算法的内容,发现写博客这 ...

  5. 【LINQ标准查询操作符总结】之聚合操符

    C#  中的LINQ 提供了两种操作方式,查询表达式和查询操作符,所有的查询表达式都有对应的查操作符类替代,查询表达式有点“类” SQL,在代码中写SQL,总觉得不够“优雅”,使用查询操作符就显得“优 ...

  6. Function's dict

    众所周知,Python是没有switch的,那么只能使用 if else来进行判断,但是if else比较冗长, 使用太多的if else 代码看起来不简洁,如下 student.py def stu ...

  7. Salesforce LWC学习(十七) 前端知识之 onclick & onblur & onmousedown

    在Salesforce LWC学习(八) Look Up组件实现篇中,我们实现了公用的lookup组件,使用的过程中,会发现当我们输入内容以后,搜索出来的列表便无法被清空. 针对此种情况我们打算优化一 ...

  8. Java实现蓝桥杯 算法训练 大等于n的最小完全平方数

    试题 算法训练 大等于n的最小完全平方数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输出大等于n的最小的完全平方数. 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平 ...

  9. Java实现二分查找(折半查找)

    1 问题描述 首先,了解一下何为折半查找?此处,借用<算法设计与分析基础>第三版上一段文字介绍: 2 解决方案 2.1 递归法 package com.liuzhen.chapter4; ...

  10. java实现第七届蓝桥杯生日蜡烛

    生日蜡烛 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过 ...