0%

CentOs 内网无网络安装软件

在内网无网络的情况下处理 yum 安装


前言

为了处理内网服务器无网络安装的情况,避免一个个去下载rpm包,一个个安装,使用到的是yum离线安装方法

实操

在具备外网访问的服务器上启用yum缓存,这样本地就不会删除安装包及其依赖包了

1
2
vim /etc/yum.conf
修改keepcache=1,开启yum缓存

外网服务器yum下载安装包(会自动下载所需的依赖包)

下载后的目录在/var/cache/yum/x86_64/{?}/ 目录下,{?}得看服务器是centos6还是centos7,我这里是7

软件一般是在/var/cache/yum/x86_64/7/base/packages

说明下,我这猜 base 目录也好,extras 也好,Graph 也好,我猜这几个目录是根据 repo 的源不同,创建的目录,Graph 是我自建的一个图库yum源,
之前我还yum 安装过nginx,当时还有个nginx 的目录

这里以 expect 为例

1
2
3
# 下载 expect
# --downloadonly表示只下载不安装
yum -y install --downloadonly expect

将 packages 下的所有 rpm 包复制移动到内网服务器

如果内网服务器没有/var/cache/yum/x86_64/7目录,先执行yum clean packages就可以了

执行安装命令, 指定从缓存处安装

1
2
# -C 只从缓存安装
yum -y -C install unixODBC-devel

关闭外网服务器的yum缓存和清理安装包

  1. 关闭YUM缓存:修改keepcache=0

  2. 清除YUM缓存:yum clean headers 和 yum clean packages

yum 会把下载的软件包和header存储在cache中,而不会自动删除。假如觉得他们占用了磁盘空间,能够使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 一股脑儿端


参考链接