一、背景需求
二、方法一:修改配置文件的方式
三、方法二:直接命令行的方式(推荐)
一、背景需求
经常在内网环境中要求安装软件,会缺少各种相关软件的依赖包,且内网配置的镜像源缺少依赖包的情况经常发生(基本内网的镜像源都是光盘ISO搭建的)。如何将外网yum安装的软件和它对应依赖源拷贝到内网安装呢?这就需要使用yum的安装缓存了。
二、方法一:修改配置文件的方式
1. 确定yum安装的缓存目录
cat /etc/yum.conf |grep cachedircachedir=/var/cache/yum/$basearch/$releasever我虚拟机是CentOS7.4 x86_64的,默认缓存路径在/var/cache/yum/x86_64/7/[root@cs ~]# cd /var/cache/yum/x86_64/7/[root@cs ~]# lsaa base extras timedhosts timedhosts.txt updates
2. 默认情况下,yum是不会保留安装包(安装完后自动删除安装包)。
如果需要保留的话,我们可以如下修改
[root@cs ~]# cat /etc/yum.conf |grep keepcachekeepcache=1 //默认值为0不保留缓存1)安装一个软件包测试下[root@haproxy01 ~]# yum -y install rpcbind已加载插件:fastestmirroraa | 3.6 kB 00:00:00base | 3.6 kB 00:00:00extras | 2.9 kB 00:00:00updates | 2.9 kB 00:00:00updates/7/x86_64/primary_db | 4.5 MB 00:00:00Loading mirror speeds from cached hostfile正在解决依赖关系--> 正在检查事务---> 软件包 rpcbind.x86_64.0.0.2.0-49.el7 将被 安装--> 正在处理依赖关系 libtirpc >= 0.2.4-0.7,它被软件包 rpcbind-0.2.0-49.el7.x86_64 需要--> 正在处理依赖关系 libtirpc.so.1()(64bit),它被软件包 rpcbind-0.2.0-49.el7.x86_64 需要--> 正在检查事务---> 软件包 libtirpc.x86_64.0.0.2.4-0.16.el7 将被 安装--> 解决依赖关系完成依赖关系解决===============================================================================================================================Package 架构 版本 源 大小===============================================================================================================================正在安装:rpcbind x86_64 0.2.0-49.el7 base 60 k为依赖而安装:libtirpc x86_64 0.2.4-0.16.el7 base 89 k事务概要===============================================================================================================================安装 1 软件包 (+1 依赖软件包)总下载量:149 k安装大小:284 kDownloading packages:(1/2): rpcbind-0.2.0-49.el7.x86_64.rpm | 60 kB 00:00:00(2/2): libtirpc-0.2.4-0.16.el7.x86_64.rpm | 89 kB 00:00:00-------------------------------------------------------------------------------------------------------------------------------总计 234 kB/s | 149 kB 00:00:00Running transaction checkRunning transaction testTransaction test succeededRunning transaction正在安装 : libtirpc-0.2.4-0.16.el7.x86_64 1/2正在安装 : rpcbind-0.2.0-49.el7.x86_64 2/2验证中 : libtirpc-0.2.4-0.16.el7.x86_64 1/2验证中 : rpcbind-0.2.0-49.el7.x86_64 2/2已安装:rpcbind.x86_64 0:0.2.0-49.el7作为依赖被安装:libtirpc.x86_64 0:0.2.4-0.16.el7完毕!2)可以看到安装的包来自源base,所以我们要到base源这个目录里面去查询[root@cs packages]# pwd/var/cache/yum/x86_64/7/base/packages[root@cs packages]# lslibtirpc-0.2.4-0.16.el7.x86_64.rpm rpcbind-0.2.0-49.el7.x86_64.rpm3)拷贝这个包到其他内网主机安装即可[root@ha ~]#yum localinstall -y *.rpm
三、方法二:直接命令行的方式,推荐
第二种方法不用修改配置文件,方便快捷。且不用把软件安装一次再缓存。
//举例下载vsftp[root@cs ~]# yum install --downloadonly --downloaddir /tmp/vsftp vsftpd说明:--downloadonly 仅下载而不安装--downloaddir=DLDIR 指定一个其他文件夹用于保存软件包[root@cs ~]# ls /tmp/vsftpvsftpd-3.0.2-27.el7.x86_64.rpm将包拷贝到内网,执行本地安装即可[root@ha ~]#yum localinstall -y *.rpm
文章转载自请叫我水哥,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




