Centos 6 断网状况下如何安装软件包

问题以下

好比咱们安装nginx的时候须要依赖openssl,在有网络的状况下咱们能够流畅的执行以下命令node

yum -y install openssl openssl-devel

可是再实际部署中咱们的服务器多是没有网络的,那么在这种状况下咱们如何处理呢,openssl须要依赖的rpm包好多,并且有依赖项,如何一个个找出顺序,会比较麻烦nginx

clipboard.png

方法一 安装的时候强制所有安装(可是必需要因此的rpm包都安装)

方法二 定制本地yum源(就能继续使用yum命令了)

首先找到rpm包

上面所说的两种方式都必须找到安装openssl所须要的rpm包,那么这些rpm包从哪里来呢?那么首先先理解下yum安装为何方便,说白了就是安装的时候把你安装openssl所须要的rpm包所有down下来了,而后安装的时候自动匹配依赖项,因此yum安装的时候会down下依赖包,因此思路就是从yum命令中找出下载rpm包shell

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,可是咱们能够定义一个源,而地址是指向本地,因此咱们须要作的工做是网络

  1. 制做repository
  2. 替换Centos中的yum源

制做repository

#下载插件
yum install createrepo
# 第一次执行 CentOS6里面包含了各类rmp包
createrepo CentOS6
# 之后添加rpm包更新源
createrepo --update CentOS6

clipboard.png

替换Centos中的yum源

cd /etc/yum.repos.d/
vi CentOS-Local.repo

输入以下命令url

[base-local]
name=CentOSLocal
baseurl=file:///opt/CentOS6/
# 不对rmp包检查
gpgcheck=0

保存之后执行以下命令spa

# 清除缓存
yum clean all
# 列出可用仓库
yum repolist

而后咱们就能够愉快的使用yum命令了插件

相关文章
相关标签/搜索