问题如下
比如我们安装Nginx的时候需要依赖openssl,在有网络的情况下我们可以流畅的执行如下命令
yum -y install openssl openssl-devel
但是再实际部署中我们的服务器可能是没有网络的,那么在这种情况下我们如何处理呢,openssl需要依赖的rpm包好多,而且有依赖项,如何一个个找出顺序,会比较麻烦
方法一 安装的时候强制全部安装(但是必须要所以的rpm包都安装)
方法二 定制本地yum源(就能继续使用yum命令了)
首先找到rpm包
上面所说的两种方式都必须找到安装openssl所需要的rpm包,那么这些rpm包从哪里来呢?那么首先先理解下yum安装为什么方便,说白了就是安装的时候把你安装openssl所需要的rpm包全部down下来了,然后安装的时候自动匹配依赖项,所以yum安装的时候会down下依赖包,所以思路就是从yum命令中找出下载rpm包
1.在虚拟机上面安装一个CentOS(网络选择NAT模式),然后下载一个yum插件用来执行只下载的命令
# yum install yum-plugin-downloadonly
2.执行命令
# 命令的意思是下载openssl的相关rpm 比保存到/opt/yums目录下面 yum install --downloadonly --downloaddir=/opt/yums openssl
方法一 强制安装rpm包
#简单粗暴 rpm -i --force --nodeps *.rpm
方法二 定制自己的yum源
默认yum源是https联网到repository,但是我们可以定义一个源,而地址是指向本地,所以我们需要做的工作是
- 制作repository
- 替换Centos中的yum源
制作repository
#下载插件 yum install createrepo # 第一次执行 CentOS6里面包含了各种rmp包 createrepo CentOS6 # 以后添加rpm包更新源 createrepo --update CentOS6
替换Centos中的yum源
cd /etc/yum.repos.d/ vi CentOS-Local.repo
输入如下命令
[base-local] name=CentOSLocal baseurl=file:///opt/CentOS6/ # 不对rmp包检查 gpgcheck=0
保存以后执行如下命令
# 清除缓存 yum clean all # 列出可用仓库 yum repolist
然后我们就可以愉快的使用yum命令了