本地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种配置方式 ...
随机推荐
- [JavaWeb基础] 007.Struts2的配置和简单使用
1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用.Struts实现的重点在C(Controller), ...
- cordova开发插件,并在android studio中开发、调试
之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...
- 50个SQL语句(MySQL版) 问题十二
--------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...
- Shell脚本 (三) 条件判断 与 流程控制
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条 ...
- Java实现 LeetCode 492 构造矩形
492. 构造矩形 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的. 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面.要求: 你设 ...
- Java实现 LeetCode 376 摆动序列
376. 摆动序列 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1,7,4,9,2,5 ...
- Java实现 蓝桥杯VIP 算法训练 阿尔法乘积
蓝桥杯–阿尔法乘积 问题描述 计算一个整数的阿尔法乘积.对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身:否则的话,x的阿尔法乘积就等于它的各位非0的 ...
- Firewalld 的基本使用
RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux systems,Linux 系统的动态防火墙管理器)服务是默 ...
- 遇到Error:Execution failed for task ':app:transformClassesWithDexForDebug'的解决方案
原因:项目中包含了所有的google play service 解决:只需要使用必要的服务即可 将compile 'com.google.android.gms:play-services:8.1.0 ...
- TensorFlow开发者证书 中文手册
经过一个月的准备,终于通过了TensorFlow的开发者认证,由于官方的中文文档较少,为了方便大家了解这个考试,同时分享自己的备考经验,让大家少踩坑,我整理并制作了这个中文手册,请大家多多指正,有任何 ...