生产环境通常没有公网,只能将软件rpm包下载下来进行安装,而linux环境下软件可能需要多个依赖包,因为操作系统可能有各种定制化、安全加固情况,不同操作系统镜像已有依赖包及版本也不尽相同,逐个下载包非常麻烦。本文以ansible为例,演示如果下载依赖包并创建仓库。
环境:一台具有公网环境的同版本操作系统主机(1-6步骤),无公网环境的生产服务器(7至剩下所有步骤)
注:为确保完全,建议直接用生产服务器的镜像文件创建公网虚拟机下载安装包,避免因未知原因导致安装失败。
1.安装yum-utils
yum install yum-utils -y
安装完成之后即可使用yumdownloader
2.安装createrepo
yum install -y createrepo
用于后面创建本地仓库
3.安装epel
epel所包含软件数量和版本都比默认源优质很多
yum install -y epel-release
如果安装后使用yun会出现找不到mirro报错,
vim /etc/yum.repos.d/epel.repo
注释掉mirrorlist,取消注释baseurl
yum clean all
yum makecache
4.下载ansible
yumdownloader ansible --resolve --destdir=/home/user/ansible/
仅下载不安装,至此在/home/user/ansible/目录中,所需rpm包已下载完成。
5.创建仓库
createrepo /home/user/ansible/
6.压缩文件并传输至目标主机
tar -zcvf ansible.tar.gz /home/user/ansible
scp -P 22 ansible.tar.gz user@XXXXXXX:/home/user
并在生产主机上解压:
tar -zxvf ansible.tar.gz /home/user/ansible
7.创建仓库
在生产主机上:
cd /etc/yum.repos.d/
将所有repo文件备份
vim ansible.repo
[repo]
name=ansible
baseurl=file:///home/usr/ansible
gpgcheck=0
enabled=1
yum clean all
8.安装ansible
yum install -y ansible
ansible --version测试,成功即安装完成